summaryrefslogtreecommitdiffstats
path: root/src/tests/cmocka
diff options
context:
space:
mode:
authorSumit Bose <sbose@redhat.com>2014-11-06 13:13:27 +0100
committerJakub Hrozek <jhrozek@redhat.com>2014-11-20 10:52:38 +0100
commit8eb981dd8bc85aee7a913c6f0096ad47f3382339 (patch)
tree5a97040329b13209dbea291ec2d9b827428c8029 /src/tests/cmocka
parent907a7c626db407d19d4cae85c2db7d3561120349 (diff)
downloadsssd-8eb981dd8bc85aee7a913c6f0096ad47f3382339.tar.gz
sssd-8eb981dd8bc85aee7a913c6f0096ad47f3382339.tar.xz
sssd-8eb981dd8bc85aee7a913c6f0096ad47f3382339.zip
ipa: add split_ipa_anchor()
This call extracts the domain and the UUID part from an IPA override anchor. Related to https://fedorahosted.org/sssd/ticket/2481 Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
Diffstat (limited to 'src/tests/cmocka')
-rw-r--r--src/tests/cmocka/test_sysdb_views.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/tests/cmocka/test_sysdb_views.c b/src/tests/cmocka/test_sysdb_views.c
index 9fb2d7201..0dc51443b 100644
--- a/src/tests/cmocka/test_sysdb_views.c
+++ b/src/tests/cmocka/test_sysdb_views.c
@@ -29,6 +29,7 @@
#include <popt.h>
#include "tests/cmocka/common_mock.h"
+#include "providers/ipa/ipa_id.h"
#define TESTS_PATH "tests_sysdb_views"
#define TEST_CONF_FILE "tests_conf.ldb"
@@ -189,6 +190,35 @@ void test_sysdb_add_overrides_to_object(void **state)
assert_int_equal(ldb_val_string_cmp(&el->values[1], "OVERRIDEKEY2"), 0);
}
+void test_split_ipa_anchor(void **state)
+{
+ int ret;
+ char *dom;
+ char *uuid;
+ struct sysdb_test_ctx *test_ctx = talloc_get_type_abort(*state,
+ struct sysdb_test_ctx);
+
+ ret = split_ipa_anchor(test_ctx, NULL, &dom, &uuid);
+ assert_int_equal(ret, EINVAL);
+
+ ret = split_ipa_anchor(test_ctx, "fwfkwjfkw", &dom, &uuid);
+ assert_int_equal(ret, ENOMSG);
+
+ ret = split_ipa_anchor(test_ctx, ":IPA:", &dom, &uuid);
+ assert_int_equal(ret, EINVAL);
+
+ ret = split_ipa_anchor(test_ctx, ":IPA:abc", &dom, &uuid);
+ assert_int_equal(ret, EINVAL);
+
+ ret = split_ipa_anchor(test_ctx, ":IPA:abc:", &dom, &uuid);
+ assert_int_equal(ret, EINVAL);
+
+ ret = split_ipa_anchor(test_ctx, ":IPA:abc:def", &dom, &uuid);
+ assert_int_equal(ret, EOK);
+ assert_string_equal(dom, "abc");
+ assert_string_equal(uuid, "def");
+}
+
int main(int argc, const char *argv[])
{
int rv;
@@ -206,6 +236,8 @@ int main(int argc, const char *argv[])
const UnitTest tests[] = {
unit_test_setup_teardown(test_sysdb_add_overrides_to_object,
test_sysdb_setup, test_sysdb_teardown),
+ unit_test_setup_teardown(test_split_ipa_anchor,
+ test_sysdb_setup, test_sysdb_teardown),
};
/* Set debug level to invalid value so we can deside if -d 0 was used. */