示例#1
0
 def setUp(self):
     super(TestCase, self).setUp()
     self.config([etcdir('keystone.conf.sample'),
                  testsdir('test_overrides.conf')])
     # ensure the cache region instance is setup
     cache.configure_cache_region(cache.REGION)
     self.opt(policy_file=etcdir('policy.json'))
示例#2
0
def load_backends():

    # Configure and build the cache
    cache.configure_cache_region(cache.REGION)

    # Ensure that the identity driver is created before the assignment manager
    # and that the assignment driver is created before the resource manager.
    # The default resource driver depends on assignment, which in turn
    # depends on identity - hence we need to ensure the chain is available.
    _IDENTITY_API = identity.Manager()
    _ASSIGNMENT_API = assignment.Manager()

    DRIVERS = dict(
        assignment_api=_ASSIGNMENT_API,
        catalog_api=catalog.Manager(),
        credential_api=credential.Manager(),
        endpoint_filter_api=endpoint_filter.Manager(),
        endpoint_policy_api=endpoint_policy.Manager(),
        federation_api=federation.Manager(),
        id_generator_api=identity.generator.Manager(),
        id_mapping_api=identity.MappingManager(),
        identity_api=_IDENTITY_API,
        policy_api=policy.Manager(),
        resource_api=resource.Manager(),
        role_api=assignment.RoleManager(),
        token_api=token.persistence.Manager(),
        trust_api=trust.Manager(),
        token_provider_api=token.provider.Manager())

    auth.controllers.load_auth_methods()

    return DRIVERS
示例#3
0
def load_backends():

    # Configure and build the cache
    cache.configure_cache_region(cache.REGION)

    # Ensure that the identity driver is created before the assignment manager.
    # The default assignment driver is determined by the identity driver, so
    # the identity driver must be available to the assignment manager.
    _IDENTITY_API = identity.Manager()

    DRIVERS = dict(
        assignment_api=assignment.Manager(),
        catalog_api=catalog.Manager(),
        credential_api=credential.Manager(),
        endpoint_filter_api=endpoint_filter.Manager(),
        identity_api=_IDENTITY_API,
        policy_api=policy.Manager(),
        revoke_api=revoke.Manager(),
        token_api=token.Manager(),
        trust_api=trust.Manager(),
        token_provider_api=token.provider.Manager())

    auth.controllers.load_auth_methods()

    return DRIVERS
示例#4
0
def load_backends():

    # Configure and build the cache
    cache.configure_cache_region(cache.REGION)

    # Ensure that the identity driver is created before the assignment manager
    # and that the assignment driver is created before the resource manager.
    # The default resource driver depends on assignment, which in turn
    # depends on identity - hence we need to ensure the chain is available.
    _IDENTITY_API = identity.Manager()
    _ASSIGNMENT_API = assignment.Manager()

    DRIVERS = dict(assignment_api=_ASSIGNMENT_API,
                   catalog_api=catalog.Manager(),
                   credential_api=credential.Manager(),
                   endpoint_filter_api=endpoint_filter.Manager(),
                   endpoint_policy_api=endpoint_policy.Manager(),
                   federation_api=federation.Manager(),
                   id_generator_api=identity.generator.Manager(),
                   id_mapping_api=identity.MappingManager(),
                   identity_api=_IDENTITY_API,
                   policy_api=policy.Manager(),
                   resource_api=resource.Manager(),
                   role_api=assignment.RoleManager(),
                   token_api=token.persistence.Manager(),
                   trust_api=trust.Manager(),
                   token_provider_api=token.provider.Manager())

    auth.controllers.load_auth_methods()

    return DRIVERS
示例#5
0
    def load_backends(self):
        self.setup_database()

        # ensure the cache region instance is setup
        cache.configure_cache_region(cache.REGION)

        super(RestfulTestCase, self).load_backends()
