Merge "Return realistic data from mocked library"
This commit is contained in:
@@ -122,10 +122,10 @@ class EnvDelete(EnvMixIn, base.BaseDeleteCommand):
|
||||
def take_action(self, parsed_args):
|
||||
env = self.client.get_by_id(parsed_args.id)
|
||||
|
||||
if env.status == 'operational' and not parsed_args.force:
|
||||
if env['status'] == 'operational' and not parsed_args.force:
|
||||
self.app.stdout.write("Deleting an operational environment is a "
|
||||
"dangerous operation. Please use --force to "
|
||||
"bypass this message.")
|
||||
"dangerous operation.\n"
|
||||
"Please use --force to bypass this message.")
|
||||
return
|
||||
|
||||
return super(EnvDelete, self).take_action(parsed_args)
|
||||
|
||||
@@ -23,13 +23,14 @@ def get_fake_env(name=None, status=None, release_id=None,
|
||||
environment. Represents the average amount of data.
|
||||
|
||||
"""
|
||||
return {"status": status or "new",
|
||||
"is_customized": False,
|
||||
"release_id": release_id or 1,
|
||||
"name": name or "fake_env",
|
||||
"grouping": "roles",
|
||||
"net_provider": "nova_network",
|
||||
"fuel_version": fuel_version or "5.1",
|
||||
"pending_release_id": pending_release,
|
||||
"id": env_id or 1,
|
||||
"mode": "multinode"}
|
||||
return {'status': status or 'new',
|
||||
'is_customized': False,
|
||||
'release_id': release_id or 1,
|
||||
'name': name or 'fake_env',
|
||||
'grouping': 'roles',
|
||||
'net_provider': 'nova_network',
|
||||
'fuel_version': fuel_version or '5.1',
|
||||
'pending_release_id': pending_release,
|
||||
'id': env_id or 1,
|
||||
'changes': [],
|
||||
'mode': 'multinode'}
|
||||
|
||||
@@ -14,118 +14,114 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
import random
|
||||
|
||||
from fuelclient import tests
|
||||
|
||||
|
||||
def get_fake_node(cluster=None, hostname=None, node_id=None, cpu_model=None,
|
||||
roles=None, mac=None, memory_b=None, os_platform=None,
|
||||
status=None, node_name=None, group_id=None):
|
||||
"""Creates a fake random node
|
||||
"""Creates a fake node
|
||||
|
||||
Returns the serialized and parametrized representation of a dumped Fuel
|
||||
environment. Represents the average amount of data.
|
||||
|
||||
"""
|
||||
host_name = hostname or tests.utils.random_string(15, prefix='fake-node-')
|
||||
host_name = hostname or 'fake-node-42'
|
||||
|
||||
return {"name": node_name or host_name,
|
||||
"error_type": None,
|
||||
"cluster": cluster or 1,
|
||||
"id": node_id or random.randint(1, 10000),
|
||||
"ip": "10.20.0.4",
|
||||
"kernel_params": None,
|
||||
"group_id": group_id or 1,
|
||||
"mac": mac or "d6:11:3f:b0:f1:43",
|
||||
"manufacturer": "VirtualBox",
|
||||
"online": True,
|
||||
"os_platform": os_platform or "centos",
|
||||
"pending_addition": False,
|
||||
"pending_deletion": False,
|
||||
"pending_roles": [],
|
||||
"platform_name": None,
|
||||
"progress": 100,
|
||||
"roles": roles or ["compute"],
|
||||
"status": status or "ready",
|
||||
"fqdn": "{hostname}.example.com".format(hostname=host_name),
|
||||
return {'name': node_name or host_name,
|
||||
'error_type': None,
|
||||
'cluster': cluster or 1,
|
||||
'id': node_id or 42,
|
||||
'ip': '10.20.0.4',
|
||||
'kernel_params': None,
|
||||
'group_id': group_id or 1,
|
||||
'mac': mac or 'd6:11:3f:b0:f1:43',
|
||||
'manufacturer': 'VirtualBox',
|
||||
'online': True,
|
||||
'os_platform': os_platform or 'centos',
|
||||
'pending_addition': False,
|
||||
'pending_deletion': False,
|
||||
'pending_roles': [],
|
||||
'platform_name': None,
|
||||
'progress': 100,
|
||||
'roles': roles or ['compute'],
|
||||
'status': status or 'ready',
|
||||
'fqdn': '{hostname}.example.com'.format(hostname=host_name),
|
||||
|
||||
"meta": {"cpu": {"real": 0,
|
||||
"spec": [{"frequency": 2553,
|
||||
"model": cpu_model or "Random CPU"}],
|
||||
"total": 1},
|
||||
'meta': {'cpu': {'real': 0,
|
||||
'spec': [{'frequency': 2553,
|
||||
'model': cpu_model or 'Random CPU'}],
|
||||
'total': 1},
|
||||
|
||||
"disks": [{"disk": "disk/by-path/pci:00:0d.0-scsi-2:0:0",
|
||||
"extra": ["disk/by-id/scsi-SATA_VBOX_aef0bb5c",
|
||||
"disk/by-id/ata-VBOX_HARDDISK_VB37"],
|
||||
"model": "VBOX HARDDISK",
|
||||
"name": "sdc",
|
||||
"removable": "0",
|
||||
"size": 68718428160},
|
||||
'disks': [{'disk': 'disk/by-path/pci:00:0d.0-scsi-2:0:0',
|
||||
'extra': ['disk/by-id/scsi-SATA_VBOX_aef0bb5c',
|
||||
'disk/by-id/ata-VBOX_HARDDISK_VB37'],
|
||||
'model': 'VBOX HARDDISK',
|
||||
'name': 'sdc',
|
||||
'removable': '0',
|
||||
'size': 68718428160},
|
||||
|
||||
{"disk": "disk/by-path/pci:0:0d.0-scsi-1:0:0:0",
|
||||
"extra": ["disk/by-id/scsi-SATA_VBOX_30fbc3bb",
|
||||
"disk/by-id/ata-VBOX_HARDD30fbc3bb"],
|
||||
"model": "VBOX HARDDISK",
|
||||
"name": "sdb",
|
||||
"removable": "0",
|
||||
"size": 68718428160},
|
||||
{'disk': 'disk/by-path/pci:0:0d.0-scsi-1:0:0:0',
|
||||
'extra': ['disk/by-id/scsi-SATA_VBOX_30fbc3bb',
|
||||
'disk/by-id/ata-VBOX_HARDD30fbc3bb'],
|
||||
'model': 'VBOX HARDDISK',
|
||||
'name': 'sdb',
|
||||
'removable': '0',
|
||||
'size': 68718428160},
|
||||
|
||||
{"disk": "disk/by-path/pci:00:d.0-scsi-0:0:0:0",
|
||||
"extra": ["disk/by-id/scsi-SATA_VBOX-17e33653",
|
||||
"disk/by-id/ata-VBOX_HARDD17e33653"],
|
||||
"model": "VBOX HARDDISK",
|
||||
"name": "sda",
|
||||
"removable": "0",
|
||||
"size": 68718428160}],
|
||||
{'disk': 'disk/by-path/pci:00:d.0-scsi-0:0:0:0',
|
||||
'extra': ['disk/by-id/scsi-SATA_VBOX-17e33653',
|
||||
'disk/by-id/ata-VBOX_HARDD17e33653'],
|
||||
'model': 'VBOX HARDDISK',
|
||||
'name': 'sda',
|
||||
'removable': '0',
|
||||
'size': 68718428160}],
|
||||
|
||||
"interfaces": [{"name": "eth2",
|
||||
"current_speed": 100,
|
||||
"mac": "08:00:27:88:9C:46",
|
||||
"max_speed": 100,
|
||||
"state": "unknown"},
|
||||
'interfaces': [{'name': 'eth2',
|
||||
'current_speed': 100,
|
||||
'mac': '08:00:27:88:9C:46',
|
||||
'max_speed': 100,
|
||||
'state': 'unknown'},
|
||||
|
||||
{"name": "eth1",
|
||||
"current_speed": 100,
|
||||
"mac": "08:00:27:24:BD:6D",
|
||||
"max_speed": 100,
|
||||
"state": "unknown"},
|
||||
{'name': 'eth1',
|
||||
'current_speed': 100,
|
||||
'mac': '08:00:27:24:BD:6D',
|
||||
'max_speed': 100,
|
||||
'state': 'unknown'},
|
||||
|
||||
{"name": "eth0",
|
||||
"current_speed": 100,
|
||||
"mac": "08:00:27:C1:C5:72",
|
||||
"max_speed": 100,
|
||||
"state": "unknown"}],
|
||||
"memory": {"total": memory_b or 1968627712},
|
||||
{'name': 'eth0',
|
||||
'current_speed': 100,
|
||||
'mac': '08:00:27:C1:C5:72',
|
||||
'max_speed': 100,
|
||||
'state': 'unknown'}],
|
||||
'memory': {'total': memory_b or 1968627712},
|
||||
|
||||
"system": {"family": "Virtual Machine",
|
||||
"fqdn": host_name,
|
||||
"manufacturer": "VirtualBox",
|
||||
"serial": "0",
|
||||
"version": "1.2"}},
|
||||
"network_data": [{"brd": "192.168.0.255",
|
||||
"dev": "eth0",
|
||||
"gateway": None,
|
||||
"ip": "192.168.0.2/24",
|
||||
"name": "management",
|
||||
"netmask": "255.255.255.0",
|
||||
"vlan": 101},
|
||||
'system': {'family': 'Virtual Machine',
|
||||
'fqdn': host_name,
|
||||
'manufacturer': 'VirtualBox',
|
||||
'serial': '0',
|
||||
'version': '1.2'}},
|
||||
'network_data': [{'brd': '192.168.0.255',
|
||||
'dev': 'eth0',
|
||||
'gateway': None,
|
||||
'ip': '192.168.0.2/24',
|
||||
'name': 'management',
|
||||
'netmask': '255.255.255.0',
|
||||
'vlan': 101},
|
||||
|
||||
{"brd": "192.168.1.255",
|
||||
"dev": "eth0",
|
||||
"gateway": None,
|
||||
"ip": "192.168.1.2/24",
|
||||
"name": "storage",
|
||||
"netmask": "255.255.255.0",
|
||||
"vlan": 102},
|
||||
{'brd': '192.168.1.255',
|
||||
'dev': 'eth0',
|
||||
'gateway': None,
|
||||
'ip': '192.168.1.2/24',
|
||||
'name': 'storage',
|
||||
'netmask': '255.255.255.0',
|
||||
'vlan': 102},
|
||||
|
||||
{"brd": "172.16.0.255",
|
||||
"dev": "eth1",
|
||||
"gateway": "172.16.0.1",
|
||||
"ip": "172.16.0.3/24",
|
||||
"name": "public",
|
||||
"netmask": "255.255.255.0",
|
||||
"vlan": None},
|
||||
{'brd': '172.16.0.255',
|
||||
'dev': 'eth1',
|
||||
'gateway': '172.16.0.1',
|
||||
'ip': '172.16.0.3/24',
|
||||
'name': 'public',
|
||||
'netmask': '255.255.255.0',
|
||||
'vlan': None},
|
||||
|
||||
{"dev": "eth0",
|
||||
"name": "admin"}]}
|
||||
{'dev': 'eth0',
|
||||
'name': 'admin'}]}
|
||||
|
||||
31
fuelclient/tests/utils/fake_task.py
Normal file
31
fuelclient/tests/utils/fake_task.py
Normal file
@@ -0,0 +1,31 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Copyright 2015 Mirantis, Inc.
|
||||
#
|
||||
# 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.
|
||||
|
||||
|
||||
def get_fake_task(task_id=None, status=None, name=None,
|
||||
cluster=None, result=None, progress=None):
|
||||
"""Create a fake task
|
||||
|
||||
Returns the serialized and parametrized representation of a dumped Fuel
|
||||
Task. Represents the average amount of data.
|
||||
|
||||
"""
|
||||
return {'status': status or 'running',
|
||||
'name': name or 'deploy',
|
||||
'task_id': task_id or 42,
|
||||
'cluster': cluster or 34,
|
||||
'result': result or '',
|
||||
'progress': progress or 50}
|
||||
@@ -18,6 +18,7 @@ import cStringIO
|
||||
|
||||
import mock
|
||||
|
||||
from fuelclient.tests.utils import fake_env
|
||||
from fuelclient.tests.v2.unit.cli import test_engine
|
||||
from fuelclient.v1 import environment
|
||||
|
||||
@@ -25,6 +26,15 @@ from fuelclient.v1 import environment
|
||||
class TestEnvCommand(test_engine.BaseCLITest):
|
||||
"""Tests for fuel2 env * commands."""
|
||||
|
||||
def setUp(self):
|
||||
super(TestEnvCommand, self).setUp()
|
||||
|
||||
self.m_client.get_all.return_value = [fake_env.get_fake_env()
|
||||
for i in range(10)]
|
||||
self.m_client.get_by_id.return_value = fake_env.get_fake_env()
|
||||
self.m_client.create.return_value = fake_env.get_fake_env()
|
||||
self.m_client.update.return_value = fake_env.get_fake_env()
|
||||
|
||||
def test_env_list(self):
|
||||
args = 'env list'
|
||||
self.exec_command(args)
|
||||
@@ -70,10 +80,9 @@ class TestEnvCommand(test_engine.BaseCLITest):
|
||||
|
||||
def test_env_delete_wo_force(self):
|
||||
args = 'env delete 42'
|
||||
fake_env = mock.Mock()
|
||||
fake_env.status = 'operational'
|
||||
|
||||
self.m_client.get_by_id.return_value = fake_env
|
||||
env = fake_env.get_fake_env(status='operational')
|
||||
self.m_client.get_by_id.return_value = env
|
||||
|
||||
with mock.patch('sys.stdout', new=cStringIO.StringIO()) as m_stdout:
|
||||
self.exec_command(args)
|
||||
|
||||
@@ -16,12 +16,20 @@
|
||||
|
||||
import mock
|
||||
|
||||
from fuelclient.tests.utils import fake_node
|
||||
from fuelclient.tests.v2.unit.cli import test_engine
|
||||
|
||||
|
||||
class TestNodeCommand(test_engine.BaseCLITest):
|
||||
"""Tests for fuel2 node * commands."""
|
||||
|
||||
def setUp(self):
|
||||
super(TestNodeCommand, self).setUp()
|
||||
|
||||
self.m_client.get_all.return_value = [fake_node.get_fake_node()
|
||||
for i in range(10)]
|
||||
self.m_client.get_by_id.return_value = fake_node.get_fake_node()
|
||||
|
||||
def test_node_list(self):
|
||||
args = 'node list'
|
||||
self.exec_command(args)
|
||||
|
||||
@@ -16,11 +16,19 @@
|
||||
|
||||
import mock
|
||||
|
||||
from fuelclient.tests.utils import fake_task
|
||||
from fuelclient.tests.v2.unit.cli import test_engine
|
||||
|
||||
|
||||
class TestTaskCommand(test_engine.BaseCLITest):
|
||||
|
||||
def setUp(self):
|
||||
super(TestTaskCommand, self).setUp()
|
||||
|
||||
self.m_client.get_all.return_value = [fake_task.get_fake_task()
|
||||
for i in range(10)]
|
||||
self.m_client.get_by_id.return_value = fake_task.get_fake_task()
|
||||
|
||||
def test_task_list(self):
|
||||
args = 'task list'
|
||||
self.exec_command(args)
|
||||
|
||||
Reference in New Issue
Block a user