From 811884db62d79228ce5672552d39fbd92bca0bed Mon Sep 17 00:00:00 2001 From: andronache Date: Thu, 12 Nov 2020 17:17:27 +0200 Subject: [PATCH] Added coverage tests to utils --- utils/coreutils_test.go | 69 ++++++++++++++++++++++++++++++++- utils/rpc_params_test.go | 7 ++++ utils/stir_shaken_utils_test.go | 22 +++++++++++ 3 files changed, 97 insertions(+), 1 deletion(-) diff --git a/utils/coreutils_test.go b/utils/coreutils_test.go index 3814758e5..087212a99 100644 --- a/utils/coreutils_test.go +++ b/utils/coreutils_test.go @@ -26,6 +26,8 @@ import ( "testing" "time" + "golang.org/x/crypto/bcrypt" + "github.com/cgrates/rpcclient" ) @@ -1512,9 +1514,74 @@ func TestIsURL(t *testing.T) { } } -func TestComputeHash(t *testing.T) { +func TestComputeHashError(t *testing.T) { _, err := ComputeHash("test1;test2;test3") if err != nil { t.Errorf("Expecting: , received: %+v", err) } } + +func TestComputeHashMatch(t *testing.T) { + lns, _ := ComputeHash("test1;test2;test3") + if err := VerifyHash(lns, "test1;test2;test3"); err != true { + t.Errorf("Expected received: <%v>", err) + } +} + +func TestVerifyHash(t *testing.T) { + lns, _ := ComputeHash("test1;test2;test3") + lns2, _ := ComputeHash("test1;test2;test3") + verify1 := VerifyHash(lns, "test1;test2;test3") + verify2 := bcrypt.CompareHashAndPassword([]byte(lns2), []byte(ConcatenatedKey("test1;test2;test3"))) + verify3 := false + if verify2 == nil { + verify3 = true + } + if !reflect.DeepEqual(verify3, verify1) { + t.Errorf("Expecting: <%+v>, received: <%+v>", verify3, verify1) + } + +} + +func TestAESEncryptErrorNil(t *testing.T) { + encKey := "6368616e676520746869732070617373776f726420746f206120736563726574" + _, err := AESEncrypt("exampleText", encKey) + if err != nil { + t.Errorf("Expecting: , received: <%+v>", err) + } +} + +func TestAESEncryptError1(t *testing.T) { + encKey := "1" + _, err := AESEncrypt("exampleText", encKey) + if err == nil || err.Error() != "crypto/aes: invalid key size 0" { + t.Errorf("Expecting error: , received: <%+v>", err) + } +} + +func TestAESDecryptErrorNil(t *testing.T) { + encKey := "6368616e676520746869732070617373776f726420746f206120736563726574" + eString, _ := AESEncrypt("exampleText", encKey) + _, err := AESDecrypt(eString, encKey) + if err != nil { + t.Errorf("Expecting: , received: <%+v>", err) + } +} + +func TestAESDecryptError1(t *testing.T) { + encKey := "1" + eString, _ := AESEncrypt("exampleText", encKey) + _, err := AESDecrypt(eString, encKey) + if err == nil || err.Error() != "crypto/aes: invalid key size 0" { + t.Errorf("Expecting: , received: <%+v>", err) + } +} + +func TestAESEncryptDecrypt(t *testing.T) { + encKey := "6368616e676520746869732070617373776f726420746f206120736563726574" + eString, _ := AESEncrypt("exampleText", encKey) + dString, _ := AESDecrypt(eString, encKey) + if !reflect.DeepEqual("exampleText", dString) { + t.Errorf("Expecting: , received: <%+v>", dString) + } +} diff --git a/utils/rpc_params_test.go b/utils/rpc_params_test.go index 1ad0b0d3c..d9a4c7278 100644 --- a/utils/rpc_params_test.go +++ b/utils/rpc_params_test.go @@ -69,3 +69,10 @@ func TestRPCObjectPointer(t *testing.T) { } */ } + +func TestGetRpcParamsError(t *testing.T) { + _, err := GetRpcParams("exampleTest") + if err == nil || err.Error() != "NOT_FOUND" { + t.Errorf("Expected , received <%+v>", err) + } +} diff --git a/utils/stir_shaken_utils_test.go b/utils/stir_shaken_utils_test.go index 4216230eb..a737873b8 100644 --- a/utils/stir_shaken_utils_test.go +++ b/utils/stir_shaken_utils_test.go @@ -23,6 +23,7 @@ import ( "math" "reflect" "testing" + "time" ) func TestRemoveWhiteSpaces(t *testing.T) { @@ -91,3 +92,24 @@ func TestNewECDSAPubKeyFromReader(t *testing.T) { t.Errorf("Expected error") } } + +func TestNewECDSAPrvKeyError(t *testing.T) { + _, err := NewECDSAPrvKey("string", time.Duration(10)) + if err == nil || err.Error() != "open string: no such file or directory" { + t.Errorf("Expected , received <%v>", err) + } +} + +func TestNewECDSAPubKeyError(t *testing.T) { + _, err := NewECDSAPubKey("string", time.Duration(10)) + if err == nil || err.Error() != "open string: no such file or directory" { + t.Errorf("Expected , received <%v>", err) + } +} + +func TestGetReaderFromPathError(t *testing.T) { + _, err := GetReaderFromPath("string", time.Duration(10)) + if err == nil || err.Error() != "open string: no such file or directory" { + t.Errorf("Expected , received <%v>", err) + } +}