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  }