@Test
public void testValidOperations() throws BatchJobException, IOException, SAXException {
RequestT request = createMutateRequest();
addBudgetOperation(request, -1L, "Test budget", 50000000L, "STANDARD");
addCampaignOperation(
request, -2L, "Test campaign #1", "PAUSED", "SEARCH", -1L, "MANUAL_CPC", false);
addCampaignOperation(
request, -3L, "Test campaign #2", "PAUSED", "SEARCH", -1L, "MANUAL_CPC", false);
addCampaignNegativeKeywordOperation(request, -2L, "venus", "BROAD");
addCampaignNegativeKeywordOperation(request, -3L, "venus", "BROAD");
ByteArrayContent httpContent =
request.createBatchJobUploadBodyProvider().getHttpContent(request, true, true);
String actualRequestXml = Streams.readAll(httpContent.getInputStream(), Charset.forName(UTF_8));
actualRequestXml =
SoapRequestXmlProvider.normalizeXmlForComparison(actualRequestXml, getApiVersion());
String expectedRequestXml = SoapRequestXmlProvider.getTestBatchUploadRequest(getApiVersion());
Diff diff = new Diff(expectedRequestXml, actualRequestXml);
DifferenceListener diffListener = new CustomDifferenceListener();
diff.overrideDifferenceListener(diffListener);
XMLAssert.assertXMLEqual("Serialized upload request does not match expected XML", diff, true);
}
}