Commit graph

354 commits

Author SHA1 Message Date
Richard C Isaacson 0446a030d7 Typo fixes. 2014-02-24 11:06:22 -06:00
Richard C Isaacson dcbc69b69c Added script to the new integration tests. 2014-02-24 10:57:22 -06:00
Richard C Isaacson e2a47162d0 Added test for failed_when to non_destructive integration tests. 2014-02-24 09:40:44 -06:00
Richard C Isaacson 0c33e936d4 Adding tests for the command and shell modules. 2014-02-23 14:51:26 -06:00
Azul 89cee747d9 replace test 'wget' package with 'hello' package 2014-02-23 10:46:39 +00:00
James Tanner d29da4cba1 Add iterator tests 2014-02-21 14:26:38 -05:00
James Tanner 65e58c21dd Add test for basic lookups 2014-02-21 11:34:06 -05:00
James Tanner 799fe2c289 Add handlers test 2014-02-21 10:28:27 -05:00
James Tanner d07032fa5a Add async test role 2014-02-21 10:00:01 -05:00
Michael DeHaan 92feed3851 Update README.md 2014-02-20 19:28:06 -05:00
Michael DeHaan f0dd040377 reconnect unit tests to 'make tests' 2014-02-20 19:13:27 -05:00
Michael DeHaan 2177b773c8 Rename tests to test, use old directory name. 2014-02-20 19:11:15 -05:00
Michael DeHaan de600f0040 Move integration tests into tests_new. 2014-02-20 19:10:38 -05:00
Michael DeHaan 379fe02104 Move inventory tests into subdir, prune non-integration tests. 2014-02-20 17:16:58 -05:00
Michael DeHaan fe7d3773ae Various tests using datafiles are being moved into the integration test framework (tests_new right now).
The unit test infrastructure will remain for things that are mocked out and testable with out filesystem
side effects, and a few cases of things that might not be quite so much (like inventory) that can still
benefit from heavy access to the API.

See the 'tests_new/integration' directory, this will soon fold into tests_new.
2014-02-20 17:16:58 -05:00
Michael DeHaan 0581746a80 Removing tests from units that are now implemented in the new upgraded test system. Once
we're a little further along the units directory will be reserved to pure-API tests.
2014-02-20 17:16:58 -05:00
James Cammarata 701af19fad Removing non-ascii logging test for now 2014-02-20 12:48:59 -05:00
Michael DeHaan 6fb02650ff Remove tests for things that are now using the playbook based 'test_new' infra. Units will remain here
after refactoring, WIP, more to come.
2014-02-19 17:57:39 -05:00
Martin Thorsen Ranang 7e23ed345f Avoid breaking on unicode input when logging to syslog in modules
After commit 254f87e, non-ascii input broke logging to syslog.
2014-02-17 23:56:08 +01:00
James Cammarata 9c9a940af6 Merge branch 'fix-5679' of https://github.com/jirutka/ansible into jirutka-fix-5679 2014-02-17 14:54:29 -06:00
Ilya Kuznetsov 0658847ea6 Allow equal sign in single-line ini variables 2014-02-14 20:04:23 +07:00
Michael DeHaan c91ceddfac Add the start of an integration test structure using Ansible playbooks, also added an assert action plugin to make writing those easier. 2014-02-13 18:28:29 -05:00
Richard C Isaacson 6feeb16636 Reverting unarchive tests.
We run into some problems because tar --diff will take into account the file ownership and fail if they don't match.

The real-world implication of this is that we could be doing more unarchives then we need to be doing.
2014-02-12 11:26:42 -06:00
Richard Isaacson eb4a730933 Merge pull request #5969 from risaacson/pull_5136
Updates for the unarchive module and action_plugin.
2014-02-12 10:10:25 -06:00
Richard C Isaacson 598b9c6b7c Cleanup per notes.
Some small changes to per notes from @mpdehann.
2014-02-12 10:01:10 -06:00
Richard C Isaacson cb7c2b7524 Updates for the unarchive module and action_plugin.
There is a bit going on with the changes here. Most of the changes are cleanup of files so that they line up with the standard files.

PR #5136 was merged into the current devel and brought up to working order. A few bug fixes had to be done to get the code to test correctly. Thanks out to @pib!

Issue #5431 was not able to be confirmed as it behaved as expected with a sudo user.

Tests were added via a playbook with archive files to verify functionality.

