code: def test_smoke(self):
      clock = MockClock()
      q = MockRequestQueue(
          clock,
          [
              (
                  t,
                  RequestPrepare(
                      simple_file_spec(f"req-{t}"), queue.Queue()
                  ),
              )
              for t in [1, 3, 10, 30]
          ],
      )
      assert q.get().file_spec["name"] == "req-1"
      assert clock() == 1
      assert q.get().file_spec["name"] == "req-3"
      assert clock() == 3
      assert q.get().file_spec["name"] == "req-10"
      assert clock() == 10
      assert q.get().file_spec["name"] == "req-30"
      assert clock() == 30
  
imports: import asyncio
  import concurrent.futures
  import dataclasses
  import queue
  import threading
  from typing import TYPE_CHECKING, Iterable, Mapping, Tuple
  from unittest.mock import Mock, call
  import pytest
  from wandb.filesync.step_prepare import Request, RequestFinish, RequestPrepare, ResponsePrepare, StepPrepare, gather_batch
label_desc: Use image node_id 1 for calling the TestMockRequestQueue obj's underlying member method code with example usage: obj.test_smoke() without return types