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