def testExtraField(self): auth = litleXmlFields.authorization() auth.orderId = '1234' auth.amount = 106 auth.orderSource = 'ecommerce' auth.extraField = "extra" auth.id="id" card = litleXmlFields.cardType() card.number = "4100000000000000" card.expDate = "1210" card.type = 'VI' auth.card = card comm = Communications(config) comm.http_post = MagicMock() litle = litleOnlineRequest(config) litle.setCommunications(comm) litle._processResponse = MagicMock(return_value=None) litle.sendRequest(auth) comm.http_post.assert_called_once() match_re = RegexMatcher(".*?<litleOnlineRequest.*?<authorization.*?</orderSource><card>.*?<number>4100000000000000</number>.*?</card>.*?</authorization>.*?") comm.http_post.assert_called_with(match_re, url=ANY, proxy=ANY, timeout=ANY)
def testUpdateSubscription(self): update = litleXmlFields.updateSubscription() update.billingDate = '2013-08-07' billToAddress = litleXmlFields.contact() billToAddress.name = 'Greg Dake' billToAddress.city = 'Lowell' billToAddress.state = 'MA' billToAddress.email = "*****@*****.**" update.billToAddress = billToAddress card = litleXmlFields.cardType() card.number = '4100000000000001' card.expDate = '1215' card.type = 'VI' update.card = card update.planCode = 'abcdefg' update.subscriptionId = '12345' comm = Communications(config) comm.http_post = MagicMock() litle = litleOnlineRequest(config) litle.setCommunications(comm) litle._processResponse = MagicMock(return_value=None) litle.sendRequest(update) comm.http_post.assert_called_once() match_re = RegexMatcher(".*?<litleOnlineRequest.*?<updateSubscription><subscriptionId>12345</subscriptionId><planCode>abcdefg</planCode><billToAddress><name>Greg Dake</name><city>Lowell</city><state>MA</state><email>[email protected]</email></billToAddress><card><type>VI</type><number>4100000000000001</number><expDate>1215</expDate></card><billingDate>2013-08-07</billingDate></updateSubscription></litleOnlineRequest>.*?") comm.http_post.assert_called_with(match_re, url=ANY, proxy=ANY, timeout=ANY)
def testTrackData(self): authorization = litleXmlFields.authorization() authorization.id = 'AX54321678' authorization.reportGroup = 'RG27' authorization.orderId = '12z58743y1' authorization.amount = 12522 authorization.orderSource = 'retail' billToAddress = litleXmlFields.contact() billToAddress.zip = '95032' authorization.billToAddress = billToAddress card = litleXmlFields.cardType() card.track = "%B40000001^Doe/JohnP^06041...?;40001=0604101064200?" authorization.card = card pos = litleXmlFields.pos() pos.capability = 'magstripe' pos.entryMode = 'completeread' pos.cardholderId = 'signature' authorization.pos = pos litleXml = litleOnlineRequest(self.config) response = litleXml.sendRequest(authorization) assert(response.message == 'Approved')
def testCustomerInfoDob(self): auth = litleXmlFields.authorization(); auth.reportGroup = 'Planets' auth.orderId = '12344' auth.amount = 106 auth.orderSource = 'ecommerce' auth.id="id" card = litleXmlFields.cardType() card.type = 'VI' card.number = '4100000000000002' card.expDate = '1210' auth.card = card customerInfo = litleXmlFields.customerInfo() customerInfo.dob = '1980-04-14' auth.customerInfo = customerInfo comm = Communications(config) comm.http_post = MagicMock() litle = litleOnlineRequest(config) litle.setCommunications(comm) litle._processResponse = MagicMock(return_value=None) litle.sendRequest(auth) comm.http_post.assert_called_once() match_re = RegexMatcher(".*?<litleOnlineRequest.*?<authorization.*?<dob>1980-04-14</dob>.*?</authorization>.*?") comm.http_post.assert_called_with(match_re, url=ANY, proxy=ANY, timeout=ANY)
def testCreditWithSecondaryAmountFirst(self): credit = litleXmlFields.credit() credit.orderId = "12344" credit.orderSource = 'ecommerce' credit.secondaryAmount = 100 card = litleXmlFields.cardType() card.type = 'VI' card.number = "4100000000000001" card.expDate = "1210" credit.card = card comm = Communications(config) comm.http_post = MagicMock() litle = litleOnlineRequest(config) litle.setCommunications(comm) litle._processResponse = MagicMock(return_value=None) litle.sendRequest(credit) comm.http_post.assert_called_once() match_re = RegexMatcher( ".*?<litleOnlineRequest.*?<credit.*?<secondaryAmount>100</secondaryAmount>.*?<card>.*?<number>4100000000000001</number>.*?</card>.*?</credit>.*?" ) comm.http_post.assert_called_with(match_re, url=ANY, proxy=ANY, timeout=ANY)
def testAuthWithcustomAttributeOneToFive(self): authorization = litleXmlFields.authorization() authorization.orderId = '1234' authorization.amount = 106 authorization.orderSource = 'ecommerce' advancedFraudChecksType=litleXmlFields.advancedFraudChecksType() advancedFraudChecksType.customAttribute1='stringlength200' advancedFraudChecksType.customAttribute2='stringlength200' advancedFraudChecksType.customAttribute3='stringlength200' advancedFraudChecksType.customAttribute4='stringlength200' advancedFraudChecksType.customAttribute5='stringlength200' card = litleXmlFields.cardType() card.number = "4100000000000000" card.expDate = "1210" card.type = 'VI' authorization.card = card authorization.advancedFraudChecks=advancedFraudChecksType comm = Communications(config) comm.http_post = MagicMock() litle = litleOnlineRequest(config) litle.setCommunications(comm) litle._processResponse = MagicMock(return_value=None) litle.sendRequest(authorization) comm.http_post.assert_called_once() match_re = RegexMatcher(".*?<litleOnlineRequest.*?<authorization.*?<card>.*?<number>4100000000000000</number>.*?</card>.*?<advancedFraudChecks.*?<customAttribute4>stringlength200</customAttribute4>.*?</advancedFraudChecks></authorization>.*?") comm.http_post.assert_called_with(match_re, url=ANY, proxy=ANY, timeout=ANY)
def testCaptureGivenAuthWithSecondaryAmount(self): capturegivenauth = litleXmlFields.captureGivenAuth() capturegivenauth.amount = 106 capturegivenauth.orderId = "12344" capturegivenauth.secondaryAmount=100 authinfo = litleXmlFields.authInformation() date = pyxb.binding.datatypes.date(2002, 10, 9) authinfo.authDate = date authinfo.authCode = "543216" authinfo.authAmount = 12345 capturegivenauth.authInformation = authinfo capturegivenauth.orderSource = 'ecommerce' card = litleXmlFields.cardType() card.type = 'VI' card.number = "4100000000000001" card.expDate = "1210" capturegivenauth.card = card comm = Communications(config) comm.http_post = MagicMock() litle = litleOnlineRequest(config) litle.setCommunications(comm) litle._processResponse = MagicMock(return_value=None) litle.sendRequest(capturegivenauth) comm.http_post.assert_called_once() match_re = RegexMatcher(".*?<litleOnlineRequest.*?<captureGivenAuth.*?<secondaryAmount>100</secondaryAmount>.*?<card>.*?<number>4100000000000001</number>.*?</card>.*?</captureGivenAuth>.*?") comm.http_post.assert_called_with(match_re, url=ANY, proxy=ANY, timeout=ANY)
def testComplexCaptureGivenAuth(self): CaptureGivenAuth = litleXmlFields.captureGivenAuth() CaptureGivenAuth.amount = 106 CaptureGivenAuth.secondaryAmount = 10 CaptureGivenAuth.orderId = "12344" AuthInfo = litleXmlFields.authInformation() date = pyxb.binding.datatypes.date(2002, 10, 9) AuthInfo.authDate = date AuthInfo.authCode = "543216" AuthInfo.authAmount = 12345 CaptureGivenAuth.authInformation = AuthInfo Contact = litleXmlFields.contact() Contact.name = "Bob" Contact.city = "lowell" Contact.state = "MA" Contact.email = "litle.com" CaptureGivenAuth.billToAddress = Contact ProcessingInstruct = litleXmlFields.processingInstructions() ProcessingInstruct.bypassVelocityCheck = True CaptureGivenAuth.processingInstructions = ProcessingInstruct CaptureGivenAuth.orderSource = "ecommerce" Card = litleXmlFields.cardType() Card.number = "4100000000000000" Card.expDate = "1210" Card.type = 'VI' Card.cardValidationNum = '1210' CaptureGivenAuth.card = Card litleXml = litleOnlineRequest(self.config) response = litleXml.sendRequest(CaptureGivenAuth) assert(response.message == "Approved")
def testCustomerInfoDob(self): auth = litleXmlFields.authorization(); auth.reportGroup = 'Planets' auth.orderId = '12344' auth.amount = 106 auth.orderSource = 'ecommerce' card = litleXmlFields.cardType() card.type = 'VI' card.number = '4100000000000002' card.expDate = '1210' auth.card = card customerInfo = litleXmlFields.customerInfo() customerInfo.dob = '1980-04-14' auth.customerInfo = customerInfo comm = Communications(config) comm.http_post = MagicMock() litle = litleOnlineRequest(config) litle.setCommunications(comm) litle._processResponse = MagicMock(return_value=None) litle.sendRequest(auth) comm.http_post.assert_called_once() match_re = RegexMatcher(".*?<litleOnlineRequest.*?<authorization.*?<dob>1980-04-14</dob>.*?</authorization>.*?") comm.http_post.assert_called_with(match_re, url=ANY, proxy=ANY, timeout=ANY)
def card_fixture(): card = litleXmlFields.cardType() card.number = "4100000000000000" card.expDate = "1210" card.type = 'VI' return card
def testForceCaptureWithSecondaryAmount(self): forcecapture = litleXmlFields.forceCapture() forcecapture.amount = 106 forcecapture.orderId = "12344" forcecapture.orderSource = 'ecommerce' forcecapture.secondaryAmount = 100 forcecapture.id="id" card = litleXmlFields.cardType() card.type = 'VI' card.number = "4100000000000001" card.expDate = "1210" forcecapture.card = card comm = Communications(config) comm.http_post = MagicMock() litle = litleOnlineRequest(config) litle.setCommunications(comm) litle._processResponse = MagicMock(return_value=None) litle.sendRequest(forcecapture) comm.http_post.assert_called_once() match_re = RegexMatcher(".*?<litleOnlineRequest.*?<forceCapture.*?<secondaryAmount>100</secondaryAmount>.*?<card>.*?<number>4100000000000001</number>.*?</card>.*?</forceCapture>.*?") comm.http_post.assert_called_with(match_re, url=ANY, proxy=ANY, timeout=ANY)
def testSale(self): sale = litleXmlFields.sale() sale.amount = 106 sale.litleTxnId = 123456 sale.orderId = "12344" sale.orderSource = 'ecommerce' sale.id="id" card = litleXmlFields.cardType() card.type = 'VI' card.number = "4100000000000002" card.expDate = "1210" sale.card = card comm = Communications(config) comm.http_post = MagicMock() litle = litleOnlineRequest(config) litle.setCommunications(comm) litle._processResponse = MagicMock(return_value=None) litle.sendRequest(sale) comm.http_post.assert_called_once() match_re = RegexMatcher(".*?<litleOnlineRequest.*?<sale.*?<card>.*?<number>4100000000000002</number>.*?</card>.*?</sale>.*?") comm.http_post.assert_called_with(match_re, url=ANY, proxy=ANY, timeout=ANY)
def testCaptureGivenAuthWithSecondaryAmount(self): capturegivenauth = litleXmlFields.captureGivenAuth() capturegivenauth.amount = 106 capturegivenauth.orderId = "12344" capturegivenauth.secondaryAmount=100 capturegivenauth.id="id" authinfo = litleXmlFields.authInformation() date = pyxb.binding.datatypes.date(2002, 10, 9) authinfo.authDate = date authinfo.authCode = "543216" authinfo.authAmount = 12345 capturegivenauth.authInformation = authinfo capturegivenauth.orderSource = 'ecommerce' card = litleXmlFields.cardType() card.type = 'VI' card.number = "4100000000000001" card.expDate = "1210" capturegivenauth.card = card comm = Communications(config) comm.http_post = MagicMock() litle = litleOnlineRequest(config) litle.setCommunications(comm) litle._processResponse = MagicMock(return_value=None) litle.sendRequest(capturegivenauth) comm.http_post.assert_called_once() match_re = RegexMatcher(".*?<litleOnlineRequest.*?<captureGivenAuth.*?<secondaryAmount>100</secondaryAmount>.*?<card>.*?<number>4100000000000001</number>.*?</card>.*?</captureGivenAuth>.*?") comm.http_post.assert_called_with(match_re, url=ANY, proxy=ANY, timeout=ANY)
def testAuthWithcustomAttributeOneToFive(self): authorization = litleXmlFields.authorization() authorization.orderId = '1234' authorization.amount = 106 authorization.orderSource = 'ecommerce' authorization.id="id" advancedFraudChecksType=litleXmlFields.advancedFraudChecksType() advancedFraudChecksType.customAttribute1='stringlength200' advancedFraudChecksType.customAttribute2='stringlength200' advancedFraudChecksType.customAttribute3='stringlength200' advancedFraudChecksType.customAttribute4='stringlength200' advancedFraudChecksType.customAttribute5='stringlength200' card = litleXmlFields.cardType() card.number = "4100000000000000" card.expDate = "1210" card.type = 'VI' authorization.card = card authorization.advancedFraudChecks=advancedFraudChecksType comm = Communications(config) comm.http_post = MagicMock() litle = litleOnlineRequest(config) litle.setCommunications(comm) litle._processResponse = MagicMock(return_value=None) litle.sendRequest(authorization) comm.http_post.assert_called_once() match_re = RegexMatcher(".*?<litleOnlineRequest.*?<authorization.*?<card>.*?<number>4100000000000000</number>.*?</card>.*?<advancedFraudChecks.*?<customAttribute4>stringlength200</customAttribute4>.*?</advancedFraudChecks></authorization>.*?") comm.http_post.assert_called_with(match_re, url=ANY, proxy=ANY, timeout=ANY)
def testAuthInfo(self): CaptureGivenAuth = litleXmlFields.captureGivenAuth() CaptureGivenAuth.amount = 106 CaptureGivenAuth.orderId = "12344" AuthInfo = litleXmlFields.authInformation() date = pyxb.binding.datatypes.date(2002, 10, 9) AuthInfo.authDate = date AuthInfo.authCode = "543216" AuthInfo.authAmount = 12345 FraudResult = litleXmlFields.fraudResult() FraudResult.avsResult = "12" FraudResult.cardValidationResult = "123" FraudResult.authenticationResult = "1" FraudResult.advancedAvsResult = "123" AuthInfo.fraudResult = FraudResult CaptureGivenAuth.authInformation = AuthInfo CaptureGivenAuth.orderSource = "ecommerce" Card = litleXmlFields.cardType() Card.number = "4100000000000000" Card.expDate = "1210" Card.type = 'VI' Card.cardValidationNum = '555' CaptureGivenAuth.card = Card litleXml = litleOnlineRequest(self.config) response = litleXml.sendRequest(CaptureGivenAuth) assert(response.message == "Approved")
def testSale(self): sale = litleXmlFields.sale() sale.amount = 106 sale.litleTxnId = 123456 sale.orderId = "12344" sale.orderSource = 'ecommerce' card = litleXmlFields.cardType() card.type = 'VI' card.number = "4100000000000002" card.expDate = "1210" sale.card = card comm = Communications(config) comm.http_post = MagicMock() litle = litleOnlineRequest(config) litle.setCommunications(comm) litle._processResponse = MagicMock(return_value=None) litle.sendRequest(sale) comm.http_post.assert_called_once() match_re = RegexMatcher(".*?<litleOnlineRequest.*?<sale.*?<card>.*?<number>4100000000000002</number>.*?</card>.*?</sale>.*?") comm.http_post.assert_called_with(match_re, url=ANY, proxy=ANY, timeout=ANY)
def createTestSale(amount, orderId): sale = litleXmlFields.sale() sale.amount = amount sale.orderId = orderId sale.orderSource = 'ecommerce' card = litleXmlFields.cardType() card.type = 'VI' card.number = "4100000000000001" card.expDate = "1210" sale.card = card sale.reportGroup = 'test' return sale
def testInvalidEnum(self): auth = litleXmlFields.authorization() auth.orderId = '1234' auth.amount = 106 auth.orderSource = 'ecommerce' auth.extraField = "extra" card = litleXmlFields.cardType() card.number = "4100000000000000" card.expDate = "1210" with self.assertRaises(pyxb.BadTypeValueError): card.type = 'VC' auth.card = card
def prepareTestRequest(self, request): batchRequest = request.createBatch() sale = litleXmlFields.sale() sale.reportGroup = 'Test Report Group' sale.orderId = 'orderId11' sale.amount = 1099 sale.orderSource = 'ecommerce' card = litleXmlFields.cardType() card.type = 'VI' card.number = "4457010000000009" card.expDate = "0114" sale.card = card batchRequest.addTransaction(sale)
def testSimpleCaptureGivenAuth(self): import ipdb; ipdb.set_trace() # DEBUG CaptureGivenAuth = litleXmlFields.captureGivenAuth() CaptureGivenAuth.amount = 106 CaptureGivenAuth.orderId = "12344" AuthInfo = litleXmlFields.authInformation() date = pyxb.binding.datatypes.date(2002, 10, 20) AuthInfo.authDate = date AuthInfo.authCode = "543216" AuthInfo.authAmount = 12345 CaptureGivenAuth.authInformation = AuthInfo CaptureGivenAuth.orderSource = "ecommerce" Card = litleXmlFields.cardType() Card.number = "4100000000000000" Card.expDate = "1210" Card.type = 'VI' Card.cardValidationNum = '1210' CaptureGivenAuth.card = Card litleXml = litleOnlineRequest(self.config) response = litleXml.sendRequest(CaptureGivenAuth) assert(response.message == "Approved")
def testCredit(self): credit = litleXmlFields.credit() credit.orderId = "12344" credit.orderSource = 'ecommerce' card = litleXmlFields.cardType() card.type = 'VI' card.number = "4100000000000001" card.expDate = "1210" credit.card = card comm = Communications(config) comm.http_post = MagicMock() litle = litleOnlineRequest(config) litle.setCommunications(comm) litle._processResponse = MagicMock(return_value=None) litle.sendRequest(credit) match_re = RegexMatcher(".*?<litleOnlineRequest.*?<credit.*?<card>.*?<number>4100000000000001</number>.*?</card>.*?</credit>.*?") comm.http_post.assert_called_with(match_re, url=ANY, proxy=ANY, timeout=ANY)
def testExtraChoices(self): auth = litleXmlFields.authorization() auth.orderId = '1234' auth.amount = 106 auth.orderSource = 'ecommerce' card = litleXmlFields.cardType() card.number = "4100000000000000" card.expDate = "1210" card.type = 'VI' auth.card = card paypal = litleXmlFields.payPal() paypal.payerId = "1234" paypal.token = "1234" paypal.transactionId = '123456' auth.paypal = paypal litle = litleOnlineRequest(config) with self.assertRaises(Exception): litle.sendRequest(auth)