62 lines
1.4 KiB
Go
62 lines
1.4 KiB
Go
package luaplugin
|
|
|
|
import (
|
|
"testing"
|
|
|
|
lua "github.com/yuin/gopher-lua"
|
|
)
|
|
|
|
func TestCryptoMD5(t *testing.T) {
|
|
L := lua.NewState()
|
|
defer L.Close()
|
|
cliamp := L.NewTable()
|
|
registerCryptoAPI(L, cliamp)
|
|
L.SetGlobal("cliamp", cliamp)
|
|
|
|
err := L.DoString(`_G.hash = cliamp.crypto.md5("hello")`)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
want := "5d41402abc4b2a76b9719d911017c592"
|
|
if got := L.GetGlobal("hash").String(); got != want {
|
|
t.Fatalf("md5('hello') = %q, want %q", got, want)
|
|
}
|
|
}
|
|
|
|
func TestCryptoSHA256(t *testing.T) {
|
|
L := lua.NewState()
|
|
defer L.Close()
|
|
cliamp := L.NewTable()
|
|
registerCryptoAPI(L, cliamp)
|
|
L.SetGlobal("cliamp", cliamp)
|
|
|
|
err := L.DoString(`_G.hash = cliamp.crypto.sha256("hello")`)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
want := "2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824"
|
|
if got := L.GetGlobal("hash").String(); got != want {
|
|
t.Fatalf("sha256('hello') = %q, want %q", got, want)
|
|
}
|
|
}
|
|
|
|
func TestCryptoHMACSHA256(t *testing.T) {
|
|
L := lua.NewState()
|
|
defer L.Close()
|
|
cliamp := L.NewTable()
|
|
registerCryptoAPI(L, cliamp)
|
|
L.SetGlobal("cliamp", cliamp)
|
|
|
|
err := L.DoString(`_G.hash = cliamp.crypto.hmac_sha256("key", "message")`)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
want := "6e9ef29b75fffc5b7abae527d58fdadb2fe42e7219011976917343065f58ed4a"
|
|
if got := L.GetGlobal("hash").String(); got != want {
|
|
t.Fatalf("hmac_sha256('key','message') = %q, want %q", got, want)
|
|
}
|
|
}
|