rucio-clients 35.4.0__tar.gz → 35.5.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of rucio-clients might be problematic. Click here for more details.
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/PKG-INFO +1 -1
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/client/didclient.py +2 -2
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/vcsversion.py +3 -3
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_transfer_plugins.py +40 -4
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/AUTHORS.rst +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/ChangeLog +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/LICENSE +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/MANIFEST.in +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/README.md +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/bin/rucio +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/bin/rucio-admin +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/etc/rse-accounts.cfg.template +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/etc/rucio.cfg.atlas.client.template +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/etc/rucio.cfg.template +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/__init__.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/alembicrevision.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/client/__init__.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/client/accountclient.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/client/accountlimitclient.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/client/baseclient.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/client/client.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/client/configclient.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/client/credentialclient.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/client/diracclient.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/client/downloadclient.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/client/exportclient.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/client/fileclient.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/client/importclient.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/client/lifetimeclient.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/client/lockclient.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/client/metaconventionsclient.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/client/pingclient.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/client/replicaclient.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/client/requestclient.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/client/rseclient.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/client/ruleclient.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/client/scopeclient.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/client/subscriptionclient.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/client/touchclient.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/client/uploadclient.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/common/__init__.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/common/cache.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/common/config.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/common/constants.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/common/constraints.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/common/didtype.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/common/exception.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/common/extra.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/common/logging.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/common/pcache.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/common/plugins.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/common/policy.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/common/schema/__init__.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/common/schema/atlas.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/common/schema/belleii.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/common/schema/domatpc.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/common/schema/escape.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/common/schema/generic.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/common/schema/generic_multi_vo.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/common/schema/icecube.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/common/stomp_utils.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/common/stopwatch.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/common/test_rucio_server.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/common/types.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/common/utils.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/rse/__init__.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/rse/protocols/__init__.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/rse/protocols/bittorrent.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/rse/protocols/cache.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/rse/protocols/dummy.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/rse/protocols/gfal.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/rse/protocols/globus.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/rse/protocols/gsiftp.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/rse/protocols/http_cache.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/rse/protocols/mock.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/rse/protocols/ngarc.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/rse/protocols/posix.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/rse/protocols/protocol.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/rse/protocols/rclone.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/rse/protocols/rfio.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/rse/protocols/srm.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/rse/protocols/ssh.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/rse/protocols/storm.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/rse/protocols/webdav.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/rse/protocols/xrootd.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/rse/rsemanager.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio/version.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/lib/rucio_clients.egg-info/SOURCES.txt +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/pylintrc +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/pyproject.toml +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/requirements/requirements.client.txt +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/setup.cfg +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/setup.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/setuputil.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_abacus_account.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_abacus_collection_replica.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_abacus_rse.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_account.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_account_limits.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_archive.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_auditor.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_auditor_hdfs.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_auditor_srmdumps.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_authentication.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_automatix.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_bad_replica.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_bb8.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_belleii.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_bin_rucio.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_boolean.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_clients.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_common_types.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_config.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_conveyor.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_conveyor_submitter.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_counter.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_credential.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_curl.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_daemons.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_dataset_replicas.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_db.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_did.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_did_meta_plugins.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_didtype.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_download.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_dumper.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_dumper_consistency.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_dumper_data_model.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_dumper_path_parsing.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_filter_engine.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_gateway_external_representation.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_heartbeat.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_hermes.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_identity.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_impl_upload_download.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_import_export.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_judge_cleaner.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_judge_evaluator.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_judge_injector.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_judge_repairer.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_lifetime.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_message.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_meta_conventions.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_meta_did.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_module_import.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_monitor.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_multi_vo.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_naming_convention.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_oauthmanager.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_oidc.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_permission.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_pfns.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_ping.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_preparer.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_qos.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_quarantined_replica.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_reaper.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_redirect.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_replica.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_replica_recoverer.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_replica_sorting.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_request.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_root_proxy.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_rse.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_rse_expression_parser.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_rse_lfn2path.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_rse_protocol_gfal2.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_rse_protocol_gfal2_impl.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_rse_protocol_posix.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_rse_protocol_rclone.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_rse_protocol_rsync.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_rse_protocol_srm.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_rse_protocol_ssh.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_rse_protocol_webdav.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_rse_protocol_xrootd.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_rse_selector.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_rucio_server.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_rule.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_scope.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_subscription.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_throttler.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_tpc.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_trace.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_transfer.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_undertaker.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_upload.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tests/test_utils.py +0 -0
- {rucio_clients-35.4.0 → rucio_clients-35.5.0}/tools/merge_rucio_configs.py +0 -0
|
@@ -92,7 +92,7 @@ class DIDClient(BaseClient):
|
|
|
92
92
|
self,
|
|
93
93
|
scope: str,
|
|
94
94
|
name: str,
|
|
95
|
-
did_type: Literal['
|
|
95
|
+
did_type: Literal['DATASET', 'CONTAINER'],
|
|
96
96
|
statuses: Optional["Mapping[str, Any]"] = None,
|
|
97
97
|
meta: Optional["Mapping[str, Any]"] = None,
|
|
98
98
|
rules: Optional["Sequence[Mapping[str, Any]]"] = None,
|
|
@@ -105,7 +105,7 @@ class DIDClient(BaseClient):
|
|
|
105
105
|
|
|
106
106
|
:param scope: The scope name.
|
|
107
107
|
:param name: The data identifier name.
|
|
108
|
-
:param did_type: The data identifier type (
|
|
108
|
+
:param did_type: The data identifier type (dataset|container).
|
|
109
109
|
:param statuses: Dictionary with statuses, e.g. {'monotonic':True}.
|
|
110
110
|
:param meta: Meta-data associated with the data identifier is represented using key/value pairs in a dictionary.
|
|
111
111
|
:param rules: Replication rules associated with the data identifier. A list of dictionaries, e.g., [{'copies': 2, 'rse_expression': 'TIERS1'}, ].
|
|
@@ -4,8 +4,8 @@ This file is automatically generated; Do not edit it. :)
|
|
|
4
4
|
'''
|
|
5
5
|
VERSION_INFO = {
|
|
6
6
|
'final': True,
|
|
7
|
-
'version': '35.
|
|
7
|
+
'version': '35.5.0',
|
|
8
8
|
'branch_nick': 'release-35-LTS',
|
|
9
|
-
'revision_id': '
|
|
10
|
-
'revno':
|
|
9
|
+
'revision_id': 'f5e7f329eb6baed9096242ee497152cd14464b2c',
|
|
10
|
+
'revno': 13174
|
|
11
11
|
}
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
15
|
import logging
|
|
16
|
+
from unittest.mock import MagicMock
|
|
16
17
|
|
|
17
18
|
import pytest
|
|
18
19
|
|
|
@@ -31,9 +32,14 @@ MAX_POLL_WAIT_SECONDS = 60
|
|
|
31
32
|
TEST_FTS_HOST = "https://fts:8446"
|
|
32
33
|
|
|
33
34
|
|
|
34
|
-
def _make_transfer_path(
|
|
35
|
+
def _make_transfer_path(
|
|
36
|
+
did,
|
|
37
|
+
rse_factory,
|
|
38
|
+
root_account,
|
|
39
|
+
dst_rse_is_tape: bool = True
|
|
40
|
+
):
|
|
35
41
|
_, src_rse_id = rse_factory.make_mock_rse()
|
|
36
|
-
dst_rse, dst_rse_id = rse_factory.make_mock_rse()
|
|
42
|
+
dst_rse, dst_rse_id = rse_factory.make_mock_rse(rse_type="TAPE" if dst_rse_is_tape else "DISK")
|
|
37
43
|
all_rses = [src_rse_id, dst_rse_id]
|
|
38
44
|
distance_core.add_distance(src_rse_id, dst_rse_id, distance=1)
|
|
39
45
|
|
|
@@ -229,8 +235,8 @@ def test_multiple_plugin_concat(file_config_mock, did_factory, rse_factory, root
|
|
|
229
235
|
generated_collocation_hints = job_params["archive_metadata"]["collocation_hints"]
|
|
230
236
|
assert expected_hints["collocation_hints"] == generated_collocation_hints
|
|
231
237
|
|
|
232
|
-
|
|
233
|
-
assert expected_hints["scheduling_hints"] ==
|
|
238
|
+
generated_scheduling_hints = job_params["archive_metadata"]["scheduling_hints"]
|
|
239
|
+
assert expected_hints["scheduling_hints"] == generated_scheduling_hints
|
|
234
240
|
|
|
235
241
|
|
|
236
242
|
@pytest.mark.parametrize("file_config_mock", [
|
|
@@ -284,3 +290,33 @@ def test_include_none_by_default(did_factory, rse_factory, root_account):
|
|
|
284
290
|
|
|
285
291
|
job_params = fts3_tool._file_from_transfer(transfer_path[0], job_params)
|
|
286
292
|
assert "archive_metadata" not in job_params
|
|
293
|
+
|
|
294
|
+
|
|
295
|
+
def test_no_metadata_if_dest_is_not_tape(did_factory, rse_factory, root_account):
|
|
296
|
+
"""
|
|
297
|
+
If the destination RSE is not tape,
|
|
298
|
+
no tape metadata plugin should run,
|
|
299
|
+
and no archive metadata should be included.
|
|
300
|
+
"""
|
|
301
|
+
|
|
302
|
+
mock_did = did_factory.random_file_did()
|
|
303
|
+
mock_metadata_plugin = MagicMock()
|
|
304
|
+
transfer_path = _make_transfer_path(mock_did, rse_factory, root_account, dst_rse_is_tape=False)
|
|
305
|
+
|
|
306
|
+
fts3_tool = FTS3Transfertool(TEST_FTS_HOST)
|
|
307
|
+
|
|
308
|
+
fts3_tool.tape_metadata_plugins = [mock_metadata_plugin] # type: ignore
|
|
309
|
+
|
|
310
|
+
job_params = build_job_params(
|
|
311
|
+
transfer_path=transfer_path,
|
|
312
|
+
bring_online=None,
|
|
313
|
+
default_lifetime=None,
|
|
314
|
+
archive_timeout_override=None,
|
|
315
|
+
max_time_in_queue=None,
|
|
316
|
+
logger=logging.log,
|
|
317
|
+
)
|
|
318
|
+
|
|
319
|
+
job_params = fts3_tool._file_from_transfer(transfer_path[0], job_params)
|
|
320
|
+
|
|
321
|
+
assert not mock_metadata_plugin.called
|
|
322
|
+
assert "archive_metadata" not in job_params
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|