package Ġstreams Ċ Ċ import Ġorg . junit . Test Ċ import Ġorg . neo 4 j . kernel . configuration . Config Ċ import Ġstreams . service . Topic Type Ċ import Ġkotlin . test . assertEquals Ċ import Ġkotlin . test . assertFalse Ċ import Ġkotlin . test . assertTrue Ċ Ċ class ĠStreams Sink Configuration Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġshould Return Default Configuration () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdefault Ġ= ĠStreams Sink Configuration () ĊĠĠĠĠĠĠĠ Ġtest Default Conf ( default ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġshould Return Configuration From Map () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpolling Interval Ġ= Ġ" 1 0 " ĊĠĠĠĠĠĠĠ Ġval Ġtopic Ġ= Ġ" topic - neo " ĊĠĠĠĠĠĠĠ Ġval Ġcd ct op ic Ġ= Ġ" cd ct op ic " ĊĠĠĠĠĠĠĠ Ġval Ġtopic Key Ġ= Ġ" streams . sink . topic . cy pher .$ topic " ĊĠĠĠĠĠĠĠ Ġval Ġtopic Value Ġ= Ġ" MERGE Ġ( n : Label { Ġid : Ġevent . id Ġ}) Ġ" ĊĠĠĠĠĠĠĠ Ġval Ġcustom Label Ġ= Ġ" Custom Label " ĊĠĠĠĠĠĠĠ Ġval Ġcustom Id Ġ= Ġ" custom Id " ĊĠĠĠĠĠĠĠ Ġval Ġconfig Ġ= ĠConfig . builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Setting (" streams . sink . polling . interval ", Ġpolling Interval ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Setting ( topic Key , Ġtopic Value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Setting (" streams . sink . enabled ", Ġ" false ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Setting (" streams . sink . topic . cdc . source Id ", Ġcd ct op ic ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Setting (" streams . sink . topic . cdc . source Id . label Name ", Ġcustom Label ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Setting (" streams . sink . topic . cdc . source Id . id Name ", Ġcustom Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġval Ġstreams Config Ġ= ĠStreams Sink Configuration . from ( config ) ĊĠĠĠĠĠĠĠ Ġtest From Conf ( streams Config , Ġpolling Interval , Ġtopic , Ġtopic Value ) ĊĠĠĠĠĠĠĠ ĠassertFalse Ġ{ Ġstreams Config . enabled Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals ( set Of ( cd ct op ic ), Ġstreams Config . topics . as Map ()[ Topic Type . CDC _ SOURCE _ ID ]) ĊĠĠĠĠĠĠĠ ĠassertEquals ( custom Label , Ġstreams Config . source Id Strategy Config . label Name ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( custom Id , Ġstreams Config . source Id Strategy Config . id Name ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ( expected Ġ= ĠRuntimeException :: class ) ĊĠĠĠ Ġfun Ġshould Fail With Cross Defined Topics () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpolling Interval Ġ= Ġ" 1 0 " ĊĠĠĠĠĠĠĠ Ġval Ġtopic Ġ= Ġ" topic - neo " ĊĠĠĠĠĠĠĠ Ġval Ġtopic Key Ġ= Ġ" streams . sink . topic . cy pher .$ topic " ĊĠĠĠĠĠĠĠ Ġval Ġtopic Value Ġ= Ġ" MERGE Ġ( n : Label { Ġid : Ġevent . id Ġ}) Ġ" ĊĠĠĠĠĠĠĠ Ġval Ġconfig Ġ= ĠConfig . builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Setting (" streams . sink . polling . interval ", Ġpolling Interval ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Setting ( topic Key , Ġtopic Value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Setting (" streams . sink . topic . pattern . node . node Pattern Topic ", Ġ" User { ! userId , name , surname , address . city }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Setting (" streams . sink . enabled ", Ġ" false ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Setting (" streams . sink . topic . cdc . source Id ", Ġtopic ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ ĠStreams Sink Configuration . from ( config ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ( expected Ġ= ĠRuntimeException :: class ) ĊĠĠĠ Ġfun Ġshould Fail With Cross Defined CD CT op ics () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpolling Interval Ġ= Ġ" 1 0 " ĊĠĠĠĠĠĠĠ Ġval Ġtopic Ġ= Ġ" topic - neo " ĊĠĠĠĠĠĠĠ Ġval Ġconfig Ġ= ĠConfig . builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Setting (" streams . sink . polling . interval ", Ġpolling Interval ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Setting (" streams . sink . enabled ", Ġ" false ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Setting (" streams . sink . topic . cdc . source Id ", Ġtopic ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Setting (" streams . sink . topic . cdc . schema ", Ġtopic ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ ĠStreams Sink Configuration . from ( config ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġtest Default Conf ( default : ĠStreams Sink Configuration ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( empty Map (), Ġdefault . topics . cy pher Topics ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 1 0 0 0 0 , Ġdefault . sink Polling Interval ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfun Ġtest From Conf ( streams Config : ĠStreams Sink Configuration , Ġpolling Interval : ĠString , Ġtopic : ĠString , Ġtopic Value : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( polling Interval . to Long (), Ġstreams Config . sink Polling Interval ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġstreams Config . topics . cy pher Topics . size ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( topic Value , Ġstreams Config . topics . cy pher Topics [ topic ]) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }