You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ariatosca.apache.org by em...@apache.org on 2017/10/03 21:23:59 UTC
[1/2] incubator-ariatosca git commit: Substitution mapping and copy
tests
Repository: incubator-ariatosca
Updated Branches:
refs/heads/ARIA-1-parser-test-suite 740818ad4 -> 12e860863
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/12e86086/tests/extensions/aria_extension_tosca/simple_v1_0/types/common/test_type_parameters.py
----------------------------------------------------------------------
diff --git a/tests/extensions/aria_extension_tosca/simple_v1_0/types/common/test_type_parameters.py b/tests/extensions/aria_extension_tosca/simple_v1_0/types/common/test_type_parameters.py
index 38e2023..c0722ed 100644
--- a/tests/extensions/aria_extension_tosca/simple_v1_0/types/common/test_type_parameters.py
+++ b/tests/extensions/aria_extension_tosca/simple_v1_0/types/common/test_type_parameters.py
@@ -148,7 +148,7 @@ MACROS = {
'capability': CAPABILITY_MACROS
}
-CASES = (
+PERMUTATIONS = (
('main', 'node', 'properties'),
('main', 'node', 'attributes'),
('main', 'group', 'properties'),
@@ -177,7 +177,7 @@ CASES = (
# Parameters section
@pytest.mark.parametrize('macros,name,parameter_section,value', matrix(
- CASES,
+ PERMUTATIONS,
data.NOT_A_DICT,
counts=(3, 1)
))
@@ -193,7 +193,7 @@ tosca_definitions_version: tosca_simple_yaml_1_0
""", dict(name=name, parameter_section=parameter_section, value=value)).assert_failure()
-@pytest.mark.parametrize('macros,name,parameter_section', CASES)
+@pytest.mark.parametrize('macros,name,parameter_section', PERMUTATIONS)
def test_type_parameters_section_syntax_empty(parser, macros, name, parameter_section):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -209,7 +209,7 @@ tosca_definitions_version: tosca_simple_yaml_1_0
# Parameter
@pytest.mark.parametrize('macros,name,parameter_section,value', matrix(
- CASES,
+ PERMUTATIONS,
data.NOT_A_DICT,
counts=(3, 1)
))
@@ -225,7 +225,7 @@ my_parameter: {{ value }}
""", dict(name=name, parameter_section=parameter_section, value=value)).assert_failure()
-@pytest.mark.parametrize('macros,name,parameter_section', CASES)
+@pytest.mark.parametrize('macros,name,parameter_section', PERMUTATIONS)
def test_type_parameter_syntax_empty(parser, macros, name, parameter_section):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -238,7 +238,7 @@ my_parameter: {} # type is required
""", dict(name=name, parameter_section=parameter_section)).assert_failure()
-@pytest.mark.parametrize('macros,name,parameter_section', CASES)
+@pytest.mark.parametrize('macros,name,parameter_section', PERMUTATIONS)
def test_type_parameter_syntax_unsupported(parser, macros, name, parameter_section):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -256,7 +256,7 @@ my_parameter:
# Description
@pytest.mark.parametrize('macros,name,parameter_section,value', matrix(
- CASES,
+ PERMUTATIONS,
data.NOT_A_STRING,
counts=(3, 1)
))
@@ -274,7 +274,7 @@ my_parameter:
""", dict(name=name, parameter_section=parameter_section, value=value)).assert_failure()
-@pytest.mark.parametrize('macros,name,parameter_section', CASES)
+@pytest.mark.parametrize('macros,name,parameter_section', PERMUTATIONS)
def test_type_parameter_description(parser, macros, name, parameter_section):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -291,7 +291,7 @@ my_parameter:
# Default
-@pytest.mark.parametrize('macros,name,parameter_section', CASES)
+@pytest.mark.parametrize('macros,name,parameter_section', PERMUTATIONS)
def test_type_parameter_default(parser, macros, name, parameter_section):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -306,7 +306,7 @@ my_parameter:
""", dict(name=name, parameter_section=parameter_section)).assert_success()
-@pytest.mark.parametrize('macros,name,parameter_section', CASES)
+@pytest.mark.parametrize('macros,name,parameter_section', PERMUTATIONS)
def test_type_parameter_default_bad(parser, macros, name, parameter_section):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -324,7 +324,7 @@ my_parameter:
# Status
@pytest.mark.parametrize('macros,name,parameter_section,value', matrix(
- CASES,
+ PERMUTATIONS,
data.STATUSES,
counts=(3, 1)
))
@@ -342,7 +342,7 @@ my_parameter:
""", dict(name=name, parameter_section=parameter_section, value=value)).assert_success()
-@pytest.mark.parametrize('macros,name,parameter_section', CASES)
+@pytest.mark.parametrize('macros,name,parameter_section', PERMUTATIONS)
def test_type_parameter_status_bad(parser, macros, name, parameter_section):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -359,7 +359,7 @@ my_parameter:
# Overriding
-@pytest.mark.parametrize('macros,name,parameter_section', CASES)
+@pytest.mark.parametrize('macros,name,parameter_section', PERMUTATIONS)
def test_type_parameter_add(parser, macros, name, parameter_section):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -379,7 +379,7 @@ my_parameter2:
""", dict(name=name, parameter_section=parameter_section)).assert_success()
-@pytest.mark.parametrize('macros,name,parameter_section', CASES)
+@pytest.mark.parametrize('macros,name,parameter_section', PERMUTATIONS)
def test_type_parameter_add_default(parser, macros, name, parameter_section):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -401,7 +401,7 @@ my_parameter:
@pytest.mark.skip(reason='fix for node.capability and node.relationship')
-@pytest.mark.parametrize('macros,name,parameter_section', CASES)
+@pytest.mark.parametrize('macros,name,parameter_section', PERMUTATIONS)
def test_type_parameter_type_override(parser, macros, name, parameter_section):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -428,7 +428,7 @@ my_parameter:
@pytest.mark.skip(reason='fix for node.capability and node.relationship')
-@pytest.mark.parametrize('macros,name,parameter_section', CASES)
+@pytest.mark.parametrize('macros,name,parameter_section', PERMUTATIONS)
def test_type_parameter_type_override_bad(parser, macros, name, parameter_section):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -456,7 +456,7 @@ my_parameter:
# Unicode
-@pytest.mark.parametrize('macros,name,parameter_section', CASES)
+@pytest.mark.parametrize('macros,name,parameter_section', PERMUTATIONS)
def test_type_parameter_unicode(parser, macros, name, parameter_section):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/12e86086/tests/extensions/aria_extension_tosca/simple_v1_0/types/common/test_type_properties.py
----------------------------------------------------------------------
diff --git a/tests/extensions/aria_extension_tosca/simple_v1_0/types/common/test_type_properties.py b/tests/extensions/aria_extension_tosca/simple_v1_0/types/common/test_type_properties.py
index 6844ce6..e04462f 100644
--- a/tests/extensions/aria_extension_tosca/simple_v1_0/types/common/test_type_properties.py
+++ b/tests/extensions/aria_extension_tosca/simple_v1_0/types/common/test_type_properties.py
@@ -18,16 +18,19 @@
Unified testing for properties and inputs.
These tests are in addition to the common tests for parameters in test_type_parameters.py.
+
+Compare with test_node_template_node_filter_constraints.py. Note that though the constraints are the
+same, their syntax is very different, making it difficult to test all permutations together.
"""
import pytest
-from .test_type_parameters import (MACROS, CASES as PARAMETER_CASES)
+from .test_type_parameters import (MACROS, PERMUTATIONS as PARAMETER_CASES)
from ... import data
from ......mechanisms.utils import matrix
-CASES = tuple(
+PERMUTATIONS = tuple(
(macros, name, parameter_section)
for macros, name, parameter_section in PARAMETER_CASES
if parameter_section != 'attributes'
@@ -37,7 +40,7 @@ CASES = tuple(
# Required
@pytest.mark.parametrize('macros,name,parameter_section,value', matrix(
- CASES,
+ PERMUTATIONS,
data.NOT_A_BOOL,
counts=(3, 1)
))
@@ -55,7 +58,7 @@ my_parameter:
""", dict(name=name, parameter_section=parameter_section, value=value)).assert_failure()
-@pytest.mark.parametrize('macros,name,parameter_section', CASES)
+@pytest.mark.parametrize('macros,name,parameter_section', PERMUTATIONS)
def test_type_parameter_required(parser, macros, name, parameter_section):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -73,7 +76,7 @@ my_parameter:
# Status
@pytest.mark.parametrize('macros,name,parameter_section,value', matrix(
- CASES,
+ PERMUTATIONS,
data.STATUSES,
counts=(3, 1)
))
@@ -91,7 +94,7 @@ my_parameter:
""", dict(name=name, parameter_section=parameter_section, value=value)).assert_success()
-@pytest.mark.parametrize('macros,name,parameter_section', CASES)
+@pytest.mark.parametrize('macros,name,parameter_section', PERMUTATIONS)
def test_type_parameter_status_bad(parser, macros, name, parameter_section):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -109,7 +112,7 @@ my_parameter:
# Constraints
@pytest.mark.parametrize('macros,name,parameter_section,value', matrix(
- CASES,
+ PERMUTATIONS,
data.NOT_A_LIST,
counts=(3, 1)
))
@@ -127,7 +130,7 @@ my_parameter:
""", dict(name=name, parameter_section=parameter_section, value=value)).assert_failure()
-@pytest.mark.parametrize('macros,name,parameter_section', CASES)
+@pytest.mark.parametrize('macros,name,parameter_section', PERMUTATIONS)
def test_type_parameter_constraints_syntax_empty(parser, macros, name, parameter_section):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -143,7 +146,7 @@ my_parameter:
@pytest.mark.parametrize('macros,name,parameter_section,constraint', matrix(
- CASES,
+ PERMUTATIONS,
data.CONSTRAINTS_WITH_VALUE,
counts=(3, 1)
))
@@ -170,7 +173,7 @@ my_parameter:
@pytest.mark.parametrize('macros,name,parameter_section,constraint', matrix(
- CASES,
+ PERMUTATIONS,
data.CONSTRAINTS_WITH_VALUE_LIST,
counts=(3, 1)
))
@@ -201,7 +204,7 @@ my_parameter:
@pytest.mark.parametrize('macros,name,parameter_section,constraint', matrix(
- CASES,
+ PERMUTATIONS,
data.CONSTRAINTS_WITH_VALUE_RANGE,
counts=(3, 1)
))
@@ -231,7 +234,7 @@ my_parameter:
@pytest.mark.parametrize('macros,name,parameter_section,constraint', matrix(
- CASES,
+ PERMUTATIONS,
data.CONSTRAINTS_WITH_VALUE_RANGE,
counts=(3, 1)
))
@@ -262,7 +265,7 @@ my_parameter:
@pytest.mark.parametrize('macros,name,parameter_section,constraint', matrix(
- CASES,
+ PERMUTATIONS,
data.CONSTRAINTS_WITH_VALUE_RANGE,
counts=(3, 1)
))
@@ -291,7 +294,7 @@ my_parameter:
""", dict(name=name, parameter_section=parameter_section, constraint=constraint)).assert_failure()
-@pytest.mark.parametrize('macros,name,parameter_section', CASES)
+@pytest.mark.parametrize('macros,name,parameter_section', PERMUTATIONS)
def test_type_parameter_constraints_pattern(parser, macros, name, parameter_section):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -307,7 +310,7 @@ my_parameter:
""", dict(name=name, parameter_section=parameter_section)).assert_success()
-@pytest.mark.parametrize('macros,name,parameter_section', CASES)
+@pytest.mark.parametrize('macros,name,parameter_section', PERMUTATIONS)
def test_type_parameter_constraints_pattern_bad(parser, macros, name, parameter_section):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -324,7 +327,7 @@ my_parameter:
@pytest.mark.parametrize('macros,name,parameter_section,constraint', matrix(
- CASES,
+ PERMUTATIONS,
data.CONSTRAINTS_WITH_VALUE_NON_NEGATIVE_INT,
counts=(3, 1)
))
@@ -345,7 +348,7 @@ my_parameter:
@pytest.mark.parametrize('macros,name,parameter_section,constraint', matrix(
- CASES,
+ PERMUTATIONS,
data.CONSTRAINTS_WITH_VALUE_NON_NEGATIVE_INT,
counts=(3, 1)
))
@@ -367,7 +370,7 @@ my_parameter:
# Unicode
-@pytest.mark.parametrize('macros,name,parameter_section', CASES)
+@pytest.mark.parametrize('macros,name,parameter_section', PERMUTATIONS)
def test_type_parameter_constraints_pattern_unicode(parser, macros, name, parameter_section):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/12e86086/tests/extensions/aria_extension_tosca/simple_v1_0/types/common/test_types.py
----------------------------------------------------------------------
diff --git a/tests/extensions/aria_extension_tosca/simple_v1_0/types/common/test_types.py b/tests/extensions/aria_extension_tosca/simple_v1_0/types/common/test_types.py
index 2e45d8a..a175498 100644
--- a/tests/extensions/aria_extension_tosca/simple_v1_0/types/common/test_types.py
+++ b/tests/extensions/aria_extension_tosca/simple_v1_0/types/common/test_types.py
@@ -23,11 +23,11 @@ from ......mechanisms.utils import matrix
CASES_WITHOUT_UNSUPPORTED_FIELDS = ('artifact', 'data', 'capability', 'relationship', 'node',
'group', 'policy')
-CASES = CASES_WITHOUT_UNSUPPORTED_FIELDS + ('interface',)
+PERMUTATIONS = CASES_WITHOUT_UNSUPPORTED_FIELDS + ('interface',)
@pytest.mark.parametrize('name,value', matrix(
- CASES,
+ PERMUTATIONS,
data.NOT_A_DICT
))
def test_type_syntax_type(parser, name, value):
@@ -48,7 +48,7 @@ tosca_definitions_version: tosca_simple_yaml_1_0
""", dict(name=name)).assert_failure()
-@pytest.mark.parametrize('name', CASES)
+@pytest.mark.parametrize('name', PERMUTATIONS)
def test_type_syntax_empty(parser, name):
parser.parse_literal("""
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -60,7 +60,7 @@ tosca_definitions_version: tosca_simple_yaml_1_0
# Description
@pytest.mark.parametrize('name,value', matrix(
- CASES,
+ PERMUTATIONS,
data.NOT_A_STRING
))
def test_type_description_syntax_type(parser, name, value):
@@ -72,7 +72,7 @@ tosca_definitions_version: tosca_simple_yaml_1_0
""", dict(name=name, value=value)).assert_failure()
-@pytest.mark.parametrize('name', CASES)
+@pytest.mark.parametrize('name', PERMUTATIONS)
def test_type_description(parser, name):
parser.parse_literal("""
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -85,7 +85,7 @@ tosca_definitions_version: tosca_simple_yaml_1_0
# Derived from
@pytest.mark.parametrize('name,value', matrix(
- CASES,
+ PERMUTATIONS,
data.NOT_A_STRING
))
def test_type_derived_from_syntax_type(parser, name, value):
@@ -97,7 +97,7 @@ tosca_definitions_version: tosca_simple_yaml_1_0
""", dict(name=name, value=value)).assert_failure()
-@pytest.mark.parametrize('name', CASES)
+@pytest.mark.parametrize('name', PERMUTATIONS)
def test_type_derived_from(parser, name):
parser.parse_literal("""
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -108,7 +108,7 @@ tosca_definitions_version: tosca_simple_yaml_1_0
""", dict(name=name)).assert_success()
-@pytest.mark.parametrize('name', CASES)
+@pytest.mark.parametrize('name', PERMUTATIONS)
def test_type_derived_from_unknown(parser, name):
parser.parse_literal("""
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -118,7 +118,7 @@ tosca_definitions_version: tosca_simple_yaml_1_0
""", dict(name=name)).assert_failure()
-@pytest.mark.parametrize('name', CASES)
+@pytest.mark.parametrize('name', PERMUTATIONS)
def test_type_derived_from_self(parser, name):
parser.parse_literal("""
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -128,7 +128,7 @@ tosca_definitions_version: tosca_simple_yaml_1_0
""", dict(name=name)).assert_failure()
-@pytest.mark.parametrize('name', CASES)
+@pytest.mark.parametrize('name', PERMUTATIONS)
def test_type_derived_from_circular(parser, name):
parser.parse_literal("""
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -145,7 +145,7 @@ tosca_definitions_version: tosca_simple_yaml_1_0
# Version
@pytest.mark.parametrize('name,value', matrix(
- CASES,
+ PERMUTATIONS,
data.GOOD_VERSIONS
))
def test_type_version(parser, name, value):
@@ -158,7 +158,7 @@ tosca_definitions_version: tosca_simple_yaml_1_0
@pytest.mark.parametrize('name,value', matrix(
- CASES,
+ PERMUTATIONS,
data.BAD_VERSIONS
))
def test_type_version_bad(parser, name, value):
@@ -172,7 +172,7 @@ tosca_definitions_version: tosca_simple_yaml_1_0
# Unicode
-@pytest.mark.parametrize('name', CASES)
+@pytest.mark.parametrize('name', PERMUTATIONS)
def test_type_unicode(parser, name):
parser.parse_literal("""
tosca_definitions_version: tosca_simple_yaml_1_0
[2/2] incubator-ariatosca git commit: Substitution mapping and copy
tests
Posted by em...@apache.org.
Substitution mapping and copy tests
* Fix subtitution mapping requirement validation
Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/12e86086
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/12e86086
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/12e86086
Branch: refs/heads/ARIA-1-parser-test-suite
Commit: 12e8608634c301431c9bec15e54e351205f5c70d
Parents: 740818a
Author: Tal Liron <ta...@gmail.com>
Authored: Tue Oct 3 16:23:23 2017 -0500
Committer: Tal Liron <ta...@gmail.com>
Committed: Tue Oct 3 16:23:23 2017 -0500
----------------------------------------------------------------------
.../simple_v1_0/modeling/copy.py | 2 +-
.../modeling/substitution_mappings.py | 23 +-
.../aria_extension_tosca/simple_v1_0/data.py | 2 +
.../simple_v1_0/templates/common/test_copy.py | 26 +-
.../templates/common/test_template_interface.py | 56 +--
.../common/test_template_parameters.py | 26 +-
.../common/test_template_properties.py | 10 +-
.../templates/common/test_templates.py | 41 +-
.../test_node_template_artifacts.py | 41 +-
...est_node_template_node_filter_constraints.py | 346 +++++++++++++++
.../test_node_template_node_filters.py | 26 +-
...st_node_template_node_filters_constraints.py | 322 --------------
.../templates/test_inputs_and_ouputs.py | 2 +
.../templates/test_substitution_mappings.py | 424 ++++++++++++++++++-
.../templates/test_topology_template.py | 19 +
.../types/common/test_type_interfaces.py | 42 +-
.../types/common/test_type_parameters.py | 34 +-
.../types/common/test_type_properties.py | 39 +-
.../simple_v1_0/types/common/test_types.py | 26 +-
19 files changed, 1004 insertions(+), 503 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/12e86086/extensions/aria_extension_tosca/simple_v1_0/modeling/copy.py
----------------------------------------------------------------------
diff --git a/extensions/aria_extension_tosca/simple_v1_0/modeling/copy.py b/extensions/aria_extension_tosca/simple_v1_0/modeling/copy.py
index bd9037f..b3c2e49 100644
--- a/extensions/aria_extension_tosca/simple_v1_0/modeling/copy.py
+++ b/extensions/aria_extension_tosca/simple_v1_0/modeling/copy.py
@@ -23,7 +23,7 @@ def get_default_raw_from_copy(presentation, field_name):
"""
copy = presentation._raw.get('copy')
- if copy is not None:
+ if isinstance(copy, basestring):
templates = getattr(presentation._container, field_name)
if templates is not None:
template = templates.get(copy)
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/12e86086/extensions/aria_extension_tosca/simple_v1_0/modeling/substitution_mappings.py
----------------------------------------------------------------------
diff --git a/extensions/aria_extension_tosca/simple_v1_0/modeling/substitution_mappings.py b/extensions/aria_extension_tosca/simple_v1_0/modeling/substitution_mappings.py
index 2bbc437..ae2f924 100644
--- a/extensions/aria_extension_tosca/simple_v1_0/modeling/substitution_mappings.py
+++ b/extensions/aria_extension_tosca/simple_v1_0/modeling/substitution_mappings.py
@@ -18,8 +18,7 @@ from aria.parser.validation import Issue
def validate_substitution_mappings_requirement(context, presentation):
-
- # validate that the requirement in substitution_mapping is defined in the substitution node type
+ # Validate that the requirement in substitution_mapping is defined in the substitution node type
substitution_node_type = presentation._container._get_type(context)
if substitution_node_type is None:
return
@@ -38,7 +37,7 @@ def validate_substitution_mappings_requirement(context, presentation):
_report_invalid_mapping_format(context, presentation, field='requirement')
return
- # validate that the mapped requirement is defined in the corresponding node template
+ # Validate that the mapped requirement is defined in the corresponding node template
node_template = _get_node_template(context, presentation)
if node_template is None:
_report_missing_node_template(context, presentation, field='requirement')
@@ -57,14 +56,14 @@ def validate_substitution_mappings_requirement(context, presentation):
locator=presentation._locator, level=Issue.BETWEEN_TYPES)
return
- # validate that the requirement's capability type in substitution_mapping is derived from the
+ # Validate that the requirement's capability type in substitution_mapping is derived from the
# requirement's capability type in the corresponding node template
substitution_type_requirement_capability_type = \
substitution_type_requirement._get_capability_type(context)
node_template_requirement_capability_type = \
node_template_requirement._get_capability(context)[0]
- if not node_template_requirement_capability_type._is_descendant(
- context, substitution_type_requirement_capability_type):
+ if not substitution_type_requirement_capability_type._is_descendant(
+ context, node_template_requirement_capability_type):
context.validation.report(
u'substitution mapping requirement "{0}" of capability type "{1}" is not a descendant '
u'of the mapped node template capability type "{2}"'.format(
@@ -75,8 +74,7 @@ def validate_substitution_mappings_requirement(context, presentation):
def validate_substitution_mappings_capability(context, presentation):
-
- # validate that the capability in substitution_mapping is defined in the substitution node type
+ # Validate that the capability in substitution_mapping is defined in the substitution node type
substitution_node_type = presentation._container._get_type(context)
if substitution_node_type is None:
return
@@ -94,7 +92,7 @@ def validate_substitution_mappings_capability(context, presentation):
_report_invalid_mapping_format(context, presentation, field='capability')
return
- # validate that the capability in substitution_mapping is declared in the corresponding
+ # Validate that the capability in substitution_mapping is declared in the corresponding
# node template
node_template = _get_node_template(context, presentation)
if node_template is None:
@@ -112,11 +110,10 @@ def validate_substitution_mappings_capability(context, presentation):
locator=presentation._locator, level=Issue.BETWEEN_TYPES)
return
- # validate that the capability type in substitution_mapping is derived from the capability type
+ # Validate that the capability type in substitution_mapping is derived from the capability type
# in the corresponding node template
substitution_type_capability_type = substitution_type_capability._get_type(context)
node_template_capability_type = node_template_capability._get_type(context)
-
if not substitution_type_capability_type._is_descendant(context, node_template_capability_type):
context.validation.report(
u'node template capability type "{0}" is not a descendant of substitution mapping '
@@ -132,7 +129,9 @@ def validate_substitution_mappings_capability(context, presentation):
#
def _validate_mapping_format(presentation):
- """Validate that the mapping is a list of 2 strings"""
+ """
+ Validate that the mapping is a list of 2 strings.
+ """
if not isinstance(presentation._raw, list) or \
len(presentation._raw) != 2 or \
not isinstance(presentation._raw[0], basestring) or \
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/12e86086/tests/extensions/aria_extension_tosca/simple_v1_0/data.py
----------------------------------------------------------------------
diff --git a/tests/extensions/aria_extension_tosca/simple_v1_0/data.py b/tests/extensions/aria_extension_tosca/simple_v1_0/data.py
index 9f15538..104e6bb 100644
--- a/tests/extensions/aria_extension_tosca/simple_v1_0/data.py
+++ b/tests/extensions/aria_extension_tosca/simple_v1_0/data.py
@@ -45,8 +45,10 @@ CONSTRAINTS_WITH_VALUE_NON_NEGATIVE_INT = ('length', 'min_length', 'max_length')
PRIMITIVE_VALUES = ('null', 'true', 'a string', '123', '0.123', '[]', '{}')
NOT_A_DICT = ('null', 'true', 'a string', '123', '0.123', '[]')
+NOT_A_DICT_WITH_ONE_KEY = NOT_A_DICT + ('{}', '{k1: v1, k2: v2}',)
NOT_A_DICT_OR_STRING = ('null', 'true', '123', '0.123', '[]')
NOT_A_LIST = ('null', 'true', 'a string', '123', '0.123', '{}')
+NOT_A_LIST_OF_TWO = NOT_A_LIST + ('[]', '[a]', '[a, b, c]')
NOT_A_STRING = ('null', 'true', '123', '0.123', '[]', '{}')
NOT_A_BOOL = ('null', 'a string', '123', '0.123', '[]', '{}')
NOT_A_RANGE = NOT_A_LIST + (
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/12e86086/tests/extensions/aria_extension_tosca/simple_v1_0/templates/common/test_copy.py
----------------------------------------------------------------------
diff --git a/tests/extensions/aria_extension_tosca/simple_v1_0/templates/common/test_copy.py b/tests/extensions/aria_extension_tosca/simple_v1_0/templates/common/test_copy.py
index 57eecad..7d333e4 100644
--- a/tests/extensions/aria_extension_tosca/simple_v1_0/templates/common/test_copy.py
+++ b/tests/extensions/aria_extension_tosca/simple_v1_0/templates/common/test_copy.py
@@ -17,12 +17,28 @@
import pytest
from ... import data
+from ......mechanisms.utils import matrix
-CASES = ('node', 'relationship')
+PERMUTATIONS = ('node', 'relationship')
-@pytest.mark.parametrize('name', CASES)
+@pytest.mark.parametrize('name,value', matrix(PERMUTATIONS, data.NOT_A_STRING))
+def test_templates_copy_syntax_type(parser, name, value):
+ parser.parse_literal("""
+tosca_definitions_version: tosca_simple_yaml_1_0
+{{ name }}_types:
+ MyType: {}
+topology_template:
+ {{ section }}:
+ my_template:
+ type: MyType
+ copying_template:
+ copy: {{ value }}
+""", dict(name=name, section=data.TEMPLATE_NAME_SECTIONS[name], value=value)).assert_failure()
+
+
+@pytest.mark.parametrize('name', PERMUTATIONS)
def test_templates_copy(parser, name):
parser.parse_literal("""
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -32,12 +48,12 @@ topology_template:
{{ section }}:
my_template:
type: MyType
- copy_template:
+ copying_template:
copy: my_template
""", dict(name=name, section=data.TEMPLATE_NAME_SECTIONS[name])).assert_success()
-@pytest.mark.parametrize('name', CASES)
+@pytest.mark.parametrize('name', PERMUTATIONS)
def test_templates_copy_unknown(parser, name):
parser.parse_literal("""
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -47,6 +63,6 @@ topology_template:
{{ section }}:
my_template:
type: MyType
- copy_template:
+ copying_template:
copy: unknown
""", dict(name=name, section=data.TEMPLATE_NAME_SECTIONS[name])).assert_failure()
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/12e86086/tests/extensions/aria_extension_tosca/simple_v1_0/templates/common/test_template_interface.py
----------------------------------------------------------------------
diff --git a/tests/extensions/aria_extension_tosca/simple_v1_0/templates/common/test_template_interface.py b/tests/extensions/aria_extension_tosca/simple_v1_0/templates/common/test_template_interface.py
index 2b78dfc..327a12e 100644
--- a/tests/extensions/aria_extension_tosca/simple_v1_0/templates/common/test_template_interface.py
+++ b/tests/extensions/aria_extension_tosca/simple_v1_0/templates/common/test_template_interface.py
@@ -110,7 +110,7 @@ MACROS = {
'relationship-template': RELATIONSHIP_TEMPLATE_MACROS
}
-CASES = (
+PERMUTATIONS = (
('main', 'node'),
('main', 'group'),
('main', 'relationship'),
@@ -123,7 +123,7 @@ CASES = (
# Interfaces section
@pytest.mark.parametrize('macros,name,value', matrix(
- CASES,
+ PERMUTATIONS,
data.NOT_A_DICT,
counts=(2, 1)
))
@@ -148,7 +148,7 @@ topology_template:
""", dict(name=name, section=data.TEMPLATE_NAME_SECTIONS[name], value=value)).assert_failure()
-@pytest.mark.parametrize('macros,name', CASES)
+@pytest.mark.parametrize('macros,name', PERMUTATIONS)
def test_template_interfaces_section_syntax_empty(parser, macros, name):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -173,7 +173,7 @@ topology_template:
# Interface
@pytest.mark.parametrize('macros,name,value', matrix(
- CASES,
+ PERMUTATIONS,
data.NOT_A_DICT,
counts=(2, 1)
))
@@ -199,7 +199,7 @@ MyInterface: {{ value }}
""", dict(name=name, section=data.TEMPLATE_NAME_SECTIONS[name], value=value)).assert_failure()
-@pytest.mark.parametrize('macros,name', CASES)
+@pytest.mark.parametrize('macros,name', PERMUTATIONS)
def test_template_interface_syntax_empty(parser, macros, name):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -225,7 +225,7 @@ MyInterface: {}
# Interface input
@pytest.mark.parametrize('macros,name,value', matrix(
- CASES,
+ PERMUTATIONS,
data.NOT_A_DICT,
counts=(2, 1)
))
@@ -252,7 +252,7 @@ MyInterface:
""", dict(name=name, section=data.TEMPLATE_NAME_SECTIONS[name], value=value)).assert_failure()
-@pytest.mark.parametrize('macros,name', CASES)
+@pytest.mark.parametrize('macros,name', PERMUTATIONS)
def test_template_interface_inputs_section_syntax_empty(parser, macros, name):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -278,7 +278,7 @@ MyInterface:
@pytest.mark.skip(reason='fix for relationships')
@pytest.mark.parametrize('macros,name,type_name,value', matrix(
- CASES,
+ PERMUTATIONS,
data.PARAMETER_VALUES,
counts=(2, 2)
))
@@ -317,7 +317,7 @@ MyInterface:
@pytest.mark.skip(reason='fix for relationships')
@pytest.mark.parametrize('macros,name,type_name,value', matrix(
- CASES,
+ PERMUTATIONS,
data.PARAMETER_VALUES,
counts=(2, 2)
))
@@ -354,7 +354,7 @@ MyInterface:
value=value)).assert_success()
-@pytest.mark.parametrize('macros,name', CASES)
+@pytest.mark.parametrize('macros,name', PERMUTATIONS)
def test_template_interface_input_missing(parser, macros, name):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -382,7 +382,7 @@ MyInterface:
# Operation
@pytest.mark.parametrize('macros,name,value', matrix(
- CASES,
+ PERMUTATIONS,
data.NOT_A_DICT_OR_STRING,
counts=(2, 1)
))
@@ -410,7 +410,7 @@ MyInterface:
""", dict(name=name, section=data.TEMPLATE_NAME_SECTIONS[name], value=value)).assert_failure()
-@pytest.mark.parametrize('macros,name', CASES)
+@pytest.mark.parametrize('macros,name', PERMUTATIONS)
def test_template_interface_operation_syntax_unsupported(parser, macros, name):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -436,7 +436,7 @@ MyInterface:
""", dict(name=name, section=data.TEMPLATE_NAME_SECTIONS[name])).assert_failure()
-@pytest.mark.parametrize('macros,name', CASES)
+@pytest.mark.parametrize('macros,name', PERMUTATIONS)
def test_template_interface_operation_syntax_empty(parser, macros, name):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -461,7 +461,7 @@ MyInterface:
""", dict(name=name, section=data.TEMPLATE_NAME_SECTIONS[name])).assert_success()
-@pytest.mark.parametrize('macros,name', CASES)
+@pytest.mark.parametrize('macros,name', PERMUTATIONS)
def test_template_interface_operation_from_type(parser, macros, name):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -487,7 +487,7 @@ MyInterface:
@pytest.mark.skip(reason='fix for relationships')
-@pytest.mark.parametrize('macros,name', CASES)
+@pytest.mark.parametrize('macros,name', PERMUTATIONS)
def test_template_interface_operation_from_interface_type(parser, macros, name):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -512,7 +512,7 @@ MyInterface:
""", dict(name=name, section=data.TEMPLATE_NAME_SECTIONS[name])).assert_success()
-@pytest.mark.parametrize('macros,name', CASES)
+@pytest.mark.parametrize('macros,name', PERMUTATIONS)
def test_template_interface_operation_missing(parser, macros, name):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -539,7 +539,7 @@ MyInterface:
# Operation implementation
@pytest.mark.parametrize('macros,name,value', matrix(
- CASES,
+ PERMUTATIONS,
data.NOT_A_DICT_OR_STRING,
counts=(2, 1)
))
@@ -568,7 +568,7 @@ MyInterface:
""", dict(name=name, section=data.TEMPLATE_NAME_SECTIONS[name], value=value)).assert_failure()
-@pytest.mark.parametrize('macros,name', CASES)
+@pytest.mark.parametrize('macros,name', PERMUTATIONS)
def test_template_interface_operation_implementation_syntax_unsupported(parser, macros, name):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -595,7 +595,7 @@ MyInterface:
""", dict(name=name, section=data.TEMPLATE_NAME_SECTIONS[name])).assert_failure()
-@pytest.mark.parametrize('macros,name', CASES)
+@pytest.mark.parametrize('macros,name', PERMUTATIONS)
def test_template_interface_operation_implementation_syntax_empty(parser, macros, name):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -622,7 +622,7 @@ MyInterface:
@pytest.mark.parametrize('macros,name,value', matrix(
- CASES,
+ PERMUTATIONS,
data.NOT_A_STRING,
counts=(2, 1)
))
@@ -653,7 +653,7 @@ MyInterface:
""", dict(name=name, section=data.TEMPLATE_NAME_SECTIONS[name], value=value)).assert_failure()
-@pytest.mark.parametrize('macros,name', CASES)
+@pytest.mark.parametrize('macros,name', PERMUTATIONS)
def test_template_interface_operation_implementation_primary_short_form(parser, macros, name):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -680,7 +680,7 @@ MyInterface:
@pytest.mark.parametrize('macros,name,value', matrix(
- CASES,
+ PERMUTATIONS,
data.NOT_A_LIST,
counts=(2, 1)
))
@@ -712,7 +712,7 @@ MyInterface:
@pytest.mark.parametrize('macros,name,value', matrix(
- CASES,
+ PERMUTATIONS,
data.NOT_A_STRING,
counts=(2, 1)
))
@@ -745,7 +745,7 @@ MyInterface:
""", dict(name=name, section=data.TEMPLATE_NAME_SECTIONS[name], value=value)).assert_failure()
-@pytest.mark.parametrize('macros,name', CASES)
+@pytest.mark.parametrize('macros,name', PERMUTATIONS)
def test_template_interface_operation_implementation_dependencies_syntax_empty(parser, macros,
name):
parser.parse_literal(MACROS[macros] + """
@@ -777,7 +777,7 @@ MyInterface:
@pytest.mark.skip(reason='fix for relationships')
@pytest.mark.parametrize('macros,name,type_name,value', matrix(
- CASES,
+ PERMUTATIONS,
data.PARAMETER_VALUES,
counts=(2, 2)
))
@@ -818,7 +818,7 @@ MyInterface:
@pytest.mark.skip(reason='fix for relationships')
@pytest.mark.parametrize('macros,name,type_name,value', matrix(
- CASES,
+ PERMUTATIONS,
data.PARAMETER_VALUES,
counts=(2, 2)
))
@@ -859,7 +859,7 @@ MyInterface:
@pytest.mark.skip(reason='fix')
-@pytest.mark.parametrize('macros,name', CASES)
+@pytest.mark.parametrize('macros,name', PERMUTATIONS)
def test_template_interface_operation_input_missing(parser, macros, name):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -889,7 +889,7 @@ MyInterface:
# Unicode
@pytest.mark.skip(reason='fix for relationships')
-@pytest.mark.parametrize('macros,name', CASES)
+@pytest.mark.parametrize('macros,name', PERMUTATIONS)
def test_template_interface_unicode(parser, macros, name):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/12e86086/tests/extensions/aria_extension_tosca/simple_v1_0/templates/common/test_template_parameters.py
----------------------------------------------------------------------
diff --git a/tests/extensions/aria_extension_tosca/simple_v1_0/templates/common/test_template_parameters.py b/tests/extensions/aria_extension_tosca/simple_v1_0/templates/common/test_template_parameters.py
index aac6f88..545f8dc 100644
--- a/tests/extensions/aria_extension_tosca/simple_v1_0/templates/common/test_template_parameters.py
+++ b/tests/extensions/aria_extension_tosca/simple_v1_0/templates/common/test_template_parameters.py
@@ -396,7 +396,7 @@ MACROS = {
'relationship-local-operation': RELATIONSHIP_LOCAL_OPERATION_MACROS
}
-CASES = (
+PERMUTATIONS = (
('main', 'node', 'properties'),
('main', 'node', 'attributes'),
('main', 'group', 'properties'),
@@ -431,7 +431,7 @@ CASES = (
# Parameters section
@pytest.mark.parametrize('macros,name,parameter_section,value', matrix(
- CASES,
+ PERMUTATIONS,
data.NOT_A_DICT,
counts=(3, 1)
))
@@ -455,7 +455,7 @@ topology_template:
parameter_section=parameter_section, value=value)).assert_failure()
-@pytest.mark.parametrize('macros,name,parameter_section', CASES)
+@pytest.mark.parametrize('macros,name,parameter_section', PERMUTATIONS)
def test_template_parameters_section_syntax_empty(parser, macros, name, parameter_section):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -479,7 +479,7 @@ topology_template:
# Parameter
@pytest.mark.skip(reason='fix for capabilities')
-@pytest.mark.parametrize('macros,name,parameter_section', CASES)
+@pytest.mark.parametrize('macros,name,parameter_section', PERMUTATIONS)
def test_template_parameter_missing(parser, macros, name, parameter_section):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -503,7 +503,7 @@ my_parameter: a value
# Entry schema
@pytest.mark.parametrize('macros,name,parameter_section,values', matrix(
- CASES,
+ PERMUTATIONS,
data.ENTRY_SCHEMA_VALUES,
counts=(3, 1)
))
@@ -539,7 +539,7 @@ my_parameter:
@pytest.mark.skip(reason='fix for capabilities')
@pytest.mark.parametrize('macros,name,parameter_section,values', matrix(
- CASES,
+ PERMUTATIONS,
data.ENTRY_SCHEMA_VALUES_BAD,
counts=(3, 1)
))
@@ -573,7 +573,7 @@ my_parameter:
values=values), import_profile=True).assert_failure()
-@pytest.mark.parametrize('macros,name,parameter_section', CASES)
+@pytest.mark.parametrize('macros,name,parameter_section', PERMUTATIONS)
def test_template_parameter_map_required_field(parser, macros, name, parameter_section):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -603,7 +603,7 @@ my_parameter:
@pytest.mark.skip(reason='fix for capabilities')
-@pytest.mark.parametrize('macros,name,parameter_section', CASES)
+@pytest.mark.parametrize('macros,name,parameter_section', PERMUTATIONS)
def test_template_parameter_map_required_field_bad(parser, macros, name, parameter_section):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -633,7 +633,7 @@ my_parameter:
@pytest.mark.parametrize('macros,name,parameter_section,values', matrix(
- CASES,
+ PERMUTATIONS,
data.ENTRY_SCHEMA_VALUES,
counts=(3, 1)
))
@@ -669,7 +669,7 @@ my_parameter:
@pytest.mark.skip(reason='fix for capabilities')
@pytest.mark.parametrize('macros,name,parameter_section,values', matrix(
- CASES,
+ PERMUTATIONS,
data.ENTRY_SCHEMA_VALUES_BAD,
counts=(3, 1)
))
@@ -703,7 +703,7 @@ my_parameter:
values=values), import_profile=True).assert_failure()
-@pytest.mark.parametrize('macros,name,parameter_section', CASES)
+@pytest.mark.parametrize('macros,name,parameter_section', PERMUTATIONS)
def test_template_parameter_list_required_field(parser, macros, name, parameter_section):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -733,7 +733,7 @@ my_parameter:
@pytest.mark.skip(reason='fix for capabilities')
-@pytest.mark.parametrize('macros,name,parameter_section', CASES)
+@pytest.mark.parametrize('macros,name,parameter_section', PERMUTATIONS)
def test_template_parameter_list_required_field_bad(parser, macros, name, parameter_section):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -764,7 +764,7 @@ my_parameter:
# Unicode
-@pytest.mark.parametrize('macros,name,parameter_section', CASES)
+@pytest.mark.parametrize('macros,name,parameter_section', PERMUTATIONS)
def test_template_parameter_unicode(parser, macros, name, parameter_section):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/12e86086/tests/extensions/aria_extension_tosca/simple_v1_0/templates/common/test_template_properties.py
----------------------------------------------------------------------
diff --git a/tests/extensions/aria_extension_tosca/simple_v1_0/templates/common/test_template_properties.py b/tests/extensions/aria_extension_tosca/simple_v1_0/templates/common/test_template_properties.py
index 35fda49..4c947d2 100644
--- a/tests/extensions/aria_extension_tosca/simple_v1_0/templates/common/test_template_properties.py
+++ b/tests/extensions/aria_extension_tosca/simple_v1_0/templates/common/test_template_properties.py
@@ -22,12 +22,12 @@ These tests are in addition to the common tests for parameters in test_template_
import pytest
-from .test_template_parameters import (MACROS, CASES as PARAMETER_CASES)
+from .test_template_parameters import (MACROS, PERMUTATIONS as PARAMETER_CASES)
from ... import data
from ......mechanisms.utils import matrix
-CASES = tuple(
+PERMUTATIONS = tuple(
(macros, name, parameter_section)
for macros, name, parameter_section in PARAMETER_CASES
if parameter_section != 'attributes'
@@ -38,7 +38,7 @@ CASES = tuple(
@pytest.mark.skip(reason='fix for relationships')
@pytest.mark.parametrize('macros,name,parameter_section,type_name', matrix(
- CASES,
+ PERMUTATIONS,
data.PARAMETER_TYPE_NAMES,
counts=(3, 1)
))
@@ -69,7 +69,7 @@ topology_template:
@pytest.mark.parametrize('macros,name,parameter_section,type_name', matrix(
- CASES,
+ PERMUTATIONS,
data.PARAMETER_TYPE_NAMES,
counts=(3, 1)
))
@@ -102,7 +102,7 @@ topology_template:
@pytest.mark.skip(reason='fix for relationship inputs')
@pytest.mark.parametrize('macros,name,parameter_section,type_name,value', matrix(
- CASES,
+ PERMUTATIONS,
data.PARAMETER_VALUES,
counts=(3, 2)
))
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/12e86086/tests/extensions/aria_extension_tosca/simple_v1_0/templates/common/test_templates.py
----------------------------------------------------------------------
diff --git a/tests/extensions/aria_extension_tosca/simple_v1_0/templates/common/test_templates.py b/tests/extensions/aria_extension_tosca/simple_v1_0/templates/common/test_templates.py
index d7a5142..62a10ed 100644
--- a/tests/extensions/aria_extension_tosca/simple_v1_0/templates/common/test_templates.py
+++ b/tests/extensions/aria_extension_tosca/simple_v1_0/templates/common/test_templates.py
@@ -20,13 +20,13 @@ from ... import data
from ......mechanisms.utils import matrix
-CASES = ('node', 'group', 'relationship', 'policy')
+PERMUTATIONS = ('node', 'group', 'relationship', 'policy')
# Templates section
@pytest.mark.parametrize('name,value', matrix(
- CASES,
+ PERMUTATIONS,
data.NOT_A_DICT
))
def test_templates_section_syntax_type(parser, name, value):
@@ -37,7 +37,7 @@ topology_template:
""", dict(section=data.TEMPLATE_NAME_SECTIONS[name], value=value)).assert_failure()
-@pytest.mark.parametrize('name', CASES)
+@pytest.mark.parametrize('name', PERMUTATIONS)
def test_templates_section_syntax_empty(parser, name):
parser.parse_literal("""
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -48,39 +48,49 @@ topology_template:
# Template
-@pytest.mark.parametrize('name', CASES)
+@pytest.mark.parametrize('name', PERMUTATIONS)
def test_template_syntax_unsupported(parser, name):
parser.parse_literal("""
tosca_definitions_version: tosca_simple_yaml_1_0
+{{ name }}_types:
+ MyType: {}
topology_template:
{{ section }}:
my_template:
+ type: MyType
unsupported: {}
+""", dict(name=name, section=data.TEMPLATE_NAME_SECTIONS[name])).assert_failure()
+
+
+@pytest.mark.parametrize('name', PERMUTATIONS)
+def test_template_syntax_empty(parser, name):
+ parser.parse_literal("""
+tosca_definitions_version: tosca_simple_yaml_1_0
+topology_template:
+ {{ section }}:
+ my_template: {} # "type" is required
""", dict(section=data.TEMPLATE_NAME_SECTIONS[name])).assert_failure()
# Description
-@pytest.mark.parametrize('name,value', matrix(
- CASES,
- data.NOT_A_STRING
-))
+@pytest.mark.parametrize('name,value', matrix(PERMUTATIONS, data.NOT_A_STRING))
def test_template_description_syntax_type(parser, name, value):
parser.parse_literal("""
tosca_definitions_version: tosca_simple_yaml_1_0
+{{ name }}_types:
+ MyType: {}
topology_template:
{{ section }}:
my_template:
+ type: MyType
description: {{ value }}
-""", dict(section=data.TEMPLATE_NAME_SECTIONS[name], value=value)).assert_failure()
+""", dict(name=name, section=data.TEMPLATE_NAME_SECTIONS[name], value=value)).assert_failure()
# Type
-@pytest.mark.parametrize('name,value', matrix(
- CASES,
- data.NOT_A_STRING
-))
+@pytest.mark.parametrize('name,value', matrix(PERMUTATIONS, data.NOT_A_STRING))
def test_template_type_syntax_type(parser, name, value):
parser.parse_literal("""
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -90,7 +100,8 @@ topology_template:
type: {{ value }}
""", dict(section=data.TEMPLATE_NAME_SECTIONS[name], value=value)).assert_failure()
-@pytest.mark.parametrize('name', CASES)
+
+@pytest.mark.parametrize('name', PERMUTATIONS)
def test_template_type_unknown(parser, name):
parser.parse_literal("""
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -103,7 +114,7 @@ topology_template:
# Unicode
-@pytest.mark.parametrize('name', CASES)
+@pytest.mark.parametrize('name', PERMUTATIONS)
def test_template_unicode(parser, name):
parser.parse_literal("""
tosca_definitions_version: tosca_simple_yaml_1_0
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/12e86086/tests/extensions/aria_extension_tosca/simple_v1_0/templates/node_template/test_node_template_artifacts.py
----------------------------------------------------------------------
diff --git a/tests/extensions/aria_extension_tosca/simple_v1_0/templates/node_template/test_node_template_artifacts.py b/tests/extensions/aria_extension_tosca/simple_v1_0/templates/node_template/test_node_template_artifacts.py
index d7c91a0..e9ccc89 100644
--- a/tests/extensions/aria_extension_tosca/simple_v1_0/templates/node_template/test_node_template_artifacts.py
+++ b/tests/extensions/aria_extension_tosca/simple_v1_0/templates/node_template/test_node_template_artifacts.py
@@ -14,6 +14,11 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+"""
+Here we are testing not only artifacts attached to node templates, but also artifacts attached to
+node types. The reason is that artifacts attached node types use the same property assignment
+(rather than definition) syntax we see in templates.
+"""
import pytest
@@ -48,7 +53,7 @@ MACROS = {
'type': TYPE_MACROS
}
-CASES = (
+PERMUTATIONS = (
'template',
'type'
)
@@ -57,7 +62,7 @@ CASES = (
# Artifacts section
-@pytest.mark.parametrize('macros,value', matrix(CASES, data.NOT_A_DICT))
+@pytest.mark.parametrize('macros,value', matrix(PERMUTATIONS, data.NOT_A_DICT))
def test_node_template_artifacts_section_syntax_type(parser, macros, value):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -67,7 +72,7 @@ tosca_definitions_version: tosca_simple_yaml_1_0
""", dict(value=value)).assert_failure()
-@pytest.mark.parametrize('macros', CASES)
+@pytest.mark.parametrize('macros', PERMUTATIONS)
def test_node_template_artifacts_section_syntax_empty(parser, macros):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -79,7 +84,7 @@ tosca_definitions_version: tosca_simple_yaml_1_0
# Artifact
-@pytest.mark.parametrize('macros,value', matrix(CASES, data.NOT_A_DICT))
+@pytest.mark.parametrize('macros,value', matrix(PERMUTATIONS, data.NOT_A_DICT))
def test_node_template_artifact_syntax_type(parser, macros, value):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -89,7 +94,7 @@ my_artifact: {{ value }}
""", dict(value=value)).assert_failure()
-@pytest.mark.parametrize('macros', CASES)
+@pytest.mark.parametrize('macros', PERMUTATIONS)
def test_node_template_artifact_syntax_unsupported(parser, macros):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -101,7 +106,7 @@ my_artifact:
""").assert_failure()
-@pytest.mark.parametrize('macros', CASES)
+@pytest.mark.parametrize('macros', PERMUTATIONS)
def test_node_template_artifact_syntax_empty(parser, macros):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -113,7 +118,7 @@ my_artifact: {} # "type" and "file" are required
# Type
-@pytest.mark.parametrize('macros,value', matrix(CASES, data.NOT_A_STRING))
+@pytest.mark.parametrize('macros,value', matrix(PERMUTATIONS, data.NOT_A_STRING))
def test_node_template_artifact_type_syntax_type(parser, macros, value):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -125,7 +130,7 @@ my_artifact:
""", dict(value=value)).assert_failure()
-@pytest.mark.parametrize('macros', CASES)
+@pytest.mark.parametrize('macros', PERMUTATIONS)
def test_node_template_artifact_type_unknown(parser, macros):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -139,7 +144,7 @@ my_artifact:
# File
-@pytest.mark.parametrize('macros,value', matrix(CASES, data.NOT_A_STRING))
+@pytest.mark.parametrize('macros,value', matrix(PERMUTATIONS, data.NOT_A_STRING))
def test_node_template_artifact_file_syntax_type(parser, macros, value):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -153,7 +158,7 @@ my_artifact:
""", dict(value=value)).assert_failure()
-@pytest.mark.parametrize('macros', CASES)
+@pytest.mark.parametrize('macros', PERMUTATIONS)
def test_node_template_artifact_file(parser, macros):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -169,7 +174,7 @@ my_artifact:
# Description
-@pytest.mark.parametrize('macros,value', matrix(CASES, data.NOT_A_STRING))
+@pytest.mark.parametrize('macros,value', matrix(PERMUTATIONS, data.NOT_A_STRING))
def test_node_template_artifact_description_syntax_type(parser, macros, value):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -184,7 +189,7 @@ my_artifact:
""", dict(value=value)).assert_failure()
-@pytest.mark.parametrize('macros', CASES)
+@pytest.mark.parametrize('macros', PERMUTATIONS)
def test_node_template_artifact_description(parser, macros):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -201,7 +206,7 @@ my_artifact:
# Repository
-@pytest.mark.parametrize('macros,value', matrix(CASES, data.NOT_A_STRING))
+@pytest.mark.parametrize('macros,value', matrix(PERMUTATIONS, data.NOT_A_STRING))
def test_node_template_artifact_repository_syntax_type(parser, macros, value):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -216,7 +221,7 @@ my_artifact:
""", dict(value=value)).assert_failure()
-@pytest.mark.parametrize('macros', CASES)
+@pytest.mark.parametrize('macros', PERMUTATIONS)
def test_node_template_artifact_repository_unknown(parser, macros):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -231,7 +236,7 @@ my_artifact:
""").assert_failure()
-@pytest.mark.parametrize('macros', CASES)
+@pytest.mark.parametrize('macros', PERMUTATIONS)
def test_node_template_artifact_repository(parser, macros):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -251,7 +256,7 @@ my_artifact:
# Deploy path
-@pytest.mark.parametrize('macros,value', matrix(CASES, data.NOT_A_STRING))
+@pytest.mark.parametrize('macros,value', matrix(PERMUTATIONS, data.NOT_A_STRING))
def test_node_template_artifact_deploy_path_syntax_type(parser, macros, value):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -266,7 +271,7 @@ my_artifact:
""", dict(value=value)).assert_failure()
-@pytest.mark.parametrize('macros', CASES)
+@pytest.mark.parametrize('macros', PERMUTATIONS)
def test_node_template_artifact_deploy_path(parser, macros):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -283,7 +288,7 @@ my_artifact:
# Unicode
-@pytest.mark.parametrize('macros', CASES)
+@pytest.mark.parametrize('macros', PERMUTATIONS)
def test_node_template_artifact_unicode(parser, macros):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/12e86086/tests/extensions/aria_extension_tosca/simple_v1_0/templates/node_template/test_node_template_node_filter_constraints.py
----------------------------------------------------------------------
diff --git a/tests/extensions/aria_extension_tosca/simple_v1_0/templates/node_template/test_node_template_node_filter_constraints.py b/tests/extensions/aria_extension_tosca/simple_v1_0/templates/node_template/test_node_template_node_filter_constraints.py
new file mode 100644
index 0000000..fad439e
--- /dev/null
+++ b/tests/extensions/aria_extension_tosca/simple_v1_0/templates/node_template/test_node_template_node_filter_constraints.py
@@ -0,0 +1,346 @@
+# -*- coding: utf-8 -*-
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""
+Compare with test_type_properties.py. Note that though the constraints are the same, their syntax
+is very different, making it difficult to test all permutations together.
+"""
+
+
+import pytest
+
+from ... import data
+from ......mechanisms.utils import matrix
+
+
+# Properties for node filter in node template
+MAIN_MACROS = """
+{% macro additions() %}
+data_types:
+ MyType:
+ properties:
+ my_field:
+ type: string
+node_types:
+ MyType1: {}
+ MyType2:
+ properties:
+ data_property:
+ type: MyType
+ string_property:
+ type: string
+{%- endmacro %}
+{% macro properties() %}
+ node_filter:
+ properties: {{ caller()|indent(10) }}
+{%- endmacro %}
+"""
+
+# Capability properties for node filter in node template
+MAIN_CAPABILITY_MACROS = """
+{% macro additions() %}
+data_types:
+ MyType:
+ properties:
+ my_field:
+ type: string
+capability_types:
+ MyType:
+ properties:
+ data_property:
+ type: MyType
+ string_property:
+ type: string
+node_types:
+ MyType1: {}
+ MyType2:
+ capabilities:
+ my_capability: MyType
+{%- endmacro %}
+{% macro properties() %}
+ node_filter:
+ capabilities:
+ - my_capability:
+ properties: {{ caller()|indent(16) }}
+{%- endmacro %}
+"""
+
+# Properties for node filter in requirement
+REQUIREMENT_MACROS = """
+{% macro additions() %}
+data_types:
+ MyType:
+ properties:
+ my_field:
+ type: string
+capability_types:
+ MyType: {}
+node_types:
+ MyType1:
+ requirements:
+ - my_requirement:
+ capability: MyType
+ MyType2:
+ properties:
+ data_property:
+ type: MyType
+ string_property:
+ type: string
+ capabilities:
+ my_capability: MyType
+{%- endmacro %}
+{% macro properties() %}
+ requirements:
+ - my_requirement:
+ node: MyType2
+ node_filter:
+ properties: {{ caller()|indent(16) }}
+{%- endmacro %}
+"""
+
+# Capability properties for node filter in requirement
+REQUIREMENT_CAPABILITY_MACROS = """
+{% macro additions() %}
+data_types:
+ MyType:
+ properties:
+ my_field:
+ type: string
+capability_types:
+ MyType:
+ properties:
+ data_property:
+ type: MyType
+ string_property:
+ type: string
+node_types:
+ MyType1:
+ requirements:
+ - my_requirement:
+ capability: MyType
+ MyType2:
+ capabilities:
+ my_capability: MyType
+{%- endmacro %}
+{% macro properties() %}
+ requirements:
+ - my_requirement:
+ node: MyType2
+ node_filter:
+ capabilities:
+ - my_capability:
+ properties: {{ caller()|indent(22) }}
+{%- endmacro %}
+"""
+
+MACROS = {
+ 'main': MAIN_MACROS,
+ 'requirement': REQUIREMENT_MACROS,
+ 'main-capability': MAIN_CAPABILITY_MACROS,
+ 'requirement-capability': REQUIREMENT_CAPABILITY_MACROS
+}
+
+PERMUTATIONS = (
+ 'main', 'requirement', 'main-capability', 'requirement-capability'
+)
+
+
+
+@pytest.mark.parametrize('macros,value', matrix(PERMUTATIONS, data.NOT_A_DICT_WITH_ONE_KEY))
+def test_node_template_node_filter_constraints_syntax_type(parser, macros, value):
+ parser.parse_literal(MACROS[macros] + """
+tosca_definitions_version: tosca_simple_yaml_1_0
+{{- additions() }}
+topology_template:
+ node_templates:
+ my_node:
+ type: MyType1
+{%- call properties() %}
+- data_property: {{ value }}
+{% endcall %}
+""", dict(value=value)).assert_failure()
+
+
+@pytest.mark.parametrize('macros', PERMUTATIONS)
+def test_node_template_node_filter_constraints_syntax_empty(parser, macros):
+ parser.parse_literal(MACROS[macros] + """
+tosca_definitions_version: tosca_simple_yaml_1_0
+{{- additions() }}
+topology_template:
+ node_templates:
+ my_node:
+ type: MyType1
+{%- call properties() %}
+- data_property: {}
+{% endcall %}
+""").assert_failure()
+
+
+@pytest.mark.parametrize('macros', PERMUTATIONS)
+def test_node_template_node_filter_constraints_syntax_unsupported(parser, macros):
+ parser.parse_literal(MACROS[macros] + """
+tosca_definitions_version: tosca_simple_yaml_1_0
+{{- additions() }}
+topology_template:
+ node_templates:
+ my_node:
+ type: MyType1
+{%- call properties() %}
+- data_property: { unsupported: a string }
+{% endcall %}
+""").assert_failure()
+
+
+@pytest.mark.parametrize('macros,constraint', matrix(PERMUTATIONS, data.CONSTRAINTS_WITH_VALUE))
+def test_node_template_node_filter_constraints_with_value(parser, macros, constraint):
+ parser.parse_literal(MACROS[macros] + """
+tosca_definitions_version: tosca_simple_yaml_1_0
+{{- additions() }}
+topology_template:
+ node_templates:
+ my_node:
+ type: MyType1
+{%- call properties() %}
+- data_property: { {{ constraint }}: {my_field: a string} }
+{% endcall %}
+""", dict(constraint=constraint)).assert_success()
+
+
+@pytest.mark.parametrize('macros,constraint', matrix(PERMUTATIONS,
+ data.CONSTRAINTS_WITH_VALUE_LIST))
+def test_node_template_node_filter_constraints_with_value_list(parser, macros, constraint):
+ parser.parse_literal(MACROS[macros] + """
+tosca_definitions_version: tosca_simple_yaml_1_0
+{{- additions() }}
+topology_template:
+ node_templates:
+ my_node:
+ type: MyType1
+{%- call properties() %}
+- data_property: { {{ constraint }}: [ {my_field: a}, {my_field: b}, {my_field: c} ] }
+{% endcall %}
+""", dict(constraint=constraint)).assert_success()
+
+
+@pytest.mark.parametrize('macros,constraint', matrix(PERMUTATIONS,
+ data.CONSTRAINTS_WITH_VALUE_RANGE))
+def test_node_template_node_filter_constraints_with_value_range(parser, macros, constraint):
+ parser.parse_literal(MACROS[macros] + """
+tosca_definitions_version: tosca_simple_yaml_1_0
+{{- additions() }}
+topology_template:
+ node_templates:
+ my_node:
+ type: MyType1
+{%- call properties() %}
+- data_property: { {{ constraint }}: [ {my_field: string a}, {my_field: string b} ] }
+{% endcall %}
+""", dict(constraint=constraint)).assert_success()
+
+
+@pytest.mark.parametrize('macros,constraint', matrix(PERMUTATIONS,
+ data.CONSTRAINTS_WITH_VALUE_RANGE))
+def test_node_template_node_filter_constraints_with_value_range_too_many(parser, macros,
+ constraint):
+ parser.parse_literal(MACROS[macros] + """
+tosca_definitions_version: tosca_simple_yaml_1_0
+{{- additions() }}
+topology_template:
+ node_templates:
+ my_node:
+ type: MyType1
+{%- call properties() %}
+- data_property: { {{ constraint }}: [ {my_field: a}, {my_field: b}, {my_field: c} ] }
+{% endcall %}
+""", dict(constraint=constraint)).assert_failure()
+
+
+@pytest.mark.parametrize('macros,constraint', matrix(PERMUTATIONS,
+ data.CONSTRAINTS_WITH_VALUE_RANGE))
+def test_node_template_node_filter_constraints_with_value_range_bad(parser, macros, constraint):
+ parser.parse_literal(MACROS[macros] + """
+tosca_definitions_version: tosca_simple_yaml_1_0
+{{- additions() }}
+topology_template:
+ node_templates:
+ my_node:
+ type: MyType1
+{%- call properties() %}
+- data_property: { {{ constraint }}: [ {my_field: string b}, {my_field: string a} ] }
+{% endcall %}
+""", dict(constraint=constraint)).assert_failure()
+
+
+@pytest.mark.parametrize('macros', PERMUTATIONS)
+def test_node_template_node_filter_constraints_pattern(parser, macros):
+ parser.parse_literal(MACROS[macros] + """
+tosca_definitions_version: tosca_simple_yaml_1_0
+{{- additions() }}
+topology_template:
+ node_templates:
+ my_node:
+ type: MyType1
+{%- call properties() %}
+- string_property: { pattern: ^pattern$ }
+{% endcall %}
+""").assert_success()
+
+
+@pytest.mark.parametrize('macros', PERMUTATIONS)
+def test_node_template_node_filter_constraints_pattern_bad(parser, macros):
+ parser.parse_literal(MACROS[macros] + """
+tosca_definitions_version: tosca_simple_yaml_1_0
+{{- additions() }}
+topology_template:
+ node_templates:
+ my_node:
+ type: MyType1
+{%- call properties() %}
+- string_property: { pattern: ( }
+{% endcall %}
+""").assert_failure()
+
+
+@pytest.mark.parametrize('macros,constraint', matrix(PERMUTATIONS,
+ data.CONSTRAINTS_WITH_VALUE_NON_NEGATIVE_INT))
+def test_node_template_node_filter_constraints_with_value_integer(parser, macros, constraint):
+ parser.parse_literal(MACROS[macros] + """
+tosca_definitions_version: tosca_simple_yaml_1_0
+{{- additions() }}
+topology_template:
+ node_templates:
+ my_node:
+ type: MyType1
+{%- call properties() %}
+- string_property: { {{ constraint }}: 1 }
+{% endcall %}
+""", dict(constraint=constraint)).assert_success()
+
+
+@pytest.mark.parametrize('macros,constraint', matrix(PERMUTATIONS,
+ data.CONSTRAINTS_WITH_VALUE_NON_NEGATIVE_INT))
+def test_node_template_node_filter_constraints_with_value_integer_bad(parser, macros, constraint):
+ parser.parse_literal(MACROS[macros] + """
+tosca_definitions_version: tosca_simple_yaml_1_0
+{{- additions() }}
+topology_template:
+ node_templates:
+ my_node:
+ type: MyType1
+{%- call properties() %}
+- string_property: { {{ constraint }}: -1 }
+{% endcall %}
+""", dict(constraint=constraint)).assert_failure()
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/12e86086/tests/extensions/aria_extension_tosca/simple_v1_0/templates/node_template/test_node_template_node_filters.py
----------------------------------------------------------------------
diff --git a/tests/extensions/aria_extension_tosca/simple_v1_0/templates/node_template/test_node_template_node_filters.py b/tests/extensions/aria_extension_tosca/simple_v1_0/templates/node_template/test_node_template_node_filters.py
index bed3a62..0a54961 100644
--- a/tests/extensions/aria_extension_tosca/simple_v1_0/templates/node_template/test_node_template_node_filters.py
+++ b/tests/extensions/aria_extension_tosca/simple_v1_0/templates/node_template/test_node_template_node_filters.py
@@ -70,12 +70,12 @@ MACROS = {
'requirement': REQUIREMENT_MACROS
}
-CASES = (
+PERMUTATIONS = (
'main', 'requirement'
)
-@pytest.mark.parametrize('macros,value', matrix(CASES, data.NOT_A_DICT))
+@pytest.mark.parametrize('macros,value', matrix(PERMUTATIONS, data.NOT_A_DICT))
def test_node_template_node_filter_syntax_type(parser, macros, value):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -90,7 +90,7 @@ topology_template:
""", dict(value=value)).assert_failure()
-@pytest.mark.parametrize('macros', CASES)
+@pytest.mark.parametrize('macros', PERMUTATIONS)
def test_node_template_node_filter_syntax_unsupported(parser, macros):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -105,7 +105,7 @@ unsupported: {}
""").assert_failure()
-@pytest.mark.parametrize('macros', CASES)
+@pytest.mark.parametrize('macros', PERMUTATIONS)
def test_node_template_node_filter_syntax_empty(parser, macros):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -122,7 +122,7 @@ topology_template:
# Properties section
-@pytest.mark.parametrize('macros,value', matrix(CASES, data.NOT_A_LIST))
+@pytest.mark.parametrize('macros,value', matrix(PERMUTATIONS, data.NOT_A_LIST))
def test_node_template_node_filter_properties_section_syntax_type(parser, macros, value):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -137,7 +137,7 @@ properties: {{ value }}
""", dict(value=value)).assert_failure()
-@pytest.mark.parametrize('macros', CASES)
+@pytest.mark.parametrize('macros', PERMUTATIONS)
def test_node_template_node_filter_properties_section_syntax_empty(parser, macros):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -154,7 +154,7 @@ properties: []
# Capabilities section
-@pytest.mark.parametrize('macros,value', matrix(CASES, data.NOT_A_LIST))
+@pytest.mark.parametrize('macros,value', matrix(PERMUTATIONS, data.NOT_A_LIST))
def test_node_template_node_filter_capabilities_section_syntax_type(parser, macros, value):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -169,7 +169,7 @@ capabilities: {{ value }}
""", dict(value=value)).assert_failure()
-@pytest.mark.parametrize('macros', CASES)
+@pytest.mark.parametrize('macros', PERMUTATIONS)
def test_node_template_node_filter_capabilities_section_syntax_empty(parser, macros):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -186,7 +186,7 @@ capabilities: []
# Capability
-@pytest.mark.parametrize('macros,value', matrix(CASES, data.NOT_A_DICT))
+@pytest.mark.parametrize('macros,value', matrix(PERMUTATIONS, data.NOT_A_DICT))
def test_node_template_node_filter_capability_syntax_type(parser, macros, value):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -202,7 +202,7 @@ capabilities:
""", dict(value=value)).assert_failure()
-@pytest.mark.parametrize('macros', CASES)
+@pytest.mark.parametrize('macros', PERMUTATIONS)
def test_node_template_node_filter_capability_syntax_unsupported(parser, macros):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -219,7 +219,7 @@ capabilities:
""").assert_failure()
-@pytest.mark.parametrize('macros', CASES)
+@pytest.mark.parametrize('macros', PERMUTATIONS)
def test_node_template_node_filter_capability_syntax_empty(parser, macros):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -237,7 +237,7 @@ capabilities:
# Capability properties section
-@pytest.mark.parametrize('macros,value', matrix(CASES, data.NOT_A_LIST))
+@pytest.mark.parametrize('macros,value', matrix(PERMUTATIONS, data.NOT_A_LIST))
def test_node_template_node_filter_capability_properties_section_syntax_type(parser, macros, value):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -254,7 +254,7 @@ capabilities:
""", dict(value=value)).assert_failure()
-@pytest.mark.parametrize('macros', CASES)
+@pytest.mark.parametrize('macros', PERMUTATIONS)
def test_node_template_node_filter_capability_properties_section_syntax_empty(parser, macros):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/12e86086/tests/extensions/aria_extension_tosca/simple_v1_0/templates/node_template/test_node_template_node_filters_constraints.py
----------------------------------------------------------------------
diff --git a/tests/extensions/aria_extension_tosca/simple_v1_0/templates/node_template/test_node_template_node_filters_constraints.py b/tests/extensions/aria_extension_tosca/simple_v1_0/templates/node_template/test_node_template_node_filters_constraints.py
deleted file mode 100644
index cb55803..0000000
--- a/tests/extensions/aria_extension_tosca/simple_v1_0/templates/node_template/test_node_template_node_filters_constraints.py
+++ /dev/null
@@ -1,322 +0,0 @@
-# -*- coding: utf-8 -*-
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-
-import pytest
-
-from ... import data
-from ......mechanisms.utils import matrix
-
-
-# Properties for node filter in node template
-MAIN_MACROS = """
-{% macro additions() %}
-data_types:
- MyType:
- properties:
- my_field:
- type: string
-node_types:
- MyType1: {}
- MyType2:
- properties:
- data_property:
- type: MyType
- string_property:
- type: string
-{%- endmacro %}
-{% macro properties() %}
- node_filter:
- properties: {{ caller()|indent(10) }}
-{%- endmacro %}
-"""
-
-# Capability properties for node filter in node template
-MAIN_CAPABILITY_MACROS = """
-{% macro additions() %}
-data_types:
- MyType:
- properties:
- my_field:
- type: string
-capability_types:
- MyType:
- properties:
- data_property:
- type: MyType
- string_property:
- type: string
-node_types:
- MyType1: {}
- MyType2:
- capabilities:
- my_capability: MyType
-{%- endmacro %}
-{% macro properties() %}
- node_filter:
- capabilities:
- - my_capability:
- properties: {{ caller()|indent(16) }}
-{%- endmacro %}
-"""
-
-# Properties for node filter in requirement
-REQUIREMENT_MACROS = """
-{% macro additions() %}
-data_types:
- MyType:
- properties:
- my_field:
- type: string
-capability_types:
- MyType: {}
-node_types:
- MyType1:
- requirements:
- - my_requirement:
- capability: MyType
- MyType2:
- properties:
- data_property:
- type: MyType
- string_property:
- type: string
- capabilities:
- my_capability: MyType
-{%- endmacro %}
-{% macro properties() %}
- requirements:
- - my_requirement:
- node: MyType2
- node_filter:
- properties: {{ caller()|indent(16) }}
-{%- endmacro %}
-"""
-
-# Capability properties for node filter in requirement
-REQUIREMENT_CAPABILITY_MACROS = """
-{% macro additions() %}
-data_types:
- MyType:
- properties:
- my_field:
- type: string
-capability_types:
- MyType:
- properties:
- data_property:
- type: MyType
- string_property:
- type: string
-node_types:
- MyType1:
- requirements:
- - my_requirement:
- capability: MyType
- MyType2:
- capabilities:
- my_capability: MyType
-{%- endmacro %}
-{% macro properties() %}
- requirements:
- - my_requirement:
- node: MyType2
- node_filter:
- capabilities:
- - my_capability:
- properties: {{ caller()|indent(22) }}
-{%- endmacro %}
-"""
-
-MACROS = {
- 'main': MAIN_MACROS,
- 'requirement': REQUIREMENT_MACROS,
- 'main-capability': MAIN_CAPABILITY_MACROS,
- 'requirement-capability': REQUIREMENT_CAPABILITY_MACROS
-}
-
-CASES = (
- 'main', 'requirement', 'main-capability', 'requirement-capability'
-)
-
-
-
-@pytest.mark.parametrize('macros', CASES)
-def test_node_template_node_filter_constraints_syntax_empty(parser, macros):
- parser.parse_literal(MACROS[macros] + """
-tosca_definitions_version: tosca_simple_yaml_1_0
-{{- additions() }}
-topology_template:
- node_templates:
- my_node:
- type: MyType1
-{%- call properties() %}
-- data_property: {}
-{% endcall %}
-""").assert_failure()
-
-
-@pytest.mark.parametrize('macros', CASES)
-def test_node_template_node_filter_constraints_syntax_unsupported(parser, macros):
- parser.parse_literal(MACROS[macros] + """
-tosca_definitions_version: tosca_simple_yaml_1_0
-{{- additions() }}
-topology_template:
- node_templates:
- my_node:
- type: MyType1
-{%- call properties() %}
-- data_property: { unsupported: a string }
-{% endcall %}
-""").assert_failure()
-
-
-@pytest.mark.parametrize('macros,constraint', matrix(CASES, data.CONSTRAINTS_WITH_VALUE))
-def test_node_template_node_filter_constraints_with_value(parser, macros, constraint):
- parser.parse_literal(MACROS[macros] + """
-tosca_definitions_version: tosca_simple_yaml_1_0
-{{- additions() }}
-topology_template:
- node_templates:
- my_node:
- type: MyType1
-{%- call properties() %}
-- data_property: { {{ constraint }}: {my_field: a string} }
-{% endcall %}
-""", dict(constraint=constraint)).assert_success()
-
-
-@pytest.mark.parametrize('macros,constraint', matrix(CASES, data.CONSTRAINTS_WITH_VALUE_LIST))
-def test_node_template_node_filter_constraints_with_value_list(parser, macros, constraint):
- parser.parse_literal(MACROS[macros] + """
-tosca_definitions_version: tosca_simple_yaml_1_0
-{{- additions() }}
-topology_template:
- node_templates:
- my_node:
- type: MyType1
-{%- call properties() %}
-- data_property: { {{ constraint }}: [ {my_field: a}, {my_field: b}, {my_field: c} ] }
-{% endcall %}
-""", dict(constraint=constraint)).assert_success()
-
-
-@pytest.mark.parametrize('macros,constraint', matrix(CASES, data.CONSTRAINTS_WITH_VALUE_RANGE))
-def test_node_template_node_filter_constraints_with_value_range(parser, macros, constraint):
- parser.parse_literal(MACROS[macros] + """
-tosca_definitions_version: tosca_simple_yaml_1_0
-{{- additions() }}
-topology_template:
- node_templates:
- my_node:
- type: MyType1
-{%- call properties() %}
-- data_property: { {{ constraint }}: [ {my_field: string a}, {my_field: string b} ] }
-{% endcall %}
-""", dict(constraint=constraint)).assert_success()
-
-
-@pytest.mark.parametrize('macros,constraint', matrix(CASES, data.CONSTRAINTS_WITH_VALUE_RANGE))
-def test_node_template_node_filter_constraints_with_value_range_too_many(parser, macros,
- constraint):
- parser.parse_literal(MACROS[macros] + """
-tosca_definitions_version: tosca_simple_yaml_1_0
-{{- additions() }}
-topology_template:
- node_templates:
- my_node:
- type: MyType1
-{%- call properties() %}
-- data_property: { {{ constraint }}: [ {my_field: a}, {my_field: b}, {my_field: c} ] }
-{% endcall %}
-""", dict(constraint=constraint)).assert_failure()
-
-
-@pytest.mark.parametrize('macros,constraint', matrix(CASES, data.CONSTRAINTS_WITH_VALUE_RANGE))
-def test_node_template_node_filter_constraints_with_value_range_bad(parser, macros, constraint):
- parser.parse_literal(MACROS[macros] + """
-tosca_definitions_version: tosca_simple_yaml_1_0
-{{- additions() }}
-topology_template:
- node_templates:
- my_node:
- type: MyType1
-{%- call properties() %}
-- data_property: { {{ constraint }}: [ {my_field: string b}, {my_field: string a} ] }
-{% endcall %}
-""", dict(constraint=constraint)).assert_failure()
-
-
-@pytest.mark.parametrize('macros', CASES)
-def test_node_template_node_filter_constraints_pattern(parser, macros):
- parser.parse_literal(MACROS[macros] + """
-tosca_definitions_version: tosca_simple_yaml_1_0
-{{- additions() }}
-topology_template:
- node_templates:
- my_node:
- type: MyType1
-{%- call properties() %}
-- string_property: { pattern: ^pattern$ }
-{% endcall %}
-""").assert_success()
-
-
-@pytest.mark.parametrize('macros', CASES)
-def test_node_template_node_filter_constraints_pattern_bad(parser, macros):
- parser.parse_literal(MACROS[macros] + """
-tosca_definitions_version: tosca_simple_yaml_1_0
-{{- additions() }}
-topology_template:
- node_templates:
- my_node:
- type: MyType1
-{%- call properties() %}
-- string_property: { pattern: ( }
-{% endcall %}
-""").assert_failure()
-
-
-@pytest.mark.parametrize('macros,constraint', matrix(CASES,
- data.CONSTRAINTS_WITH_VALUE_NON_NEGATIVE_INT))
-def test_node_template_node_filter_constraints_with_value_integer(parser, macros, constraint):
- parser.parse_literal(MACROS[macros] + """
-tosca_definitions_version: tosca_simple_yaml_1_0
-{{- additions() }}
-topology_template:
- node_templates:
- my_node:
- type: MyType1
-{%- call properties() %}
-- string_property: { {{ constraint }}: 1 }
-{% endcall %}
-""", dict(constraint=constraint)).assert_success()
-
-
-@pytest.mark.parametrize('macros,constraint', matrix(CASES,
- data.CONSTRAINTS_WITH_VALUE_NON_NEGATIVE_INT))
-def test_node_template_node_filter_constraints_with_value_integer_bad(parser, macros, constraint):
- parser.parse_literal(MACROS[macros] + """
-tosca_definitions_version: tosca_simple_yaml_1_0
-{{- additions() }}
-topology_template:
- node_templates:
- my_node:
- type: MyType1
-{%- call properties() %}
-- string_property: { {{ constraint }}: -1 }
-{% endcall %}
-""", dict(constraint=constraint)).assert_failure()
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/12e86086/tests/extensions/aria_extension_tosca/simple_v1_0/templates/test_inputs_and_ouputs.py
----------------------------------------------------------------------
diff --git a/tests/extensions/aria_extension_tosca/simple_v1_0/templates/test_inputs_and_ouputs.py b/tests/extensions/aria_extension_tosca/simple_v1_0/templates/test_inputs_and_ouputs.py
new file mode 100644
index 0000000..b714df1
--- /dev/null
+++ b/tests/extensions/aria_extension_tosca/simple_v1_0/templates/test_inputs_and_ouputs.py
@@ -0,0 +1,2 @@
+
+# TODO
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/12e86086/tests/extensions/aria_extension_tosca/simple_v1_0/templates/test_substitution_mappings.py
----------------------------------------------------------------------
diff --git a/tests/extensions/aria_extension_tosca/simple_v1_0/templates/test_substitution_mappings.py b/tests/extensions/aria_extension_tosca/simple_v1_0/templates/test_substitution_mappings.py
index a6ce41d..8903b97 100644
--- a/tests/extensions/aria_extension_tosca/simple_v1_0/templates/test_substitution_mappings.py
+++ b/tests/extensions/aria_extension_tosca/simple_v1_0/templates/test_substitution_mappings.py
@@ -14,16 +14,436 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+import pytest
-# TODO
+from .. import data
-def test_topology_template_fields(parser):
+
+@pytest.mark.parametrize('value', data.NOT_A_DICT)
+def test_substitution_mappings_syntax_type(parser, value):
+ parser.parse_literal("""
+tosca_definitions_version: tosca_simple_yaml_1_0
+topology_template:
+ substitution_mappings: {{ value }}
+""", dict(value=value)).assert_failure()
+
+
+def test_substitution_mappings_syntax_unsupported(parser):
parser.parse_literal("""
tosca_definitions_version: tosca_simple_yaml_1_0
node_types:
MyType: {}
topology_template:
+ substitution_mappings:
+ node_type: MyType
+ unsupported: {}
+""").assert_failure()
+
+
+def test_substitution_mappings_syntax_empty(parser):
+ parser.parse_literal("""
+tosca_definitions_version: tosca_simple_yaml_1_0
+topology_template:
+ substitution_mappings: {} # "node_type" is required
+""").assert_failure()
+
+
+# Node type
+
+def test_substitution_mappings_node_type_syntax_type(parser):
+ parser.parse_literal("""
+tosca_definitions_version: tosca_simple_yaml_1_0
+topology_template:
description: a description
substitution_mappings:
+ node_type: {{ value }}
+""").assert_failure()
+
+
+# Requirements section
+
+@pytest.mark.parametrize('value', data.NOT_A_DICT)
+def test_substitution_mappings_requirements_section_syntax_type(parser, value):
+ parser.parse_literal("""
+tosca_definitions_version: tosca_simple_yaml_1_0
+node_types:
+ MyType: {}
+topology_template:
+ substitution_mappings:
node_type: MyType
+ requirements: {{ value }}
+""", dict(value=value)).assert_failure()
+
+
+def test_substitution_mappings_requirements_section_syntax_empty(parser):
+ parser.parse_literal("""
+tosca_definitions_version: tosca_simple_yaml_1_0
+node_types:
+ MyType: {}
+topology_template:
+ substitution_mappings:
+ node_type: MyType
+ requirements: {}
""").assert_success()
+
+
+# Requirement
+
+@pytest.mark.parametrize('value', data.NOT_A_LIST_OF_TWO)
+def test_substitution_mappings_requirement_syntax_type(parser, value):
+ parser.parse_literal("""
+tosca_definitions_version: tosca_simple_yaml_1_0
+capability_types:
+ MyType: {}
+node_types:
+ MyType:
+ requirements:
+ - my_requirement:
+ capability: MyType
+topology_template:
+ substitution_mappings:
+ node_type: MyType
+ requirements:
+ my_requirement: {{ value }}
+""", dict(value=value)).assert_failure()
+
+
+def test_substitution_mappings_requirement_same(parser):
+ parser.parse_literal("""
+tosca_definitions_version: tosca_simple_yaml_1_0
+capability_types:
+ MyType: {}
+node_types:
+ MyType:
+ requirements:
+ - my_requirement:
+ capability: MyType
+ MyInternalType:
+ requirements:
+ - my_internal_requirement:
+ capability: MyType
+topology_template:
+ node_templates:
+ my_template:
+ type: MyInternalType
+ substitution_mappings:
+ node_type: MyType
+ requirements:
+ my_requirement: [ my_template, my_internal_requirement ]
+""").assert_success()
+
+
+def test_substitution_mappings_requirement_derived(parser):
+ parser.parse_literal("""
+tosca_definitions_version: tosca_simple_yaml_1_0
+capability_types:
+ MyType1: {}
+ MyType2:
+ derived_from: MyType1
+node_types:
+ MyType:
+ requirements:
+ - my_requirement:
+ capability: MyType1
+ MyInternalType:
+ requirements:
+ - my_internal_requirement:
+ capability: MyType2
+topology_template:
+ node_templates:
+ my_template:
+ type: MyInternalType
+ substitution_mappings:
+ node_type: MyType
+ requirements:
+ my_requirement: [ my_template, my_internal_requirement ]
+""").assert_success()
+
+
+def test_substitution_mappings_requirement_bad(parser):
+ parser.parse_literal("""
+tosca_definitions_version: tosca_simple_yaml_1_0
+capability_types:
+ MyType1: {}
+ MyType2: {}
+node_types:
+ MyType:
+ requirements:
+ - my_requirement:
+ capability: MyType1
+ MyInternalType:
+ requirements:
+ - my_internal_requirement:
+ capability: MyType2
+topology_template:
+ node_templates:
+ my_template:
+ type: MyInternalType
+ substitution_mappings:
+ node_type: MyType
+ requirements:
+ my_requirement: [ my_template, my_internal_requirement ]
+""").assert_failure()
+
+
+def test_substitution_mappings_requirement_unknown(parser):
+ parser.parse_literal("""
+tosca_definitions_version: tosca_simple_yaml_1_0
+capability_types:
+ MyType: {}
+node_types:
+ MyType:
+ requirements:
+ - my_requirement:
+ capability: MyType
+ MyInternalType:
+ requirements:
+ - my_internal_requirement:
+ capability: MyType
+topology_template:
+ node_templates:
+ my_template:
+ type: MyInternalType
+ substitution_mappings:
+ node_type: MyType
+ requirements:
+ unknown: [ my_template, my_internal_requirement ]
+""").assert_failure()
+
+
+def test_substitution_mappings_requirement_unknown_mapped_template(parser):
+ parser.parse_literal("""
+tosca_definitions_version: tosca_simple_yaml_1_0
+capability_types:
+ MyType: {}
+node_types:
+ MyType:
+ requirements:
+ - my_requirement:
+ capability: MyType
+ MyInternalType:
+ requirements:
+ - my_internal_requirement:
+ capability: MyType
+topology_template:
+ node_templates:
+ my_template:
+ type: MyInternalType
+ substitution_mappings:
+ node_type: MyType
+ requirements:
+ my_requirement: [ unknown, my_internal_requirement ]
+""").assert_failure()
+
+
+def test_substitution_mappings_requirement_unknown_mapped_requirement(parser):
+ parser.parse_literal("""
+tosca_definitions_version: tosca_simple_yaml_1_0
+capability_types:
+ MyType: {}
+node_types:
+ MyType:
+ requirements:
+ - my_requirement:
+ capability: MyType
+ MyInternalType:
+ requirements:
+ - my_internal_requirement:
+ capability: MyType
+topology_template:
+ node_templates:
+ my_template:
+ type: MyInternalType
+ substitution_mappings:
+ node_type: MyType
+ requirements:
+ my_requirement: [ my_template, unknown ]
+""").assert_failure()
+
+
+# Capabilities section
+
+@pytest.mark.parametrize('value', data.NOT_A_DICT)
+def test_substitution_mappings_capabilities_section_syntax_type(parser, value):
+ parser.parse_literal("""
+tosca_definitions_version: tosca_simple_yaml_1_0
+node_types:
+ MyType: {}
+topology_template:
+ substitution_mappings:
+ node_type: MyType
+ capabilities: {{ value }}
+""", dict(value=value)).assert_failure()
+
+
+def test_substitution_mappings_capabilities_section_syntax_empty(parser):
+ parser.parse_literal("""
+tosca_definitions_version: tosca_simple_yaml_1_0
+node_types:
+ MyType: {}
+topology_template:
+ substitution_mappings:
+ node_type: MyType
+ capabilities: {}
+""").assert_success()
+
+
+# Capability
+
+@pytest.mark.parametrize('value', data.NOT_A_LIST_OF_TWO)
+def test_substitution_mappings_capability_syntax_type(parser, value):
+ parser.parse_literal("""
+tosca_definitions_version: tosca_simple_yaml_1_0
+capability_types:
+ MyType: {}
+node_types:
+ MyType:
+ capabilities:
+ my_capability: MyType
+topology_template:
+ substitution_mappings:
+ node_type: MyType
+ capabilities:
+ my_capability: {{ value }}
+""", dict(value=value)).assert_failure()
+
+
+def test_substitution_mappings_capability_same(parser):
+ parser.parse_literal("""
+tosca_definitions_version: tosca_simple_yaml_1_0
+capability_types:
+ MyType: {}
+node_types:
+ MyType:
+ capabilities:
+ my_capability: MyType
+ MyInternalType:
+ capabilities:
+ my_internal_capability: MyType
+topology_template:
+ node_templates:
+ my_template:
+ type: MyInternalType
+ substitution_mappings:
+ node_type: MyType
+ capabilities:
+ my_capability: [ my_template, my_internal_capability ]
+""").assert_success()
+
+
+def test_substitution_mappings_capability_derived(parser):
+ parser.parse_literal("""
+tosca_definitions_version: tosca_simple_yaml_1_0
+capability_types:
+ MyType1: {}
+ MyType2:
+ derived_from: MyType1
+node_types:
+ MyType:
+ capabilities:
+ my_capability: MyType1
+ MyInternalType:
+ capabilities:
+ my_internal_capability: MyType2
+topology_template:
+ node_templates:
+ my_template:
+ type: MyInternalType
+ substitution_mappings:
+ node_type: MyType
+ capabilities:
+ my_capability: [ my_template, my_internal_capability ]
+""").assert_success()
+
+
+def test_substitution_mappings_capability_bad(parser):
+ parser.parse_literal("""
+tosca_definitions_version: tosca_simple_yaml_1_0
+capability_types:
+ MyType1: {}
+ MyType2: {}
+node_types:
+ MyType:
+ capabilities:
+ my_capability: MyType1
+ MyInternalType:
+ capabilities:
+ my_internal_capability: MyType2
+topology_template:
+ node_templates:
+ my_template:
+ type: MyInternalType
+ substitution_mappings:
+ node_type: MyType
+ capabilities:
+ my_capability: [ my_template, my_internal_capability ]
+""").assert_failure()
+
+
+def test_substitution_mappings_capability_unknown(parser):
+ parser.parse_literal("""
+tosca_definitions_version: tosca_simple_yaml_1_0
+capability_types:
+ MyType: {}
+node_types:
+ MyType:
+ capabilities:
+ my_capability: MyType
+ MyInternalType:
+ capabilities:
+ my_internal_capability: MyType
+topology_template:
+ node_templates:
+ my_template:
+ type: MyInternalType
+ substitution_mappings:
+ node_type: MyType
+ capabilities:
+ unknown: [ my_template, my_internal_capability ]
+""").assert_failure()
+
+
+def test_substitution_mappings_capability_unknown_mapped_template(parser):
+ parser.parse_literal("""
+tosca_definitions_version: tosca_simple_yaml_1_0
+capability_types:
+ MyType: {}
+node_types:
+ MyType:
+ capabilities:
+ my_capability: MyType
+ MyInternalType:
+ capabilities:
+ my_internal_capability: MyType
+topology_template:
+ node_templates:
+ my_template:
+ type: MyInternalType
+ substitution_mappings:
+ node_type: MyType
+ capabilities:
+ my_capability: [ unknown, my_internal_capability ]
+""").assert_failure()
+
+
+def test_substitution_mappings_capability_unknown_mapped_capability(parser):
+ parser.parse_literal("""
+tosca_definitions_version: tosca_simple_yaml_1_0
+capability_types:
+ MyType: {}
+node_types:
+ MyType:
+ capabilities:
+ my_capability: MyType
+ MyInternalType:
+ capabilities:
+ my_internal_capability: MyType
+topology_template:
+ node_templates:
+ my_template:
+ type: MyInternalType
+ substitution_mappings:
+ node_type: MyType
+ capabilities:
+ my_capability: [ my_template, unknown ]
+""").assert_failure()
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/12e86086/tests/extensions/aria_extension_tosca/simple_v1_0/templates/test_topology_template.py
----------------------------------------------------------------------
diff --git a/tests/extensions/aria_extension_tosca/simple_v1_0/templates/test_topology_template.py b/tests/extensions/aria_extension_tosca/simple_v1_0/templates/test_topology_template.py
index 8e848ee..ac86a4a 100644
--- a/tests/extensions/aria_extension_tosca/simple_v1_0/templates/test_topology_template.py
+++ b/tests/extensions/aria_extension_tosca/simple_v1_0/templates/test_topology_template.py
@@ -40,3 +40,22 @@ def test_topology_template_syntax_empty(parser):
tosca_definitions_version: tosca_simple_yaml_1_0
topology_template: {}
""").assert_success()
+
+
+# Description
+
+@pytest.mark.parametrize('value', data.NOT_A_STRING)
+def test_topology_template_description_syntax_type(parser, value):
+ parser.parse_literal("""
+tosca_definitions_version: tosca_simple_yaml_1_0
+topology_template:
+ description: {{ value }}
+""", dict(value=value)).assert_failure()
+
+
+def test_topology_template_description(parser):
+ parser.parse_literal("""
+tosca_definitions_version: tosca_simple_yaml_1_0
+topology_template:
+ description: a description
+""").assert_success()
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/12e86086/tests/extensions/aria_extension_tosca/simple_v1_0/types/common/test_type_interfaces.py
----------------------------------------------------------------------
diff --git a/tests/extensions/aria_extension_tosca/simple_v1_0/types/common/test_type_interfaces.py b/tests/extensions/aria_extension_tosca/simple_v1_0/types/common/test_type_interfaces.py
index 463dd9a..e738d0b 100644
--- a/tests/extensions/aria_extension_tosca/simple_v1_0/types/common/test_type_interfaces.py
+++ b/tests/extensions/aria_extension_tosca/simple_v1_0/types/common/test_type_interfaces.py
@@ -52,7 +52,7 @@ MACROS = {
'relationship': RELATIONSHIP_MACROS
}
-CASES = (
+PERMUTATIONS = (
('main', 'node'),
('main', 'group'),
('main', 'relationship'),
@@ -63,7 +63,7 @@ CASES = (
# Interfaces section
@pytest.mark.parametrize('macros,name,value', matrix(
- CASES, data.NOT_A_DICT,
+ PERMUTATIONS, data.NOT_A_DICT,
counts=(2, 1)
))
def test_type_interfaces_section_syntax_type(parser, macros, name, value):
@@ -80,7 +80,7 @@ interface_types:
""", dict(name=name, value=value)).assert_failure()
-@pytest.mark.parametrize('macros,name', CASES)
+@pytest.mark.parametrize('macros,name', PERMUTATIONS)
def test_type_interfaces_section_syntax_empty(parser, macros, name):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -96,7 +96,7 @@ tosca_definitions_version: tosca_simple_yaml_1_0
# Interface
@pytest.mark.parametrize('macros,name,value', matrix(
- CASES, data.NOT_A_DICT,
+ PERMUTATIONS, data.NOT_A_DICT,
counts=(2, 1)
))
def test_type_interface_syntax_type(parser, macros, name, value):
@@ -113,7 +113,7 @@ MyInterface: {{ value }}
""", dict(name=name, value=value)).assert_failure()
-@pytest.mark.parametrize('macros,name', CASES)
+@pytest.mark.parametrize('macros,name', PERMUTATIONS)
def test_type_interface_syntax_empty(parser, macros, name):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -128,7 +128,7 @@ MyInterface: {} # "type" is required
# Type
-@pytest.mark.parametrize('macros,name', CASES)
+@pytest.mark.parametrize('macros,name', PERMUTATIONS)
def test_type_interface_type_override(parser, macros, name):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -153,7 +153,7 @@ MyInterface:
@pytest.mark.skip(reason='fix for node.relationship')
-@pytest.mark.parametrize('macros,name', CASES)
+@pytest.mark.parametrize('macros,name', PERMUTATIONS)
def test_type_interface_type_override_bad(parser, macros, name):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -180,7 +180,7 @@ MyInterface:
# Operation
@pytest.mark.parametrize('macros,name,value', matrix(
- CASES, data.NOT_A_DICT_OR_STRING,
+ PERMUTATIONS, data.NOT_A_DICT_OR_STRING,
counts=(2, 1)
))
def test_type_interface_operation_syntax_type(parser, macros, name, value):
@@ -199,7 +199,7 @@ MyInterface:
""", dict(name=name, value=value)).assert_failure()
-@pytest.mark.parametrize('macros,name', CASES)
+@pytest.mark.parametrize('macros,name', PERMUTATIONS)
def test_type_interface_operation_syntax_unsupported(parser, macros, name):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -217,7 +217,7 @@ MyInterface:
""", dict(name=name)).assert_failure()
-@pytest.mark.parametrize('macros,name', CASES)
+@pytest.mark.parametrize('macros,name', PERMUTATIONS)
def test_type_interface_operation_syntax_empty(parser, macros, name):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -237,7 +237,7 @@ MyInterface:
# Operation description
@pytest.mark.parametrize('macros,name,value', matrix(
- CASES, data.NOT_A_STRING,
+ PERMUTATIONS, data.NOT_A_STRING,
counts=(2, 1)
))
def test_type_interface_operation_description_syntax_type(parser, macros, name, value):
@@ -257,7 +257,7 @@ MyInterface:
""", dict(name=name, value=value)).assert_failure()
-@pytest.mark.parametrize('macros,name', CASES)
+@pytest.mark.parametrize('macros,name', PERMUTATIONS)
def test_type_interface_operation_description(parser, macros, name):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -278,7 +278,7 @@ MyInterface:
# Operation implementation
@pytest.mark.parametrize('macros,name,value', matrix(
- CASES, data.NOT_A_DICT_OR_STRING,
+ PERMUTATIONS, data.NOT_A_DICT_OR_STRING,
counts=(2, 1)
))
def test_type_interface_operation_implementation_syntax_type(parser, macros, name, value):
@@ -298,7 +298,7 @@ MyInterface:
""", dict(name=name, value=value)).assert_failure()
-@pytest.mark.parametrize('macros,name', CASES)
+@pytest.mark.parametrize('macros,name', PERMUTATIONS)
def test_type_interface_operation_implementation_syntax_unsupported(parser, macros, name):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -317,7 +317,7 @@ MyInterface:
""", dict(name=name)).assert_failure()
-@pytest.mark.parametrize('macros,name', CASES)
+@pytest.mark.parametrize('macros,name', PERMUTATIONS)
def test_type_interface_operation_implementation_syntax_empty(parser, macros, name):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -336,7 +336,7 @@ MyInterface:
@pytest.mark.parametrize('macros,name,value', matrix(
- CASES, data.NOT_A_STRING,
+ PERMUTATIONS, data.NOT_A_STRING,
counts=(2, 1)
))
def test_type_interface_operation_implementation_primary_syntax_type(parser, macros, name, value):
@@ -357,7 +357,7 @@ MyInterface:
""", dict(name=name, value=value)).assert_failure()
-@pytest.mark.parametrize('macros,name', CASES)
+@pytest.mark.parametrize('macros,name', PERMUTATIONS)
def test_type_interface_operation_implementation_primary_short_form(parser, macros, name):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -376,7 +376,7 @@ MyInterface:
@pytest.mark.parametrize('macros,name,value', matrix(
- CASES, data.NOT_A_LIST,
+ PERMUTATIONS, data.NOT_A_LIST,
counts=(2, 1)
))
def test_type_interface_operation_implementation_dependencies_syntax_type(parser, macros, name,
@@ -400,7 +400,7 @@ MyInterface:
@pytest.mark.parametrize('macros,name,value', matrix(
- CASES, data.NOT_A_STRING,
+ PERMUTATIONS, data.NOT_A_STRING,
counts=(2, 1)
))
def test_type_interface_operation_implementation_dependencies_syntax_element_type(parser, macros,
@@ -424,7 +424,7 @@ MyInterface:
""", dict(name=name, value=value)).assert_failure()
-@pytest.mark.parametrize('macros,name', CASES)
+@pytest.mark.parametrize('macros,name', PERMUTATIONS)
def test_type_interface_operation_implementation_dependencies_syntax_empty(parser, macros, name):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0
@@ -446,7 +446,7 @@ MyInterface:
# Unicode
-@pytest.mark.parametrize('macros,name', CASES)
+@pytest.mark.parametrize('macros,name', PERMUTATIONS)
def test_type_interface_unicode(parser, macros, name):
parser.parse_literal(MACROS[macros] + """
tosca_definitions_version: tosca_simple_yaml_1_0