code: def test_wait_for_deletion(self):
      self._create_replication_group()
  
      self.hook.conn.describe_replication_groups.side_effect = (
          self._mock_describe_side_effect()
      )
  
      self.hook.conn.delete_replication_group.return_value = {
          "ReplicationGroup": {
              "ReplicationGroupId": self.REPLICATION_GROUP_ID
          }
      }
  
      response, deleted = self.hook.wait_for_deletion(
          replication_group_id=self.REPLICATION_GROUP_ID,
          # Initial call - status is `available`
          # 1st retry - status is `deleting`
          # 2nd retry - Replication group is deleted
          max_retries=2,
          initial_sleep_time=1,
      )
      assert (
          response["ReplicationGroup"]["ReplicationGroupId"]
          == self.REPLICATION_GROUP_ID
      )
      assert deleted is True
  
file_path: airflow/tests/providers/amazon/aws/hooks/test_elasticache_replication_group.py
imports: from __future__ import annotations
  from unittest.mock import Mock
  import pytest
  from airflow.exceptions import AirflowException
  from airflow.providers.amazon.aws.hooks.elasticache_replication_group import ElastiCacheReplicationGroupHook
label_desc: Use image node_id 12 for calling the TestElastiCacheReplicationGroupHook obj's underlying member method code with example usage: obj.test_wait_for_deletion() without return types