1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
|
"""
Module: test_card
"""
from datetime import datetime
import os
import random
import unittest
import mercadopago
class TestCard(unittest.TestCase):
"""
Test Module: Card
"""
_customer_id = None
sdk = mercadopago.SDK(os.environ['ACCESS_TOKEN'])
@classmethod
def setUpClass(cls):
customer_data = cls.create_customer()
cls._customer_id = customer_data["response"]["id"]
@classmethod
def tearDownClass(cls):
cls.delete_customer()
def test_all(self):
"""
Test Function: Card
"""
card_token_object = {
"card_number": "4074090000000004",
"security_code": "123",
"expiration_year": datetime.now().strftime("%Y"),
"expiration_month": "12",
"cardholder": {
"name": "APRO",
"identification": {
"CPF": "19119119100"
}
}
}
card_token_created = self.sdk.card_token().create(card_token_object)
card_object = {
"customer_id": self._customer_id,
"token": card_token_created["response"]["id"]
}
card_created = self.sdk.card().create(self._customer_id, card_object)
self.assertIn(card_created["status"], [200, 201])
self.assertEqual(self.sdk.card().get(
self._customer_id, card_created["response"]["id"])["status"], 200)
self.sdk.card().delete(self._customer_id, card_created["response"]["id"])
@classmethod
def create_customer(cls):
random_email_id = random.randint(100000, 999999)
customer_object = {
"email": f"test_payer_{random_email_id}@testuser.com",
"first_name": "Rafa",
"last_name": "Williner",
"phone": {
"area_code": "03492",
"number": "432334"
},
"identification": {
"type": "DNI",
"number": "29804555"
},
"description": "customer description"
}
return cls.sdk.customer().create(customer_object)
@classmethod
def delete_customer(cls):
cls.sdk.customer().delete(cls._customer_id)
if __name__ == "__main__":
unittest.main()
|