codify-plugin-test 0.0.5 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/plugin-tester.js +17 -5
- package/dist/plugin-tester.js.map +1 -1
- package/dist/test-utils.js +2 -2
- package/dist/test-utils.js.map +1 -1
- package/package.json +3 -3
- package/src/plugin-tester.ts +17 -5
- package/src/test-utils.ts +2 -2
- package/test/plugin-tester.test.ts +33 -17
package/dist/plugin-tester.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import Ajv from 'ajv';
|
|
2
2
|
import { IpcMessageSchema, MessageCmd, ParameterOperation, ResourceOperation, SpawnStatus, SudoRequestDataSchema } from 'codify-schemas';
|
|
3
3
|
import { fork, spawn } from 'node:child_process';
|
|
4
4
|
import path from 'node:path';
|
|
5
5
|
import { CodifyTestUtils } from './test-utils.js';
|
|
6
|
-
const ajv = new
|
|
6
|
+
const ajv = new Ajv.default({
|
|
7
7
|
strict: true
|
|
8
8
|
});
|
|
9
9
|
const ipcMessageValidator = ajv.compile(IpcMessageSchema);
|
|
@@ -34,7 +34,11 @@ export class PluginTester {
|
|
|
34
34
|
}
|
|
35
35
|
const plans = [];
|
|
36
36
|
for (const config of configs) {
|
|
37
|
-
plans.push(await this.plan(
|
|
37
|
+
plans.push(await this.plan({
|
|
38
|
+
desired: config,
|
|
39
|
+
isStateful: false,
|
|
40
|
+
state: undefined,
|
|
41
|
+
}));
|
|
38
42
|
}
|
|
39
43
|
if (assertPlans) {
|
|
40
44
|
assertPlans(plans);
|
|
@@ -46,7 +50,11 @@ export class PluginTester {
|
|
|
46
50
|
}
|
|
47
51
|
const validationPlans = [];
|
|
48
52
|
for (const config of configs) {
|
|
49
|
-
validationPlans.push(await this.plan(
|
|
53
|
+
validationPlans.push(await this.plan({
|
|
54
|
+
desired: config,
|
|
55
|
+
isStateful: false,
|
|
56
|
+
state: undefined,
|
|
57
|
+
}));
|
|
50
58
|
}
|
|
51
59
|
const unsuccessfulPlans = validationPlans.filter((p) => p.operation !== ResourceOperation.NOOP);
|
|
52
60
|
if (unsuccessfulPlans.length > 0) {
|
|
@@ -69,7 +77,11 @@ ${JSON.stringify(unsuccessfulPlans, null, 2)}`);
|
|
|
69
77
|
resourceType: type,
|
|
70
78
|
}
|
|
71
79
|
});
|
|
72
|
-
const validationPlan = await this.plan(
|
|
80
|
+
const validationPlan = await this.plan({
|
|
81
|
+
desired: config,
|
|
82
|
+
state: undefined,
|
|
83
|
+
isStateful: false,
|
|
84
|
+
});
|
|
73
85
|
if (validationPlan.operation !== ResourceOperation.CREATE) {
|
|
74
86
|
throw new Error(`Resource ${type} was not successfully destroyed.
|
|
75
87
|
Validation plan shows:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-tester.js","sourceRoot":"","sources":["../src/plugin-tester.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"plugin-tester.js","sourceRoot":"","sources":["../src/plugin-tester.ts"],"names":[],"mappings":"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"}
|
package/dist/test-utils.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import Ajv from 'ajv';
|
|
2
2
|
import { IpcMessageSchema, MessageStatus } from 'codify-schemas';
|
|
3
|
-
const ajv = new
|
|
3
|
+
const ajv = new Ajv.default({
|
|
4
4
|
strict: true
|
|
5
5
|
});
|
|
6
6
|
const ipcMessageValidator = ajv.compile(IpcMessageSchema);
|
package/dist/test-utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-utils.js","sourceRoot":"","sources":["../src/test-utils.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"test-utils.js","sourceRoot":"","sources":["../src/test-utils.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAc,gBAAgB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG7E,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC;IAC1B,MAAM,EAAE,IAAI;CACb,CAAC,CAAC;AACH,MAAM,mBAAmB,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAE1D,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,2BAA2B,CAAC,OAAqB,EAAE,OAAmB;QACpE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,QAAoB,EAAE,EAAE;gBAC7C,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACnC,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBACtF,CAAC;gBAGD,IAAI,QAAQ,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,GAAG,WAAW,EAAE,CAAC;oBAC/C,IAAI,QAAQ,CAAC,MAAM,KAAK,aAAa,CAAC,OAAO,EAAE,CAAC;wBAC9C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;oBACxB,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;oBAC1C,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;YAGH,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;CAEF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "codify-plugin-test",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.7",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"typings": "dist/index.d.ts",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"dependencies": {
|
|
16
16
|
"ajv": "^8.12.0",
|
|
17
17
|
"ajv-formats": "^3.0.1",
|
|
18
|
-
"codify-schemas": "1.0.
|
|
18
|
+
"codify-schemas": "1.0.45"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
21
|
"@oclif/prettier-config": "^0.2.1",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"tsx": "^4.7.3",
|
|
29
29
|
"typescript": "^5",
|
|
30
30
|
"vitest": "^1.4.0",
|
|
31
|
-
"codify-plugin-lib": "1.0.
|
|
31
|
+
"codify-plugin-lib": "1.0.76"
|
|
32
32
|
},
|
|
33
33
|
"engines": {
|
|
34
34
|
"node": ">=18.0.0"
|
package/src/plugin-tester.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import Ajv from 'ajv';
|
|
2
2
|
import {
|
|
3
3
|
ApplyRequestData,
|
|
4
4
|
InitializeResponseData,
|
|
@@ -20,7 +20,7 @@ import path from 'node:path';
|
|
|
20
20
|
|
|
21
21
|
import { CodifyTestUtils } from './test-utils.js';
|
|
22
22
|
|
|
23
|
-
const ajv = new
|
|
23
|
+
const ajv = new Ajv.default({
|
|
24
24
|
strict: true
|
|
25
25
|
});
|
|
26
26
|
const ipcMessageValidator = ajv.compile(IpcMessageSchema);
|
|
@@ -72,7 +72,11 @@ export class PluginTester {
|
|
|
72
72
|
|
|
73
73
|
const plans = [];
|
|
74
74
|
for (const config of configs) {
|
|
75
|
-
plans.push(await this.plan(
|
|
75
|
+
plans.push(await this.plan({
|
|
76
|
+
desired: config,
|
|
77
|
+
isStateful: false,
|
|
78
|
+
state: undefined,
|
|
79
|
+
}));
|
|
76
80
|
}
|
|
77
81
|
|
|
78
82
|
if (assertPlans) {
|
|
@@ -88,7 +92,11 @@ export class PluginTester {
|
|
|
88
92
|
// Check that all applys were successful by re-planning
|
|
89
93
|
const validationPlans = [];
|
|
90
94
|
for (const config of configs) {
|
|
91
|
-
validationPlans.push(await this.plan(
|
|
95
|
+
validationPlans.push(await this.plan({
|
|
96
|
+
desired: config,
|
|
97
|
+
isStateful: false,
|
|
98
|
+
state: undefined,
|
|
99
|
+
}));
|
|
92
100
|
}
|
|
93
101
|
|
|
94
102
|
const unsuccessfulPlans = validationPlans.filter((p) => p.operation !== ResourceOperation.NOOP);
|
|
@@ -117,7 +125,11 @@ ${JSON.stringify(unsuccessfulPlans, null, 2)}`
|
|
|
117
125
|
});
|
|
118
126
|
|
|
119
127
|
// Validate that the destroy was successful
|
|
120
|
-
const validationPlan = await this.plan(
|
|
128
|
+
const validationPlan = await this.plan({
|
|
129
|
+
desired: config,
|
|
130
|
+
state: undefined,
|
|
131
|
+
isStateful: false,
|
|
132
|
+
});
|
|
121
133
|
if (validationPlan.operation !== ResourceOperation.CREATE) {
|
|
122
134
|
throw new Error(`Resource ${type} was not successfully destroyed.
|
|
123
135
|
Validation plan shows:
|
package/src/test-utils.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import Ajv from 'ajv';
|
|
2
2
|
import { IpcMessage, IpcMessageSchema, MessageStatus } from 'codify-schemas';
|
|
3
3
|
import { ChildProcess } from 'node:child_process';
|
|
4
4
|
|
|
5
|
-
const ajv = new
|
|
5
|
+
const ajv = new Ajv.default({
|
|
6
6
|
strict: true
|
|
7
7
|
});
|
|
8
8
|
const ipcMessageValidator = ajv.compile(IpcMessageSchema);
|
|
@@ -36,10 +36,14 @@ describe('Plugin tester integration tests', () => {
|
|
|
36
36
|
const plugin = new PluginTester(path.join(__dirname, './test-plugin.ts'));
|
|
37
37
|
|
|
38
38
|
const result = await plugin.plan({
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
desired: {
|
|
40
|
+
type: 'test',
|
|
41
|
+
propA: 'a',
|
|
42
|
+
propB: 10,
|
|
43
|
+
propC: 'c',
|
|
44
|
+
},
|
|
45
|
+
state: undefined,
|
|
46
|
+
isStateful: false,
|
|
43
47
|
})
|
|
44
48
|
|
|
45
49
|
expect(result).toMatchObject({
|
|
@@ -53,10 +57,14 @@ describe('Plugin tester integration tests', () => {
|
|
|
53
57
|
const plugin = new PluginTester(path.join(__dirname, './test-plugin.ts'));
|
|
54
58
|
|
|
55
59
|
const result = await plugin.plan({
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
+
desired: {
|
|
61
|
+
type: 'test',
|
|
62
|
+
propA: 'a',
|
|
63
|
+
propB: 10,
|
|
64
|
+
propC: 'c',
|
|
65
|
+
},
|
|
66
|
+
state: undefined,
|
|
67
|
+
isStateful: false,
|
|
60
68
|
})
|
|
61
69
|
|
|
62
70
|
expect(result).toMatchObject({
|
|
@@ -70,10 +78,14 @@ describe('Plugin tester integration tests', () => {
|
|
|
70
78
|
const plugin = new PluginTester(path.join(__dirname, './test-plugin.ts'));
|
|
71
79
|
|
|
72
80
|
const plan = await plugin.plan({
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
81
|
+
desired: {
|
|
82
|
+
type: 'test',
|
|
83
|
+
propA: 'a',
|
|
84
|
+
propB: 10,
|
|
85
|
+
propC: 'c',
|
|
86
|
+
},
|
|
87
|
+
state: undefined,
|
|
88
|
+
isStateful: false,
|
|
77
89
|
})
|
|
78
90
|
|
|
79
91
|
// No expect needed here. This passes if it doesn't throw.
|
|
@@ -84,11 +96,15 @@ describe('Plugin tester integration tests', () => {
|
|
|
84
96
|
const plugin = new PluginTester(path.join(__dirname, './test-plugin.ts'));
|
|
85
97
|
|
|
86
98
|
expect(async () => plugin.plan({
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
99
|
+
desired: {
|
|
100
|
+
type: 'test',
|
|
101
|
+
propA: 'a',
|
|
102
|
+
propB: 10,
|
|
103
|
+
propC: 'c',
|
|
104
|
+
propD: 'any'
|
|
105
|
+
},
|
|
106
|
+
state: undefined,
|
|
107
|
+
isStateful: false,
|
|
92
108
|
})).rejects.toThrowError(new Error('Prop D is included'));
|
|
93
109
|
})
|
|
94
110
|
|