unity-builder/src/model/cloud-runner/tests/cloud-runner-async-workflow...

45 lines
1.5 KiB
TypeScript

import { BuildParameters, ImageTag } from '../..';
import CloudRunner from '../cloud-runner';
import UnityVersioning from '../../unity-versioning';
import { Cli } from '../../cli/cli';
import CloudRunnerOptions from '../options/cloud-runner-options';
import setups from './cloud-runner-suite.test';
import { OptionValues } from 'commander';
import GitHub from '../../github';
import CloudRunnerLogger from '../services/core/cloud-runner-logger';
async function CreateParameters(overrides: OptionValues | undefined) {
if (overrides) Cli.options = overrides;
return BuildParameters.create();
}
describe('Cloud Runner Async Workflows', () => {
setups();
it('Responds', () => {});
if (CloudRunnerOptions.cloudRunnerDebug && CloudRunnerOptions.providerStrategy !== `local-docker`) {
it('Async Workflows', async () => {
// Setup parameters
const buildParameter = await CreateParameters({
versioning: 'None',
projectPath: 'test-project',
unityVersion: UnityVersioning.read('test-project'),
asyncCloudRunner: `true`,
githubChecks: `true`,
});
const baseImage = new ImageTag(buildParameter);
// Run the job
await CloudRunner.run(buildParameter, baseImage.toString());
const result = await GitHub.getCheckStatus();
expect(result).toBe(`success`);
// wait for 15 seconds
await new Promise((resolve) => setTimeout(resolve, 15_000));
// log data
CloudRunnerLogger.log(JSON.stringify(result.data, undefined, 4));
}, 1_000_000_000);
}
});