@griffin-app/griffin-ts 0.1.2 → 0.1.3
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/assertions.js +7 -13
- package/dist/assertions.js.map +1 -1
- package/dist/builder.js +10 -16
- package/dist/builder.js.map +1 -1
- package/dist/constants.js +2 -5
- package/dist/constants.js.map +1 -1
- package/dist/example-sequential.js +64 -66
- package/dist/example-sequential.js.map +1 -1
- package/dist/example.js +14 -16
- package/dist/example.js.map +1 -1
- package/dist/frequency.js +9 -13
- package/dist/frequency.js.map +1 -1
- package/dist/http-methods.js +5 -8
- package/dist/http-methods.js.map +1 -1
- package/dist/index.js +11 -40
- package/dist/index.js.map +1 -1
- package/dist/response-formats.js +3 -6
- package/dist/response-formats.js.map +1 -1
- package/dist/schema-exports.js +4 -34
- package/dist/schema-exports.js.map +1 -1
- package/dist/schema.js +137 -140
- package/dist/schema.js.map +1 -1
- package/dist/secrets.js +2 -6
- package/dist/secrets.js.map +1 -1
- package/dist/sequential-builder.js +14 -17
- package/dist/sequential-builder.js.map +1 -1
- package/dist/shared.js +5 -11
- package/dist/shared.js.map +1 -1
- package/dist/type-exports.js +1 -2
- package/dist/type-exports.js.map +1 -1
- package/dist/variable.js +2 -6
- package/dist/variable.js.map +1 -1
- package/dist/wait.js +1 -4
- package/dist/wait.js.map +1 -1
- package/package.json +1 -1
- package/tsconfig.json +2 -2
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const constants_1 = require("./constants");
|
|
6
|
-
const schema_1 = require("./schema");
|
|
7
|
-
const assertions_1 = require("./assertions");
|
|
1
|
+
import { Endpoint, Wait, Assertion, } from "./builder";
|
|
2
|
+
import { START, END } from "./constants";
|
|
3
|
+
import { TEST_PLAN_VERSION } from "./schema";
|
|
4
|
+
import { createStateProxy, } from "./assertions";
|
|
8
5
|
/**
|
|
9
6
|
* Internal implementation class for SequentialTestBuilder.
|
|
10
7
|
*/
|
|
@@ -23,22 +20,22 @@ class SequentialTestBuilderImpl {
|
|
|
23
20
|
return `step_${this.nodeCounter++}`;
|
|
24
21
|
}
|
|
25
22
|
request(name, config) {
|
|
26
|
-
const node =
|
|
23
|
+
const node = Endpoint(config);
|
|
27
24
|
this.nodes.push({ ...node, id: name });
|
|
28
25
|
this.nodeNames.push(name);
|
|
29
26
|
return this;
|
|
30
27
|
}
|
|
31
28
|
wait(name, duration) {
|
|
32
|
-
const node =
|
|
29
|
+
const node = Wait(duration);
|
|
33
30
|
this.nodes.push({ ...node, id: name });
|
|
34
31
|
this.nodeNames.push(name);
|
|
35
32
|
return this;
|
|
36
33
|
}
|
|
37
34
|
assert(callback) {
|
|
38
|
-
const stateProxy =
|
|
35
|
+
const stateProxy = createStateProxy(this.nodeNames);
|
|
39
36
|
const serializedAssertions = callback(stateProxy);
|
|
40
37
|
const nodeName = this.generateNodeName();
|
|
41
|
-
const node =
|
|
38
|
+
const node = Assertion(serializedAssertions);
|
|
42
39
|
this.nodes.push({ ...node, id: nodeName });
|
|
43
40
|
this.nodeNames.push(nodeName);
|
|
44
41
|
return this;
|
|
@@ -52,13 +49,13 @@ class SequentialTestBuilderImpl {
|
|
|
52
49
|
name,
|
|
53
50
|
frequency,
|
|
54
51
|
locations,
|
|
55
|
-
version:
|
|
52
|
+
version: TEST_PLAN_VERSION,
|
|
56
53
|
nodes: [],
|
|
57
|
-
edges: [{ from:
|
|
54
|
+
edges: [{ from: START, to: END }],
|
|
58
55
|
};
|
|
59
56
|
}
|
|
60
57
|
// Connect START to first node
|
|
61
|
-
edges.push({ from:
|
|
58
|
+
edges.push({ from: START, to: this.nodes[0].id });
|
|
62
59
|
// Connect consecutive nodes
|
|
63
60
|
for (let i = 0; i < this.nodes.length - 1; i++) {
|
|
64
61
|
edges.push({
|
|
@@ -67,10 +64,10 @@ class SequentialTestBuilderImpl {
|
|
|
67
64
|
});
|
|
68
65
|
}
|
|
69
66
|
// Connect last node to END
|
|
70
|
-
edges.push({ from: this.nodes[this.nodes.length - 1].id, to:
|
|
67
|
+
edges.push({ from: this.nodes[this.nodes.length - 1].id, to: END });
|
|
71
68
|
return {
|
|
72
69
|
name,
|
|
73
|
-
version:
|
|
70
|
+
version: TEST_PLAN_VERSION,
|
|
74
71
|
frequency,
|
|
75
72
|
locations,
|
|
76
73
|
nodes: this.nodes,
|
|
@@ -122,7 +119,7 @@ class SequentialTestBuilderImpl {
|
|
|
122
119
|
* .build();
|
|
123
120
|
* ```
|
|
124
121
|
*/
|
|
125
|
-
function createTestBuilder(config) {
|
|
122
|
+
export function createTestBuilder(config) {
|
|
126
123
|
return new SequentialTestBuilderImpl(config);
|
|
127
124
|
}
|
|
128
125
|
//# sourceMappingURL=sequential-builder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sequential-builder.js","sourceRoot":"","sources":["../src/sequential-builder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sequential-builder.js","sourceRoot":"","sources":["../src/sequential-builder.ts"],"names":[],"mappings":"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"}
|
package/dist/shared.js
CHANGED
|
@@ -1,25 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.TUnionOneOf = void 0;
|
|
4
|
-
exports.Ref = Ref;
|
|
5
|
-
exports.UnionOneOf = UnionOneOf;
|
|
6
|
-
const typebox_1 = require("typebox");
|
|
7
|
-
function Ref(t, options = {}) {
|
|
1
|
+
import { Unsafe, Type, } from "typebox";
|
|
2
|
+
export function Ref(t, options = {}) {
|
|
8
3
|
const id = t.$id;
|
|
9
4
|
if (!id) {
|
|
10
5
|
throw new Error("missing ID on schema");
|
|
11
6
|
}
|
|
12
|
-
return
|
|
7
|
+
return Unsafe({ ...t, $ref: id, $id: undefined, ...options });
|
|
13
8
|
}
|
|
14
|
-
class TUnionOneOf extends
|
|
9
|
+
export class TUnionOneOf extends Type.Base {
|
|
15
10
|
oneOf;
|
|
16
11
|
constructor(oneOf) {
|
|
17
12
|
super();
|
|
18
13
|
this.oneOf = oneOf;
|
|
19
14
|
}
|
|
20
15
|
}
|
|
21
|
-
|
|
22
|
-
function UnionOneOf(oneOf) {
|
|
16
|
+
export function UnionOneOf(oneOf) {
|
|
23
17
|
return new TUnionOneOf(oneOf);
|
|
24
18
|
}
|
|
25
19
|
//export interface TUnionOneOf<Types extends TSchema[] = TSchema[]> extends TSchema {
|
package/dist/shared.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,MAAM,EACN,IAAI,GACL,MAAM,SAAS,CAAC;AAIjB,MAAM,UAAU,GAAG,CACjB,CAAI,EACJ,UAA0B,EAAE;IAE5B,MAAM,EAAE,GAAI,CAAmD,CAAC,GAAG,CAAC;IACpE,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,MAAM,CAAY,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,OAAO,WAAiD,SAAQ,IAAI,CAAC,IAE1E;IACQ,KAAK,CAAQ;IACpB,YAAY,KAAY;QACtB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AACD,MAAM,UAAU,UAAU,CAAC,KAAgB;IACzC,OAAO,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,qFAAqF;AACrF,yBAAyB;AACzB,8DAA8D;AAC9D,gBAAgB;AAChB,GAAG;AACH,EAAE;AACF,wGAAwG;AACxG,+EAA+E;AAC/E,EAAE;AACF,mFAAmF;AACnF,GAAG"}
|
package/dist/type-exports.js
CHANGED
package/dist/type-exports.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-exports.js","sourceRoot":"","sources":["../src/type-exports.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"type-exports.js","sourceRoot":"","sources":["../src/type-exports.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
package/dist/variable.js
CHANGED
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* Variable reference utilities for griffin DSL.
|
|
4
3
|
*
|
|
5
4
|
* Variables are resolved at evaluation time (when the CLI imports test files)
|
|
6
5
|
* by reading from variables.yaml. The resolved values are baked into the plan.
|
|
7
6
|
*/
|
|
8
|
-
|
|
9
|
-
exports.variable = variable;
|
|
10
|
-
exports.isVariableRef = isVariableRef;
|
|
11
|
-
function variable(key, template) {
|
|
7
|
+
export function variable(key, template) {
|
|
12
8
|
if (!key || typeof key !== "string") {
|
|
13
9
|
throw new Error(`Variable key must be a non-empty string. Got: ${key}`);
|
|
14
10
|
}
|
|
@@ -38,7 +34,7 @@ function variable(key, template) {
|
|
|
38
34
|
/**
|
|
39
35
|
* Type guard to check if a value is a variable reference.
|
|
40
36
|
*/
|
|
41
|
-
function isVariableRef(value) {
|
|
37
|
+
export function isVariableRef(value) {
|
|
42
38
|
if (typeof value !== "object" || value === null) {
|
|
43
39
|
return false;
|
|
44
40
|
}
|
package/dist/variable.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variable.js","sourceRoot":"","sources":["../src/variable.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"variable.js","sourceRoot":"","sources":["../src/variable.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAwDH,MAAM,UAAU,QAAQ,CAAC,GAAW,EAAE,QAAiB;IACrD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,iDAAiD,GAAG,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CACb,4CAA4C,OAAO,QAAQ,EAAE,CAC9D,CAAC;QACJ,CAAC;QAED,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QAED,mDAAmD;QACnD,MAAM,WAAW,GAAG,MAAM,GAAG,GAAG,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CACb,qCAAqC,GAAG,uBAAuB,QAAQ,EAAE,CAC1E,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,SAAS,EAAE;YACT,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE;YACf,GAAG,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,CAAC;SAC9B;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,IACE,CAAC,CAAC,WAAW,IAAI,GAAG,CAAC;QACrB,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ;QACjC,GAAG,CAAC,SAAS,KAAK,IAAI,EACtB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,SAAoC,CAAC;IACzD,OAAO,CACL,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ;QAC/B,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CACzE,CAAC;AACJ,CAAC"}
|
package/dist/wait.js
CHANGED
package/dist/wait.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wait.js","sourceRoot":"","sources":["../src/wait.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wait.js","sourceRoot":"","sources":["../src/wait.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,OAAO,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAChD,OAAO,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;CACjD,CAAC"}
|
package/package.json
CHANGED
package/tsconfig.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"compilerOptions": {
|
|
3
3
|
"target": "ES2022",
|
|
4
|
-
"module": "
|
|
4
|
+
"module": "ESNext",
|
|
5
5
|
"lib": ["ES2022"],
|
|
6
6
|
"outDir": "./dist",
|
|
7
7
|
"rootDir": "./src",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"skipLibCheck": true,
|
|
14
14
|
"forceConsistentCasingInFileNames": true,
|
|
15
15
|
"resolveJsonModule": true,
|
|
16
|
-
"moduleResolution": "
|
|
16
|
+
"moduleResolution": "bundler"
|
|
17
17
|
},
|
|
18
18
|
"include": ["src/**/*"],
|
|
19
19
|
"exclude": ["node_modules", "dist"]
|