Bottlenose ItemLookup генерирует код ответа HTTP 410 Gone Error - PullRequest
0 голосов
/ 18 июня 2020

У меня есть модульный тест 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) Я убедился, что клиент создает экземпляр.

Любые другие указатели были бы полезны.

Ура

Джасе

...