def test_starts_instance_on_specific_slug_runner_version(self, uuid_mock, docker_client): # given (mock_client_node1, mock_client_node2, mock_client_node3) = ClientMock().mock_two_docker_nodes(docker_client) uuid_mock.return_value = 'SOME-OTHER-UUID' # when connection = Connection(self.config) started_instance = connection.start_instance( "paye", "https://host/paye_216.tgz", "node-1", None, {'HMRC_CONFIG': "-Dapplication.log=INFO -Drun.mode=Prod -Dlogger.resource=/application-json-logger.xml -Dhttp.port=8080", 'JAVA_OPTS': "-Xmx256m -Xms256m"}, 2, None, "0.0.99") # then mock_client_node1.create_container.assert_called_with(image="{}:{}".format(self.config.slug_runner_image, "0.0.99"), command=self.config.slug_runner_command, ports=[8080], environment={ 'PORT': '8080', 'SLUG_URL': 'https://host/paye_216.tgz', 'HMRC_CONFIG': '-Dapplication.log=INFO -Drun.mode=Prod -Dlogger.resource=/application-json-logger.xml -Dhttp.port=8080', 'JAVA_OPTS': '-Xmx256m -Xms256m' }, detach=True, name="paye_SOME-OTHER-UUID", cpu_shares=2, hostname=None, mem_limit=256 * 1024 * 1024, )
def test_starts_instance_on_specific_slug_runner_version( self, uuid_mock, docker_client): # given (mock_client_node1, mock_client_node2, mock_client_node3) = ClientMock().mock_two_docker_nodes(docker_client) uuid_mock.return_value = 'SOME-OTHER-UUID' # when connection = Connection(self.config, self.docker_node_resolver) started_instance = connection.start_instance( "paye", "https://host/paye_216.tgz", "node-1", None, { 'HMRC_CONFIG': "-Dapplication.log=INFO -Drun.mode=Prod -Dlogger.resource=/application-json-logger.xml -Dhttp.port=8080", 'JAVA_OPTS': "-Xmx256m -Xms256m" }, 2, None, "0.0.99") # then mock_client_node1.create_container.assert_called_with( image="{}:{}".format(self.config.slug_runner_image, "0.0.99"), command=self.config.slug_runner_command, ports=[8080], environment={ 'PORT': '8080', 'SLUG_URL': 'https://host/paye_216.tgz', 'HMRC_CONFIG': '-Dapplication.log=INFO -Drun.mode=Prod -Dlogger.resource=/application-json-logger.xml -Dhttp.port=8080', 'JAVA_OPTS': '-Xmx256m -Xms256m' }, detach=True, name="paye_SOME-OTHER-UUID", cpu_shares=2, hostname=None, mem_limit=256 * 1024 * 1024, )
def test_starts_instance(self, uuid_mock, docker_client): # given (mock_client_node1, mock_client_node2, mock_client_node3) = ClientMock().mock_two_docker_nodes(docker_client) uuid_mock.return_value = 'SOME-UUID' # when connection = Connection(self.config) started_instance = connection.start_instance( "paye", "https://host/paye_216.tgz", "node-1", None, { 'HMRC_CONFIG': "-Dapplication.log=INFO -Drun.mode=Prod -Dlogger.resource=/application-json-logger.xml -Dhttp.port=8080", 'JAVA_OPTS': "-Xmx256m -Xms256m" }, 2) # then self.assertEqual("eba8bea2600029", started_instance["id"]) self.assertEqual("paye", started_instance["app"]) self.assertEqual("node-1", started_instance["node"]) self.assertEqual(9317, started_instance["port"]) self.assertEqual("https://host/paye_216.tgz", started_instance["slug_uri"]) self.assertEqual(2, started_instance["environment"].__len__()) self.assertEqual( "-Dapplication.log=INFO -Drun.mode=Prod -Dlogger.resource=/application-json-logger.xml -Dhttp.port=8080", started_instance["environment"]["HMRC_CONFIG"]) self.assertEqual("-Xmx256m -Xms256m", started_instance["environment"]["JAVA_OPTS"]) self.assertEqual(2, started_instance["slots"]) mock_client_node1.create_container.assert_called_with( image=self.config.slug_runner_image, command=self.config.slug_runner_command, ports=[8080], environment={ 'PORT': '8080', 'SLUG_URL': 'https://host/paye_216.tgz', 'HMRC_CONFIG': '-Dapplication.log=INFO -Drun.mode=Prod -Dlogger.resource=/application-json-logger.xml -Dhttp.port=8080', 'JAVA_OPTS': '-Xmx256m -Xms256m' }, detach=True, name="paye_SOME-UUID", cpu_shares=2, mem_limit=256 * 1024 * 1024, ) connection.start_instance( "paye", "http://host/paye-216-slug.tgz", "node-1", None, { 'HMRC_CONFIG': "-Dapplication.log=INFO -Drun.mode=Prod -Dlogger.resource=/application-json-logger.xml -Dhttp.port=8080", 'JAVA_OPTS': "-Xmx256m -Xms256m" }) mock_client_node1.create_container.assert_called_with( image=self.config.slug_runner_image, command=self.config.slug_runner_command, ports=[8080], environment={ 'PORT': '8080', 'SLUG_URL': 'http://host/paye-216-slug.tgz', 'HMRC_CONFIG': '-Dapplication.log=INFO -Drun.mode=Prod -Dlogger.resource=/application-json-logger.xml -Dhttp.port=8080', 'JAVA_OPTS': '-Xmx256m -Xms256m' }, detach=True, name="paye_SOME-UUID", cpu_shares=2, mem_limit=256 * 1024 * 1024, ) mock_client_node1.start.assert_called_with("eba8bea2600029", port_bindings={8080: None}) self.assertFalse(mock_client_node2.create_container.called) self.assertFalse(mock_client_node2.start.called)
def test_starts_instance(self, uuid_mock, docker_client): # given (mock_client_node1, mock_client_node2, mock_client_node3) = ClientMock().mock_two_docker_nodes(docker_client) uuid_mock.return_value = 'SOME-UUID' # when connection = Connection(self.config) started_instance = connection.start_instance( "paye", "https://host/paye_216.tgz", "node-1", None, {'HMRC_CONFIG': "-Dapplication.log=INFO -Drun.mode=Prod -Dlogger.resource=/application-json-logger.xml -Dhttp.port=8080", 'JAVA_OPTS': "-Xmx256m -Xms256m"}, 2) # then self.assertEqual("eba8bea2600029", started_instance["id"]) self.assertEqual("paye", started_instance["app"]) self.assertEqual("node-1", started_instance["node"]) self.assertEqual(9317, started_instance["port"]) self.assertEqual("https://host/paye_216.tgz", started_instance["slug_uri"]) self.assertEqual(2, started_instance["environment"].__len__()) self.assertEqual("-Dapplication.log=INFO -Drun.mode=Prod -Dlogger.resource=/application-json-logger.xml -Dhttp.port=8080", started_instance["environment"]["HMRC_CONFIG"]) self.assertEqual("-Xmx256m -Xms256m", started_instance["environment"]["JAVA_OPTS"]) self.assertEqual(2, started_instance["slots"]) mock_client_node1.create_container.assert_called_with(image="{}:{}".format(self.config.slug_runner_image, str(self.config.slug_runner_version)), command=self.config.slug_runner_command, ports=[8080], environment={ 'PORT': '8080', 'SLUG_URL': 'https://host/paye_216.tgz', 'HMRC_CONFIG': '-Dapplication.log=INFO -Drun.mode=Prod -Dlogger.resource=/application-json-logger.xml -Dhttp.port=8080', 'JAVA_OPTS': '-Xmx256m -Xms256m' }, detach=True, name="paye_SOME-UUID", cpu_shares=2, hostname=None, mem_limit=256 * 1024 * 1024, ) connection.start_instance( "paye", "http://host/paye-216-slug.tgz", "node-1", None, {'HMRC_CONFIG': "-Dapplication.log=INFO -Drun.mode=Prod -Dlogger.resource=/application-json-logger.xml -Dhttp.port=8080", 'JAVA_OPTS': "-Xmx256m -Xms256m"}) mock_client_node1.create_container.assert_called_with(image="{}:{}".format(self.config.slug_runner_image, str(self.config.slug_runner_version)), command=self.config.slug_runner_command, ports=[8080], environment={ 'PORT': '8080', 'SLUG_URL': 'http://host/paye-216-slug.tgz', 'HMRC_CONFIG': '-Dapplication.log=INFO -Drun.mode=Prod -Dlogger.resource=/application-json-logger.xml -Dhttp.port=8080', 'JAVA_OPTS': '-Xmx256m -Xms256m' }, detach=True, name="paye_SOME-UUID", cpu_shares=2, mem_limit=256 * 1024 * 1024, hostname=None, ) mock_client_node1.start.assert_called_with("eba8bea2600029", port_bindings={8080: None}) self.assertFalse(mock_client_node2.create_container.called) self.assertFalse(mock_client_node2.start.called)