mockrtc 0.2.0 → 0.3.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/.github/workflows/ci.yml +2 -2
- package/dist/client/mockrtc-admin-request-builder.d.ts +7 -1
- package/dist/client/mockrtc-admin-request-builder.js +30 -0
- package/dist/client/mockrtc-admin-request-builder.js.map +1 -1
- package/dist/client/mockrtc-client.d.ts +8 -4
- package/dist/client/mockrtc-client.js +21 -9
- package/dist/client/mockrtc-client.js.map +1 -1
- package/dist/handling/handler-builder.d.ts +16 -9
- package/dist/handling/handler-builder.js +11 -1
- package/dist/handling/handler-builder.js.map +1 -1
- package/dist/handling/handler-step-definitions.d.ts +40 -23
- package/dist/handling/handler-step-definitions.js +61 -19
- package/dist/handling/handler-step-definitions.js.map +1 -1
- package/dist/handling/handler-steps.d.ts +11 -1
- package/dist/handling/handler-steps.js +33 -16
- package/dist/handling/handler-steps.js.map +1 -1
- package/dist/main-browser.d.ts +1 -0
- package/dist/main-browser.js +2 -1
- package/dist/main-browser.js.map +1 -1
- package/dist/main.d.ts +5 -3
- package/dist/main.js +2 -1
- package/dist/main.js.map +1 -1
- package/dist/matching/matcher-definitions.d.ts +51 -0
- package/dist/matching/matcher-definitions.js +94 -0
- package/dist/matching/matcher-definitions.js.map +1 -0
- package/dist/matching/matchers.d.ts +27 -0
- package/dist/matching/matchers.js +87 -0
- package/dist/matching/matchers.js.map +1 -0
- package/dist/mockrtc-base.d.ts +16 -0
- package/dist/mockrtc-base.js +19 -0
- package/dist/mockrtc-base.js.map +1 -0
- package/dist/mockrtc-peer.d.ts +9 -2
- package/dist/mockrtc.d.ts +62 -0
- package/dist/mockrtc.js.map +1 -1
- package/dist/rule-builder.d.ts +86 -0
- package/dist/rule-builder.js +113 -0
- package/dist/rule-builder.js.map +1 -0
- package/dist/server/mockrtc-admin-plugin.js +18 -1
- package/dist/server/mockrtc-admin-plugin.js.map +1 -1
- package/dist/server/mockrtc-server-peer.d.ts +1 -1
- package/dist/server/mockrtc-server-peer.js +19 -7
- package/dist/server/mockrtc-server-peer.js.map +1 -1
- package/dist/server/mockrtc-server.d.ts +12 -5
- package/dist/server/mockrtc-server.js +53 -18
- package/dist/server/mockrtc-server.js.map +1 -1
- package/dist/webrtc/datachannel-stream.d.ts +2 -0
- package/dist/webrtc/datachannel-stream.js +15 -1
- package/dist/webrtc/datachannel-stream.js.map +1 -1
- package/dist/webrtc/mediatrack-stream.d.ts +2 -0
- package/dist/webrtc/mediatrack-stream.js +15 -1
- package/dist/webrtc/mediatrack-stream.js.map +1 -1
- package/dist/webrtc/mockrtc-connection.js +1 -1
- package/dist/webrtc/mockrtc-connection.js.map +1 -1
- package/dist/webrtc/rtc-connection.d.ts +6 -2
- package/dist/webrtc/rtc-connection.js +21 -21
- package/dist/webrtc/rtc-connection.js.map +1 -1
- package/dist/webrtc-hooks.js +8 -2
- package/dist/webrtc-hooks.js.map +1 -1
- package/package.json +2 -2
- package/src/client/mockrtc-admin-request-builder.ts +49 -1
- package/src/client/mockrtc-client.ts +28 -10
- package/src/handling/handler-builder.ts +22 -10
- package/src/handling/handler-step-definitions.ts +81 -23
- package/src/handling/handler-steps.ts +42 -15
- package/src/main-browser.ts +1 -0
- package/src/main.ts +5 -1
- package/src/matching/matcher-definitions.ts +109 -0
- package/src/matching/matchers.ts +118 -0
- package/src/mockrtc-base.ts +49 -0
- package/src/mockrtc-peer.ts +9 -2
- package/src/mockrtc.ts +72 -0
- package/src/rule-builder.ts +142 -0
- package/src/server/mockrtc-admin-plugin.ts +41 -3
- package/src/server/mockrtc-server-peer.ts +28 -18
- package/src/server/mockrtc-server.ts +71 -15
- package/src/webrtc/datachannel-stream.ts +15 -1
- package/src/webrtc/mediatrack-stream.ts +15 -1
- package/src/webrtc/mockrtc-connection.ts +1 -1
- package/src/webrtc/rtc-connection.ts +37 -20
- package/src/webrtc-hooks.ts +8 -2
- package/test/integration/events.spec.ts +3 -1
- package/test/integration/matching.spec.ts +189 -0
- package/test/integration/proxy.spec.ts +4 -2
- package/test/integration/send-steps.spec.ts +51 -0
package/.github/workflows/ci.yml
CHANGED
|
@@ -7,7 +7,7 @@ jobs:
|
|
|
7
7
|
|
|
8
8
|
strategy:
|
|
9
9
|
matrix:
|
|
10
|
-
node-version: [14.x,
|
|
10
|
+
node-version: [14.x, 16.x, v16.18.0, 18.x, '*']
|
|
11
11
|
|
|
12
12
|
steps:
|
|
13
13
|
- uses: actions/checkout@v2
|
|
@@ -21,7 +21,7 @@ jobs:
|
|
|
21
21
|
- run: npm test
|
|
22
22
|
|
|
23
23
|
- name: Deploy docs
|
|
24
|
-
if: github.ref == 'refs/heads/main' && matrix.node-version == '
|
|
24
|
+
if: github.ref == 'refs/heads/main' && matrix.node-version == 'v16.16.0'
|
|
25
25
|
uses: JamesIves/github-pages-deploy-action@v4.2.2
|
|
26
26
|
with:
|
|
27
27
|
single-commit: true
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import * as stream from 'stream';
|
|
3
3
|
import { AdminQuery } from 'mockttp/dist/client/admin-query';
|
|
4
|
-
import { HandlerStepDefinition } from '../handling/handler-step-definitions';
|
|
5
4
|
import { MockRTCEvent, MockRTCEventData } from '../mockrtc';
|
|
5
|
+
import { HandlerStepDefinition } from '../handling/handler-step-definitions';
|
|
6
|
+
import { MatcherDefinition } from '../matching/matcher-definitions';
|
|
6
7
|
/**
|
|
7
8
|
* This is part of Mockttp's experimental 'pluggable admin' API. This may change
|
|
8
9
|
* unpredictably, even in minor releases.
|
|
@@ -17,5 +18,10 @@ export declare class MockRTCAdminRequestBuilder {
|
|
|
17
18
|
}, {
|
|
18
19
|
peerId: string;
|
|
19
20
|
}>;
|
|
21
|
+
buildAddRuleQuery(matchers: Array<MatcherDefinition>, handlerSteps: Array<HandlerStepDefinition>, adminStream: stream.Duplex): AdminQuery<void>;
|
|
22
|
+
buildSetRulesQuery(rules: Array<{
|
|
23
|
+
matchers: MatcherDefinition[];
|
|
24
|
+
steps: HandlerStepDefinition[];
|
|
25
|
+
}>, adminStream: stream.Duplex): AdminQuery<void>;
|
|
20
26
|
buildSubscriptionRequest<E extends MockRTCEvent>(event: E): AdminQuery<MockRTCEventData[E]> | undefined;
|
|
21
27
|
}
|
|
@@ -35,6 +35,36 @@ class MockRTCAdminRequestBuilder {
|
|
|
35
35
|
transformResponse: ({ createPeer }) => createPeer
|
|
36
36
|
};
|
|
37
37
|
}
|
|
38
|
+
buildAddRuleQuery(matchers, handlerSteps, adminStream) {
|
|
39
|
+
return {
|
|
40
|
+
query: (0, graphql_tag_1.default) `
|
|
41
|
+
mutation AddRTCRule($ruleData: RTCRuleData!) {
|
|
42
|
+
addRTCRule(data: $ruleData)
|
|
43
|
+
}
|
|
44
|
+
`,
|
|
45
|
+
variables: {
|
|
46
|
+
ruleData: {
|
|
47
|
+
matchers: matchers.map(matcher => BrowserPluggableAdmin.Serialization.serialize(matcher, adminStream)),
|
|
48
|
+
steps: handlerSteps.map(step => BrowserPluggableAdmin.Serialization.serialize(step, adminStream))
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
buildSetRulesQuery(rules, adminStream) {
|
|
54
|
+
return {
|
|
55
|
+
query: (0, graphql_tag_1.default) `
|
|
56
|
+
mutation SetRTCRules($ruleData: [RTCRuleData!]!) {
|
|
57
|
+
setRTCRules(data: $ruleData)
|
|
58
|
+
}
|
|
59
|
+
`,
|
|
60
|
+
variables: {
|
|
61
|
+
ruleData: rules.map(({ matchers, steps }) => ({
|
|
62
|
+
matchers: matchers.map(matcher => BrowserPluggableAdmin.Serialization.serialize(matcher, adminStream)),
|
|
63
|
+
steps: steps.map(step => BrowserPluggableAdmin.Serialization.serialize(step, adminStream))
|
|
64
|
+
}))
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
}
|
|
38
68
|
buildSubscriptionRequest(event) {
|
|
39
69
|
const query = {
|
|
40
70
|
'peer-connected': (0, graphql_tag_1.default) `subscription OnPeerConnected {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mockrtc-admin-request-builder.js","sourceRoot":"","sources":["../../src/client/mockrtc-admin-request-builder.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,6CAA8B;AAG9B,6FAA6F;AAC7F,gGAAgG;AAChG,+FAA+F;AAC/F,sFAAsF;AACtF,kGAAkG;
|
|
1
|
+
{"version":3,"file":"mockrtc-admin-request-builder.js","sourceRoot":"","sources":["../../src/client/mockrtc-admin-request-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
import type { PluggableAdmin } from 'mockttp';
|
|
2
|
-
import { MockRTC, MockRTCEvent, MockRTCOptions,
|
|
2
|
+
import { MockRTC, MockRTCEvent, MockRTCOptions, MockRTCRuleDefinition } from "../mockrtc";
|
|
3
|
+
import { MockRTCBase } from '../mockrtc-base';
|
|
3
4
|
import type { MockRTCPeer } from '../mockrtc-peer';
|
|
5
|
+
import { HandlerStepDefinition } from '../handling/handler-step-definitions';
|
|
6
|
+
import { MatcherDefinition } from '../matching/matcher-definitions';
|
|
4
7
|
export declare type MockRTCClientOptions = PluggableAdmin.AdminClientOptions & MockRTCOptions;
|
|
5
|
-
export declare class MockRTCClient implements MockRTC {
|
|
8
|
+
export declare class MockRTCClient extends MockRTCBase implements MockRTC {
|
|
6
9
|
private options;
|
|
7
10
|
private adminClient;
|
|
8
11
|
private requestBuilder;
|
|
9
12
|
constructor(options?: MockRTCClientOptions);
|
|
10
13
|
getMatchingPeer(): MockRTCPeer;
|
|
11
|
-
|
|
12
|
-
|
|
14
|
+
buildPeerFromDefinition(handlerSteps: HandlerStepDefinition[]): Promise<MockRTCPeer>;
|
|
15
|
+
addRuleFromDefinition(matchers: MatcherDefinition[], handlerSteps: HandlerStepDefinition[]): Promise<void>;
|
|
16
|
+
setRulesFromDefinitions(rules: Array<MockRTCRuleDefinition>): Promise<void>;
|
|
13
17
|
start(): Promise<void>;
|
|
14
18
|
stop(): Promise<void>;
|
|
15
19
|
on(event: MockRTCEvent, callback: any): Promise<void>;
|
|
@@ -19,26 +19,38 @@ exports.MockRTCClient = void 0;
|
|
|
19
19
|
// We don't want to use the main-exported version to avoid bundling all of Mockttp in browsers.
|
|
20
20
|
// For now we have to use the direct import. We can update once TS 4.7 is widely used.
|
|
21
21
|
const BrowserPluggableAdmin = require("mockttp/dist/pluggable-admin-api/pluggable-admin.browser");
|
|
22
|
+
const mockrtc_base_1 = require("../mockrtc-base");
|
|
22
23
|
const mockrtc_remote_peer_1 = require("./mockrtc-remote-peer");
|
|
23
|
-
const handler_builder_1 = require("../handling/handler-builder");
|
|
24
24
|
const mockrtc_admin_request_builder_1 = require("./mockrtc-admin-request-builder");
|
|
25
|
-
class MockRTCClient {
|
|
25
|
+
class MockRTCClient extends mockrtc_base_1.MockRTCBase {
|
|
26
26
|
constructor(options = {}) {
|
|
27
|
+
super();
|
|
27
28
|
this.options = options;
|
|
28
|
-
this.
|
|
29
|
+
this.adminClient = new BrowserPluggableAdmin.AdminClient(options);
|
|
30
|
+
this.requestBuilder = new mockrtc_admin_request_builder_1.MockRTCAdminRequestBuilder();
|
|
31
|
+
}
|
|
32
|
+
getMatchingPeer() {
|
|
33
|
+
return new mockrtc_remote_peer_1.MockRTCRemotePeer('matching-peer', this.adminClient);
|
|
34
|
+
}
|
|
35
|
+
buildPeerFromDefinition(handlerSteps) {
|
|
36
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
29
37
|
const { adminStream } = this.adminClient;
|
|
30
38
|
const peerData = yield this.adminClient.sendQuery(this.requestBuilder.buildCreatePeerQuery(handlerSteps, adminStream));
|
|
31
39
|
const { peerId } = peerData;
|
|
32
40
|
return new mockrtc_remote_peer_1.MockRTCRemotePeer(peerId, this.adminClient);
|
|
33
41
|
});
|
|
34
|
-
this.adminClient = new BrowserPluggableAdmin.AdminClient(options);
|
|
35
|
-
this.requestBuilder = new mockrtc_admin_request_builder_1.MockRTCAdminRequestBuilder();
|
|
36
42
|
}
|
|
37
|
-
|
|
38
|
-
return
|
|
43
|
+
addRuleFromDefinition(matchers, handlerSteps) {
|
|
44
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
45
|
+
const { adminStream } = this.adminClient;
|
|
46
|
+
yield this.adminClient.sendQuery(this.requestBuilder.buildAddRuleQuery(matchers, handlerSteps, adminStream));
|
|
47
|
+
});
|
|
39
48
|
}
|
|
40
|
-
|
|
41
|
-
return
|
|
49
|
+
setRulesFromDefinitions(rules) {
|
|
50
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
51
|
+
const { adminStream } = this.adminClient;
|
|
52
|
+
yield this.adminClient.sendQuery(this.requestBuilder.buildSetRulesQuery(rules, adminStream));
|
|
53
|
+
});
|
|
42
54
|
}
|
|
43
55
|
start() {
|
|
44
56
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mockrtc-client.js","sourceRoot":"","sources":["../../src/client/mockrtc-client.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;AAGH,6FAA6F;AAC7F,gGAAgG;AAChG,+FAA+F;AAC/F,sFAAsF;AACtF,kGAAkG;
|
|
1
|
+
{"version":3,"file":"mockrtc-client.js","sourceRoot":"","sources":["../../src/client/mockrtc-client.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;AAGH,6FAA6F;AAC7F,gGAAgG;AAChG,+FAA+F;AAC/F,sFAAsF;AACtF,kGAAkG;AAIlG,kDAA8C;AAG9C,+DAA0D;AAE1D,mFAA6E;AAQ7E,MAAa,aAAc,SAAQ,0BAAW;IAK1C,YACY,UAAgC,EAAE;QAE1C,KAAK,EAAE,CAAC;QAFA,YAAO,GAAP,OAAO,CAA2B;QAI1C,IAAI,CAAC,WAAW,GAAG,IAAI,qBAAqB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAClE,IAAI,CAAC,cAAc,GAAG,IAAI,0DAA0B,EAAE,CAAC;IAC3D,CAAC;IAED,eAAe;QACX,OAAO,IAAI,uCAAiB,CAAC,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpE,CAAC;IAEK,uBAAuB,CAAC,YAAqC;;YAC/D,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;YAEzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAC7C,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,YAAY,EAAE,WAAW,CAAC,CACtE,CAAC;YAEF,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;YAE5B,OAAO,IAAI,uCAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3D,CAAC;KAAA;IAEK,qBAAqB,CACvB,QAA6B,EAC7B,YAAqC;;YAErC,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;YAEzC,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAC5B,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,QAAQ,EAAE,YAAY,EAAE,WAAW,CAAC,CAC7E,CAAC;QACN,CAAC;KAAA;IAEK,uBAAuB,CAAC,KAAmC;;YAC7D,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;YAEzC,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAC5B,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,KAAK,EAAE,WAAW,CAAC,CAC7D,CAAC;QACN,CAAC;KAAA;IAEK,KAAK;;YACP,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;gBACzB,MAAM,EAAE,IAAI,CAAC,OAAO;aACvB,CAAC,CAAC;QACP,CAAC;KAAA;IAEK,IAAI;;YACN,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAClC,CAAC;KAAA;IAEK,EAAE,CAAC,KAAmB,EAAE,QAAa;;YACvC,MAAM,mBAAmB,GAAG,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;YAEhF,IAAI,CAAC,mBAAmB,EAAE;gBACtB,4FAA4F;gBAC5F,2FAA2F;gBAC3F,yFAAyF;gBACzF,6EAA6E;gBAC7E,OAAO,CAAC,IAAI,CAAC,mEAAmE,KAAK,EAAE,CAAC,CAAC;gBACzF,OAAO;aACV;YAED,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;QACrE,CAAC;KAAA;CACJ;AAzED,sCAyEC"}
|
|
@@ -14,19 +14,19 @@ export declare class MockRTCHandlerBuilder<R> {
|
|
|
14
14
|
*
|
|
15
15
|
* @category Steps
|
|
16
16
|
*/
|
|
17
|
-
sleep(duration: number):
|
|
17
|
+
sleep(duration: number): MockRTCHandlerBuilder<R>;
|
|
18
18
|
/**
|
|
19
19
|
* Wait until the remote client has created at least one DataChannel.
|
|
20
20
|
*
|
|
21
21
|
* @category Steps
|
|
22
22
|
*/
|
|
23
|
-
waitForChannel(channelLabel?: string):
|
|
23
|
+
waitForChannel(channelLabel?: string): MockRTCHandlerBuilder<R>;
|
|
24
24
|
/**
|
|
25
25
|
* Wait until the remote client has created at least one media track
|
|
26
26
|
*
|
|
27
27
|
* @category Steps
|
|
28
28
|
*/
|
|
29
|
-
waitForTrack():
|
|
29
|
+
waitForTrack(): MockRTCHandlerBuilder<R>;
|
|
30
30
|
/**
|
|
31
31
|
* Wait until the remote client next sends a message to us on any DataChannel.
|
|
32
32
|
*
|
|
@@ -35,7 +35,7 @@ export declare class MockRTCHandlerBuilder<R> {
|
|
|
35
35
|
*
|
|
36
36
|
* @category Steps
|
|
37
37
|
*/
|
|
38
|
-
waitForNextMessage():
|
|
38
|
+
waitForNextMessage(): MockRTCHandlerBuilder<R>;
|
|
39
39
|
/**
|
|
40
40
|
* Wait until the remote client next sends media data on a media track.
|
|
41
41
|
*
|
|
@@ -43,16 +43,23 @@ export declare class MockRTCHandlerBuilder<R> {
|
|
|
43
43
|
*
|
|
44
44
|
* @category Steps
|
|
45
45
|
*/
|
|
46
|
-
waitForNextMedia():
|
|
46
|
+
waitForNextMedia(): MockRTCHandlerBuilder<R>;
|
|
47
47
|
/**
|
|
48
48
|
* Wait until the remote client sends a message to us on a specific DataChannel.
|
|
49
49
|
*
|
|
50
50
|
* This looks for new messages, ignoring any messages already consumed by
|
|
51
51
|
* previous steps.
|
|
52
52
|
*
|
|
53
|
-
|
|
53
|
+
* @category Steps
|
|
54
|
+
*/
|
|
55
|
+
waitForNextMessageOnChannel(channelLabel: string): MockRTCHandlerBuilder<R>;
|
|
56
|
+
/**
|
|
57
|
+
* Creates a new data channel with the given name, waiting until it opens
|
|
58
|
+
* before continuing.
|
|
59
|
+
*
|
|
60
|
+
* @category Steps
|
|
54
61
|
*/
|
|
55
|
-
|
|
62
|
+
createDataChannel(channelLabel: string): MockRTCHandlerBuilder<R>;
|
|
56
63
|
/**
|
|
57
64
|
* Send a message or buffer on the connection's data channels.
|
|
58
65
|
*
|
|
@@ -66,8 +73,8 @@ export declare class MockRTCHandlerBuilder<R> {
|
|
|
66
73
|
*
|
|
67
74
|
* @category Steps
|
|
68
75
|
*/
|
|
69
|
-
send(message: string | Buffer):
|
|
70
|
-
send(channel: string | undefined, message: string | Buffer):
|
|
76
|
+
send(message: string | Buffer): MockRTCHandlerBuilder<R>;
|
|
77
|
+
send(channel: string | undefined, message: string | Buffer): MockRTCHandlerBuilder<R>;
|
|
71
78
|
/**
|
|
72
79
|
* Immediately close the connection.
|
|
73
80
|
*
|
|
@@ -72,12 +72,22 @@ class MockRTCHandlerBuilder {
|
|
|
72
72
|
* This looks for new messages, ignoring any messages already consumed by
|
|
73
73
|
* previous steps.
|
|
74
74
|
*
|
|
75
|
-
|
|
75
|
+
* @category Steps
|
|
76
76
|
*/
|
|
77
77
|
waitForNextMessageOnChannel(channelLabel) {
|
|
78
78
|
this.handlerSteps.push(new handler_step_definitions_1.WaitForMessageStepDefinition(channelLabel));
|
|
79
79
|
return this;
|
|
80
80
|
}
|
|
81
|
+
/**
|
|
82
|
+
* Creates a new data channel with the given name, waiting until it opens
|
|
83
|
+
* before continuing.
|
|
84
|
+
*
|
|
85
|
+
* @category Steps
|
|
86
|
+
*/
|
|
87
|
+
createDataChannel(channelLabel) {
|
|
88
|
+
this.handlerSteps.push(new handler_step_definitions_1.CreateChannelStepDefinition(channelLabel));
|
|
89
|
+
return this;
|
|
90
|
+
}
|
|
81
91
|
send(...args) {
|
|
82
92
|
if (args[1] !== undefined) {
|
|
83
93
|
const [channel, message] = args;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler-builder.js","sourceRoot":"","sources":["../../src/handling/handler-builder.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,
|
|
1
|
+
{"version":3,"file":"handler-builder.js","sourceRoot":"","sources":["../../src/handling/handler-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,57 +8,74 @@ export interface HandlerStepDefinition extends Serializable {
|
|
|
8
8
|
readonly type: keyof typeof StepDefinitionLookup;
|
|
9
9
|
}
|
|
10
10
|
export declare class WaitForDurationStepDefinition extends Serializable implements HandlerStepDefinition {
|
|
11
|
-
|
|
11
|
+
readonly durationMs: number;
|
|
12
12
|
readonly type = "wait-for-duration";
|
|
13
13
|
constructor(durationMs: number);
|
|
14
|
+
explain(): string;
|
|
14
15
|
}
|
|
15
16
|
export declare class WaitForChannelStepDefinition extends Serializable implements HandlerStepDefinition {
|
|
16
|
-
|
|
17
|
-
readonly type = "wait-for-channel";
|
|
17
|
+
readonly channelLabel?: string | undefined;
|
|
18
|
+
readonly type = "wait-for-rtc-data-channel";
|
|
18
19
|
constructor(channelLabel?: string | undefined);
|
|
20
|
+
explain(): string;
|
|
19
21
|
}
|
|
20
22
|
export declare class WaitForMessageStepDefinition extends Serializable implements HandlerStepDefinition {
|
|
21
|
-
|
|
22
|
-
readonly type = "wait-for-message";
|
|
23
|
+
readonly channelLabel?: string | undefined;
|
|
24
|
+
readonly type = "wait-for-rtc-message";
|
|
23
25
|
constructor(channelLabel?: string | undefined);
|
|
26
|
+
explain(): string;
|
|
24
27
|
}
|
|
25
28
|
export declare class WaitForTrackStepDefinition extends Serializable implements HandlerStepDefinition {
|
|
26
|
-
readonly type = "wait-for-track";
|
|
29
|
+
readonly type = "wait-for-rtc-track";
|
|
30
|
+
explain(): string;
|
|
27
31
|
}
|
|
28
32
|
export declare class WaitForMediaStepDefinition extends Serializable implements HandlerStepDefinition {
|
|
29
|
-
readonly type = "wait-for-media";
|
|
33
|
+
readonly type = "wait-for-rtc-media";
|
|
34
|
+
explain(): string;
|
|
35
|
+
}
|
|
36
|
+
export declare class CreateChannelStepDefinition extends Serializable implements HandlerStepDefinition {
|
|
37
|
+
readonly channelLabel: string;
|
|
38
|
+
readonly type = "create-rtc-data-channel";
|
|
39
|
+
constructor(channelLabel: string);
|
|
40
|
+
explain(): string;
|
|
30
41
|
}
|
|
31
42
|
export declare class SendStepDefinition extends Serializable implements HandlerStepDefinition {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
readonly type = "send-message";
|
|
43
|
+
readonly channelLabel: string | undefined;
|
|
44
|
+
readonly message: string | Buffer;
|
|
45
|
+
readonly type = "send-rtc-data-message";
|
|
35
46
|
constructor(channelLabel: string | undefined, message: string | Buffer);
|
|
47
|
+
explain(): string;
|
|
36
48
|
}
|
|
37
49
|
export declare class CloseStepDefinition extends Serializable implements HandlerStepDefinition {
|
|
38
|
-
readonly type = "close-connection";
|
|
50
|
+
readonly type = "close-rtc-connection";
|
|
51
|
+
explain(): string;
|
|
39
52
|
}
|
|
40
53
|
export declare class EchoStepDefinition extends Serializable implements HandlerStepDefinition {
|
|
41
|
-
readonly type = "echo-
|
|
54
|
+
readonly type = "echo-rtc";
|
|
55
|
+
explain(): string;
|
|
42
56
|
}
|
|
43
57
|
export declare class PeerProxyStepDefinition extends Serializable implements HandlerStepDefinition {
|
|
44
|
-
readonly type = "peer-proxy";
|
|
58
|
+
readonly type = "rtc-peer-proxy";
|
|
45
59
|
protected getAnswer: (offer: MockRTCSessionDescription) => Promise<RTCSessionDescriptionInit>;
|
|
46
60
|
constructor(connectionTarget: RTCPeerConnection | ((offer: MockRTCSessionDescription) => Promise<RTCSessionDescriptionInit>));
|
|
61
|
+
explain(): string;
|
|
47
62
|
serialize(channel: ClientServerChannel): {};
|
|
48
63
|
}
|
|
49
64
|
export declare class DynamicProxyStepDefinition extends Serializable implements HandlerStepDefinition {
|
|
50
|
-
readonly type = "dynamic-proxy";
|
|
65
|
+
readonly type = "rtc-dynamic-proxy";
|
|
66
|
+
explain(): string;
|
|
51
67
|
}
|
|
52
68
|
export declare const StepDefinitionLookup: {
|
|
53
69
|
'wait-for-duration': typeof WaitForDurationStepDefinition;
|
|
54
|
-
'wait-for-channel': typeof WaitForChannelStepDefinition;
|
|
55
|
-
'wait-for-track': typeof WaitForTrackStepDefinition;
|
|
56
|
-
'wait-for-media': typeof WaitForMediaStepDefinition;
|
|
57
|
-
'wait-for-message': typeof WaitForMessageStepDefinition;
|
|
58
|
-
'
|
|
59
|
-
'
|
|
60
|
-
'
|
|
61
|
-
'
|
|
62
|
-
'
|
|
70
|
+
'wait-for-rtc-data-channel': typeof WaitForChannelStepDefinition;
|
|
71
|
+
'wait-for-rtc-track': typeof WaitForTrackStepDefinition;
|
|
72
|
+
'wait-for-rtc-media': typeof WaitForMediaStepDefinition;
|
|
73
|
+
'wait-for-rtc-message': typeof WaitForMessageStepDefinition;
|
|
74
|
+
'create-rtc-data-channel': typeof CreateChannelStepDefinition;
|
|
75
|
+
'send-rtc-data-message': typeof SendStepDefinition;
|
|
76
|
+
'close-rtc-connection': typeof CloseStepDefinition;
|
|
77
|
+
'echo-rtc': typeof EchoStepDefinition;
|
|
78
|
+
'rtc-peer-proxy': typeof PeerProxyStepDefinition;
|
|
79
|
+
'rtc-dynamic-proxy': typeof DynamicProxyStepDefinition;
|
|
63
80
|
};
|
|
64
81
|
export {};
|
|
@@ -13,7 +13,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
13
13
|
});
|
|
14
14
|
};
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
-
exports.StepDefinitionLookup = exports.DynamicProxyStepDefinition = exports.PeerProxyStepDefinition = exports.EchoStepDefinition = exports.CloseStepDefinition = exports.SendStepDefinition = exports.WaitForMediaStepDefinition = exports.WaitForTrackStepDefinition = exports.WaitForMessageStepDefinition = exports.WaitForChannelStepDefinition = exports.WaitForDurationStepDefinition = exports.Serializable = void 0;
|
|
16
|
+
exports.StepDefinitionLookup = exports.DynamicProxyStepDefinition = exports.PeerProxyStepDefinition = exports.EchoStepDefinition = exports.CloseStepDefinition = exports.SendStepDefinition = exports.CreateChannelStepDefinition = exports.WaitForMediaStepDefinition = exports.WaitForTrackStepDefinition = exports.WaitForMessageStepDefinition = exports.WaitForChannelStepDefinition = exports.WaitForDurationStepDefinition = exports.Serializable = void 0;
|
|
17
17
|
const PluggableAdmin = require("mockttp/dist/pluggable-admin-api/pluggable-admin.browser");
|
|
18
18
|
exports.Serializable = PluggableAdmin.Serialization.Serializable;
|
|
19
19
|
class WaitForDurationStepDefinition extends exports.Serializable {
|
|
@@ -22,13 +22,19 @@ class WaitForDurationStepDefinition extends exports.Serializable {
|
|
|
22
22
|
this.durationMs = durationMs;
|
|
23
23
|
this.type = 'wait-for-duration';
|
|
24
24
|
}
|
|
25
|
+
explain() {
|
|
26
|
+
return `wait for ${this.durationMs}ms`;
|
|
27
|
+
}
|
|
25
28
|
}
|
|
26
29
|
exports.WaitForDurationStepDefinition = WaitForDurationStepDefinition;
|
|
27
30
|
class WaitForChannelStepDefinition extends exports.Serializable {
|
|
28
31
|
constructor(channelLabel) {
|
|
29
32
|
super();
|
|
30
33
|
this.channelLabel = channelLabel;
|
|
31
|
-
this.type = 'wait-for-channel';
|
|
34
|
+
this.type = 'wait-for-rtc-data-channel';
|
|
35
|
+
}
|
|
36
|
+
explain() {
|
|
37
|
+
return `wait for an RTC channel${this.channelLabel ? ` labelled '${this.channelLabel}'` : ''}`;
|
|
32
38
|
}
|
|
33
39
|
}
|
|
34
40
|
exports.WaitForChannelStepDefinition = WaitForChannelStepDefinition;
|
|
@@ -36,51 +42,80 @@ class WaitForMessageStepDefinition extends exports.Serializable {
|
|
|
36
42
|
constructor(channelLabel) {
|
|
37
43
|
super();
|
|
38
44
|
this.channelLabel = channelLabel;
|
|
39
|
-
this.type = 'wait-for-message';
|
|
45
|
+
this.type = 'wait-for-rtc-message';
|
|
46
|
+
}
|
|
47
|
+
explain() {
|
|
48
|
+
return `wait for an RTC message${this.channelLabel ? ` on channel '${this.channelLabel}'` : ''}`;
|
|
40
49
|
}
|
|
41
50
|
}
|
|
42
51
|
exports.WaitForMessageStepDefinition = WaitForMessageStepDefinition;
|
|
43
52
|
class WaitForTrackStepDefinition extends exports.Serializable {
|
|
44
53
|
constructor() {
|
|
45
54
|
super(...arguments);
|
|
46
|
-
this.type = 'wait-for-track';
|
|
55
|
+
this.type = 'wait-for-rtc-track';
|
|
56
|
+
}
|
|
57
|
+
explain() {
|
|
58
|
+
return `wait for an RTC track`;
|
|
47
59
|
}
|
|
48
60
|
}
|
|
49
61
|
exports.WaitForTrackStepDefinition = WaitForTrackStepDefinition;
|
|
50
62
|
class WaitForMediaStepDefinition extends exports.Serializable {
|
|
51
63
|
constructor() {
|
|
52
64
|
super(...arguments);
|
|
53
|
-
this.type = 'wait-for-media';
|
|
65
|
+
this.type = 'wait-for-rtc-media';
|
|
66
|
+
}
|
|
67
|
+
explain() {
|
|
68
|
+
return `wait for RTC media data`;
|
|
54
69
|
}
|
|
55
70
|
}
|
|
56
71
|
exports.WaitForMediaStepDefinition = WaitForMediaStepDefinition;
|
|
72
|
+
class CreateChannelStepDefinition extends exports.Serializable {
|
|
73
|
+
constructor(channelLabel) {
|
|
74
|
+
super();
|
|
75
|
+
this.channelLabel = channelLabel;
|
|
76
|
+
this.type = 'create-rtc-data-channel';
|
|
77
|
+
}
|
|
78
|
+
explain() {
|
|
79
|
+
return `create an RTC data channel labelled '${this.channelLabel}'`;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
exports.CreateChannelStepDefinition = CreateChannelStepDefinition;
|
|
57
83
|
class SendStepDefinition extends exports.Serializable {
|
|
58
84
|
constructor(channelLabel, message) {
|
|
59
85
|
super();
|
|
60
86
|
this.channelLabel = channelLabel;
|
|
61
87
|
this.message = message;
|
|
62
|
-
this.type = 'send-message';
|
|
88
|
+
this.type = 'send-rtc-data-message';
|
|
89
|
+
}
|
|
90
|
+
explain() {
|
|
91
|
+
return `send an RTC data message${this.channelLabel ? ` on channel '${this.channelLabel}'` : ''}`;
|
|
63
92
|
}
|
|
64
93
|
}
|
|
65
94
|
exports.SendStepDefinition = SendStepDefinition;
|
|
66
95
|
class CloseStepDefinition extends exports.Serializable {
|
|
67
96
|
constructor() {
|
|
68
97
|
super(...arguments);
|
|
69
|
-
this.type = 'close-connection';
|
|
98
|
+
this.type = 'close-rtc-connection';
|
|
99
|
+
}
|
|
100
|
+
explain() {
|
|
101
|
+
return `close the RTC connection`;
|
|
70
102
|
}
|
|
71
103
|
}
|
|
72
104
|
exports.CloseStepDefinition = CloseStepDefinition;
|
|
73
105
|
class EchoStepDefinition extends exports.Serializable {
|
|
74
106
|
constructor() {
|
|
75
107
|
super(...arguments);
|
|
76
|
-
this.type = 'echo-
|
|
108
|
+
this.type = 'echo-rtc';
|
|
109
|
+
}
|
|
110
|
+
explain() {
|
|
111
|
+
return `echo all RTC media & data`;
|
|
77
112
|
}
|
|
78
113
|
}
|
|
79
114
|
exports.EchoStepDefinition = EchoStepDefinition;
|
|
80
115
|
class PeerProxyStepDefinition extends exports.Serializable {
|
|
81
116
|
constructor(connectionTarget) {
|
|
82
117
|
super();
|
|
83
|
-
this.type = 'peer-proxy';
|
|
118
|
+
this.type = 'rtc-peer-proxy';
|
|
84
119
|
if (connectionTarget instanceof Function) {
|
|
85
120
|
this.getAnswer = connectionTarget;
|
|
86
121
|
}
|
|
@@ -93,6 +128,9 @@ class PeerProxyStepDefinition extends exports.Serializable {
|
|
|
93
128
|
});
|
|
94
129
|
}
|
|
95
130
|
}
|
|
131
|
+
explain() {
|
|
132
|
+
return `proxy the RTC connection to the configured peer`;
|
|
133
|
+
}
|
|
96
134
|
serialize(channel) {
|
|
97
135
|
channel.onRequest((msg) => __awaiter(this, void 0, void 0, function* () {
|
|
98
136
|
return { answer: yield this.getAnswer(msg.offer) };
|
|
@@ -104,20 +142,24 @@ exports.PeerProxyStepDefinition = PeerProxyStepDefinition;
|
|
|
104
142
|
class DynamicProxyStepDefinition extends exports.Serializable {
|
|
105
143
|
constructor() {
|
|
106
144
|
super(...arguments);
|
|
107
|
-
this.type = 'dynamic-proxy';
|
|
145
|
+
this.type = 'rtc-dynamic-proxy';
|
|
146
|
+
}
|
|
147
|
+
explain() {
|
|
148
|
+
return `proxy the RTC connection to a remote peer`;
|
|
108
149
|
}
|
|
109
150
|
}
|
|
110
151
|
exports.DynamicProxyStepDefinition = DynamicProxyStepDefinition;
|
|
111
152
|
exports.StepDefinitionLookup = {
|
|
112
153
|
'wait-for-duration': WaitForDurationStepDefinition,
|
|
113
|
-
'wait-for-channel': WaitForChannelStepDefinition,
|
|
114
|
-
'wait-for-track': WaitForTrackStepDefinition,
|
|
115
|
-
'wait-for-media': WaitForMediaStepDefinition,
|
|
116
|
-
'wait-for-message': WaitForMessageStepDefinition,
|
|
117
|
-
'
|
|
118
|
-
'
|
|
119
|
-
'
|
|
120
|
-
'
|
|
121
|
-
'
|
|
154
|
+
'wait-for-rtc-data-channel': WaitForChannelStepDefinition,
|
|
155
|
+
'wait-for-rtc-track': WaitForTrackStepDefinition,
|
|
156
|
+
'wait-for-rtc-media': WaitForMediaStepDefinition,
|
|
157
|
+
'wait-for-rtc-message': WaitForMessageStepDefinition,
|
|
158
|
+
'create-rtc-data-channel': CreateChannelStepDefinition,
|
|
159
|
+
'send-rtc-data-message': SendStepDefinition,
|
|
160
|
+
'close-rtc-connection': CloseStepDefinition,
|
|
161
|
+
'echo-rtc': EchoStepDefinition,
|
|
162
|
+
'rtc-peer-proxy': PeerProxyStepDefinition,
|
|
163
|
+
'rtc-dynamic-proxy': DynamicProxyStepDefinition
|
|
122
164
|
};
|
|
123
165
|
//# sourceMappingURL=handler-step-definitions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler-step-definitions.js","sourceRoot":"","sources":["../../src/handling/handler-step-definitions.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;AAEH,2FAA2F;AAK5E,oBAAY,GAAK,cAAc,CAAC,aAAa,cAAC;AAO7D,MAAa,6BAA8B,SAAQ,oBAAY;IAI3D,
|
|
1
|
+
{"version":3,"file":"handler-step-definitions.js","sourceRoot":"","sources":["../../src/handling/handler-step-definitions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PluggableAdmin } from 'mockttp';
|
|
2
2
|
import type { MockRTCConnection } from '../webrtc/mockrtc-connection';
|
|
3
|
-
import { StepDefinitionLookup, CloseStepDefinition, DynamicProxyStepDefinition, EchoStepDefinition, HandlerStepDefinition, PeerProxyStepDefinition, SendStepDefinition, WaitForChannelStepDefinition, WaitForDurationStepDefinition, WaitForMediaStepDefinition, WaitForMessageStepDefinition, WaitForTrackStepDefinition } from './handler-step-definitions';
|
|
3
|
+
import { StepDefinitionLookup, CloseStepDefinition, DynamicProxyStepDefinition, EchoStepDefinition, HandlerStepDefinition, PeerProxyStepDefinition, CreateChannelStepDefinition, SendStepDefinition, WaitForChannelStepDefinition, WaitForDurationStepDefinition, WaitForMediaStepDefinition, WaitForMessageStepDefinition, WaitForTrackStepDefinition } from './handler-step-definitions';
|
|
4
4
|
declare type ClientServerChannel = PluggableAdmin.Serialization.ClientServerChannel;
|
|
5
5
|
export interface HandlerStep extends HandlerStepDefinition {
|
|
6
6
|
handle(connection: MockRTCConnection): Promise<void>;
|
|
@@ -22,9 +22,19 @@ export declare class WaitForTrackStep extends WaitForTrackStepDefinition {
|
|
|
22
22
|
export declare class WaitForMediaStep extends WaitForMediaStepDefinition {
|
|
23
23
|
handle(connection: MockRTCConnection): Promise<void>;
|
|
24
24
|
}
|
|
25
|
+
export declare class CreateChannelStep extends CreateChannelStepDefinition {
|
|
26
|
+
handle(conn: MockRTCConnection): Promise<void>;
|
|
27
|
+
}
|
|
25
28
|
export declare class SendStep extends SendStepDefinition {
|
|
26
29
|
private matchesChannel;
|
|
27
30
|
handle({ channels }: MockRTCConnection): Promise<void>;
|
|
31
|
+
static deserialize(data: {
|
|
32
|
+
channelLabel: string | undefined;
|
|
33
|
+
message: string | {
|
|
34
|
+
type: 'Buffer';
|
|
35
|
+
data: number[];
|
|
36
|
+
};
|
|
37
|
+
}): SendStep;
|
|
28
38
|
}
|
|
29
39
|
export declare class CloseStep extends CloseStepDefinition {
|
|
30
40
|
handle(connection: MockRTCConnection): Promise<void>;
|