@Test
    void cluster_state_ack_is_not_dependent_on_state_send_grace_period() throws Exception {
        FleetControllerOptions.Builder options = defaultOptions();
        options.setMinTimeBetweenNewSystemStates(10_000);
        RemoteTaskFixture fixture = createFixtureWith(options);

        // Have to increment timer here to be able to send state generated by the scheduled task
        timer.advanceTime(10_000);

        MockTask task = fixture.scheduleVersionDependentTaskWithSideEffects();
        communicator.setShouldDeferDistributorClusterStateAcks(true);
        fixture.processScheduledTask();
        assertFalse(task.isCompleted()); // Not yet acked by all nodes
        // If tracking whether ACKs are received from the cluster is dependent on the system state
        // send grace period, we won't observe that the task may be completed even though all nodes
        // have ACKed. Would then have to increment timer by 10s and do another tick.
        fixture.sendAllDeferredDistributorClusterStateAcks();
        assertTrue(task.isCompleted());
    }
Class for testing states of all nodes. Will fail in constructor with
debug message on non-expected results.
clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/StateChangeTest.java