@given(
        desired_state=sampled_from(
            DesiredDataset.__invariant__.attributes_for_tag.keys()
        ),
        discovered_state=sampled_from(
            DiscoveredDataset.__invariant__.attributes_for_tag.keys() +
            [DatasetStates.NON_EXISTENT]
        )
    )
    def test_all_transitions(self, desired_state, discovered_state):
        assume(desired_state != discovered_state)
        verifyObject(
            IDatasetStateChangeFactory,
            DATASET_TRANSITIONS[desired_state][discovered_state],
        )
Transitions are defined from all possible desired states towards
dataset/ETHPy150Open ClusterHQ/flocker/flocker/node/agents/test/test_blockdevice.py/TranistionTests.test_all_transitions