def test_run_image_extrapolate_env(self): service = FakeService() service.env = {'ENV_ONE': 'http://{host}:{port:d}'} context.Context['host'] = 'zombo.com' context.Context['port'] = 80 agent = ServiceAgent(service, DEFAULT_OPTIONS, None) agent.run_image() assert len(self.docker._services_started) == 1 _, service, _ = self.docker._services_started[0] assert service.env['ENV_ONE'] == 'http://zombo.com:80'
def test_start_existing_if_differing_env_value_type_but_not_string(self): service = FakeService() service.env = {'KEY': 12345} agent = ServiceAgent(service, DEFAULT_OPTIONS, None) self.docker._existing_containers = [ Bunch(status='exited', network='the-network', id='longass-container-id', image=Bunch(tags=[service.image]), attrs={'Config': { 'Env': ['KEY=12345'] }}, name="{}-testing-123".format(service.name)) ] agent.run_image() assert len(self.docker._services_started) == 0
def test_start_new_container_if_differing_env_value(self): service = FakeService() service.env = {'KEY': 'some-value'} agent = ServiceAgent(service, DEFAULT_OPTIONS, None) self.docker._existing_containers = [ Bunch(status='exited', network='the-network', id='longass-container-id', image=Bunch(tags=[service.image]), attrs={'Config': { 'Env': ['KEY=other-value'] }}, name="{}-miniboss-123".format(service.name)) ] agent.run_image() assert len(self.docker._services_started) == 1 prefix, service, network = self.docker._services_started[0] assert prefix == "service1-testing" assert service.name == 'service1' assert service.image == 'not/used' assert network.name == 'the-network' assert self.docker._containers_ran == []