/* vim: set ts=2 et sw=2 cindent fo=qroca: */
package com.globant.katari.user.application;
import org.apache.camel.ProducerTemplate;
import org.apache.camel.CamelContext;
import org.junit.Test;
import org.junit.Before;
import com.globant.katari.user.SpringTestUtils;
import static org.junit.Assert.assertThat;
import static org.hamcrest.CoreMatchers.*;
import com.globant.katari.hibernate.coreuser.DeleteMessage;
public class DeleteEventTest {
private CamelContext context;
@Before
public void setUp() throws Exception {
context = (CamelContext) SpringTestUtils.getBean("katari.eventBus");
}
@Test
public void test() throws Exception {
ProducerTemplate template = context.createProducerTemplate();
DeleteMessage response = (DeleteMessage) template.requestBody(
"direct:katari.user.deleteUser", new DeleteMessage(-100));
assertThat(response.canDelete(), is(false));
}
public static class Listener1 {
public DeleteMessage a(final DeleteMessage message) {
return message.goAhead();
}
}
public static class Listener2 {
public DeleteMessage a(final DeleteMessage message) {
if (message.getUserId() == -100) {
return message.reject("No, I say you can't delete user.");
} else {
return message.goAhead();
}
}
}
public static class Listener3 {
public DeleteMessage a(final DeleteMessage message) {
if (message.getUserId() == -100) {
return message.reject("You can't delete user.");
} else {
return message.goAhead();
}
}
}
}