|
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