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  }