class Deployment(object): environment = None def __init__(self, env_name, host_name, overrides, host_data, timeout, platform): self.env_name = env_name self.host_name = host_name self.overrides = overrides self.host_data = host_data self.timeout = timeout self.platform = platform def load(self): from batou.environment import Environment self.environment = Environment(self.env_name, self.timeout, self.platform) self.environment.deployment = self self.environment.load() self.environment.overrides = self.overrides for hostname, data in self.host_data.items(): self.environment.hosts[hostname].data.update(data) self.environment.configure() def deploy(self, root, predict_only): root = self.environment.get_root(root, self.host_name) root.component.deploy(predict_only)
def test_get_root_raises_keyerror_on_nonassigned_component(): e = Environment('foo') with pytest.raises(KeyError): e.get_root('asdf', 'localhost')
def test_get_root_raises_keyerror_on_nonassigned_component(): e = Environment("foo") with pytest.raises(KeyError): e.get_root("asdf", Host("localhost", e))