Commit Graph
960 Commits
Author SHA1 Message Date
Gabe 5c9b9089b7 Migrate wget references and usage to curl
https://fedorahosted.org/freeipa/ticket/5458

Reviewed-By: Martin Basti <mbasti@redhat.com>
2015-12-11 18:46:10 +01:00
Martin Basti 1e0f1f5197 CI: fix ipa-kra-install on domain level 1
Reviewed-By: Oleg Fayans <ofayans@redhat.com>
2015-12-11 15:11:20 +01:00
Tomas Babej a02f83ff9c tests: Add hostmask detection for sudo rules validating on hostmask
IPA sudo tests worked under the assumption that the clients
that are executing the sudo commands have their IPs assigned
within 255.255.255.0 hostmask.

Removes this (invalid) assumption and adds a
dynamic detection of the hostmask of the IPA client.

https://fedorahosted.org/freeipa/ticket/5501

Reviewed-By: Lukas Slebodnik <lslebodn@redhat.com>
Reviewed-By: Oleg Fayans <ofayans@redhat.com>
Reviewed-By: Ales 'alich' Marecek <amarecek@redhat.com>
2015-12-11 14:25:50 +01:00
Martin Babinsky 7c4ce9a098 fix error message assertion in negative forced client reenrollment tests
https://fedorahosted.org/freeipa/ticket/5511

Reviewed-By: Lukas Slebodnik <lslebodn@redhat.com>
2015-12-11 13:11:54 +01:00
Martin Babinsky 35fae355cc CI tests: ignore disconnected domain level 1 topology on IPA master teardown
Reviewed-By: Oleg Fayans <ofayans@redhat.com>
2015-12-09 09:39:20 +01:00
Martin Basti e4259d5b49 CI: fix function that prepare the hosts file before CI run
Without this fix function removed 2 lines from hosts file.

Reviewed-By: Oleg Fayans <ofayans@redhat.com>
2015-12-08 10:25:50 +01:00
Martin Basti a11cddd75b CI: installation tests
Reviewed-By: Oleg Fayans <ofayans@redhat.com>
2015-12-08 10:07:00 +01:00
Martin Basti bee222372a CI: test various topologies with multiple replicas
Test tests topologies listed bellow with and without CA on replicas:
star topology: 3 replicas
line topology: 3 replicas
complete topology: 3 replicas

Reviewed-By: Oleg Fayans <ofayans@redhat.com>
2015-12-07 16:44:36 +01:00
Tomas Babej 5cb003f0b4 tests: Fix incorrect uninstall method invocation
https://fedorahosted.org/freeipa/ticket/5516

Reviewed-By: Tomas Babej <tbabej@redhat.com>
2015-12-07 10:58:57 +01:00
Petr Vobornik 517aa84569 rename topology suffixes to "domain" and "ca"
https://www.redhat.com/archives/freeipa-devel/2015-November/msg00485.html

Reviewed-By: Martin Basti <mbasti@redhat.com>
Reviewed-By: Jan Cholasta <jcholast@redhat.com>
2015-12-04 12:59:21 +01:00
Martin Basti e56a1535b0 CI test: Fix installation of KRA on a replica
With domain level 1 installation of KRA has been changed on replica.

https://fedorahosted.org/freeipa/ticket/5379

Reviewed-By: Ales 'alich' Marecek <amarecek@redhat.com>
2015-11-18 12:58:09 +01:00
Martin Basti 79f7c71e61 Fix CI tests domain_level env config
Reviewed-By: Ales 'alich' Marecek <amarecek@redhat.com>
2015-11-18 12:57:09 +01:00
Oleg Fayans 511ace9a4f Fixed A record creation bug
When creating an A record we used to provide full hostname as a record name,
while we should have provided only the first part of the hostname

https://fedorahosted.org/freeipa/ticket/5419

Reviewed-By: Martin Basti <mbasti@redhat.com>
2015-11-03 16:14:49 +01:00
Oleg Fayans f9bbfade29 The test was made to be skipped if domainlevel is 0
Reviewed-By: Martin Basti <mbasti@redhat.com>
2015-11-03 16:11:57 +01:00
Oleg Fayans f8778f6e4f Updated the tests according to the new replica installation workflow
As of 4.3 the replica installation is performed without preparing a gpg file on
master, but rather enrolling a future replica as a client with subsequent
promotion of the client. This required the corresponding change in the
integration tests

