summaryrefslogtreecommitdiff
path: root/source4/torture
diff options
context:
space:
mode:
authorKarolin Seeger <kseeger@samba.org>2018-08-14 12:18:19 +0200
committerKarolin Seeger <kseeger@samba.org>2018-08-14 12:18:19 +0200
commit764141d4f4d1d253f6cbabf60e32a9e98d7a0f45 (patch)
tree9959772dc47ffb20cfbc977bcc785516036bd2b1 /source4/torture
parenta431bdf08fdad479471bbb2ab0cf86c595260d23 (diff)
parent3e5da7e8878a78da96fbdccd05953c791560a6b5 (diff)
downloadsamba-764141d4f4d1d253f6cbabf60e32a9e98d7a0f45.tar.gz
Merge tag 'samba-4.7.9' into v4-7-test
samba: tag release samba-4.7.9
Diffstat (limited to 'source4/torture')
-rw-r--r--source4/torture/drs/python/cracknames.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/source4/torture/drs/python/cracknames.py b/source4/torture/drs/python/cracknames.py
index d8c8ae53d60..9bf90f9c997 100644
--- a/source4/torture/drs/python/cracknames.py
+++ b/source4/torture/drs/python/cracknames.py
@@ -149,6 +149,44 @@ class DrsCracknamesTestCase(drs_base.DrsBaseTestCase):
self.ldb_dc1.delete(user)
+ def test_NoSPNAttribute(self):
+ """
+ Verifies that, if we try and cracknames with the desired output
+ being an SPN, it returns
+ DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE.
+ """
+ username = "Cracknames_no_SPN"
+ user = "cn=%s,%s" % (username, self.ou)
+
+ user_record = {
+ "dn": user,
+ "objectclass": "user",
+ "sAMAccountName" : username,
+ "userPrincipalName" : "test4@test.com",
+ "displayName" : "test4"}
+
+ self.ldb_dc1.add(user_record)
+
+ (result, ctr) = self._do_cracknames(user,
+ drsuapi.DRSUAPI_DS_NAME_FORMAT_FQDN_1779,
+ drsuapi.DRSUAPI_DS_NAME_FORMAT_GUID)
+
+ self.assertEquals(ctr.count, 1)
+ self.assertEquals(ctr.array[0].status,
+ drsuapi.DRSUAPI_DS_NAME_STATUS_OK)
+
+ user_guid = ctr.array[0].result_name
+
+ (result, ctr) = self._do_cracknames(user_guid,
+ drsuapi.DRSUAPI_DS_NAME_FORMAT_GUID,
+ drsuapi.DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL)
+
+ self.assertEquals(ctr.count, 1)
+ self.assertEquals(ctr.array[0].status,
+ drsuapi.DRSUAPI_DS_NAME_STATUS_NOT_FOUND)
+
+ self.ldb_dc1.delete(user)
+
def _do_cracknames(self, name, format_offered, format_desired):
req = drsuapi.DsNameRequest1()
names = drsuapi.DsNameString()