Add / Fix tests for refactor 01/69801/3
authorParker Berberian <pberberian@iol.unh.edu>
Tue, 17 Mar 2020 15:07:32 +0000 (11:07 -0400)
committerParker Berberian <pberberian@iol.unh.edu>
Tue, 17 Mar 2020 18:53:43 +0000 (14:53 -0400)
Change-Id: I0526d1942f87707082a4eb1c8c98910f84481c23
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
src/booking/tests/test_models.py
src/booking/tests/test_quick_booking.py
src/dashboard/testing_utils.py
src/resource_inventory/migrations/0013_auto_20200218_1536.py

index c8c8ea8..37eb655 100644 (file)
 
 from datetime import timedelta
 
-from django.contrib.auth.models import Permission, User
+from django.contrib.auth.models import User
 from django.test import TestCase
 from django.utils import timezone
 
-# from booking.models import *
 from booking.models import Booking
-from resource_inventory.models import ResourceBundle, GenericResourceBundle, ConfigBundle
+from dashboard.testing_utils import make_resource_template, make_user
 
 
 class BookingModelTestCase(TestCase):
@@ -27,8 +26,6 @@ class BookingModelTestCase(TestCase):
     Creates all the scafolding needed and tests the Booking model
     """
 
-    count = 0
-
     def setUp(self):
         """
         Prepare for Booking model tests.
@@ -36,29 +33,9 @@ class BookingModelTestCase(TestCase):
         Creates all the needed models, such as users, resources, and configurations
         """
         self.owner = User.objects.create(username='owner')
-
-        self.res1 = ResourceBundle.objects.create(
-            template=GenericResourceBundle.objects.create(
-                name="gbundle" + str(self.count)
-            )
-        )
-        self.count += 1
-        self.res2 = ResourceBundle.objects.create(
-            template=GenericResourceBundle.objects.create(
-                name="gbundle2" + str(self.count)
-            )
-        )
-        self.count += 1
-        self.user1 = User.objects.create(username='user1')
-
-        self.add_booking_perm = Permission.objects.get(codename='add_booking')
-        self.user1.user_permissions.add(self.add_booking_perm)
-
-        self.user1 = User.objects.get(pk=self.user1.id)
-        self.config_bundle = ConfigBundle.objects.create(
-            owner=self.user1,
-            name="test config"
-        )
+        self.res1 = make_resource_template(name="Test template 1")
+        self.res2 = make_resource_template(name="Test template 2")
+        self.user1 = make_user(username='user1')
 
     def test_start_end(self):
         """
@@ -76,7 +53,6 @@ class BookingModelTestCase(TestCase):
             end=end,
             resource=self.res1,
             owner=self.user1,
-            config_bundle=self.config_bundle
         )
         end = start
         self.assertRaises(
@@ -86,7 +62,6 @@ class BookingModelTestCase(TestCase):
             end=end,
             resource=self.res1,
             owner=self.user1,
-            config_bundle=self.config_bundle
         )
 
     def test_conflicts(self):
@@ -105,7 +80,6 @@ class BookingModelTestCase(TestCase):
                 end=end,
                 owner=self.user1,
                 resource=self.res1,
-                config_bundle=self.config_bundle
             )
         )
 
@@ -116,7 +90,6 @@ class BookingModelTestCase(TestCase):
             end=end,
             resource=self.res1,
             owner=self.user1,
