diff --git a/tests/cfg/nested.yml b/tests/cfg/nested.yml new file mode 100644 index 0000000..c3af93f --- /dev/null +++ b/tests/cfg/nested.yml @@ -0,0 +1,26 @@ +users: + backends_groups: + ad: [Domain Users] + ldap: ['cn=users,ou=group,dc=example,dc=com'] + display_name: Simple Users + subroles: + admin-lv2: + LC_admins: true + backends_groups: + ad: [Domain Users] + ldap: ['cn=nagios admins,ou=group,dc=example,dc=com'] + display_name: Administrators Level 2 + subroles: + admin-lv3: + backends_groups: + ad: [Domain Users, Administrators, Domain Controllers] + ldap: ['cn=dns admins,ou=group,dc=example,dc=com', 'cn=nagios admins,ou=group,dc=example,dc=com', + 'cn=puppet admins,ou=group,dc=example,dc=com',] + display_name: Administrators Level 3 + subroles: {} + developpers: + backends_groups: + ad: [Domain Users] + ldap: ['cn=developpers,ou=group,dc=example,dc=com'] + display_name: Developpers + subroles: {} diff --git a/tests/test_Roles.py b/tests/test_Roles.py index 6d4b53c..2d2e06e 100644 --- a/tests/test_Roles.py +++ b/tests/test_Roles.py @@ -67,6 +67,11 @@ } assert res == expected + def testNested(self): + inv = Roles('./tests/cfg/nested.yml') + expected = {'developpers': {'backends_groups': {'ad': ['Domain Users'], 'ldap': ['cn=developpers,ou=group,dc=example,dc=com', 'cn=users,ou=group,dc=example,dc=com']}, 'display_name': 'Developpers'}, 'admin-lv3': {'backends_groups': {'ad': ['Domain Users', 'Administrators', 'Domain Controllers'], 'ldap': ['cn=nagios admins,ou=group,dc=example,dc=com', 'cn=users,ou=group,dc=example,dc=com', 'cn=puppet admins,ou=group,dc=example,dc=com', 'cn=dns admins,ou=group,dc=example,dc=com']}, 'display_name': 'Administrators Level 3'}, 'admin-lv2': {'backends_groups': {'ad': ['Domain Users'], 'ldap': ['cn=nagios admins,ou=group,dc=example,dc=com', 'cn=users,ou=group,dc=example,dc=com']}, 'display_name': 'Administrators Level 2', 'LC_admins': True}, 'users': {'backends_groups': {'ad': ['Domain Users'], 'ldap': ['cn=users,ou=group,dc=example,dc=com']}, 'display_name': 'Simple Users'}} + assert expected == inv.flatten + def testGetGroupMissingRole(self): inv = Roles('./tests/cfg/roles.yml') try: