@@ -21,7 +21,6 @@ import io.kotest.matchers.nulls.shouldNotBeNull
2121import java.time.Duration
2222import org.assertj.core.api.Assertions.assertThat
2323import org.junit.jupiter.api.Test
24- import org.junit.jupiter.api.TestInfo
2524import org.neo4j.cdc.client.model.ChangeEvent
2625import org.neo4j.cdc.client.model.EntityOperation
2726import org.neo4j.cdc.client.model.EventType
@@ -53,24 +52,17 @@ abstract class Neo4jCdcSourceKeyStrategyIT {
5352 CdcSourceTopic (
5453 topic = " neo4j-cdc-topic-key-serialization-none" ,
5554 patterns = arrayOf(CdcSourceParam (" (:TestSource{name,+execId})" )),
56- keySerialization = " SKIP" ),
55+ keySerializationStrategy = " SKIP" ),
5756 ),
5857 ),
5958 )
6059 @Test
6160 fun `supports skipping serialization of keys` (
62- testInfo : TestInfo ,
6361 @TopicConsumer(topic = " neo4j-cdc-topic-key-serialization-none" , offset = " earliest" )
6462 consumer : ConvertingKafkaConsumer ,
6563 session : Session
6664 ) {
67- val executionId = testInfo.displayName + System .currentTimeMillis()
68- session
69- .run (
70- " CREATE (:TestSource {name: 'Jane', execId: \$ execId})" ,
71- mapOf (" execId" to executionId),
72- )
73- .consume()
65+ session.run (" CREATE (:TestSource {name: 'Jane'})" ).consume()
7466
7567 TopicVerifier .createForMap(consumer)
7668 .assertMessage { it.raw.key().shouldBeNull() }
@@ -87,24 +79,17 @@ abstract class Neo4jCdcSourceKeyStrategyIT {
8779 CdcSourceTopic (
8880 topic = " neo4j-cdc-topic-key-serialization-whole" ,
8981 patterns = arrayOf(CdcSourceParam (" (:TestSource{name,+execId})" )),
90- keySerialization = " WHOLE_VALUE" ),
82+ keySerializationStrategy = " WHOLE_VALUE" ),
9183 ),
9284 ),
9385 )
9486 @Test
9587 fun `supports serialization of keys as whole values` (
96- testInfo : TestInfo ,
9788 @TopicConsumer(topic = " neo4j-cdc-topic-key-serialization-whole" , offset = " earliest" )
9889 consumer : ConvertingKafkaConsumer ,
9990 session : Session
10091 ) {
101- val executionId = testInfo.displayName + System .currentTimeMillis()
102- session
103- .run (
104- " CREATE (:TestSource {name: 'Jane', execId: \$ execId})" ,
105- mapOf (" execId" to executionId),
106- )
107- .consume()
92+ session.run (" CREATE (:TestSource {name: 'Jane'})" ).consume()
10893
10994 TopicVerifier .create<ChangeEvent , ChangeEvent >(consumer)
11095 .assertMessageKey { key ->
@@ -114,7 +99,7 @@ abstract class Neo4jCdcSourceKeyStrategyIT {
11499 .hasOperation(EntityOperation .CREATE )
115100 .labelledAs(" TestSource" )
116101 .hasNoBeforeState()
117- .hasAfterStateProperties(mapOf (" name" to " Jane" , " execId " to executionId ))
102+ .hasAfterStateProperties(mapOf (" name" to " Jane" ))
118103 }
119104 .verifyWithin(Duration .ofSeconds(30 ))
120105 }
@@ -129,24 +114,17 @@ abstract class Neo4jCdcSourceKeyStrategyIT {
129114 CdcSourceTopic (
130115 topic = " neo4j-cdc-topic-key-serialization-element-ids" ,
131116 patterns = arrayOf(CdcSourceParam (" (:TestSource{name,+execId})" )),
132- keySerialization = " ELEMENT_ID" ),
117+ keySerializationStrategy = " ELEMENT_ID" ),
133118 ),
134119 ),
135120 )
136121 @Test
137122 fun `supports serialization of keys as element IDs` (
138- testInfo : TestInfo ,
139123 @TopicConsumer(topic = " neo4j-cdc-topic-key-serialization-element-ids" , offset = " earliest" )
140124 consumer : ConvertingKafkaConsumer ,
141125 session : Session
142126 ) {
143- val executionId = testInfo.displayName + System .currentTimeMillis()
144- session
145- .run (
146- " CREATE (:TestSource {name: 'Jane', execId: \$ execId})" ,
147- mapOf (" execId" to executionId),
148- )
149- .consume()
127+ session.run (" CREATE (:TestSource {name: 'Jane'})" ).consume()
150128
151129 TopicVerifier .create<String , Map <String , Any >>(consumer)
152130 .assertMessageKey { it.shouldNotBeNull() }
@@ -163,25 +141,18 @@ abstract class Neo4jCdcSourceKeyStrategyIT {
163141 CdcSourceTopic (
164142 topic = " neo4j-cdc-topic-key-serialization-missing-node-keys" ,
165143 patterns = arrayOf(CdcSourceParam (" (:TestSource{name,+execId})" )),
166- keySerialization = " ENTITY_KEYS" ),
144+ keySerializationStrategy = " ENTITY_KEYS" ),
167145 ),
168146 ),
169147 )
170148 @Test
171149 fun `supports serialization of keys as (missing) node keys` (
172- testInfo : TestInfo ,
173150 @TopicConsumer(
174151 topic = " neo4j-cdc-topic-key-serialization-missing-node-keys" , offset = " earliest" )
175152 consumer : ConvertingKafkaConsumer ,
176153 session : Session
177154 ) {
178- val executionId = testInfo.displayName + System .currentTimeMillis()
179- session
180- .run (
181- " CREATE (:TestSource {name: 'Jane', execId: \$ execId})" ,
182- mapOf (" execId" to executionId),
183- )
184- .consume()
155+ session.run (" CREATE (:TestSource {name: 'Jane'})" ).consume()
185156
186157 TopicVerifier .create<Map <String , Any >, Map <String , Any >>(consumer)
187158 .assertMessageKey { it.shouldBeNull() }
@@ -198,30 +169,18 @@ abstract class Neo4jCdcSourceKeyStrategyIT {
198169 CdcSourceTopic (
199170 topic = " neo4j-cdc-topic-key-serialization-node-keys" ,
200171 patterns = arrayOf(CdcSourceParam (" (:TestSource{name,+execId})" )),
201- keySerialization = " ENTITY_KEYS" ),
172+ keySerializationStrategy = " ENTITY_KEYS" ),
202173 ),
203174 ),
204175 )
205176 @Test
206177 fun `supports serialization of keys as node keys` (
207- testInfo : TestInfo ,
208178 @TopicConsumer(topic = " neo4j-cdc-topic-key-serialization-node-keys" , offset = " earliest" )
209179 consumer : ConvertingKafkaConsumer ,
210180 session : Session
211181 ) {
212- val executionId = testInfo.displayName + System .currentTimeMillis()
213- session
214- .run (
215- " CREATE CONSTRAINT FOR (ts:TestSource) REQUIRE ts.name IS NODE KEY" ,
216- mapOf (" execId" to executionId),
217- )
218- .consume()
219- session
220- .run (
221- " CREATE (:TestSource {name: 'Jane', execId: \$ execId})" ,
222- mapOf (" execId" to executionId),
223- )
224- .consume()
182+ session.run (" CREATE CONSTRAINT FOR (ts:TestSource) REQUIRE ts.name IS NODE KEY" ).consume()
183+ session.run (" CREATE (:TestSource {name: 'Jane'})" ).consume()
225184
226185 TopicVerifier .createForMap(consumer)
227186 .assertMessageKey {
@@ -242,25 +201,18 @@ abstract class Neo4jCdcSourceKeyStrategyIT {
242201 CdcSourceTopic (
243202 topic = " neo4j-cdc-topic-key-serialization-missing-rel-keys" ,
244203 patterns = arrayOf(CdcSourceParam (" ()-[:TO {name,+execId}]-()" )),
245- keySerialization = " ENTITY_KEYS" ),
204+ keySerializationStrategy = " ENTITY_KEYS" ),
246205 ),
247206 ),
248207 )
249208 @Test
250209 fun `supports serialization of keys as (missing) rel keys` (
251- testInfo : TestInfo ,
252210 @TopicConsumer(
253211 topic = " neo4j-cdc-topic-key-serialization-missing-rel-keys" , offset = " earliest" )
254212 consumer : ConvertingKafkaConsumer ,
255213 session : Session
256214 ) {
257- val executionId = testInfo.displayName + System .currentTimeMillis()
258- session
259- .run (
260- " CREATE (:Source)-[:TO {name: 'somewhere', execId: \$ execId}]->(:Destination)" ,
261- mapOf (" execId" to executionId),
262- )
263- .consume()
215+ session.run (" CREATE (:Source)-[:TO {name: 'somewhere'}]->(:Destination)" ).consume()
264216
265217 TopicVerifier .create<String , Map <String , Any >>(consumer)
266218 .assertMessageKey { it.shouldBeNull() }
@@ -277,30 +229,18 @@ abstract class Neo4jCdcSourceKeyStrategyIT {
277229 CdcSourceTopic (
278230 topic = " neo4j-cdc-topic-key-serialization-rel-keys" ,
279231 patterns = arrayOf(CdcSourceParam (" ()-[:TO {name,+execId}]-()" )),
280- keySerialization = " ENTITY_KEYS" ),
232+ keySerializationStrategy = " ENTITY_KEYS" ),
281233 ),
282234 ),
283235 )
284236 @Test
285237 fun `supports serialization of keys as rel keys` (
286- testInfo : TestInfo ,
287238 @TopicConsumer(topic = " neo4j-cdc-topic-key-serialization-rel-keys" , offset = " earliest" )
288239 consumer : ConvertingKafkaConsumer ,
289240 session : Session
290241 ) {
291- val executionId = testInfo.displayName + System .currentTimeMillis()
292- session
293- .run (
294- " CREATE CONSTRAINT FOR ()-[to:TO]-() REQUIRE to.name IS RELATIONSHIP KEY" ,
295- mapOf (" execId" to executionId),
296- )
297- .consume()
298- session
299- .run (
300- " CREATE (:Source)-[:TO {name: 'somewhere', execId: \$ execId}]->(:Destination)" ,
301- mapOf (" execId" to executionId),
302- )
303- .consume()
242+ session.run (" CREATE CONSTRAINT FOR ()-[to:TO]-() REQUIRE to.name IS RELATIONSHIP KEY" ).consume()
243+ session.run (" CREATE (:Source)-[:TO {name: 'somewhere'}]->(:Destination)" ).consume()
304244
305245 TopicVerifier .createForMap(consumer)
306246 .assertMessageKey { key ->
0 commit comments