You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ariatosca.apache.org by em...@apache.org on 2017/03/17 19:38:32 UTC
[04/18] incubator-ariatosca git commit:
ARIA-116-Missing-type_hierarchy-in-relationship
ARIA-116-Missing-type_hierarchy-in-relationship
Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/63b157c7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/63b157c7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/63b157c7
Branch: refs/heads/ARIA-105-integrate-modeling
Commit: 63b157c70420e7706063dfd730dc1e31674bcfbb
Parents: dc18c1d
Author: max-orlov <ma...@gigaspaces.com>
Authored: Sun Mar 5 18:31:36 2017 +0200
Committer: max-orlov <ma...@gigaspaces.com>
Committed: Mon Mar 6 11:47:24 2017 +0200
----------------------------------------------------------------------
aria/storage/modeling/instance_elements.py | 3 +-
tests/storage/test_models.py | 81 +++++++++++++++++--------
2 files changed, 59 insertions(+), 25 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/63b157c7/aria/storage/modeling/instance_elements.py
----------------------------------------------------------------------
diff --git a/aria/storage/modeling/instance_elements.py b/aria/storage/modeling/instance_elements.py
index 2b102f1..86e2ea6 100644
--- a/aria/storage/modeling/instance_elements.py
+++ b/aria/storage/modeling/instance_elements.py
@@ -1179,8 +1179,9 @@ class RelationshipBase(structure.ModelMixin):
target_capability_name = Column(Text)
type_name = Column(Text)
template_name = Column(Text)
+ type_hierarchy = Column(aria_types.List)
- # # region orchestrator required columns
+ # region orchestrator required columns
source_position = Column(Integer)
target_position = Column(Integer)
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/63b157c7/tests/storage/test_models.py
----------------------------------------------------------------------
diff --git a/tests/storage/test_models.py b/tests/storage/test_models.py
index 1e8d6b5..81b4122 100644
--- a/tests/storage/test_models.py
+++ b/tests/storage/test_models.py
@@ -91,12 +91,20 @@ def _node_template_storage():
def _nodes_storage():
- storage = _nodes_storage()
+ storage = _node_template_storage()
service_instance = storage.service_instance.get_by_name(mock.models.DEPLOYMENT_NAME)
- dependent_node_template = storage.node_template.get_by_name(mock.models.DEPENDENT_NODE_NAME)
+
dependency_node_template = storage.node_template.get_by_name(mock.models.DEPENDENCY_NODE_NAME)
dependency_node = mock.models.get_dependency_node_instance(dependency_node_template,
service_instance)
+
+ req_template, cap_template = mock.models.get_relationship(dependency_node)
+ storage.requirement_template.put(req_template)
+ storage.capability_template.put(cap_template)
+
+ dependent_node_template = mock.models.get_dependent_node(service_instance,
+ req_template,
+ cap_template)
dependent_node = mock.models.get_dependent_node_instance(dependent_node_template,
service_instance)
storage.node.put(dependency_node)
@@ -670,29 +678,54 @@ class TestNodeInstanceIP(object):
return node_instance
-@pytest.mark.skip('Should be reworked into relationship')
class TestRelationshipInstance(object):
- def test_relatiship_instance_model_creation(self, nodes_storage):
- relationship = mock.models.get_relationship(
- target=nodes_storage.node.get_by_name(mock.models.DEPENDENCY_NODE_NAME)
- )
- nodes_storage.relationship.put(relationship)
- node_instances = nodes_storage.node
- source_node_instance = node_instances.get_by_name(mock.models.DEPENDENT_NODE_INSTANCE_NAME)
- target_node_instance = node_instances.get_by_name(mock.models.DEPENDENCY_NODE_INSTANCE_NAME)
-
- relationship_instance = _test_model(
- is_valid=True,
- storage=nodes_storage,
- model_cls=Relationship,
- model_kwargs=dict(
- relationship=relationship,
- source_node_instance=source_node_instance,
- target_node_instance=target_node_instance
- ))
- assert relationship_instance.relationship == relationship
- assert relationship_instance.source_node_instance == source_node_instance
- assert relationship_instance.target_node_instance == target_node_instance
+ @pytest.mark.parametrize(
+ 'is_valid, source_requirement_index, target_node_id, target_capability_name, type_name, '
+ 'template_name, type_hierarchy, source_position, target_position',
+ [
+ (False, m_cls, 'target_node_id', 'target_cap_name', 'type_name', 'template_name', [], 0,
+ 0),
+ (False, 0, m_cls, 'target_cap_name', 'type_name', 'template_name', [], 0, 0),
+ (False, 0, 'target_node_id', m_cls, 'type_name', 'template_name', [], 0, 0),
+ (False, 0, 'target_node_id', 'target_cap_name', m_cls, 'template_name', [], 0, 0),
+ (False, 0, 'target_node_id', 'target_cap_name', 'type_name', m_cls, [], 0, 0),
+ (False, 0, 'target_node_id', 'target_cap_name', 'type_name', 'template_name', m_cls, 0,
+ 0),
+ (False, 0, 'target_node_id', 'target_cap_name', 'type_name', 'template_name', [], m_cls,
+ 0),
+ (False, 0, 'target_node_id', 'target_cap_name', 'type_name', 'template_name', [], 0,
+ m_cls),
+
+ (True, 0, 'target_node_id', 'target_cap_name', 'type_name', 'template_name', [], 0, 0),
+ (True, None, 'target_node_id', 'target_cap_name', 'type_name', 'template_name', [], 0,
+ 0),
+ (True, 0, None, 'target_cap_name', 'type_name', 'template_name', [], 0, 0),
+ (True, 0, 'target_node_id', None, 'type_name', 'template_name', [], 0, 0),
+ (True, 0, 'target_node_id', 'target_cap_name', None, 'template_name', [], 0, 0),
+ (True, 0, 'target_node_id', 'target_cap_name', 'type_name', None, [], 0, 0),
+ (True, 0, 'target_node_id', 'target_cap_name', 'type_name', 'template_name', [], None,
+ 0),
+ (True, 0, 'target_node_id', 'target_cap_name', 'type_name', 'template_name', [], 0,
+ None),
+
+ ]
+ )
+ def test_relationship(self, nodes_storage, is_valid, source_requirement_index, target_node_id,
+ target_capability_name, type_name, template_name, type_hierarchy,
+ source_position, target_position):
+ _test_model(is_valid=is_valid,
+ storage=nodes_storage,
+ model_cls=Relationship,
+ model_kwargs=dict(
+ source_requirement_index=source_requirement_index,
+ target_node_id=target_node_id,
+ target_capability_name=target_capability_name,
+ type_name=type_name,
+ template_name=template_name,
+ type_hierarchy=type_hierarchy,
+ source_position=source_position,
+ target_position=target_position
+ ))
class TestPlugin(object):