'If a desired but non-running application has a volume but its
manifestation does not exist on the node, the application is not
started.
Eventually the manifestation will appear, at which point the
application can be started.'

def test_missing_volume(self):

    api = ApplicationNodeDeployer(u'example.com', docker_client=FakeDockerClient())
    manifestation = Manifestation(dataset=Dataset(dataset_id=unicode(uuid4())), primary=True)
    application = Application(name=u'mysql-hybridcluster', image=DockerImage(repository=u'clusterhq/flocker', tag=u'release-14.0'), volume=AttachedVolume(manifestation=manifestation, mountpoint=FilePath('/data')))
    desired = Deployment(nodes=[Node(hostname=api.hostname, applications=[application], manifestations={manifestation.dataset_id: manifestation})])
    result = api.calculate_changes(desired_configuration=desired, current_cluster_state=EMPTY_STATE, local_state=empty_node_local_state(api))
    expected = sequentially(changes=[])
    self.assertEqual(expected, result)
