@@ -8,10 +8,12 @@ class TestProtocol(BaseScsyncProtocol):
8
8
9
9
def __init__ (self ):
10
10
self .data = None
11
+ self .session_id = None
11
12
self .addr = None
12
13
13
- def sendto (self , data , addr = None ):
14
+ def sendto (self , data , session_id = None , addr = None ):
14
15
self .data = data
16
+ self .session_id = session_id
15
17
self .addr = addr
16
18
17
19
@@ -20,13 +22,15 @@ class TestPacketPackingAndUnpacking(unittest.TestCase):
20
22
def test_error (self ):
21
23
proto = TestProtocol ()
22
24
25
+ _session_id = 42
23
26
_filename = b'test.py'
24
27
_filehash = b'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
25
28
_error_type = ErrorType .File_Hash_Error
26
29
_error_id = 42
27
- proto .send_error (_filename , _filehash , _error_type , _error_id )
30
+ proto .send_error (_session_id , _filename , _filehash , _error_type , _error_id )
28
31
self .assertFalse (proto .data is None )
29
32
self .assertTrue (proto .addr is None )
33
+ self .assertEqual (proto .session_id , _session_id )
30
34
self .assertEqual (proto .data [0 :1 ], PacketType .Error )
31
35
self .assertEqual (proto .data [1 :33 ], _filehash )
32
36
self .assertEqual (proto .data [33 :35 ], (len (
@@ -45,15 +49,17 @@ def test_error(self):
45
49
def test_error_description (self ):
46
50
proto = TestProtocol ()
47
51
52
+ _session_id = 42
48
53
_filename = b'test.py'
49
54
_filehash = b'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
50
55
_error_type = ErrorType .File_Hash_Error
51
56
_error_id = 42
52
57
_description = b'description'
53
- proto .send_error (_filename , _filehash , _error_type ,
58
+ proto .send_error (_session_id , _filename , _filehash , _error_type ,
54
59
_error_id , _description )
55
60
self .assertFalse (proto .data is None )
56
61
self .assertTrue (proto .addr is None )
62
+ self .assertEqual (proto .session_id , _session_id )
57
63
self .assertEqual (proto .data [0 :1 ], PacketType .Error )
58
64
self .assertEqual (proto .data [1 :33 ], _filehash )
59
65
self .assertEqual (proto .data [33 :35 ], (len (
@@ -72,10 +78,12 @@ def test_error_description(self):
72
78
def test_ack_error (self ):
73
79
proto = TestProtocol ()
74
80
81
+ _session_id = 42
75
82
_error_id = 42
76
- proto .send_ack_error (_error_id )
83
+ proto .send_ack_error (_session_id , _error_id )
77
84
self .assertFalse (proto .data is None )
78
85
self .assertTrue (proto .addr is None )
86
+ self .assertEqual (proto .session_id , _session_id )
79
87
self .assertEqual (proto .data [0 :1 ], PacketType .Ack_Error )
80
88
81
89
valid , error_id = proto .unpack_ack_error (
@@ -86,26 +94,29 @@ def test_ack_error(self):
86
94
def test_client_hello (self ):
87
95
proto = TestProtocol ()
88
96
89
- _client_id = 42
90
- proto .send_client_update_request (_client_id )
97
+ _session_id = 42
98
+ _epoch = 1337
99
+ proto .send_client_update_request (_session_id , _epoch )
91
100
self .assertFalse (proto .data is None )
92
101
self .assertTrue (proto .addr is None )
102
+ self .assertEqual (proto .session_id , _session_id )
93
103
self .assertEqual (proto .data [0 :1 ], PacketType .Client_Update_Request )
94
104
95
- valid , client_id = proto .unpack_client_update_request (
105
+ valid , epoch = proto .unpack_client_update_request (
96
106
proto .data [1 :])
97
107
self .assertTrue (valid )
98
- self .assertEqual (client_id , _client_id )
108
+ self .assertEqual (epoch , _epoch )
99
109
100
110
def test_server_hello (self ):
101
111
proto = TestProtocol ()
102
112
103
- _client_id = 42
113
+ _session_id = 42
104
114
_fileinfos = {b'test1.py' : b'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' ,
105
115
b'test2.py' : b'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' }
106
- proto .send_current_server_state (_fileinfos )
116
+ proto .send_current_server_state (_session_id , _fileinfos )
107
117
self .assertFalse (proto .data is None )
108
118
self .assertTrue (proto .addr is None )
119
+ self .assertEqual (proto .session_id , _session_id )
109
120
self .assertEqual (proto .data [0 :1 ], PacketType .Current_Server_State )
110
121
111
122
valid , fileinfos = proto .unpack_current_server_state (
@@ -116,6 +127,7 @@ def test_server_hello(self):
116
127
def test_file_metadata (self ):
117
128
proto = TestProtocol ()
118
129
130
+ _session_id = 42
119
131
_filename = b'test.py'
120
132
_filehash = b'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
121
133
_filesize = 1337
@@ -125,9 +137,10 @@ def test_file_metadata(self):
125
137
'size' : _filesize ,
126
138
'permissions' : _permissions ,
127
139
'modified_at' : _modified_at }
128
- proto .send_file_metadata (_filename , _fileinfo )
140
+ proto .send_file_metadata (_session_id , _filename , _fileinfo )
129
141
self .assertFalse (proto .data is None )
130
142
self .assertTrue (proto .addr is None )
143
+ self .assertEqual (proto .session_id , _session_id )
131
144
self .assertEqual (proto .data [0 :1 ], PacketType .File_Metadata )
132
145
133
146
valid , filehash , filename , filesize , permissions , modified_at = proto .unpack_file_metadata (
@@ -142,14 +155,16 @@ def test_file_metadata(self):
142
155
def test_ack_metadata (self ):
143
156
proto = TestProtocol ()
144
157
158
+ _session_id = 42
145
159
_filename = b'test.py'
146
160
_filehash = b'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
147
161
_upload_id = 1337
148
162
_resume_at_byte = 42
149
- proto .send_ack_metadata (_filehash , _filename ,
163
+ proto .send_ack_metadata (_session_id , _filehash , _filename ,
150
164
_upload_id , _resume_at_byte )
151
165
self .assertFalse (proto .data is None )
152
166
self .assertTrue (proto .addr is None )
167
+ self .assertEqual (proto .session_id , _session_id )
153
168
self .assertEqual (proto .data [0 :1 ], PacketType .Ack_Metadata )
154
169
155
170
valid , filehash , filename , upload_id , resume_at_byte = proto .unpack_ack_metadata (
@@ -163,12 +178,14 @@ def test_ack_metadata(self):
163
178
def test_file_upload (self ):
164
179
proto = TestProtocol ()
165
180
181
+ _session_id = 42
166
182
_upload_id = 1337
167
183
_start_byte = 42
168
184
_payload = b'Hello World'
169
- proto .send_file_upload (_upload_id , _start_byte , _payload )
185
+ proto .send_file_upload (_session_id , _upload_id , _start_byte , _payload )
170
186
self .assertFalse (proto .data is None )
171
187
self .assertTrue (proto .addr is None )
188
+ self .assertEqual (proto .session_id , _session_id )
172
189
self .assertEqual (proto .data [0 :1 ], PacketType .File_Upload )
173
190
174
191
valid , upload_id , start_byte , payload = proto .unpack_file_upload (
@@ -181,11 +198,13 @@ def test_file_upload(self):
181
198
def test_ack_upload (self ):
182
199
proto = TestProtocol ()
183
200
201
+ _session_id = 42
184
202
_upload_id = 1337
185
203
_acked_bytes = 42
186
- proto .send_ack_upload (_upload_id , _acked_bytes )
204
+ proto .send_ack_upload (_session_id , _upload_id , _acked_bytes )
187
205
self .assertFalse (proto .data is None )
188
206
self .assertTrue (proto .addr is None )
207
+ self .assertEqual (proto .session_id , _session_id )
189
208
self .assertEqual (proto .data [0 :1 ], PacketType .Ack_Upload )
190
209
191
210
valid , upload_id , acked_bytes = proto .unpack_ack_upload (proto .data [1 :])
@@ -196,11 +215,13 @@ def test_ack_upload(self):
196
215
def test_file_delete (self ):
197
216
proto = TestProtocol ()
198
217
218
+ _session_id = 42
199
219
_filename = b'test.py'
200
220
_filehash = b'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
201
- proto .send_file_delete (_filehash , _filename )
221
+ proto .send_file_delete (_session_id , _filehash , _filename )
202
222
self .assertFalse (proto .data is None )
203
223
self .assertTrue (proto .addr is None )
224
+ self .assertEqual (proto .session_id , _session_id )
204
225
self .assertEqual (proto .data [0 :1 ], PacketType .File_Delete )
205
226
206
227
valid , filehash , filename = proto .unpack_file_delete (proto .data [1 :])
@@ -211,11 +232,13 @@ def test_file_delete(self):
211
232
def test_ack_delete (self ):
212
233
proto = TestProtocol ()
213
234
235
+ _session_id = 42
214
236
_filename = b'test.py'
215
237
_filehash = b'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
216
- proto .send_ack_delete (_filehash , _filename )
238
+ proto .send_ack_delete (_session_id , _filehash , _filename )
217
239
self .assertFalse (proto .data is None )
218
240
self .assertTrue (proto .addr is None )
241
+ self .assertEqual (proto .session_id , _session_id )
219
242
self .assertEqual (proto .data [0 :1 ], PacketType .Ack_Delete )
220
243
221
244
valid , filehash , filename = proto .unpack_ack_delete (proto .data [1 :])
@@ -226,12 +249,14 @@ def test_ack_delete(self):
226
249
def test_file_rename (self ):
227
250
proto = TestProtocol ()
228
251
252
+ _session_id = 42
229
253
_old_filename = b'test1.py'
230
254
_new_filename = b'test2.py'
231
255
_filehash = b'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
232
- proto .send_file_rename (_filehash , _old_filename , _new_filename )
256
+ proto .send_file_rename (_session_id , _filehash , _old_filename , _new_filename )
233
257
self .assertFalse (proto .data is None )
234
258
self .assertTrue (proto .addr is None )
259
+ self .assertEqual (proto .session_id , _session_id )
235
260
self .assertEqual (proto .data [0 :1 ], PacketType .File_Rename )
236
261
237
262
valid , filehash , old_filename , new_filename = proto .unpack_file_rename (
@@ -244,12 +269,14 @@ def test_file_rename(self):
244
269
def test_ack_rename (self ):
245
270
proto = TestProtocol ()
246
271
272
+ _session_id = 42
247
273
_old_filename = b'test1.py'
248
274
_new_filename = b'test2.py'
249
275
_filehash = b'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
250
- proto .send_ack_rename (_filehash , _old_filename , _new_filename )
276
+ proto .send_ack_rename (_session_id , _filehash , _old_filename , _new_filename )
251
277
self .assertFalse (proto .data is None )
252
278
self .assertTrue (proto .addr is None )
279
+ self .assertEqual (proto .session_id , _session_id )
253
280
self .assertEqual (proto .data [0 :1 ], PacketType .Ack_Rename )
254
281
255
282
valid , filehash , old_filename , new_filename = proto .unpack_ack_rename (
0 commit comments