示例#6
0
def load_backends():

    # Configure and build the cache
    cache.configure_cache_region(cache.REGION)

    # Ensure that the identity driver is created before the assignment manager.
    # The default assignment driver is determined by the identity driver, so
    # the identity driver must be available to the assignment manager.
    _IDENTITY_API = identity.Manager()

    DRIVERS = dict(assignment_api=assignment.Manager(),
                   catalog_api=catalog.Manager(),
                   credential_api=credential.Manager(),
                   endpoint_filter_api=endpoint_filter.Manager(),
                   id_generator_api=identity.generator.Manager(),
                   id_mapping_api=identity.MappingManager(),
                   identity_api=_IDENTITY_API,
                   policy_api=policy.Manager(),
                   token_api=token.Manager(),
                   trust_api=trust.Manager(),
                   token_provider_api=token.provider.Manager())

    auth.controllers.load_auth_methods()

    return DRIVERS
示例#7
0
    def load_backends(self):
        self.setup_database()

        # ensure the cache region instance is setup
        cache.configure_cache_region(cache.REGION)

        super(RestfulTestCase, self).load_backends()
示例#8
0
 def setUp(self):
     super(TestCase, self).setUp()
     self.config(
         [etcdir('keystone.conf.sample'),
          testsdir('test_overrides.conf')])
     # ensure the cache region instance is setup
     cache.configure_cache_region(cache.REGION)
     self.opt(policy_file=etcdir('policy.json'))
示例#9
0
    def setUp(self):
        super(TestCase, self).setUp()
        self.config([dirs.etc("keystone.conf.sample"), dirs.tests("test_overrides.conf")])
        # ensure the cache region instance is setup
        cache.configure_cache_region(cache.REGION)
        self.opt(policy_file=dirs.etc("policy.json"))

        self.logger = self.useFixture(fixtures.FakeLogger(level=logging.DEBUG))
        warnings.filterwarnings("ignore", category=DeprecationWarning)
示例#10
0
 def setUp(self):
     super(TestCase, self).setUp()
     self.config([etcdir('keystone.conf.sample'),
                  testsdir('test_overrides.conf')])
     # ensure the cache region instance is setup
     cache.configure_cache_region(cache.REGION)
     self.mox = mox.Mox()
     self.opt(policy_file=etcdir('policy.json'))
     self.stubs = stubout.StubOutForTesting()
     self.stubs.Set(exception, '_FATAL_EXCEPTION_FORMAT_ERRORS', True)
示例#11
0
    def setUp(self):
        super(TestCase, self).setUp()
        self.config([dirs.etc('keystone.conf.sample'),
                     dirs.tests('test_overrides.conf')])
        # ensure the cache region instance is setup
        cache.configure_cache_region(cache.REGION)
        self.opt(policy_file=dirs.etc('policy.json'))

        self.logger = self.useFixture(fixtures.FakeLogger(level=logging.DEBUG))
        warnings.filterwarnings('ignore', category=DeprecationWarning)
示例#12
0
文件: core.py 项目: congto/icehouse
    def setUp(self):
        super(TestCase, self).setUp()
        self.config([etcdir('keystone.conf.sample'),
                     testsdir('test_overrides.conf')])
        # ensure the cache region instance is setup
        cache.configure_cache_region(cache.REGION)
        self.opt(policy_file=etcdir('policy.json'))

        self.logger = self.useFixture(fixtures.FakeLogger(level=logging.DEBUG))
        warnings.filterwarnings('ignore', category=DeprecationWarning)
示例#13
0
    def setUp(self):
        sqldb = self.useFixture(database.Database())
        super(BaseBackendLdapIdentitySqlEverythingElse, self).setUp()
        self.clear_database()
        self.load_backends()
        cache.configure_cache_region(cache.REGION)

        sqldb.recreate()
        self.load_fixtures(default_fixtures)
        # defaulted by the data load
        self.user_foo['enabled'] = True
