Isaku Yamahata 87a2257477 implement servicevm related command
Change-Id: Ib606eb3e4721ec9a255092bf4581f3b576c3714a
2014-07-04 19:10:57 +09:00

127 lines
4.5 KiB
Python

# vim: tabstop=4 shiftwidth=4 softtabstop=4
#
# Copyright 2014 Intel
# Copyright 2014 Isaku Yamahata <isaku.yamahata at intel com>
# <isaku.yamahata at gmail com>
# All Rights Reserved.
#
#
# 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.
#
# @author: Isaku Yamahata, Intel
import sys
from tackerclient.tacker.v1_0.vm import device
from tackerclient.tests.unit import test_cli10
class CLITestV10VmDeviceJSON(test_cli10.CLITestV10Base):
_RESOURCE = 'device'
_RESOURCES = 'devices'
def setUp(self):
plurals = {'devices': 'device'}
super(CLITestV10VmDeviceJSON, self).setUp(plurals=plurals)
def test_create_device_all_params(self):
cmd = device.CreateDevice(test_cli10.MyApp(sys.stdout), None)
my_id = 'my-id'
template_id = 'template_id'
key = 'key'
value = 'value'
network_id = 'network_id'
subnet_id = 'subnet_id'
port_id = 'port_id'
router_id = 'router_id'
role = 'role'
index = 1
args = [
'--device-template-id', template_id,
'--kwargs', '%s=%s' % (key, value),
'--service-context',
('network-id=%s,subnet-id=%s,port-id=%s,router-id=%s,'
'role=%s,index=%s' % (network_id, subnet_id, port_id, router_id,
role, index))
]
position_names = ['template_id']
position_values = [template_id]
extra_body = {
'kwargs': {
key: value
},
'service_context': [{
'network_id': network_id,
'subnet_id': subnet_id,
'port_id': port_id,
'router_id': router_id,
'role': role,
'index': str(index),
}],
}
self._test_create_resource(self._RESOURCE, cmd, None, my_id,
args, position_names, position_values,
extra_body=extra_body)
def test_create_device_with_mandatory_params(self):
cmd = device.CreateDevice(test_cli10.MyApp(sys.stdout), None)
my_id = 'my-id'
template_id = 'template_id'
args = [
'--device-template-id', template_id,
]
position_names = ['template_id']
position_values = [template_id]
self._test_create_resource(self._RESOURCE, cmd, None, my_id,
args, position_names, position_values)
def test_list_devices(self):
cmd = device.ListDevice(test_cli10.MyApp(sys.stdout), None)
self._test_list_resources(self._RESOURCES, cmd, True)
def test_list_devices_pagenation(self):
cmd = device.ListDevice(test_cli10.MyApp(sys.stdout), None)
self._test_list_resources(self._RESOURCES, cmd, True)
def test_show_device_id(self):
cmd = device.ShowDevice(test_cli10.MyApp(sys.stdout), None)
args = ['--fields', 'id', self.test_id]
self._test_show_resource(self._RESOURCE, cmd, self.test_id, args,
['id'])
def test_show_device_id_name(self):
cmd = device.ShowDevice(test_cli10.MyApp(sys.stdout), None)
args = ['--fields', 'id', '--fields', 'name', self.test_id]
self._test_show_resource(self._RESOURCE, cmd, self.test_id,
args, ['id', 'name'])
def test_update_device(self):
cmd = device.UpdateDevice(test_cli10.MyApp(sys.stdout), None)
my_id = 'my-id'
key = 'new-key'
value = 'new-value'
self._test_update_resource(self._RESOURCE, cmd, my_id,
[my_id, '--kwargs', '%s=%s' % (key, value)],
{'kwargs': {key: value}})
def test_delete_device(self):
cmd = device.DeleteDevice(test_cli10.MyApp(sys.stdout), None)
my_id = 'my-id'
args = [my_id]
self._test_delete_resource(self._RESOURCE, cmd, my_id, args)
class CLITestV10VmDeviceXML(CLITestV10VmDeviceJSON):
format = 'xml'