https://fedorahosted.org/freeipa/ticket/5379

Reviewed-By: Martin Basti <mbasti@redhat.com>
2015-11-03 16:11:57 +01:00
Martin Basti f2032ca2ca DNSSEC CI: wait until DS records is replicated
In some cases replication may take much more time than we expected. This
patch adds explicit cech if DS records has been replicated.

Reviewed-By: Petr Spacek <pspacek@redhat.com>
2015-10-22 18:24:53 +02:00
Martin Basti f4c8c93e70 Rename option --dirsrv-config-mods to --dirsrv-config-file
Option is renamed to be consistent with other options.

Affected tickets:
    https://fedorahosted.org/freeipa/ticket/4949
    https://fedorahosted.org/freeipa/ticket/4048
    https://fedorahosted.org/freeipa/ticket/1930

Reviewed-By: Martin Babinsky <mbabinsk@redhat.com>
2015-10-19 14:18:23 +02:00
Martin Basti 5233165ce7 CI: installation with customized DS config
Test covers:

https://fedorahosted.org/freeipa/ticket/4949
https://fedorahosted.org/freeipa/ticket/4048
https://fedorahosted.org/freeipa/ticket/1930

Reviewed-By: Martin Babinsky <mbabinsk@redhat.com>
2015-10-15 18:37:52 +02:00
Martin Basti 5f3784520b CI Test: add setup_kra options into install scripts
https://fedorahosted.org/freeipa/ticket/5302

Reviewed-By: Milan Kubik <mkubik@redhat.com>
2015-10-12 17:50:22 +02:00
Martin Basti 573d3323af CI TEST: Vault
Simple CI test for vault feature, including testing with replica

Covers https://fedorahosted.org/freeipa/ticket/5302

Reviewed-By: Milan Kubik <mkubik@redhat.com>
2015-10-12 15:15:23 +02:00
Oleg Fayans 2b4354f37e Fixed a timing issue with drill returning non-zero exitcode
Reviewed-By: Martin Basti <mbasti@redhat.com>
2015-10-09 14:07:45 +02:00
Petr Viktorin 65e3b9edc6 Use six.Stringio instead of StringIO.StringIO
The StringIO class was moved to the io module.
(In Python 2, io.StringIO is available, but is Unicode-only.)

Reviewed-By: David Kupka <dkupka@redhat.com>
Reviewed-By: Jan Cholasta <jcholast@redhat.com>
Reviewed-By: Martin Basti <mbasti@redhat.com>
2015-10-07 10:27:20 +02:00
Milan Kubík c22c60b87c ipatests: configure Network Manager not to manage resolv.conf
For the duration of the test, makes resolv.conf unmanaged.
If NetworkManager is not running, nothing is changed.

https://fedorahosted.org/freeipa/ticket/5331

Reviewed-By: Martin Basti <mbasti@redhat.com>
2015-10-02 14:01:50 +02:00
Martin Babinsky 7ab52384be re-kinit after ipa-restore in backup/restore CI tests
In FreeIPA CI-tests the install_master task automatically performs kinit after
successfull installation. This may break some backup/restore tests which
perform backup into previously installed IPA master. In this case it is
neccessary to re-kinit after restore.

https://fedorahosted.org/freeipa/ticket/5326

Reviewed-By: Martin Basti <mbasti@redhat.com>
2015-10-02 12:42:20 +02:00
Oleg Fayans 03d696f224 Added a proper workaround for dnssec test failures in Beaker environment
In beaker lab the situation when master and replica have ip addresses from
different subnets is quite frequent. When a replica has ip from different
subnet than master's, ipa-replica-prepare looks up a proper reverse zone to
add a pointer record, and if it does not find it, it asks a user for permission
to create it automatically. It breaks the tests adding the unexpected input.
The workaround is to always create a reverse zone for a new replica.

