def get(self, request, id_video, format=None): scrape = Scrape() page = scrape.get_webpage_videos(id_video) if page.status_code == 200: videos_json = scrape.scraping_videos(page.text) else: videos_json = {'error': _('Videos sessions not found!')} return JsonResponse(videos_json, safe=False)
def test_invalid_url_get_file_video(): with pytest.raises(NotFound) as excinfo: url = 'https://www.invalid-url' scrape = Scrape() scrape.get_file_video(url) assert excinfo.typename == 'NotFound' assert excinfo.value.status_code == 404 assert excinfo.value.detail == _('Invalid url information')
def test_scraping_videos(): scrape = Scrape() response = scrape.scraping_videos(HTML_SCRAPE) assert 'url' in response[1] assert 'author' in response[1] assert 'legend' in response[1] assert 'schedule' in response[1] assert 'duration' in response[1] assert 'thumbnail' in response[1]
def post(self, request, format=None): serializer = FileVideoSerializer(data=request.data) if serializer.is_valid() is False: return Response(serializer.errors, status=400) else: scrape = Scrape() page = scrape.get_file_video(serializer.data['url']) if page.status_code == 200: videos_json = scrape.scraping_file_video(page.text) else: videos_json = {'error': _('File video not found!')} return JsonResponse(videos_json, safe=False)
def test_get_file_video(): url = 'https://www.camara.leg.br/evento-legislativo/59733/sessao/523169/video-trecho/1594254243193' # NOQA responses.add(responses.GET, url, body=HTML_FILE_VIDEO, status=200) scrape = Scrape() response = scrape.get_file_video(url) assert response.status_code == 200 assert len(responses.calls) == 1 assert response.text == HTML_FILE_VIDEO
def test_get_webpage_videos(): url = 'https://www.camara.leg.br/evento-legislativo/1234' responses.add(responses.GET, url, body=HTML_SCRAPE, status=200) scrape = Scrape() response = scrape.get_webpage_videos(1234) assert response.status_code == 200 assert len(responses.calls) == 1 assert response.text == HTML_SCRAPE
def test_format_videos(): scrape = Scrape() videos = scrape.scraping_videos(HTML_SCRAPE) soup = BeautifulSoup(HTML_SCRAPE, 'html.parser') videos = soup.find_all(class_='chamada__link-trecho linkReproduzir') response = scrape.format_videos(videos[0]) assert 'url' in response assert 'author' in response assert 'legend' in response assert 'schedule' in response assert 'duration' in response assert 'thumbnail' in response
def test_scraping_file_video(): scrape = Scrape() response = scrape.scraping_file_video(HTML_FILE_VIDEO) assert response == 'https://vod2.camara.leg.br/playlist/z7olw-vipoftz0fbfb_lra.mp4' # NOQA
def test_error_format_videos(): scrape = Scrape() response = scrape.format_videos('') assert 'error' in response assert response['error'] == 'Error get description'