def test_update_nic_attributes(self):
     new_attrs = PluginManager.get_nic_attributes(self.interface)
     new_attrs['plugin_a']['attr_a']['value'] = {}
     PluginManager.update_nic_attributes(new_attrs)
     attributes = PluginManager.get_nic_attributes(self.interface)
     del attributes['plugin_a']['metadata']['nic_plugin_id']
     self.assertDictEqual(
         {'plugin_a': {
             'attr_a': {'value': {}},
             'metadata': {
                 'class': 'plugin',
                 'label': 'Test plugin'}}}, attributes)
Exemple #2
0
    def update(cls, instance, data):
        """Update data of native and plugin attributes for interface.

        :param instance: NodeNICInterface instance
        :type instance: NodeNICInterface model
        :param data: Data to update
        :type data: dict
        :returns: instance of an object (model)
        """
        attributes = data.pop('attributes', None)
        if attributes:
            PluginManager.update_nic_attributes(attributes)
            instance.attributes = utils.dict_merge(instance.attributes,
                                                   attributes)

        return super(NIC, cls).update(instance, data)
Exemple #3
0
    def update(cls, instance, data):
        """Update data of native and plugin attributes for interface.

        :param instance: NodeNICInterface instance
        :type instance: NodeNICInterface model
        :param data: Data to update
        :type data: dict
        :returns: instance of an object (model)
        """
        attributes = data.pop('attributes', None)
        if attributes:
            PluginManager.update_nic_attributes(attributes)
            instance.attributes = utils.dict_merge(
                instance.attributes, attributes)

        return super(NIC, cls).update(instance, data)