From 4e1c3bb45e30d8659143ebcb5323e348fc34b7b7 Mon Sep 17 00:00:00 2001 From: Ryan Baxter Date: Fri, 9 Apr 2021 13:16:48 -0400 Subject: [PATCH] Using order of locations when serving resources (#1858) --- .../resource/GenericResourceRepository.java | 3 +-- .../server/CompositeIntegrationTests.java | 12 ++++-------- .../resources/config-repo/git/COMMIT_EDITMSG | 2 +- .../src/test/resources/config-repo/git/index | Bin 225 -> 225 bytes .../test/resources/config-repo/git/logs/HEAD | 3 +++ .../config-repo/git/logs/refs/heads/composite | 1 + .../8f/263e4c6e65fd3fb975fddba84231fe95416b66 | Bin 0 -> 99 bytes .../b5/45f7dec7feab3006c2e73969ee704a9a4def78 | Bin 0 -> 31 bytes .../e4/88193e654487b7f43e38f0865860529cb2ec79 | Bin 0 -> 163 bytes .../config-repo/git/refs/heads/composite | 2 +- 10 files changed, 11 insertions(+), 12 deletions(-) create mode 100644 spring-cloud-config-server/src/test/resources/config-repo/git/objects/8f/263e4c6e65fd3fb975fddba84231fe95416b66 create mode 100644 spring-cloud-config-server/src/test/resources/config-repo/git/objects/b5/45f7dec7feab3006c2e73969ee704a9a4def78 create mode 100644 spring-cloud-config-server/src/test/resources/config-repo/git/objects/e4/88193e654487b7f43e38f0865860529cb2ec79 diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/resource/GenericResourceRepository.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/resource/GenericResourceRepository.java index 667827fc..18814ad6 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/resource/GenericResourceRepository.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/resource/GenericResourceRepository.java @@ -58,8 +58,7 @@ public class GenericResourceRepository String[] locations = this.service.getLocations(application, profile, label) .getLocations(); ArrayList locationResources = new ArrayList<>(); - for (int i = locations.length; i-- > 0;) { - String location = locations[i]; + for (String location : locations) { if (!PathUtils.isInvalidEncodedLocation(location)) { locationResources.add(this.resourceLoader.getResource(location)); } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/CompositeIntegrationTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/CompositeIntegrationTests.java index c122999a..fe7d5cc2 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/CompositeIntegrationTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/CompositeIntegrationTests.java @@ -85,19 +85,15 @@ public class CompositeIntegrationTests { @Test public void resourceEndpointsWork() { - // This request will get the file from the Git Repo + // This request will get the file from the Git Repo because its order is first + // The SVN repo should have the content foo: bar String text = new TestRestTemplate() .getForObject( "http://localhost:" + this.port + "/foo/development/composite/bar.properties", String.class); - String expected = "foo: bar"; - assertThat(expected).isEqualTo(text).as("invalid content"); - - // This request will get the file from the SVN Repo - text = new TestRestTemplate().getForObject("http://localhost:" + this.port - + "/foo/development/composite/bar.properties", String.class); + String expected = "foo: barconfig\n"; assertThat(expected).isEqualTo(text).as("invalid content"); } @@ -154,7 +150,7 @@ public class CompositeIntegrationTests { + "/foo/development/composite/bar.properties", String.class); - String expected = "foo: bar"; + String expected = "foo: barconfig\n"; assertThat(expected).isEqualTo(text).as("invalid content"); // This request will get the file from the SVN Repo diff --git a/spring-cloud-config-server/src/test/resources/config-repo/git/COMMIT_EDITMSG b/spring-cloud-config-server/src/test/resources/config-repo/git/COMMIT_EDITMSG index c8fcd951..eb578650 100644 --- a/spring-cloud-config-server/src/test/resources/config-repo/git/COMMIT_EDITMSG +++ b/spring-cloud-config-server/src/test/resources/config-repo/git/COMMIT_EDITMSG @@ -1 +1 @@ -Updated +updating bar diff --git a/spring-cloud-config-server/src/test/resources/config-repo/git/index b/spring-cloud-config-server/src/test/resources/config-repo/git/index index eaa4dce20200bd4bd5ea2d3060731ffcfdde49e6..b87224c7b6bc531ef13a7167eec60b728c9ba284 100644 GIT binary patch delta 117 zcmaFJ_>j@S#WTp6fq{VugcGv!b=5-h8elXd0|N`k0tEpEhQ=if42<7^YD6X)=%|3@ n<4)a$(NJ}QDC!z~MZQb@{(jGQ`F!hp3uc7&7_I%7pmqWP2z?|! delta 117 zcmaFJ_>j@S#WTp6fq{VugkvH?cJjRL%7W1hjLgi8E$q`67#f!_FfhLW;fV%1DnR)i t)|sg@!L&}yEQmS|pgBnD8hl0eOgrhH$s}ugr#|}+=ann%*G0Bn007FRCItWh diff --git a/spring-cloud-config-server/src/test/resources/config-repo/git/logs/HEAD b/spring-cloud-config-server/src/test/resources/config-repo/git/logs/HEAD index 337958de..56ea8388 100644 --- a/spring-cloud-config-server/src/test/resources/config-repo/git/logs/HEAD +++ b/spring-cloud-config-server/src/test/resources/config-repo/git/logs/HEAD @@ -4,3 +4,6 @@ 7df4a26d5437d9d4090cd5809967f870444cde8f 7df4a26d5437d9d4090cd5809967f870444cde8f Ryan Baxter 1481905544 -0500 checkout: moving from raw to composite 7df4a26d5437d9d4090cd5809967f870444cde8f 7df4a26d5437d9d4090cd5809967f870444cde8f Ryan Baxter 1481905552 -0500 checkout: moving from composite to raw 7df4a26d5437d9d4090cd5809967f870444cde8f 2921d46f948329996d3eb4a3d11aaaff6ccda84f Marcin Grzejszczak 1549357696 +0100 commit: Updated +2921d46f948329996d3eb4a3d11aaaff6ccda84f 7df4a26d5437d9d4090cd5809967f870444cde8f Ryan Baxter 1617653453 -0400 checkout: moving from raw to composite +7df4a26d5437d9d4090cd5809967f870444cde8f e488193e654487b7f43e38f0865860529cb2ec79 Ryan Baxter 1617653500 -0400 commit: updating bar +e488193e654487b7f43e38f0865860529cb2ec79 2921d46f948329996d3eb4a3d11aaaff6ccda84f Ryan Baxter 1617653549 -0400 checkout: moving from composite to raw diff --git a/spring-cloud-config-server/src/test/resources/config-repo/git/logs/refs/heads/composite b/spring-cloud-config-server/src/test/resources/config-repo/git/logs/refs/heads/composite index 67ab67c5..1434ecae 100644 --- a/spring-cloud-config-server/src/test/resources/config-repo/git/logs/refs/heads/composite +++ b/spring-cloud-config-server/src/test/resources/config-repo/git/logs/refs/heads/composite @@ -1 +1,2 @@ 0000000000000000000000000000000000000000 7df4a26d5437d9d4090cd5809967f870444cde8f Ryan Baxter 1481905474 -0500 branch: Created from raw +7df4a26d5437d9d4090cd5809967f870444cde8f e488193e654487b7f43e38f0865860529cb2ec79 Ryan Baxter 1617653500 -0400 commit: updating bar diff --git a/spring-cloud-config-server/src/test/resources/config-repo/git/objects/8f/263e4c6e65fd3fb975fddba84231fe95416b66 b/spring-cloud-config-server/src/test/resources/config-repo/git/objects/8f/263e4c6e65fd3fb975fddba84231fe95416b66 new file mode 100644 index 0000000000000000000000000000000000000000..f5275fdda1fcd94a8b2428a69a61084524ca1203 GIT binary patch literal 99 zcmV-p0G$7L0V^p=O;xZkWiT`_Ff%bxNGvGG$xKcx$;{8wtIW+|xVGj9>)dsP6SEKH z8BF@nt@7mhnsrd6Nr^>z1x5JKzhMmg1|5_kNuloZoSRQ+)N(VBgZu93SIzUEAe(Jix$%V{0rTY>^PvnywGO{Qq5b RUnKV1bb%C``T*N{M}%))O-29! literal 0 HcmV?d00001 diff --git a/spring-cloud-config-server/src/test/resources/config-repo/git/refs/heads/composite b/spring-cloud-config-server/src/test/resources/config-repo/git/refs/heads/composite index 4389eb3a..43dbfb84 100644 --- a/spring-cloud-config-server/src/test/resources/config-repo/git/refs/heads/composite +++ b/spring-cloud-config-server/src/test/resources/config-repo/git/refs/heads/composite @@ -1 +1 @@ -7df4a26d5437d9d4090cd5809967f870444cde8f +e488193e654487b7f43e38f0865860529cb2ec79