Skip to content

Commit

Permalink
move auth test
Browse files Browse the repository at this point in the history
  • Loading branch information
garrettladley committed Feb 2, 2024
1 parent dbec9e6 commit b702b76
Showing 1 changed file with 148 additions and 0 deletions.
148 changes: 148 additions & 0 deletions backend/tests/auth_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@
package tests

import (
"testing"

"github.com/GenerateNU/sac/backend/src/auth"
"github.com/GenerateNU/sac/backend/src/config"

"github.com/golang-jwt/jwt"
"github.com/huandu/go-assert"
)

func AuthSettings() config.AuthSettings {
return config.AuthSettings{
AccessToken: "g(r|##*?>\\Qp}h37e+,T2",
AccessTokenExpiry: 60,
RefreshToken: "amk*2!gG}1i\"8D9RwJS$p",
RefreshTokenExpiry: 30,
}
}

func TestCreateTokenPairSuccess(t *testing.T) {
assert := assert.New(t)

id := "user123"
role := "admin"

accessToken, refreshToken, err := auth.CreateTokenPair(id, role, AuthSettings())

assert.Assert(err == nil)

assert.Assert(accessToken != nil)
assert.Assert(refreshToken != nil)
}

func TestCreateTokenPairFailure(t *testing.T) {
assert := assert.New(t)

id := "user123"
role := ""

accessToken, refreshToken, err := auth.CreateTokenPair(id, role, AuthSettings())

assert.Assert(err != nil)

assert.Assert(accessToken == nil)
assert.Assert(refreshToken == nil)
}

func TestCreateAccessTokenSuccess(t *testing.T) {
assert := assert.New(t)

id := "user123"
role := "admin"

authSettings := AuthSettings()

accessToken, err := auth.CreateAccessToken(id, role, authSettings.AccessTokenExpiry, authSettings.AccessToken)

assert.Assert(err == nil)

assert.Assert(accessToken != nil)
}

func TestCreateAccessTokenFailure(t *testing.T) {
assert := assert.New(t)

id := "user123"
role := ""

authSettings := AuthSettings()

accessToken, err := auth.CreateAccessToken(id, role, authSettings.AccessTokenExpiry, authSettings.AccessToken)

assert.Assert(err != nil)

assert.Assert(accessToken == nil)
}

func TestCreateRefreshTokenSuccess(t *testing.T) {
assert := assert.New(t)

id := "user123"

authSettings := AuthSettings()

refreshToken, err := auth.CreateRefreshToken(id, authSettings.RefreshTokenExpiry, authSettings.RefreshToken)

assert.Assert(err == nil)

assert.Assert(refreshToken != nil)
}

func TestCreateRefreshTokenFailure(t *testing.T) {
assert := assert.New(t)

id := ""

authSettings := AuthSettings()

refreshToken, err := auth.CreateRefreshToken(id, authSettings.RefreshTokenExpiry, authSettings.RefreshToken)

assert.Assert(err != nil)

assert.Assert(refreshToken == nil)
}

func TestSignTokenSuccess(t *testing.T) {
assert := assert.New(t)

token := jwt.New(jwt.SigningMethodHS256)

assert.Assert(token != nil)

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

signedToken, err := auth.SignToken(token, "secret")

assert.Assert(err == nil)

assert.Assert(signedToken != nil)
}

func TestSignTokenFailure(t *testing.T) {
assert := assert.New(t)

token := jwt.New(jwt.SigningMethodHS256)

assert.Assert(token != nil)

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

signedToken, err := auth.SignToken(token, "")

assert.Assert(err != nil)

assert.Assert(signedToken == nil)
}

0 comments on commit b702b76

Please sign in to comment.