summaryrefslogtreecommitdiffstats
path: root/src/tests/cmocka/test_negcache.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/tests/cmocka/test_negcache.c')
-rw-r--r--src/tests/cmocka/test_negcache.c84
1 files changed, 60 insertions, 24 deletions
diff --git a/src/tests/cmocka/test_negcache.c b/src/tests/cmocka/test_negcache.c
index 322541769..2e3575771 100644
--- a/src/tests/cmocka/test_negcache.c
+++ b/src/tests/cmocka/test_negcache.c
@@ -305,7 +305,7 @@ static void test_sss_ncache_user(void **state)
{
int ret;
bool permanent;
- const char *name = NAME;
+ char *name;
struct test_state *ts;
struct sss_domain_info *dom;
@@ -313,6 +313,9 @@ static void test_sss_ncache_user(void **state)
dom = talloc(ts, struct sss_domain_info);
dom->name = discard_const_p(char, TEST_DOM_NAME);
+ name = sss_create_internal_fqname(ts, NAME, dom->name);
+ assert_non_null(name);
+
/* test when domain name is not present in database */
dom->case_sensitive = false;
ret = sss_ncache_check_user(ts->ctx, dom, name);
@@ -336,6 +339,8 @@ static void test_sss_ncache_user(void **state)
ret = sss_ncache_check_user(ts->ctx, dom, name);
assert_int_equal(ret, EEXIST);
+
+ talloc_free(name);
}
/* @test_sss_ncache_group : test following functions
@@ -346,7 +351,7 @@ static void test_sss_ncache_group(void **state)
{
int ret;
bool permanent;
- const char *name = NAME;
+ char *name;
struct test_state *ts;
struct sss_domain_info *dom;
@@ -354,6 +359,9 @@ static void test_sss_ncache_group(void **state)
dom = talloc(ts, struct sss_domain_info);
dom->name = discard_const_p(char, TEST_DOM_NAME);
+ name = sss_create_internal_fqname(ts, NAME, dom->name);
+ assert_non_null(name);
+
/* test when domain name is not present in database */
dom->case_sensitive = false;
ret = sss_ncache_check_group(ts->ctx, dom, name);
@@ -377,6 +385,8 @@ static void test_sss_ncache_group(void **state)
ret = sss_ncache_check_group(ts->ctx, dom, name);
assert_int_equal(ret, EEXIST);
+
+ talloc_free(name);
}
/* @test_sss_ncache_netgr : test following functions
@@ -529,6 +539,32 @@ static void test_sss_ncache_reset_permanent(void **state)
assert_int_equal(ret, ENOENT);
}
+static int check_user_in_ncache(struct sss_nc_ctx *ctx,
+ struct sss_domain_info *dom,
+ const char *name)
+{
+ char *fqdn;
+ int ret;
+
+ fqdn = sss_create_internal_fqname(ctx, name, dom->name);
+ ret = sss_ncache_check_user(ctx, dom, fqdn);
+ talloc_free(fqdn);
+ return ret;
+}
+
+static int check_group_in_ncache(struct sss_nc_ctx *ctx,
+ struct sss_domain_info *dom,
+ const char *name)
+{
+ char *fqdn;
+ int ret;
+
+ fqdn = sss_create_internal_fqname(ctx, name, dom->name);
+ ret = sss_ncache_check_group(ctx, dom, fqdn);
+ talloc_free(fqdn);
+ return ret;
+}
+
static void test_sss_ncache_prepopulate(void **state)
{
int ret;
@@ -572,28 +608,28 @@ static void test_sss_ncache_prepopulate(void **state)
sleep(SHORTSPAN);
- ret = sss_ncache_check_user(ncache, dom, "testuser1");
+ ret = check_user_in_ncache(ncache, dom, "testuser1");
assert_int_equal(ret, EEXIST);
- ret = sss_ncache_check_group(ncache, dom, "testgroup1");
+ ret = check_group_in_ncache(ncache, dom, "testgroup1");
assert_int_equal(ret, EEXIST);
- ret = sss_ncache_check_user(ncache, dom, "testuser2");
+ ret = check_user_in_ncache(ncache, dom, "testuser2");
assert_int_equal(ret, EEXIST);
- ret = sss_ncache_check_group(ncache, dom, "testgroup2");
+ ret = check_group_in_ncache(ncache, dom, "testgroup2");
assert_int_equal(ret, EEXIST);
- ret = sss_ncache_check_user(ncache, dom, "testuser3");
+ ret = check_user_in_ncache(ncache, dom, "testuser3");
assert_int_equal(ret, ENOENT);
- ret = sss_ncache_check_group(ncache, dom, "testgroup3");
+ ret = check_group_in_ncache(ncache, dom, "testgroup3");
assert_int_equal(ret, ENOENT);
- ret = sss_ncache_check_user(ncache, dom, "testuser3@somedomain");
+ ret = check_user_in_ncache(ncache, dom, "testuser3@somedomain");
assert_int_equal(ret, ENOENT);
- ret = sss_ncache_check_group(ncache, dom, "testgroup3@somedomain");
+ ret = check_group_in_ncache(ncache, dom, "testgroup3@somedomain");
assert_int_equal(ret, ENOENT);
}
@@ -639,22 +675,22 @@ static void test_sss_ncache_default_domain_suffix(void **state)
ret = sss_ncache_prepopulate(ncache, tc->confdb, ts->rctx);
assert_int_equal(ret, EOK);
- ret = sss_ncache_check_user(ncache, dom, "testuser1");
+ ret = check_user_in_ncache(ncache, dom, "testuser1");
assert_int_equal(ret, EEXIST);
- ret = sss_ncache_check_group(ncache, dom, "testgroup1");
+ ret = check_group_in_ncache(ncache, dom, "testgroup1");
assert_int_equal(ret, EEXIST);
- ret = sss_ncache_check_user(ncache, dom, "testuser2");
+ ret = check_user_in_ncache(ncache, dom, "testuser2");
assert_int_equal(ret, EEXIST);
- ret = sss_ncache_check_group(ncache, dom, "testgroup2");
+ ret = check_group_in_ncache(ncache, dom, "testgroup2");
assert_int_equal(ret, EEXIST);
- ret = sss_ncache_check_user(ncache, dom, "testuser3");
+ ret = check_user_in_ncache(ncache, dom, "testuser3");
assert_int_equal(ret, ENOENT);
- ret = sss_ncache_check_group(ncache, dom, "testgroup3");
+ ret = check_group_in_ncache(ncache, dom, "testgroup3");
assert_int_equal(ret, ENOENT);
}
@@ -722,32 +758,32 @@ static void test_sss_ncache_reset_prepopulate(void **state)
dom2->names = dom->names;
/* First domain should not be known, the second not */
- ret = sss_ncache_check_user(ncache, dom, "testuser1");
+ ret = check_user_in_ncache(ncache, dom, "testuser1");
assert_int_equal(ret, EEXIST);
- ret = sss_ncache_check_group(ncache, dom, "testgroup1");
+ ret = check_group_in_ncache(ncache, dom, "testgroup1");
assert_int_equal(ret, EEXIST);
- ret = sss_ncache_check_user(ncache, dom2, "testuser2");
+ ret = check_user_in_ncache(ncache, dom2, "testuser2");
assert_int_equal(ret, ENOENT);
- ret = sss_ncache_check_group(ncache, dom2, "testgroup2");
+ ret = check_group_in_ncache(ncache, dom2, "testgroup2");
assert_int_equal(ret, ENOENT);
ret = sss_ncache_reset_repopulate_permanent(ts->rctx, ncache);
assert_int_equal(ret, EOK);
/* First domain should not be known, the second not */
- ret = sss_ncache_check_user(ncache, dom, "testuser1");
+ ret = check_user_in_ncache(ncache, dom, "testuser1");
assert_int_equal(ret, EEXIST);
- ret = sss_ncache_check_group(ncache, dom, "testgroup1");
+ ret = check_group_in_ncache(ncache, dom, "testgroup1");
assert_int_equal(ret, EEXIST);
- ret = sss_ncache_check_user(ncache, dom2, "testuser2");
+ ret = check_user_in_ncache(ncache, dom2, "testuser2");
assert_int_equal(ret, EEXIST);
- ret = sss_ncache_check_group(ncache, dom2, "testgroup2");
+ ret = check_group_in_ncache(ncache, dom2, "testgroup2");
assert_int_equal(ret, EEXIST);
}
int main(void)