Commit graph

42 commits

Author SHA1 Message Date
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
Toshio Kuratomi
cf5ce97275 Somehow, git mv only rm'd test/v2 and didn't add v2/test 2014-10-15 18:35:16 -04:00