Files
gocryptotrader/config/config_encryption_test.go
2017-07-31 11:44:12 +10:00

95 lines
2.4 KiB
Go

package config
import (
"reflect"
"testing"
"github.com/thrasher-/gocryptotrader/common"
)
func TestPromptForConfigEncryption(t *testing.T) {
t.Parallel()
if Cfg.PromptForConfigEncryption() {
t.Error("Test failed. PromptForConfigEncryption return incorrect bool")
}
}
func TestPromptForConfigKey(t *testing.T) {
t.Parallel()
byteyBite, err := PromptForConfigKey()
if err == nil && len(byteyBite) > 1 {
t.Errorf("Test failed. PromptForConfigKey: %s", err)
}
}
func TestEncryptDecryptConfigFile(t *testing.T) { //Dual function Test
testKey := []byte("12345678901234567890123456789012")
testConfigData, err := common.ReadFile(ConfigTestFile)
if err != nil {
t.Errorf("Test failed. EncryptConfigFile: %s", err)
}
encryptedFile, err2 := EncryptConfigFile(testConfigData, testKey)
if err2 != nil {
t.Errorf("Test failed. EncryptConfigFile: %s", err2)
}
if reflect.TypeOf(encryptedFile).String() != "[]uint8" {
t.Errorf("Test failed. EncryptConfigFile: Incorrect Type")
}
decryptedFile, err3 := DecryptConfigFile(encryptedFile, testKey)
if err3 != nil {
t.Errorf("Test failed. DecryptConfigFile: %s", err3)
}
if reflect.TypeOf(decryptedFile).String() != "[]uint8" {
t.Errorf("Test failed. DecryptConfigFile: Incorrect Type")
}
// unmarshalled := Config{} // racecondition
// err4 := json.Unmarshal(decryptedFile, &unmarshalled)
// if err4 != nil {
// t.Errorf("Test failed. DecryptConfigFile: %s", err3)
// }
}
func TestConfirmConfigJSON(t *testing.T) {
var result interface{}
testConfirmJSON, err := common.ReadFile(ConfigTestFile)
if err != nil {
t.Errorf("Test failed. testConfirmJSON: %s", err)
}
err2 := ConfirmConfigJSON(testConfirmJSON, &result)
if err2 != nil {
t.Errorf("Test failed. testConfirmJSON: %s", err2)
}
if result == nil {
t.Errorf("Test failed. testConfirmJSON: Error Unmarshalling JSON")
}
err3 := ConfirmConfigJSON(testConfirmJSON, result)
if err3 == nil {
t.Errorf("Test failed. testConfirmJSON: %s", err3)
}
}
func TestConfirmECS(t *testing.T) {
t.Parallel()
ECStest := []byte(EncryptConfirmString)
if !ConfirmECS(ECStest) {
t.Errorf("Test failed. TestConfirmECS: Error finding ECS.")
}
}
func TestRemoveECS(t *testing.T) {
t.Parallel()
ECStest := []byte(EncryptConfirmString)
isremoved := RemoveECS(ECStest)
if string(isremoved) != "" {
t.Errorf("Test failed. TestConfirmECS: Error ECS not deleted.")
}
}