TerryHowe aa7e58cefb Functional tests run in many environments
Have the functional tests running with less customization and
less shell.  This change will allow the functional tests to be
run against any cloud set up in the environment.

Change-Id: I24f621fbace62273e5a0be24e7af9078c0fc8550
2015-04-25 08:42:06 -06:00

77 lines
2.9 KiB
Python

# 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 os
import uuid
from functional.common import test
BASIC_LIST_HEADERS = ['Name']
CONTAINER_FIELDS = ['account', 'container', 'x-trans-id']
OBJECT_FIELDS = ['object', 'container', 'etag']
class ObjectV1Tests(test.TestCase):
"""Functional tests for Object V1 commands. """
CONTAINER_NAME = uuid.uuid4().hex
OBJECT_NAME = uuid.uuid4().hex
def setUp(self):
super(ObjectV1Tests, self).setUp()
self.addCleanup(os.remove, self.OBJECT_NAME)
with open(self.OBJECT_NAME, 'w') as f:
f.write('test content')
def test_object(self):
raw_output = self.openstack('container create ' + self.CONTAINER_NAME)
items = self.parse_listing(raw_output)
self.assert_show_fields(items, CONTAINER_FIELDS)
raw_output = self.openstack('container list')
items = self.parse_listing(raw_output)
self.assert_table_structure(items, BASIC_LIST_HEADERS)
self.openstack('container show ' + self.CONTAINER_NAME)
# TODO(stevemar): Assert returned fields
self.openstack('container save ' + self.CONTAINER_NAME)
# TODO(stevemar): Assert returned fields
raw_output = self.openstack('object create ' + self.CONTAINER_NAME
+ ' ' + self.OBJECT_NAME)
items = self.parse_listing(raw_output)
self.assert_show_fields(items, OBJECT_FIELDS)
raw_output = self.openstack('object list ' + self.CONTAINER_NAME)
items = self.parse_listing(raw_output)
self.assert_table_structure(items, BASIC_LIST_HEADERS)
self.openstack('object save ' + self.CONTAINER_NAME
+ ' ' + self.OBJECT_NAME)
# TODO(stevemar): Assert returned fields
self.openstack('object save ' + self.CONTAINER_NAME
+ ' ' + self.OBJECT_NAME + ' --file tmp.txt')
# TODO(stevemar): Assert returned fields
self.openstack('object show ' + self.CONTAINER_NAME
+ ' ' + self.OBJECT_NAME)
# TODO(stevemar): Assert returned fields
raw_output = self.openstack('object delete ' + self.CONTAINER_NAME
+ ' ' + self.OBJECT_NAME)
self.assertEqual(0, len(raw_output))
raw_output = self.openstack('container delete ' + self.CONTAINER_NAME)
self.assertEqual(0, len(raw_output))