From 451cb4f6dd20de89c00f1c938f5505d556d539ff Mon Sep 17 00:00:00 2001 From: Saad Jutt Date: Tue, 5 Jul 2022 03:26:37 +0500 Subject: [PATCH] chore: fixed specs --- api/src/middlewares/authenticateToken.ts | 2 +- api/src/middlewares/verifyAdmin.ts | 3 ++- api/src/routes/api/spec/drive.spec.ts | 8 ++++---- api/src/routes/api/spec/permission.spec.ts | 14 +++++++++----- api/src/utils/getAuthorizedRoutes.ts | 2 +- api/src/utils/specs/extractHeaders.spec.ts | 2 +- api/src/utils/specs/parseLogToArray.spec.ts | 2 +- 7 files changed, 19 insertions(+), 14 deletions(-) diff --git a/api/src/middlewares/authenticateToken.ts b/api/src/middlewares/authenticateToken.ts index b53b83c..24ed1e8 100644 --- a/api/src/middlewares/authenticateToken.ts +++ b/api/src/middlewares/authenticateToken.ts @@ -68,7 +68,7 @@ const authenticateToken = ( tokenType: 'accessToken' | 'refreshToken' ) => { const { MODE } = process.env - if (MODE?.trim() !== 'server') { + if (MODE === ModeType.Desktop) { req.user = { userId: 1234, clientId: 'desktopModeClientId', diff --git a/api/src/middlewares/verifyAdmin.ts b/api/src/middlewares/verifyAdmin.ts index 4ca26f7..ea04ada 100644 --- a/api/src/middlewares/verifyAdmin.ts +++ b/api/src/middlewares/verifyAdmin.ts @@ -1,8 +1,9 @@ import { RequestHandler } from 'express' +import { ModeType } from '../utils' export const verifyAdmin: RequestHandler = (req, res, next) => { const { MODE } = process.env - if (MODE?.trim() !== 'server') return next() + if (MODE === ModeType.Desktop) return next() const { user } = req if (!user?.isAdmin) return res.status(401).send('Admin account required') diff --git a/api/src/routes/api/spec/drive.spec.ts b/api/src/routes/api/spec/drive.spec.ts index d9475c4..3bf2109 100644 --- a/api/src/routes/api/spec/drive.spec.ts +++ b/api/src/routes/api/spec/drive.spec.ts @@ -65,25 +65,25 @@ describe('drive', () => { const dbUser = await controller.createUser(user) accessToken = await generateAndSaveToken(dbUser.id) - permissionController.createPermission({ + await permissionController.createPermission({ uri: '/SASjsApi/drive/deploy', principalType: PrincipalType.user, principalId: dbUser.id, setting: PermissionSetting.grant }) - permissionController.createPermission({ + await permissionController.createPermission({ uri: '/SASjsApi/drive/deploy/upload', principalType: PrincipalType.user, principalId: dbUser.id, setting: PermissionSetting.grant }) - permissionController.createPermission({ + await permissionController.createPermission({ uri: '/SASjsApi/drive/file', principalType: PrincipalType.user, principalId: dbUser.id, setting: PermissionSetting.grant }) - permissionController.createPermission({ + await permissionController.createPermission({ uri: '/SASjsApi/drive/folder', principalType: PrincipalType.user, principalId: dbUser.id, diff --git a/api/src/routes/api/spec/permission.spec.ts b/api/src/routes/api/spec/permission.spec.ts index 2c66bab..aca367e 100644 --- a/api/src/routes/api/spec/permission.spec.ts +++ b/api/src/routes/api/spec/permission.spec.ts @@ -120,10 +120,14 @@ describe('permission', () => { expect(res.body).toEqual({}) }) - it('should respond with Unauthorized if access token is not of an admin account', async () => { - const accessToken = await generateSaveTokenAndCreateUser({ - ...user, - username: 'create' + user.username + it('should respond with Unauthorized if access token is not of an admin account even if user has permission', async () => { + const accessToken = await generateAndSaveToken(dbUser.id) + + await permissionController.createPermission({ + uri: '/SASjsApi/permission', + principalType: PrincipalType.user, + principalId: dbUser.id, + setting: PermissionSetting.grant }) const res = await request(app) @@ -459,7 +463,7 @@ describe('permission', () => { }) const accessToken = await generateAndSaveToken(dbUser.id) await permissionController.createPermission({ - uri: '/SASjsApi/permission/', + uri: '/SASjsApi/permission', principalType: PrincipalType.user, principalId: dbUser.id, setting: PermissionSetting.grant diff --git a/api/src/utils/getAuthorizedRoutes.ts b/api/src/utils/getAuthorizedRoutes.ts index aafe4c4..d332a34 100644 --- a/api/src/utils/getAuthorizedRoutes.ts +++ b/api/src/utils/getAuthorizedRoutes.ts @@ -5,7 +5,7 @@ const StaticAuthorizedRoutes = [ '/SASjsApi/code/execute', '/SASjsApi/stp/execute', '/SASjsApi/drive/deploy', - '/SASjsApi/drive/upload', + '/SASjsApi/drive/deploy/upload', '/SASjsApi/drive/file', '/SASjsApi/drive/folder', '/SASjsApi/drive/fileTree', diff --git a/api/src/utils/specs/extractHeaders.spec.ts b/api/src/utils/specs/extractHeaders.spec.ts index 9d29f04..780b326 100644 --- a/api/src/utils/specs/extractHeaders.spec.ts +++ b/api/src/utils/specs/extractHeaders.spec.ts @@ -1,4 +1,4 @@ -import { extractHeaders } from '..' +import { extractHeaders } from '../extractHeaders' describe('extractHeaders', () => { it('should return valid http headers', () => { diff --git a/api/src/utils/specs/parseLogToArray.spec.ts b/api/src/utils/specs/parseLogToArray.spec.ts index 3bd0de4..821f041 100644 --- a/api/src/utils/specs/parseLogToArray.spec.ts +++ b/api/src/utils/specs/parseLogToArray.spec.ts @@ -1,4 +1,4 @@ -import { parseLogToArray } from '..' +import { parseLogToArray } from '../parseLogToArray' describe('parseLogToArray', () => { it('should parse log to array type', () => {