Exemplo n.º 1
0
    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,
                                                              )
Exemplo n.º 2
0
    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,
        )
Exemplo n.º 3
0
    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)
Exemplo n.º 4
0
    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)