Exemplo n.º 1
0
 def test_update_get_input_function_reference(self):
     template = init_template()
     value = {'get_input': 'inputName'}
     res = _is_function(value)
     self.assertIsNone(res.value_from_item)
     res._update_function_reference(template)
     self.assertEqual(res.value_from_item, template.inputs.get('inputName'))
Exemplo n.º 2
0
 def test_update_get_attribute_function_other_node_id_attribute(self):
     template = init_template()
     node = template.node_dict.get('nodeName')
     value = {'get_attribute': ['nodeName', 'id']}
     res = _is_function(value)
     self.assertIsNone(res.value_from_node)
     self.assertIsNone(res.value_from_item)
     res._update_function_reference(template)
     self.assertEqual(res.value_from_node, node)
     self.assertEqual(res.value_from_item, node.id)
Exemplo n.º 3
0
 def test_value_is_concat_function(self):
     value = {'concat': ['first', 'second']}
     res = _is_function(value)
     self.assertEqual(res.type, 'concat')
     self.assertEqual(res.extra_data[0].raw_value, 'first')
     self.assertEqual(res.extra_data[0].type, 'string')
     self.assertEqual(res.extra_data[0].value, 'first')
     self.assertEqual(res.extra_data[1].raw_value, 'second')
     self.assertEqual(res.extra_data[1].type, 'string')
     self.assertEqual(res.extra_data[1].value, 'second')
Exemplo n.º 4
0
 def test_calculate_property_function_result(self):
     template = init_template()
     value = {'get_property': ['node2', 'dummyRequirement', 'propertyName']}
     func = _is_function(value)
     res = func._calculate_function_result()
     self.assertEqual(res, (value, 2))
     func._update_function_reference(template)
     res = func._calculate_function_result()
     expected = ({'get_property': ['nodeName', 'propertyName']}, 2)
     self.assertEqual(res, expected)
Exemplo n.º 5
0
 def test_update_concat_get_input_value_prefix(self):
     value = {'concat': [{'get_input': 'some_input_param'}, 'second']}
     res = _is_function(value)
     self.assertEqual(res.extra_data[0].function.target_property,
                      'some_input_param')
     self.assertEqual(res.extra_data[1].value, 'second')
     res._update_prefix('PREFIX_')
     self.assertEqual(res.extra_data[0].function.target_property,
                      'PREFIX_some_input_param')
     self.assertEqual(res.extra_data[1].value, 'second')
Exemplo n.º 6
0
 def test_update_get_property_function_reference_self_property(self):
     template = init_template()
     node = template.node_dict.get('nodeName')
     value = {'get_property': ['SELF', 'propertyName']}
     res = _is_function(value)
     self.assertIsNone(res.value_from_node)
     self.assertIsNone(res.value_from_item)
     res._update_function_reference(template, node)
     self.assertEqual(res.value_from_node, node)
     self.assertEqual(res.value_from_item,
                      node.properties.get('propertyName'))
Exemplo n.º 7
0
 def test_get_id_attribute_function_representation(self):
     template = init_template()
     node = template.node_dict.get('nodeName')
     value = {'get_attribute': ['SELF', 'id']}
     func = _is_function(value)
     func._update_function_reference(template, node)
     self.assertIsNotNone(func.value_from_node)
     res = func._get_function_representation()
     self.assertEqual(res, {'get_attribute': ['nodeName', 'id']})
     res = func._get_function_representation('heat')
     self.assertEqual(res, {'get_id': 'nodeName'})
Exemplo n.º 8
0
 def test_calculate_concat_function_result(self):
     template = init_template()
     node = template.node_dict.get('nodeName')
     value = {'concat': [{'get_attribute': ['SELF', 'id']}, {'concat': [{'get_property': ['SELF', 'propertyName']}, 'third', '4']}]}
     func = _is_function(value)
     res = func._calculate_function_result()
     self.assertEqual(res, (value, 2))
     func._update_function_reference(template, node)
     res = func._calculate_function_result()
     expected = {'concat': [{'get_attribute': ['nodeName', 'id']}, {'concat': [{'get_property': ['nodeName', 'propertyName']}, 'third', '4']}]}
     self.assertEqual(res, (expected, 2))
Exemplo n.º 9
0
 def test_update_concat_function_reference(self):
     template = init_template()
     node = template.node_dict.get('nodeName')
     value = {'concat': [{'get_attribute': ['nodeName', 'id']}, 'second']}
     res = _is_function(value)
     self.assertIsNone(res.extra_data[0].function.value_from_node)
     res._update_function_reference(template)
     self.assertIsNotNone(res.extra_data[0].function.value_from_node)
     self.assertIsNotNone(res.extra_data[0].function.value_from_item)
     self.assertEqual(res.extra_data[0].function.value_from_node, node)
     self.assertEqual(res.extra_data[0].function.value_from_item, node.id)
Exemplo n.º 10
0
 def test_get_self_property_function_representation(self):
     value = {'get_property': ['SELF', 'propertyName']}
     func = _is_function(value)
     self.assertIsNotNone(func.extra_data)
     self.assertIsNone(func.value_from_node)
     res = func._get_function_representation()
     self.assertEqual(res, value)
     template = init_template()
     node = template.node_dict.get('nodeName')
     func._update_function_reference(template, node)
     self.assertIsNotNone(func.value_from_node)
     res = func._get_function_representation()
     self.assertEqual(res, {'get_property': ['nodeName', 'propertyName']})
