# Copyright 2018 FiberHome Telecommunication Technologies CO.,LTD # 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 tempest.api.volume import base from tempest.lib import decorators from tempest.lib import exceptions as lib_exc class VolumeServicesNegativeTest(base.BaseVolumeAdminTest): """Negative tests of volume services""" @classmethod def resource_setup(cls): super(VolumeServicesNegativeTest, cls).resource_setup() services = cls.admin_volume_services_client.list_services()['services'] cls.host = services[0]['host'] cls.binary = services[0]['binary'] @decorators.attr(type='negative') @decorators.idempotent_id('3246ce65-ba70-4159-aa3b-082c28e4b484') def test_enable_service_with_invalid_host(self): """Test enabling volume service with invalid host should fail""" self.assertRaises(lib_exc.NotFound, self.admin_volume_services_client.enable_service, host='invalid_host', binary=self.binary) @decorators.attr(type='negative') @decorators.idempotent_id('c571f179-c6e6-4c50-a0ab-368b628a8ac1') def test_disable_service_with_invalid_binary(self): """Test disabling volume service with invalid binary should fail""" self.assertRaises(lib_exc.NotFound, self.admin_volume_services_client.disable_service, host=self.host, binary='invalid_binary') @decorators.attr(type='negative') @decorators.idempotent_id('77767b36-5e8f-4c68-a0b5-2308cc21ec64') def test_disable_log_reason_with_no_reason(self): """Test disabling volume service with none reason should fail""" self.assertRaises(lib_exc.BadRequest, self.admin_volume_services_client.disable_log_reason, host=self.host, binary=self.binary, disabled_reason=None) @decorators.attr(type='negative') @decorators.idempotent_id('712bfab8-1f44-4eb5-a632-fa70bf78f05e') def test_freeze_host_with_invalid_host(self): """Test freezing volume service with invalid host should fail""" self.assertRaises(lib_exc.BadRequest, self.admin_volume_services_client.freeze_host, host='invalid_host') @decorators.attr(type='negative') @decorators.idempotent_id('7c6287c9-d655-47e1-9a11-76f6657a6dce') def test_thaw_host_with_invalid_host(self): """Test thawing volume service with invalid host should fail""" self.assertRaises(lib_exc.BadRequest, self.admin_volume_services_client.thaw_host, host='invalid_host')