def test_this(self):
     ldap_server = ldap.initialize("ldap://localhost:3897")
     ldap_server.simple_bind_s("uid=aa729,ou=people,dc=example,dc=org",
                               "smada")
     sio = StringIO()
     dump_tree_sorted(ldap_server,
                      "dc=example,dc=org",
                      sio)
     with open(os.path.join(DIRNAME,
                            "tfiles",
                            "sorted_testing.ldif")) as exp_f:
         eq_(exp_f.read().strip(), sio.getvalue().strip())
示例#2
0
def _sync_db_to_ldap(organization_id, db_server, ldap_server, dry_run):
    base_domain = organization_dn(organization_id, db_server)
    if not base_domain:
        raise Exception("Couldn't get a base dn for org %s, refusing to continue"
                        % organization_id)
    new_ldif = StringIO()
    mysql2ldif(organization_id, db_server, new_ldif)

    new_ldif.seek(0)

    cur_ldif = StringIO()
    dump_tree_sorted(ldap_server, base_domain, cur_ldif)
    cur_ldif.seek(0)

    if not dry_run:
        ldiff_and_apply(cur_ldif, new_ldif, ldap_server)
    else:
        ldiff_to_ldif(cur_ldif, new_ldif, dry_run)