atsachlaris 1 dienu atpakaļ
vecāks
revīzija
90f9d4eb5b

+ 0 - 33
src/test/java/es/uv/saic/service/DoclingPythonClientTest.java

@@ -1,33 +0,0 @@
-package es.uv.saic.service;
-
-import es.uv.saic.extractor.ExtractionRequest;
-import es.uv.saic.extractor.docling.DoclingProperties;
-import es.uv.saic.extractor.docling.DoclingPythonClient;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertThrows;
-
-class DoclingPythonClientTest {
-
-    @Test
-    void extractHtmlTables_throwsWhenDisabled() {
-        DoclingProperties properties = new DoclingProperties();
-        properties.setEnabled(false);
-
-        DoclingPythonClient client = new DoclingPythonClient(properties);
-
-        assertThrows(IllegalStateException.class, () -> client.extractTablesAsCsv(ExtractionRequest.fromHtml("<html/>")));
-    }
-
-    @Test
-    void extractHtmlTables_throwsOnInvalidPythonCommand() {
-        DoclingProperties properties = new DoclingProperties();
-        properties.setEnabled(true);
-        properties.setPythonCommand("python-command-that-does-not-exist");
-        properties.setScriptPath("scripts/docling_extract.py");
-
-        DoclingPythonClient client = new DoclingPythonClient(properties);
-
-        assertThrows(IllegalStateException.class, () -> client.extractTablesAsCsv(ExtractionRequest.fromHtml("<html/>")));
-    }
-}

+ 0 - 42
src/test/java/es/uv/saic/service/DoclingTableExtractorTest.java

@@ -1,42 +0,0 @@
-package es.uv.saic.service;
-
-import es.uv.saic.extractor.ExtractionRequest;
-import es.uv.saic.extractor.docling.DoclingProperties;
-import es.uv.saic.extractor.docling.DoclingPythonClient;
-import es.uv.saic.extractor.docling.DoclingTableExtractor;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.mockito.ArgumentMatchers.argThat;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-class DoclingTableExtractorTest {
-
-    @Test
-    void extractTablesToCsv_sendsOnlyDataExtractionTablesToDocling() {
-        DoclingPythonClient pythonClient = mock(DoclingPythonClient.class);
-        DoclingProperties properties = new DoclingProperties();
-        properties.setEnabled(true);
-        DoclingTableExtractor extractor = new DoclingTableExtractor(pythonClient, properties);
-
-        String html = """
-                <html><body>
-                <table><tr><td>ignore</td></tr></table>
-                <table data-extraction="a"><tr><td>keep</td></tr></table>
-                </body></html>
-                """;
-
-        when(pythonClient.extractTablesAsCsv(argThat(req ->
-                req.hasRawHtml() &&
-                        req.rawHtml().contains("data-extraction") &&
-                        !req.rawHtml().contains("<table><tr><td>ignore")
-        ))).thenReturn("k,1");
-
-        String result = extractor.extractTablesToCsv(ExtractionRequest.fromHtml(html));
-
-        assertEquals("k,1", result);
-        verify(pythonClient).extractTablesAsCsv(argThat(req -> req.hasRawHtml() && !req.hasFile()));
-    }
-}

+ 0 - 72
src/test/java/es/uv/saic/service/EnhancementServiceRoutingTest.java

@@ -1,72 +0,0 @@
-package es.uv.saic.service;
-
-import es.uv.saic.extractor.ExtractionRequest;
-import es.uv.saic.extractor.docling.DoclingTableExtractor;
-import es.uv.saic.extractor.HtmlToCsvExtractor;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.springframework.ai.chat.client.ChatClient;
-
-import java.nio.charset.StandardCharsets;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.argThat;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-class EnhancementServiceRoutingTest {
-
-    private HtmlToCsvExtractor htmlToCsvExtractor;
-    private DoclingTableExtractor doclingTableExtractor;
-    private EnhancementService enhancementService;
-
-    @BeforeEach
-    void setUp() {
-        ChatClient.Builder builder = mock(ChatClient.Builder.class);
-        ChatClient chatClient = mock(ChatClient.class);
-        when(builder.build()).thenReturn(chatClient);
-
-        htmlToCsvExtractor = mock(HtmlToCsvExtractor.class);
-        doclingTableExtractor = mock(DoclingTableExtractor.class);
-        enhancementService = new EnhancementService(builder, htmlToCsvExtractor, doclingTableExtractor);
-    }
-
-    @Test
-    void extractForChatEndpoint_usesDoclingWhenSupported() {
-        ExtractionRequest request = ExtractionRequest.fromHtml("<table data-extraction='x'></table>");
-        when(doclingTableExtractor.supports(request)).thenReturn(true);
-        when(doclingTableExtractor.extractTablesToCsv(request)).thenReturn("csv-docling");
-
-        String result = enhancementService.extractForChatEndpoint(request);
-
-        assertEquals("csv-docling", result);
-        verify(doclingTableExtractor).extractTablesToCsv(request);
-    }
-
-    @Test
-    void extractForChatEndpoint_fallsBackToHtmlWhenDoclingNotSupported() {
-        ExtractionRequest request = ExtractionRequest.fromHtml("<html>no tables</html>");
-        when(doclingTableExtractor.supports(request)).thenReturn(false);
-        when(htmlToCsvExtractor.extractTablesToCsv(request)).thenReturn("csv-html");
-
-        String result = enhancementService.extractForChatEndpoint(request);
-
-        assertEquals("csv-html", result);
-        verify(htmlToCsvExtractor).extractTablesToCsv(request);
-    }
-
-    @Test
-    void extractForFileEndpoint_routesAsHtmlStringToDocling() {
-        byte[] fileBytes = "<table data-extraction='x'><tr><td>a</td></tr></table>".getBytes(StandardCharsets.UTF_8);
-        ExtractionRequest request = ExtractionRequest.fromFile(fileBytes, "input.html", "text/html");
-        when(doclingTableExtractor.supports(any(ExtractionRequest.class))).thenReturn(true);
-        when(doclingTableExtractor.extractTablesToCsv(any(ExtractionRequest.class))).thenReturn("csv-docling");
-
-        String result = enhancementService.extractForFileEndpoint(request);
-
-        assertEquals("csv-docling", result);
-        verify(doclingTableExtractor).extractTablesToCsv(argThat(r -> r.hasRawHtml() && !r.hasFile()));
-    }
-}