def inner(instance, user, *args): account = AccountManager().get_user_account(user) balance_before = account.balance() fun(instance, user, *args) balance_after = account.balance() BalanceThresholds.process_transaction(project_id=user, balance_before=balance_before, balance_after=balance_after)
def inner(instance, user, *args): account = AccountManager().get_user_account(user) balance_before = account.balance() fun(instance, user, *args) balance_after = account.balance() BalanceThresholds.process_transaction( project_id=user, balance_before=balance_before, balance_after=balance_after)
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 handler(cls, **kwargs): if AccountManager().get_user_account( kwargs['project_id']).balance() >= 0: return # need to enable all_tenants because of this (read comments): # https://bugs.launchpad.net/python-novaclient/+bug/1134382 [server.stop() for server in NovaClient.get_client().servers.list( search_opts={'all_tenants': True, 'tenant_id': kwargs['project_id'], 'status': 'ACTIVE'})]
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 balance(request): return AccountManager().get_user_account(request.user.tenant_id).balance()
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