andylamp commented on PR #32867:
URL: https://github.com/apache/airflow/pull/32867#issuecomment-1676361554
As promised @potiuk, I am pushing a fix to pass all the tests. The reason
was that the aws ARN format was not being parsed correctly as it had invalid
characters. I have updated the regex to be able to handle these characters
while also updating the respective docstrings to reflect that.
Below is a test suite pass on my end within `breeze`,
```text
root@d97db9f945b6:/opt/airflow# pytest
tests/providers/amazon/aws/hooks/test_base_aws.py
==================================================================================================================
test session starts
===================================================================================================================
platform linux -- Python 3.8.17, pytest-7.4.0, pluggy-1.2.0 --
/usr/local/bin/python
cachedir: .pytest_cache
rootdir: /opt/airflow
configfile: pyproject.toml
plugins: requests-mock-1.11.0, asyncio-0.21.1, timeouts-1.2.1, xdist-3.3.1,
rerunfailures-12.0, capture-warnings-0.0.4, cov-4.1.0, mock-3.11.1,
time-machine-2.11.0, httpx-0.21.3, anyio-3.7.1, instafail-0.5.0
asyncio: mode=strict
setup timeout: 0.0s, execution timeout: 0.0s, teardown timeout: 0.0s
collected 107 items
tests/providers/amazon/aws/hooks/test_base_aws.py::TestSessionFactory::test_resolve_session_factory_class
PASSED
[ 0%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestSessionFactory::test_resolve_session_factory_class_fallback_to_base_session_factory
PASSED
[ 1%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestSessionFactory::test_resolve_session_factory_class_fallback_to_base_session_factory_no_config
PASSED
[ 2%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestSessionFactory::test_conn_property[unwrapped]
PASSED
[ 3%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestSessionFactory::test_conn_property[wrapped]
PASSED
[ 4%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestSessionFactory::test_empty_conn_property
PASSED
[ 5%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestSessionFactory::test_resolve_region_name[eu-west-1-cn-north-1]
PASSED
[ 6%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestSessionFactory::test_resolve_region_name[eu-west-1-None]
PASSED
[ 7%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestSessionFactory::test_resolve_region_name[None-cn-north-1]
PASSED
[ 8%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestSessionFactory::test_resolve_region_name[None-None]
PASSED
[ 9%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestSessionFactory::test_resolve_botocore_config[botocore_config0-None]
PASSED
[ 10%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestSessionFactory::test_resolve_botocore_config[botocore_config1-conn_botocore_config1]
PASSED
[ 11%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestSessionFactory::test_resolve_botocore_config[None-conn_botocore_config2]
PASSED
[ 12%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestSessionFactory::test_resolve_botocore_config[None-None]
PASSED
[ 13%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestSessionFactory::test_create_session_boto3_credential_strategy[eu-central-1]
PASSED
[ 14%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestSessionFactory::test_create_session_boto3_credential_strategy[None]
PASSED
[ 14%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestSessionFactory::test_create_session_from_credentials[default-eu-central-1]
PASSED
[ 15%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestSessionFactory::test_create_session_from_credentials[default-None]
PASSED
[ 16%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestSessionFactory::test_create_session_from_credentials[None-eu-central-1]
PASSED
[ 17%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestSessionFactory::test_create_session_from_credentials[None-None]
PASSED
[ 18%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestSessionFactory::test_async_create_session_from_credentials[default-eu-central-1]
PASSED
[ 19%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestSessionFactory::test_async_create_session_from_credentials[default-None]
PASSED
[ 20%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestSessionFactory::test_async_create_session_from_credentials[None-eu-central-1]
PASSED
[ 21%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestSessionFactory::test_async_create_session_from_credentials[None-None]
PASSED
[ 22%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestSessionFactory::test_async_create_a_session_from_credentials_without_token
PASSED
[ 23%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestSessionFactory::test_get_credentials_from_role_arn[ap-southeast-2-assume-with-initial-creds-conn_extra0]
PASSED
[ 24%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestSessionFactory::test_get_credentials_from_role_arn[ap-southeast-2-assume-without-initial-creds-conn_extra1]
PASSED
[ 25%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestSessionFactory::test_get_credentials_from_role_arn[sa-east-1-assume-with-initial-creds-conn_extra0]
PASSED
[ 26%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestSessionFactory::test_get_credentials_from_role_arn[sa-east-1-assume-without-initial-creds-conn_extra1]
PASSED
[ 27%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestSessionFactory::test_async_get_credentials_from_role_arn[ap-southeast-2-assume-with-initial-creds-conn_extra0]
PASSED [
28%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestSessionFactory::test_async_get_credentials_from_role_arn[ap-southeast-2-assume-without-initial-creds-conn_extra1]
PASSED [
28%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestSessionFactory::test_async_get_credentials_from_role_arn[sa-east-1-assume-with-initial-creds-conn_extra0]
PASSED
[ 29%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestSessionFactory::test_async_get_credentials_from_role_arn[sa-east-1-assume-without-initial-creds-conn_extra1]
PASSED
[ 30%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_get_client_type_set_in_class_attribute
PASSED
[ 31%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_get_resource_type_set_in_class_attribute
PASSED
[ 32%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_get_session_returns_a_boto3_session
PASSED
[ 33%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_user_agent_extra_update[client_meta0]
PASSED
[ 34%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_user_agent_extra_update[client_meta1]
PASSED
[ 35%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_user_agent_caller_target_function_found[found_classes0]
PASSED
[ 36%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_user_agent_caller_target_function_found[found_classes1]
PASSED
[ 37%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_user_agent_caller_target_function_not_found
PASSED
[ 38%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_user_agent_dag_run_key_is_hashed_correctly[env_var0-5]
PASSED
[ 39%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_user_agent_dag_run_key_is_hashed_correctly[env_var1-None]
PASSED
[ 40%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_assume_role
PASSED
[ 41%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_get_credentials_from_gcp_credentials
PASSED
[ 42%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_get_credentials_from_token_file
PASSED
[ 42%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_assume_role_with_saml
PASSED
[ 43%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_expand_role
PASSED
[ 44%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_use_default_boto3_behaviour_without_conn_id
PASSED
[ 45%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_refreshable_credentials
PASSED
[ 46%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_connection_region_name[aws://?region_name=eu-west-1-None--eu-west-1-client]
PASSED
[ 47%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_connection_region_name[aws://?region_name=eu-west-1-None--eu-west-1-resource]
PASSED
[ 48%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_connection_region_name[aws://?region_name=eu-west-1-cn-north-1--cn-north-1-client]
PASSED
[ 49%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_connection_region_name[aws://?region_name=eu-west-1-cn-north-1--cn-north-1-resource]
PASSED
[ 50%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_connection_region_name[aws://?region_name=eu-west-1-None-us-east-2-eu-west-1-client]
PASSED
[ 51%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_connection_region_name[aws://?region_name=eu-west-1-None-us-east-2-eu-west-1-resource]
PASSED
[ 52%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_connection_region_name[aws://?region_name=eu-west-1-cn-north-1-us-gov-east-1-cn-north-1-client]
PASSED [
53%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_connection_region_name[aws://?region_name=eu-west-1-cn-north-1-us-gov-east-1-cn-north-1-resource]
PASSED [ 54%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_connection_region_name[aws://?-cn-north-1-us-gov-east-1-cn-north-1-client]
PASSED
[ 55%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_connection_region_name[aws://?-cn-north-1-us-gov-east-1-cn-north-1-resource]
PASSED
[ 56%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_connection_region_name[aws://?-None-us-gov-east-1-us-gov-east-1-client]
PASSED
[ 57%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_connection_region_name[aws://?-None-us-gov-east-1-us-gov-east-1-resource]
PASSED
[ 57%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_connection_aws_partition[aws://?region_name=eu-west-1-aws-client]
PASSED
[ 58%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_connection_aws_partition[aws://?region_name=eu-west-1-aws-resource]
PASSED
[ 59%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_connection_aws_partition[aws://?region_name=cn-north-1-aws-cn-client]
PASSED
[ 60%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_connection_aws_partition[aws://?region_name=cn-north-1-aws-cn-resource]
PASSED
[ 61%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_connection_aws_partition[aws://?region_name=us-gov-east-1-aws-us-gov-client]
PASSED
[ 62%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_connection_aws_partition[aws://?region_name=us-gov-east-1-aws-us-gov-resource]
PASSED
[ 63%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_connection_client_resource_types_check[s3-dynamodb]
PASSED
[ 64%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_connection_client_resource_types_check[None-None]
PASSED
[ 65%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_connection_client_resource_types_check[-]
PASSED
[ 66%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_hook_connection_test
PASSED
[ 67%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_hook_connection_test_failed
PASSED
[ 68%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_hook_connection_endpoint_url_valid[None-https://sts.amazonaws.com]
PASSED
[ 69%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_hook_connection_endpoint_url_valid[https://sts.us-east-1.amazonaws.com-https://sts.us-east-1.amazonaws.com]
PASSED [ 70%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_conn_config_conn_id_exists
PASSED
[ 71%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_conn_config_conn_id_empty[empty]
PASSED
[ 71%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_conn_config_conn_id_empty[None]
PASSED
[ 72%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_get_session[None-None-None]
PASSED
[ 73%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_get_session[None-None-eu-west-1]
PASSED
[ 74%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_get_session[None-hook_botocore_config1-None]
PASSED
[ 75%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_get_session[None-hook_botocore_config1-eu-west-1]
PASSED
[ 76%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_get_session[cn-north-1-None-None]
PASSED
[ 77%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_get_session[cn-north-1-None-eu-west-1]
PASSED
[ 78%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_get_session[cn-north-1-hook_botocore_config1-None]
PASSED
[ 79%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_get_session[cn-north-1-hook_botocore_config1-eu-west-1]
PASSED
[ 80%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_resolve_verify[None-None]
PASSED
[ 81%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_resolve_verify[None-path/to/cert/hook-bundle.pem]
PASSED
[ 82%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_resolve_verify[None-False]
PASSED
[ 83%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_resolve_verify[path/to/cert/conn-bundle.pem-None]
PASSED
[ 84%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_resolve_verify[path/to/cert/conn-bundle.pem-path/to/cert/hook-bundle.pem]
PASSED
[ 85%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_resolve_verify[path/to/cert/conn-bundle.pem-False]
PASSED
[ 85%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_resolve_verify[False-None]
PASSED
[ 86%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_resolve_verify[False-path/to/cert/hook-bundle.pem]
PASSED
[ 87%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_resolve_verify[False-False]
PASSED
[ 88%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_get_credentials_mask_secrets[mock-aws-access-key-id-mock-aws-secret-access-key-None]
PASSED
[ 89%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestAwsBaseHook::test_get_credentials_mask_secrets[mock-aws-access-key-id-mock-aws-secret-access-key-mock-aws-session-token]
PASSED [ 90%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestRetryDecorator::test_do_nothing_on_non_exception
PASSED
[ 91%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestRetryDecorator::test_retry_on_exception
PASSED
[ 92%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestRetryDecorator::test_no_retry_on_exception
PASSED
[ 93%]
tests/providers/amazon/aws/hooks/test_base_aws.py::TestRetryDecorator::test_raise_exception_when_no_retry_args
PASSED
[ 94%]
tests/providers/amazon/aws/hooks/test_base_aws.py::test_raise_no_creds_default_credentials_strategy
PASSED
[ 95%]
tests/providers/amazon/aws/hooks/test_base_aws.py::test_waiter_config_params_not_provided
PASSED
[ 96%]
tests/providers/amazon/aws/hooks/test_base_aws.py::test_waiter_config_no_params_needed
PASSED
[
97%]
tests/providers/amazon/aws/hooks/test_base_aws.py::test_waiter_config_with_parameters_specified
PASSED
[ 98%]
tests/providers/amazon/aws/hooks/test_base_aws.py::test_waiter_config_param_wrong_format
PASSED
[
99%]
tests/providers/amazon/aws/hooks/test_base_aws.py::test_custom_waiter_with_resource_type
PASSED
[100%]
==================================================================================================================
107 passed in 16.84s
==================================================================================================================
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]