What is the best way to set up multiple Wiremock stubs using Spring Cloud Contract that have different hosts/ports and are both invoked in code exercised by a single @Test method? For example, I want to test ServiceA.doSomething(), and this method invokes ServiceB.doSomethingElse() and ConsulClient.getKVValue(). I have no problem creating one instance of WireMockRestServiceServer, but I haven't figured out how to create a second one to be used within the same test that points to a different base URL. The reason I'm trying to do this is because I need to stub out calls that we make to Consul, and I need these requests to always be sent to http://localhost:8500, whereby my other requests are sent through the load balanced RestTemplate. I hope I've explained my scenario clearly.
Using Spring Cloud Contract, how can I set up multiple Wiremock stubs for different hosts/ports?
1.5k views Asked by Keith Bennett At
1
There are 1 answers
Related Questions in SPRING-CLOUD-CONTRACT
- How WireMock matching criteria works?
- How to set up authentication on @AutoConfigureStubRunner?
- How to execute multiple contracts in single groovy test file using Spring Cloud Contract Test framework?
- Spring Boot 3 migration spring-cloud-starter-contract-verifier and MessageVerifierReceiver
- Spring cloud contract Stub runner wire mock request was not matched'
- Spring Cloud Contract 4.0 No signature of method: messageFrom()
- Spring Cloud Contract Test + Gradle + Kotlin DSL : Contracts are not found
- How to use different mapping files for different test methods?
- How to chain two Spring Cloud Contracts
- Spring Cloud Contract wrong stub for empty body
- Adding Spring Cloud Contract Stubrunner dependency causes Spring Security `ServerHttpSecurity` to not be autowire-able when running JUnit 5 tests
- Spring Cloud Contract, "strict" mode?
- Unable to mark a Contract as inProgress() with Spring Cloud Contract
- spring cloud contract add description to auto generated method
- Spring Cloud Contract dockerized stub runner - Trigger message from non-jvm application
Related Questions in SPRING-CLOUD-CONSUL
- Accessed Consul cluster's KV store with TLS and ACL enabled through code, but Spring Boot configuration failure
- How do I get the list of tags for a Spring LoadBalancer client connected to Consul?
- How to avoid 404 on Consul Config Watch for Spring Boot?
- Spring cloud consul use in spring application
- Circular dependencies between spring included components?
- How to refresh CachingRouteLocator in spring cloud gateway and Consul
- Service Discovery not working when using WebClient with Consul
- Spring boot service registry
- Failed to bind properties under 'spring.cloud.consul.config' #820
- Spring Cloud Gateway and Consul - All service checks failing
- spring-cloud.version to be used for spring boot version 2.6.6
- Load Balancer with Spring WebClient and Consul
- Spring Boot App doesn't update new value from consul
- Spring Cloud Consul Cluster connecting with spring boot
- What is the order of properties precedence in spring boot app
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
In terms of Stub Runner you can have a HttpStub server per a dependency - you just provide a different port to the string based notation of your dependency. Example
@AutoConfigureStubRunner(ids = {"com.example:beer-api-producer:+:stubs:8090", "a.b:artifact:0.0.1.RELEASE:prod-stubs:9999"}). You can stub out the load balanced stuff like we describe here - http://cloud.spring.io/spring-cloud-contract/1.0.x/spring-cloud-contract.html#_stub_runner_spring_cloud