MASQ-Project / MASQ-Node-issues

This repo contains the issues that are used for planning MASQ Node product work. It has no code in it, only GitHub issue tickets
https://masq.ai/
31 stars 12 forks source link

create looping utility with node_client.send #806

Open czarte opened 3 months ago

czarte commented 3 months ago

This card is designed for integration tests where we are starting node thru the daemon and we need to be sure that node is down before we finish the test, to ensure port 53 is free on the Actions machine

Create a test utility with a node_client.send(shutdown_request) and keep sending the shutdown request in a loop until the Node doesn't response anymore.

masq_lib/src/test_utils/ui_connection.rs

create new function in the impl UiConnection that will be sending shutdown requests in the loop to node_client.

This function is reqired for ui_gateway tests which operate with Node run by Daemon, because in the test we do not have access to Node it self, only to the Daemon, so we need to sending requests to shutdown until we are sure the Node is down. After that we can wait_for_exit on the Daemon.

dnwiebe commented 3 months ago

Note that when you instruct the Daemon to start a Node, and the Daemon successfully does so, the response message the Daemon sends you will have the operating system's process ID for the Node that was started.

If you ask the OS whether the Node's process is still running, you'll get a more reliable answer than you will if you ask the UI Gateway.