Commit Graph

714 Commits

Author SHA1 Message Date
Pedro Algarvio
7f7b196f1e Include an invalid items test for state.template* functions. Refs #2068. 2012-09-28 17:56:13 +01:00
Pedro Algarvio
2211afa63a Properly render the high state loaded from templates. Fixes #2068.
Previously using `state.template` or `state.template_str` would not be checked/rendered into proper formatting resulting in some templates not being correctly executed. For example, the following template worked:
```
/tmp/issue-2068-template-str:
  virtualenv:
    - managed
    - no_site_packages: True
    - distribute: True

pep8-pip:
  pip:
    - installed
    - name: pep8
    - bin_env: /tmp/issue-2068-template-str
    - mirrors: http://testpypi.python.org/pypi
    - require:
      - virtualenv: /tmp/issue-2068-template-str
```
as opposed to the following which did not work:
```
/tmp/issue-2068-template-str:
  virtualenv.managed:
    - no_site_packages: True
    - distribute: True

pep8-pip:
  pip.installed:
    - name: pep8
    - bin_env: /tmp/issue-2068-template-str
    - mirrors: http://testpypi.python.org/pypi
    - require:
      - virtualenv: /tmp/issue-2068-template-str
```
The dotted names should be converted into lists for example, which was the problems with the two examples above.
2012-09-28 17:34:55 +01:00
Pedro Algarvio
677a08fe7d Update the test cases which better expose #2068. 2012-09-28 16:04:38 +01:00
Pedro Algarvio
cc10ed1906 Add include and exclude test cases. Refs #2068. 2012-09-28 01:17:37 +01:00
Pedro Algarvio
6e2ba6885e Fix test case assertion. 2012-09-27 18:43:15 +01:00
Pedro Algarvio
eec932799a The pip module now uses cmd.run_all. Fixes #2113.
* In order to check if something went wrong while running the various pip commands using the command module, we need to know, at least, the return code, this way we can report the failure.
* `salt.modules.pip.uninstall()` now returns the `cmd.run_all` `dict` instead of a list of strings. **This breaks previous behaviour**.
* Added a test case for `salt.modules.pip.uninstall()` changes.
2012-09-27 18:33:50 +01:00
Pedro Algarvio
af9709dde5 Properly handle missing pip binary. Fixes #2087. 2012-09-27 12:06:09 +01:00
Pedro Algarvio
0b48e08c36 Regular users cannot run the supervisor tests. 2012-09-25 22:15:38 +01:00
Thomas S Hatch
50857861c5 remove unused import 2012-09-24 01:03:24 -06:00
Thomas S Hatch
cf1e87e185 Merge pull request #2031 from scott-w/develop
Add Supervisor Support
2012-09-23 22:56:45 -07:00
Scott Walton
48c0d56841 Merge remote-tracking branch 'upstream/develop' into develop 2012-09-23 21:16:09 +01:00
Pedro Algarvio
c315e95b95 Move the state pip.installed tests to the proper place.
* Moved the state `pip.installed` tests to it's own module, the correct one.
* Added a test which checks for the presence of errors while running `pip.installed` introduced while fixing #2028
2012-09-23 18:16:11 +01:00
Pedro Algarvio
5b9c6f92ce Issue #2028 fixes and improvements.
* `salt.states.pip.installed()` now keeps a reference to the output of the `__salt__['pip.install']()` call. The reason for this is that we need to know and pass along any information about an eventual error when running that call. This is now done in addition to the old behaviour.
* Add some tests which triggered the issue.
2012-09-23 17:25:21 +01:00
Pedro Algarvio
0a9b0b3e08 Merge branch 'develop' of github.com:saltstack/salt into issues/2028 2012-09-20 19:33:00 +01:00
Thomas S Hatch
543f7c6bc9 Fix error cause by django module renaming 2012-09-19 14:52:36 -06:00
Thomas S Hatch
2dc5ebb80e Fix event test with the change in master events returning a dict 2012-09-19 14:42:48 -06:00
Pedro Algarvio
8ab5e6e9c2 Include some test cases to expose saltstack/salt#2028 2012-09-18 01:53:05 +01:00
Scott Walton
c581e7bab5 Added tests, and modified state/modules to pass #2026 2012-09-17 20:34:50 +01:00
Scott Walton
9e35b77038 Added stop and status 2012-09-15 19:02:00 +01:00
Scott Walton
88c04486e4 Added test and code for start #2026 2012-09-15 18:41:01 +01:00
Pedro Algarvio
5ec829a46e Fix state tests. 2012-09-03 16:40:52 +01:00
Pedro Algarvio
a45c0bdce8 Fix saltstack/salt#1896
* Added `source` support to `salt.states.file.append()`
 * Added tests for the above.
