github.com/viant/toolbox@v0.34.5/cred/config_test.go (about) 1 package cred_test 2 3 import ( 4 "github.com/stretchr/testify/assert" 5 "github.com/viant/toolbox/cred" 6 "io/ioutil" 7 "os" 8 "path" 9 "strings" 10 "testing" 11 ) 12 13 func TestConfig_Load(t *testing.T) { 14 var tempDir = os.TempDir() 15 var testFile = path.Join(tempDir, "credTest1.json") 16 _ = os.Remove(testFile) 17 var data = "{\"Username\":\"adrian\", \"Password\":\"abc\"}" 18 err := ioutil.WriteFile(testFile, []byte(data), 0644) 19 assert.Nil(t, err) 20 { 21 config, err := cred.NewConfig(testFile) 22 assert.Nil(t, err) 23 assert.Equal(t, "abc", config.Password) 24 assert.Equal(t, "adrian", config.Username) 25 assert.Equal(t, "AAAAAAAAAAAXUPcVbxwWlQ==", config.EncryptedPassword) 26 _ = os.Remove(testFile) 27 config.Save(testFile) 28 } 29 30 { 31 config, err := cred.NewConfig(testFile) 32 assert.Nil(t, err) 33 assert.Equal(t, "abc", config.Password) 34 assert.Equal(t, "adrian", config.Username) 35 assert.Equal(t, "AAAAAAAAAAAXUPcVbxwWlQ==", config.EncryptedPassword) 36 } 37 38 { 39 configJSON := `{"Username":"adrian","EncryptedPassword":"AAAAAAAAAAAXUPcVbxwWlQ=="}` 40 41 config := cred.Config{} 42 err = config.LoadFromReader(strings.NewReader(configJSON), ".json") 43 assert.Nil(t, err) 44 45 assert.EqualValues(t, "abc", config.Password) 46 } 47 48 _ = os.Remove(testFile) 49 50 }