Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
ansible
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
OpenEdx
ansible
Commits
21142f57
Commit
21142f57
authored
Sep 18, 2015
by
Abhijit Menon-Sen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add some tests for split/apply_subscript
parent
d7b61db6
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
28 additions
and
0 deletions
+28
-0
test/units/inventory/test_inventory.py
+28
-0
No files found.
test/units/inventory/test_inventory.py
View file @
21142f57
...
...
@@ -19,6 +19,8 @@
from
__future__
import
(
absolute_import
,
division
,
print_function
)
__metaclass__
=
type
import
string
from
ansible.compat.tests
import
unittest
from
ansible.compat.tests.mock
import
patch
,
MagicMock
...
...
@@ -44,6 +46,7 @@ class TestInventory(unittest.TestCase):
' a : b '
:
[
'a'
,
'b'
],
'foo:bar:baz[1:2]'
:
[
'foo'
,
'bar'
,
'baz[1:2]'
],
}
pattern_lists
=
[
[[
'a'
],
[
'a'
]],
[[
'a'
,
'b'
],
[
'a'
,
'b'
]],
...
...
@@ -52,6 +55,18 @@ class TestInventory(unittest.TestCase):
[
'9a01:7f8:191:7701::9'
,
'9a01:7f8:191:7701::9'
,
'foo'
]]
]
# pattern_string: [ ('base_pattern', (a,b)), ['x','y','z'] ]
# a,b are the bounds of the subscript; x..z are the results of the subscript
# when applied to string.ascii_letters.
subscripts
=
{
'a'
:
[(
'a'
,
None
),
list
(
string
.
ascii_letters
)],
'a[0]'
:
[(
'a'
,
(
0
,
None
)),
[
'a'
]],
'a[1]'
:
[(
'a'
,
(
1
,
None
)),
[
'b'
]],
'a[2:3]'
:
[(
'a'
,
(
2
,
3
)),
[
'c'
,
'd'
]],
'a[-1]'
:
[(
'a'
,
(
-
1
,
None
)),
[
'Z'
]],
'a[-2]'
:
[(
'a'
,
(
-
2
,
None
)),
[
'Y'
]],
}
def
setUp
(
self
):
v
=
VariableManager
()
...
...
@@ -67,3 +82,16 @@ class TestInventory(unittest.TestCase):
for
p
,
r
in
self
.
pattern_lists
:
self
.
assertEqual
(
r
,
self
.
i
.
_split_pattern
(
p
))
def
test_ranges
(
self
):
for
s
in
self
.
subscripts
:
r
=
self
.
subscripts
[
s
]
self
.
assertEqual
(
r
[
0
],
self
.
i
.
_split_subscript
(
s
))
self
.
assertEqual
(
r
[
1
],
self
.
i
.
_apply_subscript
(
list
(
string
.
ascii_letters
),
r
[
0
][
1
]
)
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment