code: def test_SentinelAPI_wrong_credentials(small_query):
      api = SentinelAPI("wrong_user", "wrong_password")
  
      @contextmanager
      def assert_exception():
          with pytest.raises(UnauthorizedError) as excinfo:
              yield
          assert excinfo.value.response.status_code == 401
          assert str(excinfo.value).startswith(
              "Invalid user name or password"
          )
  
      with assert_exception():
          api.query(**small_query)
      with assert_exception():
          api.get_product_odata("8df46c9e-a20c-43db-a19a-4240c2ed3b8b")
      with assert_exception():
          api.download("8df46c9e-a20c-43db-a19a-4240c2ed3b8b")
      with assert_exception():
          api.download_all(["8df46c9e-a20c-43db-a19a-4240c2ed3b8b"])
  
imports: from contextlib import contextmanager
  from datetime import datetime, date, timedelta
  import pytest
  import requests_mock
  from requests.exceptions import StreamConsumedError, ContentDecodingError, InvalidProxyURL, InvalidHeader, TooManyRedirects, ReadTimeout, SSLError
  from sentinelsat import format_query_date, SentinelAPI
  from sentinelsat.exceptions import QuerySyntaxError, QueryLengthError, UnauthorizedError
  from sentinelsat.sentinel import _format_order_by
label_desc: Use image node_id 3 for calling a global function with example usage: test_SentinelAPI_wrong_credentials(small_query) without return types