Commit graph

51 commits

Author SHA1 Message Date
Rory Finnegan
3e25f633fe Applied some stashed fixes.
* Fixed file.close() typo in test_vault_editor
 * Updated unicode.py to redefine basestring properly in python3 and fixed a couple missed py27 specific code.
 * Realized the patch in test_data_loader was still failing cause we are passing the string 'builtins.open' and not actually using it in that file and soe instead of failing in py34 it would fail in py27.
2015-04-16 17:20:46 -04:00
Rory Finnegan
f3fed01a7e Attempted to updated the vault editor to support 2/3 compatibility.
Unfortunately, I wasn't able to fix a bug in the VaultAES in which during
the test_decrypt_1_0 and test_rekey_migration in which VaultAES wasn't successfully
writing the writing the encrypted key to out_file (BytesIO).

Added skipping vault_editor tests test_decrypt_1_0 and test_rekey_migration in python3
since I wasn't able to successfully backport VaultAES without weird bugs.
2015-04-16 16:01:21 -04:00
Rory Finnegan
176ae06cbd Updated the vault/__init__.py and test_vault.py files to support 2/3.
Existing tests pass under both versions, but there could still be some issues
since, it involves a lot of 2/3 bytes-unicode conversions.
2015-04-16 16:01:21 -04:00
Rory Finnegan
28443cf0a9 Updated parsing/vault/test_vault.py to use the fake byte literals in six when using hexlify.
This was to fix the `TypeError: 'str' does not support the buffer interface` errors.
2015-04-16 16:01:21 -04:00
Rory Finnegan
1e139fe08f Updated the test_data_loader to use six.builtins vs __builtins__ 2015-04-16 16:01:21 -04:00
Rory Finnegan
77cd7a6e89 Fixed 2/3 compatibility issues in parsing/yaml/test_loader with six. 2015-04-16 16:01:20 -04:00
Toshio Kuratomi
7e1644bffd Add smoketest unittests for the connection plugins 2015-04-15 16:33:57 -07:00
Toshio Kuratomi
1f7d23fc18 Fix call to skipUnless by adding a reason 2015-04-15 15:57:13 -07:00
Toshio Kuratomi
0be531db71 Make some of the optional requirements optional for testing -- we'll skip the tests instead 2015-04-15 15:35:21 -07:00
Martin Chlumsky
45247eb4b3 Use abc for BaseCacheModule 2015-04-15 13:09:59 -04:00
ian
3bb7b0eef3 Import StringIO from six in a couple more places. 2015-04-13 16:03:02 -04:00
Brian Coca
2eb2a41d05 renamed get_entries to get_plays 2015-04-04 10:24:03 -04:00
Toshio Kuratomi
349ecf6efe Add a vault test to data_loader test and some additional yaml tests to parsing/yaml/test_loader 2015-04-03 11:39:56 -07:00
Toshio Kuratomi
2cddb093f5 Add AnsibleList for keeping track of line numbers in lists parsed from yaml 2015-04-02 12:37:02 -07:00
James Cammarata
0603b9c62c Merge branch 'v2_fixing' into devel
Conflicts:
	v2/ansible/playbook/helpers.py
2015-04-02 01:25:53 -05:00
James Cammarata
785c0c0c8c V2 fixing bugs 2015-04-02 01:19:21 -05:00
Toshio Kuratomi
69cf95bd0e Add __init__ to the yaml test dir 2015-04-01 15:00:50 -07:00
Toshio Kuratomi
e697de6076 Move AnsibleBaseBaseYAMLObject's position_info into a property 2015-04-01 14:54:22 -07:00
Toshio Kuratomi
05f1bed12b Use the node's start_mark to determine line and column.
* Elminates a lot of logic in the AnsibleComposer class.
* Update tests with new column offsets.  The rule should now be
  consistently: Column is the start of the entry's value (so for
  strings, the first non-space after the entry beginning, for dicts, the
  first character of the first key)
2015-04-01 13:51:01 -07:00
Toshio Kuratomi
b152275a36 Test line numbers and "fix" a bug in the scalar line counting 2015-04-01 12:18:53 -07:00
Toshio Kuratomi
c41b917162 Add a yaml constructor for unicode strings:
* Changes AnsibleConstructor so that only unicode strings are returned
  (no str type)
