Browse Source

Update @DynamicPropertySource examples regarding changes in Testcontainers

Closes gh-29939
pull/29946/head
Sam Brannen 2 years ago
parent
commit
8e9dc3590d
  1. 12
      framework-docs/src/docs/asciidoc/testing/testcontext-framework.adoc
  2. 8
      spring-test/src/main/java/org/springframework/test/context/DynamicPropertySource.java

12
framework-docs/src/docs/asciidoc/testing/testcontext-framework.adoc

@ -2022,12 +2022,14 @@ properties.
class ExampleIntegrationTests { class ExampleIntegrationTests {
@Container @Container
static RedisContainer redis = new RedisContainer(); static GenericContainer redis =
new GenericContainer(DockerImageName.parse("redis:5.0.3-alpine"))
.withExposedPorts(6379);
@DynamicPropertySource @DynamicPropertySource
static void redisProperties(DynamicPropertyRegistry registry) { static void redisProperties(DynamicPropertyRegistry registry) {
registry.add("redis.host", redis::getHost); registry.add("redis.host", redis::getHost);
registry.add("redis.port", redis::getMappedPort); registry.add("redis.port", redis::getFirstMappedPort);
} }
// tests ... // tests ...
@ -2045,13 +2047,15 @@ properties.
@Container @Container
@JvmStatic @JvmStatic
val redis: RedisContainer = RedisContainer() val redis: GenericContainer =
GenericContainer(DockerImageName.parse("redis:5.0.3-alpine"))
.withExposedPorts(6379)
@DynamicPropertySource @DynamicPropertySource
@JvmStatic @JvmStatic
fun redisProperties(registry: DynamicPropertyRegistry) { fun redisProperties(registry: DynamicPropertyRegistry) {
registry.add("redis.host", redis::getHost) registry.add("redis.host", redis::getHost)
registry.add("redis.port", redis::getMappedPort) registry.add("redis.port", redis::getFirstMappedPort)
} }
} }

8
spring-test/src/main/java/org/springframework/test/context/DynamicPropertySource.java

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2022 the original author or authors. * Copyright 2002-2023 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -70,14 +70,16 @@ import java.lang.annotation.Target;
* class ExampleIntegrationTests { * class ExampleIntegrationTests {
* *
* @Container * @Container
* static RedisContainer redis = new RedisContainer(); * static GenericContainer redis =
* new GenericContainer(DockerImageName.parse("redis:5.0.3-alpine"))
* .withExposedPorts(6379);
* *
* // ... * // ...
* *
* @DynamicPropertySource * @DynamicPropertySource
* static void redisProperties(DynamicPropertyRegistry registry) { * static void redisProperties(DynamicPropertyRegistry registry) {
* registry.add("redis.host", redis::getHost); * registry.add("redis.host", redis::getHost);
* registry.add("redis.port", redis::getMappedPort); * registry.add("redis.port", redis::getFirstMappedPort);
* } * }
* *
* }</pre> * }</pre>

Loading…
Cancel
Save