OLD | NEW |
| (Empty) |
1 // Copyright (c) 2015, the Dartino project authors. Please see the AUTHORS file | |
2 // for details. All rights reserved. Use of this source code is governed by a | |
3 // BSD-style license that can be found in the LICENSE.md file. | |
4 | |
5 import 'dart:typed_data'; | |
6 | |
7 import 'package:expect/expect.dart'; | |
8 import 'package:fletch_agent/messages.dart'; | |
9 | |
10 void main() { | |
11 testStartVmRequest(); | |
12 testStopVmRequest(); | |
13 testListVmsRequest(); | |
14 testUpgradeAgentRequest(); | |
15 testFletchVersionRequest(); | |
16 | |
17 testStartVmReply(); | |
18 testStopVmReply(); | |
19 testListVmsReply(); | |
20 testUpgradeAgentReply(); | |
21 testFletchVersionReply(); | |
22 } | |
23 | |
24 void throwsMessageDecodeException(Function f) { | |
25 Expect.throws(f, (e) => e is MessageDecodeException); | |
26 } | |
27 | |
28 void testStartVmRequest() { | |
29 var request = new StartVmRequest(); | |
30 var buffer = request.toBuffer(); | |
31 request = new StartVmRequest.fromBuffer(buffer); | |
32 | |
33 buffer = new Uint8List.fromList([1, 2, 3]).buffer; | |
34 throwsMessageDecodeException(() => new StartVmRequest.fromBuffer(buffer)); | |
35 } | |
36 | |
37 void testStopVmRequest() { | |
38 var request = new StopVmRequest(123); | |
39 var buffer = request.toBuffer(); | |
40 request = new StopVmRequest.fromBuffer(buffer); | |
41 Expect.equals(123, request.vmPid); | |
42 | |
43 buffer = new Uint8List.fromList([1, 2, 3]).buffer; | |
44 throwsMessageDecodeException(() => new StopVmRequest.fromBuffer(buffer)); | |
45 } | |
46 | |
47 void testListVmsRequest() { | |
48 var request = new ListVmsRequest(); | |
49 var buffer = request.toBuffer(); | |
50 request = new ListVmsRequest.fromBuffer(buffer); | |
51 | |
52 buffer = new Uint8List.fromList([1, 2, 3]).buffer; | |
53 throwsMessageDecodeException(() => new ListVmsRequest.fromBuffer(buffer)); | |
54 } | |
55 | |
56 void testUpgradeAgentRequest() { | |
57 var request = new UpgradeAgentRequest([1, 2, 3]); | |
58 var buffer = request.toBuffer(); | |
59 request = new UpgradeAgentRequest.fromBuffer(buffer); | |
60 Expect.listEquals([1, 2, 3], request.binary); | |
61 | |
62 buffer = new Uint8List.fromList([1, 2, 3]).buffer; | |
63 throwsMessageDecodeException( | |
64 () => new UpgradeAgentRequest.fromBuffer(buffer)); | |
65 } | |
66 | |
67 void testFletchVersionRequest() { | |
68 var request = new FletchVersionRequest(); | |
69 var buffer = request.toBuffer(); | |
70 request = new FletchVersionRequest.fromBuffer(buffer); | |
71 | |
72 buffer = new Uint8List.fromList([1, 2, 3]).buffer; | |
73 throwsMessageDecodeException( | |
74 () => new FletchVersionRequest.fromBuffer(buffer)); | |
75 } | |
76 | |
77 void testStartVmReply() { | |
78 var reply = | |
79 new StartVmReply(123, ReplyHeader.SUCCESS, vmId: 456, vmPort: 789); | |
80 var buffer = reply.toBuffer(); | |
81 var x = buffer.asUint8List(); | |
82 reply = new StartVmReply.fromBuffer(buffer); | |
83 Expect.equals(123, reply.id); | |
84 Expect.equals(ReplyHeader.SUCCESS, reply.result); | |
85 Expect.equals(456, reply.vmId); | |
86 Expect.equals(789, reply.vmPort); | |
87 | |
88 buffer = new Uint8List.fromList([1, 2, 3]).buffer; | |
89 throwsMessageDecodeException(() => new StartVmReply.fromBuffer(buffer)); | |
90 } | |
91 | |
92 void testStopVmReply() { | |
93 var reply = new StopVmReply(123, ReplyHeader.SUCCESS); | |
94 var buffer = reply.toBuffer(); | |
95 reply = new StopVmReply.fromBuffer(buffer); | |
96 Expect.equals(123, reply.id); | |
97 Expect.equals(ReplyHeader.SUCCESS, reply.result); | |
98 | |
99 buffer = new Uint8List.fromList([1, 2, 3]).buffer; | |
100 throwsMessageDecodeException(() => new StopVmReply.fromBuffer(buffer)); | |
101 } | |
102 | |
103 testListVmsReply() { | |
104 var reply = new ListVmsReply(123, ReplyHeader.SUCCESS, vmIds: [456, 789]); | |
105 var buffer = reply.toBuffer(); | |
106 reply = new ListVmsReply.fromBuffer(buffer); | |
107 Expect.equals(123, reply.id); | |
108 Expect.equals(ReplyHeader.SUCCESS, reply.result); | |
109 Expect.listEquals([456, 789], reply.vmIds); | |
110 | |
111 buffer = new Uint8List.fromList([1, 2, 3]).buffer; | |
112 throwsMessageDecodeException(() => new ListVmsReply.fromBuffer(buffer)); | |
113 } | |
114 | |
115 testUpgradeAgentReply() { | |
116 var reply = new UpgradeAgentReply(123, ReplyHeader.SUCCESS); | |
117 var buffer = reply.toBuffer(); | |
118 reply = new UpgradeAgentReply.fromBuffer(buffer); | |
119 Expect.equals(123, reply.id); | |
120 Expect.equals(ReplyHeader.SUCCESS, reply.result); | |
121 | |
122 buffer = new Uint8List.fromList([1, 2, 3]).buffer; | |
123 throwsMessageDecodeException(() => new UpgradeAgentReply.fromBuffer(buffer)); | |
124 } | |
125 | |
126 testFletchVersionReply() { | |
127 var reply = | |
128 new FletchVersionReply(123, ReplyHeader.SUCCESS, version: "456"); | |
129 var buffer = reply.toBuffer(); | |
130 reply = new FletchVersionReply.fromBuffer(buffer); | |
131 Expect.equals(123, reply.id); | |
132 Expect.equals(ReplyHeader.SUCCESS, reply.result); | |
133 Expect.equals("456", reply.fletchVersion); | |
134 | |
135 buffer = new Uint8List.fromList([1, 2, 3]).buffer; | |
136 throwsMessageDecodeException(() => new FletchVersionReply.fromBuffer(buffer)); | |
137 } | |
OLD | NEW |