diff options
| author | Dean Troyer <dtroyer@gmail.com> | 2017-07-26 11:31:06 -0500 |
|---|---|---|
| committer | Dean Troyer <dtroyer@gmail.com> | 2017-07-26 19:17:46 -0500 |
| commit | 022fdb10ebf5e539fb4d84550d00943d55e5f746 (patch) | |
| tree | c06df73d5f60c45d466b1d28f098f161349c0771 /openstackclient | |
| parent | 86bda369638e53a8e9683731e7a5d432640fa813 (diff) | |
| download | python-openstackclient-022fdb10ebf5e539fb4d84550d00943d55e5f746.tar.gz | |
Skip object-store functional tests when Swift is not available
Specifically, in the py3 jobs Swift is not (yet) properly starting as
a py2 service, so we disabled swift in those OSC jobs and need to
skip the object-store functional tests in that case.
Change-Id: I073551c41b7636f04b3ee97dc6fe69630e207b67
Diffstat (limited to 'openstackclient')
3 files changed, 48 insertions, 11 deletions
diff --git a/openstackclient/tests/functional/object/v1/common.py b/openstackclient/tests/functional/object/v1/common.py new file mode 100644 index 00000000..44771aaa --- /dev/null +++ b/openstackclient/tests/functional/object/v1/common.py @@ -0,0 +1,22 @@ +# 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 openstackclient.tests.functional import base + + +class ObjectStoreTests(base.TestCase): + """Functional tests for Object Store commands""" + + @classmethod + def setUpClass(cls): + super(ObjectStoreTests, cls).setUpClass() + cls.haz_object_store = base.is_service_enabled('object-store') diff --git a/openstackclient/tests/functional/object/v1/test_container.py b/openstackclient/tests/functional/object/v1/test_container.py index acfbab11..d66aa842 100644 --- a/openstackclient/tests/functional/object/v1/test_container.py +++ b/openstackclient/tests/functional/object/v1/test_container.py @@ -12,28 +12,37 @@ import uuid -from openstackclient.tests.functional import base +# from openstackclient.tests.functional import base +from openstackclient.tests.functional.object.v1 import common -class ContainerTests(base.TestCase): - """Functional tests for object containers. """ +class ContainerTests(common.ObjectStoreTests): + """Functional tests for Object Store container commands""" NAME = uuid.uuid4().hex @classmethod def setUpClass(cls): super(ContainerTests, cls).setUpClass() - opts = cls.get_opts(['container']) - raw_output = cls.openstack('container create ' + cls.NAME + opts) - cls.assertOutput(cls.NAME + '\n', raw_output) + if cls.haz_object_store: + opts = cls.get_opts(['container']) + raw_output = cls.openstack('container create ' + cls.NAME + opts) + cls.assertOutput(cls.NAME + '\n', raw_output) @classmethod def tearDownClass(cls): try: - raw_output = cls.openstack('container delete ' + cls.NAME) - cls.assertOutput('', raw_output) + if cls.haz_object_store: + raw_output = cls.openstack('container delete ' + cls.NAME) + cls.assertOutput('', raw_output) finally: super(ContainerTests, cls).tearDownClass() + def setUp(self): + super(ContainerTests, self).setUp() + # Skip tests if no object-store is present + if not self.haz_object_store: + self.skipTest("No object-store service present") + def test_container_list(self): opts = self.get_opts(['Name']) raw_output = self.openstack('container list' + opts) diff --git a/openstackclient/tests/functional/object/v1/test_object.py b/openstackclient/tests/functional/object/v1/test_object.py index 0927d706..d1a73c54 100644 --- a/openstackclient/tests/functional/object/v1/test_object.py +++ b/openstackclient/tests/functional/object/v1/test_object.py @@ -14,18 +14,24 @@ import os import tempfile import uuid -from openstackclient.tests.functional import base +from openstackclient.tests.functional.object.v1 import common BASIC_LIST_HEADERS = ['Name'] CONTAINER_FIELDS = ['account', 'container', 'x-trans-id'] OBJECT_FIELDS = ['object', 'container', 'etag'] -class ObjectTests(base.TestCase): - """Functional tests for Object commands. """ +class ObjectTests(common.ObjectStoreTests): + """Functional tests for Object Store object commands""" CONTAINER_NAME = uuid.uuid4().hex + def setUp(self): + super(ObjectTests, self).setUp() + # Skip tests if no object-store is present + if not self.haz_object_store: + self.skipTest("No object-store service present") + def test_object(self): with tempfile.NamedTemporaryFile() as f: f.write('test content') |
