URL: https://github.com/SSSD/sssd/pull/726 Author: jhrozek Title: #726: TESTS: Add a simple integration test for retrieving the extraAttributes property Action: synchronized
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 c494f3e7eca0c3e481fed3266a4a02d27f93ee3c 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 | 27 +++++++++++++++++++++++ 2 files changed, 58 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 6c316628bf..9d575e6753 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 0000000000..3fe01b55f1 --- /dev/null +++ b/src/tests/multihost/basic/test_ifp.py @@ -0,0 +1,27 @@ +""" +InfoPipe test cases +""" + +import pytest + + +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