1
1
package io .kurrent .dbclient .streams ;
2
2
3
+ import com .fasterxml .jackson .databind .node .ObjectNode ;
3
4
import io .kurrent .dbclient .*;
4
- import com .fasterxml .jackson .databind .json .JsonMapper ;
5
5
import org .junit .jupiter .api .Assertions ;
6
6
import org .junit .jupiter .api .Test ;
7
7
@@ -11,43 +11,42 @@ public interface AppendTests extends ConnectionAware {
11
11
@ Test
12
12
default void testAppendSingleEventNoStream () throws Throwable {
13
13
KurrentDBClient client = getDatabase ().defaultClient ();
14
-
15
- final String streamName = generateName ();
16
- final String eventType = "TestEvent" ;
17
- final String eventId = "38fffbc2-339e-11ea-8c7b-784f43837872" ;
18
- final byte [] eventMetaData = new byte []{0xd , 0xe , 0xa , 0xd };
19
- final JsonMapper jsonMapper = new JsonMapper ();
20
-
21
- EventData event = EventData .builderAsJson (eventType , jsonMapper .writeValueAsBytes (new Foo ()))
22
- .metadataAsBytes (eventMetaData )
23
- .eventId (UUID .fromString (eventId ))
14
+ String streamName = generateName ();
15
+ String eventType = "TestEvent" ;
16
+ UUID eventId = UUID .randomUUID ();
17
+ Foo foo = new Foo ();
18
+ byte [] fooBytes = mapper .writeValueAsBytes (foo );
19
+
20
+ EventData event = EventData .builderAsJson (eventType , fooBytes )
21
+ .metadataAsBytes (fooBytes )
22
+ .eventId (eventId )
24
23
.build ();
25
24
26
- AppendToStreamOptions appendOptions = AppendToStreamOptions . get ()
27
- . streamState ( StreamState . noStream ());
28
-
29
- WriteResult appendResult = client . appendToStream ( streamName , appendOptions , event )
30
- .get ();
25
+ WriteResult appendResult = client . appendToStream (
26
+ streamName ,
27
+ AppendToStreamOptions . get (). streamState ( StreamState . noStream ()),
28
+ event
29
+ ) .get ();
31
30
32
31
Assertions .assertEquals (StreamState .streamRevision (0 ), appendResult .getNextExpectedRevision ());
33
32
34
- ReadStreamOptions readStreamOptions = ReadStreamOptions .get ()
35
- .fromEnd ()
36
- .backwards ()
37
- .maxCount (1 );
38
-
39
- // Ensure appended event is readable
40
- ReadResult result = client .readStream (streamName , readStreamOptions )
41
- .get ();
33
+ ReadResult result = client .readStream (
34
+ streamName ,
35
+ ReadStreamOptions .get ().fromEnd ().backwards ().maxCount (1 )
36
+ ).get ();
42
37
43
38
Assertions .assertEquals (1 , result .getEvents ().size ());
44
39
RecordedEvent first = result .getEvents ().get (0 ).getEvent ();
45
- JsonMapper mapper = new JsonMapper ();
46
-
47
- Assertions .assertEquals (streamName , first .getStreamId ());
48
- Assertions .assertEquals (eventType , first .getEventType ());
49
- Assertions .assertEquals (eventId , first .getEventId ().toString ());
50
- Assertions .assertArrayEquals (eventMetaData , first .getUserMetadata ());
51
- Assertions .assertEquals (new Foo (), mapper .readValue (first .getEventData (), Foo .class ));
40
+ ObjectNode userMetadata = mapper .readValue (first .getUserMetadata (), ObjectNode .class );
41
+
42
+ Assertions .assertAll (
43
+ () -> Assertions .assertEquals (streamName , first .getStreamId ()),
44
+ () -> Assertions .assertEquals (eventType , first .getEventType ()),
45
+ () -> Assertions .assertEquals (eventId .toString (), first .getEventId ().toString ()),
46
+ () -> Assertions .assertEquals (foo , mapper .readValue (first .getEventData (), Foo .class )),
47
+ () -> Assertions .assertEquals (foo , mapper .readValue (first .getUserMetadata (), Foo .class )),
48
+ () -> Assertions .assertFalse (userMetadata .has (ClientTelemetryConstants .Metadata .TRACE_ID )),
49
+ () -> Assertions .assertFalse (userMetadata .has (ClientTelemetryConstants .Metadata .SPAN_ID ))
50
+ );
52
51
}
53
52
}
0 commit comments