def METHOD_NAME(self, client0: RpcClient):
    n = self.connect_nodes(client0, 2)
    assert client0.disconnect_peer(self.nodes[2].key, client0.UPDATE_NODE_OP_DEMOTE)
    # demote to untrusted node table
    node = client0.get_node(self.nodes[2].key)
    assert node[0] == "untrusted"
    assert node[1]["lastContact"].get("demoted")
    assert node[1]["streamToken"] == n[1]["streamToken"]
    last_connected = node[1]["lastConnected"]
    # log to dubug flaky error, suspect lastConnected not updated timely, so assert it at last
    if not last_connected.get("failure"):
        self.log.info("Last connected: {}".format(last_connected))
    assert last_connected.get("failure") or last_connected.get("demoted")
    # Node 0 will not create outgoing connection to Node 2
    time.sleep((self.test_house_keeping_ms + 100) / 1000)
    assert client0.get_peer(self.nodes[2].key) is None