Skip to content

Commit e8dd829

Browse files
conker84mneedham
authored andcommitted
fixes #164 (#165)
1 parent 7560ce5 commit e8dd829

File tree

3 files changed

+68
-8
lines changed

3 files changed

+68
-8
lines changed

consumer/src/test/kotlin/integrations/KafkaEventSinkIT.kt

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import org.neo4j.kernel.internal.GraphDatabaseAPI
1414
import org.neo4j.test.TestGraphDatabaseFactory
1515
import org.testcontainers.containers.KafkaContainer
1616
import streams.serialization.JSONUtils
17+
import streams.utils.StreamsUtils
1718
import java.util.*
1819
import kotlin.test.assertEquals
1920
import kotlin.test.assertFalse
@@ -35,9 +36,27 @@ class KafkaEventSinkIT {
3536
* Please see also https://docs.confluent.io/current/installation/versions-interoperability.html#cp-and-apache-kafka-compatibility
3637
*/
3738
private const val confluentPlatformVersion = "4.0.2"
38-
@ClassRule
39-
@JvmField
40-
val kafka = KafkaContainer(confluentPlatformVersion)
39+
@JvmStatic
40+
lateinit var kafka: KafkaContainer
41+
42+
@BeforeClass @JvmStatic
43+
fun setUpContainer() {
44+
var exists = false
45+
StreamsUtils.ignoreExceptions({
46+
kafka = KafkaContainer(confluentPlatformVersion)
47+
kafka.start()
48+
exists = true
49+
}, IllegalStateException::class.java)
50+
Assume.assumeTrue("Kafka container has to exist", exists)
51+
Assume.assumeTrue("Kafka must be running", kafka.isRunning)
52+
}
53+
54+
@AfterClass @JvmStatic
55+
fun tearDownContainer() {
56+
StreamsUtils.ignoreExceptions({
57+
kafka.stop()
58+
}, UninitializedPropertyAccessException::class.java)
59+
}
4160
}
4261

4362
private lateinit var db: GraphDatabaseAPI

consumer/src/test/kotlin/integrations/StreamsSinkProceduresIT.kt

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import org.neo4j.test.TestGraphDatabaseFactory
1313
import org.testcontainers.containers.KafkaContainer
1414
import streams.procedures.StreamsSinkProcedures
1515
import streams.serialization.JSONUtils
16+
import streams.utils.StreamsUtils
1617
import java.util.*
1718
import kotlin.test.assertEquals
1819
import kotlin.test.assertFalse
@@ -35,9 +36,27 @@ class StreamsSinkProceduresIT {
3536
* Please see also https://docs.confluent.io/current/installation/versions-interoperability.html#cp-and-apache-kafka-compatibility
3637
*/
3738
private const val confluentPlatformVersion = "4.0.2"
38-
@ClassRule
39-
@JvmField
40-
val kafka = KafkaContainer(confluentPlatformVersion)
39+
@JvmStatic
40+
lateinit var kafka: KafkaContainer
41+
42+
@BeforeClass @JvmStatic
43+
fun setUpContainer() {
44+
var exists = false
45+
StreamsUtils.ignoreExceptions({
46+
kafka = KafkaContainer(confluentPlatformVersion)
47+
kafka.start()
48+
exists = true
49+
}, IllegalStateException::class.java)
50+
Assume.assumeTrue("Kafka container has to exist", exists)
51+
Assume.assumeTrue("Kafka must be running", kafka.isRunning)
52+
}
53+
54+
@AfterClass @JvmStatic
55+
fun tearDownContainer() {
56+
StreamsUtils.ignoreExceptions({
57+
kafka.stop()
58+
}, UninitializedPropertyAccessException::class.java)
59+
}
4160
}
4261

4362
private lateinit var db: GraphDatabaseAPI

producer/src/test/kotlin/streams/integrations/KafkaEventRouterIT.kt

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ import org.apache.kafka.clients.consumer.KafkaConsumer
77
import org.apache.kafka.common.serialization.ByteArrayDeserializer
88
import org.apache.kafka.common.serialization.StringDeserializer
99
import org.junit.*
10+
import org.junit.Assume.assumeNotNull
11+
import org.junit.Assume.assumeTrue
1012
import org.junit.rules.TestName
1113
import org.neo4j.kernel.impl.proc.Procedures
1214
import org.neo4j.kernel.internal.GraphDatabaseAPI
@@ -15,6 +17,7 @@ import org.testcontainers.containers.KafkaContainer
1517
import streams.kafka.KafkaConfiguration
1618
import streams.procedures.StreamsProcedures
1719
import streams.serialization.JSONUtils
20+
import streams.utils.StreamsUtils
1821
import kotlin.test.assertEquals
1922

2023
class KafkaEventRouterIT {
@@ -33,8 +36,27 @@ class KafkaEventRouterIT {
3336
* Please see also https://docs.confluent.io/current/installation/versions-interoperability.html#cp-and-apache-kafka-compatibility
3437
*/
3538
private const val confluentPlatformVersion = "4.0.2"
36-
@ClassRule @JvmField
37-
val kafka = KafkaContainer(confluentPlatformVersion)
39+
@JvmStatic
40+
lateinit var kafka: KafkaContainer
41+
42+
@BeforeClass @JvmStatic
43+
fun setUpContainer() {
44+
var exists = false
45+
StreamsUtils.ignoreExceptions({
46+
kafka = KafkaContainer(confluentPlatformVersion)
47+
kafka.start()
48+
exists = true
49+
}, IllegalStateException::class.java)
50+
Assume.assumeTrue("Kafka container has to exist", exists)
51+
Assume.assumeTrue("Kafka must be running", kafka.isRunning)
52+
}
53+
54+
@AfterClass @JvmStatic
55+
fun tearDownContainer() {
56+
StreamsUtils.ignoreExceptions({
57+
kafka.stop()
58+
}, UninitializedPropertyAccessException::class.java)
59+
}
3860
}
3961

4062
lateinit var db: GraphDatabaseAPI

0 commit comments

Comments
 (0)