Skip to content

Commit 1fbb88f

Browse files
committed
Render concise snapshots in linter tests
Summary -- This is a quick implementation of the idea in #19900 (comment). Especially as we start using new diagnostic features, it seems like a good idea to keep an eye on the `concise` output format as well as the `full`. This PR just appends a second rendering of the diagnostics in our rule snapshots in the `concise` format. The concise message is typically reused in the other output formats too, so this gives us a bit of coverage for all the output formats. I noticed that some of our concise messages are still quite long. That might be another good class of diagnostic to use new features for. Some explanatory pieces might fit better as sub-diagnostics. Test Plan -- Existing snapshots. Again, I clicked through these individually, but very, very quickly
1 parent 3288ac2 commit 1fbb88f

File tree

1,668 files changed

+15844
-114
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,668 files changed

+15844
-114
lines changed

crates/ruff_linter/src/rules/airflow/snapshots/ruff_linter__rules__airflow__tests__AIR001_AIR001.py.snap

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,8 @@ AIR001 Task variable name should match the `task_id`: "my_task"
3030
18 |
3131
19 | # Consider only from the `airflow.operators` (or providers operators) module
3232
|
33+
34+
## Concise Output
35+
AIR001.py:11:1: AIR001 Task variable name should match the `task_id`: "my_task"
36+
AIR001.py:14:1: AIR001 Task variable name should match the `task_id`: "my_task"
37+
AIR001.py:17:1: AIR001 Task variable name should match the `task_id`: "my_task"

crates/ruff_linter/src/rules/airflow/snapshots/ruff_linter__rules__airflow__tests__AIR002_AIR002.py.snap

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,7 @@ AIR002 DAG should have an explicit `schedule` argument
2020
14 | def decorator_default_schedule():
2121
15 | pass
2222
|
23+
24+
## Concise Output
25+
AIR002.py:4:1: AIR002 DAG should have an explicit `schedule` argument
26+
AIR002.py:13:2: AIR002 DAG should have an explicit `schedule` argument

crates/ruff_linter/src/rules/airflow/snapshots/ruff_linter__rules__airflow__tests__AIR301_AIR301_airflow_plugin.py.snap

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,3 +48,9 @@ AIR301 `executors` is removed in Airflow 3.0
4848
12 | macros = [plugin_macro]
4949
|
5050
help: This extension should just be imported as a regular python module.
51+
52+
## Concise Output
53+
AIR301_airflow_plugin.py:7:5: AIR301 `operators` is removed in Airflow 3.0
54+
AIR301_airflow_plugin.py:8:5: AIR301 `sensors` is removed in Airflow 3.0
55+
AIR301_airflow_plugin.py:9:5: AIR301 `hooks` is removed in Airflow 3.0
56+
AIR301_airflow_plugin.py:10:5: AIR301 `executors` is removed in Airflow 3.0

crates/ruff_linter/src/rules/airflow/snapshots/ruff_linter__rules__airflow__tests__AIR301_AIR301_args.py.snap

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -304,3 +304,23 @@ AIR301 `appbuilder` is removed in Airflow 3.0
304304
| ^^^^^^
305305
|
306306
help: The constructor takes no parameter now
307+
308+
## Concise Output
309+
AIR301_args.py:21:39: AIR301 [*] `schedule_interval` is removed in Airflow 3.0
310+
AIR301_args.py:23:31: AIR301 [*] `timetable` is removed in Airflow 3.0
311+
AIR301_args.py:26:31: AIR301 [*] `fail_stop` is removed in Airflow 3.0
312+
AIR301_args.py:28:34: AIR301 `default_view` is removed in Airflow 3.0
313+
AIR301_args.py:30:33: AIR301 `orientation` is removed in Airflow 3.0
314+
AIR301_args.py:41:6: AIR301 [*] `schedule_interval` is removed in Airflow 3.0
315+
AIR301_args.py:46:6: AIR301 [*] `timetable` is removed in Airflow 3.0
316+
AIR301_args.py:54:62: AIR301 [*] `execution_date` is removed in Airflow 3.0
317+
AIR301_args.py:57:62: AIR301 [*] `execution_date` is removed in Airflow 3.0
318+
AIR301_args.py:61:33: AIR301 [*] `use_task_execution_day` is removed in Airflow 3.0
319+
AIR301_args.py:61:62: AIR301 [*] `task_concurrency` is removed in Airflow 3.0
320+
AIR301_args.py:65:9: AIR301 [*] `use_task_execution_day` is removed in Airflow 3.0
321+
AIR301_args.py:92:9: AIR301 [*] `use_task_execution_day` is removed in Airflow 3.0
322+
AIR301_args.py:102:15: AIR301 `filename_template` is removed in Airflow 3.0
323+
AIR301_args.py:103:17: AIR301 `filename_template` is removed in Airflow 3.0
324+
AIR301_args.py:104:26: AIR301 `filename_template` is removed in Airflow 3.0
325+
AIR301_args.py:105:16: AIR301 `filename_template` is removed in Airflow 3.0
326+
AIR301_args.py:107:15: AIR301 `appbuilder` is removed in Airflow 3.0

crates/ruff_linter/src/rules/airflow/snapshots/ruff_linter__rules__airflow__tests__AIR301_AIR301_class_attribute.py.snap

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -700,3 +700,37 @@ help: Use `get_connection` instead
700700
97 97 | lfb = LocalFilesystemBackend()
701701
98 |-lfb.get_connections()
702702
98 |+lfb.get_connection()
703+
704+
## Concise Output
705+
AIR301_class_attribute.py:25:19: AIR301 [*] `iter_datasets` is removed in Airflow 3.0
706+
AIR301_class_attribute.py:26:19: AIR301 [*] `iter_dataset_aliases` is removed in Airflow 3.0
707+
AIR301_class_attribute.py:30:29: AIR301 [*] `iter_datasets` is removed in Airflow 3.0
708+
AIR301_class_attribute.py:31:29: AIR301 [*] `iter_dataset_aliases` is removed in Airflow 3.0
709+
AIR301_class_attribute.py:34:27: AIR301 [*] `iter_datasets` is removed in Airflow 3.0
710+
AIR301_class_attribute.py:35:27: AIR301 [*] `iter_dataset_aliases` is removed in Airflow 3.0
711+
AIR301_class_attribute.py:38:25: AIR301 [*] `iter_datasets` is removed in Airflow 3.0
712+
AIR301_class_attribute.py:39:25: AIR301 [*] `iter_dataset_aliases` is removed in Airflow 3.0
713+
AIR301_class_attribute.py:42:6: AIR301 [*] `airflow.datasets.manager.DatasetManager` is removed in Airflow 3.0
714+
AIR301_class_attribute.py:43:4: AIR301 [*] `register_dataset_change` is removed in Airflow 3.0
715+
AIR301_class_attribute.py:44:4: AIR301 [*] `create_datasets` is removed in Airflow 3.0
716+
AIR301_class_attribute.py:45:4: AIR301 [*] `notify_dataset_created` is removed in Airflow 3.0
717+
AIR301_class_attribute.py:46:4: AIR301 [*] `notify_dataset_changed` is removed in Airflow 3.0
718+
AIR301_class_attribute.py:47:4: AIR301 [*] `notify_dataset_alias_created` is removed in Airflow 3.0
719+
AIR301_class_attribute.py:50:11: AIR301 [*] `airflow.lineage.hook.DatasetLineageInfo` is removed in Airflow 3.0
720+
AIR301_class_attribute.py:51:9: AIR301 [*] `dataset` is removed in Airflow 3.0
721+
AIR301_class_attribute.py:54:5: AIR301 [*] `create_dataset` is removed in Airflow 3.0
722+
AIR301_class_attribute.py:55:5: AIR301 [*] `add_input_dataset` is removed in Airflow 3.0
723+
AIR301_class_attribute.py:56:5: AIR301 [*] `add_output_dataset` is removed in Airflow 3.0
724+
AIR301_class_attribute.py:57:5: AIR301 [*] `collected_datasets` is removed in Airflow 3.0
725+
AIR301_class_attribute.py:61:5: AIR301 [*] `is_authorized_dataset` is removed in Airflow 3.0
726+
AIR301_class_attribute.py:73:13: AIR301 [*] `get_conn_uri` is removed in Airflow 3.0
727+
AIR301_class_attribute.py:74:13: AIR301 [*] `get_connections` is removed in Airflow 3.0
728+
AIR301_class_attribute.py:78:15: AIR301 [*] `get_conn_uri` is removed in Airflow 3.0
729+
AIR301_class_attribute.py:79:15: AIR301 [*] `get_connections` is removed in Airflow 3.0
730+
AIR301_class_attribute.py:86:4: AIR301 [*] `initialize_providers_dataset_uri_resources` is removed in Airflow 3.0
731+
AIR301_class_attribute.py:87:4: AIR301 [*] `dataset_factories` is removed in Airflow 3.0
732+
AIR301_class_attribute.py:88:4: AIR301 [*] `dataset_uri_handlers` is removed in Airflow 3.0
733+
AIR301_class_attribute.py:89:4: AIR301 [*] `dataset_to_openlineage_converters` is removed in Airflow 3.0
734+
AIR301_class_attribute.py:93:21: AIR301 [*] `get_conn_uri` is removed in Airflow 3.0
735+
AIR301_class_attribute.py:94:21: AIR301 [*] `get_connections` is removed in Airflow 3.0
736+
AIR301_class_attribute.py:98:5: AIR301 [*] `get_connections` is removed in Airflow 3.0

