Add basic Swift check

This commit is contained in:
James Page
2019-02-04 10:40:01 +00:00
parent 579e588787
commit 273d2910e9
2 changed files with 32 additions and 2 deletions
+20 -2
View File
@@ -504,13 +504,13 @@ class CephTest(test_utils.OpenStackBaseTest):
logging.debug('OK')
class CephRGWDaemonTest(test_utils.OpenStackBaseTest):
class CephRGWTest(test_utils.OpenStackBaseTest):
"""Ceph RADOS Gateway Daemons Test Class."""
@classmethod
def setUpClass(cls):
"""Run class setup for running ceph low level tests."""
super(CephRGWDaemonTest, cls).setUpClass()
super(CephRGWTest, cls).setUpClass()
def test_processes(self):
"""Verify Ceph processes.
@@ -547,3 +547,21 @@ class CephRGWDaemonTest(test_utils.OpenStackBaseTest):
services=services,
target_status='running'
)
def test_object_storage(self):
"""Verify object storage API.
Verify that the object storage API works as expected.
"""
logging.info('Checking Swift REST API')
keystone_session = zaza_openstack.get_overcloud_keystone_session()
swift_client = zaza_openstack.get_swift_session_client(
keystone_session)
_container = 'demo-container'
swift_client.put_container(_container)
swift_client.put_object('testfile',
container=_container,
contents='Test data from Zaza')
_, content = swift_client.get_object('testfile',
container=_container)
self.assertEqual(content, 'Test data from Zaza')
+12
View File
@@ -38,6 +38,7 @@ from novaclient import client as novaclient_client
from neutronclient.v2_0 import client as neutronclient
from neutronclient.common import exceptions as neutronexceptions
from octaviaclient.api.v2 import octavia as octaviaclient
from swiftclient import client as swiftclient
import io
import juju_wait
@@ -201,6 +202,17 @@ def get_neutron_session_client(session):
return neutronclient.Client(session=session)
def get_swift_session_client(session):
"""Return swiftclient authenticated by keystone session.
:param session: Keystone session object
:type session: keystoneauth1.session.Session object
:returns: Authenticated swiftclient
:rtype: swiftclient.Client object
"""
return swiftclient.Connection(session=session)
def get_octavia_session_client(session, service_type='load-balancer',
interface='internal'):
"""Return neutronclient authenticated by keystone session.