Esempio n. 1
0
    def get(self):  # pragma: no cover
        key = self.request.get(PARAM_KEY)
        master = self.request.get(PARAM_MASTER)
        builder = self.request.get(PARAM_BUILDER)
        test_type = self.request.get(PARAM_TEST_TYPE)
        build_number = self.request.get(PARAM_BUILD_NUMBER, default_value=None)
        name = self.request.get(PARAM_NAME)
        before = self.request.get(PARAM_BEFORE)
        num_files = self.request.get(PARAM_NUM_FILES)
        test_list_json = self.request.get(PARAM_TEST_LIST_JSON)
        callback_name = self.request.get(PARAM_CALLBACK)

        logging.debug(("Getting files, master %s, builder: %s, test_type: %s, "
                       "build_number: %s, name: %s, before: %s."), master,
                      builder, test_type, build_number, name, before)

        if key:
            json, date = self._get_file_content_from_key(key)
        elif (num_files or not master or not builder or not test_type
              or (not build_number and not JsonResults.is_aggregate_file(name))
              or not name):
            limit = int(num_files) if num_files else 100
            self._get_file_list(master, builder, test_type, build_number, name,
                                before, limit, callback_name)
            return
        else:
            # FIXME: Stop using the old master name style after all files have been
            # updated.
            master_data = master_config.getMaster(master)
            if not master_data:
                master_data = master_config.getMasterByMasterName(master)
            if not master_data:
                self.response.headers["Access-Control-Allow-Origin"] = "*"
                self.response.set_status(404)
                return

            json, date = self._get_file_content(master_data['url_name'],
                                                builder, test_type,
                                                build_number, name)
            if json is None:
                json, date = self._get_file_content(master_data['name'],
                                                    builder, test_type,
                                                    build_number, name)

            if json and test_list_json:
                json = JsonResults.get_test_list(builder, json)

        if json:
            json = _replace_jsonp_callback(json, callback_name)

        self._serve_json(json, date)
Esempio n. 2
0
  def get(self):  # pragma: no cover
    key = self.request.get(PARAM_KEY)
    master = self.request.get(PARAM_MASTER)
    builder = self.request.get(PARAM_BUILDER)
    test_type = self.request.get(PARAM_TEST_TYPE)
    build_number = self.request.get(PARAM_BUILD_NUMBER, default_value=None)
    name = self.request.get(PARAM_NAME)
    before = self.request.get(PARAM_BEFORE)
    num_files = self.request.get(PARAM_NUM_FILES)
    test_list_json = self.request.get(PARAM_TEST_LIST_JSON)
    callback_name = self.request.get(PARAM_CALLBACK)

    logging.debug(("Getting files, master %s, builder: %s, test_type: %s, "
                   "build_number: %s, name: %s, before: %s."),
        master, builder, test_type, build_number, name, before)

    if key:
      json, date = self._get_file_content_from_key(key)
    elif (num_files or not master or not builder or not test_type
          or (not build_number and not JsonResults.is_aggregate_file(name))
          or not name):
      limit = int(num_files) if num_files else 100
      self._get_file_list(master, builder, test_type, build_number, name,
          before, limit, callback_name)
      return
    else:
      # FIXME: Stop using the old master name style after all files have been
      # updated.
      master_data = master_config.getMaster(master)
      if not master_data:
        master_data = master_config.getMasterByMasterName(master)
      if not master_data:
        self.response.headers["Access-Control-Allow-Origin"] = "*"
        self.response.set_status(404)
        return

      json, date = self._get_file_content(
          master_data['url_name'], builder, test_type, build_number, name)
      if json is None:
        json, date = self._get_file_content(
            master_data['name'], builder, test_type, build_number, name)

      if json and test_list_json:
        json = JsonResults.get_test_list(builder, json)

    if json:
      json = _replace_jsonp_callback(json, callback_name)

    self._serve_json(json, date)
Esempio n. 3
0
 def _test_get_test_list(self, input_data, expected_data):
   input_results = self._make_test_json(input_data)
   expected_results = JSON_RESULTS_TEST_LIST_TEMPLATE.replace(
       "{[TESTDATA_TESTS]}", json.dumps(expected_data, separators=(',', ':')))
   actual_results = JsonResults.get_test_list(self._builder, input_results)
   self.assert_json_equal(actual_results, expected_results)
Esempio n. 4
0
 def _test_get_test_list(self, input_data, expected_data):
   input_results = self._make_test_json(input_data)
   expected_results = JSON_RESULTS_TEST_LIST_TEMPLATE.replace(
       "{[TESTDATA_TESTS]}", json.dumps(expected_data, separators=(',', ':')))
   actual_results = JsonResults.get_test_list(self._builder, input_results)
   self.assert_json_equal(actual_results, expected_results)