class PaymentsTests(test.TestCase): # Unit tests for payments. def setUp(self): super(PaymentsTests, self).setUp() self.stripe = stripe self.stripe.api_key = settings.MERCHANT_SETTINGS['stripe']['API_KEY'] self.am = AccountManager() self.card1_data = { 'number': '4242424242424242', 'exp_month': 12, 'exp_year': 2016, 'cvc': '123' } self.card1_params = { 'last4': '4242', 'email': '*****@*****.**', 'default': False, 'tenant_id': '1' } def test_environment_sanity(self): # make sure our test environment is realy in TEST MODE self.assertTrue(settings.MERCHANT_TEST_MODE) self.assertTrue( "test" in settings.MERCHANT_SETTINGS['stripe']['API_KEY']) self.assertTrue( "test" in settings.MERCHANT_SETTINGS['stripe']['PUBLISHABLE_KEY']) # integration tests def test_add_card(self): card_token = self.stripe.Token.create(card=self.card1_data) card = Card.create(stripe_card_token=card_token.id, **self.card1_params) self.assertEqual(card.default, True) def test_add_duplicate_card(self): card_token = self.stripe.Token.create(card=self.card1_data) Card.create(stripe_card_token=card_token.id, **self.card1_params) stripe.api_key = settings.MERCHANT_SETTINGS['stripe']['API_KEY'] card_token = self.stripe.Token.create(card=self.card1_data) logging.disable(logging.exception) with self.assertRaises(IntegrityError): Card.create(stripe_card_token=card_token.id, **self.card1_params) def test_charge_user(self): card_token = self.stripe.Token.create(card=self.card1_data) Card.create(stripe_card_token=card_token.id, **self.card1_params) formData = {'amount': 123123} self.client.post(reverse('horizon:billing:payments:add_funds'), formData) self.assertEqual( self.am.get_user_account(self.card1_params['tenant_id']).balance(), 123123) # Unit tests for payments. def test_me(self): self.assertTrue(1 + 1 == 2) def test_add_mobile_number(self): pass # k2 notification endpoint test def test_k2_notification(self): k2_notification_data response = k2_notify(k2_notification_data) self.assertTrue( json.loads(response.content)['status'] == u'01', u'Unexpected k2 notification endpoint response') return True
class PaymentsTests(test.TestCase): # Unit tests for payments. def setUp(self): super(PaymentsTests, self).setUp() self.stripe = stripe self.stripe.api_key = settings.MERCHANT_SETTINGS['stripe']['API_KEY'] self.am = AccountManager() self.card1_data = {'number': '4242424242424242', 'exp_month': 12, 'exp_year': 2016, 'cvc': '123'} self.card1_params = { 'last4': '4242', 'email': '*****@*****.**', 'default': False, 'tenant_id': '1'} def test_environment_sanity(self): # make sure our test environment is realy in TEST MODE self.assertTrue(settings.MERCHANT_TEST_MODE) self.assertTrue( "test" in settings.MERCHANT_SETTINGS['stripe']['API_KEY']) self.assertTrue( "test" in settings.MERCHANT_SETTINGS['stripe']['PUBLISHABLE_KEY']) # integration tests def test_add_card(self): card_token = self.stripe.Token.create(card=self.card1_data) card = Card.create(stripe_card_token=card_token.id, **self.card1_params) self.assertEqual(card.default, True) def test_add_duplicate_card(self): card_token = self.stripe.Token.create(card=self.card1_data) Card.create(stripe_card_token=card_token.id, **self.card1_params) stripe.api_key = settings.MERCHANT_SETTINGS['stripe']['API_KEY'] card_token = self.stripe.Token.create(card=self.card1_data) logging.disable(logging.exception) with self.assertRaises(IntegrityError): Card.create(stripe_card_token=card_token.id, **self.card1_params) def test_charge_user(self): card_token = self.stripe.Token.create(card=self.card1_data) Card.create(stripe_card_token=card_token.id, **self.card1_params) formData = {'amount': 123123} self.client.post(reverse('horizon:billing:payments:add_funds'), formData) self.assertEqual( self.am.get_user_account( self.card1_params['tenant_id']).balance(), 123123) # Unit tests for payments. def test_me(self): self.assertTrue(1 + 1 == 2) def test_add_mobile_number(self): pass # k2 notification endpoint test def test_k2_notification(self): k2_notification_data response = k2_notify(k2_notification_data) self.assertTrue(json.loads(response.content)['status'] == u'01', u'Unexpected k2 notification endpoint response') return True