All tests fire clean including custom playbooks across multiple linux and solaris systems.
2014-02-12 01:57:00 -06:00
James Cammarata ce0b1a8a96 Fixing tests for git 2014-02-11 12:41:49 -05:00
James Tanner 89c89c8ed2 Re-add synchronize unit tests 2014-02-10 23:56:32 -05:00
James Cammarata 3260e695f4 Make tmp paths in TestRunner dynamic based on pid
Fixes #4723
2014-02-05 23:12:31 -06:00
James Cammarata ca0ec800d8 Revising method for parsing ranges from --limit subsets
Also added a new test (test_subset_range) for future validation.

Fixes #4620
2014-02-05 13:58:03 -06:00
Jakub Jirutka 012e3ae206 Fixes #5679: lineinfile ignores newline in line argument 2014-01-19 02:24:26 +01:00
jctanner 59d99c17b3 Merge pull request #5337 from bob-smith/bugfixFQDNParsing
Fix inventory parsing so that FQDN can be parsed without throwing ssh port error
2014-01-14 08:28:38 -08:00
Michael DeHaan 8e5b7d3095 Remove code underlying when_* and only_if, which are deprecated features slated for removal in the 1.5 release. 2014-01-03 19:13:21 -05:00
John Barker 4bf9f714d0 Fix inventory parsing so that FQDN can be parsed without throwing ssh
port parsing errors
Fixes problesm introduced by 948d019fef
Adds testcases to defend
2013-12-18 21:33:05 +00:00
Matthew Thode c0a7f51671 tests depend on the default encoding being utf8
So we set the utils default encoding to be utf8
2013-12-09 12:49:03 -06:00
willthames 40a44ce6ea Ensure test_command tests are actually correct
Using
```
assert 'changed' in result
```
doesn't actually check if something is changed, which is presumably
the reason for the assertion. What is actually needed is
```
assert result.get('changed')
```
which checks that changed is set and not False. Tests still pass after
this change
2013-12-03 12:03:39 +10:00
Eric Johnson 8ff58eb46e fixes #4954 plus updates for gcutil/v1beta16 tests 2013-11-19 22:30:22 +00:00
Rene Moser b5580389f6 host: added test playbook 2013-11-15 18:35:45 +01:00
James Tanner 4391cbfd91 Fix git bare test in el6 by adding origin to remote 2013-11-14 14:42:07 -05:00
jctanner ad5012f930 Merge pull request #4691 from cg-soft/git-bare-ref-repo-support
Add support for bare git reference repos
2013-11-14 10:39:57 -08:00
James Tanner 9e197d3958 Fix bool comparision in recursive copy tests 2013-11-13 16:51:11 -05:00
James Tanner 33242cacf3 Merge pull request #4375 from pfalcon/ansible
copy: Implement recursive copying if src is a directory.
2013-11-13 15:52:40 -05:00
jctanner 9a7765daf7 Merge pull request #4351 from 2m/leading-range-fix
Allow leading ranges in the inventory host entries.
2013-11-13 10:48:57 -08:00
Christian Goetze f41d4ac390 Add support for bare git reference repos
This adds two parameters to the git module:

  bare (boolean)
    Indicates this is to be a bare repositori

  reference (string)
    Indicates the path or url to the reference repo.
    Check out the "--reference" option in the "git clone"
    man page

