Added STRIPE_API_PRIVATE_KEY_TEST to the test case
This commit is contained in:
		
					parent
					
						
							
								7153b635e5
							
						
					
				
			
			
				commit
				
					
						c9357058f7
					
				
			
		
					 1 changed files with 56 additions and 27 deletions
				
			
		|  | @ -10,6 +10,7 @@ from model_mommy import mommy | ||||||
| from datacenterlight.models import StripePlan | from datacenterlight.models import StripePlan | ||||||
| from membership.models import StripeCustomer | from membership.models import StripeCustomer | ||||||
| from utils.stripe_utils import StripeUtils | from utils.stripe_utils import StripeUtils | ||||||
|  | from django.conf import settings | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class BaseTestCase(TestCase): | class BaseTestCase(TestCase): | ||||||
|  | @ -22,8 +23,9 @@ class BaseTestCase(TestCase): | ||||||
|         self.dummy_password = 'test_password' |         self.dummy_password = 'test_password' | ||||||
| 
 | 
 | ||||||
|         # Users |         # Users | ||||||
|         self.customer, self.another_customer = mommy.make('membership.CustomUser', |         self.customer, self.another_customer = mommy.make( | ||||||
|                                                           _quantity=2) |             'membership.CustomUser', | ||||||
|  |             _quantity=2) | ||||||
|         self.customer.set_password(self.dummy_password) |         self.customer.set_password(self.dummy_password) | ||||||
|         self.customer.save() |         self.customer.save() | ||||||
|         self.another_customer.set_password(self.dummy_password) |         self.another_customer.set_password(self.dummy_password) | ||||||
|  | @ -106,6 +108,7 @@ class TestStripeCustomerDescription(TestCase): | ||||||
|         self.customer.email = self.customer_email |         self.customer.email = self.customer_email | ||||||
|         self.customer.save() |         self.customer.save() | ||||||
|         self.stripe_utils = StripeUtils() |         self.stripe_utils = StripeUtils() | ||||||
|  |         stripe.api_key = settings.STRIPE_API_PRIVATE_KEY_TEST | ||||||
|         self.token = stripe.Token.create( |         self.token = stripe.Token.create( | ||||||
|             card={ |             card={ | ||||||
|                 "number": '4111111111111111', |                 "number": '4111111111111111', | ||||||
|  | @ -124,7 +127,9 @@ class TestStripeCustomerDescription(TestCase): | ||||||
|         ) |         ) | ||||||
| 
 | 
 | ||||||
|     def test_creating_stripe_customer(self): |     def test_creating_stripe_customer(self): | ||||||
|         stripe_data = self.stripe_utils.create_customer(self.token.id, self.customer.email, self.customer_name) |         stripe_data = self.stripe_utils.create_customer(self.token.id, | ||||||
|  |                                                         self.customer.email, | ||||||
|  |                                                         self.customer_name) | ||||||
|         self.assertEqual(stripe_data.get('error'), None) |         self.assertEqual(stripe_data.get('error'), None) | ||||||
|         customer_data = stripe_data.get('response_object') |         customer_data = stripe_data.get('response_object') | ||||||
|         self.assertEqual(customer_data.description, self.customer_name) |         self.assertEqual(customer_data.description, self.customer_name) | ||||||
|  | @ -136,13 +141,19 @@ class StripePlanTestCase(TestStripeCustomerDescription): | ||||||
|     """ |     """ | ||||||
| 
 | 
 | ||||||
|     def test_get_stripe_plan_id_string(self): |     def test_get_stripe_plan_id_string(self): | ||||||
|         plan_id_string = StripeUtils.get_stripe_plan_id(cpu=2, ram=20, ssd=100, version=1, app='dcl') |         plan_id_string = StripeUtils.get_stripe_plan_id(cpu=2, ram=20, ssd=100, | ||||||
|  |                                                         version=1, app='dcl') | ||||||
|         self.assertEqual(plan_id_string, 'dcl-v1-cpu-2-ram-20gb-ssd-100gb') |         self.assertEqual(plan_id_string, 'dcl-v1-cpu-2-ram-20gb-ssd-100gb') | ||||||
|         plan_id_string = StripeUtils.get_stripe_plan_id(cpu=2, ram=20, ssd=100, version=1, app='dcl', hdd=200) |         plan_id_string = StripeUtils.get_stripe_plan_id(cpu=2, ram=20, ssd=100, | ||||||
|         self.assertEqual(plan_id_string, 'dcl-v1-cpu-2-ram-20gb-ssd-100gb-hdd-200gb') |                                                         version=1, app='dcl', | ||||||
|  |                                                         hdd=200) | ||||||
|  |         self.assertEqual(plan_id_string, | ||||||
|  |                          'dcl-v1-cpu-2-ram-20gb-ssd-100gb-hdd-200gb') | ||||||
| 
 | 
 | ||||||
|     def test_get_or_create_plan(self): |     def test_get_or_create_plan(self): | ||||||
|         stripe_plan = self.stripe_utils.get_or_create_stripe_plan(2000, "test plan 1", stripe_plan_id='test-plan-1') |         stripe_plan = self.stripe_utils.get_or_create_stripe_plan(2000, | ||||||
|  |                                                                   "test plan 1", | ||||||
|  |                                                                   stripe_plan_id='test-plan-1') | ||||||
|         self.assertIsNone(stripe_plan.get('error')) |         self.assertIsNone(stripe_plan.get('error')) | ||||||
|         self.assertIsInstance(stripe_plan.get('response_object'), StripePlan) |         self.assertIsInstance(stripe_plan.get('response_object'), StripePlan) | ||||||
| 
 | 
 | ||||||
|  | @ -159,19 +170,27 @@ class StripePlanTestCase(TestStripeCustomerDescription): | ||||||
|         """ |         """ | ||||||
|         unique_id = str(uuid.uuid4().hex) |         unique_id = str(uuid.uuid4().hex) | ||||||
|         new_plan_id_str = 'test-plan-{}'.format(unique_id) |         new_plan_id_str = 'test-plan-{}'.format(unique_id) | ||||||
|         stripe_plan = self.stripe_utils.get_or_create_stripe_plan(2000, "test plan {}".format(unique_id), |         stripe_plan = self.stripe_utils.get_or_create_stripe_plan(2000, | ||||||
|  |                                                                   "test plan {}".format( | ||||||
|  |                                                                       unique_id), | ||||||
|                                                                   stripe_plan_id=new_plan_id_str) |                                                                   stripe_plan_id=new_plan_id_str) | ||||||
|         self.assertIsInstance(stripe_plan.get('response_object'), StripePlan) |         self.assertIsInstance(stripe_plan.get('response_object'), StripePlan) | ||||||
|         self.assertEqual(stripe_plan.get('response_object').stripe_plan_id, new_plan_id_str) |         self.assertEqual(stripe_plan.get('response_object').stripe_plan_id, | ||||||
|  |                          new_plan_id_str) | ||||||
| 
 | 
 | ||||||
|         # Test creating the same plan again and expect the PLAN_EXISTS_ERROR_MSG |         # Test creating the same plan again and expect the PLAN_EXISTS_ERROR_MSG | ||||||
|         # We first delete the local Stripe Plan, so that the code tries to create a new plan in Stripe |         # We first delete the local Stripe Plan, so that the code tries to create a new plan in Stripe | ||||||
|         StripePlan.objects.filter(stripe_plan_id=new_plan_id_str).all().delete() |         StripePlan.objects.filter( | ||||||
|         stripe_plan_1 = self.stripe_utils.get_or_create_stripe_plan(2000, "test plan {}".format(unique_id), |             stripe_plan_id=new_plan_id_str).all().delete() | ||||||
|  |         stripe_plan_1 = self.stripe_utils.get_or_create_stripe_plan(2000, | ||||||
|  |                                                                     "test plan {}".format( | ||||||
|  |                                                                         unique_id), | ||||||
|                                                                     stripe_plan_id=new_plan_id_str) |                                                                     stripe_plan_id=new_plan_id_str) | ||||||
|         mock_logger.debug.assert_called_with(self.stripe_utils.PLAN_EXISTS_ERROR_MSG.format(new_plan_id_str)) |         mock_logger.debug.assert_called_with( | ||||||
|  |             self.stripe_utils.PLAN_EXISTS_ERROR_MSG.format(new_plan_id_str)) | ||||||
|         self.assertIsInstance(stripe_plan_1.get('response_object'), StripePlan) |         self.assertIsInstance(stripe_plan_1.get('response_object'), StripePlan) | ||||||
|         self.assertEqual(stripe_plan_1.get('response_object').stripe_plan_id, new_plan_id_str) |         self.assertEqual(stripe_plan_1.get('response_object').stripe_plan_id, | ||||||
|  |                          new_plan_id_str) | ||||||
| 
 | 
 | ||||||
|         # Delete the test stripe plan that we just created |         # Delete the test stripe plan that we just created | ||||||
|         delete_result = self.stripe_utils.delete_stripe_plan(new_plan_id_str) |         delete_result = self.stripe_utils.delete_stripe_plan(new_plan_id_str) | ||||||
|  | @ -184,25 +203,35 @@ class StripePlanTestCase(TestStripeCustomerDescription): | ||||||
|         result = self.stripe_utils.delete_stripe_plan(plan_id) |         result = self.stripe_utils.delete_stripe_plan(plan_id) | ||||||
|         self.assertIsInstance(result, dict) |         self.assertIsInstance(result, dict) | ||||||
|         self.assertEqual(result.get('response_object'), False) |         self.assertEqual(result.get('response_object'), False) | ||||||
|         mock_logger.debug.assert_called_with(self.stripe_utils.PLAN_DOES_NOT_EXIST_ERROR_MSG.format(plan_id)) |         mock_logger.debug.assert_called_with( | ||||||
|  |             self.stripe_utils.PLAN_DOES_NOT_EXIST_ERROR_MSG.format(plan_id)) | ||||||
| 
 | 
 | ||||||
|     def test_subscribe_customer_to_plan(self): |     def test_subscribe_customer_to_plan(self): | ||||||
|         stripe_plan = self.stripe_utils.get_or_create_stripe_plan(2000, "test plan 1", stripe_plan_id='test-plan-1') |         stripe_plan = self.stripe_utils.get_or_create_stripe_plan(2000, | ||||||
|         stripe_customer = StripeCustomer.get_or_create(email=self.customer_email, |                                                                   "test plan 1", | ||||||
|                                                        token=self.token) |                                                                   stripe_plan_id='test-plan-1') | ||||||
|         result = self.stripe_utils.subscribe_customer_to_plan(stripe_customer.stripe_id, |         stripe_customer = StripeCustomer.get_or_create( | ||||||
|                                                               [{"plan": stripe_plan.get( |             email=self.customer_email, | ||||||
|                                                                   'response_object').stripe_plan_id}]) |             token=self.token) | ||||||
|         self.assertIsInstance(result.get('response_object'), stripe.Subscription) |         result = self.stripe_utils.subscribe_customer_to_plan( | ||||||
|  |             stripe_customer.stripe_id, | ||||||
|  |             [{"plan": stripe_plan.get( | ||||||
|  |                 'response_object').stripe_plan_id}]) | ||||||
|  |         self.assertIsInstance(result.get('response_object'), | ||||||
|  |                               stripe.Subscription) | ||||||
|         self.assertIsNone(result.get('error')) |         self.assertIsNone(result.get('error')) | ||||||
|         self.assertEqual(result.get('response_object').get('status'), 'active') |         self.assertEqual(result.get('response_object').get('status'), 'active') | ||||||
| 
 | 
 | ||||||
|     def test_subscribe_customer_to_plan_failed_payment(self): |     def test_subscribe_customer_to_plan_failed_payment(self): | ||||||
|         stripe_plan = self.stripe_utils.get_or_create_stripe_plan(2000, "test plan 1", stripe_plan_id='test-plan-1') |         stripe_plan = self.stripe_utils.get_or_create_stripe_plan(2000, | ||||||
|         stripe_customer = StripeCustomer.get_or_create(email=self.customer_email, |                                                                   "test plan 1", | ||||||
|                                                        token=self.failed_token) |                                                                   stripe_plan_id='test-plan-1') | ||||||
|         result = self.stripe_utils.subscribe_customer_to_plan(stripe_customer.stripe_id, |         stripe_customer = StripeCustomer.get_or_create( | ||||||
|                                                               [{"plan": stripe_plan.get( |             email=self.customer_email, | ||||||
|                                                                   'response_object').stripe_plan_id}]) |             token=self.failed_token) | ||||||
|  |         result = self.stripe_utils.subscribe_customer_to_plan( | ||||||
|  |             stripe_customer.stripe_id, | ||||||
|  |             [{"plan": stripe_plan.get( | ||||||
|  |                 'response_object').stripe_plan_id}]) | ||||||
|         self.assertIsNone(result.get('response_object'), None) |         self.assertIsNone(result.get('response_object'), None) | ||||||
|         self.assertIsNotNone(result.get('error')) |         self.assertIsNotNone(result.get('error')) | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue