Skip to content

Commit 9251eab

Browse files
nitzanjtocker
authored andcommitted
Fix multipart callback and improve test (#77)
1 parent 6a0815a commit 9251eab

File tree

2 files changed

+6
-7
lines changed

2 files changed

+6
-7
lines changed

cloudinary-android-test/src/main/java/com/cloudinary/test/UploaderTest.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -91,22 +91,21 @@ public void testUploadProgressCallback() throws Exception {
9191
if (cloudinary.config.apiSecret == null)
9292
return;
9393

94-
final CountDownLatch signal = new CountDownLatch(1);
9594
final long totalLength = getAssetFileSize(TEST_IMAGE);
95+
final long[] totalUploaded = new long[]{0};
9696

9797
ProgressCallback progressCallback = new ProgressCallback() {
9898
@Override
9999
public void onProgress(long bytesUploaded, long totalBytes) {
100-
if (bytesUploaded == totalLength) {
101-
signal.countDown();
102-
}
100+
totalUploaded[0] += bytesUploaded;
103101
}
104102
};
105103

106104
JSONObject result = new JSONObject(cloudinary.uploader().upload(getAssetStream(TEST_IMAGE), ObjectUtils.asMap("colors", true), progressCallback));
107105

108-
signal.await(5, TimeUnit.SECONDS);
109-
assertEquals(signal.getCount(), 0);
106+
assertTrue("ProgressCallback was never called", totalUploaded[0] > 0);
107+
assertEquals("ProgressCallback calls do not sum up to actual file length", totalLength, totalUploaded[0]);
108+
110109
assertEquals(result.getLong("width"), 241L);
111110
assertEquals(result.getLong("height"), 51L);
112111
assertNotNull(result.get("colors"));

cloudinary-android/src/main/java/com/cloudinary/android/UploaderStrategy.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ public void totalBytesLoaded(long bytes) {
6363
HttpURLConnection connection;
6464

6565
try {
66-
multipart = new MultipartUtility(apiUrl, "UTF-8", this.cloudinary().randomPublicId(), (Map<String, String>) options.get("extra_headers"));
66+
multipart = new MultipartUtility(apiUrl, "UTF-8", this.cloudinary().randomPublicId(), (Map<String, String>) options.get("extra_headers"), multipartCallback);
6767

6868
// Remove blank parameters
6969
for (Map.Entry<String, Object> param : params.entrySet()) {

0 commit comments

Comments
 (0)