summaryrefslogtreecommitdiff
path: root/openstackclient/tests/functional/object
diff options
context:
space:
mode:
authorDean Troyer <dtroyer@gmail.com>2017-07-26 11:31:06 -0500
committerDean Troyer <dtroyer@gmail.com>2017-07-26 19:17:46 -0500
commit022fdb10ebf5e539fb4d84550d00943d55e5f746 (patch)
treec06df73d5f60c45d466b1d28f098f161349c0771 /openstackclient/tests/functional/object
parent86bda369638e53a8e9683731e7a5d432640fa813 (diff)
downloadpython-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/tests/functional/object')
-rw-r--r--openstackclient/tests/functional/object/v1/common.py22
-rw-r--r--openstackclient/tests/functional/object/v1/test_container.py25
-rw-r--r--openstackclient/tests/functional/object/v1/test_object.py12
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')