Skip to content

Commit ec5e911

Browse files
Merge pull request #52 from matthewpwilson/deps
Revert to throwing ImperativeError from handler
2 parents 345bf83 + 7b7027c commit ec5e911

File tree

13 files changed

+847
-723
lines changed

13 files changed

+847
-723
lines changed

__tests__/api/BundleDeploy/BundleDeployer.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import { BundleDeployer } from "../../../src/api/BundleDeploy/BundleDeployer";
1313
import { IHandlerParameters } from "@zowe/imperative";
1414
import * as DeployBundleDefinition from "../../../src/cli/deploy/bundle/DeployBundle.definition";
1515
import * as fse from "fs-extra";
16-
import { ZosmfSession, SubmitJobs, List } from "@brightside/core";
16+
import { ZosmfSession, SubmitJobs, List } from "@zowe/cli";
1717

1818

1919
const DEFAULT_PARAMTERS: IHandlerParameters = {

__tests__/cli/deploy/bundle/DeployBundle.handler.test.ts

Lines changed: 34 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,9 @@
1010
*
1111
*/
1212

13-
import {CheckStatus, ZosmfSession} from "@brightside/core";
14-
import {IHandlerParameters, Imperative, ImperativeError} from "@zowe/imperative";
13+
import {IHandlerParameters, ImperativeError} from "@zowe/imperative";
1514
import * as DeployBundleDefinition from "../../../../src/cli/deploy/bundle/DeployBundle.definition";
1615
import * as DeployBundleHandler from "../../../../src/cli/deploy/bundle/DeployBundle.handler";
17-
import * as fs from "fs";
1816

1917
process.env.FORCE_COLOR = "0";
2018

@@ -82,9 +80,7 @@ describe("bundle Handler", () => {
8280
} catch (e) {
8381
err = e;
8482
}
85-
expect(err).toBeUndefined();
86-
expect(params.arguments.errorMsg).toBeDefined();
87-
expect(params.arguments.errorMsg).toContain("--name parameter is not a string");
83+
expectImperativeErrorWithMessage(err, "--name parameter is not a string");
8884
});
8985
it("should complain with overlong name parameter", async () => {
9086
await testNameError("123456789", "--name parameter is too long");
@@ -108,9 +104,7 @@ describe("bundle Handler", () => {
108104
} catch (e) {
109105
err = e;
110106
}
111-
expect(err).toBeUndefined();
112-
expect(params.arguments.errorMsg).toBeDefined();
113-
expect(params.arguments.errorMsg).toContain("--bundledir parameter is not a string");
107+
expectImperativeErrorWithMessage(err, "--bundledir parameter is not a string");
114108
});
115109
it("should complain with overlong bundledir parameter", async () => {
116110
const dir = "12345678901234567890123456789012345678901234567890" +
@@ -142,9 +136,7 @@ describe("bundle Handler", () => {
142136
} catch (e) {
143137
err = e;
144138
}
145-
expect(err).toBeUndefined();
146-
expect(params.arguments.errorMsg).toBeDefined();
147-
expect(params.arguments.errorMsg).toContain("--cics-deploy-profile parameter is not a string");
139+
expectImperativeErrorWithMessage(err, "--cics-deploy-profile parameter is not a string");
148140
});
149141
it("should complain if profile is empty", async () => {
150142
await testProfileError("", "--cics-deploy-profile parameter is empty");
@@ -162,9 +154,7 @@ describe("bundle Handler", () => {
162154
} catch (e) {
163155
err = e;
164156
}
165-
expect(err).toBeUndefined();
166-
expect(params.arguments.errorMsg).toBeDefined();
167-
expect(params.arguments.errorMsg).toContain("--cicsplex parameter is not a string");
157+
expectImperativeErrorWithMessage(err, "--cicsplex parameter is not a string");
168158
});
169159
it("should complain with overlong cicsplex parameter", async () => {
170160
await testCicsplexError("123456789", "--cicsplex parameter is too long");
@@ -185,9 +175,7 @@ describe("bundle Handler", () => {
185175
} catch (e) {
186176
err = e;
187177
}
188-
expect(err).toBeUndefined();
189-
expect(params.arguments.errorMsg).toBeDefined();
190-
expect(params.arguments.errorMsg).toContain("--scope parameter is not a string");
178+
expectImperativeErrorWithMessage(err, "--scope parameter is not a string");
191179
});
192180
it("should complain with overlong scope parameter", async () => {
193181
await testScopeError("123456789", "--scope parameter is too long");
@@ -208,9 +196,7 @@ describe("bundle Handler", () => {
208196
} catch (e) {
209197
err = e;
210198
}
211-
expect(err).toBeUndefined();
212-
expect(params.arguments.errorMsg).toBeDefined();
213-
expect(params.arguments.errorMsg).toContain("--csdgroup parameter is not a string");
199+
expectImperativeErrorWithMessage(err, "--csdgroup parameter is not a string");
214200
});
215201
it("should complain with overlong csdgroup parameter", async () => {
216202
await testCsdgroupError("123456789", "--csdgroup parameter is too long");
@@ -232,9 +218,7 @@ describe("bundle Handler", () => {
232218
} catch (e) {
233219
err = e;
234220
}
235-
expect(err).toBeUndefined();
236-
expect(params.arguments.errorMsg).toBeDefined();
237-
expect(params.arguments.errorMsg).toContain("--csdgroup and --resgroup cannot both be set");
221+
expectImperativeErrorWithMessage(err, "--csdgroup and --resgroup cannot both be set");
238222
});
239223
it("should complain with invalid type for resgroup parameter", async () => {
240224

@@ -249,9 +233,7 @@ describe("bundle Handler", () => {
249233
} catch (e) {
250234
err = e;
251235
}
252-
expect(err).toBeUndefined();
253-
expect(params.arguments.errorMsg).toBeDefined();
254-
expect(params.arguments.errorMsg).toContain("--resgroup parameter is not a string");
236+
expectImperativeErrorWithMessage(err, "--resgroup parameter is not a string");
255237
});
256238
it("should complain with overlong resgroup parameter", async () => {
257239
await testResgroupError("123456789", "--resgroup parameter is too long");
@@ -272,9 +254,7 @@ describe("bundle Handler", () => {
272254
} catch (e) {
273255
err = e;
274256
}
275-
expect(err).toBeUndefined();
276-
expect(params.arguments.errorMsg).toBeDefined();
277-
expect(params.arguments.errorMsg).toContain("--timeout parameter is not an integer");
257+
expectImperativeErrorWithMessage(err, "--timeout parameter is not an integer");
278258
});
279259
it("should complain with non-integer timeout", async () => {
280260
await testTimeoutError(1.1, "--timeout parameter is not an integer");
@@ -301,9 +281,7 @@ describe("bundle Handler", () => {
301281
} catch (e) {
302282
err = e;
303283
}
304-
expect(err).toBeUndefined();
305-
expect(params.arguments.errorMsg).toBeDefined();
306-
expect(params.arguments.errorMsg).toContain("--cicshlq parameter is not a string");
284+
expectImperativeErrorWithMessage(err, "--cicshlq parameter is not a string");
307285
});
308286
it("should complain with overlong cicshlq parameter", async () => {
309287
await testCicsHLQError("123456789012345678901234567890123456", "--cicshlq parameter is too long");
@@ -327,9 +305,7 @@ describe("bundle Handler", () => {
327305
} catch (e) {
328306
err = e;
329307
}
330-
expect(err).toBeUndefined();
331-
expect(params.arguments.errorMsg).toBeDefined();
332-
expect(params.arguments.errorMsg).toContain("--cpsmhlq parameter is not a string");
308+
expectImperativeErrorWithMessage(err, "--cpsmhlq parameter is not a string");
333309
});
334310
it("should complain with overlong cpsmhlq parameter", async () => {
335311
await testCpsmHLQError("123456789012345678901234567890123456", "--cpsmhlq parameter is too long");
@@ -353,9 +329,7 @@ describe("bundle Handler", () => {
353329
} catch (e) {
354330
err = e;
355331
}
356-
expect(err).toBeUndefined();
357-
expect(params.arguments.errorMsg).toBeDefined();
358-
expect(params.arguments.errorMsg).toContain("--jobcard parameter is not a string");
332+
expectImperativeErrorWithMessage(err, "--jobcard parameter is not a string");
359333
});
360334
it("should complain with empty jobcard parameter", async () => {
361335
await testJobcardError("", "--jobcard parameter is empty");
@@ -391,9 +365,7 @@ describe("bundle Handler", () => {
391365
} catch (e) {
392366
err = e;
393367
}
394-
expect(err).toBeUndefined();
395-
expect(params.arguments.errorMsg).toBeDefined();
396-
expect(params.arguments.errorMsg).toContain("--targetstate parameter is not a string");
368+
expectImperativeErrorWithMessage(err, "--targetstate parameter is not a string");
397369
});
398370
it("should complain with empty targetstate parameter", async () => {
399371
await testTargetStateDeployError("", "--targetstate parameter is empty");
@@ -415,9 +387,7 @@ describe("bundle Handler", () => {
415387
} catch (e) {
416388
err = e;
417389
}
418-
expect(err).toBeUndefined();
419-
expect(params.arguments.errorMsg).toBeDefined();
420-
expect(params.arguments.errorMsg).toContain("--verbose parameter is not boolean");
390+
expectImperativeErrorWithMessage(err, "--verbose parameter is not boolean");
421391
});
422392
it("should complain if zosmf profile not found", async () => {
423393

@@ -433,9 +403,7 @@ describe("bundle Handler", () => {
433403
} catch (e) {
434404
err = e;
435405
}
436-
expect(err).toBeUndefined();
437-
expect(params.arguments.errorMsg).toBeDefined();
438-
expect(params.arguments.errorMsg).toContain("No zosmf profile found");
406+
expectImperativeErrorWithMessage(err, "No zosmf profile found");
439407
});
440408
});
441409

@@ -467,9 +435,7 @@ async function testNameError(name: string, result: string) {
467435
} catch (e) {
468436
err = e;
469437
}
470-
expect(err).toBeUndefined();
471-
expect(params.arguments.errorMsg).toBeDefined();
472-
expect(params.arguments.errorMsg).toContain(result);
438+
expectImperativeErrorWithMessage(err, result);
473439
}
474440

475441
function setCommonParmsForBundledirTests(parms: IHandlerParameters) {
@@ -489,9 +455,7 @@ async function testBundledirError(bundledir: string, result: string) {
489455
} catch (e) {
490456
err = e;
491457
}
492-
expect(err).toBeUndefined();
493-
expect(params.arguments.errorMsg).toBeDefined();
494-
expect(params.arguments.errorMsg).toContain(result);
458+
expectImperativeErrorWithMessage(err, result);
495459
}
496460

497461
function setCommonParmsForProfileTests(parms: IHandlerParameters) {
@@ -511,9 +475,7 @@ async function testProfileError(profile: string, result: string) {
511475
} catch (e) {
512476
err = e;
513477
}
514-
expect(err).toBeUndefined();
515-
expect(params.arguments.errorMsg).toBeDefined();
516-
expect(params.arguments.errorMsg).toContain(result);
478+
expectImperativeErrorWithMessage(err, result);
517479
}
518480

519481
function setCommonParmsForCicsplexTests(parms: IHandlerParameters) {
@@ -533,9 +495,7 @@ async function testCicsplexError(cicsplex: string, result: string) {
533495
} catch (e) {
534496
err = e;
535497
}
536-
expect(err).toBeUndefined();
537-
expect(params.arguments.errorMsg).toBeDefined();
538-
expect(params.arguments.errorMsg).toContain(result);
498+
expectImperativeErrorWithMessage(err, result);
539499
}
540500

541501
function setCommonParmsForScopeTests(parms: IHandlerParameters) {
@@ -556,9 +516,7 @@ async function testScopeError(scope: string, result: string) {
556516
} catch (e) {
557517
err = e;
558518
}
559-
expect(err).toBeUndefined();
560-
expect(params.arguments.errorMsg).toBeDefined();
561-
expect(params.arguments.errorMsg).toContain(result);
519+
expectImperativeErrorWithMessage(err, result);
562520
}
563521

564522
function setCommonParmsForCsdgroupTests(parms: IHandlerParameters) {
@@ -578,9 +536,7 @@ async function testCsdgroupError(csdgroup: string, result: string) {
578536
} catch (e) {
579537
err = e;
580538
}
581-
expect(err).toBeUndefined();
582-
expect(params.arguments.errorMsg).toBeDefined();
583-
expect(params.arguments.errorMsg).toContain(result);
539+
expectImperativeErrorWithMessage(err, result);
584540
}
585541

586542
function setCommonParmsForResgroupTests(parms: IHandlerParameters) {
@@ -599,9 +555,7 @@ async function testResgroupError(resgroup: string, result: string) {
599555
} catch (e) {
600556
err = e;
601557
}
602-
expect(err).toBeUndefined();
603-
expect(params.arguments.errorMsg).toBeDefined();
604-
expect(params.arguments.errorMsg).toContain(result);
558+
expectImperativeErrorWithMessage(err, result);
605559
}
606560

607561
function setCommonParmsForTimeoutTests(parms: IHandlerParameters) {
@@ -621,9 +575,7 @@ async function testTimeoutError(timeout: number, result: string) {
621575
} catch (e) {
622576
err = e;
623577
}
624-
expect(err).toBeUndefined();
625-
expect(params.arguments.errorMsg).toBeDefined();
626-
expect(params.arguments.errorMsg).toContain(result);
578+
expectImperativeErrorWithMessage(err, (result));
627579
}
628580

629581
function setCommonParmsForCicsHLQTests(parms: IHandlerParameters) {
@@ -642,9 +594,7 @@ async function testCicsHLQError(cicshlq: string, result: string) {
642594
} catch (e) {
643595
err = e;
644596
}
645-
expect(err).toBeUndefined();
646-
expect(params.arguments.errorMsg).toBeDefined();
647-
expect(params.arguments.errorMsg).toContain(result);
597+
expectImperativeErrorWithMessage(err, result);
648598
}
649599

650600
function setCommonParmsForCpsmHLQTests(parms: IHandlerParameters) {
@@ -664,9 +614,7 @@ async function testCpsmHLQError(cpsmhlq: string, result: string) {
664614
} catch (e) {
665615
err = e;
666616
}
667-
expect(err).toBeUndefined();
668-
expect(params.arguments.errorMsg).toBeDefined();
669-
expect(params.arguments.errorMsg).toContain(result);
617+
expectImperativeErrorWithMessage(err, result);
670618
}
671619

672620
function setCommonParmsForJobcardTests(parms: IHandlerParameters) {
@@ -687,9 +635,7 @@ async function testJobcardError(jobcard: string, result: string) {
687635
} catch (e) {
688636
err = e;
689637
}
690-
expect(err).toBeUndefined();
691-
expect(params.arguments.errorMsg).toBeDefined();
692-
expect(params.arguments.errorMsg).toContain(result);
638+
expectImperativeErrorWithMessage(err, result);
693639
}
694640

695641
function setCommonParmsForTargetStateTests(parms: IHandlerParameters) {
@@ -709,7 +655,11 @@ async function testTargetStateDeployError(targetstate: string, result: string) {
709655
} catch (e) {
710656
err = e;
711657
}
712-
expect(err).toBeUndefined();
713-
expect(params.arguments.errorMsg).toBeDefined();
714-
expect(params.arguments.errorMsg).toContain(result);
658+
expectImperativeErrorWithMessage(err, result);
659+
}
660+
661+
function expectImperativeErrorWithMessage(err: any, message: string) {
662+
expect(err).toBeDefined();
663+
expect(err).toBeInstanceOf(ImperativeError);
664+
expect(err.message).toContain(message);
715665
}

__tests__/cli/deploy/bundle/__snapshots__/DeployBundle.handler.test.ts.snap

Lines changed: 0 additions & 6 deletions
This file was deleted.

__tests__/cli/generate/bundle/GenerateBundle.handler.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
*
1111
*/
1212

13-
import {CheckStatus, ZosmfSession} from "@brightside/core";
13+
import {CheckStatus, ZosmfSession} from "@zowe/cli";
1414
import {IHandlerParameters, Imperative, ImperativeError} from "@zowe/imperative";
1515
import * as GenerateBundleDefinition from "../../../../src/cli/generate/bundle/GenerateBundle.definition";
1616
import * as GenerateBundleHandler from "../../../../src/cli/generate/bundle/GenerateBundle.handler";

__tests__/cli/undeploy/bundle/UndeployBundle.handler.test.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
*
1111
*/
1212

13-
import {CheckStatus, ZosmfSession} from "@brightside/core";
13+
import {CheckStatus, ZosmfSession} from "@zowe/cli";
1414
import {IHandlerParameters, Imperative, ImperativeError} from "@zowe/imperative";
1515
import * as UndeployBundleDefinition from "../../../../src/cli/undeploy/bundle/UndeployBundle.definition";
1616
import * as UndeployBundleHandler from "../../../../src/cli/undeploy/bundle/UndeployBundle.handler";
@@ -70,9 +70,9 @@ describe("bundle Handler", () => {
7070
} catch (e) {
7171
err = e;
7272
}
73-
expect(err).toBeUndefined();
74-
expect(params.arguments.errorMsg).toBeDefined();
75-
expect(params.arguments.errorMsg).toContain("--name parameter is not set");
73+
expect(err).toBeDefined();
74+
expect(err).toBeInstanceOf(ImperativeError);
75+
expect(err.message).toContain("--name parameter is not set");
7676
});
7777

7878
// Note we don't need to duplicate all the input validation tests from
@@ -95,9 +95,9 @@ describe("bundle Handler", () => {
9595
} catch (e) {
9696
err = e;
9797
}
98-
expect(err).toBeUndefined();
99-
expect(params.arguments.errorMsg).toBeDefined();
100-
expect(params.arguments.errorMsg).toContain("--targetstate parameter is not a string");
98+
expect(err).toBeDefined();
99+
expect(err).toBeInstanceOf(ImperativeError);
100+
expect(err.message).toContain("--targetstate parameter is not a string");
101101
});
102102
it("should complain with empty targetstate parameter UNDEPLOY", async () => {
103103
await testTargetStateUndeployError("", "--targetstate parameter is empty");
@@ -133,7 +133,7 @@ async function testTargetStateUndeployError(targetstate: string, result: string)
133133
} catch (e) {
134134
err = e;
135135
}
136-
expect(err).toBeUndefined();
137-
expect(params.arguments.errorMsg).toBeDefined();
138-
expect(params.arguments.errorMsg).toContain(result);
136+
expect(err).toBeDefined();
137+
expect(err).toBeInstanceOf(ImperativeError);
138+
expect(err.message).toContain(result);
139139
}

__tests__/cli/undeploy/bundle/__snapshots__/UndeployBundle.handler.test.ts.snap

Lines changed: 0 additions & 6 deletions
This file was deleted.

0 commit comments

Comments
 (0)