freeipa/ipatests/test_integration
Alexander Bokovoy 6c5f2bcb30 ipaldap: fix conversion from boolean OID to Python
In IPA framework we don't properly convert to Python bool type and just
return a string (TRUE or FALSE). This can be seen with many boolean
attributes, like

        Bool('idnsallowdynupdate?',
            cli_name='dynamic_update',
            label=_('Dynamic update'),
            doc=_('Allow dynamic updates.'),
            attribute=True,
            default=False,
            autofill=True
        ),

in 'ipa dnszone-show':

> > > api.Command.dnszone_show('ipa.test')['result']['idnsallowdynupdate']
['TRUE']

This is because we don't have the reverse (from LDAP to Python) mapping
for the LDAP boolean OID 1.3.6.1.4.1.1466.115.121.1.7.

When Web UI asks for the entry, it gets back JSON output that contains
this 'TRUE' value:

            "idnsallowdynupdate": [
                "TRUE"
            ],

Add proper mapping from LDAP to Python bool type. With this, a simple
'checkbox' type can be used in Web UI instead of a complex radio-box
setup.

Note that when IPA API is asked to return raw values, 'TRUE' and 'FALSE'
still returned. These are the actual LDAP boolean attribute values. Care
needs to be done in tests:

 - if output is from a command with --raw option, 'TRUE' or 'FALSE'
   should be expected

 - if output if from a normal (non-raw) command, True or False would be
   returned

Fixes: https://pagure.io/freeipa/issue/9171

