github.com/versent/saml2aws@v2.17.0+incompatible/pkg/cfg/cfg_test.go (about) 1 package cfg 2 3 import ( 4 "os" 5 "testing" 6 7 "github.com/stretchr/testify/require" 8 ) 9 10 const throwAwayConfig = "example/saml2aws.test.ini" 11 12 func TestNewConfigManagerNew(t *testing.T) { 13 14 cfgm, err := NewConfigManager("example/saml2aws.ini") 15 require.Nil(t, err) 16 17 require.NotNil(t, cfgm) 18 } 19 20 func TestNewConfigManagerLoad(t *testing.T) { 21 22 cfgm, err := NewConfigManager("example/saml2aws.ini") 23 require.Nil(t, err) 24 25 require.NotNil(t, cfgm) 26 27 idpAccount, err := cfgm.LoadIDPAccount("test123") 28 require.Nil(t, err) 29 require.Equal(t, &IDPAccount{ 30 URL: "https://id.whatever.com", 31 Username: "abc@whatever.com", 32 Provider: "keycloak", 33 MFA: "sms", 34 AmazonWebservicesURN: DefaultAmazonWebservicesURN, 35 SessionDuration: 3600, 36 Profile: "saml", 37 }, idpAccount) 38 39 idpAccount, err = cfgm.LoadIDPAccount("") 40 require.Nil(t, err) 41 require.Equal(t, &IDPAccount{ 42 AmazonWebservicesURN: DefaultAmazonWebservicesURN, 43 SessionDuration: 3600, 44 Profile: "saml", 45 }, idpAccount) 46 } 47 48 func TestNewConfigManagerSave(t *testing.T) { 49 50 cfgm, err := NewConfigManager(throwAwayConfig) 51 require.Nil(t, err) 52 53 err = cfgm.SaveIDPAccount("testing2", &IDPAccount{ 54 URL: "https://id.whatever.com", 55 MFA: "none", 56 Provider: "keycloak", 57 Username: "abc@whatever.com", 58 Profile: "saml", 59 }) 60 require.Nil(t, err) 61 idpAccount, err := cfgm.LoadIDPAccount("testing2") 62 require.Nil(t, err) 63 require.Equal(t, &IDPAccount{ 64 URL: "https://id.whatever.com", 65 Username: "abc@whatever.com", 66 Provider: "keycloak", 67 MFA: "none", 68 AmazonWebservicesURN: DefaultAmazonWebservicesURN, 69 Profile: "saml", 70 }, idpAccount) 71 72 os.Remove(throwAwayConfig) 73 74 }