Пример #1
0
    def test_to_canonical_review_url(self):
        chrome_internal_url = 'https://chromereviews.googleplex.com/210457013/'
        self.assertEqual(
            chrome_internal_url,
            code_review_parse.to_canonical_review_url(chrome_internal_url))

        cr_appspot_url = 'https://codereview.appspot.com/244460044/'
        self.assertEqual(
            cr_appspot_url,
            code_review_parse.to_canonical_review_url(cr_appspot_url))

        chromiumcr_url = 'https://chromiumcodereview.appspot.com/1147143006/'
        self.assertEqual(
            'https://codereview.chromium.org/1147143006/',
            code_review_parse.to_canonical_review_url(chromiumcr_url))

        chromiumcr_hr_url = 'https://chromiumcodereview-hr.appspot.com/1147143006/'
        self.assertEqual(
            'https://codereview.chromium.org/1147143006/',
            code_review_parse.to_canonical_review_url(chromiumcr_hr_url))

        codereview_chromium_url = 'https://codereview.chromium.org/1147143006/'
        self.assertEqual(
            codereview_chromium_url,
            code_review_parse.to_canonical_review_url(codereview_chromium_url))
Пример #2
0
def get_rietveld_diff(rietveld_url, cc, git_checkout_path):  # pragma: no cover
  """Reads the diff for a specified commit

  Args:
    commit_hash(str): a git hash
    cc: a cursor for the Cloud SQL connection
    git_checkout_path(str): path to a local git checkout

  Return:
    diff(list): the lines in the rietveld diff
  """
  canonical_url = crp.to_canonical_review_url(rietveld_url)
  json_data = crp.extract_code_review_json_data(
      canonical_url, cc, git_checkout_path)
  for message in json_data['messages']:
    if ('committed' in message['text'].lower() and
        (json_data['closed'] or message['issue_was_closed'])):
      if 'patchset' in message:
        patchset = message['patchset']
      elif message['text'] and 'patchset' in message['text']:
        for word in message['text'].split():
          if word.startswith('(id:'):
            patchset = word[4:].strip(')')
      else:
        # no commited patchset id found so diff comparison cannot happen
        return []
      url_components = re.split('(https?:\/\/)([\da-z\.-]+)', canonical_url)
      diff_url = '%s%s/download/issue%s_%s.diff' % (url_components[1],
                  url_components[2], url_components[3][1:], patchset)
      h = httplib2.Http(".cache")
      _, content = h.request(diff_url, "GET")
      lines = content.splitlines()
      return lines
  return []
  def test_to_canonical_review_url(self):
    chrome_internal_url = 'https://chromereviews.googleplex.com/210457013/'
    self.assertEqual(chrome_internal_url,
          code_review_parse.to_canonical_review_url(chrome_internal_url))

    cr_appspot_url = 'https://codereview.appspot.com/244460044/'
    self.assertEqual(cr_appspot_url,
                    code_review_parse.to_canonical_review_url(cr_appspot_url))

    chromiumcr_url = 'https://chromiumcodereview.appspot.com/1147143006/'
    self.assertEqual('https://codereview.chromium.org/1147143006/',
                    code_review_parse.to_canonical_review_url(chromiumcr_url))

    chromiumcr_hr_url = 'https://chromiumcodereview-hr.appspot.com/1147143006/'
    self.assertEqual('https://codereview.chromium.org/1147143006/',
                 code_review_parse.to_canonical_review_url(chromiumcr_hr_url))

    codereview_chromium_url = 'https://codereview.chromium.org/1147143006/'
    self.assertEqual(codereview_chromium_url,
           code_review_parse.to_canonical_review_url(codereview_chromium_url))