better startup and teardown for tests

pull/461/head
Frostebite 2022-09-17 05:44:07 +01:00
parent 5bf0ad0367
commit a330d4e9a3
8 changed files with 27 additions and 15 deletions

3
dist/index.js vendored
View File

@ -632,7 +632,7 @@ class SharedWorkspaceLocking {
return element; return element;
} }
} }
yield SharedWorkspaceLocking.CreateLockableWorkspace(cloud_runner_1.default.buildParameters.buildGuid); return yield SharedWorkspaceLocking.CreateLockableWorkspace(cloud_runner_1.default.buildParameters.buildGuid);
}); });
} }
static GetFreeWorkspaces() { static GetFreeWorkspaces() {
@ -668,6 +668,7 @@ class SharedWorkspaceLocking {
const file = `${Date.now()}_${cloud_runner_1.default.buildParameters.buildGuid}_workspace`; const file = `${Date.now()}_${cloud_runner_1.default.buildParameters.buildGuid}_workspace`;
fs.writeFileSync(file, ''); fs.writeFileSync(file, '');
yield cloud_runner_system_1.CloudRunnerSystem.Run(`aws s3 cp ./${file} s3://game-ci-test-storage/locks/${workspace}/${file}`); yield cloud_runner_system_1.CloudRunnerSystem.Run(`aws s3 cp ./${file} s3://game-ci-test-storage/locks/${workspace}/${file}`);
return cloud_runner_1.default.buildParameters.buildGuid;
}); });
} }
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars

2
dist/index.js.map vendored

File diff suppressed because one or more lines are too long

View File

