
add list device testcase by combine condition of type、hostname、vendor Change-Id: I9ac0eb1b40b041fb904036b4749bf3faa872e32e
108 lines
4.2 KiB
Python
108 lines
4.2 KiB
Python
# Copyright 2020 Inspur, Inc.
|
|
# 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.
|
|
|
|
from cyborg_tempest_plugin.tests.api import base
|
|
|
|
|
|
class TestDevice(base.BaseAPITest):
|
|
|
|
@classmethod
|
|
def skip_checks(cls):
|
|
super(TestDevice, cls).skip_checks()
|
|
|
|
credentials = ['admin']
|
|
|
|
def test_list_get_device(self):
|
|
response = self.os_admin.cyborg_client.list_devices()
|
|
self.assertEqual('devices', list(response.keys())[0])
|
|
|
|
device_uuid = response['devices'][0]['uuid']
|
|
response = self.os_admin.cyborg_client.get_device(
|
|
device_uuid)
|
|
self.assertEqual(device_uuid, response['uuid'])
|
|
|
|
def test_list_devices_filter_by_type(self):
|
|
response = self.os_admin.cyborg_client.list_devices()
|
|
type_name = response['devices'][0]['type']
|
|
|
|
# list devices filter by type
|
|
params = {"type": type_name}
|
|
response = self.os_admin.cyborg_client.list_devices(params=params)
|
|
self.assertNotEmpty(response['devices'])
|
|
for dv in response['devices']:
|
|
self.assertEqual(type_name, dv['type'])
|
|
|
|
def test_list_devices_filter_by_non_exist_type(self):
|
|
# list devices filter by non exist type
|
|
params = {"type": "fake_type"}
|
|
response = self.os_admin.cyborg_client.list_devices(params=params)
|
|
self.assertEmpty(response['devices'])
|
|
|
|
def test_list_devices_filter_by_vendor(self):
|
|
response = self.os_admin.cyborg_client.list_devices()
|
|
vendor = response['devices'][0]['vendor']
|
|
|
|
# list devices filter by vendor
|
|
params = {"vendor": vendor}
|
|
response = self.os_admin.cyborg_client.list_devices(params=params)
|
|
self.assertNotEmpty(response['devices'])
|
|
for dv in response['devices']:
|
|
self.assertEqual(vendor, dv['vendor'])
|
|
|
|
def test_list_devices_filter_by_non_exist_vendor(self):
|
|
# list devices filter by non exist vendor
|
|
params = {"vendor": "fake_vendor"}
|
|
response = self.os_admin.cyborg_client.list_devices(params=params)
|
|
self.assertEmpty(response['devices'])
|
|
|
|
def test_list_devices_filter_by_hostname(self):
|
|
response = self.os_admin.cyborg_client.list_devices()
|
|
hostname = response['devices'][0]['hostname']
|
|
|
|
# list devices filter by hostname
|
|
params = {"hostname": hostname}
|
|
response = self.os_admin.cyborg_client.list_devices(params=params)
|
|
self.assertNotEmpty(response['devices'])
|
|
for dv in response['devices']:
|
|
self.assertEqual(hostname, dv['hostname'])
|
|
|
|
def test_list_devices_filter_by_non_exist_hostname(self):
|
|
# list devices filter by non exist hostname
|
|
params = {"hostname": "fake_hostname"}
|
|
response = self.os_admin.cyborg_client.list_devices(params=params)
|
|
self.assertEmpty(response['devices'])
|
|
|
|
def test_list_devices_filter_by_combine_args(self):
|
|
# list devices filter by combine args
|
|
response = self.os_admin.cyborg_client.list_devices()
|
|
type_name = response['devices'][0]['type']
|
|
vendor = response['devices'][0]['vendor']
|
|
hostname = response['devices'][0]['hostname']
|
|
params = {
|
|
"type": type_name,
|
|
"hostname": hostname,
|
|
"vendor": vendor
|
|
}
|
|
response = self.os_admin.cyborg_client.list_devices(params=params)
|
|
self.assertNotEmpty(response['devices'])
|
|
for dv in response['devices']:
|
|
self.assertEqual(type_name, dv['type'])
|
|
self.assertEqual(vendor, dv['vendor'])
|
|
self.assertEqual(hostname, dv['hostname'])
|
|
|
|
@classmethod
|
|
def resource_cleanup(cls):
|
|
super(TestDevice, cls).resource_cleanup()
|