|
73 | 73 |
|
74 | 74 | import static org.junit.Assert.assertEquals;
|
75 | 75 |
|
76 |
| -import java.io.ByteArrayInputStream; |
77 |
| -import java.io.FileNotFoundException; |
78 |
| -import java.io.FileReader; |
79 |
| -import java.io.InputStream; |
| 76 | +import java.io.*; |
80 | 77 | import java.util.HashSet;
|
81 | 78 | import java.util.Set;
|
82 | 79 |
|
@@ -440,6 +437,121 @@ public void createDocumentIsSuccessful() throws InterruptedException {
|
440 | 437 | assertEquals(createDocResp, response);
|
441 | 438 | }
|
442 | 439 |
|
| 440 | + @Test |
| 441 | + public void createDocumentFromInputStreamIsSuccessful() throws InterruptedException { |
| 442 | + server.enqueue(jsonResponse(createDocResp)); |
| 443 | + String myDocumentJson = "{\"field\":\"value\"}"; |
| 444 | + JsonObject myMetadata = new JsonObject(); |
| 445 | + myMetadata.add("foo", new JsonPrimitive("bar")); |
| 446 | + InputStream documentStream = new ByteArrayInputStream(myDocumentJson.getBytes()); |
| 447 | + |
| 448 | + CreateDocumentRequest.Builder builder = new CreateDocumentRequest.Builder(environmentId, collectionId); |
| 449 | + builder.file(documentStream); |
| 450 | + builder.metadata(myMetadata); |
| 451 | + CreateDocumentResponse response = discoveryService.createDocument(builder.build()).execute(); |
| 452 | + RecordedRequest request = server.takeRequest(); |
| 453 | + |
| 454 | + assertEquals(DOCS1_PATH, request.getPath()); |
| 455 | + assertEquals(POST, request.getMethod()); |
| 456 | + assertEquals(createDocResp, response); |
| 457 | + } |
| 458 | + |
| 459 | + @Test |
| 460 | + public void createDocumentFromInputStreamWithMediaTypeIsSuccessful() throws InterruptedException { |
| 461 | + server.enqueue(jsonResponse(createDocResp)); |
| 462 | + String myDocumentJson = "{\"field\":\"value\"}"; |
| 463 | + JsonObject myMetadata = new JsonObject(); |
| 464 | + myMetadata.add("foo", new JsonPrimitive("bar")); |
| 465 | + InputStream documentStream = new ByteArrayInputStream(myDocumentJson.getBytes()); |
| 466 | + |
| 467 | + CreateDocumentRequest.Builder builder = new CreateDocumentRequest.Builder(environmentId, collectionId); |
| 468 | + builder.file(documentStream, HttpMediaType.APPLICATION_JSON); |
| 469 | + builder.metadata(myMetadata); |
| 470 | + CreateDocumentResponse response = discoveryService.createDocument(builder.build()).execute(); |
| 471 | + RecordedRequest request = server.takeRequest(); |
| 472 | + |
| 473 | + assertEquals(DOCS1_PATH, request.getPath()); |
| 474 | + assertEquals(POST, request.getMethod()); |
| 475 | + assertEquals(createDocResp, response); |
| 476 | + } |
| 477 | + |
| 478 | + @Test |
| 479 | + public void createDocumentFromInputStreamWithFileNameAndMediaTypeIsSuccessful() throws InterruptedException { |
| 480 | + server.enqueue(jsonResponse(createDocResp)); |
| 481 | + String fileName = "MyFileName"; |
| 482 | + String myDocumentJson = "{\"field\":\"value\"}"; |
| 483 | + JsonObject myMetadata = new JsonObject(); |
| 484 | + myMetadata.add("foo", new JsonPrimitive("bar")); |
| 485 | + InputStream documentStream = new ByteArrayInputStream(myDocumentJson.getBytes()); |
| 486 | + |
| 487 | + CreateDocumentRequest.Builder builder = new CreateDocumentRequest.Builder(environmentId, collectionId); |
| 488 | + builder.file(documentStream, fileName, HttpMediaType.APPLICATION_JSON); |
| 489 | + builder.metadata(myMetadata); |
| 490 | + CreateDocumentResponse response = discoveryService.createDocument(builder.build()).execute(); |
| 491 | + RecordedRequest request = server.takeRequest(); |
| 492 | + |
| 493 | + assertEquals(DOCS1_PATH, request.getPath()); |
| 494 | + assertEquals(POST, request.getMethod()); |
| 495 | + assertEquals(createDocResp, response); |
| 496 | + } |
| 497 | + |
| 498 | + @Test |
| 499 | + public void createDocumentFromFileWithMediaTypeIsSuccessful() throws InterruptedException { |
| 500 | + server.enqueue(jsonResponse(createDocResp)); |
| 501 | + String myDocumentJson = "{\"field\":\"value\"}"; |
| 502 | + JsonObject myMetadata = new JsonObject(); |
| 503 | + myMetadata.add("foo", new JsonPrimitive("bar")); |
| 504 | + |
| 505 | + CreateDocumentRequest.Builder builder = new CreateDocumentRequest.Builder(environmentId, collectionId); |
| 506 | + |
| 507 | + try { |
| 508 | + File tempFile = File.createTempFile("CreateDocTest1", ".json"); |
| 509 | + tempFile.deleteOnExit(); |
| 510 | + BufferedWriter out = new BufferedWriter(new FileWriter(tempFile)); |
| 511 | + out.write(myDocumentJson); |
| 512 | + out.close(); |
| 513 | + |
| 514 | + builder.file(tempFile, HttpMediaType.APPLICATION_JSON); |
| 515 | + builder.metadata(myMetadata); |
| 516 | + CreateDocumentResponse response = discoveryService.createDocument(builder.build()).execute(); |
| 517 | + RecordedRequest request = server.takeRequest(); |
| 518 | + |
| 519 | + assertEquals(DOCS1_PATH, request.getPath()); |
| 520 | + assertEquals(POST, request.getMethod()); |
| 521 | + assertEquals(createDocResp, response); |
| 522 | + } catch (final IOException e) { |
| 523 | + e.printStackTrace(); |
| 524 | + } |
| 525 | + } |
| 526 | + |
| 527 | + @Test |
| 528 | + public void createDocumentFromFileIsSuccessful() throws InterruptedException { |
| 529 | + server.enqueue(jsonResponse(createDocResp)); |
| 530 | + String myDocumentJson = "{\"field\":\"value\"}"; |
| 531 | + JsonObject myMetadata = new JsonObject(); |
| 532 | + myMetadata.add("foo", new JsonPrimitive("bar")); |
| 533 | + |
| 534 | + CreateDocumentRequest.Builder builder = new CreateDocumentRequest.Builder(environmentId, collectionId); |
| 535 | + try { |
| 536 | + File tempFile = File.createTempFile("CreateDocTest2", ".json"); |
| 537 | + tempFile.deleteOnExit(); |
| 538 | + BufferedWriter out = new BufferedWriter(new FileWriter(tempFile)); |
| 539 | + out.write(myDocumentJson); |
| 540 | + out.close(); |
| 541 | + |
| 542 | + builder.file(tempFile); |
| 543 | + builder.metadata(myMetadata); |
| 544 | + CreateDocumentResponse response = discoveryService.createDocument(builder.build()).execute(); |
| 545 | + RecordedRequest request = server.takeRequest(); |
| 546 | + |
| 547 | + assertEquals(DOCS1_PATH, request.getPath()); |
| 548 | + assertEquals(POST, request.getMethod()); |
| 549 | + assertEquals(createDocResp, response); |
| 550 | + } catch (final IOException e) { |
| 551 | + e.printStackTrace(); |
| 552 | + } |
| 553 | + } |
| 554 | + |
443 | 555 | @Test
|
444 | 556 | public void updateDocumentIsSuccessful() throws InterruptedException {
|
445 | 557 | server.enqueue(jsonResponse(updateDocResp));
|
|
0 commit comments