mirror of
https://github.com/wiremock/WireMock.Net.git
synced 2026-01-11 21:10:32 +01:00
WithWatchStaticMappings doesn't respect new files #636
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @mantasburokas on GitHub (Oct 2, 2024).
Originally assigned to: @StefH on GitHub.
Describe the bug
"--WatchStaticMappings true" command doesn't respect new files copied. This is a bit annoying in docker in docker configuration where I can't bind mappings using WithMappings() as docker bind always references the host and not the parent container.
Expected behavior:
On new file copy static mappings are read.
Test to reproduce
Check mappings or make request
Other related info
Workaround exists using admin client:
await _wireMockContainer.CreateWireMockAdminClient().ResetMappingsAsync(true);@StefH commented on GitHub (Oct 2, 2024):
Sounds familiar.
Related to this?
eb7e6c397f/src/WireMock.Net.Aspire/WireMockServerBuilderExtensions.cs (L57)@mantasburokas commented on GitHub (Oct 2, 2024):
If that's the correct use then no dice - mappings are still empty.
@StefH commented on GitHub (Oct 2, 2024):
Mmm.
The only thing I can build is a simple polling to a new rest endpoint like
/__admin/mappings/readStaticMappings.@StefH commented on GitHub (Oct 2, 2024):
https://github.com/WireMock-Net/WireMock.Net/pull/1189
@StefH commented on GitHub (Oct 2, 2024):
@mantasburokas
Can you try 1.6.7-preview-01 ?
(Make sure to delete your local ":latest" image for WireMock.Net)
Note that I only tested on windows.
@mantasburokas commented on GitHub (Oct 3, 2024):
I have deleted all existing images and containers, upgraded the package but still no mappings. Added a breakpoint on CopyAsync to observe if maybe mappings appear after some delay but they don't. I also ran the unit tests on windows.
@StefH commented on GitHub (Oct 3, 2024):
Ah sorry I misunderstood your question.
I thought you were just using this to mount this folder to the internal __admin/mappings folder.
This has been solved in the preview version.
BTW, when running on windows and using a windows container, the second argument should be
c:\\app\\__admin\\mappings?@mantasburokas commented on GitHub (Oct 3, 2024):
Yeah, but I am running on windows for local setup and using linux containers. So just to re-iterate, the problem is that WithMappings() works as expected on local setup but in docker in docker configuration I can't mount the path from parent container. That's why I'd like to copy the mappings directory by hand and expect the watch flag to pick it up.
@StefH commented on GitHub (Oct 3, 2024):
Can you give an example how you use these multiple docker containers?
@mantasburokas commented on GitHub (Oct 3, 2024):
I can prepare a test solution but I am bit busy this week. Basically I have dockerfile that runs my tests and since my tests run in docker then wiremock becomes a docker in docker setup.
@StefH commented on GitHub (Oct 3, 2024):
What happens when you just go into the WireMock.Net container and
touchor create a file? Is there an update triggered? (You can checkout the logs to see this).@StefH commented on GitHub (Oct 6, 2024):
Please test new version: 1.6.7-preview-02 (make sure to delete the all local versions to be sure you get the latest)
When you do a CopyAsync after the container is started, the new mapping will be processed.
And I noticed that when using CopyAsync in a Windows Container, I get error:
@StefH commented on GitHub (Oct 24, 2024):
@mantasburokas did you have time to test that version?
@StefH commented on GitHub (Oct 29, 2024):
@mantasburokas did you have time to test that version?
@StefH commented on GitHub (Nov 9, 2024):
Hello @mantasburokas, can you please test that version?