Files
python-barbicanclient/functionaltests/client/v1/smoke/test_orders.py
reedip 8d3b5b3b7b Fix argument order for assertEqual to (exp, obs)
assertEqual expects that the arguments provided to it
should be (expected, observed). If a particluar order
is kept as a convention, then it helps to provide a cleaner
message to the developer if Unit Tests fail.
The following patch fixes this issue.

TrivialFix

Change-Id: I6a8e11df30516f6be9a745b1f0f68ef3f2825fcf
Closes-Bug: #1259292
2016-03-24 02:35:45 +00:00

164 lines
5.2 KiB
Python

# Copyright (c) 2015 Rackspace, Inc.
#
# 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 testtools import testcase
from functionaltests import utils
from functionaltests.client import base
from functionaltests.common import cleanup
order_create_key_data = {
"name": "barbican functional test secret name",
"algorithm": "aes",
"bit_length": 256,
"mode": "cbc",
"payload_content_type": "application/octet-stream",
}
# Any field with None will be created in the model with None as the value
# but will be omitted in the final request (via the requests package)
# to the server.
#
# Given that fact, order_create_nones_data is effectively an empty json request
# to the server.
order_create_nones_data = {
'type': None,
"meta": {
"name": None,
"algorithm": None,
"bit_length": None,
"mode": None,
"payload_content_type": None,
}
}
@utils.parameterized_test_case
class OrdersTestCase(base.TestCase):
def setUp(self):
super(OrdersTestCase, self).setUp()
self.cleanup = cleanup.CleanUp(self.barbicanclient)
def tearDown(self):
self.cleanup.delete_all_entities()
super(OrdersTestCase, self).tearDown()
@testcase.attr('positive')
def test_create_order_defaults(self):
"""Covers simple order creation."""
order = self.barbicanclient.orders.create_key(
**order_create_key_data)
order_ref = self.cleanup.add_entity(order)
self.assertIsNotNone(order_ref)
@testcase.attr('positive')
def test_get_order_defaults_metadata(self):
"""Covers order metadata.
Assumes that the order status will be active or pending.
"""
# first create an order
order = self.barbicanclient.orders.create_key(
**order_create_key_data)
order_ref = self.cleanup.add_entity(order)
# verify that the order was created successfully
self.assertIsNotNone(order_ref)
# given the order href, retrieve the order
order_resp = self.barbicanclient.orders.get(order_ref)
# verify that the get was successful
self.assertTrue(order_resp.status == "ACTIVE" or
order_resp.status == "PENDING")
# verify the metadata
self.assertEqual(order.name,
order_resp.name)
self.assertEqual(order.mode,
order_resp.mode)
self.assertEqual(order.algorithm,
order_resp.algorithm)
self.assertEqual(order.bit_length,
order_resp.bit_length)
self.assertEqual(order.payload_content_type,
order_resp.payload_content_type)
@testcase.attr('positive')
def test_get_order_defaults(self):
"""Covers getting an order.
Assumes that the order status will be active or pending.
"""
# create an order
order = self.barbicanclient.orders.create_key(
**order_create_key_data)
order_ref = self.cleanup.add_entity(order)
self.assertIsNotNone(order_ref)
# get the order
order_resp = self.barbicanclient.orders.get(order_ref)
# verify the order
self.assertIsNotNone(order_resp.order_ref)
self.assertEqual('key', order_resp._type)
self.assertTrue(order_resp.status == "ACTIVE" or
order_resp.status == "PENDING")
if order_resp.status == "ACTIVE":
self.assertIsNotNone(order_resp.secret_ref)
@testcase.attr('positive')
def test_delete_order_defaults(self):
"""Covers simple order deletion."""
# create an order
order = self.barbicanclient.orders.create_key(
**order_create_key_data)
order_ref = order.submit()
secret_ref = self.barbicanclient.orders.get(order_ref).secret_ref
# delete the order
delete_resp = self.barbicanclient.orders.delete(order_ref)
self.assertIsNone(delete_resp)
# delete the secret
self.barbicanclient.secrets.delete(secret_ref)
@testcase.attr('positive')
def test_get_orders_defaults(self):
"""Covers getting a list of orders."""
limit = 7
offset = 0
total = 10
# create the orders
for i in range(0, total + 1):
order = self.barbicanclient.orders.create_key(
**order_create_key_data)
order_ref = self.cleanup.add_entity(order)
self.assertIsNotNone(order_ref)
# get a list of orders
orders_list = self.barbicanclient.orders.list(limit=limit,
offset=offset)
# verify that the get for the list was successful
self.assertEqual(limit, len(orders_list))