diff options
author | Sumit Bose <sbose@redhat.com> | 2017-09-19 16:04:08 +0200 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2017-09-20 20:52:21 +0200 |
commit | 11a030ac6e064c50759b5397e1f4d0289f87f64a (patch) | |
tree | 5bf017c4e7489b36a15c1bd16e9bd72a5deae326 /src/tests | |
parent | 0526dde7f3d4089617c0f4a6a85f83e9d266c9f1 (diff) | |
download | sssd-11a030ac6e064c50759b5397e1f4d0289f87f64a.tar.gz sssd-11a030ac6e064c50759b5397e1f4d0289f87f64a.tar.xz sssd-11a030ac6e064c50759b5397e1f4d0289f87f64a.zip |
IDMAP: add a unit test
A unit test for the recent changes from
0526dde7f3d4089617c0f4a6a85f83e9d266c9f1 is added.
Reviewed-by: Fabiano FidĂȘncio <fidencio@redhat.com>
Diffstat (limited to 'src/tests')
-rw-r--r-- | src/tests/cmocka/test_sss_idmap.c | 32 |
1 files changed, 32 insertions, 0 deletions
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. */ |