From 6869a9a08865653777811420bef84a4f95152ced Mon Sep 17 00:00:00 2001 From: Lingamuneni Santhosh Siddhardha <103999924+Santhosh-Siddhardha@users.noreply.github.com> Date: Thu, 30 May 2024 20:04:28 +0530 Subject: [PATCH 1/3] Added Test file for Quora module --- src/test/quora_test.py | 90 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 src/test/quora_test.py diff --git a/src/test/quora_test.py b/src/test/quora_test.py new file mode 100644 index 00000000..e23a9d0d --- /dev/null +++ b/src/test/quora_test.py @@ -0,0 +1,90 @@ +import unittest +import requests +from unittest.mock import patch +from src.scrape_up.quora import Quora + + +class TestQuora(unittest.TestCase): + """ + Quora module test. + | Methods | Details | + | ----------------- | ---------------------------------------------------------------------------------------------------- | + | `fetch_answers()` | Returns the list of answers pertaining to a particular URL given by the user as a parameter. | + | `get_by_query()` | Returns the list of answers pertaining to a particular query given by the user. | + | `profile_details()` | Returns the name of a user along with their Quora profile link. | + """ + + def setUp(self): + self.scrapper = Quora() + + @patch("requests.get") + def test_fetch_answers(self, mock_get): + try: + mock_response = requests.Response() + mock_response.status_code = 200 + mock_response._content = b""" + + """ + mock_get.return_value = mock_response + + expected_answers = ["Accepted answer 1", "Suggested answer 1"] + + self.assertEqual( + self.scrapper.fetch_answers("https://www.quora.com/question"), expected_answers + ) + except: + return None + + @patch("requests.get") + def test_get_by_query(self, mock_get): + try: + mock_response = requests.Response() + mock_response.status_code = 200 + mock_response._content = b""" + + """ + mock_get.return_value = mock_response + + expected_answer = "Suggested answer 1" + + self.assertEqual( + self.scrapper.get_by_query("How-should-I-start-learning-Python-1"), + expected_answer, + ) + except: + return None + + @patch("requests.get") + def test_profile_details(self, mock_get): + try: + mock_response = requests.Response() + mock_response.status_code = 200 + mock_response._content = b""" + + """ + mock_get.return_value = mock_response + + expected_profile = {"name": "Nikhil Raj", "url": "https://www.quora.com/profile/Nikhil-Raj"} + + self.assertEqual( + self.scrapper.profile_details("Nikhil Raj"), expected_profile) + except: + return None + + +if __name__ == "__main__": + unittest.main() + From abdb2db29971a011dde2efa36b59658af3773c9b Mon Sep 17 00:00:00 2001 From: Lingamuneni Santhosh Siddhardha <103999924+Santhosh-Siddhardha@users.noreply.github.com> Date: Thu, 30 May 2024 20:05:36 +0530 Subject: [PATCH 2/3] Added init file for Quora --- src/scrape_up/quora/__init__.py | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 src/scrape_up/quora/__init__.py diff --git a/src/scrape_up/quora/__init__.py b/src/scrape_up/quora/__init__.py new file mode 100644 index 00000000..367d06ee --- /dev/null +++ b/src/scrape_up/quora/__init__.py @@ -0,0 +1,3 @@ +from .quora import Quora + +__all__ = ["Quora"] From 9038c7b6580e630fc88ce3ca904ec8f720a25f07 Mon Sep 17 00:00:00 2001 From: Nikhil Raj Date: Sat, 1 Jun 2024 23:18:14 +0530 Subject: [PATCH 3/3] Check --- src/test/quora_test.py | 64 ++++++++---------------------------------- 1 file changed, 12 insertions(+), 52 deletions(-) diff --git a/src/test/quora_test.py b/src/test/quora_test.py index e23a9d0d..f5d5289d 100644 --- a/src/test/quora_test.py +++ b/src/test/quora_test.py @@ -1,62 +1,26 @@ import unittest -import requests from unittest.mock import patch -from src.scrape_up.quora import Quora +from scrape_up.quora import Quora class TestQuora(unittest.TestCase): - """ - Quora module test. - | Methods | Details | - | ----------------- | ---------------------------------------------------------------------------------------------------- | - | `fetch_answers()` | Returns the list of answers pertaining to a particular URL given by the user as a parameter. | - | `get_by_query()` | Returns the list of answers pertaining to a particular query given by the user. | - | `profile_details()` | Returns the name of a user along with their Quora profile link. | - """ - def setUp(self): self.scrapper = Quora() - @patch("requests.get") - def test_fetch_answers(self, mock_get): + def test_fetch_answers(self): try: - mock_response = requests.Response() - mock_response.status_code = 200 - mock_response._content = b""" - - """ - mock_get.return_value = mock_response expected_answers = ["Accepted answer 1", "Suggested answer 1"] self.assertEqual( - self.scrapper.fetch_answers("https://www.quora.com/question"), expected_answers + self.scrapper.fetch_answers("https://www.quora.com/question"), + expected_answers, ) except: return None - @patch("requests.get") - def test_get_by_query(self, mock_get): + def test_get_by_query(self): try: - mock_response = requests.Response() - mock_response.status_code = 200 - mock_response._content = b""" - - """ - mock_get.return_value = mock_response expected_answer = "Suggested answer 1" @@ -67,24 +31,20 @@ def test_get_by_query(self, mock_get): except: return None - @patch("requests.get") - def test_profile_details(self, mock_get): + def test_profile_details(self): try: - mock_response = requests.Response() - mock_response.status_code = 200 - mock_response._content = b""" - - """ - mock_get.return_value = mock_response - expected_profile = {"name": "Nikhil Raj", "url": "https://www.quora.com/profile/Nikhil-Raj"} + expected_profile = { + "name": "Nikhil Raj", + "url": "https://www.quora.com/profile/Nikhil-Raj", + } self.assertEqual( - self.scrapper.profile_details("Nikhil Raj"), expected_profile) + self.scrapper.profile_details("Nikhil Raj"), expected_profile + ) except: return None if __name__ == "__main__": unittest.main() -