]> Cypherpunks.ru repositories - gocheese.git/blob - auth_test.go
More convenient trusted-host
[gocheese.git] / auth_test.go
1 package main
2
3 import (
4         "testing"
5 )
6
7 var argon2iParams = "v=19$m=32768,t=3,p=4$ZjY5MDA5MGVlYjM0Yjg2Nw$hS8nOADanSJkVd9x5qZ0JG6Vsj/qG3gUWCqhJdr2A3c"
8
9 func TestSHA256(t *testing.T) {
10         algorithm, auther, err := strToAuther("$sha256$a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3")
11         if err != nil {
12                 t.FailNow()
13         }
14         if algorithm != "sha256" {
15                 t.FailNow()
16         }
17         if !auther.Auth("123") {
18                 t.FailNow()
19         }
20         if auther.Auth("1234") {
21                 t.FailNow()
22         }
23 }
24
25 func TestArgon2i(t *testing.T) {
26         algorithm, auther, err := strToAuther("$argon2i$" + argon2iParams)
27         if err != nil {
28                 t.FailNow()
29         }
30         if algorithm != "argon2i" {
31                 t.FailNow()
32         }
33         if !auther.Auth("123") {
34                 t.FailNow()
35         }
36         if auther.Auth("1234") {
37                 t.FailNow()
38         }
39 }
40
41 func BenchmarkParseArgon2i(b *testing.B) {
42         for i := 0; i < b.N; i++ {
43                 parseArgon2i(argon2iParams)
44         }
45 }