-            config_bundle=self.config_bundle
         )
 
         self.assertRaises(
@@ -126,7 +99,6 @@ class BookingModelTestCase(TestCase):
             end=end - timedelta(days=1),
             resource=self.res1,
             owner=self.user1,
-            config_bundle=self.config_bundle
         )
 
         self.assertRaises(
@@ -136,7 +108,6 @@ class BookingModelTestCase(TestCase):
             end=end,
             resource=self.res1,
             owner=self.user1,
-            config_bundle=self.config_bundle
         )
 
         self.assertRaises(
@@ -146,7 +117,6 @@ class BookingModelTestCase(TestCase):
             end=end - timedelta(days=1),
             resource=self.res1,
             owner=self.user1,
-            config_bundle=self.config_bundle
         )
 
         self.assertRaises(
@@ -156,7 +126,6 @@ class BookingModelTestCase(TestCase):
             end=end + timedelta(days=1),
             resource=self.res1,
             owner=self.user1,
-            config_bundle=self.config_bundle
         )
 
         self.assertRaises(
@@ -166,7 +135,6 @@ class BookingModelTestCase(TestCase):
             end=end + timedelta(days=1),
             resource=self.res1,
             owner=self.user1,
-            config_bundle=self.config_bundle
         )
 
         self.assertTrue(
@@ -175,7 +143,6 @@ class BookingModelTestCase(TestCase):
                 end=start,
                 owner=self.user1,
                 resource=self.res1,
-                config_bundle=self.config_bundle
             )
         )
 
@@ -185,7 +152,6 @@ class BookingModelTestCase(TestCase):
                 end=end + timedelta(days=1),
                 owner=self.user1,
                 resource=self.res1,
-                config_bundle=self.config_bundle
             )
         )
 
@@ -195,7 +161,6 @@ class BookingModelTestCase(TestCase):
                 end=start - timedelta(days=1),
                 owner=self.user1,
                 resource=self.res1,
-                config_bundle=self.config_bundle
             )
         )
 
@@ -205,7 +170,6 @@ class BookingModelTestCase(TestCase):
                 end=end + timedelta(days=2),
                 owner=self.user1,
                 resource=self.res1,
-                config_bundle=self.config_bundle
             )
         )
 
@@ -215,7 +179,6 @@ class BookingModelTestCase(TestCase):
                 end=end,
                 owner=self.user1,
                 resource=self.res2,
-                config_bundle=self.config_bundle
             )
         )
 
@@ -234,7 +197,6 @@ class BookingModelTestCase(TestCase):
                 end=end,
                 owner=self.user1,
                 resource=self.res1,
-                config_bundle=self.config_bundle
             )
         )
 
index 5ba1744..f405047 100644 (file)
@@ -14,17 +14,15 @@ from django.test import TestCase, Client
 
 from booking.models import Booking
 from dashboard.testing_utils import (
-    make_host,
     make_user,
     make_user_profile,
     make_lab,
-    make_installer,
     make_image,
-    make_scenario,
     make_os,
-    make_complete_host_profile,
     make_opnfv_role,
     make_public_net,
+    make_resource_template,
+    make_server
 )
 
 
@@ -36,15 +34,13 @@ class QuickBookingValidFormTestCase(TestCase):
         cls.user.save()
         make_user_profile(cls.user, True)
 
-        lab_user = make_user(True)
-        cls.lab = make_lab(lab_user)
+        cls.lab = make_lab()
 
-        cls.host_profile = make_complete_host_profile(cls.lab)
-        cls.scenario = make_scenario()
-        cls.installer = make_installer([cls.scenario])
-        os = make_os([cls.installer])
-        cls.image = make_image(cls.lab, 1, cls.user, os, cls.host_profile)
-        cls.host = make_host(cls.host_profile, cls.lab)
+        cls.res_template = make_resource_template(owner=cls.user, lab=cls.lab)
+        cls.res_profile = cls.res_template.getConfigs()[0].profile
+        os = make_os()
+        cls.image = make_image(cls.res_profile, lab=cls.lab, owner=cls.user, os=os)
+        cls.server = make_server(cls.res_profile, cls.lab)
         cls.role = make_opnfv_role()
         cls.pubnet = make_public_net(10, cls.lab)
 
