@Test @Ignore public void testRuleOnBody() throws Exception { Person person = new Person(); person.setName("Young Scott"); person.setAge(18); Cheese cheese = new Cheese(); cheese.setPrice(10); cheese.setType("Stilton"); // Add cheese ruleOnBodyEndpoint.requestBody(cheese, Cheese.class); // Check If Person can Drink Person response = ruleOnBodyEndpoint.requestBody(person, Person.class); assertNotNull(response); assertFalse(person.isCanDrink()); // Test for alternative result person.setName("Scott"); person.setAge(21); response = ruleOnBodyEndpoint.requestBody(person, Person.class); assertNotNull(response); assertTrue(person.isCanDrink()); }
@Test @Ignore // TODO drools-camel component should be improved to allow to set Global value on the session public void testRuleOnCommand() throws Exception { Person person = new Person(); person.setName("Young Scott"); person.setAge(18); Cheese cheese = new Cheese(); cheese.setPrice(10); cheese.setType("Stilton"); // Add a Person ruleOnBodyEndpoint.requestBody(cheese, Cheese.class); // Add cheese ruleOnBodyEndpoint.requestBody(cheese, Cheese.class); // Remark : passing person here is not required ExecutionResultImpl response = ruleOnCommandEndpoint.requestBody(person, ExecutionResultImpl.class); assertNotNull(response); // Expecting single result value of type Person Collection<String> identifiers = response.getIdentifiers(); assertNotNull(identifiers); assertTrue(identifiers.size() >= 1); for (String identifier : identifiers) { final Object value = response.getValue(identifier); assertNotNull(value); assertIsInstanceOf(Person.class, value); assertFalse(((Person) value).isCanDrink()); System.out.println(identifier + " = " + value); } // Test for alternative result person.setName("Scott"); person.setAge(21); response = ruleOnCommandEndpoint.requestBody(person, ExecutionResultImpl.class); assertNotNull(response); // Expecting single result value of type Person identifiers = response.getIdentifiers(); assertNotNull(identifiers); assertTrue(identifiers.size() >= 1); for (String identifier : identifiers) { final Object value = response.getValue(identifier); assertNotNull(value); assertIsInstanceOf(Person.class, value); assertTrue(((Person) value).isCanDrink()); System.out.println(identifier + " = " + value); } }