From 411e42feab4d5102cb7f7c591afaa3404fe76912 Mon Sep 17 00:00:00 2001 From: Sergii Turivnyi Date: Tue, 4 Oct 2016 11:49:16 -0400 Subject: [PATCH] Add negative test-cases for openstack node create command Change-Id: Icf7afa131f3cc07c19df88bd254b4aa823c6bef4 Partial-Bug: #1630288 --- .../v1/test_baremetal_node_create_negative.py | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 ironicclient/tests/functional/osc/v1/test_baremetal_node_create_negative.py diff --git a/ironicclient/tests/functional/osc/v1/test_baremetal_node_create_negative.py b/ironicclient/tests/functional/osc/v1/test_baremetal_node_create_negative.py new file mode 100644 index 000000000..65ab5eba9 --- /dev/null +++ b/ironicclient/tests/functional/osc/v1/test_baremetal_node_create_negative.py @@ -0,0 +1,55 @@ +# Copyright (c) 2016 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. + +import ddt +import six +from tempest.lib import exceptions + +from ironicclient.tests.functional.osc.v1 import base + + +@ddt.ddt +class BaremetalNodeCreateNegativeTests(base.TestCase): + """Negative tests for node create command.""" + + def setUp(self): + super(BaremetalNodeCreateNegativeTests, self).setUp() + + @staticmethod + def constuct_cmd(base_cmd, argument, value): + cmd = base_cmd + if argument: + cmd = '{0} {1} {2}'.format(cmd, argument, value) + return cmd + + @ddt.data( + ('--uuid', '', 'expected one argument'), + ('--uuid', '!@#$^*&%^', 'Expected a UUID'), + ('--uuid', '0000 0000', 'unrecognized arguments'), + ('--driver-info', '', 'expected one argument'), + ('--driver-info', 'some info', 'unrecognized arguments'), + ('--property', '', 'expected one argument'), + ('--property', 'some property', 'unrecognized arguments'), + ('--extra', '', 'expected one argument'), + ('--extra', 'some extra', 'unrecognized arguments'), + ('--name', '', 'expected one argument'), + ('--name', 'some name', 'unrecognized arguments'), + ('--network-interface', '', 'expected one argument'), + ('--resource-class', '', 'expected one argument')) + @ddt.unpack + def test_baremetal_node_create(self, argument, value, ex_text): + base_cmd = 'baremetal node create --driver fake' + command = self.constuct_cmd(base_cmd, argument, value) + six.assertRaisesRegex(self, exceptions.CommandFailed, ex_text, + self.openstack, command)