Adding tests for generating parameters
Adding tests for generating passwords and certificates. Change-Id: I0fb09e4004b1c5f0cb2aa0366965abaa1e470f62
This commit is contained in:
parent
075cb20375
commit
7008d86283
@ -12,8 +12,9 @@
|
||||
# under the License.
|
||||
|
||||
from __future__ import absolute_import
|
||||
import contextlib
|
||||
|
||||
from mock import patch # noqa
|
||||
from mock import patch, call # noqa
|
||||
|
||||
from tuskar_ui import api
|
||||
from tuskar_ui.test import helpers as test
|
||||
@ -128,3 +129,153 @@ class TuskarAPITests(test.APITestCase):
|
||||
ret_val = param.role
|
||||
self.assertIsInstance(ret_val, api.tuskar.Role)
|
||||
self.assertEqual(ret_val.name, 'Controller')
|
||||
|
||||
def test_list_generated_parameters(self):
|
||||
plan = api.tuskar.Plan(self.tuskarclient_plans.first())
|
||||
with contextlib.nested(
|
||||
patch('tuskar_ui.api.tuskar.Plan.parameter_list',
|
||||
return_value=plan.parameters),
|
||||
) as (mock_parameter_list, ):
|
||||
ret_val = plan.list_generated_parameters()
|
||||
|
||||
self.assertEqual(
|
||||
ret_val,
|
||||
{'Controller-1::KeystoneCACertificate': {
|
||||
'description': 'Keystone CA CertificateAdmin',
|
||||
'hidden': True,
|
||||
'name': 'Controller-1::KeystoneCACertificate',
|
||||
'value': 'unset',
|
||||
'label': 'Keystone CA CertificateAdmin'},
|
||||
'Controller-1::SnmpdReadonlyUserPassword': {
|
||||
'description': 'Snmpd password',
|
||||
'hidden': True,
|
||||
'name': 'Controller-1::SnmpdReadonlyUserPassword',
|
||||
'value': '',
|
||||
'label': 'Snmpd password'},
|
||||
'Controller-1::AdminPassword': {
|
||||
'description': 'Admin password',
|
||||
'hidden': True,
|
||||
'name': 'Controller-1::AdminPassword',
|
||||
'value': 'unset',
|
||||
'label': 'Admin Password'},
|
||||
'Controller-1::AdminToken': {
|
||||
'description': 'Admin Token',
|
||||
'hidden': True,
|
||||
'name': 'Controller-1::AdminToken',
|
||||
'value': '',
|
||||
'label': 'Admin Token'},
|
||||
'Compute-1::SnmpdReadonlyUserPassword': {
|
||||
'description': 'Snmpd password',
|
||||
'hidden': True,
|
||||
'name': 'Compute-1::SnmpdReadonlyUserPassword',
|
||||
'value': 'unset',
|
||||
'label': 'Snmpd password'}})
|
||||
|
||||
mock_parameter_list.assert_called_once_with()
|
||||
|
||||
def test_list_generated_parameters_without_prefix(self):
|
||||
plan = api.tuskar.Plan(self.tuskarclient_plans.first())
|
||||
with contextlib.nested(
|
||||
patch('tuskar_ui.api.tuskar.Plan.parameter_list',
|
||||
return_value=plan.parameters),
|
||||
) as (mock_parameter_list, ):
|
||||
ret_val = plan.list_generated_parameters(with_prefix=False)
|
||||
|
||||
self.assertEqual(
|
||||
ret_val,
|
||||
{'SnmpdReadonlyUserPassword': {
|
||||
'description': 'Snmpd password',
|
||||
'hidden': True,
|
||||
'name': 'Compute-1::SnmpdReadonlyUserPassword',
|
||||
'value': 'unset',
|
||||
'label': 'Snmpd password'},
|
||||
'KeystoneCACertificate': {
|
||||
'description': 'Keystone CA CertificateAdmin',
|
||||
'hidden': True,
|
||||
'name': 'Controller-1::KeystoneCACertificate',
|
||||
'value': 'unset',
|
||||
'label': 'Keystone CA CertificateAdmin'},
|
||||
'AdminToken': {
|
||||
'description': 'Admin Token',
|
||||
'hidden': True,
|
||||
'name': 'Controller-1::AdminToken',
|
||||
'value': '',
|
||||
'label': 'Admin Token'},
|
||||
'AdminPassword': {
|
||||
'description': 'Admin password',
|
||||
'hidden': True,
|
||||
'name': 'Controller-1::AdminPassword',
|
||||
'value': 'unset',
|
||||
'label': 'Admin Password'}})
|
||||
|
||||
mock_parameter_list.assert_called_once_with()
|
||||
|
||||
def test_make_keystone_certificates(self):
|
||||
plan = api.tuskar.Plan(self.tuskarclient_plans.first())
|
||||
with contextlib.nested(
|
||||
patch('os_cloud_config.keystone_pki.create_ca_pair',
|
||||
return_value=('ca_key_pem', 'ca_cert_pem')),
|
||||
patch('os_cloud_config.keystone_pki.create_signing_pair',
|
||||
return_value=('signing_key_pem', 'signing_cert_pem'))
|
||||
) as (mock_create_ca_pair, mock_create_signing_pair):
|
||||
ret_val = plan._make_keystone_certificates(
|
||||
{'KeystoneSigningCertificate': {}})
|
||||
|
||||
self.assertEqual(
|
||||
ret_val,
|
||||
{'KeystoneCACertificate': 'ca_cert_pem',
|
||||
'KeystoneSigningCertificate': 'signing_cert_pem',
|
||||
'KeystoneSigningKey': 'signing_key_pem'})
|
||||
|
||||
mock_create_ca_pair.assert_called_once_with()
|
||||
mock_create_signing_pair.assert_called_once_with(
|
||||
'ca_key_pem', 'ca_cert_pem')
|
||||
|
||||
def test_make_generated_parameters(self):
|
||||
plan = api.tuskar.Plan(self.tuskarclient_plans.first())
|
||||
|
||||
with contextlib.nested(
|
||||
patch('tuskar_ui.api.tuskar.Plan.parameter_list',
|
||||
return_value=plan.parameters),
|
||||
patch('tuskar_ui.api.tuskar.Plan._make_keystone_certificates',
|
||||
return_value={'KeystoneCACertificate': 'ca_cert_pem'}),
|
||||
patch('tuskar_ui.api.tuskar.password_generator',
|
||||
return_value='generated_password')
|
||||
) as (mock_parameter_list, mock_make_keystone_certificates,
|
||||
mock_password_generator):
|
||||
ret_val = plan.make_generated_parameters()
|
||||
|
||||
self.assertEqual(
|
||||
ret_val,
|
||||
{'Controller-1::KeystoneCACertificate': 'ca_cert_pem',
|
||||
'Controller-1::SnmpdReadonlyUserPassword': 'generated_password',
|
||||
'Controller-1::AdminPassword': 'generated_password',
|
||||
'Controller-1::AdminToken': 'generated_password',
|
||||
'Compute-1::SnmpdReadonlyUserPassword': 'generated_password'})
|
||||
|
||||
mock_parameter_list.assert_has_calls([
|
||||
call(), call()])
|
||||
mock_make_keystone_certificates.assert_called_once_with({
|
||||
'SnmpdReadonlyUserPassword': {
|
||||
'description': 'Snmpd password',
|
||||
'hidden': True,
|
||||
'name': 'Compute-1::SnmpdReadonlyUserPassword',
|
||||
'value': 'unset',
|
||||
'label': 'Snmpd password'},
|
||||
'KeystoneCACertificate': {
|
||||
'description': 'Keystone CA CertificateAdmin',
|
||||
'hidden': True, 'name':
|
||||
'Controller-1::KeystoneCACertificate',
|
||||
'value': 'unset',
|
||||
'label': 'Keystone CA CertificateAdmin'},
|
||||
'AdminToken': {
|
||||
'description': 'Admin Token',
|
||||
'hidden': True,
|
||||
'name': 'Controller-1::AdminToken',
|
||||
'value': '', 'label': 'Admin Token'},
|
||||
'AdminPassword': {
|
||||
'description': 'Admin password',
|
||||
'hidden': True,
|
||||
'name': 'Controller-1::AdminPassword',
|
||||
'value': 'unset',
|
||||
'label': 'Admin Password'}})
|
||||
|
@ -53,119 +53,86 @@ def data(TEST):
|
||||
'name': 'Controller-1::count',
|
||||
'label': 'Controller Node Count',
|
||||
'description': 'Controller node count',
|
||||
'hidden': 'false',
|
||||
'hidden': False,
|
||||
'value': 1,
|
||||
}, {
|
||||
'name': 'Compute-1::count',
|
||||
'label': 'Compute Node Count',
|
||||
'description': 'Compute node count',
|
||||
'hidden': 'false',
|
||||
'hidden': False,
|
||||
'value': 42,
|
||||
}, {
|
||||
'name': 'Block Storage-1::count',
|
||||
'label': 'Block Sorage Node Count',
|
||||
'description': 'Block storage node count',
|
||||
'hidden': 'false',
|
||||
'hidden': False,
|
||||
'value': 5,
|
||||
}, {
|
||||
'name': 'Controller-1::Flavor',
|
||||
'label': 'Controller Flavor',
|
||||
'description': 'Controller flavor',
|
||||
'hidden': 'false',
|
||||
'hidden': False,
|
||||
'value': 'flavor-1',
|
||||
}, {
|
||||
'name': 'Compute-1::Flavor',
|
||||
'label': 'Compute Flavor',
|
||||
'description': 'Compute flavor',
|
||||
'hidden': 'false',
|
||||
'hidden': False,
|
||||
'value': 'flavor-1',
|
||||
}, {
|
||||
'name': 'Block Storage-1::Flavor',
|
||||
'label': 'Block Storage Flavor',
|
||||
'description': 'Block storage flavor',
|
||||
'hidden': 'false',
|
||||
'hidden': False,
|
||||
'value': 'flavor-2',
|
||||
}, {
|
||||
'name': 'Controller-1::Image',
|
||||
'label': 'Controller Image ID',
|
||||
'description': 'Controller image ID',
|
||||
'hidden': 'false',
|
||||
'hidden': False,
|
||||
'value': '2',
|
||||
}, {
|
||||
'name': 'Compute-1::Image',
|
||||
'label': 'Compute Image ID',
|
||||
'description': 'Compute image ID',
|
||||
'hidden': 'false',
|
||||
'hidden': False,
|
||||
'value': '1',
|
||||
}, {
|
||||
'name': 'Block Storage-1::Image',
|
||||
'label': 'Block Storage Image ID',
|
||||
'description': 'Block storage image ID',
|
||||
'hidden': 'false',
|
||||
'hidden': False,
|
||||
'value': '4',
|
||||
}, {
|
||||
'name': 'controller_NovaInterfaces',
|
||||
'parameter_group': 'Nova',
|
||||
'type': 'String',
|
||||
'description': '',
|
||||
'no_echo': 'false',
|
||||
'default': 'eth0',
|
||||
'name': 'Controller-1::KeystoneCACertificate',
|
||||
'label': 'Keystone CA CertificateAdmin',
|
||||
'description': 'Keystone CA CertificateAdmin',
|
||||
'hidden': True,
|
||||
'value': 'unset',
|
||||
}, {
|
||||
'name': 'controller_NeutronInterfaces',
|
||||
'parameter_group': 'Neutron',
|
||||
'type': 'String',
|
||||
'description': '',
|
||||
'no_echo': 'false',
|
||||
'default': 'eth0',
|
||||
}, {
|
||||
'name': 'compute_KeystoneHost',
|
||||
'parameter_group': 'Keystone',
|
||||
'type': 'String',
|
||||
'description': '',
|
||||
'no_echo': 'false',
|
||||
'default': '',
|
||||
'label': 'Keystone Host',
|
||||
'value': ''
|
||||
}, {
|
||||
'name': 'object_storage_SwiftHashSuffix',
|
||||
'parameter_group': 'Swift',
|
||||
'label': 'Swift Object Storage Hash Suffix',
|
||||
'type': 'String',
|
||||
'description': '',
|
||||
'no_echo': 'true',
|
||||
'default': '',
|
||||
'value': ''
|
||||
}, {
|
||||
'name': 'block_storage_NeutronNetworkType',
|
||||
'parameter_group': 'Neutron',
|
||||
'type': 'String',
|
||||
'description': '',
|
||||
'no_echo': 'false',
|
||||
'default': 'gre',
|
||||
}, {
|
||||
'name': 'AdminPassword',
|
||||
'name': 'Controller-1::AdminPassword',
|
||||
'label': 'Admin Password',
|
||||
'description': 'Admin password',
|
||||
'hidden': 'false',
|
||||
'value': '5ba3a69c95c668daf84c2f103ebec82d273a4897',
|
||||
'hidden': True,
|
||||
'value': 'unset',
|
||||
}, {
|
||||
'name': 'AdminToken',
|
||||
'name': 'Controller-1::AdminToken',
|
||||
'label': 'Admin Token',
|
||||
'description': 'Admin Token',
|
||||
'hidden': 'false',
|
||||
'value': 'aa61677c0a270880e99293c148cefee4000b2259',
|
||||
'hidden': True,
|
||||
'value': '',
|
||||
}, {
|
||||
'name': 'GlancePassword',
|
||||
'label': 'Glance Password',
|
||||
'description': 'Glance Password',
|
||||
'hidden': 'false',
|
||||
'value': '16b4aaa3e056d07f796a93afb6010487b7b617e7',
|
||||
'name': 'Controller-1::SnmpdReadonlyUserPassword',
|
||||
'label': 'Snmpd password',
|
||||
'description': 'Snmpd password',
|
||||
'hidden': True,
|
||||
'value': '',
|
||||
}, {
|
||||
'name': 'NovaPassword',
|
||||
'label': 'Nova Password',
|
||||
'description': 'Nova Password',
|
||||
'hidden': 'false',
|
||||
'value': '67d8090ff40c0c400b08ff558233091402afc9c5',
|
||||
'name': 'Compute-1::SnmpdReadonlyUserPassword',
|
||||
'label': 'Snmpd password',
|
||||
'description': 'Snmpd password',
|
||||
'hidden': True,
|
||||
'value': 'unset',
|
||||
}],
|
||||
})
|
||||
TEST.tuskarclient_plans.add(plan_1)
|
||||
|
Loading…
x
Reference in New Issue
Block a user