class TestConsulDockerRunner(unittest.TestCase): """ Test the docker runner """ @mock.patch('mc.builders.Client') def setUp(self, mocked): instance = mocked.return_value instance.create_container.return_value = {'Id': 'mocked'} instance.port.return_value = [{ 'HostIp': '127.0.0.1', 'HostPort': 1234 }] instance.containers.return_value = [{ u'Command': u'/entrypoint.sh redis-server', u'Created': 1443632967, u'Id': u'mocked', u'Image': u'redis', u'Labels': {}, u'Names': [u'/livetest-redis-tLJpZ'], u'Ports': [{ u'PrivatePort': 6379, u'Type': u'tcp' }], u'Status': u'Up About a minute' }] self.instance = instance self.builder = ConsulDockerRunner(network_mode="host") def test_ready(self): """ Tests the health check of the service and makes sure it is ready """ with HTTMock(response_404): self.assertTrue(self.builder.ready) def test_not_ready(self): """ Tests the health check of the service and makes sure it is not ready """ with HTTMock(response_500): self.assertFalse(self.builder.ready) @mock.patch('mc.builders.ConsulDockerRunner.service_provisioner') def test_can_provision(self, mocked_consul_runner): """ Tests that there is a method that allows provisioning """ self.builder.provision(services=['adsaws']) mocked_consul_runner.assert_has_calls([ mock.call(services=['adsaws'], container=self.builder, requirements=None), mock.call()() ])
class TestConsulDockerRunner(unittest.TestCase): """ Test the docker runner """ @mock.patch('mc.builders.Client') def setUp(self, mocked): instance = mocked.return_value instance.create_container.return_value = {'Id': 'mocked'} instance.port.return_value = [{'HostIp': '127.0.0.1', 'HostPort': 1234}] instance.containers.return_value = [ { u'Command': u'/entrypoint.sh redis-server', u'Created': 1443632967, u'Id': u'mocked', u'Image': u'redis', u'Labels': {}, u'Names': [u'/livetest-redis-tLJpZ'], u'Ports': [{u'PrivatePort': 6379, u'Type': u'tcp'}], u'Status': u'Up About a minute' } ] self.instance = instance self.builder = ConsulDockerRunner(network_mode="host") def test_ready(self): """ Tests the health check of the service and makes sure it is ready """ with HTTMock(response_404): self.assertTrue(self.builder.ready) def test_not_ready(self): """ Tests the health check of the service and makes sure it is not ready """ with HTTMock(response_500): self.assertFalse(self.builder.ready) @mock.patch('mc.builders.ConsulDockerRunner.service_provisioner') def test_can_provision(self, mocked_consul_runner): """ Tests that there is a method that allows provisioning """ self.builder.provision(services=['adsaws']) mocked_consul_runner.assert_has_calls([ mock.call(services=['adsaws'], container=self.builder, requirements=None), mock.call()() ])