1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00
Commit graph

3111 commits

Author SHA1 Message Date
Toshio Kuratomi
f7b22a5eaa Fix paramiko's exec_command() to return bytes on python3 (#17372)
* Fix paramiko's exec_command() to return bytes on python3

* Run test_connection for python3 now too

* Fix atomic_move for problem in shippable's testing

* Python-2.4 needs to use b()
2016-09-02 20:32:14 -07:00
Matt Clay
75cb27ffe3 Enable more python 3 tests that now pass. (#17359) 2016-09-01 15:30:58 -07:00
Will Thames
d54f5277d5 Add ksu privilege escalation (#17340)
Allow ksu privilege escalation to be used
as a standard become_method

https://web.mit.edu/kerberos/krb5-1.12/doc/user/user_commands/ksu.html
2016-09-01 16:54:31 -04:00
Michael Scherer
529950680b Disable yum test on python 3 (#17327)
Since yum is not gonna be running on python3 ever, we have to filter it.
2016-09-01 04:30:54 -07:00
Tobias Wolf
c23b11d212 [Inventory] Cache the result of enumerating groups and host names
for `VariableManager._get_magic_variables()`.

This saves a lot of time re-iterating the nearly always constant global
list of groups and their members.

Generate once and cache, and invalidate cache in case `add_host:` or
`group_by:` are used.
2016-09-01 06:19:49 -05:00
Toshio Kuratomi
28227546fa Various python3 updates for module_utils: (#17345)
* Port set_*_if_different functions to python3
* Add surrogate_or_strict and surrogate_or_replace error handlers for
  to_text, to_bytes, to_native
* Set default error handler to surrogate_or_replace
* Make use of the new error handlers in the already ported code
* Move the unittests for module_utils._text as they aren't in basic.py
* Cleanup around SEQUENCETYPE.  On python2.6+ SEQUENCETYPE includes
  strings so make sure code omits those explicitly if necessary
* Allow arg_spec aliases to be other sequence types
2016-09-01 04:19:03 -07:00
Matt Clay
2ffb136b3f Add support for testing module PRs with python3. (#17339) 2016-08-31 16:41:00 -07:00
Gennady Trafimenkov
2e857cfafd Add mention of integration tests in Docker containers (#16661)
It is quite convinient and easy to run integration tests in Docker containers.

I hope it can motivate more people to write integration tests.
2016-09-01 01:25:53 +02:00
Matt Clay
6e65ebda26 Put integration.sh pip reqs in separate file. (#17338) 2016-08-31 15:16:15 -07:00
Jonathan Mainguy
a4cee11649 Add test for specific privlege grants on database.table (#17328)
For the mysql_user module
2016-08-31 14:23:40 -07:00
Jonathan Mainguy
2248d2464b add unit test for mysql_user (#17335)
this removes all blank users, and then does so again
to ensure changed the first time and ok the second time
2016-08-31 22:02:31 +02:00
James Cammarata
b71957d6e6 Move queuing tasks to a background thread 2016-08-31 13:33:01 -05:00
Michael Scherer
878d0d5b87 Running the test with a locale other than English make that test fail
While tests are supposed to be run in docker, people might still
want to use them on their own boxes.
2016-08-31 00:55:14 +02:00
Allen Sanabria
03132041fb Include vars updated to work with directories (#17207)
* New features for include_vars

include_vars.py now allows you to include an entire directory and its nested directories of variable files.

Added Features..

* Ignore by default *.md, *.py, and *.pyc
* Ignore any list of files.
* Only include files nested by depth (default=unlimited)
* Match only files matching (valid regex)
* Sort files alphabetically and load in that order.
* Sort directories alphabetically and load in that order.

```
    - include_vars: 'vars/all.yml'

    - name: include all.yml
      include_vars:
        file: 'vars/all.yml'

    - name: include all yml files in vars/all and all nested directories
      include_vars:
        dir: 'vars/all'

    - name: include all yml files in vars/all and all nested directories and save the output in test.
      include_vars:
        dir: 'vars/all'
        name: test

    - name: include all yml files in vars/services
      include_vars:
        dir: 'vars/services'
        depth: 1

    - name: include only bastion.yml files
      include_vars:
        dir: 'vars'
        files_matching: 'bastion.yml'

    - name: include only all yml files exception bastion.yml
      include_vars:
        dir: 'vars'
        ignore_files: 'bastion.yml'
```

* Added whitelist for file extensisions (yaml, yml, json)

* Removed unit tests in favor of integration tests
2016-08-30 14:34:31 -07:00
René Moser
26118a51f8 exo_dns: new module utils and integration tests for exoscale DNS (#17230) 2016-08-30 21:48:28 +02:00
Michael Scherer
d8f66defd0 Ignore difference on whitespace (#17302)
While trying to fix the test suite on python3, I noticed
this test fail due to to_json adding more whitespace in
python3 than in python2. So -w should ignored those
differences.
2016-08-30 10:52:19 -07:00
Matt Davis
1c33b5a9f0 fix remote shippable target failures (#17287)
cryptography upgrade caused fatal error when pycrypto was not installed
2016-08-29 14:01:25 -07:00
Toshio Kuratomi
fa804125b5 Python3 fixes and porting (#17271)
* Fix to_native call in selinux_context and selinux_default_context to
  use the error handler correctly.
* Port set_mode_if_different to work on python3
* Port atomic_move to work on python3
* Fix check_password_prompt variable which wasn't renamed properly
2016-08-29 09:11:40 -07:00
Alexander Stock
238cccf166 Fix "Text file busy" exception in atomic_move (#9526) (#17204)
tempfile.NamedTemporaryFile keeps a file handle causing os.rename() to fail with windows based vboxfs: [Errno 26] Text file busy.
Changed NamedTemporaryFile to mkstemp() and added a finally block to unlink the temp file in each and every case.
2016-08-26 07:41:17 -07:00
Toshio Kuratomi
4a3a9c0f2d Fix for run_command on py3 and enable lineinfile test on py3 (#17257)
* run_command needed a bit of tweaking to its string handling of
  arguments.
* The run_command change fixes the last bit of lineinfile so we can
  enable its tests
2016-08-26 01:30:46 -07:00
Toshio Kuratomi
bd68c324ce Get the ssh plugin working with python3 (#17234) 2016-08-25 10:57:55 -07:00
Matt Clay
178292d2cd Fix file and copy modules on py3 and enable tests. (#17239)
- Fix octal formatting of file mode in module response on py3.
- Convert file path to unicode in copy action.
- Enable file and copy module tests for py3 now that they pass.
2016-08-25 07:44:31 -07:00
Toshio Kuratomi
44d979c8f5 Enable most unittests on python3 (just some vault unittests and a logging one left) (#17240)
Make some python3 fixes to make the unittests pass:

* galaxy imports
* dictionary iteration in role requirements
* swap_stdout helper for unittests
* Normalize to text string in a facts.py function
2016-08-25 07:30:03 -07:00
Matt Clay
acc8a13eff Enable more tests that pass on python 3. (#17233) 2016-08-24 17:18:39 -07:00
Toshio Kuratomi
380a5801e9 Enable integration tests on python3 that are already working (#17212) 2016-08-24 16:41:05 -07:00
Toshio Kuratomi
51ec35378d xrange and izip_longest aren't available in vanilla python3 (#17226)
Fixes for these are either rewriting to get rid of the need for the
functions or using six.moves to get equivalent functions for both
python2 and python3
2016-08-24 12:28:02 -07:00
Yannig
27b0f3241b new filter human_bytes: convert a string (ex: 1Mo, 1K) into bytes (#12074)
* Rework human_readable and human_to_bytes.
New filter human_to_bytes.

* Fix for python 3.
2016-08-24 12:04:20 -07:00
Matt Clay
e2e7390adc Add Python 3 CI support. (#17209) 2016-08-23 23:08:11 -07:00
Adrian Likins
e396d5d508 Implement vault encrypted yaml variables. (#16274)
Make !vault-encrypted create a AnsibleVaultUnicode
yaml object that can be used as a regular string object.

This allows a playbook to include a encrypted vault
blob for the value of a yaml variable. A 'secret_password'
variable can have it's value encrypted instead of having
to vault encrypt an entire vars file.

Add __ENCRYPTED__ to the vault yaml types so
template.Template can treat it similar
to __UNSAFE__ flags.

vault.VaultLib api changes:
    - Split VaultLib.encrypt to encrypt and encrypt_bytestring

    - VaultLib.encrypt() previously accepted the plaintext data
      as either a byte string or a unicode string.
      Doing the right thing based on the input type would fail
      on py3 if given a arg of type 'bytes'. To simplify the
      API, vaultlib.encrypt() now assumes input plaintext is a
      py2 unicode or py3 str. It will encode to utf-8 then call
      the new encrypt_bytestring(). The new methods are less
      ambiguous.

    - moved VaultLib.is_encrypted logic to vault module scope
      and split to is_encrypted() and is_encrypted_file().

Add a test/unit/mock/yaml_helper.py
It has some helpers for testing parsing/yaml

Integration tests added as roles test_vault and test_vault_embedded
2016-08-23 20:03:11 -04:00
Toshio Kuratomi
a22909c226 Migrate basestring to a python3 compatible type (#17199) 2016-08-23 13:13:44 -07:00
Matt Clay
a695e18615 Add support for OS X CI on Shippable. (#17160) 2016-08-23 10:49:46 -07:00
Toshio Kuratomi
57701d7115 Give native strings to selinux library functions. (#17184)
* Give native strings to selinux library functions.

SELinux takes pathnames as native strings.  That means we need to
convert to bytes on python2 and convert to text on python3.

Fixes #17155

* Read kitchen documentation, make module_utils params more like kitchen API

* Remove none nonstring strategy and add strict
* Raise TypeError on invalid nonstring strategy

* Document to_native()

* Make unittests for testing module_utils.text
2016-08-22 16:44:13 -07:00
Adrian Likins
a4785c2691 Fix docker connection plugin version tests and py2.6 compat (#16841)
* Rm py2.7+ code in docker connection plugin

The docker connection plugin was using subprocess.check_output
which only exists in python 2.7 and later. Connection plugins
need to support python2.6 so this replaces it with Popen/communicate()

* Handle docker ver errors in docker connection

Add unit tests for DockerConnection

Fixes #16971
2016-08-22 10:39:38 -04:00
Toshio Kuratomi
d29a7c55fe Enable some basic.py tests on python3 (#17167) 2016-08-20 10:13:54 -07:00
Adrian Likins
7d41f623dd Move py34 mock_open compat to compat/test/mock (#17157)
test/units/plugins/action/test_action.py had code
for handling a bug in python 3.4's mock_open that
causes errors when reading binary data.

Moved to compat/tests/mock.py so other tests can
use it by default.
2016-08-19 18:11:24 -04:00
Matt Clay
04bd6a3619 Make tests more cross platform. (#17154) 2016-08-19 10:23:14 -07:00
Dusty Mabe
b817f1f3ea actions/unarchive: fix unarchive from remote url (#17126)
* actions/unarchive: fix unarchive from remote url

Currently unarchive from remote url does not work because the core
unarchive module was updated to support 'remote_src' [1], but the
unarchive action plugin was not updated for this. This causes failures
because the action plugin assumes it needs to copy a file to the
remote server, but in the case of downloading a file from a remote
url a local file does not exist, so an error occurs when the file is
not found.

[1] https://github.com/ansible/ansible-modules-core/commit/467516e

* test_unarchive: fix test with wrong remote_src use

The non-ascii filenames test had improperly set remote_src=yes even
though it was actually copying the file from the local machine (i.e.
the file did not already exist remotely). This test was passing
until the remote_src behavior of unarchive was fixed in 276550f.
2016-08-19 08:16:21 -05:00
Brian Coca
4fb09d5693 moved from extras repo where it incorrectly exists (#17124)
* moved from extras repo where it incorrectly exists

* added to sanity exclusion for 2.4

* changed license with author's consent
2016-08-18 09:47:21 -04:00
Toshio Kuratomi
bd31cc096a Fix facts.py for python3 (#17131)
* Fix facts.py for python3

* Update facts unittest to account for filepaths being byte strings
2016-08-18 09:36:03 -04:00
Adrian Likins
7bd57acda4 Linux mount/fs (lsblk) facts fixes and tests. (#17036)
Fixes #10779

Refactor some of the block device, mount point, and
mtab/fstab facts collection for linux for better
performance on systems with lots of block devices.

Instead of invoking 'lsblk' for every entry in mtab,
invoke it once, then map the results to mtab entries.

Change the args used for invoking 'findmnt' since the
previous combination of args conflicts, so this would
always fail on some systems depending on version.

Add test cases for facts Hardware()/Network()/Virtual() classes
__new__ method and verify they create the proper subclass based
on the platform.system() results.

Split out all the 'invoke some command and grab it's output'
bits related to linux mount paths into their own methods so
it is easier to mock them in unit tests.

Fix the DragonFly* classes that did not defined a 'platform'
class attribute. This caused FreeBSD systems to potentially
get the DragonFly* subclasses incorrectly. In practice it
didnt matter much since the DragonFly* subclasses duplicated
the FreeBSD ones. Actual DragonFly systems would end up with
the generic Hardware() etc instead of the DragonFly* classes.

Fix Hardware.__new__() on PY3, passing args to __new__
would cause "object() takes no parameters" errors. So
check for PY3 and just call __new__ without the args

See
https://hg.python.org/cpython/file/44ed0cd3dc6d/Objects/typeobject.c#l2818
for some explaination.
2016-08-17 17:58:51 -07:00
Matt Davis
e0bdb502e3 raw now returns changed: true (#17112)
for consistency w/ shell/command/script "non-idempotent" modules.

Updated tests, changelog.
2016-08-16 20:39:23 -07:00
Brian Coca
b1410fa278 fixed tests to accoutn for new parameter 2016-08-16 13:11:58 -04:00
James Cammarata
c669a381d1 Don't immediately return failed for any_errors_fatal tasks
Instead of immediately returning a failed code (indicating a break in
the play execution), we internally 'or' that failure code with the result
(now an integer flag instead of a boolean) so that we can properly handle
the rescue/always portions of blocks and still remember that the break
condition was hit.

Fixes #16937
2016-08-12 14:18:50 -05:00
Matt Clay
b44eb402bd Update ansible-core-ci endpoint. (#17071) 2016-08-12 12:07:41 -07:00
Matt Clay
901042f458 Generate test script to file instead of stdout. 2016-08-11 15:42:43 -07:00
Matt Clay
2b0d63b0d8 Flush stderr to avoid lost output. 2016-08-11 15:14:22 -07:00
James Cammarata
47acf55fa9 Cache tasks by uuid in PlayIterator for O(1) lookups
Rather than repeatedly searching for tasks by uuid via iterating over
all known blocks, cache the tasks when they are added to the PlayIterator
so the lookup becomes a simple key check in a dict.
2016-08-10 12:49:19 -05:00
James Cammarata
e244895174 Avoid copying task parents in TaskExecutor
As Block.copy() is potentially expensive, avoid copying the parent
structure of tasks in TaskExecutor.
2016-08-08 15:58:46 -05:00
James Cammarata
06d4f4ad0e Move tasks/blocks to a single parent model 2016-08-08 15:58:46 -05:00
James Cammarata
d2b3b2c03e Performance improvements 2016-08-08 15:58:46 -05:00
Matt Clay
80385a47bd Remove FreeBSD interpreter test hacks. (#17007)
* Add TEST_FLAGS to no_log target.
2016-08-08 13:10:03 -07:00
Filipe Niero Felisbino
e54a9d3a51 Add generic data structures querying (#13684)
* Query lookup plugin

* Add license and docstrings

* Add python3-ish imports

* Change query plugin type from lookup to filter

* Switch from dq to jsonpath_rw

* Add integration test for query filter

* Rename query filter to json_query

* Add jsonpath-rw

* Rename query filter to json_query

* Switch query implementation from jsonpath-rw to jmespath
2016-08-08 11:55:59 -04:00
Matt Clay
d2fb845955 Enable more FreeBSD integration tests. (#16991) 2016-08-08 00:31:04 -07:00
Matt Clay
72cca01cd4 Use file list, not recursion, in _fixup_perms. (#16924)
Run setfacl/chown/chmod on each temp dir and file.

This fixes temp file permissions handling on platforms such as FreeBSD
which always return success when using find -exec. This is done by
eliminating the use of find when setting up temp files and directories.

Additionally, tests that now pass on FreeBSD have been enabled for CI.
2016-08-05 18:40:28 -07:00
Matt Davis
746ea64d30 fix for unspecified retries on until + test (#16963)
fixes #16907
2016-08-04 19:20:45 -04:00
Will Thames
eb2a3a91a8 task_result _check_key should handle empty results (#16766)
When a task result has an empty results list, the
list should be ignored when determining the results
of `_check_key`. Here the empty list is treated the
same as a non-existent list.

This fixes a bug that manifests itself with squashed
items - namely the task result contains the correct
value for the key, but an empty results list. The
empty results list was treated as zero failures
when deciding which handler to call - so the task
show as a success in the output, but is deemed to
have failed when deciding whether to continue.

This also demonstrates a mismatch between task
result processing and play iteration.

A test is also added for this case, but it would not
have caught the bug - because the bug is really in
the display, and not the success/failure of the
task (visually the test is more accurate).

Fixes ansible/ansible-modules-core#4214
2016-08-04 17:13:33 -05:00
James Cammarata
159aa26b36 FEATURE: adding variable serial batches
This feature changes the scalar value of `serial:` to a list, which
allows users to specify a list of values, so batches can be ramped
up (commonly called "canary" setups):

- hosts: all
  serial: [1, 5, 10, "100%"]
  tasks:
  ...
2016-08-04 15:04:10 -05:00
Matt Clay
5f12731797 Run more integration tests on FreeBSD. (#16923) 2016-08-02 14:00:56 -07:00
Matt Clay
00fbc76e69 Increase async time limit on tests to 10 seconds. (#16921) 2016-08-02 13:30:26 -07:00
Matt Clay
ff4f4bc8a0 Add binary module tests to Windows CI. (#16914) 2016-08-02 10:42:07 -07:00
Matt Clay
17e4629d52 Add remote CI support for modules. (#16908) 2016-08-01 15:39:17 -07:00
Matt Clay
e2602e9be0 Add FreeBSD to Shippable CI. (#16883) 2016-08-01 13:46:37 -07:00
Matt Clay
6dc148d82c Download files from S3 to improve reliability. (#16891)
Binary module tests now download pre-compiled binaries from S3
instead of downloading go and compiling the modules.

Files downloaded form SourceForge are now downloaded from S3.
2016-07-31 08:48:32 -07:00
Gennady Trafimenkov
2bc679be07 Testing that service not enabled during check run (#16739)
* Enabled more tests in test_service on systems with systemd.
* Fix inconsistency in cleaning up test service. The conditions for service setup and service cleanup were different.
* Add check mode run for service enable.
2016-07-29 08:35:03 -07:00
Matt Clay
380ed053e8 Add Windows integration tests to Shippable. (#16803)
Enable Windows integration tests on Shippable.
2016-07-28 21:03:14 -07:00
William Albert
409d95d67e Refactored gce util module to support other GCP services (#15924)
This is a refactoring of the existing GCE utility module to support other projects on Google Cloud Platform.

The previous gce.py module was hard-coded specifically for GCE, and attempting to use it with other projects in GCP failed.

See https://github.com/ansible/ansible/pull/15918#issuecomment-220165913  for more detail.

This has also been an issue for others in the past, although they've handled it by simply
duplicating some of the logic of gce.py in their own modules.

-   The existing gce.py module was renamed to gcp.py, and modified to remove any 
     imports or other code that refers to libcloud.compute or GCE (the GCE_* params were
     retained for compatibility). I also renamed the gce_connect function to gcp_connect, 
     and modified the function signature to make supplying a provider, driver, and agent 
     information mandatory.

-  A new gce.py module was created to handle connectivity to GCE. It imports the
   appropriate libcloud.compute providers and drivers, and then passes them on
   to gcp_connect in gcp.py. The constants and function signatures are the same
   as the old gce.py, so compatibility with existing modules is retained.

- A new gcdns.py module was created to support PR ansible/ansible-modules-extras#2252
  for two new Google Cloud DNS modules, and to demonstrate support for a non-GCE 
  Google Cloud service. It follows the same basic structure as the new gce.py module,
  but imports from libcloud.dns instead.
2016-07-28 12:54:39 -04:00
Gennady Trafimenkov
ad24f2d206 Enable color output from integration tests in Docker containers (#16660)
Enable color output from integration tests in Docker containers:

* In run_tests.sh when output is attached to a terminal.
* In shippable/integration.sh using force mode (can be disabled).

Also fix blocks tests to work with or without color output
2016-07-25 14:07:15 -07:00
Matt Clay
9497a814a8 Add apache2 to improve test speed and reliability. (#16819) 2016-07-25 07:19:49 -07:00
Brian Coca
e2f17f8d9b set cwd to task's basedir (#16805)
* switch cwd to basedir of task

This restores previous behaviour in pre 2.0 and allows for 'local type' plugins
and actions to have a more predictable relative path.

fixes #14489

* removed FIXME since prev commit 'fixes' this

* fix tests, now they need a loader (thanks jimi!)
2016-07-25 08:11:45 -04:00
Matt Martz
4065acc37d indent callback output if using 3verbosity or higher (#16231) 2016-07-23 18:10:53 -04:00
Robin Roth
2b28beb1d7 add check_mode option for tasks (#16056)
* add check_mode option for tasks

includes example testcases for the template module

* extend check_mode option

* replace always_run, see also proposal rename_always_run
* rename always_run where used and add deprecation warning
* add some documentation

* have check_mode overwrite always_run

* use unique template name to prevent conflicts

test_check_mode was right before, but failed due to using the same filename as other roles

* still mention always_run in the docs

* set deprecation of always_run to version 2.4

* fix rst style

* expand documentation on per-task check mode
2016-07-22 20:40:14 -04:00
s-hertel
93c5ec42cf Test GalaxyCLI when no actions are provided
Adds a new test for GalaxyCLI. Tests cases when:

- no actions are provided
- invalid actions are provided
- each valid action is provided

When parser() runs successfully the method returns True, creates a
SortedOptParser instance, a Galaxy instance, and updates certain class data.
2016-07-22 14:39:01 -04:00
s-hertel
671f9c3d15 Merge pull request #16783 from s-hertel/test_display_galaxy_info_fix
fixing a logic error in test_galaxy
2016-07-21 15:22:07 -04:00
s-hertel
3cb5747f54 fixing a logic error in test_galaxy 2016-07-21 15:02:19 -04:00
s-hertel
aae5e50299 Adding a test for GalaxyCLI. Tests exit_without_ignore method. 2016-07-21 13:53:44 -04:00
Christoph Dittmann
d55452d3ed Adding unit tests for role variable precedence
Originally from PR #16735
2016-07-20 10:14:44 -04:00
Matt Clay
4cc4dc6793 Add postgresql dependencies to opensuseleap. 2016-07-18 16:55:10 -04:00
nitzmahone
7aa39981c4 fix setup test for renamed windows fact 2016-07-14 18:02:04 -07:00
jctanner
238c6461f6 Add a function to check for killed processes in all strategies (#16684)
* Add a function to check for killed processes so that if any
threads are sigkilled or sigtermed, the entire playbook execution is aborted.
2016-07-14 16:37:35 -04:00
James Cammarata
153133132d Updating tests for new module feature for remote_src in unarchive
Fixes #10218
2016-07-14 12:15:17 -05:00
Toshio Kuratomi
c8a8f546d4 A little unittest refactoring (#16704)
A little unittest refactoring

* Add a class decorator to generate tests when using a unittest.TestCase base class
* Add a TestCase subclass with setUp() and tearDown() that sets up
  module parameter parsing
* Move test_safe_eval to use the class decorator and ModuleTestCase base
  class
* Move testing of set_mode_if_different into its own file and separate
  some test methods out so we get better errors and more coverage in
  case of errors.
* Naming convention for test cases doesn't need to duplicate information
  that's already in the file path.
2016-07-14 09:22:54 -07:00
James Cammarata
221520cbad Fixing type in 293723f (mock_handler -> mock_handler_task) 2016-07-12 17:00:29 -05:00
James Cammarata
0ea2b2a6af Fix unit test for base strategy in regards to handler changes 2016-07-12 16:50:10 -05:00
s-hertel
e84ab95733 Fixing bug in GalaxyCLI test; creates temp dir for role_path instead … (#16689)
* Fixing bug in GalaxyCLI test; creates temp dir for role_path instead of installing to /etc/ansible/roles

* Update test_galaxy.py
2016-07-12 16:01:47 -04:00
nitzmahone
de549ad675 update action unit test for powershell shebang behavior 2016-07-11 12:38:18 -07:00
s-hertel
9c925eeeab Adding a test for GalaxyCLI and two methods on which it depends. Tes… (#16651)
* Adding a test for GalaxyCLI and two methods on which it depends. Tests execute_info method.

*  Adding a test for GalaxyCLI and two methods on which it depends. Tests execute_remove method.

* Update test_galaxy.py

* Revising test for GalaxyCLI execute_remove.

* Removing mocks
2016-07-11 13:54:29 -04:00
Matt Clay
0ada7eae5e Add test tags for shell and command modules. 2016-07-08 17:41:58 -07:00
=
3c66caa058 fix win_msi tests by setting wait: true on all win_msi tasks.
I suspect this problem was masked previously as older versions of pywinrm
where significantly slower, allowing more time for the windows installer service to complete.
2016-07-08 06:46:27 +01:00
Matt Clay
bbffa0a0e9 Add tags for modules without dedicated test roles. 2016-07-07 12:42:07 -07:00
James Cammarata
cd4412016a Updating integration tests for async testing 2016-07-07 13:48:11 -05:00
Matt Davis
30c63a41e9 Merge pull request #16555 from matsu-chara/fix-error-msg-default-to-defaults
fix default/main.yml to defaults/main.yml
2016-07-07 11:14:54 -07:00
Matt Clay
9a6b8ab271 Add more tags to test_async role. 2016-07-07 10:38:41 -07:00
Matt Clay
fdf22b5a40 Support module tests on a single image. (#16620) 2016-07-06 23:37:56 -07:00
Matt Clay
696feacbb6 Add script to generate module tests. (#16617) 2016-07-06 20:07:33 -07:00
Robin Roth
d0ccedc617 Fix git shallow update (#16224)
* add git shallow fetch test

covers https://github.com/ansible/ansible-modules-core/issues/3782

updating a repo with depth=1 fails silently if version==HEAD

* raise git version support supporting depth to 1.9.1
2016-07-05 15:07:42 -04:00
Robin Roth
1f04130c00 add more distribution version tests (#16563)
* ubuntu 16.04
* solaris 10, 11
* fedora 22, 25

Thanks Peter Oliver for providing the test data
2016-07-04 15:57:57 +02:00
Robin Roth
8021adfe97 use git-core ppa instead of menulibre
menulibre is no longer actively maintained and does not support 16.04
2016-07-03 15:18:08 +02:00
Robin Roth
a5e394d23a reenable apt_repository tests in ubuntu 16.04
fixes #15718
2016-07-03 14:43:04 +02:00
matsu-chara
9f8b0cabcd fix default/main.yml to defaults/main.yml 2016-07-02 21:16:33 +09:00
Matt Clay
4e369a31db Fix test_async. (#16552)
* Conditionally run test_async in docker containers.
* Revise test_async test.
2016-07-01 17:59:06 -07:00
Matt Clay
292785ff2b Parse async response in async action. (#16534)
* Parse async response in async action.
* Add async test for non-JSON data before module output.
* Fix existing async unit test.

Resolves #16156
2016-07-01 14:52:45 -07:00
Abhijit Menon-Sen
950cc26aab Use loop_control.loop_var directly
6eefc11c converted task.loop_control into an object, but while the other
callers were updated to use .loop_var instead of .get('loop_var'), this
site was overlooked.

This can be reproduced by including with loop_control a file that does
set_fact; a simple regression test along these lines is included.
2016-07-01 07:03:42 +05:30
Matt Clay
fbfadc47c7 Update shippable shared dir for COPY_SOURCE. (#16511)
Tests now use '/shared' instead of '/tmp/shared-dir' when using
COPY_SOURCE. This avoids issues with containers purging '/tmp'.
2016-06-29 15:09:40 -07:00
Matt Clay
f1e1558f4f Unpin yamllint now that version 1.3.2 is out. (#16479)
The newer version of yamllint fixes the UnicodeEncodeError
which previously required pinning the version to 1.2.2.
2016-06-28 11:40:14 -07:00
jctanner
4ba60d00c8 Refactor the parameter splitting in ini lookup to handle more path formats (#16477)
Refactor the parameter splitting in ini lookup to handle more path formats.

Fixes #16468
2016-06-28 13:24:57 -04:00
Matt Clay
394430a61e Switch test_lookups to badssl/local testing. (#16466)
* Switch test_lookups to badssl/local testing.
* Use var for checking badssl host content.
2016-06-27 18:58:13 -07:00
Matt Clay
81a49912b0 Pin yamllint to 1.2.2 to avoid issues in 1.3.0. (#16464)
This also moves shippable test requirements to external files.
2016-06-27 16:34:19 -07:00
Pilou
b361bf90d7 Lookup password omit salt (#16361)
* Lookup unencrypted password must not include salt
* Integration test lookup: remove previous directory
* Test that lookup password doesn't return salt
* Lookup password: test behavior with empty encrypt parameter

Closes #16189
2016-06-27 10:44:25 -07:00
Matt Clay
1b29c87936 Test ansible version and ping during sanity tests. (#16441) 2016-06-24 19:32:54 -07:00
YueMing Qin
310692abe0 Changes to be committed: (#16430)
renamed:    lookup_pipe.py -> lookup_pipe.yml
2016-06-24 10:26:51 -04:00
nitzmahone
1f92ade584 add integration test to assert included tasks run in proper order 2016-06-23 17:53:08 -07:00
Matt Clay
8a55a446bf Fix fedora23 Dockerfile after fedora:23 updates. 2016-06-22 19:21:40 -07:00
Pilou
7ffbbd34f4 Add python-passlib to docker images. (#16376)
Related to #16361
2016-06-22 13:30:10 -07:00
Matt Clay
7de23a1c5b Update opensuseleap Dockerfile.
- Do not update base image packages unnecessarily.
- Fix incorrect package names.
- Remove commented out RUN statements.
- Sort list of packages to install.
2016-06-21 17:46:30 -07:00
jctanner
b7f9037b5b Add test for multi-options in authorized_key (#16375)
Addresses https://github.com/ansible/ansible-modules-core/issues/1715
2016-06-20 21:12:45 -04:00
James Cammarata
ca6ee4c789 FEATURE: handler listeners
Fixes ansible/proposals#8
2016-06-20 09:30:20 -05:00
James Cammarata
8218591fec Track notified handlers by object rather than simply their name
Due to the fact that roles may be instantiated with different sets of
params (multiple inclusions of the same role or via role dependencies),
simply tracking notified handlers by name does not work. This patch
changes the way we track handler notifications by using the handler
object itself instead of just the name, allowing for multiple internal
instances. Normally this would be bad, but we also modify the way we
search for handlers by first looking at the notifying tasks dependency
chain (ensuring that roles find their own handlers first) and then at
the main list of handlers, using the first match it finds.

This patch also modifies the way we setup the internal list of handlers,
which should allow us to correctly identify if a notified handler exists
more easily.

Fixes #15084
2016-06-20 09:30:20 -05:00
Nate Coraor
706778ee7f Fix distro detection for Solaris derivatives 2016-06-17 16:54:52 -04:00
nitzmahone
7bc3be64ae fix win_setup integration test to match fact name 2016-06-17 12:28:32 -07:00
=
9857af2b6e added further tests for win_regedit to cover the changes made
under https://github.com/ansible/ansible-modules-extras/pull/2436
2016-06-16 06:37:49 +01:00
jctanner
587d3c368b Fix synchronize+vagrant dest assertions that were incorrect. (#16291)
Addresses #16284
2016-06-14 19:56:50 -04:00
Matt Clay
cabbafb650 Update Fedora and CentOS docker images.
- Reduce image size by skipping weak package references.
- Consolidate and sort packages to install.
- Improve consistency between versions.
- Combine yum/dnf install and clean to avoid unwanted caching.
- Don't update existing packages from base image unnecessarily.
2016-06-14 16:15:49 -07:00
Matt Clay
82b978e186 Add curl to Ubuntu docker images. 2016-06-13 20:06:26 -07:00
Matt Clay
349b06974e Update Ubuntu docker images.
- Reduce image size by skipping recommended packages.
- Consolidate and sort packages to install.
- Improve consistency between Ubuntu versions.
- Combine apt-get update and install to avoid caching stale updates.
2016-06-13 19:13:44 -07:00
Matt Clay
2f1fc5a324 Update integration test runner on shippable. 2016-06-13 18:06:55 -07:00
Matt Clay
62e6f6b885 Add junit-xml to docker images. 2016-06-13 15:06:51 -07:00
jctanner
3b3ab605f6 Add a get_url test for www.google.com (#16212)
Add a get_url test for www.google.com

Addresses #16191
2016-06-13 10:59:42 -07:00
Dag Wieers
d91df20620 Fix unit tests for module_name commit #16087 2016-06-10 21:13:34 +02:00
Brian Coca
a529a60478 raw should not use default executable (#16085)
also removed unused cruft in script
2016-06-10 11:37:58 -04:00
Toshio Kuratomi
872f3c5503 Revert "Add git shallow fetch test (#16055)" -- Broke integration tests:
https://app.shippable.com/runs/57599a7897ae890c00c2898d

This reverts commit e81f14ab48.
2016-06-09 14:49:42 -07:00
Robin Roth
e81f14ab48 Add git shallow fetch test (#16055)
* add git shallow fetch test

covers https://github.com/ansible/ansible-modules-core/issues/3782

updating a repo with depth=1 fails silently if version==HEAD

* disable git shallow tests for old git versions

Older git versions don't treat the --depth option correctly.
While the git module tried to work around this and introduced subtle
bugs, ansible/ansible-modules-core#3794 falls back to full checkouts.
Don't run the tests then.
2016-06-09 09:33:57 -07:00
James Cammarata
fbec2d9692 Expand return code values returned by TQM and strategies
This allows the PlaybookExecutor to receive more information regarding
what happened internal to the TaskQueueManager and strategy, to determine
things like whether or not the play iteration should stop.

Fixes #15523
2016-06-08 10:21:57 -05:00
Matt Clay
03597143d0 Detect use of Travis tests on Shippable.
This can occur when building pre-Shippable branches or PRs.
2016-06-06 13:36:21 -07:00
James Cammarata
61f132a609 Adding unit tests for playbook group/host vars 2016-06-06 10:52:39 -05:00
Toshio Kuratomi
5a3493be5f Port urls.py to python3 and other byte vs text fixes (#16124)
* Port urls.py to python3

Fixes (largely normalizing byte vs text strings) for python3

* Rework what we do with attributes that aren't set already.

* Comments
2016-06-04 16:19:57 -07:00
Matt Clay
6e1e86028f Split integration tests into multiple groups.
This will allow tests to complete much faster.
2016-06-04 12:02:11 -07:00
Toshio Kuratomi
73bb06ae84 Fix the code-smell tests for six again 2016-06-04 11:05:21 -07:00
Adrien Vergé
4d48711242 Fix YAML source and check it on Shippable (#15678)
Fix YAML source and check it on Shippable
2016-06-04 10:58:17 -07:00
Matt Clay
643a7ec01d Merge pull request #16126 from mattclay/shippable-fix
Update how shippable scripts are called.
2016-06-03 10:13:01 -07:00
Matt Clay
7a533406f9 Merge pull request #13145 from Mic92/devel
lxc connection plugin
2016-06-03 10:09:04 -07:00
Matt Clay
6d74f43eff Update how shippable scripts are called. 2016-06-03 09:20:33 -07:00
Saran Ahluwalia
fda927a14b added failing test for testing if executable is not empty string 2016-06-02 16:04:15 -07:00
Matt Clay
b0e1efbd62 Add full support for Shippable CI. 2016-06-01 22:33:38 -07:00
Toshio Kuratomi
08fd017d99 Test file needed to be renamed 2016-06-01 13:50:57 -07:00
Toshio Kuratomi
2a5ef4496a Workaround test failures on OSX controllers for now -- will have to look
more heavily into normailizing the unicode later.
2016-06-01 13:35:11 -07:00
Toshio Kuratomi
f86df7c88b Test that task.args are also set properly (#15950) 2016-06-01 13:28:57 -07:00
Adrian Likins
644f0fb190 Merge pull request #15178 from alikins/galaxy_info_output
galaxy info displayed 'galaxy_info' section wrong [fix for #15177]
2016-06-01 10:27:15 -04:00
Brian Coca
3387d557bc Revert "Add prefixing and suffixing fuctionality to assemble module" (#16084) 2016-06-01 09:17:10 -04:00
Matt Clay
e45b3b89a2 Skip some service tests for systemd. 2016-05-31 20:12:55 -07:00
jctanner
c52cea8db3 Add a framework, fixtures and test for common synchronize scenarios. (#15983)
* Add a framework, fixtures and test for common synchronize scenarios.

Addresses #15905
2016-05-31 22:35:59 -04:00
Chris Houseknecht
ce34397cf8 Merge pull request #10399 from underyx/assemble-with-prefix-and-suffix
Add prefixing and suffixing fuctionality to assemble module
2016-05-31 18:16:23 -04:00
jctanner
373b23cc24 Fix mock loader for osx /etc symlinks (#16074)
Fix role based unit tests for osx via mock.patch
2016-05-31 18:02:39 -04:00
Robin Roth
c06884eff0 Run tests on ubuntu1604 and opensuseleap (#15936)
* reduce async sleep time in test
* make zypper test less destructive (don't break following uses of zypper)
* fix ca cert on suse
* fix/enable postgres/mysql on opensuseleap
* fix mysql test for mysql versions 5.7.6 and newer
* skip sni_host check on ubuntu1604
* add HTTPTESTER flag for test_uri

ubuntu 16.04 uses dash which drops env variables containing a dot
we work around this by adding an explicit env variable to enable httptester
2016-05-31 14:47:36 -07:00
Bence Nagy
13210e346f Add integration test for assemble with a header and a footer 2016-05-31 14:44:33 -07:00
Matt Clay
027006b846 Don't use TEST_FLAGS for the test_tags target.
This allows use of --skip-tag in TEST_FLAGS without conflicting with the test.
2016-05-31 14:35:24 -07:00
Matt Clay
844b415066 Mark tasks expected to fail with EXPECTED FAILURE.
This allows for automated identification of tasks which are
expected to fail, but which cannot use ignore_errors because
they need to fail.
2016-05-31 11:29:04 -07:00
Adrian Likins
1468538414 galaxy info displayed 'galaxy_info' section wrong
The output of 'ansible-galaxy info' was formatting the
'galaxy_info' key with one char per line.

Previously, when building the output string, items in
role_info that had a dict for value, the label for
it's key ('galaxy_info' for ex) was being added to
the text list in addition to being appended. Only
the append is needed.

Also added a unit test in test/units/cli/test_galaxy.py,
but skip it on py3 until galaxy is py3 compatible.

fixes #15177
2016-05-31 13:28:15 -04:00
jctanner
018d3c3118 Add a new vmware inventory script backed by pyvmomi (#15967)
Add a new dynamic vmware inventory script backed by pyvmomi
2016-05-30 20:41:48 -04:00
Jörg Thalheim
88482234e6
lxc connection plugin 2016-05-28 00:15:09 +02:00
Toshio Kuratomi
c03555b650 Fix unarchive failures when the destination is a symlink to a directory (#15999)
Also add integration tests for this problem and unicode filenames inside
a tarball.

Fixes #3725
2016-05-26 14:47:11 -07:00
Matt Clay
b755bcd875 Corrected reference to httptester container. 2016-05-26 12:39:57 -07:00
Matt Martz
164f247ec8 Add httptester docker container files and update run_tests.sh to use ansible/httptester 2016-05-26 13:09:28 -05:00
Brian Coca
329c62e914 docker was deprecated, test now reflects new name 2016-05-26 09:12:23 -04:00
Toshio Kuratomi
650bfdce8f Update grep for six to not falsely trigger when six is only a substring of a different library 2016-05-24 13:49:37 -07:00
Robin Roth
0edec45c3d install packages for tests (#15979)
* curl is needed for test_binary_modules
* glibc-i18ndata is needed for postgresql (localedef)
2016-05-24 08:22:34 -07:00
John R Barker
1861151fa4 [WIP] Extra test and build dependencies in Docker images (#15692)
* Merge conflicts:

* [skip ci] Revert changes to run_tests.sh

gundalow will update this in a different PR

* [skip ci] Add in ubuntu1604 and opensuseleap

NOTE: We are not configuring anything to use these new images yet.
Therefore no impact on Travis performance

* python-mysql for opensuse

* It's mysql-server on centos6
2016-05-20 07:37:06 -07:00
Toshio Kuratomi
b41b6b2ec5 Update test off make_become for ssh pty race mitigation (#15931) 2016-05-19 15:17:28 -07:00
nitzmahone
42f6114b61 fix windows integration tests to run under kerberos users 2016-05-17 13:40:54 -07:00
Michael Scherer
376fc21f92 Add a exception for module_utils/six.py regarding code smell (#15878)
Since six replace urlopen, it is normal to trigger the test,
hence the exception
2016-05-16 17:00:21 -07:00
Michael Scherer
cc61531a74 Do not test vca and vmware.py for py2.4 (#15887)
Since both of them depend on libraries not
working on python 2.4, we shouldn't restrict
ourself on 2.4, cf https://github.com/ansible/ansible/pull/15870
2016-05-16 10:51:48 -04:00
Robin Roth
85477fa215 Don't use 'from ansible.module_utils import foo' style here as it breaks (#15756)
py.test"
2016-05-13 21:09:13 -07:00
Toshio Kuratomi
c1cc9f1f23 Merge pull request #15845 from abadger/ziploader-constants
Ship constants to the modules via internal module params rather than a secondary dict
2016-05-13 10:03:16 -07:00
Toshio Kuratomi
186337db28 Ship constants to the modules via internal module params rather than a secondary dict. 2016-05-12 20:30:05 -07:00
Matt Davis
bc7405efc9 Merge pull request #15797 from robinro/patch-1
reduce async timeout in unittests
2016-05-12 17:19:10 -07:00
Matt Martz
196453b9b2 Merge pull request #13771 from sivel/binary-modules
First pass at allowing binary modules
2016-05-12 18:36:34 -05:00
Matt Martz
651b83d8be Run test_binary_modules 2016-05-12 12:53:44 -05:00
Matt Martz
0faddfa168 Move binary module detection into executor/module_common.py 2016-05-12 12:25:09 -05:00
Matt Martz
3466e73c50 Resolve test failures 2016-05-12 12:25:09 -05:00
Matt Martz
2d18607f1e Add GPL3 header to helloworld.go 2016-05-12 12:25:09 -05:00
Matt Martz
6ad8ec0919 Add integration tests for binary modules 2016-05-12 12:25:09 -05:00
Toshio Kuratomi
292f0ed0d6 If we can't squash for any reason, then simply do not optimize the items loop.
Also add more squashing testcases

Fixes #15649
2016-05-12 10:06:18 -07:00
Toshio Kuratomi
8a184381af Strip junk after JSON return. (#15822)
Fixes #15601
2016-05-11 17:54:01 -07:00
James Cammarata
67c32ac30a Merge branch 'samples-to-test' of https://github.com/dagwieers/ansible into dagwieers-samples-to-test 2016-05-11 09:57:21 -04:00
Matt Martz
accf40d8a8 Use httptester docker image for http tests (#15811)
* Use httptester docker image for http tests

* When not running with an httptester linked container, use public test sites
2016-05-10 23:43:07 -04:00
Toshio Kuratomi
c730af5dc2 Remove reload from arg related tests. Changes to how ziploader passes args mean we don't need reload anymore. (#15782) 2016-05-10 08:13:48 -07:00
Toshio Kuratomi
7ccb08cc7e Switch to a different url for testing SNI right now. (#15798) 2016-05-10 07:08:47 -07:00
Robin Roth
254cf9ea68 reduce async timeout
reduce from 3 sec to 0.1 sec; the 3 sec sleep was about half of the total unittest time on my development machine...
2016-05-10 08:09:28 +02:00
Toshio Kuratomi
5c7ad654db Add some more tests for item squashing 2016-05-05 20:33:44 -07:00
nitzmahone
133395db30 add jimi-c's unit test for squashed skip results, tweaked is_skipped() logic to pass 2016-05-05 15:29:10 -07:00
Brian Coca
2af8e3b9d8 fix default for removing images 2016-05-05 16:00:02 -04:00
Brian Coca
27a1ae4732 added ability to also subset make tests 2016-05-05 11:50:39 -04:00
Rene Moser
5583027f99 tests, postgresql: add ubuntu 16.04 support 2016-05-04 00:11:19 +02:00
Rene Moser
39e4caafb2 tests, apt_repository: disable Ubuntu 16.04 as there is no package yet 2016-05-04 00:11:19 +02:00
Rene Moser
c20d1fced7 tests: fix tests on Debian 8 2016-05-04 00:11:19 +02:00
Robin Roth
cf62a62b83 use userdir module as example instead of alias (#15540)
* alias module is very basic and removing it leads to the suse default
  config failing
* future improvements might test different modules and the effect of
  them being removed
2016-05-04 00:09:26 +02:00
Brian Coca
47d58c30e4 another var 'defaulted' in run_tests 2016-05-03 11:25:21 -04:00
Brian Coca
3669ab2456 added defaults for 'optional' vars 2016-05-03 10:38:54 -04:00
Brian Coca
52a714143f fine tuned shell switches for run_tests.sh 2016-05-03 09:39:19 -04:00
Yannig
3901556b35 When var name is the same as var content, try to template it before reporting that var is not defined. (#13629)
* When var name is the same as var content, try to template it before reporting that var is not defined.
Add asserts in test_var_blending to check this special corner case.

* Fix integration tests when using debug with list or dict.
2016-05-01 06:42:09 -07:00
Robin Roth
1d6608e84f Dist version fix for Red Hat and more tests (#15663)
* add tests for centos6, rhel6 and rhel7

* gen_distribution_version_testcase with python2.6

* remove unused imports

* fix redhat/vmware/... parsing

* add centos7 test case
2016-04-29 13:18:50 -07:00
Toshio Kuratomi
1b78fd57b1 Merge pull request #15656 from abadger/ziploader-namespace
Fix ziploader for the cornercase of ansible invoking ansible.
2016-04-29 11:12:11 -07:00
Matt Davis
ca5080d56b Merge pull request #15570 from jhawkesworth/regedit_fix_str_compare_tests
win_regedit integration test to cover change to allow empty string comparison
2016-04-29 11:03:30 -07:00
Toshio Kuratomi
487e6562ca Fix ziploader for the cornercase of ansible invoking ansible.
* Make ziploader's ansible and ansible.module_utils libraries into
  namespace packages.
* Move __version__ and __author__ from ansible/__init__ to
  ansible/release.py.  This is because namespace packages only load one
  __init__.py.  If that is not the __init__.py with the author and
  version info then those won't be available.
* In ziplaoder, move the version ito ANSIBLE_CONSTANTS.
* Change PluginLoader to properly construct the path to the plugins even
  when namespace packages are present.
2016-04-29 08:47:49 -07:00
Toshio Kuratomi
d652b2edc0 Fix for unittests on python2.6 or less 2016-04-27 10:45:39 -07:00
Robin Roth
12f7f50f31 extend zypper integration tests (#15596)
* extend zypper integration tests

* fix caching issue of local RPMS on openSUSE 42.1 Leap
* add tests for simultaneous install/remove via prefixes +-
* test fail cases (rm patch or URL)
* test patch install (succes, unchanged second run, fail on wrong name)

* add test for pattern install
2016-04-27 08:04:58 -07:00
Toshio Kuratomi
7e1fbe2e03 Some algorithmic unittests for the apt and docker modules 2016-04-27 07:23:31 -07:00
Toshio Kuratomi
e4a1622f53 Do not check docker or azure module_utils code for py2.4 compat (the libs require py2.6+) 2016-04-26 07:21:36 -07:00
Toshio Kuratomi
85bef402b1 Merge pull request #14614 from gundalow/test_binary
non-destructive says we should run test_binary at v2
2016-04-25 09:45:00 -07:00
Tegan Snyder
bf0da4aa3c add centrify dzdo escalation (#15219)
add dzdo context, and test
2016-04-25 11:24:26 -04:00
=
bd74091ed9 win_regedit integration test to cover change to allow empty strings to be compared 2016-04-24 17:24:03 +01:00
Toshio Kuratomi
44e21f7062 Allow AnsibleModules to be instantiated more than once in a module
Fix SELINUX monkeypatch in test_basic
2016-04-23 14:04:45 -07:00
jctanner
4d36b3f7b6 Extend the get_url integration tests to include file schemas. (#15532)
Addresses https://github.com/ansible/ansible-modules-core/issues/3511
2016-04-22 11:38:03 -07:00
Toshio Kuratomi
e893b65a9b Don't pick up whole commented lines in the urlopen code-smell tests 2016-04-22 08:24:56 -07:00
Robin Roth
7a4e4c2b02 extend integration test for zypper_repository (#15387)
* include options refresh and priority introduced in ansible/ansible-modules-extras#1990
* test repo update both based on name and URL
* run on all suse flavors
* test overwriting repos by url or name
2016-04-21 20:10:29 +02:00
Robin Roth
59bad647b6 Revert "Disable new git tests until a fix for rhel6/7 is merged."
This reverts commit 197d3dfe97.
2016-04-20 09:52:02 +02:00
Toshio Kuratomi
03126f7097 Fix cut and paste error of test code 2016-04-19 10:38:44 -07:00
Toshio Kuratomi
197d3dfe97 Disable new git tests until a fix for rhel6/7 is merged. 2016-04-19 08:53:19 -07:00
Toshio Kuratomi
0a31c24938 Merge pull request #15419 from nitzmahone/module_debug_arg_override
add _load_params debug overrides for module args/file passed on cmdline
2016-04-19 07:49:05 -07:00
Brian Coca
33761efd19 Merge pull request #15417 from bcoca/copy_vaulted
Copy vaulted
2016-04-19 10:22:30 -04:00
Robin Roth
e8b1c4e14a add test for git with both depth and version arguments (#15471)
* add test for ansible/ansible-modules-core#3456

combination of options version and depth

* add test of switching to older branch
2016-04-19 07:00:45 -07:00
Matt Davis
822f904aa6 Merge pull request #14813 from mattclay/lxd-plugin
Add lxd connection plugin.
2016-04-19 02:06:31 -07:00
James Cammarata
6eefc11c39 Make the loop variable (item by default) settable per task
Required for include+with* tasks which may include files that also
have tasks containing a with* loop.

Fixes #12736
2016-04-19 01:42:40 -04:00
nitzmahone
5b336832af add _load_params debug overrides for module args/file passed on cmdline
Updated python module wrapper explode method to drop 'args' file next to module.
Both execute() and excommunicate() debug methods now pass the module args via file to enable debuggers that are picky about stdin.
Updated unit tests to use a context manager for masking/restoring default streams and argv.
2016-04-18 11:06:46 -07:00
Matt Davis
6322ed833e Merge pull request #15422 from jhawkesworth/win_regedit_binary_tests
Windows: add win_regedit integration tests (needs https://github.com/ansible/ansible-modules-extras/pull/2034)
2016-04-18 10:56:30 -07:00
James Cammarata
ed35e8bce2 Don't override the http status code when successful in urls.py 2016-04-18 13:20:24 -04:00
Toshio Kuratomi
7833b5bec4 Merge pull request #15420 from robinro/distribution_version_tests
Distribution version tests
2016-04-18 10:05:55 -07:00
Robin Roth
9bb069f873 Apache2 module integration test (#15380)
* add integration test for apache2_module

* fix assert syntax

* check os_family for this test

* add comment why only debian and suse are tested

* move apache2 test to destructive

* install apache2 package
2016-04-18 18:00:02 +02:00
Matt Clay
5fc76df18b Add lxd connection plugin. 2016-04-15 19:10:57 -07:00
Matt Martz
a985bf6a31 Don't pass context to urlopen, instead add it to the handlers. Fixes https://github.com/ansible/ansible-modules-core/issues/3437 2016-04-15 16:10:54 -05:00
Robin Roth
49cdc565c5 remove nose.tools use 2016-04-15 19:40:08 +02:00
Robin Roth
4088aa2b4c get rid of assert_in 2016-04-15 19:30:49 +02:00
Robin Roth
692bf51fde move gen_testcase to hacking/tests
* also use json instead of pprint
2016-04-15 17:14:43 +02:00
Robin Roth
37188ea336 cleanup tests
* use nose test generator
* more comments
* move facts import inside the skipped function, fix python3 warning
2016-04-15 17:14:14 +02:00
Robin Roth
2b104fe6ad fix tests for SLES and CoreOS
* include #15230
2016-04-15 17:13:59 +02:00
Robin Roth
b48e628429 test git version before running test on depth 2016-04-15 09:49:05 +02:00
=
157072a39f Windows: win_regedit integration tests (following https://github.com/ansible/ansible-modules-extras/pull/2034 ) 2016-04-14 21:47:17 +01:00
Cambell
cdf6e3e4bf feature/copy-vault-dataloader: Add method get_real_file(file_path) to dataloader
- get_real_file will decrypt vault encrypted files and return a path to
  a temporary file.

- cleanup_real_file will remove a temporary file created previously with
  get_real_file
2016-04-14 14:12:48 -04:00
Robin Roth
776bffb52b Expand git integration test (#15391)
* add testcases to git for depth

* also in combination with refspec, which gets more tricky

* add testcase for ansible/ansible-modules-core#527
2016-04-14 09:41:10 -07:00
Robin Roth
3c883d8a6d add testcases from refactor PR 2016-04-14 18:26:00 +02:00
Matt Clay
af8258cdf2 Revert "Increase verbosity of connection tests." (#15305) 2016-04-14 11:06:46 -04:00
Toshio Kuratomi
208ad36ce4 Merge pull request #15344 from abadger/ziploader
Ziploader "recursive imports" and caching
2016-04-13 10:27:01 -07:00
Jonathon Klobucar
7bee994e1c Fix for serial when percent amount is less than one host (#15396)
Ansible when there was a percentage that was calculated to be less than
1.0 would run all hosts as the value for a rolling update.

The error is due to the fact that Python will round a
float that is under 1.0 to 0, which will trigger the case of
0 hosts. The 0 host case tells ansible to run all hosts.

The fix will see if the percentage calculation after int
conversion is 0 and will else to 1 host.
2016-04-13 10:49:38 -04:00
Toshio Kuratomi
75546678d9 Fix unittests 2016-04-12 08:01:07 -07:00
Toshio Kuratomi
dcc5dfdf81 Controller-side module caching.
This makes our recursive, ast.parse performance measures as fast as
pre-ziploader baseline.

Since this unittest isn't testing that the returned module data is
correct we don't need to worry about os.rename not having any module
data.  Should devise a separate test for the module and caching code
2016-04-12 08:01:07 -07:00
Matt Martz
dd39f57ae7 Merge pull request #15289 from sivel/sni-urllib3-contrib-try2
Optional Use of urllib3 for SNI verification
2016-04-08 11:26:49 -05:00
nitzmahone
698ae7c383 ensure test_win_user fails on bogus error
We weren't previously checking the error message- it failed as expected, but for the wrong reason.
2016-04-07 18:24:12 -07:00
Strahinja Kustudić
eed6cf5dad Adds 'ansible_check_mode' boolean magic variable
* Makes it possible to pass any options variable to VariableManager
  by changing `load_options_vars(options)` in `lib/ansible/utils/vars.py`
2016-04-08 00:26:02 +02:00
Matt Martz
6e9c09d7f7 Utilize urllib3.contrib.pyopenssl functionality for SNI capability in python versions lacking SNI support
Also add SNI tests, move test_uri to destructive since we are messing with packages for SNI testing
2016-04-06 10:14:13 -05:00
Toshio Kuratomi
4b0aa1214c Ziploader
* Ziploader proof of concept (jimi-c)

* Cleanups to proof of concept ziploader branch:

* python3 compatible base64 encoding
* zipfile compression (still need to enable toggling this off for
  systems without zlib support in python)
* Allow non-wildcard imports (still need to make this recusrsive so that
  we can have module_utils code that imports other module_utils code.)
* Better tracebacks: module filename is kept and module_utils directory
  is kept so that tracebacks show the real filenames that the errors
  appear in.

* Make sure we import modules that are used into the module_utils files that they are used in.

* Set ansible version in a more pythonic way for ziploader than we were doing in module replacer

* Make it possible to set the module compression as an inventory var

This may be necessary on systems where python has been compiled without
zlib compression.

* Refactoring of module_common code:

* module replacer only replaces values that make sense for that type of
  file (example: don't attempt to replace python imports if we're in
  a powershell module).
* Implement configurable shebang support for ziploader wrapper
* Implement client-side constants (for SELINUX_SPECIAL_FS and SYSLOG)
  via environment variable.
* Remove strip_comments param as we're never going to use it (ruins line
  numbering)

* Don't repeat ourselves about detecting REPLACER

* Add an easy way to debug

* Port test-module to the ziploader-aware modify_module()

* strip comments and blank lines from the wrapper so we send less over the wire.

* Comments cleanup

* Remember to output write the module line itself in powershell modules

* for line in lines strips the newlines so we have to add them back in
2016-04-05 11:06:17 -07:00
jpic
4985411816 Test other use-cases for PluginLoader's config 2016-04-05 14:45:40 +02:00
jpic
da175d0a57 Bugfix: proper plugin configuration was reset
Before this patch, if config was ['/some/path'] then it would enter the
else block and config would be set to [].

The regression this patch fixes was introduced by 700db154.
2016-04-05 14:41:49 +02:00
Toshio Kuratomi
4b0f65a3e5 Merge pull request #15207 from mattclay/verbose-test
Increase verbosity of connection tests.
2016-03-31 22:02:19 -07:00
Matt Davis
3f70d7a70d Merge pull request #15144 from mattclay/winrm-test
Add winrm tests and fix exposed unicode errors.
2016-03-31 16:30:45 -07:00
James Cammarata
180a0a8e77 Fixing up the logic in the test_script tests removal portion 2016-03-31 15:59:19 -04:00
Matt Clay
262c341cda Add connection tests for winrm connection plugin.
These are the same tests used for the other connection plugins,
adapted to use winrm modules and Windows friendly paths.
2016-03-31 08:32:41 -07:00
Matt Clay
a0361626c9 Increase verbosity of connection tests. 2016-03-30 06:57:53 -07:00
James Cammarata
5fdac707fd New unit tests for #13630 fix 2016-03-28 15:54:07 -04:00
René Moser
f2a81e580d Merge pull request #15169 from mgruener/test_cloudflare_dns
Integration tests for the cloudflare_dns module
2016-03-26 09:39:52 +01:00
James Cammarata
d00ac6e2d1 Merge pull request #15072 from rajatguptarg/fix-requirements
Add pycrypto as a requirement to run tests
2016-03-26 00:39:01 -04:00
Michael Gruener
94806e1953 Add integration tests for the cloudflare_dns module 2016-03-25 21:22:29 +01:00
Brian Coca
1ebc2fda71 removes python requirement to script
mistakenly added when checksum was made to use stat module
fixed assertion in test
2016-03-24 16:17:58 -07:00
Matt Clay
943e4d37f5 Run more connection tests in Docker.
Connection tests are now run before non_destructive to make sure
that the known_hosts file in our Docker image has not been removed.
2016-03-23 21:21:52 -07:00
Toshio Kuratomi
52e9209491 Don't create world-readable module and tempfiles without explicit user permission 2016-03-23 09:52:19 -07:00
Toshio Kuratomi
1802e09b08 Exclude .tox from paths scanned for urlopen 2016-03-23 08:49:37 -07:00
Toshio Kuratomi
d3583108ec Fix log_invocation test on python2 with hash randomization 2016-03-23 08:01:21 -07:00
Matt Martz
ad30bad14f Skip test_module_utils_basic__log_invocation until we can figure out the cause of the failure 2016-03-22 21:59:03 -05:00
Matt Martz
a6d52ce098 Ensure that any command in run_tests.sh that fails results in immediate failure 2016-03-22 20:41:37 -05:00
Toshio Kuratomi
c3548677de Add TEST_FLAGS to test_hash 2016-03-22 13:19:29 -07:00
James Cammarata
6afed7083a Revert "Use docker cp instead of docker volumes to allow for testing with remote docker servers"
This reverts commit 18599047cd.
2016-03-22 15:37:47 -04:00
James Cammarata
90ffb8d8f0 Also remove volumes when removing containers 2016-03-22 13:53:54 -04:00
James Cammarata
9a2c1cf94d Force removal of docker container after test ends 2016-03-22 11:45:26 -04:00
Matt Martz
18599047cd Use docker cp instead of docker volumes to allow for testing with remote docker servers 2016-03-22 10:54:57 -04:00
James Cammarata
081c33c451 Adding a docker pull to the run_tests.sh script 2016-03-22 09:49:19 -04:00
James Cammarata
395ff361d4 Adding acl package to all docker images 2016-03-22 07:54:13 -04:00
Toshio Kuratomi
3511abb9d9 Merge pull request #15055 from ansible/ansible_sudo_pass-should-override-cli
Fix ansible_sudo_pass inventory variable so that it overrides setting of sudo password from the command line
2016-03-21 13:31:35 -07:00
Brian Coca
9c6b49fd3d Merge pull request #15004 from agx/zypper-repository-integration-tests
Integration tests for zypper repository
2016-03-21 11:00:50 -07:00
Toshio Kuratomi
ed9e164b80 Fix ansible_sudo_pass inventory variable so that it overrides setting of sudo password from the command line 2016-03-21 10:20:40 -07:00
Rajat Gupta
dd27157b9d Add pycrypto as a requirement to run tests 2016-03-21 21:37:18 +05:30
James Cammarata
7460f76f8d Merge pull request #15052 from mattclay/travis-docker-ssh
Add ssh client and server to docker containers.
2016-03-20 16:41:10 -04:00
Matt Clay
4224c11b5f Combine new RUN commands into one RUN command. 2016-03-20 10:48:11 -07:00
Toshio Kuratomi
6824f3a7cc Change url so that we don't test https in the tests for file perms 2016-03-20 08:49:40 -07:00
Toshio Kuratomi
cbd93b6ad3 Add integration test for #11821 2016-03-20 07:59:00 -07:00
Matt Clay
da99e4e0aa Add ssh client and server to docker containers.
This will allow for future integration tests using ssh to localhost
from within docker containers running on Travis.
2016-03-19 21:33:23 -07:00
nitzmahone
b95286c88e re-integrate test_test_infra output checking
added secondary run with overridden inventory/test args per bcoca request
2016-03-18 10:14:22 -07:00
nitzmahone
6578e63e63 improve test_test_infra debug messaging, rc check 2016-03-18 08:51:43 -07:00
Toshio Kuratomi
bdf90d20dd Add :Z to mount the volume. This is a docker-1.7+ option that makes the mount properly relabel for selinux 2016-03-18 07:47:09 -07:00
Brian Coca
db61e9be0c add ansible_executable inventory var
also handle the overrides appropriately
also new executable to set shell type
2016-03-17 18:54:37 -07:00
Toshio Kuratomi
e80cd8bcaf Merge pull request #14908 from mattclay/mysql-connect-timeout
Document mysql connect_timeout and update tests.
2016-03-17 07:18:01 -07:00
James Cammarata
8eadc1d8eb Adding more unit tests for AnsibleModule things in basic.py 2016-03-17 02:02:15 -04:00
Matt Clay
9a922fcf0d Update test to use mysql connect_timeout option. 2016-03-16 22:31:48 -07:00
Guido Günther
2095d1ab33 Integration tests for zypper repository 2016-03-16 19:56:56 +01:00
Rene Moser
5d5d905e36 cloudstack: new integration tests test_cs_resourcelimit 2016-03-15 21:41:08 +01:00
Rene Moser
4d6a15ebc3 cloudstack: new integration tests test_cluster 2016-03-15 21:41:08 +01:00
Rene Moser
d50026b108 cloudstack: new integration tests test_cs_pod 2016-03-15 21:41:08 +01:00
Rene Moser
ae6d2a5602 cloudstack: new integration tests test_cs_instance_facts 2016-03-15 21:40:45 +01:00
Rene Moser
d9f7589460 cloudstack: new integration tests test_cs_configuration 2016-03-15 21:39:09 +01:00
René Moser
7587c20d27 Merge pull request #13183 from resmo/for-ansible
[2.1] cloudstack: add tests for cs_volume
2016-03-15 21:30:01 +01:00
Toshio Kuratomi
ea58ccfd5e Make the fact gathering give a little more information on failure 2016-03-15 12:32:27 -07:00
James Cammarata
88310a7f28 Adding iproute to certain RH-based docker images 2016-03-15 15:28:22 -04:00
Toshio Kuratomi
9a6a5a5516 add a fact gathering check for the default of all 2016-03-15 11:58:23 -07:00
Toshio Kuratomi
f0e6d28815 Make integration tests for fact gathering assert on failure 2016-03-14 18:48:40 -07:00
Toshio Kuratomi
512825455e Make ohai and facter work via module_utils Fact classes rather than in the setup module 2016-03-14 14:53:29 -07:00
Yannig Perré
88772b6003 Add a way to restrict gathered facts in Ansible:
- Using gather_subset options
- By ignoring ohai/chef or facter/puppet facts
2016-03-14 14:53:28 -07:00
James Cammarata
81788e627d Adding unit tests for TaskResult 2016-03-14 01:33:46 -04:00
James Cammarata
2fa1936ff9 Adding python-dev to the list of packages for ubuntu1204 docker
[ci skip]
2016-03-13 09:21:47 -04:00
James Cammarata
9d459386ce Also adding an upgrade of pycrypto to ubuntu1204 config 2016-03-13 09:14:15 -04:00
James Cammarata
90afc5e7d2 Adding rubygems to the ubuntu1204 docker config
[no ci]
2016-03-13 08:50:21 -04:00
James Cammarata
af282eb979 Fixing typo in ubuntu1204 docker config 2016-03-13 08:31:47 -04:00
James Cammarata
ff5584a349 Updating jinja2 in ubuntu1204 docker image 2016-03-13 08:27:52 -04:00
James Cammarata
1222830155 Initial commit for Ubuntu 12.04 docker config for testing 2016-03-13 03:19:47 -04:00
Matt Clay
a44b88936b Add unicode dir to connection tests. 2016-03-11 16:55:14 -08:00
Dag Wieers
5775739437 Moving samples/ out of the root into test/
Since samples/ is used for v2 testing, it fits better into the existing test/ structure.
2016-03-11 21:59:06 +01:00
James Cammarata
286d91d722 Reorganizing tox stuff and making py3-specific requirements 2016-03-11 11:25:28 -05:00
James Cammarata
ab682b2917 Moving docker tests to pre-compiled images 2016-03-10 21:52:23 -05:00
James Cammarata
adc9a25a06 Merge pull request #14904 from mattclay/mysql-test-timeout
Lower connect timeout for test_mysql_variables.
2016-03-10 16:04:06 -05:00
James Cammarata
c6af811573 Fixing equality check in run_tests.sh for sanity 2016-03-10 15:34:06 -05:00
Matt Clay
20eee14a2c Lower connect timeout for test_mysql_variables. 2016-03-10 12:18:00 -08:00
Brian Coca
7e3c92e909 predictable docker names and autoremove if no fail 2016-03-10 15:07:17 -05:00
James Cammarata
f700a7e3ce Removing forced pull from build step in run_tests.sh 2016-03-10 14:07:58 -05:00
Matt Clay
5c206eaf0b Add additional plugins to connection tests.
- docker
- libvirt_lxc
- jail

These tests will not run as part of the build, but can be run manually.
2016-03-10 09:04:32 -08:00
Brian Coca
a07495e4c8 allow tests to run with parameters
also fixed test_test_infra to allow tags
2016-03-10 10:50:14 -05:00
James Cammarata
c2441c15c3 Revert "corrected failed_when test"
This reverts commit 140df20504.
2016-03-10 09:08:17 -05:00
James Cammarata
963178f392 Revert "complete correction of test, key exists but is false"
This reverts commit 7e6343213b.
2016-03-10 09:06:08 -05:00
Brian Coca
923548f6d5 removed test_infra from setup as it fails when using --tags 2016-03-10 00:29:32 -05:00
Brian Coca
7e6343213b complete correction of test, key exists but is false 2016-03-10 00:24:27 -05:00
Brian Coca
140df20504 corrected failed_when test 2016-03-10 00:16:38 -05:00
nitzmahone
6c835b2600 ensure assert and fail work before we test anything else 2016-03-09 17:36:39 -08:00
Toshio Kuratomi
2b8a0cdddc Fix ssh connection unittests for python3.4 2016-03-09 11:14:02 -08:00
James Cammarata
9d61a6cba8 Fixing PlayIterator bugs
* Unit tests exposed a problem where nested blocks did not correctly
  hit rescue/always portions of parent blocks
* Cleaned up logic in PlayIterator
* Unfortunately fixing the above exposed a potential problem in the
  block integration tests, where a failure in an "always" section may
  always lead to a failed state and the termination of execution
  beyond that point, so certain parts of the block integration test
  were disabled.
2016-03-09 13:31:30 -05:00
James Cammarata
f0d3284ead Adding more unit tests for ssh connection plugin 2016-03-08 14:50:35 -05:00
James Cammarata
2f472fd4e9 Adding start of ssh connection unit tests 2016-03-08 01:07:16 -05:00
Matt Davis
22344c5320 Merge pull request #14812 from mattclay/test-connection
Add tests for connection plugins.
2016-03-08 04:17:30 +00:00
Matt Martz
8aee648bc9 Add as dependency of the parsing make target 2016-03-07 17:38:47 -06:00
Matt Martz
098333b2ec Fix redirects for get_url
* fetch_url shouldn't both accept follow_redirects and support follow_redircts via module.params
* Default follow_redirects for open_url should be 'urllib2'
* Add redirect test for get_url
2016-03-07 15:44:31 -06:00
James Cammarata
299d93f6e9 Updating unit tests for PlayIterator
This knowingly introduces a broken test, planning to fix that later.
2016-03-07 13:03:06 -05:00
James Cammarata
8cfdaa16f4 Fixing error in localedef usage for f23 docker image 2016-03-06 11:07:27 -05:00
James Cammarata
0e17a6f036 Another attempt at fixing random f23 locale failures in docker image 2016-03-06 09:56:31 -05:00
James Cammarata
2ee0c1b175 Fixing centos6 docker image for pycrytpo too 2016-03-06 08:09:30 -05:00
James Cammarata
762c99f77c Fixing centos6 docker image to upgrade jinja2 2016-03-06 07:49:00 -05:00
James Cammarata
56670bd150 More tweaks for fedora on docker 2016-03-05 18:36:41 -05:00
James Cammarata
b97a98f69e Trying to fix up the fedora23 docker image 2016-03-05 15:45:37 -05:00
James Cammarata
b72cd3a6d2 Adding fedora rawhide to the travis mix 2016-03-05 14:35:49 -05:00
James Cammarata
c632873936 Adding centos 6 to the travis mix 2016-03-05 13:47:23 -05:00
James Cammarata
e5844ee03d Revert "Testing adding -j2 to the run_tests.sh script to speed up docker tests"
This reverts commit db2a0ae255, as it does not
add any speed to the tests on Travis.
2016-03-05 11:50:10 -05:00
James Cammarata
db2a0ae255 Testing adding -j2 to the run_tests.sh script to speed up docker tests 2016-03-05 10:58:30 -05:00
Matt Clay
49892b287b Use vars to eliminate redundant test commands. 2016-03-04 18:14:52 -08:00
Matt Clay
ca62bc5db3 Add tests for connection plugins. 2016-03-04 13:16:31 -08:00
James Cammarata
981f451f0e Adding fedora 23 to the Docker tests on travis 2016-03-04 14:02:13 -05:00
James Cammarata
7f34705b0c Fixing up Dockerfiles some more to get tests passing fully 2016-03-04 09:16:28 -05:00
James Cammarata
fa630872d9 Minor update to the Dockerfiles 2016-03-04 02:48:44 -05:00
James Cammarata
069e597aaa Fixing locale stuff in ubuntu 14.04 Dockerfile 2016-03-03 22:29:21 -05:00
James Cammarata
f56af2ec3f Updating docker files for tests 2016-03-03 21:03:28 -05:00
James Cammarata
e4acd44e23 Make sure test script fails on any error 2016-03-03 20:44:13 -05:00
Matt Martz
d8876b5c03 Run /sbin/init in the ubuntu docker image, as we do with centos 2016-03-03 16:45:47 -06:00
James Cammarata
92dcad8e99 Adding docker container capabilities to Travis 2016-03-03 15:26:08 -05:00
James Cammarata
80b10bd669 Moving creating of testing work dir out of dep role and into Makefile 2016-03-03 15:26:08 -05:00
Toshio Kuratomi
7160b40ab1 Fix the Makefile to run under dash (POSIX /bin/test syntax) 2016-03-03 09:25:12 -08:00
James Cammarata
b853e932d1 Adding unit tests for symbolic mode conversion stuff in basic.py 2016-03-01 16:41:57 -05:00
James Cammarata
18240d350c Adding a skip for the literal_eval test on py3 2016-03-01 14:33:05 -05:00
James Cammarata
0ea3a9d08d Removing tabs from test_basic.py 2016-03-01 14:15:15 -05:00
James Cammarata
1de9357c2f Attempt at cleaning up issues introduced by new basic.py unit tests 2016-03-01 14:06:58 -05:00
James Cammarata
e011f52557 Expanding unit tests for module_utils/basic.py 2016-03-01 13:53:13 -05:00
Matt Davis
3d58fd1402 Merge pull request #13481 from jhawkesworth/a21_reg_merge_tests
windows; adding integration tests for win_regmerge (extras module)
2016-03-01 00:42:09 +00:00
James Cammarata
c56e3aabfb Clean up jsonify unit test with format to remove json lib differences 2016-02-29 15:08:59 -05:00
James Cammarata
7c049c3200 Fixing up jsonify and adding unit tests 2016-02-29 14:51:23 -05:00
James Cammarata
a9d25f455c More unit tests for ActionBase 2016-02-29 12:59:58 -05:00
James Cammarata
e588437067 Adding some unicode params to the ActionBase module formatting test 2016-02-27 10:05:22 -05:00
Toshio Kuratomi
7cb29cdbec Workaround py2.6's StringIO 2016-02-26 17:59:00 -08:00
Toshio Kuratomi
b70bf3b056 Use io.StringIO and io.BytesIO instead of StringIO.StringIO for compat with py3 2016-02-26 16:43:05 -08:00
Toshio Kuratomi
c29f51804b Fix mixing of bytes and str in module replacer (caused traceback on python3) 2016-02-26 16:43:05 -08:00
James Cammarata
01d835700b Cleaning up some py version problems with ActionBase unit tests 2016-02-26 16:22:35 -05:00
James Cammarata
3518a05db6 Starting to expand unit tests for ActionBase plugin class 2016-02-26 12:47:59 -05:00
James Cammarata
9de24a3735 Assert things against the recursive copy result to make sure it did something 2016-02-23 16:29:08 -05:00
James Cammarata
e02b98274b issue callbacks per item and retry fails
- now workers passes queue to task_executor so it can send back events per item and on retry attempt
- updated result class to pass along events to strategy
- base strategy updated to forward new events to callback
- callbacks now remove 'items' on final result but process them directly when invoked per item
- new callback method to deal with retry attempt messages (also now obeys nolog)
- updated tests to match new signature of task_executor

fixes #14558
fixes #14072
2016-02-23 15:07:06 -05:00
Matt Martz
cacb74aeeb Merge pull request #14340 from sivel/uri-no-httplib2
Add RedirectHandler class for controlling redirects in urllib2
2016-02-23 11:53:16 -06:00
Matt Martz
3e9408e317 Add some additional integration tests that mix SSL verification and redirects 2016-02-23 11:48:09 -06:00
John Barker
4fb1839ebe non-destructive says we should run test_binary at v2
We are now using Ansible v2 and these tests pass, so run them.
2016-02-22 21:58:43 +00:00
Brian Coca
3b3709e715 Merge pull request #14488 from bcoca/become_shell_fixes
shell + become fixes
2016-02-18 01:45:37 -08:00
James Cammarata
58a6cf822a Merge pull request #13203 from willthames/galaxy_10620
Allow tree-ish versions for ansible-galaxy
2016-02-17 08:41:29 -05:00
Brian Coca
6dc910c13a shell + become fixes
1 less level of shell + quoting
simplified become commands, less quote and shell
2016-02-15 13:00:13 -05:00
Brian Coca
bb155e1142 added test for cartesian lookup 2016-02-11 10:46:44 -05:00
Brian Coca
08b3dbcda3 corrected several usages of deprecated bare vars 2016-02-08 13:13:15 -05:00
Brian Coca
ba51ed06cf changed from deprecated implicit bare var 2016-02-08 13:05:19 -05:00
Matt Martz
97e0f29a5b Add/improve tests for the uri module 2016-02-05 12:14:57 -06:00
James Cammarata
b713f1ca53 Fix for copy test as ansible_ssh_user is not set by default now 2016-02-05 10:36:07 -05:00
James Cammarata
8039ceee0f Tweak block integration tests to also test the free strategy 2016-02-03 18:42:06 -05:00
James Cammarata
5466510edb Removing .out file for integration tests and adding to .gitignore 2016-02-03 15:00:37 -05:00
James Cammarata
f4bd3be71f Adding block integration tests 2016-02-03 15:00:37 -05:00
Robin Roth
ed059ffca9 add integration test for ansible-pull
* this test includes the behavior described in #13688 and #13681
* it runs a minimal playbook and checks for correct use of inventory and limit
2016-02-02 12:18:04 +01:00
Toshio Kuratomi
0e410bbc8a Squashing was occuring even though pkgs didn't have a template that would be affected by squash
This broke other uses of looping (looping for delegate_to in the
reported bug)

Fixes #13980
2016-01-27 21:55:00 -08:00
Brian Coca
fad6eb1844 fixed unit test to match new output of become/su 2016-01-27 16:49:51 -05:00
Brian Coca
46fde754af Merge pull request #14044 from skorochkin/devel
Adding support for scm-based role source urls (ansible-galaxy)
2016-01-26 10:41:05 -05:00
James Cammarata
fb797a9e77 Fixing role dependency chain creation
The dep chain for roles created during the compile step had bugs, in
which the dep chain was overwriten and the original tasks in the role
were not assigned a dep chain. This lead to problems in determining
whether roles had already run when in a "diamond" structure, and in
some cases roles were not correctly getting variables from parents.

Fixes #14046
2016-01-22 12:54:00 -05:00
Sergii Korochkin
13e8732598 [hotfix] add missed playbook file 2016-01-21 14:08:26 +02:00
Sergii Korochkin
1325c21ca0 Adding support for scm-based role source urls (incl. integration test to cover it) 2016-01-21 14:00:29 +02:00
Toshio Kuratomi
d97d28ecb0 Merge pull request #14025 from ansible/run_command-env-rework
rework run_command's env setting to not change os.environ for the res…
2016-01-20 12:13:43 -08:00
Toshio Kuratomi
a68d90a71a rework run_command's env setting to not change os.environ for the rest of the module.
New param to run_command to modify the environment for just this invocation.
Documentation and comment adjustments.
2016-01-20 12:03:32 -08:00
Brian Coca
c09c01a1f5 go back to defaulting wrapping commands in shell
this was taken out in an effort to default to the user's shell but creates issues as this is not known ahead of time
and its painful to set executable and shell_type for all servers, it should only be needed for those that restrict the user
to specific shells and when /bin/sh is not available. raw and command may still bypass this by explicitly passing None.
fixes #13882

still conditional
2016-01-19 22:09:17 -05:00
James Cammarata
b1223746cd Relocate use of ERROR to display class, to avoid doubling up 2016-01-19 12:10:39 -05:00
Brian Coca
27f4730c29 correctly deals with non serializable type
combine_vars shoudl really be data types, but some just get in
in test, add dict to mock and avoid combine_vars using object
2016-01-18 15:17:43 -05:00
Matt Davis
acf49cf837 Merge pull request #13569 from mattclay/apt-repository-filename
Test for filename option in apt_repository module.
2016-01-15 09:01:48 -08:00
Toshio Kuratomi
bcb22b0e1a Integration tests for https://github.com/ansible/ansible-modules-core/pull/558 2016-01-11 17:16:40 -08:00
James Cammarata
749fbd43ef Removing test for map filter until we can figure out how that's supposed to work 2016-01-08 16:41:56 -05:00
Brian Coca
e7804a6fdd fixed test to use hostvars and not expect vars sub
vars is at the same level as hostvars and was only included in hostvars
temporarily as a bug
2016-01-08 16:25:57 -05:00
Toshio Kuratomi
46903c80fa More fixes for unicode handling in the connection plugins.
Tested that ssh, docker, local, lxc-libvirt, chroot all work with the
updated unicode integration test.
2016-01-06 15:19:40 -08:00
Toshio Kuratomi
c0a8cd950b Fix problems with non-ascii values passed as part of the command to connection plugins
@drybjed discovered this with non-ascii environment variables and
command line arguments to script and raw module.
2016-01-04 20:35:25 -08:00
Toshio Kuratomi
1ed3a018eb Revert "Fix make tests-py3 on devel. Fix for https://github.com/ansible/ansible/issues/13638."
This reverts commit e70061334aa99bee466295980f4cd4146096dc29.

Going to do this in the connection plugins
2016-01-04 19:25:40 -08:00
James Cammarata
2d11cfab92 Squashed commit of the following:
commit 24efa310b58c431b4d888a6315d1285da918f670
Author: James Cammarata <jimi@sngx.net>
Date:   Tue Dec 29 11:23:52 2015 -0500

    Adding an additional test for copy exclusion

    Adds a negative test for the situation when an exclusion doesn't
    exist in the target to be copied.

commit 643ba054877cf042177d65e6e2958178bdd2fe88
Merge: e6ee59f 66a8f7e
Author: James Cammarata <jimi@sngx.net>
Date:   Tue Dec 29 10:59:18 2015 -0500

    Merge branch 'speedup' of https://github.com/chrismeyersfsu/ansible into chrismeyersfsu-speedup

commit 66a8f7e873ca90f7848e47b04d9b62aed23a45df
Author: Chris Meyers <chris.meyers.fsu@gmail.com>
Date:   Mon Dec 28 09:47:00 2015 -0500

    better api and tests added

    * _copy_results = deepcopy for better performance
    * _copy_results_exclude to deepcopy but exclude certain fields. Pop
    fields that do not need to be deep copied. Re-assign popped fields
    after deep copy so we don't modify the original, to be copied, object.
    * _copy_results_exclude unit tests

commit 93490960ff4e75f38a7cc6f6d49f10f949f1a7da
Author: Chris Meyers <chris.meyers.fsu@gmail.com>
Date:   Fri Dec 25 23:17:26 2015 -0600

    remove uneeded deepcopy fields
2015-12-29 11:40:18 -05:00
Brian Coca
d89d7951e6 fixed tests to follow new invocation structure
also added maxdiff setting to see issues clearly when they happen
2015-12-23 11:45:07 -05:00
Yannig Perré
b22d998d1d Fix make tests-py3 on devel. Fix for https://github.com/ansible/ansible/issues/13638. 2015-12-22 16:47:27 -05:00
James Cammarata
d22bbbf52c Actually disable parallel makes for integration runner 2015-12-21 16:11:53 -05:00
James Cammarata
8119ea37af Dropping instance size back down since we're not doing parallel builds 2015-12-21 15:55:43 -05:00
James Cammarata
45afa642c3 Integration test runner tweaks 2015-12-21 15:48:58 -05:00
James Cammarata
6d6822e66e Kick up the integration runner test image size 2015-12-21 14:37:17 -05:00
James Cammarata
08b580decc Parallelize make command for integration test runner
Also adds a new var, used by the prepare_tests role, to prevent it from
deleting the temp test directory at the start of each play to avoid any
potential race conditions
2015-12-21 14:10:23 -05:00
Brian Coca
2281c455db Merge pull request #13616 from resmo/for-ansible-stable-2.0
[stable-2.0] cloudstack: test_cs_instance: more integration tests
2015-12-21 13:45:29 -05:00
Brian Coca
75e94e0cba allow for non standard hostnames
* Changed parse_addresses to throw exceptions instead of passing None
* Switched callers to trap and pass through the original values.
* Added very verbose notice
* Look at deprecating this and possibly validate at plugin instead
fixes #13608
2015-12-21 13:42:34 -05:00
Brian Coca
e957335b0d Merge pull request #13607 from mattclay/test-cache-typo
Fixed import typo for memcache module in tests.
2015-12-21 10:23:38 -05:00
James Cammarata
54455a06e5 Disable docker test for Fedora, due to broken packaging 2015-12-20 21:32:37 -05:00
James Cammarata
3a57d9472c Save output of integration test results to files we can archive 2015-12-20 17:55:39 -05:00
Rene Moser
b85b92ecdd cloudstack: test_cs_instance: more integration tests
cloudstack: extend test_cs_instance addressing recovering

cloudstack: test_cs_instance: add tests for using display_name as indentifier.
2015-12-20 22:37:48 +01:00
Rene Moser
b0525da8c8 cloudstack: cs_volume: add tests for volume resize
See https://github.com/ansible/ansible-modules-extras/pull/1333
2015-12-20 22:33:53 +01:00
Rene Moser
8b5e553828 cloudstack: add tests for cs_volume 2015-12-20 22:33:53 +01:00
Toshio Kuratomi
6963955cb4 And change the task a little more since different shlex versions are handling the quotes differently 2015-12-20 11:51:32 -08:00
Toshio Kuratomi
21ca0ce1ce Fix test playbook syntax 2015-12-20 11:46:49 -08:00
Toshio Kuratomi
3792a586b5 Since the velox test server seems to be dropping using iptables to drop requests from aws, test via a different website instead 2015-12-20 11:34:57 -08:00
Toshio Kuratomi
8d7892cc7b Done troubleshooting
Revert "Troubleshooting has reduced us to this"

This reverts commit 9abef1a1d7.
2015-12-20 11:34:57 -08:00
Toshio Kuratomi
5fef2c4297 Try updating the centos7 image to a newer version (trying to resolve issue being unable to connect to some webservers) 2015-12-20 09:11:53 -08:00
Toshio Kuratomi
b90506341a Fixes for tests that assumed yum as package manager for systems that
have dnf
2015-12-20 08:06:26 -08:00
Toshio Kuratomi
3da312da9c Switch from yum to package when installing sudo so that dnf is handled as well 2015-12-19 23:13:11 -08:00
James Cammarata
3ec0104128 Fixing bugs in conditional testing with until and some integration runner tweaks 2015-12-19 21:14:48 -05:00
Toshio Kuratomi
e2d9f4e2f2 Fix unittests for return of invocation from fail_json and exit_json 2015-12-19 15:49:59 -08:00
Toshio Kuratomi
9abef1a1d7 Troubleshooting has reduced us to this 2015-12-19 12:39:48 -08:00
Toshio Kuratomi
51cca87d67 Also need redhat-rpm-config to compile pycrypto 2015-12-19 11:27:16 -08:00
Toshio Kuratomi
c63ae99485 Make sure that yum is present on redhat family systems (makes things also work on fedora systems where dnf is the default) 2015-12-19 10:11:42 -08:00
Matt Clay
d2ad17e88f Fixed import typo for memcache module in tests.
The typo caused the test for the memcached cache plugin to be skipped
even when the necessary memcache python module was installed.
2015-12-19 00:08:49 -08:00
Toshio Kuratomi
f7ed33378e Fix the fedora host detection 2015-12-18 15:42:41 -08:00
Toshio Kuratomi
78dde62710 What is going on here 2015-12-18 15:14:38 -08:00
Toshio Kuratomi
26e5bcdb39 Bugfix the fedora 23 install task 2015-12-18 14:38:54 -08:00
Toshio Kuratomi
ec60bfbb3f Ubuntu images with hvm ssd 2015-12-18 14:36:17 -08:00
Toshio Kuratomi
68fe3d856f Fedora 23 needs to have python2 packages installed 2015-12-18 14:05:33 -08:00
James Cammarata
0823a2c16f Removing update all for test deps, it didn't fix the problem 2015-12-18 15:34:11 -05:00
James Cammarata
02f65eaa80 Make integration runner ec2 add_hosts use valid host names 2015-12-18 14:59:22 -05:00
Toshio Kuratomi
1cc83dd0d9 Make tests that use kennethreitz retry. 2015-12-18 11:50:36 -08:00
James Cammarata
73a0153b8e Fix typo in integration test runner role 2015-12-18 12:45:12 -05:00
James Cammarata
0c154e81f0 Make integration tests run in parallel with async 2015-12-18 11:30:51 -05:00
Toshio Kuratomi
f2364ecf5f Add a Fedora latest host into the mix 2015-12-18 08:13:22 -08:00
James Cammarata
1debc2da44 Do a full yum update to make sure packages are latest version
For the deps setup of integration tests, as we sometimes see odd
errors we can't reproduce, which may be related to slightly out of
date package dependencies.
2015-12-18 10:34:27 -05:00
James Cammarata
44e30e49dd Add awk to integration test deps list 2015-12-18 07:47:40 -05:00
Toshio Kuratomi
a391d6f89a Add state=latest to pip install of pycrypto 2015-12-17 20:10:26 -08:00
James Cammarata
3143b352c5 Add ca-certificates update to the integration deps playbook 2015-12-17 23:08:04 -05:00
Toshio Kuratomi
1f3eec293b Install an updated version of pycrypto on Ubuntu12 from pip 2015-12-17 20:06:53 -08:00
James Cammarata
12c0bb9414 Use --source instead of -e for awk in integration Makefile 2015-12-17 20:53:11 -05:00
Toshio Kuratomi
c5eda277ac Fix get_url tests in light of distros backporting SNI support 2015-12-17 17:51:42 -08:00
Toshio Kuratomi
8c6f56f982 kennetreitz.org times out but www.kennethreitz.org is fine 2015-12-17 11:46:26 -08:00
Toshio Kuratomi
ce1febe28b debug line needs var not msg 2015-12-17 11:25:45 -08:00
Brian Coca
8db4415e2e changed test to use filter for accurate reporting 2015-12-17 12:28:32 -05:00
James Cammarata
26bbabcfba Consolidating package lines for virtualenv install in test deps integration 2015-12-17 11:15:06 -05:00
James Cammarata
cf3d503f79 Moving apt cache update to top to ensure cache is updated before deps installed 2015-12-17 11:00:54 -05:00
James Cammarata
0b1ad8d490 Switch virtualenv dep installation from pip to package manager 2015-12-17 10:41:58 -05:00
James Cammarata
dd3d04e96a Adding pip install of virtualenv to test deps integration role 2015-12-17 10:31:14 -05:00
James Cammarata
5fa93ef8fc Merge pull request #13477 from chrismeyersfsu/jenkins-playbooks
Jenkins playbooks
2015-12-17 10:19:52 -05:00
James Cammarata
d7f2f606e1 Add has_hostkey to mock objects to fix broken unit tests 2015-12-16 21:49:33 -05:00
James Cammarata
857456ea5f Fixing template integration test for python 2.6 versions
No longer immediately fallback to to_json if simplejson is not installed
2015-12-16 18:22:22 -05:00
Toshio Kuratomi
fffd29d1ab Update mysql setup to handle installing mysql with dnf too. 2015-12-16 14:06:51 -08:00
James Cammarata
6109f70397 Attempt at fixing strategy unit test failures on py2.6 and py3 2015-12-16 14:02:25 -05:00
Toshio Kuratomi
1116bc6ca6 Merge pull request #13191 from Jmainguy/mysql
Add shared connection code for mysql modules
2015-12-16 10:47:49 -08:00
Jonathan Mainguy
34e88e48a5 Add shared connection code for mysql modules 2015-12-16 13:36:18 -05:00
Toshio Kuratomi
375eb501b3 Update url to site that has an invalid certificate 2015-12-16 09:41:01 -08:00
Matt Clay
9942d71d34 Test for filename option in apt_repository module. 2015-12-16 01:37:02 -08:00
Michael Scherer
a7ac98262d Make module_utils.known_hosts.get_fqdn work on ipv6 2015-12-14 19:30:54 +01:00
Toshio Kuratomi
457f86f61a Minor: Correct type pyhton => python 2015-12-14 08:50:37 -08:00
Toshio Kuratomi
fc19ad21ef Merge pull request #13494 from Jmainguy/msyql_hash_tests
add tests for encrypted hash mysql_user
2015-12-14 07:58:39 -08:00
Jonathan Mainguy
49dc9eea16 add tests for encrypted hash mysql_user 2015-12-14 10:12:06 -05:00
James Cammarata
35015aaa4a Merge pull request #13529 from mscherer/add_tests_known_hosts
Add tests for ansible.module_utils.known_hosts
2015-12-14 09:50:23 -05:00
James Cammarata
279c5a3596 Cleanup strategy tests broken by new forking strategy 2015-12-14 03:07:20 -05:00
Michael Scherer
3c4d2fc6f2 Add tests for ansible.module_utils.known_hosts 2015-12-12 20:03:35 +01:00
James Cammarata
97554fc222 Fixing filter test for extract to use proper group 2015-12-11 14:55:38 -05:00
James Cammarata
c402325085 Fixing up docker integration tests a bit 2015-12-10 13:10:59 -05:00
Toshio Kuratomi
04fc3f118f Code smell test for specifying both required and default in FieldAttributes 2015-12-09 08:25:29 -08:00
Chris Meyers
8d66dcda21 remove .gitignore 2015-12-09 09:39:45 -05:00
Chris Meyers
f16628ffec symbolic link role for testing 2015-12-09 09:37:39 -05:00
Chris Meyers
57391f49ba removed ansible_python_interpreter
* added missed renames of ansible_deps to ansible_test_deps
* removed acidential inventory.dynamic file
* modified README for ansible_test_deps role
2015-12-09 07:52:43 -05:00
=
ea72fd6547 adding integration tests for win_regmerge module (extras) 2015-12-09 08:57:06 +00:00
Chris Meyers
822624d061 rename role ansible_deps to ansible_test_deps 2015-12-08 14:05:57 -05:00
Chris Meyers
05c8bb79f8 playbook that Ansible jenkins runs moved into core
The playbook is already running in jenkins and works. This moves the
assets into core for ease of maintenance going forward.
2015-12-08 12:24:42 -05:00
James Cammarata
750adbaa27 Changing up how host (in)equality is checked
Fixes #13397
2015-12-04 12:57:46 -05:00
Toshio Kuratomi
cfeef81303 For now, skip tests of module_utils/basic functions that are failing on
py3 (these are only run on the target hosts, not on the controller).
2015-12-03 14:16:29 -08:00
Brian Coca
7d073bdd17 Merge pull request #13345 from amenonsen/extract
Add an 'extract' filter
2015-12-03 11:19:06 -08:00
Toshio Kuratomi
e00012994e Also some unicode tests for return_values() 2015-12-02 21:09:53 -08:00
Toshio Kuratomi
5fdfe6a0f2 Add some test data that has unicode values 2015-12-02 21:07:41 -08:00
Toshio Kuratomi
ac54ac618c Something's strange... let's see if python2.6 is really the same now... 2015-12-02 14:49:28 -08:00
Toshio Kuratomi
eb7db067f9 Fix template test results on python2.6 2015-12-02 10:32:10 -08:00
Abhijit Menon-Sen
8cf1815867 Add an 'extract' filter
At its most basic, this is nothing more than an array or hash lookup,
but when used in conjunction with map, it is very useful. For example,
while constructing an "ssh-keyscan …" command to update known_hosts on
all hosts in a group, one can get a list of IP addresses with:

    groups['x']|map('extract', hostvars, 'ec2_ip_address')|list

This returns hostvars[a].ec2_ip_address, hostvars[b].ec2_ip_address, and
so on. You can even specify an array of keys for a recursive lookup, and
mix string and integer keys depending on what you're looking up:

    ['localhost']|map('extract', hostvars, ['vars','group_names',0])|first
        == hostvars['localhost']['vars']['group_names'][0]
            == 'ungrouped'

Includes documentation and tests.
2015-12-02 18:16:38 +05:30
Brian Coca
c03afccc05 reformated test, changed big assert to with_items
much easier to see the individual condition that causes the failure
when using with_items and evaluating each part of the assert individually
2015-12-01 21:11:12 -08:00
James Cammarata
dc0fae1af7 Also make sure remote_user is defaulted correctly for delegated hosts
Fixes #13323
2015-11-30 16:15:14 -05:00
Chris Church
f3476b556d Add assertions for ansible_date_time in setup result. 2015-11-27 00:39:51 -05:00
James Cammarata
3c8c2fb090 Merge pull request #13208 from agx/zypper-integration-test
Add integration tests for zypper
2015-11-23 15:20:35 -05:00
James Cammarata
e62fb04a2e Merge pull request #13229 from zarnovican/bza_fix_test_hg
test_hg fix: remove reference to "head"
2015-11-23 14:34:13 -05:00
James Cammarata
138068c56e Merge pull request #13230 from zarnovican/bza_fix_test_svn
test_svn fix: remove hardcoded "~/ansible_testing/svn" path
2015-11-23 14:33:33 -05:00
Chris Church
272778f732 Modify task executor to reuse connection inside a loop. Fix WinRM connection to set _connected properly and display when remote shell is opened/closed. Add integration test using raw + with_items. 2015-11-23 11:53:05 -05:00
Brano Zarnovican
a30a52ef52 test_svn fix: remove hardcoded "~/ansible_testing/svn" path 2015-11-20 13:36:55 +01:00
Brano Zarnovican
5fc64deffe test_hg fix: remove reference to "head"
ERROR! error while evaluating conditional: head.stat.isreg

This is remnant from earlier change 50e5d81777
which removed stat on head file..
2015-11-20 13:02:17 +01:00
James Cammarata
91500f8f5f Fix include param precedence in variable manager 2015-11-19 09:01:51 -05:00
Guido Günther
0821d251c8 Add integration tests for zypper
Modeled after the yum tests but also tests local package installations
as fixed with PR#1256.

This depends on PRs #1256, #1261 and #1262 in ansible-modules-extra.
2015-11-18 18:25:43 +01:00
Will Thames
ff19233ad3 Add tests for #10620 2015-11-18 20:47:54 +10:00
Brano Zarnovican
90f99f29ae unittest cover for 'run_command'
All os.*, subprocess.* is mocked to avoid side-effects.
Tests are skipped in Py3, since 'run_command' is not Py3-ready, yet.
2015-11-17 11:57:50 +01:00
Brian Coca
e61882ca19 Merge pull request #13170 from robinro/integration_test_git_ansible-modules-core_pull_721
add test for changing git remote url
2015-11-16 14:53:47 -08:00
nitzmahone
349e072a74 fix for dynamic (add_host) hosts not available in hostvars
Looks like there are two pattern caches that need to be cleared for this to work- added the second one.
Added integration tests for add_host to prevent future regressions.
2015-11-16 10:53:10 -08:00
Will Thames
4f3430ebeb Handle unexpected database presence
Check for database presence in a nice way, rather than
dropping the database.

Thankfully there was a syntax error in the previous
version, so no database would have been dropped.
There was no check for whether it succeeded or not.
2015-11-15 10:45:24 +10:00
Robin Roth
6cefdfe148 add test for changing git remote url
integration test for https://github.com/ansible/ansible-modules-core/pull/721
clone a repo from one url
clone an updated version of that repo from a new url
make sure the remote url and the working copy are updated
2015-11-14 17:03:41 +01:00
Brian Coca
5d645f3a8b Merge pull request #13127 from willthames/test_become
Elevate privileges when checking for file existence
2015-11-12 22:35:01 -08:00
Toshio Kuratomi
318bfbb207 Migrate cli and dependencies to use global display 2015-11-11 10:44:22 -08:00
Brian Coca
206cc50bd9 breaks testing in non virtual envs, since env var can be used in those
cases removing it from here
2015-11-12 09:40:43 -08:00
Will Thames
5bb759e7ab Elevate privileges when checking for file existence
Certain OSs default to home directories as 0700
Without elevating privileges, checking for file existence
fails.
2015-11-11 23:42:35 +10:00
Toshio Kuratomi
74fe9d236a Add a disabled test for accessing private attributes of other objects
Need to cleanup the code before we can enable this test.
2015-11-10 09:50:27 -08:00
Toshio Kuratomi
aa034f4fcf Add unit tests for issue #12976 2015-11-05 10:52:37 -08:00
Toshio Kuratomi
37052a983a Fix unittest dailure with the new squash items code 2015-11-05 10:45:54 -08:00
James Cammarata
23ff08ee6b Merge pull request #13016 from dvarrazzo/pip-vcs-changed
Added tests to verify pip installation with VCS urls
2015-11-05 08:16:12 -05:00
Will Thames
91b6004149 Allow blank lines and comments/spaces in galaxy spec files
Fixes #10641 again. (Regression)
Added test to discourage future such regression.
2015-11-04 15:36:20 +10:00
Scott Miller
98b694f5ca Update README.md 2015-11-03 14:11:22 -05:00
Daniele Varrazzo
542a430e84 Added tests to verify pip installation with VCS urls
The test reproduces:
- bug ansible/ansible#1705
- bug ansible/ansible-modules-core#1645
2015-11-03 14:54:40 +00:00
Brian Coca
c267e1906e removed invocation from tests as it is only available on very very verbose mode 2015-10-31 13:00:53 -04:00
Chris Meyers
4b88cce6a1 update ansible_test_service checksum 2015-10-28 14:55:13 -04:00
Brian Coca
174de1161b fixed removing -n in password sudo tests 2015-10-28 02:36:28 -04:00
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
James Cammarata
1910f23144 Merge pull request #12801 from chrismeyersfsu/fix-test_destructive_init
run correct init system tests
2015-10-27 15:58:19 -04:00
James Cammarata
9b22004540 Merge pull request #12795 from chrismeyersfsu/fix-test_destructive_mysql_user
remove module param quotes
2015-10-27 15:51:45 -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
ed6aa75d63 Add parsing test to travis to catch that invocation is missing 2015-10-22 09:03:12 -07:00
Toshio Kuratomi
6b6d03290a Restore the automatic addition of invocation to the output
Revert "Remove auto-added invocation return value as it is not used by v2 and could leak sensitive data."

This reverts commit 6ce6b20268.

Remove the note that invocation was removed as we've now restored it.

Revert "keyword not in ubuntu 14.04"

This reverts commit 5c01622457.

Revert "remove invocation keyword check"

This reverts commit 5177cb3f74.
2015-10-22 08:53:37 -07:00
Will Thames
002972c6cf Allow meta/main.yml to include roles through spec file
ansible-playbook now works when run with a playbook
that includes a role that includes another role
specified using csv format

Updated one of the roles used in the tests to fix
broken tests - `make test_galaxy` now works

Fixes #11486. Also addresses the problem alluded to in #10620.
2015-10-22 13:30:42 +10: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
Chris Meyers
6c265cde49 invoke systemd test for ubuntu >= 15.04 else invoke upstart test 2015-10-21 09:15:27 -04: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
Toshio Kuratomi
a22cf8ffc1 Properly add the new test and limit six test to lib 2015-10-19 18:39:15 -07:00
Chris Meyers
f864fa8727 run systemd tests for fedora 2015-10-19 13:21:34 -04:00
Brian Coca
c1a404e6ec Merge pull request #12799 from resmo/for-ansible
cloudstack: add tests for cs_loadbalancer_rule and _member
2015-10-19 11:15:12 -04:00
James Cammarata
2346a7f170 Merge pull request #12800 from chrismeyersfsu/fix-test_destructive_yum
remove invocation keyword check
2015-10-18 10:19:08 -04:00
James Cammarata
549bdb2503 Merge pull request #12804 from chrismeyersfsu/fix-test_non_destructive_makefile
allow env variable override of creds file
2015-10-18 10:18:22 -04:00
Chris Meyers
1b2d17b844 allow env variable override of creds file
This is important because there is an integration test, test_git, that
require an ssh key to clone a privileged github repo.
2015-10-17 12:45:29 -04:00
James Cammarata
8baea3cba8 Merge pull request #12796 from chrismeyersfsu/fix-test_destructive_mysql_variables
fix up mysql variable assertion logic
2015-10-17 10:14:08 -04:00
Chris Meyers
d6dfd9f502 run correct init system tests 2015-10-17 09:25:49 -04:00
Chris Meyers
5177cb3f74 remove invocation keyword check 2015-10-17 09:24:03 -04:00
Rene Moser
bb5dcc00b6 cloudstack: add tests for cs_loadbalancer_rule and _member 2015-10-17 14:01:02 +02:00
James Cammarata
450c8d45c6 Merge pull request #12787 from chrismeyersfsu/fix-test_destructive_apt
keyword not in ubuntu 14.04
2015-10-17 07:43:34 -04:00
Chris Meyers
75833c248e fix up mysql variable assertion logic 2015-10-16 18:42:03 -04:00
Chris Meyers
ce4e98a6d0 remove module param quotes 2015-10-16 18:39:02 -04:00
Toshio Kuratomi
eebd3cc336 Merge pull request #12788 from chrismeyersfsu/fix-test_destructive_state
remove non-existant state var
2015-10-16 12:43:40 -07:00
Chris Meyers
a0264983ad remove non-existant state var 2015-10-16 15:40:31 -04:00
Chris Meyers
5c01622457 keyword not in ubuntu 14.04 2015-10-16 15:37:39 -04: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
Toshio Kuratomi
49f2b84253 Add a code smell test to make sure we're not using the raw system six
(So we know we have a recent enough version)
2015-10-16 10:31:35 -07:00
Toshio Kuratomi
baa309309d Bundle a new version of python-six for compatibility along with some code to make it easy for distributions to override the bunndled copy if they have a new enough version. 2015-10-16 08:21:28 -07:00
Marius Gedminas
04a7ef416e Python 3: print function in a shell oneliner in Makefile
Fixes

    File "<string>", line 1
      import string,random; print 'ansible-testing-' + ''.join(random.choice(string.ascii_letters + string.digits) for _ in xrange(8));
                                                   ^
  SyntaxError: invalid syntax

when running integration tests with

  . hacking/env-setup
  . .tox/py35/bin/activate
  make -C test/integration test_var_precedence
2015-10-16 17:41:01 +03: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
Chris Church
cb9f350c8f Merge pull request #12720 from jhawkesworth/test_amc_2147
integration tests for ansible modules core 2147
2015-10-14 15:35:21 -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
=
e141101314 integration tests for ansible modules core 2147 2015-10-13 06:34:18 +01: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
James Cammarata
9c9897805f More ansible-galaxy fixes for the old spec file format 2015-10-06 01:54:48 -04:00
Brian Coca
f73329401b galaxy updates
better error reporting on fetching errors
use scm if it exists over src
unified functions in requirements
simplified logic
added verbose to tests
cleanup code refs, unused options and dead code
moved get_opt to base class
fixes #11920
fixes #12612
fixes #10454
2015-10-05 11:43:08 -04:00
Brian Coca
5680a9fa32 removed redundant tests, adjusted makefile expected count 2015-10-02 22:37:19 -04:00
Brian Coca
e2ae3215f6 corrected no_log for items and skipped tasks
corrected output from default callback
added new tests for no_log loops
updated makefile test to check for both positive and negative occurrences of no_log
2015-10-02 14:35:33 -04:00
Brian Coca
5c39538a73 added no_log tests as per #12214 2015-10-02 09:11:41 -04:00
James Cammarata
775486c9d6 Merge pull request #12589 from jemmyw/consul-http-checks
Update consul integration test with http checks
2015-10-01 10:44:31 -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
8d024c3747 Merge pull request #12472 from resmo/for_ansible
cloudstack: improvements and tests
2015-09-28 14:27:22 -04:00
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
Rene Moser
9514ac860d cloudstack: more integration tests 2015-09-22 16:17:21 +02: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
Toshio Kuratomi
3db8070aa3 Fix urlopen usage to use open_url instead
Add a travis test for urlopen usage
2015-09-16 20:40:17 -07:00
Chris Church
43b15ab9a4 Merge pull request #12385 from cchurch/winrm_put_empty_file
Enable winrm put_file to upload an empty file.
2015-09-16 16:46:01 -04:00
Chris Church
93af0b327f Merge pull request #12384 from cchurch/powershell_strict_mode
Add PowerShell exception handling and turn on strict mode.
2015-09-16 16:45:40 -04:00
Chris Church
1d15e8f37a Pass windows command as-is without splitting/rejoining parameters.
* Fixes extra spaces added between parameters from https://github.com/ansible/ansible-modules-core/issues/1929
* Correctly decode PowerShell command encoded as UTF-16-LE so that it displays correctly in debug messages, fixes the other issue from https://github.com/ansible/ansible-modules-core/issues/1929
* Add test to verify that script parameters are passed as-is, so $true is interpreted as a boolean, fixes https://github.com/ansible/ansible/issues/10947
2015-09-16 16:30:10 -04:00
Chris Church
87db5119ea Merge pull request #12049 from cchurch/win_group_tests
Add integration tests for win_group module.
2015-09-16 16:27:44 -04:00
Chris Church
b44e02143a Merge pull request #12050 from cchurch/test_win_msi_creates
Add tests for creates parameter to win_msi module.
2015-09-16 16:22:47 -04:00
James Cammarata
3f8e12d1f7 Merge pull request #12359 from cchurch/fetch_no_fail_on_missing
Fix fetch to not fail for missing file when fail_if_missing=False
2015-09-16 11:05:39 -04:00
Chris Church
6ab4cff7db Enable winrm put_file to upload an empty file. 2015-09-15 17:21:27 -04:00
Chris Church
5c65ee7f0c Add PowerShell exception handling and turn on strict mode.
* Add exception handling when running PowerShell modules to provide exception message and stack trace.
* Enable strict mode for all PowerShell modules and internal commands.
* Update common PowerShell code to fix strict mode errors.
* Fix an issue with Set-Attr where it would not replace an existing property if already set.
* Add tests for exception handling using modified win_ping modules.
2015-09-15 16:32:35 -04:00
James Cammarata
d818a72375 Merge branch 'normalize_plugin_paths' of https://github.com/bcoca/ansible into bcoca-normalize_plugin_paths 2015-09-15 14:41:09 -04:00
Chris Church
15070e2af8 Merge pull request #11790 from brianlloyd/win_lineinfile
Integration tests for windows implementation of lineinfile
2015-09-15 13:00:36 -04:00
Brian Coca
b6d6c2e4db corrected all missing paths changes 2015-09-15 11:57:54 -04:00
Chris Church
904b8ca27b Update win_msi tests to specify msi url and paths via variables. 2015-09-15 01:15:33 -04:00
Chris Church
0300294f6e Add tests for creates parameter to win_msi module. 2015-09-15 01:15:33 -04:00
Chris Church
260b9f648c Fix fetch action plugin to not fail if file is missing and fail_if_missing=False (the default). Add tests to test_fetch role to verify it works as expected. 2015-09-14 14:21:52 -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
88a20e7a20 Fix broken integration test with unicode hostnames
1. The test did "name: '{{hostnames}}.{{item}}'" inside a with_sequence
   loop, which didn't do what was intended: it expanded hostnames into
   an array, appended ".1", and set name to the resulting string. This
   can be converted to a simple with_items loop.

2. Some of the entries in hostnames contained punctuation characters,
   which I see no reason to support in inventory hostnames anyway.

3. Once the add_host failures are fixed, the playbook later fails when
   the unicode hostnames are interpolated into debug output in ssh.py
   due to an encoding error. This is only one of the many places that
   may fail when using unicode inventory hostnames; we work around it
   by providing an ansible_ssh_host setting.
2015-09-11 21:47:19 +05:30
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
Brian Coca
5809a2e81d Merge pull request #12299 from resmo/feature/test_cs_user
cloudstack: new integration test role test_cs_user
2015-09-10 20:09:59 -04:00
James Cammarata
444987cde6 Fix unit test for plugins after basedir/push_basedir removal 2015-09-10 17:01:52 -04:00
Rene Moser
f6382a160d cloudstack: new integration test role test_cs_user 2015-09-09 22:36:19 +02: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
Brian Coca
514fa73fcd galaxy fixes 2015-08-28 12:32:50 -04:00
Marius Gedminas
c846bab69b Fix assert statement syntax
`assert (condition, message)` gets parsed by Python as `assert
a_two_tuple`, and a 2-element tuple is never False.

Discovered by compileall on Python 3.4, which emits a SyntaxWarning for
this common mistake.
2015-08-27 22:15:57 +03:00
Marius Gedminas
709dbbc7db Use 0oNNN octal syntax in test/ 2015-08-27 22:15:57 +03:00
Marius Gedminas
727cb8a917 Support print() function in test/ 2015-08-27 22:15:57 +03:00
Marius Gedminas
9ae66a7f5c Use 'except ... as' syntax in contrib/ and test/ too 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
James Cammarata
601a1cc6d9 Multiple fixes for include statements and blocks in general
Fixes #11981
Fixes #11995
Fixes #12039
Fixes #12077
2015-08-26 02:23:22 -04:00
Toshio Kuratomi
9f9891df2c Add unicode characters to the data that we're testing that ansible-vault can decrypt 2015-08-25 15:14:43 -07:00
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
Brian Coca
3e13dfd7e8 used stdoutlines list to avoid string mismatches
added block environment test
2015-08-25 10:06:24 -04:00
Brian Coca
efa005c228 added names to assert tasks for easier debugging 2015-08-24 22:57:56 -04:00
Brian Coca
d6a1cbeefb corrected varname that started with number and broke templating 2015-08-24 22:44:12 -04:00
Brian Coca
104b8a9a7b avoid hostvars which is not a dict 2015-08-24 22:44:12 -04:00
Brian Coca
857d74a274 made diff ignore whitespace 2015-08-24 22:44:12 -04:00
Brian Coca
6da2587c36 Merge pull request #12058 from resmo/for-ansible
cloudstack: more integration tests and updates
2015-08-24 10:03:58 -04:00
James Cammarata
db65503778 Revert "Add PowerShell exception handling and turn on strict mode." 2015-08-23 21:09:16 -04:00
Rene Moser
69d5e62083 cloudstack: test_cs_account: account_state was renamed, fixes tests 2015-08-23 22:50:23 +02:00
Rene Moser
eb44f85dc8 cloudstack: test_cs_instance: make it more configurable 2015-08-23 22:49:45 +02:00
Rene Moser
15a7f818e1 cloudstack: add more integration tests 2015-08-23 22:48:32 +02:00
Brian Coca
3ccfebc9f7 Merge pull request #12047 from cchurch/powershell_common_cleanup
Add PowerShell exception handling and turn on strict mode.
2015-08-23 14:08:18 -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
Chris Church
af9200c2de Add integration tests for win_group module. 2015-08-22 18:49:55 -04:00
Chris Church
4b2cdadc98 Add PowerShell exception handling and turn on strict mode.
* Add exception handling when running PowerShell modules to provide exception message and stack trace.
* Enable strict mode for all PowerShell modules and internal commands.
* Update common PowerShell code to fix strict mode errors.
* Fix an issue with Set-Attr where it would not replace an existing property if already set.
* Add tests for exception handling using modified win_ping modules.
2015-08-22 18:28:07 -04:00
Brian Coca
01708cc824 added test for environment directive 2015-08-21 00:37:17 -04:00
Feanil Patel
892e230514 Don't convert nulls to strings.
This change is similar to https://github.com/ansible/ansible/pull/10465

It extends the logic there to also support none types.  Right now if you have
a '!!null' in yaml, and that var gets passed around, it will get converted to
a string.

eg. defaults/main.yml
```
ENABLE_AWESOME_FEATURE: !!null # Yaml Null
OTHER_CONFIG:
  secret1: "so_secret"
  secret2: "even_more_secret"

CONFIG:
  hostname: "some_hostname"
  features:
    awesame_feature: "{{ ENABLE_AWESOME_FEATURE}}"
  secrets: "{{ OTHER_CONFIG }}"
```

If you output `CONFIG` to json or yaml, the feature flag would get represented in the output
as a string instead of as a null, but secrets would get represented as a dictionary.  This is
a mis-match in behaviour where some "types" are retained and others are not.  This change
should fix the issue.

I also updated the template test to test for this and made the changes to v2.

Added a changelog entry specifically for the change from empty string to null as the default.

Made the null representation configurable.

It still defaults to the python NoneType but can be overriden to be an emptystring by updating
the DEFAULT_NULL_REPRESENTATION config.
2015-08-19 18:35:07 -04:00
Rene Moser
9d3577a74a cloudstack: fix tests unhashable type: 'dict' 2015-08-19 21:39:58 +02:00
Rene Moser
8f3c181d90 cloudstack: tests: use resource_prefix 2015-08-19 21:37:54 +02:00
Brian Coca
69f380da3a changed mod_args test to match connection 2015-08-19 00:34:37 -04:00
Jeremy Wells
9f9f476b6e Update consul integration test with http checks 2015-08-19 00:38:36 +02:00
Brian Coca
ab355218a0 fixed test to new parser options 2015-08-18 03:34:38 -04:00
Brian Coca
1acb29ff9b sequence will now run once for start=end, added test to suite
fixes #11979
2015-08-18 02:33:23 -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
Brian Coca
43cc27084d corrected on delete also 2015-08-13 09:58:30 -04:00
Brian Coca
089687140d corrected role path 2015-08-13 09:57:36 -04:00
Brian Coca
033c77a13b now creates/removes files/ dir 2015-08-13 09:54:06 -04:00
Brian Coca
464a436f8f fixed testplay host, included lookup path tests in all, added stage for easier debugging 2015-08-12 19:26:52 -04:00
Brian Coca
60803a1d3c added lookup paths testing 2015-08-12 19:26:52 -04:00
Brian Coca
8f106c9a58 Merge pull request #11078 from Yannig/devel
New lookup plugin : ini
2015-08-07 09:46:54 -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
Yannig Perré
47db352725 Merge remote-tracking branch 'ansible/devel' into devel 2015-08-05 11:20:41 +02:00
Yannig Perré
c0bd140959 Add documentation for the ini lookup plugin. 2015-08-05 11:09:40 +02:00
Yannig Perré
733d40a77c When value does not exist, return default value instead of stopping ansible with an exception. 2015-08-05 10:54:24 +02:00
James Cammarata
9891bcbcae Fix unit tests broken by previous commit 2015-08-04 12:40:13 -04:00
Brian Coca
aefca24616 Merge pull request #10857 from jeffb-stell/devel
Add test for https://github.com/ansible/ansible/issues/9851
2015-08-03 19:23:59 -04:00
James Cammarata
6b244ed61e update unit tests for role templating changes 2015-08-03 16:33:47 -04:00
James Cammarata
a586c74967 Merge pull request #11838 from cchurch/stringify_powershell_unquote_value
Fix for PowerShell unquote method when passed None.
2015-08-02 22:57:27 -04:00
Chris Church
cafc35fd5b Fix for PowerShell unquote method when passed None. 2015-08-02 18:38:29 -04:00
Chris Church
6969b5ac8b Make sure raw doesn't eat key=value arguments. 2015-08-02 11:57:32 -04:00
Chris Church
2154212491 Merge pull request #11094 from cchurch/test_win_feature_has_servermanager
Only run win_feature tests when the host has the ServerManager module.
2015-07-31 17:52:45 -04:00
Chris Church
e87cf4a3cc Fixes for WinRM/PowerShell support in v2.
- Add support for inserting module args into PowerShell modules.  Fixes #11661.
- Support Windows paths containing spaces.  Applies changes from #10727 to v2.  Fixes #9999.  Should also fix ansible/ansible-modules-core#944 and ansible/ansible-modules-core#1007.
- Change how execution policy is set for running remote scripts.  Applies changes from #11092 to v2.  Also fixes ansible/ansible-modules-core#1776.
- Use codepage 65001 (UTF-8) for WinRM connection instead of default (CP437), convert command to UTF-8 and results from UTF-8.  Replaces changes from #10024.  Fixes #11198.
- Close WinRM connection when task completes.
- Use win_stat, win_file and win_copy modules instead of stat, file and copy when called from within other action plugins (only when using WinRM+PowerShell).
- Unquote Windows path arguments before passing to win_stat, win_file, win_copy and slurp modules (only when using WinRM/PowerShell).
- Check for win_ping module to determine if core modules are missing (only when using WinRM/PowerShell).
- Add stdout_lines to result from running low level commands (so stdout_lines is available when using raw/script).
- Update copy action plugin to use shell functions for joining paths and checking for trailing slash.
- Update fetch action plugin to unquote source path when using Windows paths.
- Add win_copy and win_template action plugins that inherit from copy and template.
- Support running .bat and .cmd scripts using default system encoding instead of UTF-8.
- Always send PowerShell commands as base64-encoded blobs to allow for running simple PowerShell commands via raw.
- Support running modules on Windows with interpreters other than PowerShell.
- Update integration tests to support above changes and test unicode fixes.
- Add test for win_user error from ansible/ansible-modules-core#1241 (fixed by ansible/ansible-modules-core#1774).
- Add test for additional win_stat output values (implemented by ansible/ansible-modules-core#1473).
- Add test for OS architecture and name from setup.ps1 (implemented by ansible/ansible-modules-core#1100).

All WinRM integration tests pass for me with these changes.
2015-07-31 14:38:31 -04:00
Brian Coca
c2d8ca4bf7 fixed test to expected output 2015-07-30 18:36:54 -04:00
Brian Lloyd
07b14b9731 integration tests for windows implementation of lineinfile 2015-07-29 19:50:06 -04:00
James Cammarata
ba56beda90 Fix include task using a potentially undefined variable 2015-07-29 15:49:29 -04:00
James Cammarata
71867f9480 Remove vars attribute from base
Fixes #11779
2015-07-29 09:45:30 -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
e505a1b7c4 Fix variable precedence integrationt test 2015-07-28 00:51:58 -04:00
Brian Coca
c76a66694f fixed typo 2015-07-27 22:54:57 -04:00
Michael Scherer
106e942faa Document and test 'is undefined' rather than 'is not defined'
According to https://github.com/ansible/ansible/issues/10273,
this syntax should work better for nested dicts.
2015-07-25 14:05:27 +02:00
James Cammarata
8146a193eb Fix strategy base unit tests after 88e1ef8 2015-07-24 10:53:54 -04:00
Toshio Kuratomi
b06353791c Don't pass mode from synchronize action plugin to the ansible module
Fixes https://github.com/ansible/ansible-modules-core/issues/1783
2015-07-23 00:42:27 -07: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
46f74a0d69 Re-adding --start-at-task test to unicode integration test 2015-07-21 12:36:41 -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
b09eed3353 Merge branch 'test_notify_with_loops' of https://github.com/pilou-/ansible into pilou--test_notify_with_loops 2015-07-20 21:09:34 -04:00
James Cammarata
fadd8f23f1 Fix broken strategy unit test from earlier change 2015-07-20 15:47:29 -04:00
James Cammarata
dca36c1d16 Reestablishing the use of tags/when for role duplication detection
Not figuring these in can cause problems with "diamond" pattern relationships,
even though this is still not quite optimal.
2015-07-20 14:37:20 -04:00
Pierre-Louis Bonicoli
aa23ea8462 tests: checks that handlers work with loops 2015-07-20 14:41:03 +02: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
9dc5607730 Merge pull request #11519 from bcoca/human_readable
new human_readable filter to transform bits and bytes into cake
2015-07-18 23:10:53 -04:00
James Cammarata
d6b058eaae Removing invocation from async test, as it's pointless 2015-07-15 12:03:02 -04:00
Brian Coca
323362e23a added stdout to test result 2015-07-14 15:59:18 -04:00
Toshio Kuratomi
327b1676a8 Add support for SNI and TLS-1.1 and TLS-1.2 to the fetch_url() helper
Fixes #1716
Fixes #1695
2015-07-14 12:48:35 -07:00
Brian Coca
f6c64a8c00 fixed var file loading 2015-07-14 12:12:43 -04:00
Brian Coca
5eb25a48ee added empty include test 2015-07-14 12:06:31 -04:00
Brian Coca
22165dd046 fixed bad parsing tests 2015-07-14 12:06:31 -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
Brian Coca
44aef347cb enabled good parsing tests in parsing target
fixed test_good_parsing role
added raw duplicate parameters to test_good_parsing
2015-07-14 08:05:57 -04:00
James Cammarata
6971e92f39 Fixing up some output stuff 2015-07-14 00:23:17 -04:00
Brian Coca
b4de103bb2 Merge pull request #11555 from cchurch/test_win_get_url_updates
Update tests for win_get_url module to test force parameter
2015-07-10 17:07:20 -04:00
Chris Church
1aa2191fd5 Update tests for win_get_url module to test force parameter and invalid URLs/paths. 2015-07-10 15:54:18 -04:00
Brian Coca
c6dde19a5e Merge pull request #11537 from chrismeyersfsu/azure-test
assert password or ssh key provided on new image creation
2015-07-10 13:57:15 -04:00
Brian Coca
9c5a6d7b5a fixed all references to old plugins/inventory to point at contrib/inventory 2015-07-10 13:00:12 -04:00
James Cammarata
5430169b77 Cleaning up includes test to match 2.0 behavior
* Perhaps the only precedence change, in 2.0+ variables from set_fact
  will not override params to an include file, as params are expected
  to be more specific than host-based variables.
* Uncommented long-form include example.
2015-07-10 11:22:51 -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
James Cammarata
b520d5bc60 Lots of fixes for integration test bugs 2015-07-10 01:53:59 -04:00
Chris Meyers
32685f9648 assert password or ssh key provided on new image creation 2015-07-09 13:44:09 -04:00
James Cammarata
27fcf1a4b5 Fix bug in registered variables related to delegate_to changes 2015-07-08 12:38:24 -04:00
James Cammarata
f5baad4fb2 Removing unicode --start-at-task test for now as we haven't added that back into devel 2015-07-08 12:23:42 -04:00
James Cammarata
64a1b1e043 Fix first_available_file: support for copy and template actions 2015-07-08 12:23:42 -04:00
marconius
79394f5c8f Added tests for taggable module 2015-07-08 10:22:33 -04:00
Brian Coca
48827a31bc added minimal testing for special template vars 2015-07-07 20:11:55 -04:00
James Cammarata
bfbb88b4a9 Fix strategy plugin unit tests related to earlier changes 2015-07-07 16:26:24 -04:00
Brian Coca
688088547b new human_readable filter to transform bits and bytes into cake (not really) 2015-07-07 15:58:18 -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
Brian Coca
5122455db8 ported missing sequence updates from 1.9 2015-07-03 13:54:51 -04:00
Matt Martz
2cd3a1be00 assertRaises should be given an exception type. Fixes 11441 2015-06-30 11:02:33 -05:00
Matt Martz
43f81c7c01 Fix YAML formatting issue for rax integration tests 2015-06-30 09:38:12 -05:00
Brian Coca
200706d5ab Merge pull request #9812 from fgsch/fix_1904
Allow globbing in creates= and removes= directives
2015-06-30 07:58:54 -04:00
Matt Martz
c440762b61 Make the wait_timeout for rax tests a configurable default 2015-06-29 12:09:16 -05:00
James Cammarata
4fbd4ae18b Update VariableManager test for additional magic variable playbook_dir 2015-06-24 11:27:44 -04:00
Matt Martz
b370f6efce Add tests for rax_scaling_group 2015-06-18 13:08:35 -05:00
Toshio Kuratomi
605ddad37e Add test that url lookup checks tls certificates 2015-06-16 09:46:17 -07:00
James Cammarata
d913f169a8 Update failed_when integration test to be more thorough 2015-06-16 11:00:11 -04:00
Brian Coca
5ed2e44026 adjusted with_dict test to now work 2015-06-15 17:42:40 -04:00
Brian Coca
dc31086a17 added with_dict test 2015-06-15 17:12:36 -04:00
Brian Coca
5bac17de51 fixed pfexec test 2015-06-15 01:20:38 -04:00
Brian Coca
11f1d99a5b added test for first_available and copy 2015-06-12 23:54:09 -04:00
Brian Coca
b9bb3e83b7 added new test that allows for listed bare strings
now with_times: barestring, will error out in test
2015-06-11 13:45:04 -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
Brian Coca
aa6e204b6e Merge pull request #11115 from jhawkesworth/second_go_at_fixing_1404
Part fix for https://github.com/ansible/ansible-modules-core/issues/1404 (replaces #11086)
2015-06-10 20:43:32 -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
e547e1f9ba Merge branch 'devel' into devel_switch_v2 2015-06-01 16:53:15 -05: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
Jon Hawkesworth
30b92a6f4c Get-FileChecksum allways returns a string now,
and the test_win_copy integration tests that depend on the checksum
have been updated in this change too.
2015-06-01 21:53:49 +01:00
Chris Church
d2ba0de6aa When running winrm tests against multiple hosts, fail the play when any host has a failure. 2015-05-31 23:16:45 -04:00
Chris Church
8d742df1de Allow prepare_win_tests role to run multiple times, before each role that depends on it. 2015-05-31 23:15:28 -04:00
Chris Church
1e418fe56a Only run win_feature tests when the host has the ServerManager module. 2015-05-29 13:57:11 -04:00
James Cammarata
0828028c71 Fixing unit test for included file changes 2015-05-29 00:15:14 -05:00
Toshio Kuratomi
ac14ad1419 Test on fields that are actually set 2015-05-28 17:02:48 -07:00
Toshio Kuratomi
73b7d96501 Test on fields that exist 2015-05-28 17:01:18 -07:00
Toshio Kuratomi
1bda7cc200 Test that uri module validates certs 2015-05-28 15:35:45 -07:00
Toshio Kuratomi
0f4a3409d8 Add test that validate_certs=no works 2015-05-28 15:35:25 -07:00
James Cammarata
60bea844b3 Merge branch 'v2_final' into devel_switch_v2 2015-05-28 15:27:09 -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
Toshio Kuratomi
afc19894e1 Make fetch_url check the server's certificate on https connections 2015-05-28 13:20:40 -07:00
Toshio Kuratomi
1ccf2a4685 Make fetch_url check the server's certificate on https connections 2015-05-28 12:35:37 -07:00
James Cammarata
e59d4f3b51 More module_utils/basic.py unit tests for v2 2015-05-28 01:26:04 -05:00
Toshio Kuratomi
b91532aff3 Drop the mysql test db first so that we test with a clean slate. 2015-05-27 13:39:09 -07:00
Yannig Perre
c2968d6d84 New lookup plugin : ini. Can handle ini file and java properties file.
Can also read a list of value in a section using regexp.
2015-05-27 21:51:20 +02: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
Toshio Kuratomi
a8d52e3e94 Have to setup the proper mime-types before importing SImpleHttpServer 2015-05-21 12:24:41 -07:00
Toshio Kuratomi
7af2632c87 Forgot to invoke wrapper instead of SimpleHttpServer 2015-05-21 11:56:58 -07:00
Toshio Kuratomi
b312e97a30 Think that integration tests are failing in json due to lack of json mimetype. Make a short wrapper to fix that. 2015-05-21 10:59:57 -07:00
Toshio Kuratomi
13253f9c68 Merge pull request #10565 from bcoca/with_sequence_expand
made sequence more flexible
2015-05-21 08:05:17 -07:00
James Cammarata
9921a1d2be Unit tests for base strategy class (v2) 2015-05-21 02:03:59 -05:00
Toshio Kuratomi
13578738bf Merge pull request #11014 from ansible/uri-integration
Uri integration tests
2015-05-20 17:57:06 -07:00
Brian Coca
78985e5c33 Merge pull request #11030 from resmo/feature/cloudstack_tests_cs_portforward
cloudstack: add tests for cs_portforward
2015-05-19 08:58:27 -04:00
Rene Moser
3916dc8f9e cloudstack: add tests for cs_portforward 2015-05-19 10:11:55 +02:00
Rene Moser
3d816402ba cloudstack: add tests for cs_firewall 2015-05-19 09:39:50 +02: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
Toshio Kuratomi
0f9ad9dad2 Update integration tests from @darkk to work with the current uri module code 2015-05-14 14:21:29 -07:00
Leonid Evdokimov
3383a7b37a tests: replace start-stop-daemon with async action 2015-05-14 12:58:24 -07:00
Leonid Evdokimov
ae9ba4afa1 uri: provide raw_content, parse json without double-decoding. Fixes #7586
Regression potential:
 - `raw_content` is written to `dest` file instead of decoded `content`
 - `raw_content` doubles module reply
2015-05-14 12:58:24 -07: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
Toshio Kuratomi
bbda86ad0a Fix parsing tests so that they all run 2015-05-13 11:04:12 -07:00
James Cammarata
b94e2a1f4e Fixing bugs related to parsing and fixing up parsing integration tests (v2) 2015-05-13 11:27:12 -05:00
James Cammarata
830225d9c1 Fix errors in subelements lookup plugin and associated tests (v2) 2015-05-12 15:09:03 -05:00
Jan Losinski
dcb54d9657 Add integration test to verify #10073
In issue #10073 a misbehaviour in literal handling for inline lookup
arguments that can cause unexpected behaviur was reported. This
integration testcase reproduce the problem.

After applying pull request #10991 the issue is fixed and the test
passes.

Signed-off-by: Jan Losinski <losinski@wh2.tu-dresden.de>
2015-05-12 11:16:17 -07:00
Serge van Ginderachter
9b646dea41 Add optional 'skip_missing' flag to subelements 2015-05-12 12:52:16 -05:00
James Cammarata
1ca8cb8553 Fixing up v2 unit tests 2015-05-12 12:24:57 -05:00
Rene Moser
9180ede6e0 cloudstack: add test for cs_account 2015-05-11 17:37:35 +02: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
Chris Meyers
cf300da02c azure changes to Makefile 2015-05-05 08:42:07 -04:00
Chris Meyers
efb190d5a5 add azure integration tests 2015-05-04 23:45:03 -04:00
James Cammarata
8f504dacdd Merge branch 'devel' into v2_final
Conflicts:
	lib/ansible/modules/core
	v2/ansible/modules/core
	v2/ansible/modules/extras
2015-05-04 16:35:11 -05:00
Brian Coca
1071fa12ca Merge pull request #10908 from resmo/feature/cloudstack-tests
cloudstack: integration tests
2015-05-04 12:29:27 -04:00
Brian Coca
4d357a73f6 Merge pull request #10868 from jaypei/devel
Add lineinfile integration tests for quoted string
2015-05-04 10:48:49 -04:00
James Cammarata
ce3ef7f4c1 Making the switch to v2 2015-05-03 21:47:26 -05:00
Rene Moser
0588a0fdd9 cloudstack: integration tests 2015-05-03 16:06:30 +02:00
Toshio Kuratomi
da5e201b07 Change python-q into sharutils as the epel repo for centos6 is being funky. 2015-04-30 17:48:03 -07:00
Toshio Kuratomi
6a985b9c6b Add Fedora mysql vars so we get mariadb rather than mariadb-galera 2015-04-30 16:16:27 -07:00
Toshio Kuratomi
3ccc2ae299 Fix include test to keep type 2015-04-30 15:25:53 -07:00
Toshio Kuratomi
974731bec0 Fix filename of output file 2015-04-30 13:54:25 -07:00
Toshio Kuratomi
8d0ceeca91 Make template test work with both py2.6 and 2.7+ 2015-04-30 09:24:51 -07:00
Toshio Kuratomi
fb96173d10 to_nice_json filter no longer has a trailing space when formatting dicts 2015-04-30 08:52:02 -07:00
jaypei
288fe1179a Add lineinfile integration tests for quoted string
Reference #10864
2015-04-29 19:50:59 +08:00
Jeff Bachtel
47c3d75c3c Add test for https://github.com/ansible/ansible/issues/9851 2015-04-28 14:17:53 -04:00
Carlos E. Garcia
cfbfd38723 just a few spelling error changes 2015-04-28 09:36:42 -04:00
Toshio Kuratomi
6935d467eb Add tests for yum module taking lists of packages in various formats 2015-04-21 10:09:19 -07:00
Toshio Kuratomi
a0def30c34 Add integration test for unarchive filelist feature 2015-04-15 09:28:50 -07:00
Toshio Kuratomi
aab681bc2b Update core and extras module refs and add tests for an unarchive
problem that the update fixes:

https://github.com/ansible/ansible-modules-core/issues/1064
2015-04-15 05:14:20 -07:00
Toshio Kuratomi
ed601f964d Merge pull request #10683 from timsutton/remove-old-git-integration-test
Git integration test: remove test for ambiguous .git/branches dir
2015-04-13 15:14:32 -07:00
Timothy Sutton
5f1ba589a5 Git integration test: remove test for ambiguous .git/branches dir
- '.git/branches' does not always exist, but the git integration
  tests always checks for this directory's existence so it always
  fails
- more info:
  - http://stackoverflow.com/questions/10398225/what-is-the-git-branches-folder-used-for
2015-04-13 13:38:11 -04:00
Brian Coca
67512aeeb6 Merge pull request #10618 from jder/force-handlers
Fix --force-handlers, and allow it in plays and ansible.cfg
2015-04-13 10:16:45 -04:00
Feanil Patel
0abcebf1e4 Don't convert numbers and booleans to strings.
Before this change if a variable was of type int or bool and the variable was referenced
by another variable, the type would change to string.

eg. defaults/main.yml
```
PORT: 4567
OTHER_CONFIG:
  secret1: "so_secret"
  secret2: "even_more_secret"

CONFIG:
  hostname: "some_hostname"
  port: "{{ PORT }}"
  secrets: "{{ OTHER_CONFIG }}"
```

If you output `CONFIG` to json or yaml, the port would get represented in the output as a
string instead of as a number, but secrets would get represented as a dictionary.  This is
a mis-match in behaviour where some "types" are retained and others are not.  This change
should fix the issue.

Update template test to also test var retainment.

Make the template changes in v2.
Update to only short-circuit for booleans and numbers.

Added an entry to the changelog.
2015-04-11 12:03:42 -04:00
Chris Church
42bd640d14 Update win_user tests to set a group on user creation. 2015-04-11 01:55:56 -04:00
Chris Church
56f4bf44f5 Add integration tests for win_user module. 2015-04-11 01:55:56 -04: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
Brian Coca
2a8a302e7e fixed corner case when counting backwards, added test cases for count=0 and backwards counts 2015-03-30 20:34:17 -04:00
Toshio Kuratomi
aaa25eb75c Make run_command() work when we get byte str with non-ascii characters (instead of unicode type like we were expecting)
Fix and test.

Fixes #10536
2015-03-25 12:24:49 -07:00
Brian Coca
c49685b753 removed debug play from tests 2015-03-20 11:25:48 -04:00
Brian Coca
a53cf9d6fa now correctly aplies add_host passed variables last to override existing vars. 2015-03-20 11:22:07 -04:00
Toshio Kuratomi
e73b945900 Merge pull request #10112 from jsmartin/ec2_asg_rolling_integration_tests
Adds integration tests for new ec2_asg features
2015-03-19 22:41:00 -07:00
Toshio Kuratomi
98db6a232d Have selinux allow docker<=>nginx communication 2015-03-18 18:56:46 -07:00
Toshio Kuratomi
3c52c36629 Okay, let's see if these pauses are enough to get this passing 2015-03-18 17:58:29 -07:00
Toshio Kuratomi
2a967879fb Fix the removal of busybox image 2015-03-18 14:05:27 -07:00
Toshio Kuratomi
c2fb0b8f9d Some debugging for why docker tests are failing in jenkins 2015-03-18 13:40:19 -07:00
Toshio Kuratomi
f4c1260d03 Add more tests for private docker registries 2015-03-18 12:16:18 -07:00
Toshio Kuratomi
259744d5f4 Remove debug statements 2015-03-17 14:41:06 -07:00
Toshio Kuratomi
2cfeec3683 Add tests using a docker private registry 2015-03-17 14:41:06 -07:00
Toshio Kuratomi
9e14471471 And ran into a different problem with centos6. Sigh. 2015-03-17 14:14:26 -07:00
Toshio Kuratomi
85e137bbad Attempt to enable docker tests for rhel/centos6 as well 2015-03-17 13:52:44 -07:00
Toshio Kuratomi
f8ec1451ea Would help if I added these files in the right directory 2015-03-17 13:31:54 -07:00
Toshio Kuratomi
23291e8d8c Ugh, looks like very few distros have the proper packages to run the docker module.
break up the tests so that we can maybe  run this on at least one
platform
2015-03-17 13:18:42 -07:00
Toshio Kuratomi
a64de2e000 Initial test of the docker module 2015-03-17 12:32:07 -07: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
Toshio Kuratomi
4710a07fb0 Test case for #10426 2015-03-11 20:58:21 -07:00
Brian Coca
eb69eb4108 Merge pull request #10435 from bcoca/ssh_password_become_fix
fixes password error detection for ssh connection plugin
2015-03-11 19:04:56 -04:00
Brian Coca
f803c1e1f8 fix tag test that broke with new tag info displayed in list tasks 2015-03-11 16:28:37 -04: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
Toshio Kuratomi
a8c02b7049 Rework the shell quoting of remote checksumming
Instead of getting rid of pipes.quote, use pipes.quote and get rid of
the manually entered toplevel quotes.  This should properly escape
backslashes, quotes, and other characters.

Also fix the new checksumming python "one-liner" for csh.
ansible_shell_type needs to be set to csh.

Fixes #10363
Fixes #10353
2015-03-02 15:42:18 -08:00
Toshio Kuratomi
68c99a12b3 Merge pull request #10346 from lekum/find_plugin_bugfix
Bug fix: Search only for files as candidates
2015-02-26 15:38:45 -08:00
Toshio Kuratomi
9399290cca Proper git commit of the new integration test 2015-02-26 14:53:51 -08:00
Toshio Kuratomi
89159951dc Fix name of a task containing a template causing traceback
Workaround for #10321 Need to fix better in v2
2015-02-26 14:05:33 -08:00
Alejandro Guirao
b8cf131375 Bug fix: Search only for files as candidates 2015-02-26 19:13:07 +01:00
Toshio Kuratomi
e146245a0d Integration test for #10300 2015-02-25 11:26:43 -08:00
Brian Coca
c81d981164 Merge pull request #10183 from bcoca/tag_control
adds complex tag management
2015-02-25 10:36:11 -05:00
Brian Coca
1cb47c807e changed fetch test to match new functionality 2015-02-20 11:32:10 -05: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
Toshio Kuratomi
9bb8e60ed1 Merge pull request #10269 from danrue/unarchive_creates_behavior
Make behavior consistent when using 'creates' option with modules
2015-02-17 23:04:26 -08:00
Toshio Kuratomi
f1f176d86b Merge pull request #10266 from sivel/rax-cbs-test-size-fix
rax_cbs: Remove explicit msg match for invalid size in integration tests
2015-02-17 17:05:13 -08:00
Dan Rue
787388ac30 Do not mark "skipped" when changed is false
When using the "creates" option with the unarchive module, set changed
to False if the file already exists. This behavior is consistent with
other modules which use "creates", such as command and shell.
2015-02-17 15:02:08 -06:00
Matt Martz
1d0ceb37a4 Remove explicit msg match for invalid size 2015-02-17 12:32:22 -06:00
Brian Coca
bc5d0a8cd4 fixed jsonify test 2015-02-17 08:58:52 -05:00
Brian Coca
1861be8f31 Merge pull request #9957 from hfinucane/apt-deb-tests
Add tests for using .deb files
2015-02-16 19:15:34 -05:00
Toshio Kuratomi
8f05e4eaaf Tests for: https://github.com/ansible/ansible-modules-core/issues/778 2015-02-16 07:12:18 -08:00
Brian Coca
65c08d1364 added tests
refactored task selection into method
list-tasks now uses common method of task selection
always is now skippable if specified in --skip-tags
2015-02-13 08:27:07 -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
Matt Martz
be6e49dd1f Add tests for rax_cdb_database 2015-02-11 12:59:02 -06:00
Matt Martz
952aa0c2d8 Don't hardcode list of delete functions to loop through 2015-02-11 12:59:02 -06:00
Matt Martz
9485d82eca Add tests for rax_cdb 2015-02-11 12:59:02 -06:00
Matt Martz
29cd7e3fc1 Add tests for rax_identity 2015-02-11 12:59:02 -06:00
Matt Martz
74f4d186cc Add tests for rax_cbs_attachments 2015-02-11 12:59:01 -06:00
Matt Martz
5e00e72f7a Remove unecessary prep tasks 2015-02-11 12:59:01 -06:00
Matt Martz
3ae1014fd3 Add tests for rax_cbs 2015-02-11 12:59:01 -06:00
Matt Martz
f01ae9f509 Add test_rax_network role 2015-02-11 12:59:01 -06:00
Matt Martz
e54c45ee6d Add test_rax_keypair role 2015-02-11 12:59:01 -06:00
Matt Martz
abac45dafc Add test_rax_meta role 2015-02-11 12:59:01 -06:00
Matt Martz
9878ebf0ee Add tests for rax instance_ids with state=absent 2015-02-11 12:59:01 -06:00
Matt Martz
340b845c38 Add test_rax_facts 2015-02-11 12:59:01 -06:00
Matt Martz
dab9c30584 Add some extra vars and create a dependent role prepare_rax_tests 2015-02-11 12:59:01 -06:00
Matt Martz
5a862328f0 Add test_rax_clb_nodes 2015-02-11 12:59:00 -06:00
Matt Martz
b151c7ffac Add some additional output to cleanup_rax.py 2015-02-11 12:59:00 -06:00
Matt Martz
b8e7211661 Update rax_clb tests for fixes in the module 2015-02-11 12:59:00 -06:00
Matt Martz
7ba7e3bd69 Add tests for rax_clb 2015-02-11 12:59:00 -06:00
Brian Coca
788889225d Merge pull request #10078 from sgargan/consul
Ansible support for Consul
2015-02-11 13:58:15 -05:00
Toshio Kuratomi
10df1b898c Fix template module broken when modifying symlinks
Needed to clear unwanted parameters from both args and complex args when
calling file module.

Fixes #10208
2015-02-11 00:10:37 -08:00
Toshio Kuratomi
4902c06304 Obfuscate passwords in more places where it is displayed 2015-02-09 10:13:13 -08:00
Brian Coca
07dfbaedc3 Merge pull request #9602 from cchurch/powershell_splatting
Handle PowerShell parameters passed via splatting
2015-02-04 10:25:03 -05:00
Toshio Kuratomi
930bdd1f2f Better names for the test_binary tests 2015-02-02 19:33:05 -08:00
Toshio Kuratomi
5d1e468bda Don't bash TMPDIR env var unnecessarily. Other programs might rely on it 2015-02-02 16:17:40 -08:00
Toshio Kuratomi
5b279c1c15 Fix for v1 handling of unicode extra-vars 2015-02-02 14:12:16 -08:00
Toshio Kuratomi
bd7ac7fd7d Error message has changed; scrape the new message 2015-02-02 12:05:01 -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
Toshio Kuratomi
fef435cc2a Correct typo 2015-01-28 22:04:10 -08:00
Toshio Kuratomi
0eabf3bb99 Change subversion tests -- export test didn't test exporting before 2015-01-28 17:28:00 -08:00
James Martin
e2ce673b1a Properly empties ASG before terminating it, and waits for ASG to be deleted.
Updated to support wait_for_instances and replace_all_instances.
2015-01-27 15:39:26 -05:00
Toshio Kuratomi
eebba11558 Remove the build-dep change test. Doesn't seem like there's a way to do that. 2015-01-27 10:40:58 -08:00
Toshio Kuratomi
a6a911d2ed We changed the way build-dep is specified in the module; also change it in the tests 2015-01-27 10:00:07 -08:00
Conrado Buhrer
0c1193f11d added: integration tests builddeps for apt module 2015-01-26 17:58:56 -02:00
Steve Gargan
c02f114967 Initial commit of Ansible support for the Consul clustering framework (http://consul.io).
Submission includes support for
 - creating and registering services and checks
 - reading, writing and lookup for values in consul's kv store
 - creating and manipulating sessions for distributed locking on values in the kv
 - creating and manipulating ACLs for restricting access to the kv store
 - inventory support that reads the Consul catalog and group nodes according to
     - datacenters
     - exposed services
     - service availability
     - arbitrary groupings from the kv store

This submission makes extensive use of the python-consul library and this is required
as a dependency and can be installed from pip.

The tests were written to target a vagrant cluster which can be setup by following the
instructions here http://github.com/sgargan/consul-vagrant
2015-01-24 01:09:03 +00:00
Toshio Kuratomi
364f772cc5 Fix quoting of shell parameters used in remote_checksum and add integration test to detect the error
Fixes #682
2015-01-22 12:33:06 -08:00
Brian Coca
54c25a101b Merge pull request #10029 from gaqzi/devel
Add filter to turn a string into a UUID
2015-01-22 14:51:40 -05:00
Toshio Kuratomi
7e538d54dd Install zip for the unarchive test 2015-01-22 10:37:19 -08:00
Toshio Kuratomi
cce87acfed Fix integration test for unarchive to test zipfiles 2015-01-21 16:17:49 -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
Toshio Kuratomi
6326daa34e Update modules for unarchive handling user,group,mode and add integration test for the same 2015-01-14 19:23:12 -08:00
Toshio Kuratomi
ee469c2ab1 Add a check that unarchive works with complex_args 2015-01-14 13:03:21 -08:00
Toshio Kuratomi
21a5a5f50f typoed the filename 2015-01-12 15:18:15 -08:00
Toshio Kuratomi
d7f67ea62b Doh! We needed this template. 2015-01-12 13:57:01 -08:00
Toshio Kuratomi
e69299f05a iRemove pretty print to_nice_json test -- the test fails on python2.6
without simplejson
2015-01-12 13:35:22 -08:00
Brian Coca
f995b34638 Merge pull request #9970 from sivel/rax-integration
Add integration tests for the rax module
2015-01-12 13:24:42 -05:00
Toshio Kuratomi
d83648bb82 Add test for python2.6 json bug to its own file 2015-01-12 10:20:28 -08:00
Toshio Kuratomi
91f9d84930 Revert "Try to provoke a python2.6 bug to prove we've fixed it"
The test template output is compared against an expected output.  Since
hostvars contains information specific to the host it runs on we can't
test the python2.6 bug this way.

This reverts commit af4d6105a5.
2015-01-12 10:16:59 -08:00
Toshio Kuratomi
af4d6105a5 Try to provoke a python2.6 bug to prove we've fixed it 2015-01-12 10:02:44 -08:00
Matt Martz
f5d2f8e382 Add integration tests for the rax module 2015-01-09 15:08:58 -06:00
Henry Finucane
7e95da2930 Add tests for using .deb files 2015-01-07 19:44:31 -08:00
Toshio Kuratomi
7e0fc6a8bc Merge pull request #9739 from jbinto/file_allow_touch_hardlink
Add integration test for ansible-modules-core #460
2015-01-07 09:08:01 -08:00
Rohan McGovern
1ac57a8a8f test_git: add tests for `refspec' argument
Includes a basic test of the clone and update cases.
2014-12-19 12:29:01 +10:00
Toshio Kuratomi
64c256b356 git module now with clone parameter and update=no reverted 2014-12-17 13:46:14 -08:00
Toshio Kuratomi
07e483b0c0 Update core modules 2014-12-16 11:18:15 -08:00
Jon Hawkesworth
e37b63386c Revised following comments from Chris Church.
Now uses sha1 checksums following merge of 9688.
Also I undid the changes I made to fetch.py
win_template.py now uses conn.shell.has_trailing_slash and
conn.shell.join_path
updated integration tests.
2014-12-16 04:47:01 +00:00
root
bf916fb58a Adding first pass at win_copy, win_file and win_template modules. 2014-12-16 04:47:01 +00:00
Brian Coca
bfe08560ec Merge pull request #9227 from cchurch/win_feature_tests
Add integration tests for win_feature
2014-12-15 20:13:52 -05:00
Federico G. Schwindt
91a73cff81 Add tests for globbing support 2014-12-14 22:40:04 +00:00
Federico G. Schwindt
fce04b1eba Use command= when we intended to
While here sort register variables and add a comment to signal multiline
testing.
2014-12-14 22:39:17 +00:00
Brian Coca
1408a01498 Merge pull request #9764 from bcoca/moar_tests
Moar tests
2014-12-11 01:03:54 -05:00
Toshio Kuratomi
a0ff0f8198 And the encoding needs to be latin1 for this test 2014-12-10 14:51:02 -08:00
Toshio Kuratomi
367a361a70 Correct the command name on RHT Systems 2014-12-10 14:40:10 -08:00
Toshio Kuratomi
2dd0e51469 Possible fix for postgres setup on F21 cloud image 2014-12-10 14:25:40 -08:00
Toshio Kuratomi
ac71caa0ac Quote debug msgs and find one more wierd bug to test in v2 2014-12-10 11:50:48 -08:00
Toshio Kuratomi
65be0eefcf Enable all the binary tests inside of the role.
They're not being run by default so make sure they're ready to show
errors when we turn them on for v2
2014-12-10 11:40:33 -08:00
Toshio Kuratomi
37d1b3f1cf New test that binary contenti.
(and a few unicode tests because they make clearer what we're testing)
works.  disabled for now since they mostly do not pass on 1.8.  We'll
want to enable them when we start integration testing the v2 tree.
2014-12-10 11:37:32 -08:00
Brian Coca
0ce5d2c846 added complex bare templated conditional test 2014-12-10 09:21:49 -05:00
Brian Coca
58be1b049e added tests for templating and with_items 2014-12-09 11:31:21 -05: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
Toshio Kuratomi
8d6ea38ee0 Disable automatic running of test_delegate_to with an explanation of what it would take to set this up in our automated test systems 2014-12-08 13:39:01 -08:00
Toshio Kuratomi
3269a349f3 Fix remote_checksum with delegate_to and add tests for several ways that delegate_to works 2014-12-08 12:44:44 -08:00
Jesse Buchanan
39c488203f Add integration test for ansible-modules-core #460
See https://github.com/ansible/ansible-modules-core/pull/460
2014-12-07 14:29:57 -05:00
Veres Lajos
bf5d8ee678 typofixes - https://github.com/vlajos/misspell_fixer 2014-12-04 22:23:35 +00:00
Toshio Kuratomi
57c77691ec Add a check that tilde expansion with copy works 2014-12-04 11:35:03 -08:00
Toshio Kuratomi
1eb3124999 Make test for skipping agree with the way current output formats a skip 2014-12-04 10:53:48 -08:00
Toshio Kuratomi
77be7cdca8 Merge pull request #9717 from bcoca/fix_integration_test_with_conditionals
fixed integration test as with_items
2014-12-04 09:46:37 -08:00
Brian Coca
446cba6509 fixed integration test as with_items always returns a list, even if
empty
2014-12-04 12:30:18 -05: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
Toshio Kuratomi
1ec8b6e3c5 Have remote_expanduser honor sudo and su users.
Fixes #9663
2014-12-03 10:46:56 -08:00
Toshio Kuratomi
00c0d7ce31 Ubuntu still having problems initializing the postgres db 2014-12-03 07:37:51 -08:00
Chris Church
2bf269568b Merge pull request #9688 from cchurch/fix_win_fetch
Fixes for fetch module when connecting to Windows hosts
2014-12-02 15:15:06 -05:00
Toshio Kuratomi
8790be3154 Now that we have all of the postgres db being blown away the package manager is initializing a new db.
We don't need to do it manually anymore
2014-12-02 08:56:38 -08:00
Chris Church
de267b5655 Fix PowerShell plugin issues affecting fetch module when used against Windows hosts. 2014-12-01 22:18:35 -05:00
Toshio Kuratomi
7329bcde99 New integration tests for postgresql 2014-12-01 19:10:35 -08:00
Toshio Kuratomi
86b21a1b8d Integration tests for https://github.com/ansible/ansible-modules-core/issues/416 2014-12-01 10:46:22 -08:00
Tomasz Kontusz
9ee367e044 Add mock and nose to requirements for running unit tests 2014-11-30 16:10:25 +01:00
Toshio Kuratomi
c697d01151 Integration tests for #9242 and #9640 2014-11-26 10:55:37 -08: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
Chris Church
e9b6aaf5d8 Update PowerShell command line processing to handle parameters passed via splatting. 2014-11-23 22:53:10 -05:00
Toshio Kuratomi
ef6769d6c8 Clean up the format of pull #9590 2014-11-21 09:22:12 -08:00
Rohan McGovern
be6ef11e96 test_git: add tests for version=<sha1> case
This test covers a recently fixed bug,
https://github.com/ansible/ansible-modules-core/issues/313
2014-11-21 12:03:25 +10:00
Toshio Kuratomi
c4c3cc315d Transform both values of a task name into a byte str prior to comparing
Fixes #9571
2014-11-19 11:50:02 -08:00
James Cammarata
aa1a46092d Fix missing dep on parsing integration test for preparation role 2014-11-19 09:41:09 -06: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
c3c6a07e65 Update apt test for newer version of test package and pull in an apt module fix 2014-11-14 10:02:21 -08:00
Mario de Frutos
dd9dc637d1 Test install with wildcard 2014-11-14 09:49:32 -08: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
Brian Coca
dd60036fb9 added changed status to return when new early create check is triggered,
added skipped check to test on create existing
2014-11-14 11:13:36 -05: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
531eaddb3d Remove second invocation of mysql_user integration test
Seems to have been mistakenly added when mysql_variable tests were
added.
2014-11-12 11:46:17 -08:00
Toshio Kuratomi
f109b818bf Disable pip test on FIPS enabled systems because pip unconditionally uses md5 2014-11-12 11:45:39 -08:00
Toshio Kuratomi
b828b25784 Add a fips fact and use it for integration tests 2014-11-12 09:29:21 -08:00
Toshio Kuratomi
ffc2e5a627 Do not fail on failure of md5 checksumming tests for non_destructive
tests
2014-11-11 21:04:07 -08:00
Toshio Kuratomi
507a1ef093 Fix integration test to check for checksum, not md5sum 2014-11-06 23:17:17 -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
67ff4428d5 Fix up all python3 issues that do not have to do with text/bytes 2014-10-28 20:27:14 -04:00
Toshio Kuratomi
050d17295d Remove test case that wasn't reported as something git should do 2014-10-28 19:09:32 -04:00
Toshio Kuratomi
82e8d677d9 Test the git changes for the git module's recursive flag 2014-10-28 17:58:25 -04:00
Toshio Kuratomi
56c268ade4 New test that newlines in systemd service scripts don't cause problems 2014-10-22 16:38:01 -04:00
Toshio Kuratomi
43b3eecf52 Debian/Ubuntu doesn't have group nobody so remove the group portion of the new template tests as owner and mode will exercise the problematic code path 2014-10-21 01:31:55 -04:00
Toshio Kuratomi
feb9ed1de8 Fix template module incorrectly handling mode when dest is a directory
Fixes #9350
2014-10-21 00:22:24 -04:00
James Cammarata
b61a78532c Catch template syntax errors specifically when templating strings
Fixes #9333
2014-10-20 13:11:20 -05:00
James Cammarata
c08c907ee0 Merge pull request #9346 from MiLk/test/shell-multiline
Add integration test for the shell module
2014-10-20 09:09:59 -05:00
James Cammarata
21577ff2cc Moved v2 tests for plugins to new location 2014-10-16 08:55:44 -07:00
James Cammarata
1d04e4b3d2 Updating unittests for v2 stuff 2014-10-15 18:02:45 -07:00
Toshio Kuratomi
938b2108d0 Move the v2 tests under the v2 tree 2014-10-15 18:08:28 -04:00
Emilien Kenler
39ce134c2c Add integration test for the shell module
* it ensures that it's possible to define options in the multiline block
2014-10-15 11:12:35 +09:00
Toshio Kuratomi
692d31d221 Python3 fix 2014-10-12 10:49:42 -04:00
Toshio Kuratomi
1e255a72a8 Python3 fix 2014-10-12 10:40:48 -04:00
Toshio Kuratomi
25ac4ccef3 Update other asserts that have a py2.6 unittest method 2014-10-12 03:09:37 -04:00
Toshio Kuratomi
c752f012f7 Start converting asserts to self.assert*() so we get better error messages 2014-10-11 22:22:10 -04:00
Michael DeHaan
ccd559137f add missing headers, rm the subtree of ansible/inventory as we wish to overhaul it. 2014-10-10 16:47:55 -04:00
James Cammarata
fe5a7bcabf Fixing bad variable naming choices 2014-10-10 12:45:33 -05:00
James Cammarata
2eda9a3a47 Fixing item loop when undefined variable errors occur because of missing attributes
Fixes a case where the variable 'foo' may exist, but the with_items loop
was used on something like 'foo.results', where 'results' was not a valid
attribute of 'foo'. Prior to this patch, conditionals were not evaluated
until later, meaning there was no opportunity to allow a test to skip the
task or item based on it being undefined.
2014-10-10 12:26:04 -05:00
James Cammarata
a50332fc8a Adding v2 error line support, and tests 2014-10-09 12:52:39 -05: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
Michael DeHaan
79f41d9c1a This makes the module args parser more functional to eliminate side effects and eliminiates the 'return None' error path
to make sure we are handling more use cases.  Some paths are not yet complete, including most likely handling of the 'raw'
module.
2014-10-08 19:46:34 -04:00
Michael DeHaan
56b6cb5328 Teaching objects to load themselves, making the JSON/YAML parsing ambidexterous. 2014-10-08 16:00:08 -04:00
James Cammarata
ad893ea867 Merge pull request #9286 from damncabbage/9008-undef-var-in-list
Makes listify_lookup_plugin_terms respect the global setting for undefined variables.
2014-10-08 13:01:47 -05:00
James Cammarata
c83a833740 New v2 ModuleArgsParser code and fixing up tests/other task code 2014-10-08 10:35:58 -05: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
James Cammarata
bbd9921dbd Adding a negative test for new safe_load 2014-10-07 19:59:54 -05:00
Michael DeHaan
4cb7f654b6 Add stub tests for module args parsing. 2014-10-07 17:00:01 -04:00
James Cammarata
93e273333d Adding tests for new yaml parsing stuff and adjusting imports 2014-10-07 15:52:58 -05:00
Michael DeHaan
ad9ab8e033 Stub class for mod arg parsing tests. 2014-10-07 14:59:55 -04:00
Michael DeHaan
21642c0fbf We need module args specific parsing classes. 2014-10-07 14:56:42 -04:00
Michael DeHaan
d97b38ba83 Attribute defaults and optional accessors. 2014-10-06 17:06:13 -04:00
Michael DeHaan
e66a0096a7 Work in progress on task loading. 2014-10-06 16:29:18 -04:00
Michael DeHaan
f066e361f1 WIP on data structure processing patterns. 2014-10-06 16:29:18 -04:00
James Cammarata
05644686de Fix bug in plugin path caching
Fixes #9263
2014-10-04 21:47:38 -05:00
Michael DeHaan
94db7365b9 __getattr__ to hide some of the attribute magic. 2014-10-03 17:09:25 -04:00
Michael DeHaan
b54434c1b2 WIP on Attributes. Getting closer. 2014-10-03 16:37:32 -04:00
Michael DeHaan
6db1b4dfd2 WIP on refactoring changes 2014-10-03 15:25:21 -04:00
Michael DeHaan
335221d79e This is an exceedingly rough sketch of what attributes might look like - metaclass implementations NOT complete. 2014-10-03 14:54:04 -04:00
James Cammarata
0c40c6c23c Fix order of resolving dependent role variables from vars files
Also adds a new class to the test_var_precedence test to check for
this type of error in the future.

Fixes #9178
2014-10-03 13:30:47 -05: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
James Cammarata
313f26f866 Fix issue with vars precedence from roles
Fixes #9219
2014-09-30 15:50:46 -05:00
Dave Rawks
5f54b57b6d Corrected indentation 2014-09-30 13:37:47 -07:00
Chris Church
997ea78b1f Add integration tests for the win_feature module. 2014-09-30 16:20:20 -04: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
James Cammarata
21dcfd7192 Adding integration tests for async fire-and-forget checking
Also updated the CHANGELOG for the feature
2014-09-25 15:42:45 -05:00
James Cammarata
889dfc4374 Merge pull request #8959 from willthames/galaxy_ssh_clone
Allow fairly common ssh repo clone path to work
2014-09-23 14:58:29 -05:00
James Cammarata
56954a200e Merge branch 'devel' of https://github.com/dmage/ansible into dmage-devel 2014-09-22 15:40:06 -05:00
Toshio Kuratomi
f7b5b85743 Fix the name of the upstart service 2014-09-18 13:18:31 -07:00
Toshio Kuratomi
d98e32e364 Fix the var we're checking in the upstart test 2014-09-18 13:00:37 -07:00
Toshio Kuratomi
6943ec11a5 Failure to enable a service now fails the task
Fixes: 8855
2014-09-18 12:39:54 -07:00
James Cammarata
28f6a18ef6 Allow git repo queries without a clone when update=no
This commit also makes the dest parameter optional, unless update=yes
(the default), since it is not required for queries without an update.

Fixes #8630
2014-09-17 02:05:29 -05:00
James Cammarata
b376e208c7 Adding "follow" param for file/copy options
Also modifies the template action plugin to use this new param
when executing the file/copy modules for templating so that links
are preserved correctly.

Fixes #8998
2014-09-16 12:05:55 -05:00
Toshio Kuratomi
49a6af1378 Test that file touch does not keep a new file if we failed to set its
attributes
2014-09-15 12:36:52 -07:00
James Cammarata
dc9482d548 Fix quoting issues in lineinfile for individual single-quotes
Fixes #8806
2014-09-11 16:27:48 -05:00
James Cammarata
503f7afbd8 Merge branch 'hfinucane-gh-7432' into devel 2014-09-11 12:53:46 -05:00
James Cammarata
178075489b Merge branch 'gh-7432' of https://github.com/hfinucane/ansible into hfinucane-gh-7432 2014-09-11 12:42:52 -05: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 Laska
6cd55a5e95 Correct mysql integration indentation 2014-09-10 17:56:28 -04:00
James Laska
b7c7476359 Include el7 mariadb support in mysql integration test 2014-09-10 16:33:21 -04:00
James Cammarata
317ab06bc6 Fixing multiline parsing to preserve newlines
Fixes #8813
2014-09-10 15:14:46 -05:00
James Cammarata
a571fd4efe Convert boolean strings from set_fact to proper boolean values
Also adds integration tests for booleanification of strings

Fixes #8629
2014-09-10 09:56:39 -05:00
Will Thames
d6a725659e Allow github style ssh repo names 2014-09-10 21:55:27 +10:00
Toshio Kuratomi
a9b5b1bf55 Test that we can override variables set in inventory when the vars_file name is templated
Fixes #8903
2014-09-09 15:43:10 -07: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
James Cammarata
cd99821f8a Fix py26 difference in ssl socket connect call from 99ba9d6 2014-09-03 10:04:02 -05:00
James Cammarata
14b8e2cf01 Make sure set_fact variables go into VARS_CACHE
Fixes #8758
2014-09-03 09:39:50 -05:00
Henry Finucane
9638ab973f Add integration test 2014-09-01 16:31:37 -07:00
Oleg Bulatov
a7d38702d9 Fix #7711
Fix relative symlinks creation in file module

Signed-off-by: Oleg Bulatov <oleg@bulatov.me>
2014-09-01 23:23:36 +04:00
Chris Church
dac11904cb Add tests for new windows facts. 2014-08-31 11:52:20 -04:00
James Cammarata
e99db078b4 Additional fixes for the new omit parameter variable 2014-08-27 10:06:55 -05:00
Victor Lin
6260635c65 add new test case 2014-08-27 10:05:10 -05:00
Victor Lin
559c04f324 Implement omit for module args, also add tests for it 2014-08-27 10:04:47 -05:00
James Cammarata
d99b835c3e Adding integration tests for symbolic modes 2014-08-25 21:54:17 -05:00
Will Thames
ab8490d003 Added warnings to command module
Generate warnings when users are shelling out to commands
rather than using modules

Can be turned off on a per-action line with the documented
warn=False flag. Can be turned off globally using
command_warnings = False in ansible config file.

Print out warnings using the standard playbook callbacks.

Created some additional tests in TestRunner.test_command
and also a demonstration playbook.
2014-08-22 15:37:07 -04:00
Michael DeHaan
3871eebfbb Merge pull request #8441 from willthames/unarchive_dest_fix
Unarchive should work when parent directory is not writable
2014-08-22 15:05:42 -04:00
Michael DeHaan
3695c2bcab Remove galaxy CLI tests that hit bitbucket as bitbucket is hanging tests - maybe replace with nice github examples later :) 2014-08-22 14:06:08 -04: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
31540246dd Handle older git archive commands
Older git archive commands create tar archives even with a tar.gz
extension. So change it to always create tar archives and have
the install_role method cope.

Removed ssh roles from the test case as they don't work unless
you can connect to bitbucket via ssh and have your key there.

Corrected a minor typo in error messages
2014-08-21 17:15:23 -04:00
Will Thames
ada9074276 Allow installation of roles from yaml roles file
Added docs
Added more tests
Improved how roles are returned from the parsers
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
1803976a40 Ensured that role version can be specified in role dependencies 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
5e240fec71 Merge branch 'devel' of https://github.com/l1k/ansible into l1k-devel
Conflicts:
	test/integration/roles/test_copy/tasks/main.yml
2014-08-21 13:56:26 -05: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
f2adee9fc9 Merge pull request #8665 from cchurch/winrm_timeout
WinRM test for long-running command.
2014-08-19 15:43:00 -04:00
James Cammarata
d4ff0d125a Make sure password files from lookups are created with restrictive permissions
Also adds checks for the lookup integration test for passwords.

Fixes #8652
2014-08-19 11:30:04 -05:00
James Cammarata
3a7aca6066 Fix no_log value for content in common file args settings
Also adds a test to ensure the content value is not logged.

Related to #8647
2014-08-19 10:47:18 -05:00
Chris Church
90fc6c6881 Added winrm test for long-running command. 2014-08-18 07:49:42 -04:00
Lukas Wunner
677de07f44 Try optimistic chown, do not error out if not permitted to chown
Add unit test
2014-08-17 22:08:45 +02: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
James Cammarata
783a1e3dfc Fixing broken patch 20957a1
Also adds integration tests for nested includes with conditionals
2014-08-11 14:58:48 -05:00
James Cammarata
66802169f5 Adding integration test based on #8535 2014-08-11 11:42:21 -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
Will Thames
d9b895b319 Unarchive should work when parent directory is not writable
Correct unarchive so that the checks for writeability are
sensible.

Added a test for when parent directory is not writable
2014-08-07 16:11:02 +10:00
James Cammarata
5c2c10987e Re-enable the ec2_eip test 2014-08-05 09:20:23 -05:00
James Laska
d202616213 Merge pull request #8426 from jlaska/update_integration_Makefile
Include unicode and var_precedence tests in 'all' target
2014-08-04 13:42:01 -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 Laska
d4a78dc951 Include unicode and var_precedence tests in 'all' target 2014-08-04 09:50:30 -04:00
Wayne Rosario
2957a8de44 Adding test Coverage for mysql_variable module
Use mysql_variable to query, set and update variables.
Assert using user and password to query, set and update  variables.
Assert using single quotes, double quotes and no quotes  when using variables
2014-08-01 12:15:05 -04:00
James Cammarata
80df2135e9 Fix parsing of tasks with variable module names
Also adding an integration test for same.
2014-07-30 14:18:06 -05:00
James Cammarata
730e23fa07 Merge branch 'integration_mysql_user' of https://github.com/wrosario/ansible into wrosario-integration_mysql_user 2014-07-29 15:55:57 -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
Wayne Rosario
eaf4571e42 Adding the following Test Coverage:
Use mysql_user module to create, delete users.
Update user password and ensure new password was updated for the correct user.
Assert user has access to multiple databases
Assert user creation, deleting using different user privilege and ensure privilege work correctly.
2014-07-29 11:49:53 -04:00
James Cammarata
b64a5ff73d Further enhancements for include params tests 2014-07-29 10:43:37 -05:00
James Cammarata
c9bfcf40d3 Adding further integration tests for include params with quotes 2014-07-29 10:03:44 -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
6e814566de Unquote params passed to an include statement
Fixes #8315
2014-07-28 16:35:52 -05:00
Michael DeHaan
f814e4e463 Verify playbook includes can take params. 2014-07-26 10:41:23 -04:00
Michael DeHaan
a1e4f826ca Add some more integration tests for the task and playbook include mechanism. 2014-07-26 10:37:55 -04:00
James Cammarata
5bcb715dc0 Fixing up previous include test 2014-07-26 01:39:22 -05:00
James Cammarata
4d659229ce Adding integration test to parsing for includes with params 2014-07-26 01:26:16 -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
James Cammarata
57f89b85eb Merge pull request #8271 from tksmd/fix-copy-set-fs-attributes-issue
fix an issue that copying directory will fail when trying to change file attributes
2014-07-25 09:38:24 -05:00
James Cammarata
63bcbd0af2 Fix for unicode decoding error in new splitting code
Also adds a new unicode integration test
2014-07-25 09:10:50 -05:00
Michael DeHaan
8d42f5cbfa Smush ds removal 2014-07-24 20:38:02 -05:00
Michael DeHaan
3adddf4836 Add another negative test for the parser logic. 2014-07-24 20:57:03 -04: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
43154e5101 Using custom splitting function for module param counting 2014-07-24 14:42:35 -05:00
James Cammarata
cd6602475b Merge branch 'integration_mysql_db' of https://github.com/wrosario/ansible into wrosario-integration_mysql_db 2014-07-24 00:09:11 -05:00
someda
1b1d5d0d3d fix an issue that copying directory will fail when trying to change file attributes and the target file already exists on remote
- the issue was introduced by the commit 84759faa09
2014-07-24 14:03:36 +09:00
James Cammarata
091b76efaa Fixes to parsing tests to remove trailing space 2014-07-23 22:54:39 -05:00
Michael DeHaan
1064550b47 Add missing file. 2014-07-23 23:32:45 -04:00
Michael DeHaan
a21092d7c2 Add missing role test file. 2014-07-23 22:35:24 -04:00
Michael DeHaan
5a763fb5b6 Add some negative tests on the same parsing infrastructure. 2014-07-23 22:34:56 -04:00
Michael DeHaan
02c63cee26 Add a lot of tests to verify parsing routines for scenarios that should pass. Some changes TBD, like stripping command spaces off end of expressions. 2014-07-23 22:10:58 -04:00
James Cammarata
75e5b6401c Fixing up shell quoting issues 2014-07-22 10:09:11 -05:00
James Cammarata
8e940004c2 Fix ec2_setup task param quoting 2014-07-21 11:33:35 -05:00
James Cammarata
84759faa09 Security fixes:
* Strip lookup calls out of inventory variables and clean unsafe data
  returned from lookup plugins (CVE-2014-4966)
* Make sure vars don't insert extra parameters into module args and prevent
  duplicate params from superseding previous params (CVE-2014-4967)
2014-07-21 11:20:49 -05:00
Michael DeHaan
98c6688343 Merge pull request #6976 from clconway/gce-snapshots
Adds support for snapshots and extra persistent disks to the gce modules
2014-07-19 19:07:29 -04:00
Wayne Rosario
24a3d55c78 Adding Integration Tests for mysql_db module
Adding the following Test Coverage for RedHat and Debian OS:

 - Use mysql_db module to create, delete databases using different encoding.
 - Backup/Restore databases using different file format: sql, gz and bz2.
 - Create and delete databases using different user privilege.
 - Assert database creation, deleting and content using system commands.
2014-07-18 12:50:58 -04:00
James Cammarata
0e5b0a2e97 Revert "Set Jinja2's keep_trailing_newline=True in template_from_string."
This reverts commit 7a8eb0b670.
2014-07-17 09:07:04 -05:00
Jacob Leverich
7a8eb0b670 Set Jinja2's keep_trailing_newline=True in template_from_string.
Without this setting, the newline idempotence of scalar strings changes depending on whether
or not they contain any Jinja2 template blocks.
2014-07-14 13:36:17 -07:00
James Cammarata
a320c02c81 Correcting var blending integration test 2014-07-10 15:54:38 -05: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
bcf83cbc24 Merge branch 'sergevanginderachter-inventorytree' into svg_and_inventory_refactor 2014-07-07 13:11:52 -05:00
Chris Church
12a0f4abd8 Add integration tests for win_service module. 2014-07-02 08:12:40 -04: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
9564818e1e Merge branch 'fix_lineinfile_newlines' into devel 2014-06-23 12:38:12 -05:00
Chris Church
f59041871e Fix typo in powershell setup module. 2014-06-21 10:27:43 -04:00
James Cammarata
32aa948dd0 Exclude ps1 modules from the TestModules unittest
Fixes #7864
2014-06-20 10:15:35 -05:00
James Cammarata
22ae21ab43 Exclude ps1 modules from the TestModules unittest
Fixes #7864
2014-06-20 10:12:14 -05:00
James Cammarata
48dbb79fbe Merge branch 'issue_5679_lineinfile' into fix_lineinfile_newlines 2014-06-20 00:19:35 -05:00
Chris Church
2654f7b200 Add copyright header to main winrm test playbook. 2014-06-19 14:26:59 -05:00
Chris Church
43236ca0ed Add basic tests for win_get_url and win_msi modules. 2014-06-19 14:26:55 -05:00
Chris Church
5b85252043 Add tests for windows setup module. 2014-06-19 14:26:42 -05:00
Chris Church
edbe7a4514 Add tests for win_stat module. 2014-06-19 14:25:50 -05:00
Chris Church
243cd877ae Add integration tests for fetch/slurp, make powershell fetch/slurp work as close as possible to existing fetch/slurp modules. 2014-06-19 14:25:28 -05:00
Chris Church
c0c9ff23b2 Fix win_ping integration test. 2014-06-19 14:24:14 -05:00
Chris Church
0c938562a7 Add winrm integration tests for raw, script and ping modules. 2014-06-19 14:24:13 -05:00
James Cammarata
ac349dce96 Fixing typo in integration Makefile from an earlier change 2014-06-12 13:14:01 -05:00
James Cammarata
d90f0bdfad Merge branch 'fix-lineinfile-eof-newline' of https://github.com/ahtik/ansible into ahtik-fix-lineinfile-eof-newline 2014-06-12 09:13:49 -05:00
James Cammarata
96c6daf177 Change name of vault integration test 2014-06-10 10:07:50 -05:00
James Cammarata
3abcfee681 Merge branch 'pr_fix2' of https://github.com/carlanton/ansible into carlanton-pr_fix2 2014-06-10 10:05:00 -05:00
Ahti Kitsik
1caf9be109 Bugfix to lineinfile to properly handle files with no newline at EOF when using insertafter=EOF.
Looks like #6881 is also affected by this bug.

Currently when using lineinfile insertafter=EOF for a file that has no newline then the added line is not prefixed with a newline.
As a concrete example, ubuntu distro default /etc/ssh/sshd_config has no newline so lineinfile module cannot be used to add a new line to the end of the file.
2014-06-09 19:58:45 +03:00
Kevin Bell
73c1ccf53e Added an integration test for the ec2_asg module 2014-06-05 16:18:31 -05:00
James Cammarata
8ff0c0f253 Tweaking make_su_cmd test
Fixes #7652
2014-06-04 13:03:50 -05:00
James Cammarata
74f20ebf79 Removing cruft leftover from the deprecation of include+with_items
Also cleaning up integration tests that had checks for the empty item
attribute in certain results.

Fixes #7535
2014-06-03 13:33:26 -05:00
James Cammarata
e85c7f848f Make sure export param for subversion module is checked as a boolean
Fixes #7548
2014-05-27 14:09:50 -05:00
James Cammarata
cfd8c685d1 Correct issue of handlers running on all hosts incorrectly
Also adds an integration test to catch this bug in the future.

Fixes #7559
2014-05-27 12:03:08 -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
Anton Lindström
923c172044 Enabled integration tests for encrypted vars in Makefile 2014-05-21 21:17:53 +02:00
Anton Lindström
926755c3cf Added integration tests for encrypted vars 2014-05-21 21:06:47 +02:00
Kevin Bell
bcfef8d0d4 Add a broken test that shows extensions not skipped 2014-05-14 23:43:14 -07:00
James Cammarata
272db903e5 Adding an integration test for variable precedence 2014-05-09 11:42:57 -05:00
James Cammarata
21f8c0bc96 Merge branch 'cchurch-devel' into devel 2014-05-07 09:12:10 -05:00
James Laska
d314f1b038 [test_apt_repository] Verify that 'python-apt' auto-installs correctly
Remove 'python-apt' before testing the 'apt_repository' module.  The
'apt_repository' module has the smarts to auto-install python-apt.  The
integration test will now assert the correct auto-install behavior.
2014-05-07 09:28:01 -04:00
Chris Church
f9c74d6e57 Add integration tests for group_by module. Fixed bug introduced by ansible/ansible#7273 while also fixing issue described in ansible/ansible#6953 2014-05-06 22:30:37 -04:00
James Cammarata
84e13e5f4c Make sure amazon test doesn't check host keys 2014-05-05 15:07:59 -05:00
James Cammarata
d6fc9f1dfc Fixing two bugs in the ec2_elb_lb module
* the current state of the ELB was not reflected properly when checking
  the status after a change was made.
* invalid zones caused a traceback when enabling/disabling zones
2014-05-05 12:48:45 -05: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
James Cammarata
b753625dbf Refuse to convert a non-empty directory into a link with the file module
Also adds an integration test for the above.

Fixes #7254
2014-05-02 14:46:38 -05:00
someda
50080b3774 fix #7244 recursive copy fails when setting directory attributes
- reverse the order of new_directory_list returned from split_pre_existing_dir in copy module
2014-05-02 01:38:16 +09:00
James Cammarata
bf7c51ad8a Adding an ec2_elb test to re-add an instance that had been removed 2014-04-30 13:59:24 -05:00
James Cammarata
dc4f198bad Forgot to add an assertion for the new rsync_path test 2014-04-29 15:53:32 -05:00
James Cammarata
45237f270d Adding a new test for the synchronize module to test rsync_path 2014-04-29 15:47:16 -05:00
Carlos E. Garcia
7f5dd5e85d multiple spelling error changes 2014-04-29 10:41:05 -04:00
James Cammarata
c9df855d38 Adding an integration test for the ec2_elb module 2014-04-28 20:37:08 -05:00
James Cammarata
f2db460203 A few updates to the ec2_elb_lb integration test 2014-04-25 14:49:00 -05:00
James Martin
2ef65ae813 ec2_elb_lb integration tests. 2014-04-25 14:49:00 -05:00
James Martin
8a21f226b5 ec2_eip integration tests. 2014-04-21 22:10:22 -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
Chris Conway
1e0eed3fce Changes cleanup_gce.py to use gce_credentials module. 2014-04-13 18:38:31 -07:00
Chris Conway
2257a69723 Adds support for attaching persistent disks to GCE instances 2014-04-13 18:38:31 -07:00
Chris Conway
d227330a55 Adds support for creating GCE persistent disks from snapshots 2014-04-13 18:38:31 -07:00
Chris Conway
0b45b1256d Adds support for creating GCE persistent disks from images 2014-04-13 18:38:31 -07:00
Chris Conway
1e76fe2569 Adds integration tests for gce_pd module. 2014-04-13 18:38:31 -07:00
Chris Conway
2cc4a372c5 Adds integration tests for gce module. 2014-04-13 18:38:30 -07: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
James Cammarata
567f3819b1 Fixing newline escapes in lineinfile
Fixes #5679
2014-04-08 11:42:29 -05:00
James Cammarata
b73cddc485 Revert "Fix #5679 again after recent changes in core"
This reverts commit 2bfaacd170.

Fixes #6821
2014-04-07 09:55:59 -05:00
James Cammarata
82b24c162e Adding delimiter fixes to action_plugin + fixing local assembling with a delimiter
Also added a new integration test for assemble using local assembly
with a delimiter.
2014-04-03 16:32:35 -05:00
Matt Martz
5770428e91 Add version_compare filter 2014-04-02 20:21:30 -05:00
Michael DeHaan
10adf9f2cc Denote unit test requirements in README.md 2014-04-02 17:29:32 -04:00
James Cammarata
684d46b170 Fixing some parsing issues in authorized_key module
Also adds an integration test for authorized_key for future validation.

Fixes #6700
2014-04-02 15:02:54 -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
James Cammarata
78bdb078fe Fix for bug related to async jid polling change plus a new test 2014-03-26 15:49:15 -05:00
James Cammarata
b3cdcbff75 Adding in a test for subversion export option 2014-03-25 22:21:31 -05:00
James Tanner
f9018a6f1d Ensure handlers run when meta tasks are defined and add handler integration tests
Fixes #6678
Fixes #6670
2014-03-25 13:33:52 -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
4045b793be Addresses #6550 add integration tests for pipe lookup 2014-03-18 12:29:54 -04:00
James Laska
750d9e2d59 Update credentials.yml documentation and handling
Changes include:

 * Update Makefile to use credentials.yml when it exists
 * Add details on the use of the credentials.yml file to README.md.
 * Update credentials.template comments
2014-03-18 10:17:44 -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
Michael DeHaan
9da26da335 Merge branch 'ini_vars' of git://github.com/dmage/ansible into devel 2014-03-17 17:37:57 -04:00
James Cammarata
5d8c9d3f0f Merge branch 'file_fixes_clean' of https://github.com/bcoca/ansible into bcoca-file_fixes_clean 2014-03-17 14:03:26 -05:00
James Laska
4ef2603a62 Add yum+apt integration tests for auto dependency installalation
The `apt` and `yum` modules will automatically install python dependencies.
This change updates the existing integration tests to test whether auto-install
of dependencies is functioning properly.
2014-03-17 10:42:29 -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
Michael DeHaan
5c05982dea Merge pull request #6448 from jirutka/fix-5679-2
Fix #5679 again after recent changes in core
2014-03-16 12:43:10 -05:00
Brian Coca
2d25577e11 Fixes and cleanup to file functions and module
- unified set attribute functions ... not sure why 2 identical functions
exist with diff names, now there are 3 while i repoint all modules to 1
- fixed issue with symlinks being created w/o existing src when force=no
- refactored conditionals, simplified where possible
- added tests for symlink to nonexistant source, with both force options
- made symlink on existing attomic (force)
2014-03-15 13:54:24 -04:00
James Cammarata
28ebf1b2c9 Merge branch 'unit-tests' of https://github.com/sivel/ansible into sivel-unit-tests 2014-03-14 13:52:53 -05:00
James Laska
aacccd441b Add integration test for apt_repository
Tests several ways to specify the repository.  For every repo added, the test
asserts that:

 * the apt-cache was updated as expected (depends on `update_cache` parameter)
 * the PPA key was installed (depends on `repo` format)
2014-03-14 13:07:12 -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 Laska
07dd02c25a [test_ec2*] cloud integration test updates
To support parallel cloud test execution, create and provide a random string to
cloud integration tests.  The variable 'resource_prefix' can be used in cloud
roles and during resource cleanup to safely create/destroy cloud-based
resources.

Additional changes include:

 * The roles test_ec2_key and test_ec2_group were updated to use to
 {{resource_prefix}}.

 * Additionally, the Makefile was updated to set resource_prefix to a random
 string.  The Makefile will also use 'resource_prefix' during cloud_cleanup.

 * All test_ec2* roles were updated to add 'setup_ec2' as a role dependency.
2014-03-13 11:28:02 -04:00
James Laska
9cc4be2683 Correct test integration ec2 cleanup script 2014-03-12 19:29:46 -04:00
James Laska
bc678e7d7b Add credentials.template and support custom INVENTORY
Testers may override the inventory and vars-file using the environment
variables 'INVENTORY' and 'VARS_FILE'.
2014-03-12 15:45:10 -04:00
James Laska
5c9dc33e41 Additional test_git scenarios
Includes coverage for accept_hostkey and additional scm URL formats.
2014-03-12 15:45:10 -04:00
Jakub Jirutka
2bfaacd170 Fix #5679 again after recent changes in core 2014-03-12 18:21:53 +01:00
James Laska
551cb1892b Always run cleanup after running cloud_integration tests 2014-03-12 08:37:01 -04:00
James Tanner
0d6f6ad282 Implement new default cipher class AES256 2014-03-10 16:15:44 -05:00
Dolph Mathews
8808e029f9 spelling correction for "separate"
s/seperate/separate/

http://en.wiktionary.org/wiki/separate
2014-03-08 04:51:34 -06:00
Richard C Isaacson
a483e42583 unarchive module: Add creates functionality.
Closes GH-5354.

Forklift copy logic into unarchive. Provides integration unit tests.
2014-03-07 18:19:46 -06:00
James Laska
c7d1c1a306 [test_service] correct upstart service name and permissions
The 'service' utility was unable to find the 'ansible_test' service due to an
unexpected filename.  This patch corrects the filename and adjusts the
permissions to match other service scripts within /etc/init/.
2014-03-07 10:42:13 -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 Laska
868746b095 Correct ansible_distribution typo
Redhat != RedHat
2014-03-06 16:16:00 -05:00
James Laska
ba9950a73a Use correct value of ansible_distribution in integration tests
This fixes integration tests when run on a RHEL system.  Oddly, the
ansible_distribution='RedHat' when run on RHEL.
2014-03-06 15:52:15 -05: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
g-k-r
dbad5d71c6 modifed test to use get_hosts instead of get_groups
closes #5749

Conflicts:
	test/units/TestInventory.py
2014-03-06 13:06:08 -06:00
g-k-r
6626cb0b3d add test same host in different files in dir
tests issue #5749
 same host defined in different groups which in turn are defined
 in different ini files in an inventory directory

Conflicts:
	test/units/TestInventory.py
2014-03-06 13:03:25 -06:00
James Tanner
cd6d7ddc97 Fix test_async by using env python 2014-03-06 13:32:05 -05:00
Richard C Isaacson
16fe09eef8 Fixes related to uncommenting test_dir_inventory in TestInventory.
0. Uncomment the test.
1. Test fails.
2. Make vars unique per file in test inventory files.
3. Modify token addition to not ast.literal_eval(v) a variable containing a hash.
4. Modify vars to have an escape in test inventory file.
5. Catch exceptions explicitly. Any unknown exceptions should be a bug.
6. Test passes.
2014-03-06 12:09:53 -06:00
Michael DeHaan
94a7fb60fe Allow escaped comments in inventory files. 2014-03-05 20:10:25 -05:00
Richard C Isaacson
b41d8106ff Revert "Merge pull request #6287 from risaacson/fix_hash_in_var"
This reverts commit a808287451, reversing
changes made to 6129ea7566.
2014-03-05 14:49:30 -06:00
Richard Isaacson
a808287451 Merge pull request #6287 from risaacson/fix_hash_in_var
Fix inventory for test_dir_inventory, merge PRs from GH-5749, cleanup some formatting.
2014-03-05 14:20:27 -06:00
James Tanner
6129ea7566 Fixes #6298 and adds a sudo unit test for synchronize 2014-03-05 14:51:40 -05:00
Richard C Isaacson
22a1fb28d6 Minor cleanup. 2014-03-05 13:44:15 -06:00
g-k-r
a3c36a6853 modifed test to use get_hosts instead of get_groups
closes #5749

Conflicts:
	test/units/TestInventory.py
2014-03-05 13:29:47 -06:00
g-k-r
23fee4b836 add test same host in different files in dir
tests issue #5749
 same host defined in different groups which in turn are defined
 in different ini files in an inventory directory

Conflicts:
	test/units/TestInventory.py
2014-03-05 13:27:39 -06:00
Richard C Isaacson
49bd8b0b35 Fix inventory for test_dir_inventory
It came up that fixing this unit test may relate to another ticket that is open. This work allows us to uncomment this unit test by fixing how we pars variables allowing a quoted variable to contain a '#'.

Work also went into cleaning up some of the test data to clarify what was working.

Lastly work went into cleaning up formatting so that the code is easily read.
2014-03-04 18:31:49 -06:00
Jesse Keating
0c2c37a47a Avoid range selection on empty groups
This prevents a traceback when the group is empty.
Fixes #6258
2014-03-03 13:23:27 -08:00
Michael DeHaan
46ec8759d5 Remove the legacy templating code, which was guarded by deprecation warnings in the previous two releases, and undocumented for a long time. use {{ foo }} to access variables instead of ${foo} or $foo. 2014-02-28 18:38:45 -05:00
Michael DeHaan
956eb91de0 Merge pull request #6198 from jlaska/integration_ec2
First pass at ec2 module tests
2014-02-27 10:44:37 -05:00
Chris Church
adeea2c3f3 Added integration test for subversion parameters that need escaping. 2014-02-26 22:44:03 -05:00
James Laska
b589bf1d2e First pass at ec2 module tests 2014-02-26 16:43:30 -05:00
James Tanner
a37a6983be Switch from skipIf to SkipTest for TestVaulLib 2014-02-26 14:01:31 -05:00
James Tanner
f5359c310f Add negative tests for VaultLib 2014-02-26 13:38:58 -05:00
James Tanner
baed7a0ed9 Fixes #6187 Add unit tests for VaultLib 2014-02-26 12:10:09 -05:00
Richard C Isaacson
2bce819519 Fix fails on ubuntu due to missing /etc/motd
Some systems that we are testing on may not have /etc/motd. So we need to create a file that we can control and use that for the further tests.
2014-02-25 13:42:33 -06:00
James Tanner
e121ff111d Fix synchronize unit test to handle checkmode 2014-02-25 09:24:14 -05:00
James Cammarata
f23ccebbdc Merge branch 'issue_4620' of https://github.com/jimi-c/ansible into jimi-c-issue_4620 2014-02-24 20:30:25 -06:00
James Cammarata
7517cd9398 Moving the assemble test to the correct location 2014-02-24 15:19:06 -06:00
James Cammarata
f03d6a67c8 Adding new tests for assemble role 2014-02-24 14:27:23 -06:00
Michael DeHaan
0a83f743c1 Merge pull request #6146 from jlaska/test_synchronize
Correct assert and add with_items test
2014-02-24 15:20:49 -05:00
James Laska
40e0204051 Correct assert and add with_items test 2014-02-24 15:07:23 -05:00
Richard C Isaacson
087f7c230d Typo fixes. 2014-02-24 11:08:21 -06:00
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
Jacob Weber
35742fe008 Add regex_replace jinja2 filter 2014-02-11 22:02:53 -08: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
Pol Llovet
ba78360c52 Remove inline comments from inventory tokenizing. 2013-05-30 14:12:23 -06:00
Michael DeHaan
a9fcea5893 Merge branch 'escape' of git://github.com/ngrilly/ansible into repr 2013-05-29 18:29:16 -04:00
Dale Sedivec
611d56dc4c Plug-ins loaded from top-level plug-in directory
PluginLoader._get_paths, as of 391fb98e, was only finding plug-ins that
were in a subdirectory of one of the basedirs (i.e. in a category
directory).  For example, action_plugins/foo.py would never be loaded,
but action_plugins/bar/foo.py would work.

This makes it so that "uncategorized" plug-ins in the top level of a
directory such as action_plugins will be loaded, though plug-ins in a
"category" subdirectory will still be preferred.  For example,
action_plugins/bar/foo.py would be preferred over action_plugins/foo.py.
2013-05-24 17:05:28 -05:00
Nicolas Grilly
75ceb80572 Escape args injected in new style modules 2013-05-24 01:01:07 +02:00
David Simon
190ce16bab Dealing with invalid symlinks and symlink permissions 2013-05-09 15:35:05 -04:00
Dale Sedivec
515fd9e915 copy action plug-in check mode respects force=no
The copy action accepts force=no, which tells it not to replace an
existing file even if it differs from the source.  The copy action
plug-in wasn't respecting this option when operated in check mode, so it
would report that changes are necessary in check mode even though copy
would make no changes when run normally.

Runner._remote_md5 was changed to make the logic for setting rc perhaps
a little more clear, and to make sure that rc=0 when the file does not
exist.
2013-04-16 20:22:51 -04:00
Michael DeHaan
7c6341718e Merge branch 'combine_vars' of git://github.com/laggyluke/ansible into exp
Conflicts:
	lib/ansible/inventory/vars_plugins/group_vars.py
	lib/ansible/runner/__init__.py
	lib/ansible/utils/__init__.py
	test/TestPlayBook.py
2013-04-16 20:06:06 -04:00
willthames
377bc31311 Prevent premature substitution of variables into tasks
As documented in #2623, early variable substitution causes when_
tests to fail and possibly other side effects.

I can see the reason for this early substitution, likely introduced
in 1dfe60a6, to allow many playbook parameters to be templated.
This is a valid goal, but the recursive nature of the utils.template
function means that it goes too far.

At this point removing tasks from the list of parameters to be
substituted seems sufficient to make my tests pass. It may be the
case that other parameters should be excluded, but I suspect not.

Adding a test case. I would prefer to analyse not just the aggregate
statistics but also whether the results are as expected - I can't
see an easy way to do that with the available callbacks at present.
2013-04-12 09:17:03 +10:00
Michael DeHaan
81a926547c Some continued work on new-style templates and associated test code changes. Legacy template functions
are marked with "legacy_" for possible future removal.
2013-04-10 19:09:57 -04:00
Michael DeHaan
b09ef21ec9 Add code to flag legacy templating like $foo.{bar} as deprecated in favor of Jinja2 {{ foo.bar }} so we
can remove the legacy system at a later date.
2013-04-10 17:52:35 -04:00
Michael DeHaan
e8085ad40c Since we removed the (undocumented) playbook include + with_items code, fix the tests to
compensate.
2013-04-10 15:08:18 -04:00
willthames
9d87733f98 Test case and fix for shlex.split unicode bug
When operating on a unicode string in python 2.6, shlex.split returns
a result that does not work with the file constructor.

To reproduce this requires a task include that is templated (this is
because the templated string is a unicode result, whereas a non-
templated string is a non-unicode string)

    [will@centos6.3] $ python
    Python 2.6.6 (r266:84292, Sep 11 2012, 08:34:23)
    [GCC 4.4.6 20120305 (Red Hat 4.4.6-4)] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import shlex
    >>> shlex.split(u'abc')
    ['a\x00\x00\x00b\x00\x00\x00c\x00\x00\x00']

    [will@fedora17] $ python
    Python 2.7.3 (default, Jul 24 2012, 10:05:38)
    [GCC 4.7.0 20120507 (Red Hat 4.7.0-5)] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import shlex
    >>> shlex.split(u'abc')
    ['abc']

The proposed fix (coercing the include parameters to string before the
shlex.split) may not be ideal but it does fix the bug for my test case.
2013-04-08 14:47:43 +10:00
George Miroshnykov
6826aa7360 Tweaked merge_hash to also affect Runner behavior 2013-04-06 13:06:38 +03:00
Michael DeHaan
7116c83c4a Standardize test output 2013-04-05 13:13:33 -04:00
Michael DeHaan
2c783c7145 Disable a test temporarily 2013-04-05 13:12:46 -04:00
Michael DeHaan
cdaa2085ee Preliminary ability to use Jinja2 {{ }} to replace ${foo.bar} in playbooks. Can't use both at the same time per line. 2013-04-03 01:04:16 -04:00
tin
ca581840ef Added additional lineinfile documentation.
A little more unit testing.
2013-03-27 01:31:58 +01:00
tin
f9b70822d2 Fixed to the lineinfile module.
Added the backrefs parameter to the lineinfile module.
Added tests for the backrefs functionality of the lineinfile module.
2013-03-27 01:31:58 +01:00
Javier Candeira
ca6c36e1ac password lookup plugin, with working tests and documentation 2013-03-10 13:36:53 +11:00
Michael DeHaan
839dff8eae Disable filter test for now since it should really be testing at a lower level. 2013-03-01 17:42:14 -05:00
Daniel Hokka Zakrisson
1f8805d9e0 Add some tests for directory-based inventory 2013-03-01 23:34:14 +01:00
Devin Bayer
fca1167a0e add to_nice_yaml|json filters 2013-02-28 17:07:02 +01:00
Yves Dorfsman
cff8cdd428 Using the _get_test and _get_stage methods. 2013-02-23 12:50:18 -05:00
Yves Dorfsman
943829c9b7 Added test cases for lineinfile. 2013-02-23 12:50:18 -05:00
Mike Grozak
171a01deac Cron module upgrades
- added cron_file attribute: if specified, the file with appropriate
job is created in /etc/cron.d directory. Also, you can store multiple
jobs in one file. state='absent' attribute is handled in the following
way in this case: if after the deletion of the job from the file specified
by cron_file variable the file is empty, the file is deleted, otherwise
not.
  - fixed the behaviour, when the backupfile is saved forever in /tmp
folder, even if the backup= atribute is not set (os.unlink() is called if
backup is not True).
  - added some comments to the unobvious places
2013-02-09 11:11:19 -05:00
Rune Kaagaard
7a8b27f716 Fixing bug with unicode templates.
The utils.md5s() function would break when calculating checksums
for non-ascii characters. Convert to utf-8 first.
2013-02-05 14:49:59 +01:00
Daniel Hokka Zakrisson
a79373f6b2 Make template_ds the only templater
Instead of having to remember when to use which one, rename template_ds
to template and move the last bit of code from template to varReplace
(which gets used for all string replacements, in the end).

This means that you can template any data type without worrying about
whether it's a string or not, and the right thing will happen.
2013-02-03 14:01:54 +01:00
Juha Litola
2796603c92 Removed apt_key tests, as they didn't test the real functionality.
Tests used heavily mocked version of the apt_key code, which meant that
it didn't properly test real life scenario.
2013-01-25 17:10:04 +02:00
Jayson Vantuyl
ad6373430b add apt_key module
Pretty straightforward.  Give it a URL with an exported GPG key for signing an
Apt repository.  It downloads it and will install it using apt-key.  It's even
smart enough to tell if it's already there (i.e. actually tells you if it
changed or not).
2013-01-15 17:34:38 -08:00
Jayson Vantuyl
13ddd39db9 add with_sequence lookup plugin
Plugin allows you to do easy counts for items.
2013-01-09 15:30:24 -08:00
Daniel Hokka Zakrisson
87b2378e22 Resolve variable references inside variables
Fixes the case where variable x is '$y' and y is a dict(foo='bar') and
an attempt to access ${x.foo} is made.
2013-01-09 13:45:55 +01:00
Michael DeHaan
04195e202d Merge pull request #1747 from njharman/alpharange
Alphabetic inventory hostname patterns.
2012-12-17 16:52:11 -08:00
Michael DeHaan
4bcdd24688 Merge pull request #1776 from junegunn/inventory-group-var-ws
Allows whitespaces around assignment operators when defining group variables
2012-12-17 16:51:49 -08:00
Michael DeHaan
dede11750c Merge pull request #1775 from dagwieers/boolean-yes-no
Make use of yes/no booleans in playbooks
2012-12-15 11:53:48 -08:00
Junegunn Choi
7fbb7e079a Fix hostname expansion bug in inventory parser 2012-12-16 01:49:12 +09:00
Junegunn Choi
daf797804b Allows whitespaces around assignment operators
when defining group variables
2012-12-14 20:43:29 +09:00
Dag Wieers
66fb7fd9de Make use of yes/no booleans in playbooks
At the moment Ansible prefers yes/no for module booleans, however booleans in playbooks are still using True/False, rather than yes/no. This changes modifies boolean uses in playbooks (and man pages) to favor yes/no rather than True/False.

This change includes:

- Adaptation of documentation and examples to favor yes/no
- Modification to manpage output to favor yes/no (the docsite output already favors yes/no)
2012-12-14 11:56:53 +01:00
Michael DeHaan
70bb7d1e54 Merge pull request #1696 from gregorg/enhance_limit
Allow regex to be used to select hosts in addition to fnmatch pattern
2012-12-12 14:51:44 -08:00
Daniel Hokka Zakrisson
54b45e9bd4 Allow intersecting host patterns by using &
This allows patterns such as webservers:!debian:&datacenter1 to target
hosts in the webservers group, that are not in the debian group, but are
in the datacenter1 group. It also parses patterns left to right.
2012-12-12 11:36:12 +01:00
Norman J. Harman Jr
6603737e4d Alphabetic inventory hostname patterns.
- Code, docs, tests.
  - Also added test of large range 000-142 to verify alpha range did not
    break this.
2012-12-10 20:48:38 -06:00
Gregory Duchatelet
8bc1b69c58 Add a unit test to subset limiting via a regex, and some doc in man
page.
2012-12-02 10:18:58 +01:00
Brian Coca
6a1e2aaff5 moved override matching string to variable changed test template to match Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2012-11-26 10:41:13 -05:00
Brian Coca
d751d88b48 added test for template overrides Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2012-11-26 10:41:13 -05:00
Daniel Hokka Zakrisson
0c70abfaa9 Make sure any existing groups gets reused 2012-11-25 12:42:30 +01:00
Michael DeHaan
0c4b30a471 Aliased node test doesn't make sense locally, so remove it. 2012-11-19 10:45:10 -05:00
Michael DeHaan
9985995a9d Make tests use the local connection type, fix missing callback in tests. 2012-11-19 10:30:30 -05:00
Daniel Hokka Zakrisson
e74ffd6764 Lookup plugin arguments need to be templated 2012-11-14 11:17:30 +01:00
Daniel Hokka Zakrisson
eebbbd3f0e Make parameterized playbook includes work with vars as a list
Fixes #1610.
2012-11-13 12:12:18 +01:00
Daniel Hokka Zakrisson
5752d2a850 Fix lookup plugin test properly 2012-11-13 12:09:42 +01:00
Daniel Hokka Zakrisson
d2dce1d63f Make lookup plugin replacements part of the main variable logic 2012-11-13 02:18:05 +01:00
Daniel Hokka Zakrisson
f91fa9f765 Fix lookup plugin test 2012-11-13 02:13:10 +01:00
Daniel Hokka Zakrisson
9c095b72b9 Add parameterized playbook includes
Also makes with_* work with them.

Fixes #1162.
2012-11-09 15:43:49 +01:00
Daniel Hokka Zakrisson
383dc30560 Rename varReplaceWithItems to template_ds 2012-11-09 15:43:29 +01:00
Daniel Hokka Zakrisson
43419d7b20 Add tests for lookup plugins 2012-11-07 23:21:26 +01:00
Daniel Hokka Zakrisson
47082a9171 Add $LOOKUP(<lookup plugin>,<data>) as a templating option
Also moves file and pipe to lookup_plugins.
2012-11-07 23:17:29 +01:00
Daniel Hokka Zakrisson
40af8eff14 Add testcase for first_available_file 2012-11-06 20:57:35 +01:00
Daniel Hokka Zakrisson
56314f7225 Add test case for non-existing variable in varReplaceWithItems 2012-11-01 19:24:53 +01:00
Daniel Hokka Zakrisson
fbda2d4628 Use default port if ansible_ssh_port is not set for the delegated node
Also add testcase for it.
2012-11-01 12:00:49 +01:00
Daniel Hokka Zakrisson
efe83daf19 Fix ${var.$other_var} and add test cases for it 2012-10-30 13:05:45 +01:00
Michael DeHaan
6ba30170dd Make group_vars and host_vars available to usr/bin/ansible, and make vars_plugins exist 2012-10-26 19:55:59 -04:00
Michael DeHaan
e04dab904a Use previous proven multiprocessing logic as the simplification didn't have the same Ctrl-C handling and may
be subject to race issues, though still don't pass Runner to each.  Still seems performant.
2012-10-26 18:11:38 -04:00
Michael DeHaan
f8e946b71d Merge branch 'varfind-cleanups' of git://github.com/dhozac/ansible into devel 2012-10-25 20:14:20 -04:00
Daniel Hokka Zakrisson
1449c8ac67 Fix ansible_ssh_host again
This time with unit tests to ensure it keeps working.
2012-10-21 21:22:56 +02:00
Daniel Hokka Zakrisson
c9c5fc1456 Merge varFind and varLookup 2012-10-21 20:32:02 +02:00
Michael DeHaan
cbc12f0dba Various performance streamlining and making the file features usable in all modules without daisy chaining. 2012-10-20 22:55:09 -04:00
Michael DeHaan
6fa1a49037 Fix the basic templating system such that when the template ends in '$', life continues as normal. 2012-10-20 10:57:52 -04:00
willthames
5a769a5a4d Fixed tests to reflect desired configuration behaviour
Test for when environment variable and configuration file
variable both set now tests that the environment variable takes
precedence

Removed logic that would never be triggered from
lib/ansible/constants.py
2012-10-18 12:53:30 +10:00
Michael DeHaan
0837a29e51 Only expand lists in templating inside of module action lines, to avoid breaking usage with with_items and "in" statements, etc 2012-10-17 19:35:12 -04:00
Michael DeHaan
7583704144 "force=" code under the file module is problematic, remove it 2012-10-16 18:14:42 -04:00
Michael DeHaan
c5d2f6b0d3 implement lookup plugins for arbitrary enumeration over arbitrary things. See the mailing list for some cool examples. 2012-10-12 20:07:05 -04:00
Jeroen Hoekx
23a62f5a78 Return multiple groups from inventory API. 2012-10-10 18:35:45 +02:00
Jeroen Hoekx
30c019447b Fix typo in inventory API test script. 2012-10-10 18:17:24 +02:00
Daniel Hokka Zakrisson
695b4bcb46 Allow non-string types in with_items variables 2012-10-01 17:07:51 +02:00
Daniel Hokka Zakrisson
6477bdc6fc Use a regexp to filter out arguments instead
pipes.quote is a bit overzealous for what we want to do, quoting ;
and other characters that you most likely want to use in your shell
invocations. The regexp is the best I could come up with to be able
to only replace the parts of the arguments that shouldn't be
executed.
2012-10-01 12:13:17 +02:00
Michael DeHaan
22f3aef4dc remove test for private function that is no longer present 2012-09-30 20:49:16 -04:00
Daniel Hokka Zakrisson
dfee6e19ca Replace lists with a comma-separated join 2012-09-30 11:41:44 +02:00
Daniel Hokka Zakrisson
4b29c2cf74 Revert pull request #1091
Automatic quoting of variables in only_if breaks existing playbooks
where entire statements are put in a variable, and other cases. See
issue #1120 for details.
2012-09-28 13:58:23 +02:00
Michael DeHaan
06cfc52afd fix tests and change nosetests flags so asserts show what comparisons failed 2012-09-27 22:12:15 -04:00
Daniel Hokka Zakrisson
9e4fac5ebd Create a string parser for varReplace instead of using re
This fixes a few issues,
- ${foo}${bar} would be parsed as a variable named foo}${bar,
  which wouldn't be easily fixed without breaking ${foo.${bar}}
- allows escaping . in variable parts so e.g.
  ${hostvars.{test.example.com}.foo} works

This is slower than using re. 3 million templating calls take about
about twice as long to complete with this compared to the regexp,
from ~65 seconds to ~115 seconds on my laptop.
2012-09-28 01:03:34 +02:00
Daniel Hokka Zakrisson
b55ef665ba Fix only_if statements referencing non-string types
This fixes e.g. only_if: ${task.changed} which would always
evaluate to true due to it having been replaced by a string for its
boolean value. Also adds a test case to ensure it doesn't get
missed again.
2012-09-27 18:36:52 +02:00
Daniel Hokka Zakrisson
51216dcfae Add tests for varReplace repr 2012-09-25 20:14:58 -04:00
Michael DeHaan
4ded8cb3b3 Change $FILE{} and $PIPE{} to $FILE() and $PIPE() 2012-09-19 17:58:16 +02:00
Daniel Hokka Zakrisson
cc948f339c Allow including files through variables
$FILE{file} will be replaced with the contents of "file"
$PIPE{cat file} will be replaced with the output of "cat file"
2012-09-19 17:57:17 +02:00
Michael DeHaan
b8c4bb9e6e Revert "Allow including files through variables"
This reverts commit bf47bb4753.

Conflicts:

	lib/ansible/utils.py
	test/TestUtils.py
2012-09-19 10:31:23 -04:00
Michael DeHaan
b2af95e4a6 Change $FILE{} and $PIPE{} to $FILE() and $PIPE() 2012-09-18 21:34:55 -04:00
Michael DeHaan
e1ecb95b3d Delete test that was coded against *local* resolv.conf -- obviously not going to be the same between people's computers 2012-09-18 21:16:35 -04:00
Michael DeHaan
08b70949c7 Fix a test and a typo in an example 2012-09-18 21:10:07 -04:00
Aleksej Romanov
eefe66f1cc Squashed commit of the following:
commit 80a26a8175b779b707bc08e9d28c451c30ee4ada
Merge: b25b9fd 61e9b27
Author: Michael DeHaan <michael.dehaan@gmail.com>
Date:   Tue Sep 18 21:01:47 2012 -0400

    Merge branch 'devel' of git://github.com/alopropoz/ansible into file-force

commit 61e9b27df25c36015c2b1b4a58155ccfdfb993a0
Merge: 3f6f329 16bf3e1
Author: Aleksej Romanov <alopropoz2@yandex.ru>
Date:   Thu Sep 13 20:48:02 2012 +0700

    Merge remote branch 'upstream/devel' into devel

commit 3f6f3291dffefa2a802def25a1e8bd38de0cba75
Author: Aleksej Romanov <alopropoz2@yandex.ru>
Date:   Thu Sep 13 20:41:31 2012 +0700

    'force' option for 'file' module.

commit 6223bba94160c60153448655803d084f7eaa5168
Author: Aleksej Romanov <alopropoz2@yandex.ru>
Date:   Thu Sep 13 20:40:19 2012 +0700

    changed = True when changing symlink referent, #1008. Needed for tests.
2012-09-18 21:04:42 -04:00
Michael DeHaan
b25b9fd840 Merge pull request #1058 from jkleint/devel
Support iteration over command output in with_items.
2012-09-18 17:55:40 -07:00
John Kleint
2a002f5c0b Support iteration over command output in with_items.
When the output of a command is stored in a register, this will create a
stdout_lines field in the result object that contains stdout split into a list
of lines.  This list can then be iterated over using with_items.
2012-09-17 16:57:33 -04:00
Daniel Hokka Zakrisson
9e78b10ae3 Add test data file 2012-09-17 18:31:49 +02:00
Daniel Hokka Zakrisson
bf47bb4753 Allow including files through variables
$FILE{file} will be replaced with the contents of "file"
$PIPE{cat file} will be replaced with the output of "cat file"
2012-09-17 16:03:59 +02:00
Michael DeHaan
04555f525e Fix a test from a previous pull request. 2012-09-11 18:04:54 -04:00
John Kleint
1f8696f5c1 Fix inventory.get_hosts when hosts is a list. 2012-09-11 13:00:40 -04:00
Brian Coca
83d1028a21 - Makefile now works with freebsd (date command options are diff)
date still issues warning and ignores TZ

- Updated tests to work inside bsd jails (127 addresses are an issue)
Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>
2012-08-29 09:46:05 -04:00
Michael DeHaan
508c04b85b remove svn tests 2012-08-28 20:30:14 -04:00
Dane Summers
eb49ee38ae full test case for subversion, minimal tests for git 2012-08-23 00:08:38 -04:00
Dave Peticolas
b42e835aab Always load group_vars and host_vars. 2012-08-13 21:08:05 -07:00
Michael DeHaan
9041adddaa Add support for ranged patterns like webservers[0-49] for hitting the first 50 webservers. 2012-08-11 13:49:18 -04:00
Michael DeHaan
de21cb27d8 Remove tests that involve network effects -- makes things faster and they are not really deep tests here either way. 2012-08-11 11:38:45 -04:00
Michael DeHaan
259f2dc4de Various retooling of the internal code behind inventory pattern matching in support of pending support
for host ranges.
2012-08-11 11:36:59 -04:00
Dave Peticolas
08272dc25d Remove unused imports. 2012-08-09 21:35:22 -07:00
Michael DeHaan
1c9b43df1b more whitespace 2012-08-06 21:00:21 -04:00
Petros Moisiadis
2ac4acbf97 fixes for tests 2012-08-01 22:17:16 +03:00
Will Thames
845a7ac5ae test_one not working as tests after skipped test failing, because
on_skipped callback being passed an extra item parameter that it wasn't
expecting.
Fixed it so that on_skipped in TestCallbacks accepts and ignores the
extra parameter
Extra parameter was added in 4b9b9a8a5b
but not really clear why from commit message
2012-08-01 12:35:17 +10:00
Michael DeHaan
d79900b434 Merge pull request #732 from willthames/fix_git_fail_json
Fixes for git module when it fails.
2012-07-31 05:04:47 -07:00
u348095
e863ba0cec Fixes for git module when it fails.
* module.fail_json *must* have msg argument
Using http://github.com/ rather than git://github.com/ as it gets through more
firewalls
2012-07-31 12:59:22 +10:00
Michael DeHaan
fe558f680a Fix some failing tests, script tests seem to indicate magic variables are not being provided
to scripted inventory so need to investigate this.
2012-07-30 19:21:49 -04:00
Michael DeHaan
47cead3603 Merge pull request #727 from sfromm/git
Git module ported to use module magic
2012-07-30 13:40:36 -07:00
willthames
1bcba4f4a2 test/TestRunner.py now executes false with no directory prefix
as it is /bin/false on many systems but /usr/bin/false on OS X
test/playbook1.yml now just does command true, rather than command /bin/true,
again so that it works on OS X

Changed from using which false to just using command false to
make it simpler and also match how playbook1.yml works
2012-07-30 21:39:58 +10:00
Stephen Fromm
90bf67cf56 Make test_git functional in TestRunner.py 2012-07-29 22:40:12 -07:00
Michael DeHaan
8fa4dc3920 Small change to previous patch, make ranges of hosts inclusive. 2012-07-24 20:10:05 -04:00
Chin Fang
e3b2521f01 Added a host expansion feature to ansible's inventory parsing 2012-07-24 12:38:52 -07:00
Michael DeHaan
dde11baa56 Remove YAML inventory tests since this is now deprecated. 2012-07-20 11:31:28 -04:00
Michael DeHaan
9e62fd42b5 update test utils code 2012-07-16 20:28:32 -04:00
Michael DeHaan
867b2437cc consolidate output code in callbacks.py, from utils, remove extra functions 2012-07-15 10:12:49 -04:00
Michael DeHaan
279b5965b8 Much streamlining around setup steps in playbooks, now only run setup once per play. 2012-07-14 12:24:19 -04:00
Michael DeHaan
931f9f1a61 Setup module no longer saves to disk, as templates are mostly useful in playbooks and this allows lots of simplifications
around file pathing and removes occasional permissions conflicts depending on how things are used.
2012-07-14 11:59:12 -04:00
Michael DeHaan
60f295f7a0 Squashed commit of the following:
commit 4430ce3eefcdff0b0ceffea0ef66ea8e876a807d
Merge: 631783b 649963c
Author: Michael DeHaan <michael.dehaan@gmail.com>
Date:   Thu Jul 12 01:28:43 2012 -0400

    Merge branch 'host-groups' of https://github.com/dagwieers/ansible into daggroups

commit 649963ca2c2610b97a90d2449132a57ae6b39ec9
Author: Dag Wieërs <dag@wieers.com>
Date:   Thu Jul 12 23:01:00 2012 +0200

    Added comments in the example yaml file as requested

commit 7f9718f185ec991bc165c4a52b2468cf41f4c349
Author: Dag Wieërs <dag@wieers.com>
Date:   Thu Jul 12 22:49:38 2012 +0200

    Add the default nose color too, to test specific overrides

commit eb63b9e899318ce0c26902ca73af50135a6224e4
Author: Dag Wieërs <dag@wieers.com>
Date:   Thu Jul 12 22:44:35 2012 +0200

    Introduce comics and cartoons to test yaml groups defined on a per-node basis

commit aa13d233078b825a8057bebf35ed478342cf4e43
Author: Dag Wieërs <dag@wieers.com>
Date:   Thu Jul 12 19:33:15 2012 +0200

    A small fix to revert to old state

commit 264ebaa77c4243f2e9117e8d1168dc2f2eed7ee2
Author: Dag Wieërs <dag@wieers.com>
Date:   Thu Jul 12 19:31:51 2012 +0200

    Combine both yaml unit tests into one example file

commit 7db49a8048e78402c4c9a0a6cb2604689280fbbb
Author: Dag Wieërs <dag@wieers.com>
Date:   Thu Jul 12 16:46:53 2012 +0200

    Might as well fix this too

commit f36c6c8c5b419865939c7e2b0b26f6c97255fdc8
Author: Dag Wieërs <dag@wieers.com>
Date:   Thu Jul 12 16:42:00 2012 +0200

    Added unit tests for host-groups patch

    For the unit test I chose to keep the original yaml file in place as a reference.

    This patch also includes a fix.

commit a96f6813522c5ae8b2be4514a2de56a775c6b7b0
Author: Dag Wieërs <dag@wieers.com>
Date:   Thu Jul 12 12:30:43 2012 +0200

    Allow groups to be defined on a per-host basis

    This makes it possible to define on a per-host basis what groups a host is in.
    When managing a large set of systems it makes it easier to ensure each of the
    systems is defined in a set of groups (e.g. production/qa/development,
    linux/solaris/aix) rather than having to add systems to multiple disconnected
    groups.

    ----
      - host: system01

      - host: system02

      - host: system03

      - group: linux
        hosts:
        - system01
        - system02

      - group: solaris
        hosts:
        - system03

      - group: production
        hosts:
        - system01
        - system03

      - group: qa
        - system02

      - group: dbserver
        hosts:
        - system01

      - group: ntpserver
        hosts:
        - system02

      - group: webserver
        - system03
    ----

    Can be redefined as:

    ----
      - host: system01
        groups: [ linux, production, dbserver ]

      - host: system02
        groups: [ linux, qa, ntpserver ]

      - host: system03
        groups: [ solaris, production, webserver ]
    ----
2012-07-12 01:29:51 -04:00
Michael DeHaan
efac68b636 Remove the -D module debug flag, which no longer is functional due to sudo pty requirements, and replace with -v/--verbose.
This flag will show playbook output from non-failing commands.  -v is also added to /usr/bin/ansible, but not  yet used.

I also gutted some internals code dealing with 'invocations' which allowed the callback to know what module invoked
it.  This is not something 0.5 does or needed, so callbacks have been simplified.
2012-06-19 21:57:43 -04:00
Jeroen Hoekx
d592e15dcc Correctly add ungrouped hosts to 'ungrouped' in YAML inventory. 2012-06-27 08:26:01 +02:00
Daniel Hokka Zakrisson
031c75e53a Update tests to reflect new API 2012-06-18 00:13:12 +02:00
Daniel Hokka Zakrisson
24d73b0fe6 Add tests of iterative templating 2012-06-16 13:13:01 +02:00
Daniel Hokka Zakrisson
05a7a3725b Add tests of host exclusions 2012-06-15 19:09:04 +02:00
Michael DeHaan
bd893b765b Merge pull request #459 from dhozac/with_items-variable
Allow a variable in with_items
2012-06-13 19:18:51 -07:00
Stephen Fromm
9cf182c225 Add assemble module
This adds a module that concatenates (ie. assembles) a file from
fragments in a directory in alphabetical order.  It chains the file
module afterward to fix up ownership and permission.  This also adds
tests for the assemble module with fragments in assemble.d.
2012-06-11 23:09:54 -07:00
Daniel Hokka Zakrisson
a05da2d312 Allow with_items to specify a variable 2012-06-09 21:59:22 +02:00
John Kleint
70837469c6 Properly template list of hosts in playbooks.
In playbooks, hosts can be a YAML list. We templated the list before
converting it to a semicolon-separated string, which actually templated its
repr. This converts to a string first. A basic unit test is included.
2012-05-31 16:06:21 -04:00
Matt Goodall
639763c138 Allow "=" in k-v values. 2012-05-23 00:58:05 +01:00
Michael DeHaan
8e88667f82 Fix hosts being in multiple groups, and duplicate host references in the same inventory file. 2012-05-19 17:24:54 -04:00
Jeroen Hoekx
ecc0b0770c If /usr/share/dict/words does not exist, use cracklib-small to test large output. 2012-05-15 14:26:43 +02:00
Michael DeHaan
d4f660edc3 Do not run unit tests against the EVENTS code because it is subject to change and that does not mean anything is broken.
If we want to test playbooks, it's best to test the result of a playbook to make sure it does the correct thing.  Also
remove playbook2/3 yml which were not used.
2012-05-09 23:21:44 -04:00
Michael DeHaan
f8807da57b Merge pull request #363 from jhoekx/template-only-if
Fix correct variable expansion in includes only_if.
2012-05-11 15:55:09 -07:00
Jeroen Hoekx
cd9f926b5f Fix correct variable expansion in includes only_if.
There's not need to run the complete include through the templating engine.
Several variables were not included before the conditional was evaluated.
2012-05-11 15:55:33 +02:00
Jeroen Hoekx
3cbc229990 Support list indexing in varReplace. 2012-05-10 19:25:28 +02:00
Jeroen Hoekx
74e21e6154 Fixup unicode varReplace templating.
The original patches should have conflicted?
53bde0bf517d1302c80f80180f85995efa36a00e vs efde61e53729964f3e740dcbb9c52f889186719d
2012-05-10 10:11:14 +02:00
Michael DeHaan
36639186e0 Merge pull request #362 from jhoekx/uppercase-vars
Allow camelCase variables in varReplace.
2012-05-11 10:06:21 -07:00
John Kleint
83b9a43e60 Add test for large output; fix indentation. 2012-05-11 11:38:15 -04:00
Jeroen Hoekx
dc60f2d844 Allow camelCase variables in varreplace. 2012-05-11 14:14:53 +02:00
Jeroen Hoekx
2bbc05185e Make no_engine the default templating action. 2012-05-09 16:15:43 +02:00
Jeroen Hoekx
82144fd543 Support nested variables in varReplace. 2012-05-09 16:15:43 +02:00
Jeroen Hoekx
e09572a8e1 Inventory: undefined group -> ungrouped.
Also change test name collision.
2012-05-08 09:44:59 +02:00
Jeroen Hoekx
d419a13ca7 Inventory: support list of vars in host. 2012-05-08 09:44:29 +02:00