From bed3f050bc6ee12dc4e6a92637a628604b265725 Mon Sep 17 00:00:00 2001 From: rdimaio Date: Wed, 20 Mar 2024 18:22:51 +0100 Subject: [PATCH] Mark rucio as first-party dependency for isort and re-sort imports; #6538 rucio is detected as a third-party dependency by default (likely has to do with the project structure or __init__ files). This change configures isort to treat rucio as a first-party dependency, and re-formats the files. --- bin/rucio | 3 ++- bin/rucio-admin | 3 ++- bin/rucio-cache-client | 1 + bin/rucio-dumper | 3 ++- ...b656_add_new_rule_notification_state_progress.py | 1 + .../0f1adb7a599a_create_transfer_hops_table.py | 1 + .../13d4f70c66a9_introduce_transfer_limits.py | 1 + ...d4d803c8_split_rse_availability_into_multiple.py | 3 ++- .../1a29d6a9504c_add_didtype_chck_to_requests.py | 1 + .../1c45d9730ca6_increase_identity_length.py | 1 + .../1d1215494e95_add_quarantined_replicas_table.py | 1 + ...f484df21_asynchronous_rules_and_rule_approval.py | 1 + .../1fc15ab60d43_add_message_history_table.py | 1 + ...0e703eb6e_move_rse_settings_to_rse_attributes.py | 1 + ...9dc9961_add_mismatch_scheme_state_to_requests.py | 1 + .../versions/22d887e4ec0a_create_sources_table.py | 1 + .../277b5fbb41d3_switch_heartbeats_executable.py | 1 + .../versions/2854cd9e168_added_rule_id_column.py | 1 + .../2af3291ec4c_added_replicas_history_table.py | 1 + ...e4a83846_add_source_to_requests_and_requests_.py | 1 + ...ef557_add_naming_convention_table_and_closed_.py | 1 + .../3152492b110b_added_staging_area_column.py | 1 + .../32c7d2783f7e_create_bad_replicas_table.py | 1 + .../379a19b5332d_create_rse_limits_table.py | 1 + .../384b96aa0f60_created_rule_history_tables.py | 1 + ...68b0_create_collection_replicas_updates_table.py | 1 + .../3c9df354071b_extend_waiting_request_state.py | 1 + ...fab443_add_a_new_state_lost_in_badfilesstatus.py | 1 + ...4207be2fd914_add_notification_column_to_rules.py | 1 + .../45378a1e76a8_create_collection_replica_table.py | 1 + .../versions/4783c1f49cb4_create_distance_table.py | 1 + .../versions/4df2c5ddabc0_remove_temporary_dids.py | 1 + .../575767d9f89_added_source_history_table.py | 1 + .../58c8b78301ab_rename_callback_to_message.py | 1 + .../5f139f77382a_added_child_rule_id_column.py | 1 + .../versions/688ef1840840_adding_did_meta_table.py | 1 + ...bf173_add_didsfollowed_and_followevents_table.py | 1 + ...7ec22226cdbf_new_replica_state_for_temporary_.py | 1 + ...2df38_new_table_for_lifetime_model_exceptions.py | 1 + .../versions/9a1b149a2044_add_saml_identity_type.py | 1 + .../versions/9a45bc4ea66d_add_vp_table.py | 1 + .../versions/a08fa8de1545_transfer_stats_table.py | 1 + .../a616581ee47_added_columns_to_table_requests.py | 1 + .../ae2a56fcc89_added_comment_column_to_rules.py | 1 + .../b7d287de34fd_removal_of_replicastate_source.py | 1 + ...1c7e1cc4_new_bad_pfns_table_and_bad_replicas_.py | 1 + .../versions/bb695f45c04_extend_request_state.py | 1 + ...a1c1474_correct_pk_and_idx_for_history_tables.py | 1 + .../c0937668555f_add_qos_policy_map_table.py | 1 + ...48206e_add_did_type_column_index_on_did_meta_.py | 1 + ...ebad904c4dd_new_payload_column_for_heartbeats.py | 1 + ...c6e0_oauth2_0_and_jwt_feature_support_adding_.py | 1 + ...23453595260_extend_request_state_for_preparer.py | 1 + .../d91002c5841_new_account_limits_table.py | 1 + .../versions/e59300c8b179_support_for_archive.py | 1 + .../f41ffe206f37_oracle_global_temporary_tables.py | 1 + pyproject.toml | 3 +++ tests/conftest.py | 12 ++++++++---- tests/rsemgr_api_test.py | 1 + tests/temp_factories.py | 3 ++- tests/test_abacus_account.py | 1 + tests/test_abacus_collection_replica.py | 1 + tests/test_abacus_rse.py | 1 + tests/test_account.py | 1 + tests/test_account_limits.py | 1 + tests/test_api_external_representation.py | 1 + tests/test_auditor.py | 1 + tests/test_auditor_hdfs.py | 1 + tests/test_auditor_srmdumps.py | 1 + tests/test_authentication.py | 1 + tests/test_automatix.py | 1 + tests/test_bad_replica.py | 1 + tests/test_bb8.py | 1 + tests/test_belleii.py | 1 + tests/test_bin_rucio.py | 1 + tests/test_clients.py | 2 +- tests/test_config.py | 1 + tests/test_conveyor.py | 4 ++-- tests/test_conveyor_submitter.py | 4 ++-- tests/test_counter.py | 1 + tests/test_credential.py | 1 + tests/test_curl.py | 1 + tests/test_daemons.py | 1 + tests/test_dataset_replicas.py | 3 ++- tests/test_db.py | 3 ++- tests/test_did.py | 1 + tests/test_did_meta_plugins.py | 1 + tests/test_download.py | 1 + tests/test_dumper.py | 1 + tests/test_dumper_data_model.py | 1 + tests/test_filter_engine.py | 1 + tests/test_heartbeat.py | 1 + tests/test_hermes.py | 1 + tests/test_identity.py | 1 + tests/test_impl_upload_download.py | 1 + tests/test_import_export.py | 1 + tests/test_judge_cleaner.py | 1 + tests/test_judge_evaluator.py | 1 + tests/test_judge_injector.py | 1 + tests/test_judge_repairer.py | 1 + tests/test_lifetime.py | 1 + tests/test_message.py | 1 + tests/test_meta_conventions.py | 1 + tests/test_meta_did.py | 1 + tests/test_multi_vo.py | 1 + tests/test_naming_convention.py | 1 + tests/test_oauthmanager.py | 5 +++-- tests/test_oidc.py | 1 + tests/test_preparer.py | 1 + tests/test_quarantined_replica.py | 1 + tests/test_reaper.py | 4 ++-- tests/test_replica.py | 3 ++- tests/test_replica_recoverer.py | 1 + tests/test_replica_sorting.py | 1 + tests/test_request.py | 1 + tests/test_root_proxy.py | 1 + tests/test_rse.py | 1 + tests/test_rse_expression_parser.py | 1 + tests/test_rse_lfn2path.py | 1 + tests/test_rse_protocol_gfal2.py | 1 + tests/test_rse_protocol_gfal2_impl.py | 1 + tests/test_rse_protocol_posix.py | 1 + tests/test_rse_protocol_rclone.py | 1 + tests/test_rse_protocol_rsync.py | 1 + tests/test_rse_protocol_srm.py | 1 + tests/test_rse_protocol_ssh.py | 1 + tests/test_rse_protocol_webdav.py | 1 + tests/test_rse_protocol_xrootd.py | 1 + tests/test_rse_selector.py | 1 + tests/test_rucio_server.py | 1 + tests/test_rule.py | 1 + tests/test_schema_cms.py | 1 + tests/test_scope.py | 1 + tests/test_subscription.py | 1 + tests/test_throttler.py | 3 ++- tests/test_tpc.py | 1 + tests/test_trace.py | 1 + tests/test_transfer.py | 1 + tests/test_transfer_plugins.py | 1 + tests/test_undertaker.py | 1 + tests/test_upload.py | 1 + tests/test_utils.py | 1 + tools/convert_database_vo.py | 13 +++++++------ tools/generate_rest_api_doc.py | 1 + 144 files changed, 173 insertions(+), 28 deletions(-) diff --git a/bin/rucio b/bin/rucio index a5126969c0..acf8c92ad5 100755 --- a/bin/rucio +++ b/bin/rucio @@ -31,6 +31,8 @@ from copy import deepcopy from datetime import datetime from functools import wraps +from tabulate import tabulate + # rucio module has the same name as this executable module, so this rule fails. pylint: disable=no-name-in-module from rucio import version from rucio.client import Client @@ -58,7 +60,6 @@ from rucio.common.exception import ( from rucio.common.extra import import_extras from rucio.common.test_rucio_server import TestRucioServer from rucio.common.utils import Color, StoreAndDeprecateWarningAction, chunks, detect_client_location, extract_scope, parse_did_filter_from_string, parse_did_filter_from_string_fe, setup_logger, sizefmt -from tabulate import tabulate EXTRA_MODULES = import_extras(['argcomplete']) diff --git a/bin/rucio-admin b/bin/rucio-admin index 84fee6bb5c..f635081dab 100755 --- a/bin/rucio-admin +++ b/bin/rucio-admin @@ -28,6 +28,8 @@ from configparser import NoOptionError, NoSectionError from functools import wraps from textwrap import dedent +from tabulate import tabulate + from rucio import version from rucio.client import Client from rucio.common.config import config_get @@ -53,7 +55,6 @@ from rucio.common.exception import ( from rucio.common.extra import import_extras from rucio.common.utils import StoreAndDeprecateWarningAction, chunks, clean_surls, construct_surl, extract_scope, get_bytes_value_from_string, parse_response, render_json, sizefmt from rucio.rse import rsemanager as rsemgr -from tabulate import tabulate EXTRA_MODULES = import_extras(['argcomplete']) diff --git a/bin/rucio-cache-client b/bin/rucio-cache-client index 39004e2a81..17a796fac4 100755 --- a/bin/rucio-cache-client +++ b/bin/rucio-cache-client @@ -26,6 +26,7 @@ import sys import stomp from jsonschema import validate + from rucio.client.didclient import DIDClient from rucio.client.rseclient import RSEClient from rucio.common.config import config_get, config_get_int diff --git a/bin/rucio-dumper b/bin/rucio-dumper index c0654dd9e7..4b1cfb9a1a 100755 --- a/bin/rucio-dumper +++ b/bin/rucio-dumper @@ -18,9 +18,10 @@ import datetime import logging import sys +import tabulate + import rucio.common.dumper.consistency as consistency import rucio.common.dumper.data_models as data_models -import tabulate from rucio.common.dumper import error logger = logging.getLogger('rucio-dumper') diff --git a/lib/rucio/db/sqla/migrate_repo/versions/01eaf73ab656_add_new_rule_notification_state_progress.py b/lib/rucio/db/sqla/migrate_repo/versions/01eaf73ab656_add_new_rule_notification_state_progress.py index f052c1e053..e9ea39c776 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/01eaf73ab656_add_new_rule_notification_state_progress.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/01eaf73ab656_add_new_rule_notification_state_progress.py @@ -16,6 +16,7 @@ from alembic import context, op from alembic.op import create_check_constraint + from rucio.db.sqla.util import try_drop_constraint # Alembic revision identifiers diff --git a/lib/rucio/db/sqla/migrate_repo/versions/0f1adb7a599a_create_transfer_hops_table.py b/lib/rucio/db/sqla/migrate_repo/versions/0f1adb7a599a_create_transfer_hops_table.py index 5949e9ef4d..fa79625142 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/0f1adb7a599a_create_transfer_hops_table.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/0f1adb7a599a_create_transfer_hops_table.py @@ -19,6 +19,7 @@ import sqlalchemy as sa from alembic import context from alembic.op import create_check_constraint, create_foreign_key, create_index, create_primary_key, create_table, drop_table + from rucio.db.sqla.types import GUID # Alembic revision identifiers diff --git a/lib/rucio/db/sqla/migrate_repo/versions/13d4f70c66a9_introduce_transfer_limits.py b/lib/rucio/db/sqla/migrate_repo/versions/13d4f70c66a9_introduce_transfer_limits.py index 5064dd84a2..207d0c2cea 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/13d4f70c66a9_introduce_transfer_limits.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/13d4f70c66a9_introduce_transfer_limits.py @@ -18,6 +18,7 @@ import sqlalchemy as sa from alembic import context from alembic.op import create_check_constraint, create_foreign_key, create_index, create_primary_key, create_table, drop_table + from rucio.db.sqla.constants import TransferLimitDirection from rucio.db.sqla.types import GUID diff --git a/lib/rucio/db/sqla/migrate_repo/versions/1677d4d803c8_split_rse_availability_into_multiple.py b/lib/rucio/db/sqla/migrate_repo/versions/1677d4d803c8_split_rse_availability_into_multiple.py index 7e0cea25c7..d31d50228d 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/1677d4d803c8_split_rse_availability_into_multiple.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/1677d4d803c8_split_rse_availability_into_multiple.py @@ -17,9 +17,10 @@ import sqlalchemy as sa from alembic import context from alembic.op import add_column, drop_column, get_bind -from rucio.db.sqla.types import GUID from sqlalchemy.sql.expression import true +from rucio.db.sqla.types import GUID + # Alembic revision identifiers revision = "1677d4d803c8" down_revision = "fe1a65b176c9" diff --git a/lib/rucio/db/sqla/migrate_repo/versions/1a29d6a9504c_add_didtype_chck_to_requests.py b/lib/rucio/db/sqla/migrate_repo/versions/1a29d6a9504c_add_didtype_chck_to_requests.py index b7fbda96b8..ecdcf35b1c 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/1a29d6a9504c_add_didtype_chck_to_requests.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/1a29d6a9504c_add_didtype_chck_to_requests.py @@ -17,6 +17,7 @@ import sqlalchemy as sa from alembic import context, op from alembic.op import add_column, drop_column + from rucio.db.sqla.constants import DIDType # Alembic revision identifiers diff --git a/lib/rucio/db/sqla/migrate_repo/versions/1c45d9730ca6_increase_identity_length.py b/lib/rucio/db/sqla/migrate_repo/versions/1c45d9730ca6_increase_identity_length.py index e97657a5c0..799a87eba5 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/1c45d9730ca6_increase_identity_length.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/1c45d9730ca6_increase_identity_length.py @@ -17,6 +17,7 @@ import sqlalchemy as sa from alembic import context, op from alembic.op import alter_column, create_check_constraint, create_foreign_key, drop_constraint, execute + from rucio.db.sqla.util import try_drop_constraint # Alembic revision identifiers diff --git a/lib/rucio/db/sqla/migrate_repo/versions/1d1215494e95_add_quarantined_replicas_table.py b/lib/rucio/db/sqla/migrate_repo/versions/1d1215494e95_add_quarantined_replicas_table.py index ae90e4ca70..ef00fc8e74 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/1d1215494e95_add_quarantined_replicas_table.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/1d1215494e95_add_quarantined_replicas_table.py @@ -19,6 +19,7 @@ import sqlalchemy as sa from alembic import context from alembic.op import create_check_constraint, create_foreign_key, create_primary_key, create_table, drop_table + from rucio.common.schema import get_schema_value from rucio.db.sqla.types import GUID diff --git a/lib/rucio/db/sqla/migrate_repo/versions/1d96f484df21_asynchronous_rules_and_rule_approval.py b/lib/rucio/db/sqla/migrate_repo/versions/1d96f484df21_asynchronous_rules_and_rule_approval.py index acfe2dbcb2..cfcc2aaae1 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/1d96f484df21_asynchronous_rules_and_rule_approval.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/1d96f484df21_asynchronous_rules_and_rule_approval.py @@ -17,6 +17,7 @@ import sqlalchemy as sa from alembic import context, op from alembic.op import add_column, create_check_constraint, drop_column + from rucio.db.sqla.util import try_drop_constraint # Alembic revision identifiers diff --git a/lib/rucio/db/sqla/migrate_repo/versions/1fc15ab60d43_add_message_history_table.py b/lib/rucio/db/sqla/migrate_repo/versions/1fc15ab60d43_add_message_history_table.py index c79685bc0a..6fd93be5a5 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/1fc15ab60d43_add_message_history_table.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/1fc15ab60d43_add_message_history_table.py @@ -19,6 +19,7 @@ import sqlalchemy as sa from alembic import context from alembic.op import create_table, drop_table + from rucio.db.sqla.types import GUID # Alembic revision identifiers diff --git a/lib/rucio/db/sqla/migrate_repo/versions/2190e703eb6e_move_rse_settings_to_rse_attributes.py b/lib/rucio/db/sqla/migrate_repo/versions/2190e703eb6e_move_rse_settings_to_rse_attributes.py index 72c37f9595..bf66fc006a 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/2190e703eb6e_move_rse_settings_to_rse_attributes.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/2190e703eb6e_move_rse_settings_to_rse_attributes.py @@ -17,6 +17,7 @@ import sqlalchemy as sa from alembic import context from alembic.op import get_bind + from rucio.db.sqla.types import GUID, BooleanString # Alembic revision identifiers diff --git a/lib/rucio/db/sqla/migrate_repo/versions/21d6b9dc9961_add_mismatch_scheme_state_to_requests.py b/lib/rucio/db/sqla/migrate_repo/versions/21d6b9dc9961_add_mismatch_scheme_state_to_requests.py index 30126f49c3..ee70363c22 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/21d6b9dc9961_add_mismatch_scheme_state_to_requests.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/21d6b9dc9961_add_mismatch_scheme_state_to_requests.py @@ -16,6 +16,7 @@ from alembic import context, op from alembic.op import create_check_constraint + from rucio.db.sqla.util import try_drop_constraint # Alembic revision identifiers diff --git a/lib/rucio/db/sqla/migrate_repo/versions/22d887e4ec0a_create_sources_table.py b/lib/rucio/db/sqla/migrate_repo/versions/22d887e4ec0a_create_sources_table.py index 5e3fe729d0..f12a4f9e3d 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/22d887e4ec0a_create_sources_table.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/22d887e4ec0a_create_sources_table.py @@ -19,6 +19,7 @@ import sqlalchemy as sa from alembic import context from alembic.op import create_check_constraint, create_foreign_key, create_index, create_primary_key, create_table, drop_table + from rucio.db.sqla.types import GUID # Alembic revision identifiers diff --git a/lib/rucio/db/sqla/migrate_repo/versions/277b5fbb41d3_switch_heartbeats_executable.py b/lib/rucio/db/sqla/migrate_repo/versions/277b5fbb41d3_switch_heartbeats_executable.py index 5bf8b973a0..d1fe490a4a 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/277b5fbb41d3_switch_heartbeats_executable.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/277b5fbb41d3_switch_heartbeats_executable.py @@ -17,6 +17,7 @@ import sqlalchemy as sa from alembic import context from alembic.op import add_column, create_primary_key, drop_column, drop_constraint + from rucio.db.sqla.models import String # Alembic revision identifiers diff --git a/lib/rucio/db/sqla/migrate_repo/versions/2854cd9e168_added_rule_id_column.py b/lib/rucio/db/sqla/migrate_repo/versions/2854cd9e168_added_rule_id_column.py index ec003a4fc2..b93eaf0628 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/2854cd9e168_added_rule_id_column.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/2854cd9e168_added_rule_id_column.py @@ -17,6 +17,7 @@ import sqlalchemy as sa from alembic import context from alembic.op import add_column, drop_column + from rucio.db.sqla.types import GUID # Alembic revision identifiers diff --git a/lib/rucio/db/sqla/migrate_repo/versions/2af3291ec4c_added_replicas_history_table.py b/lib/rucio/db/sqla/migrate_repo/versions/2af3291ec4c_added_replicas_history_table.py index a2757dfdd2..e7ee8b7808 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/2af3291ec4c_added_replicas_history_table.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/2af3291ec4c_added_replicas_history_table.py @@ -17,6 +17,7 @@ import sqlalchemy as sa from alembic import context from alembic.op import create_check_constraint, create_foreign_key, create_primary_key, create_table, drop_constraint, drop_table + from rucio.db.sqla.types import GUID # Alembic revision identifiers diff --git a/lib/rucio/db/sqla/migrate_repo/versions/2edee4a83846_add_source_to_requests_and_requests_.py b/lib/rucio/db/sqla/migrate_repo/versions/2edee4a83846_add_source_to_requests_and_requests_.py index 2f2b286a15..291d59e946 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/2edee4a83846_add_source_to_requests_and_requests_.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/2edee4a83846_add_source_to_requests_and_requests_.py @@ -17,6 +17,7 @@ import sqlalchemy as sa from alembic import context from alembic.op import add_column, drop_column + from rucio.db.sqla.types import GUID # Alembic revision identifiers diff --git a/lib/rucio/db/sqla/migrate_repo/versions/3082b8cef557_add_naming_convention_table_and_closed_.py b/lib/rucio/db/sqla/migrate_repo/versions/3082b8cef557_add_naming_convention_table_and_closed_.py index 62af248031..172e1fec1e 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/3082b8cef557_add_naming_convention_table_and_closed_.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/3082b8cef557_add_naming_convention_table_and_closed_.py @@ -19,6 +19,7 @@ import sqlalchemy as sa from alembic import context from alembic.op import add_column, create_check_constraint, create_foreign_key, create_primary_key, create_table, drop_column, drop_table + from rucio.common.schema import get_schema_value from rucio.db.sqla.constants import KeyType diff --git a/lib/rucio/db/sqla/migrate_repo/versions/3152492b110b_added_staging_area_column.py b/lib/rucio/db/sqla/migrate_repo/versions/3152492b110b_added_staging_area_column.py index d3bf7d93d2..1de0c2c6c4 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/3152492b110b_added_staging_area_column.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/3152492b110b_added_staging_area_column.py @@ -17,6 +17,7 @@ import sqlalchemy as sa from alembic import context, op from alembic.op import add_column, create_check_constraint, drop_column, drop_constraint + from rucio.db.sqla.util import try_drop_constraint # Alembic revision identifiers diff --git a/lib/rucio/db/sqla/migrate_repo/versions/32c7d2783f7e_create_bad_replicas_table.py b/lib/rucio/db/sqla/migrate_repo/versions/32c7d2783f7e_create_bad_replicas_table.py index 576b3cda1b..2e95ad85c7 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/32c7d2783f7e_create_bad_replicas_table.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/32c7d2783f7e_create_bad_replicas_table.py @@ -19,6 +19,7 @@ import sqlalchemy as sa from alembic import context from alembic.op import create_check_constraint, create_foreign_key, create_index, create_primary_key, create_table, drop_table + from rucio.db.sqla.types import GUID # Alembic revision identifiers diff --git a/lib/rucio/db/sqla/migrate_repo/versions/379a19b5332d_create_rse_limits_table.py b/lib/rucio/db/sqla/migrate_repo/versions/379a19b5332d_create_rse_limits_table.py index e534886bf9..4921523d16 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/379a19b5332d_create_rse_limits_table.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/379a19b5332d_create_rse_limits_table.py @@ -19,6 +19,7 @@ import sqlalchemy as sa from alembic import context from alembic.op import create_check_constraint, create_foreign_key, create_primary_key, create_table, drop_table + from rucio.db.sqla.types import GUID # Alembic revision identifiers diff --git a/lib/rucio/db/sqla/migrate_repo/versions/384b96aa0f60_created_rule_history_tables.py b/lib/rucio/db/sqla/migrate_repo/versions/384b96aa0f60_created_rule_history_tables.py index f1da4ed33e..8a274b319f 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/384b96aa0f60_created_rule_history_tables.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/384b96aa0f60_created_rule_history_tables.py @@ -19,6 +19,7 @@ import sqlalchemy as sa from alembic import context from alembic.op import create_index, create_primary_key, create_table, drop_index, drop_table + from rucio.db.sqla.constants import DIDType, RuleGrouping, RuleNotification, RuleState from rucio.db.sqla.types import GUID diff --git a/lib/rucio/db/sqla/migrate_repo/versions/3ad36e2268b0_create_collection_replicas_updates_table.py b/lib/rucio/db/sqla/migrate_repo/versions/3ad36e2268b0_create_collection_replicas_updates_table.py index bfd29f56bb..6277f84350 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/3ad36e2268b0_create_collection_replicas_updates_table.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/3ad36e2268b0_create_collection_replicas_updates_table.py @@ -19,6 +19,7 @@ import sqlalchemy as sa from alembic import context from alembic.op import add_column, create_check_constraint, create_index, create_primary_key, create_table, drop_column, drop_constraint, drop_index, drop_table + from rucio.db.sqla.constants import DIDType from rucio.db.sqla.types import GUID diff --git a/lib/rucio/db/sqla/migrate_repo/versions/3c9df354071b_extend_waiting_request_state.py b/lib/rucio/db/sqla/migrate_repo/versions/3c9df354071b_extend_waiting_request_state.py index 82021f3517..bcb2fa7ec3 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/3c9df354071b_extend_waiting_request_state.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/3c9df354071b_extend_waiting_request_state.py @@ -16,6 +16,7 @@ from alembic import context, op from alembic.op import create_check_constraint + from rucio.db.sqla.util import try_drop_constraint # Alembic revision identifiers diff --git a/lib/rucio/db/sqla/migrate_repo/versions/3d9813fab443_add_a_new_state_lost_in_badfilesstatus.py b/lib/rucio/db/sqla/migrate_repo/versions/3d9813fab443_add_a_new_state_lost_in_badfilesstatus.py index e5f7beb9db..f9039cd5e4 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/3d9813fab443_add_a_new_state_lost_in_badfilesstatus.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/3d9813fab443_add_a_new_state_lost_in_badfilesstatus.py @@ -16,6 +16,7 @@ from alembic import context from alembic.op import create_check_constraint + from rucio.db.sqla.util import try_drop_constraint # Alembic revision identifiers diff --git a/lib/rucio/db/sqla/migrate_repo/versions/4207be2fd914_add_notification_column_to_rules.py b/lib/rucio/db/sqla/migrate_repo/versions/4207be2fd914_add_notification_column_to_rules.py index 9baea20caa..ef655a85d9 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/4207be2fd914_add_notification_column_to_rules.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/4207be2fd914_add_notification_column_to_rules.py @@ -17,6 +17,7 @@ import sqlalchemy as sa from alembic import context, op from alembic.op import add_column, drop_column + from rucio.db.sqla.constants import RuleNotification from rucio.db.sqla.util import try_drop_constraint diff --git a/lib/rucio/db/sqla/migrate_repo/versions/45378a1e76a8_create_collection_replica_table.py b/lib/rucio/db/sqla/migrate_repo/versions/45378a1e76a8_create_collection_replica_table.py index 8e97d1b0ea..32c39482c6 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/45378a1e76a8_create_collection_replica_table.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/45378a1e76a8_create_collection_replica_table.py @@ -19,6 +19,7 @@ import sqlalchemy as sa from alembic import context from alembic.op import create_check_constraint, create_foreign_key, create_index, create_primary_key, create_table, drop_table + from rucio.db.sqla.constants import DIDType, ReplicaState from rucio.db.sqla.types import GUID from rucio.db.sqla.util import try_drop_constraint diff --git a/lib/rucio/db/sqla/migrate_repo/versions/4783c1f49cb4_create_distance_table.py b/lib/rucio/db/sqla/migrate_repo/versions/4783c1f49cb4_create_distance_table.py index 5fb5c946e9..9f2897cf04 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/4783c1f49cb4_create_distance_table.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/4783c1f49cb4_create_distance_table.py @@ -19,6 +19,7 @@ import sqlalchemy as sa from alembic import context from alembic.op import create_check_constraint, create_foreign_key, create_index, create_primary_key, create_table, drop_table + from rucio.db.sqla.types import GUID # Alembic revision identifiers diff --git a/lib/rucio/db/sqla/migrate_repo/versions/4df2c5ddabc0_remove_temporary_dids.py b/lib/rucio/db/sqla/migrate_repo/versions/4df2c5ddabc0_remove_temporary_dids.py index 7771616a85..1ff7139be2 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/4df2c5ddabc0_remove_temporary_dids.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/4df2c5ddabc0_remove_temporary_dids.py @@ -17,6 +17,7 @@ import sqlalchemy as sa from alembic import context from alembic.op import create_index, create_primary_key, create_table, drop_table + from rucio.common.schema import get_schema_value from rucio.db.sqla.types import GUID, InternalScopeString diff --git a/lib/rucio/db/sqla/migrate_repo/versions/575767d9f89_added_source_history_table.py b/lib/rucio/db/sqla/migrate_repo/versions/575767d9f89_added_source_history_table.py index 4040acb62f..7d0506b69f 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/575767d9f89_added_source_history_table.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/575767d9f89_added_source_history_table.py @@ -17,6 +17,7 @@ import sqlalchemy as sa from alembic import context from alembic.op import add_column, create_table, drop_column, drop_table + from rucio.db.sqla.types import GUID # Alembic revision identifiers diff --git a/lib/rucio/db/sqla/migrate_repo/versions/58c8b78301ab_rename_callback_to_message.py b/lib/rucio/db/sqla/migrate_repo/versions/58c8b78301ab_rename_callback_to_message.py index 176ad53ccd..fc2b563f63 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/58c8b78301ab_rename_callback_to_message.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/58c8b78301ab_rename_callback_to_message.py @@ -16,6 +16,7 @@ from alembic import context, op from alembic.op import create_check_constraint, create_primary_key, drop_constraint, rename_table + from rucio.db.sqla.util import try_drop_constraint # Alembic revision identifiers diff --git a/lib/rucio/db/sqla/migrate_repo/versions/5f139f77382a_added_child_rule_id_column.py b/lib/rucio/db/sqla/migrate_repo/versions/5f139f77382a_added_child_rule_id_column.py index 7e5454ec3e..4198c387a8 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/5f139f77382a_added_child_rule_id_column.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/5f139f77382a_added_child_rule_id_column.py @@ -17,6 +17,7 @@ import sqlalchemy as sa from alembic import context from alembic.op import add_column, create_foreign_key, create_index, drop_column, drop_constraint, drop_index + from rucio.db.sqla.types import GUID # Alembic revision identifiers diff --git a/lib/rucio/db/sqla/migrate_repo/versions/688ef1840840_adding_did_meta_table.py b/lib/rucio/db/sqla/migrate_repo/versions/688ef1840840_adding_did_meta_table.py index d6d3b9eae8..7c3dca225a 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/688ef1840840_adding_did_meta_table.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/688ef1840840_adding_did_meta_table.py @@ -17,6 +17,7 @@ import sqlalchemy as sa from alembic import context from alembic.op import create_foreign_key, create_primary_key, create_table, drop_table + from rucio.db.sqla.types import JSON # Alembic revision identifiers diff --git a/lib/rucio/db/sqla/migrate_repo/versions/7541902bf173_add_didsfollowed_and_followevents_table.py b/lib/rucio/db/sqla/migrate_repo/versions/7541902bf173_add_didsfollowed_and_followevents_table.py index 7e3cc226e7..fc340b40c7 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/7541902bf173_add_didsfollowed_and_followevents_table.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/7541902bf173_add_didsfollowed_and_followevents_table.py @@ -19,6 +19,7 @@ import sqlalchemy as sa from alembic import context from alembic.op import create_check_constraint, create_foreign_key, create_index, create_primary_key, create_table, drop_table + from rucio.db.sqla.constants import DIDType # Alembic revision identifiers diff --git a/lib/rucio/db/sqla/migrate_repo/versions/7ec22226cdbf_new_replica_state_for_temporary_.py b/lib/rucio/db/sqla/migrate_repo/versions/7ec22226cdbf_new_replica_state_for_temporary_.py index cdfd24dadf..dcc15d6873 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/7ec22226cdbf_new_replica_state_for_temporary_.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/7ec22226cdbf_new_replica_state_for_temporary_.py @@ -16,6 +16,7 @@ from alembic import context, op from alembic.op import create_check_constraint + from rucio.db.sqla.util import try_drop_constraint # Alembic revision identifiers diff --git a/lib/rucio/db/sqla/migrate_repo/versions/914b8f02df38_new_table_for_lifetime_model_exceptions.py b/lib/rucio/db/sqla/migrate_repo/versions/914b8f02df38_new_table_for_lifetime_model_exceptions.py index 040fcd9811..2c3f9ed70d 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/914b8f02df38_new_table_for_lifetime_model_exceptions.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/914b8f02df38_new_table_for_lifetime_model_exceptions.py @@ -19,6 +19,7 @@ import sqlalchemy as sa from alembic import context from alembic.op import create_check_constraint, create_primary_key, create_table, drop_table + from rucio.db.sqla.constants import DIDType, LifetimeExceptionsState from rucio.db.sqla.types import GUID diff --git a/lib/rucio/db/sqla/migrate_repo/versions/9a1b149a2044_add_saml_identity_type.py b/lib/rucio/db/sqla/migrate_repo/versions/9a1b149a2044_add_saml_identity_type.py index 40475c388c..ea5836c63f 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/9a1b149a2044_add_saml_identity_type.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/9a1b149a2044_add_saml_identity_type.py @@ -16,6 +16,7 @@ from alembic import context from alembic.op import create_check_constraint, drop_constraint, execute + from rucio.db.sqla.util import try_drop_constraint # Alembic revision identifiers diff --git a/lib/rucio/db/sqla/migrate_repo/versions/9a45bc4ea66d_add_vp_table.py b/lib/rucio/db/sqla/migrate_repo/versions/9a45bc4ea66d_add_vp_table.py index acb69ede8a..57dd66c4c0 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/9a45bc4ea66d_add_vp_table.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/9a45bc4ea66d_add_vp_table.py @@ -17,6 +17,7 @@ import sqlalchemy as sa from alembic import context from alembic.op import create_foreign_key, create_primary_key, create_table, drop_table + from rucio.common.schema import get_schema_value from rucio.db.sqla.types import JSON diff --git a/lib/rucio/db/sqla/migrate_repo/versions/a08fa8de1545_transfer_stats_table.py b/lib/rucio/db/sqla/migrate_repo/versions/a08fa8de1545_transfer_stats_table.py index d9bc461c34..9c98b27b95 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/a08fa8de1545_transfer_stats_table.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/a08fa8de1545_transfer_stats_table.py @@ -19,6 +19,7 @@ import sqlalchemy as sa from alembic import context from alembic.op import create_check_constraint, create_foreign_key, create_index, create_primary_key, create_table, drop_table + from rucio.db.sqla.types import GUID # Alembic revision identifiers diff --git a/lib/rucio/db/sqla/migrate_repo/versions/a616581ee47_added_columns_to_table_requests.py b/lib/rucio/db/sqla/migrate_repo/versions/a616581ee47_added_columns_to_table_requests.py index f36809f8ff..28b6b2d15f 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/a616581ee47_added_columns_to_table_requests.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/a616581ee47_added_columns_to_table_requests.py @@ -17,6 +17,7 @@ import sqlalchemy as sa from alembic import context from alembic.op import add_column, drop_column + from rucio.db.sqla.models import String # Alembic revision identifiers diff --git a/lib/rucio/db/sqla/migrate_repo/versions/ae2a56fcc89_added_comment_column_to_rules.py b/lib/rucio/db/sqla/migrate_repo/versions/ae2a56fcc89_added_comment_column_to_rules.py index 9f3c158a2b..161cc42336 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/ae2a56fcc89_added_comment_column_to_rules.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/ae2a56fcc89_added_comment_column_to_rules.py @@ -17,6 +17,7 @@ import sqlalchemy as sa from alembic import context from alembic.op import add_column, drop_column + from rucio.db.sqla.models import String # Alembic revision identifiers diff --git a/lib/rucio/db/sqla/migrate_repo/versions/b7d287de34fd_removal_of_replicastate_source.py b/lib/rucio/db/sqla/migrate_repo/versions/b7d287de34fd_removal_of_replicastate_source.py index 538bbc5d7e..f229f571b2 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/b7d287de34fd_removal_of_replicastate_source.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/b7d287de34fd_removal_of_replicastate_source.py @@ -16,6 +16,7 @@ from alembic import context, op from alembic.op import create_check_constraint + from rucio.db.sqla.util import try_drop_constraint # Alembic revision identifiers diff --git a/lib/rucio/db/sqla/migrate_repo/versions/b96a1c7e1cc4_new_bad_pfns_table_and_bad_replicas_.py b/lib/rucio/db/sqla/migrate_repo/versions/b96a1c7e1cc4_new_bad_pfns_table_and_bad_replicas_.py index 25bd74cb07..0061e9ef88 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/b96a1c7e1cc4_new_bad_pfns_table_and_bad_replicas_.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/b96a1c7e1cc4_new_bad_pfns_table_and_bad_replicas_.py @@ -19,6 +19,7 @@ import sqlalchemy as sa from alembic import context, op from alembic.op import add_column, create_check_constraint, create_foreign_key, create_index, create_primary_key, create_table, drop_column, drop_constraint, drop_index, drop_table + from rucio.db.sqla.constants import BadPFNStatus from rucio.db.sqla.util import try_drop_constraint diff --git a/lib/rucio/db/sqla/migrate_repo/versions/bb695f45c04_extend_request_state.py b/lib/rucio/db/sqla/migrate_repo/versions/bb695f45c04_extend_request_state.py index 58eefe65fd..fb502a951c 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/bb695f45c04_extend_request_state.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/bb695f45c04_extend_request_state.py @@ -17,6 +17,7 @@ import sqlalchemy as sa from alembic import context, op from alembic.op import add_column, create_check_constraint, drop_column, drop_constraint + from rucio.db.sqla.util import try_drop_constraint # Alembic revision identifiers diff --git a/lib/rucio/db/sqla/migrate_repo/versions/bf3baa1c1474_correct_pk_and_idx_for_history_tables.py b/lib/rucio/db/sqla/migrate_repo/versions/bf3baa1c1474_correct_pk_and_idx_for_history_tables.py index 8b4a4f269e..328d31efc5 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/bf3baa1c1474_correct_pk_and_idx_for_history_tables.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/bf3baa1c1474_correct_pk_and_idx_for_history_tables.py @@ -17,6 +17,7 @@ import sqlalchemy as sa from alembic import context from alembic.op import add_column, create_primary_key, drop_column, drop_constraint, drop_index + from rucio.db.sqla.types import GUID # Alembic revision identifiers diff --git a/lib/rucio/db/sqla/migrate_repo/versions/c0937668555f_add_qos_policy_map_table.py b/lib/rucio/db/sqla/migrate_repo/versions/c0937668555f_add_qos_policy_map_table.py index b4435893d3..eef7f3dab9 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/c0937668555f_add_qos_policy_map_table.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/c0937668555f_add_qos_policy_map_table.py @@ -19,6 +19,7 @@ import sqlalchemy as sa from alembic import context from alembic.op import create_check_constraint, create_foreign_key, create_primary_key, create_table, drop_table + from rucio.db.sqla.types import GUID # Alembic revision identifiers diff --git a/lib/rucio/db/sqla/migrate_repo/versions/ccdbcd48206e_add_did_type_column_index_on_did_meta_.py b/lib/rucio/db/sqla/migrate_repo/versions/ccdbcd48206e_add_did_type_column_index_on_did_meta_.py index cc44706f98..917d353df1 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/ccdbcd48206e_add_did_type_column_index_on_did_meta_.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/ccdbcd48206e_add_did_type_column_index_on_did_meta_.py @@ -17,6 +17,7 @@ import sqlalchemy as sa from alembic.context import get_context from alembic.op import add_column, create_index, drop_column, drop_index, execute + from rucio.db.sqla.constants import DIDType from rucio.db.sqla.util import try_drop_constraint diff --git a/lib/rucio/db/sqla/migrate_repo/versions/cebad904c4dd_new_payload_column_for_heartbeats.py b/lib/rucio/db/sqla/migrate_repo/versions/cebad904c4dd_new_payload_column_for_heartbeats.py index b5532165b2..329d069aa1 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/cebad904c4dd_new_payload_column_for_heartbeats.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/cebad904c4dd_new_payload_column_for_heartbeats.py @@ -17,6 +17,7 @@ import sqlalchemy as sa from alembic import context from alembic.op import add_column, create_index, drop_column, drop_index + from rucio.db.sqla.models import String # Alembic revision identifiers diff --git a/lib/rucio/db/sqla/migrate_repo/versions/d1189a09c6e0_oauth2_0_and_jwt_feature_support_adding_.py b/lib/rucio/db/sqla/migrate_repo/versions/d1189a09c6e0_oauth2_0_and_jwt_feature_support_adding_.py index 2ac9757e74..06ae41f90b 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/d1189a09c6e0_oauth2_0_and_jwt_feature_support_adding_.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/d1189a09c6e0_oauth2_0_and_jwt_feature_support_adding_.py @@ -19,6 +19,7 @@ import sqlalchemy as sa from alembic import context from alembic.op import add_column, alter_column, create_check_constraint, create_index, create_primary_key, create_table, drop_column, drop_table, execute + from rucio.db.sqla.types import InternalAccountString from rucio.db.sqla.util import try_drop_constraint diff --git a/lib/rucio/db/sqla/migrate_repo/versions/d23453595260_extend_request_state_for_preparer.py b/lib/rucio/db/sqla/migrate_repo/versions/d23453595260_extend_request_state_for_preparer.py index bb4b246cf6..d41a57c0b2 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/d23453595260_extend_request_state_for_preparer.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/d23453595260_extend_request_state_for_preparer.py @@ -17,6 +17,7 @@ """ from alembic import context, op + from rucio.db.sqla.util import try_drop_constraint # Alembic revision identifiers diff --git a/lib/rucio/db/sqla/migrate_repo/versions/d91002c5841_new_account_limits_table.py b/lib/rucio/db/sqla/migrate_repo/versions/d91002c5841_new_account_limits_table.py index 026686e22b..b69f939b24 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/d91002c5841_new_account_limits_table.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/d91002c5841_new_account_limits_table.py @@ -19,6 +19,7 @@ import sqlalchemy as sa from alembic import context from alembic.op import create_check_constraint, create_foreign_key, create_primary_key, create_table, drop_table + from rucio.db.sqla.types import GUID # Alembic revision identifiers diff --git a/lib/rucio/db/sqla/migrate_repo/versions/e59300c8b179_support_for_archive.py b/lib/rucio/db/sqla/migrate_repo/versions/e59300c8b179_support_for_archive.py index b848254b63..254ce68d45 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/e59300c8b179_support_for_archive.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/e59300c8b179_support_for_archive.py @@ -19,6 +19,7 @@ import sqlalchemy as sa from alembic import context from alembic.op import add_column, create_foreign_key, create_index, create_primary_key, create_table, drop_column, drop_table + from rucio.db.sqla.models import String from rucio.db.sqla.types import GUID diff --git a/lib/rucio/db/sqla/migrate_repo/versions/f41ffe206f37_oracle_global_temporary_tables.py b/lib/rucio/db/sqla/migrate_repo/versions/f41ffe206f37_oracle_global_temporary_tables.py index 96380c25f6..b218999d72 100644 --- a/lib/rucio/db/sqla/migrate_repo/versions/f41ffe206f37_oracle_global_temporary_tables.py +++ b/lib/rucio/db/sqla/migrate_repo/versions/f41ffe206f37_oracle_global_temporary_tables.py @@ -17,6 +17,7 @@ import sqlalchemy as sa from alembic import context from alembic.op import create_table, drop_table + from rucio.common.schema import get_schema_value from rucio.db.sqla.types import GUID, InternalScopeString, String diff --git a/pyproject.toml b/pyproject.toml index 7a3aea538e..db4c6068fe 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -56,3 +56,6 @@ ignore = [ "UP032", # Use f-string instead of `format` call "SIM210", ] + +[tool.ruff.lint.isort] +known-first-party = ["rucio"] diff --git a/tests/conftest.py b/tests/conftest.py index b47feb6e1c..a2ce4c8080 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -171,6 +171,7 @@ def download_client(): @pytest.fixture def rest_client(): from flask.testing import FlaskClient + from rucio.tests.common import print_response from rucio.web.rest.flaskapi.v1.main import application @@ -393,13 +394,14 @@ def __create_in_memory_db_table(name, *columns, **kwargs): """ import datetime - from rucio.db.sqla.models import ModelBase - from rucio.db.sqla.session import create_engine, get_maker from sqlalchemy import CheckConstraint, Column, DateTime from sqlalchemy.orm import registry from sqlalchemy.pool import StaticPool from sqlalchemy.schema import Table + from rucio.db.sqla.models import ModelBase + from rucio.db.sqla.session import create_engine, get_maker + engine = create_engine('sqlite://', connect_args={'check_same_thread': False}, poolclass=StaticPool) # Create a class which inherits from ModelBase. This will allow us to use the rucio-specific methods like .save() @@ -438,9 +440,10 @@ def message_mock(): """ from unittest import mock + from sqlalchemy import Column + from rucio.common.utils import generate_uuid from rucio.db.sqla.models import GUID, CheckConstraint, Index, PrimaryKeyConstraint, String, Text - from sqlalchemy import Column InMemoryMessage = __create_in_memory_db_table( 'message_' + generate_uuid(), @@ -473,10 +476,11 @@ def core_config_mock(request): """ from unittest import mock + from sqlalchemy import Column + from rucio.common.utils import generate_uuid from rucio.db.sqla.models import PrimaryKeyConstraint, String from rucio.db.sqla.session import get_session - from sqlalchemy import Column # Get the fixture parameters table_content = [] diff --git a/tests/rsemgr_api_test.py b/tests/rsemgr_api_test.py index 2276a3272f..47a0ca5ed9 100644 --- a/tests/rsemgr_api_test.py +++ b/tests/rsemgr_api_test.py @@ -20,6 +20,7 @@ from uuid import uuid4 as uuid import pytest + from rucio.common import exception from rucio.common.utils import adler32, md5 from rucio.rse import rsemanager as mgr diff --git a/tests/temp_factories.py b/tests/temp_factories.py index 1cbdd38eb4..00fcf26e35 100644 --- a/tests/temp_factories.py +++ b/tests/temp_factories.py @@ -18,6 +18,8 @@ from random import choice from string import ascii_uppercase +from sqlalchemy import and_, delete, or_ + from rucio.client.client import Client from rucio.client.uploadclient import UploadClient from rucio.common.schema import get_schema_value @@ -30,7 +32,6 @@ from rucio.db.sqla.session import transactional_session from rucio.tests.common import did_name_generator from rucio.tests.common_server import cleanup_db_deps -from sqlalchemy import and_, delete, or_ def _to_external(did): diff --git a/tests/test_abacus_account.py b/tests/test_abacus_account.py index 7569f26993..ca23773e2d 100644 --- a/tests/test_abacus_account.py +++ b/tests/test_abacus_account.py @@ -14,6 +14,7 @@ import pytest + from rucio.common.schema import get_schema_value from rucio.core.account import get_usage_history from rucio.core.account_counter import update_account_counter_history diff --git a/tests/test_abacus_collection_replica.py b/tests/test_abacus_collection_replica.py index e117f1dd56..1d47aa55b7 100644 --- a/tests/test_abacus_collection_replica.py +++ b/tests/test_abacus_collection_replica.py @@ -14,6 +14,7 @@ import pytest + from rucio.common.exception import DataIdentifierNotFound from rucio.common.schema import get_schema_value from rucio.core.did import add_did, get_did diff --git a/tests/test_abacus_rse.py b/tests/test_abacus_rse.py index b5a63f0194..ed0f7e002f 100644 --- a/tests/test_abacus_rse.py +++ b/tests/test_abacus_rse.py @@ -13,6 +13,7 @@ # limitations under the License. import pytest + from rucio.common.schema import get_schema_value from rucio.core.rse import get_rse_usage from rucio.daemons.abacus.rse import rse_update diff --git a/tests/test_account.py b/tests/test_account.py index 86359a953d..2585707144 100644 --- a/tests/test_account.py +++ b/tests/test_account.py @@ -15,6 +15,7 @@ from json import loads import pytest + from rucio.api.account import account_exists, add_account, del_account, get_account_info, update_account from rucio.common.config import config_get from rucio.common.exception import AccountNotFound, Duplicate, InvalidObject diff --git a/tests/test_account_limits.py b/tests/test_account_limits.py index f73b233ae3..7d9a532507 100644 --- a/tests/test_account_limits.py +++ b/tests/test_account_limits.py @@ -13,6 +13,7 @@ # limitations under the License. import pytest + from rucio.core import account_limit diff --git a/tests/test_api_external_representation.py b/tests/test_api_external_representation.py index dfdf8a540f..0302c454e0 100644 --- a/tests/test_api_external_representation.py +++ b/tests/test_api_external_representation.py @@ -18,6 +18,7 @@ from json import loads import pytest + import rucio.api.account_limit as api_acc_lim import rucio.api.rse as api_rse import rucio.core.account_counter as account_counter diff --git a/tests/test_auditor.py b/tests/test_auditor.py index 4bd7b05644..94f4dbc6c1 100644 --- a/tests/test_auditor.py +++ b/tests/test_auditor.py @@ -21,6 +21,7 @@ from unittest import mock import pytest + from rucio.daemons import auditor diff --git a/tests/test_auditor_hdfs.py b/tests/test_auditor_hdfs.py index 4f6d1a2081..3680d8215c 100644 --- a/tests/test_auditor_hdfs.py +++ b/tests/test_auditor_hdfs.py @@ -18,6 +18,7 @@ from unittest import mock import pytest + from rucio.daemons.auditor import hdfs diff --git a/tests/test_auditor_srmdumps.py b/tests/test_auditor_srmdumps.py index 1e3be3f7b8..2a04e18157 100644 --- a/tests/test_auditor_srmdumps.py +++ b/tests/test_auditor_srmdumps.py @@ -17,6 +17,7 @@ from unittest import mock import pytest + from rucio.daemons.auditor import srmdumps diff --git a/tests/test_authentication.py b/tests/test_authentication.py index d35a8813c8..9491c4632c 100644 --- a/tests/test_authentication.py +++ b/tests/test_authentication.py @@ -18,6 +18,7 @@ import pytest from requests import session + from rucio.api.authentication import get_auth_token_saml, get_auth_token_ssh, get_auth_token_user_pass, get_ssh_challenge_token from rucio.common.exception import AccessDenied, CannotAuthenticate, Duplicate from rucio.common.utils import ssh_sign diff --git a/tests/test_automatix.py b/tests/test_automatix.py index 57f0e74241..3d70fc7163 100644 --- a/tests/test_automatix.py +++ b/tests/test_automatix.py @@ -19,6 +19,7 @@ from string import ascii_uppercase import pytest + from rucio.common.config import config_add_section, config_has_section, config_remove_option, config_set from rucio.common.types import InternalScope from rucio.core.did import get_metadata, list_dids, list_files diff --git a/tests/test_bad_replica.py b/tests/test_bad_replica.py index 06a9bc3260..c58c0b6379 100644 --- a/tests/test_bad_replica.py +++ b/tests/test_bad_replica.py @@ -16,6 +16,7 @@ from json import dumps, loads import pytest + from rucio.client.rseclient import RSEClient from rucio.common.exception import InvalidType, RucioException, UnsupportedOperation from rucio.common.utils import clean_surls, generate_uuid diff --git a/tests/test_bb8.py b/tests/test_bb8.py index 081435eae3..49716d08ad 100644 --- a/tests/test_bb8.py +++ b/tests/test_bb8.py @@ -15,6 +15,7 @@ from datetime import datetime, timedelta import pytest + from rucio.common.exception import RuleNotFound, UnsupportedOperation from rucio.core.account_limit import set_local_account_limit from rucio.core.did import attach_dids, set_metadata, set_status diff --git a/tests/test_belleii.py b/tests/test_belleii.py index 41ba7966cd..48cabc1df9 100644 --- a/tests/test_belleii.py +++ b/tests/test_belleii.py @@ -15,6 +15,7 @@ from datetime import datetime import pytest + from rucio.common.exception import InvalidObject from rucio.common.schema.belleii import validate_schema from rucio.common.utils import extract_scope, generate_uuid diff --git a/tests/test_bin_rucio.py b/tests/test_bin_rucio.py index 0b5b707fa4..b543e0bf41 100755 --- a/tests/test_bin_rucio.py +++ b/tests/test_bin_rucio.py @@ -20,6 +20,7 @@ from os import environ, listdir, path, remove, rmdir, stat, unlink import pytest + from rucio.client.accountlimitclient import AccountLimitClient from rucio.client.configclient import ConfigClient from rucio.client.didclient import DIDClient diff --git a/tests/test_clients.py b/tests/test_clients.py index affa544cea..a7ff353a42 100644 --- a/tests/test_clients.py +++ b/tests/test_clients.py @@ -16,12 +16,12 @@ from os import rename import pytest + from rucio.client.baseclient import BaseClient from rucio.client.client import Client from rucio.common.config import Config, config_get, config_set from rucio.common.exception import CannotAuthenticate, ClientProtocolNotSupported, RucioException from rucio.common.utils import execute - from tests.mocks.mock_http_server import MockServer diff --git a/tests/test_config.py b/tests/test_config.py index 2b48ce0cf3..11ec9a86a9 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -13,6 +13,7 @@ # limitations under the License. import pytest + import rucio.core.config as core_config from rucio.client.configclient import ConfigClient from rucio.common import exception diff --git a/tests/test_conveyor.py b/tests/test_conveyor.py index cc107239cb..887e5e5668 100644 --- a/tests/test_conveyor.py +++ b/tests/test_conveyor.py @@ -20,6 +20,8 @@ from urllib.parse import parse_qsl, urlencode, urlparse, urlunparse import pytest +from sqlalchemy import update + import rucio.daemons.reaper.reaper from rucio.common.exception import ReplicaNotFound, RequestNotFound from rucio.common.types import InternalAccount @@ -48,8 +50,6 @@ from rucio.db.sqla.session import read_session, transactional_session from rucio.tests.common import skip_rse_tests_with_accounts from rucio.transfertool.fts3 import FTS3Transfertool -from sqlalchemy import update - from tests.mocks.mock_http_server import MockServer from tests.ruciopytest import NoParallelGroups diff --git a/tests/test_conveyor_submitter.py b/tests/test_conveyor_submitter.py index b72f4aaa3a..35cc92df75 100644 --- a/tests/test_conveyor_submitter.py +++ b/tests/test_conveyor_submitter.py @@ -18,6 +18,8 @@ from unittest.mock import patch import pytest +from sqlalchemy import delete + from rucio.common.exception import RequestNotFound from rucio.core import config as core_config from rucio.core import distance as distance_core @@ -30,8 +32,6 @@ from rucio.db.sqla.constants import RequestState from rucio.db.sqla.models import Request, Source from rucio.db.sqla.session import read_session, transactional_session -from sqlalchemy import delete - from tests.ruciopytest import NoParallelGroups diff --git a/tests/test_counter.py b/tests/test_counter.py index 0fe8fdd6b1..9833344bdb 100644 --- a/tests/test_counter.py +++ b/tests/test_counter.py @@ -15,6 +15,7 @@ from time import sleep import pytest + from rucio.core import account_counter, rse_counter from rucio.core.account import get_usage from rucio.daemons.abacus.account import account_update diff --git a/tests/test_credential.py b/tests/test_credential.py index 14ac34f467..efa6e540a1 100644 --- a/tests/test_credential.py +++ b/tests/test_credential.py @@ -15,6 +15,7 @@ import os import pytest + from rucio.common.exception import UnsupportedOperation from rucio.core.credential import get_signed_url from rucio.core.replica import add_replicas diff --git a/tests/test_curl.py b/tests/test_curl.py index 2d1a1e77e7..f189aff1aa 100644 --- a/tests/test_curl.py +++ b/tests/test_curl.py @@ -16,6 +16,7 @@ import os import pytest + from rucio.common.config import config_get, config_get_bool from rucio.tests.common import account_name_generator, execute, get_long_vo, rse_name_generator diff --git a/tests/test_daemons.py b/tests/test_daemons.py index 56b1d6e5c2..643b1d7d02 100644 --- a/tests/test_daemons.py +++ b/tests/test_daemons.py @@ -15,6 +15,7 @@ from unittest import mock import pytest + import rucio.db.sqla.util from rucio.common import exception from rucio.daemons.abacus import account, collection_replica, rse diff --git a/tests/test_dataset_replicas.py b/tests/test_dataset_replicas.py index 3a4af174d2..ee80558c22 100644 --- a/tests/test_dataset_replicas.py +++ b/tests/test_dataset_replicas.py @@ -13,6 +13,8 @@ # limitations under the License. import pytest +from sqlalchemy.orm.exc import NoResultFound + from rucio.client.didclient import DIDClient from rucio.client.replicaclient import ReplicaClient from rucio.client.ruleclient import RuleClient @@ -24,7 +26,6 @@ from rucio.db.sqla import constants, models from rucio.db.sqla.constants import ReplicaState from rucio.tests.common import did_name_generator, rse_name_generator -from sqlalchemy.orm.exc import NoResultFound class TestDatasetReplicaClient: diff --git a/tests/test_db.py b/tests/test_db.py index 648fb1d332..8f959bfcd3 100644 --- a/tests/test_db.py +++ b/tests/test_db.py @@ -15,9 +15,10 @@ from unittest.mock import patch import pytest +from sqlalchemy import text + from rucio.common.exception import InputValidationError from rucio.db.sqla.session import NullPool, QueuePool, SingletonThreadPool, _get_engine_poolclass, get_session -from sqlalchemy import text def test_db_connection(): diff --git a/tests/test_did.py b/tests/test_did.py index 307cc0c101..9b1a2b64a2 100644 --- a/tests/test_did.py +++ b/tests/test_did.py @@ -15,6 +15,7 @@ from datetime import datetime, timedelta import pytest + from rucio.api import did, scope from rucio.common import exception from rucio.common.exception import DataIdentifierAlreadyExists, DataIdentifierNotFound, FileAlreadyExists, FileConsistencyMismatch, InvalidPath, ScopeNotFound, UnsupportedOperation, UnsupportedStatus diff --git a/tests/test_did_meta_plugins.py b/tests/test_did_meta_plugins.py index 9b9f3057f4..7659c6cdce 100644 --- a/tests/test_did_meta_plugins.py +++ b/tests/test_did_meta_plugins.py @@ -15,6 +15,7 @@ from copy import deepcopy import pytest + from rucio.client.didclient import DIDClient from rucio.common.exception import KeyNotFound from rucio.common.utils import generate_uuid diff --git a/tests/test_download.py b/tests/test_download.py index 378c000fdb..20bf8c2dc7 100644 --- a/tests/test_download.py +++ b/tests/test_download.py @@ -21,6 +21,7 @@ from zipfile import ZipFile import pytest + from rucio.client.downloadclient import DownloadClient, FileDownloadState from rucio.common.config import config_add_section, config_set from rucio.common.exception import InputValidationError, NoFilesDownloaded, RucioException diff --git a/tests/test_dumper.py b/tests/test_dumper.py index 2b34572ba1..ef7ee4f42a 100644 --- a/tests/test_dumper.py +++ b/tests/test_dumper.py @@ -22,6 +22,7 @@ import pytest import requests + from rucio.common import config, dumper from rucio.tests.common import make_temp_file, mock_open diff --git a/tests/test_dumper_data_model.py b/tests/test_dumper_data_model.py index 25cd68f0fa..196a336200 100644 --- a/tests/test_dumper_data_model.py +++ b/tests/test_dumper_data_model.py @@ -19,6 +19,7 @@ import pytest import requests + from rucio.common import dumper from rucio.common.dumper import data_models diff --git a/tests/test_filter_engine.py b/tests/test_filter_engine.py index 7ec609a71a..05e661fcf0 100644 --- a/tests/test_filter_engine.py +++ b/tests/test_filter_engine.py @@ -17,6 +17,7 @@ from datetime import datetime, timedelta import pytest + from rucio.common.exception import DuplicateCriteriaInDIDFilter from rucio.common.utils import generate_uuid from rucio.core.did import add_did diff --git a/tests/test_heartbeat.py b/tests/test_heartbeat.py index e3d2f3e7fe..9aedb6b09b 100644 --- a/tests/test_heartbeat.py +++ b/tests/test_heartbeat.py @@ -17,6 +17,7 @@ from datetime import datetime, timedelta import pytest + from rucio.core.heartbeat import cardiac_arrest, die, list_heartbeats, list_payload_counts, live, sanity_check from rucio.db.sqla.models import Heartbeats from rucio.db.sqla.session import transactional_session diff --git a/tests/test_hermes.py b/tests/test_hermes.py index f10e905a46..ce84a4a3ae 100644 --- a/tests/test_hermes.py +++ b/tests/test_hermes.py @@ -23,6 +23,7 @@ import pytest import requests import stomp + from rucio.common.config import config_get, config_get_int from rucio.core.message import add_message, retrieve_messages, truncate_messages from rucio.daemons.hermes import hermes diff --git a/tests/test_identity.py b/tests/test_identity.py index 997aa38165..86acc526f9 100644 --- a/tests/test_identity.py +++ b/tests/test_identity.py @@ -16,6 +16,7 @@ import string import pytest + from rucio.common.config import config_get_bool from rucio.common.exception import IdentityError, IdentityNotFound from rucio.common.types import InternalAccount diff --git a/tests/test_impl_upload_download.py b/tests/test_impl_upload_download.py index 31afea25bc..49eafe2b1b 100644 --- a/tests/test_impl_upload_download.py +++ b/tests/test_impl_upload_download.py @@ -16,6 +16,7 @@ from os import path import pytest + from rucio.common.utils import execute from rucio.common.utils import generate_uuid as uuid from rucio.tests.common import skip_rse_tests_with_accounts diff --git a/tests/test_import_export.py b/tests/test_import_export.py index bcad63fd3e..01285dbb6b 100644 --- a/tests/test_import_export.py +++ b/tests/test_import_export.py @@ -15,6 +15,7 @@ from copy import deepcopy import pytest + from rucio.client.exportclient import ExportClient from rucio.client.importclient import ImportClient from rucio.common.config import config_add_section, config_has_section, config_set diff --git a/tests/test_judge_cleaner.py b/tests/test_judge_cleaner.py index 4c4a414c44..3249975010 100644 --- a/tests/test_judge_cleaner.py +++ b/tests/test_judge_cleaner.py @@ -13,6 +13,7 @@ # limitations under the License. import pytest + from rucio.common.config import config_get_bool from rucio.common.types import InternalAccount, InternalScope from rucio.common.utils import generate_uuid as uuid diff --git a/tests/test_judge_evaluator.py b/tests/test_judge_evaluator.py index aa9f582ec1..b133c1459f 100644 --- a/tests/test_judge_evaluator.py +++ b/tests/test_judge_evaluator.py @@ -15,6 +15,7 @@ from typing import TYPE_CHECKING import pytest + from rucio.common.config import config_get_bool from rucio.common.types import InternalAccount, InternalScope from rucio.common.utils import generate_uuid as uuid diff --git a/tests/test_judge_injector.py b/tests/test_judge_injector.py index 636256f612..eafbd0e0bd 100644 --- a/tests/test_judge_injector.py +++ b/tests/test_judge_injector.py @@ -15,6 +15,7 @@ from datetime import datetime, timedelta import pytest + from rucio.common.config import config_get_bool from rucio.common.exception import RuleNotFound from rucio.common.types import InternalAccount, InternalScope diff --git a/tests/test_judge_repairer.py b/tests/test_judge_repairer.py index 25b05a889e..4cf17bdf3e 100644 --- a/tests/test_judge_repairer.py +++ b/tests/test_judge_repairer.py @@ -17,6 +17,7 @@ import pytest from dogpile.cache import make_region + from rucio.common.config import config_get, config_get_bool from rucio.common.types import InternalAccount, InternalScope from rucio.core.account_limit import set_local_account_limit diff --git a/tests/test_lifetime.py b/tests/test_lifetime.py index 06e15ccb60..a2001d601a 100644 --- a/tests/test_lifetime.py +++ b/tests/test_lifetime.py @@ -18,6 +18,7 @@ from datetime import datetime, timedelta import pytest + from rucio.common.exception import ConfigNotFound, UnsupportedOperation from rucio.common.policy import REGION from rucio.common.utils import generate_uuid as uuid diff --git a/tests/test_message.py b/tests/test_message.py index a0d701c3bb..2030a13db0 100644 --- a/tests/test_message.py +++ b/tests/test_message.py @@ -17,6 +17,7 @@ import string import pytest + from rucio.common.constants import MAX_MESSAGE_LENGTH from rucio.common.exception import InvalidObject, RucioException from rucio.common.utils import generate_uuid diff --git a/tests/test_meta_conventions.py b/tests/test_meta_conventions.py index b182faf16d..70aa89685b 100644 --- a/tests/test_meta_conventions.py +++ b/tests/test_meta_conventions.py @@ -13,6 +13,7 @@ # limitations under the License. import pytest + from rucio.common.exception import InvalidValueForKey, RucioException, UnsupportedKeyType, UnsupportedValueType from rucio.common.utils import generate_uuid as uuid from rucio.core.meta_conventions import add_key diff --git a/tests/test_meta_did.py b/tests/test_meta_did.py index b106eb2592..037956ffe8 100644 --- a/tests/test_meta_did.py +++ b/tests/test_meta_did.py @@ -13,6 +13,7 @@ # limitations under the License. import pytest + from rucio.common.utils import generate_uuid as uuid diff --git a/tests/test_multi_vo.py b/tests/test_multi_vo.py index bb60ee9231..7d0beaa15a 100644 --- a/tests/test_multi_vo.py +++ b/tests/test_multi_vo.py @@ -23,6 +23,7 @@ import pytest from oic import rndstr + from rucio.api import vo as vo_api from rucio.api.account import add_account, list_accounts from rucio.api.account_limit import set_local_account_limit diff --git a/tests/test_naming_convention.py b/tests/test_naming_convention.py index 54d2ef18d4..59ca818b36 100644 --- a/tests/test_naming_convention.py +++ b/tests/test_naming_convention.py @@ -13,6 +13,7 @@ # limitations under the License. import pytest + from rucio.common.exception import InvalidObject from rucio.common.types import InternalScope from rucio.common.utils import generate_uuid diff --git a/tests/test_oauthmanager.py b/tests/test_oauthmanager.py index d1ee8c401d..31ec57ac9b 100644 --- a/tests/test_oauthmanager.py +++ b/tests/test_oauthmanager.py @@ -18,11 +18,12 @@ import pytest from oic import rndstr +from sqlalchemy import and_, or_ +from sqlalchemy.sql.expression import true + from rucio.daemons.oauthmanager.oauthmanager import run, stop from rucio.db.sqla import models from rucio.db.sqla.session import get_session -from sqlalchemy import and_, or_ -from sqlalchemy.sql.expression import true new_token_dict = {'access_token': '', 'expires_in': 3599, diff --git a/tests/test_oidc.py b/tests/test_oidc.py index 54e04516a5..7ad0fc1b27 100644 --- a/tests/test_oidc.py +++ b/tests/test_oidc.py @@ -22,6 +22,7 @@ import pytest from jwkest.jwt import JWT from oic import rndstr + from rucio.common.config import config_get_bool from rucio.common.exception import CannotAuthenticate, DatabaseException, Duplicate from rucio.common.types import InternalAccount diff --git a/tests/test_preparer.py b/tests/test_preparer.py index db81c3a6d1..914da6a90e 100644 --- a/tests/test_preparer.py +++ b/tests/test_preparer.py @@ -14,6 +14,7 @@ import pytest + from rucio.core.distance import add_distance, get_distances from rucio.core.replica import add_replicas from rucio.core.request import get_request, list_and_mark_transfer_requests_and_source_replicas, list_transfer_limits, set_transfer_limit diff --git a/tests/test_quarantined_replica.py b/tests/test_quarantined_replica.py index 6daeacb8ad..d37865613a 100644 --- a/tests/test_quarantined_replica.py +++ b/tests/test_quarantined_replica.py @@ -13,6 +13,7 @@ # limitations under the License. import pytest + from rucio.common.config import config_get_bool from rucio.common.utils import generate_uuid from rucio.core.quarantined_replica import add_quarantined_replicas, delete_quarantined_replicas, list_quarantined_replicas diff --git a/tests/test_reaper.py b/tests/test_reaper.py index b907de4290..9e6fdfa773 100644 --- a/tests/test_reaper.py +++ b/tests/test_reaper.py @@ -15,6 +15,8 @@ from datetime import datetime, timedelta import pytest +from sqlalchemy import and_, or_ + from rucio.api import replica as replica_api from rucio.api import rse as rse_api from rucio.common.exception import DataIdentifierNotFound, ReplicaNotFound @@ -33,8 +35,6 @@ from rucio.db.sqla.models import ConstituentAssociationHistory from rucio.db.sqla.session import get_session, read_session from rucio.tests.common import rse_name_generator, skip_rse_tests_with_accounts -from sqlalchemy import and_, or_ - from tests.ruciopytest import NoParallelGroups __mock_protocol = {'scheme': 'MOCK', diff --git a/tests/test_replica.py b/tests/test_replica.py index 94e5c1b518..c09deecc58 100644 --- a/tests/test_replica.py +++ b/tests/test_replica.py @@ -23,6 +23,8 @@ import pytest import xmltodict +from werkzeug.datastructures import Headers, MultiDict + from rucio.client.ruleclient import RuleClient from rucio.common.exception import AccessDenied, DatabaseException, DataIdentifierNotFound, InputValidationError, ReplicaIsLocked, ReplicaNotFound, RucioException, ScopeNotFound from rucio.common.schema import get_schema_value @@ -38,7 +40,6 @@ from rucio.db.sqla.session import transactional_session from rucio.rse import rsemanager as rsemgr from rucio.tests.common import Mime, accept, auth, did_name_generator, execute, headers -from werkzeug.datastructures import Headers, MultiDict if TYPE_CHECKING: from .temp_factories import TemporaryRSEFactory diff --git a/tests/test_replica_recoverer.py b/tests/test_replica_recoverer.py index 6b9792fdb3..bad4062f5b 100644 --- a/tests/test_replica_recoverer.py +++ b/tests/test_replica_recoverer.py @@ -19,6 +19,7 @@ from time import sleep import pytest + from rucio.core import rse_expression_parser from rucio.core.did import set_metadata from rucio.core.replica import list_bad_replicas_status, list_replicas, update_replica_state diff --git a/tests/test_replica_sorting.py b/tests/test_replica_sorting.py index cf0bc45940..9c39ab1a34 100644 --- a/tests/test_replica_sorting.py +++ b/tests/test_replica_sorting.py @@ -21,6 +21,7 @@ import geoip2.database import pytest + from rucio.common.config import config_get from rucio.common.utils import parse_replicas_from_string from rucio.core import replica_sorter, rse_expression_parser diff --git a/tests/test_request.py b/tests/test_request.py index f0294f47a7..fefaa17026 100644 --- a/tests/test_request.py +++ b/tests/test_request.py @@ -17,6 +17,7 @@ from typing import Union import pytest + from rucio.common.config import config_get_bool from rucio.common.utils import generate_uuid, parse_response from rucio.core.distance import add_distance diff --git a/tests/test_root_proxy.py b/tests/test_root_proxy.py index 7f21b63608..a9ca7bca26 100644 --- a/tests/test_root_proxy.py +++ b/tests/test_root_proxy.py @@ -15,6 +15,7 @@ from urllib.parse import urlencode import pytest + from rucio.core.config import set as config_set from rucio.core.replica import add_replicas, delete_replicas from rucio.core.rse import add_protocol, add_rse, add_rse_attribute, del_rse diff --git a/tests/test_rse.py b/tests/test_rse.py index 0d7f75552d..b4069545f3 100644 --- a/tests/test_rse.py +++ b/tests/test_rse.py @@ -13,6 +13,7 @@ # limitations under the License. import pytest + from rucio.client.replicaclient import ReplicaClient from rucio.common import exception from rucio.common.exception import Duplicate, InputValidationError, InvalidObject, ResourceTemporaryUnavailable, RSEAttributeNotFound, RSENotFound, RSEOperationNotSupported, RSEProtocolNotSupported diff --git a/tests/test_rse_expression_parser.py b/tests/test_rse_expression_parser.py index 85b3ab1f76..18f9e90431 100644 --- a/tests/test_rse_expression_parser.py +++ b/tests/test_rse_expression_parser.py @@ -16,6 +16,7 @@ from string import ascii_lowercase, ascii_uppercase import pytest + from rucio.common.exception import InvalidRSEExpression, RSEWriteBlocked from rucio.core import rse, rse_expression_parser diff --git a/tests/test_rse_lfn2path.py b/tests/test_rse_lfn2path.py index a3131ef9c5..7269f0347a 100644 --- a/tests/test_rse_lfn2path.py +++ b/tests/test_rse_lfn2path.py @@ -17,6 +17,7 @@ from configparser import NoOptionError, NoSectionError import pytest + from rucio.common import config from rucio.rse.protocols.protocol import RSEDeterministicTranslation diff --git a/tests/test_rse_protocol_gfal2.py b/tests/test_rse_protocol_gfal2.py index 024e0e8314..05c3de10ef 100644 --- a/tests/test_rse_protocol_gfal2.py +++ b/tests/test_rse_protocol_gfal2.py @@ -15,6 +15,7 @@ import os import pytest + from rucio.common.utils import execute from rucio.rse import rsemanager as mgr from rucio.tests.common import load_test_conf_file, skip_rse_tests_with_accounts diff --git a/tests/test_rse_protocol_gfal2_impl.py b/tests/test_rse_protocol_gfal2_impl.py index ee36c7852b..4622638e82 100644 --- a/tests/test_rse_protocol_gfal2_impl.py +++ b/tests/test_rse_protocol_gfal2_impl.py @@ -15,6 +15,7 @@ import os import pytest + from rucio.common.utils import execute from rucio.rse import rsemanager from rucio.tests.common import load_test_conf_file, skip_rse_tests_with_accounts diff --git a/tests/test_rse_protocol_posix.py b/tests/test_rse_protocol_posix.py index 4611d6672c..5a58d1dc22 100644 --- a/tests/test_rse_protocol_posix.py +++ b/tests/test_rse_protocol_posix.py @@ -16,6 +16,7 @@ import shutil import pytest + from rucio.rse import rsemanager as mgr from rucio.tests.common import load_test_conf_file, skip_rse_tests_with_accounts diff --git a/tests/test_rse_protocol_rclone.py b/tests/test_rse_protocol_rclone.py index 2f7895f56b..20dcb59b21 100644 --- a/tests/test_rse_protocol_rclone.py +++ b/tests/test_rse_protocol_rclone.py @@ -15,6 +15,7 @@ import os import pytest + from rucio.common.utils import PREFERRED_CHECKSUM, execute, set_preferred_checksum from rucio.rse import rsemanager from rucio.tests.common import load_test_conf_file, skip_rse_tests_with_accounts diff --git a/tests/test_rse_protocol_rsync.py b/tests/test_rse_protocol_rsync.py index 8af7538f27..4152643cc0 100644 --- a/tests/test_rse_protocol_rsync.py +++ b/tests/test_rse_protocol_rsync.py @@ -15,6 +15,7 @@ import os import pytest + from rucio.common.utils import PREFERRED_CHECKSUM, execute, set_preferred_checksum from rucio.rse import rsemanager from rucio.tests.common import load_test_conf_file, skip_rse_tests_with_accounts diff --git a/tests/test_rse_protocol_srm.py b/tests/test_rse_protocol_srm.py index 57bff73d26..1af552099c 100644 --- a/tests/test_rse_protocol_srm.py +++ b/tests/test_rse_protocol_srm.py @@ -15,6 +15,7 @@ import os import pytest + from rucio.common.utils import execute from rucio.rse import rsemanager as mgr from rucio.tests.common import load_test_conf_file, skip_rse_tests_with_accounts diff --git a/tests/test_rse_protocol_ssh.py b/tests/test_rse_protocol_ssh.py index 25d6496fc7..6646e14dcc 100644 --- a/tests/test_rse_protocol_ssh.py +++ b/tests/test_rse_protocol_ssh.py @@ -15,6 +15,7 @@ import os import pytest + from rucio.common.utils import PREFERRED_CHECKSUM, execute, set_preferred_checksum from rucio.rse import rsemanager from rucio.tests.common import load_test_conf_file, skip_rse_tests_with_accounts diff --git a/tests/test_rse_protocol_webdav.py b/tests/test_rse_protocol_webdav.py index bbc09bee04..e961aefae0 100644 --- a/tests/test_rse_protocol_webdav.py +++ b/tests/test_rse_protocol_webdav.py @@ -16,6 +16,7 @@ import pytest import requests + from rucio.common.exception import FileReplicaAlreadyExists from rucio.rse import rsemanager from rucio.tests.common import load_test_conf_file, skip_rse_tests_with_accounts diff --git a/tests/test_rse_protocol_xrootd.py b/tests/test_rse_protocol_xrootd.py index 128e9138c6..137c5db01e 100644 --- a/tests/test_rse_protocol_xrootd.py +++ b/tests/test_rse_protocol_xrootd.py @@ -15,6 +15,7 @@ import os import pytest + from rucio.common.utils import execute from rucio.rse import rsemanager from rucio.tests.common import load_test_conf_file, skip_rse_tests_with_accounts diff --git a/tests/test_rse_selector.py b/tests/test_rse_selector.py index 4b8f65c0d5..d698e11cd9 100644 --- a/tests/test_rse_selector.py +++ b/tests/test_rse_selector.py @@ -14,6 +14,7 @@ import pytest + from rucio.common.exception import InsufficientAccountLimit, InsufficientTargetRSEs from rucio.core.account_counter import increase, update_account_counter from rucio.core.account_limit import set_global_account_limit, set_local_account_limit diff --git a/tests/test_rucio_server.py b/tests/test_rucio_server.py index 49484c4a8e..87ff880dce 100644 --- a/tests/test_rucio_server.py +++ b/tests/test_rucio_server.py @@ -13,6 +13,7 @@ # limitations under the License. import pytest + import rucio.common.test_rucio_server as server_test diff --git a/tests/test_rule.py b/tests/test_rule.py index bc47cc0bee..13ee4d2f42 100644 --- a/tests/test_rule.py +++ b/tests/test_rule.py @@ -20,6 +20,7 @@ from typing import TYPE_CHECKING import pytest + import rucio.api.rule from rucio.api.account import add_account from rucio.client.ruleclient import RuleClient diff --git a/tests/test_schema_cms.py b/tests/test_schema_cms.py index 16915d5642..8fb83fe9ba 100644 --- a/tests/test_schema_cms.py +++ b/tests/test_schema_cms.py @@ -13,6 +13,7 @@ # limitations under the License. import pytest + from rucio.common.exception import InvalidObject from rucio.common.schema.cms import validate_schema diff --git a/tests/test_scope.py b/tests/test_scope.py index 4f8cde8179..5468824acf 100644 --- a/tests/test_scope.py +++ b/tests/test_scope.py @@ -15,6 +15,7 @@ from json import loads import pytest + from rucio.common.exception import AccountNotFound, Duplicate, InvalidObject, ScopeNotFound from rucio.common.types import InternalScope from rucio.common.utils import generate_uuid as uuid diff --git a/tests/test_subscription.py b/tests/test_subscription.py index fdf5bb9ba8..93b17c3687 100644 --- a/tests/test_subscription.py +++ b/tests/test_subscription.py @@ -17,6 +17,7 @@ from json.decoder import JSONDecodeError import pytest + from rucio.api.subscription import add_subscription, get_subscription_by_id, list_subscription_rule_states, list_subscriptions, update_subscription from rucio.common.exception import InvalidObject, SubscriptionDuplicate, SubscriptionNotFound from rucio.common.schema import get_schema_value diff --git a/tests/test_throttler.py b/tests/test_throttler.py index 437abab06a..26b0105b44 100644 --- a/tests/test_throttler.py +++ b/tests/test_throttler.py @@ -15,6 +15,8 @@ from datetime import datetime, timedelta import pytest +from sqlalchemy import delete + from rucio.common.utils import generate_uuid from rucio.core.did import add_did, attach_dids from rucio.core.distance import add_distance @@ -35,7 +37,6 @@ from rucio.db.sqla.constants import DIDType, RequestState, RequestType, TransferLimitDirection from rucio.db.sqla.session import get_session, transactional_session from rucio.tests.common import skiplimitedsql -from sqlalchemy import delete @pytest.fixture diff --git a/tests/test_tpc.py b/tests/test_tpc.py index 57a85dae21..919786d955 100644 --- a/tests/test_tpc.py +++ b/tests/test_tpc.py @@ -18,6 +18,7 @@ import time import pytest + from rucio.client.rseclient import RSEClient from rucio.client.ruleclient import RuleClient from rucio.common.utils import generate_uuid, run_cmd_process diff --git a/tests/test_trace.py b/tests/test_trace.py index ee861d2701..57473e0162 100644 --- a/tests/test_trace.py +++ b/tests/test_trace.py @@ -19,6 +19,7 @@ import uuid import pytest + from rucio.common.exception import InvalidObject from rucio.common.schema.generic import IPv4orIPv6 from rucio.core.trace import SCHEMAS, validate_schema diff --git a/tests/test_transfer.py b/tests/test_transfer.py index e0651b05e3..e9e1ce3e4e 100644 --- a/tests/test_transfer.py +++ b/tests/test_transfer.py @@ -16,6 +16,7 @@ from concurrent.futures import ThreadPoolExecutor import pytest + from rucio.common.exception import NoDistance from rucio.common.utils import generate_uuid from rucio.core import request as request_core diff --git a/tests/test_transfer_plugins.py b/tests/test_transfer_plugins.py index d62bee6d05..2f665700cd 100644 --- a/tests/test_transfer_plugins.py +++ b/tests/test_transfer_plugins.py @@ -15,6 +15,7 @@ import logging import pytest + from rucio.core import distance as distance_core from rucio.core import replica as replica_core from rucio.core import rule as rule_core diff --git a/tests/test_undertaker.py b/tests/test_undertaker.py index faa7d79787..f1336c8475 100644 --- a/tests/test_undertaker.py +++ b/tests/test_undertaker.py @@ -16,6 +16,7 @@ from logging import getLogger import pytest + from rucio.common.policy import get_policy from rucio.common.types import InternalScope from rucio.core.account_limit import set_local_account_limit diff --git a/tests/test_upload.py b/tests/test_upload.py index 731ba3f337..1ebd050971 100644 --- a/tests/test_upload.py +++ b/tests/test_upload.py @@ -20,6 +20,7 @@ from unittest.mock import patch import pytest + from rucio.client.uploadclient import UploadClient from rucio.common.config import config_add_section, config_set from rucio.common.exception import InputValidationError, NoFilesUploaded, NotAllFilesUploaded diff --git a/tests/test_utils.py b/tests/test_utils.py index 73c9286266..5bcc9fa1cf 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -18,6 +18,7 @@ from re import match import pytest + from rucio.common.exception import InvalidType from rucio.common.logging import formatted_logger from rucio.common.utils import Availability, adler32, bittorrent_v2_merkle_sha256, md5, parse_did_filter_from_string, retrying diff --git a/tools/convert_database_vo.py b/tools/convert_database_vo.py index fa177319d5..7fbc580569 100755 --- a/tools/convert_database_vo.py +++ b/tools/convert_database_vo.py @@ -24,6 +24,13 @@ from datetime import datetime # noqa: E402 from traceback import format_exc # noqa: E402 +from sqlalchemy import func # noqa: E402 +from sqlalchemy.engine import reflection # noqa: E402 +from sqlalchemy.schema import AddConstraint, DropConstraint, ForeignKeyConstraint, MetaData, Table # noqa: E402 +from sqlalchemy.sql import bindparam # noqa: E402 +from sqlalchemy.sql.expression import cast # noqa: E402 +from sqlalchemy.types import CHAR # noqa: E402 + from rucio.common.config import config_get_bool # noqa: E402 from rucio.common.types import InternalAccount # noqa: E402 from rucio.common.utils import StoreTrueAndDeprecateWarningAction # noqa: E402 @@ -31,12 +38,6 @@ from rucio.core.vo import list_vos # noqa: E402 from rucio.db.sqla import session # noqa: E402 from rucio.db.sqla.util import create_root_account # noqa: E402 -from sqlalchemy import func # noqa: E402 -from sqlalchemy.engine import reflection # noqa: E402 -from sqlalchemy.schema import AddConstraint, DropConstraint, ForeignKeyConstraint, MetaData, Table # noqa: E402 -from sqlalchemy.sql import bindparam # noqa: E402 -from sqlalchemy.sql.expression import cast # noqa: E402 -from sqlalchemy.types import CHAR # noqa: E402 def split_vo(dialect, column, return_vo=False): diff --git a/tools/generate_rest_api_doc.py b/tools/generate_rest_api_doc.py index 965bda521a..665fbba28c 100755 --- a/tools/generate_rest_api_doc.py +++ b/tools/generate_rest_api_doc.py @@ -15,6 +15,7 @@ from apispec import APISpec from apispec_webframeworks.flask import FlaskPlugin + from rucio.vcsversion import VERSION_INFO from rucio.web.rest.flaskapi.v1.main import application