code: def test_parse_execution_date(self):
      execution_date_str_wo_ms = "2017-11-02 00:00:00"
      execution_date_str_w_ms = "2017-11-05 16:18:30.989729"
      bad_execution_date_str = "2017-11-06TXX:00:00Z"
  
      assert timezone.datetime(
          2017, 11, 2, 0, 0, 0
      ) == dates.parse_execution_date(execution_date_str_wo_ms)
      assert timezone.datetime(
          2017, 11, 5, 16, 18, 30, 989729
      ) == dates.parse_execution_date(execution_date_str_w_ms)
      with pytest.raises(ValueError):
          dates.parse_execution_date(bad_execution_date_str)
  
file_path: airflow/tests/utils/test_dates.py
imports: from __future__ import annotations
  from datetime import datetime, timedelta
  import pendulum
  import pytest
  from dateutil.relativedelta import relativedelta
  from airflow.utils import dates, timezone
label_desc: Use image node_id 2 for calling the TestDates obj's underlying member method code with example usage: obj.test_parse_execution_date() without return types