From 532fb9327d0f5c85540e0c5dec8d3945c8709e9b Mon Sep 17 00:00:00 2001 From: buildmaster Date: Fri, 10 Feb 2023 00:26:36 +0000 Subject: [PATCH 1/2] Bumping versions --- .../cloud/config/server/AwsS3IntegrationTests.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/AwsS3IntegrationTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/AwsS3IntegrationTests.java index 7317cb2f..5a14613d 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/AwsS3IntegrationTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/AwsS3IntegrationTests.java @@ -65,10 +65,10 @@ public class AwsS3IntegrationTests { @BeforeAll public static void startConfigServer() throws IOException, InterruptedException, JSONException { server = SpringApplication.run( - new Class[] { TestConfigServerApplication.class, ContextResourceLoaderConfiguration.class, CredentialsProvider.class }, + new Class[] { TestConfigServerApplication.class, ContextResourceLoaderConfiguration.class, + CredentialsProvider.class }, new String[] { "--spring.config.name=server", "--spring.profiles.active=awss3", - "--spring.main.allow-bean-definition-overriding=true", - "--server.port=" + configServerPort, + "--spring.main.allow-bean-definition-overriding=true", "--server.port=" + configServerPort, "--spring.cloud.config.server.awss3.endpoint=" + localstack.getEndpointOverride(LocalStackContainer.Service.S3).toString(), "--spring.cloud.config.server.awss3.bucket=test-bucket", @@ -105,14 +105,18 @@ public class AwsS3IntegrationTests { public static void after() { server.close(); } + @Configuration static class CredentialsProvider { - //Override the bean from spring cloud aws to provide our own credentials for localstack + // Override the bean from spring cloud aws to provide our own credentials for + // localstack @Bean("io.awspring.cloud.core.credentials.CredentialsProviderFactoryBean.BEAN_NAME") public AWSCredentialsProvider provider() { - return new AWSStaticCredentialsProvider(new BasicAWSCredentials(localstack.getAccessKey(), localstack.getSecretKey())); + return new AWSStaticCredentialsProvider( + new BasicAWSCredentials(localstack.getAccessKey(), localstack.getSecretKey())); } + } } From 3f63b43bf32eb5b5b660789aea06634e628a8952 Mon Sep 17 00:00:00 2001 From: Amit Kumar Date: Wed, 15 Feb 2023 05:56:14 +0530 Subject: [PATCH 2/2] fixed compare() GoogleSecretComparatorByVersion by making it to Integer comparator (#2230) Co-authored-by: Amit Kumatr --- .../GoogleSecretComparatorByVersion.java | 6 ++- ...cretManagerEnvironmentRepositoryTests.java | 39 ++++++++++++------- 2 files changed, 29 insertions(+), 16 deletions(-) diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/secretmanager/GoogleSecretComparatorByVersion.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/secretmanager/GoogleSecretComparatorByVersion.java index 391026a4..f419e0a4 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/secretmanager/GoogleSecretComparatorByVersion.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/secretmanager/GoogleSecretComparatorByVersion.java @@ -30,7 +30,11 @@ public class GoogleSecretComparatorByVersion implements Comparator { + GoogleSecretManagerEnvironmentProperties properties = new GoogleSecretManagerEnvironmentProperties(); + SecretManagerServiceClient mock = mock(SecretManagerServiceClient.class); + properties.setVersion(2); + GoogleSecretManagerAccessStrategyFactory.forVersion(null, null, properties, mock); + }); } @Test @@ -73,7 +76,7 @@ public class GoogleSecretManagerEnvironmentRepositoryTests { when(provider.getValue(HttpHeaderGoogleConfigProvider.PROJECT_ID_HEADER, true)).thenReturn("test-project"); SecretManagerServiceClient mock = mock(SecretManagerServiceClient.class); SecretManagerServiceClient.ListSecretsPagedResponse response = mock( - SecretManagerServiceClient.ListSecretsPagedResponse.class); + SecretManagerServiceClient.ListSecretsPagedResponse.class); Secret secret = Secret.newBuilder().setName("projects/test-project/secrets/test").build(); List secrets = new ArrayList(); secrets.add(secret); @@ -85,20 +88,26 @@ public class GoogleSecretManagerEnvironmentRepositoryTests { @Test @SuppressWarnings("unchecked") - public void testGetSecretValues() throws IOException { + public void testGetSecretValues() { RestTemplate rest = mock(RestTemplate.class); GoogleConfigProvider provider = mock(HttpHeaderGoogleConfigProvider.class); when(provider.getValue(HttpHeaderGoogleConfigProvider.PROJECT_ID_HEADER, true)).thenReturn("test-project"); SecretManagerServiceClient mock = mock(SecretManagerServiceClient.class); SecretManagerServiceClient.ListSecretVersionsPagedResponse response = mock( - SecretManagerServiceClient.ListSecretVersionsPagedResponse.class); + SecretManagerServiceClient.ListSecretVersionsPagedResponse.class); SecretVersion secret1 = SecretVersion.newBuilder().setName("projects/test-project/secrets/test/versions/1") - .setState(SecretVersion.State.ENABLED).build(); - SecretVersion secret2 = SecretVersion.newBuilder().setName("projects/test-project/secrets/test/versions/2") - .setState(SecretVersion.State.DISABLED).build(); + .setState(SecretVersion.State.ENABLED).build(); + SecretVersion secret2 = SecretVersion.newBuilder().setName("projects/test-project/secrets/test/versions/4") + .setState(SecretVersion.State.ENABLED).build(); + SecretVersion secret3 = SecretVersion.newBuilder().setName("projects/test-project/secrets/test/versions/9") + .setState(SecretVersion.State.ENABLED).build(); + SecretVersion secret4 = SecretVersion.newBuilder().setName("projects/test-project/secrets/test/versions/12") + .setState(SecretVersion.State.ENABLED).build(); List secrets = new ArrayList(); secrets.add(secret1); secrets.add(secret2); + secrets.add(secret3); + secrets.add(secret4); when(response.iterateAll()).thenReturn(secrets); Mockito.doReturn(response).when(mock).listSecretVersions(any(ListSecretVersionsRequest.class)); GoogleSecretManagerV1AccessStrategy strategy = new GoogleSecretManagerV1AccessStrategy(rest, provider, mock); @@ -111,7 +120,7 @@ public class GoogleSecretManagerEnvironmentRepositoryTests { ArgumentMatcher matcher = new ArgumentMatcher() { @Override public boolean matches(AccessSecretVersionRequest accessSecretVersionRequest) { - if (accessSecretVersionRequest.getName().equals("projects/test-project/secrets/test/versions/1")) { + if (accessSecretVersionRequest.getName().equals("projects/test-project/secrets/test/versions/12")) { return true; } return false; @@ -119,7 +128,7 @@ public class GoogleSecretManagerEnvironmentRepositoryTests { }; Mockito.doReturn(accessSecretVersionResponse).when(mock).accessSecretVersion(ArgumentMatchers.argThat(matcher)); assertThat(strategy.getSecretValue(Secret.newBuilder().setName("projects/test-project/secrets/test").build(), - new GoogleSecretComparatorByVersion())).isEqualTo("test-value"); + new GoogleSecretComparatorByVersion())).isEqualTo("test-value"); } }