summaryrefslogtreecommitdiff
path: root/source4
diff options
context:
space:
mode:
Diffstat (limited to 'source4')
-rw-r--r--source4/torture/drs/rpc/msds_intid.c35
1 files changed, 30 insertions, 5 deletions
diff --git a/source4/torture/drs/rpc/msds_intid.c b/source4/torture/drs/rpc/msds_intid.c
index a6e7dc503c..9fc141ff74 100644
--- a/source4/torture/drs/rpc/msds_intid.c
+++ b/source4/torture/drs/rpc/msds_intid.c
@@ -559,12 +559,14 @@ static bool test_dsintid_schema(struct torture_context *tctx, struct DsIntIdTest
}
/**
- * Fetch Domain NC and check ATTID values returned.
- * When Domain partition is replicated, ATTID
+ * Fetch non-Schema NC and check ATTID values returned.
+ * When non-Schema partition is replicated, ATTID
* should be msDS-IntId value for the attribute
* if this value exists
*/
-static bool test_dsintid_domain(struct torture_context *tctx, struct DsIntIdTestCtx *ctx)
+static bool _test_dsintid(struct torture_context *tctx,
+ struct DsIntIdTestCtx *ctx,
+ const char *nc_dn_str)
{
uint32_t i;
const struct dsdb_schema *ldap_schema;
@@ -580,8 +582,8 @@ static bool test_dsintid_domain(struct torture_context *tctx, struct DsIntIdTest
torture_assert(tctx, mem_ctx, "Not enough memory");
/* fetch whole Schema partition */
- torture_comment(tctx, "Fetch partition: %s\n", ctx->domain_dn);
- if (!_test_GetNCChanges(tctx, &ctx->dsa_bind, ctx->domain_dn, mem_ctx, &ctr6)) {
+ torture_comment(tctx, "Fetch partition: %s\n", nc_dn_str);
+ if (!_test_GetNCChanges(tctx, &ctx->dsa_bind, nc_dn_str, mem_ctx, &ctr6)) {
torture_fail(tctx, "_test_GetNCChanges() failed");
}
@@ -643,6 +645,28 @@ static bool test_dsintid_domain(struct torture_context *tctx, struct DsIntIdTest
return true;
}
+/**
+ * Fetch Domain NC and check ATTID values returned.
+ * When Domain partition is replicated, ATTID
+ * should be msDS-IntId value for the attribute
+ * if this value exists
+ */
+static bool test_dsintid_configuration(struct torture_context *tctx, struct DsIntIdTestCtx *ctx)
+{
+ return _test_dsintid(tctx, ctx, ctx->config_dn);
+}
+
+/**
+ * Fetch Configuration NC and check ATTID values returned.
+ * When Configuration partition is replicated, ATTID
+ * should be msDS-IntId value for the attribute
+ * if this value exists
+ */
+static bool test_dsintid_domain(struct torture_context *tctx, struct DsIntIdTestCtx *ctx)
+{
+ return _test_dsintid(tctx, ctx, ctx->domain_dn);
+}
+
/**
* DSSYNC test case setup
@@ -708,5 +732,6 @@ void torture_drs_rpc_dsintid_tcase(struct torture_suite *suite)
torture_dsintid_tcase_teardown);
test = torture_tcase_add_simple_test(tcase, "Schema", (run_func)test_dsintid_schema);
+ test = torture_tcase_add_simple_test(tcase, "Configuration", (run_func)test_dsintid_configuration);
test = torture_tcase_add_simple_test(tcase, "Domain", (run_func)test_dsintid_domain);
}