diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/tests/cmocka/test_nss_srv.c | 64 |
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); |