From f7ea8c6ee09ba200559e20899995ec06aad3865e Mon Sep 17 00:00:00 2001 From: Frostebite Date: Sun, 19 Feb 2023 03:03:43 +0000 Subject: [PATCH] fixes --- .../tests/cloud-runner-locking.test.ts | 32 ++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/src/model/cloud-runner/tests/cloud-runner-locking.test.ts b/src/model/cloud-runner/tests/cloud-runner-locking.test.ts index 4f9a7934..f99e7683 100644 --- a/src/model/cloud-runner/tests/cloud-runner-locking.test.ts +++ b/src/model/cloud-runner/tests/cloud-runner-locking.test.ts @@ -190,6 +190,36 @@ describe('Cloud Runner Locking', () => { ).toBeTruthy(); expect(CloudRunner.lockedWorkspace).not.toMatch(newWorkspaceName); }, 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 () => { Cli.options.retainWorkspaces = true; const overrides: any = { @@ -219,7 +249,7 @@ describe('Cloud Runner Locking', () => { expect( await SharedWorkspaceLocking.GetOrCreateLockedWorkspace(newWorkspaceName, runId2, buildParameters), ).toBeTruthy(); - expect(CloudRunner.lockedWorkspace).not.toContain(newWorkspaceName); + expect(CloudRunner.lockedWorkspace).toContain(newWorkspaceName); }, 150000); it(`0 free workspaces after locking`, async () => { Cli.options.retainWorkspaces = true;