Tzu-Mainn Chen 544cef78a6 Fixed rack tests
This patch fixes the tests.  There's one failure
left; fixing it requires stubbing out the baremetal
client, which I'm holding off on doing for now.

Change-Id: I30e5ffd187a3309906909e7f0a75583d957c42fc
2013-08-01 16:18:58 +02:00

168 lines
5.8 KiB
Python

# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
from openstack_dashboard.api.tuskar import (
Flavor, FlavorTemplate, ResourceClass, Node,
Rack, Capacity)
from collections import namedtuple
import openstack_dashboard.dashboards.infrastructure.models as dummymodels
from .utils import TestDataContainer
def data(TEST):
FlavorStruct = namedtuple('FlavorStruct', 'id name\
capacities')
CapacityStruct = namedtuple('CapacityStruct', 'name value unit')
TEST.tuskar_flavor_templates = TestDataContainer()
flavor_template_1 = FlavorTemplate(FlavorStruct(
id="1",
name='nano',
capacities=[
Capacity(CapacityStruct(
name='cpu',
unit='',
value='1')),
Capacity(CapacityStruct(
name='memory',
unit='MB',
value='64')),
Capacity(CapacityStruct(
name='storage',
unit='MB',
value='128')),
Capacity(CapacityStruct(
name='ephemeral_disk',
unit='GB',
value='0')),
Capacity(CapacityStruct(
name='swap_disk',
unit='GB',
value='0'))]))
flavor_template_2 = FlavorTemplate(FlavorStruct(
id="2",
name='large',
capacities=[]))
TEST.tuskar_flavor_templates.add(flavor_template_1, flavor_template_2)
# Flavors
TEST.tuskar_flavors = TestDataContainer()
flavor_1 = Flavor(FlavorStruct(
id="1",
name='nano',
capacities=[]))
flavor_2 = Flavor(FlavorStruct(
id="2",
name='large',
capacities=[]))
TEST.tuskar_flavors.add(flavor_1, flavor_2)
# Resource Classes
TEST.tuskar_resource_classes = TestDataContainer()
ResourceClassStruct = namedtuple('ResourceClassStruct', 'id service_type\
name racks')
resource_class_1 = ResourceClass(ResourceClassStruct(
id="1",
service_type="compute",
racks=[{'id': 1}],
name="rclass1"))
resource_class_2 = ResourceClass(ResourceClassStruct(
id="2",
service_type="compute",
racks=[],
name="rclass2"))
"""
# FIXME to make code below work, every @property has to have
# setter defined in API model
flavors = []
all_flavors = []
resources = []
all_resources = []
@resources.setter
def resources(self, value):
self._resources = value
resource_class_1.resources = resources
resource_class_2.resources = resources
resource_class_1.all_resources = all_resources
resource_class_2.all_resources = all_resources
resource_class_1.flavors = flavors
resource_class_2.flavors = flavors
resource_class_1.all_flavors = all_flavors
resource_class_2.all_flavors = all_flavors
"""
TEST.tuskar_resource_classes.add(resource_class_1, resource_class_2)
#Racks
TEST.tuskar_racks = TestDataContainer()
# FIXME: Struct is used to provide similar object-like behaviour
# as is provided by tuskarclient
RackStruct = namedtuple('RackStruct', 'id name nodes resource_class\
location subnet state')
rack_1 = Rack(RackStruct(
id="1",
name='rack1',
location='location',
subnet='192.168.1.0/24',
state='provisioned',
nodes=[{'id': '1'}, {'id': '2'}, {'id': '3'}, {'id': '4'}],
resource_class={'id': '1'}))
TEST.tuskar_racks.add(rack_1)
# Nodes
TEST.nodes = TestDataContainer()
TEST.unracked_nodes = TestDataContainer()
node_1 = Node(dummymodels.Node(id="1",
name="node1",
rack_id=1,
mac_address="00-B0-D0-86-AB-F7",
ip_address="192.168.191.11",
status="active",
usage="20"))
node_2 = Node(dummymodels.Node(id="2",
name="node2",
rack_id=1,
mac_address="00-B0-D0-86-AB-F8",
ip_address="192.168.191.12",
status="active",
usage="20"))
node_3 = Node(dummymodels.Node(id="3",
name="node3",
rack_id=1,
mac_address="00-B0-D0-86-AB-F9",
ip_address="192.168.191.13",
status="active",
usage="20"))
node_4 = Node(dummymodels.Node(id="4",
name="node4",
rack_id=1,
mac_address="00-B0-D0-86-AB-F0",
ip_address="192.168.191.14",
status="active",
usage="20"))
node_5 = Node(dummymodels.Node(id="5",
name="node5",
mac_address="00-B0-D0-86-AB-F1"))
TEST.nodes.add(node_1, node_2, node_3, node_4)
TEST.unracked_nodes.add(node_5)