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": self.nodes_message((node1, node2), nets_sent), "offline": 0}} self.db.add(task) self.db.commit() kwargs = {"task_uuid": task.uuid, "status": "ready", "nodes": self.nodes_message((node1, node2), nets_resp)} self.db.delete(node2) self.db.commit() self.receiver.verify_networks_resp(**kwargs) self.db.flush() resp = self.app.get(reverse("TaskHandler", kwargs={"obj_id": task.id}), headers=self.default_headers) self.assertEqual(resp.status_code, 200) task = resp.json_body self.assertEqual(task["status"], "error") error_nodes = [ { "uid": node1.id, "interface": "eth0", "name": node1.name, "absent_vlans": [104], "mac": node1.interfaces[0].mac, }, {"uid": node2.id, "interface": "eth0", "name": node2.name, "absent_vlans": [104], "mac": "unknown"}, ] self.assertEqual(task.get("message"), "") self.assertEqual(task["result"], error_nodes)
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': self.nodes_message((node1, node2), nets_sent), 'offline': 0, } } self.db.add(task) self.db.commit() kwargs = {'task_uuid': task.uuid, 'status': 'ready', 'nodes': self.nodes_message((node1, node2), nets_resp)} self.db.delete(node2) self.db.commit() self.receiver.verify_networks_resp(**kwargs) self.db.flush() resp = self.app.get( reverse('TaskHandler', kwargs={'obj_id': task.id}), headers=self.default_headers ) self.assertEqual(resp.status_code, 200) task = resp.json_body self.assertEqual(task['status'], "error") error_nodes = [{'uid': node1.id, 'interface': 'eth0', 'name': node1.name, 'absent_vlans': [104], 'mac': node1.interfaces[0].mac}, {'uid': node2.id, 'interface': 'eth0', 'name': node2.name, 'absent_vlans': [104], 'mac': 'unknown'}] self.assertEqual(task.get('message'), '') self.assertEqual(task['result'], error_nodes)