URL: https://github.com/SSSD/sssd/pull/726
Author: jhrozek
 Title: #726: TESTS: Add a simple integration test for retrieving the 
extraAttributes property
Action: opened

PR body:
"""
Related: https://pagure.io/SSSD/sssd/issue/3906
"""

To pull the PR as Git branch:
git remote add ghsssd https://github.com/SSSD/sssd
git fetch ghsssd pull/726/head:pr726
git checkout pr726
From 8a78a096148baf96b0e801f3948b5af22512d8b6 Mon Sep 17 00:00:00 2001
From: Jakub Hrozek <jhro...@redhat.com>
Date: Fri, 4 Jan 2019 15:26:02 +0100
Subject: [PATCH] TESTS: Add a simple integration test for retrieving the
 extraAttributes property

Related:
https://pagure.io/SSSD/sssd/issue/3906
---
 src/tests/intg/test_infopipe.py       | 31 +++++++++++++++++++++++++++
 src/tests/multihost/basic/test_ifp.py | 26 ++++++++++++++++++++++
 2 files changed, 57 insertions(+)
 create mode 100644 src/tests/multihost/basic/test_ifp.py

diff --git a/src/tests/intg/test_infopipe.py b/src/tests/intg/test_infopipe.py
index 6c316628b..9d575e675 100644
--- a/src/tests/intg/test_infopipe.py
+++ b/src/tests/intg/test_infopipe.py
@@ -207,12 +207,14 @@ def format_basic_conf(ldap_conn, schema):
         # problem with "ifp" + client regristration in monitor
         # There is not such problem in 1st test. Just in following tests.
         command = {ifp_command} --uid 0 --gid 0 --debug-to-files
+        user_attributes = +extraName
 
         [domain/LDAP]
         {schema_conf}
         id_provider         = ldap
         ldap_uri            = {ldap_conn.ds_inst.ldap_url}
         ldap_search_base    = {ldap_conn.ds_inst.base_dn}
+        ldap_user_extra_attrs = extraName:uid
 
         [application/app]
         inherit_from = LDAP
@@ -534,6 +536,35 @@ def test_get_user_groups(dbus_system_bus, ldap_conn, sanity_rfc2307):
     assert sorted(res) == ['single_user_group', 'two_user_group']
 
 
+def get_user_property(dbus_system_bus, username, prop_name):
+    users_obj = dbus_system_bus.get_object(
+                                        'org.freedesktop.sssd.infopipe',
+                                        '/org/freedesktop/sssd/infopipe/Users')
+
+    users_iface = dbus.Interface(users_obj,
+                                 "org.freedesktop.sssd.infopipe.Users")
+
+    user_path = users_iface.FindByName(username)
+    user_object = dbus_system_bus.get_object('org.freedesktop.sssd.infopipe',
+                                             user_path)
+
+    prop_iface = dbus.Interface(user_object, 'org.freedesktop.DBus.Properties')
+    return prop_iface.Get('org.freedesktop.sssd.infopipe.Users.User',
+                          prop_name)
+
+
+def test_get_extra_attributes_empty(dbus_system_bus,
+                                    ldap_conn,
+                                    sanity_rfc2307):
+    """
+    Make sure the extraAttributes property can be retrieved
+    """
+    extra_attrs = get_user_property(dbus_system_bus,
+                                    'user1',
+                                    'extraAttributes')
+    assert extra_attrs['extraName'][0] == 'user1'
+
+
 def test_sssctl_domain_list_app_domain(dbus_system_bus,
                                        ldap_conn,
                                        sanity_rfc2307):
diff --git a/src/tests/multihost/basic/test_ifp.py b/src/tests/multihost/basic/test_ifp.py
new file mode 100644
index 000000000..b1d218f5c
--- /dev/null
+++ b/src/tests/multihost/basic/test_ifp.py
@@ -0,0 +1,26 @@
+"""
+InfoPipe test cases
+"""
+
+import pytest
+from sssd.testlib.common.utils import SSHClient
+
+class TestInfoPipe(object):
+    """
+    Test the InfoPipe responder
+    """
+    def test_ifp_extra_attributes_property(self, multihost):
+        """
+        Test requesting the extraAttributes property works at all,
+        see e.g.  https://pagure.io/SSSD/sssd/issue/3906
+        """
+        dbus_send_cmd = \
+        """
+        dbus-send --print-reply --system --dest=org.freedesktop.sssd.infopipe \
+        /org/freedesktop/sssd/infopipe/Users/LDAP_2eTEST/123 \
+        org.freedesktop.DBus.Properties.Get \
+        string:"org.freedesktop.sssd.infopipe.Users.User" \
+        string:"extraAttributes"
+        """
+        cmd = multihost.master[0].run_command(dbus_send_cmd)
+        assert cmd.returncode == 0
_______________________________________________
sssd-devel mailing list -- sssd-devel@lists.fedorahosted.org
To unsubscribe send an email to sssd-devel-le...@lists.fedorahosted.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedorahosted.org/archives/list/sssd-devel@lists.fedorahosted.org

Reply via email to