From 7a153394bdeb77325b7e4ee1502a1e89fa306f5a Mon Sep 17 00:00:00 2001 From: Pavel Březina Date: Mon, 13 Oct 2014 16:20:10 +0200 Subject: tests: add test for sss_get_domain_name Reviewed-by: Jakub Hrozek --- src/tests/cmocka/test_fqnames.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) 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. */ -- cgit