New paste Repaste Download
self = <tests.test_earnings_lookup.TestGetEarnings object at 0x122283dd0>
mock_db_with_earnings = (<MagicMock name='DBAccounting().__enter__()' id='4883178288'>, <MagicMock name='DBAccounting().__enter__().collection()' id='4883184384'>)
    def test_get_earnings_normalizes_symbol_to_uppercase(self, mock_db_with_earnings):
        """Test that get_earnings normalizes symbol to uppercase"""
        from rtrader.utils.earnings import get_earnings
    
        mock_db, mock_collection = mock_db_with_earnings
    
        # Act
>       get_earnings("aapl", limit=4)
tests/test_earnings_lookup.py:154:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
rtrader/utils/earnings.py:71: in get_earnings
    return _lookup_earnings(
rtrader/utils/earnings.py:127: in _lookup_earnings
    _trigger_earnings_background_refresh(symbol)
rtrader/utils/earnings.py:320: in _trigger_earnings_background_refresh
    if redis.set(lock_key, "1", nx=True, ex=300):
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../.pyenv/versions/3.12.12/lib/python3.12/site-packages/redis/utils.py:417: in wrapper
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
../.pyenv/versions/3.12.12/lib/python3.12/site-packages/redis/commands/core.py:2518: in set
    return self.execute_command("SET", *pieces, **options)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../.pyenv/versions/3.12.12/lib/python3.12/site-packages/redis/client.py:657: in execute_command
    return self._execute_command(*args, **options)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../.pyenv/versions/3.12.12/lib/python3.12/site-packages/redis/client.py:668: in _execute_command
    return conn.retry.call_with_retry(
../.pyenv/versions/3.12.12/lib/python3.12/site-packages/redis/retry.py:116: in call_with_retry
    return do()
           ^^^^
../.pyenv/versions/3.12.12/lib/python3.12/site-packages/redis/client.py:669: in <lambda>
    lambda: self._send_command_parse_response(
../.pyenv/versions/3.12.12/lib/python3.12/site-packages/redis/client.py:640: in _send_command_parse_response
    return self.parse_response(conn, command_name, **options)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../.pyenv/versions/3.12.12/lib/python3.12/site-packages/redis/client.py:691: in parse_response
    response = connection.read_response()
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
../.pyenv/versions/3.12.12/lib/python3.12/site-packages/redis/connection.py:1133: in read_response
    response = self._parser.read_response(disable_decoding=disable_decoding)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../.pyenv/versions/3.12.12/lib/python3.12/site-packages/redis/_parsers/resp2.py:15: in read_response
    result = self._read_response(disable_decoding=disable_decoding)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../.pyenv/versions/3.12.12/lib/python3.12/site-packages/redis/_parsers/resp2.py:25: in _read_response
    raw = self._buffer.readline()
          ^^^^^^^^^^^^^^^^^^^^^^^
../.pyenv/versions/3.12.12/lib/python3.12/site-packages/redis/_parsers/socket.py:115: in readline
    self._read_from_socket()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <redis._parsers.socket.SocketBuffer object at 0x12310b740>, length = None
timeout = <object object at 0x110c00e20>, raise_on_timeout = True
    def _read_from_socket(
        self,
        length: Optional[int] = None,
        timeout: Union[float, object] = SENTINEL,
        raise_on_timeout: Optional[bool] = True,
    ) -> bool:
        sock = self._sock
        socket_read_size = self.socket_read_size
        marker = 0
        custom_timeout = timeout is not SENTINEL
    
        buf = self._buffer
        current_pos = buf.tell()
        buf.seek(0, SEEK_END)
        if custom_timeout:
            sock.settimeout(timeout)
        try:
            while True:
>               data = self._sock.recv(socket_read_size)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E               Failed: Timeout (>30.0s) from pytest-timeout.
../.pyenv/versions/3.12.12/lib/python3.12/site-packages/redis/_parsers/socket.py:65: Failed
Filename: None. Size: 4kb. View raw, , hex, or download this file.

This paste expires on 2026-04-30 03:00:44.262040+00:00. Pasted through deprecated-web.