diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2bbdd2280..021e6f5f1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -45,6 +45,11 @@ jobs: DAPR_REF: TOXIPROXY_URL: https://github.com/Shopify/toxiproxy/releases/download/v2.5.0/toxiproxy-server-linux-amd64 steps: + - name: Install Stable Docker + id: setup_docker + uses: docker/setup-docker-action@v4 + - name: Check Docker version + run: docker version - uses: actions/checkout@v4 - name: Set up OpenJDK ${{ env.JDK_VER }} uses: actions/setup-java@v4 @@ -113,6 +118,8 @@ jobs: run: ./mvnw compile -B -q - name: Unit tests run: ./mvnw test # making it temporarily verbose. + env: + DOCKER_HOST: ${{steps.setup_docker.outputs.sock}} - name: Codecov uses: codecov/codecov-action@v5.4.0 - name: Install jars @@ -120,6 +127,8 @@ jobs: - name: Integration tests using spring boot version ${{ matrix.spring-boot-version }} id: integration_tests run: PRODUCT_SPRING_BOOT_VERSION=${{ matrix.spring-boot-version }} ./mvnw -B -Pintegration-tests verify + env: + DOCKER_HOST: ${{steps.setup_docker.outputs.sock}} - name: Upload test report for sdk uses: actions/upload-artifact@v4 with: diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index 6711b07c6..b8b478268 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -49,6 +49,11 @@ jobs: with: distribution: 'temurin' java-version: ${{ env.JDK_VER }} + - name: Install Stable Docker + id: setup_docker + uses: docker/setup-docker-action@v4 + - name: Check Docker version + run: docker version - name: Set up Dapr CLI run: wget -q ${{ env.DAPR_INSTALL_URL }} -O - | /bin/bash -s ${{ env.DAPR_CLI_VER }} - name: Set up Go ${{ env.GOVER }} @@ -108,63 +113,95 @@ jobs: run: ./mvnw compile -q - name: Install jars run: ./mvnw install -q + env: + DOCKER_HOST: ${{steps.setup_docker.outputs.sock}} - name: Validate invoke http example working-directory: ./examples run: | mm.py ./src/main/java/io/dapr/examples/invoke/http/README.md + env: + DOCKER_HOST: ${{steps.setup_docker.outputs.sock}} - name: Validate invoke grpc example working-directory: ./examples run: | mm.py ./src/main/java/io/dapr/examples/invoke/grpc/README.md + env: + DOCKER_HOST: ${{steps.setup_docker.outputs.sock}} - name: Validate tracing example working-directory: ./examples run: | mm.py ./src/main/java/io/dapr/examples/tracing/README.md + env: + DOCKER_HOST: ${{steps.setup_docker.outputs.sock}} - name: Validate expection handling example working-directory: ./examples run: | mm.py ./src/main/java/io/dapr/examples/exception/README.md + env: + DOCKER_HOST: ${{steps.setup_docker.outputs.sock}} - name: Validate state example working-directory: ./examples run: | mm.py ./src/main/java/io/dapr/examples/state/README.md + env: + DOCKER_HOST: ${{steps.setup_docker.outputs.sock}} - name: Validate pubsub example working-directory: ./examples run: | mm.py ./src/main/java/io/dapr/examples/pubsub/README.md + env: + DOCKER_HOST: ${{steps.setup_docker.outputs.sock}} - name: Validate bindings HTTP example working-directory: ./examples run: | mm.py ./src/main/java/io/dapr/examples/bindings/http/README.md + env: + DOCKER_HOST: ${{steps.setup_docker.outputs.sock}} - name: Validate secrets example working-directory: ./examples run: | mm.py ./src/main/java/io/dapr/examples/secrets/README.md + env: + DOCKER_HOST: ${{steps.setup_docker.outputs.sock}} - name: Validate unit testing example working-directory: ./examples run: | mm.py ./src/main/java/io/dapr/examples/unittesting/README.md + env: + DOCKER_HOST: ${{steps.setup_docker.outputs.sock}} - name: Validate Configuration API example working-directory: ./examples run: | mm.py ./src/main/java/io/dapr/examples/configuration/README.md + env: + DOCKER_HOST: ${{steps.setup_docker.outputs.sock}} - name: Validate actors example working-directory: ./examples run: | mm.py ./src/main/java/io/dapr/examples/actors/README.md + env: + DOCKER_HOST: ${{steps.setup_docker.outputs.sock}} - name: Validate query state HTTP example working-directory: ./examples run: | mm.py ./src/main/java/io/dapr/examples/querystate/README.md + env: + DOCKER_HOST: ${{steps.setup_docker.outputs.sock}} - name: Validate workflows example working-directory: ./examples run: | mm.py ./src/main/java/io/dapr/examples/workflows/README.md + env: + DOCKER_HOST: ${{steps.setup_docker.outputs.sock}} - name: Validate streaming subscription example working-directory: ./examples run: | mm.py ./src/main/java/io/dapr/examples/pubsub/stream/README.md + env: + DOCKER_HOST: ${{steps.setup_docker.outputs.sock}} - name: Validate Spring Boot examples working-directory: ./spring-boot-examples run: | - mm.py README.md + mm.py README.md + env: + DOCKER_HOST: ${{steps.setup_docker.outputs.sock}} diff --git a/dapr-spring/pom.xml b/dapr-spring/pom.xml index 04f59acaa..fe4ebaa17 100644 --- a/dapr-spring/pom.xml +++ b/dapr-spring/pom.xml @@ -32,6 +32,8 @@ 11 11 11 + 1.19.8 + 5.10.2 @@ -43,6 +45,31 @@ pom import + + org.junit.jupiter + junit-jupiter-api + ${junit.version} + + + org.junit.jupiter + junit-jupiter-params + ${junit.version} + + + org.junit.jupiter + junit-jupiter-engine + ${junit.version} + + + org.junit.jupiter + junit-jupiter + ${junit.version} + + + org.testcontainers + junit-jupiter + ${testcontainers.version} + @@ -73,6 +100,7 @@ org.springframework.boot spring-boot-configuration-processor + ${springboot.version} true @@ -80,6 +108,7 @@ org.springframework.boot spring-boot-starter-test + ${springboot.version} test diff --git a/examples/src/main/java/io/dapr/examples/workflows/README.md b/examples/src/main/java/io/dapr/examples/workflows/README.md index 4cd4c135a..047f1d744 100644 --- a/examples/src/main/java/io/dapr/examples/workflows/README.md +++ b/examples/src/main/java/io/dapr/examples/workflows/README.md @@ -226,13 +226,13 @@ public class CountWordsActivity implements WorkflowActivity { @Override public Object run(WorkflowActivityContext ctx) { Logger logger = LoggerFactory.getLogger(ToUpperCaseActivity.class); - logger.info("Starting Activity: " + ctx.getName()); + logger.info("Starting Activity: {}", ctx.getName()); String input = ctx.getInput(String.class); StringTokenizer tokenizer = new StringTokenizer(input); int result = tokenizer.countTokens(); - logger.info("Activity returned: " + result); + logger.info("Activity returned: {}.", result); logger.info("Activity finished"); return result; @@ -244,10 +244,11 @@ name: Run Chaining Pattern workflow match_order: none output_match_mode: substring expected_stdout_lines: - - 'Activity returned: 2' - - 'Activity returned: 9' - - 'Activity returned: 21' - - 'Activity returned: 17' + - 'Activity returned: 2.' + - 'Activity returned: 9.' + - 'Activity returned: 21.' + - 'Activity returned: 17.' + - 'Activity returned: 11.' - 'Workflow finished with result: 60' background: true sleep: 60 @@ -270,19 +271,19 @@ Now you can see the logs from worker: ```text == APP == 2023-11-07 14:52:03,075 {HH:mm:ss.SSS} [main] INFO io.dapr.workflows.WorkflowContext - Starting Workflow: io.dapr.examples.workflows.faninout.DemoFanInOutWorkflow == APP == 2023-11-07 14:52:03,144 {HH:mm:ss.SSS} [main] INFO i.d.e.w.faninout.CountWordsActivity - Starting Activity: io.dapr.examples.workflows.faninout.CountWordsActivity -== APP == 2023-11-07 14:52:03,147 {HH:mm:ss.SSS} [main] INFO i.d.e.w.faninout.CountWordsActivity - Activity returned: 2 +== APP == 2023-11-07 14:52:03,147 {HH:mm:ss.SSS} [main] INFO i.d.e.w.faninout.CountWordsActivity - Activity returned: 2. == APP == 2023-11-07 14:52:03,148 {HH:mm:ss.SSS} [main] INFO i.d.e.w.faninout.CountWordsActivity - Activity finished == APP == 2023-11-07 14:52:03,152 {HH:mm:ss.SSS} [main] INFO i.d.e.w.faninout.CountWordsActivity - Starting Activity: io.dapr.examples.workflows.faninout.CountWordsActivity -== APP == 2023-11-07 14:52:03,152 {HH:mm:ss.SSS} [main] INFO i.d.e.w.faninout.CountWordsActivity - Activity returned: 9 +== APP == 2023-11-07 14:52:03,152 {HH:mm:ss.SSS} [main] INFO i.d.e.w.faninout.CountWordsActivity - Activity returned: 9. == APP == 2023-11-07 14:52:03,152 {HH:mm:ss.SSS} [main] INFO i.d.e.w.faninout.CountWordsActivity - Activity finished == APP == 2023-11-07 14:52:03,167 {HH:mm:ss.SSS} [main] INFO i.d.e.w.faninout.CountWordsActivity - Starting Activity: io.dapr.examples.workflows.faninout.CountWordsActivity -== APP == 2023-11-07 14:52:03,167 {HH:mm:ss.SSS} [main] INFO i.d.e.w.faninout.CountWordsActivity - Activity returned: 21 +== APP == 2023-11-07 14:52:03,167 {HH:mm:ss.SSS} [main] INFO i.d.e.w.faninout.CountWordsActivity - Activity returned: 21. == APP == 2023-11-07 14:52:03,167 {HH:mm:ss.SSS} [main] INFO i.d.e.w.faninout.CountWordsActivity - Activity finished == APP == 2023-11-07 14:52:03,170 {HH:mm:ss.SSS} [main] INFO i.d.e.w.faninout.CountWordsActivity - Starting Activity: io.dapr.examples.workflows.faninout.CountWordsActivity -== APP == 2023-11-07 14:52:03,170 {HH:mm:ss.SSS} [main] INFO i.d.e.w.faninout.CountWordsActivity - Activity returned: 17 +== APP == 2023-11-07 14:52:03,170 {HH:mm:ss.SSS} [main] INFO i.d.e.w.faninout.CountWordsActivity - Activity returned: 17. == APP == 2023-11-07 14:52:03,170 {HH:mm:ss.SSS} [main] INFO i.d.e.w.faninout.CountWordsActivity - Activity finished == APP == 2023-11-07 14:52:03,173 {HH:mm:ss.SSS} [main] INFO i.d.e.w.faninout.CountWordsActivity - Starting Activity: io.dapr.examples.workflows.faninout.CountWordsActivity -== APP == 2023-11-07 14:52:03,173 {HH:mm:ss.SSS} [main] INFO i.d.e.w.faninout.CountWordsActivity - Activity returned: 11 +== APP == 2023-11-07 14:52:03,173 {HH:mm:ss.SSS} [main] INFO i.d.e.w.faninout.CountWordsActivity - Activity returned: 11. == APP == 2023-11-07 14:52:03,174 {HH:mm:ss.SSS} [main] INFO i.d.e.w.faninout.CountWordsActivity - Activity finished == APP == 2023-11-07 14:52:03,212 {HH:mm:ss.SSS} [main] INFO io.dapr.workflows.WorkflowContext - Workflow finished with result: 60 ``` @@ -538,4 +539,4 @@ The log from client: ```text Started a new child-workflow model workflow with instance ID: c2fb9c83-435b-4b55-bdf1-833b39366cfb workflow instance with ID: c2fb9c83-435b-4b55-bdf1-833b39366cfb completed with result: !wolfkroW rpaD olleH -``` \ No newline at end of file +``` diff --git a/examples/src/main/java/io/dapr/examples/workflows/faninout/CountWordsActivity.java b/examples/src/main/java/io/dapr/examples/workflows/faninout/CountWordsActivity.java index 654b4e884..cf3f63720 100644 --- a/examples/src/main/java/io/dapr/examples/workflows/faninout/CountWordsActivity.java +++ b/examples/src/main/java/io/dapr/examples/workflows/faninout/CountWordsActivity.java @@ -24,13 +24,13 @@ public class CountWordsActivity implements WorkflowActivity { @Override public Object run(WorkflowActivityContext ctx) { Logger logger = LoggerFactory.getLogger(CountWordsActivity.class); - logger.info("Starting Activity: " + ctx.getName()); + logger.info("Starting Activity: {}", ctx.getName()); String input = ctx.getInput(String.class); StringTokenizer tokenizer = new StringTokenizer(input); int result = tokenizer.countTokens(); - logger.info("Activity returned: " + result); + logger.info("Activity returned: {}.", result); logger.info("Activity finished"); return result; diff --git a/pom.xml b/pom.xml index 5ab3051c2..729eb0a71 100644 --- a/pom.xml +++ b/pom.xml @@ -26,6 +26,9 @@ 2.7 3.3.1 3.13.0 + 3.2.1 + 0.8.11 + 80% 11 11 11 @@ -42,9 +45,9 @@ --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED 3.2.2 3.2.2 - 5.8.2 + 5.11.4 2.0 - 1.20.0 + 1.20.5 3.4.3 1.7.0 @@ -95,7 +98,6 @@ org.mockito mockito-core 3.11.2 - test io.projectreactor @@ -120,12 +122,129 @@ kotlin-stdlib 2.1.0 + + org.yaml + snakeyaml + ${snakeyaml.version} + + + org.testcontainers + testcontainers + ${testcontainers.version} + + + io.dapr + dapr-sdk + ${dapr.sdk.version} + compile + + + org.junit.jupiter + junit-jupiter + ${junit-bom.version} + + + org.junit.jupiter + junit-jupiter-api + ${junit-bom.version} + + + org.junit.jupiter + junit-jupiter-engine + ${junit-bom.version} + + + org.junit.jupiter + junit-jupiter-params + ${junit-bom.version} + + + org.testcontainers + junit-jupiter + ${testcontainers.version} + + + org.testcontainers + kafka + ${testcontainers.version} + + + org.springframework.boot + spring-boot-dependencies + ${springboot.version} + pom + + + org.testcontainers + postgresql + ${testcontainers.version} + + + org.testcontainers + rabbitmq + ${testcontainers.version} + + + io.rest-assured + rest-assured + 5.5.1 + + + io.dapr.spring + dapr-spring-boot-starter + ${dapr.sdk.alpha.version} + + + io.dapr.spring + dapr-spring-boot-starter-test + ${dapr.sdk.alpha.version} + + + org.springframework.boot + spring-boot-starter-web + ${springboot.version} + + + org.springframework.boot + spring-boot-starter-actuator + ${springboot.version} + + + org.springframework.boot + spring-boot-starter-test + ${springboot.version} + + + org.springframework.data + spring-data-keyvalue + ${springboot.version} + + + org.springframework.data + spring-data-commons + ${springboot.version} + + + org.springframework.boot + spring-boot-testcontainers + ${springboot.version} + + + org.springframework.boot + spring-boot-maven-plugin + ${springboot.version} + + + org.apache.maven.plugins + maven-source-plugin + ${maven-sources-plugin.version} + org.apache.maven.plugins maven-compiler-plugin @@ -174,6 +293,49 @@ true + + org.jacoco + jacoco-maven-plugin + ${jacoco-maven-plugin.version} + + + default-prepare-agent + + prepare-agent + + + + report + test + + report + + + target/jacoco-report/ + + + + check + + check + + + + + BUNDLE + + + LINE + COVEREDRATIO + ${jacoco-maven-plugin.coverage-ratio} + + + + + + + + diff --git a/sdk-tests/pom.xml b/sdk-tests/pom.xml index c448aa586..c1ffacad0 100644 --- a/sdk-tests/pom.xml +++ b/sdk-tests/pom.xml @@ -33,6 +33,11 @@ 1.5.16 3.9.1 1.20.0 + + + 0% + 1.11.4 @@ -45,6 +50,16 @@ pom import + + org.junit.platform + junit-platform-commons + ${junit-platform.version} + + + org.junit.platform + junit-platform-engine + ${junit-platform.version} + @@ -235,10 +250,63 @@ jakarta.servlet-api compile + + org.junit.platform + junit-platform-commons + test + + + org.junit.platform + junit-platform-engine + test + + + org.jacoco + jacoco-maven-plugin + ${jacoco-maven-plugin.version} + + + default-prepare-agent + + prepare-agent + + + + report + test + + report + + + target/jacoco-report/ + + + + check + + check + + + + + BUNDLE + + + LINE + COVEREDRATIO + ${jacoco-maven-plugin.coverage-ratio} + + + + + + + + com.github.os72 protoc-jar-maven-plugin diff --git a/spring-boot-examples/consumer-app/pom.xml b/spring-boot-examples/consumer-app/pom.xml index 9255bb13a..b2e2d0940 100644 --- a/spring-boot-examples/consumer-app/pom.xml +++ b/spring-boot-examples/consumer-app/pom.xml @@ -12,19 +12,6 @@ consumer-app Spring Boot, Testcontainers and Dapr Integration Examples :: Consumer App - - - - - org.springframework.boot - spring-boot-dependencies - ${springboot.version} - pom - import - - - - org.springframework.boot @@ -37,16 +24,12 @@ io.dapr.spring dapr-spring-boot-starter - ${dapr.sdk.alpha.version} - io.dapr.spring dapr-spring-boot-starter-test - ${dapr.sdk.alpha.version} test - org.testcontainers junit-jupiter @@ -55,22 +38,18 @@ org.testcontainers postgresql - 1.20.0 test org.testcontainers rabbitmq - 1.20.0 test org.testcontainers kafka - 1.20.0 test - io.rest-assured rest-assured @@ -83,12 +62,10 @@ org.springframework.boot spring-boot-maven-plugin - ${springboot.version} org.apache.maven.plugins maven-site-plugin - 3.12.1 true diff --git a/spring-boot-examples/consumer-app/src/test/java/io/dapr/springboot/examples/consumer/DaprTestContainersConfig.java b/spring-boot-examples/consumer-app/src/test/java/io/dapr/springboot/examples/consumer/DaprTestContainersConfig.java index 34fa4d82f..dc584b26b 100644 --- a/spring-boot-examples/consumer-app/src/test/java/io/dapr/springboot/examples/consumer/DaprTestContainersConfig.java +++ b/spring-boot-examples/consumer-app/src/test/java/io/dapr/springboot/examples/consumer/DaprTestContainersConfig.java @@ -35,31 +35,36 @@ import java.util.Map; public class DaprTestContainersConfig { @Bean - public Network getDaprNetwork() { - Network defaultDaprNetwork = new Network() { - @Override - public String getId() { - return "dapr-network"; + public Network getDaprNetwork(Environment env) { + boolean reuse = env.getProperty("reuse", Boolean.class, false); + if (reuse) { + Network defaultDaprNetwork = new Network() { + @Override + public String getId() { + return "dapr-network"; + } + + @Override + public void close() { + + } + + @Override + public Statement apply(Statement base, Description description) { + return null; + } + }; + + List networks = DockerClientFactory.instance().client().listNetworksCmd() + .withNameFilter("dapr-network").exec(); + if (networks.isEmpty()) { + Network.builder().createNetworkCmdModifier(cmd -> cmd.withName("dapr-network")).build().getId(); + return defaultDaprNetwork; + } else { + return defaultDaprNetwork; } - - @Override - public void close() { - - } - - @Override - public Statement apply(Statement base, Description description) { - return null; - } - }; - - List networks = DockerClientFactory.instance().client().listNetworksCmd() - .withNameFilter("dapr-network").exec(); - if (networks.isEmpty()) { - Network.builder().createNetworkCmdModifier(cmd -> cmd.withName("dapr-network")).build().getId(); - return defaultDaprNetwork; } else { - return defaultDaprNetwork; + return Network.newNetwork(); } } @@ -67,10 +72,10 @@ public class DaprTestContainersConfig { public RabbitMQContainer rabbitMQContainer(Network daprNetwork, Environment env) { boolean reuse = env.getProperty("reuse", Boolean.class, false); return new RabbitMQContainer(DockerImageName.parse("rabbitmq:3.7.25-management-alpine")) - .withExposedPorts(5672) - .withNetworkAliases("rabbitmq") - .withReuse(reuse) - .withNetwork(daprNetwork); + .withExposedPorts(5672) + .withNetworkAliases("rabbitmq") + .withReuse(reuse) + .withNetwork(daprNetwork); } @Bean @@ -83,16 +88,15 @@ public class DaprTestContainersConfig { rabbitMqProperties.put("password", "guest"); return new DaprContainer("daprio/daprd:1.14.4") - .withAppName("consumer-app") - .withNetwork(daprNetwork).withComponent(new Component("pubsub", - "pubsub.rabbitmq", "v1", rabbitMqProperties)) - .withDaprLogLevel(DaprLogLevel.INFO) - .withLogConsumer(outputFrame -> System.out.println(outputFrame.getUtf8String())) - .withAppPort(8081).withAppChannelAddress("host.testcontainers.internal") - .withReusablePlacement(reuse) - .withAppHealthCheckPath("/actuator/health") - .dependsOn(rabbitMQContainer); + .withAppName("consumer-app") + .withNetwork(daprNetwork).withComponent(new Component("pubsub", + "pubsub.rabbitmq", "v1", rabbitMqProperties)) + .withDaprLogLevel(DaprLogLevel.INFO) + .withLogConsumer(outputFrame -> System.out.println(outputFrame.getUtf8String())) + .withAppPort(8081).withAppChannelAddress("host.testcontainers.internal") + .withReusablePlacement(reuse) + .withAppHealthCheckPath("/actuator/health") + .dependsOn(rabbitMQContainer); } - } diff --git a/spring-boot-examples/pom.xml b/spring-boot-examples/pom.xml index 4ed1fbe49..75a32364f 100644 --- a/spring-boot-examples/pom.xml +++ b/spring-boot-examples/pom.xml @@ -15,6 +15,7 @@ true + 3.4.3 @@ -22,12 +23,23 @@ consumer-app + + + + org.springframework.boot + spring-boot-dependencies + ${springboot.version} + pom + import + + + + org.apache.maven.plugins maven-site-plugin - 3.12.1 true diff --git a/spring-boot-examples/producer-app/pom.xml b/spring-boot-examples/producer-app/pom.xml index dd7a4fee5..b9ab6fcbf 100644 --- a/spring-boot-examples/producer-app/pom.xml +++ b/spring-boot-examples/producer-app/pom.xml @@ -13,55 +13,36 @@ producer-app Spring Boot, Testcontainers and Dapr Integration Examples :: Producer App - - - - - org.springframework.boot - spring-boot-dependencies - ${springboot.version} - pom - import - - - - org.springframework.boot spring-boot-starter-actuator - org.springframework.boot spring-boot-starter-web + + org.springframework.boot + spring-boot-starter-test + io.dapr.spring dapr-spring-boot-starter - ${dapr.sdk.alpha.version} io.dapr.spring dapr-spring-boot-starter-test - ${dapr.sdk.alpha.version} - test - - - org.testcontainers - junit-jupiter test org.testcontainers postgresql - 1.20.0 test org.testcontainers rabbitmq - 1.20.0 test @@ -76,12 +57,10 @@ org.springframework.boot spring-boot-maven-plugin - ${springboot.version} org.apache.maven.plugins maven-site-plugin - 3.12.1 true diff --git a/spring-boot-examples/producer-app/src/test/java/io/dapr/springboot/examples/producer/DaprTestContainersConfig.java b/spring-boot-examples/producer-app/src/test/java/io/dapr/springboot/examples/producer/DaprTestContainersConfig.java index b3ecb2e43..5d38f5841 100644 --- a/spring-boot-examples/producer-app/src/test/java/io/dapr/springboot/examples/producer/DaprTestContainersConfig.java +++ b/spring-boot-examples/producer-app/src/test/java/io/dapr/springboot/examples/producer/DaprTestContainersConfig.java @@ -44,32 +44,36 @@ public class DaprTestContainersConfig { @Bean - public Network getNetwork() { - Network defaultDaprNetwork = new Network() { - @Override - public String getId() { - return "dapr-network"; + public Network getDaprNetwork(Environment env) { + boolean reuse = env.getProperty("reuse", Boolean.class, false); + if (reuse) { + Network defaultDaprNetwork = new Network() { + @Override + public String getId() { + return "dapr-network"; + } + + @Override + public void close() { + + } + + @Override + public Statement apply(Statement base, Description description) { + return null; + } + }; + + List networks = DockerClientFactory.instance().client().listNetworksCmd() + .withNameFilter("dapr-network").exec(); + if (networks.isEmpty()) { + Network.builder().createNetworkCmdModifier(cmd -> cmd.withName("dapr-network")).build().getId(); + return defaultDaprNetwork; + } else { + return defaultDaprNetwork; } - - @Override - public void close() { - - } - - @Override - public Statement apply(Statement base, Description description) { - return null; - } - }; - - List networks = DockerClientFactory.instance().client().listNetworksCmd().withNameFilter("dapr-network").exec(); - if (networks.isEmpty()) { - Network.builder() - .createNetworkCmdModifier(cmd -> cmd.withName("dapr-network")) - .build().getId(); - return defaultDaprNetwork; } else { - return defaultDaprNetwork; + return Network.newNetwork(); } } diff --git a/testcontainers-dapr/pom.xml b/testcontainers-dapr/pom.xml index 13110b70b..2f4fbb7e1 100644 --- a/testcontainers-dapr/pom.xml +++ b/testcontainers-dapr/pom.xml @@ -28,19 +28,11 @@ org.yaml snakeyaml - ${snakeyaml.version} org.testcontainers testcontainers - ${testcontainers.version} - - io.dapr - dapr-sdk - ${project.parent.version} - compile - @@ -52,7 +44,6 @@ org.apache.maven.plugins maven-source-plugin - 3.2.1 attach-sources @@ -62,11 +53,9 @@ - org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 attach-javadocs @@ -79,46 +68,6 @@ org.jacoco jacoco-maven-plugin - 0.8.11 - - - default-prepare-agent - - prepare-agent - - - - report - test - - report - - - target/jacoco-report/ - - - - check - - check - - - - - BUNDLE - - - LINE - COVEREDRATIO - 80% - - - - - - - -