def test_modrdn(self, conf): conf.require(ad_admin=True) domain = conf.domain() creds = Creds(domain) creds.acquire(conf.ad_admin_account(), conf.ad_admin_password()) activate(creds) client = Client(domain) result = client.search('(&(objectClass=user)(sAMAccountName=test-usr))') if result: client.delete(result[0][0]) user = utils.create_user(client, 'test-usr') client.modrdn(user, 'cn=test-usr2') result = client.search('(&(objectClass=user)(cn=test-usr2))') assert len(result) == 1
def test_modrdn(self): self.require(ad_admin=True) domain = self.domain() creds = Creds(domain) creds.acquire(self.ad_admin_account(), self.ad_admin_password()) activate(creds) client = Client(domain) result = client.search( '(&(objectClass=user)(sAMAccountName=test-usr))') if result: client.delete(result[0][0]) user = self._create_user(client, 'test-usr') client.modrdn(user, 'cn=test-usr2') result = client.search('(&(objectClass=user)(cn=test-usr2))') assert len(result) == 1
def test_search(self): self.require(ad_user=True) domain = self.domain() creds = Creds(domain) creds.acquire(self.ad_user_account(), self.ad_user_password()) activate(creds) client = Client(domain) result = client.search('(objectClass=user)') assert len(result) > 1
def test_search_configuration(self, conf): conf.require(ad_user=True) domain = conf.domain() creds = Creds(domain) creds.acquire(conf.ad_user_account(), conf.ad_user_password()) activate(creds) client = Client(domain) base = client.configuration_base() result = client.search('(objectClass=*)', base=base, scope='base') assert len(result) == 1
def test_search(self, conf): pytest.skip('test disabled: hanging') conf.require(ad_user=True) domain = conf.domain() creds = Creds(domain) creds.acquire(conf.ad_user_account(), conf.ad_user_password()) activate(creds) client = Client(domain) result = client.search('(objectClass=user)') assert len(result) > 1
def test_search_configuration(self): self.require(ad_user=True) domain = self.domain() creds = Creds(domain) creds.acquire(self.ad_user_account(), self.ad_user_password()) activate(creds) client = Client(domain) base = client.configuration_base() result = client.search('(objectClass=*)', base=base, scope='base') assert len(result) == 1
def test_search_schema(self): self.require(ad_user=True) domain = self.domain() creds = Creds(domain) creds.acquire(self.ad_user_account(), self.ad_user_password()) activate(creds) client = Client(domain) base = client.schema_base() result = client.search('(objectClass=*)', base=base, scope='base') assert len(result) == 1
def test_search_schema(self, conf): conf.require(ad_user=True) domain = conf.domain() creds = Creds(domain) creds.acquire(conf.ad_user_account(), conf.ad_user_password()) activate(creds) client = Client(domain) base = client.schema_base() result = client.search('(objectClass=*)', base=base, scope='base') assert len(result) == 1
def test_search_server(self, conf): conf.require(ad_user=True) domain = conf.domain() creds = Creds(domain) creds.acquire(conf.ad_user_account(), conf.ad_user_password()) activate(creds) locator = Locator() server = locator.locate(domain) client = Client(domain) result = client.search('(objectClass=user)', server=server) assert len(result) > 1
def test_search_all_domains(self): self.require(ad_user=True) domain = self.domain() creds = Creds(domain) creds.acquire(self.ad_user_account(), self.ad_user_password()) activate(creds) client = Client(domain) domains = client.domains() for domain in domains: base = client.dn_from_domain_name(domain) result = client.search('(objectClass=*)', base=base, scope='base') assert len(result) == 1
def test_search_all_domains(self, conf): conf.require(ad_user=True) domain = conf.domain() creds = Creds(domain) creds.acquire(conf.ad_user_account(), conf.ad_user_password()) activate(creds) client = Client(domain) domains = client.domains() for domain in domains: base = client.dn_from_domain_name(domain) result = client.search('(objectClass=*)', base=base, scope='base') assert len(result) == 1
def test_rename(self, conf): conf.require(ad_admin=True) domain = conf.domain() creds = Creds(domain) creds.acquire(conf.ad_admin_account(), conf.ad_admin_password()) activate(creds) client = Client(domain) result = client.search('(&(objectClass=user)(sAMAccountName=test-usr))') if result: client.delete(result[0][0]) user = utils.create_user(client, 'test-usr') client.rename(user, 'cn=test-usr2') result = client.search('(&(objectClass=user)(cn=test-usr2))') assert len(result) == 1 user = result[0][0] ou = utils.create_ou(client, 'test-ou') client.rename(user, 'cn=test-usr', ou) newdn = 'cn=test-usr,%s' % ou result = client.search('(&(objectClass=user)(cn=test-usr))') assert len(result) == 1 assert result[0][0].lower() == newdn.lower()
def test_rename(self): self.require(ad_admin=True) domain = self.domain() creds = Creds(domain) creds.acquire(self.ad_admin_account(), self.ad_admin_password()) activate(creds) client = Client(domain) result = client.search( '(&(objectClass=user)(sAMAccountName=test-usr))') if result: client.delete(result[0][0]) user = self._create_user(client, 'test-usr') client.rename(user, 'cn=test-usr2') result = client.search('(&(objectClass=user)(cn=test-usr2))') assert len(result) == 1 user = result[0][0] ou = self._create_ou(client, 'test-ou') client.rename(user, 'cn=test-usr', ou) newdn = 'cn=test-usr,%s' % ou result = client.search('(&(objectClass=user)(cn=test-usr))') assert len(result) == 1 assert result[0][0].lower() == newdn.lower()
def test_search_gc(self, conf): conf.require(ad_user=True) domain = conf.domain() creds = Creds(domain) creds.acquire(conf.ad_user_account(), conf.ad_user_password()) activate(creds) client = Client(domain) result = client.search('(objectClass=user)', scheme='gc') assert len(result) > 1 for res in result: dn, attrs = res # accountExpires is always set, but is not a GC attribute assert 'accountExpires' not in attrs
def test_search_gc(self): self.require(ad_user=True) domain = self.domain() creds = Creds(domain) creds.acquire(self.ad_user_account(), self.ad_user_password()) activate(creds) client = Client(domain) result = client.search('(objectClass=user)', scheme='gc') assert len(result) > 1 for res in result: dn, attrs = res # accountExpires is always set, but is not a GC attribute assert 'accountExpires' not in attrs
def test_search_rootdse(self): self.require(ad_user=True) domain = self.domain() creds = Creds(domain) creds.acquire(self.ad_user_account(), self.ad_user_password()) activate(creds) locator = Locator() server = locator.locate(domain) client = Client(domain) result = client.search(base='', scope='base', server=server) assert len(result) == 1 dns, attrs = result[0] assert attrs.has_key('supportedControl') assert attrs.has_key('supportedSASLMechanisms')
def test_search_rootdse(self, conf): conf.require(ad_user=True) domain = conf.domain() creds = Creds(domain) creds.acquire(conf.ad_user_account(), conf.ad_user_password()) activate(creds) locator = Locator() server = locator.locate(domain) client = Client(domain) result = client.search(base='', scope='base', server=server) assert len(result) == 1 dns, attrs = result[0] assert 'supportedControl' in attrs assert 'supportedSASLMechanisms' in attrs
def test_paged_results(self): self.require(ad_admin=True, expensive=True) domain = self.domain() creds = Creds(domain) creds.acquire(self.ad_admin_account(), self.ad_admin_password()) activate(creds) client = Client(domain) users = [] for i in range(2000): user = self._create_user(client, 'test-usr-%04d' % i) users.append(user) result = client.search('(cn=test-usr-*)') assert len(result) == 2000 for user in users: self._delete_obj(client, user)
def test_paged_results(self, conf): conf.require(ad_admin=True, expensive=True) domain = conf.domain() creds = Creds(domain) creds.acquire(conf.ad_admin_account(), conf.ad_admin_password()) activate(creds) client = Client(domain) users = [] for i in range(2000): user = utils.create_user(client, 'test-usr-%04d' % i) users.append(user) result = client.search('(cn=test-usr-*)') assert len(result) == 2000 for user in users: delete_obj(client, user)
def test_incremental_retrieval_of_multivalued_attributes(self): self.require(ad_admin=True, expensive=True) domain = self.domain() creds = Creds(domain) creds.acquire(self.ad_admin_account(), self.ad_admin_password()) activate(creds) client = Client(domain) user = self._create_user(client, 'test-usr') groups = [] for i in range(2000): group = self._create_group(client, 'test-grp-%04d' % i) self._add_user_to_group(client, user, group) groups.append(group) result = client.search('(sAMAccountName=test-usr)') assert len(result) == 1 dn, attrs = result[0] assert attrs.has_key('memberOf') assert len(attrs['memberOf']) == 2000 self._delete_obj(client, user) for group in groups: self._delete_group(client, group)
def test_incremental_retrieval_of_multivalued_attributes(self, conf): conf.require(ad_admin=True, expensive=True) domain = conf.domain() creds = Creds(domain) creds.acquire(conf.ad_admin_account(), conf.ad_admin_password()) activate(creds) client = Client(domain) user = utils.create_user(client, 'test-usr') groups = [] for i in range(2000): group = utils.create_group(client, 'test-grp-%04d' % i) utils.add_user_to_group(client, user, group) groups.append(group) result = client.search('(sAMAccountName=test-usr)') assert len(result) == 1 dn, attrs = result[0] assert 'memberOf' in attrs assert len(attrs['memberOf']) == 2000 delete_obj(client, user) for group in groups: utils.delete_group(client, group)