github.com/versent/saml2aws@v2.17.0+incompatible/cmd/saml2aws/commands/login_test.go (about) 1 package commands 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 "github.com/versent/saml2aws" 8 "github.com/versent/saml2aws/pkg/cfg" 9 "github.com/versent/saml2aws/pkg/creds" 10 "github.com/versent/saml2aws/pkg/flags" 11 ) 12 13 func TestResolveLoginDetailsWithFlags(t *testing.T) { 14 15 commonFlags := &flags.CommonFlags{URL: "https://id.example.com", Username: "wolfeidau", Password: "testtestlol", MFAToken: "123456", SkipPrompt: true} 16 loginFlags := &flags.LoginExecFlags{CommonFlags: commonFlags} 17 18 idpa := &cfg.IDPAccount{ 19 URL: "https://id.example.com", 20 MFA: "none", 21 Provider: "Ping", 22 Username: "wolfeidau", 23 } 24 loginDetails, err := resolveLoginDetails(idpa, loginFlags) 25 26 assert.Empty(t, err) 27 assert.Equal(t, &creds.LoginDetails{Username: "wolfeidau", Password: "testtestlol", URL: "https://id.example.com", MFAToken: "123456"}, loginDetails) 28 } 29 30 func TestResolveRoleSingleEntry(t *testing.T) { 31 32 adminRole := &saml2aws.AWSRole{ 33 Name: "admin", 34 RoleARN: "arn:aws:iam::456456456456:saml-provider/example-idp,arn:aws:iam::456456456456:role/admin", 35 PrincipalARN: "arn:aws:iam::456456456456:role/admin,arn:aws:iam::456456456456:saml-provider/example-idp", 36 } 37 38 awsRoles := []*saml2aws.AWSRole{ 39 adminRole, 40 } 41 42 got, err := resolveRole(awsRoles, "", cfg.NewIDPAccount()) 43 assert.Empty(t, err) 44 assert.Equal(t, got, adminRole) 45 }