summaryrefslogtreecommitdiffstats
path: root/src/tests/cmocka/test_ad_common.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/tests/cmocka/test_ad_common.c')
-rw-r--r--src/tests/cmocka/test_ad_common.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/tests/cmocka/test_ad_common.c b/src/tests/cmocka/test_ad_common.c
index d2b59a23d..b0cf4b5e6 100644
--- a/src/tests/cmocka/test_ad_common.c
+++ b/src/tests/cmocka/test_ad_common.c
@@ -446,6 +446,37 @@ void test_ldap_conn_list(void **state)
talloc_free(conn_list);
}
+void test_user_conn_list(void **state)
+{
+ struct sdap_id_conn_ctx **conn_list;
+
+ struct ad_common_test_ctx *test_ctx = talloc_get_type(*state,
+ struct ad_common_test_ctx);
+ assert_non_null(test_ctx);
+
+ conn_list = ad_user_conn_list(test_ctx,
+ test_ctx->ad_ctx,
+ test_ctx->dom);
+ assert_non_null(conn_list);
+
+ assert_true(conn_list[0] == test_ctx->ad_ctx->ldap_ctx);
+ assert_false(conn_list[0]->ignore_mark_offline);
+ assert_null(conn_list[1]);
+ talloc_free(conn_list);
+
+ conn_list = ad_user_conn_list(test_ctx,
+ test_ctx->ad_ctx,
+ test_ctx->subdom);
+ assert_non_null(conn_list);
+
+ assert_true(conn_list[0] == test_ctx->ad_ctx->gc_ctx);
+ assert_true(conn_list[0]->ignore_mark_offline);
+ assert_true(conn_list[1] == test_ctx->subdom_ad_ctx->ldap_ctx);
+ /* Subdomain error should not set the backend offline! */
+ assert_true(conn_list[1]->ignore_mark_offline);
+ talloc_free(conn_list);
+}
+
int main(int argc, const char *argv[])
{
poptContext pc;
@@ -473,6 +504,9 @@ int main(int argc, const char *argv[])
cmocka_unit_test_setup_teardown(test_ldap_conn_list,
test_ldap_conn_setup,
test_ldap_conn_teardown),
+ cmocka_unit_test_setup_teardown(test_user_conn_list,
+ test_ldap_conn_setup,
+ test_ldap_conn_teardown),
};
/* Set debug level to invalid value so we can deside if -d 0 was used. */