summaryrefslogtreecommitdiffstats
path: root/ipatests/test_integration
Commit message (Collapse)AuthorAgeFilesLines
* ipatests: Stop sssd service before deleting the cacheTomas Babej2014-02-101-2/+2
| | | | | | | | In the integration tests, we do not stop the sssd service before deleting the cache, but rather start it. We need to stop sssd before deleting the cache. Reviewed-By: Nathaniel McCallum <npmccallum@redhat.com>
* ipatests: Make sure we re-kinit as admin before adding the disabledipauserTomas Babej2014-02-101-0/+2
| | | | | | | | | When we add the disabledipauser during the setup class part of the BaseTestLegacyClient, we need to make sure that we re-kinit admin since we do ntpsync with the AD just before that, which can render the previous ticket invalid. Reviewed-By: Nathaniel McCallum <npmccallum@redhat.com>
* ipatests: Perform a connection test before preparing the clientTomas Babej2014-02-101-0/+4
| | | | | | | | | | | | When the host is down, the preparation of the host fails. This produces misleading errors, since the test framework reports that the actual command being executed failed, when in fact (in case of SSHTransport), the cause of failure was unability to establish a SSH session. https://fedorahosted.org/freeipa/ticket/4132 Reviewed-By: Nathaniel McCallum <npmccallum@redhat.com>
* ipatests: legacy_clients: Test legacy clients with non-posix trustTomas Babej2014-02-101-13/+76
| | | | | | | | | Adds test cases for legacy client support with IPA that has estabilish trust with AD that does not leverage POSIX attributes defined on AD. https://fedorahosted.org/freeipa/ticket/4134 Reviewed-By: Nathaniel McCallum <npmccallum@redhat.com>
* ipatests: Run restoring backup files and restoring their context in one sessionTomas Babej2014-02-051-10/+14
| | | | | | | | | | | | | | Restoring backup files and restoring their context were two separate commands, what means that in case we use SSHTrasport, which creates a separate SSH session for each command, we try to restore the SELinux context of the changed files in a new session. This causes problems, if the access to files themselves are necessary for the creation of the new SSH session. https://fedorahosted.org/freeipa/ticket/4133 Reviewed-By: Petr Viktorin <pviktori@redhat.com>
* ipatests: Add records for all hosts in master's domainTomas Babej2014-02-051-0/+28
| | | | | | | | | | | | | | All the hosts in the domain have IPA master set as their only nameserver. However, the IPA master does not create records for these machines by default. This is not an big issue for clients or replicas, since those records do get created in other ways, but external hosts using their internal hostnames will not resolve. Adds an A record for each host in master's domain. https://fedorahosted.org/freeipa/ticket/4130 Reviewed-By: Petr Viktorin <pviktori@redhat.com>
* ipatests: test_legacy_clients: Change "test group" to "testgroup"Tomas Babej2014-02-051-2/+2
| | | | | | | | | | The integration test for legacy clients used incorrectly "test group" instead of "testgroup" as group used on AD for test purposes. This is inconsistent with the usage of "testuser". https://fedorahosted.org/freeipa/ticket/4131 Reviewed-By: Petr Viktorin <pviktori@redhat.com>
* integration tests OpenSSHTransport: Expand tilde to home in ↵Petr Viktorin2014-02-051-1/+2
| | | | | | | | | root_ssh_key_filename Expand paths beginning with a tilde, such as the default ~/.ssh/id_rsa, to the home directory. https://fedorahosted.org/freeipa/ticket/4115
* ipatests: Check for legacy_client attribute presence if unapplying fixesTomas Babej2014-01-201-1/+5
| | | | | | | | | | When legacy client tests fail during IPA installation, the legacy client test produces an additional misleading error (the real cause is reported as well). This happens due the fact that we try to cleanup host that was not yet defined. We need to check for this attribute being defined before unapplying fixes there. https://fedorahosted.org/freeipa/ticket/4124
* ipatests: Remove sudo calls from tasksTomas Babej2014-01-201-2/+2
| | | | | | | | Sudo calls are not necessary since we log in as a root. Additionally, sudo requires tty in default configuration, which is not acquired when using OpenSSH transport. https://fedorahosted.org/freeipa/ticket/4125
* test_integration: Log external hostname in Host.ldap_connectPetr Viktorin2013-12-061-1/+1
| | | | This may make debugging easier if the address is set incorrectly.
* test_integration: Support external names for hostsPetr Viktorin2013-12-062-7/+16
| | | | | | | | | | | | The framework had a concept of external hostnames, which the controller uses to contact the test machines, but they were not loaded from configuration. Load external names from configuration. This makes tests pass in setups where internal and external hostnames are different, and the internal hostnames are not initially resolvable from the controller.
* Turn LDAPEntry.single_value into a dictionary-like property.Jan Cholasta2013-11-052-3/+3
| | | | | | This change makes single_value consistent with the raw property. https://fedorahosted.org/freeipa/ticket/3521
* Fix debug output in integration testPetr Viktorin2013-11-041-1/+1
| | | | | | Recent ipaldap work has made LDAPEntry incompatible with python-ldap's LDIFWriter. Convert entry to dict before printing debug output.
* ipatests: test_trust: use domain name instead of realm for user lookupsTomas Babej2013-11-011-3/+6
|
* ipatests: Add integration tests for legacy clientsTomas Babej2013-11-011-0/+261
| | | | Part of: https://fedorahosted.org/freeipa/ticket/3833
* ipatests: Add support for extra roles referenced by a keywordTomas Babej2013-10-314-36/+133
| | | | | | | | | | | | | | | | | | Adds support for host definition by a environment variables of the following form: ROLE_<keyword>_envX, where X is the number of the environment for which host referenced by a role <keyword> should be defined. Adds a required_extra_roles attribute to the IntegrationTest class, which can test developer use to specify the extra roles that this particular test requires. If not all required extra roles are available, the test will be skipped. All extra (and static) roles are accessible to the IntegrationTests via the host_by_role method, which returns a host of given role. Part of: https://fedorahosted.org/freeipa/ticket/3833
* ipatests: Do not use /usr/bin hardcoded pathsTomas Babej2013-10-311-6/+7
| | | | Part of: https://fedorahosted.org/freeipa/ticket/3833
* ipatests: Restore SELinux context after restoring files from backupTomas Babej2013-10-311-0/+12
| | | | Part of: https://fedorahosted.org/freeipa/ticket/3833
* ipatests: Extend clear_sssd_cache to support non-systemd platformsTomas Babej2013-10-311-6/+16
| | | | Part of: https://fedorahosted.org/freeipa/ticket/3833
* Tests: mkdir_recursive: Don't fail when top-level directory doesn't existPetr Viktorin2013-10-301-4/+4
| | | | | | When the directory directly under root (e.g. /etc) did not exist, mkdir_recursive failed. Fix the issue.
* Add test for external CA installationAna Krivokapic2013-10-291-0/+107
| | | | https://fedorahosted.org/freeipa/ticket/3819
* ipatests: Add AD integration test caseTomas Babej2013-10-251-0/+188
| | | | Part of: https://fedorahosted.org/freeipa/ticket/3834
* ipatests: Add AD-integration related tasksTomas Babej2013-10-241-0/+180
| | | | Part of: https://fedorahosted.org/freeipa/ticket/3834
* ipatests: Add WinHost classTomas Babej2013-10-241-0/+19
| | | | Part of: https://fedorahosted.org/freeipa/ticket/3834
* ipatests: Create util module for ipatestsTomas Babej2013-10-241-0/+60
| | | | Part of: https://fedorahosted.org/freeipa/ticket/3834
* ipatests: Extend IntegrationTest with multiple AD domain supportTomas Babej2013-10-241-10/+18
| | | | Part of: https://fedorahosted.org/freeipa/ticket/3834
* ipatests: Extend domain object with 'ad' role support and WinHostsTomas Babej2013-10-241-20/+25
| | | | Part of: https://fedorahosted.org/freeipa/ticket/3834
* ipatests: Add Active Directory support to configurationTomas Babej2013-10-241-2/+28
| | | | Part of: https://fedorahosted.org/freeipa/ticket/3834
* test_simple_replication: Fix waiting for replicationPetr Viktorin2013-10-182-2/+4
| | | | | | | | | | | The integration tests must wait for replication to happen before checking results. In some cases, the tests have failed because the checks that detect completed replication were insufficient. This fixes the code to: - Wait for replication to be completed on both servers - In the case of an error, continue waiting -- it might be the case that the DS is temporarily unreachable
* Use new CLI options in certinstall testsPetr Viktorin2013-10-181-12/+33
| | | | | | | | | | The --pin and --dirman-password options simplified ipa-certinstall usage. Use them in tests. Also add tests for the old way of calling the command. https://fedorahosted.org/freeipa/ticket/3869 http://www.freeipa.org/page/V3/ipa-server-certinstall_CLI_cleanup
* test_caless.TestCertInstall: Fix 'test_no_ds_password' test casePetr Viktorin2013-10-181-1/+1
| | | | The test installed the HTTP cert instead of the DS one.
* Add tests for installing with empty PKCS#12 passwordPetr Viktorin2013-10-041-14/+87
|
* ipatests.test_integration.host: Add logging to ldap_connect()Petr Vobornik2013-10-031-2/+4
|
* ipatests.beakerlib_plugin: Add argument of generated tests to test captionsPetr Viktorin2013-10-031-0/+1
| | | | | | | | | | | To differentiate between individual tests in BeakerLib output, the argument needs to be added to the test name. Since Nose doesn't provide a way to get the argument in a plugin, a `test_argument` attribute must be added to the test function to support this, simlarly to how `description` is used to set individual "docstrings". Add test_argument to the generated tests in the CA-less suite.
* ipatests.test_integration.test_caless: Fix mkdir_recursive callPetr Viktorin2013-10-031-1/+1
|
* test_integration: Add OpenSSHTransport, used if paramiko is not availablePetr Viktorin2013-10-032-2/+140
| | | | | | | | | | This adds a transport that uses /usr/bin/ssh calls to communicate with remote hosts. This transport is a bit slower and buffers output more than paramiko, so it is only used if paramiko is not available, or forced with an environment variable. https://fedorahosted.org/freeipa/ticket/3890
* test_integration.host: Move transport-related functionality to a new modulePetr Viktorin2013-10-034-214/+371
| | | | | | | | | | | | | | | This will make it possible to use a different mechanism for cases like - Paramiko is not available - Hosts without SSH servers (e.g. Windows) Add BaseHost, Transport & Command base classes that define the interface and common functionality, and Host, ParamikoTransport & SSHCommand with specific details. The {get,put}_file_contents methods are left on Host for convenience; all other Transport methods must be now accessed through the transport. Part of the work for https://fedorahosted.org/freeipa/ticket/3890
* Fix RUV search scope in ipa-replica-managePetr Vobornik2013-09-041-0/+10
| | | | | | | | The search had an incorrect scope and therefore it didn't find any RUV. This issue prevented removing of replica. https://fedorahosted.org/freeipa/ticket/3876
* Add integration tests for forced client re-enrollmentAna Krivokapic2013-09-021-0/+278
| | | | | | | Add integration tests for the forced client re-enrollment feature: http://www.freeipa.org/page/V3/Forced_client_re-enrollment#Test_Plan https://fedorahosted.org/freeipa/ticket/3832
* Add CA-less install testsPetr Viktorin2013-08-282-0/+1480
| | | | | | | | | | | | | | | | | | | | | | | Differences from the test plan at http://www.freeipa.org/index.php?title=V3/CA-less_install&oldid=6669 are: - The following tests are included in all applicable positive install tests, rather than being standalone test cases: - Verify CA certificate stored in LDAP - Verify CA PEM file created by IPA server install - Verify that IPA server install does not configure certmonger - Verify CA PEM file created by IPA replica install - Verify that IPA replica install does not configure certmonger - Verify CA PEM file created by IPA client install - PKI setup is done only once for each test class - Master installation is done once for the IPA command tests, and once for the certinstall tests - Certificates are compared after base64 decoding to avoid failures from formatting mismatches - Minor changes necessary for automation (e.g. adding --unattended and --password options, correcting error messages) - Web UI tests are not included here https://fedorahosted.org/freeipa/ticket/3830
* Add integration tests for Kerberos FlagsAna Krivokapic2013-08-271-0/+191
| | | | | | | | Add integration tests for the Kerberos Flags feature: http://www.freeipa.org/page/V3/Kerberos_Flags#Test_Plan (except the web UI tests). https://fedorahosted.org/freeipa/ticket/3831
* Allow freeipa-tests to work with older paramiko versionsPetr Viktorin2013-08-131-2/+18
| | | | | | The integration testing framework used Paramiko SFTP files as context managers. This feature is only available in Paramiko 1.10+. Use an explicit context manager so that we don't rely on the feature.
* test_simple_replication: Wait for replication to finish before checkingPetr Viktorin2013-07-253-19/+81
| | | | | | | Add ldap_connect() method to Host to allow executing querying LDAP from tests. Use information in the mapping tree to poll until all replication is finished (or failing) before checking that entries replicated successfully.
* Add install_topo to test tasksPetr Viktorin2013-07-254-8/+254
| | | | | | | This allows a cluster of replicas and clients to be installed in a named topology. Several named topologies are available (star, line, complete, tree, tree2) and new ones can be defined as a simple function.
* Add more test tasksPetr Viktorin2013-07-253-17/+42
| | | | | | | | - install_client - connect_replica - disconnect_replica - prepare_host - kinit_admin
* test_integration: Set up CA on replicas by defaultPetr Viktorin2013-07-251-6/+11
| | | | | For complex topologies the CA needs to be available on most replicas, since only servgers with a CA can prepare replica files.
* test_integration: Add log collection to HostPetr Viktorin2013-07-253-23/+36
| | | | This allows collecting logs when a test context is not available.
* Integration test config: Make it possible to specify host IPPetr Viktorin2013-07-152-20/+28
|
* Make BeakerLib logging less verbosePetr Viktorin2013-07-152-8/+8
| | | | | | | | | | | | | Logs from Beaker jobs are normally very brief, with the standard output/error containing detailed information. Make ipa-run-tests with BeakerLib plugin follow this convention. Only include INFO and higher level messages in the Beaker logs. Downgrade several message levels to DEBUG. Log to console using Python logging instead of showing the Beaker logs. Since ipa-run-tests sets up its own logging, Nose's own log handling just causes duplicate messages. Disable it with --nologcapture.