From e230ea854c291d2a4904676118ffa45efa045473 Mon Sep 17 00:00:00 2001 From: sirkrypt0 <22522058+sirkrypt0@users.noreply.github.com> Date: Wed, 5 May 2021 11:33:44 +0200 Subject: [PATCH] Properly reset global state in auth tests --- api/api_test.go | 2 ++ api/auth/auth_test.go | 24 ++++++++++++++++++++++-- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/api/api_test.go b/api/api_test.go index 490170c..ea2fe2b 100644 --- a/api/api_test.go +++ b/api/api_test.go @@ -14,6 +14,7 @@ func mockHTTPHandler(writer http.ResponseWriter, _ *http.Request) { } func TestNewRouterV1WithAuthenticationDisabled(t *testing.T) { + config.Config.Server.Token = "" router := mux.NewRouter() v1 := newRouterV1(router) @@ -64,4 +65,5 @@ func TestNewRouterV1WithAuthenticationEnabled(t *testing.T) { router.ServeHTTP(recorder, request) assert.Equal(t, http.StatusUnauthorized, recorder.Code) }) + config.Config.Server.Token = "" } diff --git a/api/auth/auth_test.go b/api/auth/auth_test.go index 09290c6..4f1f05b 100644 --- a/api/auth/auth_test.go +++ b/api/auth/auth_test.go @@ -21,8 +21,7 @@ type AuthenticationMiddlewareTestSuite struct { } func (suite *AuthenticationMiddlewareTestSuite) SetupTest() { - config.Config.Server.Token = testToken - InitializeAuthentication() + correctAuthenticationToken = []byte(testToken) suite.recorder = httptest.NewRecorder() request, err := http.NewRequest(http.MethodGet, "/api/v1/test", nil) if err != nil { @@ -35,6 +34,10 @@ func (suite *AuthenticationMiddlewareTestSuite) SetupTest() { })) } +func (suite *AuthenticationMiddlewareTestSuite) TearDownTest() { + correctAuthenticationToken = []byte(nil) +} + func (suite *AuthenticationMiddlewareTestSuite) TestReturns401WhenHeaderUnset() { suite.httpAuthenticationMiddleware.ServeHTTP(suite.recorder, suite.request) assert.Equal(suite.T(), http.StatusUnauthorized, suite.recorder.Code) @@ -69,3 +72,20 @@ func (suite *AuthenticationMiddlewareTestSuite) TestPassesWhenTokenCorrect() { func TestHTTPAuthenticationMiddleware(t *testing.T) { suite.Run(t, new(AuthenticationMiddlewareTestSuite)) } + +func TestInitializeAuthentication(t *testing.T) { + t.Run("if token unset", func(t *testing.T) { + config.Config.Server.Token = "" + initialized := InitializeAuthentication() + assert.Equal(t, false, initialized) + assert.Equal(t, []byte(nil), correctAuthenticationToken, "it should not set correctAuthenticationToken") + }) + t.Run("if token set", func(t *testing.T) { + config.Config.Server.Token = testToken + initialized := InitializeAuthentication() + assert.Equal(t, true, initialized) + assert.Equal(t, []byte(testToken), correctAuthenticationToken, "it should set correctAuthenticationToken") + config.Config.Server.Token = "" + correctAuthenticationToken = []byte(nil) + }) +}