package auth import "testing" func TestSession(t *testing.T) { auther := testAuther{FullName: "Test64"} Register(&auther) user, err := auther.Register("Tester1401", "1234", nil) if err != nil { t.Error("Failed to register test user:", err) t.Fail() return } sessions := []*Session{OpenSession(user), OpenSession(user), OpenSession(user)} ids := []string{sessions[0].ID, sessions[1].ID, sessions[2].ID} t.Run("Find", func(t *testing.T) { for i, id := range ids { found := FindSession(id) if found != sessions[i] { t.Errorf("Find(\"%s\") == %+v", id, found) t.Fail() } } }) t.Run("Auth", func(t *testing.T) { for _, id := range ids { found := FindSession(id) foundUser, err := FindUser(found.UserID) if foundUser == nil { t.Error("User", found.UserID, "not found", err) t.Fail() } if foundUser != nil && foundUser != user { t.Error("User", found.UserID, "is not correct", foundUser) t.Fail() } } }) t.Run("Close", func(t *testing.T) { CloseSession(ids[2]) if FindSession(ids[0]) == nil || FindSession(ids[1]) == nil || FindSession(ids[2]) != nil { t.Errorf("Find(\"%s\") == %+v", ids[0], FindSession(ids[0])) t.Errorf("Find(\"%s\") == %+v", ids[1], FindSession(ids[1])) t.Errorf("Find(\"%s\") == %+v", ids[2], FindSession(ids[2])) t.Fail() } }) t.Run("Clear", func(t *testing.T) { ClearSessions(user) if FindSession(ids[0]) != nil || FindSession(ids[1]) != nil || FindSession(ids[2]) != nil { t.Errorf("Find(\"%s\") == %+v", ids[0], FindSession(ids[0])) t.Errorf("Find(\"%s\") == %+v", ids[1], FindSession(ids[1])) t.Errorf("Find(\"%s\") == %+v", ids[2], FindSession(ids[2])) t.Fail() } }) }