Skip to content

Commit 9cbb79e

Browse files
authored
Merge pull request #59 from Bandwidth/DX-2439
DX-2439 Update getMediaAsync to accept a Binary Response
2 parents e3912d4 + f8f8d78 commit 9cbb79e

File tree

3 files changed

+37
-4
lines changed

3 files changed

+37
-4
lines changed

src/main/java/com/bandwidth/messaging/controllers/APIController.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ public CompletableFuture<ApiResponse<InputStream>> getMediaAsync(
215215
return makeHttpCallAsync(() -> buildGetMediaRequest(accountId, mediaId),
216216
req -> authManagers.get("messaging").applyAsync(req)
217217
.thenCompose(request -> getClientInstance()
218-
.executeAsync(request, false)),
218+
.executeAsync(request, true)),
219219
context -> handleGetMediaResponse(context));
220220
}
221221

@@ -861,4 +861,4 @@ private ApiResponse<BandwidthMessage> handleCreateMessageResponse(
861861
return new ApiResponse<BandwidthMessage>(response.getStatusCode(), response.getHeaders(), result);
862862
}
863863

864-
}
864+
}

src/main/java/com/bandwidth/voice/controllers/APIController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -763,7 +763,7 @@ public CompletableFuture<ApiResponse<CallRecordingMetadata>> getCallRecordingAsy
763763
return makeHttpCallAsync(() -> buildGetCallRecordingRequest(accountId, callId, recordingId),
764764
req -> authManagers.get("voice").applyAsync(req)
765765
.thenCompose(request -> getClientInstance()
766-
.executeAsync(request, false)),
766+
.executeAsync(request, true)),
767767
context -> handleGetCallRecordingResponse(context));
768768
}
769769

src/test/java/com/bandwidth/MessagingApiTest.java

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import java.io.InputStream;
1414
import java.nio.file.Files;
1515
import java.util.Collections;
16+
import java.util.concurrent.CompletableFuture;
1617

1718
import org.junit.*;
1819
import static org.junit.Assert.*;
@@ -106,4 +107,36 @@ public void testUploadDownloadDeleteMedia() throws Exception {
106107
ApiResponse<Void> deleteMediaApiResponse = controller.deleteMedia(ACCOUNT_ID, mediaId);
107108
assertEquals("Response Code is not 204", 204, deleteMediaApiResponse.getStatusCode());
108109
}
109-
}
110+
111+
@Test
112+
public void testUploadDownloadDeleteMediaAsync() throws Exception {
113+
final String fileName = "src/test/resources/mediaUpload.png";
114+
final String contentType = "image/png";
115+
116+
File file = new File(fileName);
117+
byte[] fileContents = Files.readAllBytes(file.toPath());
118+
FileWrapper body = new FileWrapper(file, contentType);
119+
120+
final String mediaId = "java-media-test_" + java.util.UUID.randomUUID();
121+
122+
CompletableFuture<ApiResponse<Void>> uploadMediaApiResponseAsync = controller.uploadMediaAsync(ACCOUNT_ID, mediaId, body, contentType, "no-cache");
123+
assertEquals("Response Code is not 204", 204, uploadMediaApiResponseAsync.get().getStatusCode());
124+
125+
CompletableFuture<ApiResponse<InputStream>> asyncDownloadMediaAPiResponse = controller.getMediaAsync(ACCOUNT_ID, mediaId);
126+
assertEquals("Response Code is not 200", 200, asyncDownloadMediaAPiResponse.get().getStatusCode());
127+
128+
InputStream asyncDownloadMediaResponse = asyncDownloadMediaAPiResponse.get().getResult();
129+
130+
int asyncBRead;
131+
ByteArrayOutputStream asyncByteArrayOutputStream = new ByteArrayOutputStream();
132+
while ((asyncBRead = asyncDownloadMediaResponse.read()) != -1){
133+
asyncByteArrayOutputStream.write(asyncBRead);
134+
}
135+
byte[] asyncResponseContents = asyncByteArrayOutputStream.toByteArray();
136+
137+
assertArrayEquals("Media download not equal to media upload", fileContents, asyncResponseContents);
138+
139+
CompletableFuture<ApiResponse<Void>> deleteMediaApiResponseAsync = controller.deleteMediaAsync(ACCOUNT_ID, mediaId);
140+
assertEquals("Response Code is not 204", 204, deleteMediaApiResponseAsync.get().getStatusCode());
141+
}
142+
}

0 commit comments

Comments
 (0)