cleaned up unitests
This commit is contained in:
parent
d84098fe9d
commit
3483205dfd
@ -71,6 +71,9 @@ class Subscription {
|
|||||||
public final int ID = ID_COUNTER.getAndIncrement();
|
public final int ID = ID_COUNTER.getAndIncrement();
|
||||||
|
|
||||||
|
|
||||||
|
// this is the listener class that created this subscription
|
||||||
|
private final Class<?> listenerClass;
|
||||||
|
|
||||||
// the handler's metadata -> for each handler in a listener, a unique subscription context is created
|
// the handler's metadata -> for each handler in a listener, a unique subscription context is created
|
||||||
private final MessageHandler handler;
|
private final MessageHandler handler;
|
||||||
private final IHandlerInvocation invocation;
|
private final IHandlerInvocation invocation;
|
||||||
@ -89,8 +92,10 @@ class Subscription {
|
|||||||
|
|
||||||
|
|
||||||
public
|
public
|
||||||
Subscription(final MessageHandler handler) {
|
Subscription(final Class<?> listenerClass, final MessageHandler handler) {
|
||||||
|
this.listenerClass = listenerClass;
|
||||||
this.handler = handler;
|
this.handler = handler;
|
||||||
|
|
||||||
IHandlerInvocation invocation = new ReflectiveHandlerInvocation();
|
IHandlerInvocation invocation = new ReflectiveHandlerInvocation();
|
||||||
if (handler.isSynchronized()) {
|
if (handler.isSynchronized()) {
|
||||||
invocation = new SynchronizedHandlerInvocation(invocation);
|
invocation = new SynchronizedHandlerInvocation(invocation);
|
||||||
@ -99,6 +104,12 @@ class Subscription {
|
|||||||
this.invocation = invocation;
|
this.invocation = invocation;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// only used in unit tests to verify that the subscription manager is working correctly
|
||||||
|
public
|
||||||
|
Class<?> getListenerClass() {
|
||||||
|
return listenerClass;
|
||||||
|
}
|
||||||
|
|
||||||
public
|
public
|
||||||
MessageHandler getHandler() {
|
MessageHandler getHandler() {
|
||||||
return handler;
|
return handler;
|
||||||
|
@ -60,12 +60,11 @@ public class SubscriptionManagerTest extends AssertSupport {
|
|||||||
private static final int InstancesPerListener = 5000;
|
private static final int InstancesPerListener = 5000;
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testIMessageListener() {
|
public
|
||||||
ListenerFactory listeners = listeners(IMessageListener.DefaultListener.class
|
void testIMessageListener() {
|
||||||
// ,
|
ListenerFactory listeners = listeners(IMessageListener.DefaultListener.class,
|
||||||
// IMessageListener.DisabledListener.class,
|
IMessageListener.DisabledListener.class,
|
||||||
// IMessageListener.NoSubtypesListener.class
|
IMessageListener.NoSubtypesListener.class);
|
||||||
);
|
|
||||||
|
|
||||||
SubscriptionValidator expectedSubscriptions = new SubscriptionValidator(listeners);
|
SubscriptionValidator expectedSubscriptions = new SubscriptionValidator(listeners);
|
||||||
expectedSubscriptions.listener(IMessageListener.DefaultListener.class)
|
expectedSubscriptions.listener(IMessageListener.DefaultListener.class)
|
||||||
@ -75,106 +74,149 @@ public class SubscriptionManagerTest extends AssertSupport {
|
|||||||
StandardMessage.class,
|
StandardMessage.class,
|
||||||
MessageTypes.class);
|
MessageTypes.class);
|
||||||
|
|
||||||
// expectedSubscriptions.listener(IMessageListener.NoSubtypesListener.class)
|
expectedSubscriptions.listener(IMessageListener.NoSubtypesListener.class)
|
||||||
// .handles(IMessage.class);
|
.handles(IMessage.class);
|
||||||
|
|
||||||
runTestWith(listeners, expectedSubscriptions);
|
runTestWith(listeners, expectedSubscriptions);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testAbstractMessageListener() {
|
public
|
||||||
ListenerFactory listeners = listeners(AbstractMessageListener.DefaultListener.class, AbstractMessageListener.DisabledListener.class,
|
void testAbstractMessageListener() {
|
||||||
|
ListenerFactory listeners = listeners(AbstractMessageListener.DefaultListener.class,
|
||||||
|
AbstractMessageListener.DisabledListener.class,
|
||||||
AbstractMessageListener.NoSubtypesListener.class);
|
AbstractMessageListener.NoSubtypesListener.class);
|
||||||
|
|
||||||
SubscriptionValidator expectedSubscriptions = new SubscriptionValidator(listeners).listener(
|
final SubscriptionValidator subscriptionValidator = new SubscriptionValidator(listeners);
|
||||||
AbstractMessageListener.NoSubtypesListener.class).handles(AbstractMessage.class).listener(
|
subscriptionValidator.listener(AbstractMessageListener.NoSubtypesListener.class)
|
||||||
AbstractMessageListener.DefaultListener.class).handles(StandardMessage.class, AbstractMessage.class);
|
.handles(AbstractMessage.class);
|
||||||
|
|
||||||
runTestWith(listeners, expectedSubscriptions);
|
subscriptionValidator.listener(AbstractMessageListener.DefaultListener.class)
|
||||||
|
.handles(StandardMessage.class, AbstractMessage.class);
|
||||||
|
|
||||||
|
runTestWith(listeners, subscriptionValidator);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testMessagesListener() {
|
public
|
||||||
ListenerFactory listeners = listeners(MessagesListener.DefaultListener.class, MessagesListener.DisabledListener.class,
|
void testMessagesListener() {
|
||||||
|
ListenerFactory listeners = listeners(MessagesListener.DefaultListener.class,
|
||||||
|
MessagesListener.DisabledListener.class,
|
||||||
MessagesListener.NoSubtypesListener.class);
|
MessagesListener.NoSubtypesListener.class);
|
||||||
|
|
||||||
SubscriptionValidator expectedSubscriptions = new SubscriptionValidator(listeners).listener(
|
SubscriptionValidator expectedSubscriptions = new SubscriptionValidator(listeners);
|
||||||
MessagesListener.NoSubtypesListener.class).handles(MessageTypes.class).listener(
|
expectedSubscriptions.listener(MessagesListener.NoSubtypesListener.class)
|
||||||
MessagesListener.DefaultListener.class).handles(MessageTypes.class);
|
.handles(MessageTypes.class);
|
||||||
|
|
||||||
|
expectedSubscriptions.listener(MessagesListener.DefaultListener.class)
|
||||||
|
.handles(MessageTypes.class);
|
||||||
|
|
||||||
runTestWith(listeners, expectedSubscriptions);
|
runTestWith(listeners, expectedSubscriptions);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testMultipartMessageListener() {
|
public
|
||||||
|
void testMultipartMessageListener() {
|
||||||
ListenerFactory listeners = listeners(MultipartMessageListener.DefaultListener.class,
|
ListenerFactory listeners = listeners(MultipartMessageListener.DefaultListener.class,
|
||||||
MultipartMessageListener.DisabledListener.class,
|
MultipartMessageListener.DisabledListener.class,
|
||||||
MultipartMessageListener.NoSubtypesListener.class);
|
MultipartMessageListener.NoSubtypesListener.class);
|
||||||
|
|
||||||
SubscriptionValidator expectedSubscriptions = new SubscriptionValidator(listeners).listener(
|
SubscriptionValidator expectedSubscriptions = new SubscriptionValidator(listeners);
|
||||||
MultipartMessageListener.NoSubtypesListener.class).handles(MultipartMessage.class).listener(
|
expectedSubscriptions.listener(MultipartMessageListener.NoSubtypesListener.class)
|
||||||
MultipartMessageListener.DefaultListener.class).handles(MultipartMessage.class);
|
.handles(MultipartMessage.class);
|
||||||
|
|
||||||
|
expectedSubscriptions.listener(MultipartMessageListener.DefaultListener.class)
|
||||||
|
.handles(MultipartMessage.class);
|
||||||
|
|
||||||
runTestWith(listeners, expectedSubscriptions);
|
runTestWith(listeners, expectedSubscriptions);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testIMultipartMessageListener() {
|
public
|
||||||
|
void testIMultipartMessageListener() {
|
||||||
ListenerFactory listeners = listeners(IMultipartMessageListener.DefaultListener.class,
|
ListenerFactory listeners = listeners(IMultipartMessageListener.DefaultListener.class,
|
||||||
IMultipartMessageListener.DisabledListener.class,
|
IMultipartMessageListener.DisabledListener.class,
|
||||||
IMultipartMessageListener.NoSubtypesListener.class);
|
IMultipartMessageListener.NoSubtypesListener.class);
|
||||||
|
|
||||||
SubscriptionValidator expectedSubscriptions = new SubscriptionValidator(listeners).listener(
|
SubscriptionValidator expectedSubscriptions = new SubscriptionValidator(listeners);
|
||||||
IMultipartMessageListener.NoSubtypesListener.class).handles(IMultipartMessage.class).listener(
|
expectedSubscriptions.listener(IMultipartMessageListener.NoSubtypesListener.class)
|
||||||
IMultipartMessageListener.DefaultListener.class).handles(MultipartMessage.class, IMultipartMessage.class);
|
.handles(IMultipartMessage.class);
|
||||||
|
|
||||||
|
expectedSubscriptions.listener(IMultipartMessageListener.DefaultListener.class)
|
||||||
|
.handles(MultipartMessage.class,
|
||||||
|
IMultipartMessage.class);
|
||||||
|
|
||||||
runTestWith(listeners, expectedSubscriptions);
|
runTestWith(listeners, expectedSubscriptions);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testStandardMessageListener() {
|
public
|
||||||
ListenerFactory listeners = listeners(StandardMessageListener.DefaultListener.class, StandardMessageListener.DisabledListener.class,
|
void testStandardMessageListener() {
|
||||||
|
ListenerFactory listeners = listeners(StandardMessageListener.DefaultListener.class,
|
||||||
|
StandardMessageListener.DisabledListener.class,
|
||||||
StandardMessageListener.NoSubtypesListener.class);
|
StandardMessageListener.NoSubtypesListener.class);
|
||||||
|
|
||||||
SubscriptionValidator expectedSubscriptions = new SubscriptionValidator(listeners).listener(
|
SubscriptionValidator expectedSubscriptions = new SubscriptionValidator(listeners);
|
||||||
StandardMessageListener.NoSubtypesListener.class).handles(StandardMessage.class).listener(
|
expectedSubscriptions.listener(StandardMessageListener.NoSubtypesListener.class)
|
||||||
StandardMessageListener.DefaultListener.class).handles(StandardMessage.class);
|
.handles(StandardMessage.class);
|
||||||
|
|
||||||
|
expectedSubscriptions.listener(StandardMessageListener.DefaultListener.class)
|
||||||
|
.handles(StandardMessage.class);
|
||||||
|
|
||||||
runTestWith(listeners, expectedSubscriptions);
|
runTestWith(listeners, expectedSubscriptions);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testICountableListener() {
|
public
|
||||||
ListenerFactory listeners = listeners(ICountableListener.DefaultListener.class, ICountableListener.DisabledListener.class,
|
void testICountableListener() {
|
||||||
|
ListenerFactory listeners = listeners(ICountableListener.DefaultListener.class,
|
||||||
|
ICountableListener.DisabledListener.class,
|
||||||
ICountableListener.NoSubtypesListener.class);
|
ICountableListener.NoSubtypesListener.class);
|
||||||
|
|
||||||
SubscriptionValidator expectedSubscriptions = new SubscriptionValidator(listeners).listener(
|
SubscriptionValidator expectedSubscriptions = new SubscriptionValidator(listeners);
|
||||||
ICountableListener.DefaultListener.class).handles(ICountable.class).listener(
|
expectedSubscriptions.listener(ICountableListener.DefaultListener.class)
|
||||||
ICountableListener.DefaultListener.class).handles(MultipartMessage.class, IMultipartMessage.class, ICountable.class,
|
.handles(ICountable.class);
|
||||||
StandardMessage.class);
|
|
||||||
|
expectedSubscriptions.listener(ICountableListener.DefaultListener.class)
|
||||||
|
.handles(MultipartMessage.class,
|
||||||
|
IMultipartMessage.class,
|
||||||
|
ICountable.class,
|
||||||
|
StandardMessage.class);
|
||||||
|
|
||||||
runTestWith(listeners, expectedSubscriptions);
|
runTestWith(listeners, expectedSubscriptions);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testMultipleMessageListeners() {
|
public
|
||||||
ListenerFactory listeners = listeners(ICountableListener.DefaultListener.class, ICountableListener.DisabledListener.class,
|
void testMultipleMessageListeners() {
|
||||||
|
ListenerFactory listeners = listeners(ICountableListener.DefaultListener.class,
|
||||||
|
ICountableListener.DisabledListener.class,
|
||||||
IMultipartMessageListener.DefaultListener.class,
|
IMultipartMessageListener.DefaultListener.class,
|
||||||
IMultipartMessageListener.DisabledListener.class, MessagesListener.DefaultListener.class,
|
IMultipartMessageListener.DisabledListener.class,
|
||||||
|
MessagesListener.DefaultListener.class,
|
||||||
MessagesListener.DisabledListener.class);
|
MessagesListener.DisabledListener.class);
|
||||||
|
|
||||||
SubscriptionValidator expectedSubscriptions = new SubscriptionValidator(listeners).listener(
|
SubscriptionValidator expectedSubscriptions = new SubscriptionValidator(listeners);
|
||||||
ICountableListener.DefaultListener.class).handles(MultipartMessage.class, IMultipartMessage.class, ICountable.class,
|
expectedSubscriptions.listener(ICountableListener.DefaultListener.class)
|
||||||
StandardMessage.class).listener(
|
.handles(MultipartMessage.class,
|
||||||
IMultipartMessageListener.DefaultListener.class).handles(MultipartMessage.class, IMultipartMessage.class).listener(
|
IMultipartMessage.class,
|
||||||
MessagesListener.DefaultListener.class).handles(MessageTypes.class);
|
ICountable.class,
|
||||||
|
StandardMessage.class);
|
||||||
|
|
||||||
|
expectedSubscriptions.listener(IMultipartMessageListener.DefaultListener.class)
|
||||||
|
.handles(MultipartMessage.class,
|
||||||
|
IMultipartMessage.class);
|
||||||
|
|
||||||
|
expectedSubscriptions.listener(MessagesListener.DefaultListener.class)
|
||||||
|
.handles(MessageTypes.class);
|
||||||
|
|
||||||
runTestWith(listeners, expectedSubscriptions);
|
runTestWith(listeners, expectedSubscriptions);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testOverloadedMessageHandlers() {
|
public
|
||||||
|
void testOverloadedMessageHandlers() {
|
||||||
ListenerFactory listeners = listeners(Overloading.ListenerBase.class, Overloading.ListenerSub.class);
|
ListenerFactory listeners = listeners(Overloading.ListenerBase.class, Overloading.ListenerSub.class);
|
||||||
|
|
||||||
final ErrorHandlingSupport errorHandler = new DefaultErrorHandler();
|
final ErrorHandlingSupport errorHandler = new DefaultErrorHandler();
|
||||||
@ -182,9 +224,15 @@ public class SubscriptionManagerTest extends AssertSupport {
|
|||||||
|
|
||||||
ConcurrentExecutor.runConcurrent(TestUtil.subscriber(subscriptionManager, listeners), 1);
|
ConcurrentExecutor.runConcurrent(TestUtil.subscriber(subscriptionManager, listeners), 1);
|
||||||
|
|
||||||
SubscriptionValidator expectedSubscriptions = new SubscriptionValidator(listeners).listener(Overloading.ListenerBase.class).handles(
|
SubscriptionValidator expectedSubscriptions = new SubscriptionValidator(listeners);
|
||||||
Overloading.TestMessageA.class, Overloading.TestMessageA.class).listener(Overloading.ListenerSub.class).handles(
|
expectedSubscriptions.listener(Overloading.ListenerBase.class)
|
||||||
Overloading.TestMessageA.class, Overloading.TestMessageA.class, Overloading.TestMessageB.class);
|
.handles(Overloading.TestMessageA.class,
|
||||||
|
Overloading.TestMessageA.class);
|
||||||
|
|
||||||
|
expectedSubscriptions.listener(Overloading.ListenerSub.class)
|
||||||
|
.handles(Overloading.TestMessageA.class,
|
||||||
|
Overloading.TestMessageA.class,
|
||||||
|
Overloading.TestMessageB.class);
|
||||||
|
|
||||||
runTestWith(listeners, expectedSubscriptions);
|
runTestWith(listeners, expectedSubscriptions);
|
||||||
}
|
}
|
||||||
|
@ -105,11 +105,6 @@ public class SubscriptionValidator extends AssertSupport {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// public boolean isFromListener(Class<?> listener) {
|
|
||||||
// return this.listenerDefinition.equals(listener);
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
private Collection<ValidationEntry> getEntries(Class<?> messageType) {
|
private Collection<ValidationEntry> getEntries(Class<?> messageType) {
|
||||||
Collection<ValidationEntry> matching = new LinkedList<ValidationEntry>();
|
Collection<ValidationEntry> matching = new LinkedList<ValidationEntry>();
|
||||||
for (ValidationEntry validationValidationEntry : this.validations) {
|
for (ValidationEntry validationValidationEntry : this.validations) {
|
||||||
|
Loading…
Reference in New Issue
Block a user