Merge pull request #2445 from automatisch/internal-api-namespace
refactor: Use internal namespace for the existing API
This commit is contained in:
@@ -1,6 +0,0 @@
|
|||||||
import { renderObject } from '../../../../../helpers/renderer.js';
|
|
||||||
import permissionCatalog from '../../../../../helpers/permission-catalog.ee.js';
|
|
||||||
|
|
||||||
export default async (request, response) => {
|
|
||||||
renderObject(response, permissionCatalog);
|
|
||||||
};
|
|
||||||
@@ -1,50 +0,0 @@
|
|||||||
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
|
||||||
import request from 'supertest';
|
|
||||||
import Crypto from 'crypto';
|
|
||||||
import app from '../../../../app.js';
|
|
||||||
import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id.js';
|
|
||||||
import { createUser } from '../../../../../test/factories/user.js';
|
|
||||||
import getOAuthClientMock from '../../../../../test/mocks/rest/api/v1/apps/get-oauth-client.js';
|
|
||||||
import { createOAuthClient } from '../../../../../test/factories/oauth-client.js';
|
|
||||||
import * as license from '../../../../helpers/license.ee.js';
|
|
||||||
|
|
||||||
describe('GET /api/v1/apps/:appKey/oauth-clients/:oauthClientId', () => {
|
|
||||||
let currentUser, currentOAuthClient, token;
|
|
||||||
|
|
||||||
beforeEach(async () => {
|
|
||||||
vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true);
|
|
||||||
|
|
||||||
currentUser = await createUser();
|
|
||||||
currentOAuthClient = await createOAuthClient({
|
|
||||||
appKey: 'deepl',
|
|
||||||
});
|
|
||||||
|
|
||||||
token = await createAuthTokenByUserId(currentUser.id);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should return specified oauth client', async () => {
|
|
||||||
const response = await request(app)
|
|
||||||
.get(`/api/v1/apps/deepl/oauth-clients/${currentOAuthClient.id}`)
|
|
||||||
.set('Authorization', token)
|
|
||||||
.expect(200);
|
|
||||||
|
|
||||||
const expectedPayload = getOAuthClientMock(currentOAuthClient);
|
|
||||||
expect(response.body).toStrictEqual(expectedPayload);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should return not found response for not existing oauth client ID', async () => {
|
|
||||||
const notExistingOAuthClientUUID = Crypto.randomUUID();
|
|
||||||
|
|
||||||
await request(app)
|
|
||||||
.get(`/api/v1/apps/deepl/oauth-clients/${notExistingOAuthClientUUID}`)
|
|
||||||
.set('Authorization', token)
|
|
||||||
.expect(404);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should return bad request response for invalid UUID', async () => {
|
|
||||||
await request(app)
|
|
||||||
.get('/api/v1/apps/deepl/oauth-clients/invalidOAuthClientUUID')
|
|
||||||
.set('Authorization', token)
|
|
||||||
.expect(400);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
import { renderObject } from '../../../../helpers/renderer.js';
|
|
||||||
import OAuthClient from '../../../../models/oauth-client.js';
|
|
||||||
|
|
||||||
export default async (request, response) => {
|
|
||||||
const oauthClients = await OAuthClient.query()
|
|
||||||
.where({ app_key: request.params.appKey, active: true })
|
|
||||||
.orderBy('created_at', 'desc');
|
|
||||||
|
|
||||||
renderObject(response, oauthClients);
|
|
||||||
};
|
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
|
||||||
import request from 'supertest';
|
|
||||||
import app from '../../../../app.js';
|
|
||||||
import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id.js';
|
|
||||||
import { createUser } from '../../../../../test/factories/user.js';
|
|
||||||
import getOAuthClientsMock from '../../../../../test/mocks/rest/api/v1/apps/get-oauth-clients.js';
|
|
||||||
import { createOAuthClient } from '../../../../../test/factories/oauth-client.js';
|
|
||||||
import * as license from '../../../../helpers/license.ee.js';
|
|
||||||
|
|
||||||
describe('GET /api/v1/apps/:appKey/oauth-clients', () => {
|
|
||||||
let currentUser, token;
|
|
||||||
|
|
||||||
beforeEach(async () => {
|
|
||||||
vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true);
|
|
||||||
|
|
||||||
currentUser = await createUser();
|
|
||||||
|
|
||||||
token = await createAuthTokenByUserId(currentUser.id);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should return specified oauth client info', async () => {
|
|
||||||
const oauthClientOne = await createOAuthClient({
|
|
||||||
appKey: 'deepl',
|
|
||||||
});
|
|
||||||
|
|
||||||
const oauthClientTwo = await createOAuthClient({
|
|
||||||
appKey: 'deepl',
|
|
||||||
});
|
|
||||||
|
|
||||||
const response = await request(app)
|
|
||||||
.get('/api/v1/apps/deepl/oauth-clients')
|
|
||||||
.set('Authorization', token)
|
|
||||||
.expect(200);
|
|
||||||
|
|
||||||
const expectedPayload = getOAuthClientsMock([
|
|
||||||
oauthClientTwo,
|
|
||||||
oauthClientOne,
|
|
||||||
]);
|
|
||||||
|
|
||||||
expect(response.body).toStrictEqual(expectedPayload);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
import { describe, it } from 'vitest';
|
|
||||||
import request from 'supertest';
|
|
||||||
import app from '../../../../app.js';
|
|
||||||
|
|
||||||
describe('GET /api/v1/automatisch/notifications', () => {
|
|
||||||
it('should return Automatisch notifications', async () => {
|
|
||||||
await request(app).get('/api/v1/automatisch/notifications').expect(200);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
import appConfig from '../../../../config/app.js';
|
|
||||||
import { renderObject } from '../../../../helpers/renderer.js';
|
|
||||||
|
|
||||||
export default async (request, response) => {
|
|
||||||
renderObject(response, { version: appConfig.version });
|
|
||||||
};
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
import { renderObject } from '../../../../helpers/renderer.js';
|
|
||||||
import Billing from '../../../../helpers/billing/index.ee.js';
|
|
||||||
|
|
||||||
export default async (request, response) => {
|
|
||||||
const paddleInfo = Billing.paddleInfo;
|
|
||||||
|
|
||||||
renderObject(response, paddleInfo);
|
|
||||||
};
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import User from '../../../../models/user.js';
|
import User from '../../../../../models/user.js';
|
||||||
import { renderObject, renderError } from '../../../../helpers/renderer.js';
|
import { renderObject, renderError } from '../../../../../helpers/renderer.js';
|
||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const { email, password } = request.body;
|
const { email, password } = request.body;
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
import { describe, it, expect, beforeEach } from 'vitest';
|
import { describe, it, expect, beforeEach } from 'vitest';
|
||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
import app from '../../../../app.js';
|
import app from '../../../../../app.js';
|
||||||
import { createUser } from '../../../../../test/factories/user';
|
import { createUser } from '../../../../../../test/factories/user.js';
|
||||||
|
|
||||||
describe('POST /api/v1/access-tokens', () => {
|
describe('POST /internal/api/v1/access-tokens', () => {
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
await createUser({
|
await createUser({
|
||||||
email: 'user@automatisch.io',
|
email: 'user@automatisch.io',
|
||||||
@@ -13,7 +13,7 @@ describe('POST /api/v1/access-tokens', () => {
|
|||||||
|
|
||||||
it('should return the token data with correct credentials', async () => {
|
it('should return the token data with correct credentials', async () => {
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.post('/api/v1/access-tokens')
|
.post('/internal/api/v1/access-tokens')
|
||||||
.send({
|
.send({
|
||||||
email: 'user@automatisch.io',
|
email: 'user@automatisch.io',
|
||||||
password: 'password',
|
password: 'password',
|
||||||
@@ -25,7 +25,7 @@ describe('POST /api/v1/access-tokens', () => {
|
|||||||
|
|
||||||
it('should return error with incorrect credentials', async () => {
|
it('should return error with incorrect credentials', async () => {
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.post('/api/v1/access-tokens')
|
.post('/internal/api/v1/access-tokens')
|
||||||
.send({
|
.send({
|
||||||
email: 'incorrect@email.com',
|
email: 'incorrect@email.com',
|
||||||
password: 'incorrectpassword',
|
password: 'incorrectpassword',
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
import { expect, describe, it, beforeEach } from 'vitest';
|
import { expect, describe, it, beforeEach } from 'vitest';
|
||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
import app from '../../../../app.js';
|
import app from '../../../../../app.js';
|
||||||
import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id';
|
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
import { createUser } from '../../../../../test/factories/user.js';
|
import { createUser } from '../../../../../../test/factories/user.js';
|
||||||
import AccessToken from '../../../../models/access-token.js';
|
import AccessToken from '../../../../../models/access-token.js';
|
||||||
|
|
||||||
describe('DELETE /api/v1/access-tokens/:token', () => {
|
describe('DELETE /internal/api/v1/access-tokens/:token', () => {
|
||||||
let token;
|
let token;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
@@ -18,7 +18,7 @@ describe('DELETE /api/v1/access-tokens/:token', () => {
|
|||||||
|
|
||||||
it('should respond with HTTP 204 with correct token', async () => {
|
it('should respond with HTTP 204 with correct token', async () => {
|
||||||
await request(app)
|
await request(app)
|
||||||
.delete(`/api/v1/access-tokens/${token}`)
|
.delete(`/internal/api/v1/access-tokens/${token}`)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(204);
|
.expect(204);
|
||||||
|
|
||||||
@@ -30,7 +30,7 @@ describe('DELETE /api/v1/access-tokens/:token', () => {
|
|||||||
|
|
||||||
it('should respond with HTTP 401 with incorrect credentials', async () => {
|
it('should respond with HTTP 401 with incorrect credentials', async () => {
|
||||||
await request(app)
|
await request(app)
|
||||||
.delete(`/api/v1/access-tokens/${token}`)
|
.delete(`/internal/api/v1/access-tokens/${token}`)
|
||||||
.set('Authorization', 'wrong-token')
|
.set('Authorization', 'wrong-token')
|
||||||
.expect(401);
|
.expect(401);
|
||||||
|
|
||||||
@@ -42,7 +42,7 @@ describe('DELETE /api/v1/access-tokens/:token', () => {
|
|||||||
|
|
||||||
it('should respond with HTTP 404 with correct credentials, but non-valid token', async () => {
|
it('should respond with HTTP 404 with correct credentials, but non-valid token', async () => {
|
||||||
await request(app)
|
await request(app)
|
||||||
.delete('/api/v1/access-tokens/wrong-token')
|
.delete('/internal/api/v1/access-tokens/wrong-token')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(404);
|
.expect(404);
|
||||||
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import { renderObject } from '../../../../../helpers/renderer.js';
|
import { renderObject } from '../../../../../../helpers/renderer.js';
|
||||||
import ApiToken from '../../../../../models/api-token.ee.js';
|
import ApiToken from '../../../../../../models/api-token.ee.js';
|
||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const apiToken = await ApiToken.query().insertAndFetch({});
|
const apiToken = await ApiToken.query().insertAndFetch({});
|
||||||
@@ -1,14 +1,14 @@
|
|||||||
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
import app from '../../../../../app.js';
|
import app from '../../../../../../app.js';
|
||||||
import ApiToken from '../../../../../models/api-token.ee.js';
|
import ApiToken from '../../../../../../models/api-token.ee.js';
|
||||||
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js';
|
import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
import { createRole } from '../../../../../../test/factories/role.js';
|
import { createRole } from '../../../../../../../test/factories/role.js';
|
||||||
import { createUser } from '../../../../../../test/factories/user.js';
|
import { createUser } from '../../../../../../../test/factories/user.js';
|
||||||
import createApiTokenMock from '../../../../../../test/mocks/rest/api/v1/admin/api-tokens/create-api-token.js';
|
import createApiTokenMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/api-tokens/create-api-token.js';
|
||||||
import * as license from '../../../../../helpers/license.ee.js';
|
import * as license from '../../../../../../helpers/license.ee.js';
|
||||||
|
|
||||||
describe('POST /api/v1/admin/api-tokens', () => {
|
describe('POST /internal/api/v1/admin/api-tokens', () => {
|
||||||
let currentUser, token, role;
|
let currentUser, token, role;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
@@ -22,7 +22,7 @@ describe('POST /api/v1/admin/api-tokens', () => {
|
|||||||
|
|
||||||
it('should return the created api token', async () => {
|
it('should return the created api token', async () => {
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.post('/api/v1/admin/api-tokens')
|
.post('/internal/api/v1/admin/api-tokens')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(201);
|
.expect(201);
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
import ApiToken from '../../../../../models/api-token.ee.js';
|
import ApiToken from '../../../../../../models/api-token.ee.js';
|
||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const apiToken = await ApiToken.query()
|
const apiToken = await ApiToken.query()
|
||||||
@@ -1,14 +1,14 @@
|
|||||||
import Crypto from 'node:crypto';
|
import Crypto from 'node:crypto';
|
||||||
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
import app from '../../../../../app.js';
|
import app from '../../../../../../app.js';
|
||||||
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js';
|
import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
import { createRole } from '../../../../../../test/factories/role.js';
|
import { createRole } from '../../../../../../../test/factories/role.js';
|
||||||
import { createApiToken } from '../../../../../../test/factories/api-token.js';
|
import { createApiToken } from '../../../../../../../test/factories/api-token.js';
|
||||||
import { createUser } from '../../../../../../test/factories/user.js';
|
import { createUser } from '../../../../../../../test/factories/user.js';
|
||||||
import * as license from '../../../../../helpers/license.ee.js';
|
import * as license from '../../../../../../helpers/license.ee.js';
|
||||||
|
|
||||||
describe('DELETE /api/v1/admin/api-tokens/:id', () => {
|
describe('DELETE /internal/api/v1/admin/api-tokens/:id', () => {
|
||||||
let adminRole, currentUser, token;
|
let adminRole, currentUser, token;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
@@ -25,7 +25,7 @@ describe('DELETE /api/v1/admin/api-tokens/:id', () => {
|
|||||||
const apiToken = await createApiToken();
|
const apiToken = await createApiToken();
|
||||||
|
|
||||||
await request(app)
|
await request(app)
|
||||||
.delete(`/api/v1/admin/api-tokens/${apiToken.id}`)
|
.delete(`/internal/api/v1/admin/api-tokens/${apiToken.id}`)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(204);
|
.expect(204);
|
||||||
|
|
||||||
@@ -38,7 +38,7 @@ describe('DELETE /api/v1/admin/api-tokens/:id', () => {
|
|||||||
const notExistingApiTokenId = Crypto.randomUUID();
|
const notExistingApiTokenId = Crypto.randomUUID();
|
||||||
|
|
||||||
await request(app)
|
await request(app)
|
||||||
.delete(`/api/v1/admin/api-tokens/${notExistingApiTokenId}`)
|
.delete(`/internal/api/v1/admin/api-tokens/${notExistingApiTokenId}`)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(404);
|
.expect(404);
|
||||||
});
|
});
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import { renderObject } from '../../../../../helpers/renderer.js';
|
import { renderObject } from '../../../../../../helpers/renderer.js';
|
||||||
import ApiToken from '../../../../../models/api-token.ee.js';
|
import ApiToken from '../../../../../../models/api-token.ee.js';
|
||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const apiTokens = await ApiToken.query().orderBy('created_at', 'desc');
|
const apiTokens = await ApiToken.query().orderBy('created_at', 'desc');
|
||||||
@@ -1,14 +1,14 @@
|
|||||||
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
import app from '../../../../../app.js';
|
import app from '../../../../../../app.js';
|
||||||
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js';
|
import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
import { createUser } from '../../../../../../test/factories/user.js';
|
import { createUser } from '../../../../../../../test/factories/user.js';
|
||||||
import { createRole } from '../../../../../../test/factories/role.js';
|
import { createRole } from '../../../../../../../test/factories/role.js';
|
||||||
import getAdminApiTokensMock from '../../../../../../test/mocks/rest/api/v1/admin/api-tokens/get-api-tokens.js';
|
import getAdminApiTokensMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/api-tokens/get-api-tokens.js';
|
||||||
import { createApiToken } from '../../../../../../test/factories/api-token.js';
|
import { createApiToken } from '../../../../../../../test/factories/api-token.js';
|
||||||
import * as license from '../../../../../helpers/license.ee.js';
|
import * as license from '../../../../../../helpers/license.ee.js';
|
||||||
|
|
||||||
describe('GET /api/v1/admin/api-tokens', () => {
|
describe('GET /internal/api/v1/admin/api-tokens', () => {
|
||||||
let currentUser, adminRole, token;
|
let currentUser, adminRole, token;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
@@ -25,7 +25,7 @@ describe('GET /api/v1/admin/api-tokens', () => {
|
|||||||
const apiTokenTwo = await createApiToken();
|
const apiTokenTwo = await createApiToken();
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.get('/api/v1/admin/api-tokens')
|
.get('/internal/api/v1/admin/api-tokens')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(200);
|
.expect(200);
|
||||||
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import { renderObject } from '../../../../../helpers/renderer.js';
|
import { renderObject } from '../../../../../../helpers/renderer.js';
|
||||||
import AppConfig from '../../../../../models/app-config.js';
|
import AppConfig from '../../../../../../models/app-config.js';
|
||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const createdAppConfig = await AppConfig.query().insertAndFetch(
|
const createdAppConfig = await AppConfig.query().insertAndFetch(
|
||||||
@@ -1,15 +1,15 @@
|
|||||||
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
|
|
||||||
import app from '../../../../../app.js';
|
import app from '../../../../../../app.js';
|
||||||
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js';
|
import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
import { createUser } from '../../../../../../test/factories/user.js';
|
import { createUser } from '../../../../../../../test/factories/user.js';
|
||||||
import { createRole } from '../../../../../../test/factories/role.js';
|
import { createRole } from '../../../../../../../test/factories/role.js';
|
||||||
import createAppConfigMock from '../../../../../../test/mocks/rest/api/v1/admin/apps/create-config.js';
|
import createAppConfigMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/apps/create-config.js';
|
||||||
import { createAppConfig } from '../../../../../../test/factories/app-config.js';
|
import { createAppConfig } from '../../../../../../../test/factories/app-config.js';
|
||||||
import * as license from '../../../../../helpers/license.ee.js';
|
import * as license from '../../../../../../helpers/license.ee.js';
|
||||||
|
|
||||||
describe('POST /api/v1/admin/apps/:appKey/config', () => {
|
describe('POST /internal/api/v1/admin/apps/:appKey/config', () => {
|
||||||
let currentUser, adminRole, token;
|
let currentUser, adminRole, token;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
@@ -28,7 +28,7 @@ describe('POST /api/v1/admin/apps/:appKey/config', () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.post('/api/v1/admin/apps/gitlab/config')
|
.post('/internal/api/v1/admin/apps/gitlab/config')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send(appConfig)
|
.send(appConfig)
|
||||||
.expect(201);
|
.expect(201);
|
||||||
@@ -51,7 +51,7 @@ describe('POST /api/v1/admin/apps/:appKey/config', () => {
|
|||||||
await createAppConfig(appConfig);
|
await createAppConfig(appConfig);
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.post('/api/v1/admin/apps/gitlab/config')
|
.post('/internal/api/v1/admin/apps/gitlab/config')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send({
|
.send({
|
||||||
disabled: false,
|
disabled: false,
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import { renderObject } from '../../../../../helpers/renderer.js';
|
import { renderObject } from '../../../../../../helpers/renderer.js';
|
||||||
import AppConfig from '../../../../../models/app-config.js';
|
import AppConfig from '../../../../../../models/app-config.js';
|
||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const appConfig = await AppConfig.query()
|
const appConfig = await AppConfig.query()
|
||||||
@@ -1,15 +1,15 @@
|
|||||||
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
|
|
||||||
import app from '../../../../../app.js';
|
import app from '../../../../../../app.js';
|
||||||
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js';
|
import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
import { createUser } from '../../../../../../test/factories/user.js';
|
import { createUser } from '../../../../../../../test/factories/user.js';
|
||||||
import { createRole } from '../../../../../../test/factories/role.js';
|
import { createRole } from '../../../../../../../test/factories/role.js';
|
||||||
import createOAuthClientMock from '../../../../../../test/mocks/rest/api/v1/admin/apps/create-oauth-client.js';
|
import createOAuthClientMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/apps/create-oauth-client.js';
|
||||||
import { createAppConfig } from '../../../../../../test/factories/app-config.js';
|
import { createAppConfig } from '../../../../../../../test/factories/app-config.js';
|
||||||
import * as license from '../../../../../helpers/license.ee.js';
|
import * as license from '../../../../../../helpers/license.ee.js';
|
||||||
|
|
||||||
describe('POST /api/v1/admin/apps/:appKey/oauth-clients', () => {
|
describe('POST /internal/api/v1/admin/apps/:appKey/oauth-clients', () => {
|
||||||
let currentUser, adminRole, token;
|
let currentUser, adminRole, token;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
@@ -39,7 +39,7 @@ describe('POST /api/v1/admin/apps/:appKey/oauth-clients', () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.post('/api/v1/admin/apps/gitlab/oauth-clients')
|
.post('/internal/api/v1/admin/apps/gitlab/oauth-clients')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send(oauthClient)
|
.send(oauthClient)
|
||||||
.expect(201);
|
.expect(201);
|
||||||
@@ -66,7 +66,7 @@ describe('POST /api/v1/admin/apps/:appKey/oauth-clients', () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.post('/api/v1/admin/apps/deepl/oauth-clients')
|
.post('/internal/api/v1/admin/apps/deepl/oauth-clients')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send(oauthClient)
|
.send(oauthClient)
|
||||||
.expect(422);
|
.expect(422);
|
||||||
@@ -90,7 +90,7 @@ describe('POST /api/v1/admin/apps/:appKey/oauth-clients', () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
await request(app)
|
await request(app)
|
||||||
.post('/api/v1/admin/apps/gitlab/oauth-clients')
|
.post('/internal/api/v1/admin/apps/gitlab/oauth-clients')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send(oauthClient)
|
.send(oauthClient)
|
||||||
.expect(404);
|
.expect(404);
|
||||||
@@ -106,7 +106,7 @@ describe('POST /api/v1/admin/apps/:appKey/oauth-clients', () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.post('/api/v1/admin/apps/gitlab/oauth-clients')
|
.post('/internal/api/v1/admin/apps/gitlab/oauth-clients')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send(oauthClient)
|
.send(oauthClient)
|
||||||
.expect(422);
|
.expect(422);
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
import { renderObject } from '../../../../helpers/renderer.js';
|
import { renderObject } from '../../../../../../helpers/renderer.js';
|
||||||
import OAuthClient from '../../../../models/oauth-client.js';
|
import OAuthClient from '../../../../../../models/oauth-client.js';
|
||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const oauthClient = await OAuthClient.query()
|
const oauthClient = await OAuthClient.query()
|
||||||
.findById(request.params.oauthClientId)
|
.findById(request.params.oauthClientId)
|
||||||
.where({ app_key: request.params.appKey, active: true })
|
.where({ app_key: request.params.appKey })
|
||||||
.throwIfNotFound();
|
.throwIfNotFound();
|
||||||
|
|
||||||
renderObject(response, oauthClient);
|
renderObject(response, oauthClient);
|
||||||
@@ -0,0 +1,59 @@
|
|||||||
|
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
||||||
|
import request from 'supertest';
|
||||||
|
import Crypto from 'crypto';
|
||||||
|
import app from '../../../../../../app.js';
|
||||||
|
import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
|
import { createUser } from '../../../../../../../test/factories/user.js';
|
||||||
|
import { createRole } from '../../../../../../../test/factories/role.js';
|
||||||
|
import getOAuthClientMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/apps/get-oauth-client.js';
|
||||||
|
import { createOAuthClient } from '../../../../../../../test/factories/oauth-client.js';
|
||||||
|
import * as license from '../../../../../../helpers/license.ee.js';
|
||||||
|
|
||||||
|
describe('GET /internal/api/v1/admin/apps/:appKey/oauth-clients/:oauthClientId', () => {
|
||||||
|
let currentUser, adminRole, currentOAuthClient, token;
|
||||||
|
|
||||||
|
beforeEach(async () => {
|
||||||
|
vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true);
|
||||||
|
|
||||||
|
adminRole = await createRole({ name: 'Admin' });
|
||||||
|
currentUser = await createUser({ roleId: adminRole.id });
|
||||||
|
|
||||||
|
currentOAuthClient = await createOAuthClient({
|
||||||
|
appKey: 'deepl',
|
||||||
|
});
|
||||||
|
|
||||||
|
token = await createAuthTokenByUserId(currentUser.id);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should return specified oauth client', async () => {
|
||||||
|
const response = await request(app)
|
||||||
|
.get(
|
||||||
|
`/internal/api/v1/admin/apps/deepl/oauth-clients/${currentOAuthClient.id}`
|
||||||
|
)
|
||||||
|
.set('Authorization', token)
|
||||||
|
.expect(200);
|
||||||
|
|
||||||
|
const expectedPayload = getOAuthClientMock(currentOAuthClient);
|
||||||
|
expect(response.body).toStrictEqual(expectedPayload);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should return not found response for not existing oauth client ID', async () => {
|
||||||
|
const notExistingOAuthClientUUID = Crypto.randomUUID();
|
||||||
|
|
||||||
|
await request(app)
|
||||||
|
.get(
|
||||||
|
`/internal/api/v1/admin/apps/deepl/oauth-clients/${notExistingOAuthClientUUID}`
|
||||||
|
)
|
||||||
|
.set('Authorization', token)
|
||||||
|
.expect(404);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should return bad request response for invalid UUID', async () => {
|
||||||
|
await request(app)
|
||||||
|
.get(
|
||||||
|
'/internal/api/v1/admin/apps/deepl/oauth-clients/invalidOAuthClientUUID'
|
||||||
|
)
|
||||||
|
.set('Authorization', token)
|
||||||
|
.expect(400);
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
import { renderObject } from '../../../../../../helpers/renderer.js';
|
||||||
|
import OAuthClient from '../../../../../../models/oauth-client.js';
|
||||||
|
|
||||||
|
export default async (request, response) => {
|
||||||
|
const oauthClients = await OAuthClient.query()
|
||||||
|
.where({ app_key: request.params.appKey })
|
||||||
|
.orderBy('created_at', 'desc');
|
||||||
|
|
||||||
|
renderObject(response, oauthClients);
|
||||||
|
};
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
||||||
|
import request from 'supertest';
|
||||||
|
import app from '../../../../../../app.js';
|
||||||
|
import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
|
import { createUser } from '../../../../../../../test/factories/user.js';
|
||||||
|
import { createRole } from '../../../../../../../test/factories/role.js';
|
||||||
|
import getAdminOAuthClientsMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/apps/get-oauth-clients.js';
|
||||||
|
import { createOAuthClient } from '../../../../../../../test/factories/oauth-client.js';
|
||||||
|
import * as license from '../../../../../../helpers/license.ee.js';
|
||||||
|
|
||||||
|
describe('GET /internal/api/v1/admin/apps/:appKey/oauth-clients', () => {
|
||||||
|
let currentUser, adminRole, token;
|
||||||
|
|
||||||
|
beforeEach(async () => {
|
||||||
|
vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true);
|
||||||
|
|
||||||
|
adminRole = await createRole({ name: 'Admin' });
|
||||||
|
currentUser = await createUser({ roleId: adminRole.id });
|
||||||
|
|
||||||
|
token = await createAuthTokenByUserId(currentUser.id);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should return specified oauth client info', async () => {
|
||||||
|
const oauthClientOne = await createOAuthClient({
|
||||||
|
appKey: 'deepl',
|
||||||
|
});
|
||||||
|
|
||||||
|
const oauthClientTwo = await createOAuthClient({
|
||||||
|
appKey: 'deepl',
|
||||||
|
});
|
||||||
|
|
||||||
|
const response = await request(app)
|
||||||
|
.get('/internal/api/v1/admin/apps/deepl/oauth-clients')
|
||||||
|
.set('Authorization', token)
|
||||||
|
.expect(200);
|
||||||
|
|
||||||
|
const expectedPayload = getAdminOAuthClientsMock([
|
||||||
|
oauthClientTwo,
|
||||||
|
oauthClientOne,
|
||||||
|
]);
|
||||||
|
|
||||||
|
expect(response.body).toStrictEqual(expectedPayload);
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import { renderObject } from '../../../../../helpers/renderer.js';
|
import { renderObject } from '../../../../../../helpers/renderer.js';
|
||||||
import AppConfig from '../../../../../models/app-config.js';
|
import AppConfig from '../../../../../../models/app-config.js';
|
||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const appConfig = await AppConfig.query()
|
const appConfig = await AppConfig.query()
|
||||||
@@ -1,15 +1,15 @@
|
|||||||
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
|
|
||||||
import app from '../../../../../app.js';
|
import app from '../../../../../../app.js';
|
||||||
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js';
|
import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
import { createUser } from '../../../../../../test/factories/user.js';
|
import { createUser } from '../../../../../../../test/factories/user.js';
|
||||||
import { createRole } from '../../../../../../test/factories/role.js';
|
import { createRole } from '../../../../../../../test/factories/role.js';
|
||||||
import createAppConfigMock from '../../../../../../test/mocks/rest/api/v1/admin/apps/create-config.js';
|
import createAppConfigMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/apps/create-config.js';
|
||||||
import { createAppConfig } from '../../../../../../test/factories/app-config.js';
|
import { createAppConfig } from '../../../../../../../test/factories/app-config.js';
|
||||||
import * as license from '../../../../../helpers/license.ee.js';
|
import * as license from '../../../../../../helpers/license.ee.js';
|
||||||
|
|
||||||
describe('PATCH /api/v1/admin/apps/:appKey/config', () => {
|
describe('PATCH /internal/api/v1/admin/apps/:appKey/config', () => {
|
||||||
let currentUser, adminRole, token;
|
let currentUser, adminRole, token;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
@@ -36,7 +36,7 @@ describe('PATCH /api/v1/admin/apps/:appKey/config', () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.patch('/api/v1/admin/apps/gitlab/config')
|
.patch('/internal/api/v1/admin/apps/gitlab/config')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send(newAppConfigValues)
|
.send(newAppConfigValues)
|
||||||
.expect(200);
|
.expect(200);
|
||||||
@@ -56,7 +56,7 @@ describe('PATCH /api/v1/admin/apps/:appKey/config', () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
await request(app)
|
await request(app)
|
||||||
.patch('/api/v1/admin/apps/gitlab/config')
|
.patch('/internal/api/v1/admin/apps/gitlab/config')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send(appConfig)
|
.send(appConfig)
|
||||||
.expect(404);
|
.expect(404);
|
||||||
@@ -72,7 +72,7 @@ describe('PATCH /api/v1/admin/apps/:appKey/config', () => {
|
|||||||
await createAppConfig(appConfig);
|
await createAppConfig(appConfig);
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.patch('/api/v1/admin/apps/gitlab/config')
|
.patch('/internal/api/v1/admin/apps/gitlab/config')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send({
|
.send({
|
||||||
disabled: 'invalid value type',
|
disabled: 'invalid value type',
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import { renderObject } from '../../../../../helpers/renderer.js';
|
import { renderObject } from '../../../../../../helpers/renderer.js';
|
||||||
import OAuthClient from '../../../../../models/oauth-client.js';
|
import OAuthClient from '../../../../../../models/oauth-client.js';
|
||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const oauthClient = await OAuthClient.query()
|
const oauthClient = await OAuthClient.query()
|
||||||
@@ -2,16 +2,16 @@ import { vi, describe, it, expect, beforeEach } from 'vitest';
|
|||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
import Crypto from 'crypto';
|
import Crypto from 'crypto';
|
||||||
|
|
||||||
import app from '../../../../../app.js';
|
import app from '../../../../../../app.js';
|
||||||
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js';
|
import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
import { createUser } from '../../../../../../test/factories/user.js';
|
import { createUser } from '../../../../../../../test/factories/user.js';
|
||||||
import { createRole } from '../../../../../../test/factories/role.js';
|
import { createRole } from '../../../../../../../test/factories/role.js';
|
||||||
import updateOAuthClientMock from '../../../../../../test/mocks/rest/api/v1/admin/apps/update-oauth-client.js';
|
import updateOAuthClientMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/apps/update-oauth-client.js';
|
||||||
import { createAppConfig } from '../../../../../../test/factories/app-config.js';
|
import { createAppConfig } from '../../../../../../../test/factories/app-config.js';
|
||||||
import { createOAuthClient } from '../../../../../../test/factories/oauth-client.js';
|
import { createOAuthClient } from '../../../../../../../test/factories/oauth-client.js';
|
||||||
import * as license from '../../../../../helpers/license.ee.js';
|
import * as license from '../../../../../../helpers/license.ee.js';
|
||||||
|
|
||||||
describe('PATCH /api/v1/admin/apps/:appKey/oauth-clients', () => {
|
describe('PATCH /internal/api/v1/admin/apps/:appKey/oauth-clients', () => {
|
||||||
let currentUser, adminRole, token;
|
let currentUser, adminRole, token;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
@@ -46,7 +46,7 @@ describe('PATCH /api/v1/admin/apps/:appKey/oauth-clients', () => {
|
|||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.patch(
|
.patch(
|
||||||
`/api/v1/admin/apps/gitlab/oauth-clients/${existingOAuthClient.id}`
|
`/internal/api/v1/admin/apps/gitlab/oauth-clients/${existingOAuthClient.id}`
|
||||||
)
|
)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send(oauthClient)
|
.send(oauthClient)
|
||||||
@@ -65,7 +65,7 @@ describe('PATCH /api/v1/admin/apps/:appKey/oauth-clients', () => {
|
|||||||
|
|
||||||
await request(app)
|
await request(app)
|
||||||
.patch(
|
.patch(
|
||||||
`/api/v1/admin/apps/gitlab/oauth-clients/${notExistingOAuthClientId}`
|
`/internal/api/v1/admin/apps/gitlab/oauth-clients/${notExistingOAuthClientId}`
|
||||||
)
|
)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(404);
|
.expect(404);
|
||||||
@@ -73,7 +73,9 @@ describe('PATCH /api/v1/admin/apps/:appKey/oauth-clients', () => {
|
|||||||
|
|
||||||
it('should return bad request response for invalid UUID', async () => {
|
it('should return bad request response for invalid UUID', async () => {
|
||||||
await request(app)
|
await request(app)
|
||||||
.patch('/api/v1/admin/apps/gitlab/oauth-clients/invalidAuthClientUUID')
|
.patch(
|
||||||
|
'/internal/api/v1/admin/apps/gitlab/oauth-clients/invalidAuthClientUUID'
|
||||||
|
)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(400);
|
.expect(400);
|
||||||
});
|
});
|
||||||
@@ -90,7 +92,7 @@ describe('PATCH /api/v1/admin/apps/:appKey/oauth-clients', () => {
|
|||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.patch(
|
.patch(
|
||||||
`/api/v1/admin/apps/gitlab/oauth-clients/${existingOAuthClient.id}`
|
`/internal/api/v1/admin/apps/gitlab/oauth-clients/${existingOAuthClient.id}`
|
||||||
)
|
)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send(oauthClient)
|
.send(oauthClient)
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import { renderObject } from '../../../../../helpers/renderer.js';
|
import { renderObject } from '../../../../../../helpers/renderer.js';
|
||||||
import Config from '../../../../../models/config.js';
|
import Config from '../../../../../../models/config.js';
|
||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const config = await Config.query().updateFirstOrInsert(
|
const config = await Config.query().updateFirstOrInsert(
|
||||||
@@ -1,14 +1,14 @@
|
|||||||
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
|
|
||||||
import app from '../../../../../app.js';
|
import app from '../../../../../../app.js';
|
||||||
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js';
|
import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
import { createUser } from '../../../../../../test/factories/user.js';
|
import { createUser } from '../../../../../../../test/factories/user.js';
|
||||||
import { createRole } from '../../../../../../test/factories/role.js';
|
import { createRole } from '../../../../../../../test/factories/role.js';
|
||||||
import { updateConfig } from '../../../../../../test/factories/config.js';
|
import { updateConfig } from '../../../../../../../test/factories/config.js';
|
||||||
import * as license from '../../../../../helpers/license.ee.js';
|
import * as license from '../../../../../../helpers/license.ee.js';
|
||||||
|
|
||||||
describe('PATCH /api/v1/admin/config', () => {
|
describe('PATCH /internal/api/v1/admin/config', () => {
|
||||||
let currentUser, adminRole, token;
|
let currentUser, adminRole, token;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
@@ -66,7 +66,7 @@ describe('PATCH /api/v1/admin/config', () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.patch('/api/v1/admin/config')
|
.patch('/internal/api/v1/admin/config')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send(newConfigValues)
|
.send(newConfigValues)
|
||||||
.expect(200);
|
.expect(200);
|
||||||
@@ -83,7 +83,7 @@ describe('PATCH /api/v1/admin/config', () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.patch('/api/v1/admin/config')
|
.patch('/internal/api/v1/admin/config')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send(newConfigValues)
|
.send(newConfigValues)
|
||||||
.expect(200);
|
.expect(200);
|
||||||
@@ -98,7 +98,7 @@ describe('PATCH /api/v1/admin/config', () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.patch('/api/v1/admin/config')
|
.patch('/internal/api/v1/admin/config')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send(newConfigValues)
|
.send(newConfigValues)
|
||||||
.expect(200);
|
.expect(200);
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
import { renderObject } from '../../../../../../helpers/renderer.js';
|
||||||
|
import permissionCatalog from '../../../../../../helpers/permission-catalog.ee.js';
|
||||||
|
|
||||||
|
export default async (request, response) => {
|
||||||
|
renderObject(response, permissionCatalog);
|
||||||
|
};
|
||||||
@@ -1,13 +1,13 @@
|
|||||||
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
import app from '../../../../../app.js';
|
import app from '../../../../../../app.js';
|
||||||
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js';
|
import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
import { createRole } from '../../../../../../test/factories/role.js';
|
import { createRole } from '../../../../../../../test/factories/role.js';
|
||||||
import { createUser } from '../../../../../../test/factories/user.js';
|
import { createUser } from '../../../../../../../test/factories/user.js';
|
||||||
import getPermissionsCatalogMock from '../../../../../../test/mocks/rest/api/v1/admin/permissions/get-permissions-catalog.ee.js';
|
import getPermissionsCatalogMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/permissions/get-permissions-catalog.ee.js';
|
||||||
import * as license from '../../../../../helpers/license.ee.js';
|
import * as license from '../../../../../../helpers/license.ee.js';
|
||||||
|
|
||||||
describe('GET /api/v1/admin/permissions/catalog', () => {
|
describe('GET /internal/api/v1/admin/permissions/catalog', () => {
|
||||||
let role, currentUser, token;
|
let role, currentUser, token;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
@@ -21,7 +21,7 @@ describe('GET /api/v1/admin/permissions/catalog', () => {
|
|||||||
vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true);
|
vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true);
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.get('/api/v1/admin/permissions/catalog')
|
.get('/internal/api/v1/admin/permissions/catalog')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(200);
|
.expect(200);
|
||||||
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import { renderObject } from '../../../../../helpers/renderer.js';
|
import { renderObject } from '../../../../../../helpers/renderer.js';
|
||||||
import Role from '../../../../../models/role.js';
|
import Role from '../../../../../../models/role.js';
|
||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const roleData = roleParams(request);
|
const roleData = roleParams(request);
|
||||||
@@ -1,14 +1,14 @@
|
|||||||
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
import app from '../../../../../app.js';
|
import app from '../../../../../../app.js';
|
||||||
import Role from '../../../../../models/role.js';
|
import Role from '../../../../../../models/role.js';
|
||||||
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js';
|
import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
import { createRole } from '../../../../../../test/factories/role.js';
|
import { createRole } from '../../../../../../../test/factories/role.js';
|
||||||
import { createUser } from '../../../../../../test/factories/user.js';
|
import { createUser } from '../../../../../../../test/factories/user.js';
|
||||||
import createRoleMock from '../../../../../../test/mocks/rest/api/v1/admin/roles/create-role.ee.js';
|
import createRoleMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/roles/create-role.ee.js';
|
||||||
import * as license from '../../../../../helpers/license.ee.js';
|
import * as license from '../../../../../../helpers/license.ee.js';
|
||||||
|
|
||||||
describe('POST /api/v1/admin/roles', () => {
|
describe('POST /internal/api/v1/admin/roles', () => {
|
||||||
let role, currentUser, token;
|
let role, currentUser, token;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
@@ -34,7 +34,7 @@ describe('POST /api/v1/admin/roles', () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.post('/api/v1/admin/roles')
|
.post('/internal/api/v1/admin/roles')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send(roleData)
|
.send(roleData)
|
||||||
.expect(201);
|
.expect(201);
|
||||||
@@ -68,7 +68,7 @@ describe('POST /api/v1/admin/roles', () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.post('/api/v1/admin/roles')
|
.post('/internal/api/v1/admin/roles')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send(roleData)
|
.send(roleData)
|
||||||
.expect(422);
|
.expect(422);
|
||||||
@@ -92,7 +92,7 @@ describe('POST /api/v1/admin/roles', () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.post('/api/v1/admin/roles')
|
.post('/internal/api/v1/admin/roles')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send(roleData)
|
.send(roleData)
|
||||||
.expect(422);
|
.expect(422);
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
import Role from '../../../../../models/role.js';
|
import Role from '../../../../../../models/role.js';
|
||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const role = await Role.query()
|
const role = await Role.query()
|
||||||
@@ -1,15 +1,15 @@
|
|||||||
import Crypto from 'node:crypto';
|
import Crypto from 'node:crypto';
|
||||||
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
import app from '../../../../../app.js';
|
import app from '../../../../../../app.js';
|
||||||
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js';
|
import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
import { createRole } from '../../../../../../test/factories/role.js';
|
import { createRole } from '../../../../../../../test/factories/role.js';
|
||||||
import { createPermission } from '../../../../../../test/factories/permission.js';
|
import { createPermission } from '../../../../../../../test/factories/permission.js';
|
||||||
import { createSamlAuthProvider } from '../../../../../../test/factories/saml-auth-provider.ee.js';
|
import { createSamlAuthProvider } from '../../../../../../../test/factories/saml-auth-provider.ee.js';
|
||||||
import { createUser } from '../../../../../../test/factories/user.js';
|
import { createUser } from '../../../../../../../test/factories/user.js';
|
||||||
import * as license from '../../../../../helpers/license.ee.js';
|
import * as license from '../../../../../../helpers/license.ee.js';
|
||||||
|
|
||||||
describe('DELETE /api/v1/admin/roles/:roleId', () => {
|
describe('DELETE /internal/api/v1/admin/roles/:roleId', () => {
|
||||||
let adminRole, currentUser, token;
|
let adminRole, currentUser, token;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
@@ -27,7 +27,7 @@ describe('DELETE /api/v1/admin/roles/:roleId', () => {
|
|||||||
const permission = await createPermission({ roleId: role.id });
|
const permission = await createPermission({ roleId: role.id });
|
||||||
|
|
||||||
await request(app)
|
await request(app)
|
||||||
.delete(`/api/v1/admin/roles/${role.id}`)
|
.delete(`/internal/api/v1/admin/roles/${role.id}`)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(204);
|
.expect(204);
|
||||||
|
|
||||||
@@ -42,14 +42,14 @@ describe('DELETE /api/v1/admin/roles/:roleId', () => {
|
|||||||
const notExistingRoleUUID = Crypto.randomUUID();
|
const notExistingRoleUUID = Crypto.randomUUID();
|
||||||
|
|
||||||
await request(app)
|
await request(app)
|
||||||
.delete(`/api/v1/admin/roles/${notExistingRoleUUID}`)
|
.delete(`/internal/api/v1/admin/roles/${notExistingRoleUUID}`)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(404);
|
.expect(404);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should return not authorized response for deleting admin role', async () => {
|
it('should return not authorized response for deleting admin role', async () => {
|
||||||
await request(app)
|
await request(app)
|
||||||
.delete(`/api/v1/admin/roles/${adminRole.id}`)
|
.delete(`/internal/api/v1/admin/roles/${adminRole.id}`)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(403);
|
.expect(403);
|
||||||
});
|
});
|
||||||
@@ -59,7 +59,7 @@ describe('DELETE /api/v1/admin/roles/:roleId', () => {
|
|||||||
await createUser({ roleId: role.id });
|
await createUser({ roleId: role.id });
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.delete(`/api/v1/admin/roles/${role.id}`)
|
.delete(`/internal/api/v1/admin/roles/${role.id}`)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(422);
|
.expect(422);
|
||||||
|
|
||||||
@@ -77,7 +77,7 @@ describe('DELETE /api/v1/admin/roles/:roleId', () => {
|
|||||||
const samlAuthProvider = await createSamlAuthProvider();
|
const samlAuthProvider = await createSamlAuthProvider();
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.delete(`/api/v1/admin/roles/${samlAuthProvider.defaultRoleId}`)
|
.delete(`/internal/api/v1/admin/roles/${samlAuthProvider.defaultRoleId}`)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(422);
|
.expect(422);
|
||||||
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import { renderObject } from '../../../../../helpers/renderer.js';
|
import { renderObject } from '../../../../../../helpers/renderer.js';
|
||||||
import Role from '../../../../../models/role.js';
|
import Role from '../../../../../../models/role.js';
|
||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const role = await Role.query()
|
const role = await Role.query()
|
||||||
@@ -1,15 +1,15 @@
|
|||||||
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
import Crypto from 'crypto';
|
import Crypto from 'crypto';
|
||||||
import app from '../../../../../app.js';
|
import app from '../../../../../../app.js';
|
||||||
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js';
|
import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
import { createRole } from '../../../../../../test/factories/role.js';
|
import { createRole } from '../../../../../../../test/factories/role.js';
|
||||||
import { createUser } from '../../../../../../test/factories/user.js';
|
import { createUser } from '../../../../../../../test/factories/user.js';
|
||||||
import { createPermission } from '../../../../../../test/factories/permission.js';
|
import { createPermission } from '../../../../../../../test/factories/permission.js';
|
||||||
import getRoleMock from '../../../../../../test/mocks/rest/api/v1/admin/roles/get-role.ee.js';
|
import getRoleMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/roles/get-role.ee.js';
|
||||||
import * as license from '../../../../../helpers/license.ee.js';
|
import * as license from '../../../../../../helpers/license.ee.js';
|
||||||
|
|
||||||
describe('GET /api/v1/admin/roles/:roleId', () => {
|
describe('GET /internal/api/v1/admin/roles/:roleId', () => {
|
||||||
let role, currentUser, token, permissionOne, permissionTwo;
|
let role, currentUser, token, permissionOne, permissionTwo;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
@@ -25,7 +25,7 @@ describe('GET /api/v1/admin/roles/:roleId', () => {
|
|||||||
vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true);
|
vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true);
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.get(`/api/v1/admin/roles/${role.id}`)
|
.get(`/internal/api/v1/admin/roles/${role.id}`)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(200);
|
.expect(200);
|
||||||
|
|
||||||
@@ -43,7 +43,7 @@ describe('GET /api/v1/admin/roles/:roleId', () => {
|
|||||||
const notExistingRoleUUID = Crypto.randomUUID();
|
const notExistingRoleUUID = Crypto.randomUUID();
|
||||||
|
|
||||||
await request(app)
|
await request(app)
|
||||||
.get(`/api/v1/admin/roles/${notExistingRoleUUID}`)
|
.get(`/internal/api/v1/admin/roles/${notExistingRoleUUID}`)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(404);
|
.expect(404);
|
||||||
});
|
});
|
||||||
@@ -52,7 +52,7 @@ describe('GET /api/v1/admin/roles/:roleId', () => {
|
|||||||
vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true);
|
vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true);
|
||||||
|
|
||||||
await request(app)
|
await request(app)
|
||||||
.get('/api/v1/admin/roles/invalidRoleUUID')
|
.get('/internal/api/v1/admin/roles/invalidRoleUUID')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(400);
|
.expect(400);
|
||||||
});
|
});
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import { renderObject } from '../../../../../helpers/renderer.js';
|
import { renderObject } from '../../../../../../helpers/renderer.js';
|
||||||
import Role from '../../../../../models/role.js';
|
import Role from '../../../../../../models/role.js';
|
||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const roles = await Role.query().orderBy('name');
|
const roles = await Role.query().orderBy('name');
|
||||||
@@ -1,13 +1,13 @@
|
|||||||
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
import app from '../../../../../app.js';
|
import app from '../../../../../../app.js';
|
||||||
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js';
|
import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
import { createRole } from '../../../../../../test/factories/role.js';
|
import { createRole } from '../../../../../../../test/factories/role.js';
|
||||||
import { createUser } from '../../../../../../test/factories/user.js';
|
import { createUser } from '../../../../../../../test/factories/user.js';
|
||||||
import getRolesMock from '../../../../../../test/mocks/rest/api/v1/admin/roles/get-roles.ee.js';
|
import getRolesMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/roles/get-roles.ee.js';
|
||||||
import * as license from '../../../../../helpers/license.ee.js';
|
import * as license from '../../../../../../helpers/license.ee.js';
|
||||||
|
|
||||||
describe('GET /api/v1/admin/roles', () => {
|
describe('GET /internal/api/v1/admin/roles', () => {
|
||||||
let roleOne, roleTwo, currentUser, token;
|
let roleOne, roleTwo, currentUser, token;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
@@ -22,7 +22,7 @@ describe('GET /api/v1/admin/roles', () => {
|
|||||||
vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true);
|
vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true);
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.get('/api/v1/admin/roles')
|
.get('/internal/api/v1/admin/roles')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(200);
|
.expect(200);
|
||||||
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import { renderObject } from '../../../../../helpers/renderer.js';
|
import { renderObject } from '../../../../../../helpers/renderer.js';
|
||||||
import Role from '../../../../../models/role.js';
|
import Role from '../../../../../../models/role.js';
|
||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const role = await Role.query()
|
const role = await Role.query()
|
||||||
@@ -1,14 +1,14 @@
|
|||||||
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
import app from '../../../../../app.js';
|
import app from '../../../../../../app.js';
|
||||||
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js';
|
import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
import { createRole } from '../../../../../../test/factories/role.js';
|
import { createRole } from '../../../../../../../test/factories/role.js';
|
||||||
import { createPermission } from '../../../../../../test/factories/permission.js';
|
import { createPermission } from '../../../../../../../test/factories/permission.js';
|
||||||
import { createUser } from '../../../../../../test/factories/user.js';
|
import { createUser } from '../../../../../../../test/factories/user.js';
|
||||||
import updateRoleMock from '../../../../../../test/mocks/rest/api/v1/admin/roles/update-role.ee.js';
|
import updateRoleMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/roles/update-role.ee.js';
|
||||||
import * as license from '../../../../../helpers/license.ee.js';
|
import * as license from '../../../../../../helpers/license.ee.js';
|
||||||
|
|
||||||
describe('PATCH /api/v1/admin/roles/:roleId', () => {
|
describe('PATCH /internal/api/v1/admin/roles/:roleId', () => {
|
||||||
let adminRole, viewerRole, currentUser, token;
|
let adminRole, viewerRole, currentUser, token;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
@@ -46,7 +46,7 @@ describe('PATCH /api/v1/admin/roles/:roleId', () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.patch(`/api/v1/admin/roles/${viewerRole.id}`)
|
.patch(`/internal/api/v1/admin/roles/${viewerRole.id}`)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send(roleData)
|
.send(roleData)
|
||||||
.expect(200);
|
.expect(200);
|
||||||
@@ -90,7 +90,7 @@ describe('PATCH /api/v1/admin/roles/:roleId', () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.patch(`/api/v1/admin/roles/${viewerRole.id}`)
|
.patch(`/internal/api/v1/admin/roles/${viewerRole.id}`)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send(roleData)
|
.send(roleData)
|
||||||
.expect(200);
|
.expect(200);
|
||||||
@@ -123,7 +123,7 @@ describe('PATCH /api/v1/admin/roles/:roleId', () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
await request(app)
|
await request(app)
|
||||||
.patch(`/api/v1/admin/roles/${adminRole.id}`)
|
.patch(`/internal/api/v1/admin/roles/${adminRole.id}`)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send(roleData)
|
.send(roleData)
|
||||||
.expect(403);
|
.expect(403);
|
||||||
@@ -136,7 +136,7 @@ describe('PATCH /api/v1/admin/roles/:roleId', () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.patch(`/api/v1/admin/roles/${viewerRole.id}`)
|
.patch(`/internal/api/v1/admin/roles/${viewerRole.id}`)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send(roleData)
|
.send(roleData)
|
||||||
.expect(422);
|
.expect(422);
|
||||||
@@ -160,7 +160,7 @@ describe('PATCH /api/v1/admin/roles/:roleId', () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.patch(`/api/v1/admin/roles/${viewerRole.id}`)
|
.patch(`/internal/api/v1/admin/roles/${viewerRole.id}`)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send(roleData)
|
.send(roleData)
|
||||||
.expect(422);
|
.expect(422);
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import { renderObject } from '../../../../../helpers/renderer.js';
|
import { renderObject } from '../../../../../../helpers/renderer.js';
|
||||||
import SamlAuthProvider from '../../../../../models/saml-auth-provider.ee.js';
|
import SamlAuthProvider from '../../../../../../models/saml-auth-provider.ee.js';
|
||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const samlAuthProvider = await SamlAuthProvider.query().insert(
|
const samlAuthProvider = await SamlAuthProvider.query().insert(
|
||||||
@@ -1,13 +1,13 @@
|
|||||||
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
import app from '../../../../../app.js';
|
import app from '../../../../../../app.js';
|
||||||
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js';
|
import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
import { createRole } from '../../../../../../test/factories/role.js';
|
import { createRole } from '../../../../../../../test/factories/role.js';
|
||||||
import { createUser } from '../../../../../../test/factories/user.js';
|
import { createUser } from '../../../../../../../test/factories/user.js';
|
||||||
import createSamlAuthProviderMock from '../../../../../../test/mocks/rest/api/v1/admin/saml-auth-providers/create-saml-auth-provider.ee.js';
|
import createSamlAuthProviderMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/saml-auth-providers/create-saml-auth-provider.ee.js';
|
||||||
import * as license from '../../../../../helpers/license.ee.js';
|
import * as license from '../../../../../../helpers/license.ee.js';
|
||||||
|
|
||||||
describe('POST /api/v1/admin/saml-auth-provider', () => {
|
describe('POST /internal/api/v1/admin/saml-auth-provider', () => {
|
||||||
let currentUser, token, role;
|
let currentUser, token, role;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
@@ -35,7 +35,7 @@ describe('POST /api/v1/admin/saml-auth-provider', () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.post('/api/v1/admin/saml-auth-providers')
|
.post('/internal/api/v1/admin/saml-auth-providers')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send(samlAuthProviderPayload)
|
.send(samlAuthProviderPayload)
|
||||||
.expect(201);
|
.expect(201);
|
||||||
@@ -50,7 +50,7 @@ describe('POST /api/v1/admin/saml-auth-provider', () => {
|
|||||||
|
|
||||||
it('should return unprocessable entity response for invalid data', async () => {
|
it('should return unprocessable entity response for invalid data', async () => {
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.post('/api/v1/admin/saml-auth-providers')
|
.post('/internal/api/v1/admin/saml-auth-providers')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send({
|
.send({
|
||||||
active: true,
|
active: true,
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import { renderObject } from '../../../../../helpers/renderer.js';
|
import { renderObject } from '../../../../../../helpers/renderer.js';
|
||||||
import SamlAuthProvider from '../../../../../models/saml-auth-provider.ee.js';
|
import SamlAuthProvider from '../../../../../../models/saml-auth-provider.ee.js';
|
||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const samlAuthProvider = await SamlAuthProvider.query()
|
const samlAuthProvider = await SamlAuthProvider.query()
|
||||||
@@ -1,15 +1,15 @@
|
|||||||
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
import app from '../../../../../app.js';
|
import app from '../../../../../../app.js';
|
||||||
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js';
|
import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
import { createRole } from '../../../../../../test/factories/role.js';
|
import { createRole } from '../../../../../../../test/factories/role.js';
|
||||||
import { createUser } from '../../../../../../test/factories/user.js';
|
import { createUser } from '../../../../../../../test/factories/user.js';
|
||||||
import { createSamlAuthProvider } from '../../../../../../test/factories/saml-auth-provider.ee.js';
|
import { createSamlAuthProvider } from '../../../../../../../test/factories/saml-auth-provider.ee.js';
|
||||||
import { createRoleMapping } from '../../../../../../test/factories/role-mapping.js';
|
import { createRoleMapping } from '../../../../../../../test/factories/role-mapping.js';
|
||||||
import getRoleMappingsMock from '../../../../../../test/mocks/rest/api/v1/admin/saml-auth-providers/get-role-mappings.ee.js';
|
import getRoleMappingsMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/saml-auth-providers/get-role-mappings.ee.js';
|
||||||
import * as license from '../../../../../helpers/license.ee.js';
|
import * as license from '../../../../../../helpers/license.ee.js';
|
||||||
|
|
||||||
describe('GET /api/v1/admin/saml-auth-providers/:samlAuthProviderId/role-mappings', () => {
|
describe('GET /internal/api/v1/admin/saml-auth-providers/:samlAuthProviderId/role-mappings', () => {
|
||||||
let roleMappingOne, roleMappingTwo, samlAuthProvider, currentUser, token;
|
let roleMappingOne, roleMappingTwo, samlAuthProvider, currentUser, token;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
@@ -36,7 +36,7 @@ describe('GET /api/v1/admin/saml-auth-providers/:samlAuthProviderId/role-mapping
|
|||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.get(
|
.get(
|
||||||
`/api/v1/admin/saml-auth-providers/${samlAuthProvider.id}/role-mappings`
|
`/internal/api/v1/admin/saml-auth-providers/${samlAuthProvider.id}/role-mappings`
|
||||||
)
|
)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(200);
|
.expect(200);
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import { renderObject } from '../../../../../helpers/renderer.js';
|
import { renderObject } from '../../../../../../helpers/renderer.js';
|
||||||
import SamlAuthProvider from '../../../../../models/saml-auth-provider.ee.js';
|
import SamlAuthProvider from '../../../../../../models/saml-auth-provider.ee.js';
|
||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const samlAuthProvider = await SamlAuthProvider.query()
|
const samlAuthProvider = await SamlAuthProvider.query()
|
||||||
@@ -1,15 +1,15 @@
|
|||||||
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
import Crypto from 'crypto';
|
import Crypto from 'crypto';
|
||||||
import app from '../../../../../app.js';
|
import app from '../../../../../../app.js';
|
||||||
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js';
|
import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
import { createRole } from '../../../../../../test/factories/role.js';
|
import { createRole } from '../../../../../../../test/factories/role.js';
|
||||||
import { createUser } from '../../../../../../test/factories/user.js';
|
import { createUser } from '../../../../../../../test/factories/user.js';
|
||||||
import { createSamlAuthProvider } from '../../../../../../test/factories/saml-auth-provider.ee.js';
|
import { createSamlAuthProvider } from '../../../../../../../test/factories/saml-auth-provider.ee.js';
|
||||||
import getSamlAuthProviderMock from '../../../../../../test/mocks/rest/api/v1/admin/saml-auth-providers/get-saml-auth-provider.ee.js';
|
import getSamlAuthProviderMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/saml-auth-providers/get-saml-auth-provider.ee.js';
|
||||||
import * as license from '../../../../../helpers/license.ee.js';
|
import * as license from '../../../../../../helpers/license.ee.js';
|
||||||
|
|
||||||
describe('GET /api/v1/admin/saml-auth-provider/:samlAuthProviderId', () => {
|
describe('GET /internal/api/v1/admin/saml-auth-provider/:samlAuthProviderId', () => {
|
||||||
let samlAuthProvider, currentUser, token;
|
let samlAuthProvider, currentUser, token;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
@@ -24,7 +24,7 @@ describe('GET /api/v1/admin/saml-auth-provider/:samlAuthProviderId', () => {
|
|||||||
vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true);
|
vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true);
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.get(`/api/v1/admin/saml-auth-providers/${samlAuthProvider.id}`)
|
.get(`/internal/api/v1/admin/saml-auth-providers/${samlAuthProvider.id}`)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(200);
|
.expect(200);
|
||||||
|
|
||||||
@@ -40,7 +40,7 @@ describe('GET /api/v1/admin/saml-auth-provider/:samlAuthProviderId', () => {
|
|||||||
|
|
||||||
await request(app)
|
await request(app)
|
||||||
.get(
|
.get(
|
||||||
`/api/v1/admin/saml-auth-providers/${notExistingSamlAuthProviderUUID}`
|
`/internal/api/v1/admin/saml-auth-providers/${notExistingSamlAuthProviderUUID}`
|
||||||
)
|
)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(404);
|
.expect(404);
|
||||||
@@ -50,7 +50,9 @@ describe('GET /api/v1/admin/saml-auth-provider/:samlAuthProviderId', () => {
|
|||||||
vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true);
|
vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true);
|
||||||
|
|
||||||
await request(app)
|
await request(app)
|
||||||
.get('/api/v1/admin/saml-auth-providers/invalidSamlAuthProviderUUID')
|
.get(
|
||||||
|
'/internal/api/v1/admin/saml-auth-providers/invalidSamlAuthProviderUUID'
|
||||||
|
)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(400);
|
.expect(400);
|
||||||
});
|
});
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import { renderObject } from '../../../../../helpers/renderer.js';
|
import { renderObject } from '../../../../../../helpers/renderer.js';
|
||||||
import SamlAuthProvider from '../../../../../models/saml-auth-provider.ee.js';
|
import SamlAuthProvider from '../../../../../../models/saml-auth-provider.ee.js';
|
||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const samlAuthProviders = await SamlAuthProvider.query().orderBy(
|
const samlAuthProviders = await SamlAuthProvider.query().orderBy(
|
||||||
@@ -1,14 +1,14 @@
|
|||||||
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
import app from '../../../../../app.js';
|
import app from '../../../../../../app.js';
|
||||||
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js';
|
import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
import { createRole } from '../../../../../../test/factories/role.js';
|
import { createRole } from '../../../../../../../test/factories/role.js';
|
||||||
import { createUser } from '../../../../../../test/factories/user.js';
|
import { createUser } from '../../../../../../../test/factories/user.js';
|
||||||
import { createSamlAuthProvider } from '../../../../../../test/factories/saml-auth-provider.ee.js';
|
import { createSamlAuthProvider } from '../../../../../../../test/factories/saml-auth-provider.ee.js';
|
||||||
import getSamlAuthProvidersMock from '../../../../../../test/mocks/rest/api/v1/admin/saml-auth-providers/get-saml-auth-providers.ee.js';
|
import getSamlAuthProvidersMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/saml-auth-providers/get-saml-auth-providers.ee.js';
|
||||||
import * as license from '../../../../../helpers/license.ee.js';
|
import * as license from '../../../../../../helpers/license.ee.js';
|
||||||
|
|
||||||
describe('GET /api/v1/admin/saml-auth-providers', () => {
|
describe('GET /internal/api/v1/admin/saml-auth-providers', () => {
|
||||||
let samlAuthProviderOne, samlAuthProviderTwo, currentUser, token;
|
let samlAuthProviderOne, samlAuthProviderTwo, currentUser, token;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
@@ -25,7 +25,7 @@ describe('GET /api/v1/admin/saml-auth-providers', () => {
|
|||||||
vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true);
|
vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true);
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.get('/api/v1/admin/saml-auth-providers')
|
.get('/internal/api/v1/admin/saml-auth-providers')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(200);
|
.expect(200);
|
||||||
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import { renderObject } from '../../../../../helpers/renderer.js';
|
import { renderObject } from '../../../../../../helpers/renderer.js';
|
||||||
import SamlAuthProvider from '../../../../../models/saml-auth-provider.ee.js';
|
import SamlAuthProvider from '../../../../../../models/saml-auth-provider.ee.js';
|
||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const samlAuthProviderId = request.params.samlAuthProviderId;
|
const samlAuthProviderId = request.params.samlAuthProviderId;
|
||||||
@@ -1,16 +1,16 @@
|
|||||||
import Crypto from 'node:crypto';
|
import Crypto from 'node:crypto';
|
||||||
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
import app from '../../../../../app.js';
|
import app from '../../../../../../app.js';
|
||||||
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js';
|
import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
import { createRole } from '../../../../../../test/factories/role.js';
|
import { createRole } from '../../../../../../../test/factories/role.js';
|
||||||
import { createUser } from '../../../../../../test/factories/user.js';
|
import { createUser } from '../../../../../../../test/factories/user.js';
|
||||||
import { createSamlAuthProvider } from '../../../../../../test/factories/saml-auth-provider.ee.js';
|
import { createSamlAuthProvider } from '../../../../../../../test/factories/saml-auth-provider.ee.js';
|
||||||
import { createRoleMapping } from '../../../../../../test/factories/role-mapping.js';
|
import { createRoleMapping } from '../../../../../../../test/factories/role-mapping.js';
|
||||||
import createRoleMappingsMock from '../../../../../../test/mocks/rest/api/v1/admin/saml-auth-providers/update-role-mappings.ee.js';
|
import createRoleMappingsMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/saml-auth-providers/update-role-mappings.ee.js';
|
||||||
import * as license from '../../../../../helpers/license.ee.js';
|
import * as license from '../../../../../../helpers/license.ee.js';
|
||||||
|
|
||||||
describe('PATCH /api/v1/admin/saml-auth-providers/:samlAuthProviderId/role-mappings', () => {
|
describe('PATCH /internal/api/v1/admin/saml-auth-providers/:samlAuthProviderId/role-mappings', () => {
|
||||||
let samlAuthProvider, currentUser, userRole, token;
|
let samlAuthProvider, currentUser, userRole, token;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
@@ -44,7 +44,7 @@ describe('PATCH /api/v1/admin/saml-auth-providers/:samlAuthProviderId/role-mappi
|
|||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.patch(
|
.patch(
|
||||||
`/api/v1/admin/saml-auth-providers/${samlAuthProvider.id}/role-mappings`
|
`/internal/api/v1/admin/saml-auth-providers/${samlAuthProvider.id}/role-mappings`
|
||||||
)
|
)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send(roleMappings)
|
.send(roleMappings)
|
||||||
@@ -71,7 +71,7 @@ describe('PATCH /api/v1/admin/saml-auth-providers/:samlAuthProviderId/role-mappi
|
|||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.patch(
|
.patch(
|
||||||
`/api/v1/admin/saml-auth-providers/${samlAuthProvider.id}/role-mappings`
|
`/internal/api/v1/admin/saml-auth-providers/${samlAuthProvider.id}/role-mappings`
|
||||||
)
|
)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send([])
|
.send([])
|
||||||
@@ -99,7 +99,7 @@ describe('PATCH /api/v1/admin/saml-auth-providers/:samlAuthProviderId/role-mappi
|
|||||||
|
|
||||||
await request(app)
|
await request(app)
|
||||||
.patch(
|
.patch(
|
||||||
`/api/v1/admin/saml-auth-providers/${samlAuthProvider.id}/role-mappings`
|
`/internal/api/v1/admin/saml-auth-providers/${samlAuthProvider.id}/role-mappings`
|
||||||
)
|
)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send(roleMappings)
|
.send(roleMappings)
|
||||||
@@ -116,7 +116,7 @@ describe('PATCH /api/v1/admin/saml-auth-providers/:samlAuthProviderId/role-mappi
|
|||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.patch(
|
.patch(
|
||||||
`/api/v1/admin/saml-auth-providers/${samlAuthProvider.id}/role-mappings`
|
`/internal/api/v1/admin/saml-auth-providers/${samlAuthProvider.id}/role-mappings`
|
||||||
)
|
)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send(roleMappings)
|
.send(roleMappings)
|
||||||
@@ -143,7 +143,7 @@ describe('PATCH /api/v1/admin/saml-auth-providers/:samlAuthProviderId/role-mappi
|
|||||||
|
|
||||||
await request(app)
|
await request(app)
|
||||||
.patch(
|
.patch(
|
||||||
`/api/v1/admin/saml-auth-providers/${notExistingSamlAuthProviderUUID}/role-mappings`
|
`/internal/api/v1/admin/saml-auth-providers/${notExistingSamlAuthProviderUUID}/role-mappings`
|
||||||
)
|
)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send(roleMappings)
|
.send(roleMappings)
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import { renderObject } from '../../../../../helpers/renderer.js';
|
import { renderObject } from '../../../../../../helpers/renderer.js';
|
||||||
import SamlAuthProvider from '../../../../../models/saml-auth-provider.ee.js';
|
import SamlAuthProvider from '../../../../../../models/saml-auth-provider.ee.js';
|
||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const samlAuthProvider = await SamlAuthProvider.query()
|
const samlAuthProvider = await SamlAuthProvider.query()
|
||||||
@@ -1,15 +1,15 @@
|
|||||||
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
import Crypto from 'crypto';
|
import Crypto from 'crypto';
|
||||||
import app from '../../../../../app.js';
|
import app from '../../../../../../app.js';
|
||||||
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js';
|
import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
import { createRole } from '../../../../../../test/factories/role.js';
|
import { createRole } from '../../../../../../../test/factories/role.js';
|
||||||
import { createUser } from '../../../../../../test/factories/user.js';
|
import { createUser } from '../../../../../../../test/factories/user.js';
|
||||||
import { createSamlAuthProvider } from '../../../../../../test/factories/saml-auth-provider.ee.js';
|
import { createSamlAuthProvider } from '../../../../../../../test/factories/saml-auth-provider.ee.js';
|
||||||
import createSamlAuthProviderMock from '../../../../../../test/mocks/rest/api/v1/admin/saml-auth-providers/create-saml-auth-provider.ee.js';
|
import createSamlAuthProviderMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/saml-auth-providers/create-saml-auth-provider.ee.js';
|
||||||
import * as license from '../../../../../helpers/license.ee.js';
|
import * as license from '../../../../../../helpers/license.ee.js';
|
||||||
|
|
||||||
describe('PATCH /api/v1/admin/saml-auth-provider/:samlAuthProviderId', () => {
|
describe('PATCH /internal/api/v1/admin/saml-auth-provider/:samlAuthProviderId', () => {
|
||||||
let currentUser, token, role;
|
let currentUser, token, role;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
@@ -41,7 +41,9 @@ describe('PATCH /api/v1/admin/saml-auth-provider/:samlAuthProviderId', () => {
|
|||||||
);
|
);
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.patch(`/api/v1/admin/saml-auth-providers/${samlAuthProvider.id}`)
|
.patch(
|
||||||
|
`/internal/api/v1/admin/saml-auth-providers/${samlAuthProvider.id}`
|
||||||
|
)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send({
|
.send({
|
||||||
active: false,
|
active: false,
|
||||||
@@ -80,7 +82,9 @@ describe('PATCH /api/v1/admin/saml-auth-provider/:samlAuthProviderId', () => {
|
|||||||
);
|
);
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.patch(`/api/v1/admin/saml-auth-providers/${samlAuthProvider.id}`)
|
.patch(
|
||||||
|
`/internal/api/v1/admin/saml-auth-providers/${samlAuthProvider.id}`
|
||||||
|
)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send({
|
.send({
|
||||||
active: 'true',
|
active: 'true',
|
||||||
@@ -104,7 +108,7 @@ describe('PATCH /api/v1/admin/saml-auth-provider/:samlAuthProviderId', () => {
|
|||||||
|
|
||||||
await request(app)
|
await request(app)
|
||||||
.patch(
|
.patch(
|
||||||
`/api/v1/admin/saml-auth-providers/${notExistingSamlAuthProviderUUID}`
|
`/internal/api/v1/admin/saml-auth-providers/${notExistingSamlAuthProviderUUID}`
|
||||||
)
|
)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(404);
|
.expect(404);
|
||||||
@@ -112,7 +116,9 @@ describe('PATCH /api/v1/admin/saml-auth-provider/:samlAuthProviderId', () => {
|
|||||||
|
|
||||||
it('should return bad request response for invalid UUID', async () => {
|
it('should return bad request response for invalid UUID', async () => {
|
||||||
await request(app)
|
await request(app)
|
||||||
.patch('/api/v1/admin/saml-auth-providers/invalidSamlAuthProviderUUID')
|
.patch(
|
||||||
|
'/internal/api/v1/admin/saml-auth-providers/invalidSamlAuthProviderUUID'
|
||||||
|
)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(400);
|
.expect(400);
|
||||||
});
|
});
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import { renderObject } from '../../../../../helpers/renderer.js';
|
import { renderObject } from '../../../../../../helpers/renderer.js';
|
||||||
import Template from '../../../../../models/template.ee.js';
|
import Template from '../../../../../../models/template.ee.js';
|
||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const template = await Template.create(templateParams(request));
|
const template = await Template.create(templateParams(request));
|
||||||
@@ -1,17 +1,17 @@
|
|||||||
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
import Crypto from 'crypto';
|
import Crypto from 'crypto';
|
||||||
import app from '../../../../../app.js';
|
import app from '../../../../../../app.js';
|
||||||
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js';
|
import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
import Template from '../../../../../models/template.ee.js';
|
import Template from '../../../../../../models/template.ee.js';
|
||||||
import { createRole } from '../../../../../../test/factories/role.js';
|
import { createRole } from '../../../../../../../test/factories/role.js';
|
||||||
import { createUser } from '../../../../../../test/factories/user.js';
|
import { createUser } from '../../../../../../../test/factories/user.js';
|
||||||
import { createFlow } from '../../../../../../test/factories/flow.js';
|
import { createFlow } from '../../../../../../../test/factories/flow.js';
|
||||||
import { createStep } from '../../../../../../test/factories/step.js';
|
import { createStep } from '../../../../../../../test/factories/step.js';
|
||||||
import createTemplateMock from '../../../../../../test/mocks/rest/api/v1/admin/templates/create-template.ee.js';
|
import createTemplateMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/templates/create-template.ee.js';
|
||||||
import * as license from '../../../../../helpers/license.ee.js';
|
import * as license from '../../../../../../helpers/license.ee.js';
|
||||||
|
|
||||||
describe('POST /api/v1/admin/templates', () => {
|
describe('POST /internal/api/v1/admin/templates', () => {
|
||||||
let currentUser, token, role;
|
let currentUser, token, role;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
@@ -58,7 +58,7 @@ describe('POST /api/v1/admin/templates', () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.post('/api/v1/admin/templates')
|
.post('/internal/api/v1/admin/templates')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send(templatePayload)
|
.send(templatePayload)
|
||||||
.expect(201);
|
.expect(201);
|
||||||
@@ -76,7 +76,7 @@ describe('POST /api/v1/admin/templates', () => {
|
|||||||
const invalidFlowId = Crypto.randomUUID();
|
const invalidFlowId = Crypto.randomUUID();
|
||||||
|
|
||||||
await request(app)
|
await request(app)
|
||||||
.post('/api/v1/admin/templates')
|
.post('/internal/api/v1/admin/templates')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send({
|
.send({
|
||||||
name: 'Sample Template Name',
|
name: 'Sample Template Name',
|
||||||
@@ -120,7 +120,7 @@ describe('POST /api/v1/admin/templates', () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.post('/api/v1/admin/templates')
|
.post('/internal/api/v1/admin/templates')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send(templatePayload)
|
.send(templatePayload)
|
||||||
.expect(422);
|
.expect(422);
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
import Template from '../../../../../models/template.ee.js';
|
import Template from '../../../../../../models/template.ee.js';
|
||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const template = await Template.query()
|
const template = await Template.query()
|
||||||
@@ -1,15 +1,15 @@
|
|||||||
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
import Crypto from 'crypto';
|
import Crypto from 'crypto';
|
||||||
import app from '../../../../../app.js';
|
import app from '../../../../../../app.js';
|
||||||
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js';
|
import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
import { createRole } from '../../../../../../test/factories/role.js';
|
import { createRole } from '../../../../../../../test/factories/role.js';
|
||||||
import { createUser } from '../../../../../../test/factories/user.js';
|
import { createUser } from '../../../../../../../test/factories/user.js';
|
||||||
import { createTemplate } from '../../../../../../test/factories/template.js';
|
import { createTemplate } from '../../../../../../../test/factories/template.js';
|
||||||
import Template from '../../../../../models/template.ee.js';
|
import Template from '../../../../../../models/template.ee.js';
|
||||||
import * as license from '../../../../../helpers/license.ee.js';
|
import * as license from '../../../../../../helpers/license.ee.js';
|
||||||
|
|
||||||
describe('DELETE /api/v1/admin/templates/:templateId', () => {
|
describe('DELETE /internal/api/v1/admin/templates/:templateId', () => {
|
||||||
let currentUser, token, role;
|
let currentUser, token, role;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
@@ -25,7 +25,7 @@ describe('DELETE /api/v1/admin/templates/:templateId', () => {
|
|||||||
const template = await createTemplate();
|
const template = await createTemplate();
|
||||||
|
|
||||||
await request(app)
|
await request(app)
|
||||||
.delete(`/api/v1/admin/templates/${template.id}`)
|
.delete(`/internal/api/v1/admin/templates/${template.id}`)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(204);
|
.expect(204);
|
||||||
|
|
||||||
@@ -37,14 +37,14 @@ describe('DELETE /api/v1/admin/templates/:templateId', () => {
|
|||||||
const notExistingTemplateUUID = Crypto.randomUUID();
|
const notExistingTemplateUUID = Crypto.randomUUID();
|
||||||
|
|
||||||
await request(app)
|
await request(app)
|
||||||
.delete(`/api/v1/admin/templates/${notExistingTemplateUUID}`)
|
.delete(`/internal/api/v1/admin/templates/${notExistingTemplateUUID}`)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(404);
|
.expect(404);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should return bad request response for invalid UUID', async () => {
|
it('should return bad request response for invalid UUID', async () => {
|
||||||
await request(app)
|
await request(app)
|
||||||
.delete('/api/v1/admin/templates/invalidTemplateUUID')
|
.delete('/internal/api/v1/admin/templates/invalidTemplateUUID')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(400);
|
.expect(400);
|
||||||
});
|
});
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import { renderObject } from '../../../../../helpers/renderer.js';
|
import { renderObject } from '../../../../../../helpers/renderer.js';
|
||||||
import Template from '../../../../../models/template.ee.js';
|
import Template from '../../../../../../models/template.ee.js';
|
||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const template = await Template.query()
|
const template = await Template.query()
|
||||||
@@ -1,14 +1,14 @@
|
|||||||
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
import app from '../../../../../app.js';
|
import app from '../../../../../../app.js';
|
||||||
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js';
|
import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
import { createRole } from '../../../../../../test/factories/role.js';
|
import { createRole } from '../../../../../../../test/factories/role.js';
|
||||||
import { createUser } from '../../../../../../test/factories/user.js';
|
import { createUser } from '../../../../../../../test/factories/user.js';
|
||||||
import { createTemplate } from '../../../../../../test/factories/template.js';
|
import { createTemplate } from '../../../../../../../test/factories/template.js';
|
||||||
import getTemplateMock from '../../../../../../test/mocks/rest/api/v1/admin/templates/get-template.ee.js';
|
import getTemplateMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/templates/get-template.ee.js';
|
||||||
import * as license from '../../../../../helpers/license.ee.js';
|
import * as license from '../../../../../../helpers/license.ee.js';
|
||||||
|
|
||||||
describe('GET /api/v1/admin/templates/:templateId', () => {
|
describe('GET /internal/api/v1/admin/templates/:templateId', () => {
|
||||||
let currentUser, token, role;
|
let currentUser, token, role;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
@@ -24,7 +24,7 @@ describe('GET /api/v1/admin/templates/:templateId', () => {
|
|||||||
const template = await createTemplate();
|
const template = await createTemplate();
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.get(`/api/v1/admin/templates/${template.id}`)
|
.get(`/internal/api/v1/admin/templates/${template.id}`)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(200);
|
.expect(200);
|
||||||
|
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
import { renderObject } from '../../../../helpers/renderer.js';
|
import { renderObject } from '../../../../../../helpers/renderer.js';
|
||||||
import Template from '../../../../models/template.ee.js';
|
import Template from '../../../../../../models/template.ee.js';
|
||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const templates = await Template.query().orderBy('created_at', 'asc');
|
const templates = await Template.query().orderBy('created_at', 'asc');
|
||||||
|
|
||||||
renderObject(response, templates, {
|
renderObject(response, templates, {
|
||||||
serializer: 'Template',
|
serializer: 'AdminTemplate',
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
@@ -1,14 +1,14 @@
|
|||||||
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
import app from '../../../../../app.js';
|
import app from '../../../../../../app.js';
|
||||||
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js';
|
import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
import { createRole } from '../../../../../../test/factories/role.js';
|
import { createRole } from '../../../../../../../test/factories/role.js';
|
||||||
import { createUser } from '../../../../../../test/factories/user.js';
|
import { createUser } from '../../../../../../../test/factories/user.js';
|
||||||
import { createTemplate } from '../../../../../../test/factories/template.js';
|
import { createTemplate } from '../../../../../../../test/factories/template.js';
|
||||||
import getTemplatesMock from '../../../../../../test/mocks/rest/api/v1/admin/templates/get-templates.ee.js';
|
import getTemplatesMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/templates/get-templates.ee.js';
|
||||||
import * as license from '../../../../../helpers/license.ee.js';
|
import * as license from '../../../../../../helpers/license.ee.js';
|
||||||
|
|
||||||
describe('GET /api/v1/admin/templates', () => {
|
describe('GET /internal/api/v1/admin/templates', () => {
|
||||||
let currentUser, token, role;
|
let currentUser, token, role;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
@@ -25,7 +25,7 @@ describe('GET /api/v1/admin/templates', () => {
|
|||||||
const templateTwo = await createTemplate();
|
const templateTwo = await createTemplate();
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.get('/api/v1/admin/templates')
|
.get('/internal/api/v1/admin/templates')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(200);
|
.expect(200);
|
||||||
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import { renderObject } from '../../../../../helpers/renderer.js';
|
import { renderObject } from '../../../../../../helpers/renderer.js';
|
||||||
import Template from '../../../../../models/template.ee.js';
|
import Template from '../../../../../../models/template.ee.js';
|
||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const template = await Template.query()
|
const template = await Template.query()
|
||||||
@@ -1,15 +1,15 @@
|
|||||||
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
import Crypto from 'crypto';
|
import Crypto from 'crypto';
|
||||||
import app from '../../../../../app.js';
|
import app from '../../../../../../app.js';
|
||||||
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js';
|
import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
import { createRole } from '../../../../../../test/factories/role.js';
|
import { createRole } from '../../../../../../../test/factories/role.js';
|
||||||
import { createUser } from '../../../../../../test/factories/user.js';
|
import { createUser } from '../../../../../../../test/factories/user.js';
|
||||||
import { createTemplate } from '../../../../../../test/factories/template.js';
|
import { createTemplate } from '../../../../../../../test/factories/template.js';
|
||||||
import updateTemplateMock from '../../../../../../test/mocks/rest/api/v1/admin/templates/update-template.ee.js';
|
import updateTemplateMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/templates/update-template.ee.js';
|
||||||
import * as license from '../../../../../helpers/license.ee.js';
|
import * as license from '../../../../../../helpers/license.ee.js';
|
||||||
|
|
||||||
describe('PATCH /api/v1/admin/templates/:templateId', () => {
|
describe('PATCH /internal/api/v1/admin/templates/:templateId', () => {
|
||||||
let currentUser, token, role;
|
let currentUser, token, role;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
@@ -26,7 +26,7 @@ describe('PATCH /api/v1/admin/templates/:templateId', () => {
|
|||||||
const updatedName = 'Updated Template Name';
|
const updatedName = 'Updated Template Name';
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.patch(`/api/v1/admin/templates/${template.id}`)
|
.patch(`/internal/api/v1/admin/templates/${template.id}`)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send({ name: updatedName })
|
.send({ name: updatedName })
|
||||||
.expect(200);
|
.expect(200);
|
||||||
@@ -46,7 +46,7 @@ describe('PATCH /api/v1/admin/templates/:templateId', () => {
|
|||||||
const template = await createTemplate();
|
const template = await createTemplate();
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.patch(`/api/v1/admin/templates/${template.id}`)
|
.patch(`/internal/api/v1/admin/templates/${template.id}`)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send({ name: '' })
|
.send({ name: '' })
|
||||||
.expect(422);
|
.expect(422);
|
||||||
@@ -63,14 +63,14 @@ describe('PATCH /api/v1/admin/templates/:templateId', () => {
|
|||||||
const notExistingTemplateUUID = Crypto.randomUUID();
|
const notExistingTemplateUUID = Crypto.randomUUID();
|
||||||
|
|
||||||
await request(app)
|
await request(app)
|
||||||
.patch(`/api/v1/admin/templates/${notExistingTemplateUUID}`)
|
.patch(`/internal/api/v1/admin/templates/${notExistingTemplateUUID}`)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(404);
|
.expect(404);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should return bad request response for invalid UUID', async () => {
|
it('should return bad request response for invalid UUID', async () => {
|
||||||
await request(app)
|
await request(app)
|
||||||
.patch('/api/v1/admin/templates/invalidTemplateUUID')
|
.patch('/internal/api/v1/admin/templates/invalidTemplateUUID')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(400);
|
.expect(400);
|
||||||
});
|
});
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
import { renderObject } from '../../../../../helpers/renderer.js';
|
import { renderObject } from '../../../../../../helpers/renderer.js';
|
||||||
import User from '../../../../../models/user.js';
|
import User from '../../../../../../models/user.js';
|
||||||
import Role from '../../../../../models/role.js';
|
import Role from '../../../../../../models/role.js';
|
||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const user = await User.query().insertAndFetch(await userParams(request));
|
const user = await User.query().insertAndFetch(await userParams(request));
|
||||||
@@ -1,14 +1,14 @@
|
|||||||
import { describe, beforeEach, it, expect } from 'vitest';
|
import { describe, beforeEach, it, expect } from 'vitest';
|
||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
import app from '../../../../../app.js';
|
import app from '../../../../../../app.js';
|
||||||
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js';
|
import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
import User from '../../../../../models/user.js';
|
import User from '../../../../../../models/user.js';
|
||||||
import Role from '../../../../../models/role.js';
|
import Role from '../../../../../../models/role.js';
|
||||||
import { createUser } from '../../../../../../test/factories/user.js';
|
import { createUser } from '../../../../../../../test/factories/user.js';
|
||||||
import { createRole } from '../../../../../../test/factories/role.js';
|
import { createRole } from '../../../../../../../test/factories/role.js';
|
||||||
import createUserMock from '../../../../../../test/mocks/rest/api/v1/admin/users/create-user.js';
|
import createUserMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/users/create-user.js';
|
||||||
|
|
||||||
describe('POST /api/v1/admin/users', () => {
|
describe('POST /internal/api/v1/admin/users', () => {
|
||||||
let currentUser, adminRole, token;
|
let currentUser, adminRole, token;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
@@ -29,7 +29,7 @@ describe('POST /api/v1/admin/users', () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.post('/api/v1/admin/users')
|
.post('/internal/api/v1/admin/users')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send(userData)
|
.send(userData)
|
||||||
.expect(201);
|
.expect(201);
|
||||||
@@ -52,7 +52,7 @@ describe('POST /api/v1/admin/users', () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.post('/api/v1/admin/users')
|
.post('/internal/api/v1/admin/users')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send(userData)
|
.send(userData)
|
||||||
.expect(201);
|
.expect(201);
|
||||||
@@ -85,7 +85,7 @@ describe('POST /api/v1/admin/users', () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.post('/api/v1/admin/users')
|
.post('/internal/api/v1/admin/users')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send(userData)
|
.send(userData)
|
||||||
.expect(422);
|
.expect(422);
|
||||||
@@ -108,7 +108,7 @@ describe('POST /api/v1/admin/users', () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.post('/api/v1/admin/users')
|
.post('/internal/api/v1/admin/users')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send(userData)
|
.send(userData)
|
||||||
.expect(422);
|
.expect(422);
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
import User from '../../../../../models/user.js';
|
import User from '../../../../../../models/user.js';
|
||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const id = request.params.userId;
|
const id = request.params.userId;
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
import { describe, it, beforeEach } from 'vitest';
|
import { describe, it, beforeEach } from 'vitest';
|
||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
import Crypto from 'crypto';
|
import Crypto from 'crypto';
|
||||||
import app from '../../../../../app.js';
|
import app from '../../../../../../app.js';
|
||||||
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id';
|
import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id';
|
||||||
import { createUser } from '../../../../../../test/factories/user';
|
import { createUser } from '../../../../../../../test/factories/user';
|
||||||
import { createRole } from '../../../../../../test/factories/role';
|
import { createRole } from '../../../../../../../test/factories/role';
|
||||||
|
|
||||||
describe('DELETE /api/v1/admin/users/:userId', () => {
|
describe('DELETE /internal/api/v1/admin/users/:userId', () => {
|
||||||
let currentUser, currentUserRole, anotherUser, token;
|
let currentUser, currentUserRole, anotherUser, token;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
@@ -20,7 +20,7 @@ describe('DELETE /api/v1/admin/users/:userId', () => {
|
|||||||
|
|
||||||
it('should soft delete user and respond with no content', async () => {
|
it('should soft delete user and respond with no content', async () => {
|
||||||
await request(app)
|
await request(app)
|
||||||
.delete(`/api/v1/admin/users/${anotherUser.id}`)
|
.delete(`/internal/api/v1/admin/users/${anotherUser.id}`)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(204);
|
.expect(204);
|
||||||
});
|
});
|
||||||
@@ -29,14 +29,14 @@ describe('DELETE /api/v1/admin/users/:userId', () => {
|
|||||||
const notExistingUserUUID = Crypto.randomUUID();
|
const notExistingUserUUID = Crypto.randomUUID();
|
||||||
|
|
||||||
await request(app)
|
await request(app)
|
||||||
.delete(`/api/v1/admin/users/${notExistingUserUUID}`)
|
.delete(`/internal/api/v1/admin/users/${notExistingUserUUID}`)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(404);
|
.expect(404);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should return bad request response for invalid UUID', async () => {
|
it('should return bad request response for invalid UUID', async () => {
|
||||||
await request(app)
|
await request(app)
|
||||||
.delete('/api/v1/admin/users/invalidUserUUID')
|
.delete('/internal/api/v1/admin/users/invalidUserUUID')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(400);
|
.expect(400);
|
||||||
});
|
});
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import { renderObject } from '../../../../../helpers/renderer.js';
|
import { renderObject } from '../../../../../../helpers/renderer.js';
|
||||||
import User from '../../../../../models/user.js';
|
import User from '../../../../../../models/user.js';
|
||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const user = await User.query()
|
const user = await User.query()
|
||||||
@@ -1,14 +1,14 @@
|
|||||||
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
import Crypto from 'crypto';
|
import Crypto from 'crypto';
|
||||||
import app from '../../../../../app.js';
|
import app from '../../../../../../app.js';
|
||||||
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id';
|
import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id';
|
||||||
import { createUser } from '../../../../../../test/factories/user';
|
import { createUser } from '../../../../../../../test/factories/user';
|
||||||
import { createRole } from '../../../../../../test/factories/role';
|
import { createRole } from '../../../../../../../test/factories/role';
|
||||||
import getUserMock from '../../../../../../test/mocks/rest/api/v1/admin/users/get-user.js';
|
import getUserMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/users/get-user.js';
|
||||||
import * as license from '../../../../../helpers/license.ee.js';
|
import * as license from '../../../../../../helpers/license.ee.js';
|
||||||
|
|
||||||
describe('GET /api/v1/admin/users/:userId', () => {
|
describe('GET /internal/api/v1/admin/users/:userId', () => {
|
||||||
let currentUser, currentUserRole, anotherUser, anotherUserRole, token;
|
let currentUser, currentUserRole, anotherUser, anotherUserRole, token;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
@@ -25,7 +25,7 @@ describe('GET /api/v1/admin/users/:userId', () => {
|
|||||||
vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true);
|
vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true);
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.get(`/api/v1/admin/users/${anotherUser.id}`)
|
.get(`/internal/api/v1/admin/users/${anotherUser.id}`)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(200);
|
.expect(200);
|
||||||
|
|
||||||
@@ -39,7 +39,7 @@ describe('GET /api/v1/admin/users/:userId', () => {
|
|||||||
const notExistingUserUUID = Crypto.randomUUID();
|
const notExistingUserUUID = Crypto.randomUUID();
|
||||||
|
|
||||||
await request(app)
|
await request(app)
|
||||||
.get(`/api/v1/admin/users/${notExistingUserUUID}`)
|
.get(`/internal/api/v1/admin/users/${notExistingUserUUID}`)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(404);
|
.expect(404);
|
||||||
});
|
});
|
||||||
@@ -48,7 +48,7 @@ describe('GET /api/v1/admin/users/:userId', () => {
|
|||||||
vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true);
|
vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true);
|
||||||
|
|
||||||
await request(app)
|
await request(app)
|
||||||
.get('/api/v1/admin/users/invalidUserUUID')
|
.get('/internal/api/v1/admin/users/invalidUserUUID')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(400);
|
.expect(400);
|
||||||
});
|
});
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
import { renderObject } from '../../../../../helpers/renderer.js';
|
import { renderObject } from '../../../../../../helpers/renderer.js';
|
||||||
import User from '../../../../../models/user.js';
|
import User from '../../../../../../models/user.js';
|
||||||
import paginateRest from '../../../../../helpers/pagination.js';
|
import paginateRest from '../../../../../../helpers/pagination.js';
|
||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const usersQuery = User.query()
|
const usersQuery = User.query()
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
import { describe, it, expect, beforeEach } from 'vitest';
|
import { describe, it, expect, beforeEach } from 'vitest';
|
||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
import app from '../../../../../app';
|
import app from '../../../../../../app.js';
|
||||||
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id';
|
import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
import { createRole } from '../../../../../../test/factories/role';
|
import { createRole } from '../../../../../../../test/factories/role.js';
|
||||||
import { createUser } from '../../../../../../test/factories/user';
|
import { createUser } from '../../../../../../../test/factories/user.js';
|
||||||
import getUsersMock from '../../../../../../test/mocks/rest/api/v1/admin/users/get-users.js';
|
import getUsersMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/users/get-users.js';
|
||||||
|
|
||||||
describe('GET /api/v1/admin/users', () => {
|
describe('GET /internal/api/v1/admin/users', () => {
|
||||||
let currentUser, currentUserRole, anotherUser, anotherUserRole, token;
|
let currentUser, currentUserRole, anotherUser, anotherUserRole, token;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
@@ -31,7 +31,7 @@ describe('GET /api/v1/admin/users', () => {
|
|||||||
|
|
||||||
it('should return users data', async () => {
|
it('should return users data', async () => {
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.get('/api/v1/admin/users')
|
.get('/internal/api/v1/admin/users')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(200);
|
.expect(200);
|
||||||
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import { renderObject } from '../../../../../helpers/renderer.js';
|
import { renderObject } from '../../../../../../helpers/renderer.js';
|
||||||
import User from '../../../../../models/user.js';
|
import User from '../../../../../../models/user.js';
|
||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const user = await User.query()
|
const user = await User.query()
|
||||||
@@ -1,13 +1,13 @@
|
|||||||
import { describe, it, expect, beforeEach } from 'vitest';
|
import { describe, it, expect, beforeEach } from 'vitest';
|
||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
import Crypto from 'crypto';
|
import Crypto from 'crypto';
|
||||||
import app from '../../../../../app.js';
|
import app from '../../../../../../app.js';
|
||||||
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js';
|
import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
import { createUser } from '../../../../../../test/factories/user.js';
|
import { createUser } from '../../../../../../../test/factories/user.js';
|
||||||
import { createRole } from '../../../../../../test/factories/role.js';
|
import { createRole } from '../../../../../../../test/factories/role.js';
|
||||||
import updateUserMock from '../../../../../../test/mocks/rest/api/v1/admin/users/update-user.js';
|
import updateUserMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/users/update-user.js';
|
||||||
|
|
||||||
describe('PATCH /api/v1/admin/users/:userId', () => {
|
describe('PATCH /internal/api/v1/admin/users/:userId', () => {
|
||||||
let currentUser, adminRole, token;
|
let currentUser, adminRole, token;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
@@ -28,7 +28,7 @@ describe('PATCH /api/v1/admin/users/:userId', () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.patch(`/api/v1/admin/users/${anotherUser.id}`)
|
.patch(`/internal/api/v1/admin/users/${anotherUser.id}`)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send(anotherUserUpdatedData)
|
.send(anotherUserUpdatedData)
|
||||||
.expect(200);
|
.expect(200);
|
||||||
@@ -56,7 +56,7 @@ describe('PATCH /api/v1/admin/users/:userId', () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.patch(`/api/v1/admin/users/${anotherUser.id}`)
|
.patch(`/internal/api/v1/admin/users/${anotherUser.id}`)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send(anotherUserUpdatedData)
|
.send(anotherUserUpdatedData)
|
||||||
.expect(422);
|
.expect(422);
|
||||||
@@ -74,14 +74,14 @@ describe('PATCH /api/v1/admin/users/:userId', () => {
|
|||||||
const notExistingUserUUID = Crypto.randomUUID();
|
const notExistingUserUUID = Crypto.randomUUID();
|
||||||
|
|
||||||
await request(app)
|
await request(app)
|
||||||
.patch(`/api/v1/admin/users/${notExistingUserUUID}`)
|
.patch(`/internal/api/v1/admin/users/${notExistingUserUUID}`)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(404);
|
.expect(404);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should return bad request response for invalid UUID', async () => {
|
it('should return bad request response for invalid UUID', async () => {
|
||||||
await request(app)
|
await request(app)
|
||||||
.patch('/api/v1/admin/users/invalidUserUUID')
|
.patch('/internal/api/v1/admin/users/invalidUserUUID')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(400);
|
.expect(400);
|
||||||
});
|
});
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
import { renderObject } from '../../../../helpers/renderer.js';
|
import { renderObject } from '../../../../../helpers/renderer.js';
|
||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const connection = await request.currentUser
|
const connection = await request.currentUser
|
||||||
@@ -1,15 +1,15 @@
|
|||||||
import { describe, it, expect, beforeEach } from 'vitest';
|
import { describe, it, expect, beforeEach } from 'vitest';
|
||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
import app from '../../../../app.js';
|
import app from '../../../../../app.js';
|
||||||
import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id.js';
|
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
import { createAppConfig } from '../../../../../test/factories/app-config.js';
|
import { createAppConfig } from '../../../../../../test/factories/app-config.js';
|
||||||
import { createOAuthClient } from '../../../../../test/factories/oauth-client.js';
|
import { createOAuthClient } from '../../../../../../test/factories/oauth-client.js';
|
||||||
import { createUser } from '../../../../../test/factories/user.js';
|
import { createUser } from '../../../../../../test/factories/user.js';
|
||||||
import { createPermission } from '../../../../../test/factories/permission.js';
|
import { createPermission } from '../../../../../../test/factories/permission.js';
|
||||||
import { createRole } from '../../../../../test/factories/role.js';
|
import { createRole } from '../../../../../../test/factories/role.js';
|
||||||
import createConnection from '../../../../../test/mocks/rest/api/v1/apps/create-connection.js';
|
import createConnection from '../../../../../../test/mocks/rest/internal/api/v1/apps/create-connection.js';
|
||||||
|
|
||||||
describe('POST /api/v1/apps/:appKey/connections', () => {
|
describe('POST /internal/api/v1/apps/:appKey/connections', () => {
|
||||||
let currentUser, token;
|
let currentUser, token;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
@@ -55,7 +55,7 @@ describe('POST /api/v1/apps/:appKey/connections', () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.post('/api/v1/apps/gitlab/connections')
|
.post('/internal/api/v1/apps/gitlab/connections')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send(connectionData)
|
.send(connectionData)
|
||||||
.expect(201);
|
.expect(201);
|
||||||
@@ -73,14 +73,14 @@ describe('POST /api/v1/apps/:appKey/connections', () => {
|
|||||||
|
|
||||||
it('should return not found response for invalid app key', async () => {
|
it('should return not found response for invalid app key', async () => {
|
||||||
await request(app)
|
await request(app)
|
||||||
.post('/api/v1/apps/invalid-app-key/connections')
|
.post('/internal/api/v1/apps/invalid-app-key/connections')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(404);
|
.expect(404);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should return unprocesible entity response for invalid connection data', async () => {
|
it('should return unprocesible entity response for invalid connection data', async () => {
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.post('/api/v1/apps/gitlab/connections')
|
.post('/internal/api/v1/apps/gitlab/connections')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send({
|
.send({
|
||||||
formattedData: 123,
|
formattedData: 123,
|
||||||
@@ -117,7 +117,7 @@ describe('POST /api/v1/apps/:appKey/connections', () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
await request(app)
|
await request(app)
|
||||||
.post('/api/v1/apps/gitlab/connections')
|
.post('/internal/api/v1/apps/gitlab/connections')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send(connectionData)
|
.send(connectionData)
|
||||||
.expect(403);
|
.expect(403);
|
||||||
@@ -125,14 +125,14 @@ describe('POST /api/v1/apps/:appKey/connections', () => {
|
|||||||
|
|
||||||
it('should return not found response for invalid app key', async () => {
|
it('should return not found response for invalid app key', async () => {
|
||||||
await request(app)
|
await request(app)
|
||||||
.post('/api/v1/apps/invalid-app-key/connections')
|
.post('/internal/api/v1/apps/invalid-app-key/connections')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(404);
|
.expect(404);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should return unprocesible entity response for invalid connection data', async () => {
|
it('should return unprocesible entity response for invalid connection data', async () => {
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.post('/api/v1/apps/gitlab/connections')
|
.post('/internal/api/v1/apps/gitlab/connections')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send({
|
.send({
|
||||||
formattedData: 123,
|
formattedData: 123,
|
||||||
@@ -170,7 +170,7 @@ describe('POST /api/v1/apps/:appKey/connections', () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.post('/api/v1/apps/gitlab/connections')
|
.post('/internal/api/v1/apps/gitlab/connections')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send(connectionData)
|
.send(connectionData)
|
||||||
.expect(201);
|
.expect(201);
|
||||||
@@ -188,14 +188,14 @@ describe('POST /api/v1/apps/:appKey/connections', () => {
|
|||||||
|
|
||||||
it('should return not found response for invalid app key', async () => {
|
it('should return not found response for invalid app key', async () => {
|
||||||
await request(app)
|
await request(app)
|
||||||
.post('/api/v1/apps/invalid-app-key/connections')
|
.post('/internal/api/v1/apps/invalid-app-key/connections')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(404);
|
.expect(404);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should return unprocesible entity response for invalid connection data', async () => {
|
it('should return unprocesible entity response for invalid connection data', async () => {
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.post('/api/v1/apps/gitlab/connections')
|
.post('/internal/api/v1/apps/gitlab/connections')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send({
|
.send({
|
||||||
formattedData: 123,
|
formattedData: 123,
|
||||||
@@ -233,7 +233,7 @@ describe('POST /api/v1/apps/:appKey/connections', () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
await request(app)
|
await request(app)
|
||||||
.post('/api/v1/apps/gitlab/connections')
|
.post('/internal/api/v1/apps/gitlab/connections')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send(connectionData)
|
.send(connectionData)
|
||||||
.expect(403);
|
.expect(403);
|
||||||
@@ -241,14 +241,14 @@ describe('POST /api/v1/apps/:appKey/connections', () => {
|
|||||||
|
|
||||||
it('should return not found response for invalid app key', async () => {
|
it('should return not found response for invalid app key', async () => {
|
||||||
await request(app)
|
await request(app)
|
||||||
.post('/api/v1/apps/invalid-app-key/connections')
|
.post('/internal/api/v1/apps/invalid-app-key/connections')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(404);
|
.expect(404);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should return unprocesible entity response for invalid connection data', async () => {
|
it('should return unprocesible entity response for invalid connection data', async () => {
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.post('/api/v1/apps/gitlab/connections')
|
.post('/internal/api/v1/apps/gitlab/connections')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send({
|
.send({
|
||||||
formattedData: 123,
|
formattedData: 123,
|
||||||
@@ -294,7 +294,7 @@ describe('POST /api/v1/apps/:appKey/connections', () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.post('/api/v1/apps/gitlab/connections')
|
.post('/internal/api/v1/apps/gitlab/connections')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send(connectionData)
|
.send(connectionData)
|
||||||
.expect(201);
|
.expect(201);
|
||||||
@@ -312,14 +312,14 @@ describe('POST /api/v1/apps/:appKey/connections', () => {
|
|||||||
|
|
||||||
it('should return not found response for invalid app key', async () => {
|
it('should return not found response for invalid app key', async () => {
|
||||||
await request(app)
|
await request(app)
|
||||||
.post('/api/v1/apps/invalid-app-key/connections')
|
.post('/internal/api/v1/apps/invalid-app-key/connections')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(404);
|
.expect(404);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should return unprocesible entity response for invalid connection data', async () => {
|
it('should return unprocesible entity response for invalid connection data', async () => {
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.post('/api/v1/apps/gitlab/connections')
|
.post('/internal/api/v1/apps/gitlab/connections')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send({
|
.send({
|
||||||
formattedData: 123,
|
formattedData: 123,
|
||||||
@@ -359,7 +359,7 @@ describe('POST /api/v1/apps/:appKey/connections', () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
await request(app)
|
await request(app)
|
||||||
.post('/api/v1/apps/gitlab/connections')
|
.post('/internal/api/v1/apps/gitlab/connections')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send(connectionData)
|
.send(connectionData)
|
||||||
.expect(404);
|
.expect(404);
|
||||||
@@ -367,14 +367,14 @@ describe('POST /api/v1/apps/:appKey/connections', () => {
|
|||||||
|
|
||||||
it('should return not found response for invalid app key', async () => {
|
it('should return not found response for invalid app key', async () => {
|
||||||
await request(app)
|
await request(app)
|
||||||
.post('/api/v1/apps/invalid-app-key/connections')
|
.post('/internal/api/v1/apps/invalid-app-key/connections')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(404);
|
.expect(404);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should return unprocesible entity response for invalid connection data', async () => {
|
it('should return unprocesible entity response for invalid connection data', async () => {
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.post('/api/v1/apps/gitlab/connections')
|
.post('/internal/api/v1/apps/gitlab/connections')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.send({
|
.send({
|
||||||
formattedData: 123,
|
formattedData: 123,
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import App from '../../../../models/app.js';
|
import App from '../../../../../models/app.js';
|
||||||
import { renderObject } from '../../../../helpers/renderer.js';
|
import { renderObject } from '../../../../../helpers/renderer.js';
|
||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const substeps = await App.findActionSubsteps(
|
const substeps = await App.findActionSubsteps(
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
import { describe, it, expect, beforeEach } from 'vitest';
|
import { describe, it, expect, beforeEach } from 'vitest';
|
||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
import App from '../../../../models/app';
|
import App from '../../../../../models/app.js';
|
||||||
import app from '../../../../app.js';
|
import app from '../../../../../app.js';
|
||||||
import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id';
|
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
import { createUser } from '../../../../../test/factories/user';
|
import { createUser } from '../../../../../../test/factories/user.js';
|
||||||
import getActionSubstepsMock from '../../../../../test/mocks/rest/api/v1/apps/get-action-substeps.js';
|
import getActionSubstepsMock from '../../../../../../test/mocks/rest/internal/api/v1/apps/get-action-substeps.js';
|
||||||
|
|
||||||
describe('GET /api/v1/apps/:appKey/actions/:actionKey/substeps', () => {
|
describe('GET /internal/api/v1/apps/:appKey/actions/:actionKey/substeps', () => {
|
||||||
let currentUser, exampleApp, token;
|
let currentUser, exampleApp, token;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
@@ -21,7 +21,7 @@ describe('GET /api/v1/apps/:appKey/actions/:actionKey/substeps', () => {
|
|||||||
(action) => action.key === 'createIssue'
|
(action) => action.key === 'createIssue'
|
||||||
);
|
);
|
||||||
|
|
||||||
const endpointUrl = `/api/v1/apps/${exampleApp.key}/actions/${exampleAction.key}/substeps`;
|
const endpointUrl = `/internal/api/v1/apps/${exampleApp.key}/actions/${exampleAction.key}/substeps`;
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.get(endpointUrl)
|
.get(endpointUrl)
|
||||||
@@ -34,13 +34,15 @@ describe('GET /api/v1/apps/:appKey/actions/:actionKey/substeps', () => {
|
|||||||
|
|
||||||
it('should return not found response for invalid app key', async () => {
|
it('should return not found response for invalid app key', async () => {
|
||||||
await request(app)
|
await request(app)
|
||||||
.get('/api/v1/apps/invalid-app-key/actions/invalid-actions-key/substeps')
|
.get(
|
||||||
|
'/internal/api/v1/apps/invalid-app-key/actions/invalid-actions-key/substeps'
|
||||||
|
)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(404);
|
.expect(404);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should return empty array for invalid action key', async () => {
|
it('should return empty array for invalid action key', async () => {
|
||||||
const endpointUrl = `/api/v1/apps/${exampleApp.key}/actions/invalid-action-key/substeps`;
|
const endpointUrl = `/internal/api/v1/apps/${exampleApp.key}/actions/invalid-action-key/substeps`;
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.get(endpointUrl)
|
.get(endpointUrl)
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import App from '../../../../models/app.js';
|
import App from '../../../../../models/app.js';
|
||||||
import { renderObject } from '../../../../helpers/renderer.js';
|
import { renderObject } from '../../../../../helpers/renderer.js';
|
||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const actions = await App.findActionsByKey(request.params.appKey);
|
const actions = await App.findActionsByKey(request.params.appKey);
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
import { describe, it, expect, beforeEach } from 'vitest';
|
import { describe, it, expect, beforeEach } from 'vitest';
|
||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
import App from '../../../../models/app';
|
import App from '../../../../../models/app.js';
|
||||||
import app from '../../../../app.js';
|
import app from '../../../../../app.js';
|
||||||
import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id';
|
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
import { createUser } from '../../../../../test/factories/user';
|
import { createUser } from '../../../../../../test/factories/user.js';
|
||||||
import getActionsMock from '../../../../../test/mocks/rest/api/v1/apps/get-actions.js';
|
import getActionsMock from '../../../../../../test/mocks/rest/internal/api/v1/apps/get-actions.js';
|
||||||
|
|
||||||
describe('GET /api/v1/apps/:appKey/actions', () => {
|
describe('GET /internal/api/v1/apps/:appKey/actions', () => {
|
||||||
let currentUser, token;
|
let currentUser, token;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
@@ -18,7 +18,7 @@ describe('GET /api/v1/apps/:appKey/actions', () => {
|
|||||||
const exampleApp = await App.findOneByKey('github');
|
const exampleApp = await App.findOneByKey('github');
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.get(`/api/v1/apps/${exampleApp.key}/actions`)
|
.get(`/internal/api/v1/apps/${exampleApp.key}/actions`)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(200);
|
.expect(200);
|
||||||
|
|
||||||
@@ -28,7 +28,7 @@ describe('GET /api/v1/apps/:appKey/actions', () => {
|
|||||||
|
|
||||||
it('should return not found response for invalid app key', async () => {
|
it('should return not found response for invalid app key', async () => {
|
||||||
await request(app)
|
await request(app)
|
||||||
.get('/api/v1/apps/invalid-app-key/actions')
|
.get('/internal/api/v1/apps/invalid-app-key/actions')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(404);
|
.expect(404);
|
||||||
});
|
});
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import App from '../../../../models/app.js';
|
import App from '../../../../../models/app.js';
|
||||||
import { renderObject } from '../../../../helpers/renderer.js';
|
import { renderObject } from '../../../../../helpers/renderer.js';
|
||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const app = await App.findOneByKey(request.params.appKey);
|
const app = await App.findOneByKey(request.params.appKey);
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
import { describe, it, expect, beforeEach } from 'vitest';
|
import { describe, it, expect, beforeEach } from 'vitest';
|
||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
import App from '../../../../models/app';
|
import App from '../../../../../models/app.js';
|
||||||
import app from '../../../../app.js';
|
import app from '../../../../../app.js';
|
||||||
import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id';
|
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
import { createUser } from '../../../../../test/factories/user';
|
import { createUser } from '../../../../../../test/factories/user.js';
|
||||||
import getAppMock from '../../../../../test/mocks/rest/api/v1/apps/get-app.js';
|
import getAppMock from '../../../../../../test/mocks/rest/internal/api/v1/apps/get-app.js';
|
||||||
|
|
||||||
describe('GET /api/v1/apps/:appKey', () => {
|
describe('GET /internal/api/v1/apps/:appKey', () => {
|
||||||
let currentUser, token;
|
let currentUser, token;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
@@ -18,7 +18,7 @@ describe('GET /api/v1/apps/:appKey', () => {
|
|||||||
const exampleApp = await App.findOneByKey('github');
|
const exampleApp = await App.findOneByKey('github');
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.get(`/api/v1/apps/${exampleApp.key}`)
|
.get(`/internal/api/v1/apps/${exampleApp.key}`)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(200);
|
.expect(200);
|
||||||
|
|
||||||
@@ -28,7 +28,7 @@ describe('GET /api/v1/apps/:appKey', () => {
|
|||||||
|
|
||||||
it('should return not found response for invalid app key', async () => {
|
it('should return not found response for invalid app key', async () => {
|
||||||
await request(app)
|
await request(app)
|
||||||
.get('/api/v1/apps/invalid-app-key')
|
.get('/internal/api/v1/apps/invalid-app-key')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(404);
|
.expect(404);
|
||||||
});
|
});
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import App from '../../../../models/app.js';
|
import App from '../../../../../models/app.js';
|
||||||
import { renderObject } from '../../../../helpers/renderer.js';
|
import { renderObject } from '../../../../../helpers/renderer.js';
|
||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
let apps = await App.findAll(request.query.name);
|
let apps = await App.findAll(request.query.name);
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
import { describe, it, expect, beforeEach } from 'vitest';
|
import { describe, it, expect, beforeEach } from 'vitest';
|
||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
import App from '../../../../models/app';
|
import App from '../../../../../models/app.js';
|
||||||
import app from '../../../../app.js';
|
import app from '../../../../../app.js';
|
||||||
import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id';
|
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
import { createUser } from '../../../../../test/factories/user';
|
import { createUser } from '../../../../../../test/factories/user.js';
|
||||||
import getAppsMock from '../../../../../test/mocks/rest/api/v1/apps/get-apps.js';
|
import getAppsMock from '../../../../../../test/mocks/rest/internal/api/v1/apps/get-apps.js';
|
||||||
|
|
||||||
describe('GET /api/v1/apps', () => {
|
describe('GET /internal/api/v1/apps', () => {
|
||||||
let currentUser, apps, token;
|
let currentUser, apps, token;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
@@ -17,7 +17,7 @@ describe('GET /api/v1/apps', () => {
|
|||||||
|
|
||||||
it('should return all apps', async () => {
|
it('should return all apps', async () => {
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.get('/api/v1/apps')
|
.get('/internal/api/v1/apps')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(200);
|
.expect(200);
|
||||||
|
|
||||||
@@ -29,7 +29,7 @@ describe('GET /api/v1/apps', () => {
|
|||||||
const appsWithNameGit = apps.filter((app) => app.name.includes('Git'));
|
const appsWithNameGit = apps.filter((app) => app.name.includes('Git'));
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.get('/api/v1/apps?name=Git')
|
.get('/internal/api/v1/apps?name=Git')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(200);
|
.expect(200);
|
||||||
|
|
||||||
@@ -41,7 +41,7 @@ describe('GET /api/v1/apps', () => {
|
|||||||
const appsWithTriggers = apps.filter((app) => app.triggers?.length > 0);
|
const appsWithTriggers = apps.filter((app) => app.triggers?.length > 0);
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.get('/api/v1/apps?onlyWithTriggers=true')
|
.get('/internal/api/v1/apps?onlyWithTriggers=true')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(200);
|
.expect(200);
|
||||||
|
|
||||||
@@ -53,7 +53,7 @@ describe('GET /api/v1/apps', () => {
|
|||||||
const appsWithActions = apps.filter((app) => app.actions?.length > 0);
|
const appsWithActions = apps.filter((app) => app.actions?.length > 0);
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.get('/api/v1/apps?onlyWithActions=true')
|
.get('/internal/api/v1/apps?onlyWithActions=true')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(200);
|
.expect(200);
|
||||||
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import App from '../../../../models/app.js';
|
import App from '../../../../../models/app.js';
|
||||||
import { renderObject } from '../../../../helpers/renderer.js';
|
import { renderObject } from '../../../../../helpers/renderer.js';
|
||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const auth = await App.findAuthByKey(request.params.appKey);
|
const auth = await App.findAuthByKey(request.params.appKey);
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
import { describe, it, expect, beforeEach } from 'vitest';
|
import { describe, it, expect, beforeEach } from 'vitest';
|
||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
import App from '../../../../models/app';
|
import App from '../../../../../models/app.js';
|
||||||
import app from '../../../../app.js';
|
import app from '../../../../../app.js';
|
||||||
import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id';
|
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
import { createUser } from '../../../../../test/factories/user';
|
import { createUser } from '../../../../../../test/factories/user.js';
|
||||||
import getAuthMock from '../../../../../test/mocks/rest/api/v1/apps/get-auth.js';
|
import getAuthMock from '../../../../../../test/mocks/rest/internal/api/v1/apps/get-auth.js';
|
||||||
|
|
||||||
describe('GET /api/v1/apps/:appKey/auth', () => {
|
describe('GET /internal/api/v1/apps/:appKey/auth', () => {
|
||||||
let currentUser, token;
|
let currentUser, token;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
@@ -18,7 +18,7 @@ describe('GET /api/v1/apps/:appKey/auth', () => {
|
|||||||
const exampleApp = await App.findOneByKey('github');
|
const exampleApp = await App.findOneByKey('github');
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.get(`/api/v1/apps/${exampleApp.key}/auth`)
|
.get(`/internal/api/v1/apps/${exampleApp.key}/auth`)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(200);
|
.expect(200);
|
||||||
|
|
||||||
@@ -28,7 +28,7 @@ describe('GET /api/v1/apps/:appKey/auth', () => {
|
|||||||
|
|
||||||
it('should return not found response for invalid app key', async () => {
|
it('should return not found response for invalid app key', async () => {
|
||||||
await request(app)
|
await request(app)
|
||||||
.get('/api/v1/apps/invalid-app-key/auth')
|
.get('/internal/api/v1/apps/invalid-app-key/auth')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(404);
|
.expect(404);
|
||||||
});
|
});
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import { renderObject } from '../../../../helpers/renderer.js';
|
import { renderObject } from '../../../../../helpers/renderer.js';
|
||||||
import AppConfig from '../../../../models/app-config.js';
|
import AppConfig from '../../../../../models/app-config.js';
|
||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const appConfig = await AppConfig.query()
|
const appConfig = await AppConfig.query()
|
||||||
@@ -1,13 +1,13 @@
|
|||||||
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
import app from '../../../../app.js';
|
import app from '../../../../../app.js';
|
||||||
import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id.js';
|
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
import { createUser } from '../../../../../test/factories/user.js';
|
import { createUser } from '../../../../../../test/factories/user.js';
|
||||||
import getAppConfigMock from '../../../../../test/mocks/rest/api/v1/apps/get-config.js';
|
import getAppConfigMock from '../../../../../../test/mocks/rest/internal/api/v1/apps/get-config.js';
|
||||||
import { createAppConfig } from '../../../../../test/factories/app-config.js';
|
import { createAppConfig } from '../../../../../../test/factories/app-config.js';
|
||||||
import * as license from '../../../../helpers/license.ee.js';
|
import * as license from '../../../../../helpers/license.ee.js';
|
||||||
|
|
||||||
describe('GET /api/v1/apps/:appKey/config', () => {
|
describe('GET /internal/api/v1/apps/:appKey/config', () => {
|
||||||
let currentUser, appConfig, token;
|
let currentUser, appConfig, token;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
@@ -26,7 +26,7 @@ describe('GET /api/v1/apps/:appKey/config', () => {
|
|||||||
|
|
||||||
it('should return specified app config info', async () => {
|
it('should return specified app config info', async () => {
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.get(`/api/v1/apps/${appConfig.key}/config`)
|
.get(`/internal/api/v1/apps/${appConfig.key}/config`)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(200);
|
.expect(200);
|
||||||
|
|
||||||
@@ -36,7 +36,7 @@ describe('GET /api/v1/apps/:appKey/config', () => {
|
|||||||
|
|
||||||
it('should return not found response for not existing app key', async () => {
|
it('should return not found response for not existing app key', async () => {
|
||||||
await request(app)
|
await request(app)
|
||||||
.get('/api/v1/apps/not-existing-app-key/config')
|
.get('/internal/api/v1/apps/not-existing-app-key/config')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(404);
|
.expect(404);
|
||||||
});
|
});
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import { renderObject } from '../../../../helpers/renderer.js';
|
import { renderObject } from '../../../../../helpers/renderer.js';
|
||||||
import App from '../../../../models/app.js';
|
import App from '../../../../../models/app.js';
|
||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const app = await App.findOneByKey(request.params.appKey);
|
const app = await App.findOneByKey(request.params.appKey);
|
||||||
@@ -1,13 +1,13 @@
|
|||||||
import { describe, it, expect, beforeEach } from 'vitest';
|
import { describe, it, expect, beforeEach } from 'vitest';
|
||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
import app from '../../../../app.js';
|
import app from '../../../../../app.js';
|
||||||
import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id.js';
|
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
import { createUser } from '../../../../../test/factories/user.js';
|
import { createUser } from '../../../../../../test/factories/user.js';
|
||||||
import { createConnection } from '../../../../../test/factories/connection.js';
|
import { createConnection } from '../../../../../../test/factories/connection.js';
|
||||||
import { createPermission } from '../../../../../test/factories/permission.js';
|
import { createPermission } from '../../../../../../test/factories/permission.js';
|
||||||
import getConnectionsMock from '../../../../../test/mocks/rest/api/v1/apps/get-connections.js';
|
import getConnectionsMock from '../../../../../../test/mocks/rest/internal/api/v1/apps/get-connections.js';
|
||||||
|
|
||||||
describe('GET /api/v1/apps/:appKey/connections', () => {
|
describe('GET /internal/api/v1/apps/:appKey/connections', () => {
|
||||||
let currentUser, currentUserRole, token;
|
let currentUser, currentUserRole, token;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
@@ -38,7 +38,7 @@ describe('GET /api/v1/apps/:appKey/connections', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.get('/api/v1/apps/deepl/connections')
|
.get('/internal/api/v1/apps/deepl/connections')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(200);
|
.expect(200);
|
||||||
|
|
||||||
@@ -73,7 +73,7 @@ describe('GET /api/v1/apps/:appKey/connections', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.get('/api/v1/apps/deepl/connections')
|
.get('/internal/api/v1/apps/deepl/connections')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(200);
|
.expect(200);
|
||||||
|
|
||||||
@@ -94,7 +94,7 @@ describe('GET /api/v1/apps/:appKey/connections', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
await request(app)
|
await request(app)
|
||||||
.get('/api/v1/apps/invalid-connection-id/connections')
|
.get('/internal/api/v1/apps/invalid-connection-id/connections')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(404);
|
.expect(404);
|
||||||
});
|
});
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
import { renderObject } from '../../../../helpers/renderer.js';
|
import { renderObject } from '../../../../../helpers/renderer.js';
|
||||||
import App from '../../../../models/app.js';
|
import App from '../../../../../models/app.js';
|
||||||
import Flow from '../../../../models/flow.js';
|
import Flow from '../../../../../models/flow.js';
|
||||||
import paginateRest from '../../../../helpers/pagination.js';
|
import paginateRest from '../../../../../helpers/pagination.js';
|
||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const app = await App.findOneByKey(request.params.appKey);
|
const app = await App.findOneByKey(request.params.appKey);
|
||||||
@@ -1,14 +1,14 @@
|
|||||||
import { describe, it, expect, beforeEach } from 'vitest';
|
import { describe, it, expect, beforeEach } from 'vitest';
|
||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
import app from '../../../../app.js';
|
import app from '../../../../../app.js';
|
||||||
import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id.js';
|
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
import { createUser } from '../../../../../test/factories/user.js';
|
import { createUser } from '../../../../../../test/factories/user.js';
|
||||||
import { createFlow } from '../../../../../test/factories/flow.js';
|
import { createFlow } from '../../../../../../test/factories/flow.js';
|
||||||
import { createStep } from '../../../../../test/factories/step.js';
|
import { createStep } from '../../../../../../test/factories/step.js';
|
||||||
import { createPermission } from '../../../../../test/factories/permission.js';
|
import { createPermission } from '../../../../../../test/factories/permission.js';
|
||||||
import getFlowsMock from '../../../../../test/mocks/rest/api/v1/apps/get-flows.js';
|
import getFlowsMock from '../../../../../../test/mocks/rest/internal/api/v1/apps/get-flows.js';
|
||||||
|
|
||||||
describe('GET /api/v1/apps/:appKey/flows', () => {
|
describe('GET /internal/api/v1/apps/:appKey/flows', () => {
|
||||||
let currentUser, currentUserRole, token;
|
let currentUser, currentUserRole, token;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
@@ -53,7 +53,7 @@ describe('GET /api/v1/apps/:appKey/flows', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.get('/api/v1/apps/webhook/flows')
|
.get('/internal/api/v1/apps/webhook/flows')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(200);
|
.expect(200);
|
||||||
|
|
||||||
@@ -102,7 +102,7 @@ describe('GET /api/v1/apps/:appKey/flows', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.get('/api/v1/apps/webhook/flows')
|
.get('/internal/api/v1/apps/webhook/flows')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(200);
|
.expect(200);
|
||||||
|
|
||||||
@@ -124,7 +124,7 @@ describe('GET /api/v1/apps/:appKey/flows', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
await request(app)
|
await request(app)
|
||||||
.get('/api/v1/apps/invalid-app-key/flows')
|
.get('/internal/api/v1/apps/invalid-app-key/flows')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(404);
|
.expect(404);
|
||||||
});
|
});
|
||||||
@@ -4,7 +4,7 @@ import OAuthClient from '../../../../../models/oauth-client.js';
|
|||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const oauthClient = await OAuthClient.query()
|
const oauthClient = await OAuthClient.query()
|
||||||
.findById(request.params.oauthClientId)
|
.findById(request.params.oauthClientId)
|
||||||
.where({ app_key: request.params.appKey })
|
.where({ app_key: request.params.appKey, active: true })
|
||||||
.throwIfNotFound();
|
.throwIfNotFound();
|
||||||
|
|
||||||
renderObject(response, oauthClient);
|
renderObject(response, oauthClient);
|
||||||
@@ -4,20 +4,17 @@ import Crypto from 'crypto';
|
|||||||
import app from '../../../../../app.js';
|
import app from '../../../../../app.js';
|
||||||
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js';
|
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
import { createUser } from '../../../../../../test/factories/user.js';
|
import { createUser } from '../../../../../../test/factories/user.js';
|
||||||
import { createRole } from '../../../../../../test/factories/role.js';
|
import getOAuthClientMock from '../../../../../../test/mocks/rest/internal/api/v1/apps/get-oauth-client.js';
|
||||||
import getOAuthClientMock from '../../../../../../test/mocks/rest/api/v1/admin/apps/get-oauth-client.js';
|
|
||||||
import { createOAuthClient } from '../../../../../../test/factories/oauth-client.js';
|
import { createOAuthClient } from '../../../../../../test/factories/oauth-client.js';
|
||||||
import * as license from '../../../../../helpers/license.ee.js';
|
import * as license from '../../../../../helpers/license.ee.js';
|
||||||
|
|
||||||
describe('GET /api/v1/admin/apps/:appKey/oauth-clients/:oauthClientId', () => {
|
describe('GET /internal/api/v1/apps/:appKey/oauth-clients/:oauthClientId', () => {
|
||||||
let currentUser, adminRole, currentOAuthClient, token;
|
let currentUser, currentOAuthClient, token;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true);
|
vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true);
|
||||||
|
|
||||||
adminRole = await createRole({ name: 'Admin' });
|
currentUser = await createUser();
|
||||||
currentUser = await createUser({ roleId: adminRole.id });
|
|
||||||
|
|
||||||
currentOAuthClient = await createOAuthClient({
|
currentOAuthClient = await createOAuthClient({
|
||||||
appKey: 'deepl',
|
appKey: 'deepl',
|
||||||
});
|
});
|
||||||
@@ -27,7 +24,7 @@ describe('GET /api/v1/admin/apps/:appKey/oauth-clients/:oauthClientId', () => {
|
|||||||
|
|
||||||
it('should return specified oauth client', async () => {
|
it('should return specified oauth client', async () => {
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.get(`/api/v1/admin/apps/deepl/oauth-clients/${currentOAuthClient.id}`)
|
.get(`/internal/api/v1/apps/deepl/oauth-clients/${currentOAuthClient.id}`)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(200);
|
.expect(200);
|
||||||
|
|
||||||
@@ -40,7 +37,7 @@ describe('GET /api/v1/admin/apps/:appKey/oauth-clients/:oauthClientId', () => {
|
|||||||
|
|
||||||
await request(app)
|
await request(app)
|
||||||
.get(
|
.get(
|
||||||
`/api/v1/admin/apps/deepl/oauth-clients/${notExistingOAuthClientUUID}`
|
`/internal/api/v1/apps/deepl/oauth-clients/${notExistingOAuthClientUUID}`
|
||||||
)
|
)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(404);
|
.expect(404);
|
||||||
@@ -48,7 +45,7 @@ describe('GET /api/v1/admin/apps/:appKey/oauth-clients/:oauthClientId', () => {
|
|||||||
|
|
||||||
it('should return bad request response for invalid UUID', async () => {
|
it('should return bad request response for invalid UUID', async () => {
|
||||||
await request(app)
|
await request(app)
|
||||||
.get('/api/v1/admin/apps/deepl/oauth-clients/invalidOAuthClientUUID')
|
.get('/internal/api/v1/apps/deepl/oauth-clients/invalidOAuthClientUUID')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(400);
|
.expect(400);
|
||||||
});
|
});
|
||||||
@@ -3,7 +3,7 @@ import OAuthClient from '../../../../../models/oauth-client.js';
|
|||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const oauthClients = await OAuthClient.query()
|
const oauthClients = await OAuthClient.query()
|
||||||
.where({ app_key: request.params.appKey })
|
.where({ app_key: request.params.appKey, active: true })
|
||||||
.orderBy('created_at', 'desc');
|
.orderBy('created_at', 'desc');
|
||||||
|
|
||||||
renderObject(response, oauthClients);
|
renderObject(response, oauthClients);
|
||||||
@@ -3,19 +3,17 @@ import request from 'supertest';
|
|||||||
import app from '../../../../../app.js';
|
import app from '../../../../../app.js';
|
||||||
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js';
|
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
import { createUser } from '../../../../../../test/factories/user.js';
|
import { createUser } from '../../../../../../test/factories/user.js';
|
||||||
import { createRole } from '../../../../../../test/factories/role.js';
|
import getOAuthClientsMock from '../../../../../../test/mocks/rest/internal/api/v1/apps/get-oauth-clients.js';
|
||||||
import getAdminOAuthClientsMock from '../../../../../../test/mocks/rest/api/v1/admin/apps/get-oauth-clients.js';
|
|
||||||
import { createOAuthClient } from '../../../../../../test/factories/oauth-client.js';
|
import { createOAuthClient } from '../../../../../../test/factories/oauth-client.js';
|
||||||
import * as license from '../../../../../helpers/license.ee.js';
|
import * as license from '../../../../../helpers/license.ee.js';
|
||||||
|
|
||||||
describe('GET /api/v1/admin/apps/:appKey/oauth-clients', () => {
|
describe('GET /internal/api/v1/apps/:appKey/oauth-clients', () => {
|
||||||
let currentUser, adminRole, token;
|
let currentUser, token;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true);
|
vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true);
|
||||||
|
|
||||||
adminRole = await createRole({ name: 'Admin' });
|
currentUser = await createUser();
|
||||||
currentUser = await createUser({ roleId: adminRole.id });
|
|
||||||
|
|
||||||
token = await createAuthTokenByUserId(currentUser.id);
|
token = await createAuthTokenByUserId(currentUser.id);
|
||||||
});
|
});
|
||||||
@@ -30,11 +28,11 @@ describe('GET /api/v1/admin/apps/:appKey/oauth-clients', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.get('/api/v1/admin/apps/deepl/oauth-clients')
|
.get('/internal/api/v1/apps/deepl/oauth-clients')
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(200);
|
.expect(200);
|
||||||
|
|
||||||
const expectedPayload = getAdminOAuthClientsMock([
|
const expectedPayload = getOAuthClientsMock([
|
||||||
oauthClientTwo,
|
oauthClientTwo,
|
||||||
oauthClientOne,
|
oauthClientOne,
|
||||||
]);
|
]);
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import App from '../../../../models/app.js';
|
import App from '../../../../../models/app.js';
|
||||||
import { renderObject } from '../../../../helpers/renderer.js';
|
import { renderObject } from '../../../../../helpers/renderer.js';
|
||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const substeps = await App.findTriggerSubsteps(
|
const substeps = await App.findTriggerSubsteps(
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
import { describe, it, expect, beforeEach } from 'vitest';
|
import { describe, it, expect, beforeEach } from 'vitest';
|
||||||
import request from 'supertest';
|
import request from 'supertest';
|
||||||
import App from '../../../../models/app';
|
import App from '../../../../../models/app.js';
|
||||||
import app from '../../../../app.js';
|
import app from '../../../../../app.js';
|
||||||
import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id';
|
import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js';
|
||||||
import { createUser } from '../../../../../test/factories/user';
|
import { createUser } from '../../../../../../test/factories/user.js';
|
||||||
import getTriggerSubstepsMock from '../../../../../test/mocks/rest/api/v1/apps/get-trigger-substeps.js';
|
import getTriggerSubstepsMock from '../../../../../../test/mocks/rest/internal/api/v1/apps/get-trigger-substeps.js';
|
||||||
|
|
||||||
describe('GET /api/v1/apps/:appKey/triggers/:triggerKey/substeps', () => {
|
describe('GET /internal/api/v1/apps/:appKey/triggers/:triggerKey/substeps', () => {
|
||||||
let currentUser, exampleApp, token;
|
let currentUser, exampleApp, token;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
@@ -21,7 +21,7 @@ describe('GET /api/v1/apps/:appKey/triggers/:triggerKey/substeps', () => {
|
|||||||
(trigger) => trigger.key === 'newIssues'
|
(trigger) => trigger.key === 'newIssues'
|
||||||
);
|
);
|
||||||
|
|
||||||
const endpointUrl = `/api/v1/apps/${exampleApp.key}/triggers/${exampleTrigger.key}/substeps`;
|
const endpointUrl = `/internal/api/v1/apps/${exampleApp.key}/triggers/${exampleTrigger.key}/substeps`;
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.get(endpointUrl)
|
.get(endpointUrl)
|
||||||
@@ -34,13 +34,15 @@ describe('GET /api/v1/apps/:appKey/triggers/:triggerKey/substeps', () => {
|
|||||||
|
|
||||||
it('should return not found response for invalid app key', async () => {
|
it('should return not found response for invalid app key', async () => {
|
||||||
await request(app)
|
await request(app)
|
||||||
.get('/api/v1/apps/invalid-app-key/triggers/invalid-trigger-key/substeps')
|
.get(
|
||||||
|
'/internal/api/v1/apps/invalid-app-key/triggers/invalid-trigger-key/substeps'
|
||||||
|
)
|
||||||
.set('Authorization', token)
|
.set('Authorization', token)
|
||||||
.expect(404);
|
.expect(404);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should return empty array for invalid trigger key', async () => {
|
it('should return empty array for invalid trigger key', async () => {
|
||||||
const endpointUrl = `/api/v1/apps/${exampleApp.key}/triggers/invalid-trigger-key/substeps`;
|
const endpointUrl = `/internal/api/v1/apps/${exampleApp.key}/triggers/invalid-trigger-key/substeps`;
|
||||||
|
|
||||||
const response = await request(app)
|
const response = await request(app)
|
||||||
.get(endpointUrl)
|
.get(endpointUrl)
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import App from '../../../../models/app.js';
|
import App from '../../../../../models/app.js';
|
||||||
import { renderObject } from '../../../../helpers/renderer.js';
|
import { renderObject } from '../../../../../helpers/renderer.js';
|
||||||
|
|
||||||
export default async (request, response) => {
|
export default async (request, response) => {
|
||||||
const triggers = await App.findTriggersByKey(request.params.appKey);
|
const triggers = await App.findTriggersByKey(request.params.appKey);
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user