'``all_datasets`` returns an iterator of
2-tuple(``Dataset``, ``Node`` or ``None``)
for all primary manifest datasets and all non-manifest datasets in the
``DeploymentState``.'

def test_all_datasets(self):

    nonmanifest_id = unicode(uuid4())
    expected_nodestate = NodeState(uuid=uuid4(), hostname=u'192.0.2.5', applications={}, manifestations={MANIFESTATION.dataset_id: MANIFESTATION}, paths={MANIFESTATION.dataset_id: FilePath('/foo/bar')}, devices={UUID(MANIFESTATION.dataset_id): FilePath('/dev/foo')})
    deployment = DeploymentState(nodes={NodeState(uuid=uuid4(), hostname=u'192.0.2.4', applications={}, manifestations=None, paths=None, devices=None), expected_nodestate}, nonmanifest_datasets={nonmanifest_id: Dataset(dataset_id=nonmanifest_id)})
    self.assertEqual([(MANIFESTATION.dataset, expected_nodestate), (Dataset(dataset_id=nonmanifest_id), None)], list(deployment.all_datasets()))
