gf/crypto/gmd5/gmd5_z_unit_test.go
2022-03-10 11:36:40 +08:00

78 lines
1.7 KiB
Go

// Copyright GoFrame Author(https://goframe.org). All Rights Reserved.
//
// This Source Code Form is subject to the terms of the MIT License.
// If a copy of the MIT was not distributed with this file,
// You can obtain one at https://github.com/gogf/gf.
// go test *.go -bench=".*"
package gmd5_test
import (
"os"
"testing"
"github.com/gogf/gf/v2/crypto/gmd5"
"github.com/gogf/gf/v2/test/gtest"
)
var (
s = "pibigstar"
// online generated MD5 value
result = "d175a1ff66aedde64344785f7f7a3df8"
)
type user struct {
name string
password string
age int
}
func TestEncrypt(t *testing.T) {
gtest.C(t, func(t *gtest.T) {
encryptString, _ := gmd5.Encrypt(s)
t.Assert(encryptString, result)
result := "1427562bb29f88a1161590b76398ab72"
encrypt, _ := gmd5.Encrypt(123456)
t.AssertEQ(encrypt, result)
})
gtest.C(t, func(t *gtest.T) {
user := &user{
name: "派大星",
password: "123456",
age: 23,
}
result := "70917ebce8bd2f78c736cda63870fb39"
encrypt, _ := gmd5.Encrypt(user)
t.AssertEQ(encrypt, result)
})
}
func TestEncryptString(t *testing.T) {
gtest.C(t, func(t *gtest.T) {
encryptString, _ := gmd5.EncryptString(s)
t.Assert(encryptString, result)
})
}
func TestEncryptFile(t *testing.T) {
path := "test.text"
errorPath := "err.txt"
result := "e6e6e1cd41895beebff16d5452dfce12"
gtest.C(t, func(t *gtest.T) {
file, err := os.Create(path)
defer os.Remove(path)
defer file.Close()
t.AssertNil(err)
_, _ = file.Write([]byte("Hello Go Frame"))
encryptFile, _ := gmd5.EncryptFile(path)
t.AssertEQ(encryptFile, result)
// when the file is not exist,encrypt will return empty string
errEncrypt, _ := gmd5.EncryptFile(errorPath)
t.AssertEQ(errEncrypt, "")
})
}