156 lines
6.4 KiB
Python
156 lines
6.4 KiB
Python
# Copyright 2018 Red Hat, Inc. <http://www.redhat.com>
|
|
#
|
|
# 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 mock
|
|
|
|
from rally_openstack.services.key_manager import barbican
|
|
from tests.unit import test
|
|
|
|
|
|
class BarbicanServiceTestCase(test.TestCase):
|
|
def setUp(self):
|
|
super(BarbicanServiceTestCase, self).setUp()
|
|
self.clients = mock.MagicMock()
|
|
self.name_generator = mock.MagicMock()
|
|
self.service = barbican.BarbicanService(
|
|
self.clients,
|
|
name_generator=self.name_generator)
|
|
|
|
def atomic_actions(self):
|
|
return self.service._atomic_actions
|
|
|
|
def test__list_secrets(self):
|
|
self.assertEqual(
|
|
self.service.list_secrets(),
|
|
self.service._clients.barbican().secrets.list.return_value
|
|
)
|
|
self._test_atomic_action_timer(self.atomic_actions(),
|
|
"barbican.list_secrets")
|
|
|
|
def test__create_secret(self):
|
|
self.assertEqual(
|
|
self.service.create_secret(),
|
|
self.service._clients.barbican().secrets.create(
|
|
name="fake_secret", payload="rally_data")
|
|
)
|
|
self._test_atomic_action_timer(self.atomic_actions(),
|
|
"barbican.create_secret")
|
|
|
|
def test__get_secret(self):
|
|
self.service.get_secret("fake_secret")
|
|
self.service._clients.barbican().secrets.get \
|
|
.assert_called_once_with("fake_secret")
|
|
self._test_atomic_action_timer(self.atomic_actions(),
|
|
"barbican.get_secret")
|
|
|
|
def test__delete_secret(self):
|
|
self.service.delete_secret("fake_secret")
|
|
self.service._clients.barbican().secrets.delete \
|
|
.assert_called_once_with("fake_secret")
|
|
self._test_atomic_action_timer(self.atomic_actions(),
|
|
"barbican.delete_secret")
|
|
|
|
def test__list_containers(self):
|
|
self.assertEqual(
|
|
self.service.list_container(),
|
|
self.service._clients.barbican().containers.list.return_value)
|
|
self._test_atomic_action_timer(
|
|
self.atomic_actions(), "barbican.list_container")
|
|
|
|
def test__container_delete(self):
|
|
self.service.container_delete("fake_container")
|
|
self.service._clients.barbican().containers.delete \
|
|
.assert_called_once_with("fake_container")
|
|
self._test_atomic_action_timer(
|
|
self.atomic_actions(), "barbican.container_delete")
|
|
|
|
def test__container_create(self):
|
|
self.service.generate_random_name = mock.MagicMock(
|
|
return_value="container")
|
|
self.service.container_create()
|
|
self.service._clients.barbican().containers.create \
|
|
.assert_called_once_with(name="container", secrets=None)
|
|
|
|
def test__create_rsa_container(self):
|
|
self.service.generate_random_name = mock.MagicMock(
|
|
return_value="container")
|
|
self.service.create_rsa_container()
|
|
self.service._clients.barbican().containers.create_rsa \
|
|
.assert_called_once_with(
|
|
name="container", private_key=None,
|
|
private_key_passphrase=None, public_key=None)
|
|
|
|
def test__create_generate_container(self):
|
|
self.service.generate_random_name = mock.MagicMock(
|
|
return_value="container")
|
|
self.service.create_certificate_container()
|
|
self.service._clients.barbican().containers \
|
|
.create_certificate.assert_called_once_with(
|
|
certificate=None, intermediates=None,
|
|
name="container", private_key=None,
|
|
private_key_passphrase=None)
|
|
|
|
def test__list_orders(self):
|
|
self.assertEqual(
|
|
self.service.orders_list(),
|
|
self.service._clients.barbican().orders.list.return_value)
|
|
self._test_atomic_action_timer(
|
|
self.atomic_actions(), "barbican.orders_list")
|
|
|
|
def test__orders_get(self):
|
|
self.service.orders_get("fake_order")
|
|
self.service._clients.barbican().orders.get \
|
|
.assert_called_once_with("fake_order")
|
|
|
|
def test__orders_delete(self):
|
|
self.service.orders_delete("fake_order")
|
|
self.service._clients.barbican().orders.delete \
|
|
.assert_called_once_with("fake_order")
|
|
self._test_atomic_action_timer(
|
|
self.atomic_actions(), "barbican.orders_delete")
|
|
|
|
def test__create_key(self):
|
|
self.service.generate_random_name = mock.MagicMock(
|
|
return_value="key")
|
|
self.service.create_key()
|
|
self.service._clients.barbican().orders.create_key \
|
|
.assert_called_once_with(
|
|
name="key", algorithm="aes", bit_length=256, mode=None,
|
|
payload_content_type=None, expiration=None)
|
|
self._test_atomic_action_timer(
|
|
self.atomic_actions(), "barbican.create_key")
|
|
|
|
def test__create_asymmetric(self):
|
|
self.service.generate_random_name = mock.MagicMock(
|
|
return_value="key")
|
|
self.service.create_asymmetric()
|
|
self.service._clients.barbican().orders.create_asymmetric \
|
|
.assert_called_once_with(
|
|
algorithm="aes", bit_length=256, expiration=None, name="key",
|
|
pass_phrase=None, payload_content_type=None)
|
|
self._test_atomic_action_timer(
|
|
self.atomic_actions(), "barbican.create_asymmetric")
|
|
|
|
def test_create_certificate(self):
|
|
self.service.generate_random_name = mock.MagicMock(
|
|
return_value="key")
|
|
self.service.create_certificate()
|
|
self.service._clients.barbican().orders.create_certificate \
|
|
.assert_called_once_with(
|
|
name="key", request_type=None, subject_dn=None,
|
|
source_container_ref=None, ca_id=None, profile=None,
|
|
request_data=None)
|
|
self._test_atomic_action_timer(
|
|
self.atomic_actions(), "barbican.create_certificate")
|