示例#14
0
    def setUp(self):
        sqldb = self.useFixture(database.Database())
        super(BaseBackendLdapIdentitySqlEverythingElse, self).setUp()
        self.clear_database()
        self.load_backends()
        cache.configure_cache_region(cache.REGION)

        sqldb.recreate()
        self.load_fixtures(default_fixtures)
        # defaulted by the data load
        self.user_foo['enabled'] = True
示例#15
0
 def setUp(self):
     super(LdapIdentitySqlAssignment, self).setUp()
     self._set_config()
     self.clear_database()
     self.load_backends()
     cache.configure_cache_region(cache.REGION)
     self.engine = self.get_engine()
     sql.ModelBase.metadata.create_all(bind=self.engine)
     self.load_fixtures(default_fixtures)
     #defaulted by the data load
     self.user_foo['enabled'] = True
示例#16
0
    def setUp(self):
        super(TestCase, self).setUp()

        self._paths = []

        def _cleanup_paths():
            for path in self._paths:
                if path in sys.path:
                    sys.path.remove(path)
        self.addCleanup(_cleanup_paths)

        self._memo = {}
        self._overrides = []
        self._group_overrides = {}

        # show complete diffs on failure
        self.maxDiff = None

        self.addCleanup(CONF.reset)

        self.exit_patch = self.useFixture(mockpatch.PatchObject(sys, 'exit'))
        self.exit_patch.mock.side_effect = UnexpectedExit

        self.config([dirs.etc('keystone.conf.sample'),
                     dirs.tests('test_overrides.conf')])

        self.opt(policy_file=dirs.etc('policy.json'))

        # NOTE(morganfainberg):  The only way to reconfigure the
        # CacheRegion object on each setUp() call is to remove the
        # .backend property.
        self.addCleanup(delattr, cache.REGION, 'backend')

        # ensure the cache region instance is setup
        cache.configure_cache_region(cache.REGION)

        self.logger = self.useFixture(fixtures.FakeLogger(level=logging.DEBUG))
        warnings.filterwarnings('ignore', category=DeprecationWarning)

        # Clear the registry of providers so that providers from previous
        # tests aren't used.
        self.addCleanup(dependency.reset)

        self.addCleanup(kvs.INMEMDB.clear)

        self.addCleanup(timeutils.clear_time_override)

        # Ensure Notification subscriotions and resource types are empty
        self.addCleanup(notifications.SUBSCRIBERS.clear)

        # Reset the auth-plugin registry
        self.addCleanup(self.clear_auth_plugin_registry)
示例#17
0
    def setUp(self):
        super(Cache, self).setUp()

        # NOTE(dstanek):  We must remove the existing cache backend in the
        # setUp instead of the tearDown because it defaults to a no-op cache
        # and we want the configure call below to create the correct backend.

        # NOTE(morganfainberg):  The only way to reconfigure the CacheRegion
        # object on each setUp() call is to remove the .backend property.
        if cache.REGION.is_configured:
            del cache.REGION.backend

        # ensure the cache region instance is setup
        cache.configure_cache_region(cache.REGION)
示例#18
0
    def setUp(self):
        super(TestCase, self).setUp()

        self._paths = []

        def _cleanup_paths():
            for path in self._paths:
                if path in sys.path:
                    sys.path.remove(path)
        self.addCleanup(_cleanup_paths)

        self._memo = {}
        self._overrides = []
        self._group_overrides = {}

        # show complete diffs on failure
        self.maxDiff = None

        self.addCleanup(CONF.reset)

        self.config([dirs.etc('keystone.conf.sample'),
                     dirs.tests('test_overrides.conf')])

        self.opt(policy_file=dirs.etc('policy.json'))

        # NOTE(morganfainberg):  The only way to reconfigure the
        # CacheRegion object on each setUp() call is to remove the
        # .backend property.
        self.addCleanup(delattr, cache.REGION, 'backend')

        # ensure the cache region instance is setup
        cache.configure_cache_region(cache.REGION)

        self.logger = self.useFixture(fixtures.FakeLogger(level=logging.DEBUG))
        warnings.filterwarnings('ignore', category=DeprecationWarning)

        # Clear the registry of providers so that providers from previous
        # tests aren't used.
        self.addCleanup(dependency.reset)

        self.addCleanup(kvs.INMEMDB.clear)

        self.addCleanup(timeutils.clear_time_override)

        # Ensure Notification subscriotions and resource types are empty
        self.addCleanup(notifications.SUBSCRIBERS.clear)

        # Reset the auth-plugin registry
        self.addCleanup(self.clear_auth_plugin_registry)
