improving storage api

pull/419/head
Frostebite 2022-08-23 20:20:44 +01:00
parent fed0044084
commit 3d089721ef
2 changed files with 26 additions and 34 deletions

View File

@ -10,6 +10,19 @@ import { v4 as uuidv4 } from 'uuid';
import CloudRunnerOptions from './cloud-runner-options'; import CloudRunnerOptions from './cloud-runner-options';
import GitHub from '../github'; import GitHub from '../github';
async function CreateParameters(overrides) {
if (overrides) {
Cli.options = overrides;
}
const originalValue = GitHub.githubInputEnabled;
GitHub.githubInputEnabled = false;
const results = await BuildParameters.create();
GitHub.githubInputEnabled = originalValue;
delete Cli.options;
return results;
}
describe('Cloud Runner', () => { describe('Cloud Runner', () => {
it('responds', () => {}); it('responds', () => {});
}); });
@ -18,8 +31,8 @@ describe('Cloud Runner', () => {
const testSecretValue = 'testSecretValue'; const testSecretValue = 'testSecretValue';
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 () => {
// Build parameters // Setup parameters
Cli.options = { const buildParameter = await CreateParameters({
versioning: 'None', versioning: 'None',
projectPath: 'test-project', projectPath: 'test-project',
unityVersion: UnityVersioning.read('test-project'), unityVersion: UnityVersioning.read('test-project'),
@ -32,12 +45,7 @@ describe('Cloud Runner', () => {
- name: '${testSecretName}' - name: '${testSecretName}'
value: '${testSecretValue}' value: '${testSecretValue}'
`, `,
}; });
GitHub.githubInputEnabled = false;
// Setup parameters
const buildParameter = await BuildParameters.create();
GitHub.githubInputEnabled = true;
const baseImage = new ImageTag(buildParameter); const baseImage = new ImageTag(buildParameter);
// Run the job // Run the job
@ -64,18 +72,16 @@ describe('Cloud Runner', () => {
expect(newLinePurgedFile).toContain(`${element.name}=${element.value}`); expect(newLinePurgedFile).toContain(`${element.name}=${element.value}`);
} }
} }
delete Cli.options;
}, 100000); }, 100000);
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 () => {
Cli.options = { const overrides = {
versioning: 'None', versioning: 'None',
projectPath: 'test-project', projectPath: 'test-project',
unityVersion: UnityVersioning.determineUnityVersion('test-project', UnityVersioning.read('test-project')), unityVersion: UnityVersioning.determineUnityVersion('test-project', UnityVersioning.read('test-project')),
targetPlatform: 'StandaloneLinux64', targetPlatform: 'StandaloneLinux64',
cacheKey: `test-case-${uuidv4()}`, cacheKey: `test-case-${uuidv4()}`,
}; };
GitHub.githubInputEnabled = false; const buildParameter = await CreateParameters(overrides);
const buildParameter = await BuildParameters.create();
const baseImage = new ImageTag(buildParameter); const baseImage = new ImageTag(buildParameter);
const results = await CloudRunner.run(buildParameter, baseImage.toString()); const results = await CloudRunner.run(buildParameter, baseImage.toString());
const libraryString = 'Rebuilding Library because the asset database could not be found!'; const libraryString = 'Rebuilding Library because the asset database could not be found!';
@ -86,7 +92,7 @@ describe('Cloud Runner', () => {
expect(results).toContain(buildSucceededString); expect(results).toContain(buildSucceededString);
}); });
CloudRunnerLogger.log(`run 1 succeeded`); CloudRunnerLogger.log(`run 1 succeeded`);
const buildParameter2 = await BuildParameters.create(); const buildParameter2 = await CreateParameters(overrides);
const baseImage2 = new ImageTag(buildParameter2); const baseImage2 = new ImageTag(buildParameter2);
const results2 = await CloudRunner.run(buildParameter2, baseImage2.toString()); const results2 = await CloudRunner.run(buildParameter2, baseImage2.toString());
CloudRunnerLogger.log(`run 2 succeeded`); CloudRunnerLogger.log(`run 2 succeeded`);
@ -95,13 +101,11 @@ describe('Cloud Runner', () => {
expect(results2).toContain(buildSucceededString); expect(results2).toContain(buildSucceededString);
expect(results2).not.toContain(libraryString); expect(results2).not.toContain(libraryString);
}); });
GitHub.githubInputEnabled = true;
delete Cli.options;
}, 1000000); }, 1000000);
} }
it('Local cloud runner returns commands', async () => { it('Local cloud runner returns commands', async () => {
// Build parameters // Setup parameters
Cli.options = { const buildParameter = await CreateParameters({
versioning: 'None', versioning: 'None',
projectPath: 'test-project', projectPath: 'test-project',
unityVersion: UnityVersioning.read('test-project'), unityVersion: UnityVersioning.read('test-project'),
@ -115,36 +119,24 @@ describe('Cloud Runner', () => {
- name: '${testSecretName}' - name: '${testSecretName}'
value: '${testSecretValue}' value: '${testSecretValue}'
`, `,
}; });
GitHub.githubInputEnabled = false;
// Setup parameters
const buildParameter = await BuildParameters.create();
const baseImage = new ImageTag(buildParameter); const baseImage = new ImageTag(buildParameter);
// Run the job // Run the job
await expect(CloudRunner.run(buildParameter, baseImage.toString())).resolves.not.toThrow(); await expect(CloudRunner.run(buildParameter, baseImage.toString())).resolves.not.toThrow();
GitHub.githubInputEnabled = true;
delete Cli.options;
}, 1000000); }, 1000000);
it('Test cloud runner returns commands', async () => { it('Test cloud runner returns commands', async () => {
// Build parameters // Setup parameters
Cli.options = { const buildParameter = await CreateParameters({
versioning: 'None', versioning: 'None',
projectPath: 'test-project', projectPath: 'test-project',
unityVersion: UnityVersioning.read('test-project'), unityVersion: UnityVersioning.read('test-project'),
cloudRunnerCluster: 'test', cloudRunnerCluster: 'test',
targetPlatform: 'StandaloneLinux64', targetPlatform: 'StandaloneLinux64',
}; });
GitHub.githubInputEnabled = false;
// Setup parameters
const buildParameter = await BuildParameters.create();
const baseImage = new ImageTag(buildParameter); const baseImage = new ImageTag(buildParameter);
// Run the job // Run the job
await expect(CloudRunner.run(buildParameter, baseImage.toString())).resolves.not.toThrow(); await expect(CloudRunner.run(buildParameter, baseImage.toString())).resolves.not.toThrow();
GitHub.githubInputEnabled = true;
delete Cli.options;
}, 1000000); }, 1000000);
}); });

View File

@ -1,2 +1,2 @@
name: gcp-secret-manager name: gcp-secret-manager
read-secret: gcloud secrets versions access 1 --secret=\"{0}\" read-secret: gcloud secrets versions access 1 --secret=\"{0}\"