|
1 | | -import {runCommand} from '@oclif/test' |
2 | | -import {expect} from 'chai' |
| 1 | +import { runCommand } from '@oclif/test' |
| 2 | +import { expect } from 'chai' |
| 3 | +import * as sinon from 'sinon' |
| 4 | + |
| 5 | +import { ScConnection } from '../../../../src/util/sc-connection.js' |
3 | 6 |
|
4 | 7 | describe('missionctrl:broker:create', () => { |
| 8 | + let scConnPostStub: any |
| 9 | + let scConnGetStub: any |
| 10 | + let envName: string = 'MyTestEnvironment' |
| 11 | + let brokerName: string = 'MyEventBrokerName' |
| 12 | + let brokerDC: string = 'eks-ca-central-1a' |
| 13 | + let brokerSvcClassId: string = 'DEVELOPER' |
| 14 | + |
| 15 | + function anEnv(name: string, isDefault: boolean, isProd: boolean) { |
| 16 | + return { |
| 17 | + bgColor: '#DA162D', |
| 18 | + createdBy: 'someuser', |
| 19 | + createdTime: '2024-09-05T19:54:42.766', |
| 20 | + description: `This is a description for the the environment ${name}`, |
| 21 | + fgColor: '#FFFFFF', |
| 22 | + icon: 'ROCKET_LAUNCH', |
| 23 | + id: `id${name}`, |
| 24 | + isDefault, |
| 25 | + isProduction: isProd, |
| 26 | + name, |
| 27 | + updatedBy: 'someuser', |
| 28 | + updatedTime: '2024-09-05T19:54:42.766', |
| 29 | + } |
| 30 | +} |
| 31 | + |
| 32 | + beforeEach(() => { |
| 33 | + scConnPostStub = sinon.stub(ScConnection.prototype, <any>'post') |
| 34 | + scConnGetStub = sinon.stub(ScConnection.prototype, <any>'get') |
| 35 | + }); |
| 36 | + |
| 37 | + afterEach(() => { |
| 38 | + scConnPostStub.restore() |
| 39 | + scConnGetStub.restore() |
| 40 | + }) |
| 41 | + |
5 | 42 | it('runs missionctrl:broker:create cmd', async () => { |
6 | | - const {stdout} = await runCommand('missionctrl:broker:create') |
7 | | - expect(stdout).to.contain('hello world') |
| 43 | + const { stdout } = await runCommand('missionctrl:broker:create') |
| 44 | + expect(stdout).to.contain('') |
8 | 45 | }) |
9 | 46 |
|
10 | | - it('runs missionctrl:broker:create --name oclif', async () => { |
11 | | - const {stdout} = await runCommand('missionctrl:broker:create --name oclif') |
12 | | - expect(stdout).to.contain('hello oclif') |
| 47 | + it(`runs missionctrl:broker:create -n ${brokerName} -d ${brokerDC} -c ${brokerSvcClassId}`, async () => { |
| 48 | + let createOutputMsg = 'Event broker service created successfully.' |
| 49 | + scConnPostStub.returns(createOutputMsg) |
| 50 | + |
| 51 | + const { stdout } = await runCommand(`missionctrl:broker:create -n ${brokerName} -d ${brokerDC} -c ${brokerSvcClassId}`) |
| 52 | + expect(stdout).to.contain(createOutputMsg) |
| 53 | + }) |
| 54 | + |
| 55 | + it(`runs missionctrl:broker:create -e ${envName} -n ${brokerName} -d ${brokerDC} -c ${brokerSvcClassId}`, async () => { |
| 56 | + // Arrange |
| 57 | + const envName = 'Default' |
| 58 | + const envs = { |
| 59 | + data: [anEnv(envName, true, false)], |
| 60 | + meta: { |
| 61 | + pagination: { |
| 62 | + count: 1, |
| 63 | + nextPage: null, |
| 64 | + pageNumber: 1, |
| 65 | + pageSize: 10, |
| 66 | + totalPages: 1 |
| 67 | + } |
| 68 | + } |
| 69 | + } |
| 70 | + scConnGetStub.returns(Promise.resolve(envs)) |
| 71 | + |
| 72 | + let createOutputMsg = 'Event broker service created successfully.' |
| 73 | + scConnPostStub.returns(createOutputMsg) |
| 74 | + |
| 75 | + const { stdout } = await runCommand(`missionctrl:broker:create -e ${envName} -n ${brokerName} -d ${brokerDC} -c ${brokerSvcClassId}`) |
| 76 | + expect(stdout).to.contain(createOutputMsg) |
13 | 77 | }) |
14 | 78 | }) |
0 commit comments