From ecaac869ba9e35af287f3c9ed4d83825ffc4d95e Mon Sep 17 00:00:00 2001 From: William Albertus Dembo Date: Fri, 30 Aug 2019 16:36:50 +0700 Subject: [PATCH] [Dembo] Refactor security middleware authorization to extract job metadata --- .../security/middleware/authorization_test.go | 40 ++++++------------- 1 file changed, 13 insertions(+), 27 deletions(-) diff --git a/internal/app/service/security/middleware/authorization_test.go b/internal/app/service/security/middleware/authorization_test.go index 12619d2d..5b336abd 100644 --- a/internal/app/service/security/middleware/authorization_test.go +++ b/internal/app/service/security/middleware/authorization_test.go @@ -22,6 +22,7 @@ type authorizationContext struct { requestHandler func(http.Handler) http.Handler metadataRepository *repository.MockMetadataRepository securityService *service.SecurityServiceMock + jobMetadata *metadata.Metadata } func (context *authorizationContext) setUp(t *testing.T) { @@ -35,6 +36,15 @@ func (context *authorizationContext) setUp(t *testing.T) { context.authorizationMiddleware.metadataRepository = context.metadataRepository context.securityService = &service.SecurityServiceMock{} context.authorizationMiddleware.service = context.securityService + context.jobMetadata = &metadata.Metadata{ + Name: "a-job", + Description: "jobMetadata of a job", + ImageName: "ubuntu-18.04", + AuthorizedGroups: []string{"system", "proctor_maintainer"}, + Author: "systeam team", + Contributors: "proctor team", + Organization: "GoJek", + } } func (context *authorizationContext) tearDown() { @@ -56,15 +66,7 @@ func TestAuthorizationMiddleware_MiddlewareFuncSuccess(t *testing.T) { requestBody := map[string]string{} requestBody["name"] = "a-job" body, _ := json.Marshal(requestBody) - jobMetadata := &metadata.Metadata{ - Name: "a-job", - Description: "jobMetadata of a job", - ImageName: "ubuntu-18.04", - AuthorizedGroups: []string{"system", "proctor_maintainer"}, - Author: "systeam team", - Contributors: "proctor team", - Organization: "GoJek", - } + jobMetadata := ctx.jobMetadata userDetail := &auth.UserDetail{ Name: "William Dembo", Email: "email@gmail.com", @@ -151,15 +153,7 @@ func TestAuthorizationMiddleware_MiddlewareFuncWithoutUserDetail(t *testing.T) { requestBody := map[string]string{} requestBody["name"] = "a-job" body, _ := json.Marshal(requestBody) - jobMetadata := &metadata.Metadata{ - Name: "a-job", - Description: "jobMetadata of a job", - ImageName: "ubuntu-18.04", - AuthorizedGroups: []string{"system", "proctor_maintainer"}, - Author: "systeam team", - Contributors: "proctor team", - Organization: "GoJek", - } + jobMetadata := ctx.jobMetadata response := httptest.NewRecorder() request := httptest.NewRequest(http.MethodPost, "/", bytes.NewReader(body)) @@ -186,15 +180,7 @@ func TestAuthorizationMiddleware_MiddlewareFuncFailed(t *testing.T) { requestBody := map[string]string{} requestBody["name"] = "a-job" body, _ := json.Marshal(requestBody) - jobMetadata := &metadata.Metadata{ - Name: "a-job", - Description: "jobMetadata of a job", - ImageName: "ubuntu-18.04", - AuthorizedGroups: []string{"system", "proctor_maintainer"}, - Author: "systeam team", - Contributors: "proctor team", - Organization: "GoJek", - } + jobMetadata := ctx.jobMetadata userDetail := &auth.UserDetail{ Name: "William Dembo", Email: "email@gmail.com",