public void DRSR_DRSGetObjectExistence_Access_Denied() { DrsrTestChecker.Check(); uint ret = drsTestClient.DrsBind( EnvironmentConfig.Machine.WritableDC1, EnvironmentConfig.User.ParentDomainUser, DRS_EXTENSIONS_IN_FLAGS.DRS_EXT_BASE); /* comments from TD */ /* * if not AccessCheckCAR(nc, DS-Replication-Get-Changes) then * return ERROR_DS_DRA_ACCESS_DENIED * endif * */ /* comments from likezh */ /* * !AccessCheckCAR(nc, DS-Replication-Get-Changes) */ //throw new NotImplementedException(); /* Create request message */ DRS_MSG_EXISTREQ msgIn = drsTestClient.CreateDrsGetObjectExistenceV1Request(); // NC DsServer srv = (DsServer)EnvironmentConfig.MachineStore[EnvironmentConfig.Machine.WritableDC1]; RootDSE rootDse = LdapUtility.GetRootDSE(srv); DSNAME ncDsname = LdapUtility.CreateDSNameForObject(srv, rootDse.defaultNamingContext); msgIn.V1.pNC = ncDsname; // This API will check the guidStart first to validate the input, so // to go thru that we set the guidStart to any guid. msgIn.V1.guidStart = DRSConstants.DrsRpcInterfaceGuid; uint dwInVersion = 1; uint?dwOutVersion = 0; DRS_MSG_EXISTREPLY?reply; /* Issue the request */ ret = drsTestClient.DRSClient.DrsGetObjectExistence( EnvironmentConfig.DrsContextStore[EnvironmentConfig.Machine.WritableDC1], dwInVersion, msgIn, out dwOutVersion, out reply); BaseTestSite.Assert.AreEqual <uint>( (uint)Win32ErrorCode_32.ERROR_DS_DRA_ACCESS_DENIED, ret, "DrsGetObjectExistence: return code mismatch." ); }
public DRS_MSG_EXISTREQ CreateDrsGetObjectExistenceV1Request() { DRS_MSG_EXISTREQ req = new DRS_MSG_EXISTREQ(); req.V1 = new DRS_MSG_EXISTREQ_V1(); req.V1.guidStart = Guid.Empty; req.V1.pNC = DrsuapiClient.CreateDsName(null, Guid.Empty, null); req.V1.pUpToDateVecCommonV1 = new UPTODATE_VECTOR_V1_EXT[1]; req.V1.pUpToDateVecCommonV1[0].cNumCursors = 1; req.V1.pUpToDateVecCommonV1[0].rgCursors = new UPTODATE_CURSOR_V1[1]; req.V1.Md5Digest = new byte[16]; return(req); }
public void DRSR_DRSGetObjectExistence_No_Master_Replica_Exists() { DrsrTestChecker.Check(); uint ret = drsTestClient.DrsBind( EnvironmentConfig.Machine.WritableDC1, EnvironmentConfig.User.ParentDomainAdmin, DRS_EXTENSIONS_IN_FLAGS.DRS_EXT_BASE); /* comments from TD */ /* * if not MasterReplicaExists(nc) then * return ERROR_DS_DRA_INVALID_PARAMETER * endif * */ /* comments from likezh */ /* * not MasterReplicaExists(nc) */ //throw new NotImplementedException(); /* Create request message */ DRS_MSG_EXISTREQ msgIn = drsTestClient.CreateDrsGetObjectExistenceV1Request(); uint dwInVersion = 1; uint?dwOutVersion = 0; DRS_MSG_EXISTREPLY?reply; /* Issue the request */ ret = drsTestClient.DRSClient.DrsGetObjectExistence( EnvironmentConfig.DrsContextStore[EnvironmentConfig.Machine.WritableDC1], dwInVersion, msgIn, out dwOutVersion, out reply); BaseTestSite.Assert.AreEqual <uint>( (uint)Win32ErrorCode_32.ERROR_DS_DRA_INVALID_PARAMETER, ret, "DrsGetObjectExistence: return code mismatch." ); }
public void DRSR_DRSGetObjectExistence_Invalid_Start_Guid() { DrsrTestChecker.Check(); uint ret = drsTestClient.DrsBind( EnvironmentConfig.Machine.WritableDC1, EnvironmentConfig.User.ParentDomainAdmin, DRS_EXTENSIONS_IN_FLAGS.DRS_EXT_BASE); /* comments from TD */ /* * if msgIn.guidStart = NULLGUID then * return ERROR_DS_DRA_INVALID_PARAMETER * endif * */ /* Create request message */ DRS_MSG_EXISTREQ msgIn = drsTestClient.CreateDrsGetObjectExistenceV1Request(); uint dwInVersion = 1; uint?dwOutVersion = 0; DRS_MSG_EXISTREPLY?reply; /* Setting param #1 */ /*msgIn.V1.guidStart = Guid.Empty*/ msgIn.V1.guidStart = Guid.Empty; /* Issue the request */ ret = drsTestClient.DRSClient.DrsGetObjectExistence( EnvironmentConfig.DrsContextStore[EnvironmentConfig.Machine.WritableDC1], dwInVersion, msgIn, out dwOutVersion, out reply); BaseTestSite.Assert.AreEqual <uint>( (uint)Win32ErrorCode_32.ERROR_DS_DRA_INVALID_PARAMETER, ret, "DrsGetObjectExistence: return code mismatch." ); }