示例#19
0
    def setUp(self):
        self.useFixture(database.Database())
        super(BaseBackendLdapIdentitySqlEverythingElse, self).setUp()
        self.clear_database()
        self.load_backends()
        cache.configure_cache_region(cache.REGION)
        self.engine = sql.get_engine()
        self.addCleanup(sql.cleanup)

        sql.ModelBase.metadata.create_all(bind=self.engine)
        self.addCleanup(sql.ModelBase.metadata.drop_all, bind=self.engine)

        self.load_fixtures(default_fixtures)
        # defaulted by the data load
        self.user_foo['enabled'] = True
示例#20
0
    def setUp(self):
        self.useFixture(database.Database())
        super(BaseBackendLdapIdentitySqlEverythingElse, self).setUp()
        self.clear_database()
        self.load_backends()
        cache.configure_cache_region(cache.REGION)
        self.engine = sql.get_engine()
        self.addCleanup(sql.cleanup)

        sql.ModelBase.metadata.create_all(bind=self.engine)
        self.addCleanup(sql.ModelBase.metadata.drop_all, bind=self.engine)

        self.load_fixtures(default_fixtures)
        # defaulted by the data load
        self.user_foo['enabled'] = True
示例#21
0
    def setUp(self):
        super(TestCase, self).setUp()

        self._paths = []

        def _cleanup_paths():
            for path in self._paths:
                if path in sys.path:
                    sys.path.remove(path)

        self.addCleanup(_cleanup_paths)

        self._memo = {}
        self._overrides = []
        self._group_overrides = {}

        # show complete diffs on failure
        self.maxDiff = None

        self.addCleanup(CONF.reset)

        self.config([dirs.etc("keystone.conf.sample"), dirs.tests("test_overrides.conf")])

        self.opt(policy_file=dirs.etc("policy.json"))

        # NOTE(morganfainberg):  The only way to reconfigure the
        # CacheRegion object on each setUp() call is to remove the
        # .backend property.
        self.addCleanup(delattr, cache.REGION, "backend")

        # ensure the cache region instance is setup
        cache.configure_cache_region(cache.REGION)

        self.logger = self.useFixture(fixtures.FakeLogger(level=logging.DEBUG))
        warnings.filterwarnings("ignore", category=DeprecationWarning)

        # Clear the registry of providers so that providers from previous
        # tests aren't used.
        self.addCleanup(dependency.reset)

        self.addCleanup(kvs.INMEMDB.clear)

        self.addCleanup(timeutils.clear_time_override)
示例#22
0
def load_backends():

    # Configure and build the cache
    cache.configure_cache_region(cache.REGION)

    # Ensure that the identity driver is created before the assignment manager.
    # The default assignment driver is determined by the identity driver, so
    # the identity driver must be available to the assignment manager.
    _IDENTITY_API = identity.Manager()

    DRIVERS = dict(
        assignment_api=assignment.Manager(),
        catalog_api=catalog.Manager(),
        credential_api=credential.Manager(),
        domain_config_api=resource.DomainConfigManager(),
        endpoint_filter_api=endpoint_filter.Manager(),
        endpoint_policy_api=endpoint_policy.Manager(),
        federation_api=federation.Manager(),
        id_generator_api=identity.generator.Manager(),
        id_mapping_api=identity.MappingManager(),
        identity_api=_IDENTITY_API,
        oauth_api=oauth1.Manager(),
        policy_api=policy.Manager(),
        resource_api=resource.Manager(),
        revoke_api=revoke.Manager(),
        role_api=assignment.RoleManager(),
        token_api=token.persistence.Manager(),
        trust_api=trust.Manager(),
        token_provider_api=token.provider.Manager(),
        # admin_api=moon.AdminManager(),
        # authz_api=moon.AuthzManager()
        )

    auth.controllers.load_auth_methods()

    return DRIVERS
