@@ -47,6 +47,10 @@ class EngineBaseTest(unittest.TestCase):
4747
4848 provides tests for engine methods
4949 """
50+ @classmethod
51+ def vcr_search (cls , * args , ** kwargs ):
52+ with vcr .use_cassette ('fixtures/{}-synopsis.yaml' .format (cls .name ), record_mode = 'once' ):
53+ cls .results = cls .engine .search (* args , ** kwargs )
5054
5155 def setUp (self ):
5256 from search_engine_parser .core .engines .google import Search # pylint: disable=import-outside-toplevel
@@ -57,11 +61,28 @@ def setUp(self):
5761 def test_urls (self , get_results_mock , get_soup_mock ):
5862 """ Test that url updates work fine """
5963 self .engine .search (query = "hello" , url = "google.com.tr" )
60- self .assertTrue (validate_url (self .engine ._parsed_url .geturl ()))
64+ first_url = self .engine ._parsed_url .geturl ()
65+ self .assertTrue (validate_url (first_url ))
6166
62- self .engine .search (query = "hello" , url = "https://google.com.tr" )
63- self .assertTrue (validate_url (self .engine ._parsed_url .geturl ()))
67+ self .engine .search (query = "World" , url = "https://google.com.tr" )
68+ second_url = self .engine ._parsed_url .geturl ()
69+ self .assertTrue (validate_url (second_url ))
6470
71+ self .assertNotEqual (second_url , first_url )
72+
73+ # Test for https://github.com/bisoncorps/search-engine-parser/issues/92
74+ def test_two_queries_different_results (self ):
75+ """ Test that url updates work fine """
76+ from search_engine_parser .core .engines .google import Search as GoogleSearch # pylint: disable=import-outside-toplevel
77+ from search_engine_parser .core .engines .yahoo import Search as YahooSearch # pylint: disable=import-outside-toplevel
78+ gengine = GoogleSearch ()
79+ yahoo_engine = YahooSearch ()
80+ gresults = gengine .search (query = "Hello From the Other Side" )
81+ yresults = yahoo_engine .search (query = "this is example Bob" )
82+ for key in gresults [0 ]:
83+ self .assertNotEqual (gresults [0 ].get (key , "GSearch" ), yresults [0 ].get (key , "Ysearch" ))
84+
85+ self .assertNotEqual (gresults , yresults )
6586
6687# pylint: disable=no-member
6788@parameterized_class (('name' , 'engine' ), get_engines ())
@@ -82,16 +103,16 @@ def setUpClass(cls):
82103 raise unittest .SkipTest (
83104 '{} failed due to traffic' .format (
84105 cls .engine ))
85-
106+
86107 @classmethod
87108 def vcr_search (cls , * args , ** kwargs ):
88109 with vcr .use_cassette ('fixtures/{}-synopsis.yaml' .format (cls .name ), record_mode = 'once' ):
89110 cls .results = cls .engine .search (* args , ** kwargs )
90-
111+
91112 @classmethod
92113 def test_cache_used (cls ):
93114 """
94- Test that the cache was used
115+ Test that the cache was used
95116 """
96117 try :
97118 cls .vcr_search (* SEARCH_ARGS )
@@ -106,7 +127,7 @@ def test_cache_used(cls):
106127 @classmethod
107128 def test_cache_not_used (cls ):
108129 """
109- Test that the cache was used
130+ Test that the cache was used
110131 """
111132 search_args = ('Another random test' , 1 )
112133 try :
0 commit comments