From 215047aee574df38bb8afcce899687873c3e8076 Mon Sep 17 00:00:00 2001 From: PCoder Date: Mon, 22 Apr 2019 17:48:30 +0200 Subject: [PATCH 1/3] Fix case where None is returned by get_vm_price call --- datacenterlight/tests.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/datacenterlight/tests.py b/datacenterlight/tests.py index ca1bb930..e9505beb 100644 --- a/datacenterlight/tests.py +++ b/datacenterlight/tests.py @@ -103,6 +103,10 @@ class CeleryTaskTestCase(TestCase): disk_size = specs.get('disk_size') amount_to_be_charged = get_vm_price(cpu=cpu, memory=memory, disk_size=disk_size) + # because we don't have a VMPricing by default + # get_vm_price should return None + self.assertEquals(amount_to_be_charged, None) + amount_to_be_charged = specs.get('price') plan_name = StripeUtils.get_stripe_plan_name(cpu=cpu, memory=memory, disk_size=disk_size, From bce590584204b681453fc19d737f1a5d1159a413 Mon Sep 17 00:00:00 2001 From: PCoder Date: Mon, 22 Apr 2019 18:00:04 +0200 Subject: [PATCH 2/3] Create a default VMPricing --- datacenterlight/tests.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/datacenterlight/tests.py b/datacenterlight/tests.py index e9505beb..9ec2df96 100644 --- a/datacenterlight/tests.py +++ b/datacenterlight/tests.py @@ -10,7 +10,7 @@ from django.test import TestCase, override_settings from model_mommy import mommy from unittest import skipIf -from datacenterlight.models import VMTemplate +from datacenterlight.models import VMTemplate, VMPricing from datacenterlight.tasks import create_vm_task from hosting.models import HostingOrder from membership.models import StripeCustomer @@ -101,12 +101,14 @@ class CeleryTaskTestCase(TestCase): cpu = specs.get('cpu') memory = specs.get('memory') disk_size = specs.get('disk_size') + VMPricing.objects.create( + name="default", + cores_unit_price=5, + ram_unit_price=2, + ssd_unit_price=0.6 + ) amount_to_be_charged = get_vm_price(cpu=cpu, memory=memory, disk_size=disk_size) - # because we don't have a VMPricing by default - # get_vm_price should return None - self.assertEquals(amount_to_be_charged, None) - amount_to_be_charged = specs.get('price') plan_name = StripeUtils.get_stripe_plan_name(cpu=cpu, memory=memory, disk_size=disk_size, From 13cd098c60f159efd206db6a39f282f3c4569945 Mon Sep 17 00:00:00 2001 From: PCoder Date: Mon, 22 Apr 2019 18:05:32 +0200 Subject: [PATCH 3/3] Set VMPricing when creating HostingOrder --- datacenterlight/tests.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/datacenterlight/tests.py b/datacenterlight/tests.py index 9ec2df96..dcbb727f 100644 --- a/datacenterlight/tests.py +++ b/datacenterlight/tests.py @@ -101,7 +101,7 @@ class CeleryTaskTestCase(TestCase): cpu = specs.get('cpu') memory = specs.get('memory') disk_size = specs.get('disk_size') - VMPricing.objects.create( + vm_pricing = VMPricing.objects.create( name="default", cores_unit_price=5, ram_unit_price=2, @@ -146,7 +146,8 @@ class CeleryTaskTestCase(TestCase): price=specs['price'], vm_id=0, customer=stripe_customer, - billing_address=billing_address + billing_address=billing_address, + vm_pricing=vm_pricing ) async_task = create_vm_task.delay(