test_memory_cache.py revision 137d5dd0dba48f647e5f8b3976ddb78d65dc77a5
d756ebcfa96bd7cff02097c8f26df9df368b81b1Timo Sirainen# LDAP integration test
d756ebcfa96bd7cff02097c8f26df9df368b81b1Timo Sirainen# Copyright (c) 2015 Red Hat, Inc.
d756ebcfa96bd7cff02097c8f26df9df368b81b1Timo Sirainen# Author: Lukas Slebodnik <lslebodn@redhat.com>
d756ebcfa96bd7cff02097c8f26df9df368b81b1Timo Sirainen# This is free software; you can redistribute it and/or modify it
c4267cf4c40fb1f866b5958ff122ef836b8c5dfbTimo Sirainen# under the terms of the GNU General Public License as published by
d756ebcfa96bd7cff02097c8f26df9df368b81b1Timo Sirainen# the Free Software Foundation; version 2 only
c4267cf4c40fb1f866b5958ff122ef836b8c5dfbTimo Sirainen# This program is distributed in the hope that it will be useful, but
c4267cf4c40fb1f866b5958ff122ef836b8c5dfbTimo Sirainen# WITHOUT ANY WARRANTY; without even the implied warranty of
c4267cf4c40fb1f866b5958ff122ef836b8c5dfbTimo Sirainen# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
c4267cf4c40fb1f866b5958ff122ef836b8c5dfbTimo Sirainen# General Public License for more details.
c4267cf4c40fb1f866b5958ff122ef836b8c5dfbTimo Sirainen# You should have received a copy of the GNU General Public License
c4267cf4c40fb1f866b5958ff122ef836b8c5dfbTimo Sirainen# along with this program. If not, see <http://www.gnu.org/licenses/>.
c4267cf4c40fb1f866b5958ff122ef836b8c5dfbTimo Sirainen """LDAP server instance fixture"""
fdc557286bc9f92c5f3bb49096ff6e2bcec0ea79Timo Sirainen request.addfinalizer(lambda: ds_inst.teardown())
88187ee880b4829443e0d55ea7d145d9d5880217Timo Sirainen """LDAP server connection fixture"""
c4267cf4c40fb1f866b5958ff122ef836b8c5dfbTimo Sirainen request.addfinalizer(lambda: ldap_conn.unbind_s())
d756ebcfa96bd7cff02097c8f26df9df368b81b1Timo Sirainendef create_ldap_fixture(request, ldap_conn, ent_list):
ccb77e2f63626ec46e5745ef4f38baa8e8e504fcTimo Sirainen """Add LDAP entries and add teardown for removing them"""
c4267cf4c40fb1f866b5958ff122ef836b8c5dfbTimo Sirainen """Generate sssd.conf and add teardown for removing it"""
c4267cf4c40fb1f866b5958ff122ef836b8c5dfbTimo Sirainen os.chmod(config.CONF_PATH, stat.S_IRUSR | stat.S_IWUSR)
bd74402ca1a39ec303075fefb1212d7e18a71531Timo Sirainen request.addfinalizer(lambda: os.unlink(config.CONF_PATH))
ef11d3930c3602fc86349a4e3a53442df470b601Timo Sirainen """Start sssd and add teardown for stopping it and removing state"""
ef11d3930c3602fc86349a4e3a53442df470b601Timo Sirainen if subprocess.call(["sssd", "-D", "-f"]) != 0:
a54be2bd26d6f0860d194d3aeedfa6b7fc14d24cTimo Sirainen ent_list.add_group("group1", 2001, ["user1", "user11", "user21"])
a54be2bd26d6f0860d194d3aeedfa6b7fc14d24cTimo Sirainen ent_list.add_group("group2", 2002, ["user2", "user12", "user22"])
a54be2bd26d6f0860d194d3aeedfa6b7fc14d24cTimo Sirainen ent_list.add_group("group3", 2003, ["user3", "user13", "user23"])
10cfe8a2bdc5ccfc05380689c71c27209327538fTimo Sirainen ent_list.add_group("group0x", 2000, ["user1", "user2", "user3"])
a54be2bd26d6f0860d194d3aeedfa6b7fc14d24cTimo Sirainen ent_list.add_group("group1x", 2010, ["user11", "user12", "user13"])
10cfe8a2bdc5ccfc05380689c71c27209327538fTimo Sirainen ent_list.add_group("group2x", 2020, ["user21", "user22", "user23"])
a54be2bd26d6f0860d194d3aeedfa6b7fc14d24cTimo Sirainen create_ldap_fixture(request, ldap_conn, ent_list)
88286b0527bcc0711e312e9db65ca121a45213e3Timo Sirainen config_file_version = 2
c4267cf4c40fb1f866b5958ff122ef836b8c5dfbTimo Sirainen domains = LDAP
88286b0527bcc0711e312e9db65ca121a45213e3Timo Sirainen services = nss
fdc557286bc9f92c5f3bb49096ff6e2bcec0ea79Timo Sirainen ldap_auth_disable_tls_never_use_in_production = true
d756ebcfa96bd7cff02097c8f26df9df368b81b1Timo Sirainen ldap_schema = rfc2307
d756ebcfa96bd7cff02097c8f26df9df368b81b1Timo Sirainen id_provider = ldap
39e6fcc3e8b1ccb13087c232cb6bdea04d1a20a4Timo Sirainen auth_provider = ldap
39e6fcc3e8b1ccb13087c232cb6bdea04d1a20a4Timo Sirainen sudo_provider = ldap
39e6fcc3e8b1ccb13087c232cb6bdea04d1a20a4Timo Sirainen ldap_uri = {ldap_conn.ds_inst.ldap_url}
39e6fcc3e8b1ccb13087c232cb6bdea04d1a20a4Timo Sirainen ldap_search_base = {ldap_conn.ds_inst.base_dn}
c4267cf4c40fb1f866b5958ff122ef836b8c5dfbTimo Sirainen config_file_version = 2
88286b0527bcc0711e312e9db65ca121a45213e3Timo Sirainen domains = LDAP
88286b0527bcc0711e312e9db65ca121a45213e3Timo Sirainen services = nss
d756ebcfa96bd7cff02097c8f26df9df368b81b1Timo Sirainen ldap_auth_disable_tls_never_use_in_production = true
d42c9a8f362b76740418c4f9f9441eb7fc661e57Timo Sirainen ldap_schema = rfc2307
d42c9a8f362b76740418c4f9f9441eb7fc661e57Timo Sirainen id_provider = ldap
d42c9a8f362b76740418c4f9f9441eb7fc661e57Timo Sirainen auth_provider = ldap
d42c9a8f362b76740418c4f9f9441eb7fc661e57Timo Sirainen sudo_provider = ldap
d42c9a8f362b76740418c4f9f9441eb7fc661e57Timo Sirainen ldap_uri = {ldap_conn.ds_inst.ldap_url}
d42c9a8f362b76740418c4f9f9441eb7fc661e57Timo Sirainen ldap_search_base = {ldap_conn.ds_inst.base_dn}
d42c9a8f362b76740418c4f9f9441eb7fc661e57Timo Sirainen use_fully_qualified_names = true
88286b0527bcc0711e312e9db65ca121a45213e3Timo Sirainendef fqname_case_insensitive_rfc2307(request, ldap_conn):
c4267cf4c40fb1f866b5958ff122ef836b8c5dfbTimo Sirainen config_file_version = 2
d756ebcfa96bd7cff02097c8f26df9df368b81b1Timo Sirainen domains = LDAP
c4267cf4c40fb1f866b5958ff122ef836b8c5dfbTimo Sirainen services = nss
c4267cf4c40fb1f866b5958ff122ef836b8c5dfbTimo Sirainen ldap_auth_disable_tls_never_use_in_production = true
c979eeda1f46483d9c963e265786b701d7683d77Timo Sirainen ldap_schema = rfc2307
c4267cf4c40fb1f866b5958ff122ef836b8c5dfbTimo Sirainen id_provider = ldap
5fb3bff645380804c9db2510940c41db6b8fdb01Timo Sirainen auth_provider = ldap
c4267cf4c40fb1f866b5958ff122ef836b8c5dfbTimo Sirainen sudo_provider = ldap
d756ebcfa96bd7cff02097c8f26df9df368b81b1Timo Sirainen ldap_uri = {ldap_conn.ds_inst.ldap_url}
6ef7e31619edfaa17ed044b45861d106a86191efTimo Sirainen ldap_search_base = {ldap_conn.ds_inst.base_dn}
c4267cf4c40fb1f866b5958ff122ef836b8c5dfbTimo Sirainen use_fully_qualified_names = true
e60a349c641bb2f4723e4a395a25f55531682d2bTimo Sirainen case_sensitive = false
88286b0527bcc0711e312e9db65ca121a45213e3Timo Sirainen dict(name='user1', passwd='*', uid=1001, gid=2001,
c4267cf4c40fb1f866b5958ff122ef836b8c5dfbTimo Sirainen dict(name='user1', passwd='*', uid=1001, gid=2001,
42507d758b053bb483de58fba55c73a9eb5d3fbaTimo Sirainen dict(name='user2', passwd='*', uid=1002, gid=2002,
c4267cf4c40fb1f866b5958ff122ef836b8c5dfbTimo Sirainen dict(name='user2', passwd='*', uid=1002, gid=2002,
42507d758b053bb483de58fba55c73a9eb5d3fbaTimo Sirainen dict(name='user3', passwd='*', uid=1003, gid=2003,
c4267cf4c40fb1f866b5958ff122ef836b8c5dfbTimo Sirainen dict(name='user3', passwd='*', uid=1003, gid=2003,
d756ebcfa96bd7cff02097c8f26df9df368b81b1Timo Sirainen dict(name='user11', passwd='*', uid=1011, gid=2001,
150e64c376365becf1ec5c9d45912ecb840eea96Timo Sirainen dict(name='user11', passwd='*', uid=1011, gid=2001,
294f1a51763015cda0e2d874c5027d6fe7a2cd54Timo Sirainen dict(name='user12', passwd='*', uid=1012, gid=2002,
39e6fcc3e8b1ccb13087c232cb6bdea04d1a20a4Timo Sirainen dict(name='user12', passwd='*', uid=1012, gid=2002,
42507d758b053bb483de58fba55c73a9eb5d3fbaTimo Sirainen dict(name='user13', passwd='*', uid=1013, gid=2003,
edf8c2b4ef6be8af262bc09aac751eae669670caTimo Sirainen dict(name='user13', passwd='*', uid=1013, gid=2003,
def assert_mc_records_for_user1():