github.com/Axway/agent-sdk@v1.1.101/pkg/config/authconfig_test.go (about) 1 package config 2 3 import ( 4 "os" 5 "testing" 6 "time" 7 8 "github.com/Axway/agent-sdk/pkg/util/exception" 9 "github.com/stretchr/testify/assert" 10 ) 11 12 func validateAuth(cfg AuthConfig) (err error) { 13 exception.Block{ 14 Try: func() { 15 cfg.validate() 16 }, 17 Catch: func(e error) { 18 err = e 19 }, 20 }.Do() 21 return 22 } 23 24 func TestAuthConfig(t *testing.T) { 25 cfg := newAuthConfig() 26 authCfg := cfg.(*AuthConfiguration) 27 err := validateAuth(cfg) 28 assert.NotNil(t, err) 29 assert.Equal(t, "[Error Code 1401] - error with config central.auth.url, please set and/or check its value", err.Error()) 30 assert.Equal(t, "", cfg.GetTokenURL()) 31 assert.Equal(t, "", cfg.GetAudience()) 32 33 authCfg.URL = "aaa" 34 err = validateAuth(cfg) 35 assert.NotNil(t, err) 36 assert.Equal(t, "[Error Code 1401] - error with config central.auth.url, please set and/or check its value", err.Error()) 37 assert.Equal(t, "", cfg.GetTokenURL()) 38 assert.Equal(t, "", cfg.GetAudience()) 39 40 authCfg.URL = "http://foo.com:8080" 41 err = validateAuth(cfg) 42 assert.NotNil(t, err) 43 assert.Equal(t, "[Error Code 1401] - error with config central.auth.realm, please set and/or check its value", err.Error()) 44 assert.Equal(t, "", cfg.GetTokenURL()) 45 assert.Equal(t, "", cfg.GetAudience()) 46 47 authCfg.Realm = "rrr" 48 err = validateAuth(cfg) 49 assert.NotNil(t, err) 50 assert.Equal(t, "[Error Code 1401] - error with config central.auth.clientId, please set and/or check its value", err.Error()) 51 assert.NotEqual(t, "", cfg.GetTokenURL()) 52 assert.NotEqual(t, "", cfg.GetAudience()) 53 54 authCfg.ClientID = "cccc" 55 err = validateAuth(cfg) 56 assert.NotNil(t, err) 57 assert.Equal(t, "[Error Code 1401] - error with config central.auth.privateKey, please set and/or check its value", err.Error()) 58 59 fs, _ := os.CreateTemp(".", "test*") 60 authCfg.PrivateKey = "./" + fs.Name() 61 err = validateAuth(cfg) 62 assert.NotNil(t, err) 63 assert.Equal(t, "[Error Code 1401] - error with config central.auth.publicKey, please set and/or check its value", err.Error()) 64 65 authCfg.PublicKey = "./" + fs.Name() 66 err = validateAuth(cfg) 67 assert.Nil(t, err) 68 69 assert.Equal(t, authCfg.URL+"/realms/rrr"+tokenEndpoint, cfg.GetTokenURL()) 70 assert.Equal(t, authCfg.URL+"/realms/rrr", cfg.GetAudience()) 71 assert.Equal(t, "", cfg.GetKeyPassword()) 72 authCfg.KeyPwd = "xxx" 73 assert.Equal(t, "xxx", cfg.GetKeyPassword()) 74 assert.Equal(t, 30*time.Second, cfg.GetTimeout()) 75 76 // cleanup files 77 err = os.Remove("./" + fs.Name()) 78 assert.Nil(t, err) 79 }