def test_apply_with_existing(self, mock_patch): self.node.properties['capabilities'] = 'x:y,cap1:old_val,answer:42' self.act.apply(self.node_info, self.params) patch = mock_patch.call_args[0][0] new_caps = utils.capabilities_to_dict(patch[0]['value']) self.assertEqual({'cap1': 'val', 'x': 'y', 'answer': '42'}, new_caps)
def update_capabilities(self, **caps): """Update capabilities on a node. :param props: capabilities to update """ existing = utils.capabilities_to_dict( self.node().properties.get('capabilities')) existing.update(caps) self.update_properties( capabilities=utils.dict_to_capabilities(existing))
def test_update_capabilities(self): self.ironic.node.update.return_value = mock.sentinel.node self.node.properties['capabilities'] = 'foo:bar,x:y' self.node_info.update_capabilities(x=1, y=2) self.ironic.node.update.assert_called_once_with(self.uuid, mock.ANY) patch = self.ironic.node.update.call_args[0][1] new_caps = utils.capabilities_to_dict(patch[0]['value']) self.assertEqual({'foo': 'bar', 'x': '1', 'y': '2'}, new_caps)
def test_capabilities_to_dict(self): capabilities = 'cat:meow,dog:wuff' expected_output = {'cat': 'meow', 'dog': 'wuff'} output = utils.capabilities_to_dict(capabilities) self.assertEqual(expected_output, output)
def test_capabilities_to_dict(self): capabilities = "cat:meow,dog:wuff" expected_output = {"cat": "meow", "dog": "wuff"} output = utils.capabilities_to_dict(capabilities) self.assertEqual(expected_output, output)