Commit Graph

137 Commits

Author SHA1 Message Date
Erik Johnson
877abb89d0
Complete the salt.utils refactor
This moves the remaining 30 functions from salt.utils to new locations.
2017-10-15 09:43:31 -05:00
Erik Johnson
3184168365 Use explicit unicode strings + break up salt.utils
This PR is part of what will be an ongoing effort to use explicit
unicode strings in Salt. Because Python 3 does not suport Python 2's raw
unicode string syntax (i.e. `ur'\d+'`), we must use
`salt.utils.locales.sdecode()` to ensure that the raw string is unicode.
However, because of how `salt/utils/__init__.py` has evolved into the
hulking monstrosity it is today, this means importing a large module in
places where it is not needed, which could negatively impact
performance. For this reason, this PR also breaks out some of the
functions from `salt/utils/__init__.py` into new/existing modules under
`salt/utils/`. The long term goal will be that the modules within this
directory do not depend on importing `salt.utils`.

A summary of the changes in this PR is as follows:

* Moves the following functions from `salt.utils` to new locations
  (including a deprecation warning if invoked from `salt.utils`):
  `to_bytes`, `to_str`, `to_unicode`, `str_to_num`, `is_quoted`,
  `dequote`, `is_hex`, `is_bin_str`, `rand_string`,
  `contains_whitespace`, `clean_kwargs`, `invalid_kwargs`, `which`,
  `which_bin`, `path_join`, `shlex_split`, `rand_str`, `is_windows`,
  `is_proxy`, `is_linux`, `is_darwin`, `is_sunos`, `is_smartos`,
  `is_smartos_globalzone`, `is_smartos_zone`, `is_freebsd`, `is_netbsd`,
  `is_openbsd`, `is_aix`
* Moves the functions already deprecated by @rallytime to the bottom of
  `salt/utils/__init__.py` for better organization, so we can keep the
  deprecated ones separate from the ones yet to be deprecated as we
  continue to break up `salt.utils`
* Updates `salt/*.py` and all files under `salt/client/` to use explicit
  unicode string literals.
* Gets rid of implicit imports of `salt.utils` (e.g. `from salt.utils
  import foo` becomes `import salt.utils.foo as foo`).
* Renames the `test.rand_str` function to `test.random_hash` to more
  accurately reflect what it does
* Modifies `salt.utils.stringutils.random()` (née `salt.utils.rand_string()`)
  such that it returns a string matching the passed size. Previously
  this function would get `size` bytes from `os.urandom()`,
  base64-encode it, and return the result, which would in most cases not
  be equal to the passed size.
2017-08-08 13:33:43 -05:00
rallytime
ccf790a83f Update all references for moved functions to use "files" util
- fopen
- flopen
- fpopen
- safe_rm
- is_empty
- is_fcntl_available
2017-07-18 10:31:01 -06:00
rallytime
ff417db115 Merge branch 'nitrogen' into 'develop'
Conflicts:
  - doc/topics/venafi/index.rst
  - pkg/salt-proxy@.service
  - salt/config/__init__.py
2017-05-26 11:27:24 -06:00
rallytime
9ff2694155 Merge branch '2016.11' into 'nitrogen'
Conflicts:
  - pkg/salt-minion.service
  - salt/modules/junos.py
  - salt/modules/localemod.py
  - salt/modules/win_system.py
  - salt/states/junos.py
  - tests/unit/modules/test_localemod.py
  - tests/unit/modules/test_win_powercfg.py
  - tests/unit/states/dockerng_test.py
2017-05-24 16:32:59 -06:00
Benjamin Drung
33a7f8b2ec Fix typos
lintian found several spelling errors.

Signed-off-by: Benjamin Drung <benjamin.drung@profitbricks.com>
2017-05-24 12:50:29 +02:00
rallytime
13a09fc31d Remove extra line left over from merge conflict resolution 2017-04-28 10:13:47 -06:00
rallytime
f875ee3309 Merge branch 'nitrogen' into 'develop'
Conflicts:
  - tests/integration/runners/test_runner_returns.py