crates/ruff_linter/src/rules/airflow/snapshots/ruff_linter__rules__airflow__tests__AIR301_AIR301_context.py.snap

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -357,3 +357,38 @@ AIR301 `next_ds` is removed in Airflow 3.0
357357
136 | execution_date = context["execution_date"]
358358
137 | next_ds = context["next_ds"]
359359
|
360+
361+
## Concise Output
362+
AIR301_context.py:22:41: AIR301 `conf` is removed in Airflow 3.0
363+
AIR301_context.py:23:45: AIR301 `conf` is removed in Airflow 3.0
364+
AIR301_context.py:28:5: AIR301 `execution_date` is removed in Airflow 3.0
365+
AIR301_context.py:28:21: AIR301 `tomorrow_ds` is removed in Airflow 3.0
366+
AIR301_context.py:31:45: AIR301 `conf` is removed in Airflow 3.0
367+
AIR301_context.py:40:30: AIR301 `execution_date` is removed in Airflow 3.0
368+
AIR301_context.py:41:23: AIR301 `next_ds` is removed in Airflow 3.0
369+
AIR301_context.py:42:30: AIR301 `next_ds_nodash` is removed in Airflow 3.0
370+
AIR301_context.py:43:35: AIR301 `next_execution_date` is removed in Airflow 3.0
371+
AIR301_context.py:44:23: AIR301 `prev_ds` is removed in Airflow 3.0
372+
AIR301_context.py:45:30: AIR301 `prev_ds_nodash` is removed in Airflow 3.0
373+
AIR301_context.py:46:35: AIR301 `prev_execution_date` is removed in Airflow 3.0
374+
AIR301_context.py:47:43: AIR301 `prev_execution_date_success` is removed in Airflow 3.0
375+
AIR301_context.py:48:27: AIR301 `tomorrow_ds` is removed in Airflow 3.0
376+
AIR301_context.py:49:28: AIR301 `yesterday_ds` is removed in Airflow 3.0
377+
AIR301_context.py:50:35: AIR301 `yesterday_ds_nodash` is removed in Airflow 3.0
378+
AIR301_context.py:56:30: AIR301 `execution_date` is removed in Airflow 3.0
379+
AIR301_context.py:57:23: AIR301 `next_ds` is removed in Airflow 3.0
380+
AIR301_context.py:58:30: AIR301 `next_ds_nodash` is removed in Airflow 3.0
381+
AIR301_context.py:59:35: AIR301 `next_execution_date` is removed in Airflow 3.0
382+
AIR301_context.py:60:23: AIR301 `prev_ds` is removed in Airflow 3.0
383+
AIR301_context.py:61:30: AIR301 `prev_ds_nodash` is removed in Airflow 3.0
384+
AIR301_context.py:62:35: AIR301 `prev_execution_date` is removed in Airflow 3.0
385+
AIR301_context.py:63:43: AIR301 `prev_execution_date_success` is removed in Airflow 3.0
386+
AIR301_context.py:64:27: AIR301 `tomorrow_ds` is removed in Airflow 3.0
387+
AIR301_context.py:65:28: AIR301 `yesterday_ds` is removed in Airflow 3.0
388+
AIR301_context.py:66:35: AIR301 `yesterday_ds_nodash` is removed in Airflow 3.0
389+
AIR301_context.py:73:22: AIR301 `tomorrow_ds` is removed in Airflow 3.0
390+
AIR301_context.py:75:11: AIR301 `execution_date` is removed in Airflow 3.0
391+
AIR301_context.py:87:49: AIR301 `conf` is removed in Airflow 3.0
392+
AIR301_context.py:90:42: AIR301 `execution_date` is removed in Airflow 3.0
393+
AIR301_context.py:111:5: AIR301 [*] `schedule_interval` is removed in Airflow 3.0
394+
AIR301_context.py:135:23: AIR301 `next_ds` is removed in Airflow 3.0

