### Question:
PrimingClient { public void multiPrime(MultiPrimeRequest primeRequest) throws PrimeFailedException { String jsonAsString = gson.toJson(primeRequest); System.out.println(jsonAsString); prime(primeRequest, primePreparedMultiUrl); } private  PrimingClient(String host, int port); static PrimingClientBuilder builder(); void prime(PrimingRequest prime); void prime(PrimingRequest.PrimingRequestBuilder prime); void primeBatch(BatchPrimingRequest batchPrimingRequest); void primeBatch(BatchPrimingRequest.BatchPrimingRequestBuilder batchPrimingRequest); void multiPrime(MultiPrimeRequest primeRequest); @Deprecated void primeQuery(PrimingRequest primeRequest); @Deprecated void primePreparedStatement(PrimingRequest primeRequest); List<PrimingRequest> retrievePreparedPrimes(); List<MultiPrimeRequest> retrievePreparedMultiPrimes(); List<PrimingRequest> retrieveQueryPrimes(); void clearAllPrimes(); void clearQueryPrimes(); void clearPreparedPrimes(); void clearPreparedMultiPrimes(); void clearBatchPrimes(); static final String DELETING_OF_PRIMES_FAILED; static final String PRIMING_FAILED; }### Answer:
@Test public void testMultiPrime() throws Exception { stubFor(post(urlEqualTo(PRIME_PREPARED_MULTI_PATH)).willReturn(aResponse().withStatus(200))); MultiPrimeRequest prime = MultiPrimeRequest.request() .withWhen(when() .withQuery("select * from person where name = ?")) .withThen(then() .withVariableTypes(TEXT) .withOutcomes(outcome(match().withVariableMatchers(exactMatch().withMatcher("Chris").build()), action())) ) .build(); underTest.multiPrime(prime); verify(postRequestedFor(urlEqualTo(PRIME_PREPARED_MULTI_PATH)) .withHeader("Content-Type", equalTo("application/json; charset=UTF-8")) .withRequestBody(equalToJson("{\"when\":{\"query\":\"select * from person where name \\u003d ?\"}," + "\"then\":{\"variable_types\":[\"text\"],\"outcomes\":[{\"criteria\":" + "{\"variable_matcher\":[{\"matcher\":\"Chris\",\"type\":\"exact\"}]},\"action\":{}}]}}")) ); }