|
@@ -1,9 +1,9 @@
|
|
|
import { faker } from '@faker-js/faker';
|
|
import { faker } from '@faker-js/faker';
|
|
|
-import { SCOPE } from '@growi/core/dist/interfaces';
|
|
|
|
|
import { serializeUserSecurely } from '@growi/core/dist/models/serializers';
|
|
import { serializeUserSecurely } from '@growi/core/dist/models/serializers';
|
|
|
import type { Response } from 'express';
|
|
import type { Response } from 'express';
|
|
|
import { mock } from 'vitest-mock-extended';
|
|
import { mock } from 'vitest-mock-extended';
|
|
|
|
|
|
|
|
|
|
+import { SCOPE } from '@growi/core/dist/interfaces';
|
|
|
import type Crowi from '~/server/crowi';
|
|
import type Crowi from '~/server/crowi';
|
|
|
import type UserEvent from '~/server/events/user';
|
|
import type UserEvent from '~/server/events/user';
|
|
|
import { AccessToken } from '~/server/models/access-token';
|
|
import { AccessToken } from '~/server/models/access-token';
|
|
@@ -17,7 +17,6 @@ vi.mock('@growi/core/dist/models/serializers', { spy: true });
|
|
|
describe('access-token-parser middleware for access token with scopes', () => {
|
|
describe('access-token-parser middleware for access token with scopes', () => {
|
|
|
|
|
|
|
|
let User;
|
|
let User;
|
|
|
- const dummyAccessToken = 'cb51d35793fc5fd4a0aaae354b106045d7a774620ecf8068c147d1780f3573fc';
|
|
|
|
|
|
|
|
|
|
beforeAll(async() => {
|
|
beforeAll(async() => {
|
|
|
const crowiMock = mock<Crowi>({
|
|
const crowiMock = mock<Crowi>({
|
|
@@ -40,7 +39,7 @@ describe('access-token-parser middleware for access token with scopes', () => {
|
|
|
});
|
|
});
|
|
|
const resMock = mock<Response>();
|
|
const resMock = mock<Response>();
|
|
|
|
|
|
|
|
- await parserForAccessToken(dummyAccessToken, [])(reqMock, resMock);
|
|
|
|
|
|
|
+ await parserForAccessToken([])(reqMock, resMock);
|
|
|
|
|
|
|
|
expect(reqMock.user).toBeUndefined();
|
|
expect(reqMock.user).toBeUndefined();
|
|
|
});
|
|
});
|
|
@@ -70,7 +69,7 @@ describe('access-token-parser middleware for access token with scopes', () => {
|
|
|
|
|
|
|
|
// act
|
|
// act
|
|
|
reqMock.query.access_token = token;
|
|
reqMock.query.access_token = token;
|
|
|
- await parserForAccessToken(dummyAccessToken, [])(reqMock, resMock);
|
|
|
|
|
|
|
+ await parserForAccessToken([])(reqMock, resMock);
|
|
|
|
|
|
|
|
// assert
|
|
// assert
|
|
|
expect(reqMock.user).toBeUndefined();
|
|
expect(reqMock.user).toBeUndefined();
|
|
@@ -103,7 +102,7 @@ describe('access-token-parser middleware for access token with scopes', () => {
|
|
|
|
|
|
|
|
// act
|
|
// act
|
|
|
reqMock.query.access_token = token;
|
|
reqMock.query.access_token = token;
|
|
|
- await parserForAccessToken(dummyAccessToken, [SCOPE.READ.USER_SETTINGS.INFO])(reqMock, resMock);
|
|
|
|
|
|
|
+ await parserForAccessToken([SCOPE.READ.USER_SETTINGS.INFO])(reqMock, resMock);
|
|
|
|
|
|
|
|
// assert
|
|
// assert
|
|
|
expect(reqMock.user).toBeDefined();
|
|
expect(reqMock.user).toBeDefined();
|
|
@@ -138,7 +137,7 @@ describe('access-token-parser middleware for access token with scopes', () => {
|
|
|
|
|
|
|
|
// act - try to access with write:user:info scope
|
|
// act - try to access with write:user:info scope
|
|
|
reqMock.query.access_token = token;
|
|
reqMock.query.access_token = token;
|
|
|
- await parserForAccessToken(dummyAccessToken, [SCOPE.WRITE.USER_SETTINGS.INFO])(reqMock, resMock);
|
|
|
|
|
|
|
+ await parserForAccessToken([SCOPE.WRITE.USER_SETTINGS.INFO])(reqMock, resMock);
|
|
|
|
|
|
|
|
// // assert
|
|
// // assert
|
|
|
expect(reqMock.user).toBeUndefined();
|
|
expect(reqMock.user).toBeUndefined();
|
|
@@ -171,7 +170,7 @@ describe('access-token-parser middleware for access token with scopes', () => {
|
|
|
|
|
|
|
|
// act - try to access with read:user:info scope
|
|
// act - try to access with read:user:info scope
|
|
|
reqMock.query.access_token = token;
|
|
reqMock.query.access_token = token;
|
|
|
- await parserForAccessToken(dummyAccessToken, [SCOPE.READ.USER_SETTINGS.INFO])(reqMock, resMock);
|
|
|
|
|
|
|
+ await parserForAccessToken([SCOPE.READ.USER_SETTINGS.INFO])(reqMock, resMock);
|
|
|
|
|
|
|
|
// assert
|
|
// assert
|
|
|
expect(reqMock.user).toBeDefined();
|
|
expect(reqMock.user).toBeDefined();
|
|
@@ -203,7 +202,7 @@ describe('access-token-parser middleware for access token with scopes', () => {
|
|
|
|
|
|
|
|
// act - try to access with read:user:info scope
|
|
// act - try to access with read:user:info scope
|
|
|
reqMock.query.access_token = token;
|
|
reqMock.query.access_token = token;
|
|
|
- await parserForAccessToken(dummyAccessToken, [SCOPE.READ.USER_SETTINGS.INFO, SCOPE.READ.USER_SETTINGS.API.ACCESS_TOKEN])(reqMock, resMock);
|
|
|
|
|
|
|
+ await parserForAccessToken([SCOPE.READ.USER_SETTINGS.INFO, SCOPE.READ.USER_SETTINGS.API.ACCESS_TOKEN])(reqMock, resMock);
|
|
|
|
|
|
|
|
// assert
|
|
// assert
|
|
|
expect(reqMock.user).toBeDefined();
|
|
expect(reqMock.user).toBeDefined();
|