Changeset View
Changeset View
Standalone View
Standalone View
tests/org/kde/kdeconnect/LanLinkTest.java
Show First 20 Lines • Show All 198 Lines • ▼ Show 20 Line(s) | 113 | public void testSendPayload() throws Exception { | |||
---|---|---|---|---|---|
199 | 199 | | |||
200 | final JSONObject sharePacketJson = new JSONObject("{\"id\":123,\"body\":{\"filename\":\"data.txt\"},\"payloadTransferInfo\":{},\"payloadSize\":8720,\"type\":\"kdeconnect.share\"}"); | 200 | final JSONObject sharePacketJson = new JSONObject("{\"id\":123,\"body\":{\"filename\":\"data.txt\"},\"payloadTransferInfo\":{},\"payloadSize\":8720,\"type\":\"kdeconnect.share\"}"); | ||
201 | 201 | | |||
202 | // Mocking share package | 202 | // Mocking share package | ||
203 | final NetworkPacket sharePacket = Mockito.mock(NetworkPacket.class); | 203 | final NetworkPacket sharePacket = Mockito.mock(NetworkPacket.class); | ||
204 | Mockito.when(sharePacket.getType()).thenReturn("kdeconnect.share"); | 204 | Mockito.when(sharePacket.getType()).thenReturn("kdeconnect.share"); | ||
205 | Mockito.when(sharePacket.hasPayload()).thenReturn(true); | 205 | Mockito.when(sharePacket.hasPayload()).thenReturn(true); | ||
206 | Mockito.when(sharePacket.hasPayloadTransferInfo()).thenReturn(true); | 206 | Mockito.when(sharePacket.hasPayloadTransferInfo()).thenReturn(true); | ||
207 | Mockito.doAnswer(new Answer() { | 207 | Mockito.doAnswer(invocationOnMock -> sharePacketJson.toString()).when(sharePacket).serialize(); | ||
208 | @Override | | |||
209 | public Object answer(InvocationOnMock invocationOnMock) throws Throwable { | | |||
210 | return sharePacketJson.toString(); | | |||
211 | } | | |||
212 | }).when(sharePacket).serialize(); | | |||
213 | Mockito.when(sharePacket.getPayload()).thenReturn(new ByteArrayInputStream(data)); | 208 | Mockito.when(sharePacket.getPayload()).thenReturn(new ByteArrayInputStream(data)); | ||
214 | Mockito.when(sharePacket.getPayloadSize()).thenReturn((long) data.length); | 209 | Mockito.when(sharePacket.getPayloadSize()).thenReturn((long) data.length); | ||
215 | Mockito.doAnswer(new Answer() { | 210 | Mockito.doAnswer(invocationOnMock -> sharePacketJson.getJSONObject("payloadTransferInfo")).when(sharePacket).getPayloadTransferInfo(); | ||
216 | @Override | 211 | Mockito.doAnswer(invocationOnMock -> { | ||
217 | public Object answer(InvocationOnMock invocationOnMock) throws Throwable { | | |||
218 | return sharePacketJson.getJSONObject("payloadTransferInfo"); | | |||
219 | } | | |||
220 | }).when(sharePacket).getPayloadTransferInfo(); | | |||
221 | Mockito.doAnswer(new Answer() { | | |||
222 | @Override | | |||
223 | public Object answer(InvocationOnMock invocationOnMock) throws Throwable { | | |||
224 | JSONObject object = (JSONObject) invocationOnMock.getArguments()[0]; | 212 | JSONObject object = (JSONObject) invocationOnMock.getArguments()[0]; | ||
225 | 213 | | |||
226 | sharePacketJson.put("payloadTransferInfo", object); | 214 | sharePacketJson.put("payloadTransferInfo", object); | ||
227 | return null; | 215 | return null; | ||
228 | } | | |||
229 | }).when(sharePacket).setPayloadTransferInfo(Mockito.any(JSONObject.class)); | 216 | }).when(sharePacket).setPayloadTransferInfo(Mockito.any(JSONObject.class)); | ||
230 | 217 | | |||
231 | Mockito.doAnswer(new Answer() { | 218 | Mockito.doAnswer(invocationOnMock -> { | ||
232 | @Override | | |||
233 | public Object answer(InvocationOnMock invocationOnMock) throws Throwable { | | |||
234 | 219 | | |||
235 | Log.e("LanLinkTest", "Write to stream"); | 220 | Log.e("LanLinkTest", "Write to stream"); | ||
236 | String stringNetworkPacket = new String((byte[]) invocationOnMock.getArguments()[0]); | 221 | String stringNetworkPacket = new String((byte[]) invocationOnMock.getArguments()[0]); | ||
237 | final NetworkPacket np = NetworkPacket.unserialize(stringNetworkPacket); | 222 | final NetworkPacket np = NetworkPacket.unserialize(stringNetworkPacket); | ||
238 | 223 | | |||
239 | downloader.setNetworkPacket(np); | 224 | downloader.setNetworkPacket(np); | ||
240 | downloader.start(); | 225 | downloader.start(); | ||
241 | 226 | | |||
242 | return stringNetworkPacket.length(); | 227 | return stringNetworkPacket.length(); | ||
243 | } | | |||
244 | }).when(goodOutputStream).write(Mockito.any(byte[].class)); | 228 | }).when(goodOutputStream).write(Mockito.any(byte[].class)); | ||
245 | 229 | | |||
246 | goodLanLink.sendPacket(sharePacket, callback); | 230 | goodLanLink.sendPacket(sharePacket, callback); | ||
247 | 231 | | |||
248 | try { | 232 | try { | ||
249 | // Wait 1 secs for downloader to finish (if some error, it will continue and assert will fail) | 233 | // Wait 1 secs for downloader to finish (if some error, it will continue and assert will fail) | ||
250 | downloader.join(1 * 1000); | 234 | downloader.join(1 * 1000); | ||
251 | } catch (Exception e) { | 235 | } catch (Exception e) { | ||
Show All 9 Lines |