You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Relative response body file paths are converted to absolute paths prior to launching the native Hoverfly process. On Windows, the conversion results in a string that doesn't represent a valid Windows path (e.g.C:\\C:\\Users\\...) and the Hoverfly process returns an error.
Steps to reproduce the issue
Run the ResponseBodyFileTest test class on Windows.
Observed result
Tests shouldResolveResponseBodyFilesInDefaultHoverflyFolder, shouldResolveResponseBodyFilesInTestResourcesFolder and shouldWorksWithDsl all fail. For instance,shouldResolveResponseBodyFilesInDefaultHoverflyFolder logs the following when run on Windows 10:
2025-01-26 15:13:34,200 [INFO ] i.s.h.j.c.TempFileManager Selecting the following binary based on the current operating system: hoverfly_windows_amd64.exe
2025-01-26 15:13:34,232 [INFO ] i.s.h.j.c.TempFileManager Storing binary in temporary directory C:\Users\mark\AppData\Local\Temp\hoverfly.6856899247979433770\hoverfly_windows_amd64.exe
2025-01-26 15:13:34,278 [INFO ] i.s.h.j.c.Hoverfly Executing binary at C:\Users\mark\AppData\Local\Temp\hoverfly.6856899247979433770\hoverfly_windows_amd64.exe
2025-01-26 15:13:35,500 [INFO ] hoverfly Default proxy port has been overwritten port=65183
2025-01-26 15:13:35,509 [INFO ] hoverfly Default admin port has been overwritten port=65184
2025-01-26 15:13:35,509 [INFO ] hoverfly Using memory backend
2025-01-26 15:13:35,509 [INFO ] hoverfly Proxy prepared... Destination=. Mode=simulate ProxyPort=65183
2025-01-26 15:13:35,509 [INFO ] hoverfly current proxy configuration destination=. mode=simulate port=65183
2025-01-26 15:13:35,509 [INFO ] hoverfly serving proxy
2025-01-26 15:13:35,509 [INFO ] hoverfly Admin interface is starting... AdminPort=65184
2025-01-26 15:13:35,681 [INFO ] i.s.h.j.c.Hoverfly A local Hoverfly with version v1.10.7 is ready
2025-01-26 15:13:35,710 [INFO ] hoverfly Mode has been changed mode=simulate
2025-01-26 15:13:35,713 [INFO ] i.s.h.j.c.ProxyConfigurer Setting proxy host to localhost
2025-01-26 15:13:35,713 [INFO ] i.s.h.j.c.ProxyConfigurer Setting proxy proxyPort to 65183
2025-01-26 15:13:35,713 [INFO ] i.s.h.j.c.Hoverfly Importing simulation data to Hoverfly
2025-01-26 15:13:35,736 [WARN ] i.s.h.j.a.HoverflyClient Failed to set simulation: Unexpected response (code=500, message={"error":"An error occurred: data.pairs[0].response open C:\\C:\\Users\\mark\\Development\\GitHub\\codebrewer-forks\\hoverfly-java\\build\\resources\\test\\hoverfly\\responses\\booking-200.json: The filename, directory name, or volume label syntax is incorrect."})
2025-01-26 15:13:35,736 [INFO ] i.s.h.j.c.Hoverfly Destroying hoverfly process
Failed to set simulation: Unexpected response (code=500, message={"error":"An error occurred: data.pairs[0].response open C:\\C:\\Users\\mark\\Development\\GitHub\\codebrewer-forks\\hoverfly-java\\build\\resources\\test\\hoverfly\\responses\\booking-200.json: The filename, directory name, or volume label syntax is incorrect."})
io.specto.hoverfly.junit.api.HoverflyClientException: Failed to set simulation: Unexpected response (code=500, message={"error":"An error occurred: data.pairs[0].response open C:\\C:\\Users\\mark\\Development\\GitHub\\codebrewer-forks\\hoverfly-java\\build\\resources\\test\\hoverfly\\responses\\booking-200.json: The filename, directory name, or volume label syntax is incorrect."})
at io.specto.hoverfly.junit.api.OkHttpHoverflyClient.setSimulation(OkHttpHoverflyClient.java:104)
at io.specto.hoverfly.junit.core.Hoverfly.simulate(Hoverfly.java:302)
at io.specto.hoverfly.junit.core.ResponseBodyFileTest.shouldResolveResponseBodyFilesInDefaultHoverflyFolder(ResponseBodyFileTest.java:30)
...
Note the filename present in the error message: C:\\C:\\Users\\...
As a consequence (and my actual use case...) attempting to use a relative response body file path via the DSL fails.
Expected result
The unit test should pass and, as a consequence, the DSL should function correctly with relative response body file paths - but see item 3 below.
Additional relevant information
If not indicated above:
Hoverfly Java version: 0.19.1;
It's a straightforward fix and I'll raise a PR;
Fixing this bug isn't sufficient to allow the failing ResponseBodyFileTest tests to pass (or the DSL to be used successfully with a relative response body file path) due to a Windows-specific bug in Hoverfly itself - I'll raise an issue and PR against SpectoLabs/hoverfly for that and link them here.
The text was updated successfully, but these errors were encountered:
Description of the bug
Relative response body file paths are converted to absolute paths prior to launching the native Hoverfly process. On Windows, the conversion results in a string that doesn't represent a valid Windows path (e.g.
C:\\C:\\Users\\...
) and the Hoverfly process returns an error.Steps to reproduce the issue
Run the
ResponseBodyFileTest
test class on Windows.Observed result
Tests
shouldResolveResponseBodyFilesInDefaultHoverflyFolder
,shouldResolveResponseBodyFilesInTestResourcesFolder
andshouldWorksWithDsl
all fail. For instance,shouldResolveResponseBodyFilesInDefaultHoverflyFolder
logs the following when run on Windows 10:Note the filename present in the error message:
C:\\C:\\Users\\...
As a consequence (and my actual use case...) attempting to use a relative response body file path via the DSL fails.
Expected result
The unit test should pass and, as a consequence, the DSL should function correctly with relative response body file paths - but see item 3 below.
Additional relevant information
If not indicated above:
ResponseBodyFileTest
tests to pass (or the DSL to be used successfully with a relative response body file path) due to a Windows-specific bug in Hoverfly itself - I'll raise an issue and PR against SpectoLabs/hoverfly for that and link them here.The text was updated successfully, but these errors were encountered: