webmock
webmock copied to clipboard
Match regexes in an array
I'm trying to mock a service that takes an array of active storage urls but the matcher seems to mangle regexes I put in an array:
stub_request(:post, "http://service:8080/")
.with(
body: {
urls: [match(%r{https://example.com/rails/active_storage/disk})],
}
)
.to_return(status: 200, body: network_return)
gets me:
Body diff:
[["-",
"urls[0]",
"https://example.com/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDVG9JYTJWNVNTSWhOVGhsWWpoMmMzbGxiVzlxTW1jeWEyazRaMlJqZEdSdFoyZDJkd1k2QmtWVU9oQmthWE53YjNOcGRHbHZia2tpQWNCaGRIUmhZMmh0Wlc1ME95Qm1hV3hsYm1GdFpUMGlkak10Y0d4aGFXNTBaWGgwTFRBd01EQXdNREF3TFRBd01EQXRNREF3TUMwd01EQXdMVEF3TURBd01EQXdNREF3TUMweU1ESXhMVEEwTFRBeFZEQTFMVEF3TG1Wa1oyVmliRzlpSWpzZ1ptbHNaVzVoYldVcVBWVlVSaTA0SnlkMk15MXdiR0ZwYm5SbGVIUXRNREF3TURBd01EQXRNREF3TUMwd01EQXdMVEF3TURBdE1EQXdNREF3TURBd01EQXdMVEl3TWpFdE1EUXRNREZVTURVdE1EQXVaV1JuWldKc2IySUdPd1pVT2hGamIyNTBaVzUwWDNSNWNHVkpJaDFoY0hCc2FXTmhkR2x2Ymk5dlkzUmxkQzF6ZEhKbFlXMEdPd1pVT2hGelpYSjJhV05sWDI1aGJXVTZDWFJsYzNRPSIsImV4cCI6IjIwMjEtMDgtMDNUMTE6MTg6MzAuMTk4WiIsInB1ciI6ImJsb2Jfa2V5In19--c5e1597a9c4e5db029b458c6639e775f26897422/filename"],
["+",
"urls[0]",
/https:\/\/example.com\/rails\/active_storage\/disk/]]
@saty9 It's not something supported by WebMock, though possibly it will work with RSpec's hash_including.
E.g body: hash_including(urls: [....])