Corresponding ticket is https://fedorahosted.org/freeipa/ticket/5306

Reviewed-By: Petr Spacek <pspacek@redhat.com>
Reviewed-By: Martin Basti <mbasti@redhat.com>
2015-10-01 14:46:43 +02:00
Martin Basti 28c25241fe CI: backup and restore with KRA
Reviewed-By: Milan Kubík <mkubik@redhat.com>
2015-09-25 13:22:19 +02:00
Martin Basti 8772fb4c3d backup CI: test DNS/DNSSEC after backup and restore
Reviewed-By: Milan Kubík <mkubik@redhat.com>
2015-09-16 18:20:18 +02:00
Martin Basti 3c33b48655 DNSSEC CI: test master migration
Reviewed-By: Oleg Fayans <ofayans@redhat.com>
2015-09-16 18:03:34 +02:00
Martin Basti f2b309ff4f DNSSEC: improve CI test
Test disabling and re-enabling zone signing.

Reviewed-By: Oleg Fayans <ofayans@redhat.com>
2015-09-16 18:03:34 +02:00
Petr Viktorin 8de13bd7dd Use the print function
In Python 3, `print` is no longer a statement. Call it as a function
everywhere, and include the future import to remove the statement
in Python 2 code as well.

Reviewed-By: Christian Heimes <cheimes@redhat.com>
Reviewed-By: Jan Cholasta <jcholast@redhat.com>
2015-09-01 11:42:01 +02:00
Petr Viktorin ace63f4ea5 Replace uses of map()
In Python 2, map() returns a list; in Python 3 it returns an iterator.

Replace all uses by list comprehensions, generators, or for loops,
as required.

Reviewed-By: Christian Heimes <cheimes@redhat.com>
Reviewed-By: Jan Cholasta <jcholast@redhat.com>
2015-09-01 11:42:01 +02:00
Petr Viktorin 5a9141dc40 Replace filter() calls with list comprehensions
In Python 3, filter() returns an iterator.
Use list comprehensions instead.

Reviewed-By: Christian Heimes <cheimes@redhat.com>
Reviewed-By: Jan Cholasta <jcholast@redhat.com>
2015-09-01 11:42:01 +02:00
Petr Viktorin dd16cc98b0 Use six.string_types instead of "basestring"
Reviewed-By: Christian Heimes <cheimes@redhat.com>
Reviewed-By: Jan Cholasta <jcholast@redhat.com>
2015-09-01 11:42:01 +02:00
Oleg Fayans c7408f67f6 Integration tests for topology plugin
Reviewed-By: Martin Basti <mbasti@redhat.com>
Reviewed-By: Tomas Babej <tbabej@redhat.com>
2015-08-28 16:12:25 +02:00
Oleg Fayans b202afbcc0 Temporary fix for ticket 5240
Reviewed-By: Martin Basti <mbasti@redhat.com>
2015-08-24 16:32:23 +02:00
Oleg Fayans b93137c196 Added a user-friendly output to an import error
Reviewed-By: Martin Basti <mbasti@redhat.com>
2015-08-24 16:31:28 +02:00
Martin Babinsky 1bd099a114 do not install CA on replica during integration test if setup_ca=False
The patch fixes bug in the construction of ipa-replica-install arguments in
test_integration/tasks.install_replica. Due to this bug the replica
installation during certain integration tests involved CA setup even when
setup_ca was set to False.

Reviewed-By: Milan Kubik <mkubik@redhat.com>
2015-04-15 13:09:59 +02:00
Martin Babinsky c8fae594df proper client host setup/teardown in forced client reenrollment integration test suite
Replace setUp()/tearDown() methods with a pytest.fixture for proper client
setup/teardown during test_forced_client_reenrollment

Reviewed-By: Petr Viktorin <pviktori@redhat.com>
Reviewed-By: Milan Kubik <mkubik@redhat.com>
2015-04-14 19:38:04 +02:00
Martin Basti 0a1a3d7312 DNSSEC CI tests
Tests:
* install master, replica, then instal DNSSEC on master
  * test if zone is signed (added on master)
  * test if zone is signed (added on replica)

