Merge "Move FakeKeystoneClient to engine.clients"
This commit is contained in:
commit
7f57074e98
|
@ -0,0 +1,123 @@
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
"""A fake FakeKeystoneClient. This can be used during some runtime
|
||||||
|
scenarios where you want to disable Heat's internal Keystone dependencies
|
||||||
|
entirely. One example is the TripleO Undercloud installer.
|
||||||
|
|
||||||
|
To use this class at runtime set to following heat.conf config setting:
|
||||||
|
|
||||||
|
keystone_backend = heat.engine.clients.os.keystone.fake_keystoneclient\
|
||||||
|
.FakeKeystoneClient
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
from keystoneauth1 import session
|
||||||
|
|
||||||
|
from heat.common import context
|
||||||
|
|
||||||
|
|
||||||
|
class FakeKeystoneClient(object):
|
||||||
|
def __init__(self, username='test_username', password='password',
|
||||||
|
user_id='1234', access='4567', secret='8901',
|
||||||
|
credential_id='abcdxyz', auth_token='abcd1234',
|
||||||
|
context=None, stack_domain_id='4321', client=None):
|
||||||
|
self.username = username
|
||||||
|
self.password = password
|
||||||
|
self.user_id = user_id
|
||||||
|
self.access = access
|
||||||
|
self.secret = secret
|
||||||
|
self.session = session.Session()
|
||||||
|
self.credential_id = credential_id
|
||||||
|
self.token = auth_token
|
||||||
|
self.context = context
|
||||||
|
self.v3_endpoint = 'http://localhost:5000/v3'
|
||||||
|
self.stack_domain_id = stack_domain_id
|
||||||
|
self.client = client
|
||||||
|
|
||||||
|
class FakeCred(object):
|
||||||
|
id = self.credential_id
|
||||||
|
access = self.access
|
||||||
|
secret = self.secret
|
||||||
|
self.creds = FakeCred()
|
||||||
|
|
||||||
|
def create_stack_user(self, username, password=''):
|
||||||
|
self.username = username
|
||||||
|
return self.user_id
|
||||||
|
|
||||||
|
def delete_stack_user(self, user_id):
|
||||||
|
self.user_id = None
|
||||||
|
|
||||||
|
def get_ec2_keypair(self, access, user_id):
|
||||||
|
if user_id == self.user_id:
|
||||||
|
if access == self.access:
|
||||||
|
return self.creds
|
||||||
|
else:
|
||||||
|
raise ValueError("Unexpected access %s" % access)
|
||||||
|
else:
|
||||||
|
raise ValueError("Unexpected user_id %s" % user_id)
|
||||||
|
|
||||||
|
def create_ec2_keypair(self, user_id):
|
||||||
|
if user_id == self.user_id:
|
||||||
|
return self.creds
|
||||||
|
|
||||||
|
def delete_ec2_keypair(self, credential_id=None, user_id=None,
|
||||||
|
access=None):
|
||||||
|
if user_id == self.user_id and access == self.creds.access:
|
||||||
|
self.creds = None
|
||||||
|
else:
|
||||||
|
raise Exception('Incorrect user_id or access')
|
||||||
|
|
||||||
|
def enable_stack_user(self, user_id):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def disable_stack_user(self, user_id):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def create_trust_context(self):
|
||||||
|
return context.RequestContext(username=self.username,
|
||||||
|
password=self.password,
|
||||||
|
is_admin=False,
|
||||||
|
trust_id='atrust',
|
||||||
|
trustor_user_id=self.user_id)
|
||||||
|
|
||||||
|
def delete_trust(self, trust_id):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def delete_stack_domain_project(self, project_id):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def create_stack_domain_project(self, stack_id):
|
||||||
|
return 'aprojectid'
|
||||||
|
|
||||||
|
def create_stack_domain_user(self, username, project_id, password=None):
|
||||||
|
return self.user_id
|
||||||
|
|
||||||
|
def delete_stack_domain_user(self, user_id, project_id):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def create_stack_domain_user_keypair(self, user_id, project_id):
|
||||||
|
return self.creds
|
||||||
|
|
||||||
|
def enable_stack_domain_user(self, user_id, project_id):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def disable_stack_domain_user(self, user_id, project_id):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def delete_stack_domain_user_keypair(self, user_id, project_id,
|
||||||
|
credential_id):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def stack_domain_user_token(self, user_id, project_id, password):
|
||||||
|
return 'adomainusertoken'
|
|
@ -17,6 +17,7 @@ from oslo_config import cfg
|
||||||
from heat.common import exception
|
from heat.common import exception
|
||||||
from heat.common import short_id
|
from heat.common import short_id
|
||||||
from heat.common import template_format
|
from heat.common import template_format
|
||||||
|
from heat.engine.clients.os.keystone import fake_keystoneclient as fake_ks
|
||||||
from heat.engine import node_data
|
from heat.engine import node_data
|
||||||
from heat.engine.resources.aws.iam import user
|
from heat.engine.resources.aws.iam import user
|
||||||
from heat.engine.resources.openstack.heat import access_policy as ap
|
from heat.engine.resources.openstack.heat import access_policy as ap
|
||||||
|
@ -24,7 +25,6 @@ from heat.engine import scheduler
|
||||||
from heat.engine import stk_defn
|
from heat.engine import stk_defn
|
||||||
from heat.objects import resource_data as resource_data_object
|
from heat.objects import resource_data as resource_data_object
|
||||||
from heat.tests import common
|
from heat.tests import common
|
||||||
from heat.tests import fakes
|
|
||||||
from heat.tests import utils
|
from heat.tests import utils
|
||||||
|
|
||||||
|
|
||||||
|
@ -109,7 +109,7 @@ class UserTest(common.HeatTestCase):
|
||||||
super(UserTest, self).setUp()
|
super(UserTest, self).setUp()
|
||||||
self.stack_name = 'test_user_stack_%s' % utils.random_name()
|
self.stack_name = 'test_user_stack_%s' % utils.random_name()
|
||||||
self.username = '%s-CfnUser-aabbcc' % self.stack_name
|
self.username = '%s-CfnUser-aabbcc' % self.stack_name
|
||||||
self.fc = fakes.FakeKeystoneClient(username=self.username)
|
self.fc = fake_ks.FakeKeystoneClient(username=self.username)
|
||||||
cfg.CONF.set_default('heat_stack_user_role', 'stack_user_role')
|
cfg.CONF.set_default('heat_stack_user_role', 'stack_user_role')
|
||||||
|
|
||||||
def create_user(self, t, stack, resource_name,
|
def create_user(self, t, stack, resource_name,
|
||||||
|
@ -118,9 +118,9 @@ class UserTest(common.HeatTestCase):
|
||||||
self.m.StubOutWithMock(user.User, 'keystone')
|
self.m.StubOutWithMock(user.User, 'keystone')
|
||||||
user.User.keystone().MultipleTimes().AndReturn(self.fc)
|
user.User.keystone().MultipleTimes().AndReturn(self.fc)
|
||||||
|
|
||||||
self.m.StubOutWithMock(fakes.FakeKeystoneClient,
|
self.m.StubOutWithMock(fake_ks.FakeKeystoneClient,
|
||||||
'create_stack_domain_project')
|
'create_stack_domain_project')
|
||||||
fakes.FakeKeystoneClient.create_stack_domain_project(
|
fake_ks.FakeKeystoneClient.create_stack_domain_project(
|
||||||
stack.id).AndReturn(project_id)
|
stack.id).AndReturn(project_id)
|
||||||
|
|
||||||
resource_defns = stack.t.resource_definitions(stack)
|
resource_defns = stack.t.resource_definitions(stack)
|
||||||
|
@ -132,9 +132,9 @@ class UserTest(common.HeatTestCase):
|
||||||
self.m.StubOutWithMock(short_id, 'get_id')
|
self.m.StubOutWithMock(short_id, 'get_id')
|
||||||
short_id.get_id(rsrc.uuid).MultipleTimes().AndReturn('aabbcc')
|
short_id.get_id(rsrc.uuid).MultipleTimes().AndReturn('aabbcc')
|
||||||
|
|
||||||
self.m.StubOutWithMock(fakes.FakeKeystoneClient,
|
self.m.StubOutWithMock(fake_ks.FakeKeystoneClient,
|
||||||
'create_stack_domain_user')
|
'create_stack_domain_user')
|
||||||
fakes.FakeKeystoneClient.create_stack_domain_user(
|
fake_ks.FakeKeystoneClient.create_stack_domain_user(
|
||||||
username=self.username, password=password,
|
username=self.username, password=password,
|
||||||
project_id=project_id).AndReturn(user_id)
|
project_id=project_id).AndReturn(user_id)
|
||||||
self.m.ReplayAll()
|
self.m.ReplayAll()
|
||||||
|
@ -301,7 +301,7 @@ class AccessKeyTest(common.HeatTestCase):
|
||||||
super(AccessKeyTest, self).setUp()
|
super(AccessKeyTest, self).setUp()
|
||||||
self.username = utils.PhysName('test_stack', 'CfnUser')
|
self.username = utils.PhysName('test_stack', 'CfnUser')
|
||||||
self.credential_id = 'acredential123'
|
self.credential_id = 'acredential123'
|
||||||
self.fc = fakes.FakeKeystoneClient(username=self.username,
|
self.fc = fake_ks.FakeKeystoneClient(username=self.username,
|
||||||
user_id='dummy_user',
|
user_id='dummy_user',
|
||||||
credential_id=self.credential_id)
|
credential_id=self.credential_id)
|
||||||
cfg.CONF.set_default('heat_stack_user_role', 'stack_user_role')
|
cfg.CONF.set_default('heat_stack_user_role', 'stack_user_role')
|
||||||
|
|
|
@ -36,6 +36,7 @@ from heat.common import exception
|
||||||
from heat.engine import clients
|
from heat.engine import clients
|
||||||
from heat.engine.clients import client_exception
|
from heat.engine.clients import client_exception
|
||||||
from heat.engine.clients import client_plugin
|
from heat.engine.clients import client_plugin
|
||||||
|
from heat.engine.clients.os.keystone import fake_keystoneclient as fake_ks
|
||||||
from heat.tests import common
|
from heat.tests import common
|
||||||
from heat.tests import fakes
|
from heat.tests import fakes
|
||||||
from heat.tests.openstack.nova import fakes as fakes_nova
|
from heat.tests.openstack.nova import fakes as fakes_nova
|
||||||
|
@ -257,7 +258,7 @@ class ClientPluginTest(common.HeatTestCase):
|
||||||
|
|
||||||
@mock.patch.object(generic, "Token", name="v3_token")
|
@mock.patch.object(generic, "Token", name="v3_token")
|
||||||
def test_get_missing_service_catalog(self, mock_v3):
|
def test_get_missing_service_catalog(self, mock_v3):
|
||||||
class FakeKeystone(fakes.FakeKeystoneClient):
|
class FakeKeystone(fake_ks.FakeKeystoneClient):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
super(FakeKeystone, self).__init__()
|
super(FakeKeystone, self).__init__()
|
||||||
self.client = self
|
self.client = self
|
||||||
|
@ -285,7 +286,7 @@ class ClientPluginTest(common.HeatTestCase):
|
||||||
|
|
||||||
@mock.patch.object(generic, "Token", name="v3_token")
|
@mock.patch.object(generic, "Token", name="v3_token")
|
||||||
def test_endpoint_not_found(self, mock_v3):
|
def test_endpoint_not_found(self, mock_v3):
|
||||||
class FakeKeystone(fakes.FakeKeystoneClient):
|
class FakeKeystone(fake_ks.FakeKeystoneClient):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
super(FakeKeystone, self).__init__()
|
super(FakeKeystone, self).__init__()
|
||||||
self.client = self
|
self.client = self
|
||||||
|
|
|
@ -28,6 +28,7 @@ from heat.engine.clients.os import barbican
|
||||||
from heat.engine.clients.os import cinder
|
from heat.engine.clients.os import cinder
|
||||||
from heat.engine.clients.os import glance
|
from heat.engine.clients.os import glance
|
||||||
from heat.engine.clients.os import keystone
|
from heat.engine.clients.os import keystone
|
||||||
|
from heat.engine.clients.os.keystone import fake_keystoneclient as fake_ks
|
||||||
from heat.engine.clients.os.keystone import keystone_constraints as ks_constr
|
from heat.engine.clients.os.keystone import keystone_constraints as ks_constr
|
||||||
from heat.engine.clients.os.neutron import neutron_constraints as neutron
|
from heat.engine.clients.os.neutron import neutron_constraints as neutron
|
||||||
from heat.engine.clients.os import nova
|
from heat.engine.clients.os import nova
|
||||||
|
@ -220,7 +221,7 @@ class HeatTestCase(testscenarios.WithScenarios,
|
||||||
|
|
||||||
def stub_keystoneclient(self, fake_client=None, **kwargs):
|
def stub_keystoneclient(self, fake_client=None, **kwargs):
|
||||||
client = self.patchobject(keystone.KeystoneClientPlugin, "_create")
|
client = self.patchobject(keystone.KeystoneClientPlugin, "_create")
|
||||||
fkc = fake_client or fakes.FakeKeystoneClient(**kwargs)
|
fkc = fake_client or fake_ks.FakeKeystoneClient(**kwargs)
|
||||||
client.return_value = fkc
|
client.return_value = fkc
|
||||||
return fkc
|
return fkc
|
||||||
|
|
||||||
|
|
|
@ -18,6 +18,7 @@ import six
|
||||||
from heat.common import exception
|
from heat.common import exception
|
||||||
from heat.common import identifier
|
from heat.common import identifier
|
||||||
from heat.engine.clients.os import keystone
|
from heat.engine.clients.os import keystone
|
||||||
|
from heat.engine.clients.os.keystone import fake_keystoneclient as fake_ks
|
||||||
from heat.engine import dependencies
|
from heat.engine import dependencies
|
||||||
from heat.engine import resource as res
|
from heat.engine import resource as res
|
||||||
from heat.engine.resources.aws.ec2 import instance as ins
|
from heat.engine.resources.aws.ec2 import instance as ins
|
||||||
|
@ -28,7 +29,6 @@ from heat.engine import template as templatem
|
||||||
from heat.objects import stack as stack_object
|
from heat.objects import stack as stack_object
|
||||||
from heat.tests import common
|
from heat.tests import common
|
||||||
from heat.tests.engine import tools
|
from heat.tests.engine import tools
|
||||||
from heat.tests import fakes as test_fakes
|
|
||||||
from heat.tests import generic_resource as generic_rsrc
|
from heat.tests import generic_resource as generic_rsrc
|
||||||
from heat.tests import utils
|
from heat.tests import utils
|
||||||
|
|
||||||
|
@ -319,7 +319,7 @@ class StackResourcesServiceTest(common.HeatTestCase):
|
||||||
|
|
||||||
def _stack_create(self, stack_name):
|
def _stack_create(self, stack_name):
|
||||||
self.patchobject(keystone.KeystoneClientPlugin, '_create',
|
self.patchobject(keystone.KeystoneClientPlugin, '_create',
|
||||||
return_value=test_fakes.FakeKeystoneClient())
|
return_value=fake_ks.FakeKeystoneClient())
|
||||||
|
|
||||||
stk = tools.get_stack(stack_name, self.ctx, policy_template)
|
stk = tools.get_stack(stack_name, self.ctx, policy_template)
|
||||||
stk.store()
|
stk.store()
|
||||||
|
@ -457,7 +457,7 @@ class StackResourcesServiceTest(common.HeatTestCase):
|
||||||
mock_update):
|
mock_update):
|
||||||
# fake keystone client
|
# fake keystone client
|
||||||
self.patchobject(keystone.KeystoneClientPlugin, '_create',
|
self.patchobject(keystone.KeystoneClientPlugin, '_create',
|
||||||
return_value=test_fakes.FakeKeystoneClient())
|
return_value=fake_ks.FakeKeystoneClient())
|
||||||
|
|
||||||
stk = tools.get_stack('signal_reception', self.ctx, policy_template)
|
stk = tools.get_stack('signal_reception', self.ctx, policy_template)
|
||||||
self.stack = stk
|
self.stack = stk
|
||||||
|
@ -485,7 +485,7 @@ class StackResourcesServiceTest(common.HeatTestCase):
|
||||||
mock_update):
|
mock_update):
|
||||||
# fake keystone client
|
# fake keystone client
|
||||||
self.patchobject(keystone.KeystoneClientPlugin, '_create',
|
self.patchobject(keystone.KeystoneClientPlugin, '_create',
|
||||||
return_value=test_fakes.FakeKeystoneClient())
|
return_value=fake_ks.FakeKeystoneClient())
|
||||||
|
|
||||||
stk = tools.get_stack('signal_reception', self.ctx, policy_template)
|
stk = tools.get_stack('signal_reception', self.ctx, policy_template)
|
||||||
self.stack = stk
|
self.stack = stk
|
||||||
|
|
|
@ -18,12 +18,12 @@ import six
|
||||||
from heat.common import template_format
|
from heat.common import template_format
|
||||||
from heat.engine.clients.os import glance
|
from heat.engine.clients.os import glance
|
||||||
from heat.engine.clients.os import keystone
|
from heat.engine.clients.os import keystone
|
||||||
|
from heat.engine.clients.os.keystone import fake_keystoneclient as fake_ks
|
||||||
from heat.engine.clients.os import nova
|
from heat.engine.clients.os import nova
|
||||||
from heat.engine import environment
|
from heat.engine import environment
|
||||||
from heat.engine.resources.aws.ec2 import instance as instances
|
from heat.engine.resources.aws.ec2 import instance as instances
|
||||||
from heat.engine import stack as parser
|
from heat.engine import stack as parser
|
||||||
from heat.engine import template as templatem
|
from heat.engine import template as templatem
|
||||||
from heat.tests import fakes as test_fakes
|
|
||||||
from heat.tests.openstack.nova import fakes as fakes_nova
|
from heat.tests.openstack.nova import fakes as fakes_nova
|
||||||
from heat.tests import utils
|
from heat.tests import utils
|
||||||
|
|
||||||
|
@ -169,7 +169,7 @@ def get_stack(stack_name, ctx, template=None, with_params=True,
|
||||||
|
|
||||||
|
|
||||||
def setup_keystone_mocks(mocks, stack):
|
def setup_keystone_mocks(mocks, stack):
|
||||||
fkc = test_fakes.FakeKeystoneClient()
|
fkc = fake_ks.FakeKeystoneClient()
|
||||||
|
|
||||||
mocks.StubOutWithMock(keystone.KeystoneClientPlugin, '_create')
|
mocks.StubOutWithMock(keystone.KeystoneClientPlugin, '_create')
|
||||||
keystone.KeystoneClientPlugin._create().AndReturn(fkc)
|
keystone.KeystoneClientPlugin._create().AndReturn(fkc)
|
||||||
|
|
|
@ -19,11 +19,8 @@ places where actual behavior differs from the spec.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from keystoneauth1 import plugin
|
from keystoneauth1 import plugin
|
||||||
from keystoneauth1 import session
|
|
||||||
import mock
|
import mock
|
||||||
|
|
||||||
from heat.common import context
|
|
||||||
|
|
||||||
|
|
||||||
class FakeClient(object):
|
class FakeClient(object):
|
||||||
|
|
||||||
|
@ -97,102 +94,6 @@ class FakeAuth(plugin.BaseAuthPlugin):
|
||||||
return FakeAccessInfo([], None, None)
|
return FakeAccessInfo([], None, None)
|
||||||
|
|
||||||
|
|
||||||
class FakeKeystoneClient(object):
|
|
||||||
def __init__(self, username='test_username', password='password',
|
|
||||||
user_id='1234', access='4567', secret='8901',
|
|
||||||
credential_id='abcdxyz', auth_token='abcd1234',
|
|
||||||
context=None, stack_domain_id='4321', client=None):
|
|
||||||
self.username = username
|
|
||||||
self.password = password
|
|
||||||
self.user_id = user_id
|
|
||||||
self.access = access
|
|
||||||
self.secret = secret
|
|
||||||
self.session = session.Session()
|
|
||||||
self.credential_id = credential_id
|
|
||||||
self.token = auth_token
|
|
||||||
self.context = context
|
|
||||||
self.v3_endpoint = 'http://localhost:5000/v3'
|
|
||||||
self.stack_domain_id = stack_domain_id
|
|
||||||
self.client = client
|
|
||||||
|
|
||||||
class FakeCred(object):
|
|
||||||
id = self.credential_id
|
|
||||||
access = self.access
|
|
||||||
secret = self.secret
|
|
||||||
self.creds = FakeCred()
|
|
||||||
|
|
||||||
def create_stack_user(self, username, password=''):
|
|
||||||
self.username = username
|
|
||||||
return self.user_id
|
|
||||||
|
|
||||||
def delete_stack_user(self, user_id):
|
|
||||||
self.user_id = None
|
|
||||||
|
|
||||||
def get_ec2_keypair(self, access, user_id):
|
|
||||||
if user_id == self.user_id:
|
|
||||||
if access == self.access:
|
|
||||||
return self.creds
|
|
||||||
else:
|
|
||||||
raise ValueError("Unexpected access %s" % access)
|
|
||||||
else:
|
|
||||||
raise ValueError("Unexpected user_id %s" % user_id)
|
|
||||||
|
|
||||||
def create_ec2_keypair(self, user_id):
|
|
||||||
if user_id == self.user_id:
|
|
||||||
return self.creds
|
|
||||||
|
|
||||||
def delete_ec2_keypair(self, credential_id=None, user_id=None,
|
|
||||||
access=None):
|
|
||||||
if user_id == self.user_id and access == self.creds.access:
|
|
||||||
self.creds = None
|
|
||||||
else:
|
|
||||||
raise Exception('Incorrect user_id or access')
|
|
||||||
|
|
||||||
def enable_stack_user(self, user_id):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def disable_stack_user(self, user_id):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def create_trust_context(self):
|
|
||||||
return context.RequestContext(username=self.username,
|
|
||||||
password=self.password,
|
|
||||||
is_admin=False,
|
|
||||||
trust_id='atrust',
|
|
||||||
trustor_user_id=self.user_id)
|
|
||||||
|
|
||||||
def delete_trust(self, trust_id):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def delete_stack_domain_project(self, project_id):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def create_stack_domain_project(self, stack_id):
|
|
||||||
return 'aprojectid'
|
|
||||||
|
|
||||||
def create_stack_domain_user(self, username, project_id, password=None):
|
|
||||||
return self.user_id
|
|
||||||
|
|
||||||
def delete_stack_domain_user(self, user_id, project_id):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def create_stack_domain_user_keypair(self, user_id, project_id):
|
|
||||||
return self.creds
|
|
||||||
|
|
||||||
def enable_stack_domain_user(self, user_id, project_id):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def disable_stack_domain_user(self, user_id, project_id):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def delete_stack_domain_user_keypair(self, user_id, project_id,
|
|
||||||
credential_id):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def stack_domain_user_token(self, user_id, project_id, password):
|
|
||||||
return 'adomainusertoken'
|
|
||||||
|
|
||||||
|
|
||||||
class FakeAccessInfo(object):
|
class FakeAccessInfo(object):
|
||||||
def __init__(self, roles, user_domain, project_domain):
|
def __init__(self, roles, user_domain, project_domain):
|
||||||
self.roles = roles
|
self.roles = roles
|
||||||
|
|
|
@ -13,12 +13,12 @@
|
||||||
|
|
||||||
import mock
|
import mock
|
||||||
|
|
||||||
|
from heat.engine.clients.os.keystone import fake_keystoneclient as fake_ks
|
||||||
from heat.engine import resource
|
from heat.engine import resource
|
||||||
from heat.engine.resources.openstack.keystone import domain
|
from heat.engine.resources.openstack.keystone import domain
|
||||||
from heat.engine import stack
|
from heat.engine import stack
|
||||||
from heat.engine import template
|
from heat.engine import template
|
||||||
from heat.tests import common
|
from heat.tests import common
|
||||||
from heat.tests import fakes
|
|
||||||
from heat.tests import utils
|
from heat.tests import utils
|
||||||
|
|
||||||
KEYSTONE_REGION_TEMPLATE = {
|
KEYSTONE_REGION_TEMPLATE = {
|
||||||
|
@ -54,7 +54,7 @@ class KeystoneDomainTest(common.HeatTestCase):
|
||||||
# Mock client
|
# Mock client
|
||||||
self.keystoneclient = mock.Mock()
|
self.keystoneclient = mock.Mock()
|
||||||
self.patchobject(resource.Resource, 'client',
|
self.patchobject(resource.Resource, 'client',
|
||||||
return_value=fakes.FakeKeystoneClient(
|
return_value=fake_ks.FakeKeystoneClient(
|
||||||
client=self.keystoneclient))
|
client=self.keystoneclient))
|
||||||
self.domains = self.keystoneclient.domains
|
self.domains = self.keystoneclient.domains
|
||||||
|
|
||||||
|
|
|
@ -15,6 +15,7 @@ import copy
|
||||||
|
|
||||||
import mock
|
import mock
|
||||||
|
|
||||||
|
from heat.engine.clients.os.keystone import fake_keystoneclient as fake_ks
|
||||||
from heat.engine import constraints
|
from heat.engine import constraints
|
||||||
from heat.engine import properties
|
from heat.engine import properties
|
||||||
from heat.engine import resource
|
from heat.engine import resource
|
||||||
|
@ -22,7 +23,6 @@ from heat.engine.resources.openstack.keystone import endpoint
|
||||||
from heat.engine import stack
|
from heat.engine import stack
|
||||||
from heat.engine import template
|
from heat.engine import template
|
||||||
from heat.tests import common
|
from heat.tests import common
|
||||||
from heat.tests import fakes
|
|
||||||
from heat.tests import utils
|
from heat.tests import utils
|
||||||
|
|
||||||
keystone_endpoint_template = {
|
keystone_endpoint_template = {
|
||||||
|
@ -54,7 +54,7 @@ class KeystoneEndpointTest(common.HeatTestCase):
|
||||||
# Mock client
|
# Mock client
|
||||||
self.keystoneclient = mock.Mock()
|
self.keystoneclient = mock.Mock()
|
||||||
self.patchobject(resource.Resource, 'client',
|
self.patchobject(resource.Resource, 'client',
|
||||||
return_value=fakes.FakeKeystoneClient(
|
return_value=fake_ks.FakeKeystoneClient(
|
||||||
client=self.keystoneclient))
|
client=self.keystoneclient))
|
||||||
self.endpoints = self.keystoneclient.endpoints
|
self.endpoints = self.keystoneclient.endpoints
|
||||||
|
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
|
|
||||||
import mock
|
import mock
|
||||||
|
|
||||||
|
from heat.engine.clients.os.keystone import fake_keystoneclient as fake_ks
|
||||||
from heat.engine import constraints
|
from heat.engine import constraints
|
||||||
from heat.engine import properties
|
from heat.engine import properties
|
||||||
from heat.engine import resource
|
from heat.engine import resource
|
||||||
|
@ -20,7 +21,6 @@ from heat.engine.resources.openstack.keystone import group
|
||||||
from heat.engine import stack
|
from heat.engine import stack
|
||||||
from heat.engine import template
|
from heat.engine import template
|
||||||
from heat.tests import common
|
from heat.tests import common
|
||||||
from heat.tests import fakes
|
|
||||||
from heat.tests import utils
|
from heat.tests import utils
|
||||||
|
|
||||||
keystone_group_template = {
|
keystone_group_template = {
|
||||||
|
@ -56,7 +56,7 @@ class KeystoneGroupTest(common.HeatTestCase):
|
||||||
# Mock client
|
# Mock client
|
||||||
self.keystoneclient = mock.Mock()
|
self.keystoneclient = mock.Mock()
|
||||||
self.patchobject(resource.Resource, 'client',
|
self.patchobject(resource.Resource, 'client',
|
||||||
return_value=fakes.FakeKeystoneClient(
|
return_value=fake_ks.FakeKeystoneClient(
|
||||||
client=self.keystoneclient))
|
client=self.keystoneclient))
|
||||||
self.groups = self.keystoneclient.groups
|
self.groups = self.keystoneclient.groups
|
||||||
self.role_assignments = self.keystoneclient.role_assignments
|
self.role_assignments = self.keystoneclient.role_assignments
|
||||||
|
|
|
@ -14,12 +14,12 @@
|
||||||
import mock
|
import mock
|
||||||
from six.moves.urllib import parse
|
from six.moves.urllib import parse
|
||||||
|
|
||||||
|
from heat.engine.clients.os.keystone import fake_keystoneclient as fake_ks
|
||||||
from heat.engine import resource
|
from heat.engine import resource
|
||||||
from heat.engine.resources.openstack.keystone import region
|
from heat.engine.resources.openstack.keystone import region
|
||||||
from heat.engine import stack
|
from heat.engine import stack
|
||||||
from heat.engine import template
|
from heat.engine import template
|
||||||
from heat.tests import common
|
from heat.tests import common
|
||||||
from heat.tests import fakes
|
|
||||||
from heat.tests import utils
|
from heat.tests import utils
|
||||||
|
|
||||||
KEYSTONE_REGION_TEMPLATE = {
|
KEYSTONE_REGION_TEMPLATE = {
|
||||||
|
@ -56,7 +56,7 @@ class KeystoneRegionTest(common.HeatTestCase):
|
||||||
# Mock client
|
# Mock client
|
||||||
self.keystoneclient = mock.Mock()
|
self.keystoneclient = mock.Mock()
|
||||||
self.patchobject(resource.Resource, 'client',
|
self.patchobject(resource.Resource, 'client',
|
||||||
return_value=fakes.FakeKeystoneClient(
|
return_value=fake_ks.FakeKeystoneClient(
|
||||||
client=self.keystoneclient))
|
client=self.keystoneclient))
|
||||||
self.regions = self.keystoneclient.regions
|
self.regions = self.keystoneclient.regions
|
||||||
|
|
||||||
|
|
|
@ -14,12 +14,12 @@
|
||||||
import copy
|
import copy
|
||||||
import mock
|
import mock
|
||||||
|
|
||||||
|
from heat.engine.clients.os.keystone import fake_keystoneclient as fake_ks
|
||||||
from heat.engine import resource
|
from heat.engine import resource
|
||||||
from heat.engine.resources.openstack.keystone import role
|
from heat.engine.resources.openstack.keystone import role
|
||||||
from heat.engine import stack
|
from heat.engine import stack
|
||||||
from heat.engine import template
|
from heat.engine import template
|
||||||
from heat.tests import common
|
from heat.tests import common
|
||||||
from heat.tests import fakes
|
|
||||||
from heat.tests import utils
|
from heat.tests import utils
|
||||||
|
|
||||||
keystone_role_template = {
|
keystone_role_template = {
|
||||||
|
@ -45,7 +45,7 @@ class KeystoneRoleTest(common.HeatTestCase):
|
||||||
# Mock client
|
# Mock client
|
||||||
self.keystoneclient = mock.Mock()
|
self.keystoneclient = mock.Mock()
|
||||||
self.patchobject(resource.Resource, 'client',
|
self.patchobject(resource.Resource, 'client',
|
||||||
return_value=fakes.FakeKeystoneClient(
|
return_value=fake_ks.FakeKeystoneClient(
|
||||||
client=self.keystoneclient))
|
client=self.keystoneclient))
|
||||||
self.roles = self.keystoneclient.roles
|
self.roles = self.keystoneclient.roles
|
||||||
|
|
||||||
|
|
|
@ -15,13 +15,13 @@ import copy
|
||||||
import mock
|
import mock
|
||||||
|
|
||||||
from heat.common import exception
|
from heat.common import exception
|
||||||
|
from heat.engine.clients.os.keystone import fake_keystoneclient as fake_ks
|
||||||
from heat.engine import properties
|
from heat.engine import properties
|
||||||
from heat.engine import resource
|
from heat.engine import resource
|
||||||
from heat.engine.resources.openstack.keystone import role_assignments
|
from heat.engine.resources.openstack.keystone import role_assignments
|
||||||
from heat.engine import stack
|
from heat.engine import stack
|
||||||
from heat.engine import template
|
from heat.engine import template
|
||||||
from heat.tests import common
|
from heat.tests import common
|
||||||
from heat.tests import fakes
|
|
||||||
from heat.tests import generic_resource
|
from heat.tests import generic_resource
|
||||||
from heat.tests import utils
|
from heat.tests import utils
|
||||||
|
|
||||||
|
@ -429,7 +429,7 @@ class KeystoneUserRoleAssignmentTest(common.HeatTestCase):
|
||||||
# Mock client
|
# Mock client
|
||||||
self.keystoneclient = mock.Mock()
|
self.keystoneclient = mock.Mock()
|
||||||
self.patchobject(resource.Resource, 'client',
|
self.patchobject(resource.Resource, 'client',
|
||||||
return_value=fakes.FakeKeystoneClient(
|
return_value=fake_ks.FakeKeystoneClient(
|
||||||
client=self.keystoneclient))
|
client=self.keystoneclient))
|
||||||
self.roles = self.keystoneclient.roles
|
self.roles = self.keystoneclient.roles
|
||||||
|
|
||||||
|
@ -558,7 +558,7 @@ class KeystoneGroupRoleAssignmentTest(common.HeatTestCase):
|
||||||
# Mock client
|
# Mock client
|
||||||
self.keystoneclient = mock.Mock()
|
self.keystoneclient = mock.Mock()
|
||||||
self.patchobject(resource.Resource, 'client',
|
self.patchobject(resource.Resource, 'client',
|
||||||
return_value=fakes.FakeKeystoneClient(
|
return_value=fake_ks.FakeKeystoneClient(
|
||||||
client=self.keystoneclient))
|
client=self.keystoneclient))
|
||||||
self.roles = self.keystoneclient.roles
|
self.roles = self.keystoneclient.roles
|
||||||
|
|
||||||
|
|
|
@ -15,13 +15,13 @@ import copy
|
||||||
|
|
||||||
import mock
|
import mock
|
||||||
|
|
||||||
|
from heat.engine.clients.os.keystone import fake_keystoneclient as fake_ks
|
||||||
from heat.engine import properties
|
from heat.engine import properties
|
||||||
from heat.engine import resource
|
from heat.engine import resource
|
||||||
from heat.engine.resources.openstack.keystone import service
|
from heat.engine.resources.openstack.keystone import service
|
||||||
from heat.engine import stack
|
from heat.engine import stack
|
||||||
from heat.engine import template
|
from heat.engine import template
|
||||||
from heat.tests import common
|
from heat.tests import common
|
||||||
from heat.tests import fakes
|
|
||||||
from heat.tests import utils
|
from heat.tests import utils
|
||||||
|
|
||||||
keystone_service_template = {
|
keystone_service_template = {
|
||||||
|
@ -51,7 +51,7 @@ class KeystoneServiceTest(common.HeatTestCase):
|
||||||
# Mock client
|
# Mock client
|
||||||
self.keystoneclient = mock.Mock()
|
self.keystoneclient = mock.Mock()
|
||||||
self.patchobject(resource.Resource, 'client',
|
self.patchobject(resource.Resource, 'client',
|
||||||
return_value=fakes.FakeKeystoneClient(
|
return_value=fake_ks.FakeKeystoneClient(
|
||||||
client=self.keystoneclient))
|
client=self.keystoneclient))
|
||||||
self.services = self.keystoneclient.services
|
self.services = self.keystoneclient.services
|
||||||
|
|
||||||
|
|
|
@ -13,12 +13,12 @@
|
||||||
|
|
||||||
import mock
|
import mock
|
||||||
|
|
||||||
|
from heat.engine.clients.os.keystone import fake_keystoneclient as fake_ks
|
||||||
from heat.engine import resource
|
from heat.engine import resource
|
||||||
from heat.engine.resources.openstack.keystone import user
|
from heat.engine.resources.openstack.keystone import user
|
||||||
from heat.engine import stack
|
from heat.engine import stack
|
||||||
from heat.engine import template
|
from heat.engine import template
|
||||||
from heat.tests import common
|
from heat.tests import common
|
||||||
from heat.tests import fakes
|
|
||||||
from heat.tests import utils
|
from heat.tests import utils
|
||||||
|
|
||||||
keystone_user_template = {
|
keystone_user_template = {
|
||||||
|
@ -60,7 +60,7 @@ class KeystoneUserTest(common.HeatTestCase):
|
||||||
# Mock client
|
# Mock client
|
||||||
self.keystoneclient = mock.Mock()
|
self.keystoneclient = mock.Mock()
|
||||||
self.patchobject(resource.Resource, 'client',
|
self.patchobject(resource.Resource, 'client',
|
||||||
return_value=fakes.FakeKeystoneClient(
|
return_value=fake_ks.FakeKeystoneClient(
|
||||||
client=self.keystoneclient))
|
client=self.keystoneclient))
|
||||||
self.users = self.keystoneclient.users
|
self.users = self.keystoneclient.users
|
||||||
|
|
||||||
|
|
|
@ -22,13 +22,13 @@ from heat.common import exception
|
||||||
from heat.common import template_format
|
from heat.common import template_format
|
||||||
from heat.db.sqlalchemy import models
|
from heat.db.sqlalchemy import models
|
||||||
from heat.engine.clients.os import heat_plugin
|
from heat.engine.clients.os import heat_plugin
|
||||||
|
from heat.engine.clients.os.keystone import fake_keystoneclient as fake_ks
|
||||||
from heat.engine.clients.os import swift
|
from heat.engine.clients.os import swift
|
||||||
from heat.engine import scheduler
|
from heat.engine import scheduler
|
||||||
from heat.engine import stack as stk
|
from heat.engine import stack as stk
|
||||||
from heat.engine import template
|
from heat.engine import template
|
||||||
from heat.objects import resource_data as resource_data_object
|
from heat.objects import resource_data as resource_data_object
|
||||||
from heat.tests import common
|
from heat.tests import common
|
||||||
from heat.tests import fakes
|
|
||||||
from heat.tests import generic_resource
|
from heat.tests import generic_resource
|
||||||
from heat.tests import utils
|
from heat.tests import utils
|
||||||
|
|
||||||
|
@ -467,7 +467,7 @@ class SignalTest(common.HeatTestCase):
|
||||||
|
|
||||||
def test_delete_not_found(self):
|
def test_delete_not_found(self):
|
||||||
# Setup
|
# Setup
|
||||||
class FakeKeystoneClientFail(fakes.FakeKeystoneClient):
|
class FakeKeystoneClientFail(fake_ks.FakeKeystoneClient):
|
||||||
def delete_stack_user(self, name):
|
def delete_stack_user(self, name):
|
||||||
raise kc_exceptions.NotFound()
|
raise kc_exceptions.NotFound()
|
||||||
self.stub_keystoneclient(fake_client=FakeKeystoneClientFail())
|
self.stub_keystoneclient(fake_client=FakeKeystoneClientFail())
|
||||||
|
|
|
@ -31,6 +31,7 @@ from heat.common import template_format
|
||||||
from heat.common import timeutils
|
from heat.common import timeutils
|
||||||
from heat.db.sqlalchemy import api as db_api
|
from heat.db.sqlalchemy import api as db_api
|
||||||
from heat.engine.clients.os import keystone
|
from heat.engine.clients.os import keystone
|
||||||
|
from heat.engine.clients.os.keystone import fake_keystoneclient as fake_ks
|
||||||
from heat.engine.clients.os import nova
|
from heat.engine.clients.os import nova
|
||||||
from heat.engine import environment
|
from heat.engine import environment
|
||||||
from heat.engine import function
|
from heat.engine import function
|
||||||
|
@ -1485,9 +1486,9 @@ class StackTest(common.HeatTestCase):
|
||||||
|
|
||||||
self.m.StubOutWithMock(keystone.KeystoneClientPlugin, '_create')
|
self.m.StubOutWithMock(keystone.KeystoneClientPlugin, '_create')
|
||||||
keystone.KeystoneClientPlugin._create().AndReturn(
|
keystone.KeystoneClientPlugin._create().AndReturn(
|
||||||
fakes.FakeKeystoneClient(user_id='auser123'))
|
fake_ks.FakeKeystoneClient(user_id='auser123'))
|
||||||
keystone.KeystoneClientPlugin._create().AndReturn(
|
keystone.KeystoneClientPlugin._create().AndReturn(
|
||||||
fakes.FakeKeystoneClient(user_id='auser123'))
|
fake_ks.FakeKeystoneClient(user_id='auser123'))
|
||||||
self.m.ReplayAll()
|
self.m.ReplayAll()
|
||||||
|
|
||||||
self.stack = stack.Stack(self.ctx, 'creds_stack', self.tmpl)
|
self.stack = stack.Stack(self.ctx, 'creds_stack', self.tmpl)
|
||||||
|
|
|
@ -23,6 +23,7 @@ from heat.common import exception
|
||||||
from heat.common import template_format
|
from heat.common import template_format
|
||||||
from heat.common import timeutils
|
from heat.common import timeutils
|
||||||
from heat.engine.clients.os import keystone
|
from heat.engine.clients.os import keystone
|
||||||
|
from heat.engine.clients.os.keystone import fake_keystoneclient as fake_ks
|
||||||
from heat.engine.clients.os.keystone import heat_keystoneclient as hkc
|
from heat.engine.clients.os.keystone import heat_keystoneclient as hkc
|
||||||
from heat.engine import scheduler
|
from heat.engine import scheduler
|
||||||
from heat.engine import stack
|
from heat.engine import stack
|
||||||
|
@ -31,7 +32,6 @@ from heat.objects import snapshot as snapshot_object
|
||||||
from heat.objects import stack as stack_object
|
from heat.objects import stack as stack_object
|
||||||
from heat.objects import user_creds as ucreds_object
|
from heat.objects import user_creds as ucreds_object
|
||||||
from heat.tests import common
|
from heat.tests import common
|
||||||
from heat.tests import fakes
|
|
||||||
from heat.tests import generic_resource as generic_rsrc
|
from heat.tests import generic_resource as generic_rsrc
|
||||||
from heat.tests import utils
|
from heat.tests import utils
|
||||||
|
|
||||||
|
@ -272,7 +272,7 @@ class StackTest(common.HeatTestCase):
|
||||||
self.ctx, user_creds_id)
|
self.ctx, user_creds_id)
|
||||||
self.assertEqual('thetrustor', user_creds.get('trustor_user_id'))
|
self.assertEqual('thetrustor', user_creds.get('trustor_user_id'))
|
||||||
|
|
||||||
mock_kc.return_value = fakes.FakeKeystoneClient(user_id='nottrustor')
|
mock_kc.return_value = fake_ks.FakeKeystoneClient(user_id='nottrustor')
|
||||||
|
|
||||||
loaded_stack = stack.Stack.load(other_ctx, self.stack.id)
|
loaded_stack = stack.Stack.load(other_ctx, self.stack.id)
|
||||||
loaded_stack.delete()
|
loaded_stack.delete()
|
||||||
|
@ -284,7 +284,7 @@ class StackTest(common.HeatTestCase):
|
||||||
loaded_stack.state)
|
loaded_stack.state)
|
||||||
|
|
||||||
def test_delete_trust_backup(self):
|
def test_delete_trust_backup(self):
|
||||||
class FakeKeystoneClientFail(fakes.FakeKeystoneClient):
|
class FakeKeystoneClientFail(fake_ks.FakeKeystoneClient):
|
||||||
def delete_trust(self, trust_id):
|
def delete_trust(self, trust_id):
|
||||||
raise Exception("Shouldn't delete")
|
raise Exception("Shouldn't delete")
|
||||||
|
|
||||||
|
@ -306,7 +306,7 @@ class StackTest(common.HeatTestCase):
|
||||||
mock_kcp.assert_called_once_with()
|
mock_kcp.assert_called_once_with()
|
||||||
|
|
||||||
def test_delete_trust_nested(self):
|
def test_delete_trust_nested(self):
|
||||||
class FakeKeystoneClientFail(fakes.FakeKeystoneClient):
|
class FakeKeystoneClientFail(fake_ks.FakeKeystoneClient):
|
||||||
def delete_trust(self, trust_id):
|
def delete_trust(self, trust_id):
|
||||||
raise Exception("Shouldn't delete")
|
raise Exception("Shouldn't delete")
|
||||||
|
|
||||||
|
@ -335,7 +335,7 @@ class StackTest(common.HeatTestCase):
|
||||||
self.stack.state)
|
self.stack.state)
|
||||||
|
|
||||||
def test_delete_trust_fail(self):
|
def test_delete_trust_fail(self):
|
||||||
class FakeKeystoneClientFail(fakes.FakeKeystoneClient):
|
class FakeKeystoneClientFail(fake_ks.FakeKeystoneClient):
|
||||||
def delete_trust(self, trust_id):
|
def delete_trust(self, trust_id):
|
||||||
raise kc_exceptions.Forbidden("Denied!")
|
raise kc_exceptions.Forbidden("Denied!")
|
||||||
|
|
||||||
|
@ -360,7 +360,7 @@ class StackTest(common.HeatTestCase):
|
||||||
self.assertIn('Error deleting trust', self.stack.status_reason)
|
self.assertIn('Error deleting trust', self.stack.status_reason)
|
||||||
|
|
||||||
def test_delete_deletes_project(self):
|
def test_delete_deletes_project(self):
|
||||||
fkc = fakes.FakeKeystoneClient()
|
fkc = fake_ks.FakeKeystoneClient()
|
||||||
fkc.delete_stack_domain_project = mock.Mock()
|
fkc.delete_stack_domain_project = mock.Mock()
|
||||||
|
|
||||||
mock_kcp = self.patchobject(keystone.KeystoneClientPlugin, '_create',
|
mock_kcp = self.patchobject(keystone.KeystoneClientPlugin, '_create',
|
||||||
|
@ -489,7 +489,7 @@ class StackTest(common.HeatTestCase):
|
||||||
|
|
||||||
def test_stack_user_project_id_delete_fail(self):
|
def test_stack_user_project_id_delete_fail(self):
|
||||||
|
|
||||||
class FakeKeystoneClientFail(fakes.FakeKeystoneClient):
|
class FakeKeystoneClientFail(fake_ks.FakeKeystoneClient):
|
||||||
def delete_stack_domain_project(self, project_id):
|
def delete_stack_domain_project(self, project_id):
|
||||||
raise kc_exceptions.Forbidden("Denied!")
|
raise kc_exceptions.Forbidden("Denied!")
|
||||||
|
|
||||||
|
|
|
@ -17,11 +17,11 @@ import six
|
||||||
from heat.common import exception
|
from heat.common import exception
|
||||||
from heat.common import short_id
|
from heat.common import short_id
|
||||||
from heat.common import template_format
|
from heat.common import template_format
|
||||||
|
from heat.engine.clients.os.keystone import fake_keystoneclient as fake_ks
|
||||||
from heat.engine.resources import stack_user
|
from heat.engine.resources import stack_user
|
||||||
from heat.engine import scheduler
|
from heat.engine import scheduler
|
||||||
from heat.objects import resource_data as resource_data_object
|
from heat.objects import resource_data as resource_data_object
|
||||||
from heat.tests import common
|
from heat.tests import common
|
||||||
from heat.tests import fakes
|
|
||||||
from heat.tests import utils
|
from heat.tests import utils
|
||||||
|
|
||||||
|
|
||||||
|
@ -38,7 +38,7 @@ class StackUserTest(common.HeatTestCase):
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(StackUserTest, self).setUp()
|
super(StackUserTest, self).setUp()
|
||||||
self.fc = fakes.FakeKeystoneClient()
|
self.fc = fake_ks.FakeKeystoneClient()
|
||||||
|
|
||||||
def _user_create(self, stack_name, project_id, user_id,
|
def _user_create(self, stack_name, project_id, user_id,
|
||||||
resource_name='user', create_project=True,
|
resource_name='user', create_project=True,
|
||||||
|
@ -51,9 +51,9 @@ class StackUserTest(common.HeatTestCase):
|
||||||
stack_user.StackUser.keystone().MultipleTimes().AndReturn(self.fc)
|
stack_user.StackUser.keystone().MultipleTimes().AndReturn(self.fc)
|
||||||
|
|
||||||
if create_project:
|
if create_project:
|
||||||
self.m.StubOutWithMock(fakes.FakeKeystoneClient,
|
self.m.StubOutWithMock(fake_ks.FakeKeystoneClient,
|
||||||
'create_stack_domain_project')
|
'create_stack_domain_project')
|
||||||
fakes.FakeKeystoneClient.create_stack_domain_project(
|
fake_ks.FakeKeystoneClient.create_stack_domain_project(
|
||||||
self.stack.id).AndReturn(project_id)
|
self.stack.id).AndReturn(project_id)
|
||||||
else:
|
else:
|
||||||
self.stack.set_stack_user_project_id(project_id)
|
self.stack.set_stack_user_project_id(project_id)
|
||||||
|
@ -62,10 +62,10 @@ class StackUserTest(common.HeatTestCase):
|
||||||
self.m.StubOutWithMock(short_id, 'get_id')
|
self.m.StubOutWithMock(short_id, 'get_id')
|
||||||
short_id.get_id(rsrc.uuid).MultipleTimes().AndReturn('aabbcc')
|
short_id.get_id(rsrc.uuid).MultipleTimes().AndReturn('aabbcc')
|
||||||
|
|
||||||
self.m.StubOutWithMock(fakes.FakeKeystoneClient,
|
self.m.StubOutWithMock(fake_ks.FakeKeystoneClient,
|
||||||
'create_stack_domain_user')
|
'create_stack_domain_user')
|
||||||
expected_username = '%s-%s-%s' % (stack_name, resource_name, 'aabbcc')
|
expected_username = '%s-%s-%s' % (stack_name, resource_name, 'aabbcc')
|
||||||
fakes.FakeKeystoneClient.create_stack_domain_user(
|
fake_ks.FakeKeystoneClient.create_stack_domain_user(
|
||||||
username=expected_username, password=password,
|
username=expected_username, password=password,
|
||||||
project_id=project_id).AndReturn(user_id)
|
project_id=project_id).AndReturn(user_id)
|
||||||
|
|
||||||
|
@ -101,9 +101,9 @@ class StackUserTest(common.HeatTestCase):
|
||||||
project_id='aprojectdel',
|
project_id='aprojectdel',
|
||||||
user_id='auserdel')
|
user_id='auserdel')
|
||||||
|
|
||||||
self.m.StubOutWithMock(fakes.FakeKeystoneClient,
|
self.m.StubOutWithMock(fake_ks.FakeKeystoneClient,
|
||||||
'delete_stack_domain_user')
|
'delete_stack_domain_user')
|
||||||
fakes.FakeKeystoneClient.delete_stack_domain_user(
|
fake_ks.FakeKeystoneClient.delete_stack_domain_user(
|
||||||
user_id='auserdel', project_id='aprojectdel').AndReturn(None)
|
user_id='auserdel', project_id='aprojectdel').AndReturn(None)
|
||||||
|
|
||||||
self.m.ReplayAll()
|
self.m.ReplayAll()
|
||||||
|
@ -119,9 +119,9 @@ class StackUserTest(common.HeatTestCase):
|
||||||
project_id='aprojectdel2',
|
project_id='aprojectdel2',
|
||||||
user_id='auserdel2')
|
user_id='auserdel2')
|
||||||
|
|
||||||
self.m.StubOutWithMock(fakes.FakeKeystoneClient,
|
self.m.StubOutWithMock(fake_ks.FakeKeystoneClient,
|
||||||
'delete_stack_domain_user')
|
'delete_stack_domain_user')
|
||||||
fakes.FakeKeystoneClient.delete_stack_domain_user(
|
fake_ks.FakeKeystoneClient.delete_stack_domain_user(
|
||||||
user_id='auserdel2', project_id='aprojectdel2').AndRaise(
|
user_id='auserdel2', project_id='aprojectdel2').AndRaise(
|
||||||
kc_exceptions.NotFound)
|
kc_exceptions.NotFound)
|
||||||
|
|
||||||
|
@ -152,9 +152,9 @@ class StackUserTest(common.HeatTestCase):
|
||||||
project_id='aprojectdel',
|
project_id='aprojectdel',
|
||||||
user_id='auserdel')
|
user_id='auserdel')
|
||||||
|
|
||||||
self.m.StubOutWithMock(fakes.FakeKeystoneClient,
|
self.m.StubOutWithMock(fake_ks.FakeKeystoneClient,
|
||||||
'disable_stack_domain_user')
|
'disable_stack_domain_user')
|
||||||
fakes.FakeKeystoneClient.disable_stack_domain_user(
|
fake_ks.FakeKeystoneClient.disable_stack_domain_user(
|
||||||
user_id='auserdel', project_id='aprojectdel').AndReturn(None)
|
user_id='auserdel', project_id='aprojectdel').AndReturn(None)
|
||||||
|
|
||||||
self.m.ReplayAll()
|
self.m.ReplayAll()
|
||||||
|
@ -170,13 +170,13 @@ class StackUserTest(common.HeatTestCase):
|
||||||
project_id='aprojectdel',
|
project_id='aprojectdel',
|
||||||
user_id='auserdel')
|
user_id='auserdel')
|
||||||
|
|
||||||
self.m.StubOutWithMock(fakes.FakeKeystoneClient,
|
self.m.StubOutWithMock(fake_ks.FakeKeystoneClient,
|
||||||
'disable_stack_domain_user')
|
'disable_stack_domain_user')
|
||||||
fakes.FakeKeystoneClient.disable_stack_domain_user(
|
fake_ks.FakeKeystoneClient.disable_stack_domain_user(
|
||||||
user_id='auserdel', project_id='aprojectdel').AndRaise(ValueError)
|
user_id='auserdel', project_id='aprojectdel').AndRaise(ValueError)
|
||||||
self.m.StubOutWithMock(fakes.FakeKeystoneClient,
|
self.m.StubOutWithMock(fake_ks.FakeKeystoneClient,
|
||||||
'disable_stack_user')
|
'disable_stack_user')
|
||||||
fakes.FakeKeystoneClient.disable_stack_user(
|
fake_ks.FakeKeystoneClient.disable_stack_user(
|
||||||
user_id='auserdel').AndReturn(None)
|
user_id='auserdel').AndReturn(None)
|
||||||
|
|
||||||
self.m.ReplayAll()
|
self.m.ReplayAll()
|
||||||
|
@ -192,9 +192,9 @@ class StackUserTest(common.HeatTestCase):
|
||||||
project_id='aprojectdel',
|
project_id='aprojectdel',
|
||||||
user_id='auserdel')
|
user_id='auserdel')
|
||||||
|
|
||||||
self.m.StubOutWithMock(fakes.FakeKeystoneClient,
|
self.m.StubOutWithMock(fake_ks.FakeKeystoneClient,
|
||||||
'enable_stack_domain_user')
|
'enable_stack_domain_user')
|
||||||
fakes.FakeKeystoneClient.enable_stack_domain_user(
|
fake_ks.FakeKeystoneClient.enable_stack_domain_user(
|
||||||
user_id='auserdel', project_id='aprojectdel').AndReturn(None)
|
user_id='auserdel', project_id='aprojectdel').AndReturn(None)
|
||||||
|
|
||||||
self.m.ReplayAll()
|
self.m.ReplayAll()
|
||||||
|
@ -211,13 +211,13 @@ class StackUserTest(common.HeatTestCase):
|
||||||
project_id='aprojectdel',
|
project_id='aprojectdel',
|
||||||
user_id='auserdel')
|
user_id='auserdel')
|
||||||
|
|
||||||
self.m.StubOutWithMock(fakes.FakeKeystoneClient,
|
self.m.StubOutWithMock(fake_ks.FakeKeystoneClient,
|
||||||
'enable_stack_domain_user')
|
'enable_stack_domain_user')
|
||||||
fakes.FakeKeystoneClient.enable_stack_domain_user(
|
fake_ks.FakeKeystoneClient.enable_stack_domain_user(
|
||||||
user_id='auserdel', project_id='aprojectdel').AndRaise(ValueError)
|
user_id='auserdel', project_id='aprojectdel').AndRaise(ValueError)
|
||||||
self.m.StubOutWithMock(fakes.FakeKeystoneClient,
|
self.m.StubOutWithMock(fake_ks.FakeKeystoneClient,
|
||||||
'enable_stack_user')
|
'enable_stack_user')
|
||||||
fakes.FakeKeystoneClient.enable_stack_user(
|
fake_ks.FakeKeystoneClient.enable_stack_user(
|
||||||
user_id='auserdel').AndReturn(None)
|
user_id='auserdel').AndReturn(None)
|
||||||
|
|
||||||
self.m.ReplayAll()
|
self.m.ReplayAll()
|
||||||
|
@ -235,9 +235,9 @@ class StackUserTest(common.HeatTestCase):
|
||||||
user_id='auserdel')
|
user_id='auserdel')
|
||||||
|
|
||||||
# create_stack_domain_user_keypair(self, user_id, project_id):
|
# create_stack_domain_user_keypair(self, user_id, project_id):
|
||||||
self.m.StubOutWithMock(fakes.FakeKeystoneClient,
|
self.m.StubOutWithMock(fake_ks.FakeKeystoneClient,
|
||||||
'create_stack_domain_user_keypair')
|
'create_stack_domain_user_keypair')
|
||||||
fakes.FakeKeystoneClient.create_stack_domain_user_keypair(
|
fake_ks.FakeKeystoneClient.create_stack_domain_user_keypair(
|
||||||
user_id='auserdel', project_id='aprojectdel').AndReturn(
|
user_id='auserdel', project_id='aprojectdel').AndReturn(
|
||||||
self.fc.creds)
|
self.fc.creds)
|
||||||
self.m.ReplayAll()
|
self.m.ReplayAll()
|
||||||
|
@ -260,9 +260,9 @@ class StackUserTest(common.HeatTestCase):
|
||||||
user_id='auserdel')
|
user_id='auserdel')
|
||||||
|
|
||||||
# create_stack_domain_user_keypair(self, user_id, project_id):
|
# create_stack_domain_user_keypair(self, user_id, project_id):
|
||||||
self.m.StubOutWithMock(fakes.FakeKeystoneClient,
|
self.m.StubOutWithMock(fake_ks.FakeKeystoneClient,
|
||||||
'create_stack_domain_user_keypair')
|
'create_stack_domain_user_keypair')
|
||||||
fakes.FakeKeystoneClient.create_stack_domain_user_keypair(
|
fake_ks.FakeKeystoneClient.create_stack_domain_user_keypair(
|
||||||
user_id='auserdel', project_id='aprojectdel').AndReturn(None)
|
user_id='auserdel', project_id='aprojectdel').AndReturn(None)
|
||||||
self.m.ReplayAll()
|
self.m.ReplayAll()
|
||||||
|
|
||||||
|
@ -276,9 +276,9 @@ class StackUserTest(common.HeatTestCase):
|
||||||
project_id='aprojectdel',
|
project_id='aprojectdel',
|
||||||
user_id='auserdel')
|
user_id='auserdel')
|
||||||
|
|
||||||
self.m.StubOutWithMock(fakes.FakeKeystoneClient,
|
self.m.StubOutWithMock(fake_ks.FakeKeystoneClient,
|
||||||
'delete_stack_domain_user_keypair')
|
'delete_stack_domain_user_keypair')
|
||||||
fakes.FakeKeystoneClient.delete_stack_domain_user_keypair(
|
fake_ks.FakeKeystoneClient.delete_stack_domain_user_keypair(
|
||||||
user_id='auserdel', project_id='aprojectdel',
|
user_id='auserdel', project_id='aprojectdel',
|
||||||
credential_id='acredential').AndReturn(None)
|
credential_id='acredential').AndReturn(None)
|
||||||
self.m.ReplayAll()
|
self.m.ReplayAll()
|
||||||
|
@ -304,14 +304,14 @@ class StackUserTest(common.HeatTestCase):
|
||||||
project_id='aprojectdel',
|
project_id='aprojectdel',
|
||||||
user_id='auserdel')
|
user_id='auserdel')
|
||||||
|
|
||||||
self.m.StubOutWithMock(fakes.FakeKeystoneClient,
|
self.m.StubOutWithMock(fake_ks.FakeKeystoneClient,
|
||||||
'delete_stack_domain_user_keypair')
|
'delete_stack_domain_user_keypair')
|
||||||
fakes.FakeKeystoneClient.delete_stack_domain_user_keypair(
|
fake_ks.FakeKeystoneClient.delete_stack_domain_user_keypair(
|
||||||
user_id='auserdel', project_id='aprojectdel',
|
user_id='auserdel', project_id='aprojectdel',
|
||||||
credential_id='acredential').AndRaise(ValueError())
|
credential_id='acredential').AndRaise(ValueError())
|
||||||
self.m.StubOutWithMock(fakes.FakeKeystoneClient,
|
self.m.StubOutWithMock(fake_ks.FakeKeystoneClient,
|
||||||
'delete_ec2_keypair')
|
'delete_ec2_keypair')
|
||||||
fakes.FakeKeystoneClient.delete_ec2_keypair(
|
fake_ks.FakeKeystoneClient.delete_ec2_keypair(
|
||||||
user_id='auserdel', credential_id='acredential').AndReturn(None)
|
user_id='auserdel', credential_id='acredential').AndReturn(None)
|
||||||
self.m.ReplayAll()
|
self.m.ReplayAll()
|
||||||
|
|
||||||
|
@ -330,9 +330,9 @@ class StackUserTest(common.HeatTestCase):
|
||||||
project_id='aprojectdel',
|
project_id='aprojectdel',
|
||||||
user_id='auserdel')
|
user_id='auserdel')
|
||||||
|
|
||||||
self.m.StubOutWithMock(fakes.FakeKeystoneClient,
|
self.m.StubOutWithMock(fake_ks.FakeKeystoneClient,
|
||||||
'delete_stack_domain_user_keypair')
|
'delete_stack_domain_user_keypair')
|
||||||
fakes.FakeKeystoneClient.delete_stack_domain_user_keypair(
|
fake_ks.FakeKeystoneClient.delete_stack_domain_user_keypair(
|
||||||
user_id='auserdel', project_id='aprojectdel',
|
user_id='auserdel', project_id='aprojectdel',
|
||||||
credential_id='acredential').AndReturn(None)
|
credential_id='acredential').AndReturn(None)
|
||||||
self.m.ReplayAll()
|
self.m.ReplayAll()
|
||||||
|
@ -351,9 +351,9 @@ class StackUserTest(common.HeatTestCase):
|
||||||
user_id='aabbcc',
|
user_id='aabbcc',
|
||||||
password='apassword')
|
password='apassword')
|
||||||
|
|
||||||
self.m.StubOutWithMock(fakes.FakeKeystoneClient,
|
self.m.StubOutWithMock(fake_ks.FakeKeystoneClient,
|
||||||
'stack_domain_user_token')
|
'stack_domain_user_token')
|
||||||
fakes.FakeKeystoneClient.stack_domain_user_token(
|
fake_ks.FakeKeystoneClient.stack_domain_user_token(
|
||||||
user_id='aabbcc', project_id='aproject123',
|
user_id='aabbcc', project_id='aproject123',
|
||||||
password='apassword').AndReturn('atoken123')
|
password='apassword').AndReturn('atoken123')
|
||||||
self.m.ReplayAll()
|
self.m.ReplayAll()
|
||||||
|
|
Loading…
Reference in New Issue