Merge "Add tempest tests."

This commit is contained in:
Jenkins 2017-07-25 18:48:53 +00:00 committed by Gerrit Code Review
commit c6e0c5b121
3 changed files with 97 additions and 2 deletions

View File

@ -0,0 +1,18 @@
============================
Tempest Integration of Glare
============================
This directory contains Tempest tests to cover the Glare project.
To list all glare tempest cases, go to tempest directory, then run:
$ testr list-tests glare
To run glare tempest plugin tests using tox, go to tempest directory, then run:
$ tox -eall-plugin glare
And, to run a specific test:
TBD

View File

@ -0,0 +1,79 @@
# Copyright 2017 Nokia, Inc.
# All Rights Reserved.
#
# 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 hashlib
import testtools
from glare_tempest_plugin.tests.api import base
from pprint import pformat
class TestDownloadSanity(base.BaseArtifactTest):
@testtools.testcase.attr('TestDownloadSanity')
def test_blob_dict(self):
"""Uploading data to a folder and then download it back"""
# Create a test artifact
art = self.artifacts_client.create_artifact('sample_artifact',
'sample_art1')
data = "data" * 100
art = self.artifacts_client.upload_blob(
'sample_artifact', art['id'], '/dict_of_blobs/new_blob', data)
art_blob = art['dict_of_blobs']['new_blob']
self.assertEqual(400, art_blob['size'])
self.assertEqual('active', art_blob['status'], pformat(art_blob))
encoded_data = data.encode('UTF-8')
md5 = hashlib.md5(encoded_data).hexdigest()
sha1 = hashlib.sha1(encoded_data).hexdigest()
sha256 = hashlib.sha256(encoded_data).hexdigest()
self.assertEqual(md5, art_blob['md5'])
self.assertEqual(sha1, art_blob['sha1'])
self.assertEqual(sha256, art_blob['sha256'])
# Download data from the folder (dict_of_blobs)
self.assertEqual(data,
self.artifacts_client.download_blob(
'sample_artifact', art['id'],
'/dict_of_blobs/new_blob'), pformat(art))
@testtools.testcase.attr('TestDownloadSanity')
def test_blob_download(self):
data = 'some_arbitrary_testing_data'
art = self.artifacts_client.create_artifact('sample_artifact',
'test_af')
# upload data
art = self.artifacts_client.upload_blob('sample_artifact',
art['id'], 'blob', data)
art_blob = art['blob']
self.assertEqual('active', art_blob['status'], pformat(art))
encoded_data = data.encode('UTF-8')
md5 = hashlib.md5(encoded_data).hexdigest()
sha1 = hashlib.sha1(encoded_data).hexdigest()
sha256 = hashlib.sha256(encoded_data).hexdigest()
self.assertEqual(md5, art_blob['md5'])
self.assertEqual(sha1, art_blob['sha1'])
self.assertEqual(sha256, art_blob['sha256'])
# Download data
self.assertEqual(data,
self.artifacts_client.download_blob(
'sample_artifact', art['id'],
'/blob'), pformat(art))

View File

@ -13,14 +13,12 @@
# License for the specific language governing permissions and limitations
# under the License.
import testtools
from glare_tempest_plugin.tests.api import base
from tempest import config
CONF = config.CONF