@@ -55,10 +51,10 @@ class QuickBookingValidFormTestCase(TestCase):
     def build_post_data(cls):
         return {
             'filter_field': json.dumps({
-                "host": {
-                    "host_" + str(cls.host_profile.id): {
+                "resource": {
+                    "resource_" + str(cls.res_profile.id): {
                         "selected": True,
-                        "id": cls.host_profile.id
+                        "id": cls.res_template.id
                     }
                 },
                 "lab": {
@@ -75,8 +71,6 @@ class QuickBookingValidFormTestCase(TestCase):
             'users': '',
             'hostname': 'my_host',
             'image': str(cls.image.id),
-            'installer': str(cls.installer.id),
-            'scenario': str(cls.scenario.id)
         }
 
     def post(self, changed_fields={}):
@@ -97,15 +91,10 @@ class QuickBookingValidFormTestCase(TestCase):
         self.assertLess(delta, datetime.timedelta(minutes=1))
 
         resource_bundle = booking.resource
-        config_bundle = booking.config_bundle
 
-        opnfv_config = config_bundle.opnfv_config.first()
-        self.assertEqual(self.installer, opnfv_config.installer)
-        self.assertEqual(self.scenario, opnfv_config.scenario)
-
-        host = resource_bundle.hosts.first()
-        self.assertEqual(host.profile, self.host_profile)
-        self.assertEqual(host.template.resource.name, 'my_host')
+        host = resource_bundle.get_resources()[0]
+        self.assertEqual(host.profile, self.res_profile)
+        self.assertEqual(host.name, 'my_host')
 
     def test_with_too_long_length(self):
         response = self.post({'length': '22'})
@@ -133,10 +122,10 @@ class QuickBookingValidFormTestCase(TestCase):
 
     def test_with_invalid_host_id(self):
         response = self.post({'filter_field': json.dumps({
-            "host": {
-                "host_" + str(self.host_profile.id + 100): {
+            "resource": {
+                "resource_" + str(self.res_profile.id + 100): {
                     "selected": True,
-                    "id": self.host_profile.id + 100
+                    "id": self.res_profile.id + 100
                 }
             },
             "lab": {
@@ -151,12 +140,11 @@ class QuickBookingValidFormTestCase(TestCase):
         self.assertIsNone(Booking.objects.first())
 
     def test_with_invalid_lab_id(self):
-        response = self.post({'filter_field': '{"hosts":[{"host_' + str(self.host_profile.id) + '":"true"}], "labs": [{"lab_' + str(self.lab.lab_user.id + 100) + '":"true"}]}'})
         response = self.post({'filter_field': json.dumps({
-            "host": {
-                "host_" + str(self.host_profile.id): {
+            "resource": {
+                "resource_" + str(self.res_profile.id): {
                     "selected": True,
-                    "id": self.host_profile.id
+                    "id": self.res_profile.id
                 }
             },
             "lab": {
index b7272ea..d7a346e 100644 (file)
@@ -178,6 +178,9 @@ def make_vlan_manager(vlans=None, block_size=20, allow_overlapping=False, reserv
 def make_lab(user=None, name="Test_Lab_Instance",
              status=LabStatus.UP, vlan_manager=None,
              pub_net_count=5):
+    if Lab.objects.filter(name=name).exists():
+        return Lab.objects.get(name=name)
+
     if not vlan_manager:
         vlan_manager = make_vlan_manager()
 
@@ -207,6 +210,9 @@ resource_inventory instantiation section for permanent resources
 
 
 def make_resource_profile(lab, name="test_hostprofile"):
+    if ResourceProfile.objects.filter(name=name).exists():
+        return ResourceProfile.objects.get(name=name)
+
     resource_profile = ResourceProfile.objects.create(
         name=name,
         description='test resourceprofile instance'
index d9dcbd6..053453b 100644 (file)
@@ -15,7 +15,7 @@ def clear_resource_bundles(apps, schema_editor):
 
 def create_default_template(apps, schema_editor):
     ResourceTemplate = apps.get_model('resource_inventory', 'ResourceTemplate')
-    ResourceTemplate.objects.create(id=1, name="Default Template")
+    ResourceTemplate.objects.create(name="Default Template", hidden=True)
 
 
 def populate_servers(apps, schema_editor):