summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/tests/cmocka/test_fqnames.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/tests/cmocka/test_fqnames.c b/src/tests/cmocka/test_fqnames.c
index a3d176af0..71429c877 100644
--- a/src/tests/cmocka/test_fqnames.c
+++ b/src/tests/cmocka/test_fqnames.c
@@ -480,6 +480,29 @@ void sss_parse_name_fail(void **state)
sss_parse_name_check(test_ctx, NAME"\\", EINVAL, NULL, NULL);
}
+void test_sss_get_domain_name(void **state)
+{
+ struct parse_name_test_ctx *test_ctx = talloc_get_type(*state,
+ struct parse_name_test_ctx);
+ struct {
+ const char *input;
+ struct sss_domain_info *domain;
+ const char *expected;
+ } data[] = {{"user", test_ctx->dom, "user"},
+ {"user", test_ctx->subdom, "user@" SUBDOMNAME},
+ {"user@" SUBDOMNAME, test_ctx->subdom, "user@" SUBDOMNAME},
+ {NULL, NULL, NULL}};
+ char *name;
+ int i;
+
+ for (i = 0; data[i].input != NULL; i++) {
+ name = sss_get_domain_name(test_ctx, data[i].input, data[i].domain);
+ assert_non_null(name);
+ assert_string_equal(name, data[i].expected);
+ talloc_free(name);
+ }
+}
+
int main(int argc, const char *argv[])
{
poptContext pc;
@@ -520,6 +543,10 @@ int main(int argc, const char *argv[])
unit_test_setup_teardown(sss_parse_name_fail,
parse_name_test_setup,
parse_name_test_teardown),
+
+ unit_test_setup_teardown(test_sss_get_domain_name,
+ parse_name_test_setup,
+ parse_name_test_teardown),
};
/* Set debug level to invalid value so we can deside if -d 0 was used. */