Signed-off-by: Alexander Bokovoy <abokovoy@redhat.com>
Reviewed-By: Rob Crittenden <rcritten@redhat.com>
Reviewed-By: Florence Blanc-Renaud <flo@redhat.com>
2022-06-10 09:25:27 +02:00
..
__init__.py Add marker needs_ipaapi and option to skip tests 2017-12-11 20:40:06 +01:00
base.py Add tests for Random Serial Number v3 support 2022-06-09 08:35:15 +02:00
test_acme.py ipatests: remove redundant kinit from test 2021-11-03 10:55:49 +01:00
test_adtrust_install.py ipatests: use krb5_trace in TestIpaAdTrustInstall 2021-08-05 15:19:33 +02:00
test_advise.py pylint: Synchronize pylint plugin to ipatests code 2020-02-12 18:08:32 +02:00
test_authselect.py ipatests: add new test with --subid installer option 2022-05-25 08:11:39 +03:00
test_automember.py pylint: Fix useless-suppression 2022-03-11 13:37:08 -05:00
test_backup_and_restore.py ipatests: fix the topologysegment-reinitialize command 2022-04-07 14:19:28 +02:00
test_ca_custom_sdn.py test_integration: add tests for custom CA subject DN 2019-10-17 08:17:46 +02:00
test_caless.py pylint: Fix useless-suppression 2022-03-11 13:37:08 -05:00
test_cert.py ipatests: remove test_rekey_keytype_DSA 2022-05-04 13:45:02 -04:00
test_cli_ipa_not_configured.py ipatests: Test for ipa-backup with ipa not configured 2019-08-27 12:04:45 +02:00
test_commands.py ipaldap: fix conversion from boolean OID to Python 2022-06-10 09:25:27 +02:00
test_crlgen_manage.py ipatests: fix test_crlgen_manage 2019-11-29 11:17:13 +01:00
test_custom_plugins.py ipatests: add suite for testing custom plugins 2021-08-05 17:36:46 +02:00
test_customized_ds_config_install.py ipatests: do not configure nameserver when installing client and replica 2021-03-04 18:47:32 +01:00
test_dns_locations.py Add URI system records for KDC 2021-08-31 18:28:27 -04:00
test_dns.py Tests for fake_mname parameter setup 2020-08-06 18:43:53 +02:00
test_dnssec.py ipatests: dnssec: Add alternative approach for checking chain of trust 2021-05-25 10:45:49 +03:00
test_epn.py ipatests: update the expected sha256sum of epn.conf file 2022-05-02 16:11:04 -04:00
test_external_ca.py ipatests: TestMultipleExternalCA: Create tempfiles on remote host 2021-10-28 16:29:01 -04:00
test_fips.py Test installation with (fake) userspace FIPS 2019-11-14 16:01:15 +01:00
test_forced_client_reenrollment.py ipatests: do not manually modify /etc/resolv.conf in tests 2021-03-04 18:47:32 +01:00
test_http_kdc_proxy.py ipatests: add test for kdcproxy handling reply split to several TCP packets 2021-03-18 13:41:49 +01:00
test_idp.py ipatests: Add integration tests for External IdP support 2022-05-23 08:38:40 +03:00
test_idviews.py ipatests: fix the method adding ifp to sssd.conf 2020-06-24 17:22:24 -04:00
test_installation_client.py ipatests: Test unsecure nsupdate. 2021-08-12 16:35:52 -04:00
test_installation.py Add tests for Random Serial Number v3 support 2022-06-09 08:35:15 +02:00
test_ipa_cert_fix.py ipatests: Fix a call to run_command with wildcard 2022-03-19 11:20:50 +01:00
test_ipahealthcheck.py Add tests for Random Serial Number v3 support 2022-06-09 08:35:15 +02:00
test_kerberos_flags.py Rename pytest_plugins to ipatests.pytest_ipa 2018-08-02 17:07:43 +02:00
test_krbtpolicy.py test_krbtpolicy: skip SPAKE-related tests in FIPS mode 2022-03-16 11:14:35 +02:00
test_legacy_clients.py ipatests: Fetch sudo rules without time offset 2021-06-03 09:21:45 +03:00
test_membermanager.py Show group-add/remove-member-manager failures 2019-11-20 17:08:40 +01:00
test_netgroup.py Rename pytest_plugins to ipatests.pytest_ipa 2018-08-02 17:07:43 +02:00
test_nfs.py Remove the --no-sssd option from ipa-client-automount 2022-03-18 09:40:37 +01:00
test_ntp_options.py ipatests: interactive install prompts for netbios name 2021-11-02 10:11:28 +01:00
test_otp.py test_otp: do not use paramiko unless it is really needed 2022-03-16 11:14:35 +02:00
test_pki_config_override.py Fix and extend pki config override test 2019-04-24 17:08:24 +02:00
test_pkinit_manage.py Ensure that KDC cert has SAN DNS entry 2021-01-29 13:36:41 -05:00
test_pwpolicy.py Don't duplicate the LDAP gracelimit set in the previous test 2022-06-03 09:57:52 +02:00
test_random_serial_numbers.py Add tests for Random Serial Number v3 support 2022-06-09 08:35:15 +02:00
test_replica_promotion.py ipatests: Give the subCA more time to be loaded by the CA 2022-03-15 08:36:18 +01:00
test_replication_layouts.py Rename pytest_plugins to ipatests.pytest_ipa 2018-08-02 17:07:43 +02:00
test_resolvers_manager.py ipatests: add utility for managing domain name resolvers 2021-03-04 18:47:32 +01:00
test_server_del.py pylint: Fix consider-using-dict-items 2022-03-11 13:37:08 -05:00
test_service_permissions.py Rename pytest_plugins to ipatests.pytest_ipa 2018-08-02 17:07:43 +02:00
test_simple_replication.py Extend test to see if replica is not shown when running ipa-replica-manage list -v <FQDN> 2021-11-29 15:21:11 +01:00
test_smb.py pylint: Fix useless-suppression 2022-03-11 13:37:08 -05:00
test_sssd.py pylint: Fix useless-suppression 2022-03-11 13:37:08 -05:00
test_subids.py ipatests: test_subids: test subid-match shows UID of the owner 2022-06-01 13:53:23 +02:00
test_sudo.py ipatests: test addition of invalid sudo command 2021-02-15 09:59:41 +02:00
test_testconfig.py ipatests: mock resolver factory 2021-03-04 18:47:32 +01:00
test_topologies.py Fix comparison-with-callable 2018-11-13 13:37:58 +01:00
test_topology.py ipatests: extend find_segment with suffix param 2022-04-07 14:19:28 +02:00
test_trust.py ipatests: fix wrong condition in xfail_context for auto private grp 2022-04-25 09:04:17 +02:00
test_uninstallation.py ipatests: do not configure nameserver when installing client and replica 2021-03-04 18:47:32 +01:00
test_upgrade.py Configure and enable the graceperiod plugin on upgrades 2022-06-02 15:24:22 -04:00
test_user_permissions.py ipatests: test_user_permissions: test_selinux_user_optimized Paramiko=>OpenSSH 2020-07-29 13:53:52 +02:00
test_vault.py Fix E266 too many leading '#' for block comment 2020-05-05 10:42:46 +02:00
test_winsyncmigrate.py pylint: Fix use-maxsplit-arg 2022-03-11 13:37:08 -05:00