2017-04-28 09:26:26 -06:00
Pedro Algarvio
dfeb3da8dc
Minor cleanup changes 2017-04-28 13:33:34 +01:00
Pedro Algarvio
46fe7f63a7
Don't hardcode to root 2017-04-28 13:33:33 +01:00
Dmitry Kuzmenko
f9d2c4da8f Minor: unit test fix. 2017-04-18 11:56:20 +03:00
Pedro Algarvio
2ee6d5d589
Import from the original modules not tests.integration 2017-04-04 18:58:19 +01:00
Mike Place
6056ee302a Merge pull request #40339 from s0undt3ch/features/py3-pt2
[WIP] Move unit tests which were in integration tests - More py3 and mocking fixes
2017-04-04 10:21:46 -06:00
Pedro Algarvio
d05028e88c
These are not integration tests 2017-04-01 14:22:51 +01:00
Joseph Hall
e24f89366a Use a slightly more specific bank name 2017-03-31 15:21:26 -06:00
Joseph Hall
3e84d1476a Add cache.store to the runners 2017-03-31 15:16:36 -06:00
Erik Johnson
d2206d1a94 Changes to imports to comport with test suite changes in develop 2017-03-10 11:05:02 -06:00
Erik Johnson
22d5689eb0 Clarify reason for skipping test 2017-03-10 11:05:02 -06:00
twangboy
05cca8b72d Add filerserver test to whitelist, skip symlink test 2017-03-10 11:05:02 -06:00
Pedro Algarvio
40a64191a1
Absolute imports and A LOT of code cleanup. 2017-03-01 01:33:07 +00:00
Pedro Algarvio
3beb3fb801
Move whatever we need from salttesting to salt.
Let's drop the salttesting dependency cycle.
2017-02-28 22:52:49 +00:00
Pedro Algarvio
15af4c9728
Test filenames conformity. Adjust for pytest. 2017-02-23 23:19:42 +00:00
rallytime
dda39d4e63 Merge branch '2016.11' into 'develop'
Conflicts:
  - salt/minion.py
  - salt/modules/file.py
  - salt/modules/grains.py
  - salt/utils/gitfs.py
2017-02-16 12:18:46 -07:00
Ch3LL
b3cbc5a408 improve salt-run salt.cmd test 2017-02-10 09:00:12 -07:00
rallytime
49f57ba3f1 Merge branch '2016.11' into 'develop'
Conflicts:
  - salt/utils/win_functions.py
2017-01-25 09:59:29 -07:00
Pablo Suárez Hernández
4311b0b6de Increasing timeouts for running integrations tests 2017-01-23 16:55:48 +00:00
Elias Wulcan
266e0a465c Fixed nested orchestrate not respecting failures
Client was only setting success to false if the function called raised
an exception. This commit changes it to verify the content of return
value with check_state_result
2016-12-19 10:29:05 +01:00
Elias Wulcan
5f9b6c8ba4 Fixed nested orchestrate not respecting failures
Client was only setting success to false if the function called raised
an exception. This commit changes it to verify the content of return
value with check_state_result
2016-12-15 10:33:25 +01:00
rallytime
8d3957f250 Merge branch 'carbon' into 'develop'
Conflicts:
  - salt/cloud/clouds/vmware.py
  - salt/modules/boto_ec2.py
  - salt/modules/cmdmod.py
  - salt/modules/win_lgpo.py
