pull/496/head
Frostebite 2023-02-19 03:03:43 +00:00
parent 520a9c345b
commit f7ea8c6ee0
1 changed files with 31 additions and 1 deletions

View File

@ -190,6 +190,36 @@ describe('Cloud Runner Locking', () => {
).toBeTruthy(); ).toBeTruthy();
expect(CloudRunner.lockedWorkspace).not.toMatch(newWorkspaceName); expect(CloudRunner.lockedWorkspace).not.toMatch(newWorkspaceName);
}, 150000); }, 150000);
it(`Get Or Create After Double Lock And One Unlock`, async () => {
Cli.options.retainWorkspaces = true;
const overrides: any = {
versioning: 'None',
projectPath: 'test-project',
unityVersion: UnityVersioning.determineUnityVersion('test-project', UnityVersioning.read('test-project')),
targetPlatform: 'StandaloneLinux64',
cacheKey: `test-case-${uuidv4()}`,
retainWorkspaces: true,
};
const buildParameters = await CreateParameters(overrides);
const newWorkspaceName = `test-workspace-${uuidv4()}`;
const runId = uuidv4();
const runId2 = uuidv4();
CloudRunner.buildParameters = buildParameters;
expect(await SharedWorkspaceLocking.CreateWorkspace(newWorkspaceName, buildParameters)).toBeTruthy();
expect(await SharedWorkspaceLocking.LockWorkspace(newWorkspaceName, runId, buildParameters)).toBeTruthy();
expect(await SharedWorkspaceLocking.IsWorkspaceLocked(newWorkspaceName, buildParameters)).toBeTruthy();
expect(await SharedWorkspaceLocking.ReleaseWorkspace(newWorkspaceName, runId, buildParameters)).toBeTruthy();
expect(await SharedWorkspaceLocking.IsWorkspaceLocked(newWorkspaceName, buildParameters)).toBeFalsy();
expect(await SharedWorkspaceLocking.LockWorkspace(newWorkspaceName, runId, buildParameters)).toBeTruthy();
expect(await SharedWorkspaceLocking.HasWorkspaceLock(newWorkspaceName, runId, buildParameters)).toBeTruthy();
expect(await SharedWorkspaceLocking.IsWorkspaceLocked(newWorkspaceName, buildParameters)).toBeFalsy();
expect(await SharedWorkspaceLocking.DoesWorkspaceExist(newWorkspaceName, buildParameters)).toBeTruthy();
expect(
await SharedWorkspaceLocking.GetOrCreateLockedWorkspace(newWorkspaceName, runId2, buildParameters),
).toBeTruthy();
expect(CloudRunner.lockedWorkspace).not.toContain(newWorkspaceName);
}, 150000);
it(`Get Or Create After Double Lock And Unlock`, async () => { it(`Get Or Create After Double Lock And Unlock`, async () => {
Cli.options.retainWorkspaces = true; Cli.options.retainWorkspaces = true;
const overrides: any = { const overrides: any = {
@ -219,7 +249,7 @@ describe('Cloud Runner Locking', () => {
expect( expect(
await SharedWorkspaceLocking.GetOrCreateLockedWorkspace(newWorkspaceName, runId2, buildParameters), await SharedWorkspaceLocking.GetOrCreateLockedWorkspace(newWorkspaceName, runId2, buildParameters),
).toBeTruthy(); ).toBeTruthy();
expect(CloudRunner.lockedWorkspace).not.toContain(newWorkspaceName); expect(CloudRunner.lockedWorkspace).toContain(newWorkspaceName);
}, 150000); }, 150000);
it(`0 free workspaces after locking`, async () => { it(`0 free workspaces after locking`, async () => {
Cli.options.retainWorkspaces = true; Cli.options.retainWorkspaces = true;