Brian Coca
b2fc5142eb
moved sudo -S and -n into configurable flags as they might be absent in much older systems
...
if password is supplied exsiting -n would get remove from flags
2015-10-28 02:06:25 -04:00
Toshio Kuratomi
4203850d1a
Break apart a looped dependency to show a warning when parsing playbooks
...
Display a warning when a dict key is overwritten by pyyaml
Fixes #12888
2015-10-27 12:39:42 -07:00
Brian Coca
f78c82b9ee
don't set user to current user
...
also remove condition to bypass setting user if user matches current user
this enables forcing user when set to the same user as current user and ignoring .ssh/config
while keeping .ssh/config with current user if nothing is specified.
2015-10-23 23:15:45 -04:00
Toshio Kuratomi
ce2b18174e
Merge pull request #12878 from ansible/invocation-fix
...
Invocation fix
2015-10-22 16:17:40 -07:00
Toshio Kuratomi
2e87c1f74e
Two fixes to action plugins
...
* Fix the task_vars parameter to not default to a mutable type (dict)
* Implement invocation in the base class's run() method have each action
module call the run() method's implemention in the base class.
* Return values from the action plugins' run() method takes the return
value from the base class run() method into account so that invocation
makes its way to the output.
Fixes #12869
2015-10-22 16:07:26 -07:00
James Cammarata
86de1429e5
Cleaning up FIXMEs
2015-10-22 16:03:50 -04:00
Toshio Kuratomi
5a0e63af1e
Workaround seeming bug in python-2.6's sys.exit()
2015-10-21 11:54:02 -07:00
Toshio Kuratomi
6e5055e786
Update the use of no_log values to cover everything that heuristic_log_sanitize does.
...
Fixes #12792
2015-10-21 08:15:46 -07:00
Toshio Kuratomi
c2d188baff
Hide values in json returns which were given in parameters marked no_log.
2015-10-20 12:42:36 -07:00
Brian Coca
6d87bd405d
Merge pull request #12765 from bcoca/lookup_inventory_hostname
...
implemented inventory_hostname lookup in v2
2015-10-16 15:05:23 -04:00
Marius Gedminas
ec3ada1cda
Fix test on Python 3: vault code expects bytes
...
(All tests now succeed on Python 3.5)
2015-10-16 09:13:46 +03:00
Marius Gedminas
5c70f932bd
Fix test on Python 3: vault code expects bytes
...
(Third failing test out of four.)
2015-10-16 09:12:49 +03:00
Marius Gedminas
a1d95536f9
Fix test on Python 3: vault code expects bytes
...
(Different test than the last commit.)
2015-10-16 09:11:34 +03:00
Marius Gedminas
f58f0c62e1
Fix test on Python 3: vault code expects bytes
2015-10-16 09:10:25 +03:00
Brian Coca
9b088a1e40
implemented inventory_hostname lookup in v2
2015-10-15 13:11:42 -04:00
Marius Gedminas
225fe85530
Skip test_module_utils_basic_ansible_module_creation on Python 3
...
This reverts commit 073f10a52a
and instead
disables the failing test.
We're focusing on Python 3 support on the controller first; modules will
come later.
2015-10-14 09:32:26 +03:00
James Cammarata
e6d3c6745f
Revert to using local file/dir tests in inventory instead of loader's
...
Fixes #12719
2015-10-13 12:04:01 -04:00
Toshio Kuratomi
15d7f53846
AnsibleModules.log() fix for python3
...
Also add unittests for AnsibleModules.log()
Fixes #12586
2015-10-12 13:30:27 -07:00
James Cammarata
0e1a5919c8
Adding unit tests for PlaybookExecutor _get_serialized_batches
2015-10-12 11:27:37 -04:00
Brian Coca
abf2e13955
Revert "Track local_action internally to prevent it from being overridden"
...
This reverts commit 49ca0eb797
.
2015-10-09 13:01:32 -04:00
James Cammarata
de792ba3c2
Improve handling of unicode errors
...
Fixes #12669
2015-10-08 10:04:15 -04:00
Marius Gedminas
0371b14567
Fix test: selinux gets passed byte strings
...
(I don't have a system with selinux to test if the module still wants
byte strings even on Python 3.)
2015-09-30 18:46:50 +03:00
Marius Gedminas
500e7a1263
Fix test: _to_filesystem_str produces byte strings
2015-09-30 18:46:49 +03:00
Marius Gedminas
f7571cb37f
Python 3: there's no __builtin__ module
...
This caused an ImportError in a test module and showed up as one test
failure. Now the test module can get imported and many more tests fail
(on Python 3). Such is life. ;-)
2015-09-30 18:40:47 +03:00
Brian Coca
ddafed4403
Merge pull request #12528 from bcoca/task_logging
...
task logging revamp
2015-09-30 11:38:34 -04:00
James Cammarata
6339bf8a82
Merge branch 'tests' of https://github.com/amenonsen/ansible into amenonsen-tests
2015-09-30 08:06:52 -04:00
James Cammarata
dfa33d0f23
Tweak variable manager use in role includes to avoid test failures
2015-09-30 08:05:55 -04:00
Abhijit Menon-Sen
d100db837b
Add basic tests for expand_hostname_range
2015-09-30 16:28:45 +05:30
Abhijit Menon-Sen
838e71edb7
Add more exhaustive tests for various IPv6 address notations
2015-09-30 16:15:39 +05:30
Brian Coca
37a918438b
task logging revamp
...
* allow global no_log setting, no need to set at play or task level, but can be overriden by them
* allow turning off syslog only on task execution from target host (manage_syslog), overlaps with no_log functionality
* created log function for task modules to use, now we can remove all syslog references, will use systemd journal if present
* added debug flag to modules, so they can make it call new log function conditionally
* added debug logging in module's run_command
2015-09-25 23:57:28 -04:00
James Cammarata
ccddda1ebc
Merge pull request #12502 from mgedmin/py3k
...
Python 3: make test_variable_manager_precedence pass
2015-09-25 03:05:02 -04:00
James Cammarata
31d5f88a1d
Use the task loop to calculate multiple delegated hosts
...
Due to the way we're now calculating delegate_to, if that value is based
on a loop variable ('item') we need to calculate all of the possible
delegated_to variables for that loop.
Fixes #12499
2015-09-25 01:41:09 -04:00
Toshio Kuratomi
a1428d6bed
Remove tmp as a parameter to the connection plugins
...
There doesn't appear to be anything that actually uses tmp_path in the
connection plugins so we don't need to pass that in to exec_command.
That change also means that we don't need to pass tmp_path around in
many places in the action plugins any more. there may be more cleanup
that can be done there as well (the action plugin's public run() method
takes tmp as a keyword arg but that may not be necessary).
As a sideeffect of this patch, some potential problems with chmod and
the patch, assemble, copy, and template modules has been fixed (those
modules called _remote_chmod() with the wrong order for their
parameters. Removing the tmp parameter fixed them.)
2015-09-24 13:33:57 -07:00
Toshio Kuratomi
03127dcfae
remove the stdin return value from connection plugin exec_command() methods
...
The value was useless -- unused by the callers and always hardcoded to
the empty string.
2015-09-24 08:57:19 -07:00
Marius Gedminas
0624797375
Bugfix: if you define a custom __eq__, you must define a __hash__ too
...
Also, on Python 3 the stock object.__hash__ raises an error ("unhashable
type"), and we have code that uses Host instances as dict keys.
2015-09-24 12:46:06 +03:00
Marius Gedminas
a2bc6b4b26
Bugfix: if you define __eq__, you should define __ne__ too
2015-09-24 12:43:33 +03:00
Marius Gedminas
5d29a2eabd
Python 3: shlex.split() wants unicode
...
On Python 2, shlex.split() raises if you pass it a unicode object with
non-ASCII characters in it. The Ansible codebase copes by explicitly
converting the string using to_bytes() before passing it to
shlex.split().
On Python 3, shlex.split() raises ('bytes' object has no attribute 'read')
if you pass a bytes object. Oops.
This commit introduces a new wrapper function, shlex_split, that
transparently performs the to_bytes/to_unicode conversions only on
Python 2.
Currently I've only converted one call site (the one that was causing a
unit test to fail on Python 3). If this approach is deemed suitable,
I'll convert them all.
2015-09-24 12:36:05 +03:00
Abhijit Menon-Sen
2fcdb37e7b
Support «hosts: groupname[1:]» notation (~= 'the rest of the group')
2015-09-18 22:28:34 +05:30
Abhijit Menon-Sen
21142f5723
Add some tests for split/apply_subscript
2015-09-18 22:15:28 +05:30
Abhijit Menon-Sen
2d420a9bb7
Allow hexadecimal ranges in IPv6 addresses, not only 0-9
2015-09-17 23:32:58 +05:30
James Cammarata
951128d7a6
Merge branch 'hostpatterns' of https://github.com/amenonsen/ansible into amenonsen-hostpatterns
2015-09-17 13:31:51 -04:00
Victor Salgado
01ae60d524
Add more tests for _split_pattern for when the input is a list
2015-09-17 13:50:40 -03:00
Abhijit Menon-Sen
abd006657b
Add test/units/inventory with a few _split_pattern tests
...
There were no inventory-specific unit tests earlier, so we add a new
directory for them with some initial low-level tests of _split_pattern
with various valid and deprecated pattern strings.
2015-09-17 19:32:14 +05:30
Florian Apolloner
d9f873495e
Ported over #7158 to support SELinux context switches.
2015-09-17 15:03:46 +02:00
Florian Apolloner
8548690ca3
Added a test to ensure that sudo is only used if remote and become user difer.
2015-09-17 14:25:52 +02:00
Brian Coca
b6d6c2e4db
corrected all missing paths changes
2015-09-15 11:57:54 -04:00
James Cammarata
36b5858f51
Fix unit tests for change related to local_action
2015-09-14 14:07:17 -04:00
James Cammarata
49ca0eb797
Track local_action internally to prevent it from being overridden
...
Fixes #12053
2015-09-14 12:11:58 -04:00
Abhijit Menon-Sen
7479ab47e0
Be stricter about parsing hostname labels
...
Labels must start with an alphanumeric character, may contain
alphanumeric characters or hyphens, but must not end with a hyphen.
We enforce those rules, but allow underscores wherever hyphens are
accepted, and allow alphanumeric ranges anywhere.
We relax the definition of "alphanumeric" to include Unicode characters
even though such inventory hostnames cannot be used in practice unless
an ansible_ssh_host is set for each of them.
We still don't enforce length restrictions—the fact that we have to
accept ranges makes it more complex, and it doesn't seem especially
worthwhile.
2015-09-11 21:47:19 +05:30
Abhijit Menon-Sen
065bb52109
Be systematic about parsing and validating hostnames and addresses
...
This adds a parse_address(pattern) utility function that returns
(host,port), and uses it wherever where we accept IPv4 and IPv6
addresses and hostnames (or host patterns): the inventory parser
the the add_host action plugin.
It also introduces a more extensive set of unit tests that supersedes
the old add_host unit tests (which didn't actually test add_host, but
only the parsing function).
2015-09-11 21:47:18 +05:30
Marius Gedminas
f91b28ef23
Fix safe_eval() of set literals
...
There was code to support set literals (on Python 2.7 and newer), but it
was buggy: SAFE_NODES.union() doesn't modify SAFE_NODES in place,
instead it returns a new set object that is then silently discarded.
I added a unit test and fixed the code. I also changed the version
check to use sys.version_tuple instead of a string comparison, for
consistency with the subsequent Python 3.4 version check that I added in
the previous commit.
2015-09-11 09:41:05 +03:00
James Cammarata
444987cde6
Fix unit test for plugins after basedir/push_basedir removal
2015-09-10 17:01:52 -04:00
Toshio Kuratomi
e2c49b4ef4
Fix problem with "=" in the initial file path.
2015-09-09 11:14:31 -07:00
Toshio Kuratomi
3a50393cf7
Merge pull request #12269 from mgedmin/py3k
...
Python 3: fix TypeError: unorderable types in test
2015-09-08 18:11:31 -07:00
Toshio Kuratomi
c1039de70c
Compatibility with six-1.3.0
2015-09-08 09:46:12 -07:00
James Cammarata
ac6f61ec7f
Properly handle group/host_var files with dots in them
...
Fixes #12245
2015-09-08 03:20:09 -04:00
Marius Gedminas
c22f4ee697
Add a comment explaining why async = 1 in the test
2015-09-07 19:46:05 +03:00
Marius Gedminas
1a1c9203e2
Python 3: fix TypeError: unorderable types in test
...
The full error was
======================================================================
ERROR: test_task_executor_execute (units.executor.test_task_executor.TestTaskExecutor)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/mg/src/ansible/test/units/executor/test_task_executor.py", line 252, in test_task_executor_execute
mock_action.run.return_value = dict(ansible_facts=dict())
File "/home/mg/src/ansible/lib/ansible/executor/task_executor.py", line 317, in _execute
if self._task.async > 0:
TypeError: unorderable types: MagicMock() > int()
----------------------------------------------------------------------
Experiments show that Python 2 MagicMock() > 0 is true, so I'm setting
the async property on mock_task to 1. (If I set it to 0, the test fails
anyway.)
2015-09-07 09:49:28 +03:00
James Cammarata
ff9f5d7dc8
Starting to add additional unit tests for VariableManager
...
Required some rewiring in inventory code to make sure we're using
the DataLoader class for some data file operations, which makes mocking
them much easier.
Also identified two corner cases not currently handled by the code, related
to inventory variable sources and which one "wins". Also noticed we weren't
properly merging variables from multiple group/host_var file locations
(inventory directory vs. playbook directory locations) so fixed as well.
2015-09-04 16:41:38 -04:00
Brian Coca
c17fbf2f12
simplify become testing and handling, we had drifted and were doulbe checking prompt, become and become_pass
...
fixed tests to conform to new signature and now tests both with and w/o password
now we are more explicit about self.prompt
2015-09-04 10:36:16 -04:00
Toshio Kuratomi
e218bf8da9
Do not escape backslashes when processing a template file.
...
Fixes #12198
Fixes #12241
2015-09-03 17:45:17 -07:00
James Cammarata
b2cb3153f1
Fix unit tests for PlayIterator changes regarding fact gathering
2015-09-03 14:25:43 -04:00
Marius Gedminas
a32bf1ec18
Simplify FactCache.copy()
...
Also fix the bug (missing from six import iteritems) I introduced in
823677b490
.
2015-09-03 09:44:44 +03:00
Marius Gedminas
823677b490
Replace .iteritems() with six.iteritems()
...
Replace .iteritems() with six.iteritems() everywhere except in
module_utils (because there's no 'six' on the remote host). And except
in lib/ansible/galaxy/data/metadata_template.j2, because I'm not sure
six is available there.
2015-09-03 09:23:27 +03:00
Toshio Kuratomi
1b64702b9a
Fix templar unittests for change in preserve_trailing_newline parameter's default value
2015-09-02 11:58:01 -07:00
James Cammarata
45aac6a739
Adding unit tests for safe_eval
2015-09-02 14:12:06 -04:00
James Cammarata
843138e7d9
Merge pull request #12202 from mgedmin/py3k
...
Use rich comparisons for Attribute and FieldAttribute
2015-09-02 13:57:04 -04:00
Toshio Kuratomi
9ecfc30f9a
* Mark all strings as unicode -- shouldn't matter for this dataset but
...
ansible is passing unicode arond internally so we should test the same
data.
* Add a zero length test for _count_newlines and fix the zero newlines
test to have no newlines.
2015-09-02 09:43:42 -07:00
Toshio Kuratomi
417bf1c805
Unittest the _count_trailing_newlines function
2015-09-02 08:59:31 -07:00
Brian Coca
a7231c2203
actually implemented flags correctly for all priv escalation methods
2015-09-02 11:31:39 -04:00
Brian Coca
14f061d5ea
fixed become tests
2015-09-02 10:30:00 -04:00
Marius Gedminas
33a374edde
Use rich comparisons for Attribute and FieldAttribute
...
Because __cmp__ is not supported on Python 3.
2015-09-02 12:33:42 +03:00
Toshio Kuratomi
aeff960d02
Cleanup combine_vars
...
* Dedupe combine_vars() code (removed from VariableManager)
* Fix merge_hash algorithm to preserve the type
* unittest combine_vars and merge_hash
2015-09-01 11:23:12 -07:00
Toshio Kuratomi
7f5080f64a
Fix backslash escaping inside of jinja2 expressions
...
Fixes #11891
2015-08-31 13:17:26 -07:00
James Cammarata
ccaf47bd97
Fix unit tests broken by 057712c1
2015-08-28 16:44:04 -04:00
Marius Gedminas
709dbbc7db
Use 0oNNN octal syntax in test/
2015-08-27 22:15:57 +03:00
Abhijit Menon-Sen
4f3a98eff6
Update Vault tests to make sure AES decryption works
...
Note that this test was broken in devel because it was really just
duplicating the AES256 test because setting v.cipher_name to 'AES'
no longer selected AES after it was de-write-whitelisted.
Now that we've removed the VaultAES encryption code, we embed static
output from an earlier version and test that we can decrypt it.
2015-08-27 18:36:05 +05:30
Abhijit Menon-Sen
b84053019a
Make the filename the first argument to rekey_file
2015-08-26 19:54:59 +05:30
Abhijit Menon-Sen
c4b2540ecc
Update tests for VaultEditor API changes
2015-08-26 19:52:20 +05:30
Toshio Kuratomi
56ae3a032f
Merge pull request #12075 from ansible/fix-vault-unicode
...
Unicode and other fixes for vault
2015-08-25 14:49:15 -07:00
Toshio Kuratomi
a3fd4817ef
Unicode and other fixes for vault
2015-08-25 12:43:09 -07:00
Brian Coca
846f0b0510
changed no_log expected type to new value
2015-08-25 10:20:47 -04:00
Ryan Petrello
1886307845
Fix a parsing bug that prevents IPv6 addresses from being used with add_host
...
Closes #8682
2015-08-23 22:50:47 +05:30
Brian Coca
69f380da3a
changed mod_args test to match connection
2015-08-19 00:34:37 -04:00
Brian Coca
ab355218a0
fixed test to new parser options
2015-08-18 03:34:38 -04:00
Brian Coca
ee21ebaffc
Merge pull request #11975 from mutemule/become_doas
...
Add become support for OpenBSD doas
2015-08-17 21:36:03 -04:00
Damian Gerow
1c5611100e
Add become support for OpenBSD doas
2015-08-17 21:31:18 -04:00
Brian Coca
43bf9c86d8
fixed typo
2015-08-16 13:15:23 -04:00
Brian Coca
d38bb4152d
fixed test to match new exception class used
2015-08-16 10:35:09 -04:00
Brian Coca
2eb5333b50
fixed test to match new become output
2015-08-15 12:26:35 -04:00
Toshio Kuratomi
e8452c864e
Restore the relative path handling portion of #11865
2015-08-06 07:28:22 -07:00
Brian Coca
b9433650d1
Revert "Path of group_vars and host_vars were getting the basedir added twice."
...
in view of simpler solution incomming from james
This reverts commit bae7a02be5
.
2015-08-06 10:09:43 -04:00
Toshio Kuratomi
bae7a02be5
Path of group_vars and host_vars were getting the basedir added twice.
...
Fix inventory so this won't happen and fix DataLoader so that it will
test relative paths relative to self._basedir
Fixes #11789
2015-08-05 17:41:17 -07:00
James Cammarata
9891bcbcae
Fix unit tests broken by previous commit
2015-08-04 12:40:13 -04:00
James Cammarata
6b244ed61e
update unit tests for role templating changes
2015-08-03 16:33:47 -04:00
James Cammarata
42cfacf83b
Switch up the task/host overrides for PlayContext to use the compiled vars dict
...
Fixes #11436
2015-07-28 16:25:44 -04:00
James Cammarata
8146a193eb
Fix strategy base unit tests after 88e1ef8
2015-07-24 10:53:54 -04:00
James Cammarata
993ce592b1
Update unit tests for flush_handlers fix
2015-07-22 11:30:05 -04:00
James Cammarata
66a8864ae9
Fix environment setting and inheritence
...
Fixes #11401
2015-07-21 13:57:30 -04:00
James Cammarata
e64989beb4
Moving ConnectionInformation -> PlayContext
...
Also making PlayContext a child class of the Playbook Base class,
which gives it access to all of the FieldAttribute code to ensure
field values are correctly typed after post_validation
Fixes #11381
2015-07-21 12:13:50 -04:00
James Cammarata
fadd8f23f1
Fix broken strategy unit test from earlier change
2015-07-20 15:47:29 -04:00
Pierre-Louis Bonicoli
8c392a94b7
Play.get_name: remove prefix, return name only
2015-07-20 12:41:39 +02:00
James Cammarata
3d77723e3d
Cleaning up some stuff related to the connection info/become/executable change
2015-07-19 01:12:23 -04:00
Brian Coca
323362e23a
added stdout to test result
2015-07-14 15:59:18 -04:00
James Cammarata
3b913943b2
Updating base strategy unit test regarding bad file loads based on earlier change
2015-07-14 11:09:22 -04:00
James Cammarata
1163e38d39
Fix unit tests for new magic variable addition 'ansible_version'
2015-07-10 03:33:11 -04:00
James Cammarata
bbe8f48a46
Update role unit tests for changes made to require a play during loading
2015-07-10 02:50:33 -04:00
marconius
79394f5c8f
Added tests for taggable
module
2015-07-08 10:22:33 -04:00
James Cammarata
bfbb88b4a9
Fix strategy plugin unit tests related to earlier changes
2015-07-07 16:26:24 -04:00
Toshio Kuratomi
f44f9569e1
Test unquote works as expected and fix two bugs:
...
* escaped end quote
* a single quote character
2015-07-06 13:16:42 -07:00
Brian Coca
aa6486778f
fixed become test to match new expected output
2015-07-06 15:34:38 -04:00
James Cammarata
53cd96befe
Updating unit tests to account for new magic variable 'vars'
2015-07-04 21:48:54 -04:00
Matt Martz
2cd3a1be00
assertRaises should be given an exception type. Fixes 11441
2015-06-30 11:02:33 -05:00
James Cammarata
4fbd4ae18b
Update VariableManager test for additional magic variable playbook_dir
2015-06-24 11:27:44 -04:00
Brian Coca
5bac17de51
fixed pfexec test
2015-06-15 01:20:38 -04:00
Brian Coca
091caf6279
added missing error class import
2015-06-11 13:45:04 -04:00
Brian Coca
e9cf67004b
updated fail_on_undefined test to new function signatures
2015-06-11 13:45:04 -04:00
Matt Martz
230be812ba
Don't test for play.become_pass any longer
2015-06-06 09:25:30 -05:00
Matt Martz
49d19e82ab
Get tests passing
...
The largest failure in the tests was due to selinux not being installed.
The tests don't require it to be installed, so mock the import.
2015-06-05 16:05:39 -05:00
James Cammarata
9ac624d2c9
Fix mock DictDataLoader _get_file_contents to match real code
2015-06-05 07:19:14 -04:00
James Cammarata
fe41f109a9
Merge branch 'v2_final' into devel_switch_v2
2015-06-01 16:42:59 -05:00
James Cammarata
4bc7703db3
Fixing some small bugs related to integration tests (v2)
2015-06-01 16:42:10 -05:00
James Cammarata
0828028c71
Fixing unit test for included file changes
2015-05-29 00:15:14 -05:00
James Cammarata
2bad888f28
Merge branch 'v2_final' into devel_switch_v2
...
Conflicts:
lib/ansible/inventory/__init__.py
lib/ansible/modules/core
lib/ansible/utils/__init__.py
lib/ansible/utils/module_docs.py
2015-05-28 15:26:03 -05:00
James Cammarata
e59d4f3b51
More module_utils/basic.py unit tests for v2
2015-05-28 01:26:04 -05:00
James Cammarata
339a02c384
Started reworking module_utils/basic unit tests (v2)
2015-05-27 03:21:15 -05:00
James Cammarata
d4a31e8d26
Adding unit tests for TaskExecutor (v2)
2015-05-24 07:47:06 -05:00
Serge van Ginderachter
b92d70c5b6
tests files extensions in group/host_vars dir
...
only files with extensions as per
C.YAML_FILENAME_EXTENSIONS should be parsed
2015-05-23 21:37:12 +02:00
James Cammarata
838ff32001
Fix unit test for conn_info (v2)
...
The default user expected in the connection information is the current
user, not root
2015-05-22 08:38:39 -05:00
James Cammarata
ecd5eb902d
Adding unit tests for ConnectionInformation (v2)
2015-05-22 03:32:40 -05:00
James Cammarata
9921a1d2be
Unit tests for base strategy class (v2)
2015-05-21 02:03:59 -05:00
James Cammarata
21fa385ce7
Reorganizing plugin unit tests and adding start of strategy tests (v2)
2015-05-18 17:26:59 -07:00
James Cammarata
a960fcd569
Adding module_utils tests from v1 to v2
2015-05-17 01:29:40 -05:00
James Cammarata
398b1d3e60
Cleaning up template test syntax a bit
2015-05-17 01:13:22 -05:00
James Cammarata
9aa8676bdd
More template unit tests for v2
2015-05-17 01:06:02 -05:00
James Cammarata
23cd3294d0
Starting to add v2 tests for template
2015-05-16 15:45:01 -05:00
James Cammarata
48d62fd934
Cleaning up VariableManager tests (v2)
2015-05-14 20:10:31 -05:00
James Cammarata
a0509cda1e
Fix test_role unit tests to use unique role names to avoid role caching errors
2015-05-14 14:31:11 -05:00
James Cammarata
1ca8cb8553
Fixing up v2 unit tests
2015-05-12 12:24:57 -05:00
Toshio Kuratomi
f9f8af06fc
Change asserts to assertIsInstance for better error messages
2015-05-08 13:49:10 -07:00
Matt Martz
a0fc8bb0bd
Testing additions and fixes
...
* Fix import pathing for units.mock
* Add some additional requirements
* Use compileall to test compatiblity with different python versions
2015-05-08 13:40:02 -05:00
James Cammarata
ce3ef7f4c1
Making the switch to v2
2015-05-03 21:47:26 -05:00
Jesse Rusak
652cd6cd5e
Fix --force-handlers, and allow it in plays and ansible.cfg
...
The --force-handlers command line argument was not correctly running
handlers on hosts which had tasks that later failed. This corrects that,
and also allows you to specify force_handlers in ansible.cfg or in a
play.
2015-04-10 19:38:59 -04:00
James Laska
60acdee0dc
Enable assert_raises_regexp on py26
2015-03-13 08:21:14 -04:00
Toshio Kuratomi
f05cda6ffc
Comma is also dependent on position within the hash
2015-03-12 13:20:51 -07:00
Brian Coca
74bf59082d
fixed and reintroduced syncronize test, fakerunner object needed become_method to be it's default 'sudo'
2015-03-12 14:48:06 -04:00
Toshio Kuratomi
644e50fe34
Hash randomization makes one of the heuristic_log_sanitize checks not work.
...
Nothing we can do, when it sanitizes ssh_urls it's simply overzealous.
2015-03-12 11:39:47 -07:00
Brian Coca
587ab17f10
fixes password error detection for ssh connection plugin
...
removes sycnronize test that does not work with current sudo setup
Fixes #10434
2015-03-11 16:11:27 -04:00
Brian Coca
5f6db0e164
preliminary privlege escalation unification + pbrun
...
- become constants inherit existing sudo/su ones
- become command line options, marked sudo/su as deprecated and moved sudo/su passwords to runas group
- changed method signatures as privlege escalation is collapsed to become
- added tests for su and become, diabled su for lack of support in local.py
- updated playbook,play and task objects to become
- added become to runner
- added whoami test for become/sudo/su
- added home override dir for plugins
- removed useless method from ask pass
- forced become pass to always be string also uses to_bytes
- fixed fakerunner for tests
- corrected reference in synchronize action plugin
- added pfexec (needs testing)
- removed unused sudo/su in runner init
- removed deprecated info
- updated pe tests to allow to run under sudo and not need root
- normalized become options into a funciton to avoid duplication and inconsistencies
- pushed suppored list to connection classs property
- updated all connection plugins to latest 'become' pe
- includes fixes from feedback (including typos)
- added draft docs
- stub of become_exe, leaving for future v2 fixes
2015-03-10 18:42:36 -04:00
Toshio Kuratomi
ffb281d96c
Merge pull request #9600 from msabramo/make_AnsibleError_a_plain_ol_exception
...
Make AnsibleError a plain ol' exception
2015-03-03 09:56:09 -08:00
Alejandro Guirao
b8cf131375
Bug fix: Search only for files as candidates
2015-02-26 19:13:07 +01:00
Brian Coca
8872bba21f
rearranged math filters
2015-02-18 20:03:05 -05:00
Brian Coca
2642738646
changed jsonify test to ignore whitespace
2015-02-18 12:09:22 -05:00
Brian Coca
bc5d0a8cd4
fixed jsonify test
2015-02-17 08:58:52 -05:00
Brian Coca
5f2d5abeea
ensure proper strings/unicodestrings for passwords
...
updated to correct to_bytes function
removed old to_bytes/to_unicode and repointed clients to new location
fixed unicode test
2015-02-12 17:44:08 -05:00
Toshio Kuratomi
4902c06304
Obfuscate passwords in more places where it is displayed
2015-02-09 10:13:13 -08:00
Marc Abramowitz
372a29744b
Make AnsibleError a plain ol' exception
...
Python's Exception constructor already takes a `message` as a parameter,
which you can then get at by doing str(e) (e.message was deprecated).
The reason I bothered to make this change was because I was debugging
with pdb and I noticed that AnsibleErrors don't give useful information
in pdb (probably because they don't have a __repr__ method that prints
the `msg` attribute).
(Pdb) c
> /Users/marca/dev/git-repos/ansible/lib/ansible/runner/__init__.py(599)_executor()
-> msg = str(ae)
(Pdb) ae
AnsibleError()
2015-01-29 10:36:06 -08:00
Björn Andersson
65e4f2b2bc
Add filter to turn a string into a UUID
...
This filter was made because I needed to create idempotent UUIDs when
installing the agent for Go (http://go.cd ), which uses UUIds to
distinguish the agents from each other.
It uses a newly created Ansible namespace to distinguish UUIDs created
by Ansible from any other source. The new namespace is a random one
created by uuidgen on OSX.
2015-01-21 08:07:17 +08:00
Michael DeHaan
d4da58e102
Merge pull request #9720 from vlajos/typofixes-vlajos-20141204
...
typofixes - https://github.com/vlajos/misspell_fixer
2014-12-08 14:00:52 -08:00
Veres Lajos
bf5d8ee678
typofixes - https://github.com/vlajos/misspell_fixer
2014-12-04 22:23:35 +00:00
Brian Coca
97408fe5b2
Revert "Make listify respect the global setting for undefined variables."
...
This 'mostly' reverts commit 2769098fe7
.
Conflicts:
lib/ansible/utils/__init__.py
test/units/TestUtils.py
2014-12-04 09:14:53 -05:00
Brian Coca
7d2937b1cc
minor fixes to template function
...
- make sure it calls itself correctly, now passes same params as it recieves
- vars is reserved, changed for templatevars to avoid confustion
- forcing mustaches again since the removal broke 'listification' as per #9622
- fixes incorrectly successful tests using undefined var, now it is defined
- now returns empty list if items is None to avoid errors
2014-11-25 12:59:13 -05:00
Toshio Kuratomi
d36c38c35e
Exception message changes
2014-11-25 02:36:38 -08:00
Toshio Kuratomi
067112b5ee
Code for modules to perform more robust quoting of database identifiers
2014-11-24 20:55:44 -08:00
Toshio Kuratomi
4ae2d58d72
Fix detection of fips mode in test_do_encrypt_md5
2014-11-17 13:33:30 -08:00
James Cammarata
9a0f8f0158
Split out various vars-related things to avoid merging too early
...
Fixes #9498
2014-11-17 15:31:55 -06:00
Toshio Kuratomi
d14dcdc222
Docker test does not require the mock module
2014-11-14 08:59:36 -08:00
Toshio Kuratomi
b95475c1f9
Unittest the get_split_image_tag function in the docker module
2014-11-14 08:48:21 -08:00
Toshio Kuratomi
6030be3835
Add unittest for discrete functions in the apt module
2014-11-14 07:55:10 -08:00
Toshio Kuratomi
44eb19d553
Make VaultEditor Tests compatible with FIPS mode
...
Migrate one test to vault-1.1. Skip the two other vault 1.0 tests if
running on a FIPS enabled system
2014-11-12 12:05:25 -08:00
Toshio Kuratomi
e05b22e0d1
Skip some md5 related unit tests when running in fips mode
2014-11-12 11:47:11 -08:00
Toshio Kuratomi
f1267c0b05
Move from md5 to sha1 to work on fips-140 enabled systems
2014-11-06 21:28:04 -08:00
Toshio Kuratomi
48a308a87c
Allow both old-style and new-style role dependencies to be valid.
...
Fixes #9173
2014-10-09 02:48:47 -04:00
Rob Howard
2769098fe7
Make listify respect the global setting for undefined variables.
...
(Fixes #9008.)
With credit to jimi-c for the initial pass in this commit:
b18bd6b98e
2014-10-08 13:47:11 +11:00
Michael DeHaan
4cb7f654b6
Add stub tests for module args parsing.
2014-10-07 17:00:01 -04:00
Michael DeHaan
6db1b4dfd2
WIP on refactoring changes
2014-10-03 15:25:21 -04:00
Toshio Kuratomi
e6fcd90342
Merge pull request #9224 from drawks/iss9223
...
Resolve #9223 Fix test for python 2.6
2014-10-01 11:54:44 -04:00
Toshio Kuratomi
e00d657362
Make unittest compatible with python <= 2.6
2014-10-01 11:50:45 -04:00
Dave Rawks
5f54b57b6d
Corrected indentation
2014-09-30 13:37:47 -07:00
Toshio Kuratomi
0af750e3e5
Merge pull request #9182 from bbasleeper/feature_sudo_exe_from_inventory
...
Add a new inventory parameter (ansible_sudo_exe) to specify sudo command...
2014-09-30 14:55:46 -04:00
Dave Rawks
c070ab69f7
Resolve #9223 Fix test for python 2.6
...
* trivial test refactor to allow for python 2.6 compat
2014-09-30 11:24:47 -07:00
Bruno BAILLUET
a25da4af05
Add a new inventory parameter (ansible_sudo_exe) to specify sudo command path.
2014-09-27 17:39:49 +02:00
Michael DeHaan
f35ed8a6c0
Update module test code to avoid pycs (that are not used)
2014-09-26 10:57:12 -04:00
Michael DeHaan
d6e6d2a6ca
Remove regex related to baby-JSON parsing only.
2014-09-11 13:30:10 -04:00
Michael DeHaan
26cdddaebf
Tracebacks are now catchable with ignore_errors and have streamlined output. Also removes 'baby-JSON' for bash modules.
2014-09-11 12:27:21 -04:00
James Cammarata
317ab06bc6
Fixing multiline parsing to preserve newlines
...
Fixes #8813
2014-09-10 15:14:46 -05:00
James Cammarata
8cc3543918
Re-allow templating of complex_args, but count params to prevent injection
...
Fixes #8810
2014-09-05 14:24:05 -05:00
Toshio Kuratomi
8233522a7a
Reduce commenting as basic.py is copied to the remote host with every module transfer.
...
Move some comments to the unittest as we might look at that if we decide
to refactor the code.
2014-09-05 07:39:17 -07:00
Toshio Kuratomi
d293a46994
Unittests to detect speed regressions in password obfuscation and that
...
the passwords are correctly hidden in the output.
2014-09-04 18:03:49 -07:00
Michael DeHaan
8a0045baad
Update tests for ansible-galaxy CLI additions.
2014-08-22 14:01:15 -04:00
Michael DeHaan
d87830e1cc
Merge branch 'galaxy_github_archive' of git://github.com/willthames/ansible into devel
...
Conflicts:
lib/ansible/utils/__init__.py
2014-08-22 13:58:50 -04:00
James Cammarata
d01188033f
Checking for localized versions of the su password prompt
...
Fixes #8681
2014-08-22 09:59:40 -05:00
Will Thames
850963790d
Allow roles to be installed from archives on github
...
Ensure that the automated scm determination for github.com
repos still copes with .tar.gz archive files.
Handling .zip archives is left as an exercise for the interested reader
2014-08-22 10:06:21 +10:00
Michael DeHaan
bcb44276fe
Assume github.com URLs are git protocol if not specified.
2014-08-21 17:15:23 -04:00
Will Thames
6e9abefc11
Corrected bug where role_path was wrong for roles in subdirectories
...
Fixed role name for
- { role: 'lives/in/a/subdirectory' }
Should be 'lives/in/a/subdirectory', not just 'subdirectory'
2014-08-21 17:15:23 -04:00
Will Thames
46b59b02ed
Friendly Role Names and roles from URLs
...
* Roles can now be given a friendly name as third field in role spec csv
* Roles can be installed from URL (not just from archived SCMs)
* Integration tests to demonstrate this
* Unit tests to ensure that role spec parsing works as expected
2014-08-21 17:15:23 -04:00
Will Thames
4803e923ff
Improved handling of role_version in repo_url_to_role_name
2014-08-21 17:15:23 -04:00
Will Thames
c2fe33f9f4
Tidied up a little, added tests
...
Moved repo_url_to_role_name to common method in ansible.utils
Added unit test for repo_url_to_role_name
Added integration tests for galaxy
2014-08-21 17:15:23 -04:00
James Cammarata
8a1fbed5d6
Correct variable blending from vars_files with hostvars in them
...
Fixes #8638
2014-08-20 15:49:01 -05:00
Michael DeHaan
99c39b1ff3
By popular request, make the no_log attribute also censor tasks from callbacks.
2014-08-12 13:36:05 -04:00
James Cammarata
5a128ca286
Adding extra member to mock inventory for unittests
2014-08-11 19:29:55 -05:00
Michael DeHaan
2629cd3fce
Fix some copyrights, fix a misc test.
2014-08-11 12:23:05 -04:00
James Cammarata
25e9d1197e
Merge branch 'optimise_utils_clean_data' of https://github.com/leth/ansible into leth-optimise_utils_clean_data
2014-08-11 10:21:02 -05:00
Marcus Cobden
e3dbca9378
Test escaping strings with two variables
2014-08-11 08:46:47 +01:00
Michael DeHaan
3bead39c75
Merge branch 'spelling' of git://github.com/cgar/ansible into devel
...
Conflicts:
docsite/rst/guide_rax.rst
plugins/callbacks/mail.py
2014-08-08 13:28:45 -04:00
James Cammarata
63bf2f6d9a
Preserve all line breaks in literal blocks
...
Fixes #8512
2014-08-08 12:11:15 -05:00
Michael DeHaan
8c4161d4a1
Merge branch 'retf_py' of git://github.com/berendt/ansible into devel
...
Conflicts:
lib/ansible/inventory/vars_plugins/group_vars.py
plugins/callbacks/mail.py
2014-08-08 12:17:37 -04:00
Michael Peters
3ba516ac25
adding min() and max() filters for use in Jinja templates
2014-08-08 11:28:48 -04:00
James Cammarata
af0d8cda7b
Fix literal block multiline parsing
...
Fixes #8394
2014-08-04 11:10:07 -05:00
James Cammarata
6d94ae64ec
Remove unnecessary unicode conversions from parse_kv
...
Fixes #8425
2014-08-04 09:59:08 -05:00
James Cammarata
e6fa50a306
Move splitter to module_utils so modules can use it and fix command arg splitting
...
Fixes #8338
2014-07-29 14:55:16 -05:00
James Cammarata
aee940aaca
Reworking _clean_data() to be smarter about replaces
...
Fixes #8228
2014-07-28 16:50:18 -05:00
James Cammarata
a8c2d6acd5
Adding unittest for space preservation within quotes when splitting args
2014-07-25 15:23:32 -05:00
James Cammarata
8f694c7588
Fixing unittests based on previous patch for splitting
2014-07-25 13:42:10 -05:00
Michael DeHaan
8d42f5cbfa
Smush ds removal
2014-07-24 20:38:02 -05:00
Michael DeHaan
eeb51b6bf3
Moar split_args tests
2014-07-24 20:42:41 -04:00
Michael DeHaan
630f080cf0
Start of unit tests for split_args function, moved split_args to utils since not needed by modules (so far).
2014-07-24 20:15:04 -04:00
James Cammarata
4e5eb7559e
Merge branch 'svg_and_inventory_refactor' into devel
2014-07-10 14:43:07 -05:00
Dan Slimmon
6ad09f1825
Added test for regex grouping bug fixed in 307a3e
2014-07-10 00:21:38 +00:00
James Cammarata
d8a7b49b59
Merge branch 'inventorytree' of https://github.com/sergevanginderachter/ansible into sergevanginderachter-inventorytree
2014-06-24 15:21:08 -05:00
James Cammarata
32aa948dd0
Exclude ps1 modules from the TestModules unittest
...
Fixes #7864
2014-06-20 10:15:35 -05:00
James Cammarata
8ff0c0f253
Tweaking make_su_cmd test
...
Fixes #7652
2014-06-04 13:03:50 -05:00
Timothy Appnel
754d635aca
Recent BSD su work introduced a failing test. Removed leading space from the assertion that seems to be the culprit.
2014-05-27 10:50:19 -04:00
James Cammarata
1e672a0fec
Fixes for su on freebsd
...
Addresses multiple issues when using su on freebsd including
* su prompt differs between platforms, so turned that check into a
regex comparison instead of a simple string comparison
* not using '-c' after su causes problems, so added that for all
platforms
* fixed quoting issues due to multiple uses of '-c' introduced by
the above fix
Fixes #7503
Fixes #7507
2014-05-23 10:06:09 -05:00
Kevin Bell
bcfef8d0d4
Add a broken test that shows extensions not skipped
2014-05-14 23:43:14 -07:00
Christian Berendt
6676720ce5
fixed typos found by RETF rules in PY files
...
rules are avaialble at https://en.wikipedia.org/wiki/Wikipedia:AutoWikiBrowser/Typos
2014-05-03 18:40:05 +02:00
Carlos E. Garcia
7f5dd5e85d
multiple spelling error changes
2014-04-29 10:41:05 -04:00
Taylor Barstow
154055e9ff
Fixing expectations in test_dir_inventory_groups_for_host
2014-04-17 16:41:49 -04:00
Michael DeHaan
a5e7492c4f
This test appears OS specific, so disabling for now.
2014-04-15 20:21:50 -04:00
Timothy Appnel
fd35c59fc1
Fixed escaping of " in test_make_sudo_cmd in TestUtils so that it passes
...
as it should.
Signed-off-by: Timothy Appnel <tim@appnel.com>
2014-04-15 19:35:53 -04:00
James Cammarata
bdbb3bb4a1
Fixing unit tests for synchronize due to earlier changes
2014-04-14 21:13:14 -05:00
Taylor Barstow
9ed7717634
Adding unit tests for host groups with inventory dir
2014-04-13 13:01:13 -04:00
James Tanner
d9d36ce207
Add unit tests for vars_files
2014-04-10 13:55:03 -04:00
Matt Martz
5770428e91
Add version_compare filter
2014-04-02 20:21:30 -05:00
James Tanner
efba8b4771
Merge branch 'regexreplace' of git://github.com/jacobweber/ansible into jacobweber-regexreplace
2014-03-31 13:48:13 -04:00
Serge van Ginderachter
d3eaa1b79e
InventoryDir: refactor logic
...
Make sure all hosts and groups are unique objects
and that those are referenced uniquely everywhere.
Also fixes test_dir_inventory unit tests which were broken after previous
patches.
modified: lib/ansible/inventory/dir.py
2014-03-25 12:45:00 +01:00
Michael DeHaan
c42dbf80a2
Merge pull request #6586 from sivel/probline-logic-fix
...
Fix logic in process_common_errors for unbalanced quotes
2014-03-19 17:45:49 -04:00
Matt Martz
2aaecc5afa
Fix logic in process_common_errors for unbalanced quotes
2014-03-19 13:49:31 -05:00
James Tanner
409044155d
Fixes #6579 allow for vault passwords ending with newline chars
...
Also add a unit test for vaulteditor to verify 1.0 passwords with newline chars.
2014-03-19 14:38:11 -04:00
James Tanner
db3d2e1042
Fixes #6542 rewrite test string for osx compatibility
2014-03-18 09:03:55 -04:00
James Tanner
7c5ad1fa23
Fixes #6539 Workaround py26 vs py27 difflib results
2014-03-17 22:21:30 -04:00
Oleg Bulatov
f6a4c20cc0
Make parsing variables for hosts and groups more consistent
...
This commit allows to specify arrays in [group:vars] block.
Signed-off-by: Oleg Bulatov <oleg@bulatov.me>
2014-03-16 21:47:26 +04:00
Matt Martz
5062f4962f
Unit tests for ansible.utils
2014-03-14 10:38:33 -05:00
James Cammarata
8df29e7c8b
Cleaning up some exception blocks in TestModuleUtilsBasic
2014-03-13 16:24:29 -05:00
James Cammarata
69ff355726
Adding new unit tests for module_utils/basic (run_command only now)
2014-03-13 14:56:44 -05:00
James Tanner
b0d22b76bd
Add an ast.parse unit test for modules to simulate ansible-doc
2014-03-13 12:01:55 -04:00
James Tanner
0d6f6ad282
Implement new default cipher class AES256
2014-03-10 16:15:44 -05:00
Richard Isaacson
119434d079
Merge pull request #6319 from risaacson/fix_test_dir_inventory
...
Fix TestInventory Unit Tests
Tested clean.
2014-03-06 15:43:45 -06:00
James Tanner
85bc14a8eb
Remve debug file from vault unit test
2014-03-06 14:49:55 -05:00
Richard C Isaacson
913c855df4
Formatting cleanup.
...
Post merging of GH-5837 via GH-5749.
2014-03-06 13:08:35 -06:00