Added appropriate tests.
2013-10-31 10:56:14 -07:00
James Tanner d154bf8781 Revert templating enhancements from 73dbab70 e6c28658 d409352c 9858b1f2 4587528b 9b1fe455 214b0b05 8d3db803 7f9504d1 5031104c 35cb9dc2 2bd8cb57 1e85c754 2013-10-30 10:50:16 -04:00
Michael DeHaan 603db60828 Merge pull request #4288 from sivel/3725-regex
Add regex (search, match, regex) jinja2 filters. Fixes #3725
2013-10-27 08:48:12 -07:00
Michael DeHaan 3778b39115 Merge pull request #4380 from joshkehn/lineinfile_validate
Added validate option to lineinfile
2013-10-27 08:46:47 -07:00
Michael DeHaan 5031104c3a Finishing touches on template cleanup. 2013-10-19 11:40:48 -04:00
Michael DeHaan 35cb9dc22f Work in progress about cleaning up template code. 2013-10-19 11:39:52 -04:00
Michael DeHaan baa13a5cc7 Merge pull request #4395 from erjohnso/devel
adding Google Compute Engine modules and inventory plugin
2013-10-17 07:30:55 -07:00
Martynas Mickevicius 7ecb5fbc9c Handle comment on inventory group line. 2013-10-17 13:16:35 +03:00
Martynas Mickevicius 44279ce34f Allow leading ranges in the inventory host entries. 2013-10-17 13:16:35 +03:00
Jascha Geerds 76ed19d279 Fix TestInventory class by explicitly using /bin/bash 2013-10-15 21:34:36 +02:00
Paul Sokolovsky 3ad61ef310 copy: Add testcase for recursive copy. 2013-10-15 18:40:40 +03:00
Michael DeHaan 43df00550d Merge pull request #3827 from mscherer/disable_callbacks
add a way for callback to disable itself
2013-10-12 07:03:06 -07:00
Michael DeHaan 2032489617 Prune legacy tests -- many of these are not part of the official API or documented syntax. 2013-10-11 19:31:26 -04:00
Michael DeHaan e8b043332f Remove some obsolete tests (mechanism of error detection suboptimal, replacements pending) 2013-10-11 19:28:53 -04:00
Michael DeHaan add45d2ca9 Fixup legacy var detector. 2013-10-11 19:16:36 -04:00
Michael DeHaan 709ffda3d1 Tweak only_if deprecation detector. 2013-10-11 19:12:25 -04:00
Michael DeHaan 25dc0ef8d7 Remove out of date tests. 2013-10-11 19:09:10 -04:00
Michael DeHaan 800f12618e Remove out of date tests. 2013-10-11 19:08:53 -04:00
Matt Martz 61525a97df Add regex (search, match, regex) jinja2 filters. Fixes #3725 2013-10-11 08:03:04 -05:00
Eric Johnson 9ca824c16d adding Google Compute Engine modules and inventory plugin 2013-10-07 21:01:37 +00:00
Michael DeHaan 8fc46a3a5a Return inventory objects in the order they are presented. Additionally, fix host slicing such that it works on Python terms with
zero indexed lists and a non-inclusive final element.
2013-10-07 15:06:15 -04:00
Joshua Kehn cc0c908cee Added validate option to lineinfile
The validate option is constructed similarly to the template command's
validate option. TestRunner.py has been updated to include two new
tests, one for passing and one for failing validation.
2013-10-06 13:51:27 -04:00
Matt Martz 535ce97067 Add fileglob Jinja2 filter. Fixes #3563 2013-09-30 12:55:13 -05:00
Michael DeHaan ef28d62846 Update TestUtils.py
tests shouldn't be making symlinks to system dirs, also fixes unit test report on OS X.
2013-09-28 11:01:21 -04:00
Jasper Capel d4dec5f577 Allow creating empty inventory
Instantiating the Inventory class with host_list=None now results in an
empty inventory instead of an error.
2013-09-25 15:00:35 +02:00
Michael Scherer 399d57a651 add more tests :
- test part of ansible.runner.filter_plugins.core
 - test ansible.utils.unfrackpath
2013-09-21 13:00:11 +02:00
James Cammarata 3b801dec72 Merge branch 'failed_when' of https://github.com/hnakamur/ansible into hnakamur-failed_when 2013-09-16 07:35:34 -05:00
James Cammarata aac3090909 Merge branch 'play_remote_user' of https://github.com/bcoca/ansible into bcoca-play_remote_user 2013-09-16 05:55:14 -05:00
Hiroaki Nakamura 2357194b39 Add failed_when module variable.
Implementation note: Ternery operator trick for python prior to 2.5 is used.
(test and [when_true_value] or [when_false_value])[0]
http://stackoverflow.com/questions/394809/ternary-conditional-operator-in-python#comment1466794_394887
2013-09-10 08:34:01 +09:00
James Cammarata 8d0487c31e Removing broken tests for now 2013-09-09 15:16:17 -05:00
Brian Coca d47c48e30a Added remote_user to plays
Still compatible with user: but deprecating it so we can have
a matching remote_user: in tasks, cannot be user: because of the
module of the same name. #3932

Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-09-07 16:34:22 -04:00
Michael Scherer a0b73b18c3 add one last test, for combined range, which make ansible.inventory.expand_hosts
covered to 100%
2013-08-23 13:06:31 +02:00
Michael Scherer 64d35cb3b6 test that using non ordered range of char send a exception 2013-08-23 12:58:10 +02:00
Michael Scherer 4f69b63fec add test for incorrect format in range host 2013-08-23 12:51:17 +02:00
Michael Scherer 835fdd1ec2 add test for missing end in host range 2013-08-23 12:42:26 +02:00
Michael Scherer 2aea8a6368 add a test to verify ansible detect invalid range 2013-08-23 12:29:38 +02:00
Michael Scherer 7fec9c3eba add a test to cover bound stepping in inventory 2013-08-23 12:00:39 +02:00
James Cammarata 157b697a83 Merge branch 'always_run-6' of https://github.com/stoned/ansible into stoned-always_run-6 2013-08-22 12:10:28 -05:00
Michael Scherer ddd582269c increase test coverage of inventory by around 5% according to nose 2013-08-21 08:03:41 +02:00
Stoned Elipot f0743fc32a Introduce the 'always_run' task clause.
The 'always_run' task clause allows one to execute a task even in
check mode.