@ -16,7 +16,7 @@ export class SharedWorkspaceLocking {
} }
} }
await SharedWorkspaceLocking.CreateLockableWorkspace(CloudRunner.buildParameters.buildGuid); return await SharedWorkspaceLocking.CreateLockableWorkspace(CloudRunner.buildParameters.buildGuid);
} }
public static GetFreeWorkspaces(): string[] { public static GetFreeWorkspaces(): string[] {
@ -52,6 +52,8 @@ export class SharedWorkspaceLocking {
const file = `${Date.now()}_${CloudRunner.buildParameters.buildGuid}_workspace`; const file = `${Date.now()}_${CloudRunner.buildParameters.buildGuid}_workspace`;
fs.writeFileSync(file, ''); fs.writeFileSync(file, '');
await CloudRunnerSystem.Run(`aws s3 cp ./${file} s3://game-ci-test-storage/locks/${workspace}/${file}`); await CloudRunnerSystem.Run(`aws s3 cp ./${file} s3://game-ci-test-storage/locks/${workspace}/${file}`);
return CloudRunner.buildParameters.buildGuid;
} }
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
public static ReleaseLock(workspace: string) {} public static ReleaseLock(workspace: string) {}

View File

@ -7,6 +7,7 @@ import UnityVersioning from '../../unity-versioning';
import { Cli } from '../../cli/cli'; import { Cli } from '../../cli/cli';
import CloudRunnerLogger from '../services/cloud-runner-logger'; import CloudRunnerLogger from '../services/cloud-runner-logger';
import CloudRunnerOptions from '../cloud-runner-options'; import CloudRunnerOptions from '../cloud-runner-options';
import setups from './cloud-runner-suite.test';
async function CreateParameters(overrides) { async function CreateParameters(overrides) {
if (overrides) { if (overrides) {
@ -15,14 +16,11 @@ async function CreateParameters(overrides) {
return await BuildParameters.create(); return await BuildParameters.create();
} }
describe('Cloud Runner', () => { describe('Cloud Runner', () => {
it('Responds', () => {}); it('Responds', () => {});
}); setups();
describe('Cloud Runner', () => {
const testSecretName = 'testSecretName'; const testSecretName = 'testSecretName';
const testSecretValue = 'testSecretValue'; const testSecretValue = 'testSecretValue';
it('Responds', () => {});
if (CloudRunnerOptions.cloudRunnerTests) { if (CloudRunnerOptions.cloudRunnerTests) {
it('All build parameters sent to cloud runner as env vars', async () => { it('All build parameters sent to cloud runner as env vars', async () => {
// Setup parameters // Setup parameters

View File

@ -5,6 +5,7 @@ import { Cli } from '../../cli/cli';
import CloudRunnerLogger from '../services/cloud-runner-logger'; import CloudRunnerLogger from '../services/cloud-runner-logger';
import { v4 as uuidv4 } from 'uuid'; import { v4 as uuidv4 } from 'uuid';
import CloudRunnerOptions from '../cloud-runner-options'; import CloudRunnerOptions from '../cloud-runner-options';
import setups from './cloud-runner-suite.test';
async function CreateParameters(overrides) { async function CreateParameters(overrides) {
if (overrides) { if (overrides) {
@ -14,10 +15,9 @@ async function CreateParameters(overrides) {
return await BuildParameters.create(); return await BuildParameters.create();
} }
describe('Cloud Runner Caching', () => { describe('Cloud Runner', () => {
it('Responds', () => {}); it('Responds', () => {});
}); setups();
describe('Cloud Runner Caching', () => {
if (CloudRunnerOptions.cloudRunnerTests) { if (CloudRunnerOptions.cloudRunnerTests) {
it('Run one build it should not use cache, run subsequent build which should use cache', async () => { it('Run one build it should not use cache, run subsequent build which should use cache', async () => {
const overrides = { const overrides = {

View File

@ -8,6 +8,7 @@ import { Cli } from '../../cli/cli';
import CloudRunnerLogger from '../services/cloud-runner-logger'; import CloudRunnerLogger from '../services/cloud-runner-logger';
import CloudRunnerOptions from '../cloud-runner-options'; import CloudRunnerOptions from '../cloud-runner-options';
import GitHub from '../../github'; import GitHub from '../../github';
import setups from './cloud-runner-suite.test';
async function CreateParameters(overrides) { async function CreateParameters(overrides) {
if (overrides) { if (overrides) {
@ -22,6 +23,7 @@ async function CreateParameters(overrides) {
return results; return results;
} }
describe('Cloud Runner', () => { describe('Cloud Runner', () => {
setups();
const testSecretName = 'testSecretName'; const testSecretName = 'testSecretName';
const testSecretValue = 'testSecretValue'; const testSecretValue = 'testSecretValue';
it('Responds', () => {}); it('Responds', () => {});

View File

@ -1,16 +1,25 @@
import { Cli } from '../../cli/cli'; import { Cli } from '../../cli/cli';
import GitHub from '../../github'; import GitHub from '../../github';
describe('Cloud Runner', () => { describe('Cloud Runner', () => {
it('Responds', () => {}); it('Responds', () => {});
});
const setups = () => {
beforeAll(() => { beforeAll(() => {
GitHub.githubInputEnabled = false; GitHub.githubInputEnabled = false;
}); });
beforeEach(() => {
Cli.options = {};
});
afterEach(() => { afterEach(() => {
if (Cli.options === undefined) { if (Cli.options !== undefined) {
delete Cli.options; delete Cli.options;
} }
}); });
afterAll(() => { afterAll(() => {
GitHub.githubInputEnabled = true; GitHub.githubInputEnabled = true;
}); });
}); };
export default setups;

View File

@ -1,11 +1,11 @@
import SharedWorkspaceLocking from '../../cli/shared-workspace-locking'; import SharedWorkspaceLocking from '../../cli/shared-workspace-locking';
import { Cli } from '../../cli/cli'; import { Cli } from '../../cli/cli';
import setups from './cloud-runner-suite.test';
describe('Cloud Runner', () => { describe('Cloud Runner', () => {
setups();
it('Locking', async () => { it('Locking', async () => {
Cli.options = { Cli.options.retainWorkspaces = true;
retainWorkspaces: true,
};
await SharedWorkspaceLocking.IsWorkspaceLocked('test-workspace'); await SharedWorkspaceLocking.IsWorkspaceLocked('test-workspace');
}); });
}); });