Files
cyborg-tempest-plugin/cyborg_tempest_plugin/tests/api/test_device.py
wangzhiguang 3b16666969 add list device testcase by combine args
add list device testcase by combine condition of type、hostname、vendor
Change-Id: I9ac0eb1b40b041fb904036b4749bf3faa872e32e
2023-02-02 09:22:59 +00:00

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()