Skip to content

Commit

Permalink
Resolve secrets manager backend deprecations in tests (apache#40491)
Browse files Browse the repository at this point in the history
* Resolve secrets manager backend deprecations in tests

* Resolve secrets manager backend deprecations in tests
  • Loading branch information
dirrao authored and romsharon98 committed Jul 26, 2024
1 parent eb43e57 commit c9ef9b8
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 12 deletions.
4 changes: 0 additions & 4 deletions tests/deprecations_ignore.yml
Original file line number Diff line number Diff line change
Expand Up @@ -80,10 +80,6 @@
- tests/providers/amazon/aws/deferrable/hooks/test_redshift_cluster.py::TestRedshiftAsyncHook::test_pause_cluster
- tests/providers/amazon/aws/deferrable/hooks/test_redshift_cluster.py::TestRedshiftAsyncHook::test_resume_cluster
- tests/providers/amazon/aws/deferrable/hooks/test_redshift_cluster.py::TestRedshiftAsyncHook::test_resume_cluster_exception
- tests/providers/amazon/aws/secrets/test_secrets_manager.py::TestSecretsManagerBackend::test_get_conn_value_broken_field_mode
- tests/providers/amazon/aws/secrets/test_secrets_manager.py::TestSecretsManagerBackend::test_get_conn_value_broken_field_mode_extra_words_added
- tests/providers/amazon/aws/secrets/test_secrets_manager.py::TestSecretsManagerBackend::test_get_connection_broken_field_mode_extra_allows_nested_json
- tests/providers/amazon/aws/secrets/test_secrets_manager.py::TestSecretsManagerBackend::test_get_connection_broken_field_mode_url_encoding
- tests/providers/amazon/aws/triggers/test_redshift_cluster.py::TestRedshiftClusterTrigger::test_redshift_cluster_sensor_trigger_exception
- tests/providers/amazon/aws/triggers/test_redshift_cluster.py::TestRedshiftClusterTrigger::test_redshift_cluster_sensor_trigger_resuming_status
- tests/providers/amazon/aws/triggers/test_redshift_cluster.py::TestRedshiftClusterTrigger::test_redshift_cluster_sensor_trigger_success
Expand Down
33 changes: 25 additions & 8 deletions tests/providers/amazon/aws/secrets/test_secrets_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
import pytest
from moto import mock_aws

from airflow.exceptions import AirflowProviderDeprecationWarning
from airflow.providers.amazon.aws.secrets.secrets_manager import SecretsManagerBackend


Expand Down Expand Up @@ -69,9 +70,13 @@ def test_get_connection_broken_field_mode_url_encoding(self, are_secret_values_u
),
}

secrets_manager_backend = SecretsManagerBackend(
are_secret_values_urlencoded=are_secret_values_urlencoded
)
with pytest.warns(
AirflowProviderDeprecationWarning,
match=r"The `secret_values_are_urlencoded` is deprecated. This kwarg only exists to assist in migrating away from URL-encoding secret values for JSON secrets. To remove this warning, make sure your JSON secrets are \*NOT\* URL-encoded, and then remove this kwarg from backend_kwargs.",
):
secrets_manager_backend = SecretsManagerBackend(
are_secret_values_urlencoded=are_secret_values_urlencoded
)
secrets_manager_backend.client.create_secret(**create_param)

conn = secrets_manager_backend.get_connection(conn_id="test_postgres")
Expand All @@ -98,7 +103,11 @@ def test_get_connection_broken_field_mode_extra_allows_nested_json(self):
),
}

secrets_manager_backend = SecretsManagerBackend(full_url_mode=False)
with pytest.warns(
AirflowProviderDeprecationWarning,
match="The `full_url_mode` kwarg is deprecated. Going forward, the `SecretsManagerBackend` will support both URL-encoded and JSON-encoded secrets at the same time. The encoding of the secret will be determined automatically.",
):
secrets_manager_backend = SecretsManagerBackend(full_url_mode=False)
secrets_manager_backend.client.create_secret(**create_param)

conn = secrets_manager_backend.get_connection(conn_id="test_postgres")
Expand All @@ -115,7 +124,11 @@ def test_get_conn_value_broken_field_mode(self):
),
}

secrets_manager_backend = SecretsManagerBackend(full_url_mode=False)
with pytest.warns(
AirflowProviderDeprecationWarning,
match="The `full_url_mode` kwarg is deprecated. Going forward, the `SecretsManagerBackend` will support both URL-encoded and JSON-encoded secrets at the same time. The encoding of the secret will be determined automatically.",
):
secrets_manager_backend = SecretsManagerBackend(full_url_mode=False)
secrets_manager_backend.client.create_secret(**create_param)

conn = secrets_manager_backend.get_connection(conn_id="test_postgres")
Expand All @@ -133,9 +146,13 @@ def test_get_conn_value_broken_field_mode_extra_words_added(self):
),
}

secrets_manager_backend = SecretsManagerBackend(
full_url_mode=False, extra_conn_words={"user": ["usuario"]}
)
with pytest.warns(
AirflowProviderDeprecationWarning,
match="The `full_url_mode` kwarg is deprecated. Going forward, the `SecretsManagerBackend` will support both URL-encoded and JSON-encoded secrets at the same time. The encoding of the secret will be determined automatically.",
):
secrets_manager_backend = SecretsManagerBackend(
full_url_mode=False, extra_conn_words={"user": ["usuario"]}
)
secrets_manager_backend.client.create_secret(**create_param)

conn = secrets_manager_backend.get_connection(conn_id="test_postgres")
Expand Down

0 comments on commit c9ef9b8

Please sign in to comment.