ci(core): Reduce memory usage in tests (part-1) (no-changelog) (#7654)

This commit is contained in:
कारतोफ्फेलस्क्रिप्ट™
2023-11-08 16:29:39 +01:00
committed by GitHub
parent 6a53c2a375
commit 0346b211a7
58 changed files with 1223 additions and 1189 deletions

View File

@@ -4,6 +4,9 @@ import * as testDb from './shared/testDb';
import * as utils from './shared/utils/';
import type { User } from '@/databases/entities/User';
import { WorkflowHistoryRepository } from '@/databases/repositories';
import { createOwner, createUser } from './shared/db/users';
import { createWorkflow } from './shared/db/workflows';
import { createWorkflowHistoryItem } from './shared/db/workflowHistory';
let owner: User;
let authOwnerAgent: SuperAgentTest;
@@ -18,9 +21,9 @@ const licenseLike = utils.mockInstance(License, {
const testServer = utils.setupTestServer({ endpointGroups: ['workflowHistory'] });
beforeAll(async () => {
owner = await testDb.createOwner();
owner = await createOwner();
authOwnerAgent = testServer.authAgentFor(owner);
member = await testDb.createUser();
member = await createUser();
authMemberAgent = testServer.authAgentFor(member);
});
@@ -41,31 +44,31 @@ describe('GET /workflow-history/:workflowId', () => {
});
test('should not return anything on an invalid workflow ID', async () => {
await testDb.createWorkflow(undefined, owner);
await createWorkflow(undefined, owner);
const resp = await authOwnerAgent.get('/workflow-history/workflow/badid');
expect(resp.status).toBe(404);
});
test('should not return anything if not shared with user', async () => {
const workflow = await testDb.createWorkflow(undefined, owner);
const workflow = await createWorkflow(undefined, owner);
const resp = await authMemberAgent.get('/workflow-history/workflow/' + workflow.id);
expect(resp.status).toBe(404);
});
test('should return any empty list if no versions', async () => {
const workflow = await testDb.createWorkflow(undefined, owner);
const workflow = await createWorkflow(undefined, owner);
const resp = await authOwnerAgent.get('/workflow-history/workflow/' + workflow.id);
expect(resp.status).toBe(200);
expect(resp.body).toEqual({ data: [] });
});
test('should return versions for workflow', async () => {
const workflow = await testDb.createWorkflow(undefined, owner);
const workflow = await createWorkflow(undefined, owner);
const versions = await Promise.all(
new Array(10)
.fill(undefined)
.map(async (_, i) =>
testDb.createWorkflowHistoryItem(workflow.id, { createdAt: new Date(Date.now() + i) }),
createWorkflowHistoryItem(workflow.id, { createdAt: new Date(Date.now() + i) }),
),
);
@@ -84,20 +87,18 @@ describe('GET /workflow-history/:workflowId', () => {
});
test('should return versions only for workflow id provided', async () => {
const workflow = await testDb.createWorkflow(undefined, owner);
const workflow2 = await testDb.createWorkflow(undefined, owner);
const workflow = await createWorkflow(undefined, owner);
const workflow2 = await createWorkflow(undefined, owner);
const versions = await Promise.all(
new Array(10)
.fill(undefined)
.map(async (_, i) =>
testDb.createWorkflowHistoryItem(workflow.id, { createdAt: new Date(Date.now() + i) }),
createWorkflowHistoryItem(workflow.id, { createdAt: new Date(Date.now() + i) }),
),
);
const versions2 = await Promise.all(
new Array(10)
.fill(undefined)
.map(async (_) => testDb.createWorkflowHistoryItem(workflow2.id)),
new Array(10).fill(undefined).map(async (_) => createWorkflowHistoryItem(workflow2.id)),
);
// eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -115,12 +116,12 @@ describe('GET /workflow-history/:workflowId', () => {
});
test('should work with take parameter', async () => {
const workflow = await testDb.createWorkflow(undefined, owner);
const workflow = await createWorkflow(undefined, owner);
const versions = await Promise.all(
new Array(10)
.fill(undefined)
.map(async (_, i) =>
testDb.createWorkflowHistoryItem(workflow.id, { createdAt: new Date(Date.now() + i) }),
createWorkflowHistoryItem(workflow.id, { createdAt: new Date(Date.now() + i) }),
),
);
@@ -139,12 +140,12 @@ describe('GET /workflow-history/:workflowId', () => {
});
test('should work with skip parameter', async () => {
const workflow = await testDb.createWorkflow(undefined, owner);
const workflow = await createWorkflow(undefined, owner);
const versions = await Promise.all(
new Array(10)
.fill(undefined)
.map(async (_, i) =>
testDb.createWorkflowHistoryItem(workflow.id, { createdAt: new Date(Date.now() + i) }),
createWorkflowHistoryItem(workflow.id, { createdAt: new Date(Date.now() + i) }),
),
);
@@ -174,8 +175,8 @@ describe('GET /workflow-history/workflow/:workflowId/version/:versionId', () =>
});
test('should not return anything on an invalid workflow ID', async () => {
const workflow = await testDb.createWorkflow(undefined, owner);
const version = await testDb.createWorkflowHistoryItem(workflow.id);
const workflow = await createWorkflow(undefined, owner);
const version = await createWorkflowHistoryItem(workflow.id);
const resp = await authOwnerAgent.get(
`/workflow-history/workflow/badid/version/${version.versionId}`,
);
@@ -183,8 +184,8 @@ describe('GET /workflow-history/workflow/:workflowId/version/:versionId', () =>
});
test('should not return anything on an invalid version ID', async () => {
const workflow = await testDb.createWorkflow(undefined, owner);
await testDb.createWorkflowHistoryItem(workflow.id);
const workflow = await createWorkflow(undefined, owner);
await createWorkflowHistoryItem(workflow.id);
const resp = await authOwnerAgent.get(
`/workflow-history/workflow/${workflow.id}/version/badid`,
);
@@ -192,8 +193,8 @@ describe('GET /workflow-history/workflow/:workflowId/version/:versionId', () =>
});
test('should return version', async () => {
const workflow = await testDb.createWorkflow(undefined, owner);
const version = await testDb.createWorkflowHistoryItem(workflow.id);
const workflow = await createWorkflow(undefined, owner);
const version = await createWorkflowHistoryItem(workflow.id);
const resp = await authOwnerAgent.get(
`/workflow-history/workflow/${workflow.id}/version/${version.versionId}`,
);
@@ -206,8 +207,8 @@ describe('GET /workflow-history/workflow/:workflowId/version/:versionId', () =>
});
test('should not return anything if not shared with user', async () => {
const workflow = await testDb.createWorkflow(undefined, owner);
const version = await testDb.createWorkflowHistoryItem(workflow.id);
const workflow = await createWorkflow(undefined, owner);
const version = await createWorkflowHistoryItem(workflow.id);
const resp = await authMemberAgent.get(
`/workflow-history/workflow/${workflow.id}/version/${version.versionId}`,
);
@@ -215,9 +216,9 @@ describe('GET /workflow-history/workflow/:workflowId/version/:versionId', () =>
});
test('should not return anything if not shared with user and using workflow owned by unshared user', async () => {
const workflow = await testDb.createWorkflow(undefined, owner);
const workflowMember = await testDb.createWorkflow(undefined, member);
const version = await testDb.createWorkflowHistoryItem(workflow.id);
const workflow = await createWorkflow(undefined, owner);
const workflowMember = await createWorkflow(undefined, member);
const version = await createWorkflowHistoryItem(workflow.id);
const resp = await authMemberAgent.get(
`/workflow-history/workflow/${workflowMember.id}/version/${version.versionId}`,
);