@ -3,8 +3,15 @@ const env = require("../../environment")
const apiKey = require ( "../../utilities/security/apikey" )
const apiKey = require ( "../../utilities/security/apikey" )
const { AuthTypes } = require ( "../../constants" )
const { AuthTypes } = require ( "../../constants" )
const { PermissionTypes , PermissionLevels } = require ( "../../utilities/security/permissions" )
const { PermissionTypes , PermissionLevels } = require ( "../../utilities/security/permissions" )
const { Test } = require ( "supertest" )
jest . mock ( "../../environment" , ( ) => ( {
jest . mock ( "../../environment" )
prod : false ,
isTest : ( ) => true ,
isProd : ( ) => this . prod ,
_ set : ( key , value ) => {
this . prod = value === "production"
}
} )
)
jest . mock ( "../../utilities/security/apikey" )
jest . mock ( "../../utilities/security/apikey" )
class TestConfiguration {
class TestConfiguration {
@ -47,8 +54,8 @@ class TestConfiguration {
this . ctx . request . url = url
this . ctx . request . url = url
}
}
setCloud Env ( isClou d ) {
setEnvironment ( isPro d ) {
env . CLOUD = isCloud
env . _ set ( "NODE_ENV" , isProd ? "production" : "jest" )
}
}
setRequestHeaders ( headers ) {
setRequestHeaders ( headers ) {
@ -79,7 +86,7 @@ describe("Authorization middleware", () => {
beforeEach ( ( ) => {
beforeEach ( ( ) => {
config = new TestConfiguration ( )
config = new TestConfiguration ( )
config . setCloud Env ( true )
config . setEnvironment ( true )
config . setRequestHeaders ( {
config . setRequestHeaders ( {
"x-api-key" : "abc123" ,
"x-api-key" : "abc123" ,
"x-instanceid" : "instance123" ,
"x-instanceid" : "instance123" ,
@ -115,7 +122,7 @@ describe("Authorization middleware", () => {
beforeEach ( ( ) => {
beforeEach ( ( ) => {
config = new TestConfiguration ( )
config = new TestConfiguration ( )
config . setCloud Env ( true )
config . setEnvironment ( true )
config . setAuthenticated ( true )
config . setAuthenticated ( true )
} )
} )
@ -138,7 +145,7 @@ describe("Authorization middleware", () => {
} )
} )
it ( "throws if the user has only builder permissions" , async ( ) => {
it ( "throws if the user has only builder permissions" , async ( ) => {
config . setCloud Env ( false )
config . setEnvironment ( false )
config . setMiddlewareRequiredPermission ( PermissionTypes . BUILDER )
config . setMiddlewareRequiredPermission ( PermissionTypes . BUILDER )
config . setUser ( {
config . setUser ( {
role : {
role : {