Fix tls tests (#4348)

This commit is contained in:
Olga Maciaszek-Sharma
2024-10-09 18:11:24 +02:00
committed by GitHub
parent 572b10a5bd
commit 7a7bb2f5c2
6 changed files with 43 additions and 15 deletions

View File

@@ -5,9 +5,9 @@ name: Build
on:
push:
branches: [ main ]
branches: [ main, 4.1.x ]
pull_request:
branches: [ main ]
branches: [ main, 4.1.x ]
jobs:
build:

View File

@@ -92,7 +92,17 @@
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-suite-api</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-suite-engine</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>

View File

@@ -158,14 +158,6 @@ abstract class BaseCertTests {
Assertions.assertThrows(BeanCreationException.class, client::start);
}
@Test
void nonExistKeyStoreCauseFailure() {
EurekaClientRunner client = createEurekaClient();
enableTlsClient(client);
client.setKeyStore(new File("nonExistFile"));
Assertions.assertThrows(BeanCreationException.class, client::start);
}
@Test
void wrongTrustStoreCannotWork() {
try (EurekaClientRunner client = createEurekaClient()) {

View File

@@ -16,8 +16,8 @@
package org.springframework.cloud.netflix.eureka;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.platform.suite.api.SelectClasses;
import org.junit.platform.suite.api.Suite;
/**
* We need to use a suite cause we need to first run all the Eureka Servers, then close
@@ -26,8 +26,8 @@ import org.junit.runners.Suite;
* That means that when the new context starts we will fail cause the executor service is
* already shutdown.
*/
@RunWith(Suite.class)
@Suite.SuiteClasses({ EurekaClientTests.class, RestTemplateEurekaClientTests.class })
@SelectClasses({ EurekaClientTests.class, RestTemplateEurekaClientTests.class })
@Suite
public class EurekaClientSuite {
}

View File

@@ -22,8 +22,12 @@ import org.junit.jupiter.api.BeforeAll;
import org.springframework.boot.SpringBootConfiguration;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.cloud.netflix.eureka.config.DiscoveryClientOptionalArgsConfiguration;
import org.springframework.cloud.netflix.eureka.http.DefaultEurekaClientHttpRequestFactorySupplier;
import org.springframework.cloud.netflix.eureka.http.RestTemplateDiscoveryClientOptionalArgs;
import org.springframework.cloud.netflix.eureka.http.RestTemplateTransportClientFactories;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
import org.springframework.context.annotation.Bean;
import static org.assertj.core.api.Assertions.assertThat;
@@ -53,6 +57,19 @@ public class EurekaClientTests extends BaseCertTests {
@EnableAutoConfiguration
public static class TestApp {
@Bean
public RestTemplateTransportClientFactories forceRestTemplateTransportClientFactories(
DiscoveryClientOptionalArgsConfiguration configuration,
RestTemplateDiscoveryClientOptionalArgs discoveryClientOptionalArgs) {
return configuration.restTemplateTransportClientFactories(discoveryClientOptionalArgs);
}
@Bean
public RestTemplateDiscoveryClientOptionalArgs discoveryClientOptionalArgs() {
return new RestTemplateDiscoveryClientOptionalArgs(
new DefaultEurekaClientHttpRequestFactorySupplier(new RestTemplateTimeoutProperties()), null);
}
}
@SpringBootConfiguration

View File

@@ -33,6 +33,7 @@ import org.springframework.cloud.configuration.TlsProperties;
import org.springframework.cloud.netflix.eureka.config.DiscoveryClientOptionalArgsConfiguration;
import org.springframework.cloud.netflix.eureka.http.EurekaClientHttpRequestFactorySupplier;
import org.springframework.cloud.netflix.eureka.http.RestTemplateDiscoveryClientOptionalArgs;
import org.springframework.cloud.netflix.eureka.http.RestTemplateTransportClientFactories;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
import org.springframework.context.annotation.Bean;
@@ -82,6 +83,14 @@ public class RestTemplateEurekaClientTests extends BaseCertTests {
eurekaClientHttpRequestFactorySupplier, new RestTemplateBuilderObjectProvider());
}
// Want to force reusing exactly the same bean as on production without excluding
// jersey from the classpath
@Bean
public RestTemplateTransportClientFactories forceRestTemplateTransportClientFactories(
DiscoveryClientOptionalArgsConfiguration configuration,
RestTemplateDiscoveryClientOptionalArgs discoveryClientOptionalArgs) {
return configuration.restTemplateTransportClientFactories(discoveryClientOptionalArgs);
}
}
@SpringBootConfiguration