check / check (pull_request) Successful in 1m45s
version, info, remote info, config, and database delete wrote plain text straight to stdout, so they were unstyled and ignored --quiet. Output now falls in two buckets, both governed by internal/ui. Status lines and confirmations (config init, config set, database delete) go through the ui message methods: styled, and --quiet silences them. The data a command exists to produce is written plain, since a marker would corrupt a table or a parsed document: the version, info, and remote info reports, the snapshot list table, config get values, and the --json documents. --quiet silences the human reports and tables but never the config get value or the --json documents, which a script depends on. The database delete confirmation prompt is always shown; it is an interactive exchange the operator must see. The pure-cli commands reach internal/ui through a small commandUI helper that builds a ui.Writer on the command's stdout in quiet mode when --quiet is set. NewForTesting now supplies a UI writer so the quiet gate is never nil. The README output-style section states the resulting rule. Model: opus-4-8
31 lines
787 B
Go
31 lines
787 B
Go
package vaultik_test
|
|
|
|
import (
|
|
"bytes"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
"sneak.berlin/go/vaultik/internal/ui"
|
|
"sneak.berlin/go/vaultik/internal/vaultik"
|
|
)
|
|
|
|
// TestShowInfo_QuietSuppressesReport checks that --quiet silences the
|
|
// whole info report. The report is human-facing status, not a scriptable
|
|
// value, so under --quiet the command produces nothing (and touches none
|
|
// of its dependencies, which is why this minimal instance suffices).
|
|
func TestShowInfo_QuietSuppressesReport(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
var out bytes.Buffer
|
|
|
|
v := &vaultik.Vaultik{
|
|
Stdout: &out,
|
|
UI: ui.NewWithColor(&out, false),
|
|
}
|
|
v.UI.SetQuiet(true)
|
|
|
|
require.NoError(t, v.ShowInfo())
|
|
require.Empty(t, out.String(),
|
|
"the info report must be suppressed under --quiet")
|
|
}
|