Commit graph

260 commits

Author SHA1 Message Date
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