'A state update isn\'t sent if the control node hasn\'t acknowledged the
last state update.'

def test_convergence_done_delays_new_iteration_ack(self):

    self.local_state = local_state = NodeState(hostname=u'192.0.2.123')
    self.configuration = configuration = Deployment()
    self.cluster_state = received_state = DeploymentState(nodes=[])
    self.action = action = ControllableAction(result=succeed(None))
    deployer = ControllableDeployer(local_state.hostname, [succeed(local_state)], [action])
    client = self.make_amp_client([local_state])
    reactor = Clock()
    loop = build_convergence_loop_fsm(reactor, deployer)
    loop.receive(_ClientStatusUpdate(client=DelayedAMPClient(client), configuration=configuration, state=received_state))
    reactor.advance(_UNCONVERGED_DELAY)
    self.assertListEqual(client.calls, [(NodeStateCommand, dict(state_changes=(local_state,)))])
