code: def test_limit_and_offset(self, url, expected_pool_ids, session):
      pools = [
          Pool(pool=f"test_pool{i}", slots=1, include_deferred=False)
          for i in range(1, 121)
      ]
      session.add_all(pools)
      session.commit()
      result = session.query(Pool).count()
      assert result == 121  # accounts for default pool as well
      response = self.client.get(
          url, environ_overrides={"REMOTE_USER": "test"}
      )
      assert response.status_code == 200
      pool_ids = [pool["name"] for pool in response.json["pools"]]
      assert pool_ids == expected_pool_ids
  
imports: from __future__ import annotations
  import pytest
  from airflow.api_connexion.exceptions import EXCEPTIONS_LINK_MAP
  from airflow.models.pool import Pool
  from airflow.security import permissions
  from airflow.utils.session import provide_session
  from tests.test_utils.api_connexion_utils import assert_401, create_user, delete_user
  from tests.test_utils.config import conf_vars
  from tests.test_utils.db import clear_db_pools
label_desc: Use image node_id 1 for calling the TestGetPoolsPagination obj's underlying member method code with example usage: obj.test_limit_and_offset(url, expected_pool_ids, session) without return types