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