Skip to content

Commit 8b8684a

Browse files
authored
Make the DAPR version being used consistent across all tests (#1299)
1 parent 9b635da commit 8b8684a

File tree

29 files changed

+130
-57
lines changed

29 files changed

+130
-57
lines changed

.github/workflows/build.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939
GOPROXY: https://proxy.golang.org
4040
JDK_VER: ${{ matrix.java }}
4141
DAPR_CLI_VER: 1.15.0
42-
DAPR_RUNTIME_VER: 1.15.3
42+
DAPR_RUNTIME_VER: 1.15.4
4343
DAPR_INSTALL_URL: https://raw.githubusercontent.com/dapr/cli/v1.15.0/install/install.sh
4444
DAPR_CLI_REF:
4545
DAPR_REF:

.github/workflows/validate.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ jobs:
3838
GOPROXY: https://proxy.golang.org
3939
JDK_VER: ${{ matrix.java }}
4040
DAPR_CLI_VER: 1.15.0
41-
DAPR_RUNTIME_VER: 1.15.3
41+
DAPR_RUNTIME_VER: 1.15.4
4242
DAPR_INSTALL_URL: https://raw.githubusercontent.com/dapr/cli/v1.15.0/install/install.sh
4343
DAPR_CLI_REF:
4444
DAPR_REF:

daprdocs/content/en/java-sdk-docs/spring-boot/_index.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ public class DaprTestContainersConfig {
8080
@ServiceConnection
8181
public DaprContainer daprContainer(Network daprNetwork, PostgreSQLContainer<?> postgreSQLContainer){
8282

83-
return new DaprContainer("daprio/daprd:1.14.1")
83+
return new DaprContainer("daprio/daprd:1.15.4")
8484
.withAppName("producer-app")
8585
.withNetwork(daprNetwork)
8686
.withComponent(new Component("kvstore", "state.postgresql", "v1", STATE_STORE_PROPERTIES))
@@ -235,7 +235,7 @@ Finally, because Dapr PubSub requires a bidirectional connection between your ap
235235
@ServiceConnection
236236
public DaprContainer daprContainer(Network daprNetwork, PostgreSQLContainer<?> postgreSQLContainer, RabbitMQContainer rabbitMQContainer){
237237

238-
return new DaprContainer("daprio/daprd:1.14.1")
238+
return new DaprContainer("daprio/daprd:1.15.4")
239239
.withAppName("producer-app")
240240
.withNetwork(daprNetwork)
241241
.withComponent(new Component("kvstore", "state.postgresql", "v1", STATE_STORE_PROPERTIES))

pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<grpc.version>1.69.0</grpc.version>
1818
<protobuf.version>3.25.5</protobuf.version>
1919
<protocCommand>protoc</protocCommand>
20-
<dapr.proto.baseurl>https://raw.githubusercontent.com/dapr/dapr/v1.15.3/dapr/proto</dapr.proto.baseurl>
20+
<dapr.proto.baseurl>https://raw.githubusercontent.com/dapr/dapr/v1.15.4/dapr/proto</dapr.proto.baseurl>
2121
<dapr.sdk.version>1.15.0-SNAPSHOT</dapr.sdk.version>
2222
<dapr.sdk.alpha.version>0.15.0-SNAPSHOT</dapr.sdk.alpha.version>
2323
<os-maven-plugin.version>1.7.1</os-maven-plugin.version>

sdk-springboot/src/test/java/io/dapr/springboot/MockController.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@
1313

1414
package io.dapr.springboot;
1515

16-
import org.springframework.web.bind.annotation.*;
16+
import org.springframework.web.bind.annotation.PostMapping;
17+
import org.springframework.web.bind.annotation.RequestMapping;
18+
import org.springframework.web.bind.annotation.RequestMethod;
1719

1820
@RequestMapping(value = {"v1", "v2"})
1921
public class MockController {

sdk-tests/src/test/java/io/dapr/it/resiliency/SdkResiliencyIT.java

+3-4
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,7 @@
5858
import static com.github.tomakehurst.wiremock.client.WireMock.urlMatching;
5959
import static com.github.tomakehurst.wiremock.client.WireMock.verify;
6060
import static io.dapr.it.resiliency.SdkResiliencyIT.WIREMOCK_PORT;
61-
import static io.dapr.it.testcontainers.ContainerConstants.DAPR_IMAGE_TAG;
62-
import static io.dapr.it.testcontainers.ContainerConstants.TOXIPROXY_IMAGE_TAG;
61+
import static io.dapr.it.testcontainers.DaprContainerConstants.DAPR_RUNTIME_IMAGE_TAG;
6362
import static org.assertj.core.api.Assertions.assertThat;
6463
import static org.junit.jupiter.api.Assertions.assertThrows;
6564

@@ -74,7 +73,7 @@ public class SdkResiliencyIT {
7473
private static final int INFINITE_RETRY = -1;
7574

7675
@Container
77-
private static final DaprContainer DAPR_CONTAINER = new DaprContainer(DAPR_IMAGE_TAG)
76+
private static final DaprContainer DAPR_CONTAINER = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG)
7877
.withAppName("dapr-app")
7978
.withAppPort(WIREMOCK_PORT)
8079
.withDaprLogLevel(DaprLogLevel.DEBUG)
@@ -85,7 +84,7 @@ public class SdkResiliencyIT {
8584
.withNetwork(NETWORK);
8685

8786
@Container
88-
private static final ToxiproxyContainer TOXIPROXY = new ToxiproxyContainer(TOXIPROXY_IMAGE_TAG)
87+
private static final ToxiproxyContainer TOXIPROXY = new ToxiproxyContainer("ghcr.io/shopify/toxiproxy:2.5.0")
8988
.withNetwork(NETWORK);
9089

9190
private static Proxy proxy;

sdk-tests/src/test/java/io/dapr/it/spring/data/DaprKeyValueRepositoryIT.java

+5-3
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,10 @@
3535

3636
import static io.dapr.it.spring.data.DaprSpringDataConstants.BINDING_NAME;
3737
import static io.dapr.it.spring.data.DaprSpringDataConstants.STATE_STORE_NAME;
38-
import static io.dapr.it.testcontainers.ContainerConstants.DAPR_IMAGE_TAG;
39-
import static org.junit.jupiter.api.Assertions.*;
38+
import static io.dapr.it.testcontainers.DaprContainerConstants.DAPR_RUNTIME_IMAGE_TAG;
39+
import static org.junit.jupiter.api.Assertions.assertEquals;
40+
import static org.junit.jupiter.api.Assertions.assertFalse;
41+
import static org.junit.jupiter.api.Assertions.assertTrue;
4042

4143
/**
4244
* Integration tests for {@link DaprKeyValueRepositoryIT}.
@@ -65,7 +67,7 @@ public class DaprKeyValueRepositoryIT {
6567

6668
@Container
6769
@ServiceConnection
68-
private static final DaprContainer DAPR_CONTAINER = new DaprContainer(DAPR_IMAGE_TAG)
70+
private static final DaprContainer DAPR_CONTAINER = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG)
6971
.withAppName("postgresql-repository-dapr-app")
7072
.withNetwork(DAPR_NETWORK)
7173
.withComponent(new Component(STATE_STORE_NAME, "state.postgresql", "v1", STATE_STORE_PROPERTIES))

sdk-tests/src/test/java/io/dapr/it/spring/data/MySQLDaprKeyValueTemplateIT.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444

4545
import static io.dapr.it.spring.data.DaprSpringDataConstants.STATE_STORE_NAME;
4646
import static io.dapr.it.spring.data.DaprSpringDataConstants.BINDING_NAME;
47-
import static io.dapr.it.testcontainers.ContainerConstants.DAPR_IMAGE_TAG;
47+
import static io.dapr.it.testcontainers.DaprContainerConstants.DAPR_RUNTIME_IMAGE_TAG;
4848
import static org.assertj.core.api.Assertions.assertThat;
4949
import static org.junit.jupiter.api.Assertions.assertEquals;
5050

@@ -80,7 +80,7 @@ public class MySQLDaprKeyValueTemplateIT {
8080

8181
@Container
8282
@ServiceConnection
83-
private static final DaprContainer DAPR_CONTAINER = new DaprContainer(DAPR_IMAGE_TAG)
83+
private static final DaprContainer DAPR_CONTAINER = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG)
8484
.withAppName("mysql-dapr-app")
8585
.withNetwork(DAPR_NETWORK)
8686
.withComponent(new Component(STATE_STORE_NAME, "state.mysql", "v1", STATE_STORE_PROPERTIES))

sdk-tests/src/test/java/io/dapr/it/spring/data/PostgreSQLDaprKeyValueTemplateIT.java

+7-3
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,15 @@
3232
import org.testcontainers.junit.jupiter.Container;
3333
import org.testcontainers.junit.jupiter.Testcontainers;
3434

35-
import java.util.*;
35+
import java.util.ArrayList;
36+
import java.util.HashMap;
37+
import java.util.List;
38+
import java.util.Map;
39+
import java.util.Optional;
3640

3741
import static io.dapr.it.spring.data.DaprSpringDataConstants.BINDING_NAME;
3842
import static io.dapr.it.spring.data.DaprSpringDataConstants.STATE_STORE_NAME;
39-
import static io.dapr.it.testcontainers.ContainerConstants.DAPR_IMAGE_TAG;
43+
import static io.dapr.it.testcontainers.DaprContainerConstants.DAPR_RUNTIME_IMAGE_TAG;
4044
import static org.assertj.core.api.Assertions.assertThat;
4145
import static org.junit.jupiter.api.Assertions.assertEquals;
4246

@@ -67,7 +71,7 @@ public class PostgreSQLDaprKeyValueTemplateIT {
6771

6872
@Container
6973
@ServiceConnection
70-
private static final DaprContainer DAPR_CONTAINER = new DaprContainer(DAPR_IMAGE_TAG)
74+
private static final DaprContainer DAPR_CONTAINER = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG)
7175
.withAppName("postgresql-dapr-app")
7276
.withNetwork(DAPR_NETWORK)
7377
.withComponent(new Component(STATE_STORE_NAME, "state.postgresql", "v1", STATE_STORE_PROPERTIES))

sdk-tests/src/test/java/io/dapr/it/spring/messaging/DaprSpringMessagingIT.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
import java.util.Collections;
3838
import java.util.List;
3939

40-
import static io.dapr.it.testcontainers.ContainerConstants.DAPR_IMAGE_TAG;
40+
import static io.dapr.it.testcontainers.DaprContainerConstants.DAPR_RUNTIME_IMAGE_TAG;
4141
import static org.assertj.core.api.Assertions.assertThat;
4242

4343
@SpringBootTest(
@@ -61,7 +61,7 @@ public class DaprSpringMessagingIT {
6161

6262
@Container
6363
@ServiceConnection
64-
private static final DaprContainer DAPR_CONTAINER = new DaprContainer(DAPR_IMAGE_TAG)
64+
private static final DaprContainer DAPR_CONTAINER = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG)
6565
.withAppName("messaging-dapr-app")
6666
.withNetwork(DAPR_NETWORK)
6767
.withComponent(new Component("pubsub", "pubsub.in-memory", "v1", Collections.emptyMap()))

sdk-tests/src/test/java/io/dapr/it/testcontainers/ContainerConstants.java

-9
This file was deleted.

sdk-tests/src/test/java/io/dapr/it/testcontainers/DaprActorsIT.java

+5-3
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import java.util.Random;
3838
import java.util.UUID;
3939

40+
import static io.dapr.it.testcontainers.DaprContainerConstants.DAPR_RUNTIME_IMAGE_TAG;
4041
import static org.junit.jupiter.api.Assertions.assertEquals;
4142

4243
@SpringBootTest(
@@ -53,10 +54,10 @@ public class DaprActorsIT {
5354
private static final Random RANDOM = new Random();
5455
private static final int PORT = RANDOM.nextInt(1000) + 8000;
5556

56-
private static final String ACTORS_MESSAGE_PATTERN = ".*Actor API level in the cluster has been updated to 10.*";
57+
private static final String ACTORS_MESSAGE_PATTERN = ".*Actor runtime started.*";
5758

5859
@Container
59-
private static final DaprContainer DAPR_CONTAINER = new DaprContainer("daprio/daprd:1.14.4")
60+
private static final DaprContainer DAPR_CONTAINER = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG)
6061
.withAppName("actor-dapr-app")
6162
.withNetwork(DAPR_NETWORK)
6263
.withComponent(new Component("kvstore", "state.in-memory", "v1",
@@ -88,7 +89,8 @@ static void daprProperties(DynamicPropertyRegistry registry) {
8889
public void setUp(){
8990
org.testcontainers.Testcontainers.exposeHostPorts(PORT);
9091
daprActorRuntime.registerActor(TestActorImpl.class);
91-
// Ensure the subscriptions are registered
92+
93+
// Wait for actor runtime to start.
9294
Wait.forLogMessage(ACTORS_MESSAGE_PATTERN, 1).waitUntilReady(DAPR_CONTAINER);
9395
}
9496

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package io.dapr.it.testcontainers;
2+
3+
public interface DaprContainerConstants {
4+
String DAPR_RUNTIME_VERSION = "1.15.4";
5+
String DAPR_RUNTIME_IMAGE_TAG = "daprio/daprd:" + DAPR_RUNTIME_VERSION;
6+
String DAPR_PLACEMENT_IMAGE_TAG = "daprio/placement:" + DAPR_RUNTIME_VERSION;
7+
String DAPR_SCHEDULER_IMAGE_TAG = "daprio/scheduler:" + DAPR_RUNTIME_VERSION;
8+
}

sdk-tests/src/test/java/io/dapr/it/testcontainers/DaprContainerIT.java

+3-4
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import io.dapr.client.DaprClientBuilder;
1919
import io.dapr.client.domain.Metadata;
2020
import io.dapr.client.domain.State;
21-
2221
import io.dapr.config.Properties;
2322
import io.dapr.testcontainers.DaprContainer;
2423
import org.junit.jupiter.api.BeforeEach;
@@ -27,7 +26,6 @@
2726
import org.testcontainers.containers.wait.strategy.Wait;
2827
import org.testcontainers.junit.jupiter.Container;
2928
import org.testcontainers.junit.jupiter.Testcontainers;
30-
import static org.testcontainers.shaded.org.awaitility.Awaitility.await;
3129
import org.testcontainers.shaded.org.awaitility.core.ConditionTimeoutException;
3230

3331
import java.io.IOException;
@@ -49,10 +47,11 @@
4947
import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo;
5048
import static com.github.tomakehurst.wiremock.client.WireMock.urlMatching;
5149
import static com.github.tomakehurst.wiremock.client.WireMock.verify;
52-
import static io.dapr.it.testcontainers.ContainerConstants.DAPR_IMAGE_TAG;
50+
import static io.dapr.it.testcontainers.DaprContainerConstants.DAPR_RUNTIME_IMAGE_TAG;
5351
import static org.junit.jupiter.api.Assertions.assertEquals;
5452
import static org.junit.jupiter.api.Assertions.assertNotNull;
5553
import static org.junit.jupiter.api.Assertions.fail;
54+
import static org.testcontainers.shaded.org.awaitility.Awaitility.await;
5655

5756

5857
@Testcontainers
@@ -69,7 +68,7 @@ public class DaprContainerIT {
6968
private static final String APP_FOUND_MESSAGE_PATTERN = ".*application discovered on port 8081.*";
7069

7170
@Container
72-
private static final DaprContainer DAPR_CONTAINER = new DaprContainer(DAPR_IMAGE_TAG)
71+
private static final DaprContainer DAPR_CONTAINER = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG)
7372
.withAppName("dapr-app")
7473
.withAppPort(8081)
7574
.withAppHealthCheckPath("/actuator/health")

sdk-tests/src/test/java/io/dapr/it/testcontainers/DaprJobsIT.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
import org.testcontainers.junit.jupiter.Testcontainers;
3535

3636
import java.time.Instant;
37-
import java.time.OffsetDateTime;
3837
import java.time.ZoneOffset;
3938
import java.time.format.DateTimeFormatter;
4039
import java.time.temporal.ChronoUnit;
@@ -58,7 +57,7 @@ public class DaprJobsIT {
5857
private static final int PORT = RANDOM.nextInt(1000) + 8000;
5958

6059
@Container
61-
private static final DaprContainer DAPR_CONTAINER = new DaprContainer(ContainerConstants.DAPR_IMAGE_TAG)
60+
private static final DaprContainer DAPR_CONTAINER = new DaprContainer(DaprContainerConstants.DAPR_RUNTIME_IMAGE_TAG)
6261
.withAppName("jobs-dapr-app")
6362
.withNetwork(DAPR_NETWORK)
6463
.withDaprLogLevel(DaprLogLevel.DEBUG)

sdk-tests/src/test/java/io/dapr/it/testcontainers/DaprPlacementContainerIT.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public class DaprPlacementContainerIT {
2727

2828
@Container
2929
private static final DaprPlacementContainer PLACEMENT_CONTAINER =
30-
new DaprPlacementContainer(ContainerConstants.DAPR_PLACEMENT_IMAGE_TAG);
30+
new DaprPlacementContainer(DaprContainerConstants.DAPR_PLACEMENT_IMAGE_TAG);
3131

3232
@Test
3333
public void testDaprPlacementContainerDefaults() {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
/*
2+
* Copyright 2024 The Dapr Authors
3+
* Licensed under the Apache License, Version 2.0 (the "License");
4+
* you may not use this file except in compliance with the License.
5+
* You may obtain a copy of the License at
6+
* http://www.apache.org/licenses/LICENSE-2.0
7+
* Unless required by applicable law or agreed to in writing, software
8+
* distributed under the License is distributed on an "AS IS" BASIS,
9+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10+
* See the License for the specific language governing permissions and
11+
limitations under the License.
12+
*/
13+
14+
package io.dapr.it.testcontainers;
15+
16+
import io.dapr.testcontainers.DaprSchedulerContainer;
17+
import org.junit.jupiter.api.Tag;
18+
import org.junit.jupiter.api.Test;
19+
import org.testcontainers.junit.jupiter.Container;
20+
import org.testcontainers.junit.jupiter.Testcontainers;
21+
22+
import static org.junit.jupiter.api.Assertions.assertEquals;
23+
24+
@Testcontainers
25+
@Tag("testcontainers")
26+
public class DaprSchedulerContainerIT {
27+
28+
@Container
29+
private static final DaprSchedulerContainer SCHEDULER_CONTAINER =
30+
new DaprSchedulerContainer(DaprContainerConstants.DAPR_SCHEDULER_IMAGE_TAG);
31+
32+
@Test
33+
public void testDaprSchedulerContainerDefaults() {
34+
assertEquals(51005, SCHEDULER_CONTAINER.getPort(), "The default port is not set");
35+
}
36+
}

sdk-tests/src/test/java/io/dapr/it/testcontainers/DaprWorkflowsIT.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
import java.util.Collections;
4040
import java.util.Map;
4141

42-
import static io.dapr.it.testcontainers.ContainerConstants.DAPR_IMAGE_TAG;
42+
import static io.dapr.it.testcontainers.DaprContainerConstants.DAPR_RUNTIME_IMAGE_TAG;
4343
import static org.junit.jupiter.api.Assertions.assertEquals;
4444
import static org.junit.jupiter.api.Assertions.assertNotNull;
4545

@@ -57,7 +57,7 @@ public class DaprWorkflowsIT {
5757
private static final Network DAPR_NETWORK = Network.newNetwork();
5858

5959
@Container
60-
private static final DaprContainer DAPR_CONTAINER = new DaprContainer(DAPR_IMAGE_TAG)
60+
private static final DaprContainer DAPR_CONTAINER = new DaprContainer(DAPR_RUNTIME_IMAGE_TAG)
6161
.withAppName("workflow-dapr-app")
6262
.withNetwork(DAPR_NETWORK)
6363
.withComponent(new Component("kvstore", "state.in-memory", "v1",

spring-boot-examples/consumer-app/src/test/java/io/dapr/springboot/examples/consumer/DaprTestContainersConfig.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@
3131
import java.util.List;
3232
import java.util.Map;
3333

34+
import static io.dapr.testcontainers.DaprContainerConstants.DAPR_RUNTIME_IMAGE_TAG;
35+
3436
@TestConfiguration(proxyBeanMethods = false)
3537
public class DaprTestContainersConfig {
3638

@@ -87,7 +89,7 @@ public DaprContainer daprContainer(Network daprNetwork, RabbitMQContainer rabbit
8789
rabbitMqProperties.put("user", "guest");
8890
rabbitMqProperties.put("password", "guest");
8991

90-
return new DaprContainer("daprio/daprd:1.14.4")
92+
return new DaprContainer(DAPR_RUNTIME_IMAGE_TAG)
9193
.withAppName("consumer-app")
9294
.withNetwork(daprNetwork).withComponent(new Component("pubsub",
9395
"pubsub.rabbitmq", "v1", rabbitMqProperties))

spring-boot-examples/kubernetes/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ Once you have the cluster up and running you can install Dapr:
3030
helm repo add dapr https://dapr.github.io/helm-charts/
3131
helm repo update
3232
helm upgrade --install dapr dapr/dapr \
33-
--version=1.14.4 \
33+
--version=1.15.4 \
3434
--namespace dapr-system \
3535
--create-namespace \
3636
--wait

spring-boot-examples/producer-app/src/test/java/io/dapr/springboot/examples/producer/DaprTestContainersConfig.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@
3333
import java.util.List;
3434
import java.util.Map;
3535

36+
import static io.dapr.testcontainers.DaprContainerConstants.DAPR_RUNTIME_IMAGE_TAG;
37+
3638
@TestConfiguration(proxyBeanMethods = false)
3739
public class DaprTestContainersConfig {
3840

@@ -110,7 +112,7 @@ public DaprContainer daprContainer(Network daprNetwork, PostgreSQLContainer<?> p
110112
rabbitMqProperties.put("user", "guest");
111113
rabbitMqProperties.put("password", "guest");
112114

113-
return new DaprContainer("daprio/daprd:1.14.4")
115+
return new DaprContainer(DAPR_RUNTIME_IMAGE_TAG)
114116
.withAppName("producer-app")
115117
.withNetwork(daprNetwork)
116118
.withComponent(new Component("kvstore", "state.postgresql", "v1", STATE_STORE_PROPERTIES))

0 commit comments

Comments
 (0)