summaryrefslogtreecommitdiffstats
path: root/tpl/crypto/crypto_test.go
diff options
context:
space:
mode:
authorEdouard <m@edouard.paris>2020-06-05 20:04:11 +0200
committerGitHub <noreply@github.com>2020-06-05 20:04:11 +0200
commit7eeebe1e5a86a4ad622bc41f88fcb93b619f5a16 (patch)
tree5d36446c4d39b9893c0a50f0ad22f38083d9bcb6 /tpl/crypto/crypto_test.go
parent740fa4a91d01fa1c0b151bae0c97a13eea61f5f9 (diff)
tpl/crypto: Add hmac
Diffstat (limited to 'tpl/crypto/crypto_test.go')
-rw-r--r--tpl/crypto/crypto_test.go31
1 files changed, 31 insertions, 0 deletions
diff --git a/tpl/crypto/crypto_test.go b/tpl/crypto/crypto_test.go
index 209ef9f0a..fe82f2afd 100644
--- a/tpl/crypto/crypto_test.go
+++ b/tpl/crypto/crypto_test.go
@@ -100,3 +100,34 @@ func TestSHA256(t *testing.T) {
c.Assert(result, qt.Equals, test.expect, errMsg)
}
}
+
+func TestHMAC(t *testing.T) {
+ t.Parallel()
+ c := qt.New(t)
+ ns := New()
+
+ for i, test := range []struct {
+ hash interface{}
+ key interface{}
+ msg interface{}
+ expect interface{}
+ }{
+ {"md5", "Secret key", "Hello world, gophers!", "36eb69b6bf2de96b6856fdee8bf89754"},
+ {"sha1", "Secret key", "Hello world, gophers!", "84a76647de6cd47ac6ae4258e3753f711172ce68"},
+ {"sha256", "Secret key", "Hello world, gophers!", "b6d11b6c53830b9d87036272ca9fe9d19306b8f9d8aa07b15da27d89e6e34f40"},
+ {"sha512", "Secret key", "Hello world, gophers!", "dc3e586cd936865e2abc4c12665e9cc568b2dad714df3c9037cbea159d036cfc4209da9e3fcd30887ff441056941966899f6fb7eec9646ff9ddb592595a8eb7f"},
+ {"", t, "", false},
+ } {
+ errMsg := qt.Commentf("[%d] %v, %v, %v", i, test.hash, test.key, test.msg)
+
+ result, err := ns.HMAC(test.hash, test.key, test.msg)
+
+ if b, ok := test.expect.(bool); ok && !b {
+ c.Assert(err, qt.Not(qt.IsNil), errMsg)
+ continue
+ }
+
+ c.Assert(err, qt.IsNil, errMsg)
+ c.Assert(result, qt.Equals, test.expect, errMsg)
+ }
+}