diff --git a/spring-cloud-contract-wiremock/src/main/java/org/springframework/cloud/contract/wiremock/file/ResourcesFileSource.java b/spring-cloud-contract-wiremock/src/main/java/org/springframework/cloud/contract/wiremock/file/ResourcesFileSource.java index e5d8c9c263..379cbf076c 100644 --- a/spring-cloud-contract-wiremock/src/main/java/org/springframework/cloud/contract/wiremock/file/ResourcesFileSource.java +++ b/spring-cloud-contract-wiremock/src/main/java/org/springframework/cloud/contract/wiremock/file/ResourcesFileSource.java @@ -112,7 +112,7 @@ public class ResourcesFileSource implements FileSource { try { UrlResource uri = new UrlResource(resource.getUri()); if (uri.exists()) { - Resource relativeResource = uri.createRelative(name); + Resource relativeResource = new UrlResource(uri.getURI() + "/" + name); if (relativeResource.exists()) { return resource.getBinaryFileNamed(name); } diff --git a/spring-cloud-contract-wiremock/src/test/java/org/springframework/cloud/contract/wiremock/file/ResourcesFileSourceTest.java b/spring-cloud-contract-wiremock/src/test/java/org/springframework/cloud/contract/wiremock/file/ResourcesFileSourceTest.java index b7d4ae3d9b..a83c5e6707 100644 --- a/spring-cloud-contract-wiremock/src/test/java/org/springframework/cloud/contract/wiremock/file/ResourcesFileSourceTest.java +++ b/spring-cloud-contract-wiremock/src/test/java/org/springframework/cloud/contract/wiremock/file/ResourcesFileSourceTest.java @@ -30,16 +30,16 @@ class ResourcesFileSourceTest { @DisplayName("find all files in the multiple files directories.") @Test void child() { - //given + // given Resource resource1 = new ClassPathResource("src/test/resources/files_banner"); Resource resource2 = new ClassPathResource("src/test/resources/files_notice"); ResourcesFileSource resourcesFileSource = new ResourcesFileSource(resource1, resource2); - //when + // when String filesDirName = "__files"; FileSource fileSource = resourcesFileSource.child(filesDirName); - //then + // then assertThat(fileSource).isInstanceOf(ResourcesFileSource.class); assertThat(fileSource.listFilesRecursively()).hasSize(4); } @@ -47,13 +47,14 @@ class ResourcesFileSourceTest { @DisplayName("find a mapped response file in multiple directories.") @Test void getBinaryFileNamed() { - //given + // given Resource resource1 = new ClassPathResource("src/test/resources/files_banner/__files"); Resource resource2 = new ClassPathResource("src/test/resources/files_notice/__files"); ResourcesFileSource resourcesFileSource = new ResourcesFileSource(resource1, resource2); - //when & then + // when & then assertThat(resourcesFileSource.getBinaryFileNamed("response-bannerList-success.json").getStream()).isNotEmpty(); assertThat(resourcesFileSource.getBinaryFileNamed("response-noticeList-success.json").getStream()).isNotEmpty(); } + }