Skip to content

Commit 0fa206d

Browse files
Merge pull request #110 from muzzammilshahid/refactor-call-message-test
Refactor interoperability test for call message
2 parents 8009c99 + d1b368c commit 0fa206d

File tree

2 files changed

+58
-61
lines changed

2 files changed

+58
-61
lines changed
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
import "package:collection/collection.dart";
2+
import "package:pinenacl/encoding.dart";
3+
import "package:test/test.dart";
4+
5+
import "package:wampproto/messages.dart";
6+
import "package:wampproto/serializers.dart";
7+
8+
import "../helper.dart";
9+
10+
void main() {
11+
group("Call", () {
12+
const equality = DeepCollectionEquality();
13+
const testProcedure = "io.xconn.test";
14+
15+
bool isEqual(Call msg1, Call msg2) =>
16+
msg1.requestID == msg2.requestID &&
17+
msg1.uri == msg2.uri &&
18+
equality.equals(msg1.options, msg2.options) &&
19+
equality.equals(msg1.args, msg2.args) &&
20+
equality.equals(msg1.kwargs, msg2.kwargs);
21+
22+
test("JSONSerializer", () async {
23+
var callMessage = Call(1, testProcedure);
24+
var command = "message call ${callMessage.requestID} ${callMessage.uri} --serializer json";
25+
26+
var output = await runCommand(command);
27+
28+
var jsonSerializer = JSONSerializer();
29+
var message = jsonSerializer.deserialize(output) as Call;
30+
expect(isEqual(message, callMessage), true);
31+
});
32+
33+
test("CBORSerializer", () async {
34+
var callMessage = Call(1, testProcedure, args: ["abc"]);
35+
var command = "message call ${callMessage.requestID} ${callMessage.uri} abc --serializer cbor --output hex";
36+
37+
var output = await runCommand(command);
38+
var outputBytes = Base16Encoder.instance.decode(output.trim());
39+
40+
var cborSerializer = CBORSerializer();
41+
var message = cborSerializer.deserialize(outputBytes) as Call;
42+
expect(isEqual(message, callMessage), true);
43+
});
44+
45+
test("MsgPackSerializer", () async {
46+
var callMessage = Call(1, testProcedure, args: ["abc"], kwargs: {"a": 1});
47+
var command =
48+
"message call ${callMessage.requestID} ${callMessage.uri} abc -k a=1 --serializer msgpack --output hex";
49+
50+
var output = await runCommand(command);
51+
var outputBytes = Base16Encoder.instance.decode(output.trim());
52+
53+
var msgPackSerializer = MsgPackSerializer();
54+
var message = msgPackSerializer.deserialize(outputBytes) as Call;
55+
expect(isEqual(message, callMessage), true);
56+
});
57+
});
58+
}

test/interoptests/messages_test.dart

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

0 commit comments

Comments
 (0)