2016-10-28 11:58:41 -06:00
rallytime
e4dc059959 Update Carbon versionadded tags to 2016.11.0 in tests/* 2016-10-27 10:04:13 -06:00
rallytime
fb994ad92f Merge branch 'carbon' into 'develop'
No conflicts.
2016-09-14 09:00:05 -06:00
Erik Johnson
fd28ca058f Fix for new integration test for fileserver.clear_file_list_cache
The test suite actually has a ``prod`` env, but this test only considers
the ``base`` env. If a test is run which requests a file (or just the
file/dir/symlink/... list) from the ``prod`` env, then this will result
in the ``prod`` env's file list caches being present, and they will be
removed when the ``fileserver.clear_file_list_cache`` runner is
executed, showing up in the return data and causing the test to fail.

This tweak to the test ensures that we will always have a file list
cache for ``prod`` present, and adjusts the necessary asserts in the
test to expect the ``prod`` env in the return data from the runner.
2016-09-13 15:55:51 -05:00
rallytime
e385f55588 Merge branch 'carbon' into 'develop'
No conflicts.
2016-09-13 08:25:11 -06:00
Erik Johnson
b7a1a67828 Improve accuracy of fileserver runner tests
The tests that return files, symlinks, directories, and empty dirs were
all only testing that the type of the return data was the same as what
was expected. By not testing the content, we overlooked a corner case in
which backends passed into the fileserver as a Python list would not be
handled properly. This has since been fixed in PR #36244, but these
tests will help keep this sort of issue from regressing.
2016-09-12 16:29:10 -05:00
Erik Johnson
322047a844 Add integration tests for fileserver.clear_file_list_cache 2016-09-12 16:29:10 -05:00
rallytime
2edfef33ae Merge branch 'carbon' into 'develop'
Conflicts:
  - salt/scripts.py
  - salt/thorium/key.py
  - tests/unit/cloud/clouds/dimensiondata_test.py
  - tests/unit/cloud/clouds/gce_test.py
2016-09-08 17:31:29 -06:00
Ch3LL
ee398a94b6 fix pylint 2016-09-07 10:05:44 -06:00
Mike Place
dfcc14ad45 A more liberal search minion strings in manage test
Correct falures where the formatting is slightly different.
2016-09-07 12:37:29 +09:00
Ch3LL
4afc82ac63 add salt-run state.event test 2016-09-06 15:16:16 -06:00
Erik Johnson
9ae753f6ed Use self.run_run instead of self.run_run_plus
Using a salt.runner.Runner() instance to run this test has exposed a
problem with run_run_plus, where the fileclient doesn't behave as
expected. Since the raw return data is not needed, using run_run here
lets the test pass while we continue to work on run_run_plus.
2016-09-03 14:59:04 -05:00
Erik Johnson
ab9a89d6dc Add test for jid in runner ret events (zh 858) 2016-09-03 14:59:04 -05:00
Erik Johnson
92d6d4ab75 Fix incorrect key for return data
The return data from run_run_plus previously returned the runner return
in the ``fun`` key. This has since been corrected. This commit replaces
these references to the ``fun`` key with the corrected ``return`` key.
2016-09-03 14:59:04 -05:00
Erik Johnson
5673395f0c Update usage of run_run_plus to remove unused "options" argument 2016-09-03 14:59:04 -05:00
Erik Johnson
230c684d4c Add test case for runner returns 2016-09-03 14:59:04 -05:00
Dmitry Kuzmenko
b412e7814a Fixed salt-run integration tests. 2016-08-02 10:01:01 +03:00
Aditya Kulkarni
34135e1f67 Add runner for execution modules (#33949)
* Add runner for execution modules

* Make sure all modules load and fix argument passing

* Fix lint error

* Add docs for salt runner
2016-06-13 11:49:26 -04:00
Dmitry Kuzmenko
17b03e9d8b Allow to blacklist/whitelist renderers. (#33358)
* Allow to blacklist/whitelist renderers.

* Fix tests.

* Unit test for renderer blacklisting.

* Minor tests fixes
2016-05-20 10:41:51 -07:00
rallytime
28763be519 Remove unused import 2016-02-19 09:51:18 -07:00
rallytime
9b52e39e90 Add testcase for state.orchestrate output 2016-02-19 09:14:46 -07:00
Erik Johnson
73537300cb Lint fixes 2015-08-21 13:48:55 -05:00
Erik Johnson
e7099af0f6 Get rid of useless unit tests and add integration test for winrepo 2015-08-21 13:14:42 -05:00
Mike Place
dab4eccd00 Remove overstate tests 2015-06-17 11:14:19 -06:00
Colton Myers
c4f5e231fa Merge remote-tracking branch 'upstream/2015.5' into merge-forward-develop2
Conflicts:
    doc/_themes/saltstack2/layout.html
    doc/conf.py
    doc/index.rst
    doc/ref/modules/all/salt.modules.hipchat.rst
    doc/topics/releases/index.rst
    salt/client/ssh/client.py
    salt/cloud/clouds/vsphere.py
    salt/modules/boto_dynamodb.py
    salt/modules/boto_route53.py
    salt/modules/data.py
    salt/modules/http.py
    salt/modules/tls.py
    salt/output/compact.py
    salt/states/boto_elb.py
    salt/states/linux_acl.py
    salt/states/rabbitmq_user.py
    salt/states/win_servermanager.py
    salt/utils/dictupdate.py
    salt/wheel/config.py
2015-05-29 15:10:13 -06:00
Justin Findlay
6b6280442c disable intermittently failing tests
This commit is to be reverted when #23623 is merged.
2015-05-28 16:23:57 -06:00
Erik Johnson
d25677e954 Merge branch '2015.2' into 2015.2-develop 2015-03-10 17:47:30 -05:00
Erik Johnson
d71e9de859 Fix test_envs fileserver runner test
The change in runner output behavior caused the output of test_envs to
change, causing some changes to need to be made in da163471 to get them
to pass. Now that runner output is fixed, the test was returning the
output it should have been in the first place. This commit changes that
test back so that it now expects a list as output.

Additionally, I've taken the opportunity to add additional test calls to
test the "backend" argument for those functions which now have it.
2015-03-10 11:28:59 -05:00
Erik Johnson
94d55889d7 Resolve merge conflicts 2015-02-28 12:35:25 -06:00
C. R. Oldham
1ff3192c20 Fileserver lists return lists 2015-02-27 17:24:25 -07:00
Pedro Algarvio
60f215f191 Add from __future__ import absolute_import 2015-01-30 22:25:04 +00:00
Mike Place
da163471af Fix up tests 2014-11-10 15:42:45 -07:00
Arnold Bechtoldt
043c29d518 changing param back to backend in fileserver to improve useability 2014-09-22 08:18:13 +02:00
Arnold Bechtoldt
6b251cbb05 fix integration test in fileserver runner, refs #16008 2014-09-21 21:19:03 +02:00
Arnold Bechtoldt
db5dde72cf extend fileserver runner with additional features 2014-09-21 20:16:41 +02:00
Thomas Jackson
05f0969ee8 Fix the output now that we are using the default output (nested) instead of hard coding it to yaml 2014-04-19 15:59:13 -07:00
Pedro Algarvio
7acf994c46 Remove unused imports 2014-02-08 07:47:17 +00:00
Pedro Algarvio
d02a2bc224 Include the python encoding file header on tests. 2013-11-27 11:19:24 +00:00
Pedro Algarvio
9a22d3053e The pip module no longer accepts __env__ as a kwarg. 2013-11-06 20:15:23 +00:00
David Boucha
1a216bf08c remove commented out code 2013-09-03 11:39:21 -06:00
David Boucha
fa489634a5 check for multiple strings in the test 2013-09-03 11:37:46 -06:00
David Boucha
6fd2146239 split those strings on their path 2013-09-03 00:53:10 -06:00
Pedro Algarvio
2aa572dda6 Updated integration.runners.state test suite to use salttesting.helpers.ensure_in_syspath() 2013-06-28 00:13:01 +01:00
Pedro Algarvio
7747ef4f1b Updated integration.runners.manage test suite to use salttesting.helpers.ensure_in_syspath() 2013-06-28 00:13:01 +01:00
Pedro Algarvio
16451948a8 Updated integration.runners.jobs test suite to use salttesting.helpers.ensure_in_syspath() 2013-06-28 00:13:01 +01:00
Pedro Algarvio
222be7b446 Make sure every test module is runnable by __main__.
* Double to single quotes
2013-06-28 00:12:56 +01:00
Thomas S Hatch
2218dd95a5 Add parse req failure state 2013-06-10 23:00:48 -06:00
Thomas S Hatch
9752b21343 Add tests for overstate requisites 2013-06-10 18:42:54 -06:00
Pedro Algarvio
0cad15e299 Fix integration.runners.jobs tests. 2012-11-04 10:22:18 +00:00
Seth House
6c103bc4df Changed lookup_jid runner to return empty dict instead of an exception 2012-10-09 13:55:54 -06:00
Thomas S Hatch
a556a44707 fix jobs runner test for new exception return 2012-10-07 10:20:03 -06:00
Thomas S Hatch
bd041c31f6 sp 2012-10-06 23:39:25 -06:00
Thomas S Hatch
af03feecee Update jobs runner to check for valid exception type 2012-10-06 23:30:11 -06:00
Thomas S Hatch
fa2c84317d update to new bad jid return data 2012-10-06 23:01:34 -06:00
Jeroen Dekkers
a28272e2fb Fix "undefined name" errors spotted by pyflakes 2012-07-15 03:01:35 +02: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
Thomas S Hatch
0020706067 Add jobs jobs.list_jobs runner test 2012-05-27 21:34:48 -06:00
Thomas S Hatch
e5b5d458c3 Add tests for jobs runner 2012-05-27 21:24:45 -06:00
Thomas S Hatch
a19ffae25f Add tests for the manage runner 2012-05-27 21:02:29 -06:00