[SSSD] [PATCH] sysdb: sysdb_search_group_by_name should work like sysdb_search_user_by_name

Jakub Hrozek jhrozek at redhat.com
Wed Sep 17 10:27:24 UTC 2014


On Tue, Sep 16, 2014 at 05:58:36PM +0200, Sumit Bose wrote:
> Hi,
> 
> I came across this when trying to resolve the SID of a group with the
> group's name.
> 
> bye,
> Sumit

ACK. The code also reads much nicer now, thank you.

Is it OK to squash in the attached test?
-------------- next part --------------
>From c9d35c190f03db4db943d5d6e9c56cc60cfcdb87 Mon Sep 17 00:00:00 2001
From: Jakub Hrozek <jhrozek at redhat.com>
Date: Wed, 17 Sep 2014 12:12:29 +0200
Subject: [PATCH] TESTS: Add a case-insensitive sysdb test

---
 src/tests/sysdb-tests.c | 27 ++++++++++++++++++++++-----
 1 file changed, 22 insertions(+), 5 deletions(-)

diff --git a/src/tests/sysdb-tests.c b/src/tests/sysdb-tests.c
index 5ab8b66144c33ca94242cd0cb75eb46581e17412..2a1393002bec180be9369d6696d4486c45f1f08e 100644
--- a/src/tests/sysdb-tests.c
+++ b/src/tests/sysdb-tests.c
@@ -4972,6 +4972,7 @@ START_TEST(test_sysdb_subdomain_group_ops)
     struct sss_domain_info *subdomain = NULL;
     struct ldb_message *msg = NULL;
     struct ldb_dn *check_dn = NULL;
+    struct sysdb_attrs *group_attrs;
 
     ret = setup_sysdb_tests(&test_ctx);
     fail_if(ret != EOK, "Could not set up the test");
@@ -4989,20 +4990,36 @@ START_TEST(test_sysdb_subdomain_group_ops)
     fail_unless(ret == EOK, "sysdb_update_subdomains failed with [%d][%s]",
                             ret, strerror(ret));
 
+    group_attrs = sysdb_new_attrs(test_ctx);
+    fail_unless(group_attrs != NULL, "sysdb_new_attrs failed");
+
+    ret = sysdb_attrs_add_string(group_attrs, SYSDB_NAME_ALIAS, "subdomgroup");
+    fail_unless(ret == EOK, "sysdb_store_user failed.");
+
     ret = sysdb_store_group(subdomain,
-                            "subdomgroup", 12345, NULL, -1, 0);
+                            "subDomGroup", 12345, group_attrs, -1, 0);
     fail_unless(ret == EOK, "sysdb_store_domgroup failed.");
 
     check_dn = ldb_dn_new(test_ctx, test_ctx->sysdb->ldb,
-                          "name=subdomgroup,cn=groups,cn=test.sub,cn=sysdb");
+                          "name=subDomGroup,cn=groups,cn=test.sub,cn=sysdb");
     fail_unless(check_dn != NULL);
 
-    ret = sysdb_search_group_by_name(test_ctx, subdomain, "subdomgroup", NULL,
+    ret = sysdb_search_group_by_name(test_ctx, subdomain, "subDomGroup", NULL,
                                      &msg);
     fail_unless(ret == EOK, "sysdb_search_domgroup_by_name failed with [%d][%s].",
                             ret, strerror(ret));
     fail_unless(ldb_dn_compare(msg->dn, check_dn) == 0,
-                "Unexpedted DN returned");
+                "Unexpected DN returned");
+
+    /* subdomains are case insensitive, so it should be possible to search
+    the group with a lowercase name version, too */
+    ret = sysdb_search_group_by_name(test_ctx, subdomain, "subdomgroup", NULL,
+                                     &msg);
+    fail_unless(ret == EOK, "case-insensitive group search failed with [%d][%s].",
+                            ret, strerror(ret));
+    fail_unless(ldb_dn_compare(msg->dn, check_dn) == 0,
+                "Unexpected DN returned");
+
 
     ret = sysdb_search_group_by_gid(test_ctx, subdomain, 12345, NULL, &msg);
     fail_unless(ret == EOK, "sysdb_search_domgroup_by_gid failed with [%d][%s].",
@@ -5010,7 +5027,7 @@ START_TEST(test_sysdb_subdomain_group_ops)
     fail_unless(ldb_dn_compare(msg->dn, check_dn) == 0,
                 "Unexpedted DN returned");
 
-    ret = sysdb_delete_group(subdomain, "subdomgroup", 12345);
+    ret = sysdb_delete_group(subdomain, "subDomGroup", 12345);
     fail_unless(ret == EOK, "sysdb_delete_domgroup failed with [%d][%s].",
                             ret, strerror(ret));
 
-- 
1.9.3



More information about the sssd-devel mailing list