add unit test
This commit is contained in:
@@ -0,0 +1,110 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestSubString(t *testing.T) {
|
||||
str := "foobar"
|
||||
expectedValue := "f"
|
||||
actualValue := SubString(str, 0, 1)
|
||||
assert.Equal(t, expectedValue, actualValue)
|
||||
|
||||
expectedValue = "fo"
|
||||
actualValue = SubString(str, 0, 2)
|
||||
assert.Equal(t, expectedValue, actualValue)
|
||||
|
||||
expectedValue = "oba"
|
||||
actualValue = SubString(str, 2, 3)
|
||||
assert.Equal(t, expectedValue, actualValue)
|
||||
|
||||
expectedValue = "foobar"
|
||||
actualValue = SubString(str, 0, 6)
|
||||
assert.Equal(t, expectedValue, actualValue)
|
||||
|
||||
expectedValue = "ba"
|
||||
actualValue = SubString(str, -3, 2)
|
||||
assert.Equal(t, expectedValue, actualValue)
|
||||
}
|
||||
|
||||
func TestSubString_EmptyStr(t *testing.T) {
|
||||
str := ""
|
||||
expectedValue := ""
|
||||
actualValue := SubString(str, 0, 1)
|
||||
assert.Equal(t, expectedValue, actualValue)
|
||||
|
||||
expectedValue = ""
|
||||
actualValue = SubString(str, 0, 2)
|
||||
assert.Equal(t, expectedValue, actualValue)
|
||||
|
||||
expectedValue = ""
|
||||
actualValue = SubString(str, 2, 3)
|
||||
assert.Equal(t, expectedValue, actualValue)
|
||||
}
|
||||
|
||||
func TestSubString_OverBoundary(t *testing.T) {
|
||||
str := "foobar"
|
||||
expectedValue := ""
|
||||
actualValue := SubString(str, 100, 1)
|
||||
assert.Equal(t, expectedValue, actualValue)
|
||||
|
||||
expectedValue = "foobar"
|
||||
actualValue = SubString(str, 0, 100)
|
||||
assert.Equal(t, expectedValue, actualValue)
|
||||
|
||||
expectedValue = "obar"
|
||||
actualValue = SubString(str, 2, 100)
|
||||
assert.Equal(t, expectedValue, actualValue)
|
||||
|
||||
expectedValue = "bar"
|
||||
actualValue = SubString(str, -3, 100)
|
||||
assert.Equal(t, expectedValue, actualValue)
|
||||
|
||||
expectedValue = "foobar"
|
||||
actualValue = SubString(str, -100, 100)
|
||||
assert.Equal(t, expectedValue, actualValue)
|
||||
|
||||
expectedValue = ""
|
||||
actualValue = SubString(str, 0, -100)
|
||||
assert.Equal(t, expectedValue, actualValue)
|
||||
}
|
||||
|
||||
func TestGetRandomString(t *testing.T) {
|
||||
actualValue, err := GetRandomString(10)
|
||||
assert.Equal(t, nil, err)
|
||||
assert.Len(t, actualValue, 10)
|
||||
}
|
||||
|
||||
func TestGetRandomNumberOrLetter(t *testing.T) {
|
||||
actualValue, err := GetRandomNumberOrLetter(10)
|
||||
assert.Equal(t, nil, err)
|
||||
assert.Len(t, actualValue, 10)
|
||||
}
|
||||
|
||||
func TestMD5Encode(t *testing.T) {
|
||||
str := "foobar"
|
||||
expectedValue := "3858f62230ac3c915f300c664312c63f"
|
||||
actualData := MD5Encode([]byte(str))
|
||||
actualValue := fmt.Sprintf("%x", actualData)
|
||||
assert.Equal(t, expectedValue, actualValue)
|
||||
|
||||
str = ""
|
||||
expectedValue = "d41d8cd98f00b204e9800998ecf8427e"
|
||||
actualData = MD5Encode([]byte(str))
|
||||
actualValue = fmt.Sprintf("%x", actualData)
|
||||
assert.Equal(t, expectedValue, actualValue)
|
||||
}
|
||||
|
||||
func TestEncryptSecretAndDecryptSecret(t *testing.T) {
|
||||
str := "foo"
|
||||
key := "bar"
|
||||
expectedValue := str
|
||||
|
||||
encryptedStr, err := EncryptSecret(str, key)
|
||||
actualValue, err := DecryptSecret(encryptedStr, key)
|
||||
assert.Equal(t, nil, err)
|
||||
assert.Equal(t, expectedValue, actualValue)
|
||||
}
|
||||
Reference in New Issue
Block a user