Exemplo n.º 1
0
 def test_get_evergreen_api_bad_kwargs(self):
     api_server = "https://myserver.com"
     api_headers = {"header1": "val1", "header2": "val2"}
     with patch(EVERGREEN + ".get_evergreen_server", return_value=api_server),\
          patch(EVERGREEN + ".get_evergreen_headers", return_value=api_headers):
         with self.assertRaises(TypeError):
             evergreen.get_evergreen_apiv2(kw1="kw1")
Exemplo n.º 2
0
 def test_get_evergreen_api_bad_kwargs(self):
     api_server = "https://myserver.com"
     api_headers = {"header1": "val1", "header2": "val2"}
     with patch(EVERGREEN + ".get_evergreen_server", return_value=api_server),\
          patch(EVERGREEN + ".get_evergreen_headers", return_value=api_headers):
         with self.assertRaises(TypeError):
             evergreen.get_evergreen_apiv2(kw1="kw1")
Exemplo n.º 3
0
 def test_get_evergreen_api_kwargs_override(self):
     api_server = "https://myserver.com"
     api_headers = {"header1": "val1", "header2": "val2"}
     api_server_override = "https://myserver_override.com"
     api_headers_override = {"header1_override": "val1", "header2_override": "val2"}
     num_retries = 99
     with patch(EVERGREEN + ".get_evergreen_server", return_value=api_server),\
          patch(EVERGREEN + ".get_evergreen_headers", return_value=api_headers):
         with self.assertRaises(TypeError):
             evergreen.get_evergreen_apiv2(api_server=api_server_override,
                                           api_headers=api_headers_override,
                                           num_retries=num_retries)
Exemplo n.º 4
0
 def test_get_evergreen_api_kwargs_override(self):
     api_server = "https://myserver.com"
     api_headers = {"header1": "val1", "header2": "val2"}
     api_server_override = "https://myserver_override.com"
     api_headers_override = {
         "header1_override": "val1",
         "header2_override": "val2"
     }
     num_retries = 99
     with patch(EVERGREEN + ".get_evergreen_server", return_value=api_server),\
          patch(EVERGREEN + ".get_evergreen_headers", return_value=api_headers):
         with self.assertRaises(TypeError):
             evergreen.get_evergreen_apiv2(api_server=api_server_override,
                                           api_headers=api_headers_override,
                                           num_retries=num_retries)
Exemplo n.º 5
0
 def test_get_evergreen_api(self):
     api_server = "https://myserver.com"
     api_headers = {"header1": "val1", "header2": "val2"}
     with patch(EVERGREEN + ".get_evergreen_server", return_value=api_server),\
          patch(EVERGREEN + ".get_evergreen_headers", return_value=api_headers):
         evg_api = evergreen.get_evergreen_apiv2()
         self.assertEqual(api_server, evg_api.api_server)
         self.assertDictEqual(api_headers, evg_api.api_headers)
Exemplo n.º 6
0
 def test_get_evergreen_api(self):
     api_server = "https://myserver.com"
     api_headers = {"header1": "val1", "header2": "val2"}
     with patch(EVERGREEN + ".get_evergreen_server", return_value=api_server),\
          patch(EVERGREEN + ".get_evergreen_headers", return_value=api_headers):
         evg_api = evergreen.get_evergreen_apiv2()
         self.assertEqual(api_server, evg_api.api_server)
         self.assertDictEqual(api_headers, evg_api.api_headers)
Exemplo n.º 7
0
    def __init__(  # pylint: disable=too-many-arguments
            self, project=DEFAULT_PROJECT, tests=None, tasks=None, variants=None, distros=None,
            retries=evergreen.EvergreenApiV2.DEFAULT_RETRIES):
        """Initialize the TestHistory instance with the list of tests, tasks, variants, and distros.

        The list of tests specified are augmented to ensure that failures on both POSIX and Windows
        platforms are returned by the Evergreen API.
        """

        tests = tests if tests is not None else []
        tests = [test for test_file in tests for test in self._denormalize_test_file(test_file)]

        self._tests = tests
        self._tasks = tasks if tasks is not None else []
        self._variants = variants if variants is not None else []
        self._distros = distros if distros is not None else []
        self._project = project

        self.evg_api = evergreen.get_evergreen_apiv2(num_retries=retries)
        with open(os.path.join(CONFIG_DIR, task + ".json"), "w") as file_handle:
            file_handle.write(evg_config.to_json())

    def main(self):
        """Generate resmoke suites that run within a specified target execution time."""

        options = self.parse_commandline()
        self.options = options

        if options.verbose:
            enable_logging()

        LOGGER.debug("Starting execution for options %s", options)
        end_date = datetime.datetime.utcnow().replace(microsecond=0)
        start_date = end_date - datetime.timedelta(days=options.duration_days)

        prepare_directory_for_suite(CONFIG_DIR)

        suites = self.calculate_suites(start_date, end_date)

        LOGGER.debug("Creating %d suites for %s", len(suites), self.config_options.task)

        render_suite(suites, self.config_options.suite)
        render_misc_suite(self.test_list, self.config_options.suite)

        self.write_evergreen_configuration(suites, self.config_options.task)


if __name__ == "__main__":
    Main(evergreen.get_evergreen_apiv2()).main()
        with open(os.path.join(CONFIG_DIR, task + ".json"), "w") as file_handle:
            file_handle.write(evg_config.to_json())

    def main(self):
        """Generate resmoke suites that run within a specified target execution time."""

        options = self.parse_commandline()
        self.options = options

        if options.verbose:
            enable_logging()

        LOGGER.debug("Starting execution for options %s", options)
        end_date = datetime.datetime.utcnow().replace(microsecond=0)
        start_date = end_date - datetime.timedelta(days=options.duration_days)

        prepare_directory_for_suite(CONFIG_DIR)

        suites = self.calculate_suites(start_date, end_date)

        LOGGER.debug("Creating %d suites for %s", len(suites), self.config_options.task)

        render_suite(suites, self.config_options.suite)
        render_misc_suite(self.test_list, self.config_options.suite)

        self.write_evergreen_configuration(suites, self.config_options.task)


if __name__ == "__main__":
    Main(evergreen.get_evergreen_apiv2()).main()