Skip to content

Commit

Permalink
fix: Fix closed stream exception in canUpload method (#1067)
Browse files Browse the repository at this point in the history
  • Loading branch information
arjankowski authored Jun 28, 2022
1 parent 9b7d60c commit 543f91c
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 9 deletions.
4 changes: 2 additions & 2 deletions src/main/java/com/box/sdk/BoxFile.java
Original file line number Diff line number Diff line change
Expand Up @@ -716,8 +716,8 @@ public void canUploadVersion(String name, long fileSize, String parentID) {
preflightInfo.add("size", fileSize);

request.setBody(preflightInfo.toString());
BoxAPIResponse response = request.send();
response.disconnect();
BoxJSONResponse response = (BoxJSONResponse) request.send();
response.getJSON();
}

/**
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/com/box/sdk/BoxFolder.java
Original file line number Diff line number Diff line change
Expand Up @@ -466,8 +466,8 @@ public void canUpload(String name, long fileSize) {
preflightInfo.add("size", fileSize);

request.setBody(preflightInfo.toString());
BoxAPIResponse response = request.send();
response.disconnect();
BoxJSONResponse response = (BoxJSONResponse) request.send();
response.getJSON();
}

/**
Expand Down
4 changes: 4 additions & 0 deletions src/test/Fixtures/BoxFile/CanUploadFile200.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"upload_token": "Pc3FIOG9vSGV4VHo4QzAyg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQP",
"upload_url": "https://upload-las.app.box.com/api/2.0/files/content?upload_session_id=1234"
}
4 changes: 3 additions & 1 deletion src/test/java/com/box/sdk/BoxFileTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -845,6 +845,7 @@ public void testChunkedUploadWithCorrectPartSize() throws IOException, Interrupt
String sessionResult = TestConfig.getFixture("BoxFile/CreateUploadSession201", wireMockRule.port());
String uploadResult = TestConfig.getFixture("BoxFile/UploadPartOne200");
String commitResult = TestConfig.getFixture("BoxFile/CommitUpload201");
String canUploadResult = TestConfig.getFixture("BoxFile/CanUploadFile200");

JsonObject idObject = new JsonObject()
.add("id", "12345");
Expand Down Expand Up @@ -874,7 +875,8 @@ public void testChunkedUploadWithCorrectPartSize() throws IOException, Interrupt
.withRequestBody(WireMock.equalToJson(preflightObject.toString()))
.willReturn(WireMock.aResponse()
.withHeader("Content-Type", "application/json")
.withStatus(200)));
.withStatus(200)
.withBody(canUploadResult)));

wireMockRule.stubFor(WireMock.post(WireMock.urlPathEqualTo(sessionURL))
.withRequestBody(WireMock.equalToJson(sessionObject.toString()))
Expand Down
16 changes: 12 additions & 4 deletions src/test/java/com/box/sdk/BoxFolderTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ public void testChunkedUploadWithCorrectPartSizeAndAttributes() throws IOExcepti
String sessionResult = TestConfig.getFixture("BoxFile/CreateUploadSession201", wireMockRule.port());
String uploadResult = TestConfig.getFixture("BoxFile/UploadPartOne200");
String commitResult = TestConfig.getFixture("BoxFile/CommitUploadWithAttributes201");
String canUploadResult = TestConfig.getFixture("BoxFile/CanUploadFile200");

JsonObject idObject = new JsonObject()
.add("id", "12345");
Expand Down Expand Up @@ -134,7 +135,8 @@ public void testChunkedUploadWithCorrectPartSizeAndAttributes() throws IOExcepti
.withRequestBody(WireMock.equalToJson(preflightObject.toString()))
.willReturn(WireMock.aResponse()
.withHeader("Content-Type", "application/json")
.withStatus(200)));
.withStatus(200)
.withBody(canUploadResult)));

wireMockRule.stubFor(WireMock.post(WireMock.urlPathEqualTo(sessionURL))
.withRequestBody(WireMock.equalToJson(sessionObject.toString()))
Expand Down Expand Up @@ -182,6 +184,7 @@ public void testChunkedParallelUploadWithCorrectPartSizeAndAttributes() throws I
String sessionResult = TestConfig.getFixture("BoxFile/CreateUploadSession201", wireMockRule.port());
String uploadResult = TestConfig.getFixture("BoxFile/UploadPartOne200");
String commitResult = TestConfig.getFixture("BoxFile/CommitUploadWithAttributes201");
String canUploadResult = TestConfig.getFixture("BoxFile/CanUploadFile200");

JsonObject idObject = new JsonObject()
.add("id", "12345");
Expand Down Expand Up @@ -220,7 +223,8 @@ public void testChunkedParallelUploadWithCorrectPartSizeAndAttributes() throws I
.withRequestBody(WireMock.equalToJson(preflightObject.toString()))
.willReturn(WireMock.aResponse()
.withHeader("Content-Type", "application/json")
.withStatus(200)));
.withStatus(200)
.withBody(canUploadResult)));

wireMockRule.stubFor(WireMock.post(WireMock.urlPathEqualTo(sessionURL))
.withRequestBody(WireMock.equalToJson(sessionObject.toString()))
Expand Down Expand Up @@ -272,6 +276,7 @@ public void testChunkedUploadWith500Error() throws IOException, InterruptedExcep
String sessionResult = TestConfig.getFixture("BoxFile/CreateUploadSession201", wireMockRule.port());
String partsResult = TestConfig.getFixture("BoxFile/ListUploadedPart200");
String commitResult = TestConfig.getFixture("BoxFile/CommitUpload201");
String canUploadResult = TestConfig.getFixture("BoxFile/CanUploadFile200");

JsonObject idObject = new JsonObject()
.add("id", "12345");
Expand Down Expand Up @@ -301,7 +306,8 @@ public void testChunkedUploadWith500Error() throws IOException, InterruptedExcep
.withRequestBody(WireMock.equalToJson(preflightObject.toString()))
.willReturn(WireMock.aResponse()
.withHeader("Content-Type", "application/json")
.withStatus(200)));
.withStatus(200)
.withBody(canUploadResult)));

wireMockRule.stubFor(WireMock.post(WireMock.urlPathEqualTo(sessionURL))
.withRequestBody(WireMock.equalToJson(sessionObject.toString()))
Expand Down Expand Up @@ -361,6 +367,7 @@ public void testRetryingChunkedUploadWith500Error() throws IOException, Interrup
String uploadResult = TestConfig.getFixture("BoxFile/UploadPartOne200");
String wrongPartsResult = TestConfig.getFixture("BoxFile/ListUploadedParts200");
String commitResult = TestConfig.getFixture("BoxFile/CommitUpload201");
String canUploadResult = TestConfig.getFixture("BoxFile/CanUploadFile200");

JsonObject idObject = new JsonObject()
.add("id", "12345");
Expand Down Expand Up @@ -390,7 +397,8 @@ public void testRetryingChunkedUploadWith500Error() throws IOException, Interrup
.withRequestBody(WireMock.equalToJson(preflightObject.toString()))
.willReturn(WireMock.aResponse()
.withHeader("Content-Type", "application/json")
.withStatus(200)));
.withStatus(200)
.withBody(canUploadResult)));

wireMockRule.stubFor(WireMock.post(WireMock.urlPathEqualTo(sessionURL))
.withRequestBody(WireMock.equalToJson(sessionObject.toString()))
Expand Down

0 comments on commit 543f91c

Please sign in to comment.