示例#23
0
 def setUp(self):
     super(CacheRegionTest, self).setUp()
     self.region = cache.make_region()
     cache.configure_cache_region(self.region)
     self.region.wrap(TestProxy)
示例#24
0
from keystone import controllers
from keystone import credential
from keystone import identity
from keystone.openstack.common import log as logging
from keystone import policy
from keystone import routers
from keystone import token
from keystone import trust


CONF = config.CONF
LOG = logging.getLogger(__name__)


# Ensure the cache is configured and built before we instantiate the managers
cache.configure_cache_region(cache.REGION)

# Ensure that the identity driver is created before the assignment manager.
# The default assignment driver is determined by the identity driver, so the
# identity driver must be available to the assignment manager.
_IDENTITY_API = identity.Manager()

DRIVERS = dict(
    assignment_api=assignment.Manager(),
    catalog_api=catalog.Manager(),
    credentials_api=credential.Manager(),
    endpoint_filter_api=endpoint_filter.Manager(),
    identity_api=_IDENTITY_API,
    oauth1_api=oauth1.Manager(),
    policy_api=policy.Manager(),
    token_api=token.Manager(),
示例#25
0
 def setUp(self):
     super(CacheNoopBackendTest, self).setUp()
     self.region = cache.make_region()
     setattr(CONF.cache, 'backend', 'keystone.common.cache.noop')
     cache.configure_cache_region(self.region)
示例#26
0
 def setUp(self):
     super(CacheNoopBackendTest, self).setUp()
     self.region = cache.make_region()
     setattr(CONF.cache, 'backend', 'keystone.common.cache.noop')
     cache.configure_cache_region(self.region)
示例#27
0
 def setUp(self):
     super(CacheNoopBackendTest, self).setUp()
     self.region = cache.make_region()
     cache.configure_cache_region(self.region)
示例#28
0
 def setUp(self):
     super(CacheRegionTest, self).setUp()
     self.region = cache.make_region()
     cache.configure_cache_region(self.region)
     self.region.wrap(TestProxy)
示例#29
0
 def setUp(self):
     super(CacheNoopBackendTest, self).setUp()
     self.region = cache.make_region()
     self.opt_in_group('cache', backend='keystone.common.cache.noop')
     cache.configure_cache_region(self.region)
示例#30
0
from keystone import config
from keystone.contrib import endpoint_filter
from keystone import controllers
from keystone import credential
from keystone import identity
from keystone.openstack.common import log as logging
from keystone import policy
from keystone import routers
from keystone import token
from keystone import trust

CONF = config.CONF
LOG = logging.getLogger(__name__)

# Ensure the cache is configured and built before we instantiate the managers
cache.configure_cache_region(cache.REGION)

# Ensure that the identity driver is created before the assignment manager.
# The default assignment driver is determined by the identity driver, so the
# identity driver must be available to the assignment manager.
_IDENTITY_API = identity.Manager()

DRIVERS = dict(assignment_api=assignment.Manager(),
               catalog_api=catalog.Manager(),
               credentials_api=credential.Manager(),
               endpoint_filter_api=endpoint_filter.Manager(),
               identity_api=_IDENTITY_API,
               policy_api=policy.Manager(),
               token_api=token.Manager(),
               trust_api=trust.Manager(),
               token_provider_api=token.provider.Manager())
示例#31
0
    def setUp(self, load_sample_data=True, app_conf='keystone'):
        """Setup for v3 Restful Test Cases.

        If a child class wants to create their own sample data
        and provide their own auth data to obtain tokens, then
        load_sample_data should be set to false.

        """
        super(RestfulTestCase, self).setUp()
        self.config(self.config_files())

        self.setup_database()

        new_paste_file = self.generate_paste_config()
        if new_paste_file:
            app_conf = 'config:%s' % (new_paste_file)

        # ensure the cache region instance is setup
        cache.configure_cache_region(cache.REGION)

        self.load_backends()

        self.public_app = webtest.TestApp(
            self.loadapp(app_conf, name='main'))
        self.admin_app = webtest.TestApp(
            self.loadapp(app_conf, name='admin'))

        if load_sample_data:
            self.domain_id = uuid.uuid4().hex
            self.domain = self.new_domain_ref()
            self.domain['id'] = self.domain_id
            self.assignment_api.create_domain(self.domain_id, self.domain)

            self.project_id = uuid.uuid4().hex
            self.project = self.new_project_ref(
                domain_id=self.domain_id)
            self.project['id'] = self.project_id
            self.assignment_api.create_project(self.project_id, self.project)

            self.user_id = uuid.uuid4().hex
            self.user = self.new_user_ref(domain_id=self.domain_id)
            self.user['id'] = self.user_id
            self.identity_api.create_user(self.user_id, self.user)

            self.default_domain_project_id = uuid.uuid4().hex
            self.default_domain_project = self.new_project_ref(
                domain_id=DEFAULT_DOMAIN_ID)
            self.default_domain_project['id'] = self.default_domain_project_id
            self.assignment_api.create_project(self.default_domain_project_id,
                                               self.default_domain_project)

            self.default_domain_user_id = uuid.uuid4().hex
            self.default_domain_user = self.new_user_ref(
                domain_id=DEFAULT_DOMAIN_ID)
            self.default_domain_user['id'] = self.default_domain_user_id
            self.identity_api.create_user(self.default_domain_user_id,
                                          self.default_domain_user)

            # create & grant policy.json's default role for admin_required
            self.role_id = uuid.uuid4().hex
            self.role = self.new_role_ref()
            self.role['id'] = self.role_id
            self.role['name'] = 'admin'
            self.assignment_api.create_role(self.role_id, self.role)
            self.assignment_api.add_role_to_user_and_project(
                self.user_id, self.project_id, self.role_id)
            self.assignment_api.add_role_to_user_and_project(
                self.default_domain_user_id, self.default_domain_project_id,
                self.role_id)
            self.assignment_api.add_role_to_user_and_project(
                self.default_domain_user_id, self.project_id,
                self.role_id)

            self.service_id = uuid.uuid4().hex
            self.service = self.new_service_ref()
            self.service['id'] = self.service_id
            self.catalog_api.create_service(
                self.service_id,
                self.service.copy())

            self.endpoint_id = uuid.uuid4().hex
            self.endpoint = self.new_endpoint_ref(service_id=self.service_id)
            self.endpoint['id'] = self.endpoint_id
            self.catalog_api.create_endpoint(
                self.endpoint_id,
                self.endpoint.copy())

        self.empty_context = {'environment': {}}
示例#32
0
 def test_cache_region_no_error_multiple_config(self):
     # Verify configuring the CacheRegion again doesn't error.
     cache.configure_cache_region(self.region)
     cache.configure_cache_region(self.region)
示例#33
0
 def test_cache_region_no_error_multiple_config(self):
     # Verify configuring the CacheRegion again doesn't error.
     cache.configure_cache_region(self.region)
     cache.configure_cache_region(self.region)
示例#34
0
 def setUp(self):
     super(CacheNoopBackendTest, self).setUp()
     self.region = cache.make_region()
     self.opt_in_group('cache', backend='keystone.common.cache.noop')
     cache.configure_cache_region(self.region)
示例#35
0
 def setUp(self):
     super(CacheRegionTest, self).setUp()
     self.region = cache.make_region()
     cache.configure_cache_region(self.region)
     self.region.wrap(TestProxy)
     self.test_value = TestProxyValue('Decorator Test')
示例#36
0
 def setUp(self):
     super(CacheRegionTest, self).setUp()
     self.region = cache.make_region()
     cache.configure_cache_region(self.region)
     self.region.wrap(TestProxy)
     self.test_value = TestProxyValue('Decorator Test')
示例#37
0
 def setUp(self):
     super(CacheNoopBackendTest, self).setUp()
     self.region = cache.make_region()
     cache.configure_cache_region(self.region)
示例#38
0
    def setUp(self, load_sample_data=True, app_conf='keystone'):
        """Setup for v3 Restful Test Cases.

        If a child class wants to create their own sample data
        and provide their own auth data to obtain tokens, then
        load_sample_data should be set to false.

        """
        super(RestfulTestCase, self).setUp()
        self.config(self.config_files())

        self.setup_database()

        new_paste_file = self.generate_paste_config()
        if new_paste_file:
            app_conf = 'config:%s' % (new_paste_file)

        # ensure the cache region instance is setup
        cache.configure_cache_region(cache.REGION)

        self.load_backends()

        self.public_app = webtest.TestApp(self.loadapp(app_conf, name='main'))
        self.admin_app = webtest.TestApp(self.loadapp(app_conf, name='admin'))

        if load_sample_data:
            self.domain_id = uuid.uuid4().hex
            self.domain = self.new_domain_ref()
            self.domain['id'] = self.domain_id
            self.assignment_api.create_domain(self.domain_id, self.domain)

            self.project_id = uuid.uuid4().hex
            self.project = self.new_project_ref(domain_id=self.domain_id)
            self.project['id'] = self.project_id
            self.assignment_api.create_project(self.project_id, self.project)

            self.user_id = uuid.uuid4().hex
            self.user = self.new_user_ref(domain_id=self.domain_id)
            self.user['id'] = self.user_id
            self.identity_api.create_user(self.user_id, self.user)

            self.default_domain_project_id = uuid.uuid4().hex
            self.default_domain_project = self.new_project_ref(
                domain_id=DEFAULT_DOMAIN_ID)
            self.default_domain_project['id'] = self.default_domain_project_id
            self.assignment_api.create_project(self.default_domain_project_id,
                                               self.default_domain_project)

            self.default_domain_user_id = uuid.uuid4().hex
            self.default_domain_user = self.new_user_ref(
                domain_id=DEFAULT_DOMAIN_ID)
            self.default_domain_user['id'] = self.default_domain_user_id
            self.identity_api.create_user(self.default_domain_user_id,
                                          self.default_domain_user)

            # create & grant policy.json's default role for admin_required
            self.role_id = uuid.uuid4().hex
            self.role = self.new_role_ref()
            self.role['id'] = self.role_id
            self.role['name'] = 'admin'
            self.assignment_api.create_role(self.role_id, self.role)
            self.assignment_api.add_role_to_user_and_project(
                self.user_id, self.project_id, self.role_id)
            self.assignment_api.add_role_to_user_and_project(
                self.default_domain_user_id, self.default_domain_project_id,
                self.role_id)
            self.assignment_api.add_role_to_user_and_project(
                self.default_domain_user_id, self.project_id, self.role_id)

            self.service_id = uuid.uuid4().hex
            self.service = self.new_service_ref()
            self.service['id'] = self.service_id
            self.catalog_api.create_service(self.service_id,
                                            self.service.copy())

            self.endpoint_id = uuid.uuid4().hex
            self.endpoint = self.new_endpoint_ref(service_id=self.service_id)
            self.endpoint['id'] = self.endpoint_id
            self.catalog_api.create_endpoint(self.endpoint_id,
                                             self.endpoint.copy())

        self.public_server = self.serveapp(app_conf, name='main')
        self.admin_server = self.serveapp(app_conf, name='admin')