Search in sources :

Example 1 with RestAssert

use of net.codestory.rest.RestAssert in project datashare by ICIJ.

the class TaskResourceTest method test_index_and_scan_default_directory.

@Test
public void test_index_and_scan_default_directory() {
    RestAssert response = post("/api/task/batchUpdate/index/file", "{}");
    HashMap<String, String> properties = getDefaultProperties();
    properties.put("foo", "bar");
    response.should().respond(200).haveType("application/json");
    verify(taskFactory).createScanTask(local(), "extract:queue", Paths.get("/default/data/dir"), new PropertiesProvider(properties).getProperties());
}
Also used : PropertiesProvider(org.icij.datashare.PropertiesProvider) RestAssert(net.codestory.rest.RestAssert) AbstractProdWebServerTest(org.icij.datashare.web.testhelpers.AbstractProdWebServerTest)

Example 2 with RestAssert

use of net.codestory.rest.RestAssert in project datashare by ICIJ.

the class TaskResourceTest method test_run_batch_search.

@Test
public void test_run_batch_search() {
    RestAssert response = post("/api/task/batchSearch", "{}");
    response.should().respond(200).haveType("application/json");
    verify(taskFactory).createBatchSearchLoop();
}
Also used : RestAssert(net.codestory.rest.RestAssert) AbstractProdWebServerTest(org.icij.datashare.web.testhelpers.AbstractProdWebServerTest)

Example 3 with RestAssert

use of net.codestory.rest.RestAssert in project datashare by ICIJ.

the class TaskResourceTest method test_findNames_with_resume_false_should_not_launch_resume_task.

@Test
public void test_findNames_with_resume_false_should_not_launch_resume_task() {
    RestAssert response = post("/api/task/findNames/EMAIL", "{\"options\":{\"resume\":\"false\", \"waitForNlpApp\": false}}");
    response.should().haveType("application/json");
    verify(taskFactory, never()).createResumeNlpTask(null, singleton(Pipeline.Type.OPENNLP));
}
Also used : RestAssert(net.codestory.rest.RestAssert) AbstractProdWebServerTest(org.icij.datashare.web.testhelpers.AbstractProdWebServerTest)

Example 4 with RestAssert

use of net.codestory.rest.RestAssert in project datashare by ICIJ.

the class TaskResourceTest method test_findNames_with_options_should_merge_with_property_provider.

@Test
public void test_findNames_with_options_should_merge_with_property_provider() {
    RestAssert response = post("/api/task/findNames/EMAIL", "{\"options\":{\"waitForNlpApp\": false, \"key\":\"val\",\"foo\":\"loo\"}}");
    response.should().haveType("application/json");
    verify(taskFactory).createResumeNlpTask(local(), singleton(Pipeline.Type.EMAIL));
    ArgumentCaptor<Pipeline> pipelineCaptor = ArgumentCaptor.forClass(Pipeline.class);
    ArgumentCaptor<Properties> propertiesCaptor = ArgumentCaptor.forClass(Properties.class);
    verify(taskFactory).createNlpTask(eq(local()), pipelineCaptor.capture(), propertiesCaptor.capture(), any());
    assertThat(propertiesCaptor.getValue()).includes(entry("key", "val"), entry("foo", "loo"));
    assertThat(pipelineCaptor.getValue().getType()).isEqualTo(Pipeline.Type.EMAIL);
}
Also used : Properties(java.util.Properties) RestAssert(net.codestory.rest.RestAssert) EmailPipeline(org.icij.datashare.nlp.EmailPipeline) Pipeline(org.icij.datashare.text.nlp.Pipeline) AbstractProdWebServerTest(org.icij.datashare.web.testhelpers.AbstractProdWebServerTest)

Example 5 with RestAssert

use of net.codestory.rest.RestAssert in project datashare by ICIJ.

the class TaskResourceTest method test_index_directory.

