From 11a030ac6e064c50759b5397e1f4d0289f87f64a Mon Sep 17 00:00:00 2001 From: Sumit Bose Date: Tue, 19 Sep 2017 16:04:08 +0200 Subject: IDMAP: add a unit test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A unit test for the recent changes from 0526dde7f3d4089617c0f4a6a85f83e9d266c9f1 is added. Reviewed-by: Fabiano FidĂȘncio --- src/tests/cmocka/test_sss_idmap.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/src/tests/cmocka/test_sss_idmap.c b/src/tests/cmocka/test_sss_idmap.c index 7c0bf767f..7c4cf3037 100644 --- a/src/tests/cmocka/test_sss_idmap.c +++ b/src/tests/cmocka/test_sss_idmap.c @@ -684,6 +684,35 @@ void test_sss_idmap_error_string(void **state) } } +void test_sss_idmap_calculate_range_slice_collision(void **state) +{ + struct test_ctx *test_ctx; + enum idmap_error_code err; + struct sss_idmap_range range; + id_t slice_num = 123; + + test_ctx = talloc_get_type(*state, struct test_ctx); + + assert_non_null(test_ctx); + + err = sss_idmap_calculate_range(test_ctx->idmap_ctx, NULL, &slice_num, + &range); + assert_int_equal(err, IDMAP_SUCCESS); + + err = sss_idmap_add_domain_ex(test_ctx->idmap_ctx, TEST_DOM_NAME, + TEST_DOM_SID, &range, NULL, 0, false); + assert_int_equal(err, IDMAP_SUCCESS); + + err = sss_idmap_calculate_range(test_ctx->idmap_ctx, NULL, &slice_num, + &range); + assert_int_equal(err, IDMAP_COLLISION); + + slice_num++; + err = sss_idmap_calculate_range(test_ctx->idmap_ctx, NULL, &slice_num, + &range); + assert_int_equal(err, IDMAP_SUCCESS); +} + int main(int argc, const char *argv[]) { poptContext pc; @@ -724,6 +753,9 @@ int main(int argc, const char *argv[]) test_sss_idmap_teardown), cmocka_unit_test(test_sss_idmap_check_collision_ex), cmocka_unit_test(test_sss_idmap_error_string), + cmocka_unit_test_setup_teardown(test_sss_idmap_calculate_range_slice_collision, + test_sss_idmap_setup, + test_sss_idmap_teardown), }; /* Set debug level to invalid value so we can deside if -d 0 was used. */ -- cgit