Search in sources :

Example 1 with AddDocumentResponse

use of com.formkiq.stacks.client.models.AddDocumentResponse in project formkiq-core by formkiq.

the class DocumentsRequestTest method testPost07.

/**
 * Save document with subdocuments against private/public endpoints.
 *
 * @throws Exception Exception
 */
@Test(timeout = TEST_TIMEOUT)
public void testPost07() throws Exception {
    for (boolean enablePublicEndpoint : Arrays.asList(Boolean.FALSE, Boolean.TRUE)) {
        for (FormKiqClientV1 client : getFormKiqClients()) {
            // given
            AddDocument post = new AddDocument().tags(Arrays.asList(new DocumentTag().key("formName").value("Job Application Form"))).documents(Arrays.asList(new AddDocument().contentType("application/json").content("{\"firstName\": \"Jan\",\"lastName\": \"Doe\"}").tags(Arrays.asList(new DocumentTag().key("formData")))));
            AddDocumentRequest req = new AddDocumentRequest().document(post).enablePublicEndpoint(enablePublicEndpoint);
            // when
            AddDocumentResponse response = client.addDocument(req);
            // then
            assertNotNull(response.documentId());
            assertNotNull(response.uploadUrl());
            assertEquals(1, response.documents().size());
            assertNotNull(response.documents().get(0).documentId());
            assertNull(response.documents().get(0).uploadUrl());
            // given
            String content = "this is a test";
            // when
            HttpResponse<String> httpresponse = this.http.send(HttpRequest.newBuilder(new URI(response.uploadUrl())).header("Content-Type", MimeType.MIME_HTML.getContentType()).method("PUT", BodyPublishers.ofString(content)).build(), BodyHandlers.ofString());
            // then
            assertEquals(STATUS_OK, httpresponse.statusCode());
            // given
            String documentId = response.documentId();
            // when - fetch document
            final DocumentWithChildren documentc = getDocument(client, documentId, true);
            DocumentTags tags = getDocumentTags(client, documentId);
            assertEquals(2, tags.tags().size());
            assertEquals("formName", tags.tags().get(0).key());
            assertEquals("Job Application Form", tags.tags().get(0).value());
            assertEquals("userId", tags.tags().get(1).key());
            assertNotNull(tags.tags().get(1).value());
            // then
            assertNotNull(documentc);
            assertEquals(1, documentc.documents().size());
            assertEquals(response.documents().get(0).documentId(), documentc.documents().get(0).documentId());
            // given
            documentId = response.documents().get(0).documentId();
            // when
            DocumentWithChildren document = getDocument(client, documentId, false);
            // then
            assertNotNull(document);
            assertNull(document.documents());
            assertEquals(response.documentId(), document.belongsToDocumentId());
        }
    }
}
Also used : DocumentTag(com.formkiq.stacks.client.models.DocumentTag) DocumentWithChildren(com.formkiq.stacks.client.models.DocumentWithChildren) AddDocument(com.formkiq.stacks.client.models.AddDocument) AddDocumentRequest(com.formkiq.stacks.client.requests.AddDocumentRequest) URI(java.net.URI) AddDocumentResponse(com.formkiq.stacks.client.models.AddDocumentResponse) FormKiqClientV1(com.formkiq.stacks.client.FormKiqClientV1) DocumentTags(com.formkiq.stacks.client.models.DocumentTags) Test(org.junit.Test)

Aggregations

FormKiqClientV1 (com.formkiq.stacks.client.FormKiqClientV1)1 AddDocument (com.formkiq.stacks.client.models.AddDocument)1 AddDocumentResponse (com.formkiq.stacks.client.models.AddDocumentResponse)1 DocumentTag (com.formkiq.stacks.client.models.DocumentTag)1 DocumentTags (com.formkiq.stacks.client.models.DocumentTags)1 DocumentWithChildren (com.formkiq.stacks.client.models.DocumentWithChildren)1 AddDocumentRequest (com.formkiq.stacks.client.requests.AddDocumentRequest)1 URI (java.net.URI)1 Test (org.junit.Test)1