summaryrefslogtreecommitdiffstats
path: root/src/tests
diff options
context:
space:
mode:
authorSumit Bose <sbose@redhat.com>2017-09-19 16:04:08 +0200
committerJakub Hrozek <jhrozek@redhat.com>2017-09-20 20:52:21 +0200
commit11a030ac6e064c50759b5397e1f4d0289f87f64a (patch)
tree5bf017c4e7489b36a15c1bd16e9bd72a5deae326 /src/tests
parent0526dde7f3d4089617c0f4a6a85f83e9d266c9f1 (diff)
downloadsssd-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.c32
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. */