2012-09-01 07:49:34 +01:00
Pedro Algarvio
accb15d6ee Add tests for saltstack/salt#1900
* Test both master and minion events firing
 * Allow targeting the minions in `tests.integration.ModuleCase.run_function()`
 * The above item allows to also test events firing using `tcp` as `ipc_mode` which is being used by the tests `sub_minion`
2012-09-01 07:29:06 +01:00
Thomas S Hatch
34829cd046 Clean up unused imports and variables 2012-08-30 14:14:02 -06:00
Pedro Algarvio
8b645b339b Fix #1879. Searching/matching is now done on multiple lines.
* `salt.modules.file.contains()`, `salt.modules.file.contains_regex()`, `salt.modules.file.contains_glob()` and `salt.utils.find` now do the searching/matching against chunks of data; using defaults, 32KB chunks of data in files; instead of searching/matching line by line.
* Based on the above changes `salt.states.file.append()`, when checking if the text to append is already present, now uses `salt.modules.file.contains_regex()` in order to match spanning multiple lines ignoring the addition/deletion of white-space or new lines, except inside commas.
* The regex used on the above item is built at runtime using `salt.utils.build_whitepace_splited_regex()`, just feed the text to it and you'll get back the proper regex to the matching/searching on, for example `salt.modules.file.contains_regex()`.
* Added tests for all this code.
2012-08-28 10:03:11 +01:00
Pedro Algarvio
797defc320 Add the failing test for saltstack/salt#1879 2012-08-26 00:38:39 +01:00
Pedro Algarvio
22d69e43c7 Properly catch some more state SLS syntax errors.
Sort keys before checking for same key in rule. Fixes #1876.
2012-08-25 14:44:07 +01:00
Pedro Algarvio
6b2e12d9bf Don't fail on tests because we're trying to create a directory and it exists(and that's not the actual test). 2012-08-25 14:21:38 +01:00
Ulrich Dangel
7176ec5d4a Add test to test if os_family grain is provided.
Corey Quinn reported a issue where __grains__['os_family'] returned a
KeyError. This commits adds a check to the grains module test to ensure
os_family is present.
2012-08-15 02:59:03 +02:00
Pedro Algarvio
6d3028f3da Removed the pip module integration tests since it's also being tested in the virtualenv's integration tests. 2012-08-01 23:11:48 +01:00
Pedro Algarvio
e57f505a2d Fix pip.freeze tests which require an active virtualenv. 2012-08-01 22:40:15 +01:00
Pedro Algarvio
97a4c1dde2 Fix integration/modules/file.py
Since the tests are comparing results, switch to `assertEqual`'s.
2012-08-01 19:36:49 +01:00
Pedro Algarvio
7148735b12 Fix virtualenv integration tests.
The virtualenv module needs to have a default for `venv_bin`.
2012-08-01 18:57:31 +01:00
Roman Imankulov
aa5896681d Fix the escaping issue in cmd.run
Lack of escaping in cmd.run with "runas" option could lead to incorrect
execution of commands containing quotes in their bodies.
2012-07-26 22:21:07 +06:00
Thomas S Hatch
366a4935c1 single quotes 2012-07-23 13:29:55 -06:00
Thomas S Hatch
e61ddfdcfc fix many a test 2012-07-23 13:00:54 -06:00
Intchanter
768e17b9d5 We return tuples, not lists 2012-07-20 08:31:36 -06:00
Roman Imankulov
bb0ed1a3a7 Tests cleanup
Defined "integration.run_tests()" function which can be used to execute
a particular integration test case. Existing bolerplate code in modules
and states tests is replaced with following lines:

    if __name__ == '__main__':
        from integration import run_tests
        run_tests(TestCaseName)

Typical usecase could look like this:

    python integration/modules/pip.py --no-clean -vv
2012-07-20 12:25:08 +06:00
Intchanter
df4a83ac61 Made data.getvals work with CLI, updated test 2012-07-19 21:35:23 -06:00
Intchanter
3c05a3ee78 Merge branch 'develop' of https://github.com/saltstack/salt into develop
Conflicts:
	tests/integration/modules/grains.py
	tests/integration/states/host.py
	tests/unit/utils/find_test.py
2012-07-04 18:29:13 -06:00
Alec Koumjian
a22773bdde Instruct authors of state modules to check for the test parameter 2012-07-03 14:17:52 -07:00
Alec Koumjian
bdb4055ce2 Updating Virtualenv module test with cross-platform file.remove 2012-07-03 08:39:11 -07:00
Dan Colish
b43c256ea7 Adds file.remove to file module, #1545. Drive by spelling correction 2012-07-03 07:50:02 -07:00
Dan Colish
aacd9cc5bd Use getpass.getuser since os.getlogin requires a tty and tests do not
always run with one.
2012-06-30 23:31:01 -07:00
Dan Colish
abf50324d2 Fix integration.module.file tests on linux 2012-06-30 22:47:02 -07:00
Dan Colish
71e97d6921 Fix file.chown to report unknown users and groups. Add tests to prove it. 2012-06-30 17:33:34 -07:00
Dan Colish
087f8be69a Merge branch 'develop' of git://github.com/saltstack/salt into develop 2012-06-30 16:56:31 -07:00
Dan Colish
f91d947806 Simplify file.chgrp. Add file module test suite 2012-06-30 16:56:02 -07:00
Jeff Schroeder
4b13aebe0b Merge pull request #1542 from akoumjian/develop
Initial module tests for virtualenv
2012-06-30 16:46:44 -07:00
Alec Koumjian
378606c97f Initial module tests for virtualenv 2012-06-30 16:43:32 -07:00
Jeff Schroeder
5e85497760 Gracefully skip the django module tests w/o mock 2012-06-30 14:53:55 -07:00
Thomas S Hatch
8ba1d51a75 Merge pull request #1533 from mattrobenolt/django-module-tests
Added tests for Django module
2012-06-30 14:33:16 -07:00
Matt Robenolt
d327e6bdf4 Adding tests for Django module commands 2012-06-30 14:24:22 -07:00
Dan Colish
c5cdb366dc Fix test.integration.states.host. Make master_config and minion_config a property to keep semantics consistent 2012-06-30 13:54:23 -07:00
Intchanter
a1433ef5ec PEP8 fixes for tests 2012-06-30 14:10:34 -06:00
Matt Robenolt
57ff2bfe3e Hardcode /tmp/subsalttest dir in ssh module integration tests
I don't really like doing this, but `/tmp/subsalttest dir` is already
hardcoded in other places for running tests.

Without this, when running tests under a mounted Vagrant drive,
`ssh-keygen` doesn't have permission to create the symlink for
known_hosts to known_hosts.old, causing a test to fail.

```
======================================================================
FAIL: test_rm_known_host (integration.modules.ssh.SSHModuleTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/vagrant/tests/integration/modules/ssh.py", line 143, in
test_rm_known_host
    self.assertEqual(ret, 'add')
AssertionError: 'exists' != 'add'
```

`link /vagrant/tests/integration/tmp/known_hosts to
/vagrant/tests/integration/tmp/known_hosts.old: Operation not permitted`
2012-06-30 11:46:31 -07:00
Thomas S Hatch
7477583c97 Add test for recuse error 2012-06-19 10:29:14 -06:00
Jeroen Dekkers
ac2344f2cb Skip pip test if pip is not installed 2012-06-19 03:11:54 +02:00
Jeroen Dekkers
9dd57c057e Use cat instead of echo for cmd.which test, as echo can be a built-in 2012-06-19 02:17:55 +02:00
Thomas S Hatch
b13f723ed6 Add non recurse test 2012-06-15 22:41:36 -06:00
Thomas S Hatch
8de4dbc13d disable failing aliases tests 2012-06-05 18:11:15 -06:00
Thomas S Hatch
5c6b8aea28 docstring cleanups for ssh tests 2012-06-04 17:22:43 -06:00
L.C. Rees
cc8a921311 - more py3k fixes 2012-06-04 16:40:34 -06:00
L.C. Rees
924d8b450b - fix cmd tests so they pass on MacOS X 2012-05-30 15:57:53 -06:00
Baiju Muthukadan
5f0de59ab7 Test runner boiler plate; remove unused imports 2012-05-31 03:11:25 +05:30
Dan Colish
49972a1580 The text outputter will insert newlines, the tests must expect these
to be present.
2012-05-29 21:45:51 -07:00
Dan Colish
f5c8e242e4 Refactor runtests to allow dotted path module discovery.
In addition to traditional file system path test discovery it is
useful to run a test by stating it's dotted python path. For example,
this will only run the cmdmod integration tests from the
module suite::

        $ runtests.py -n tests.integration.modules.cmdmod
2012-05-29 19:56:47 -07:00
Baiju Muthukadan
24bb4ea4e0 Fix PEP8 warnings for test cases 2012-05-29 22:10:20 +05:30
Roman Imankulov
41465d5f0a Add support for ssh_known_hosts states 2012-05-21 23:45:03 +06:00
Roman Imankulov
1590483fe2 Add support for known_hosts management
Module "ssh" is now capable of keeping track of records in ssh
known_hosts file, as well as asking remote hosts for their public keys.
2012-05-21 21:49:43 +06:00
Roman Imankulov
9d193b85b7 Add support for ssh public keys fingerprint
- function _validate_keys returns public key fingerprint as described in
  RFC 4716
- one more test to validate how "ssh.auth_keys" function works
2012-05-20 23:09:52 +06:00
Thomas S Hatch
8e26ea646e Add rm_alias test 2012-05-14 10:44:17 -06:00
Thomas S Hatch
3c92ebc465 aliases.list_aliases test 2012-05-14 09:59:38 -06:00
Thomas S Hatch
800cf2825c Add test for aliases.has_target 2012-05-14 00:04:26 -06:00
Thomas S Hatch
b97ec99999 Add initial aliases tests 2012-05-13 23:51:22 -06:00
Thomas S Hatch
04652619d8 Fix #1268, this adds the working test for recursive requisite errors 2012-05-13 23:16:45 -06:00
Thomas S Hatch
eead7e0dab Add test for recursive sls data checks 2012-05-13 21:31:46 -06:00
Jeff Schroeder
23a59c71d1 Cleaning up the publish module integration tests a bit 2012-05-09 21:42:38 -07:00
Jeff Schroeder
a561e224f2 DRY with the grains integration tests 2012-05-09 21:39:49 -07:00
Baiju Muthukadan
cb5e3ea089 Add testrunner boilerplate code to run tests 2012-05-05 19:39:23 +05:30
Marc Abramowitz
607eab025a Fix pip.freeze and add a test for it. 2012-05-02 19:07:21 -07:00
Thomas S Hatch
daa47eab29 make cmd tests use always available shells 2012-04-27 16:13:33 -06:00
Evan Borgstrom
a17dff3a02 When add_host re-ordered hosts it would leave out trailing new lines
This caused problems when adding another host and you'd end up with
entries such as:

```
192.168.1.2\t\thost2\thost2alias192.168.1.1\t\thost1\thost1alias
```

Test updated to reflect.
2012-04-12 23:50:00 -04:00
Thomas S Hatch
f95c8a74e4 Add test for ext_pillar 2012-04-08 21:34:55 -06:00
Thomas S Hatch
41a81f85d2 Merge pull request #1063 from fatbox/hosts-duplicate-entries
Ensure hosts.add_host isn't leaving duplicate entries around
2012-04-08 15:18:40 -07:00
Evan Borgstrom
2d66c50d74 Ensure hosts.add_host isn't leaving duplicate entries around
Given a state entry like the following:

```
host-staging-web:
  host:
    - present
    - ip: 10.102.130.100
    - names:
      - staging-web.fqdn.com
      - staging-web
      - alt-staging-hostname
```

You'd end up with three different entries in your hosts file:

```
10.102.130.100		staging-web.fqdn.com
10.102.130.100		staging-web.fqdn.com	staging-web
10.102.130.100		staging-web.fqdn.com	staging-web	alt-staging-hostname
```

This corrects it by removing the previous line before appending the
newly crafted on, and adds tests to prove it.
2012-04-08 14:33:30 -04:00
Thomas S Hatch
b8227350dc finish cp module tests with cp.hash_file 2012-04-04 12:00:52 -06:00
Thomas S Hatch
2178b0162b Add cp.is_cached test 2012-04-04 10:46:01 -06:00
Thomas S Hatch
0402ca6194 Add cp.list_minion test 2012-04-04 10:39:45 -06:00
Thomas S Hatch
9f4b4632db Add cp.list_states test 2012-04-04 10:28:57 -06:00
Thomas S Hatch
0d2519dd31 Add test for cp.cache_local_file 2012-04-04 10:25:02 -06:00
Thomas S Hatch
55e9f01f91 Add cp.cache_master test 2012-04-04 10:13:29 -06:00
Thomas S Hatch
32bf556642 Add test for cp.cache_files 2012-04-04 00:06:41 -06:00
Thomas S Hatch
eef4741c6c Add cache_file test 2012-04-03 23:58:34 -06:00
Thomas S Hatch
f61c821520 Add cp.get_url test 2012-04-03 23:52:56 -06:00
Thomas S Hatch
222fe3cc8f Add cp.get_dir 2012-04-03 23:46:45 -06:00
Thomas S Hatch
18e1d5db6e Add cp.get_template tests 2012-04-03 23:31:53 -06:00
Thomas S Hatch
f1b4e4bda6 Add inital cp module tests 2012-04-03 23:15:37 -06:00
Thomas S Hatch
ea7e9d2ff5 move syndic to client tests 2012-04-03 21:59:38 -06:00
Thomas S Hatch
a00d3cb501 Add tests to cover pillar passing minion grains data in 2012-04-01 21:59:23 -06:00
Thomas S Hatch
62b2166ab4 Add test to verify the kwarg passing from the publish module 2012-04-01 13:29:23 -06:00
Thomas S Hatch
a919def70b don't need to test the syndic coverage like this, save some time 2012-04-01 13:10:37 -06:00
Thomas S Hatch
d00133e343 Add some tests for states 2012-03-29 17:18:32 -06:00
Thomas S Hatch
47768c7149 Add pillar module verification 2012-03-29 16:35:49 -06:00
Thomas S Hatch
53befac5e8 Add a syndic, syndic master and finish synndic tests 2012-03-29 01:03:37 -06:00
Thomas S Hatch
fac809f11a add initial files for syndic tests 2012-03-29 01:02:40 -06:00
Thomas S Hatch
7221d566e5 Add auth test for minion publish 2012-03-28 18:47:10 -06:00
Thomas S Hatch
62b709d578 publish tests 2012-03-28 18:37:05 -06:00
Thomas S Hatch
5b3b5bb145 Add sys module tests 2012-03-28 12:07:48 -06:00
Thomas S Hatch
118c02886a Add tests for the data module 2012-03-27 23:45:49 -06:00
Thomas S Hatch
8cf2a16ff9 Add tests for the cmd module 2012-03-27 17:05:38 -06:00
Thomas S Hatch
5cbc724ba5 Add disk tests 2012-03-26 23:13:36 -06:00
Dan Colish
7512c7fb47 Test the corresponding cmd function 2012-03-10 07:27:38 -08:00
Eivind Uggedal
ab7ace6aa5 Split out integration tests from pure unit tests.
Integration tests requiring a salt master and daemon were seperated
from pure unit tests. For now both are run with runtest.py. In
the future it could take arguments for which type of tests to run.
2012-02-20 13:18:13 +01:00