summaryrefslogtreecommitdiffstats
path: root/src/tests
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2015-10-01 13:13:05 +0200
committerJakub Hrozek <jhrozek@redhat.com>2015-10-07 12:42:03 +0200
commit309aa83d16b5919f727af04850bcd0799ba0962f (patch)
tree8ba57574ae0a09f25a0087655be8af13fc348859 /src/tests
parentd8899526551cbfe112e0ecc8280003a8349fc531 (diff)
downloadsssd-309aa83d16b5919f727af04850bcd0799ba0962f.tar.gz
sssd-309aa83d16b5919f727af04850bcd0799ba0962f.tar.xz
sssd-309aa83d16b5919f727af04850bcd0799ba0962f.zip
AD: Provide common connection list construction functions
https://fedorahosted.org/sssd/ticket/2810 Provides a new AD common function ad_ldap_conn_list() that creates a list of AD connection to use along with properties to avoid mistakes when manually constructing these lists. Reviewed-by: Sumit Bose <sbose@redhat.com>
Diffstat (limited to 'src/tests')
-rw-r--r--src/tests/cmocka/test_ad_common.c45
1 files changed, 40 insertions, 5 deletions
diff --git a/src/tests/cmocka/test_ad_common.c b/src/tests/cmocka/test_ad_common.c
index bc9d0940b..d2b59a23d 100644
--- a/src/tests/cmocka/test_ad_common.c
+++ b/src/tests/cmocka/test_ad_common.c
@@ -350,7 +350,7 @@ __wrap_sdap_set_sasl_options(struct sdap_options *id_opts,
return EOK;
}
-void test_ldap_conn_list(void **state)
+void test_ad_get_dom_ldap_conn(void **state)
{
struct sdap_id_conn_ctx *conn;
@@ -365,7 +365,7 @@ void test_ldap_conn_list(void **state)
assert_true(conn == test_ctx->subdom_ad_ctx->ldap_ctx);
}
-void test_conn_list(void **state)
+void test_gc_conn_list(void **state)
{
struct sdap_id_conn_ctx **conn_list;
@@ -392,7 +392,8 @@ void test_conn_list(void **state)
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);
- assert_false(conn_list[1]->ignore_mark_offline);
+ /* Subdomain error should not set the backend offline! */
+ assert_true(conn_list[1]->ignore_mark_offline);
talloc_free(conn_list);
dp_opt_set_bool(test_ctx->ad_ctx->ad_options->basic, AD_ENABLE_GC, false);
@@ -411,6 +412,37 @@ void test_conn_list(void **state)
assert_non_null(conn_list);
assert_true(conn_list[0] == test_ctx->subdom_ad_ctx->ldap_ctx);
+ assert_true(conn_list[0]->ignore_mark_offline);
+ assert_null(conn_list[1]);
+ talloc_free(conn_list);
+}
+
+void test_ldap_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_ldap_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_ldap_conn_list(test_ctx,
+ test_ctx->ad_ctx,
+ test_ctx->subdom);
+ assert_non_null(conn_list);
+
+ assert_true(conn_list[0] == test_ctx->subdom_ad_ctx->ldap_ctx);
+ assert_true(conn_list[0]->ignore_mark_offline);
+ assert_null(conn_list[1]);
talloc_free(conn_list);
}
@@ -432,10 +464,13 @@ int main(int argc, const char *argv[])
cmocka_unit_test_setup_teardown(test_ad_create_2way_trust_options,
test_ad_common_setup,
test_ad_common_teardown),
- cmocka_unit_test_setup_teardown(test_ldap_conn_list,
+ cmocka_unit_test_setup_teardown(test_ad_get_dom_ldap_conn,
test_ldap_conn_setup,
test_ldap_conn_teardown),
- cmocka_unit_test_setup_teardown(test_conn_list,
+ cmocka_unit_test_setup_teardown(test_gc_conn_list,
+ test_ldap_conn_setup,
+ test_ldap_conn_teardown),
+ cmocka_unit_test_setup_teardown(test_ldap_conn_list,
test_ldap_conn_setup,
test_ldap_conn_teardown),
};