Exemplo n.º 11
0
 def test_update_get_attribute_function_requirement_target_attribute(self):
     template = init_template()
     node = template.node_dict.get('nodeName')
     value = {
         'get_attribute': ['node2', 'dummyRequirement', 'attributeName']
     }
     res = _is_function(value)
     self.assertIsNone(res.value_from_node)
     self.assertIsNone(res.value_from_item)
     res._update_function_reference(template)
     self.assertEqual(res.value_from_node, node)
     self.assertEqual(res.value_from_item,
                      node.attributes.get('attributeName'))
Exemplo n.º 12
0
 def test_update_get_input_function_reference_auto_generate_input(self):
     template = init_template()
     node = template.node_dict.get('nodeName')
     value = {'get_input': 'propertyName'}
     res = _is_function(value)
     self.assertIsNone(res.value_from_item)
     self.assertIsNone(template.inputs.get('nodeName_propertyName'))
     self.assertEqual(res.target_property, 'propertyName')
     res._update_function_reference(template, node,
                                    node.properties.get('propertyName'))
     self.assertIsNotNone(res.value_from_item)
     self.assertEqual(res.value_from_item,
                      template.inputs.get('nodeName_propertyName'))
Exemplo n.º 13
0
 def test_update_get_property_function_reference_requirement_target_property(
         self):
     template = init_template()
     value = {'get_property': ['node2', 'dummyRequirement', 'propertyName']}
     res = _is_function(value)
     self.assertIsNone(res.value_from_node)
     self.assertIsNone(res.value_from_item)
     res._update_function_reference(template)
     self.assertIsNotNone(res.value_from_node)
     self.assertIsNotNone(res.value_from_item)
     node = template.node_dict.get('nodeName')
     self.assertEqual(res.value_from_node, node)
     self.assertEqual(res.value_from_item,
                      node._get_property_item('propertyName'))
Exemplo n.º 14
0
 def test_update_get_property_function_reference_capability_property(self):
     template = init_template()
     value = {
         'get_property':
         ['nodeName', 'capabilityName', 'capabilityProperty']
     }
     res = _is_function(value)
     self.assertIsNone(res.value_from_node)
     self.assertIsNone(res.value_from_item)
     res._update_function_reference(template)
     self.assertIsNotNone(res.value_from_node)
     self.assertIsNotNone(res.value_from_item)
     node = template.node_dict.get('nodeName')
     self.assertEqual(res.value_from_node, node)
     self.assertEqual(
         res.value_from_item,
         node._get_capability_property('capabilityName',
                                       'capabilityProperty'))
Exemplo n.º 15
0
 def test_get_input_function_representation(self):
     value = {'get_input': 'inputName'}
     func = _is_function(value)
     self.assertEqual(func.target_property, 'inputName')
     res = func._get_function_representation()
     self.assertEqual(res, value)
Exemplo n.º 16
0
 def test_value_is_get_input_function(self):
     value = {'get_input': 'some_input_param'}
     res = _is_function(value)
     self.assertEqual(res.target_property, 'some_input_param')
     self.assertEqual(res.type, 'get_input')
Exemplo n.º 17
0
 def test_update_get_property_value_no_prefix(self):
     value = {'get_property': ['NO_PREFIX', 'some_property']}
     res = _is_function(value)
     self.assertEqual(res.extra_data[0], 'NO_PREFIX')
     res._update_prefix('PREFIX_')
     self.assertEqual(res.extra_data[0], 'PREFIX')
Exemplo n.º 18
0
 def test_update_get_input_value_prefix(self):
     value = {'get_input': 'some_input_param'}
     res = _is_function(value)
     self.assertEqual(res.target_property, 'some_input_param')
     res._update_prefix('PREFIX_')
     self.assertEqual(res.target_property, 'PREFIX_some_input_param')
Exemplo n.º 19
0
 def test_value_is_valid_function(self):
     value = {'get_property': ['first', 'second']}
     res = _is_function(value)
     self.assertEqual(res.type, 'get_property')
     self.assertListEqual(res.extra_data, value['get_property'])
Exemplo n.º 20
0
 def test_invalid_function_values_not_list(self):
     value = {'concat': {'first': 'one', 'second': 'two'}}
     res = _is_function(value)
     self.assertIsNone(res)
Exemplo n.º 21
0
 def test_value_is_simple_string(self):
     value = 'not_a_function'
     res = _is_function(value)
     self.assertIsNone(res)
Exemplo n.º 22
0
 def test_update_get_attribute_function_reference_invalid_params(self):
     value = {'get_attribute': ['no_such_node', 'some_attribute']}
     res = _is_function(value)
     res._update_function_reference(init_template())
     self.assertIsNone(res.value_from_node)
     self.assertIsNone(res.value_from_item)
Exemplo n.º 23
0
 def test_value_is_not_valid_function(self):
     value = {'function': 'unknown'}
     res = _is_function(value)
     self.assertIsNone(res)
Exemplo n.º 24
0
 def test_update_get_property_function_reference_node_not_found(self):
     value = {'get_property': ['node_name', 'property_name']}
     res = _is_function(value)
     self.assertIsNone(res.value_from_item)
     res._update_function_reference(init_template())
     self.assertIsNone(res.value_from_item)
Exemplo n.º 25
0
 def test_value_too_many_functions(self):
     value = {'get_input': 'some_input_param', 'get_property': 'some_value'}
     res = _is_function(value)
     self.assertIsNone(res)