@Test
public void test_index_directory() {
    RestAssert response = post("/api/task/batchUpdate/index/file/" + getClass().getResource("/docs/").getPath().substring(1), "{}");
    ShouldChain responseBody = response.should().haveType("application/json");
    List<String> taskNames = taskManager.waitTasksToBeDone(1, SECONDS).stream().map(t -> t.name).collect(toList());
    responseBody.should().contain(format("{\"name\":\"%s\"", taskNames.get(0)));
    responseBody.should().contain(format("{\"name\":\"%s\"", taskNames.get(1)));
}
Also used : Routes(net.codestory.http.routes.Routes) AbstractProdWebServerTest(org.icij.datashare.web.testhelpers.AbstractProdWebServerTest) CommonMode(org.icij.datashare.mode.CommonMode) NlpApp(org.icij.datashare.nlp.NlpApp) HashMap(java.util.HashMap) AbstractModels(org.icij.datashare.text.nlp.AbstractModels) RestAssert(net.codestory.rest.RestAssert) ArgumentCaptor(org.mockito.ArgumentCaptor) Collections.singleton(java.util.Collections.singleton) Assertions.assertThat(org.fest.assertions.Assertions.assertThat) EmailPipeline(org.icij.datashare.nlp.EmailPipeline) Matchers.eq(org.mockito.Matchers.eq) Filter(net.codestory.http.filters.Filter) User(org.icij.datashare.user.User) Project.project(org.icij.datashare.text.Project.project) BatchDownload(org.icij.datashare.batch.BatchDownload) DatashareTimeRule(org.icij.datashare.test.DatashareTimeRule) Path(java.nio.file.Path) Pipeline(org.icij.datashare.text.nlp.Pipeline) org.icij.datashare.tasks(org.icij.datashare.tasks) Properties(java.util.Properties) PropertiesProvider(org.icij.datashare.PropertiesProvider) Indexer(org.icij.datashare.text.indexing.Indexer) String.format(java.lang.String.format) PipelineRegistry(org.icij.datashare.extension.PipelineRegistry) ShouldChain(net.codestory.rest.ShouldChain) Mockito(org.mockito.Mockito) List(java.util.List) Collectors.toList(java.util.stream.Collectors.toList) Paths(java.nio.file.Paths) LocalUserFilter(org.icij.datashare.session.LocalUserFilter) DatashareUser.local(org.icij.datashare.session.DatashareUser.local) org.junit(org.junit) NotNull(org.jetbrains.annotations.NotNull) MapAssert.entry(org.fest.assertions.MapAssert.entry) SECONDS(java.util.concurrent.TimeUnit.SECONDS) ShouldChain(net.codestory.rest.ShouldChain) RestAssert(net.codestory.rest.RestAssert) AbstractProdWebServerTest(org.icij.datashare.web.testhelpers.AbstractProdWebServerTest)

Aggregations

RestAssert (net.codestory.rest.RestAssert)13 AbstractProdWebServerTest (org.icij.datashare.web.testhelpers.AbstractProdWebServerTest)12 PropertiesProvider (org.icij.datashare.PropertiesProvider)8 Properties (java.util.Properties)7 Path (java.nio.file.Path)6 EmailPipeline (org.icij.datashare.nlp.EmailPipeline)6 Pipeline (org.icij.datashare.text.nlp.Pipeline)6 String.format (java.lang.String.format)5 Paths (java.nio.file.Paths)5 Collections.singleton (java.util.Collections.singleton)5 HashMap (java.util.HashMap)5 List (java.util.List)5 SECONDS (java.util.concurrent.TimeUnit.SECONDS)5 Collectors.toList (java.util.stream.Collectors.toList)5 Filter (net.codestory.http.filters.Filter)5 Routes (net.codestory.http.routes.Routes)5 ShouldChain (net.codestory.rest.ShouldChain)5 Assertions.assertThat (org.fest.assertions.Assertions.assertThat)5 MapAssert.entry (org.fest.assertions.MapAssert.entry)5 BatchDownload (org.icij.datashare.batch.BatchDownload)5