@Test(priority = 1, groups = { "wso2.esb" },
description = "Google Contacts {retrieveContactsByQuery} method {Optional parameters} Integration Tests")
public void testRetrieveContactsByQueryOptionalParameters() throws Exception {
Map<String, String> paramMap = new HashMap<String, String>();
paramMap.put("requestUrl", "https://www.google.com/m8/feeds/contacts/default/full");
Query query = (Query) loadObjectFromFile("api_retrieveContactsByQuery_optional.xml", paramMap);
SOAPEnvelope esbSoapResponse = sendSOAPRequest(proxyUrl, "esb_retrieveContactsByQuery_optional.xml", paramMap);
ContactFeed contactFeed = directInvoker.getDirectInvokerContactsService().query(query, ContactFeed.class);
Assert.assertEquals(String.valueOf(contactFeed.getTotalResults()),
(String) xPathEvaluate(esbSoapResponse.getBody().getFirstElement(), "string(//openSearch:totalResults/text())", nameSpaceMap));
Assert.assertEquals(String.valueOf(contactFeed.getStartIndex()),
(String) xPathEvaluate(esbSoapResponse.getBody().getFirstElement(), "string(//openSearch:startIndex/text())", nameSpaceMap));
}