+ @Test
+ public void validateSuccessfulPost_withMultivaluedHeader() throws Exception {
+ RestClient restClient = buildClient();
+
+ MultivaluedMap<String, String> headerMap = new MultivaluedHashMap<>();
+
+ headerMap.add("txnId", "123");
+ headerMap.add("txnId", "456");
+ headerMap.add("txnId", "789");
+
+ OperationResult result = restClient.post(TEST_URL, "", headerMap, MediaType.APPLICATION_JSON_TYPE,
+ MediaType.APPLICATION_JSON_TYPE);
+
+ // capture the txnId header from the outgoing request
+ ArgumentCaptor<String> txnIdHeaderName = ArgumentCaptor.forClass(String.class);
+ ArgumentCaptor<String> txnIdHeaderValue = ArgumentCaptor.forClass(String.class);
+
+ Mockito.verify(mockedBuilder, Mockito.atLeast(1)).header(txnIdHeaderName.capture(), txnIdHeaderValue.capture());
+ assertEquals("123;456;789", txnIdHeaderValue.getValue());
+
+ assertEquals(Response.Status.OK.getStatusCode(), result.getResultCode());
+ assertNotNull(result.getResult());
+ assertNull(result.getFailureCause());
+ }
+