mirror of
https://github.com/samba-team/samba.git
synced 2025-02-26 21:57:41 +03:00
s4-selftest/drs Allow some DRS tests to operate against an IP
This is not comprehensive, but makes some manual test runs easier by avoiding the need for DNS names to resolve. BUG: https://bugzilla.samba.org/show_bug.cgi?id=10635 Signed-off-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org> (cherry picked from commit a150a2dcb1fc7fc7f606838de17ad4d3e6072bda)
This commit is contained in:
parent
a81be07598
commit
2cb965046b
@ -492,8 +492,11 @@ class DrsBaseTestCase(SambaToolCmdTest):
|
||||
|
||||
return req10
|
||||
|
||||
def _ds_bind(self, server_name, creds=None):
|
||||
binding_str = "ncacn_ip_tcp:%s[seal]" % server_name
|
||||
def _ds_bind(self, server_name, creds=None, ip=None):
|
||||
if ip is None:
|
||||
binding_str = f"ncacn_ip_tcp:{server_name}[seal]"
|
||||
else:
|
||||
binding_str = f"ncacn_ip_tcp:{ip}[seal,target_hostname={server_name}]"
|
||||
|
||||
if creds is None:
|
||||
creds = self.get_credentials()
|
||||
|
@ -85,7 +85,7 @@ class DrsReplicaSyncTestCase(drs_base.DrsBaseTestCase):
|
||||
self.ldb_dc1.add({
|
||||
"dn": self.ou,
|
||||
"objectclass": "organizationalUnit"})
|
||||
(self.drs, self.drs_handle) = self._ds_bind(self.dnsname_dc1)
|
||||
(self.drs, self.drs_handle) = self._ds_bind(self.dnsname_dc1, ip=self.url_dc1)
|
||||
(self.default_hwm, self.default_utdv) = self._get_highest_hwm_utdv(self.ldb_dc1)
|
||||
|
||||
def tearDown(self):
|
||||
@ -251,7 +251,7 @@ class DrsReplicaSyncTestCase(drs_base.DrsBaseTestCase):
|
||||
nc_guid=misc.GUID("c2d2f745-1610-4e93-964b-d4ba73eb32f8"),
|
||||
exop=drsuapi.DRSUAPI_EXOP_NONE)
|
||||
|
||||
(drs, drs_handle) = self._ds_bind(fsmo_owner["dns_name"])
|
||||
(drs, drs_handle) = self._ds_bind(self.dnsname_dc1, ip=self.url_dc1)
|
||||
try:
|
||||
(level, ctr) = drs.DsGetNCChanges(drs_handle, 8, req8)
|
||||
except WERRORError as e1:
|
||||
@ -269,7 +269,7 @@ class DrsReplicaSyncTestCase(drs_base.DrsBaseTestCase):
|
||||
nc_guid=misc.GUID("c2d2f745-1610-4e93-964b-d4ba73eb32f8"),
|
||||
exop=drsuapi.DRSUAPI_EXOP_REPL_OBJ)
|
||||
|
||||
(drs, drs_handle) = self._ds_bind(fsmo_owner["dns_name"])
|
||||
(drs, drs_handle) = self._ds_bind(self.dnsname_dc1, ip=self.url_dc1)
|
||||
try:
|
||||
(level, ctr) = drs.DsGetNCChanges(drs_handle, 8, req8)
|
||||
except WERRORError as e1:
|
||||
@ -702,7 +702,7 @@ class DrsReplicaPrefixMapTestCase(drs_base.DrsBaseTestCase):
|
||||
|
||||
dc_guid_1 = self.ldb_dc1.get_invocation_id()
|
||||
|
||||
drs, drs_handle = self._ds_bind(self.dnsname_dc1)
|
||||
drs, drs_handle = self._ds_bind(self.dnsname_dc1, ip=self.url_dc1)
|
||||
|
||||
req8 = self._exop_req8(dest_dsa=None,
|
||||
invocation_id=dc_guid_1,
|
||||
@ -721,7 +721,7 @@ class DrsReplicaPrefixMapTestCase(drs_base.DrsBaseTestCase):
|
||||
partial_attribute_set = self.get_partial_attribute_set([99999])
|
||||
|
||||
dc_guid_1 = self.ldb_dc1.get_invocation_id()
|
||||
drs, drs_handle = self._ds_bind(self.dnsname_dc1)
|
||||
drs, drs_handle = self._ds_bind(self.dnsname_dc1, ip=self.url_dc1)
|
||||
|
||||
try:
|
||||
pfm = self._samdb_fetch_pfm_and_schi()
|
||||
@ -754,7 +754,7 @@ class DrsReplicaPrefixMapTestCase(drs_base.DrsBaseTestCase):
|
||||
partial_attribute_set = self.get_partial_attribute_set([drsuapi.DRSUAPI_ATTID_unicodePwd])
|
||||
|
||||
dc_guid_1 = self.ldb_dc1.get_invocation_id()
|
||||
drs, drs_handle = self._ds_bind(self.dnsname_dc1)
|
||||
drs, drs_handle = self._ds_bind(self.dnsname_dc1, ip=self.url_dc1)
|
||||
|
||||
try:
|
||||
pfm = self._samdb_fetch_pfm_and_schi()
|
||||
@ -828,7 +828,7 @@ class DrsReplicaPrefixMapTestCase(drs_base.DrsBaseTestCase):
|
||||
partial_attribute_set = self.get_partial_attribute_set([drsuapi.DRSUAPI_ATTID_name])
|
||||
|
||||
dc_guid_1 = self.ldb_dc1.get_invocation_id()
|
||||
drs, drs_handle = self._ds_bind(self.dnsname_dc1)
|
||||
drs, drs_handle = self._ds_bind(self.dnsname_dc1, ip=self.url_dc1)
|
||||
|
||||
try:
|
||||
pfm = self._samdb_fetch_pfm_and_schi()
|
||||
@ -901,7 +901,7 @@ class DrsReplicaPrefixMapTestCase(drs_base.DrsBaseTestCase):
|
||||
partial_attribute_set_ex = self.get_partial_attribute_set([drsuapi.DRSUAPI_ATTID_unicodePwd])
|
||||
|
||||
dc_guid_1 = self.ldb_dc1.get_invocation_id()
|
||||
drs, drs_handle = self._ds_bind(self.dnsname_dc1)
|
||||
drs, drs_handle = self._ds_bind(self.dnsname_dc1, ip=self.url_dc1)
|
||||
|
||||
try:
|
||||
pfm = self._samdb_fetch_pfm_and_schi()
|
||||
@ -1117,7 +1117,7 @@ class DrsReplicaSyncSortTestCase(drs_base.DrsBaseTestCase):
|
||||
|
||||
dc_guid_1 = self.ldb_dc1.get_invocation_id()
|
||||
|
||||
drs, drs_handle = self._ds_bind(self.dnsname_dc1)
|
||||
drs, drs_handle = self._ds_bind(self.dnsname_dc1, ip=self.url_dc1)
|
||||
|
||||
req8 = self._exop_req8(dest_dsa=None,
|
||||
invocation_id=dc_guid_1,
|
||||
@ -1177,7 +1177,7 @@ class DrsReplicaSyncSortTestCase(drs_base.DrsBaseTestCase):
|
||||
|
||||
dc_guid_1 = self.ldb_dc1.get_invocation_id()
|
||||
|
||||
drs, drs_handle = self._ds_bind(self.dnsname_dc1)
|
||||
drs, drs_handle = self._ds_bind(self.dnsname_dc1, ip=self.url_dc1)
|
||||
|
||||
# Make sure the max objects count is high enough
|
||||
req8 = self._exop_req8(dest_dsa=None,
|
||||
|
@ -48,13 +48,6 @@ from samba.dcerpc.drsuapi import *
|
||||
|
||||
class DrsMoveObjectTestCase(drs_base.DrsBaseTestCase):
|
||||
|
||||
def _ds_bind(self, server_name):
|
||||
binding_str = "ncacn_ip_tcp:%s[print,seal]" % server_name
|
||||
|
||||
drs = drsuapi(binding_str, self.get_loadparm(), self.get_credentials())
|
||||
(drs_handle, supported_extensions) = drs_DsBind(drs)
|
||||
return (drs, drs_handle)
|
||||
|
||||
def setUp(self):
|
||||
super(DrsMoveObjectTestCase, self).setUp()
|
||||
# disable automatic replication temporary
|
||||
@ -89,8 +82,8 @@ class DrsMoveObjectTestCase(drs_base.DrsBaseTestCase):
|
||||
self.dc1_guid = self.ldb_dc1.get_invocation_id()
|
||||
self.dc2_guid = self.ldb_dc2.get_invocation_id()
|
||||
|
||||
self.drs_dc1 = self._ds_bind(self.dnsname_dc1)
|
||||
self.drs_dc2 = self._ds_bind(self.dnsname_dc2)
|
||||
self.drs_dc1 = self._ds_bind(self.dnsname_dc1, ip=self.url_dc1)
|
||||
self.drs_dc2 = self._ds_bind(self.dnsname_dc2, ip=self.url_dc2)
|
||||
|
||||
def tearDown(self):
|
||||
try:
|
||||
|
@ -52,13 +52,6 @@ class DrsReplSchemaTestCase(drs_base.DrsBaseTestCase):
|
||||
# current Class or Attribute object id
|
||||
obj_id = 0
|
||||
|
||||
def _ds_bind(self, server_name):
|
||||
binding_str = "ncacn_ip_tcp:%s[seal]" % server_name
|
||||
|
||||
drs = drsuapi.drsuapi(binding_str, self.get_loadparm(), self.get_credentials())
|
||||
(drs_handle, supported_extensions) = drs_DsBind(drs)
|
||||
return (drs, drs_handle)
|
||||
|
||||
def _exop_req8(self, dest_dsa, invocation_id, nc_dn_str, exop,
|
||||
replica_flags=0, max_objects=0):
|
||||
req8 = drsuapi.DsGetNCChangesRequest8()
|
||||
@ -281,7 +274,7 @@ class DrsReplSchemaTestCase(drs_base.DrsBaseTestCase):
|
||||
|
||||
dc_guid_1 = self.ldb_dc1.get_invocation_id()
|
||||
|
||||
drs, drs_handle = self._ds_bind(self.dnsname_dc1)
|
||||
drs, drs_handle = self._ds_bind(self.dnsname_dc1, ip=self.url_dc1)
|
||||
|
||||
req8 = self._exop_req8(dest_dsa=None,
|
||||
invocation_id=dc_guid_1,
|
||||
|
Loading…
x
Reference in New Issue
Block a user