code: def test_lock_expiration(redis_lock_store: RedisLockStore):
      conversation_id = "my id 2"
      lock = redis_lock_store.create_lock(conversation_id)
      redis_lock_store.save_lock(lock)
  
      # issue ticket with long lifetime
      ticket = lock.issue_ticket(10)
      assert ticket == 0
      assert not lock._ticket_for_ticket_number(ticket).has_expired()
  
      # issue ticket with short lifetime
      ticket = lock.issue_ticket(0.00001)
      time.sleep(0.00002)
      assert ticket == 1
      assert lock._ticket_for_ticket_number(ticket) is None
  
      # newly assigned ticket should get number 1 again
      assert lock.issue_ticket(10) == 1
  
file_path: rasa/tests/integration_tests/core/test_lock_store.py
imports: import asyncio
  import time
  from pathlib import Path
  import numpy
  import pytest
  from _pytest.monkeypatch import MonkeyPatch
  from rasa.core.agent import Agent
  from rasa.core.channels import UserMessage
  from rasa.shared.constants import INTENT_MESSAGE_PREFIX
  from rasa.core.lock_store import LockError, RedisLockStore
label_desc: Use image node_id 3 for calling a global function with example usage: test_lock_expiration(redis_lock_store) without return types