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))
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))