summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/tests/cmocka/test_nss_srv.c64
1 files changed, 50 insertions, 14 deletions
diff --git a/src/tests/cmocka/test_nss_srv.c b/src/tests/cmocka/test_nss_srv.c
index 741d6c581..b5b4565e9 100644
--- a/src/tests/cmocka/test_nss_srv.c
+++ b/src/tests/cmocka/test_nss_srv.c
@@ -96,7 +96,7 @@ void __wrap_sss_packet_get_body(struct sss_packet *packet,
}
/* Mock returning result to client. Terminate the unit test instead. */
-typedef int (*cmd_cb_fn_t)(uint8_t *, size_t );
+typedef int (*cmd_cb_fn_t)(uint32_t, uint8_t *, size_t );
static void set_cmd_cb(cmd_cb_fn_t fn)
{
@@ -114,7 +114,8 @@ void __wrap_sss_cmd_done(struct cli_ctx *cctx, void *freectx)
__real_sss_packet_get_body(packet, &body, &blen);
- nss_test_ctx->tctx->error = check_cb(body, blen);
+ nss_test_ctx->tctx->error = check_cb(sss_packet_get_status(packet),
+ body, blen);
nss_test_ctx->tctx->done = true;
}
@@ -248,11 +249,13 @@ static int parse_group_packet(uint8_t *body, size_t blen, struct group *gr, uint
* not be called and test_nss_getpwnam_check will make sure the user is
* the same as the test entered before starting
*/
-static int test_nss_getpwnam_check(uint8_t *body, size_t blen)
+static int test_nss_getpwnam_check(uint32_t status, uint8_t *body, size_t blen)
{
struct passwd pwd;
errno_t ret;
+ assert_int_equal(status, EOK);
+
ret = parse_user_packet(body, blen, &pwd);
assert_int_equal(ret, EOK);
@@ -343,11 +346,14 @@ static int test_nss_getpwnam_search_acct_cb(void *pvt)
return EOK;
}
-static int test_nss_getpwnam_search_check(uint8_t *body, size_t blen)
+static int test_nss_getpwnam_search_check(uint32_t status,
+ uint8_t *body, size_t blen)
{
struct passwd pwd;
errno_t ret;
+ assert_int_equal(status, EOK);
+
ret = parse_user_packet(body, blen, &pwd);
assert_int_equal(ret, EOK);
@@ -408,11 +414,14 @@ static int test_nss_getpwnam_update_acct_cb(void *pvt)
return EOK;
}
-static int test_nss_getpwnam_update_check(uint8_t *body, size_t blen)
+static int test_nss_getpwnam_update_check(uint32_t status,
+ uint8_t *body, size_t blen)
{
struct passwd pwd;
errno_t ret;
+ assert_int_equal(status, EOK);
+
ret = parse_user_packet(body, blen, &pwd);
assert_int_equal(ret, EOK);
@@ -469,11 +478,14 @@ void test_nss_getpwnam_update(void **state)
/* Check that a FQDN is returned if the domain is FQDN-only and a
* FQDN is requested
*/
-static int test_nss_getpwnam_check_fqdn(uint8_t *body, size_t blen)
+static int test_nss_getpwnam_check_fqdn(uint32_t status,
+ uint8_t *body, size_t blen)
{
struct passwd pwd;
errno_t ret;
+ assert_int_equal(status, EOK);
+
nss_test_ctx->cctx->rctx->domains[0].fqnames = false;
ret = parse_user_packet(body, blen, &pwd);
@@ -517,11 +529,14 @@ void test_nss_getpwnam_fqdn(void **state)
* Check that FQDN processing is able to handle arbitrarily sized
* delimeter
*/
-static int test_nss_getpwnam_check_resize_fqdn(uint8_t *body, size_t blen)
+static int test_nss_getpwnam_check_resize_fqdn(uint32_t status,
+ uint8_t *body, size_t blen)
{
struct passwd pwd;
errno_t ret;
+ assert_int_equal(status, EOK);
+
nss_test_ctx->cctx->rctx->domains[0].fqnames = false;
ret = parse_user_packet(body, blen, &pwd);
@@ -613,7 +628,8 @@ static int test_nss_getgrnam_check(struct group *expected, struct group *gr, con
return EOK;
}
-static int test_nss_getgrnam_no_members_check(uint8_t *body, size_t blen)
+static int test_nss_getgrnam_no_members_check(uint32_t status,
+ uint8_t *body, size_t blen)
{
int ret;
uint32_t nmem;
@@ -625,6 +641,8 @@ static int test_nss_getgrnam_no_members_check(uint8_t *body, size_t blen)
.gr_mem = NULL,
};
+ assert_int_equal(status, EOK);
+
ret = parse_group_packet(body, blen, &gr, &nmem);
assert_int_equal(ret, EOK);
assert_int_equal(nmem, 0);
@@ -663,7 +681,8 @@ void test_nss_getgrnam_no_members(void **state)
assert_int_equal(ret, EOK);
}
-static int test_nss_getgrnam_members_check(uint8_t *body, size_t blen)
+static int test_nss_getgrnam_members_check(uint32_t status,
+ uint8_t *body, size_t blen)
{
int ret;
uint32_t nmem;
@@ -676,6 +695,8 @@ static int test_nss_getgrnam_members_check(uint8_t *body, size_t blen)
.gr_mem = discard_const(exp_members)
};
+ assert_int_equal(status, EOK);
+
ret = parse_group_packet(body, blen, &gr, &nmem);
assert_int_equal(ret, EOK);
assert_int_equal(nmem, 2);
@@ -736,7 +757,8 @@ void test_nss_getgrnam_members(void **state)
assert_int_equal(ret, EOK);
}
-static int test_nss_getgrnam_members_check_fqdn(uint8_t *body, size_t blen)
+static int test_nss_getgrnam_members_check_fqdn(uint32_t status,
+ uint8_t *body, size_t blen)
{
int ret;
uint32_t nmem;
@@ -750,6 +772,8 @@ static int test_nss_getgrnam_members_check_fqdn(uint8_t *body, size_t blen)
.gr_mem = discard_const(exp_members)
};
+ assert_int_equal(status, EOK);
+
ret = parse_group_packet(body, blen, &gr, &nmem);
assert_int_equal(ret, EOK);
assert_int_equal(nmem, 2);
@@ -787,7 +811,8 @@ void test_nss_getgrnam_members_fqdn(void **state)
assert_int_equal(ret, EOK);
}
-static int test_nss_getgrnam_members_check_subdom(uint8_t *body, size_t blen)
+static int test_nss_getgrnam_members_check_subdom(uint32_t status,
+ uint8_t *body, size_t blen)
{
int ret;
uint32_t nmem;
@@ -801,6 +826,8 @@ static int test_nss_getgrnam_members_check_subdom(uint8_t *body, size_t blen)
.gr_mem = discard_const(exp_members)
};
+ assert_int_equal(status, EOK);
+
ret = parse_group_packet(body, blen, &gr, &nmem);
assert_int_equal(ret, EOK);
assert_int_equal(nmem, 2);
@@ -872,7 +899,8 @@ void test_nss_getgrnam_members_subdom(void **state)
assert_int_equal(ret, EOK);
}
-static int test_nss_getgrnam_check_mix_dom(uint8_t *body, size_t blen)
+static int test_nss_getgrnam_check_mix_dom(uint32_t status,
+ uint8_t *body, size_t blen)
{
int ret;
uint32_t nmem;
@@ -887,6 +915,8 @@ static int test_nss_getgrnam_check_mix_dom(uint8_t *body, size_t blen)
.gr_mem = discard_const(exp_members)
};
+ assert_int_equal(status, EOK);
+
ret = parse_group_packet(body, blen, &gr, &nmem);
assert_int_equal(ret, EOK);
assert_int_equal(nmem, 3);
@@ -931,7 +961,8 @@ void test_nss_getgrnam_mix_dom(void **state)
assert_int_equal(ret, EOK);
}
-static int test_nss_getgrnam_check_mix_dom_fqdn(uint8_t *body, size_t blen)
+static int test_nss_getgrnam_check_mix_dom_fqdn(uint32_t status,
+ uint8_t *body, size_t blen)
{
int ret;
uint32_t nmem;
@@ -946,6 +977,8 @@ static int test_nss_getgrnam_check_mix_dom_fqdn(uint8_t *body, size_t blen)
.gr_mem = discard_const(exp_members)
};
+ assert_int_equal(status, EOK);
+
ret = parse_group_packet(body, blen, &gr, &nmem);
assert_int_equal(ret, EOK);
assert_int_equal(nmem, 3);
@@ -980,7 +1013,8 @@ void test_nss_getgrnam_mix_dom_fqdn(void **state)
assert_int_equal(ret, EOK);
}
-static int test_nss_getgrnam_check_mix_subdom(uint8_t *body, size_t blen)
+static int test_nss_getgrnam_check_mix_subdom(uint32_t status,
+ uint8_t *body, size_t blen)
{
int ret;
uint32_t nmem;
@@ -995,6 +1029,8 @@ static int test_nss_getgrnam_check_mix_subdom(uint8_t *body, size_t blen)
.gr_mem = discard_const(exp_members)
};
+ assert_int_equal(status, EOK);
+
ret = parse_group_packet(body, blen, &gr, &nmem);
assert_int_equal(ret, EOK);
assert_int_equal(nmem, 3);