Skip to content

Commit 6683415

Browse files
committed
✅ Fix tests (for real this time)
1 parent 5a2d77d commit 6683415

File tree

1 file changed

+28
-5
lines changed

1 file changed

+28
-5
lines changed

src/test/kotlin/io/github/tobi/laa/spring/boot/embedded/redis/junit/extension/RedisValidationExtensionTest.kt

Lines changed: 28 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,23 @@
11
package io.github.tobi.laa.spring.boot.embedded.redis.junit.extension
22

3-
import io.github.tobi.laa.spring.boot.embedded.redis.IntegrationTest
43
import io.github.tobi.laa.spring.boot.embedded.redis.cluster.EmbeddedRedisCluster
54
import io.github.tobi.laa.spring.boot.embedded.redis.cluster.EmbeddedRedisCluster.Shard
5+
import io.github.tobi.laa.spring.boot.embedded.redis.cluster.RedisClusterContextCustomizer
66
import io.github.tobi.laa.spring.boot.embedded.redis.cluster.RedisShardCustomizer
77
import io.github.tobi.laa.spring.boot.embedded.redis.highavailability.EmbeddedRedisHighAvailability
88
import io.github.tobi.laa.spring.boot.embedded.redis.highavailability.EmbeddedRedisHighAvailability.Sentinel
9+
import io.github.tobi.laa.spring.boot.embedded.redis.highavailability.RedisHighAvailabilityContextCustomizer
910
import io.github.tobi.laa.spring.boot.embedded.redis.highavailability.RedisHighAvailabilityCustomizer
1011
import io.github.tobi.laa.spring.boot.embedded.redis.standalone.EmbeddedRedisStandalone
12+
import io.github.tobi.laa.spring.boot.embedded.redis.standalone.RedisStandaloneContextCustomizer
1113
import io.github.tobi.laa.spring.boot.embedded.redis.standalone.RedisStandaloneCustomizer
14+
import io.mockk.every
15+
import io.mockk.mockkConstructor
16+
import io.mockk.unmockkConstructor
1217
import org.assertj.core.api.ListAssert
13-
import org.junit.jupiter.api.DisplayName
18+
import org.junit.jupiter.api.*
1419
import org.junit.jupiter.api.Named.named
15-
import org.junit.jupiter.api.Test
20+
import org.junit.jupiter.api.TestInstance.Lifecycle.PER_CLASS
1621
import org.junit.jupiter.api.extension.ExtensionContext
1722
import org.junit.jupiter.params.ParameterizedTest
1823
import org.junit.jupiter.params.provider.Arguments
@@ -31,11 +36,30 @@ import redis.embedded.core.RedisServerBuilder
3136
import java.util.stream.Stream
3237

3338
@DisplayName("Testing the validations of embedded Redis annotations")
39+
@TestInstance(PER_CLASS)
3440
internal class RedisValidationExtensionTest {
3541

3642
private lateinit var testKitBuilder: EngineTestKit.Builder
3743
private lateinit var results: EngineExecutionResults
3844

45+
@BeforeAll
46+
fun mockContextCustomizers() {
47+
mockkConstructor(RedisClusterContextCustomizer::class)
48+
mockkConstructor(RedisHighAvailabilityContextCustomizer::class)
49+
mockkConstructor(RedisStandaloneContextCustomizer::class)
50+
51+
every { anyConstructed<RedisClusterContextCustomizer>().customizeContext(any(), any()) } answers { }
52+
every { anyConstructed<RedisHighAvailabilityContextCustomizer>().customizeContext(any(), any()) } answers { }
53+
every { anyConstructed<RedisStandaloneContextCustomizer>().customizeContext(any(), any()) } answers { }
54+
}
55+
56+
@AfterAll
57+
fun unmockContextCustomizers() {
58+
unmockkConstructor(RedisClusterContextCustomizer::class)
59+
unmockkConstructor(RedisHighAvailabilityContextCustomizer::class)
60+
unmockkConstructor(RedisStandaloneContextCustomizer::class)
61+
}
62+
3963
@DisplayName("Test classes annotated with more than one embedded Redis annotation should fail")
4064
@ParameterizedTest(name = "Test class annotated with {0} should fail")
4165
@ArgumentsSource(ClassesWithMultipleAnnotationsProvider::class)
@@ -530,7 +554,6 @@ internal class RedisValidationExtensionTest {
530554
@EmbeddedRedisCluster(ports = [1, 2, 2])
531555
internal class ClusterWithDuplicatePorts : WithDummyTest()
532556

533-
@IntegrationTest
534557
@EmbeddedRedisCluster(ports = [0, 0, 1])
535558
internal class ClusterPortZeroSpecifiedMultipleTimes : WithDummyTest()
536559

@@ -735,11 +758,11 @@ internal class RedisValidationExtensionTest {
735758
internal class DupPortsTwoSentinels : WithDummyTest()
736759
}
737760

738-
@IntegrationTest
739761
@EmbeddedRedisHighAvailability(ports = [0, 0, 1], sentinels = [Sentinel(port = 0)])
740762
internal class HighAvailabilityPortZeroSpecifiedMultipleTimes : WithDummyTest()
741763

742764
internal abstract class WithDummyTest {
765+
743766
@Test
744767
fun dummy() {
745768
}

0 commit comments

Comments
 (0)