Search in sources :

Example 31 with TestWorkItemManager

use of org.jbpm.process.workitem.core.TestWorkItemManager in project jbpm-work-items by kiegroup.

the class WatsonWorkitemHandlerTest method testDetectFaces.

@Test
public void testDetectFaces() throws Exception {
    when(auth.getService(anyString())).thenReturn(recognitionService);
    TestWorkItemManager manager = new TestWorkItemManager();
    DocumentImpl imagetoDetect = new DocumentImpl();
    imagetoDetect.setName("testImageToDetect.png");
    imagetoDetect.setContent(new String("testImageContent").getBytes());
    WorkItemImpl workItem = new WorkItemImpl();
    workItem.setParameter("ImageToDetect", imagetoDetect);
    DetectFacesWorkitemHandler handler = new DetectFacesWorkitemHandler("{testApiKey}");
    handler.setAuth(auth);
    handler.executeWorkItem(workItem, manager);
    assertNotNull(manager.getResults());
    assertEquals(1, manager.getResults().size());
    assertTrue(manager.getResults().containsKey(workItem.getId()));
    assertTrue((manager.getResults().get(workItem.getId())).get("Detection") instanceof List);
    List<FaceDetectionResult> returnValues = (List<FaceDetectionResult>) (manager.getResults().get(workItem.getId())).get("Detection");
    assertNotNull(returnValues);
    assertEquals(1, returnValues.size());
    FaceDetectionResult result = returnValues.get(0);
    assertTrue(result.getMinAge() == 20);
    assertTrue(result.getMaxAge() == 35);
    assertEquals("male", result.getGender());
    assertEquals("testPerson", result.getIdentity());
}
Also used : FaceDetectionResult(org.jbpm.process.workitem.ibm.watson.result.FaceDetectionResult) TestWorkItemManager(org.jbpm.process.workitem.core.TestWorkItemManager) WorkItemImpl(org.drools.core.process.instance.impl.WorkItemImpl) ArrayList(java.util.ArrayList) List(java.util.List) DocumentImpl(org.jbpm.document.service.impl.DocumentImpl) Test(org.junit.Test)

Example 32 with TestWorkItemManager

use of org.jbpm.process.workitem.core.TestWorkItemManager in project jbpm-work-items by kiegroup.

the class IFTTTWorkitemHandlerTest method testSendTriggerRequest.

@Test
public void testSendTriggerRequest() throws Exception {
    TestWorkItemManager manager = new TestWorkItemManager();
    WorkItemImpl workItem = new WorkItemImpl();
    workItem.setParameter("Trigger", "testTrigger");
    workItem.setParameter("Value1", "testValue1");
    workItem.setParameter("Value2", "testValue2");
    workItem.setParameter("Value3", "testValue3");
    IFTTTWorkitemHandler handler = new IFTTTWorkitemHandler("testKey");
    handler.setClient(client);
    handler.executeWorkItem(workItem, manager);
    assertNotNull(manager.getResults());
    assertEquals(1, manager.getResults().size());
    assertTrue(manager.getResults().containsKey(workItem.getId()));
    String testValueJSONString = "{\"value1\":\"testValue1\",\"value2\":\"testValue1\",\"value3\":\"testValue1\"}";
    assertEquals(testValueJSONString, handler.getRequestBody());
}
Also used : TestWorkItemManager(org.jbpm.process.workitem.core.TestWorkItemManager) WorkItemImpl(org.drools.core.process.instance.impl.WorkItemImpl) Test(org.junit.Test)

Example 33 with TestWorkItemManager

use of org.jbpm.process.workitem.core.TestWorkItemManager in project jbpm-work-items by kiegroup.

the class JabberWorkItemHandlerTest method testSendMessage.

@Test
public void testSendMessage() throws Exception {
    ArgumentCaptor<Message> messageCaptor = ArgumentCaptor.forClass(Message.class);
    doNothing().when(xmppConnection).connect();
    doNothing().when(xmppConnection).login(anyString(), anyString());
    doNothing().when(xmppConnection).sendPacket(any(Presence.class));
    doNothing().when(xmppConnection).disconnect();
    when(xmppConnection.getChatManager()).thenReturn(chatManager);
    when(chatManager.createChat(anyString(), anyObject())).thenReturn(chat);
    TestWorkItemManager manager = new TestWorkItemManager();
    WorkItemImpl workItem = new WorkItemImpl();
    workItem.setParameter("User", "myuser");
    workItem.setParameter("Password", "mypassword");
    workItem.setParameter("Server", "myserver");
    workItem.setParameter("Port", "123");
    workItem.setParameter("Service", "myservice");
    workItem.setParameter("Text", "hello world");
    workItem.setParameter("To", "someperson");
    JabberWorkItemHandler handler = new JabberWorkItemHandler();
    handler.setConf(connectionConf);
    handler.setConnection(xmppConnection);
    handler.executeWorkItem(workItem, manager);
    assertNotNull(manager.getResults());
    assertEquals(1, manager.getResults().size());
    assertTrue(manager.getResults().containsKey(workItem.getId()));
    verify(chat).sendMessage(messageCaptor.capture());
    assertEquals("hello world", messageCaptor.getValue().getBody());
}
Also used : Message(org.jivesoftware.smack.packet.Message) TestWorkItemManager(org.jbpm.process.workitem.core.TestWorkItemManager) WorkItemImpl(org.drools.core.process.instance.impl.WorkItemImpl) Presence(org.jivesoftware.smack.packet.Presence) Test(org.junit.Test)

