Skip to content

Commit f52ae82

Browse files
committed
Add another test for getMfaCodeUnlessSpecified
1 parent ce1b688 commit f52ae82

File tree

1 file changed

+27
-1
lines changed

1 file changed

+27
-1
lines changed

login/login_test.go

+27-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package login
22

33
import (
44
"github.com/stretchr/testify/assert"
5+
"os"
56
"testing"
67
)
78

@@ -23,10 +24,35 @@ func Test_setSensibleDefaults_profileAndDurationSpecified(t *testing.T) {
2324
}
2425

2526
func Test_getMfaCodeUnlessSpecified_returnsSameCodeAsProvided(t *testing.T) {
26-
inputMfaCode := "DogCow"
27+
inputMfaCode := "266226"
2728

2829
outputMfaCode, err := getMfaCodeUnlessSpecified(inputMfaCode)
2930

3031
assert.NoError(t, err)
3132
assert.Equal(t, inputMfaCode, outputMfaCode)
3233
}
34+
35+
func Test_getMfaCodeUnlessSpecified_returnsCodeFromStdin(t *testing.T) {
36+
stdinMfaCode := "266226"
37+
38+
readPipe, writePipe, err := os.Pipe()
39+
assert.NoError(t, err)
40+
41+
defer readPipe.Close()
42+
defer writePipe.Close()
43+
44+
originalStdin := os.Stdin
45+
defer func() {
46+
// reset STDIN back to real STDIN
47+
os.Stdin = originalStdin
48+
}()
49+
os.Stdin = readPipe
50+
51+
_, err = writePipe.WriteString(stdinMfaCode + "\n")
52+
assert.NoError(t, err)
53+
54+
outputMfaCode, err := getMfaCodeUnlessSpecified("")
55+
56+
assert.NoError(t, err)
57+
assert.Equal(t, stdinMfaCode, outputMfaCode)
58+
}

0 commit comments

Comments
 (0)