1
1
package main
2
2
3
3
import (
4
+ "io/ioutil"
4
5
"log"
5
6
"os"
6
7
"testing"
7
8
8
9
"github.com/99designs/aws-vault/vault"
9
- "github.com/stretchr/testify/assert "
10
+ "github.com/stretchr/testify/suite "
10
11
)
11
12
12
- func TestUpdateAWSConfigFile (t * testing.T ) {
13
+ type setupTestSuite struct {
14
+ suite.Suite
15
+ logger * log.Logger
16
+ }
17
+
18
+ func (suite * setupTestSuite ) Setup () {
19
+ // Disable any logging that isn't attached to the logger unless using the verbose flag
20
+ log .SetOutput (ioutil .Discard )
21
+ log .SetFlags (0 )
22
+
23
+ // Setup logger
24
+ var logger = log .New (os .Stdout , "" , log .LstdFlags )
13
25
14
- // Test logger
15
- logger := log .New (os .Stdout , "" , log .LstdFlags )
26
+ // Remove the flags for the logger
16
27
logger .SetFlags (0 )
28
+ suite .SetLogger (logger )
29
+ }
30
+
31
+ func (suite * setupTestSuite ) SetLogger (logger * log.Logger ) {
32
+ suite .logger = logger
33
+ }
34
+
35
+ func TestSetupSuite (t * testing.T ) {
36
+ suite .Run (t , & setupTestSuite {})
37
+ }
38
+
39
+ func (suite * setupTestSuite ) TestUpdateAWSConfigFile () {
40
+ suite .Setup ()
17
41
18
42
var defaultSetupConfig = []byte (`[profile test]
19
43
region=us-west-2
20
44
output=json
21
45
` )
22
46
23
- f := newConfigFile (t , defaultSetupConfig )
47
+ f := newConfigFile (suite . T () , defaultSetupConfig )
24
48
defer func () {
25
49
errRemove := os .Remove (f )
26
- assert .NoError (t , errRemove )
50
+ suite .NoError (errRemove )
27
51
}()
28
52
29
53
config , err := vault .LoadConfig (f )
30
- assert .NoError (t , err )
54
+ suite .NoError (err )
31
55
32
56
keyring , err := getKeyring ("test" )
33
- assert .NoError (t , err )
57
+ suite .NoError (err )
34
58
35
59
mfaSerial := "arn:aws:iam::111111111111:mfa/test-user"
36
60
setupConfig := SetupConfig {
37
61
// Config
38
- Logger : logger ,
62
+ Logger : suite . logger ,
39
63
Config : config ,
40
64
QrTempFile : nil ,
41
65
Keyring : keyring ,
@@ -53,23 +77,23 @@ output=json
53
77
MFASerial : mfaSerial ,
54
78
}
55
79
err = setupConfig .UpdateAWSConfigFile ()
56
- assert .NoError (t , err )
80
+ suite .NoError (err )
57
81
58
82
// re-load the config file
59
83
config , err = vault .LoadConfig (f )
60
- assert .NoError (t , err )
84
+ suite .NoError (err )
61
85
62
86
testBaseSection , ok := config .ProfileSection ("test-id-base" )
63
- assert .True (t , ok )
64
- assert .Equal (t , len (testBaseSection .MfaSerial ), 0 )
65
- assert .Equal (t , testBaseSection .Region , "us-west-2" )
66
- // assert .Equal(t, testBaseSection.Output, "json")
87
+ suite .True (ok )
88
+ suite .Equal (len (testBaseSection .MfaSerial ), 0 )
89
+ suite .Equal (testBaseSection .Region , "us-west-2" )
90
+ // suite .Equal(testBaseSection.Output, "json")
67
91
68
92
testSection , ok := config .ProfileSection ("test-id" )
69
- assert .True (t , ok )
70
- assert .Equal (t , testSection .SourceProfile , "test-id-base" )
71
- assert .Equal (t , testSection .MfaSerial , mfaSerial )
72
- assert .Equal (t , testSection .RoleARN , "arn:aws:iam::123456789012:role/test-role" )
73
- assert .Equal (t , testSection .Region , "us-west-2" )
74
- // assert .Equal(t, testBaseSection.Output, "json")
93
+ suite .True (ok )
94
+ suite .Equal (testSection .SourceProfile , "test-id-base" )
95
+ suite .Equal (testSection .MfaSerial , mfaSerial )
96
+ suite .Equal (testSection .RoleARN , "arn:aws:iam::123456789012:role/test-role" )
97
+ suite .Equal (testSection .Region , "us-west-2" )
98
+ // suite .Equal(testBaseSection.Output, "json")
75
99
}
0 commit comments