crates/ruff_linter/src/rules/airflow/snapshots/ruff_linter__rules__airflow__tests__AIR301_AIR301_names.py.snap

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -350,3 +350,38 @@ AIR301 `airflow.www.utils.should_hide_value_for_key` is removed in Airflow 3.0
350350
111 | should_hide_value_for_key
351351
| ^^^^^^^^^^^^^^^^^^^^^^^^^
352352
|
353+
354+
## Concise Output
355+
AIR301_names.py:39:1: AIR301 `airflow.PY36` is removed in Airflow 3.0
356+
AIR301_names.py:39:7: AIR301 `airflow.PY37` is removed in Airflow 3.0
357+
AIR301_names.py:39:13: AIR301 `airflow.PY38` is removed in Airflow 3.0
358+
AIR301_names.py:39:19: AIR301 `airflow.PY39` is removed in Airflow 3.0
359+
AIR301_names.py:39:25: AIR301 `airflow.PY310` is removed in Airflow 3.0
360+
AIR301_names.py:39:32: AIR301 `airflow.PY311` is removed in Airflow 3.0
361+
AIR301_names.py:39:39: AIR301 `airflow.PY312` is removed in Airflow 3.0
362+
AIR301_names.py:42:1: AIR301 `airflow.api_connexion.security.requires_access` is removed in Airflow 3.0
363+
AIR301_names.py:45:1: AIR301 `airflow.contrib.aws_athena_hook.AWSAthenaHook` is removed in Airflow 3.0
364+
AIR301_names.py:49:1: AIR301 `airflow.datasets.DatasetAliasEvent` is removed in Airflow 3.0
365+
AIR301_names.py:53:1: AIR301 `airflow.operators.subdag.SubDagOperator` is removed in Airflow 3.0
366+
AIR301_names.py:61:1: AIR301 [*] `airflow.secrets.cache.SecretCache` is removed in Airflow 3.0
367+
AIR301_names.py:65:1: AIR301 `airflow.triggers.external_task.TaskStateTrigger` is removed in Airflow 3.0
368+
AIR301_names.py:68:1: AIR301 `airflow.utils.dates.date_range` is removed in Airflow 3.0
369+
AIR301_names.py:69:1: AIR301 `airflow.utils.dates.days_ago` is removed in Airflow 3.0
370+
AIR301_names.py:71:1: AIR301 `airflow.utils.dates.date_range` is removed in Airflow 3.0
371+
AIR301_names.py:72:1: AIR301 `airflow.utils.dates.days_ago` is removed in Airflow 3.0
372+
AIR301_names.py:73:1: AIR301 `airflow.utils.dates.infer_time_unit` is removed in Airflow 3.0
373+
AIR301_names.py:74:1: AIR301 `airflow.utils.dates.parse_execution_date` is removed in Airflow 3.0
374+
AIR301_names.py:75:1: AIR301 `airflow.utils.dates.round_time` is removed in Airflow 3.0
375+
AIR301_names.py:76:1: AIR301 `airflow.utils.dates.scale_time_units` is removed in Airflow 3.0
376+
AIR301_names.py:83:1: AIR301 `airflow.utils.dag_cycle_tester.test_cycle` is removed in Airflow 3.0
377+
AIR301_names.py:87:1: AIR301 `airflow.utils.db.create_session` is removed in Airflow 3.0
378+
AIR301_names.py:90:1: AIR301 `airflow.utils.decorators.apply_defaults` is removed in Airflow 3.0
379+
AIR301_names.py:93:1: AIR301 `airflow.utils.file.mkdirs` is removed in Airflow 3.0
380+
AIR301_names.py:97:1: AIR301 `airflow.utils.state.SHUTDOWN` is removed in Airflow 3.0
381+
AIR301_names.py:98:1: AIR301 `airflow.utils.state.terminating_states` is removed in Airflow 3.0
382+
AIR301_names.py:101:1: AIR301 `airflow.utils.trigger_rule.TriggerRule.DUMMY` is removed in Airflow 3.0
383+
AIR301_names.py:102:1: AIR301 `airflow.utils.trigger_rule.TriggerRule.NONE_FAILED_OR_SKIPPED` is removed in Airflow 3.0
384+
AIR301_names.py:106:1: AIR301 `airflow.www.auth.has_access` is removed in Airflow 3.0
385+
AIR301_names.py:107:1: AIR301 `airflow.www.auth.has_access_dataset` is removed in Airflow 3.0
386+
AIR301_names.py:110:1: AIR301 `airflow.www.utils.get_sensitive_variables_fields` is removed in Airflow 3.0
387+
AIR301_names.py:111:1: AIR301 `airflow.www.utils.should_hide_value_for_key` is removed in Airflow 3.0

