URL: https://github.com/SSSD/sssd/pull/388
Author: sumit-bose
 Title: #388: IDMAP: add a unit test
Action: synchronized

To pull the PR as Git branch:
git remote add ghsssd https://github.com/SSSD/sssd
git fetch ghsssd pull/388/head:pr388
git checkout pr388
From 845a316c13b7887183a214c11693c38c233d1ec3 Mon Sep 17 00:00:00 2001
From: Sumit Bose <sb...@redhat.com>
Date: Tue, 19 Sep 2017 16:04:08 +0200
Subject: [PATCH] IDMAP: add a unit test

A unit test for the recent changes from
0526dde7f3d4089617c0f4a6a85f83e9d266c9f1 is added.
---
 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. */
_______________________________________________
sssd-devel mailing list -- sssd-devel@lists.fedorahosted.org
To unsubscribe send an email to sssd-devel-le...@lists.fedorahosted.org

Reply via email to