code: def test_should_respond_200(self, session):
      datasets = [
          DatasetModel(
              id=i,
              uri=f"s3://bucket/key/{i}",
              extra={"foo": "bar"},
              created_at=timezone.parse(self.default_time),
              updated_at=timezone.parse(self.default_time),
          )
          for i in [1, 2]
      ]
      session.add_all(datasets)
      session.commit()
      assert session.query(DatasetModel).count() == 2
  
      with assert_queries_count(8):
          response = self.client.get(
              "/api/v1/datasets",
              environ_overrides={"REMOTE_USER": "test"},
          )
  
      assert response.status_code == 200
      response_data = response.json
      assert response_data == {
          "datasets": [
              {
                  "id": 1,
                  "uri": "s3://bucket/key/1",
                  "extra": {"foo": "bar"},
                  "created_at": self.default_time,
                  "updated_at": self.default_time,
                  "consuming_dags": [],
                  "producing_tasks": [],
              },
              {
                  "id": 2,
                  "uri": "s3://bucket/key/2",
                  "extra": {"foo": "bar"},
                  "created_at": self.default_time,
                  "updated_at": self.default_time,
                  "consuming_dags": [],
                  "producing_tasks": [],
              },
          ],
          "total_entries": 2,
      }
  
imports: from __future__ import annotations
  import urllib
  import pytest
  from airflow.api_connexion.exceptions import EXCEPTIONS_LINK_MAP
  from airflow.models.dagrun import DagRun
  from airflow.models.dataset import DatasetEvent, DatasetModel
  from airflow.security import permissions
  from airflow.utils import timezone
  from airflow.utils.session import provide_session
  from airflow.utils.types import DagRunType
  from tests.test_utils.api_connexion_utils import assert_401, create_user, delete_user
  from tests.test_utils.asserts import assert_queries_count
  from tests.test_utils.config import conf_vars
  from tests.test_utils.db import clear_db_datasets, clear_db_runs
label_desc: Use image node_id 1 for calling the TestGetDatasets obj's underlying member method code with example usage: obj.test_should_respond_200(session) without return types