|
1 | | -import { BuildParameters } from '../..'; |
2 | 1 | import CloudRunner from '../cloud-runner'; |
3 | 2 | import UnityVersioning from '../../unity-versioning'; |
4 | | -import { Cli } from '../../cli/cli'; |
5 | | -import CloudRunnerOptions from '../options/cloud-runner-options'; |
6 | 3 | import setups from './cloud-runner-suite.test'; |
7 | | -import { OptionValues } from 'commander'; |
8 | 4 | import GitHub from '../../github'; |
9 | | -export const TIMEOUT_INFINITE = 1e9; |
10 | | -async function CreateParameters(overrides: OptionValues | undefined) { |
11 | | - if (overrides) Cli.options = overrides; |
12 | | - |
13 | | - return BuildParameters.create(); |
14 | | -} |
| 5 | +import { TIMEOUT_INFINITE, createParameters } from '../../../test-utils/cloud-runner-test-helpers'; |
15 | 6 | describe('Cloud Runner Github Checks', () => { |
16 | 7 | setups(); |
17 | 8 | it('Responds', () => {}); |
18 | 9 |
|
19 | | - if (CloudRunnerOptions.cloudRunnerDebug) { |
20 | | - it( |
21 | | - 'Check Handling Direct', |
22 | | - async () => { |
23 | | - // Setup parameters |
24 | | - const buildParameter = await CreateParameters({ |
25 | | - versioning: 'None', |
26 | | - projectPath: 'test-project', |
27 | | - unityVersion: UnityVersioning.read('test-project'), |
28 | | - asyncCloudRunner: `true`, |
29 | | - githubChecks: `true`, |
30 | | - }); |
31 | | - await CloudRunner.setup(buildParameter); |
32 | | - CloudRunner.buildParameters.githubCheckId = await GitHub.createGitHubCheck(`direct create`); |
33 | | - await GitHub.updateGitHubCheck(`1 ${new Date().toISOString()}`, `direct`); |
34 | | - await GitHub.updateGitHubCheck(`2 ${new Date().toISOString()}`, `direct`, `success`, `completed`); |
35 | | - }, |
36 | | - TIMEOUT_INFINITE, |
37 | | - ); |
38 | | - it( |
39 | | - 'Check Handling Via Async Workflow', |
40 | | - async () => { |
41 | | - // Setup parameters |
42 | | - const buildParameter = await CreateParameters({ |
43 | | - versioning: 'None', |
44 | | - projectPath: 'test-project', |
45 | | - unityVersion: UnityVersioning.read('test-project'), |
46 | | - asyncCloudRunner: `true`, |
47 | | - githubChecks: `true`, |
48 | | - }); |
49 | | - GitHub.forceAsyncTest = true; |
50 | | - await CloudRunner.setup(buildParameter); |
51 | | - CloudRunner.buildParameters.githubCheckId = await GitHub.createGitHubCheck(`async create`); |
52 | | - await GitHub.updateGitHubCheck(`1 ${new Date().toISOString()}`, `async`); |
53 | | - await GitHub.updateGitHubCheck(`2 ${new Date().toISOString()}`, `async`, `success`, `completed`); |
54 | | - GitHub.forceAsyncTest = false; |
55 | | - }, |
56 | | - TIMEOUT_INFINITE, |
57 | | - ); |
58 | | - } |
| 10 | + beforeEach(() => { |
| 11 | + // Mock GitHub API requests to avoid real network calls |
| 12 | + jest.spyOn(GitHub as any, 'createGitHubCheckRequest').mockResolvedValue({ |
| 13 | + status: 201, |
| 14 | + data: { id: '1' }, |
| 15 | + }); |
| 16 | + jest.spyOn(GitHub as any, 'updateGitHubCheckRequest').mockResolvedValue({ |
| 17 | + status: 200, |
| 18 | + data: {}, |
| 19 | + }); |
| 20 | + jest.spyOn(GitHub as any, 'runUpdateAsyncChecksWorkflow').mockResolvedValue(undefined); |
| 21 | + }); |
| 22 | + |
| 23 | + afterEach(() => { |
| 24 | + jest.restoreAllMocks(); |
| 25 | + }); |
| 26 | + |
| 27 | + it( |
| 28 | + 'Check Handling Direct', |
| 29 | + async () => { |
| 30 | + // Setup parameters |
| 31 | + const buildParameter = await createParameters({ |
| 32 | + versioning: 'None', |
| 33 | + projectPath: 'test-project', |
| 34 | + unityVersion: UnityVersioning.read('test-project'), |
| 35 | + asyncCloudRunner: `true`, |
| 36 | + githubChecks: `true`, |
| 37 | + }); |
| 38 | + await CloudRunner.setup(buildParameter); |
| 39 | + CloudRunner.buildParameters.githubCheckId = await GitHub.createGitHubCheck(`direct create`); |
| 40 | + await GitHub.updateGitHubCheck(`1 ${new Date().toISOString()}`, `direct`); |
| 41 | + await GitHub.updateGitHubCheck(`2 ${new Date().toISOString()}`, `direct`, `success`, `completed`); |
| 42 | + }, |
| 43 | + TIMEOUT_INFINITE, |
| 44 | + ); |
| 45 | + it( |
| 46 | + 'Check Handling Via Async Workflow', |
| 47 | + async () => { |
| 48 | + // Setup parameters |
| 49 | + const buildParameter = await createParameters({ |
| 50 | + versioning: 'None', |
| 51 | + projectPath: 'test-project', |
| 52 | + unityVersion: UnityVersioning.read('test-project'), |
| 53 | + asyncCloudRunner: `true`, |
| 54 | + githubChecks: `true`, |
| 55 | + }); |
| 56 | + GitHub.forceAsyncTest = true; |
| 57 | + await CloudRunner.setup(buildParameter); |
| 58 | + CloudRunner.buildParameters.githubCheckId = await GitHub.createGitHubCheck(`async create`); |
| 59 | + await GitHub.updateGitHubCheck(`1 ${new Date().toISOString()}`, `async`); |
| 60 | + await GitHub.updateGitHubCheck(`2 ${new Date().toISOString()}`, `async`, `success`, `completed`); |
| 61 | + GitHub.forceAsyncTest = false; |
| 62 | + }, |
| 63 | + TIMEOUT_INFINITE, |
| 64 | + ); |
59 | 65 | }); |
0 commit comments