31 lines
521 B
Go
31 lines
521 B
Go
// Copyright (C) 2021 Marius Schellenberger
|
|
|
|
package server
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func TestXsrf(t *testing.T) {
|
|
sec, _ := genKey(keySize)
|
|
if len(sec) != keySize {
|
|
t.Fatal("len(sec) != keySize")
|
|
}
|
|
xsrf, _ := newXsrf(sec)
|
|
if xsrf == "" {
|
|
t.Fatal("xsrf is empty")
|
|
}
|
|
|
|
if !checkXsrf(xsrf, sec) {
|
|
t.Fatal("valid xsrf check failed")
|
|
}
|
|
|
|
if checkXsrf("test", sec) {
|
|
t.Fatal("invalid xsrf check succeeded")
|
|
}
|
|
|
|
rnd, _ := genKey(keySize)
|
|
if checkXsrf(xsrf, rnd) {
|
|
t.Fatal("invalid xsrf check succeeded")
|
|
}
|
|
}
|