Removing project content and adding a note
[laas.git] / src / dashboard / testing_utils.py
diff --git a/src/dashboard/testing_utils.py b/src/dashboard/testing_utils.py
deleted file mode 100644 (file)
index 5be6379..0000000
+++ /dev/null
@@ -1,315 +0,0 @@
-##############################################################################
-# Copyright (c) 2018 Parker Berberian, Sawyer Bergeron, and others.
-#
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
-
-from django.contrib.auth.models import User
-from django.core.files.base import ContentFile
-from django.utils import timezone
-
-import json
-from datetime import timedelta
-
-from booking.models import Booking
-from account.models import UserProfile, Lab, LabStatus, VlanManager, PublicNetwork
-from resource_inventory.models import (
-    ResourceTemplate,
-    ResourceProfile,
-    ResourceConfiguration,
-    InterfaceProfile,
-    InterfaceConfiguration,
-    Server,
-    DiskProfile,
-    CpuProfile,
-    Opsys,
-    Image,
-    Scenario,
-    Installer,
-    OPNFVRole,
-    RamProfile,
-    Network,
-)
-from resource_inventory.resource_manager import ResourceManager
-
-"""
-Info for make_booking() function:
-[topology] argument structure:
-    the [topology] argument should describe the structure of the pod
-    the top level should be a dictionary, with each key being a hostname
-    each value in the top level should be a dictionary with two keys:
-        "type" should map to a host profile instance
-        "nets" should map to a list of interfaces each with a list of
-            dictionaries each defining a network in the format
-            { "name": "netname", "tagged": True|False, "public": True|False }
-            each network is defined if a matching name is not found
-
-    sample argument structure:
-        topology={
-            "host1": {
-                      "type": instanceOf HostProfile,
-                      "role": instanceOf OPNFVRole
-                      "image": instanceOf Image
-                      "nets": [
-                                0: [
-                                        0: { "name": "public", "tagged": True, "public": True },
-                                        1: { "name": "private", "tagged": False, "public": False },
-                                   ]
-                                1: []
-                              ]
-                  }
-        }
-"""
-
-
-def make_booking(owner=None, start=timezone.now(),
-                 end=timezone.now() + timedelta(days=1),
-                 lab=None, purpose="my_purpose",
-                 project="my_project", collaborators=[],
-                 topology={}, installer=None, scenario=None):
-
-    resource_template = make_resource_template()
-    resource = ResourceManager.getInstance().convertResourceBundle(resource_template)
-    if not resource:
-        raise Exception("Resource not created")
-
-    return Booking.objects.create(
-        resource=resource,
-        start=start,
-        end=end,
-        owner=owner,
-        purpose=purpose,
-        project=project,
-        lab=lab,
-    )
-
-
-def make_network(name, lab, grb, public):
-    network = Network(name=name, bundle=grb, is_public=public)
-    if public:
-        public_net = lab.vlan_manager.get_public_vlan()
-        if not public_net:
-            raise Exception("No more public networks available")
-        lab.vlan_manager.reserve_public_vlan(public_net.vlan)
-        network.vlan_id = public_net.vlan
-    else:
-        private_nets = lab.vlan_manager.get_vlans(count=1)
-        if not private_nets:
-            raise Exception("No more generic vlans are available")
-        lab.vlan_manager.reserve_vlans(private_nets)
-        network.vlan_id = private_nets[0]
-
-    network.save()
-    return network
-
-
-def make_resource_template(owner=None, lab=None, name="Test Template"):
-    if owner is None:
-        owner = make_user(username="template_owner")
-    if lab is None:
-        lab = make_lab(name="template_lab")
-    rt = ResourceTemplate.objects.create(name=name, owner=owner, lab=lab, public=True)
-    config = make_resource_config(rt)
-    make_interface_config(config)
-    return rt
-
-
-def make_resource_config(template, profile=None, image=None):
-    if profile is None:
-        profile = make_resource_profile(lab=template.lab)
-
-    if image is None:
-        image = make_image(profile, lab=template.lab)
-
-    return ResourceConfiguration.objects.create(profile=profile, image=image, template=template)
-
-
-def make_interface_config(resource_config):
-    # lets just grab one of the iface profiles from the related host
-    iface_profile = resource_config.profile.interfaceprofile.all()[0]
-
-    # not adding any connections here
-    return InterfaceConfiguration.objects.create(profile=iface_profile, resource_config=resource_config)
-
-
-def make_user(is_superuser=False, username="testuser",
-              password="testpassword", email="default_email@user.com"):
-    user = User.objects.get_or_create(username=username, email=email, password=password)[0]
-
-    user.is_superuser = is_superuser
-    user.save()
-
-    return user
-
-
-def make_user_profile(user=None, email_addr="email@email.com",
-                      company="company", full_name="John Doe",
-                      booking_privledge=True, ssh_file=None):
-    user = user or make_user()
-    profile = UserProfile.objects.get_or_create(
-        email_addr=email_addr,
-        company=company,
-        full_name=full_name,
-        booking_privledge=booking_privledge,
-        user=user
-    )[0]
-    profile.ssh_public_key.save("user_ssh_key", ssh_file if ssh_file else ContentFile("public key content string"))
-
-    return profile
-
-
-def make_vlan_manager(vlans=None, block_size=20, allow_overlapping=False, reserved_vlans=None):
-    if not vlans:
-        vlans = [vlan % 2 for vlan in range(4095)]
-    if not reserved_vlans:
-        reserved_vlans = [0 for i in range(4095)]
-
-    return VlanManager.objects.create(
-        vlans=json.dumps(vlans),
-        reserved_vlans=json.dumps(vlans),
-        block_size=block_size,
-        allow_overlapping=allow_overlapping
-    )
-
-
-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()
-
-    if not user:
-        user = make_user(username=name + " user")
-
-    lab = Lab.objects.create(
-        lab_user=user,
-        name=name,
-        contact_email='test_lab@test_site.org',
-        contact_phone='603 123 4567',
-        status=status,
-        vlan_manager=vlan_manager,
-        description='test lab instantiation',
-        api_token='12345678'
-    )
-
-    for i in range(pub_net_count):
-        make_public_net(vlan=i * 2 + 1, lab=lab)
-
-    return lab
-
-
-"""
-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'
-    )
-    resource_profile.labs.add(lab)
-
-    RamProfile.objects.create(host=resource_profile, amount=8, channels=2)
-    CpuProfile.objects.create(cores=4, architecture="x86_64", cpus=1, host=resource_profile)
-    DiskProfile.objects.create(
-        name="test disk profile",
-        size=256,
-        media_type="SSD",
-        host=resource_profile
-    )
-
-    InterfaceProfile.objects.create(
-        host=resource_profile,
-        name="test interface profile",
-        speed=1000,
-        nic_type="pcie"
-    )
-
-    return resource_profile
-
-
-def make_image(resource_profile, lab=None, lab_id="4", owner=None, os=None,
-               public=True, name="default image", description="default image"):
-    if lab is None:
-        lab = make_lab()
-
-    if owner is None:
-        owner = make_user()
-
-    if os is None:
-        os = make_os()
-
-    return Image.objects.create(
-        from_lab=lab,
-        lab_id=lab_id,
-        os=os,
-        host_type=resource_profile,
-        public=public,
-        name=name,
-        description=description
-    )
-
-
-def make_scenario(name="test scenario"):
-    return Scenario.objects.create(name=name)
-
-
-def make_installer(scenarios, name="test installer"):
-    installer = Installer.objects.create(name=name)
-    for scenario in scenarios:
-        installer.sup_scenarios.add(scenario)
-
-    return installer
-
-
-def make_os(installers=None, name="test OS"):
-    if not installers:
-        installers = [make_installer([make_scenario()])]
-    os = Opsys.objects.create(name=name)
-    for installer in installers:
-        os.sup_installers.add(installer)
-
-    return os
-
-
-def make_server(host_profile, lab, labid="test_host", name="test_host",
-                booked=False, working=True, config=None,
-                bundle=None, model="Model 1", vendor="ACME"):
-    return Server.objects.create(
-        lab=lab,
-        profile=host_profile,
-        name=name,
-        booked=booked,
-        working=working,
-        config=config,
-        bundle=bundle,
-        model=model,
-        vendor=vendor
-    )
-
-
-def make_opnfv_role(name="Jumphost", description="test opnfvrole"):
-    return OPNFVRole.objects.create(
-        name=name,
-        description=description
-    )
-
-
-def make_public_net(vlan, lab, in_use=False,
-                    cidr="0.0.0.0/0", gateway="0.0.0.0"):
-    return PublicNetwork.objects.create(
-        lab=lab,
-        vlan=vlan,
-        cidr=cidr,
-        gateway=gateway
-    )