2
2
3
3
import io .cloudevents .CloudEvent ;
4
4
import lombok .Data ;
5
- import org .junit .jupiter .api .Assertions ;
6
5
import org .junit .jupiter .api .Test ;
7
6
import org .reactivecommons .api .domain .Command ;
8
7
import org .reactivecommons .api .domain .DomainEvent ;
@@ -153,7 +152,7 @@ void handleDomainCommand() {
153
152
154
153
@ Test
155
154
void handleCloudEventCommand () {
156
- SomeCloudCommandHandler cloudCommandHandler = new SomeCloudCommandHandler ();
155
+ SomeCloudEventCommandHandler cloudCommandHandler = new SomeCloudEventCommandHandler ();
157
156
158
157
registry .handleCloudEventCommand (name , cloudCommandHandler );
159
158
@@ -164,24 +163,15 @@ void handleCloudEventCommand() {
164
163
}
165
164
166
165
@ Test
167
- void handleCommandWithoutTypeShouldFail () {
168
- Assertions .assertThrows (
169
- RuntimeException .class ,
170
- () -> registry .handleCommand (name , (Command <SomeDataClass > message ) -> Mono .empty ()));
171
- }
166
+ void shouldServerCloudEventQuery () {
167
+ SomeCloudEventQueryHandler queryHandler = new SomeCloudEventQueryHandler ();
172
168
173
- @ Test
174
- void listenEventWithoutTypeShouldFail () {
175
- Assertions .assertThrows (
176
- RuntimeException .class ,
177
- () -> registry .listenEvent (name , (DomainEvent <SomeDataClass > message ) -> Mono .empty ()));
178
- }
169
+ registry .serveCloudEventQuery (name , queryHandler );
179
170
180
- @ Test
181
- void handleQueryWithoutTypeShouldFail () {
182
- Assertions .assertThrows (
183
- RuntimeException .class ,
184
- () -> registry .serveQuery (name , (SomeDataClass query ) -> Mono .empty ()));
171
+ assertThat (registry .getHandlers ())
172
+ .anySatisfy (registered -> assertThat (registered )
173
+ .extracting (RegisteredQueryHandler ::getPath , RegisteredQueryHandler ::getQueryClass )
174
+ .containsExactly (name , CloudEvent .class )).hasSize (1 );
185
175
}
186
176
187
177
@ Test
@@ -207,7 +197,7 @@ void serveQueryWithLambda() {
207
197
@ Test
208
198
void serveQueryWithTypeInference () {
209
199
QueryHandler <SomeDataClass , SomeDataClass > handler = new SomeQueryHandler ();
210
- registry .serveQuery (name , handler );
200
+ registry .serveQuery (name , handler , SomeDataClass . class );
211
201
assertThat (registry .getHandlers ()).anySatisfy (registered -> {
212
202
assertThat (registered ).extracting (RegisteredQueryHandler ::getPath , RegisteredQueryHandler ::getQueryClass )
213
203
.containsExactly (name , SomeDataClass .class );
@@ -262,7 +252,7 @@ public Mono<Void> handle(Command<SomeDataClass> message) {
262
252
}
263
253
}
264
254
265
- private static class SomeCloudCommandHandler implements CloudCommandHandler {
255
+ private static class SomeCloudEventCommandHandler implements CloudCommandHandler {
266
256
@ Override
267
257
public Mono <Void > handle (CloudEvent message ) {
268
258
return null ;
@@ -276,6 +266,13 @@ public Mono<SomeDataClass> handle(SomeDataClass message) {
276
266
}
277
267
}
278
268
269
+ private static class SomeCloudEventQueryHandler implements QueryHandler <SomeDataClass , CloudEvent > {
270
+ @ Override
271
+ public Mono <SomeDataClass > handle (CloudEvent message ) {
272
+ return Mono .empty ();
273
+ }
274
+ }
275
+
279
276
280
277
@ Data
281
278
private static class SomeDataClass {
0 commit comments