docstr: A callback request including a TI with an exec config with a V1Pod should safely roundtrip.
docstr_tok: ["A","callback","request","including","a","TI","with","an","exec","config","with","a","V1Pod","should","safely","roundtrip","."]
code: def test_simple_ti_roundtrip_dates(self):
      """A callback request including a TI with an exec config with a V1Pod should safely roundtrip."""
      from unittest.mock import MagicMock
  
      from airflow.callbacks.callback_requests import (
          TaskCallbackRequest,
      )
      from airflow.models import TaskInstance
      from airflow.models.taskinstance import SimpleTaskInstance
      from airflow.operators.bash import BashOperator
  
      op = BashOperator(task_id="hi", bash_command="hi")
      ti = TaskInstance(task=op)
      ti.set_state("SUCCESS", session=MagicMock())
      start_date = ti.start_date
      end_date = ti.end_date
      s = SimpleTaskInstance.from_ti(ti)
      data = TaskCallbackRequest("hi", s).to_json()
      assert (
          TaskCallbackRequest.from_json(
              data
          ).simple_task_instance.start_date
          == start_date
      )
      assert (
          TaskCallbackRequest.from_json(
              data
          ).simple_task_instance.end_date
          == end_date
      )
  
file_path: airflow/tests/callbacks/test_callback_requests.py
imports: from __future__ import annotations
  from datetime import datetime
  import pytest
  from airflow.callbacks.callback_requests import CallbackRequest, DagCallbackRequest, SlaCallbackRequest, TaskCallbackRequest
  from airflow.models.dag import DAG
  from airflow.models.taskinstance import SimpleTaskInstance, TaskInstance
  from airflow.operators.bash import BashOperator
  from airflow.utils import timezone
  from airflow.utils.state import State
label_desc: Use image node_id 4 for calling the TestCallbackRequest obj's underlying member method code with example usage: obj.test_simple_ti_roundtrip_dates() without return types