From 5f2a6430feff38f8461c9a82787f579bfb939e04 Mon Sep 17 00:00:00 2001 From: Jeremy Bowman Date: Wed, 18 Sep 2019 13:56:11 -0400 Subject: [PATCH] Fix YouTube stub responses --- .../terrain/stubs/tests/test_youtube_stub.py | 8 ++++---- common/djangoapps/terrain/stubs/youtube.py | 12 ++++++------ 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/common/djangoapps/terrain/stubs/tests/test_youtube_stub.py b/common/djangoapps/terrain/stubs/tests/test_youtube_stub.py index 0ad715420e..ce8da2cd69 100644 --- a/common/djangoapps/terrain/stubs/tests/test_youtube_stub.py +++ b/common/djangoapps/terrain/stubs/tests/test_youtube_stub.py @@ -22,7 +22,7 @@ class StubYouTubeServiceTest(unittest.TestCase): def test_unused_url(self): response = requests.get(self.url + 'unused_url') - self.assertEqual("Unused url", response.content) + self.assertEqual(b"Unused url", response.content) @unittest.skip('Failing intermittently due to inconsistent responses from YT. See TE-871') def test_video_url(self): @@ -32,7 +32,7 @@ class StubYouTubeServiceTest(unittest.TestCase): # YouTube metadata for video `OEoXaMPEzfM` states that duration is 116. self.assertEqual( - 'callback_func({"data": {"duration": 116, "message": "I\'m youtube.", "id": "OEoXaMPEzfM"}})', + b'callback_func({"data": {"duration": 116, "message": "I\'m youtube.", "id": "OEoXaMPEzfM"}})', response.content ) @@ -46,7 +46,7 @@ class StubYouTubeServiceTest(unittest.TestCase): '', '', 'Equal transcripts' - ]), response.content + ]).encode('utf-8'), response.content ) def test_transcript_url_not_equal(self): @@ -60,7 +60,7 @@ class StubYouTubeServiceTest(unittest.TestCase): '', 'Transcripts sample, different that on server', '' - ]), response.content + ]).encode('utf-8'), response.content ) def test_transcript_not_found(self): diff --git a/common/djangoapps/terrain/stubs/youtube.py b/common/djangoapps/terrain/stubs/youtube.py index 9b3be70de5..73a8b6778a 100644 --- a/common/djangoapps/terrain/stubs/youtube.py +++ b/common/djangoapps/terrain/stubs/youtube.py @@ -65,7 +65,7 @@ class StubYouTubeHandler(StubHttpRequestHandler): '', '', 'Equal transcripts' - ]) + ]).encode('utf-8') self.send_response( 200, content=status_message, headers={'Content-type': 'application/xml'} @@ -77,7 +77,7 @@ class StubYouTubeHandler(StubHttpRequestHandler): '', 'Transcripts sample, different that on server', '' - ]) + ]).encode('utf-8') self.send_response( 200, content=status_message, headers={'Content-type': 'application/xml'} @@ -99,7 +99,7 @@ class StubYouTubeHandler(StubHttpRequestHandler): # Delay the response to simulate network latency time.sleep(self.server.config.get('time_to_response', self.DEFAULT_DELAY_SEC)) if self.server.config.get('youtube_api_blocked'): - self.send_response(404, content='', headers={'Content-type': 'text/plain'}) + self.send_response(404, content=b'', headers={'Content-type': 'text/plain'}) else: # Get the response to send from YouTube. # We need to do this every time because Google sometimes sends different responses @@ -110,7 +110,7 @@ class StubYouTubeHandler(StubHttpRequestHandler): else: self.send_response( - 404, content="Unused url", headers={'Content-type': 'text/plain'} + 404, content=b"Unused url", headers={'Content-type': 'text/plain'} ) def _send_video_response(self, youtube_id, message): @@ -134,7 +134,7 @@ class StubYouTubeHandler(StubHttpRequestHandler): }) ) }) - response = "{cb}({data})".format(cb=callback, data=json.dumps(data)) + response = "{cb}({data})".format(cb=callback, data=json.dumps(data)).encode('utf-8') self.send_response(200, content=response, headers={'Content-type': 'text/html'}) self.log_message("Youtube: sent response {}".format(message)) @@ -158,7 +158,7 @@ class StubYouTubeHandler(StubHttpRequestHandler): "message": message, }) }) - response = "{cb}({data})".format(cb=callback, data=json.dumps(data)) + response = "{cb}({data})".format(cb=callback, data=json.dumps(data)).encode('utf-8') self.send_response(200, content=response, headers={'Content-type': 'text/html'}) self.log_message("Youtube: sent response {}".format(message))