6
6
"time"
7
7
8
8
"github.com/stretchr/testify/assert"
9
- "github.com/versent/saml2aws/v2"
9
+ saml2aws "github.com/versent/saml2aws/v2"
10
10
"github.com/versent/saml2aws/v2/pkg/awsconfig"
11
11
"github.com/versent/saml2aws/v2/pkg/cfg"
12
12
"github.com/versent/saml2aws/v2/pkg/creds"
@@ -15,10 +15,17 @@ import (
15
15
16
16
func TestResolveLoginDetailsWithFlags (t * testing.T ) {
17
17
18
- commonFlags := & flags.CommonFlags {URL : "https://id.example.com" , Username : "wolfeidau" , Password : "testtestlol" , MFAToken : "123456" , SkipPrompt : true }
18
+ commonFlags := & flags.CommonFlags {
19
+ URL : "https://id.example.com" ,
20
+ Username : "wolfeidau" ,
21
+ Password : "testtestlol" ,
22
+ MFAToken : "123456" ,
23
+ SkipPrompt : true ,
24
+ }
19
25
loginFlags := & flags.LoginExecFlags {CommonFlags : commonFlags }
20
26
21
27
idpa := & cfg.IDPAccount {
28
+ Name : "AccountName" ,
22
29
URL : "https://id.example.com" ,
23
30
MFA : "none" ,
24
31
Provider : "Ping" ,
@@ -27,16 +34,31 @@ func TestResolveLoginDetailsWithFlags(t *testing.T) {
27
34
loginDetails , err := resolveLoginDetails (idpa , loginFlags )
28
35
29
36
assert .Empty (t , err )
30
- assert .Equal (t , & creds.LoginDetails {Username : "wolfeidau" , Password : "testtestlol" , URL : "https://id.example.com" , MFAToken : "123456" }, loginDetails )
37
+ assert .Equal (t ,
38
+ & creds.LoginDetails {
39
+ IdpName : "AccountName" ,
40
+ IdpProvider : "Ping" ,
41
+ Username : "wolfeidau" ,
42
+ Password : "testtestlol" ,
43
+ URL : "https://id.example.com" ,
44
+ MFAToken : "123456" ,
45
+ }, loginDetails )
31
46
}
32
47
33
48
func TestOktaResolveLoginDetailsWithFlags (t * testing.T ) {
34
49
35
50
// Default state - user did not supply values for DisableSessions and DisableSessions
36
- commonFlags := & flags.CommonFlags {URL : "https://id.example.com" , Username : "testuser" , Password : "testtestlol" , MFAToken : "123456" , SkipPrompt : true }
51
+ commonFlags := & flags.CommonFlags {
52
+ URL : "https://id.example.com" ,
53
+ Username : "testuser" ,
54
+ Password : "testtestlol" ,
55
+ MFAToken : "123456" ,
56
+ SkipPrompt : true ,
57
+ }
37
58
loginFlags := & flags.LoginExecFlags {CommonFlags : commonFlags }
38
59
39
60
idpa := & cfg.IDPAccount {
61
+ Name : "AnotherAccountName" ,
40
62
URL : "https://id.example.com" ,
41
63
MFA : "none" ,
42
64
Provider : "Okta" ,
@@ -47,19 +69,42 @@ func TestOktaResolveLoginDetailsWithFlags(t *testing.T) {
47
69
assert .Nil (t , err )
48
70
assert .False (t , idpa .DisableSessions , fmt .Errorf ("default state, DisableSessions should be false" ))
49
71
assert .False (t , idpa .DisableRememberDevice , fmt .Errorf ("default state, DisableRememberDevice should be false" ))
50
- assert .Equal (t , & creds.LoginDetails {Username : "testuser" , Password : "testtestlol" , URL : "https://id.example.com" , MFAToken : "123456" }, loginDetails )
72
+ assert .Equal (t ,
73
+ & creds.LoginDetails {
74
+ IdpName : "AnotherAccountName" ,
75
+ IdpProvider : "Okta" ,
76
+ Username : "testuser" ,
77
+ Password : "testtestlol" ,
78
+ URL : "https://id.example.com" ,
79
+ MFAToken : "123456" ,
80
+ }, loginDetails )
51
81
52
82
// User disabled keychain, resolveLoginDetails should set the account's DisableSessions and DisableSessions fields to true
53
83
54
- commonFlags = & flags.CommonFlags {URL : "https://id.example.com" , Username : "testuser" , Password : "testtestlol" , MFAToken : "123456" , SkipPrompt : true , DisableKeychain : true }
84
+ commonFlags = & flags.CommonFlags {
85
+ URL : "https://id.example.com" ,
86
+ Username : "testuser" ,
87
+ Password : "testtestlol" ,
88
+ MFAToken : "123456" ,
89
+ SkipPrompt : true ,
90
+ DisableKeychain : true ,
91
+ }
55
92
loginFlags = & flags.LoginExecFlags {CommonFlags : commonFlags }
56
93
57
94
loginDetails , err = resolveLoginDetails (idpa , loginFlags )
58
95
59
96
assert .Nil (t , err )
60
97
assert .True (t , idpa .DisableSessions , fmt .Errorf ("user disabled keychain, DisableSessions should be true" ))
61
98
assert .True (t , idpa .DisableRememberDevice , fmt .Errorf ("user disabled keychain, DisableRememberDevice should be true" ))
62
- assert .Equal (t , & creds.LoginDetails {Username : "testuser" , Password : "testtestlol" , URL : "https://id.example.com" , MFAToken : "123456" }, loginDetails )
99
+ assert .Equal (t ,
100
+ & creds.LoginDetails {
101
+ IdpName : "AnotherAccountName" ,
102
+ IdpProvider : "Okta" ,
103
+ Username : "testuser" ,
104
+ Password : "testtestlol" ,
105
+ URL : "https://id.example.com" ,
106
+ MFAToken : "123456" ,
107
+ }, loginDetails )
63
108
64
109
}
65
110
0 commit comments