freeipa/ipatests/test_xmlrpc
Rob Crittenden dc73813b8a Warn for permissions with read/write/search/compare and no attrs
An ACI with rights of read, write, search and/or compare without
attributes to apply the rights to is effectively a no-op. Allow
the ACI to be created but include a warning. Ignore the add
and delete rights. While they make no sense in the context of
the other rights we should still warn that they are a no-op
with no attributes.

Use the existing make_aci() object method to create the
message and update the add/mod callers to capture and add the
message to the result if one is provided.

When updating an existing ACI the effective attributes will
not be included so fall back to the attributes in the resulting
permission.

Prior to checking for rights and attributes convert any deprecated
names for older clients into the newer values needed by make_aci

This is exercised by existing xmlrpc permission tests that
create such permissions without attributes.

https://pagure.io/freeipa/issue/9188

Signed-off-by: Rob Crittenden <rcritten@redhat.com>
Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
Reviewed-By: Florence Blanc-Renaud <flo@redhat.com>
2022-07-15 16:59:15 +02:00
..
data Add SHA384withRSA as a certificate signing algorithm 2021-07-09 13:21:00 -04:00
tracker xmlrpc tests: updated expected output for preserved user 2022-06-22 20:53:29 +02:00
__init__.py Add marker needs_ipaapi and option to skip tests 2017-12-11 20:40:06 +01:00
mock_trust.py ipatests: adapt expected output with SID 2021-11-02 10:11:28 +01:00
objectclasses.py external-idp: add XMLRPC tests for External IdP objects and idp indicator 2022-05-10 15:52:41 +03:00
test_add_remove_cert_cmd.py pytest: Migrate xunit-style setups to Pytest fixtures 2020-02-12 18:08:32 +02:00
test_attr.py Convert values using _SYNTAX_MAPPING with --delattr 2022-03-16 12:18:35 +02:00
test_automember_plugin.py pytest: Migrate unittest/nose to Pytest fixtures 2020-02-12 18:08:32 +02:00
test_automount_plugin.py pylint: Fix useless-suppression 2022-03-11 13:37:08 -05:00
test_baseldap_plugin.py pylint: Fix useless-suppression 2022-03-11 13:37:08 -05:00
test_batch_plugin.py ipatests: adapt expected output with SID 2021-11-02 10:11:28 +01:00
test_ca_plugin.py tests: fix cleanup for CATracker 2020-07-07 10:07:48 -04:00
test_caacl_plugin.py pytest: Migrate xunit-style setups to Pytest fixtures 2020-02-12 18:08:32 +02:00
test_caacl_profile_enforcement.py pytest: Migrate xunit-style setups to Pytest fixtures 2020-02-12 18:08:32 +02:00
test_cert_plugin.py pylint: Fix use-maxsplit-arg 2022-03-11 13:37:08 -05:00
test_cert_request_ip_address.py fix iPAddress cert issuance for >1 host/service 2020-06-23 10:22:38 +10:00
test_certmap_plugin.py ipaldap: fix conversion from boolean OID to Python 2022-06-10 09:25:27 +02:00
test_certprofile_plugin.py ipaldap: fix conversion from boolean OID to Python 2022-06-10 09:25:27 +02:00
test_config_plugin.py config plugin: add a test ensuring EmptyModlist is returned 2022-01-13 14:20:59 -05:00
test_delegation_plugin.py ipatests: Add test for ACI attribute and permission uniqueness 2020-09-14 09:15:59 +03:00
test_dns_plugin.py ipaldap: fix conversion from boolean OID to Python 2022-06-10 09:25:27 +02:00
test_dns_realmdomains_integration.py ipaldap: fix conversion from boolean OID to Python 2022-06-10 09:25:27 +02:00
test_env_plugin.py ipatests: Add tests for env plugin 2021-06-28 14:16:56 +03:00
test_external_members.py pytest: Migrate unittest/nose to Pytest fixtures 2020-02-12 18:08:32 +02:00
test_group_plugin.py ipatests: adapt expected output with SID 2021-11-02 10:11:28 +01:00
test_hbac_plugin.py ipaldap: fix conversion from boolean OID to Python 2022-06-10 09:25:27 +02:00
test_hbacsvcgroup_plugin.py Performance: Find commands: do not process members by default 2016-05-31 14:08:54 +02:00
test_hbactest_plugin.py Fix E712 comparison to True / False 2020-05-05 10:42:46 +02:00
test_host_plugin.py Fall back to krbprincipalname when validating host auth indicators 2021-07-13 17:57:28 -04:00
test_hostgroup_plugin.py Allow rename of a host group 2020-03-31 09:21:37 +03:00
test_idp_plugin.py external-idp: add XMLRPC tests for External IdP objects and idp indicator 2022-05-10 15:52:41 +03:00
test_idviews_plugin.py ipatests: update the expected output of user-add cmd 2021-11-02 10:11:28 +01:00
test_kerberos_principal_aliases.py ipatests: adapt expected output with SID 2021-11-02 10:11:28 +01:00
test_krbtpolicy.py external-idp: add XMLRPC tests for External IdP objects and idp indicator 2022-05-10 15:52:41 +03:00
test_location_plugin.py pytest: Migrate xunit-style setups to Pytest fixtures 2020-02-12 18:08:32 +02:00
test_nesting.py pytest: Migrate xunit-style setups to Pytest fixtures 2020-02-12 18:08:32 +02:00
test_netgroup_plugin.py ipatests: adapt expected output with SID 2021-11-02 10:11:28 +01:00
test_old_permission_plugin.py Warn for permissions with read/write/search/compare and no attrs 2022-07-15 16:59:15 +02:00
test_otptoken_plugin.py 389-ds OTP lasttoken plugin: Add unit test 2018-02-15 14:10:48 +01:00
test_passwd_plugin.py Replace nose with unittest and pytest 2017-12-12 16:16:58 +01:00
test_permission_plugin.py Warn for permissions with read/write/search/compare and no attrs 2022-07-15 16:59:15 +02:00
test_ping_plugin.py ipalib: move server-side plugins to ipaserver 2016-06-03 09:00:34 +02:00
test_plugins_plugin.py ipatests: Add tests for plugins plugin 2021-06-28 14:16:56 +03:00
test_privilege_plugin.py Warn for permissions with read/write/search/compare and no attrs 2022-07-15 16:59:15 +02:00
test_pwpolicy_plugin.py ipatests: Check maxlife error message where minlife > maxlife specified 2022-03-16 12:17:08 +02:00
test_radiusproxy_plugin.py Test coverage for multiservers for radius proxy 2018-06-13 16:23:18 -04:00
test_range_plugin.py ipatests: update the expected output of user-add cmd 2021-11-02 10:11:28 +01:00
test_realmdomains_plugin.py Prevent installation with single label domains 2017-11-09 11:32:31 +01:00
test_replace.py pytest: Migrate xunit-style setups to Pytest fixtures 2020-02-12 18:08:32 +02:00
test_role_plugin.py tests: account for ID overrides as members of groups and roles 2020-06-08 12:39:34 -04:00
test_schema_plugin.py test_schema_plugin: Add missing tests for command, class and topic commands 2021-09-20 17:53:53 +02:00
test_selfservice_plugin.py ipalib: move server-side plugins to ipaserver 2016-06-03 09:00:34 +02:00
test_selinuxusermap_plugin.py ipaldap: fix conversion from boolean OID to Python 2022-06-10 09:25:27 +02:00
test_service_plugin.py external-idp: add XMLRPC tests for External IdP objects and idp indicator 2022-05-10 15:52:41 +03:00
test_servicedelegation_plugin.py service delegation: allow to add and remove host principals 2020-05-14 21:47:17 +03:00
test_stageuser_plugin.py xmlrpc tests: updated expected output for preserved user 2022-06-22 20:53:29 +02:00
test_sudocmd_plugin.py pytest: Migrate xunit-style setups to Pytest fixtures 2020-02-12 18:08:32 +02:00
test_sudocmdgroup_plugin.py pytest: Migrate xunit-style setups to Pytest fixtures 2020-02-12 18:08:32 +02:00
test_sudorule_plugin.py Improve sudooption docs, make the option multi-value 2021-10-08 10:47:58 +02:00
test_trust_plugin.py ipatests: adapt expected output with SID 2021-11-02 10:11:28 +01:00
test_user_plugin.py Implement LDAP bind grace period 389-ds plugin 2022-05-30 17:24:22 +03:00
test_vault_plugin.py pytest: Migrate unittest/nose to Pytest fixtures 2020-02-12 18:08:32 +02:00
test_whoami_plugin.py Add test: test_xmlrpc/test_whoami_plugin.py 2017-07-12 15:54:55 +02:00
testcert.py Add absolute_import future imports 2018-04-20 09:43:37 +02:00
xmlrpc_test.py pylint: Fix deprecated-class 2022-03-11 13:37:08 -05:00