Skip to content

Commit

Permalink
Merge branch 'check-something' into 'master'
Browse files Browse the repository at this point in the history
new test

See merge request kount/third_party/kount-ris-python-sdk!22
  • Loading branch information
Jake Coddington committed Aug 2, 2023
2 parents 5eb43fb + 8420bc7 commit dacc308
Show file tree
Hide file tree
Showing 2 changed files with 55 additions and 4 deletions.
6 changes: 3 additions & 3 deletions src/kount/request.py
Expand Up @@ -305,8 +305,8 @@ def _mask_token(token):
"""
encoded = token[0:6]
for _ in range(6, len(token) - 4, 1):
encoded.append('X')
encoded.append(token[-4:])
encoded = encoded + 'X'
encoded = encoded + token[-4:]
LOG.debug("mask_token = %s", token)
return encoded

Expand Down Expand Up @@ -345,7 +345,7 @@ def set_masked_payment(self, payment):
Args: payment - card payment
"""
token = payment.payment_token
if isinstance(self.payment, payment.CardPayment) and \
if isinstance(payment, payments.CardPayment) and \
not payment.khashed:
token = self._mask_token(token)
self.set_param("PTOK", token)
Expand Down
53 changes: 52 additions & 1 deletion tests/test_inquiry.py
Expand Up @@ -126,7 +126,6 @@ def default_inquiry(merchant_id, session_id, email_client, payment):
inq.set_cash('4444')
return inq


@pytest.mark.usefixtures("api_url", "api_key", "merchant_id")
class TestInquiry(unittest.TestCase):
"""Inquiry class tests"""
Expand Down Expand Up @@ -219,6 +218,58 @@ def test_utilities_gift_khashed(self):
actual['ORDR'])
self.assertEqual(actual, _expected)

def test_inquiry_with_masked_payment(self):
"""test inquiry with masked payment"""
session_id = self.session_id
merchant_id = "999666"
email_client = EMAIL_CLIENT

inq = Inquiry()
inq.set_request_mode(InquiryMode.DEFAULT)
inq.set_shipping_address(SHIPPING_ADDRESS)
inq.set_shipping_name("SdkShipToFN SdkShipToLN") # S2NM
inq.set_billing_address(BILLING_ADDRESS)
inq.set_currency(CurrencyType.USD) # CURR
inq.set_total('123456') # TOTL
inq.set_billing_phone_number("555-867-5309") # B2PN
inq.set_shipping_phone_number("555-777-1212") # S2PN
inq.set_email_client(email_client)
inq.set_customer_name("SdkTestFirstName SdkTestLastName")
inq.set_unique_customer_id(session_id[:20]) # UNIQ
inq.set_website("DEFAULT") # SITE
inq.set_email_shipping("sdkTestShipToEmail@kountsdktestdomain.com")
inq.set_ip_address("4.127.51.215") # IPAD
cart_items = list()
cart_items.append(CartItem("SPORTING_GOODS", "SG999999",
"3000 CANDLEPOWER PLASMA FLASHLIGHT",
'2', '68990'))
inq.set_shopping_cart(cart_items)
inq.version()
inq.set_version(SDKConfig.VERS) # 0695
inq.set_merchant(merchant_id)
inq.set_session_id(session_id) # SESS
inq.set_order_number(session_id[:10]) # ORDR
inq.set_authorization_status(AuthStatus.APPROVE) # AUTH
inq.set_avs_zip_reply(BankcardReply.MATCH)
inq.set_avs_address_reply(BankcardReply.MATCH)
inq.set_avs_cvv_reply(BankcardReply.MATCH)
inq.set_merchant_acknowledgment(MerchantAcknowledgment.TRUE) # "MACK"
inq.set_cash('4444')

payment = CardPayment(PTOK, khashed=False)
inq.set_masked_payment(payment)

_expected = expected.copy()
_expected["PTOK"] = "000738XXXXXX2514"
_expected["PENC"] = "MASK"
_expected["PTYP"] = "CARD"

actual = inq.params
del (actual['UNIQ'],
actual['IPAD'],
actual['SESS'],
actual['ORDR'])
self.assertEqual(actual, _expected)

if __name__ == "__main__":
unittest.main()

0 comments on commit dacc308

Please sign in to comment.