get output from local-docker

pull/461/head
Frostebite 2022-09-19 01:46:13 +01:00
parent aa1f3ccc51
commit 832bdbbd8b
2 changed files with 9 additions and 78 deletions

View File

@ -1,71 +0,0 @@
import { BuildParameters, ImageTag } from '../..';
import CloudRunner from '../cloud-runner';
import Input from '../../input';
import { CloudRunnerStatics } from '../cloud-runner-statics';
import { TaskParameterSerializer } from '../services/task-parameter-serializer';
import UnityVersioning from '../../unity-versioning';
import { Cli } from '../../cli/cli';
import CloudRunnerLogger from '../services/cloud-runner-logger';
import CloudRunnerOptions from '../cloud-runner-options';
import setups from './cloud-runner-suite.test';
async function CreateParameters(overrides) {
if (overrides) {
Cli.options = overrides;
}
return await BuildParameters.create();
}
describe('Cloud Runner', () => {
it('Responds', () => {});
setups();
const testSecretName = 'testSecretName';
const testSecretValue = 'testSecretValue';
if (CloudRunnerOptions.cloudRunnerTests) {
it('All build parameters sent to cloud runner as env vars', async () => {
// Setup parameters
const buildParameter = await CreateParameters({
versioning: 'None',
projectPath: 'test-project',
unityVersion: UnityVersioning.determineUnityVersion('test-project', UnityVersioning.read('test-project')),
targetPlatform: 'StandaloneLinux64',
customJob: `
- name: 'step 1'
image: 'alpine'
commands: 'printenv'
secrets:
- name: '${testSecretName}'
value: '${testSecretValue}'
`,
});
const baseImage = new ImageTag(buildParameter);
// Run the job
const file = await CloudRunner.run(buildParameter, baseImage.toString());
// Assert results
for (const element of Object.keys(buildParameter)) {
expect(file).toContain(`PARAM-${Input.ToEnvVarFormat(element)}=${buildParameter[element]}`);
}
expect(file).toContain(`${Input.ToEnvVarFormat(testSecretName)}=${testSecretValue}`);
const environmentVariables = TaskParameterSerializer.readBuildEnvironmentVariables(buildParameter);
const newLinePurgedFile = file
.replace(/\s+/g, '')
.replace(new RegExp(`\\[${CloudRunnerStatics.logPrefix}\\]`, 'g'), '');
for (const element of environmentVariables) {
if (element.value !== undefined && typeof element.value !== 'function') {
if (typeof element.value === `string`) {
element.value = element.value.replace(/\s+/g, '');
}
CloudRunnerLogger.log(`checking input/build param ${element.name} ${element.value}`);
}
}
for (const element of environmentVariables) {
if (element.value !== undefined && typeof element.value !== 'function') {
expect(newLinePurgedFile).toContain(`${element.name}`);
expect(newLinePurgedFile).toContain(`${element.name}=${element.value}`);
}
}
}, 100000);
}
});

View File

@ -52,11 +52,6 @@ describe('Cloud Runner', () => {
// Assert results
// expect(file).toContain(JSON.stringify(buildParameter));
for (const element of Object.keys(buildParameter)) {
expect(file).toContain(`PARAM-${Input.ToEnvVarFormat(element)}=${buildParameter[element]}`);
}
expect(file).toContain(`${Input.ToEnvVarFormat(testSecretName)}=${testSecretValue}`);
const environmentVariables = TaskParameterSerializer.readBuildEnvironmentVariables(buildParameter);
const secrets = TaskParameterSerializer.readDefaultSecrets().map((x) => {
@ -65,10 +60,17 @@ describe('Cloud Runner', () => {
value: x.ParameterValue,
};
});
const buildParametersAsEnvironmentVariables = Object.keys(buildParameter).map((x) => {
return {
name: `PARAM-${Input.ToEnvVarFormat(x)}`,
value: buildParameter[x],
};
});
const combined = [...environmentVariables, ...secrets, ...buildParametersAsEnvironmentVariables];
const newLinePurgedFile = file
.replace(/\s+/g, '')
.replace(new RegExp(`\\[${CloudRunnerStatics.logPrefix}\\]`, 'g'), '');
for (const element of [...environmentVariables, ...secrets]) {
for (const element of combined) {
if (element.value !== undefined && typeof element.value !== 'function') {
if (typeof element.value === `string`) {
element.value = element.value.replace(/\s+/g, '');
@ -76,7 +78,7 @@ describe('Cloud Runner', () => {
CloudRunnerLogger.log(`checking input/build param ${element.name} ${element.value}`);
}
}
for (const element of [...environmentVariables, ...secrets]) {
for (const element of combined) {
if (
element.value !== undefined &&
typeof element.value !== 'function' &&