Пример #1
0
def test_service_early_resource():
    env = Environment('dev',
                      basedir=os.path.dirname(__file__) +
                      '/fixture/service_early_resource')
    env.load()
    env.configure()
    assert env.resources.get('zeo') == ['127.0.0.1:9000']
Пример #2
0
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)
Пример #3
0
def test_resolver_overrides_invalid_address(sample_service):
    e = Environment('test-resolver-invalid')
    e.load()

    with pytest.raises(batou.InvalidIPAddressError) as err:
        e.configure()
    assert "thisisinvalid" == err.value.address
Пример #4
0
def test_service_early_resource():
    env = Environment("dev",
                      basedir=os.path.dirname(__file__) +
                      "/fixture/service_early_resource")
    env.load()
    env.configure()
    assert env.resources.get("zeo") == ["127.0.0.1:9000"]
Пример #5
0
def test_log_in_component_configure_is_put_out(output, sample_service):
    e = Environment("test-with-provide-require")
    e.load()
    e.configure()
    log = "\n".join(c[0][0].strip() for c in output.call_args_list)
    # Provide is *always* logged first, due to provide/require ordering.
    assert (
        """\
Provide
Pre sub
Sub!
Post sub"""
        == log
    )

    output.reset_mock()
    for root in e.root_dependencies():
        root.component.deploy(True)

    log = "\n".join(c[0][0].strip() for c in output.call_args_list)
    assert (
        """\
localhost > Hello
localhost: <Hello (localhost) "Hello"> verify: asdf=None\
"""
        == log
    )
Пример #6
0
def test_remote_deployment_initializable(sample_service):
    cmd("hg init")
    with open(".hg/hgrc", "w") as f:
        f.write("[paths]\ndefault=https://example.com")
    env = Environment("test-with-env-config")
    env.load()
    env.configure()
    Deployment(env, platform="", jobs=1, timeout=30, dirty=False)
Пример #7
0
def test_remote_deployment_initializable(sample_service):
    cmd('hg init')
    with open('.hg/hgrc', 'w') as f:
        f.write('[paths]\ndefault=https://example.com')
    env = Environment('test-with-env-config')
    env.load()
    env.configure()
    Deployment(env, platform='', jobs=1, timeout=30, dirty=False)
Пример #8
0
def test_remotehost_start(sample_service):
    env = Environment("test-with-env-config")
    env.load()
    env.configure()
    h = RemoteHost("asdf", env)
    h.connect = mock.Mock()
    h.rpc = mock.Mock()
    h.rpc.ensure_base.return_value = '/tmp'
    h.start()
Пример #9
0
def test_remotehost_start(sample_service):
    env = Environment("test-with-env-config")
    env.load()
    env.configure()
    d = Deployment(env, platform="", jobs=1, timeout=30, dirty=False)
    h = RemoteHost("asdf", env)
    h.connect = mock.Mock()
    h.rpc = mock.Mock()
    h.rpc.ensure_base.return_value = '/tmp'
    h.start()