Starting over.
This commit is contained in:
@@ -1,83 +0,0 @@
|
||||
package data
|
||||
|
||||
import (
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestUserRegisterAndCheck(t *testing.T) {
|
||||
user := &User{}
|
||||
login := &Login{
|
||||
User: "testuser",
|
||||
Password: "testpassword",
|
||||
}
|
||||
|
||||
err := user.Register(login)
|
||||
if err != nil {
|
||||
t.Fatalf("Failed to register user: %v", err)
|
||||
}
|
||||
|
||||
if user.ID == "" {
|
||||
t.Error("Expected user ID to be set, got empty string")
|
||||
}
|
||||
if user.User != "testuser" {
|
||||
t.Errorf("Expected username 'testuser', got '%s'", user.User)
|
||||
}
|
||||
if len(user.Password) == 0 {
|
||||
t.Error("Expected password to be hashed and set, got empty slice")
|
||||
}
|
||||
if len(user.Salt) == 0 {
|
||||
t.Error("Expected salt to be set, got empty slice")
|
||||
}
|
||||
|
||||
correctLogin := &Login{
|
||||
User: "testuser",
|
||||
Password: "testpassword",
|
||||
}
|
||||
if !user.Check(correctLogin) {
|
||||
t.Error("Check failed for correct password")
|
||||
}
|
||||
|
||||
incorrectLogin := &Login{
|
||||
User: "testuser",
|
||||
Password: "wrongpassword",
|
||||
}
|
||||
if user.Check(incorrectLogin) {
|
||||
t.Error("Check passed for incorrect password")
|
||||
}
|
||||
|
||||
wrongUserLogin := &Login{
|
||||
User: "wronguser",
|
||||
Password: "testpassword",
|
||||
}
|
||||
if user.Check(wrongUserLogin) {
|
||||
t.Error("Check passed for incorrect username")
|
||||
}
|
||||
}
|
||||
|
||||
func TestSalt(t *testing.T) {
|
||||
salt, err := Salt()
|
||||
if err != nil {
|
||||
t.Fatalf("Failed to generate salt: %v", err)
|
||||
}
|
||||
|
||||
if len(salt) != saltLength {
|
||||
t.Errorf("Expected salt length %d, got %d", saltLength, len(salt))
|
||||
}
|
||||
|
||||
salt2, err := Salt()
|
||||
if err != nil {
|
||||
t.Fatalf("Failed to generate second salt: %v", err)
|
||||
}
|
||||
|
||||
// Check that salts are different (extremely unlikely to be the same)
|
||||
different := false
|
||||
for i := 0; i < len(salt); i++ {
|
||||
if salt[i] != salt2[i] {
|
||||
different = true
|
||||
break
|
||||
}
|
||||
}
|
||||
if !different {
|
||||
t.Error("Expected different salts, got identical values")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user