mirror of https://github.com/dapr/java-sdk.git
Resolve buildGrpcManagedChannel orphaned channel & ensure connections mocked (#1003)
* okhttpclient is mocked Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * mock workflowRuntime to rm log: 'The sidecar at address localhost:4001 is unavailable. Will continue retrying.' Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * fix several NetworkUtilsTest orphaned channels Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * reset workflow changes since I still see the log output Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * Close daprClient on DaprClientGrpcTelemetryTest Signed-off-by: Artur Souza <asouza.pro@gmail.com> * try latest runtime rc Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * Update runtime to 1.12.4 Signed-off-by: Artur Souza <asouza.pro@gmail.com> * Mvn test is now verbose, temporatily. Signed-off-by: Artur Souza <asouza.pro@gmail.com> * try fixing RetryPolicyTest Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * comment out RetryPolicyTest Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * add RetryPolicyTest back Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * trying to figure out which test func is the issue Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * try ubuntu-20.04 Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * try rm-ing GrpcChannelFacadeTest Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * try rm-ing DaprClientHttpTest Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * try t.join just in case Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * is this the bad test? Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * are these other healthcheck tests the problem? Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * is it the ok test? Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * is it due to an invoke test? Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * is it the config/subscribeConfig tests Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * is it noHotMono? Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * is it a publish test? Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * is it the other noHotMono tests? Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * is it a state test? Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * is it a save state test? Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * is it a secret test? Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * is it a delete state test? Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * is it the rest -1 and - ending tests? Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * no client calls, only end of file remaining Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * add teardown - did it work? Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * is it just needing daprClientHttpXML to be closed? Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * Reuse mock and builder. Signed-off-by: Artur Souza <asouza.pro@gmail.com> * Try dedicated executor. Signed-off-by: Artur Souza <asouza.pro@gmail.com> * Comment out the remaining tests. Signed-off-by: Artur Souza <asouza.pro@gmail.com> * Remove before and after. Signed-off-by: Artur Souza <asouza.pro@gmail.com> * Remove sdk/src/test/java/io/dapr/client/DaprClientHttpTest.java Signed-off-by: Artur Souza <asouza.pro@gmail.com> * Remove sdk/src/test/java/io/dapr/client/DaprHttpTest.java. Signed-off-by: Artur Souza <asouza.pro@gmail.com> * Delete a batch of tests. Signed-off-by: Artur Souza <asouza.pro@gmail.com> * restore deleted test files Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * add back in RetryPolicyTest Signed-off-by: Cassandra Coyle <cassie@diagrid.io> --------- Signed-off-by: Cassandra Coyle <cassie@diagrid.io> Signed-off-by: Artur Souza <asouza.pro@gmail.com> Co-authored-by: Artur Souza <asouza.pro@gmail.com> Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
This commit is contained in:
parent
22427c9659
commit
b2968af896
|
@ -41,9 +41,9 @@ jobs:
|
|||
GOARCH: amd64
|
||||
GOPROXY: https://proxy.golang.org
|
||||
JDK_VER: ${{ matrix.java }}
|
||||
DAPR_CLI_VER: 1.12.0-rc.1
|
||||
DAPR_RUNTIME_VER: 1.12.0-rc.5
|
||||
DAPR_INSTALL_URL: https://raw.githubusercontent.com/dapr/cli/v1.12.0-rc.1/install/install.sh
|
||||
DAPR_CLI_VER: 1.12.0
|
||||
DAPR_RUNTIME_VER: 1.12.4
|
||||
DAPR_INSTALL_URL: https://raw.githubusercontent.com/dapr/cli/v1.12.0/install/install.sh
|
||||
DAPR_CLI_REF:
|
||||
DAPR_REF:
|
||||
TOXIPROXY_URL: https://github.com/Shopify/toxiproxy/releases/download/v2.5.0/toxiproxy-server-linux-amd64
|
||||
|
@ -115,7 +115,7 @@ jobs:
|
|||
- name: Build sdk
|
||||
run: ./mvnw compile -B -q
|
||||
- name: Unit tests
|
||||
run: ./mvnw -B test -q
|
||||
run: ./mvnw test # making it temporarily verbose.
|
||||
- name: Codecov
|
||||
uses: codecov/codecov-action@v3.1.4
|
||||
- name: Install jars
|
||||
|
|
|
@ -37,9 +37,9 @@ jobs:
|
|||
GOARCH: amd64
|
||||
GOPROXY: https://proxy.golang.org
|
||||
JDK_VER: ${{ matrix.java }}
|
||||
DAPR_CLI_VER: 1.12.0-rc.1
|
||||
DAPR_RUNTIME_VER: 1.12.0-rc.5
|
||||
DAPR_INSTALL_URL: https://raw.githubusercontent.com/dapr/cli/v1.12.0-rc.1/install/install.sh
|
||||
DAPR_CLI_VER: 1.12.0
|
||||
DAPR_RUNTIME_VER: 1.12.4
|
||||
DAPR_INSTALL_URL: https://raw.githubusercontent.com/dapr/cli/v1.12.0/install/install.sh
|
||||
DAPR_CLI_REF:
|
||||
DAPR_REF:
|
||||
steps:
|
||||
|
|
|
@ -30,8 +30,8 @@ import io.grpc.inprocess.InProcessChannelBuilder;
|
|||
import io.grpc.inprocess.InProcessServerBuilder;
|
||||
import io.grpc.testing.GrpcCleanupRule;
|
||||
import org.junit.Rule;
|
||||
import org.junit.jupiter.api.AfterEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.RegisterExtension;
|
||||
import org.junit.jupiter.migrationsupport.rules.EnableRuleMigrationSupport;
|
||||
import org.junit.jupiter.params.ParameterizedTest;
|
||||
import org.junit.jupiter.params.provider.Arguments;
|
||||
|
@ -47,7 +47,6 @@ import reactor.util.context.ContextView;
|
|||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertNull;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
@EnableRuleMigrationSupport
|
||||
public class DaprClientGrpcTelemetryTest {
|
||||
|
@ -70,6 +69,13 @@ public class DaprClientGrpcTelemetryTest {
|
|||
|
||||
private DaprClient client;
|
||||
|
||||
@AfterEach
|
||||
public void teardown() throws Exception {
|
||||
if (client != null) {
|
||||
client.close();
|
||||
}
|
||||
}
|
||||
|
||||
public static Stream<Arguments> data() {
|
||||
return Stream.of(
|
||||
Arguments.of(
|
||||
|
|
|
@ -2,13 +2,21 @@ package io.dapr.utils;
|
|||
|
||||
import io.dapr.config.Properties;
|
||||
import io.grpc.ManagedChannel;
|
||||
import io.grpc.testing.GrpcCleanupRule;
|
||||
import org.junit.Rule;
|
||||
import org.junit.jupiter.api.AfterEach;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.mockito.Mockito.mock;
|
||||
|
||||
public class NetworkUtilsTest {
|
||||
private final int defaultGrpcPort = 4000;
|
||||
private final String defaultSidecarIP = "127.0.0.1";
|
||||
|
||||
private ManagedChannel channel;
|
||||
|
||||
@BeforeEach
|
||||
public void setUp() {
|
||||
System.setProperty(Properties.GRPC_PORT.getName(), Integer.toString(defaultGrpcPort));
|
||||
|
@ -16,9 +24,16 @@ public class NetworkUtilsTest {
|
|||
System.setProperty(Properties.GRPC_ENDPOINT.getName(), "");
|
||||
}
|
||||
|
||||
@AfterEach
|
||||
public void tearDown() {
|
||||
if (channel != null && !channel.isShutdown()) {
|
||||
channel.shutdown();
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBuildGrpcManagedChannel() {
|
||||
ManagedChannel channel = NetworkUtils.buildGrpcManagedChannel();
|
||||
channel = NetworkUtils.buildGrpcManagedChannel();
|
||||
|
||||
String expectedAuthority = String.format("%s:%s", defaultSidecarIP, defaultGrpcPort);
|
||||
Assertions.assertEquals(expectedAuthority, channel.authority());
|
||||
|
@ -27,7 +42,7 @@ public class NetworkUtilsTest {
|
|||
@Test
|
||||
public void testBuildGrpcManagedChannel_httpEndpointNoPort() {
|
||||
System.setProperty(Properties.GRPC_ENDPOINT.getName(), "http://example.com");
|
||||
ManagedChannel channel = NetworkUtils.buildGrpcManagedChannel();
|
||||
channel = NetworkUtils.buildGrpcManagedChannel();
|
||||
|
||||
String expectedAuthority = "example.com:80";
|
||||
Assertions.assertEquals(expectedAuthority, channel.authority());
|
||||
|
@ -36,7 +51,7 @@ public class NetworkUtilsTest {
|
|||
@Test
|
||||
public void testBuildGrpcManagedChannel_httpEndpointWithPort() {
|
||||
System.setProperty(Properties.GRPC_ENDPOINT.getName(), "http://example.com:3000");
|
||||
ManagedChannel channel = NetworkUtils.buildGrpcManagedChannel();
|
||||
channel = NetworkUtils.buildGrpcManagedChannel();
|
||||
|
||||
String expectedAuthority = "example.com:3000";
|
||||
Assertions.assertEquals(expectedAuthority, channel.authority());
|
||||
|
@ -45,7 +60,7 @@ public class NetworkUtilsTest {
|
|||
@Test
|
||||
public void testBuildGrpcManagedChannel_httpsEndpointNoPort() {
|
||||
System.setProperty(Properties.GRPC_ENDPOINT.getName(), "https://example.com");
|
||||
ManagedChannel channel = NetworkUtils.buildGrpcManagedChannel();
|
||||
channel = NetworkUtils.buildGrpcManagedChannel();
|
||||
|
||||
String expectedAuthority = "example.com:443";
|
||||
Assertions.assertEquals(expectedAuthority, channel.authority());
|
||||
|
@ -54,7 +69,7 @@ public class NetworkUtilsTest {
|
|||
@Test
|
||||
public void testBuildGrpcManagedChannel_httpsEndpointWithPort() {
|
||||
System.setProperty(Properties.GRPC_ENDPOINT.getName(), "https://example.com:3000");
|
||||
ManagedChannel channel = NetworkUtils.buildGrpcManagedChannel();
|
||||
channel = NetworkUtils.buildGrpcManagedChannel();
|
||||
|
||||
String expectedAuthority = "example.com:3000";
|
||||
Assertions.assertEquals(expectedAuthority, channel.authority());
|
||||
|
|
Loading…
Reference in New Issue