* Tracks line, column numbers for strings
* Adds unittests for AnsibleLoader (generic for all the yaml parsing)
2015-04-01 09:37:54 -07:00
Toshio Kuratomi
43c1a97447 Various unicode and backslash escape cleanups
* Do backslash escape parsing in parse_kv() [was being done in the copy
  module purely for newlines in the copy module's content param before]
* Make parse_kv always return unicode
* Add bandaid to transform args to unicode until we can fix things
  calling parse_kv to always send it unicode.
* Make split_args deal with unicode internally.  Warning, no bandaid for
  things calling split_args without giving it unicode (shouldn't matter
  as dealt with str internally before)
* Fix copy and unarchive action plugins to not use setdefaultencoding
* Remove escaping from copy (it was broken and made content into latin-1
  sometimes). escaping is now in parse_kv.
* Expect that content is now a unicode string so transform to bytes just
  before writing to the file.
* Add initial unittests for split_args and parse_kv.  4 failing
  tests.because split_args is injecting extra newlines.
2015-03-30 19:19:34 -07:00
James Cammarata
065733ad93 Moving more action plugins over and fixing some bugs with role loading 2015-01-07 10:48:33 -06:00
James Cammarata
62d79568be Creating playbook executor and dependent classes 2014-12-29 10:46:47 -06:00
James Cammarata
24bebd85b4 Adding v2 task/block iterator and some reorganizing 2014-11-08 01:44:21 -06:00
James Cammarata
229d49fe36 Adding new playbook objects for v2
* Playbook
* TaskInclude
2014-11-05 21:13:47 -06:00
James Cammarata
0ed9746db3 Adding Play class for v2 2014-11-04 15:16:53 -06:00
James Cammarata
11822f0d57 Adding VariableManager class for v2 2014-11-03 13:51:18 -06:00
James Cammarata
3b0e64127d Refactoring role spec stuff into a dedicated parsing class
Also reworking tests to cut down on the number of patches required
by sub-classing the DataLoader() class and reworking the base object's
structure a bit to allow its use
2014-10-30 12:42:06 -05:00
James Cammarata
bd203a44be Adding more unittests for the v2 role class 2014-10-30 12:42:06 -05:00
Toshio Kuratomi
e99dc5a57c Add copyright and py3 compat header 2014-10-28 20:40:39 -04: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
James Cammarata
58defa5cce Adding role deps to v2 Role class and fixing some bugs 2014-10-28 00:15:02 -05:00
James Cammarata
7ea84d7499 More v2 roles class work
* added ability to set parents (will be used when the deps are loaded)
* added role caching, so roles are not reloaded needlessly (and for
  use in detecting when roles have already been run)
* reworked the way metadata was stored - now individual attribute fields
  instead of a dictionary blob
2014-10-27 13:27:25 -05:00
James Cammarata
44afa7facc Updating Role class for new DataLoader stuff 2014-10-25 23:42:35 -05:00
James Cammarata
7cb489eca3 Adding a data parsing class for v2 2014-10-24 14:06:43 -05:00
James Cammarata
2ff17ebd93 Adding in VaultEditor tests from old unittests 2014-10-21 16:40:44 -05:00
Toshio Kuratomi
c1b290a311 Fix logic that prevents multiple action, local_action, and modules to be specified. 2014-10-21 17:04:49 -04:00
Toshio Kuratomi
b3452de8a7 Hook up the general parsing unittests and get them passing 2014-10-21 16:06:40 -04:00
James Cammarata
0a8c91a812 Fixing up tests, removing some of the yaml error stuff from parsing
* moved old unittests for vault over to the new codebase
* reverted YAML error helpers and reverted the load() function
  in parsing/__init__.py, pending a rewrite of a new YAML loader
  class of some kind to encapsulate all of that
* fixed an error in in the module args parser regarding the shell/
  command argument parsing, where some additional arguments were
  being lost
2014-10-21 13:28:01 -05:00
Toshio Kuratomi
e78c5f925b Python3 fixes 2014-10-21 01:24:09 -04:00
Toshio Kuratomi
a954220957 Migrate the v2/tests to use the ansible.compat module 2014-10-21 01:14:30 -04:00
James Cammarata
b0069a338e Overhauls to v2 code
* using inspect module instead of iteritems(self.__class__.__dict__, due
  to the fact that the later does not include attributes from parent
  classes
* added tags/when attributes to Base() class for use by all subclasses
* removed value/callable code from Attribute, as they are not used
* started moving some limited code from utils to new places in v2 tree
  (vault, yaml-parsing related defs)
* re-added ability of Block.load() to create implicit blocks from tasks
* started overhaul of Role class and role-related code
2014-10-20 13:11:20 -05:00
James Cammarata
57d2622c8c Adding block code and tests 2014-10-16 16:03:29 -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
acf4bc95a3 Give all v2 tests the python3 compat boilerplate 2014-10-15 19:25:48 -04:00
Toshio Kuratomi
a707f5acfe Fix relative imports 2014-10-15 18:40:03 -04:00
Toshio Kuratomi
6ecca227b8 Fix missing import 2014-10-15 18:37:17 -04:00
Toshio Kuratomi
057c1df303 Remove temp file 2014-10-15 18:36:30 -04:00