def test_verify_networks_resp_error_with_removed_node(self): self.env.create( cluster_kwargs={}, nodes_kwargs=[ {"api": False}, {"api": False} ] ) cluster_db = self.env.clusters[0] node1, node2 = self.env.nodes nets_sent = [{'iface': 'eth0', 'vlans': range(100, 105)}] nets_resp = [{'iface': 'eth0', 'vlans': range(100, 104)}] task = Task( name="super", cluster_id=cluster_db.id ) task.cache = { "args": { 'nodes': [{'uid': node1.id, 'networks': nets_sent}, {'uid': node2.id, 'networks': nets_sent}] } } self.db.add(task) self.db.commit() kwargs = {'task_uuid': task.uuid, 'status': 'ready', 'nodes': [{'uid': node1.id, 'networks': nets_resp}, {'uid': node2.id, 'networks': nets_resp}]} self.db.delete(node2) self.db.commit() self.receiver.verify_networks_resp(**kwargs) resp = self.app.get( reverse('TaskHandler', kwargs={'task_id': task.id}), headers=self.default_headers ) self.assertEquals(resp.status, 200) task = json.loads(resp.body) self.assertEqual(task['status'], "error") error_nodes = [{'uid': node1.id, 'interface': 'eth0', 'name': node1.name, 'absent_vlans': [104], 'mac': node1.mac}, {'uid': node2.id, 'interface': 'eth0', 'absent_vlans': [104]}] self.assertEqual(task.get('message'), None) self.assertEqual(task['result'], error_nodes)