crates/ruff_linter/src/rules/airflow/snapshots/ruff_linter__rules__airflow__tests__AIR301_AIR301_names_fix.py.snap

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -811,3 +811,38 @@ help: Use `secrets_masker` from `airflow.sdk.execution_time` instead.
811811
112 112 |
812812
113 113 | # airflow.utils.log
813813
114 114 | secrets_masker
814+
815+
## Concise Output
816+
AIR301_names_fix.py:17:1: AIR301 [*] `airflow.api_connexion.security.requires_access_dataset` is removed in Airflow 3.0
817+
AIR301_names_fix.py:19:1: AIR301 [*] `airflow.auth.managers.models.resource_details.DatasetDetails` is removed in Airflow 3.0
818+
AIR301_names_fix.py:21:1: AIR301 [*] `airflow.datasets.manager.DatasetManager` is removed in Airflow 3.0
819+
AIR301_names_fix.py:22:1: AIR301 [*] `airflow.datasets.manager.dataset_manager` is removed in Airflow 3.0
820+
AIR301_names_fix.py:23:1: AIR301 [*] `airflow.datasets.manager.resolve_dataset_manager` is removed in Airflow 3.0
821+
AIR301_names_fix.py:25:1: AIR301 [*] `airflow.lineage.hook.DatasetLineageInfo` is removed in Airflow 3.0
822+
AIR301_names_fix.py:27:1: AIR301 [*] `airflow.metrics.validators.AllowListValidator` is removed in Airflow 3.0
823+
AIR301_names_fix.py:28:1: AIR301 [*] `airflow.metrics.validators.BlockListValidator` is removed in Airflow 3.0
824+
AIR301_names_fix.py:30:1: AIR301 [*] `airflow.secrets.local_filesystem.load_connections` is removed in Airflow 3.0
825+
AIR301_names_fix.py:32:1: AIR301 [*] `airflow.security.permissions.RESOURCE_DATASET` is removed in Airflow 3.0
826+
AIR301_names_fix.py:40:1: AIR301 [*] `airflow.listeners.spec.dataset.on_dataset_created` is removed in Airflow 3.0
827+
AIR301_names_fix.py:41:1: AIR301 [*] `airflow.listeners.spec.dataset.on_dataset_changed` is removed in Airflow 3.0
828+
AIR301_names_fix.py:47:1: AIR301 [*] `airflow.operators.python.get_current_context` is removed in Airflow 3.0
829+
AIR301_names_fix.py:52:1: AIR301 [*] `airflow.providers.mysql.datasets.mysql.sanitize_uri` is removed in Airflow 3.0
830+
AIR301_names_fix.py:57:1: AIR301 [*] `airflow.providers.postgres.datasets.postgres.sanitize_uri` is removed in Airflow 3.0
831+
AIR301_names_fix.py:62:1: AIR301 [*] `airflow.providers.trino.datasets.trino.sanitize_uri` is removed in Airflow 3.0
832+
AIR301_names_fix.py:67:1: AIR301 [*] `airflow.notifications.basenotifier.BaseNotifier` is removed in Airflow 3.0
833+
AIR301_names_fix.py:72:1: AIR301 [*] `airflow.auth.managers.base_auth_manager.BaseAuthManager` is removed in Airflow 3.0
834+
AIR301_names_fix.py:87:1: AIR301 [*] `airflow.configuration.get` is removed in Airflow 3.0
835+
AIR301_names_fix.py:87:6: AIR301 [*] `airflow.configuration.getboolean` is removed in Airflow 3.0
836+
AIR301_names_fix.py:87:18: AIR301 [*] `airflow.configuration.getfloat` is removed in Airflow 3.0
837+
AIR301_names_fix.py:87:28: AIR301 [*] `airflow.configuration.getint` is removed in Airflow 3.0
838+
AIR301_names_fix.py:87:36: AIR301 [*] `airflow.configuration.has_option` is removed in Airflow 3.0
839+
AIR301_names_fix.py:87:48: AIR301 [*] `airflow.configuration.remove_option` is removed in Airflow 3.0
840+
AIR301_names_fix.py:87:63: AIR301 [*] `airflow.configuration.as_dict` is removed in Airflow 3.0
841+
AIR301_names_fix.py:87:72: AIR301 [*] `airflow.configuration.set` is removed in Airflow 3.0
842+
AIR301_names_fix.py:91:1: AIR301 [*] `airflow.hooks.base_hook.BaseHook` is removed in Airflow 3.0
843+
AIR301_names_fix.py:96:1: AIR301 [*] `airflow.sensors.base_sensor_operator.BaseSensorOperator` is removed in Airflow 3.0
844+
AIR301_names_fix.py:97:1: AIR301 [*] `airflow.hooks.base_hook.BaseHook` is removed in Airflow 3.0
845+
AIR301_names_fix.py:103:1: AIR301 [*] `airflow.utils.helpers.chain` is removed in Airflow 3.0
846+
AIR301_names_fix.py:104:1: AIR301 [*] `airflow.utils.helpers.cross_downstream` is removed in Airflow 3.0
847+
AIR301_names_fix.py:109:1: AIR301 [*] `airflow.utils.file.TemporaryDirectory` is removed in Airflow 3.0
848+
AIR301_names_fix.py:114:1: AIR301 [*] `airflow.utils.log.secrets_masker` is removed in Airflow 3.0