* install master with DNSSEC, then install replica
  * test if root zone is signed
  * add zone, verify signatures using our root zone

https://fedorahosted.org/freeipa/ticket/4657

Reviewed-By: Milan Kubik <mkubik@redhat.com>
2015-04-14 19:29:36 +02:00
Gabe ae4ee6b533 ipatests: Add tests for valid and invalid ipa-advise
- Add test for invalid run of the ipa-advise command
- Add tests for valid runs of the ipa-advise command

https://fedorahosted.org/freeipa/ticket/4029

Reviewed-By: Tomas Babej <tbabej@redhat.com>
2015-02-26 20:57:49 +01:00
Petr Viktorin 61c4ecccc1 Run pylint on tests
Drop support for pylint < 1.0

Enable ignoring unknown attributes on modules (both nose and pytest
use advanced techniques, support for which only made it to pylint
recently)

Fix some bugs revealed by pylint

Do minor refactoring or add pylint:disable directives where the
linter complains.

Reviewed-By: Tomas Babej <tbabej@redhat.com>
2015-01-14 11:40:28 +01:00
Petr Viktorin bc5b13c3da ipatests: Use pytest-sourceorder
The plugin to run tests within a class in the order they're defined
in the source was split into a separate project.
Use this project instead of a FreeIPA-specific copy.

Reviewed-By: Tomas Babej <tbabej@redhat.com>
2014-12-17 15:37:56 +01:00
Tomas Babej 3507bcd3df ipatests: Invoke class install methods properly with respect to pytest-multihost
Multihost object was is not passed to the install method in the super construction.
This fixes setup errors in AD Trust, Forced client reenrollment, CALess and Sudo
tests.

https://fedorahosted.org/freeipa/ticket/4809

Reviewed-By: Petr Viktorin <pviktori@redhat.com>
2014-12-16 12:20:44 +01:00
Petr Viktorin a97d61df04 test_integration: Parametrize test instead of using a generator
Reviewed-By: Tomas Babej <tbabej@redhat.com>
2014-12-11 07:04:58 +01:00
Petr Viktorin d9ab11a232 test_integration: Use collect_log from the host, not the testing class
The testing class no longer has this method.

Reviewed-By: Tomas Babej <tbabej@redhat.com>
2014-12-11 07:04:58 +01:00
Petr Viktorin 74f7d67fd5 test_integration: Use python-pytest-multihost
The core integration testing functionality was split into a separate
project. Use this project, and configure it for FreeIPA.

The "mh" (multihost) fixture is made available for integration tests.

Configuration based on environment variables is moved into a separate
module, to ease eventual deprecation.

Reviewed-By: Tomas Babej <tbabej@redhat.com>
2014-12-11 07:04:58 +01:00
Petr Viktorin d42c26c542 test_integration: Adjust tests for pytest
- Customize install() instead of setup_class()
- Use pytest parametrization instead of test generators

Reviewed-By: Tomas Babej <tbabej@redhat.com>
2014-11-21 12:14:44 +01:00
Petr Viktorin 29c28786e3 Integration tests: Port the BeakerLib plugin and log collection to pytest
Move the IPA-specific log collection out of the Beakerlib plugin.
Add the --logfile-dir option to tests and ipa-test-task, so that logs
can be collected even if BeakerLib is not used.

https://fedorahosted.org/freeipa/ticket/4610

Reviewed-By: Tomas Babej <tbabej@redhat.com>
2014-11-21 12:14:44 +01:00
Petr Viktorin 0ad5c57f62 Switch integration testing config to a fixture
The hack of storing the config on the class is left in;
it would be too much work for too little gain at this time.

https://fedorahosted.org/freeipa/ticket/4610

Reviewed-By: Tomas Babej <tbabej@redhat.com>
2014-11-21 12:14:44 +01:00
Petr Viktorin 3a9a98b285 Integration tests: Port the ordering plugin to pytest
Ordered integration tests may now be run with pytest.

https://fedorahosted.org/freeipa/ticket/4610

Reviewed-By: Tomas Babej <tbabej@redhat.com>
2014-11-21 12:14:44 +01:00