Example 34 with TestWorkItemManager

use of org.jbpm.process.workitem.core.TestWorkItemManager in project jbpm by kiegroup.

the class BusinessRuleTaskHandlerTest method testDrlStatefulBusinessRuleTaskWithScanner.

@Ignore("ignored as it is unstable on jenkins for unknown reason")
@Test
public void testDrlStatefulBusinessRuleTaskWithScanner() throws Exception {
    TestWorkItemManager manager = new TestWorkItemManager();
    BusinessRuleTaskHandler handler = new BusinessRuleTaskHandler(GROUP_ID, ARTIFACT_ID, VERSION, 2000);
    WorkItemImpl workItem = new WorkItemImpl();
    workItem.setId(999);
    Person person = new Person("john");
    workItem.setParameter("person", person);
    workItem.setParameter("KieSessionType", BusinessRuleTaskHandler.STATEFULL_TYPE);
    handler.executeWorkItem(workItem, manager);
    Map<String, Object> results = manager.getResults(workItem.getId());
    assertNotNull(results);
    assertEquals(1, results.size());
    assertEquals(35, ((Person) results.get("person")).getAge().intValue());
    // build and deploy new version
    createAndDeployJar(ks, ks.newReleaseId(GROUP_ID, ARTIFACT_ID, VERSION), ks.getResources().newClassPathResource("businessRule2.drl"));
    // setup waiting mechanism to wait for scanner update
    CountDownLatch latch = new CountDownLatch(1);
    handler.getKieContainer().getKieBase().addEventListener(new DefaultKieBaseEventListener() {

        @Override
        public void afterRuleAdded(AfterRuleAddedEvent event) {
            latch.countDown();
        }
    });
    latch.await(10, TimeUnit.SECONDS);
    person = new Person("john");
    workItem.setParameter("person", person);
    workItem.setParameter("KieSessionType", BusinessRuleTaskHandler.STATEFULL_TYPE);
    handler.executeWorkItem(workItem, manager);
    results = manager.getResults(workItem.getId());
    assertNotNull(results);
    assertEquals(1, results.size());
    assertEquals(45, ((Person) results.get("person")).getAge().intValue());
}
Also used : DefaultKieBaseEventListener(org.kie.api.event.kiebase.DefaultKieBaseEventListener) TestWorkItemManager(org.jbpm.process.workitem.core.TestWorkItemManager) WorkItemImpl(org.drools.core.process.instance.impl.WorkItemImpl) AfterRuleAddedEvent(org.kie.api.event.kiebase.AfterRuleAddedEvent) CountDownLatch(java.util.concurrent.CountDownLatch) Person(org.jbpm.process.workitem.bpmn2.objects.Person) Ignore(org.junit.Ignore) Test(org.junit.Test)

Example 35 with TestWorkItemManager

use of org.jbpm.process.workitem.core.TestWorkItemManager in project jbpm by kiegroup.

the class BusinessRuleTaskHandlerTest method testDmnBusinessRuleTaskNoScanner.

@Test
public void testDmnBusinessRuleTaskNoScanner() {
    TestWorkItemManager manager = new TestWorkItemManager();
    BusinessRuleTaskHandler handler = new BusinessRuleTaskHandler(GROUP_ID, ARTIFACT_ID, VERSION);
    WorkItemImpl workItem = new WorkItemImpl();
    workItem.setId(999);
    workItem.setParameter("Language", BusinessRuleTaskHandler.DMN_LANG);
    workItem.setParameter("Namespace", "https://www.drools.org/kie-dmn");
    workItem.setParameter("Model", "0020-vacation-days");
    workItem.setParameter("Age", 16);
    workItem.setParameter("Years of Service", 1);
    handler.executeWorkItem(workItem, manager);
    Map<String, Object> results = manager.getResults(workItem.getId());
    assertNotNull(results);
    assertEquals(7, results.size());
    assertEquals(27, ((BigDecimal) results.get("Total Vacation Days")).intValue());
}
Also used : TestWorkItemManager(org.jbpm.process.workitem.core.TestWorkItemManager) WorkItemImpl(org.drools.core.process.instance.impl.WorkItemImpl) Test(org.junit.Test)

Aggregations

WorkItemImpl (org.drools.core.process.instance.impl.WorkItemImpl)81 TestWorkItemManager (org.jbpm.process.workitem.core.TestWorkItemManager)81 Test (org.junit.Test)79 WorkItemManager (org.kie.api.runtime.process.WorkItemManager)36 AbstractBaseTest (org.jbpm.test.AbstractBaseTest)19 Matchers.anyString (org.mockito.Matchers.anyString)8 PrepareForTest (org.powermock.core.classloader.annotations.PrepareForTest)8 List (java.util.List)7 DocumentImpl (org.jbpm.document.service.impl.DocumentImpl)6 ArrayList (java.util.ArrayList)5 File (java.io.File)3 UserTransaction (javax.transaction.UserTransaction)3 Person (org.jbpm.process.workitem.bpmn2.objects.Person)3 CloseableHttpClient (org.apache.http.impl.client.CloseableHttpClient)2 Document (org.jbpm.document.Document)2 StatusUpdate (twitter4j.StatusUpdate)2 CalendarList (com.google.api.services.calendar.model.CalendarList)1 TaskList (com.google.api.services.tasks.model.TaskList)1 XmlReader (com.sun.syndication.io.XmlReader)1 ByteArrayInputStream (java.io.ByteArrayInputStream)1