package com.braintreegateway.integrationtest; import com.braintreegateway.TransactionRequest; import com.braintreegateway.testhelpers.TestHelper; import org.junit.Test; import static org.junit.Assert.assertEquals; public class TransactionRequestIT { @Test public void toQueryStringWithNestedCustomer() { TransactionRequest request = new TransactionRequest(). customer(). firstName("Drew"). done(); assertEquals("transaction%5Bcustomer%5D%5Bfirst_name%5D=Drew", request.toQueryString()); } @Test public void customFieldsEscapesKeysAndValues() { TransactionRequest request = new TransactionRequest().customField("ke&y", "va<lue"); TestHelper.assertIncludes("<customFields><ke&y>va<lue</ke&y></customFields>", request.toXML()); } @Test public void toXmlIncludesSecurityParams() { TransactionRequest request = new TransactionRequest(). deviceSessionId("device_session"). fraudMerchantId("fraud_merchant"); TestHelper.assertIncludes("device_session", request.toXML()); TestHelper.assertIncludes("fraud_merchant", request.toXML()); } @Test public void toXmlIncludesBundle() { TransactionRequest request = new TransactionRequest().deviceData("{\"device_session_id\": \"mydsid\", \"fraud_merchant_id\": \"myfmid\"}"); TestHelper.assertIncludes("mydsid", request.toXML()); TestHelper.assertIncludes("myfmid", request.toXML()); } @Test public void toXmlIncludesAdvancedFraudCheckingFlag() { TransactionRequest request = new TransactionRequest(). options(). skipAdvancedFraudChecking(false). done(); TestHelper.assertIncludes("<skipAdvancedFraudChecking>false</skipAdvancedFraudChecking>", request.toXML()); } }