From c13caac2d56095f4486cf462e6d4dc5eb6846739 Mon Sep 17 00:00:00 2001 From: Christoffer Jansson Date: Mon, 21 Feb 2022 16:32:18 +0100 Subject: [PATCH] Fix urllib import + add test Unblocks the chromium to webrtc roller. Bug: webrtc:13607 Change-Id: I877d8d25624bdc924425ef338f392ce7686207f2 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251984 Reviewed-by: Mirko Bonadei Commit-Queue: Christoffer Jansson Cr-Commit-Position: refs/heads/main@{#36038} --- tools_webrtc/autoroller/roll_deps.py | 2 +- .../autoroller/unittests/roll_deps_test.py | 34 +++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/tools_webrtc/autoroller/roll_deps.py b/tools_webrtc/autoroller/roll_deps.py index 0aa2320a63..269200bff5 100755 --- a/tools_webrtc/autoroller/roll_deps.py +++ b/tools_webrtc/autoroller/roll_deps.py @@ -18,7 +18,7 @@ import os import re import subprocess import sys -import urllib +import urllib.request def FindSrcDirPath(): diff --git a/tools_webrtc/autoroller/unittests/roll_deps_test.py b/tools_webrtc/autoroller/unittests/roll_deps_test.py index 688b6651b8..42db81c258 100755 --- a/tools_webrtc/autoroller/unittests/roll_deps_test.py +++ b/tools_webrtc/autoroller/unittests/roll_deps_test.py @@ -323,6 +323,40 @@ class TestChooseCQMode(unittest.TestCase): self.assertEqual(ChooseCQMode(False, 100, 500000, 500100), 2) +class TestReadUrlContent(unittest.TestCase): + def setUp(self): + self.url = 'http://localhost+?format=TEXT' + + def testReadUrlContent(self): + url_mock = mock.Mock() + roll_deps.urllib.request.urlopen = url_mock + + roll_deps.ReadUrlContent(self.url) + + calls = [ + mock.call('http://localhost+?format=TEXT'), + mock.call().readlines(), + mock.call().close() + ] + self.assertEqual(url_mock.mock_calls, calls) + + def testReadUrlContentError(self): + roll_deps.logging = mock.Mock() + + readlines_mock = mock.Mock() + readlines_mock.readlines = mock.Mock( + side_effect=IOError('Connection error')) + readlines_mock.close = mock.Mock() + + url_mock = mock.Mock(return_value=readlines_mock) + roll_deps.urllib.request.urlopen = url_mock + + try: + roll_deps.ReadUrlContent(self.url) + except OSError: + self.assertTrue(roll_deps.logging.exception.called) + + def _SetupGitLsRemoteCall(cmd_fake, url, revision): cmd = ['git', 'ls-remote', url, revision] cmd_fake.AddExpectation(cmd, _returns=(revision, None))