From 8835ceb9a1940ab41226f64ceb37e9200ef912d4 Mon Sep 17 00:00:00 2001 From: Sergii Turivnyi Date: Fri, 15 Jul 2016 12:08:07 -0400 Subject: [PATCH] Add Negative tests for cinder volume extend command Negative tests for the cinder CLI commands which check actions with volume extend command like extend volume without arguments or with incorrect arguments and check that correct error message raised. Change-Id: Ic7c846fa2d8e7c867ed575d922b4a7e935120705 --- .../functional/test_volume_extend_cli.py | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 cinderclient/tests/functional/test_volume_extend_cli.py diff --git a/cinderclient/tests/functional/test_volume_extend_cli.py b/cinderclient/tests/functional/test_volume_extend_cli.py new file mode 100644 index 000000000..5e1020c54 --- /dev/null +++ b/cinderclient/tests/functional/test_volume_extend_cli.py @@ -0,0 +1,56 @@ +# 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 six +import ddt + +from tempest.lib import exceptions + +from cinderclient.tests.functional import base + + +@ddt.ddt +class CinderVolumeExtendNegativeTests(base.ClientTestBase): + """Check of cinder volume extend command.""" + + def setUp(self): + super(CinderVolumeExtendNegativeTests, self).setUp() + self.volume = self.object_create('volume', params='1') + + @ddt.data( + ('', (r'too few arguments')), + ('-1', (r'New size for extend must be greater than current size')), + ('0', (r'Invalid input received')), + ('size', (r'invalid int value')), + ('0.2', (r'invalid int value')), + ('2 GB', (r'unrecognized arguments')), + ('999999999', (r'VolumeSizeExceedsAvailableQuota')), + ) + @ddt.unpack + def test_volume_extend_with_incorrect_size(self, value, ex_text): + + six.assertRaisesRegex( + self, exceptions.CommandFailed, ex_text, self.cinder, 'extend', + params='{0} {1}'.format(self.volume['id'], value)) + + @ddt.data( + ('', (r'too few arguments')), + ('1234-1234-1234', (r'No volume with a name or ID of')), + ('my_volume', (r'No volume with a name or ID of')), + ('1234 1234', (r'unrecognized arguments')) + ) + @ddt.unpack + def test_volume_extend_with_incorrect_volume_id(self, value, ex_text): + + six.assertRaisesRegex( + self, exceptions.CommandFailed, ex_text, self.cinder, 'extend', + params='{0} 2'.format(value))