Skip to content

Commit b128661

Browse files
committed
Add quiet mode event coverage
Signed-off-by: Fnuworsu <nuworsufelix49@gmail.com>
1 parent 5d63da0 commit b128661

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed

internal/app/azldev/event_test.go

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
// Copyright (c) Microsoft Corporation.
2+
// Licensed under the MIT License.
3+
4+
//nolint:testpackage // testing unexported internal types
5+
package azldev
6+
7+
import (
8+
"io"
9+
"os"
10+
"testing"
11+
12+
"github.com/stretchr/testify/assert"
13+
"github.com/stretchr/testify/require"
14+
)
15+
16+
func captureStderr(t *testing.T, action func()) string {
17+
t.Helper()
18+
19+
originalStderr := os.Stderr
20+
reader, writer, err := os.Pipe()
21+
require.NoError(t, err)
22+
23+
os.Stderr = writer
24+
25+
action()
26+
27+
require.NoError(t, writer.Close())
28+
29+
os.Stderr = originalStderr
30+
31+
output, err := io.ReadAll(reader)
32+
require.NoError(t, err)
33+
require.NoError(t, reader.Close())
34+
35+
return string(output)
36+
}
37+
38+
func TestEvent_QuietModeSkipsLongRunningAndProgressRendering(t *testing.T) {
39+
testEvent := &event{
40+
quiet: true,
41+
}
42+
43+
stderrOutput := captureStderr(t, func() {
44+
testEvent.SetLongRunning("working")
45+
testEvent.SetProgress(1, 10)
46+
})
47+
48+
assert.Empty(t, stderrOutput)
49+
assert.Nil(t, testEvent.spinner)
50+
assert.False(t, testEvent.initializedProgressBar)
51+
assert.Zero(t, testEvent.lastReportedCompletionRatio)
52+
}

0 commit comments

Comments
 (0)