zation-assured 0.5.1 → 3.0.0-dev.1
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/LICENSE +1 -1
- package/README.md +55 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +3 -9
- package/dist/lib/api/assert.d.ts +16 -9
- package/dist/lib/api/assert.js +16 -12
- package/dist/lib/api/testHelper.d.ts +0 -8
- package/dist/lib/api/testHelper.js +6 -83
- package/dist/lib/api/when.d.ts +41 -45
- package/dist/lib/api/when.js +42 -55
- package/dist/lib/helper/asserter/abstractActionAsserter.d.ts +68 -0
- package/dist/lib/helper/asserter/{rootSendAsserter.js → abstractActionAsserter.js} +23 -67
- package/dist/lib/helper/asserter/assertStarter.d.ts +5 -0
- package/dist/lib/helper/asserter/assertStarter.js +16 -0
- package/dist/lib/helper/asserter/channel/abstractChannelAsserter.d.ts +24 -33
- package/dist/lib/helper/asserter/channel/abstractChannelAsserter.js +48 -89
- package/dist/lib/helper/asserter/channel/channelAsserter.d.ts +3 -3
- package/dist/lib/helper/asserter/channel/channelAsserter.js +2 -2
- package/dist/lib/helper/asserter/channel/standaloneChannelAsserter.d.ts +5 -5
- package/dist/lib/helper/asserter/channel/standaloneChannelAsserter.js +6 -6
- package/dist/lib/helper/asserter/client/abstractClientAsserter.d.ts +29 -47
- package/dist/lib/helper/asserter/client/abstractClientAsserter.js +91 -193
- package/dist/lib/helper/asserter/client/clientAsserter.d.ts +3 -3
- package/dist/lib/helper/asserter/client/clientAsserter.js +2 -2
- package/dist/lib/helper/asserter/client/standaloneClientAsserter.d.ts +5 -5
- package/dist/lib/helper/asserter/client/standaloneClientAsserter.js +6 -6
- package/dist/lib/helper/asserter/controller/integratedResponseAsserter.d.ts +52 -0
- package/dist/lib/helper/asserter/controller/integratedResponseAsserter.js +112 -0
- package/dist/lib/helper/asserter/controller/standaloneResponseAsserter.d.ts +49 -0
- package/dist/lib/helper/asserter/controller/standaloneResponseAsserter.js +108 -0
- package/dist/lib/helper/asserter/databox/abstractDataboxAsserter.d.ts +33 -40
- package/dist/lib/helper/asserter/databox/abstractDataboxAsserter.js +48 -84
- package/dist/lib/helper/asserter/databox/databoxAsserter.d.ts +3 -3
- package/dist/lib/helper/asserter/databox/databoxAsserter.js +2 -2
- package/dist/lib/helper/asserter/databox/standaloneDataboxAsserter.d.ts +6 -5
- package/dist/lib/helper/asserter/databox/standaloneDataboxAsserter.js +6 -6
- package/dist/lib/helper/asserter/event/abstractEventAsserter.d.ts +12 -4
- package/dist/lib/helper/asserter/event/abstractEventAsserter.js +25 -10
- package/dist/lib/helper/asserter/event/codeMetadataEventAsserter.d.ts +21 -0
- package/dist/lib/helper/asserter/event/codeMetadataEventAsserter.js +47 -0
- package/dist/lib/helper/asserter/event/dataEventAsserter.d.ts +13 -3
- package/dist/lib/helper/asserter/event/dataEventAsserter.js +22 -4
- package/dist/lib/helper/asserter/receiver/integratedTransmitAsserter.d.ts +9 -0
- package/dist/lib/helper/asserter/receiver/{transmitAsserter.js → integratedTransmitAsserter.js} +9 -9
- package/dist/lib/helper/asserter/value/abstractValueAsserter.d.ts +10 -12
- package/dist/lib/helper/asserter/value/abstractValueAsserter.js +46 -50
- package/dist/lib/helper/asserter/value/standaloneValueAsserter.d.ts +3 -3
- package/dist/lib/helper/asserter/value/standaloneValueAsserter.js +6 -6
- package/dist/lib/helper/asserter/value/valueAsserter.d.ts +4 -4
- package/dist/lib/helper/asserter/value/valueAsserter.js +4 -4
- package/dist/lib/helper/backError/backErrorsFilterBuilder.d.ts +12 -0
- package/dist/lib/helper/backError/backErrorsFilterBuilder.js +29 -0
- package/dist/lib/helper/console/logger.js +2 -2
- package/dist/lib/helper/definitions/optionTypes.d.ts +8 -0
- package/dist/lib/helper/definitions/optionTypes.js +7 -0
- package/dist/lib/helper/test/test.d.ts +2 -2
- package/dist/lib/helper/test/test.js +8 -6
- package/dist/lib/helper/timeout/timeoutAssert.js +2 -2
- package/dist/lib/helper/utils/actionUtils.d.ts +5 -18
- package/dist/lib/helper/utils/actionUtils.js +14 -43
- package/dist/lib/helper/utils/types.d.ts +20 -0
- package/dist/lib/helper/utils/types.js +7 -0
- package/package.json +8 -10
- package/dist/lib/api/before.d.ts +0 -3
- package/dist/lib/api/before.js +0 -20
- package/dist/lib/api/client.d.ts +0 -3
- package/dist/lib/api/client.js +0 -11
- package/dist/lib/api/describe.d.ts +0 -1
- package/dist/lib/api/describe.js +0 -6
- package/dist/lib/api/instanceManager.d.ts +0 -8
- package/dist/lib/api/instanceManager.js +0 -48
- package/dist/lib/api/testArea.d.ts +0 -3
- package/dist/lib/api/testArea.js +0 -41
- package/dist/lib/api/testServerManager.d.ts +0 -19
- package/dist/lib/api/testServerManager.js +0 -100
- package/dist/lib/helper/asserter/abstractClientAsserter.d.ts +0 -102
- package/dist/lib/helper/asserter/abstractClientAsserter.js +0 -293
- package/dist/lib/helper/asserter/anyAsserter.d.ts +0 -62
- package/dist/lib/helper/asserter/anyAsserter.js +0 -130
- package/dist/lib/helper/asserter/channelEventAsserter.d.ts +0 -34
- package/dist/lib/helper/asserter/channelEventAsserter.js +0 -84
- package/dist/lib/helper/asserter/channelPubAsserter.d.ts +0 -53
- package/dist/lib/helper/asserter/channelPubAsserter.js +0 -126
- package/dist/lib/helper/asserter/clientAsserter.d.ts +0 -13
- package/dist/lib/helper/asserter/clientAsserter.js +0 -26
- package/dist/lib/helper/asserter/controller/responseAsserter.d.ts +0 -76
- package/dist/lib/helper/asserter/controller/responseAsserter.js +0 -154
- package/dist/lib/helper/asserter/dataEventAsserter.d.ts +0 -40
- package/dist/lib/helper/asserter/dataEventAsserter.js +0 -113
- package/dist/lib/helper/asserter/event/abstractDataEventAsserter.d.ts +0 -13
- package/dist/lib/helper/asserter/event/abstractDataEventAsserter.js +0 -36
- package/dist/lib/helper/asserter/event/codeDataEventAsserter.d.ts +0 -14
- package/dist/lib/helper/asserter/event/codeDataEventAsserter.js +0 -40
- package/dist/lib/helper/asserter/eventAsserter.d.ts +0 -41
- package/dist/lib/helper/asserter/eventAsserter.js +0 -115
- package/dist/lib/helper/asserter/objectAsserter.d.ts +0 -55
- package/dist/lib/helper/asserter/objectAsserter.js +0 -113
- package/dist/lib/helper/asserter/receiver/transmitAsserter.d.ts +0 -9
- package/dist/lib/helper/asserter/responseAsserter.d.ts +0 -129
- package/dist/lib/helper/asserter/responseAsserter.js +0 -260
- package/dist/lib/helper/asserter/rootSendAsserter.d.ts +0 -89
- package/dist/lib/helper/asserter/standaloneClientAsserter.d.ts +0 -11
- package/dist/lib/helper/asserter/standaloneClientAsserter.js +0 -38
- package/dist/lib/helper/assured/clientAssured.d.ts +0 -2
- package/dist/lib/helper/assured/clientAssured.js +0 -11
- package/dist/lib/helper/assured/responseAssured.d.ts +0 -17
- package/dist/lib/helper/assured/responseAssured.js +0 -72
- package/dist/lib/helper/backError/backErrorFilterBuilder.d.ts +0 -13
- package/dist/lib/helper/backError/backErrorFilterBuilder.js +0 -35
- package/dist/lib/helper/builder/controller/abstractRequestBuilder.d.ts +0 -53
- package/dist/lib/helper/builder/controller/abstractRequestBuilder.js +0 -69
- package/dist/lib/helper/builder/controller/authRequestBuilder.d.ts +0 -15
- package/dist/lib/helper/builder/controller/authRequestBuilder.js +0 -30
- package/dist/lib/helper/builder/controller/standardRequestBuilder.d.ts +0 -15
- package/dist/lib/helper/builder/controller/standardRequestBuilder.js +0 -30
- package/dist/lib/helper/builder/controller/validationCheckRequestBuilder.d.ts +0 -21
- package/dist/lib/helper/builder/controller/validationCheckRequestBuilder.js +0 -40
- package/dist/lib/helper/builder/receiver/packageBuilder.d.ts +0 -45
- package/dist/lib/helper/builder/receiver/packageBuilder.js +0 -67
- package/dist/lib/helper/controller/request/abstractRequestBuilder.d.ts +0 -53
- package/dist/lib/helper/controller/request/abstractRequestBuilder.js +0 -68
- package/dist/lib/helper/controller/request/authRequestBuilder.d.ts +0 -15
- package/dist/lib/helper/controller/request/authRequestBuilder.js +0 -29
- package/dist/lib/helper/controller/request/standardRequestBuilder.d.ts +0 -15
- package/dist/lib/helper/controller/request/standardRequestBuilder.js +0 -29
- package/dist/lib/helper/controller/request/validationCheckRequestBuilder.d.ts +0 -21
- package/dist/lib/helper/controller/request/validationCheckRequestBuilder.js +0 -39
- package/dist/lib/helper/data/test.d.ts +0 -13
- package/dist/lib/helper/data/test.js +0 -89
- package/dist/lib/helper/do/actionUtils.d.ts +0 -24
- package/dist/lib/helper/do/actionUtils.js +0 -70
- package/dist/lib/helper/do/doUtils.d.ts +0 -24
- package/dist/lib/helper/do/doUtils.js +0 -80
- package/dist/lib/helper/error/backErrorFilterBuilder.d.ts +0 -13
- package/dist/lib/helper/error/backErrorFilterBuilder.js +0 -34
- package/dist/lib/helper/error/taskErrorFilterBuilder.d.ts +0 -13
- package/dist/lib/helper/error/taskErrorFilterBuilder.js +0 -34
- package/dist/lib/helper/request/abstractRequestBuilder.d.ts +0 -53
- package/dist/lib/helper/request/abstractRequestBuilder.js +0 -68
- package/dist/lib/helper/request/authRequestBuilder.d.ts +0 -15
- package/dist/lib/helper/request/authRequestBuilder.js +0 -29
- package/dist/lib/helper/request/requestBuilder.d.ts +0 -46
- package/dist/lib/helper/request/requestBuilder.js +0 -76
- package/dist/lib/helper/request/standardRequestBuilder.d.ts +0 -15
- package/dist/lib/helper/request/standardRequestBuilder.js +0 -29
- package/dist/lib/helper/request/validationCheckRequestBuilder.d.ts +0 -21
- package/dist/lib/helper/request/validationCheckRequestBuilder.js +0 -39
- package/dist/lib/helper/request/validationRequestBuilder.d.ts +0 -35
- package/dist/lib/helper/request/validationRequestBuilder.js +0 -61
- package/dist/lib/helper/utils/clientUtils.d.ts +0 -4
- package/dist/lib/helper/utils/clientUtils.js +0 -29
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
Author: Luca Scaringella
|
|
4
|
-
GitHub: LucaCode
|
|
5
|
-
©Copyright by Luca Scaringella
|
|
6
|
-
*/
|
|
7
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
8
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
9
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
10
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
11
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
12
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
13
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
14
|
-
});
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
const timeoutAssert_1 = require("../timeout/timeoutAssert");
|
|
18
|
-
const anyAsserter_1 = require("./anyAsserter");
|
|
19
|
-
const assert = require('assert');
|
|
20
|
-
class ChannelPubAsserter {
|
|
21
|
-
constructor(addReaction, clients, chName, test, source) {
|
|
22
|
-
this._pubDataChecker = [];
|
|
23
|
-
this._timeout = 0;
|
|
24
|
-
this._event = null;
|
|
25
|
-
this._not = false;
|
|
26
|
-
this._addOnceReaction = addReaction;
|
|
27
|
-
this._clients = clients;
|
|
28
|
-
this._chName = chName;
|
|
29
|
-
this._test = test;
|
|
30
|
-
this._source = source;
|
|
31
|
-
}
|
|
32
|
-
// noinspection JSUnusedGlobalSymbols
|
|
33
|
-
/**
|
|
34
|
-
* @description
|
|
35
|
-
* With this function, you can set a time limit in that the publish action must happen.
|
|
36
|
-
* @default
|
|
37
|
-
* The default value is 0.
|
|
38
|
-
*/
|
|
39
|
-
timeout(timeout) {
|
|
40
|
-
this._timeout = timeout;
|
|
41
|
-
return this;
|
|
42
|
-
}
|
|
43
|
-
// noinspection JSUnusedGlobalSymbols
|
|
44
|
-
/**
|
|
45
|
-
* @description
|
|
46
|
-
* With this function, you set that the client should not get a publish.
|
|
47
|
-
* @default
|
|
48
|
-
* The default value is false.
|
|
49
|
-
*/
|
|
50
|
-
not() {
|
|
51
|
-
this._not = true;
|
|
52
|
-
return this;
|
|
53
|
-
}
|
|
54
|
-
// noinspection JSUnusedGlobalSymbols
|
|
55
|
-
/**
|
|
56
|
-
* @description
|
|
57
|
-
* With this function, you can filter for a specific event.
|
|
58
|
-
* @param event
|
|
59
|
-
* You can also filter multiple events by giving an event array.
|
|
60
|
-
* Or to all events if you pass as parameter null.
|
|
61
|
-
* @default
|
|
62
|
-
* The default value is null.
|
|
63
|
-
*/
|
|
64
|
-
event(event) {
|
|
65
|
-
this._event = event;
|
|
66
|
-
return this;
|
|
67
|
-
}
|
|
68
|
-
// noinspection JSUnusedGlobalSymbols
|
|
69
|
-
/**
|
|
70
|
-
* @description
|
|
71
|
-
* Assert the published data.
|
|
72
|
-
* Notice that the pub data will not checked in (get not) mode.
|
|
73
|
-
*/
|
|
74
|
-
assertPubData() {
|
|
75
|
-
return new anyAsserter_1.AnyAsserter(this, '', (test) => {
|
|
76
|
-
this._pubDataChecker.push(test);
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
_checkPubData(data, clientIndex) {
|
|
80
|
-
this._pubDataChecker.forEach((f) => {
|
|
81
|
-
f(data, `Client: ${clientIndex} publish in channel: ${this._chName} -> Published data `);
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
// noinspection JSUnusedGlobalSymbols
|
|
85
|
-
/**
|
|
86
|
-
* @description
|
|
87
|
-
* End the channel publish asserter.
|
|
88
|
-
*/
|
|
89
|
-
end() {
|
|
90
|
-
this._clients.forEach((c, i) => {
|
|
91
|
-
let getPub = false;
|
|
92
|
-
let pubData;
|
|
93
|
-
let resolve;
|
|
94
|
-
this._test.beforeTest(() => {
|
|
95
|
-
this._addOnceReaction(c, this._event, (data) => __awaiter(this, void 0, void 0, function* () {
|
|
96
|
-
pubData = data;
|
|
97
|
-
getPub = true;
|
|
98
|
-
if (typeof resolve === 'function') {
|
|
99
|
-
resolve();
|
|
100
|
-
}
|
|
101
|
-
}));
|
|
102
|
-
});
|
|
103
|
-
const failMsg = `Client: ${i} should get ${this._not ? 'not' : ''} a publish in the channel: ${this._chName} ${this._event === null ? ' with all events' : ('with the event: ' + this._event)}.`;
|
|
104
|
-
this._test.test(() => __awaiter(this, void 0, void 0, function* () {
|
|
105
|
-
if (!getPub) {
|
|
106
|
-
const toa = new timeoutAssert_1.TimeoutAssert(failMsg, this._timeout, this._not);
|
|
107
|
-
resolve = () => { toa.resolve(); };
|
|
108
|
-
yield toa.set();
|
|
109
|
-
if (!this._not && toa.isSuccess()) {
|
|
110
|
-
this._checkPubData(pubData, i);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
else {
|
|
114
|
-
if (!this._not) {
|
|
115
|
-
this._checkPubData(pubData, i);
|
|
116
|
-
}
|
|
117
|
-
else {
|
|
118
|
-
assert.fail(failMsg);
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
}));
|
|
122
|
-
});
|
|
123
|
-
return this._source;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
exports.ChannelPubAsserter = ChannelPubAsserter;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { ZationClient } from 'zation-client';
|
|
2
|
-
import { AbstractClientAsserter } from "./abstractClientAsserter";
|
|
3
|
-
import { Test } from "../test/test";
|
|
4
|
-
export declare class ClientAsserter<T> extends AbstractClientAsserter<ClientAsserter<T>> {
|
|
5
|
-
private readonly source;
|
|
6
|
-
constructor(clients: ZationClient[], test: Test, source: T);
|
|
7
|
-
/**
|
|
8
|
-
* @description
|
|
9
|
-
* End the client asserter.
|
|
10
|
-
*/
|
|
11
|
-
end(): T;
|
|
12
|
-
protected self(): ClientAsserter<T>;
|
|
13
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
Author: Luca Scaringella
|
|
4
|
-
GitHub: LucaCode
|
|
5
|
-
©Copyright by Luca Scaringella
|
|
6
|
-
*/
|
|
7
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
const abstractClientAsserter_1 = require("./abstractClientAsserter");
|
|
9
|
-
class ClientAsserter extends abstractClientAsserter_1.AbstractClientAsserter {
|
|
10
|
-
constructor(clients, test, source) {
|
|
11
|
-
super(clients, test);
|
|
12
|
-
this.source = source;
|
|
13
|
-
}
|
|
14
|
-
// noinspection JSUnusedGlobalSymbols
|
|
15
|
-
/**
|
|
16
|
-
* @description
|
|
17
|
-
* End the client asserter.
|
|
18
|
-
*/
|
|
19
|
-
end() {
|
|
20
|
-
return this.source;
|
|
21
|
-
}
|
|
22
|
-
self() {
|
|
23
|
-
return this;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
exports.ClientAsserter = ClientAsserter;
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { AbstractRequestBuilder as NativeAbstractRequestBuilder, Client, Response, BackErrorFilter } from "zation-client";
|
|
2
|
-
import { Test } from "../../test/test";
|
|
3
|
-
import { ValueAsserter } from "../value/valueAsserter";
|
|
4
|
-
import { BackErrorFilterBuilder } from "../../backError/backErrorFilterBuilder";
|
|
5
|
-
import { RootSendAsserter } from "../rootSendAsserter";
|
|
6
|
-
export declare class ResponseAsserter extends RootSendAsserter<ResponseAsserter> {
|
|
7
|
-
private req;
|
|
8
|
-
constructor(req: NativeAbstractRequestBuilder<any>, test: Test, client: Client);
|
|
9
|
-
protected _executeAction(): Promise<void>;
|
|
10
|
-
private _respInfo;
|
|
11
|
-
/**
|
|
12
|
-
* @description
|
|
13
|
-
* Assert that the response is successful.
|
|
14
|
-
*/
|
|
15
|
-
isSuccessful(): ResponseAsserter;
|
|
16
|
-
/**
|
|
17
|
-
* @description
|
|
18
|
-
* Assert that the response is not successful.
|
|
19
|
-
*/
|
|
20
|
-
isNotSuccessful(): ResponseAsserter;
|
|
21
|
-
/**
|
|
22
|
-
* @description
|
|
23
|
-
* Assert that the response has a result.
|
|
24
|
-
*/
|
|
25
|
-
hasResult(): ResponseAsserter;
|
|
26
|
-
/**
|
|
27
|
-
* @description
|
|
28
|
-
* Assert the result of the response.
|
|
29
|
-
*/
|
|
30
|
-
assertResult(): ValueAsserter<ResponseAsserter>;
|
|
31
|
-
/**
|
|
32
|
-
* @description
|
|
33
|
-
* Print the complete response to the console.
|
|
34
|
-
*/
|
|
35
|
-
print(): ResponseAsserter;
|
|
36
|
-
/**
|
|
37
|
-
* @description
|
|
38
|
-
* Assert that the response has a specific count of errors.
|
|
39
|
-
* @param count
|
|
40
|
-
* count of errors
|
|
41
|
-
* @param filter
|
|
42
|
-
* Filter to filter for specific errors.
|
|
43
|
-
*/
|
|
44
|
-
hasErrorCount(count: number, ...filter: BackErrorFilter[]): ResponseAsserter;
|
|
45
|
-
/**
|
|
46
|
-
* @description
|
|
47
|
-
* Assert that the response has count of specific errors
|
|
48
|
-
* with filter builder.
|
|
49
|
-
* @param count
|
|
50
|
-
* count of errors
|
|
51
|
-
*/
|
|
52
|
-
buildHasErrorCount(count: number): BackErrorFilterBuilder<ResponseAsserter>;
|
|
53
|
-
/**
|
|
54
|
-
* @description
|
|
55
|
-
* Assert that the response has an specific error
|
|
56
|
-
* with filter builder.
|
|
57
|
-
*/
|
|
58
|
-
hasError(): BackErrorFilterBuilder<ResponseAsserter>;
|
|
59
|
-
/**
|
|
60
|
-
* @description
|
|
61
|
-
* Assert that the response has an error.
|
|
62
|
-
* @param filter
|
|
63
|
-
* Filter to filter for specific errors.
|
|
64
|
-
*/
|
|
65
|
-
hasError(...filter: BackErrorFilter[]): ResponseAsserter;
|
|
66
|
-
private static _filterErrors;
|
|
67
|
-
/**
|
|
68
|
-
* @description
|
|
69
|
-
* With this function you can create custom assertions for a response.
|
|
70
|
-
* @param assert
|
|
71
|
-
* The assert function with params:
|
|
72
|
-
* -res The response
|
|
73
|
-
*/
|
|
74
|
-
assert(assert: (resp: Response) => void | Promise<void>): ResponseAsserter;
|
|
75
|
-
protected self(): ResponseAsserter;
|
|
76
|
-
}
|
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
Author: Luca Scaringella
|
|
4
|
-
GitHub: LucaCode
|
|
5
|
-
©Copyright by Luca Scaringella
|
|
6
|
-
*/
|
|
7
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
8
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
9
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
10
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
11
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
12
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
13
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
14
|
-
});
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.ResponseAsserter = void 0;
|
|
18
|
-
const zation_client_1 = require("zation-client");
|
|
19
|
-
const logger_1 = require("../../console/logger");
|
|
20
|
-
const valueAsserter_1 = require("../value/valueAsserter");
|
|
21
|
-
const backErrorFilterBuilder_1 = require("../../backError/backErrorFilterBuilder");
|
|
22
|
-
const rootSendAsserter_1 = require("../rootSendAsserter");
|
|
23
|
-
const assert = require('assert');
|
|
24
|
-
class ResponseAsserter extends rootSendAsserter_1.RootSendAsserter {
|
|
25
|
-
constructor(req, test, client) {
|
|
26
|
-
super(test, client);
|
|
27
|
-
this.req = req;
|
|
28
|
-
}
|
|
29
|
-
_executeAction() {
|
|
30
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
31
|
-
yield this.req.send(false);
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
// noinspection JSMethodCanBeStatic
|
|
35
|
-
_respInfo(res) {
|
|
36
|
-
return '\n ' + res.toString();
|
|
37
|
-
}
|
|
38
|
-
// noinspection JSUnusedGlobalSymbols
|
|
39
|
-
/**
|
|
40
|
-
* @description
|
|
41
|
-
* Assert that the response is successful.
|
|
42
|
-
*/
|
|
43
|
-
isSuccessful() {
|
|
44
|
-
this.req.onResponse((res) => {
|
|
45
|
-
assert(res.isSuccessful(), 'Response should be successful.' + this._respInfo(res));
|
|
46
|
-
});
|
|
47
|
-
return this;
|
|
48
|
-
}
|
|
49
|
-
// noinspection JSUnusedGlobalSymbols
|
|
50
|
-
/**
|
|
51
|
-
* @description
|
|
52
|
-
* Assert that the response is not successful.
|
|
53
|
-
*/
|
|
54
|
-
isNotSuccessful() {
|
|
55
|
-
this.req.onResponse((res) => {
|
|
56
|
-
assert(!res.isSuccessful(), 'Response should be not successful.' + this._respInfo(res));
|
|
57
|
-
});
|
|
58
|
-
return this;
|
|
59
|
-
}
|
|
60
|
-
// noinspection JSUnusedGlobalSymbols
|
|
61
|
-
/**
|
|
62
|
-
* @description
|
|
63
|
-
* Assert that the response has a result.
|
|
64
|
-
*/
|
|
65
|
-
hasResult() {
|
|
66
|
-
this.req.onResponse((res) => {
|
|
67
|
-
assert(res.hasResult(), `Response should have a result.`
|
|
68
|
-
+ this._respInfo(res));
|
|
69
|
-
});
|
|
70
|
-
return this;
|
|
71
|
-
}
|
|
72
|
-
// noinspection JSUnusedGlobalSymbols
|
|
73
|
-
/**
|
|
74
|
-
* @description
|
|
75
|
-
* Assert the result of the response.
|
|
76
|
-
*/
|
|
77
|
-
assertResult() {
|
|
78
|
-
return new valueAsserter_1.ValueAsserter(this, 'Response Result', (test) => {
|
|
79
|
-
this.req.onResponse((res) => {
|
|
80
|
-
test(res.getResult());
|
|
81
|
-
});
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
// noinspection JSUnusedGlobalSymbols
|
|
85
|
-
/**
|
|
86
|
-
* @description
|
|
87
|
-
* Print the complete response to the console.
|
|
88
|
-
*/
|
|
89
|
-
print() {
|
|
90
|
-
this.req.onResponse((res) => {
|
|
91
|
-
logger_1.Logger.logInfo(res.toString());
|
|
92
|
-
});
|
|
93
|
-
return this;
|
|
94
|
-
}
|
|
95
|
-
// noinspection JSUnusedGlobalSymbols
|
|
96
|
-
/**
|
|
97
|
-
* @description
|
|
98
|
-
* Assert that the response has a specific count of errors.
|
|
99
|
-
* @param count
|
|
100
|
-
* count of errors
|
|
101
|
-
* @param filter
|
|
102
|
-
* Filter to filter for specific errors.
|
|
103
|
-
*/
|
|
104
|
-
hasErrorCount(count, ...filter) {
|
|
105
|
-
this.req.onResponse((res) => {
|
|
106
|
-
assert(ResponseAsserter._filterErrors(res, filter).length === count, `Response should have ${count} back errors.${filter.length === 0 ? '' : ` With filter: ${JSON.stringify(filter)}`}`
|
|
107
|
-
+ this._respInfo(res));
|
|
108
|
-
});
|
|
109
|
-
return this;
|
|
110
|
-
}
|
|
111
|
-
// noinspection JSUnusedGlobalSymbols
|
|
112
|
-
/**
|
|
113
|
-
* @description
|
|
114
|
-
* Assert that the response has count of specific errors
|
|
115
|
-
* with filter builder.
|
|
116
|
-
* @param count
|
|
117
|
-
* count of errors
|
|
118
|
-
*/
|
|
119
|
-
buildHasErrorCount(count) {
|
|
120
|
-
return new backErrorFilterBuilder_1.BackErrorFilterBuilder(this, count);
|
|
121
|
-
}
|
|
122
|
-
hasError(...filter) {
|
|
123
|
-
if (filter.length > 0) {
|
|
124
|
-
this.req.onResponse((res) => {
|
|
125
|
-
assert(ResponseAsserter._filterErrors(res, filter).length > 0, `Response should have an error.${filter.length === 0 ? '' : ` With filter: ${JSON.stringify(filter)}`}`
|
|
126
|
-
+ this._respInfo(res));
|
|
127
|
-
});
|
|
128
|
-
return this;
|
|
129
|
-
}
|
|
130
|
-
else
|
|
131
|
-
return new backErrorFilterBuilder_1.BackErrorFilterBuilder(this);
|
|
132
|
-
}
|
|
133
|
-
static _filterErrors(res, filter) {
|
|
134
|
-
return zation_client_1.ErrorFilterEngine.filterErrors(res.getErrors(false), filter);
|
|
135
|
-
}
|
|
136
|
-
// noinspection JSUnusedGlobalSymbols
|
|
137
|
-
/**
|
|
138
|
-
* @description
|
|
139
|
-
* With this function you can create custom assertions for a response.
|
|
140
|
-
* @param assert
|
|
141
|
-
* The assert function with params:
|
|
142
|
-
* -res The response
|
|
143
|
-
*/
|
|
144
|
-
assert(assert) {
|
|
145
|
-
this.req.onResponse((res) => __awaiter(this, void 0, void 0, function* () {
|
|
146
|
-
yield assert(res);
|
|
147
|
-
}));
|
|
148
|
-
return this;
|
|
149
|
-
}
|
|
150
|
-
self() {
|
|
151
|
-
return this;
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
exports.ResponseAsserter = ResponseAsserter;
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { Test } from "../test/test";
|
|
2
|
-
import { AnyAsserter } from "./anyAsserter";
|
|
3
|
-
export declare type EventOnceListenerAdder = (listener: (data: any) => void) => void;
|
|
4
|
-
export declare class DataEventAsserter<T> {
|
|
5
|
-
protected readonly _test: Test;
|
|
6
|
-
protected readonly _source: T;
|
|
7
|
-
protected readonly _eventOnceListenerAdder: EventOnceListenerAdder[];
|
|
8
|
-
protected readonly _target: string;
|
|
9
|
-
protected readonly _event: string;
|
|
10
|
-
private readonly _dataChecker;
|
|
11
|
-
private _timeout;
|
|
12
|
-
private _not;
|
|
13
|
-
constructor(eventOnceListenerAdder: EventOnceListenerAdder[], target: string, event: string, test: Test, source: T);
|
|
14
|
-
/**
|
|
15
|
-
* @description
|
|
16
|
-
* With this function, you can set a time limit in that the event should occur.
|
|
17
|
-
* @default
|
|
18
|
-
* The default value is 0.
|
|
19
|
-
*/
|
|
20
|
-
timeout(timeout: number): DataEventAsserter<T>;
|
|
21
|
-
/**
|
|
22
|
-
* @description
|
|
23
|
-
* With this function, you set that the event should not occur.
|
|
24
|
-
* @default
|
|
25
|
-
* The default value is false.
|
|
26
|
-
*/
|
|
27
|
-
not(): DataEventAsserter<T>;
|
|
28
|
-
/**
|
|
29
|
-
* @description
|
|
30
|
-
* Assert the data of the event.
|
|
31
|
-
* Notice that the data will not checked in (get not) mode.
|
|
32
|
-
*/
|
|
33
|
-
assertData(): AnyAsserter<DataEventAsserter<T>>;
|
|
34
|
-
private _checkData;
|
|
35
|
-
/**
|
|
36
|
-
* @description
|
|
37
|
-
* End the event asserter.
|
|
38
|
-
*/
|
|
39
|
-
end(): T;
|
|
40
|
-
}
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
Author: Luca Scaringella
|
|
4
|
-
GitHub: LucaCode
|
|
5
|
-
©Copyright by Luca Scaringella
|
|
6
|
-
*/
|
|
7
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
8
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
9
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
10
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
11
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
12
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
13
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
14
|
-
});
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
const timeoutAssert_1 = require("../timeout/timeoutAssert");
|
|
18
|
-
const anyAsserter_1 = require("./anyAsserter");
|
|
19
|
-
const assert = require('assert');
|
|
20
|
-
class DataEventAsserter {
|
|
21
|
-
constructor(eventOnceListenerAdder, target, event, test, source) {
|
|
22
|
-
this._dataChecker = [];
|
|
23
|
-
this._timeout = 0;
|
|
24
|
-
this._not = false;
|
|
25
|
-
this._eventOnceListenerAdder = eventOnceListenerAdder;
|
|
26
|
-
this._target = target;
|
|
27
|
-
this._event = event;
|
|
28
|
-
this._test = test;
|
|
29
|
-
this._source = source;
|
|
30
|
-
}
|
|
31
|
-
// noinspection JSUnusedGlobalSymbols
|
|
32
|
-
/**
|
|
33
|
-
* @description
|
|
34
|
-
* With this function, you can set a time limit in that the event should occur.
|
|
35
|
-
* @default
|
|
36
|
-
* The default value is 0.
|
|
37
|
-
*/
|
|
38
|
-
timeout(timeout) {
|
|
39
|
-
this._timeout = timeout;
|
|
40
|
-
return this;
|
|
41
|
-
}
|
|
42
|
-
// noinspection JSUnusedGlobalSymbols
|
|
43
|
-
/**
|
|
44
|
-
* @description
|
|
45
|
-
* With this function, you set that the event should not occur.
|
|
46
|
-
* @default
|
|
47
|
-
* The default value is false.
|
|
48
|
-
*/
|
|
49
|
-
not() {
|
|
50
|
-
this._not = true;
|
|
51
|
-
return this;
|
|
52
|
-
}
|
|
53
|
-
// noinspection JSUnusedGlobalSymbols
|
|
54
|
-
/**
|
|
55
|
-
* @description
|
|
56
|
-
* Assert the data of the event.
|
|
57
|
-
* Notice that the data will not checked in (get not) mode.
|
|
58
|
-
*/
|
|
59
|
-
assertData() {
|
|
60
|
-
return new anyAsserter_1.AnyAsserter(this, '', (test) => {
|
|
61
|
-
this._dataChecker.push(test);
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
_checkData(data, index) {
|
|
65
|
-
this._dataChecker.forEach((f) => {
|
|
66
|
-
f(data, `${this._target}: ${index} event: ${this._event} -> data `);
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
// noinspection JSUnusedGlobalSymbols
|
|
70
|
-
/**
|
|
71
|
-
* @description
|
|
72
|
-
* End the event asserter.
|
|
73
|
-
*/
|
|
74
|
-
end() {
|
|
75
|
-
this._eventOnceListenerAdder.forEach((addListener, i) => {
|
|
76
|
-
let receivedEmit = false;
|
|
77
|
-
let data;
|
|
78
|
-
let resolve;
|
|
79
|
-
this._test.beforeTest(() => {
|
|
80
|
-
addListener((d) => {
|
|
81
|
-
data = d;
|
|
82
|
-
receivedEmit = true;
|
|
83
|
-
if (typeof resolve === 'function') {
|
|
84
|
-
resolve();
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
});
|
|
88
|
-
const failMsg = `${this._target}: ${i} should ${this._not ? 'not ' : ''}trigger the ${this._event} event.`;
|
|
89
|
-
this._test.test(() => __awaiter(this, void 0, void 0, function* () {
|
|
90
|
-
if (!receivedEmit) {
|
|
91
|
-
const toa = new timeoutAssert_1.TimeoutAssert(failMsg, this._timeout, this._not);
|
|
92
|
-
resolve = () => {
|
|
93
|
-
toa.resolve();
|
|
94
|
-
};
|
|
95
|
-
yield toa.set();
|
|
96
|
-
if (!this._not && toa.isSuccess()) {
|
|
97
|
-
this._checkData(data, i);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
else {
|
|
101
|
-
if (!this._not) {
|
|
102
|
-
this._checkData(data, i);
|
|
103
|
-
}
|
|
104
|
-
else {
|
|
105
|
-
assert.fail(failMsg);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}));
|
|
109
|
-
});
|
|
110
|
-
return this._source;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
exports.DataEventAsserter = DataEventAsserter;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { ValueAsserter } from "../value/valueAsserter";
|
|
2
|
-
import { AbstractEventAsserter } from "./abstractEventAsserter";
|
|
3
|
-
export declare abstract class AbstractDataEventAsserter<T, S, A extends [any, ...any[]] = [any]> extends AbstractEventAsserter<T, S, A> {
|
|
4
|
-
private readonly _dataChecker;
|
|
5
|
-
/**
|
|
6
|
-
* @description
|
|
7
|
-
* Asserts the data of the event.
|
|
8
|
-
* Notice that the data will not be checked in (get not) mode.
|
|
9
|
-
*/
|
|
10
|
-
withData(): ValueAsserter<T>;
|
|
11
|
-
protected _dataCheck(data: any, index: number): void;
|
|
12
|
-
protected _onEventArgs(args: any, index: number): void;
|
|
13
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
Author: Luca Scaringella
|
|
4
|
-
GitHub: LucaCode
|
|
5
|
-
©Copyright by Luca Scaringella
|
|
6
|
-
*/
|
|
7
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.AbstractDataEventAsserter = void 0;
|
|
9
|
-
const valueAsserter_1 = require("../value/valueAsserter");
|
|
10
|
-
const abstractEventAsserter_1 = require("./abstractEventAsserter");
|
|
11
|
-
class AbstractDataEventAsserter extends abstractEventAsserter_1.AbstractEventAsserter {
|
|
12
|
-
constructor() {
|
|
13
|
-
super(...arguments);
|
|
14
|
-
this._dataChecker = [];
|
|
15
|
-
}
|
|
16
|
-
// noinspection JSUnusedGlobalSymbols
|
|
17
|
-
/**
|
|
18
|
-
* @description
|
|
19
|
-
* Asserts the data of the event.
|
|
20
|
-
* Notice that the data will not be checked in (get not) mode.
|
|
21
|
-
*/
|
|
22
|
-
withData() {
|
|
23
|
-
return new valueAsserter_1.ValueAsserter(this.self(), '', (test) => {
|
|
24
|
-
this._dataChecker.push(test);
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
_dataCheck(data, index) {
|
|
28
|
-
this._dataChecker.forEach((f) => {
|
|
29
|
-
f(data, `${this._target}: ${index} event: ${this._event} -> data `);
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
_onEventArgs(args, index) {
|
|
33
|
-
this._dataCheck(args[0], index);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
exports.AbstractDataEventAsserter = AbstractDataEventAsserter;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { ValueAsserter } from "../value/valueAsserter";
|
|
2
|
-
import { AbstractDataEventAsserter } from "./abstractDataEventAsserter";
|
|
3
|
-
export declare class CodeDataEventAsserter<T> extends AbstractDataEventAsserter<CodeDataEventAsserter<T>, T, [any, number | string | undefined]> {
|
|
4
|
-
private readonly _codeChecker;
|
|
5
|
-
/**
|
|
6
|
-
* @description
|
|
7
|
-
* Asserts the code of the event.
|
|
8
|
-
* Notice that the code will not be checked in (get not) mode.
|
|
9
|
-
*/
|
|
10
|
-
withCode(): ValueAsserter<CodeDataEventAsserter<T>>;
|
|
11
|
-
protected _codeCheck(code: number | string | undefined, index: number): void;
|
|
12
|
-
protected _onEventArgs(args: any, index: number): void;
|
|
13
|
-
protected self(): CodeDataEventAsserter<T>;
|
|
14
|
-
}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
Author: Luca Scaringella
|
|
4
|
-
GitHub: LucaCode
|
|
5
|
-
©Copyright by Luca Scaringella
|
|
6
|
-
*/
|
|
7
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.CodeDataEventAsserter = void 0;
|
|
9
|
-
const valueAsserter_1 = require("../value/valueAsserter");
|
|
10
|
-
const abstractDataEventAsserter_1 = require("./abstractDataEventAsserter");
|
|
11
|
-
class CodeDataEventAsserter extends abstractDataEventAsserter_1.AbstractDataEventAsserter {
|
|
12
|
-
constructor() {
|
|
13
|
-
super(...arguments);
|
|
14
|
-
this._codeChecker = [];
|
|
15
|
-
}
|
|
16
|
-
// noinspection JSUnusedGlobalSymbols
|
|
17
|
-
/**
|
|
18
|
-
* @description
|
|
19
|
-
* Asserts the code of the event.
|
|
20
|
-
* Notice that the code will not be checked in (get not) mode.
|
|
21
|
-
*/
|
|
22
|
-
withCode() {
|
|
23
|
-
return new valueAsserter_1.ValueAsserter(this.self(), '', (test) => {
|
|
24
|
-
this._codeChecker.push(test);
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
_codeCheck(code, index) {
|
|
28
|
-
this._codeChecker.forEach((f) => {
|
|
29
|
-
f(code, `${this._target}: ${index} event: ${this._event} -> code `);
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
_onEventArgs(args, index) {
|
|
33
|
-
this._dataCheck(args[0], index);
|
|
34
|
-
this._codeCheck(args[1], index);
|
|
35
|
-
}
|
|
36
|
-
self() {
|
|
37
|
-
return this;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
exports.CodeDataEventAsserter = CodeDataEventAsserter;
|