This is an automated email from the ASF dual-hosted git repository. jamesnetherton pushed a commit to branch 3.33.x in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
commit 5f55e8ced6a36147d21e17e952ead7307e80dbaf Author: James Netherton <[email protected]> AuthorDate: Mon Jun 22 11:22:59 2026 +0100 chore: use WireMock for docling integration tests to avoid 20GB container pull in CI Replace the real docling-serve container in DoclingTestResource with WireMock record/playback. Default mode (CI) replays pre-recorded stubs with no container. Setting camel.quarkus.start-mock-backend=false uses the real container directly. Running with WIREMOCK_RECORD=true starts the container and captures stubs for future replays. Also use deterministic temp file names in DoclingResource so that recorded stubs match on replay. Co-authored-by: Claude Sonnet 4.6 <[email protected]> --- integration-tests/docling/README.adoc | 68 ++++++++++++++++++++ integration-tests/docling/Readme.md | 19 ------ integration-tests/docling/pom.xml | 5 ++ .../component/docling/it/DoclingResource.java | 9 +-- .../quarkus/component/docling/it/DoclingTest.java | 3 +- .../component/docling/it/DoclingTestResource.java | 75 ++++++++++++---------- ...ource-38a52645-d65e-481e-9960-7c5e82a43fb7.json | 1 + ...ource-7498499d-94c1-4bb9-9ab1-9806dac2b1b3.json | 1 + ...ource-2a9620bf-c5e9-47e1-966d-cb427fb2821a.json | 25 ++++++++ ...ource-38a52645-d65e-481e-9960-7c5e82a43fb7.json | 25 ++++++++ ...ource-4c400318-5fb5-49cd-87f5-5843693def91.json | 25 ++++++++ ...ource-79d3fa48-8d37-4101-8cc8-ecd983baa7c1.json | 25 ++++++++ ...ource-7a964535-2b50-4ba9-8d42-60edadc21ca5.json | 25 ++++++++ ...ource-937ef1ac-68e8-40b9-8d44-23b60c623ba4.json | 25 ++++++++ ...ource-956a305a-5041-4164-894d-a423791b0f1f.json | 25 ++++++++ ...ource-b0edcd89-4eee-47ff-98ef-49e8da37b255.json | 25 ++++++++ ...ource-c7b805bb-b565-4dd1-bf9c-4f73dc4f822b.json | 25 ++++++++ ...ource-ed0b894d-8b9c-4cf3-8818-15e724b08efb.json | 25 ++++++++ ...ource-f98ead23-9586-458a-b63e-6790cdcd3623.json | 25 ++++++++ ...async-8084456f-3946-4601-a9bf-a9aa61962149.json | 25 ++++++++ ...async-d24e11df-614f-4f00-9c21-4d781ae4a4dc.json | 25 ++++++++ ...async-d9115eaa-2f66-4d77-9098-1a31d06e5387.json | 25 ++++++++ ...169f8-22837b94-3f2f-48af-bce2-5cddf7eff1f2.json | 20 ++++++ ...db756-b1da40b4-6ce8-4ce7-bca2-de2a08a4b8b7.json | 20 ++++++ ...f2a9e-0121ab9c-4a5d-4232-9df1-cb99c368e678.json | 20 ++++++ ...169f8-4a7192f1-ae07-4d02-bfb9-62c01749112c.json | 29 +++++++++ ...169f8-96d14f30-3a42-4b6f-a6f6-8b3f74d5d0e6.json | 30 +++++++++ ...db756-e66e62ba-ce9f-4038-b3cd-1d16666e95c6.json | 27 ++++++++ ...f2a9e-3bdfc119-76d8-4132-b73e-802a90187b78.json | 29 +++++++++ ...f2a9e-96f6dccc-50f7-4c94-965f-0442cf070edb.json | 30 +++++++++ 30 files changed, 679 insertions(+), 57 deletions(-) diff --git a/integration-tests/docling/README.adoc b/integration-tests/docling/README.adoc new file mode 100644 index 0000000000..338be9cc9c --- /dev/null +++ b/integration-tests/docling/README.adoc @@ -0,0 +1,68 @@ +//// +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You under the Apache License, Version 2.0 +(the "License"); you may not use this file except in compliance with +the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +//// +== Camel Quarkus Docling Integration Tests + +By default, the Docling integration tests use WireMock to stub docling-serve API interactions. +This avoids pulling the `quay.io/docling-project/docling-serve` container image (which exceeds 20 GB) in CI. + +=== Running against a real docling-serve container + +To run the tests against the real docling-serve container, set: + +[source,shell] +---- +-Dcamel.quarkus.start-mock-backend=false +---- + +The test resource will start the container automatically. + +=== Refreshing WireMock stub recordings + +If the stub recordings need updating (e.g. after a docling-serve version bump), remove the existing files from +`src/test/resources/mappings` and `src/test/resources/__files`, then run the tests with a real container and +recording enabled: + +[source,shell] +---- +-Dcamel.quarkus.start-mock-backend=false -Dwiremock.record=true +---- + +Or via environment variable: + +[source,shell] +---- +export WIREMOCK_RECORD=true +---- + +Commit the newly generated stub files alongside any version bump. + +=== CLI mode test + +One test (`convertToJsonWithCLI`) exercises the component's local CLI mode, which invokes the `docling` binary +directly rather than calling the HTTP API. This test requires docling to be installed locally, for example with: + +[source,shell] +---- +pip install docling +---- + +To activate this test, set: + +[source,shell] +---- +-Ddocling.test.enabled=true +---- diff --git a/integration-tests/docling/Readme.md b/integration-tests/docling/Readme.md deleted file mode 100644 index d5984b1a38..0000000000 --- a/integration-tests/docling/Readme.md +++ /dev/null @@ -1,19 +0,0 @@ -<!-- - - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - ---> -One test requires to have docling installed, for instance with `pip install docling`. It is to test the CLI mode of the component. To activate this test, you need to set the property `docling.test.enabled` to `true`. diff --git a/integration-tests/docling/pom.xml b/integration-tests/docling/pom.xml index 3a7d17bce7..97f9d36f20 100644 --- a/integration-tests/docling/pom.xml +++ b/integration-tests/docling/pom.xml @@ -64,6 +64,11 @@ <artifactId>testcontainers</artifactId> <scope>test</scope> </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-integration-wiremock-support</artifactId> + <scope>test</scope> + </dependency> </dependencies> <profiles> diff --git a/integration-tests/docling/src/main/java/org/apache/camel/quarkus/component/docling/it/DoclingResource.java b/integration-tests/docling/src/main/java/org/apache/camel/quarkus/component/docling/it/DoclingResource.java index d5eccbb55a..184f54ffcb 100644 --- a/integration-tests/docling/src/main/java/org/apache/camel/quarkus/component/docling/it/DoclingResource.java +++ b/integration-tests/docling/src/main/java/org/apache/camel/quarkus/component/docling/it/DoclingResource.java @@ -20,6 +20,7 @@ import java.io.IOException; import java.io.InputStream; import java.nio.charset.StandardCharsets; import java.nio.file.Files; +import java.nio.file.Paths; import java.nio.file.StandardCopyOption; import java.util.List; @@ -76,7 +77,7 @@ public class DoclingResource { @Consumes(MediaType.TEXT_PLAIN) @Produces(MediaType.TEXT_PLAIN) public Response extractText(String documentContent) throws IOException { - java.nio.file.Path tempFile = Files.createTempFile("docling-test", ".md"); + var tempFile = Paths.get(System.getProperty("java.io.tmpdir"), "docling-test.md"); Files.writeString(tempFile, documentContent); try { String result = producerTemplate.requestBody("direct:extractText", tempFile.toString(), String.class); @@ -150,7 +151,7 @@ public class DoclingResource { @Consumes(MediaType.TEXT_PLAIN) @Produces(MediaType.APPLICATION_JSON) public DocumentMetadata extractMetadata(String documentContent) throws IOException { - java.nio.file.Path tempFile = Files.createTempFile("docling-test", ".md"); + var tempFile = Paths.get(System.getProperty("java.io.tmpdir"), "docling-test.md"); Files.writeString(tempFile, documentContent); try { return producerTemplate.requestBody("direct:extractMetadata", tempFile.toString(), @@ -165,7 +166,7 @@ public class DoclingResource { @Produces(MediaType.APPLICATION_JSON) public DocumentMetadata extractMetadataFromPdf() throws IOException { try (InputStream is = getClass().getClassLoader().getResourceAsStream("multi_page.pdf")) { - java.nio.file.Path tempFile = Files.createTempFile("docling-test-multi_page", ".pdf"); + var tempFile = Paths.get(System.getProperty("java.io.tmpdir"), "docling-test.pdf"); Files.copy(is, tempFile.toAbsolutePath(), StandardCopyOption.REPLACE_EXISTING); try { return producerTemplate.requestBody("direct:extractMetadata", tempFile.toString(), @@ -202,7 +203,7 @@ public class DoclingResource { private Response convert(String documentContent, String endpointUri, String logErrorMessage, Class<?> resutType) throws IOException { - java.nio.file.Path tempFile = Files.createTempFile("docling-test", ".md"); + var tempFile = Paths.get(System.getProperty("java.io.tmpdir"), "docling-test.md"); Files.writeString(tempFile, documentContent); try { Object result = producerTemplate.requestBody(endpointUri, tempFile.toString(), resutType); diff --git a/integration-tests/docling/src/test/java/org/apache/camel/quarkus/component/docling/it/DoclingTest.java b/integration-tests/docling/src/test/java/org/apache/camel/quarkus/component/docling/it/DoclingTest.java index f7e890ca56..fb1364a474 100644 --- a/integration-tests/docling/src/test/java/org/apache/camel/quarkus/component/docling/it/DoclingTest.java +++ b/integration-tests/docling/src/test/java/org/apache/camel/quarkus/component/docling/it/DoclingTest.java @@ -218,8 +218,9 @@ class DoclingTest { private List<String> createTestFiles() throws IOException { List<String> filePaths = new ArrayList<>(); + Path tempDir = Files.createTempDirectory("docling-batch-test"); for (int i = 0; i < 5; i++) { - Path filepath = Files.createTempFile("test-docling-batch-" + i + "-", ".md"); + Path filepath = tempDir.resolve("test-docling-batch-" + i + ".md"); Files.writeString(filepath, """ # Test doc %s diff --git a/integration-tests/docling/src/test/java/org/apache/camel/quarkus/component/docling/it/DoclingTestResource.java b/integration-tests/docling/src/test/java/org/apache/camel/quarkus/component/docling/it/DoclingTestResource.java index 42c3345e8c..c47d69f34a 100644 --- a/integration-tests/docling/src/test/java/org/apache/camel/quarkus/component/docling/it/DoclingTestResource.java +++ b/integration-tests/docling/src/test/java/org/apache/camel/quarkus/component/docling/it/DoclingTestResource.java @@ -17,62 +17,71 @@ package org.apache.camel.quarkus.component.docling.it; import java.time.Duration; -import java.util.HashMap; import java.util.Map; -import io.quarkus.test.common.QuarkusTestResourceLifecycleManager; +import org.apache.camel.quarkus.test.mock.backend.MockBackendUtils; +import org.apache.camel.quarkus.test.wiremock.WireMockTestResourceLifecycleManager; import org.eclipse.microprofile.config.ConfigProvider; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.testcontainers.containers.GenericContainer; import org.testcontainers.containers.wait.strategy.Wait; -public class DoclingTestResource implements QuarkusTestResourceLifecycleManager { +public class DoclingTestResource extends WireMockTestResourceLifecycleManager { - private static final Logger LOG = LoggerFactory.getLogger(DoclingTestResource.class); - - private static final String CONTAINER_IMAGE = ConfigProvider.getConfig().getValue("docling.container.image", String.class); + private static final String CONTAINER_IMAGE = ConfigProvider.getConfig().getValue("docling.container.image", + String.class); private static final int CONTAINER_PORT = 5001; private GenericContainer<?> container; + private String containerUrl; @Override public Map<String, String> start() { - try { - LOG.info("Starting Docling Serve container: {}", CONTAINER_IMAGE); - - container = new GenericContainer<>(CONTAINER_IMAGE) - .withExposedPorts(CONTAINER_PORT) - .waitingFor(Wait.forListeningPorts(CONTAINER_PORT)) - .withStartupTimeout(Duration.ofMinutes(3)); - - container.start(); - - String doclingUrl = String.format("http://%s:%d", - container.getHost(), - container.getMappedPort(CONTAINER_PORT)); - - LOG.info("Docling Serve container started at: {}", doclingUrl); + // The real container is needed when recording stubs or when mock backend is disabled + if (!isMockingEnabled() || isWireMockRecordingEnabled()) { + startContainer(); + } - Map<String, String> config = new HashMap<>(); - config.put("docling.serve.url", doclingUrl); + Map<String, String> properties = super.start(); - return config; - } catch (Exception e) { - LOG.error("Failed to start Docling Serve container", e); - throw new RuntimeException("Failed to start Docling Serve container", e); - } + // In mock/record mode, point the app at WireMock; otherwise point directly at the container + String doclingUrl = properties.getOrDefault("wiremock.url", containerUrl); + properties.put("docling.serve.url", doclingUrl); + return properties; } @Override public void stop() { try { + super.stop(); + } finally { if (container != null) { - LOG.info("Stopping Docling Serve container"); container.stop(); } - } catch (Exception e) { - LOG.warn("Error stopping Docling Serve container", e); } } + + @Override + protected String getRecordTargetBaseUrl() { + return containerUrl; + } + + @Override + protected boolean isMockingEnabled() { + return MockBackendUtils.startMockBackend(); + } + + private void startContainer() { + LOG.infof("Starting Docling Serve container: %s", CONTAINER_IMAGE); + container = new GenericContainer<>(CONTAINER_IMAGE) + .withExposedPorts(CONTAINER_PORT) + .waitingFor(Wait.forListeningPorts(CONTAINER_PORT)) + .withStartupTimeout(Duration.ofMinutes(3)); + container.start(); + containerUrl = "http://%s:%d".formatted(container.getHost(), container.getMappedPort(CONTAINER_PORT)); + LOG.infof("Docling Serve container started at: %s", containerUrl); + } + + private static boolean isWireMockRecordingEnabled() { + return "true".equals(System.getProperty("wiremock.record", System.getenv("WIREMOCK_RECORD"))); + } } diff --git a/integration-tests/docling/src/test/resources/__files/v1_convert_source-38a52645-d65e-481e-9960-7c5e82a43fb7.json b/integration-tests/docling/src/test/resources/__files/v1_convert_source-38a52645-d65e-481e-9960-7c5e82a43fb7.json new file mode 100644 index 0000000000..631e7f8ffd --- /dev/null +++ b/integration-tests/docling/src/test/resources/__files/v1_convert_source-38a52645-d65e-481e-9960-7c5e82a43fb7.json @@ -0,0 +1 @@ +{"document":{"filename":"docling-test.pdf","md_content":null,"json_content":{"schema_name":"DoclingDocument","version":"1.8.0","name":"docling-test","origin":{"mimetype":"application/pdf","binary_hash":11164038604600048225,"filename":"docling-test.pdf","uri":null},"furniture":{"self_ref":"#/furniture","parent":null,"children":[],"content_layer":"furniture","meta":null,"name":"_root_","label":"unspecified"},"body":{"self_ref":"#/body","parent":null,"children":[{"$ref":"#/texts/0"},{"$ref" [...] \ No newline at end of file diff --git a/integration-tests/docling/src/test/resources/__files/v1_convert_source-7498499d-94c1-4bb9-9ab1-9806dac2b1b3.json b/integration-tests/docling/src/test/resources/__files/v1_convert_source-7498499d-94c1-4bb9-9ab1-9806dac2b1b3.json new file mode 100644 index 0000000000..252f1ba008 --- /dev/null +++ b/integration-tests/docling/src/test/resources/__files/v1_convert_source-7498499d-94c1-4bb9-9ab1-9806dac2b1b3.json @@ -0,0 +1 @@ +{"document":{"filename":"docling-test-multi_page14197308053349780543.pdf","md_content":null,"json_content":{"schema_name":"DoclingDocument","version":"1.8.0","name":"docling-test-multi_page14197308053349780543","origin":{"mimetype":"application/pdf","binary_hash":11164038604600048225,"filename":"docling-test-multi_page14197308053349780543.pdf","uri":null},"furniture":{"self_ref":"#/furniture","parent":null,"children":[],"content_layer":"furniture","meta":null,"name":"_root_","label":"uns [...] \ No newline at end of file diff --git a/integration-tests/docling/src/test/resources/mappings/v1_convert_source-2a9620bf-c5e9-47e1-966d-cb427fb2821a.json b/integration-tests/docling/src/test/resources/mappings/v1_convert_source-2a9620bf-c5e9-47e1-966d-cb427fb2821a.json new file mode 100644 index 0000000000..5537dc4f1a --- /dev/null +++ b/integration-tests/docling/src/test/resources/mappings/v1_convert_source-2a9620bf-c5e9-47e1-966d-cb427fb2821a.json @@ -0,0 +1,25 @@ +{ + "id" : "2a9620bf-c5e9-47e1-966d-cb427fb2821a", + "name" : "v1_convert_source", + "request" : { + "url" : "/v1/convert/source", + "method" : "POST", + "bodyPatterns" : [ { + "equalToJson" : "{\"sources\":[{\"kind\":\"file\",\"base64_string\":\"RG9jdW1lbnQgd2l0aCB0ZXh0IHRvIGV4dHJhY3Qu\",\"filename\":\"docling-test.md\"}],\"options\":{\"to_formats\":[\"text\"]}}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : true + } ] + }, + "response" : { + "status" : 200, + "body" : "{\"document\":{\"filename\":\"docling-test.md\",\"md_content\":null,\"json_content\":null,\"html_content\":null,\"text_content\":\"Document with text to extract.\",\"doctags_content\":null},\"status\":\"success\",\"errors\":[],\"processing_time\":0.002222454990260303,\"timings\":{}}", + "headers" : { + "date" : "Fri, 19 Jun 2026 09:51:24 GMT", + "server" : "uvicorn", + "content-type" : "application/json" + } + }, + "uuid" : "2a9620bf-c5e9-47e1-966d-cb427fb2821a", + "persistent" : true, + "insertionIndex" : 3 +} \ No newline at end of file diff --git a/integration-tests/docling/src/test/resources/mappings/v1_convert_source-38a52645-d65e-481e-9960-7c5e82a43fb7.json b/integration-tests/docling/src/test/resources/mappings/v1_convert_source-38a52645-d65e-481e-9960-7c5e82a43fb7.json new file mode 100644 index 0000000000..59ee13a380 --- /dev/null +++ b/integration-tests/docling/src/test/resources/mappings/v1_convert_source-38a52645-d65e-481e-9960-7c5e82a43fb7.json @@ -0,0 +1,25 @@ +{ + "id" : "38a52645-d65e-481e-9960-7c5e82a43fb7", + "name" : "v1_convert_source", + "request" : { + "url" : "/v1/convert/source", + "method" : "POST", + "bodyPatterns" : [ { + "equalToJson" : "{\"sources\":[{\"kind\":\"file\",\"base64_string\":\"JVBERi0xLjMKJcTl8uXrp/Og0MTGCjMgMCBvYmoKPDwgL0ZpbHRlciAvRmxhdGVEZWNvZGUgL0xlbmd0aCA0Mjg4ID4+CnN0cmVhbQp4Ab1b2XLcxhV9x1cAJoUB6QGEBjBYRG0WLceWFduKmDiJmYeUyiknJaViK/mk/GduL+fcxmAoYihXSlUiptF9++5bN35OX6U/p/cv35v0zfu0dv/ev5Ghumo6/9s/9F1d1WP65l367Crd+Ynyp63rtJu69Opdcv/qqklNevW39Ie0yD45S0uBkRYnZxZWWpzeyzfXRfhxfYbX55+Goc0WQ6eb8vT8k7Nkb321uR+m1pxpwgjebJowgF1bPzUpwkNaWCh/Sa9epM+vHO0rCTX1tKuGobfUJlfvUqG289QW2Vl69Y8jwVm+tcM0 [...] + "ignoreArrayOrder" : true, + "ignoreExtraElements" : true + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "v1_convert_source-38a52645-d65e-481e-9960-7c5e82a43fb7.json", + "headers" : { + "date" : "Fri, 19 Jun 2026 09:51:14 GMT", + "server" : "uvicorn", + "content-type" : "application/json" + } + }, + "uuid" : "38a52645-d65e-481e-9960-7c5e82a43fb7", + "persistent" : true, + "insertionIndex" : 13 +} \ No newline at end of file diff --git a/integration-tests/docling/src/test/resources/mappings/v1_convert_source-4c400318-5fb5-49cd-87f5-5843693def91.json b/integration-tests/docling/src/test/resources/mappings/v1_convert_source-4c400318-5fb5-49cd-87f5-5843693def91.json new file mode 100644 index 0000000000..c721072231 --- /dev/null +++ b/integration-tests/docling/src/test/resources/mappings/v1_convert_source-4c400318-5fb5-49cd-87f5-5843693def91.json @@ -0,0 +1,25 @@ +{ + "id" : "4c400318-5fb5-49cd-87f5-5843693def91", + "name" : "v1_convert_source", + "request" : { + "url" : "/v1/convert/source", + "method" : "POST", + "bodyPatterns" : [ { + "equalToJson" : "{\"sources\":[{\"kind\":\"file\",\"base64_string\":\"IyBUZXN0IGRvYyAxCgpjb250ZW50IDE=\",\"filename\":\"test-docling-batch-1.md\"}],\"options\":{\"to_formats\":[\"md\"]}}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : true + } ] + }, + "response" : { + "status" : 200, + "body" : "{\"document\":{\"filename\":\"test-docling-batch-1.md\",\"md_content\":\"# Test doc 1\\n\\ncontent 1\",\"json_content\":null,\"html_content\":null,\"text_content\":null,\"doctags_content\":null},\"status\":\"success\",\"errors\":[],\"processing_time\":0.0027867469761986285,\"timings\":{}}", + "headers" : { + "date" : "Fri, 19 Jun 2026 09:51:06 GMT", + "server" : "uvicorn", + "content-type" : "application/json" + } + }, + "uuid" : "4c400318-5fb5-49cd-87f5-5843693def91", + "persistent" : true, + "insertionIndex" : 20 +} \ No newline at end of file diff --git a/integration-tests/docling/src/test/resources/mappings/v1_convert_source-79d3fa48-8d37-4101-8cc8-ecd983baa7c1.json b/integration-tests/docling/src/test/resources/mappings/v1_convert_source-79d3fa48-8d37-4101-8cc8-ecd983baa7c1.json new file mode 100644 index 0000000000..3490375838 --- /dev/null +++ b/integration-tests/docling/src/test/resources/mappings/v1_convert_source-79d3fa48-8d37-4101-8cc8-ecd983baa7c1.json @@ -0,0 +1,25 @@ +{ + "id" : "79d3fa48-8d37-4101-8cc8-ecd983baa7c1", + "name" : "v1_convert_source", + "request" : { + "url" : "/v1/convert/source", + "method" : "POST", + "bodyPatterns" : [ { + "equalToJson" : "{\"sources\":[{\"kind\":\"file\",\"base64_string\":\"IyBUZXN0IERvY3VtZW50ClRoaXMgaXMgYSB0ZXN0IGRvY3VtZW50IGZvciBKU09OIGNvbnZlcnNpb24u\",\"filename\":\"docling-test.md\"}],\"options\":{\"to_formats\":[\"json\"]}}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : true + } ] + }, + "response" : { + "status" : 200, + "body" : "{\"document\":{\"filename\":\"docling-test.md\",\"md_content\":null,\"json_content\":{\"schema_name\":\"DoclingDocument\",\"version\":\"1.8.0\",\"name\":\"docling-test\",\"origin\":{\"mimetype\":\"text/markdown\",\"binary_hash\":18426078865746213900,\"filename\":\"docling-test.md\",\"uri\":null},\"furniture\":{\"self_ref\":\"#/furniture\",\"parent\":null,\"children\":[],\"content_layer\":\"furniture\",\"meta\":null,\"name\":\"_root_\",\"label\":\"unspecified\"},\"body\":{\" [...] + "headers" : { + "date" : "Fri, 19 Jun 2026 09:51:28 GMT", + "server" : "uvicorn", + "content-type" : "application/json" + } + }, + "uuid" : "79d3fa48-8d37-4101-8cc8-ecd983baa7c1", + "persistent" : true, + "insertionIndex" : 1 +} \ No newline at end of file diff --git a/integration-tests/docling/src/test/resources/mappings/v1_convert_source-7a964535-2b50-4ba9-8d42-60edadc21ca5.json b/integration-tests/docling/src/test/resources/mappings/v1_convert_source-7a964535-2b50-4ba9-8d42-60edadc21ca5.json new file mode 100644 index 0000000000..cad0466c02 --- /dev/null +++ b/integration-tests/docling/src/test/resources/mappings/v1_convert_source-7a964535-2b50-4ba9-8d42-60edadc21ca5.json @@ -0,0 +1,25 @@ +{ + "id" : "7a964535-2b50-4ba9-8d42-60edadc21ca5", + "name" : "v1_convert_source", + "request" : { + "url" : "/v1/convert/source", + "method" : "POST", + "bodyPatterns" : [ { + "equalToJson" : "{\"sources\":[{\"kind\":\"file\",\"base64_string\":\"IyBUZXN0IGRvYyAwCgpjb250ZW50IDA=\",\"filename\":\"test-docling-batch-0.md\"}],\"options\":{\"to_formats\":[\"md\"]}}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : true + } ] + }, + "response" : { + "status" : 200, + "body" : "{\"document\":{\"filename\":\"test-docling-batch-0.md\",\"md_content\":\"# Test doc 0\\n\\ncontent 0\",\"json_content\":null,\"html_content\":null,\"text_content\":null,\"doctags_content\":null},\"status\":\"success\",\"errors\":[],\"processing_time\":1.348430849990109,\"timings\":{}}", + "headers" : { + "date" : "Fri, 19 Jun 2026 09:51:06 GMT", + "server" : "uvicorn", + "content-type" : "application/json" + } + }, + "uuid" : "7a964535-2b50-4ba9-8d42-60edadc21ca5", + "persistent" : true, + "insertionIndex" : 19 +} \ No newline at end of file diff --git a/integration-tests/docling/src/test/resources/mappings/v1_convert_source-937ef1ac-68e8-40b9-8d44-23b60c623ba4.json b/integration-tests/docling/src/test/resources/mappings/v1_convert_source-937ef1ac-68e8-40b9-8d44-23b60c623ba4.json new file mode 100644 index 0000000000..ce1a5ab2e7 --- /dev/null +++ b/integration-tests/docling/src/test/resources/mappings/v1_convert_source-937ef1ac-68e8-40b9-8d44-23b60c623ba4.json @@ -0,0 +1,25 @@ +{ + "id" : "937ef1ac-68e8-40b9-8d44-23b60c623ba4", + "name" : "v1_convert_source", + "request" : { + "url" : "/v1/convert/source", + "method" : "POST", + "bodyPatterns" : [ { + "equalToJson" : "{\"sources\":[{\"kind\":\"file\",\"base64_string\":\"IyBUZXN0IERvY3VtZW50CgpTb21lIGNvbnRlbnQgZm9yIG1ldGFkYXRhIGV4dHJhY3Rpb24uCg==\",\"filename\":\"docling-test.md\"}],\"options\":{\"to_formats\":[\"json\"]}}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : true + } ] + }, + "response" : { + "status" : 200, + "body" : "{\"document\":{\"filename\":\"docling-test.md\",\"md_content\":null,\"json_content\":{\"schema_name\":\"DoclingDocument\",\"version\":\"1.8.0\",\"name\":\"docling-test\",\"origin\":{\"mimetype\":\"text/markdown\",\"binary_hash\":547542221629127811,\"filename\":\"docling-test.md\",\"uri\":null},\"furniture\":{\"self_ref\":\"#/furniture\",\"parent\":null,\"children\":[],\"content_layer\":\"furniture\",\"meta\":null,\"name\":\"_root_\",\"label\":\"unspecified\"},\"body\":{\"se [...] + "headers" : { + "date" : "Fri, 19 Jun 2026 09:51:22 GMT", + "server" : "uvicorn", + "content-type" : "application/json" + } + }, + "uuid" : "937ef1ac-68e8-40b9-8d44-23b60c623ba4", + "persistent" : true, + "insertionIndex" : 4 +} \ No newline at end of file diff --git a/integration-tests/docling/src/test/resources/mappings/v1_convert_source-956a305a-5041-4164-894d-a423791b0f1f.json b/integration-tests/docling/src/test/resources/mappings/v1_convert_source-956a305a-5041-4164-894d-a423791b0f1f.json new file mode 100644 index 0000000000..7a3c62cd04 --- /dev/null +++ b/integration-tests/docling/src/test/resources/mappings/v1_convert_source-956a305a-5041-4164-894d-a423791b0f1f.json @@ -0,0 +1,25 @@ +{ + "id" : "956a305a-5041-4164-894d-a423791b0f1f", + "name" : "v1_convert_source", + "request" : { + "url" : "/v1/convert/source", + "method" : "POST", + "bodyPatterns" : [ { + "equalToJson" : "{\"sources\":[{\"kind\":\"file\",\"base64_string\":\"IyBUZXN0IGRvYyA0Cgpjb250ZW50IDQ=\",\"filename\":\"test-docling-batch-4.md\"}],\"options\":{\"to_formats\":[\"md\"]}}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : true + } ] + }, + "response" : { + "status" : 200, + "body" : "{\"document\":{\"filename\":\"test-docling-batch-4.md\",\"md_content\":\"# Test doc 4\\n\\ncontent 4\",\"json_content\":null,\"html_content\":null,\"text_content\":null,\"doctags_content\":null},\"status\":\"success\",\"errors\":[],\"processing_time\":0.0029435800097417086,\"timings\":{}}", + "headers" : { + "date" : "Fri, 19 Jun 2026 09:51:10 GMT", + "server" : "uvicorn", + "content-type" : "application/json" + } + }, + "uuid" : "956a305a-5041-4164-894d-a423791b0f1f", + "persistent" : true, + "insertionIndex" : 18 +} \ No newline at end of file diff --git a/integration-tests/docling/src/test/resources/mappings/v1_convert_source-b0edcd89-4eee-47ff-98ef-49e8da37b255.json b/integration-tests/docling/src/test/resources/mappings/v1_convert_source-b0edcd89-4eee-47ff-98ef-49e8da37b255.json new file mode 100644 index 0000000000..bc69bacfac --- /dev/null +++ b/integration-tests/docling/src/test/resources/mappings/v1_convert_source-b0edcd89-4eee-47ff-98ef-49e8da37b255.json @@ -0,0 +1,25 @@ +{ + "id" : "b0edcd89-4eee-47ff-98ef-49e8da37b255", + "name" : "v1_convert_source", + "request" : { + "url" : "/v1/convert/source", + "method" : "POST", + "bodyPatterns" : [ { + "equalToJson" : "{\"sources\":[{\"kind\":\"file\",\"base64_string\":\"IyBUZXN0IGRvYyAzCgpjb250ZW50IDM=\",\"filename\":\"test-docling-batch-3.md\"}],\"options\":{\"to_formats\":[\"md\"]}}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : true + } ] + }, + "response" : { + "status" : 200, + "body" : "{\"document\":{\"filename\":\"test-docling-batch-3.md\",\"md_content\":\"# Test doc 3\\n\\ncontent 3\",\"json_content\":null,\"html_content\":null,\"text_content\":null,\"doctags_content\":null},\"status\":\"success\",\"errors\":[],\"processing_time\":0.0013078739866614342,\"timings\":{}}", + "headers" : { + "date" : "Fri, 19 Jun 2026 09:51:06 GMT", + "server" : "uvicorn", + "content-type" : "application/json" + } + }, + "uuid" : "b0edcd89-4eee-47ff-98ef-49e8da37b255", + "persistent" : true, + "insertionIndex" : 22 +} \ No newline at end of file diff --git a/integration-tests/docling/src/test/resources/mappings/v1_convert_source-c7b805bb-b565-4dd1-bf9c-4f73dc4f822b.json b/integration-tests/docling/src/test/resources/mappings/v1_convert_source-c7b805bb-b565-4dd1-bf9c-4f73dc4f822b.json new file mode 100644 index 0000000000..bc41379b33 --- /dev/null +++ b/integration-tests/docling/src/test/resources/mappings/v1_convert_source-c7b805bb-b565-4dd1-bf9c-4f73dc4f822b.json @@ -0,0 +1,25 @@ +{ + "id" : "c7b805bb-b565-4dd1-bf9c-4f73dc4f822b", + "name" : "v1_convert_source", + "request" : { + "url" : "/v1/convert/source", + "method" : "POST", + "bodyPatterns" : [ { + "equalToJson" : "{\"sources\":[{\"kind\":\"file\",\"base64_string\":\"IyBUZXN0IGRvYyAyCgpjb250ZW50IDI=\",\"filename\":\"test-docling-batch-2.md\"}],\"options\":{\"to_formats\":[\"md\"]}}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : true + } ] + }, + "response" : { + "status" : 200, + "body" : "{\"document\":{\"filename\":\"test-docling-batch-2.md\",\"md_content\":\"# Test doc 2\\n\\ncontent 2\",\"json_content\":null,\"html_content\":null,\"text_content\":null,\"doctags_content\":null},\"status\":\"success\",\"errors\":[],\"processing_time\":0.001299081981414929,\"timings\":{}}", + "headers" : { + "date" : "Fri, 19 Jun 2026 09:51:06 GMT", + "server" : "uvicorn", + "content-type" : "application/json" + } + }, + "uuid" : "c7b805bb-b565-4dd1-bf9c-4f73dc4f822b", + "persistent" : true, + "insertionIndex" : 21 +} \ No newline at end of file diff --git a/integration-tests/docling/src/test/resources/mappings/v1_convert_source-ed0b894d-8b9c-4cf3-8818-15e724b08efb.json b/integration-tests/docling/src/test/resources/mappings/v1_convert_source-ed0b894d-8b9c-4cf3-8818-15e724b08efb.json new file mode 100644 index 0000000000..8b13116c37 --- /dev/null +++ b/integration-tests/docling/src/test/resources/mappings/v1_convert_source-ed0b894d-8b9c-4cf3-8818-15e724b08efb.json @@ -0,0 +1,25 @@ +{ + "id" : "ed0b894d-8b9c-4cf3-8818-15e724b08efb", + "name" : "v1_convert_source", + "request" : { + "url" : "/v1/convert/source", + "method" : "POST", + "bodyPatterns" : [ { + "equalToJson" : "{\"sources\":[{\"kind\":\"file\",\"base64_string\":\"IyBUZXN0IERvY3VtZW50ClRoaXMgaXMgYSB0ZXN0Lg==\",\"filename\":\"docling-test.md\"}],\"options\":{\"to_formats\":[\"html\"]}}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : true + } ] + }, + "response" : { + "status" : 200, + "body" : "{\"document\":{\"filename\":\"docling-test.md\",\"md_content\":null,\"json_content\":null,\"html_content\":\"<!DOCTYPE html>\\n<html>\\n<head>\\n<meta charset=\\\"UTF-8\\\"/>\\n<title>docling-test</title>\\n<meta name=\\\"generator\\\" content=\\\"Docling HTML Serializer\\\"/>\\n<style>\\n html {\\n background-color: #f5f5f5;\\n font-family: Arial, sans-serif;\\n line-height: 1.6;\\n }\\n body {\\n max-width: 800px;\\n margin: 0 a [...] + "headers" : { + "date" : "Fri, 19 Jun 2026 09:51:26 GMT", + "server" : "uvicorn", + "content-type" : "application/json" + } + }, + "uuid" : "ed0b894d-8b9c-4cf3-8818-15e724b08efb", + "persistent" : true, + "insertionIndex" : 2 +} \ No newline at end of file diff --git a/integration-tests/docling/src/test/resources/mappings/v1_convert_source-f98ead23-9586-458a-b63e-6790cdcd3623.json b/integration-tests/docling/src/test/resources/mappings/v1_convert_source-f98ead23-9586-458a-b63e-6790cdcd3623.json new file mode 100644 index 0000000000..a8f5e8667b --- /dev/null +++ b/integration-tests/docling/src/test/resources/mappings/v1_convert_source-f98ead23-9586-458a-b63e-6790cdcd3623.json @@ -0,0 +1,25 @@ +{ + "id" : "f98ead23-9586-458a-b63e-6790cdcd3623", + "name" : "v1_convert_source", + "request" : { + "url" : "/v1/convert/source", + "method" : "POST", + "bodyPatterns" : [ { + "equalToJson" : "{\"sources\":[{\"kind\":\"file\",\"base64_string\":\"VGhpcyBpcyBhIHRlc3QgZG9jdW1lbnQgZm9yIGNvbnZlcnNpb24u\",\"filename\":\"docling-test.md\"}],\"options\":{\"to_formats\":[\"md\"]}}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : true + } ] + }, + "response" : { + "status" : 200, + "body" : "{\"document\":{\"filename\":\"docling-test.md\",\"md_content\":\"This is a test document for conversion.\",\"json_content\":null,\"html_content\":null,\"text_content\":null,\"doctags_content\":null},\"status\":\"success\",\"errors\":[],\"processing_time\":0.001090165984351188,\"timings\":{}}", + "headers" : { + "date" : "Fri, 19 Jun 2026 09:51:18 GMT", + "server" : "uvicorn", + "content-type" : "application/json" + } + }, + "uuid" : "f98ead23-9586-458a-b63e-6790cdcd3623", + "persistent" : true, + "insertionIndex" : 9 +} \ No newline at end of file diff --git a/integration-tests/docling/src/test/resources/mappings/v1_convert_source_async-8084456f-3946-4601-a9bf-a9aa61962149.json b/integration-tests/docling/src/test/resources/mappings/v1_convert_source_async-8084456f-3946-4601-a9bf-a9aa61962149.json new file mode 100644 index 0000000000..0c8d4f2862 --- /dev/null +++ b/integration-tests/docling/src/test/resources/mappings/v1_convert_source_async-8084456f-3946-4601-a9bf-a9aa61962149.json @@ -0,0 +1,25 @@ +{ + "id" : "8084456f-3946-4601-a9bf-a9aa61962149", + "name" : "v1_convert_source_async", + "request" : { + "url" : "/v1/convert/source/async", + "method" : "POST", + "bodyPatterns" : [ { + "equalToJson" : "{\"sources\":[{\"kind\":\"file\",\"base64_string\":\"IyBBc3luYyBIVE1MIFRlc3QKVGhpcyBpcyBhIHRlc3QgZm9yIGFzeW5jIEhUTUwgY29udmVyc2lvbi4=\",\"filename\":\"docling-test.md\"}],\"options\":{\"to_formats\":[\"html\"]}}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : true + } ] + }, + "response" : { + "status" : 200, + "body" : "{\"task_id\":\"4555d9b2-63b9-4510-8d8c-0184f14169f8\",\"task_type\":\"convert\",\"task_status\":\"pending\",\"task_position\":1,\"task_meta\":null}", + "headers" : { + "date" : "Fri, 19 Jun 2026 09:51:12 GMT", + "server" : "uvicorn", + "content-type" : "application/json" + } + }, + "uuid" : "8084456f-3946-4601-a9bf-a9aa61962149", + "persistent" : true, + "insertionIndex" : 17 +} \ No newline at end of file diff --git a/integration-tests/docling/src/test/resources/mappings/v1_convert_source_async-d24e11df-614f-4f00-9c21-4d781ae4a4dc.json b/integration-tests/docling/src/test/resources/mappings/v1_convert_source_async-d24e11df-614f-4f00-9c21-4d781ae4a4dc.json new file mode 100644 index 0000000000..3ecc9d9c44 --- /dev/null +++ b/integration-tests/docling/src/test/resources/mappings/v1_convert_source_async-d24e11df-614f-4f00-9c21-4d781ae4a4dc.json @@ -0,0 +1,25 @@ +{ + "id" : "d24e11df-614f-4f00-9c21-4d781ae4a4dc", + "name" : "v1_convert_source_async", + "request" : { + "url" : "/v1/convert/source/async", + "method" : "POST", + "bodyPatterns" : [ { + "equalToJson" : "{\"sources\":[{\"kind\":\"file\",\"base64_string\":\"IyBBc3luYyBUZXN0ClRoaXMgaXMgYSB0ZXN0IGZvciBhc3luYyBtYXJrZG93biBjb252ZXJzaW9uLg==\",\"filename\":\"docling-test.md\"}],\"options\":{\"to_formats\":[\"md\"]}}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : true + } ] + }, + "response" : { + "status" : 200, + "body" : "{\"task_id\":\"b89061f3-3601-4f4a-8d21-c977f2bf2a9e\",\"task_type\":\"convert\",\"task_status\":\"pending\",\"task_position\":1,\"task_meta\":null}", + "headers" : { + "date" : "Fri, 19 Jun 2026 09:51:20 GMT", + "server" : "uvicorn", + "content-type" : "application/json" + } + }, + "uuid" : "d24e11df-614f-4f00-9c21-4d781ae4a4dc", + "persistent" : true, + "insertionIndex" : 8 +} \ No newline at end of file diff --git a/integration-tests/docling/src/test/resources/mappings/v1_convert_source_async-d9115eaa-2f66-4d77-9098-1a31d06e5387.json b/integration-tests/docling/src/test/resources/mappings/v1_convert_source_async-d9115eaa-2f66-4d77-9098-1a31d06e5387.json new file mode 100644 index 0000000000..2f2dd93bf1 --- /dev/null +++ b/integration-tests/docling/src/test/resources/mappings/v1_convert_source_async-d9115eaa-2f66-4d77-9098-1a31d06e5387.json @@ -0,0 +1,25 @@ +{ + "id" : "d9115eaa-2f66-4d77-9098-1a31d06e5387", + "name" : "v1_convert_source_async", + "request" : { + "url" : "/v1/convert/source/async", + "method" : "POST", + "bodyPatterns" : [ { + "equalToJson" : "{\"sources\":[{\"kind\":\"file\",\"base64_string\":\"IyBBc3luYyBKU09OIFRlc3QKVGhpcyBpcyBhIHRlc3QgZm9yIGFzeW5jIEpTT04gY29udmVyc2lvbi4=\",\"filename\":\"docling-test.md\"}],\"options\":{\"to_formats\":[\"json\"]}}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : true + } ] + }, + "response" : { + "status" : 200, + "body" : "{\"task_id\":\"7ebf4405-8bd5-49d8-bb4a-07094f3db756\",\"task_type\":\"convert\",\"task_status\":\"pending\",\"task_position\":1,\"task_meta\":null}", + "headers" : { + "date" : "Fri, 19 Jun 2026 09:51:18 GMT", + "server" : "uvicorn", + "content-type" : "application/json" + } + }, + "uuid" : "d9115eaa-2f66-4d77-9098-1a31d06e5387", + "persistent" : true, + "insertionIndex" : 12 +} \ No newline at end of file diff --git a/integration-tests/docling/src/test/resources/mappings/v1_result_4555d9b2-63b9-4510-8d8c-0184f14169f8-22837b94-3f2f-48af-bce2-5cddf7eff1f2.json b/integration-tests/docling/src/test/resources/mappings/v1_result_4555d9b2-63b9-4510-8d8c-0184f14169f8-22837b94-3f2f-48af-bce2-5cddf7eff1f2.json new file mode 100644 index 0000000000..a503b4adac --- /dev/null +++ b/integration-tests/docling/src/test/resources/mappings/v1_result_4555d9b2-63b9-4510-8d8c-0184f14169f8-22837b94-3f2f-48af-bce2-5cddf7eff1f2.json @@ -0,0 +1,20 @@ +{ + "id" : "22837b94-3f2f-48af-bce2-5cddf7eff1f2", + "name" : "v1_result_4555d9b2-63b9-4510-8d8c-0184f14169f8", + "request" : { + "url" : "/v1/result/4555d9b2-63b9-4510-8d8c-0184f14169f8", + "method" : "GET" + }, + "response" : { + "status" : 200, + "body" : "{\"document\":{\"filename\":\"docling-test.md\",\"md_content\":null,\"json_content\":null,\"html_content\":\"<!DOCTYPE html>\\n<html>\\n<head>\\n<meta charset=\\\"UTF-8\\\"/>\\n<title>docling-test</title>\\n<meta name=\\\"generator\\\" content=\\\"Docling HTML Serializer\\\"/>\\n<style>\\n html {\\n background-color: #f5f5f5;\\n font-family: Arial, sans-serif;\\n line-height: 1.6;\\n }\\n body {\\n max-width: 800px;\\n margin: 0 a [...] + "headers" : { + "date" : "Fri, 19 Jun 2026 09:51:14 GMT", + "server" : "uvicorn", + "content-type" : "application/json" + } + }, + "uuid" : "22837b94-3f2f-48af-bce2-5cddf7eff1f2", + "persistent" : true, + "insertionIndex" : 14 +} \ No newline at end of file diff --git a/integration-tests/docling/src/test/resources/mappings/v1_result_7ebf4405-8bd5-49d8-bb4a-07094f3db756-b1da40b4-6ce8-4ce7-bca2-de2a08a4b8b7.json b/integration-tests/docling/src/test/resources/mappings/v1_result_7ebf4405-8bd5-49d8-bb4a-07094f3db756-b1da40b4-6ce8-4ce7-bca2-de2a08a4b8b7.json new file mode 100644 index 0000000000..31778830d1 --- /dev/null +++ b/integration-tests/docling/src/test/resources/mappings/v1_result_7ebf4405-8bd5-49d8-bb4a-07094f3db756-b1da40b4-6ce8-4ce7-bca2-de2a08a4b8b7.json @@ -0,0 +1,20 @@ +{ + "id" : "b1da40b4-6ce8-4ce7-bca2-de2a08a4b8b7", + "name" : "v1_result_7ebf4405-8bd5-49d8-bb4a-07094f3db756", + "request" : { + "url" : "/v1/result/7ebf4405-8bd5-49d8-bb4a-07094f3db756", + "method" : "GET" + }, + "response" : { + "status" : 200, + "body" : "{\"document\":{\"filename\":\"docling-test.md\",\"md_content\":null,\"json_content\":{\"schema_name\":\"DoclingDocument\",\"version\":\"1.8.0\",\"name\":\"docling-test\",\"origin\":{\"mimetype\":\"text/markdown\",\"binary_hash\":9071087674415960371,\"filename\":\"docling-test.md\",\"uri\":null},\"furniture\":{\"self_ref\":\"#/furniture\",\"parent\":null,\"children\":[],\"content_layer\":\"furniture\",\"meta\":null,\"name\":\"_root_\",\"label\":\"unspecified\"},\"body\":{\"s [...] + "headers" : { + "date" : "Fri, 19 Jun 2026 09:51:18 GMT", + "server" : "uvicorn", + "content-type" : "application/json" + } + }, + "uuid" : "b1da40b4-6ce8-4ce7-bca2-de2a08a4b8b7", + "persistent" : true, + "insertionIndex" : 10 +} \ No newline at end of file diff --git a/integration-tests/docling/src/test/resources/mappings/v1_result_b89061f3-3601-4f4a-8d21-c977f2bf2a9e-0121ab9c-4a5d-4232-9df1-cb99c368e678.json b/integration-tests/docling/src/test/resources/mappings/v1_result_b89061f3-3601-4f4a-8d21-c977f2bf2a9e-0121ab9c-4a5d-4232-9df1-cb99c368e678.json new file mode 100644 index 0000000000..0faa9c6a4c --- /dev/null +++ b/integration-tests/docling/src/test/resources/mappings/v1_result_b89061f3-3601-4f4a-8d21-c977f2bf2a9e-0121ab9c-4a5d-4232-9df1-cb99c368e678.json @@ -0,0 +1,20 @@ +{ + "id" : "0121ab9c-4a5d-4232-9df1-cb99c368e678", + "name" : "v1_result_b89061f3-3601-4f4a-8d21-c977f2bf2a9e", + "request" : { + "url" : "/v1/result/b89061f3-3601-4f4a-8d21-c977f2bf2a9e", + "method" : "GET" + }, + "response" : { + "status" : 200, + "body" : "{\"document\":{\"filename\":\"docling-test.md\",\"md_content\":\"# Async Test\\n\\nThis is a test for async markdown conversion.\",\"json_content\":null,\"html_content\":null,\"text_content\":null,\"doctags_content\":null},\"status\":\"success\",\"errors\":[],\"processing_time\":0.006008327007293701,\"timings\":{}}", + "headers" : { + "date" : "Fri, 19 Jun 2026 09:51:22 GMT", + "server" : "uvicorn", + "content-type" : "application/json" + } + }, + "uuid" : "0121ab9c-4a5d-4232-9df1-cb99c368e678", + "persistent" : true, + "insertionIndex" : 5 +} \ No newline at end of file diff --git a/integration-tests/docling/src/test/resources/mappings/v1_status_poll_4555d9b2-63b9-4510-8d8c-0184f14169f8-4a7192f1-ae07-4d02-bfb9-62c01749112c.json b/integration-tests/docling/src/test/resources/mappings/v1_status_poll_4555d9b2-63b9-4510-8d8c-0184f14169f8-4a7192f1-ae07-4d02-bfb9-62c01749112c.json new file mode 100644 index 0000000000..ed72006163 --- /dev/null +++ b/integration-tests/docling/src/test/resources/mappings/v1_status_poll_4555d9b2-63b9-4510-8d8c-0184f14169f8-4a7192f1-ae07-4d02-bfb9-62c01749112c.json @@ -0,0 +1,29 @@ +{ + "id" : "4a7192f1-ae07-4d02-bfb9-62c01749112c", + "name" : "v1_status_poll_4555d9b2-63b9-4510-8d8c-0184f14169f8", + "request" : { + "urlPath" : "/v1/status/poll/4555d9b2-63b9-4510-8d8c-0184f14169f8", + "method" : "GET", + "queryParameters" : { + "wait" : { + "hasExactly" : [ { + "equalTo" : "0" + } ] + } + } + }, + "response" : { + "status" : 200, + "body" : "{\"task_id\":\"4555d9b2-63b9-4510-8d8c-0184f14169f8\",\"task_type\":\"convert\",\"task_status\":\"success\",\"task_position\":null,\"task_meta\":null}", + "headers" : { + "date" : "Fri, 19 Jun 2026 09:51:14 GMT", + "server" : "uvicorn", + "content-type" : "application/json" + } + }, + "uuid" : "4a7192f1-ae07-4d02-bfb9-62c01749112c", + "persistent" : true, + "scenarioName" : "scenario-2-v1-status-poll-4555d9b2-63b9-4510-8d8c-0184f14169f8", + "requiredScenarioState" : "scenario-2-v1-status-poll-4555d9b2-63b9-4510-8d8c-0184f14169f8-2", + "insertionIndex" : 15 +} \ No newline at end of file diff --git a/integration-tests/docling/src/test/resources/mappings/v1_status_poll_4555d9b2-63b9-4510-8d8c-0184f14169f8-96d14f30-3a42-4b6f-a6f6-8b3f74d5d0e6.json b/integration-tests/docling/src/test/resources/mappings/v1_status_poll_4555d9b2-63b9-4510-8d8c-0184f14169f8-96d14f30-3a42-4b6f-a6f6-8b3f74d5d0e6.json new file mode 100644 index 0000000000..c3c19d5ff7 --- /dev/null +++ b/integration-tests/docling/src/test/resources/mappings/v1_status_poll_4555d9b2-63b9-4510-8d8c-0184f14169f8-96d14f30-3a42-4b6f-a6f6-8b3f74d5d0e6.json @@ -0,0 +1,30 @@ +{ + "id" : "96d14f30-3a42-4b6f-a6f6-8b3f74d5d0e6", + "name" : "v1_status_poll_4555d9b2-63b9-4510-8d8c-0184f14169f8", + "request" : { + "urlPath" : "/v1/status/poll/4555d9b2-63b9-4510-8d8c-0184f14169f8", + "method" : "GET", + "queryParameters" : { + "wait" : { + "hasExactly" : [ { + "equalTo" : "0" + } ] + } + } + }, + "response" : { + "status" : 200, + "body" : "{\"task_id\":\"4555d9b2-63b9-4510-8d8c-0184f14169f8\",\"task_type\":\"convert\",\"task_status\":\"started\",\"task_position\":null,\"task_meta\":null}", + "headers" : { + "date" : "Fri, 19 Jun 2026 09:51:12 GMT", + "server" : "uvicorn", + "content-type" : "application/json" + } + }, + "uuid" : "96d14f30-3a42-4b6f-a6f6-8b3f74d5d0e6", + "persistent" : true, + "scenarioName" : "scenario-2-v1-status-poll-4555d9b2-63b9-4510-8d8c-0184f14169f8", + "requiredScenarioState" : "Started", + "newScenarioState" : "scenario-2-v1-status-poll-4555d9b2-63b9-4510-8d8c-0184f14169f8-2", + "insertionIndex" : 16 +} \ No newline at end of file diff --git a/integration-tests/docling/src/test/resources/mappings/v1_status_poll_7ebf4405-8bd5-49d8-bb4a-07094f3db756-e66e62ba-ce9f-4038-b3cd-1d16666e95c6.json b/integration-tests/docling/src/test/resources/mappings/v1_status_poll_7ebf4405-8bd5-49d8-bb4a-07094f3db756-e66e62ba-ce9f-4038-b3cd-1d16666e95c6.json new file mode 100644 index 0000000000..f5896a8ebd --- /dev/null +++ b/integration-tests/docling/src/test/resources/mappings/v1_status_poll_7ebf4405-8bd5-49d8-bb4a-07094f3db756-e66e62ba-ce9f-4038-b3cd-1d16666e95c6.json @@ -0,0 +1,27 @@ +{ + "id" : "e66e62ba-ce9f-4038-b3cd-1d16666e95c6", + "name" : "v1_status_poll_7ebf4405-8bd5-49d8-bb4a-07094f3db756", + "request" : { + "urlPath" : "/v1/status/poll/7ebf4405-8bd5-49d8-bb4a-07094f3db756", + "method" : "GET", + "queryParameters" : { + "wait" : { + "hasExactly" : [ { + "equalTo" : "0" + } ] + } + } + }, + "response" : { + "status" : 200, + "body" : "{\"task_id\":\"7ebf4405-8bd5-49d8-bb4a-07094f3db756\",\"task_type\":\"convert\",\"task_status\":\"success\",\"task_position\":null,\"task_meta\":null}", + "headers" : { + "date" : "Fri, 19 Jun 2026 09:51:18 GMT", + "server" : "uvicorn", + "content-type" : "application/json" + } + }, + "uuid" : "e66e62ba-ce9f-4038-b3cd-1d16666e95c6", + "persistent" : true, + "insertionIndex" : 11 +} \ No newline at end of file diff --git a/integration-tests/docling/src/test/resources/mappings/v1_status_poll_b89061f3-3601-4f4a-8d21-c977f2bf2a9e-3bdfc119-76d8-4132-b73e-802a90187b78.json b/integration-tests/docling/src/test/resources/mappings/v1_status_poll_b89061f3-3601-4f4a-8d21-c977f2bf2a9e-3bdfc119-76d8-4132-b73e-802a90187b78.json new file mode 100644 index 0000000000..1a4cf8d00e --- /dev/null +++ b/integration-tests/docling/src/test/resources/mappings/v1_status_poll_b89061f3-3601-4f4a-8d21-c977f2bf2a9e-3bdfc119-76d8-4132-b73e-802a90187b78.json @@ -0,0 +1,29 @@ +{ + "id" : "3bdfc119-76d8-4132-b73e-802a90187b78", + "name" : "v1_status_poll_b89061f3-3601-4f4a-8d21-c977f2bf2a9e", + "request" : { + "urlPath" : "/v1/status/poll/b89061f3-3601-4f4a-8d21-c977f2bf2a9e", + "method" : "GET", + "queryParameters" : { + "wait" : { + "hasExactly" : [ { + "equalTo" : "0" + } ] + } + } + }, + "response" : { + "status" : 200, + "body" : "{\"task_id\":\"b89061f3-3601-4f4a-8d21-c977f2bf2a9e\",\"task_type\":\"convert\",\"task_status\":\"success\",\"task_position\":null,\"task_meta\":null}", + "headers" : { + "date" : "Fri, 19 Jun 2026 09:51:22 GMT", + "server" : "uvicorn", + "content-type" : "application/json" + } + }, + "uuid" : "3bdfc119-76d8-4132-b73e-802a90187b78", + "persistent" : true, + "scenarioName" : "scenario-1-v1-status-poll-b89061f3-3601-4f4a-8d21-c977f2bf2a9e", + "requiredScenarioState" : "scenario-1-v1-status-poll-b89061f3-3601-4f4a-8d21-c977f2bf2a9e-2", + "insertionIndex" : 6 +} \ No newline at end of file diff --git a/integration-tests/docling/src/test/resources/mappings/v1_status_poll_b89061f3-3601-4f4a-8d21-c977f2bf2a9e-96f6dccc-50f7-4c94-965f-0442cf070edb.json b/integration-tests/docling/src/test/resources/mappings/v1_status_poll_b89061f3-3601-4f4a-8d21-c977f2bf2a9e-96f6dccc-50f7-4c94-965f-0442cf070edb.json new file mode 100644 index 0000000000..e64e8dd1eb --- /dev/null +++ b/integration-tests/docling/src/test/resources/mappings/v1_status_poll_b89061f3-3601-4f4a-8d21-c977f2bf2a9e-96f6dccc-50f7-4c94-965f-0442cf070edb.json @@ -0,0 +1,30 @@ +{ + "id" : "96f6dccc-50f7-4c94-965f-0442cf070edb", + "name" : "v1_status_poll_b89061f3-3601-4f4a-8d21-c977f2bf2a9e", + "request" : { + "urlPath" : "/v1/status/poll/b89061f3-3601-4f4a-8d21-c977f2bf2a9e", + "method" : "GET", + "queryParameters" : { + "wait" : { + "hasExactly" : [ { + "equalTo" : "0" + } ] + } + } + }, + "response" : { + "status" : 200, + "body" : "{\"task_id\":\"b89061f3-3601-4f4a-8d21-c977f2bf2a9e\",\"task_type\":\"convert\",\"task_status\":\"started\",\"task_position\":null,\"task_meta\":null}", + "headers" : { + "date" : "Fri, 19 Jun 2026 09:51:20 GMT", + "server" : "uvicorn", + "content-type" : "application/json" + } + }, + "uuid" : "96f6dccc-50f7-4c94-965f-0442cf070edb", + "persistent" : true, + "scenarioName" : "scenario-1-v1-status-poll-b89061f3-3601-4f4a-8d21-c977f2bf2a9e", + "requiredScenarioState" : "Started", + "newScenarioState" : "scenario-1-v1-status-poll-b89061f3-3601-4f4a-8d21-c977f2bf2a9e-2", + "insertionIndex" : 7 +} \ No newline at end of file