crates/ruff_linter/src/rules/airflow/snapshots/ruff_linter__rules__airflow__tests__AIR301_AIR301_provider_names_fix.py.snap

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -251,3 +251,15 @@ help: Use `convert_asset_to_openlineage` from `airflow.providers.google.assets.g
251251
53 54 | gcs_create_dataset()
252252
54 |-gcs_convert_dataset_to_openlineage()
253253
55 |+convert_asset_to_openlineage()
254+
255+
## Concise Output
256+
AIR301_provider_names_fix.py:11:1: AIR301 [*] `airflow.providers.amazon.aws.auth_manager.avp.entities.AvpEntities.DATASET` is removed in Airflow 3.0
257+
AIR301_provider_names_fix.py:14:1: AIR301 [*] `airflow.providers.openlineage.utils.utils.DatasetInfo` is removed in Airflow 3.0
258+
AIR301_provider_names_fix.py:15:1: AIR301 [*] `airflow.providers.openlineage.utils.utils.translate_airflow_dataset` is removed in Airflow 3.0
259+
AIR301_provider_names_fix.py:18:1: AIR301 [*] `airflow.secrets.local_filesystem.load_connections` is removed in Airflow 3.0
260+
AIR301_provider_names_fix.py:21:1: AIR301 [*] `airflow.security.permissions.RESOURCE_DATASET` is removed in Airflow 3.0
261+
AIR301_provider_names_fix.py:28:1: AIR301 [*] `airflow.providers.amazon.aws.datasets.s3.create_dataset` is removed in Airflow 3.0
262+
AIR301_provider_names_fix.py:29:1: AIR301 [*] `airflow.providers.amazon.aws.datasets.s3.convert_dataset_to_openlineage` is removed in Airflow 3.0
263+
AIR301_provider_names_fix.py:45:1: AIR301 [*] `airflow.providers.google.datasets.bigquery.create_dataset` is removed in Airflow 3.0
264+
AIR301_provider_names_fix.py:53:1: AIR301 [*] `airflow.providers.google.datasets.gcs.create_dataset` is removed in Airflow 3.0
265+
AIR301_provider_names_fix.py:54:1: AIR301 [*] `airflow.providers.google.datasets.gcs.convert_dataset_to_openlineage` is removed in Airflow 3.0

crates/ruff_linter/src/rules/airflow/snapshots/ruff_linter__rules__airflow__tests__AIR302_AIR302_amazon.py.snap

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -261,3 +261,16 @@ help: Install `apache-airflow-providers-amazon>=1.0.0` and use `S3ToRedshiftOper
261261
33 |+from airflow.providers.amazon.aws.transfers.s3_to_redshift import S3ToRedshiftOperator
262262
33 34 |
263263
34 35 | S3ToRedshiftTransfer()
264+
265+
## Concise Output
266+
AIR302_amazon.py:14:1: AIR302 [*] `airflow.hooks.S3_hook.S3Hook` is moved into `amazon` provider in Airflow 3.0;
267+
AIR302_amazon.py:15:1: AIR302 [*] `airflow.hooks.S3_hook.provide_bucket_name` is moved into `amazon` provider in Airflow 3.0;
268+
AIR302_amazon.py:17:1: AIR302 [*] `airflow.operators.gcs_to_s3.GCSToS3Operator` is moved into `amazon` provider in Airflow 3.0;
269+
AIR302_amazon.py:18:1: AIR302 [*] `airflow.operators.google_api_to_s3_transfer.GoogleApiToS3Operator` is moved into `amazon` provider in Airflow 3.0;
270+
AIR302_amazon.py:19:1: AIR302 [*] `airflow.operators.redshift_to_s3_operator.RedshiftToS3Operator` is moved into `amazon` provider in Airflow 3.0;
271+
AIR302_amazon.py:20:1: AIR302 [*] `airflow.operators.s3_file_transform_operator.S3FileTransformOperator` is moved into `amazon` provider in Airflow 3.0;
272+
AIR302_amazon.py:21:1: AIR302 [*] `airflow.operators.s3_to_redshift_operator.S3ToRedshiftOperator` is moved into `amazon` provider in Airflow 3.0;
273+
AIR302_amazon.py:22:1: AIR302 [*] `airflow.sensors.s3_key_sensor.S3KeySensor` is moved into `amazon` provider in Airflow 3.0;
274+
AIR302_amazon.py:26:1: AIR302 [*] `airflow.operators.google_api_to_s3_transfer.GoogleApiToS3Transfer` is moved into `amazon` provider in Airflow 3.0;
275+
AIR302_amazon.py:30:1: AIR302 [*] `airflow.operators.redshift_to_s3_operator.RedshiftToS3Transfer` is moved into `amazon` provider in Airflow 3.0;
276+
AIR302_amazon.py:34:1: AIR302 [*] `airflow.operators.s3_to_redshift_operator.S3ToRedshiftTransfer` is moved into `amazon` provider in Airflow 3.0;

0 commit comments

Comments
 (0)