blob: 1b4260966095ec9d10cb5958a5d9616c87e9fef0 [file] [log] [blame]
package de.ids_mannheim.korap.web.lite;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
import org.junit.jupiter.api.Test;
import com.fasterxml.jackson.databind.JsonNode;
import de.ids_mannheim.korap.config.LiteJerseyTest;
import de.ids_mannheim.korap.exceptions.KustvaktException;
import de.ids_mannheim.korap.utils.JsonUtils;
import jakarta.ws.rs.ProcessingException;
import jakarta.ws.rs.core.Response;
import jakarta.ws.rs.core.Response.Status;
public class LiteMultipleCorpusQueryTest extends LiteJerseyTest {
@Test
public void testSearchGet () throws KustvaktException {
Response response = target().path(API_VERSION).path("search")
.queryParam("q", "das").queryParam("ql", "poliqarp")
.queryParam("cq", "pubPlace=München")
.queryParam("cq", "textSigle=\"GOE/AGA/01784\"").request()
.get();
assertEquals(Status.OK.getStatusCode(), response.getStatus());
String entity = response.readEntity(String.class);
JsonNode node = JsonUtils.readTree(entity);
node = node.at("/collection");
assertEquals("koral:docGroup",node.at("/@type").asText());
assertEquals("operation:and",node.at("/operation").asText());
assertEquals(2, node.at("/operands").size());
assertEquals("koral:doc",node.at("/operands/0/@type").asText());
assertEquals("match:eq",node.at("/operands/0/match").asText());
assertEquals("pubPlace",node.at("/operands/0/key").asText());
assertEquals("München",node.at("/operands/0/value").asText());
assertEquals("textSigle",node.at("/operands/1/key").asText());
assertEquals("GOE/AGA/01784",node.at("/operands/1/value").asText());
}
@Test
public void testStatisticsWithMultipleCq ()
throws ProcessingException, KustvaktException {
Response response = target().path(API_VERSION).path("statistics")
.queryParam("cq", "textType=Abhandlung")
.queryParam("cq", "corpusSigle=GOE").request().method("GET");
assertEquals(Status.OK.getStatusCode(), response.getStatus());
String entity = response.readEntity(String.class);
JsonNode node = JsonUtils.readTree(entity);
assertEquals(2, node.at("/documents").asInt());
assertEquals(138180, node.at("/tokens").asInt());
assertEquals(5687, node.at("/sentences").asInt());
assertEquals(258, node.at("/paragraphs").asInt());
assertTrue(node.at("/warnings").isMissingNode());
}
}