def test_get_streams(self, hlsstream, mock_http, mock_get_stream_data): mock_get_stream_data.return_value = { "stream": "http://test.se/stream1" } page_resp = Mock() page_resp.text = u""" <div class="video-js theoplayer-skin theo-seekbar-above-controls content-box vjs-fluid" data-resource= "bbcone" data-token = "1324567894561268987948596154656418448489159" data-content-type="live" data-environment="live" data-subscription="free" data-channel-id="89"> <div id="channel-info" class="channel-info"> <div class="row visible-xs visible-sm"> """ mock_http.get.return_value = page_resp hlsstream.parse_variant_playlist.return_value = {"test": HLSStream(self.session, "http://test.se/stream1")} TVPlayer.bind(self.session, "test.plugin.tvplayer") plugin = TVPlayer("http://tvplayer.com/watch/dave") streams = plugin.get_streams() self.assertTrue("test" in streams) # test the url is used correctly mock_http.get.assert_called_with("http://tvplayer.com/watch/dave") # test that the correct API call is made mock_get_stream_data.assert_called_with(resource="bbcone", channel_id="89", token="1324567894561268987948596154656418448489159") # test that the correct URL is used for the HLSStream hlsstream.parse_variant_playlist.assert_called_with(ANY, "http://test.se/stream1")
def test_get_invalid_page(self, mock_http): page_resp = Mock() page_resp.text = u""" var validate = "foo"; var resourceId = "1234"; """ mock_http.get.return_value = page_resp plugin = TVPlayer("http://tvplayer.com/watch/dave") streams = plugin.get_streams() self.assertEqual({}, streams) # test the url is used correctly mock_http.get.assert_called_with("http://tvplayer.com/watch/dave", headers=ANY)
def test_get_invalid_page(self, mock_http): page_resp = Mock() page_resp.text = u""" var validate = "foo"; var resourceId = "1234"; """ mock_http.get.return_value = page_resp TVPlayer.bind(self.session, "test.plugin.tvplayer") plugin = TVPlayer("http://tvplayer.com/watch/dave") streams = plugin.get_streams() self.assertEqual({}, streams) # test the url is used correctly mock_http.get.assert_called_with("http://tvplayer.com/watch/dave")
def test_get_invalid_page(self): page_resp = Mock() page_resp.text = u""" var validate = "foo"; var resourceId = "1234"; """ self.session.http.get.return_value = page_resp TVPlayer.bind(self.session, "test.tvplayer") plugin = TVPlayer("http://tvplayer.com/watch/dave") streams = plugin.get_streams() self.assertEqual({}, streams) # test the url is used correctly self.session.http.get.assert_called_with( "http://tvplayer.com/watch/dave")
def test_get_streams(self, hlsstream, mock_get_stream_data): mock_get_stream_data.return_value = { "stream": "http://test.se/stream1" } page_resp = Mock() page_resp.text = u""" <div class="video-js theoplayer-skin theo-seekbar-above-controls content-box vjs-fluid" data-resource= "bbcone" data-token = "1324567894561268987948596154656418448489159" data-content-type="live" data-environment="live" data-subscription="free" data-channel-id="89"> <div id="channel-info" class="channel-info"> <div class="row visible-xs visible-sm"> """ self.session.http.get.return_value = page_resp hlsstream.parse_variant_playlist.return_value = { "test": HLSStream(self.session, "http://test.se/stream1") } TVPlayer.bind(self.session, "test.tvplayer") plugin = TVPlayer("http://tvplayer.com/watch/dave") streams = plugin.get_streams() self.assertTrue("test" in streams) # test the url is used correctly self.session.http.get.assert_called_with( "http://tvplayer.com/watch/dave") # test that the correct API call is made mock_get_stream_data.assert_called_with( resource="bbcone", channel_id="89", token="1324567894561268987948596154656418448489159") # test that the correct URL is used for the HLSStream hlsstream.parse_variant_playlist.assert_called_with( ANY, "http://test.se/stream1")
def test_get_streams(self, hlsstream, mock_http): api_data = { "tvplayer": { "status": "200 OK", "response": { "stream": "http://test.se/stream1" } } } page_resp = Mock() page_resp.text = u""" var validate = "foo"; var resourceId = "1234"; var platform = "test"; """ api_resp = Mock() api_resp.text = json.dumps(api_data) mock_http.get.return_value = page_resp mock_http.post.return_value = api_resp mock_http.json.return_value = api_data hlsstream.parse_variant_playlist.return_value = { "test": HLSStream(None, "http://test.se/stream1") } plugin = TVPlayer("http://tvplayer.com/watch/dave") streams = plugin.get_streams() self.assertTrue("test" in streams) # test the url is used correctly mock_http.get.assert_called_with("http://tvplayer.com/watch/dave", headers=ANY) # test that the correct API call is made mock_http.post.assert_called_with( "http://api.tvplayer.com/api/v2/stream/live", data=dict(id=u"1234", validate=u"foo", platform=u"test")) # test that the correct URL is used for the HLSStream hlsstream.parse_variant_playlist.assert_called_with( ANY, "http://test.se/stream1", headers=ANY)