b2aa78b558
Implements blueprint cfg-global-object Change-Id: Ic53b41dafa8666ce21f33697f7e8697f1e5cb0fd
72 lines
2.2 KiB
Python
72 lines
2.2 KiB
Python
# vim: tabstop=4 shiftwidth=4 softtabstop=4
|
|
|
|
# Copyright 2012 OpenStack LLC
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
import subprocess
|
|
|
|
from keystone import config
|
|
from keystone import test
|
|
from keystone.identity.backends import ldap as identity_ldap
|
|
|
|
import default_fixtures
|
|
import test_backend
|
|
|
|
|
|
CONF = config.CONF
|
|
|
|
|
|
def delete_object(name):
|
|
devnull = open('/dev/null', 'w')
|
|
dn = '%s,%s' % (name, CONF.ldap.suffix)
|
|
subprocess.call(['ldapdelete',
|
|
'-x',
|
|
'-D', CONF.ldap.user,
|
|
'-H', CONF.ldap.url,
|
|
'-w', CONF.ldap.password,
|
|
dn],
|
|
stderr=devnull)
|
|
|
|
|
|
def clear_live_database():
|
|
roles = ['keystone_admin']
|
|
groups = ['baz', 'bar', 'tenent4add', 'fake1', 'fake2']
|
|
users = ['foo', 'two', 'fake1', 'fake2', 'no_meta']
|
|
roles = ['keystone_admin', 'useless']
|
|
|
|
for group in groups:
|
|
for role in roles:
|
|
delete_object('cn=%s,cn=%s,ou=Groups' % (role, group))
|
|
delete_object('cn=%s,ou=Groups' % group)
|
|
|
|
for user in users:
|
|
delete_object('cn=%s,ou=Users' % user)
|
|
|
|
for role in roles:
|
|
delete_object('cn=%s,ou=Roles' % role)
|
|
|
|
|
|
class LDAPIdentity(test.TestCase, test_backend.IdentityTests):
|
|
def setUp(self):
|
|
super(LDAPIdentity, self).setUp()
|
|
self.config([test.etcdir('keystone.conf.sample'),
|
|
test.testsdir('test_overrides.conf'),
|
|
test.testsdir('backend_liveldap.conf')])
|
|
clear_live_database()
|
|
self.identity_api = identity_ldap.Identity()
|
|
self.load_fixtures(default_fixtures)
|
|
|
|
def tearDown(self):
|
|
test.TestCase.tearDown(self)
|