While here implement Runner.noop_on_check() to check if a runner
really should execute its task, with respect to check mode option
and 'always_run' clause.

Also add the optional 'jinja2' argument to check_conditional() :
it allows to give this function a jinja2 expression without exposing
the 'jinja2_compare' implementation mechanism.
2013-08-20 23:09:44 +02:00
Petr Svoboda e3adfbf5f8 Add tests for undefined variable detection
Tests `test_playbook_undefined_varsX_fail` check if ansible detects
undefined variables when `error_on_undefined_vars` is enabled. These
tests fail without "Improve behavior with error_on_undefined_vars
enabled" patch.

Tests `test_playbook_undefined_varsX_ignore` check if ansible ignores
undefined variables when `error_on_undefined_vars` is disabled.

Also modify PlayBook._run_task_internal() so error_on_undefined_vars is
testable.
2013-08-20 00:40:49 -05:00
Michael Scherer b655d5798b add tests for the -i option when used with raw string for ipv4
and ipv6 addresses.
2013-08-19 15:27:21 -05:00
Michael Scherer 498a550f01 add test for the disabling of callback plugins 2013-08-15 00:05:33 +02:00
Michael DeHaan 4bdbe4dc4f Remove some test prints 2013-08-10 17:37:04 -04:00
Michael DeHaan 76fd769704 Merge pull request #3685 from mspaulding06/indexed_items
Indexed items lookup plugin
2013-08-03 11:36:51 -07:00
Michael DeHaan 3ebbb56479 Merge pull request #3654 from MaxIV-KitsControls/devel
Fix nested loop for more than 3 elements
2013-08-01 17:11:26 -07:00
Matt Spaulding b7154cf2cf Add tests for indexed_items lookup plugin 2013-07-28 14:16:25 -07:00
Vincent Hardion 09ef7751e1 Fix nested loop for more than 3 elements
- combine flatten list for each nested level instead once at the end
2013-07-24 14:19:13 +02:00
Stoned Elipot a1503c4d59 stringify conditional before handing it to Jinja2 for evaluation.
This should fix simple conditionals like:

    when: ansible_selinux

While here add tests for ansible.utils.check_conditional() in
"jinja2_compare mode".
2013-07-23 22:24:53 +02:00
Michael DeHaan 88720516a1 Merge branch 'changed_when' of git://github.com/stoned/ansible into changed_when 2013-07-21 10:14:03 -04:00
Tin Tvrtkovic 4a732c1e9f Enabled the use of extra vars in playbook file paths when including playbooks from other playbooks. 2013-07-18 22:45:18 +02:00
Stoned Elipot eb45f07ae3 Introduce 'changed_when' keyword to override a task's changed status with the evaluation of a Jinja2 expression 2013-07-14 21:07:45 +02:00
Stoned Elipot baf868f825 Add test for 'ignore_errors:' 2013-07-01 02:31:16 +02:00
Dale Sedivec b32131c867 expanduser on each component of plug-in paths
ansible.constants was calling expanduser (by way of shell_expand_path)
on the entire configured value for the library and *_plugins
configuration values, but these values have always been interpreted as
multiple directories separated by os.pathsep.  Thus, if you supplied
multiple directories for one of these values, typically only the first
(at least on *nix) would have e.g. "~" expanded to HOME.

Now PluginLoader does expansion on each individual path in each of
these variables.
2013-06-22 17:01:12 -05:00
George Miroshnykov c642ba77ae Added basic support for hash_behaviour=merge in roles
Dict vars passed to roles are now properly merged
instead of simply overriding dict vars that are
coming from vars_files.
2013-06-19 09:14:20 +03:00
Michael DeHaan 4ae3ef8af9 Disable inventory test 2013-06-03 11:52:42 -04:00
Pol Llovet 4432c01ceb Handle '#' in var strings by splitting on ' #'
If someone has a " #" in a quoted var string, it
will interpret that as a comment and refuse to
load the inventory file due to an unbalanced
quote. Noisy failure > unexpected behavior.
2013-05-31 12:34:45 -06:00