У меня есть модульный тест Python 3.8, который раньше работал нормально, а теперь не работает. Я не вижу никакой документации, в которой говорится, что метод устарел, поэтому мне интересно, что здесь происходит.
Модульные тесты делают следующее: 1) Убедитесь, что мы создали экземпляр клиента Bottlenose, и 2) go и найдите товар.
def test_amazon_client(self):
"""
Test that amazon client is created.
"""
self.assertIsNotNone(self.amazon)
def test_asin(self):
"""
Test that amazon client is pulling product data.
"""
result = self.amazon.ItemLookup(ItemId="B000Q5Z8L0")
self.assertIsNotNone(result)
Когда запускается модульный тест, возвращается вывод, что проблема связана с ошибкой HTTP 410 Gone.
======================================================================
ERROR: test_asin (__main__.TestAmazon)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/jasoncoulls/Desktop/WORK/[redacted]/scrap.py", line 28, in test_asin
result = self.amazon.ItemLookup(ItemId="B000Q5Z8L0")
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/bottlenose/api.py", line 273, in __call__
response = self._call_api(api_url,
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/bottlenose/api.py", line 235, in _call_api
return urllib2.urlopen(api_request, timeout=self.Timeout)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/urllib/request.py", line 222, in urlopen
return opener.open(url, data, timeout)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/urllib/request.py", line 531, in open
response = meth(req, response)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/urllib/request.py", line 640, in http_response
response = self.parent.error(
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/urllib/request.py", line 569, in error
return self._call_chain(*args)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/urllib/request.py", line 502, in _call_chain
result = func(*args)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/urllib/request.py", line 649, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 410: Gone
Так что это заставляет меня чесать голову.
1) Я убедился, что у меня установлена последняя версия клиента boto3. 2) Я убедился, что искомый элемент действителен. 3) Я убедился, что клиент создает экземпляр.
Любые другие указатели были бы полезны.
Ура
Джасе