|
12 | 12 | import org.reactivecommons.async.api.handlers.DomainEventHandler; |
13 | 13 | import org.reactivecommons.async.api.handlers.QueryHandler; |
14 | 14 | import org.reactivecommons.async.api.handlers.QueryHandlerDelegate; |
| 15 | +import org.reactivecommons.async.api.handlers.RawCommandHandler; |
15 | 16 | import org.reactivecommons.async.api.handlers.RawEventHandler; |
16 | 17 | import org.reactivecommons.async.api.handlers.registered.RegisteredCommandHandler; |
17 | 18 | import org.reactivecommons.async.api.handlers.registered.RegisteredEventListener; |
|
25 | 26 | class HandlerRegistryTest { |
26 | 27 | private final HandlerRegistry registry = HandlerRegistry.register(); |
27 | 28 | private final String name = "some.event"; |
| 29 | + private final String nameRaw = "some.raw.event"; |
28 | 30 | private final String domain = "some-domain"; |
29 | 31 |
|
30 | 32 |
|
@@ -60,9 +62,9 @@ void shouldListenDomainCloudEvent() { |
60 | 62 | void shouldListenDomainRawEvent() { |
61 | 63 | SomeRawEventHandler eventHandler = new SomeRawEventHandler(); |
62 | 64 |
|
63 | | - registry.listenDomainRawEvent(domain, name, eventHandler); |
| 65 | + registry.listenRawEvent(name, eventHandler); |
64 | 66 |
|
65 | | - assertThat(registry.getDomainEventListeners().get(domain)) |
| 67 | + assertThat(registry.getDomainEventListeners().get(DEFAULT_DOMAIN)) |
66 | 68 | .anySatisfy(registered -> assertThat(registered) |
67 | 69 | .extracting(RegisteredEventListener::getPath, RegisteredEventListener::getInputClass, |
68 | 70 | RegisteredEventListener::getHandler |
@@ -131,6 +133,20 @@ void shouldRegisterNotificationCloudEventListener() { |
131 | 133 | .anySatisfy(listener -> assertThat(listener.getPath()).isEqualTo(name)); |
132 | 134 | } |
133 | 135 |
|
| 136 | + @Test |
| 137 | + void shouldRegisterNotificationRawEventListener() { |
| 138 | + SomeRawEventHandler eventHandler = new SomeRawEventHandler(); |
| 139 | + |
| 140 | + registry.listenRawEvent(nameRaw, eventHandler); |
| 141 | + |
| 142 | + assertThat(registry.getEventNotificationListener().get(DEFAULT_DOMAIN)) |
| 143 | + .anySatisfy(registered -> assertThat(registered) |
| 144 | + .extracting(RegisteredEventListener::getPath, RegisteredEventListener::getInputClass, |
| 145 | + RegisteredEventListener::getHandler |
| 146 | + ) |
| 147 | + .containsExactly(nameRaw, RawMessage.class, eventHandler)).hasSize(1); |
| 148 | + } |
| 149 | + |
134 | 150 | @Test |
135 | 151 | @SuppressWarnings("unchecked") |
136 | 152 | void listenEvent() { |
@@ -201,6 +217,20 @@ void handleCloudEventCommand() { |
201 | 217 | .containsExactly(name, CloudEvent.class, cloudCommandHandler)).hasSize(1); |
202 | 218 | } |
203 | 219 |
|
| 220 | + @Test |
| 221 | + void handleRawCommand() { |
| 222 | + SomeRawCommandEventHandler eventHandler = new SomeRawCommandEventHandler(); |
| 223 | + |
| 224 | + registry.handleRawCommand(nameRaw, eventHandler); |
| 225 | + |
| 226 | + assertThat(registry.getCommandHandlers().get(DEFAULT_DOMAIN)) |
| 227 | + .anySatisfy(registered -> assertThat(registered) |
| 228 | + .extracting(RegisteredCommandHandler::getPath, RegisteredCommandHandler::getInputClass, |
| 229 | + RegisteredCommandHandler::getHandler |
| 230 | + ) |
| 231 | + .containsExactly(nameRaw, RawMessage.class, eventHandler)).hasSize(1); |
| 232 | + } |
| 233 | + |
204 | 234 | @Test |
205 | 235 | void shouldServerCloudEventQuery() { |
206 | 236 | SomeCloudEventQueryHandler queryHandler = new SomeCloudEventQueryHandler(); |
@@ -306,6 +336,13 @@ public Mono<Void> handle(CloudEvent message) { |
306 | 336 | } |
307 | 337 | } |
308 | 338 |
|
| 339 | + private static class SomeRawCommandEventHandler implements RawCommandHandler<RawMessage> { |
| 340 | + @Override |
| 341 | + public Mono<Void> handle(RawMessage message) { |
| 342 | + return Mono.empty(); |
| 343 | + } |
| 344 | + } |
| 345 | + |
309 | 346 | private static class SomeQueryHandler implements QueryHandler<SomeDataClass, SomeDataClass> { |
310 | 347 | @Override |
311 | 348 | public Mono<SomeDataClass> handle(SomeDataClass message) { |
|
0 commit comments