Skip to content

Commit

Permalink
fix tests
Browse files Browse the repository at this point in the history
  • Loading branch information
DOOduneye committed Feb 2, 2024
1 parent edcea7f commit 178efe1
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 62 deletions.
4 changes: 4 additions & 0 deletions backend/src/auth/tokens.go
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,10 @@ func CreateRefreshToken(id string) (*string, *errors.Error) {
}

func SignToken(token *jwt.Token, secret string) (*string, *errors.Error) {
if token == nil || secret == "" {
return nil, &errors.FailedToSignToken
}

tokenString, err := token.SignedString([]byte(secret))
if err != nil {
return nil, &errors.FailedToSignToken
Expand Down
95 changes: 33 additions & 62 deletions backend/tests/api/auth_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package tests

import (
"testing"
"time"

"github.com/GenerateNU/sac/backend/src/auth"
"github.com/golang-jwt/jwt"
Expand Down Expand Up @@ -91,75 +90,47 @@ func TestCreateRefreshTokenFailure(t *testing.T) {
}

func TestSignTokenSuccess(t *testing.T) {
tokenString := &jwt.Token{
Header: map[string]interface{}{
"alg": "HS256",
"typ": "JWT",
},
Claims: jwt.MapClaims{
"sub": "user123",
"exp": 1234567890,
"iat": 1234567890,
"iss": "sac",
},
}

signedToken, err := auth.SignToken(tokenString, "secret")
if err != nil {
t.Errorf("Unexpected error: %v", err)
token := jwt.New(jwt.SigningMethodHS256)
if token == nil {
t.Fatal("Failed to create JWT token")
}

token.Claims = jwt.MapClaims{
"sub": "user123",
"exp": 1234567890,
"iat": 1234567890,
"iss": "sac",
}

signedToken, err := auth.SignToken(token, "secret")
if err != nil {
t.Errorf("Unexpected error: %v", err)
}

if signedToken == nil {
t.Errorf("Expected token to be non-nil, got: %v", signedToken)
}
}

func TestSignTokenFailure(t *testing.T) {
token := jwt.New(jwt.SigningMethodHS256)
if token == nil {
t.Fatal("Failed to create JWT token")
}

if signedToken == nil {
t.Errorf("Expected token to be non-nil, got: %v", signedToken)
token.Claims = jwt.MapClaims{
"sub": "user123",
"exp": 1234567890,
"iat": 1234567890,
"iss": "sac",
}
}

func TestSignTokenFailure(t *testing.T) {
tokenString := &jwt.Token{
Header: map[string]interface{}{
"alg": "HS256",
"typ": "JWT",
},
Claims: jwt.MapClaims{
"sub": "user123",
"exp": 1234567890,
"iat": 1234567890,
"iss": "sac",
},
}

signedToken, err := auth.SignToken(tokenString, "")
signedToken, err := auth.SignToken(token, "")
if err == nil {
t.Errorf("Expected error, got nil")
}

if signedToken != nil {
t.Errorf("Expected token to be nil, got: %v", signedToken)
}
}

func TestCreateAndExpireCookieSuccess(t *testing.T) {
cookie := auth.CreateCookie("name", "value", time.Now().Add(time.Hour))
if cookie == nil {
t.Errorf("Expected cookie to be non-nil, got: %v", cookie)
}

if cookie.Name != "name" {
t.Errorf("Expected cookie name to be 'name', got: %v", cookie.Name)
}

if cookie.Value != "value" {
t.Errorf("Expected cookie value to be 'value', got: %v", cookie.Value)
}

if cookie.Expires.IsZero() {
t.Errorf("Expected cookie expiration to be non-zero, got: %v", cookie.Expires)
}

if !cookie.HTTPOnly {
t.Errorf("Expected cookie HTTPOnly to be true, got: %v", cookie.HTTPOnly)
}

// clear cookie
cookie.Expires = time.Now().Add(-time.Hour)
}
}

0 comments on commit 178efe1

Please sign in to comment.