Ejemplo n.º 1
0
    def test_merge_dicts(self):
        dict1 = {"resource": "test"}
        dict2 = {"description": "Test merge dicts"}
        result = helpers.merge_dicts(dict1, dict2)
        expected = {"resource": "test",
                    "description": "Test merge dicts"}
        self.assertEqual(expected, result)

        dict2 = {"resource": None, "description": "Test merge dicts"}
        result = helpers.merge_dicts(dict1, dict2)
        expected = {"resource": "test",
                    "description": "Test merge dicts"}
        self.assertEqual(expected, result)

        dict2 = {"resource": "abc", "description": "Test merge dicts"}
        self.assertEqual(expected, result)

        dict2 = {"resource": {"test": 1}}
        self.assertRaises(TypeError, helpers.merge_dicts, dict1, dict2)

        dict1 = {"resource": None}
        dict2 = {"resource": "test", "description": "Test merge dicts"}
        expected = {"resource": None, "description": "Test merge dicts"}
        result = helpers.merge_dicts(dict1, dict2)
        self.assertEqual(expected, result)
Ejemplo n.º 2
0
 def updateTemplate(self, _context, template):
     template_version = template.get("heat_template_version", HEAT_TEMPLATE_VERSION)
     if template_version != HEAT_TEMPLATE_VERSION:
         err_msg = "Currently only heat_template_version %s " "is supported." % HEAT_TEMPLATE_VERSION
         raise HeatStackError(err_msg)
     self.current(_context)
     self._template = helpers.merge_dicts(self._template, template)
     self._applied = False
Ejemplo n.º 3
0
 def update_template(self, template):
     template_version = template.get('heat_template_version',
                                     HEAT_TEMPLATE_VERSION)
     if template_version != HEAT_TEMPLATE_VERSION:
         err_msg = ("Currently only heat_template_version %s "
                    "is supported." % HEAT_TEMPLATE_VERSION)
         raise HeatStackError(err_msg)
     self.current()
     self._template = helpers.merge_dicts(self._template, template)
     self._applied = False
Ejemplo n.º 4
0
 def update_template(self, template):
     template_version = template.get('heat_template_version',
                                     HEAT_TEMPLATE_VERSION)
     if template_version != HEAT_TEMPLATE_VERSION:
         err_msg = ("Currently only heat_template_version %s "
                    "is supported." % HEAT_TEMPLATE_VERSION)
         raise HeatStackError(err_msg)
     self.current()
     cache[self._name] = helpers.merge_dicts(cache.get(self._name), template)
     applied[self._name] = False
Ejemplo n.º 5
0
 def update_template(self, template):
     template_version = template.get('heat_template_version',
                                     HEAT_TEMPLATE_VERSION)
     if template_version != HEAT_TEMPLATE_VERSION:
         err_msg = ("Currently only heat_template_version %s "
                    "is supported." % HEAT_TEMPLATE_VERSION)
         raise HeatStackError(err_msg)
     current = self.current()
     self._template = helpers.merge_dicts(self._template, template)
     self._applied = self._template == current and self._applied
Ejemplo n.º 6
0
 def _serialize(obj_type):
     actions = {}
     for name, method in obj_type.methods.iteritems():
         if method.usage == murano_method.MethodUsages.Action:
             action_id = '{0}_{1}'.format(obj.object_id, name)
             actions[action_id] = {'name': name, 'enabled': True}
     for parent in obj_type.parents:
         parent_actions = _serialize(parent)
         actions = helpers.merge_dicts(parent_actions, actions)
     return actions
Ejemplo n.º 7
0
 def _serialize(obj_type):
     actions = {}
     for name, method in obj_type.methods.iteritems():
         if method.usage == murano_method.MethodUsages.Action:
             action_id = '{0}_{1}'.format(obj.object_id, name)
             actions[action_id] = {
                 'name': name,
                 'enabled': True
             }
     for parent in obj_type.parents:
         parent_actions = _serialize(parent)
         actions = helpers.merge_dicts(parent_actions, actions)
     return actions
Ejemplo n.º 8
0
 def test_merge_nested_dicts_with_max_levels(self):
     dict1 = {"a": {"ab": {"abcd": "1234"}, "abc": "1"}}
     dict2 = {"a": {"ab": {"y": "9"}, "abc": "123"}}
     expected = {"a": {"ab": {"y": "9"}, "abc": "123"}}
     result = helpers.merge_dicts(dict1, dict2, max_levels=2)
     self.assertEqual(expected, result)
Ejemplo n.º 9
0
 def check(self, dict1, dict2, expected):
     result = helpers.merge_dicts(dict1, dict2)
     self.assertEqual(expected, result)
Ejemplo n.º 10
0
def _merge_actions(dict1, dict2):
    result = helpers.merge_dicts(dict1, dict2)
    for action_id in dict1:
        if action_id not in dict2:
            del result[action_id]
    return result
Ejemplo n.º 11
0
def _merge_with(self, other):
    return helpers.merge_dicts(self, other)
Ejemplo n.º 12
0
def _merge_with(self, other):
    return helpers.merge_dicts(self, other)
Ejemplo n.º 13
0
def _merge_actions(dict1, dict2):
    result = helpers.merge_dicts(dict1, dict2)
    for action_id in dict1:
        if action_id not in dict2:
            del result[action_id]
    return result