def METHOD_NAME(self):
    self.nodes[LEADER].start()
    self.simulator.go(config.LEADER_STARTUP_DELAY)
    self.assertEqual(self.nodes[LEADER].get_state(), 'leader')
    self.nodes[ROUTER].start()
    self.simulator.go(config.ROUTER_STARTUP_DELAY)
    self.assertEqual(self.nodes[ROUTER].get_state(), 'router')
    self.nodes[ED].start()
    self.simulator.go(5)
    self.assertEqual(self.nodes[ED].get_state(), 'child')
    self.collect_ipaddrs()
    self.nodes[ROUTER].stop()
    self.nodes[LEADER].add_allowlist(self.nodes[ED].get_addr64())
    self.nodes[ED].add_allowlist(self.nodes[LEADER].get_addr64())
    self.simulator.go(20)
    self.assertEqual(self.nodes[ED].get_state(), 'child')
    addrs = self.nodes[ED].get_addrs()
    for addr in addrs:
        self.assertTrue(self.nodes[LEADER].ping(addr))