http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/f6ee65a9/extensions/aria_extension_tosca/simple_v1_0/modeling/properties.py ---------------------------------------------------------------------- diff --git a/extensions/aria_extension_tosca/simple_v1_0/modeling/properties.py b/extensions/aria_extension_tosca/simple_v1_0/modeling/properties.py deleted file mode 100644 index 9c3ea42..0000000 --- a/extensions/aria_extension_tosca/simple_v1_0/modeling/properties.py +++ /dev/null @@ -1,202 +0,0 @@ -# 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. - -from aria.utils.collections import merge, deepcopy_with_locators, OrderedDict -from aria.parser.presentation import Value -from aria.parser.validation import Issue - -from .data_types import coerce_value - -# -# ArtifactType, DataType, CapabilityType, RelationshipType, NodeType, GroupType, PolicyType -# - -# Works on properties, parameters, inputs, and attributes -def get_inherited_property_definitions(context, presentation, field_name, for_presentation=None): - """ - Returns our property definitions added on top of those of our parent, if we have one - (recursively). - - Allows overriding all aspects of parent properties except data type. - """ - - # Get definitions from parent - # If we inherit from a primitive, it does not have a parent: - parent = presentation._get_parent(context) if hasattr(presentation, '_get_parent') else None - definitions = get_inherited_property_definitions(context, parent, field_name, - for_presentation=presentation) \ - if parent is not None else OrderedDict() - - # Add/merge our definitions - # If we inherit from a primitive, it does not have our field - our_definitions = getattr(presentation, field_name, None) - if our_definitions: - our_definitions_clone = OrderedDict() - for name, our_definition in our_definitions.iteritems(): - our_definitions_clone[name] = our_definition._clone(for_presentation) - our_definitions = our_definitions_clone - merge_property_definitions(context, presentation, definitions, our_definitions, field_name) - - for definition in definitions.itervalues(): - definition._reset_method_cache() - - return definitions - -# -# NodeTemplate, RelationshipTemplate, GroupTemplate, PolicyTemplate -# - -def get_assigned_and_defined_property_values(context, presentation, field_name='property', - field_name_plural='properties'): - """ - Returns the assigned property values while making sure they are defined in our type. - - The property definition's default value, if available, will be used if we did not assign it. - - Makes sure that required properties indeed end up with a value. - """ - - values = OrderedDict() - - the_type = presentation._get_type(context) - assignments = getattr(presentation, field_name_plural) - get_fn_name = '_get_{0}'.format(field_name_plural) - definitions = getattr(the_type, get_fn_name)(context) if the_type is not None else None - - # Fill in our assignments, but make sure they are defined - if assignments: - for name, value in assignments.iteritems(): - if (definitions is not None) and (name in definitions): - definition = definitions[name] - values[name] = coerce_property_value(context, value, definition, value.value) - else: - context.validation.report('assignment to undefined {0} "{1}" in "{2}"' - .format(field_name, name, presentation._fullname), - locator=value._locator, level=Issue.BETWEEN_TYPES) - - # Fill in defaults from the definitions - if definitions: - for name, definition in definitions.iteritems(): - if values.get(name) is None: - values[name] = coerce_property_value(context, presentation, definition, - definition.default) - - validate_required_values(context, presentation, values, definitions) - - return values - -# -# TopologyTemplate -# - -def get_parameter_values(context, presentation, field_name): - values = OrderedDict() - - parameters = getattr(presentation, field_name) - - # Fill in defaults and values - if parameters: - for name, parameter in parameters.iteritems(): - if values.get(name) is None: - if hasattr(parameter, 'value') and (parameter.value is not None): - # For parameters only: - values[name] = coerce_property_value(context, presentation, parameter, - parameter.value) - else: - default = parameter.default if hasattr(parameter, 'default') else None - values[name] = coerce_property_value(context, presentation, parameter, default) - - return values - -# -# Utils -# - -def validate_required_values(context, presentation, values, definitions): - """ - Check if required properties have not been assigned. - """ - - if not definitions: - return - for name, definition in definitions.iteritems(): - if getattr(definition, 'required', False) \ - and ((values is None) or (values.get(name) is None)): - context.validation.report('required property "%s" is not assigned a value in "%s"' - % (name, presentation._fullname), - locator=presentation._get_child_locator('properties'), - level=Issue.BETWEEN_TYPES) - -def merge_raw_property_definition(context, presentation, raw_property_definition, - our_property_definition, field_name, property_name): - # Check if we changed the type - # TODO: allow a sub-type? - type1 = raw_property_definition.get('type') - type2 = our_property_definition.type - if type1 != type2: - context.validation.report( - 'override changes type from "%s" to "%s" for property "%s" in "%s"' - % (type1, type2, property_name, presentation._fullname), - locator=presentation._get_child_locator(field_name, property_name), - level=Issue.BETWEEN_TYPES) - - merge(raw_property_definition, our_property_definition._raw) - -def merge_raw_property_definitions(context, presentation, raw_property_definitions, - our_property_definitions, field_name): - if not our_property_definitions: - return - for property_name, our_property_definition in our_property_definitions.iteritems(): - if property_name in raw_property_definitions: - raw_property_definition = raw_property_definitions[property_name] - merge_raw_property_definition(context, presentation, raw_property_definition, - our_property_definition, field_name, property_name) - else: - raw_property_definitions[property_name] = \ - deepcopy_with_locators(our_property_definition._raw) - -def merge_property_definitions(context, presentation, property_definitions, - our_property_definitions, field_name): - if not our_property_definitions: - return - for property_name, our_property_definition in our_property_definitions.iteritems(): - if property_name in property_definitions: - property_definition = property_definitions[property_name] - merge_raw_property_definition(context, presentation, property_definition._raw, - our_property_definition, field_name, property_name) - else: - property_definitions[property_name] = our_property_definition - -# Works on properties, inputs, and parameters -def coerce_property_value(context, presentation, definition, value, aspect=None): - the_type = definition._get_type(context) if definition is not None else None - entry_schema = definition.entry_schema if definition is not None else None - constraints = definition._get_constraints(context) \ - if ((definition is not None) and hasattr(definition, '_get_constraints')) else None - value = coerce_value(context, presentation, the_type, entry_schema, constraints, value, aspect) - if (the_type is not None) and hasattr(the_type, '_name'): - type_name = the_type._name - else: - type_name = getattr(definition, 'type', None) - description = getattr(definition, 'description', None) - description = description.value if description is not None else None - return Value(type_name, value, description) - -def convert_property_definitions_to_values(context, definitions): - values = OrderedDict() - for name, definition in definitions.iteritems(): - default = definition.default - values[name] = coerce_property_value(context, definition, definition, default) - return values
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/f6ee65a9/extensions/aria_extension_tosca/simple_v1_0/modeling/requirements.py ---------------------------------------------------------------------- diff --git a/extensions/aria_extension_tosca/simple_v1_0/modeling/requirements.py b/extensions/aria_extension_tosca/simple_v1_0/modeling/requirements.py index 2a68da2..6bdb5b1 100644 --- a/extensions/aria_extension_tosca/simple_v1_0/modeling/requirements.py +++ b/extensions/aria_extension_tosca/simple_v1_0/modeling/requirements.py @@ -14,13 +14,14 @@ # limitations under the License. from aria.parser.validation import Issue -from aria.utils.collections import deepcopy_with_locators, OrderedDict +from aria.utils.collections import (deepcopy_with_locators, OrderedDict) -from .properties import (convert_property_definitions_to_values, validate_required_values, - coerce_property_value) +from .parameters import (convert_parameter_definitions_to_values, validate_required_values, + coerce_parameter_value) from .interfaces import (convert_requirement_interface_definitions_from_type_to_raw_template, merge_interface_definitions, merge_interface, validate_required_inputs) + # # NodeType # @@ -49,6 +50,7 @@ def get_inherited_requirement_definitions(context, presentation): return requirement_definitions + # # NodeTemplate # @@ -127,6 +129,7 @@ def get_template_requirements(context, presentation): return requirement_assignments + # # Utils # @@ -195,8 +198,8 @@ def convert_requirement_from_definition_to_assignment(context, requirement_defin if relationship_property_definitions: # Convert property definitions to values raw['relationship']['properties'] = \ - convert_property_definitions_to_values(context, - relationship_property_definitions) + convert_parameter_definitions_to_values(context, + relationship_property_definitions) # These are our interface definitions # InterfaceDefinition: @@ -229,6 +232,7 @@ def convert_requirement_from_definition_to_assignment(context, requirement_defin relationship_property_definitions, \ relationship_interface_definitions + def add_requirement_assignments(context, presentation, requirement_assignments, requirement_definitions, our_requirement_assignments): for requirement_name, our_requirement_assignment in our_requirement_assignments: @@ -258,6 +262,7 @@ def add_requirement_assignments(context, presentation, requirement_assignments, locator=our_requirement_assignment._locator, level=Issue.BETWEEN_TYPES) + def merge_requirement_assignment(context, relationship_property_definitions, relationship_interface_definitions, requirement, our_requirement): our_capability = our_requirement.capability @@ -283,6 +288,7 @@ def merge_requirement_assignment(context, relationship_property_definitions, relationship_interface_definitions, requirement, our_relationship) + def merge_requirement_assignment_relationship(context, presentation, property_definitions, interface_definitions, requirement, our_relationship): our_relationship_properties = our_relationship._raw.get('properties') @@ -296,7 +302,7 @@ def merge_requirement_assignment_relationship(context, presentation, property_de if property_name in property_definitions: definition = property_definitions[property_name] requirement._raw['relationship']['properties'][property_name] = \ - coerce_property_value(context, presentation, definition, prop) + coerce_parameter_value(context, presentation, definition, prop) else: context.validation.report( 'relationship property "%s" not declared at definition of requirement "%s"' @@ -330,6 +336,7 @@ def merge_requirement_assignment_relationship(context, presentation, property_de presentation._container._container._fullname), locator=our_relationship._locator, level=Issue.BETWEEN_TYPES) + def validate_requirement_assignment(context, presentation, requirement_assignment, relationship_property_definitions, relationship_interface_definitions): @@ -348,6 +355,7 @@ def validate_requirement_assignment(context, presentation, requirement_assignmen validate_required_inputs(context, presentation, interface_assignment, relationship_interface_definition, None, interface_name) + def get_first_requirement(requirement_definitions, name): if requirement_definitions is not None: for requirement_name, requirement_definition in requirement_definitions: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/f6ee65a9/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 c1e21de..8f7ec4c 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 @@ -16,6 +16,7 @@ from aria.utils.formatting import safe_repr from aria.parser.validation import Issue + def validate_subtitution_mappings_requirement(context, presentation): if not validate_format(context, presentation, 'requirement'): return @@ -57,6 +58,7 @@ def validate_subtitution_mappings_requirement(context, presentation): locator=presentation._locator, level=Issue.BETWEEN_TYPES) return + def validate_subtitution_mappings_capability(context, presentation): if not validate_format(context, presentation, 'capability'): return @@ -99,6 +101,7 @@ def validate_subtitution_mappings_capability(context, presentation): % (capability_type._name, presentation._name, type_capability_type._name), locator=presentation._locator, level=Issue.BETWEEN_TYPES) + # # Utils # @@ -114,6 +117,7 @@ def validate_format(context, presentation, name): return False return True + def get_node_template(context, presentation, name): node_template_name = presentation._raw[0] node_template = context.presentation.get_from_dict('service_template', 'topology_template', http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/f6ee65a9/extensions/aria_extension_tosca/simple_v1_0/templates.py ---------------------------------------------------------------------- diff --git a/extensions/aria_extension_tosca/simple_v1_0/templates.py b/extensions/aria_extension_tosca/simple_v1_0/templates.py index ce6b5d9..123a00e 100644 --- a/extensions/aria_extension_tosca/simple_v1_0/templates.py +++ b/extensions/aria_extension_tosca/simple_v1_0/templates.py @@ -26,7 +26,7 @@ from .assignments import (PropertyAssignment, AttributeAssignment, RequirementAs from .definitions import ParameterDefinition from .filters import NodeFilter from .misc import (Description, MetaData, Repository, Import, SubstitutionMappings) -from .modeling.properties import (get_assigned_and_defined_property_values, get_parameter_values) +from .modeling.parameters import (get_assigned_and_defined_parameter_values, get_parameter_values) from .modeling.interfaces import get_template_interfaces from .modeling.requirements import get_template_requirements from .modeling.capabilities import get_template_capabilities @@ -157,12 +157,11 @@ class NodeTemplate(ExtensiblePresentation): @cachedmethod def _get_property_values(self, context): - return FrozenDict(get_assigned_and_defined_property_values(context, self)) + return FrozenDict(get_assigned_and_defined_parameter_values(context, self, 'property')) @cachedmethod def _get_attribute_default_values(self, context): - return FrozenDict(get_assigned_and_defined_property_values(context, self, - 'attribute', 'attributes')) + return FrozenDict(get_assigned_and_defined_parameter_values(context, self, 'attribute')) @cachedmethod def _get_requirements(self, context): @@ -281,7 +280,7 @@ class RelationshipTemplate(ExtensiblePresentation): @cachedmethod def _get_property_values(self, context): - return FrozenDict(get_assigned_and_defined_property_values(context, self)) + return FrozenDict(get_assigned_and_defined_parameter_values(context, self, 'property')) @cachedmethod def _get_interfaces(self, context): @@ -363,7 +362,7 @@ class GroupTemplate(ExtensiblePresentation): @cachedmethod def _get_property_values(self, context): - return FrozenDict(get_assigned_and_defined_property_values(context, self)) + return FrozenDict(get_assigned_and_defined_parameter_values(context, self, 'property')) @cachedmethod def _get_interfaces(self, context): @@ -427,7 +426,7 @@ class PolicyTemplate(ExtensiblePresentation): @cachedmethod def _get_property_values(self, context): - return FrozenDict(get_assigned_and_defined_property_values(context, self)) + return FrozenDict(get_assigned_and_defined_parameter_values(context, self, 'property')) @cachedmethod def _get_targets(self, context): http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/f6ee65a9/extensions/aria_extension_tosca/simple_v1_0/types.py ---------------------------------------------------------------------- diff --git a/extensions/aria_extension_tosca/simple_v1_0/types.py b/extensions/aria_extension_tosca/simple_v1_0/types.py index bc80eb9..d97b89c 100644 --- a/extensions/aria_extension_tosca/simple_v1_0/types.py +++ b/extensions/aria_extension_tosca/simple_v1_0/types.py @@ -33,9 +33,9 @@ from .modeling.capabilities import (get_inherited_valid_source_types, get_inherited_capability_definitions) from .modeling.data_types import (get_data_type, get_inherited_constraints, coerce_data_type_value, validate_data_type_name) -from .modeling.interfaces import get_inherited_interface_definitions, get_inherited_operations +from .modeling.interfaces import (get_inherited_interface_definitions, get_inherited_operations) from .modeling.policies import get_inherited_targets -from .modeling.properties import get_inherited_property_definitions +from .modeling.parameters import get_inherited_parameter_definitions from .modeling.requirements import get_inherited_requirement_definitions from .presentation.extensible import ExtensiblePresentation from .presentation.field_getters import data_type_class_getter @@ -115,7 +115,7 @@ class ArtifactType(ExtensiblePresentation): @cachedmethod def _get_properties(self, context): - return FrozenDict(get_inherited_property_definitions(context, self, 'properties')) + return FrozenDict(get_inherited_parameter_definitions(context, self, 'properties')) def _validate(self, context): super(ArtifactType, self)._validate(context) @@ -201,7 +201,7 @@ class DataType(ExtensiblePresentation): @cachedmethod def _get_properties(self, context): - return FrozenDict(get_inherited_property_definitions(context, self, 'properties')) + return FrozenDict(get_inherited_parameter_definitions(context, self, 'properties')) @cachedmethod def _get_constraints(self, context): @@ -307,7 +307,7 @@ class CapabilityType(ExtensiblePresentation): @cachedmethod def _get_properties(self, context): - return FrozenDict(get_inherited_property_definitions(context, self, 'properties')) + return FrozenDict(get_inherited_parameter_definitions(context, self, 'properties')) @cachedmethod def _get_valid_source_types(self, context): @@ -385,7 +385,7 @@ class InterfaceType(ExtensiblePresentation): @cachedmethod def _get_inputs(self, context): - return FrozenDict(get_inherited_property_definitions(context, self, 'inputs')) + return FrozenDict(get_inherited_parameter_definitions(context, self, 'inputs')) @cachedmethod def _get_operations(self, context): @@ -493,11 +493,11 @@ class RelationshipType(ExtensiblePresentation): @cachedmethod def _get_properties(self, context): - return FrozenDict(get_inherited_property_definitions(context, self, 'properties')) + return FrozenDict(get_inherited_parameter_definitions(context, self, 'properties')) @cachedmethod def _get_attributes(self, context): - return FrozenDict(get_inherited_property_definitions(context, self, 'attributes')) + return FrozenDict(get_inherited_parameter_definitions(context, self, 'attributes')) @cachedmethod def _get_interfaces(self, context): @@ -624,11 +624,11 @@ class NodeType(ExtensiblePresentation): @cachedmethod def _get_properties(self, context): - return FrozenDict(get_inherited_property_definitions(context, self, 'properties')) + return FrozenDict(get_inherited_parameter_definitions(context, self, 'properties')) @cachedmethod def _get_attributes(self, context): - return FrozenDict(get_inherited_property_definitions(context, self, 'attributes')) + return FrozenDict(get_inherited_parameter_definitions(context, self, 'attributes')) @cachedmethod def _get_requirements(self, context): @@ -760,7 +760,7 @@ class GroupType(ExtensiblePresentation): @cachedmethod def _get_properties(self, context): - return FrozenDict(get_inherited_property_definitions(context, self, 'properties')) + return FrozenDict(get_inherited_parameter_definitions(context, self, 'properties')) @cachedmethod def _get_interfaces(self, context): @@ -848,7 +848,7 @@ class PolicyType(ExtensiblePresentation): @cachedmethod def _get_properties(self, context): - return FrozenDict(get_inherited_property_definitions(context, self, 'properties')) + return FrozenDict(get_inherited_parameter_definitions(context, self, 'properties')) @cachedmethod def _get_targets(self, context): http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/f6ee65a9/tests/cli/test_services.py ---------------------------------------------------------------------- diff --git a/tests/cli/test_services.py b/tests/cli/test_services.py index b1a6ee4..e5717cc 100644 --- a/tests/cli/test_services.py +++ b/tests/cli/test_services.py @@ -19,7 +19,7 @@ import mock from aria.cli.env import _Environment from aria.core import Core from aria.exceptions import DependentActiveExecutionsError, DependentAvailableNodesError -from aria.modeling.exceptions import InputsException +from aria.modeling.exceptions import ParameterException from aria.storage import exceptions as storage_exceptions from .base_test import ( # pylint: disable=unused-import @@ -120,11 +120,11 @@ class TestServicesCreate(TestCliBase): monkeypatch.setattr(_Environment, 'model_storage', mock_storage) monkeypatch.setattr(Core, 'create_service', - raise_exception(InputsException)) + raise_exception(ParameterException)) assert_exception_raised( self.invoke('services create -t with_inputs test_s'), - expected_exception=InputsException) + expected_exception=ParameterException) assert "Service created. The service's name is test_s" not in self.logger_output_string @@ -152,8 +152,8 @@ class TestServicesDelete(TestCliBase): assert_exception_raised( self.invoke('services delete test_s'), expected_exception=DependentActiveExecutionsError, - expected_msg="Can't delete service {name} - there is an active execution " - "for this service. Active execution id: 1".format( + expected_msg="Can't delete service `{name}` - there is an active execution " + "for this service. Active execution ID: 1".format( name=mock_models.SERVICE_NAME)) def test_delete_available_nodes_error(self, monkeypatch, mock_storage): @@ -161,8 +161,8 @@ class TestServicesDelete(TestCliBase): assert_exception_raised( self.invoke('services delete test_s'), expected_exception=DependentAvailableNodesError, - expected_msg="Can't delete service {name} - there are available nodes " - "for this service. Available node ids: 1".format( + expected_msg="Can't delete service `{name}` - there are available nodes " + "for this service. Available node IDs: 1".format( name=mock_models.SERVICE_NAME)) def test_delete_available_nodes_error_with_force(self, monkeypatch, mock_storage): http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/f6ee65a9/tests/mock/models.py ---------------------------------------------------------------------- diff --git a/tests/mock/models.py b/tests/mock/models.py index 98703d5..50aa340 100644 --- a/tests/mock/models.py +++ b/tests/mock/models.py @@ -225,11 +225,11 @@ def create_interface(service, interface_name, operation_name, operation_kwargs=N interface_kwargs=None): the_type = service.service_template.interface_types.get_descendant('test_interface_type') - if operation_kwargs and operation_kwargs.get('inputs'): - operation_kwargs['inputs'] = dict( - (input_name, models.Parameter.wrap(input_name, input_value)) - for input_name, input_value in operation_kwargs['inputs'].iteritems() - if input_value is not None) + if operation_kwargs and operation_kwargs.get('arguments'): + operation_kwargs['arguments'] = dict( + (argument_name, models.Parameter.wrap(argument_name, argument_value)) + for argument_name, argument_value in operation_kwargs['arguments'].iteritems() + if argument_value is not None) operation = models.Operation( name=operation_name, http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/f6ee65a9/tests/mock/topology.py ---------------------------------------------------------------------- diff --git a/tests/mock/topology.py b/tests/mock/topology.py index bfb7b4e..ab08dbd 100644 --- a/tests/mock/topology.py +++ b/tests/mock/topology.py @@ -27,9 +27,9 @@ def create_simple_topology_single_node(model_storage, create_operation): service_template, 'Standard', 'create', operation_kwargs=dict( - implementation=create_operation, - inputs={'key': aria_models.Parameter.wrap('key', 'create'), - 'value': aria_models.Parameter.wrap('value', True)}) + function=create_operation, + arguments={'key': aria_models.Parameter.wrap('key', 'create'), + 'value': aria_models.Parameter.wrap('value', True)}) ) node_template.interface_templates[interface_template.name] = interface_template # pylint: disable=unsubscriptable-object @@ -38,9 +38,9 @@ def create_simple_topology_single_node(model_storage, create_operation): service, 'Standard', 'create', operation_kwargs=dict( - implementation=create_operation, - inputs={'key': aria_models.Parameter.wrap('key', 'create'), - 'value': aria_models.Parameter.wrap('value', True)}) + function=create_operation, + arguments={'key': aria_models.Parameter.wrap('key', 'create'), + 'value': aria_models.Parameter.wrap('value', True)}) ) node.interfaces[interface.name] = interface # pylint: disable=unsubscriptable-object http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/f6ee65a9/tests/orchestrator/context/test_operation.py ---------------------------------------------------------------------- diff --git a/tests/orchestrator/context/test_operation.py b/tests/orchestrator/context/test_operation.py index 5d193bc..7dbdd04 100644 --- a/tests/orchestrator/context/test_operation.py +++ b/tests/orchestrator/context/test_operation.py @@ -78,14 +78,14 @@ def test_node_operation_task_execution(ctx, thread_executor, dataholder): interface_name = 'Standard' operation_name = 'create' - inputs = {'putput': True, 'holder_path': dataholder.path} + arguments = {'putput': True, 'holder_path': dataholder.path} node = ctx.model.node.get_by_name(mock.models.DEPENDENCY_NODE_NAME) interface = mock.models.create_interface( node.service, interface_name, operation_name, - operation_kwargs=dict(implementation=op_path(basic_node_operation, module_path=__name__), - inputs=inputs) + operation_kwargs=dict(function=op_path(basic_node_operation, module_path=__name__), + arguments=arguments) ) node.interfaces[interface.name] = interface ctx.model.node.update(node) @@ -97,7 +97,7 @@ def test_node_operation_task_execution(ctx, thread_executor, dataholder): node, interface_name=interface_name, operation_name=operation_name, - inputs=inputs + inputs=arguments ) ) @@ -115,7 +115,7 @@ def test_node_operation_task_execution(ctx, thread_executor, dataholder): ) operations = interface.operations assert len(operations) == 1 - assert dataholder['implementation'] == operations.values()[0].implementation # pylint: disable=no-member + assert dataholder['implementation'] == operations.values()[0].function # pylint: disable=no-member assert dataholder['inputs']['putput'] is True # Context based attributes (sugaring) @@ -127,15 +127,14 @@ def test_relationship_operation_task_execution(ctx, thread_executor, dataholder) interface_name = 'Configure' operation_name = 'post_configure' - inputs = {'putput': True, 'holder_path': dataholder.path} + arguments = {'putput': True, 'holder_path': dataholder.path} relationship = ctx.model.relationship.list()[0] interface = mock.models.create_interface( relationship.source_node.service, interface_name, operation_name, - operation_kwargs=dict(implementation=op_path(basic_relationship_operation, - module_path=__name__), - inputs=inputs), + operation_kwargs=dict(function=op_path(basic_relationship_operation, module_path=__name__), + arguments=arguments), ) relationship.interfaces[interface.name] = interface @@ -148,7 +147,7 @@ def test_relationship_operation_task_execution(ctx, thread_executor, dataholder) relationship, interface_name=interface_name, operation_name=operation_name, - inputs=inputs + inputs=arguments ) ) @@ -160,7 +159,7 @@ def test_relationship_operation_task_execution(ctx, thread_executor, dataholder) assert dataholder['actor_name'] == relationship.name assert interface_name in dataholder['task_name'] operations = interface.operations - assert dataholder['implementation'] == operations.values()[0].implementation # pylint: disable=no-member + assert dataholder['implementation'] == operations.values()[0].function # pylint: disable=no-member assert dataholder['inputs']['putput'] is True # Context based attributes (sugaring) @@ -197,8 +196,8 @@ def test_invalid_task_operation_id(ctx, thread_executor, dataholder): node.service, interface_name=interface_name, operation_name=operation_name, - operation_kwargs=dict(implementation=op_path(get_node_id, module_path=__name__), - inputs={'holder_path': dataholder.path}) + operation_kwargs=dict(function=op_path(get_node_id, module_path=__name__), + arguments={'holder_path': dataholder.path}) ) node.interfaces[interface.name] = interface ctx.model.node.update(node) @@ -234,15 +233,15 @@ def test_plugin_workdir(ctx, thread_executor, tmpdir): node = ctx.model.node.get_by_name(mock.models.DEPENDENCY_NODE_NAME) filename = 'test_file' content = 'file content' - inputs = {'filename': filename, 'content': content} + arguments = {'filename': filename, 'content': content} interface = mock.models.create_interface( node.service, interface_name, operation_name, operation_kwargs=dict( - implementation='{0}.{1}'.format(__name__, _test_plugin_workdir.__name__), + function='{0}.{1}'.format(__name__, _test_plugin_workdir.__name__), plugin=plugin, - inputs=inputs) + arguments=arguments) ) node.interfaces[interface.name] = interface ctx.model.node.update(node) @@ -253,7 +252,7 @@ def test_plugin_workdir(ctx, thread_executor, tmpdir): node, interface_name=interface_name, operation_name=operation_name, - inputs=inputs)) + inputs=arguments)) execute(workflow_func=basic_workflow, workflow_context=ctx, executor=thread_executor) expected_file = tmpdir.join('workdir', 'plugins', str(ctx.service.id), @@ -280,7 +279,7 @@ def test_node_operation_logging(ctx, executor): node = ctx.model.node.get_by_name(mock.models.DEPENDENCY_NODE_NAME) - inputs = { + arguments = { 'op_start': 'op_start', 'op_end': 'op_end', } @@ -289,8 +288,8 @@ def test_node_operation_logging(ctx, executor): interface_name, operation_name, operation_kwargs=dict( - implementation=op_path(logged_operation, module_path=__name__), - inputs=inputs) + function=op_path(logged_operation, module_path=__name__), + arguments=arguments) ) node.interfaces[interface.name] = interface ctx.model.node.update(node) @@ -302,19 +301,19 @@ def test_node_operation_logging(ctx, executor): node, interface_name=interface_name, operation_name=operation_name, - inputs=inputs + inputs=arguments ) ) execute(workflow_func=basic_workflow, workflow_context=ctx, executor=executor) - _assert_loggins(ctx, inputs) + _assert_loggins(ctx, arguments) def test_relationship_operation_logging(ctx, executor): interface_name, operation_name = mock.operations.RELATIONSHIP_OPERATIONS_INSTALL[0] relationship = ctx.model.relationship.list()[0] - inputs = { + arguments = { 'op_start': 'op_start', 'op_end': 'op_end', } @@ -322,8 +321,8 @@ def test_relationship_operation_logging(ctx, executor): relationship.source_node.service, interface_name, operation_name, - operation_kwargs=dict(implementation=op_path(logged_operation, module_path=__name__), - inputs=inputs) + operation_kwargs=dict(function=op_path(logged_operation, module_path=__name__), + arguments=arguments) ) relationship.interfaces[interface.name] = interface ctx.model.relationship.update(relationship) @@ -335,12 +334,12 @@ def test_relationship_operation_logging(ctx, executor): relationship, interface_name=interface_name, operation_name=operation_name, - inputs=inputs + inputs=arguments ) ) execute(workflow_func=basic_workflow, workflow_context=ctx, executor=executor) - _assert_loggins(ctx, inputs) + _assert_loggins(ctx, arguments) def test_attribute_consumption(ctx, executor, dataholder): http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/f6ee65a9/tests/orchestrator/context/test_serialize.py ---------------------------------------------------------------------- diff --git a/tests/orchestrator/context/test_serialize.py b/tests/orchestrator/context/test_serialize.py index 8a5db6f..946b0bd 100644 --- a/tests/orchestrator/context/test_serialize.py +++ b/tests/orchestrator/context/test_serialize.py @@ -47,7 +47,7 @@ def _mock_workflow(ctx, graph): node.service, 'test', 'op', - operation_kwargs=dict(implementation=_operation_mapping(), + operation_kwargs=dict(function=_operation_mapping(), plugin=plugin) ) node.interfaces[interface.name] = interface http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/f6ee65a9/tests/orchestrator/context/test_toolbelt.py ---------------------------------------------------------------------- diff --git a/tests/orchestrator/context/test_toolbelt.py b/tests/orchestrator/context/test_toolbelt.py index fc34907..26a15e5 100644 --- a/tests/orchestrator/context/test_toolbelt.py +++ b/tests/orchestrator/context/test_toolbelt.py @@ -86,12 +86,12 @@ def test_host_ip(workflow_context, executor, dataholder): interface_name = 'Standard' operation_name = 'create' _, dependency_node, _, _, _ = _get_elements(workflow_context) - inputs = {'putput': True, 'holder_path': dataholder.path} + arguments = {'putput': True, 'holder_path': dataholder.path} interface = mock.models.create_interface( dependency_node.service, interface_name=interface_name, operation_name=operation_name, - operation_kwargs=dict(implementation=op_path(host_ip, module_path=__name__), inputs=inputs) + operation_kwargs=dict(function=op_path(host_ip, module_path=__name__), arguments=arguments) ) dependency_node.interfaces[interface.name] = interface dependency_node.attributes['ip'] = models.Parameter.wrap('ip', '1.1.1.1') @@ -105,7 +105,7 @@ def test_host_ip(workflow_context, executor, dataholder): dependency_node, interface_name=interface_name, operation_name=operation_name, - inputs=inputs + inputs=arguments ) ) @@ -118,13 +118,13 @@ def test_relationship_tool_belt(workflow_context, executor, dataholder): interface_name = 'Configure' operation_name = 'post_configure' _, _, _, _, relationship = _get_elements(workflow_context) - inputs = {'putput': True, 'holder_path': dataholder.path} + arguments = {'putput': True, 'holder_path': dataholder.path} interface = mock.models.create_interface( relationship.source_node.service, interface_name=interface_name, operation_name=operation_name, - operation_kwargs=dict(implementation=op_path(relationship_operation, module_path=__name__), - inputs=inputs) + operation_kwargs=dict(function=op_path(relationship_operation, module_path=__name__), + arguments=arguments) ) relationship.interfaces[interface.name] = interface workflow_context.model.relationship.update(relationship) @@ -136,7 +136,7 @@ def test_relationship_tool_belt(workflow_context, executor, dataholder): relationship, interface_name=interface_name, operation_name=operation_name, - inputs=inputs + inputs=arguments ) ) http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/f6ee65a9/tests/orchestrator/execution_plugin/test_local.py ---------------------------------------------------------------------- diff --git a/tests/orchestrator/execution_plugin/test_local.py b/tests/orchestrator/execution_plugin/test_local.py index d9115e1..0dfd512 100644 --- a/tests/orchestrator/execution_plugin/test_local.py +++ b/tests/orchestrator/execution_plugin/test_local.py @@ -463,7 +463,7 @@ if __name__ == '__main__': inputs=None): local_script_path = script_path script_path = os.path.basename(local_script_path) if local_script_path else '' - inputs = inputs or {} + arguments = inputs or {} process = process or {} if script_path: workflow_context.resource.service.upload( @@ -471,7 +471,7 @@ if __name__ == '__main__': source=local_script_path, path=script_path) - inputs.update({ + arguments.update({ 'script_path': script_path, 'process': process, 'input_as_env_var': env_var @@ -485,17 +485,17 @@ if __name__ == '__main__': 'test', 'op', operation_kwargs=dict( - implementation='{0}.{1}'.format( + function='{0}.{1}'.format( operations.__name__, operations.run_script_locally.__name__), - inputs=inputs) + arguments=arguments) ) node.interfaces[interface.name] = interface graph.add_tasks(api.task.OperationTask( node, interface_name='test', operation_name='op', - inputs=inputs)) + inputs=arguments)) return graph tasks_graph = mock_workflow(ctx=workflow_context) # pylint: disable=no-value-for-parameter eng = engine.Engine( http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/f6ee65a9/tests/orchestrator/execution_plugin/test_ssh.py ---------------------------------------------------------------------- diff --git a/tests/orchestrator/execution_plugin/test_ssh.py b/tests/orchestrator/execution_plugin/test_ssh.py index 92d250e..a369f8f 100644 --- a/tests/orchestrator/execution_plugin/test_ssh.py +++ b/tests/orchestrator/execution_plugin/test_ssh.py @@ -217,7 +217,7 @@ class TestWithActualSSHServer(object): @workflow def mock_workflow(ctx, graph): node = ctx.model.node.get_by_name(mock.models.DEPENDENCY_NODE_NAME) - inputs = { + arguments = { 'script_path': script_path, 'fabric_env': _FABRIC_ENV, 'process': process, @@ -226,24 +226,24 @@ class TestWithActualSSHServer(object): 'test_operation': '', } if hide_output: - inputs['hide_output'] = hide_output + arguments['hide_output'] = hide_output if commands: - inputs['commands'] = commands + arguments['commands'] = commands interface = mock.models.create_interface( node.service, 'test', 'op', operation_kwargs=dict( - implementation='{0}.{1}'.format( + function='{0}.{1}'.format( operations.__name__, operation.__name__), - inputs=inputs) + arguments=arguments) ) node.interfaces[interface.name] = interface ops = [] for test_operation in test_operations: - op_inputs = inputs.copy() + op_inputs = arguments.copy() op_inputs['test_operation'] = test_operation ops.append(api.task.OperationTask( node, http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/f6ee65a9/tests/orchestrator/test_workflow_runner.py ---------------------------------------------------------------------- diff --git a/tests/orchestrator/test_workflow_runner.py b/tests/orchestrator/test_workflow_runner.py index 7374e50..405cb80 100644 --- a/tests/orchestrator/test_workflow_runner.py +++ b/tests/orchestrator/test_workflow_runner.py @@ -190,7 +190,7 @@ def test_execution_inputs_override_workflow_inputs(request): def test_execution_inputs_undeclared_inputs(request): mock_workflow = _setup_mock_workflow_in_service(request) - with pytest.raises(modeling_exceptions.UndeclaredInputsException): + with pytest.raises(modeling_exceptions.UndeclaredParametersException): _create_workflow_runner(request, mock_workflow, inputs={'undeclared_input': 'value'}) @@ -198,7 +198,7 @@ def test_execution_inputs_missing_required_inputs(request): mock_workflow = _setup_mock_workflow_in_service( request, inputs={'required_input': models.Parameter.wrap('required_input', value=None)}) - with pytest.raises(modeling_exceptions.MissingRequiredInputsException): + with pytest.raises(modeling_exceptions.MissingRequiredParametersException): _create_workflow_runner(request, mock_workflow, inputs={}) @@ -206,13 +206,13 @@ def test_execution_inputs_wrong_type_inputs(request): mock_workflow = _setup_mock_workflow_in_service( request, inputs={'input': models.Parameter.wrap('input', 'value')}) - with pytest.raises(modeling_exceptions.InputsOfWrongTypeException): + with pytest.raises(modeling_exceptions.ParametersOfWrongTypeException): _create_workflow_runner(request, mock_workflow, inputs={'input': 5}) def test_execution_inputs_builtin_workflow_with_inputs(request): # built-in workflows don't have inputs - with pytest.raises(modeling_exceptions.UndeclaredInputsException): + with pytest.raises(modeling_exceptions.UndeclaredParametersException): _create_workflow_runner(request, 'install', inputs={'undeclared_input': 'value'}) http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/f6ee65a9/tests/orchestrator/workflows/api/test_task.py ---------------------------------------------------------------------- diff --git a/tests/orchestrator/workflows/api/test_task.py b/tests/orchestrator/workflows/api/test_task.py index 642c785..d57e424 100644 --- a/tests/orchestrator/workflows/api/test_task.py +++ b/tests/orchestrator/workflows/api/test_task.py @@ -44,15 +44,15 @@ class TestOperationTask(object): plugin = mock.models.create_plugin('test_plugin', '0.1') ctx.model.node.update(plugin) - inputs = {'test_input': True} + arguments = {'test_input': True} interface = mock.models.create_interface( ctx.service, interface_name, operation_name, operation_kwargs=dict(plugin=plugin, - implementation='op_path', - inputs=inputs),) + function='op_path', + arguments=arguments),) node = ctx.model.node.get_by_name(mock.models.DEPENDENT_NODE_NAME) node.interfaces[interface_name] = interface @@ -66,7 +66,7 @@ class TestOperationTask(object): node, interface_name=interface_name, operation_name=operation_name, - inputs=inputs, + inputs=arguments, max_attempts=max_attempts, retry_interval=retry_interval, ignore_failure=ignore_failure) @@ -92,15 +92,15 @@ class TestOperationTask(object): plugin = mock.models.create_plugin('test_plugin', '0.1') ctx.model.plugin.update(plugin) - inputs = {'test_input': True} + arguments = {'test_input': True} interface = mock.models.create_interface( ctx.service, interface_name, operation_name, operation_kwargs=dict(plugin=plugin, - implementation='op_path', - inputs=inputs) + function='op_path', + arguments=arguments) ) relationship = ctx.model.relationship.list()[0] @@ -113,7 +113,7 @@ class TestOperationTask(object): relationship, interface_name=interface_name, operation_name=operation_name, - inputs=inputs, + inputs=arguments, max_attempts=max_attempts, retry_interval=retry_interval) @@ -137,15 +137,15 @@ class TestOperationTask(object): plugin = mock.models.create_plugin('test_plugin', '0.1') ctx.model.node.update(plugin) - inputs = {'test_input': True} + arguments = {'test_input': True} interface = mock.models.create_interface( ctx.service, interface_name, operation_name, operation_kwargs=dict(plugin=plugin, - implementation='op_path', - inputs=inputs) + function='op_path', + arguments=arguments) ) relationship = ctx.model.relationship.list()[0] @@ -158,7 +158,7 @@ class TestOperationTask(object): relationship, interface_name=interface_name, operation_name=operation_name, - inputs=inputs, + inputs=arguments, max_attempts=max_attempts, retry_interval=retry_interval) @@ -189,7 +189,7 @@ class TestOperationTask(object): interface_name, operation_name, operation_kwargs=dict(plugin=plugin, - implementation='op_path')) + function='op_path')) dependency_node.interfaces[interface_name] = interface with context.workflow.current.push(ctx): http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/f6ee65a9/tests/orchestrator/workflows/builtin/test_execute_operation.py ---------------------------------------------------------------------- diff --git a/tests/orchestrator/workflows/builtin/test_execute_operation.py b/tests/orchestrator/workflows/builtin/test_execute_operation.py index 4cddbe6..88818ca 100644 --- a/tests/orchestrator/workflows/builtin/test_execute_operation.py +++ b/tests/orchestrator/workflows/builtin/test_execute_operation.py @@ -35,7 +35,7 @@ def test_execute_operation(ctx): ctx.service, interface_name, operation_name, - operation_kwargs={'implementation': 'test'} + operation_kwargs=dict(function='test') ) node.interfaces[interface.name] = interface ctx.model.node.update(node) http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/f6ee65a9/tests/orchestrator/workflows/core/test_engine.py ---------------------------------------------------------------------- diff --git a/tests/orchestrator/workflows/core/test_engine.py b/tests/orchestrator/workflows/core/test_engine.py index 8c0705b..43ec9f1 100644 --- a/tests/orchestrator/workflows/core/test_engine.py +++ b/tests/orchestrator/workflows/core/test_engine.py @@ -63,11 +63,11 @@ class BaseTest(object): ignore_failure=None): node = ctx.model.node.get_by_name(mock.models.DEPENDENCY_NODE_NAME) interface_name = 'aria.interfaces.lifecycle' - operation_kwargs = dict(implementation='{name}.{func.__name__}'.format( + operation_kwargs = dict(function='{name}.{func.__name__}'.format( name=__name__, func=func)) if inputs: - # the operation has to declare the inputs before those may be passed - operation_kwargs['inputs'] = inputs + # the operation has to declare the arguments before those may be passed + operation_kwargs['arguments'] = inputs operation_name = 'create' interface = mock.models.create_interface(node.service, interface_name, operation_name, operation_kwargs=operation_kwargs) http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/f6ee65a9/tests/orchestrator/workflows/core/test_events.py ---------------------------------------------------------------------- diff --git a/tests/orchestrator/workflows/core/test_events.py b/tests/orchestrator/workflows/core/test_events.py index 184071d..6d542e9 100644 --- a/tests/orchestrator/workflows/core/test_events.py +++ b/tests/orchestrator/workflows/core/test_events.py @@ -110,8 +110,7 @@ def run_operation_on_node(ctx, op_name, interface_name): service=node.service, interface_name=interface_name, operation_name=op_name, - operation_kwargs=dict(implementation='{name}.{func.__name__}'.format(name=__name__, - func=func))) + operation_kwargs=dict(function='{name}.{func.__name__}'.format(name=__name__, func=func))) node.interfaces[interface.name] = interface eng = engine.Engine(executor=ThreadExecutor(), http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/f6ee65a9/tests/orchestrator/workflows/core/test_task.py ---------------------------------------------------------------------- diff --git a/tests/orchestrator/workflows/core/test_task.py b/tests/orchestrator/workflows/core/test_task.py index e488933..1ba6422 100644 --- a/tests/orchestrator/workflows/core/test_task.py +++ b/tests/orchestrator/workflows/core/test_task.py @@ -43,7 +43,7 @@ def ctx(tmpdir): relationship.source_node.service, RELATIONSHIP_INTERFACE_NAME, RELATIONSHIP_OPERATION_NAME, - operation_kwargs={'implementation': 'test'} + operation_kwargs=dict(function='test') ) relationship.interfaces[interface.name] = interface context.model.relationship.update(relationship) @@ -53,7 +53,7 @@ def ctx(tmpdir): node.service, NODE_INTERFACE_NAME, NODE_OPERATION_NAME, - operation_kwargs={'implementation': 'test'} + operation_kwargs=dict(function='test') ) node.interfaces[interface.name] = interface context.model.node.update(node) @@ -92,7 +92,7 @@ class TestOperationTask(object): node.service, NODE_INTERFACE_NAME, NODE_OPERATION_NAME, - operation_kwargs=dict(plugin=storage_plugin, implementation='test') + operation_kwargs=dict(plugin=storage_plugin, function='test') ) node.interfaces[interface.name] = interface ctx.model.node.update(node) http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/f6ee65a9/tests/orchestrator/workflows/core/test_task_graph_into_execution_graph.py ---------------------------------------------------------------------- diff --git a/tests/orchestrator/workflows/core/test_task_graph_into_execution_graph.py b/tests/orchestrator/workflows/core/test_task_graph_into_execution_graph.py index 2a96d01..1633d4a 100644 --- a/tests/orchestrator/workflows/core/test_task_graph_into_execution_graph.py +++ b/tests/orchestrator/workflows/core/test_task_graph_into_execution_graph.py @@ -32,7 +32,7 @@ def test_task_graph_into_execution_graph(tmpdir): node.service, interface_name, operation_name, - operation_kwargs={'implementation': 'test'} + operation_kwargs=dict(function='test') ) node.interfaces[interface.name] = interface task_context.model.node.update(node) http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/f6ee65a9/tests/orchestrator/workflows/executor/test_process_executor_concurrent_modifications.py ---------------------------------------------------------------------- diff --git a/tests/orchestrator/workflows/executor/test_process_executor_concurrent_modifications.py b/tests/orchestrator/workflows/executor/test_process_executor_concurrent_modifications.py index 92f0fc4..8c3f72a 100644 --- a/tests/orchestrator/workflows/executor/test_process_executor_concurrent_modifications.py +++ b/tests/orchestrator/workflows/executor/test_process_executor_concurrent_modifications.py @@ -67,7 +67,7 @@ def _test(context, executor, lock_files, func, dataholder, expected_failure): key = 'key' first_value = 'value1' second_value = 'value2' - inputs = { + arguments = { 'lock_files': lock_files, 'key': key, 'first_value': first_value, @@ -80,8 +80,8 @@ def _test(context, executor, lock_files, func, dataholder, expected_failure): node.service, interface_name, operation_name, - operation_kwargs=dict(implementation='{0}.{1}'.format(__name__, func.__name__), - inputs=inputs) + operation_kwargs=dict(function='{0}.{1}'.format(__name__, func.__name__), + arguments=arguments) ) node.interfaces[interface.name] = interface context.model.node.update(node) @@ -93,12 +93,12 @@ def _test(context, executor, lock_files, func, dataholder, expected_failure): node, interface_name=interface_name, operation_name=operation_name, - inputs=inputs), + inputs=arguments), api.task.OperationTask( node, interface_name=interface_name, operation_name=operation_name, - inputs=inputs) + inputs=arguments) ) signal = events.on_failure_task_signal http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/f6ee65a9/tests/orchestrator/workflows/executor/test_process_executor_extension.py ---------------------------------------------------------------------- diff --git a/tests/orchestrator/workflows/executor/test_process_executor_extension.py b/tests/orchestrator/workflows/executor/test_process_executor_extension.py index 30b23ed..acca0bf 100644 --- a/tests/orchestrator/workflows/executor/test_process_executor_extension.py +++ b/tests/orchestrator/workflows/executor/test_process_executor_extension.py @@ -27,7 +27,7 @@ from tests import storage def test_decorate_extension(context, executor): - inputs = {'input1': 1, 'input2': 2} + arguments = {'input1': 1, 'input2': 2} def get_node(ctx): return ctx.model.node.get_by_name(mock.models.DEPENDENCY_NODE_NAME) @@ -41,24 +41,23 @@ def test_decorate_extension(context, executor): ctx.service, interface_name, operation_name, - operation_kwargs=dict(implementation='{0}.{1}'.format(__name__, - _mock_operation.__name__), - inputs=inputs) + operation_kwargs=dict(function='{0}.{1}'.format(__name__, _mock_operation.__name__), + arguments=arguments) ) node.interfaces[interface.name] = interface task = api.task.OperationTask( node, interface_name=interface_name, operation_name=operation_name, - inputs=inputs) + inputs=arguments) graph.add_tasks(task) return graph graph = mock_workflow(ctx=context) # pylint: disable=no-value-for-parameter eng = engine.Engine(executor=executor, workflow_context=context, tasks_graph=graph) eng.execute() out = get_node(context).attributes.get('out').value - assert out['wrapper_inputs'] == inputs - assert out['function_inputs'] == inputs + assert out['wrapper_inputs'] == arguments + assert out['function_inputs'] == arguments @extension.process_executor http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/f6ee65a9/tests/orchestrator/workflows/executor/test_process_executor_tracked_changes.py ---------------------------------------------------------------------- diff --git a/tests/orchestrator/workflows/executor/test_process_executor_tracked_changes.py b/tests/orchestrator/workflows/executor/test_process_executor_tracked_changes.py index 2b628a0..c766fe4 100644 --- a/tests/orchestrator/workflows/executor/test_process_executor_tracked_changes.py +++ b/tests/orchestrator/workflows/executor/test_process_executor_tracked_changes.py @@ -88,20 +88,20 @@ def _run_workflow(context, executor, op_func, inputs=None): node = ctx.model.node.get_by_name(mock.models.DEPENDENCY_NODE_NAME) interface_name = 'test_interface' operation_name = 'operation' - wf_inputs = inputs or {} + wf_arguments = inputs or {} interface = mock.models.create_interface( ctx.service, interface_name, operation_name, - operation_kwargs=dict(implementation=_operation_mapping(op_func), - inputs=wf_inputs) + operation_kwargs=dict(function=_operation_mapping(op_func), + arguments=wf_arguments) ) node.interfaces[interface.name] = interface task = api.task.OperationTask( node, interface_name=interface_name, operation_name=operation_name, - inputs=wf_inputs) + inputs=wf_arguments) graph.add_tasks(task) return graph graph = mock_workflow(ctx=context) # pylint: disable=no-value-for-parameter http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/f6ee65a9/tests/resources/service-templates/tosca-simple-1.0/node-cellar/node-cellar.yaml ---------------------------------------------------------------------- diff --git a/tests/resources/service-templates/tosca-simple-1.0/node-cellar/node-cellar.yaml b/tests/resources/service-templates/tosca-simple-1.0/node-cellar/node-cellar.yaml index 8e80640..ee9e094 100644 --- a/tests/resources/service-templates/tosca-simple-1.0/node-cellar/node-cellar.yaml +++ b/tests/resources/service-templates/tosca-simple-1.0/node-cellar/node-cellar.yaml @@ -104,6 +104,16 @@ topology_template: Maintenance: enable: juju > charm.maintenance_on disable: juju > charm.maintenance_off + Standard: + create: + implementation: + primary: create_node_cellar.sh + dependencies: + - "process.args.1 > { get_attribute: [ SELF, tosca_id ] }" + - "process.args.2 > { get_property: [ HOST, flavor_name ] }" + - ssh.user > admin + - ssh.password > '1234' + - ssh.use_sudo > true requirements: - database: node_cellar_database capabilities: @@ -161,16 +171,7 @@ topology_template: relationship: interfaces: Configure: - target_changed: - implementation: - primary: changed.sh - dependencies: - #- { concat: [ process.args.1 >, mongodb ] } - - process.args.1 > mongodb - - process.args.2 > host - - ssh.user > admin - - ssh.password > 1234 - - ssh.use_sudo > true + target_changed: changed.sh nginx: type: nginx.Nginx @@ -251,6 +252,7 @@ topology_template: Standard: inputs: openstack_credential: { get_input: openstack_credential } + create: create_data_volume.sh groups: @@ -309,7 +311,7 @@ policy_types: client connections cleanly and shut down services. derived_from: aria.Workflow properties: - implementation: + function: type: string default: workflows.maintenance enabled: