if (succeeded.equals(currentType)) { succeedEvent = currentEvent; checkProperties(currentEvent); break; } else { assertTrue("event is not 'succeeded' and not 'progressed'", progressed.equals(currentType)); assertTrue("wrong order of progressed events, transferredSize got smaller, last = " + transferredBytes + ", current = " + currentEvent.getTransferredBytes(), currentEvent.getTransferredBytes() >= transferredBytes);
@Test public void testDownloadCorrupted() throws Exception { RecordingTransferListener transferListener = new RecordingTransferListener(); session.setTransferListener(transferListener); addDelivery("gid/aid/version/aid-version-classifier.extension", "artifact"); addDelivery("gid/aid/version/aid-version-classifier.extension.sha1", "foo"); addDelivery("gid/aid/version/aid-version-classifier.extension.md5", "bar"); File f = TestFileUtils.createTempFile(""); Artifact a = artifact("bla"); ArtifactDownload down = new ArtifactDownload(a, null, f, RepositoryPolicy.CHECKSUM_POLICY_WARN); Collection<? extends ArtifactDownload> downs = Arrays.asList(down); connector().get(downs, null); TransferEvent corruptedEvent = null; for (TransferEvent e : transferListener.getEvents()) { if (TransferEvent.EventType.CORRUPTED.equals(e.getType())) { corruptedEvent = e; break; } } assertNotNull(corruptedEvent); }
private static void checkProperties(TransferEvent event) { assertNotNull("resource is null for type: " + event.getType(), event.getResource()); assertNotNull("request type is null for type: " + event.getType(), event.getRequestType()); assertNotNull("type is null for type: " + event.getType(), event.getType()); if (PROGRESSED.equals(event.getType())) { assertNotNull("data buffer is null for type: " + event.getType(), event.getDataBuffer()); assertTrue("transferred byte is not set/not positive for type: " + event.getType(), event.getTransferredBytes() > -1); } else if (SUCCEEDED.equals(event.getType())) { assertTrue("transferred byte is not set/not positive for type: " + event.getType(), event.getTransferredBytes() > -1); } }
private static void checkEvents(Queue<TransferEvent> events, long expectedBytes) { TransferEvent currentEvent; while ((currentEvent = events.poll()) != null) { EventType currentType = currentEvent.getType(); if (TransferEvent.EventType.SUCCEEDED.equals(currentType)) { assertEquals("Should only have received " + expectedBytes + " bytes", expectedBytes, currentEvent.getTransferredBytes()); } } }