There was an error fetching the job.
rspec unit pg13 single-db 13/28
Passed Started
by
@gitlab-bot

🤖 GitLab Bot 🤖
1Using gon 6.4.02Using google-apis-androidpublisher_v3 0.34.03Using google-apis-cloudbilling_v1 0.21.04Using google-apis-cloudresourcemanager_v1 0.31.05Using google-apis-container_v1 0.43.06Using google-apis-container_v1beta1 0.43.07Using google-apis-iam_v1 0.36.08Using google-apis-serviceusage_v1 0.28.09Using google-cloud-core 1.6.010Using google-cloud-storage 1.44.011Using mini_portile2 2.8.112Using gpgme 2.0.2213Using mustermann 1.1.114Using mustermann-grape 1.0.115Using rack-accept 0.4.516Using grape 1.5.217Using grape-entity 0.10.018Using grape-path-helpers 1.7.119Using grape-swagger 1.5.020Using grape-swagger-entity 0.5.121Using grape_logging 1.8.422Using graphiql-rails 1.8.023Using graphql-client 0.17.024Using graphlient 0.5.025Using graphlyte 1.0.026Using rb-fsevent 0.11.227Using rb-inotify 0.10.128Using sass-listen 4.0.029Using sass 3.5.530Using graphql-docs 2.1.031Using gssapi 1.3.132Using listen 3.7.133Using lumberjack 1.2.734Using nenv 0.3.035Using shellany 0.0.136Using notiffany 0.1.337Using pry 0.14.238Using guard 2.16.239Using guard-compat 1.2.140Using rspec-expectations 3.12.241Using rspec-mocks 3.12.342Using rspec 3.12.043Using guard-rspec 4.7.344Using temple 0.8.245Using tilt 2.0.1146Using haml 5.2.247Using sysexits 1.2.048Using haml_lint 0.40.149Using hamlit 2.15.050Using hana 1.3.751Using hangouts-chat 0.0.552Using hashdiff 1.0.153Using health_check 3.1.054Using html2text 0.2.055Using http-form_data 2.3.056Using llhttp-ffi 0.4.057Using http 5.1.158Using ice_cube 0.16.459Using icalendar 2.8.060Using imagen 0.1.861Using invisible_captcha 2.0.062Using oj 3.13.2363Using ipynbdiff 0.4.7 from source at `vendor/gems/ipynbdiff`64Using oauth 0.5.665Using jira-ruby 2.1.466Using regexp_property_values 1.0.067Using js_regex 3.8.068Using uri_template 0.7.069Using json_schemer 0.2.1870Using jsonpath 1.1.271Using kaminari-core 1.2.272Using kaminari-actionview 1.2.273Using kaminari-activerecord 1.2.274Using kaminari 1.2.275Using kas-grpc 0.0.276Using knapsack 1.21.177Using recursive-open-struct 1.1.378Using kubeclient 4.11.079Using rubyzip 2.3.280Using with_env 1.1.081Using license_finder 7.0.182Using reverse_markdown 1.4.083Using rugged 1.5.184Using licensee 9.15.285Using lockbox 1.1.186Using lograge 0.11.287Using lru_redux 1.1.088Using mail-smtp_pool 0.1.0 from source at `vendor/gems/mail-smtp_pool`89Using marginalia 1.11.190Using microsoft_graph_mailer 0.1.0 from source at `vendor/gems/microsoft_graph_mailer`91Using mini_magick 4.10.192Using mixlib-cli 2.1.893Using mixlib-log 3.0.994Using murmurhash3 0.1.795Using net-ntp 2.1.396Using net-ssh 6.0.097Using net-scp 3.0.098Using plist 3.6.099Using train-core 3.4.9100Using wmi-lite 1.0.5101Using ohai 17.9.0102Using oj-introspect 0.7.2103Using omniauth-oauth2 1.8.0104Using omniauth-alicloud 2.0.1105Using omniauth-atlassian-oauth2 0.2.0106Using omniauth-auth0 3.1.0107Using omniauth-azure-activedirectory-v2 2.0.0108Using omniauth-azure-oauth2 0.0.10 from source at `vendor/gems/omniauth-azure-oauth2`109Using omniauth-cas3 1.1.4 from source at `vendor/gems/omniauth-cas3`110Using omniauth-dingtalk-oauth2 1.0.1111Using omniauth-facebook 4.0.0112Using omniauth-github 2.0.1113Using omniauth-gitlab 4.0.0 from source at `vendor/gems/omniauth-gitlab`114Using omniauth-google-oauth2 1.1.1115Using omniauth-oauth 1.2.0116Using omniauth-oauth2-generic 0.2.8117Using omniauth-salesforce 1.0.5 from source at `vendor/gems/omniauth-salesforce`118Using ruby-saml 1.13.0119Using omniauth-saml 2.0.0120Using omniauth-twitter 1.4.0121Using omniauth_crowd 2.4.0 from source at `vendor/gems/omniauth_crowd`122Using rack-oauth2 1.21.3123Using swd 1.3.0124Using validate_email 0.1.6125Using validate_url 1.0.15126Using webfinger 1.2.0127Using openid_connect 1.3.0128Using omniauth_openid_connect 0.6.1129Using optimist 3.0.1130Using rubypants 0.2.0131Using org-ruby 0.9.12132Using pact-support 1.18.1133Using sync 0.5.0134Using tins 1.31.1135Using term-ansicolor 1.7.1136Using pact-mock_service 3.10.0137Using pact 1.63.0138Using tty-color 0.6.0139Using pastel 0.8.0140Using peek 1.1.0141Using png_quantizator 0.2.1142Using premailer 1.16.0143Using premailer-rails 1.10.3144Using unparser 0.6.7145Using proc_to_ast 0.1.0146Using prometheus-client-mmap 0.19.1147Using pry-byebug 3.10.1148Using pry-rails 0.3.9149Using rouge 4.1.0150Using strings-ansi 0.2.0151Using unicode_utils 1.4.0152Using strings 0.2.1153Using tty-screen 0.8.1154Using tty-markdown 0.7.2155Using tty-cursor 0.7.1156Using wisper 2.0.1157Using tty-reader 0.9.0158Using tty-prompt 0.23.1159Using pry-shell 0.6.1160Using puma 5.6.5161Using puma_worker_killer 0.3.1162Using rack-attack 6.6.1163Using rack-cors 1.1.1164Using rack-proxy 0.7.6165Using rack-timeout 0.6.3166Using rails-controller-testing 1.0.5167Using rails-i18n 7.0.3168Using rbtrace 0.4.14169Using rdoc 6.3.2170Using re2 1.6.0171Using recaptcha 5.12.3172Using redis-store 1.9.1173Using redis-rack 2.1.4174Using redis-actionpack 5.3.0175Using redis-namespace 1.9.0176Using rinku 2.0.0177Using rqrcode 0.7.0178Using rqrcode-rails3 0.1.7179Using rspec-benchmark 0.6.0180Using rspec-parameterized-core 1.0.0181Using rspec-parameterized-table_syntax 1.0.0182Using rspec-parameterized 1.0.0183Using rspec-rails 6.0.1184Using rspec-retry 0.6.1185Using rspec_junit_formatter 0.6.0186Using sqlite3 1.6.0 (x86_64-linux)187Using rspec_profiling 0.0.6188Using ruby-fogbugz 0.3.0189Using ruby-magic 0.6.0190Using sexp_processor 4.16.1191Using ruby_parser 3.19.2192Using safety_net_attestation 0.4.0193Using sanitize 6.0.0194Using sassc 2.4.0195Using sassc-rails 2.1.0196Using sd_notify 0.1.1197Using seed-fu 2.3.7198Using selenium-webdriver 3.142.7199Using sentry-ruby 5.8.0200Using sentry-rails 5.8.0201Using sentry-raven 3.1.2202Using sentry-sidekiq 5.8.0203Using settingslogic 2.0.9204Using shoulda-matchers 5.1.0205Using sidekiq-cron 1.8.0206Using sigdump 0.2.4207Using simple_po_parser 1.1.6208Using simplecov-html 0.12.3209Using simplecov_json_formatter 0.1.4210Using simplecov 0.21.2211Using simplecov-cobertura 1.3.1212Using simplecov-lcov 0.8.0213Using slack-messenger 2.3.4214Using snowplow-tracker 0.8.0215Using spamcheck 1.0.0216Using spring 4.1.0217Using spring-commands-rspec 1.0.4218Using ssh_data 1.3.0219Using state_machines 0.5.0220Using state_machines-activemodel 0.8.0221Using state_machines-activerecord 0.8.0222Using sys-filesystem 1.4.3223Using tanuki_emoji 0.6.0224Using telesign 2.2.4225Using telesignenterprise 2.2.2226Using terser 1.0.2227Using test-prof 1.0.7228Using test_file_finder 0.1.4229Using timfel-krb5-auth 0.8.3230Using toml-rb 2.2.0231Using tpm-key_attestation 0.12.0232Using truncato 0.7.12233Using u2f 0.2.1234Using undercover 0.4.5235Using unleash 3.2.2236Using valid_email 0.1.3237Using validates_hostname 1.0.11238Using version_sorter 2.3.0239Using view_component 2.74.1240Using vmstat 2.3.0241Using warning 1.3.0242Using webauthn 3.0.0243Using webmock 3.9.1244Using wikicloth 0.8.1245Using yajl-ruby 1.4.3246Bundle complete! 306 Gemfile dependencies, 619 gems now installed.247Gems in the groups 'production' and 'development' were not installed.248Bundled gems are installed into `./vendor`2492 installed gems you directly depend on are looking for funding.250 Run `bundle fund` for details251==> 'bundle install --jobs=$(nproc) --retry=3 ' succeeded in 1 seconds.252$ bundle pristine pg253Patching bundler with bundler-checksum...254Installing pg 1.4.6 with native extensions255==> 'bundle pristine pg' succeeded in 10 seconds.256Using decomposed database config (config/database.yml.postgresql)257Geo DB won't be set up.258$ setup_db_user_only259CREATE ROLE260GRANT261==> 'setup_db_user_only' succeeded in 1 seconds.262$ bundle exec rake db:drop db:create db:schema:load db:migrate gitlab:db:lock_writes263Dropped database 'gitlabhq_test'264Created database 'gitlabhq_test'265==> 'bundle exec rake db:drop db:create db:schema:load db:migrate gitlab:db:lock_writes' succeeded in 58 seconds.266$ setup_db_praefect267SELECT pg_catalog.set_config('search_path', '', false);268CREATE DATABASE praefect_test ENCODING 'UTF8';269==> 'setup_db_praefect' succeeded in 1 seconds.270$ source ./scripts/rspec_helpers.sh271$ run_timed_command "gem install knapsack --no-document"272$ gem install knapsack --no-document273Successfully installed knapsack-4.0.02741 gem installed275==> 'gem install knapsack --no-document' succeeded in 1 seconds.276$ echo -e "\e[0Ksection_start:`date +%s`:gitaly-test-spawn[collapsed=true]\r\e[0KStarting Gitaly"380$ rspec_paralellized_job "--tag ~quarantine --tag ~level:background_migration"381SKIP_FLAKY_TESTS_AUTOMATICALLY: false382RETRY_FAILED_TESTS_IN_NEW_PROCESS: true383KNAPSACK_GENERATE_REPORT: true384FLAKY_RSPEC_GENERATE_REPORT: true385KNAPSACK_TEST_FILE_PATTERN: spec/{bin,channels,config,contracts,db,dependencies,elastic,elastic_integration,experiments,factories,finders,frontend,graphql,haml_lint,helpers,initializers,lib,metrics_server,models,policies,presenters,rack_servers,replicators,routing,rubocop,scripts,serializers,services,sidekiq,sidekiq_cluster,spam,support_specs,tasks,uploaders,validators,views,workers,tooling,components}{,/**/}*_spec.rb386KNAPSACK_LOG_LEVEL: debug387KNAPSACK_REPORT_PATH: knapsack/rspec_unit_pg13_single-db_13_28_report.json388FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json389FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec_unit_pg13_single-db_13_28_report.json390NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec_unit_pg13_single-db_13_28_report.json391SKIPPED_FLAKY_TESTS_REPORT_PATH: rspec/flaky/skipped_flaky_tests_rspec_unit_pg13_single-db_13_28_report.txt392CRYSTALBALL: 393Knapsack node specs:394spec/models/ci/build_spec.rb395spec/lib/gitlab/background_migration/backfill_snippet_repositories_spec.rb396spec/models/ci/job_artifact_spec.rb397spec/services/boards/issues/list_service_spec.rb398spec/lib/gitlab/background_migration/legacy_upload_mover_spec.rb399spec/lib/gitlab/database/migration_helpers/automatic_lock_writes_on_tables_spec.rb400spec/services/members/update_service_spec.rb401spec/services/merge_requests/merge_to_ref_service_spec.rb402spec/services/users/migrate_records_to_ghost_user_service_spec.rb403spec/services/git/process_ref_changes_service_spec.rb404spec/lib/gitlab/ci/status/pipeline/factory_spec.rb405spec/lib/banzai/color_parser_spec.rb406spec/services/ci/job_artifacts/destroy_all_expired_service_spec.rb407spec/services/packages/nuget/search_service_spec.rb408spec/lib/gitlab/email/handler/create_merge_request_handler_spec.rb409spec/lib/gitlab/diff/file_collection/merge_request_diff_batch_spec.rb410spec/lib/gitlab/project_authorizations_spec.rb411spec/uploaders/personal_file_uploader_spec.rb412spec/lib/banzai/pipeline/wiki_pipeline_spec.rb413spec/graphql/mutations/merge_requests/set_milestone_spec.rb414spec/finders/group_members_finder_spec.rb415spec/models/terraform/state_version_spec.rb416spec/lib/gitlab/auth/ldap/dn_spec.rb417spec/services/packages/maven/metadata/create_plugins_xml_service_spec.rb418spec/services/members/projects/creator_service_spec.rb419spec/uploaders/namespace_file_uploader_spec.rb420spec/finders/packages/nuget/package_finder_spec.rb421spec/services/suggestions/create_service_spec.rb422spec/lib/api/helpers/caching_spec.rb423spec/lib/api/entities/snippet_spec.rb424spec/lib/gitlab/ci/trace/chunked_io_spec.rb425spec/models/ci/build_trace_chunks/redis_spec.rb426spec/lib/gitlab/database/load_balancing/sidekiq_server_middleware_spec.rb427spec/haml_lint/linter/documentation_links_spec.rb428spec/services/clusters/create_service_spec.rb429spec/lib/extracts_path_spec.rb430spec/services/projects/hashed_storage/migrate_attachments_service_spec.rb431spec/lib/gitlab/database/postgres_foreign_key_spec.rb432spec/lib/gitlab/import_export/group/tree_saver_spec.rb433spec/services/issues/set_crm_contacts_service_spec.rb434spec/lib/gitlab/diff/rendered/notebook/diff_file_spec.rb435spec/presenters/ci/stage_presenter_spec.rb436spec/services/projects/container_repository/gitlab/cleanup_tags_service_spec.rb437spec/finders/access_requests_finder_spec.rb438spec/serializers/diff_file_base_entity_spec.rb439spec/graphql/resolvers/container_repositories_resolver_spec.rb440spec/services/discussions/resolve_service_spec.rb441spec/services/bulk_imports/relation_export_service_spec.rb442spec/services/environments/create_for_build_service_spec.rb443spec/lib/gitlab/ci/config/entry/release_spec.rb444spec/lib/gitlab/markdown_cache/active_record/extension_spec.rb445spec/lib/banzai/reference_parser/issue_parser_spec.rb446spec/policies/ci/runner_machine_policy_spec.rb447spec/finders/feature_flags_finder_spec.rb448spec/services/users/approve_service_spec.rb449spec/finders/packages/packages_finder_spec.rb450spec/views/projects/commits/_commit.html.haml_spec.rb451spec/workers/users/deactivate_dormant_users_worker_spec.rb452spec/services/jira_import/start_import_service_spec.rb453spec/lib/gitlab/github_import/representation/diff_note_spec.rb454spec/graphql/mutations/incident_management/timeline_event/create_spec.rb455spec/workers/merge_request_mergeability_check_worker_spec.rb456spec/workers/integrations/create_external_cross_reference_worker_spec.rb457spec/serializers/environment_status_entity_spec.rb458spec/workers/projects/post_creation_worker_spec.rb459spec/lib/gitlab/diff/file_collection/merge_request_diff_base_spec.rb460spec/lib/sidebars/groups/menus/packages_registries_menu_spec.rb461spec/workers/deployments/hooks_worker_spec.rb462spec/graphql/resolvers/concerns/caching_array_resolver_spec.rb463spec/policies/upload_policy_spec.rb464spec/models/packages/rpm/metadatum_spec.rb465spec/lib/gitlab/metrics/exporter/base_exporter_spec.rb466spec/services/ci/expire_pipeline_cache_service_spec.rb467spec/services/projects/move_notification_settings_service_spec.rb468spec/lib/gitlab/checks/lfs_integrity_spec.rb469spec/lib/gitlab/tracking/standard_context_spec.rb470spec/models/bulk_imports/export_status_spec.rb471spec/lib/gitlab/authorized_keys_spec.rb472spec/workers/ci/drop_pipeline_worker_spec.rb473spec/services/projects/blame_service_spec.rb474spec/services/projects/container_repository/cleanup_tags_service_spec.rb475spec/helpers/button_helper_spec.rb476spec/presenters/packages/nuget/packages_metadata_presenter_spec.rb477spec/components/pajamas/toggle_component_spec.rb478spec/services/resource_events/synthetic_label_notes_builder_service_spec.rb479spec/services/repositories/destroy_service_spec.rb480spec/lib/gitlab/ci/input/inputs_spec.rb481spec/models/work_items/widget_definition_spec.rb482spec/services/packages/mark_packages_for_destruction_service_spec.rb483spec/lib/banzai/filter/inline_diff_filter_spec.rb484spec/services/ci/create_pipeline_service/tags_spec.rb485spec/lib/sidebars/projects/menus/hidden_menu_spec.rb486spec/config/application_spec.rb487spec/workers/environments/auto_stop_worker_spec.rb488spec/finders/incident_management/timeline_events_finder_spec.rb489spec/lib/mattermost/session_spec.rb490spec/lib/gitlab/metrics/dashboard/validator/post_schema_validator_spec.rb491spec/models/preloaders/project_policy_preloader_spec.rb492spec/lib/gitlab/github_import/importer/events/closed_spec.rb493spec/lib/gitlab/jira/dvcs_spec.rb494spec/lib/gitlab/slug/path_spec.rb495spec/lib/gitlab/ci/trace/metrics_spec.rb496spec/helpers/projects/ml/experiments_helper_spec.rb497spec/lib/banzai/filter/image_link_filter_spec.rb498spec/lib/bitbucket_server/representation/pull_request_spec.rb499spec/views/layouts/_header_search.html.haml_spec.rb500spec/lib/gitlab/legacy_github_import/branch_formatter_spec.rb501spec/services/projects/apple_target_platform_detector_service_spec.rb502spec/lib/gitlab/ci/config/entry/port_spec.rb503spec/views/projects/tree/show.html.haml_spec.rb504spec/finders/autocomplete/project_finder_spec.rb505spec/lib/banzai/reference_parser/design_parser_spec.rb506spec/lib/gitlab/ci/status/pipeline/common_spec.rb507spec/lib/gitlab/kubernetes/helm/v2/delete_command_spec.rb508spec/lib/gitlab/prometheus/internal_spec.rb509spec/graphql/types/member_interface_spec.rb510spec/services/import/github/cancel_project_import_service_spec.rb511spec/lib/gitlab/github_import/importer/events/cross_referenced_spec.rb512spec/lib/constraints/admin_constrainer_spec.rb513spec/services/container_expiration_policies/cleanup_service_spec.rb514spec/models/user_custom_attribute_spec.rb515spec/policies/packages/policies/group_policy_spec.rb516spec/lib/gitlab/issuable/clone/attributes_rewriter_spec.rb517spec/rubocop/cop/migration/with_lock_retries_disallowed_method_spec.rb518spec/lib/gitlab/ci/reports/coverage_report_spec.rb519spec/lib/gitlab/database/migration_spec.rb520spec/views/devise/shared/_signup_box.html.haml_spec.rb521spec/workers/incident_management/close_incident_worker_spec.rb522spec/uploaders/metric_image_uploader_spec.rb523spec/models/project_deploy_token_spec.rb524spec/lib/gitlab/import/merge_request_creator_spec.rb525spec/services/award_emojis/toggle_service_spec.rb526spec/models/lfs_objects_project_spec.rb527spec/models/preloaders/group_policy_preloader_spec.rb528spec/services/ci/compare_accessibility_reports_service_spec.rb529spec/models/description_version_spec.rb530spec/views/shared/milestones/_issuables.html.haml_spec.rb531spec/lib/sidebars/user_profile/menus/activity_menu_spec.rb532spec/services/dependency_proxy/auth_token_service_spec.rb533spec/models/integrations/asana_spec.rb534spec/presenters/user_presenter_spec.rb535spec/lib/gitlab/middleware/speedscope_spec.rb536spec/services/wiki_pages/event_create_service_spec.rb537spec/serializers/clusters/kubernetes_error_entity_spec.rb538spec/models/integrations/chat_message/merge_message_spec.rb539spec/models/releases/source_spec.rb540spec/services/award_emojis/collect_user_emoji_service_spec.rb541spec/tooling/lib/tooling/mappings/base_spec.rb542spec/services/projects/enable_deploy_key_service_spec.rb543spec/graphql/resolvers/users/group_count_resolver_spec.rb544spec/services/protected_branches/destroy_service_spec.rb545spec/models/oauth_access_grant_spec.rb546spec/graphql/types/customer_relations/contact_sort_enum_spec.rb547spec/services/packages/generic/find_or_create_package_service_spec.rb548spec/lib/gitlab/ci/build/artifacts/path_spec.rb549spec/lib/gitlab/ci/pipeline/preloader_spec.rb550spec/lib/bulk_imports/network_error_spec.rb551spec/lib/gitlab/prometheus/adapter_spec.rb552spec/lib/gitlab/import_export/group/object_builder_spec.rb553spec/presenters/packages/nuget/packages_versions_presenter_spec.rb554spec/finders/applications_finder_spec.rb555spec/lib/gitlab/database/background_migration/health_status_spec.rb556spec/lib/peek/views/external_http_spec.rb557spec/services/packages/debian/find_or_create_package_service_spec.rb558spec/models/namespace/detail_spec.rb559spec/lib/sidebars/user_settings/menus/applications_menu_spec.rb560spec/services/packages/debian/parse_debian822_service_spec.rb561spec/presenters/packages/nuget/search_results_presenter_spec.rb562spec/channels/application_cable/connection_spec.rb563spec/rubocop/cop/code_reuse/serializer_spec.rb564spec/models/performance_monitoring/prometheus_panel_spec.rb565spec/models/uploads/local_spec.rb566spec/serializers/jira_connect/app_data_serializer_spec.rb567spec/lib/bulk_imports/users_mapper_spec.rb568spec/views/groups/group_members/index.html.haml_spec.rb569spec/models/packages/nuget/dependency_link_metadatum_spec.rb570spec/lib/gitlab/error_tracking/processor/sanitizer_processor_spec.rb571spec/models/namespaces/sync_event_spec.rb572spec/helpers/bizible_helper_spec.rb573spec/lib/sidebars/projects/menus/confluence_menu_spec.rb574spec/lib/gitlab/ci/status/running_spec.rb575spec/lib/bulk_imports/common/extractors/ndjson_extractor_spec.rb576spec/services/members/base_service_spec.rb577spec/lib/gitlab/ci/config/entry/ports_spec.rb578spec/lib/gitlab/throttle_spec.rb579spec/lib/marginalia_spec.rb580spec/rubocop/qa_helpers_spec.rb581spec/services/ci/copy_cross_database_associations_service_spec.rb582spec/lib/banzai/filter/references/abstract_reference_filter_spec.rb583spec/serializers/evidences/release_entity_spec.rb584spec/lib/gitlab/import_export/json/ndjson_writer_spec.rb585spec/lib/banzai/filter/blockquote_fence_filter_spec.rb586spec/graphql/types/permission_types/base_permission_type_spec.rb587spec/lib/gitlab/sidekiq_versioning_spec.rb588spec/graphql/types/projects/jira_service_type_spec.rb589spec/workers/gitlab/github_import/stage/import_pull_requests_merged_by_worker_spec.rb590spec/lib/gitlab/github_import/representation/to_hash_spec.rb591spec/workers/jira_connect/forward_event_worker_spec.rb592spec/lib/gitlab/import_export/config_spec.rb593spec/graphql/types/permission_types/ci/job_spec.rb594spec/lib/gitlab/database/obsolete_ignored_columns_spec.rb595spec/finders/repositories/changelog_tag_finder_spec.rb596spec/lib/gitlab/graphql/loaders/batch_root_storage_statistics_loader_spec.rb597spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/server_spec.rb598spec/graphql/types/ci/pipeline_schedule_type_spec.rb599spec/lib/gitlab/word_diff/parser_spec.rb600spec/models/badges/group_badge_spec.rb601spec/graphql/types/ci/instance_variable_type_spec.rb602spec/lib/bulk_imports/projects/graphql/get_project_query_spec.rb603spec/graphql/types/prometheus_alert_type_spec.rb604spec/serializers/test_reports_comparer_entity_spec.rb605spec/workers/metrics/dashboard/schedule_annotations_prune_worker_spec.rb606spec/lib/gitlab/ci/project_config/source_spec.rb607spec/lib/system_check/app/gitlab_cable_config_exists_check_spec.rb608spec/lib/gitlab/usage/metrics/instrumentations/cert_based_clusters_ff_metric_spec.rb609spec/services/projects/import_error_filter_spec.rb610spec/lib/api/entities/personal_access_token_spec.rb611spec/rubocop/cop/rspec/web_mock_enable_spec.rb612spec/lib/gitlab/error_tracking/log_formatter_spec.rb613spec/lib/gitlab/ci_access_spec.rb614spec/initializers/cookies_serializer_spec.rb615spec/graphql/types/permission_types/project_spec.rb616spec/helpers/one_trust_helper_spec.rb617spec/serializers/fork_namespace_serializer_spec.rb618spec/lib/gitlab/ci/status/bridge/waiting_for_resource_spec.rb619spec/lib/gitlab/redis/wrapper_spec.rb620spec/initializers/asset_proxy_setting_spec.rb621spec/serializers/ci/trigger_serializer_spec.rb622spec/lib/gitlab/usage/metrics/instrumentations/uuid_metric_spec.rb623spec/lib/gitlab/dependency_linker/base_linker_spec.rb624spec/lib/banzai/querying_spec.rb625Filter specs:626Running specs:627Running all node tests without filter628spec/models/ci/build_spec.rb629spec/lib/gitlab/background_migration/backfill_snippet_repositories_spec.rb630spec/models/ci/job_artifact_spec.rb631spec/services/boards/issues/list_service_spec.rb632spec/lib/gitlab/background_migration/legacy_upload_mover_spec.rb633spec/lib/gitlab/database/migration_helpers/automatic_lock_writes_on_tables_spec.rb634spec/services/members/update_service_spec.rb635spec/services/merge_requests/merge_to_ref_service_spec.rb636spec/services/users/migrate_records_to_ghost_user_service_spec.rb637spec/services/git/process_ref_changes_service_spec.rb638spec/lib/gitlab/ci/status/pipeline/factory_spec.rb639spec/lib/banzai/color_parser_spec.rb640spec/services/ci/job_artifacts/destroy_all_expired_service_spec.rb641spec/services/packages/nuget/search_service_spec.rb642spec/lib/gitlab/email/handler/create_merge_request_handler_spec.rb643spec/lib/gitlab/diff/file_collection/merge_request_diff_batch_spec.rb644spec/lib/gitlab/project_authorizations_spec.rb645spec/uploaders/personal_file_uploader_spec.rb646spec/lib/banzai/pipeline/wiki_pipeline_spec.rb647spec/graphql/mutations/merge_requests/set_milestone_spec.rb648spec/finders/group_members_finder_spec.rb649spec/models/terraform/state_version_spec.rb650spec/lib/gitlab/auth/ldap/dn_spec.rb651spec/services/packages/maven/metadata/create_plugins_xml_service_spec.rb652spec/services/members/projects/creator_service_spec.rb653spec/uploaders/namespace_file_uploader_spec.rb654spec/finders/packages/nuget/package_finder_spec.rb655spec/services/suggestions/create_service_spec.rb656spec/lib/api/helpers/caching_spec.rb657spec/lib/api/entities/snippet_spec.rb658spec/lib/gitlab/ci/trace/chunked_io_spec.rb659spec/models/ci/build_trace_chunks/redis_spec.rb660spec/lib/gitlab/database/load_balancing/sidekiq_server_middleware_spec.rb661spec/haml_lint/linter/documentation_links_spec.rb662spec/services/clusters/create_service_spec.rb663spec/lib/extracts_path_spec.rb664spec/services/projects/hashed_storage/migrate_attachments_service_spec.rb665spec/lib/gitlab/database/postgres_foreign_key_spec.rb666spec/lib/gitlab/import_export/group/tree_saver_spec.rb667spec/services/issues/set_crm_contacts_service_spec.rb668spec/lib/gitlab/diff/rendered/notebook/diff_file_spec.rb669spec/presenters/ci/stage_presenter_spec.rb670spec/services/projects/container_repository/gitlab/cleanup_tags_service_spec.rb671spec/finders/access_requests_finder_spec.rb672spec/serializers/diff_file_base_entity_spec.rb673spec/graphql/resolvers/container_repositories_resolver_spec.rb674spec/services/discussions/resolve_service_spec.rb675spec/services/bulk_imports/relation_export_service_spec.rb676spec/services/environments/create_for_build_service_spec.rb677spec/lib/gitlab/ci/config/entry/release_spec.rb678spec/lib/gitlab/markdown_cache/active_record/extension_spec.rb679spec/lib/banzai/reference_parser/issue_parser_spec.rb680spec/policies/ci/runner_machine_policy_spec.rb681spec/finders/feature_flags_finder_spec.rb682spec/services/users/approve_service_spec.rb683spec/finders/packages/packages_finder_spec.rb684spec/views/projects/commits/_commit.html.haml_spec.rb685spec/workers/users/deactivate_dormant_users_worker_spec.rb686spec/services/jira_import/start_import_service_spec.rb687spec/lib/gitlab/github_import/representation/diff_note_spec.rb688spec/graphql/mutations/incident_management/timeline_event/create_spec.rb689spec/workers/merge_request_mergeability_check_worker_spec.rb690spec/workers/integrations/create_external_cross_reference_worker_spec.rb691spec/serializers/environment_status_entity_spec.rb692spec/workers/projects/post_creation_worker_spec.rb693spec/lib/gitlab/diff/file_collection/merge_request_diff_base_spec.rb694spec/lib/sidebars/groups/menus/packages_registries_menu_spec.rb695spec/workers/deployments/hooks_worker_spec.rb696spec/graphql/resolvers/concerns/caching_array_resolver_spec.rb697spec/policies/upload_policy_spec.rb698spec/models/packages/rpm/metadatum_spec.rb699spec/lib/gitlab/metrics/exporter/base_exporter_spec.rb700spec/services/ci/expire_pipeline_cache_service_spec.rb701spec/services/projects/move_notification_settings_service_spec.rb702spec/lib/gitlab/checks/lfs_integrity_spec.rb703spec/lib/gitlab/tracking/standard_context_spec.rb704spec/models/bulk_imports/export_status_spec.rb705spec/lib/gitlab/authorized_keys_spec.rb706spec/workers/ci/drop_pipeline_worker_spec.rb707spec/services/projects/blame_service_spec.rb708spec/services/projects/container_repository/cleanup_tags_service_spec.rb709spec/helpers/button_helper_spec.rb710spec/presenters/packages/nuget/packages_metadata_presenter_spec.rb711spec/components/pajamas/toggle_component_spec.rb712spec/services/resource_events/synthetic_label_notes_builder_service_spec.rb713spec/services/repositories/destroy_service_spec.rb714spec/lib/gitlab/ci/input/inputs_spec.rb715spec/models/work_items/widget_definition_spec.rb716spec/services/packages/mark_packages_for_destruction_service_spec.rb717spec/lib/banzai/filter/inline_diff_filter_spec.rb718spec/services/ci/create_pipeline_service/tags_spec.rb719spec/lib/sidebars/projects/menus/hidden_menu_spec.rb720spec/config/application_spec.rb721spec/workers/environments/auto_stop_worker_spec.rb722spec/finders/incident_management/timeline_events_finder_spec.rb723spec/lib/mattermost/session_spec.rb724spec/lib/gitlab/metrics/dashboard/validator/post_schema_validator_spec.rb725spec/models/preloaders/project_policy_preloader_spec.rb726spec/lib/gitlab/github_import/importer/events/closed_spec.rb727spec/lib/gitlab/jira/dvcs_spec.rb728spec/lib/gitlab/slug/path_spec.rb729spec/lib/gitlab/ci/trace/metrics_spec.rb730spec/helpers/projects/ml/experiments_helper_spec.rb731spec/lib/banzai/filter/image_link_filter_spec.rb732spec/lib/bitbucket_server/representation/pull_request_spec.rb733spec/views/layouts/_header_search.html.haml_spec.rb734spec/lib/gitlab/legacy_github_import/branch_formatter_spec.rb735spec/services/projects/apple_target_platform_detector_service_spec.rb736spec/lib/gitlab/ci/config/entry/port_spec.rb737spec/views/projects/tree/show.html.haml_spec.rb738spec/finders/autocomplete/project_finder_spec.rb739spec/lib/banzai/reference_parser/design_parser_spec.rb740spec/lib/gitlab/ci/status/pipeline/common_spec.rb741spec/lib/gitlab/kubernetes/helm/v2/delete_command_spec.rb742spec/lib/gitlab/prometheus/internal_spec.rb743spec/graphql/types/member_interface_spec.rb744spec/services/import/github/cancel_project_import_service_spec.rb745spec/lib/gitlab/github_import/importer/events/cross_referenced_spec.rb746spec/lib/constraints/admin_constrainer_spec.rb747spec/services/container_expiration_policies/cleanup_service_spec.rb748spec/models/user_custom_attribute_spec.rb749spec/policies/packages/policies/group_policy_spec.rb750spec/lib/gitlab/issuable/clone/attributes_rewriter_spec.rb751spec/rubocop/cop/migration/with_lock_retries_disallowed_method_spec.rb752spec/lib/gitlab/ci/reports/coverage_report_spec.rb753spec/lib/gitlab/database/migration_spec.rb754spec/views/devise/shared/_signup_box.html.haml_spec.rb755spec/workers/incident_management/close_incident_worker_spec.rb756spec/uploaders/metric_image_uploader_spec.rb757spec/models/project_deploy_token_spec.rb758spec/lib/gitlab/import/merge_request_creator_spec.rb759spec/services/award_emojis/toggle_service_spec.rb760spec/models/lfs_objects_project_spec.rb761spec/models/preloaders/group_policy_preloader_spec.rb762spec/services/ci/compare_accessibility_reports_service_spec.rb763spec/models/description_version_spec.rb764spec/views/shared/milestones/_issuables.html.haml_spec.rb765spec/lib/sidebars/user_profile/menus/activity_menu_spec.rb766spec/services/dependency_proxy/auth_token_service_spec.rb767spec/models/integrations/asana_spec.rb768spec/presenters/user_presenter_spec.rb769spec/lib/gitlab/middleware/speedscope_spec.rb770spec/services/wiki_pages/event_create_service_spec.rb771spec/serializers/clusters/kubernetes_error_entity_spec.rb772spec/models/integrations/chat_message/merge_message_spec.rb773spec/models/releases/source_spec.rb774spec/services/award_emojis/collect_user_emoji_service_spec.rb775spec/tooling/lib/tooling/mappings/base_spec.rb776spec/services/projects/enable_deploy_key_service_spec.rb777spec/graphql/resolvers/users/group_count_resolver_spec.rb778spec/services/protected_branches/destroy_service_spec.rb779spec/models/oauth_access_grant_spec.rb780spec/graphql/types/customer_relations/contact_sort_enum_spec.rb781spec/services/packages/generic/find_or_create_package_service_spec.rb782spec/lib/gitlab/ci/build/artifacts/path_spec.rb783spec/lib/gitlab/ci/pipeline/preloader_spec.rb784spec/lib/bulk_imports/network_error_spec.rb785spec/lib/gitlab/prometheus/adapter_spec.rb786spec/lib/gitlab/import_export/group/object_builder_spec.rb787spec/presenters/packages/nuget/packages_versions_presenter_spec.rb788spec/finders/applications_finder_spec.rb789spec/lib/gitlab/database/background_migration/health_status_spec.rb790spec/lib/peek/views/external_http_spec.rb791spec/services/packages/debian/find_or_create_package_service_spec.rb792spec/models/namespace/detail_spec.rb793spec/lib/sidebars/user_settings/menus/applications_menu_spec.rb794spec/services/packages/debian/parse_debian822_service_spec.rb795spec/presenters/packages/nuget/search_results_presenter_spec.rb796spec/channels/application_cable/connection_spec.rb797spec/rubocop/cop/code_reuse/serializer_spec.rb798spec/models/performance_monitoring/prometheus_panel_spec.rb799spec/models/uploads/local_spec.rb800spec/serializers/jira_connect/app_data_serializer_spec.rb801spec/lib/bulk_imports/users_mapper_spec.rb802spec/views/groups/group_members/index.html.haml_spec.rb803spec/models/packages/nuget/dependency_link_metadatum_spec.rb804spec/lib/gitlab/error_tracking/processor/sanitizer_processor_spec.rb805spec/models/namespaces/sync_event_spec.rb806spec/helpers/bizible_helper_spec.rb807spec/lib/sidebars/projects/menus/confluence_menu_spec.rb808spec/lib/gitlab/ci/status/running_spec.rb809spec/lib/bulk_imports/common/extractors/ndjson_extractor_spec.rb810spec/services/members/base_service_spec.rb811spec/lib/gitlab/ci/config/entry/ports_spec.rb812spec/lib/gitlab/throttle_spec.rb813spec/lib/marginalia_spec.rb814spec/rubocop/qa_helpers_spec.rb815spec/services/ci/copy_cross_database_associations_service_spec.rb816spec/lib/banzai/filter/references/abstract_reference_filter_spec.rb817spec/serializers/evidences/release_entity_spec.rb818spec/lib/gitlab/import_export/json/ndjson_writer_spec.rb819spec/lib/banzai/filter/blockquote_fence_filter_spec.rb820spec/graphql/types/permission_types/base_permission_type_spec.rb821spec/lib/gitlab/sidekiq_versioning_spec.rb822spec/graphql/types/projects/jira_service_type_spec.rb823spec/workers/gitlab/github_import/stage/import_pull_requests_merged_by_worker_spec.rb824spec/lib/gitlab/github_import/representation/to_hash_spec.rb825spec/workers/jira_connect/forward_event_worker_spec.rb826spec/lib/gitlab/import_export/config_spec.rb827spec/graphql/types/permission_types/ci/job_spec.rb828spec/lib/gitlab/database/obsolete_ignored_columns_spec.rb829spec/finders/repositories/changelog_tag_finder_spec.rb830spec/lib/gitlab/graphql/loaders/batch_root_storage_statistics_loader_spec.rb831spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/server_spec.rb832spec/graphql/types/ci/pipeline_schedule_type_spec.rb833spec/lib/gitlab/word_diff/parser_spec.rb834spec/models/badges/group_badge_spec.rb835spec/graphql/types/ci/instance_variable_type_spec.rb836spec/lib/bulk_imports/projects/graphql/get_project_query_spec.rb837spec/graphql/types/prometheus_alert_type_spec.rb838spec/serializers/test_reports_comparer_entity_spec.rb839spec/workers/metrics/dashboard/schedule_annotations_prune_worker_spec.rb840spec/lib/gitlab/ci/project_config/source_spec.rb841spec/lib/system_check/app/gitlab_cable_config_exists_check_spec.rb842spec/lib/gitlab/usage/metrics/instrumentations/cert_based_clusters_ff_metric_spec.rb843spec/services/projects/import_error_filter_spec.rb844spec/lib/api/entities/personal_access_token_spec.rb845spec/rubocop/cop/rspec/web_mock_enable_spec.rb846spec/lib/gitlab/error_tracking/log_formatter_spec.rb847spec/lib/gitlab/ci_access_spec.rb848spec/initializers/cookies_serializer_spec.rb849spec/graphql/types/permission_types/project_spec.rb850spec/helpers/one_trust_helper_spec.rb851spec/serializers/fork_namespace_serializer_spec.rb852spec/lib/gitlab/ci/status/bridge/waiting_for_resource_spec.rb853spec/lib/gitlab/redis/wrapper_spec.rb854spec/initializers/asset_proxy_setting_spec.rb855spec/serializers/ci/trigger_serializer_spec.rb856spec/lib/gitlab/usage/metrics/instrumentations/uuid_metric_spec.rb857spec/lib/gitlab/dependency_linker/base_linker_spec.rb858spec/lib/banzai/querying_spec.rb859Running all node tests without filter860Running all node tests without filter861Running command: bundle exec rspec -Ispec -rspec_helper --color --failure-exit-code 1 --error-exit-code 2 --format documentation --format RspecJunitFormatter --out rspec/junit_rspec.xml --tag ~quarantine --tag ~level:background_migration --default-path spec -- spec/models/ci/build_spec.rb spec/lib/gitlab/background_migration/backfill_snippet_repositories_spec.rb spec/models/ci/job_artifact_spec.rb spec/services/boards/issues/list_service_spec.rb spec/lib/gitlab/background_migration/legacy_upload_mover_spec.rb spec/lib/gitlab/database/migration_helpers/automatic_lock_writes_on_tables_spec.rb spec/services/members/update_service_spec.rb spec/services/merge_requests/merge_to_ref_service_spec.rb spec/services/users/migrate_records_to_ghost_user_service_spec.rb spec/services/git/process_ref_changes_service_spec.rb spec/lib/gitlab/ci/status/pipeline/factory_spec.rb spec/lib/banzai/color_parser_spec.rb spec/services/ci/job_artifacts/destroy_all_expired_service_spec.rb spec/services/packages/nuget/search_service_spec.rb spec/lib/gitlab/email/handler/create_merge_request_handler_spec.rb spec/lib/gitlab/diff/file_collection/merge_request_diff_batch_spec.rb spec/lib/gitlab/project_authorizations_spec.rb spec/uploaders/personal_file_uploader_spec.rb spec/lib/banzai/pipeline/wiki_pipeline_spec.rb spec/graphql/mutations/merge_requests/set_milestone_spec.rb spec/finders/group_members_finder_spec.rb spec/models/terraform/state_version_spec.rb spec/lib/gitlab/auth/ldap/dn_spec.rb spec/services/packages/maven/metadata/create_plugins_xml_service_spec.rb spec/services/members/projects/creator_service_spec.rb spec/uploaders/namespace_file_uploader_spec.rb spec/finders/packages/nuget/package_finder_spec.rb spec/services/suggestions/create_service_spec.rb spec/lib/api/helpers/caching_spec.rb spec/lib/api/entities/snippet_spec.rb spec/lib/gitlab/ci/trace/chunked_io_spec.rb spec/models/ci/build_trace_chunks/redis_spec.rb spec/lib/gitlab/database/load_balancing/sidekiq_server_middleware_spec.rb spec/haml_lint/linter/documentation_links_spec.rb spec/services/clusters/create_service_spec.rb spec/lib/extracts_path_spec.rb spec/services/projects/hashed_storage/migrate_attachments_service_spec.rb spec/lib/gitlab/database/postgres_foreign_key_spec.rb spec/lib/gitlab/import_export/group/tree_saver_spec.rb spec/services/issues/set_crm_contacts_service_spec.rb spec/lib/gitlab/diff/rendered/notebook/diff_file_spec.rb spec/presenters/ci/stage_presenter_spec.rb spec/services/projects/container_repository/gitlab/cleanup_tags_service_spec.rb spec/finders/access_requests_finder_spec.rb spec/serializers/diff_file_base_entity_spec.rb spec/graphql/resolvers/container_repositories_resolver_spec.rb spec/services/discussions/resolve_service_spec.rb spec/services/bulk_imports/relation_export_service_spec.rb spec/services/environments/create_for_build_service_spec.rb spec/lib/gitlab/ci/config/entry/release_spec.rb spec/lib/gitlab/markdown_cache/active_record/extension_spec.rb spec/lib/banzai/reference_parser/issue_parser_spec.rb spec/policies/ci/runner_machine_policy_spec.rb spec/finders/feature_flags_finder_spec.rb spec/services/users/approve_service_spec.rb spec/finders/packages/packages_finder_spec.rb spec/views/projects/commits/_commit.html.haml_spec.rb spec/workers/users/deactivate_dormant_users_worker_spec.rb spec/services/jira_import/start_import_service_spec.rb spec/lib/gitlab/github_import/representation/diff_note_spec.rb spec/graphql/mutations/incident_management/timeline_event/create_spec.rb spec/workers/merge_request_mergeability_check_worker_spec.rb spec/workers/integrations/create_external_cross_reference_worker_spec.rb spec/serializers/environment_status_entity_spec.rb spec/workers/projects/post_creation_worker_spec.rb spec/lib/gitlab/diff/file_collection/merge_request_diff_base_spec.rb spec/lib/sidebars/groups/menus/packages_registries_menu_spec.rb spec/workers/deployments/hooks_worker_spec.rb spec/graphql/resolvers/concerns/caching_array_resolver_spec.rb spec/policies/upload_policy_spec.rb spec/models/packages/rpm/metadatum_spec.rb spec/lib/gitlab/metrics/exporter/base_exporter_spec.rb spec/services/ci/expire_pipeline_cache_service_spec.rb spec/services/projects/move_notification_settings_service_spec.rb spec/lib/gitlab/checks/lfs_integrity_spec.rb spec/lib/gitlab/tracking/standard_context_spec.rb spec/models/bulk_imports/export_status_spec.rb spec/lib/gitlab/authorized_keys_spec.rb spec/workers/ci/drop_pipeline_worker_spec.rb spec/services/projects/blame_service_spec.rb spec/services/projects/container_repository/cleanup_tags_service_spec.rb spec/helpers/button_helper_spec.rb spec/presenters/packages/nuget/packages_metadata_presenter_spec.rb spec/components/pajamas/toggle_component_spec.rb spec/services/resource_events/synthetic_label_notes_builder_service_spec.rb spec/services/repositories/destroy_service_spec.rb spec/lib/gitlab/ci/input/inputs_spec.rb spec/models/work_items/widget_definition_spec.rb spec/services/packages/mark_packages_for_destruction_service_spec.rb spec/lib/banzai/filter/inline_diff_filter_spec.rb spec/services/ci/create_pipeline_service/tags_spec.rb spec/lib/sidebars/projects/menus/hidden_menu_spec.rb spec/config/application_spec.rb spec/workers/environments/auto_stop_worker_spec.rb spec/finders/incident_management/timeline_events_finder_spec.rb spec/lib/mattermost/session_spec.rb spec/lib/gitlab/metrics/dashboard/validator/post_schema_validator_spec.rb spec/models/preloaders/project_policy_preloader_spec.rb spec/lib/gitlab/github_import/importer/events/closed_spec.rb spec/lib/gitlab/jira/dvcs_spec.rb spec/lib/gitlab/slug/path_spec.rb spec/lib/gitlab/ci/trace/metrics_spec.rb spec/helpers/projects/ml/experiments_helper_spec.rb spec/lib/banzai/filter/image_link_filter_spec.rb spec/lib/bitbucket_server/representation/pull_request_spec.rb spec/views/layouts/_header_search.html.haml_spec.rb spec/lib/gitlab/legacy_github_import/branch_formatter_spec.rb spec/services/projects/apple_target_platform_detector_service_spec.rb spec/lib/gitlab/ci/config/entry/port_spec.rb spec/views/projects/tree/show.html.haml_spec.rb spec/finders/autocomplete/project_finder_spec.rb spec/lib/banzai/reference_parser/design_parser_spec.rb spec/lib/gitlab/ci/status/pipeline/common_spec.rb spec/lib/gitlab/kubernetes/helm/v2/delete_command_spec.rb spec/lib/gitlab/prometheus/internal_spec.rb spec/graphql/types/member_interface_spec.rb spec/services/import/github/cancel_project_import_service_spec.rb spec/lib/gitlab/github_import/importer/events/cross_referenced_spec.rb spec/lib/constraints/admin_constrainer_spec.rb spec/services/container_expiration_policies/cleanup_service_spec.rb spec/models/user_custom_attribute_spec.rb spec/policies/packages/policies/group_policy_spec.rb spec/lib/gitlab/issuable/clone/attributes_rewriter_spec.rb spec/rubocop/cop/migration/with_lock_retries_disallowed_method_spec.rb spec/lib/gitlab/ci/reports/coverage_report_spec.rb spec/lib/gitlab/database/migration_spec.rb spec/views/devise/shared/_signup_box.html.haml_spec.rb spec/workers/incident_management/close_incident_worker_spec.rb spec/uploaders/metric_image_uploader_spec.rb spec/models/project_deploy_token_spec.rb spec/lib/gitlab/import/merge_request_creator_spec.rb spec/services/award_emojis/toggle_service_spec.rb spec/models/lfs_objects_project_spec.rb spec/models/preloaders/group_policy_preloader_spec.rb spec/services/ci/compare_accessibility_reports_service_spec.rb spec/models/description_version_spec.rb spec/views/shared/milestones/_issuables.html.haml_spec.rb spec/lib/sidebars/user_profile/menus/activity_menu_spec.rb spec/services/dependency_proxy/auth_token_service_spec.rb spec/models/integrations/asana_spec.rb spec/presenters/user_presenter_spec.rb spec/lib/gitlab/middleware/speedscope_spec.rb spec/services/wiki_pages/event_create_service_spec.rb spec/serializers/clusters/kubernetes_error_entity_spec.rb spec/models/integrations/chat_message/merge_message_spec.rb spec/models/releases/source_spec.rb spec/services/award_emojis/collect_user_emoji_service_spec.rb spec/tooling/lib/tooling/mappings/base_spec.rb spec/services/projects/enable_deploy_key_service_spec.rb spec/graphql/resolvers/users/group_count_resolver_spec.rb spec/services/protected_branches/destroy_service_spec.rb spec/models/oauth_access_grant_spec.rb spec/graphql/types/customer_relations/contact_sort_enum_spec.rb spec/services/packages/generic/find_or_create_package_service_spec.rb spec/lib/gitlab/ci/build/artifacts/path_spec.rb spec/lib/gitlab/ci/pipeline/preloader_spec.rb spec/lib/bulk_imports/network_error_spec.rb spec/lib/gitlab/prometheus/adapter_spec.rb spec/lib/gitlab/import_export/group/object_builder_spec.rb spec/presenters/packages/nuget/packages_versions_presenter_spec.rb spec/finders/applications_finder_spec.rb spec/lib/gitlab/database/background_migration/health_status_spec.rb spec/lib/peek/views/external_http_spec.rb spec/services/packages/debian/find_or_create_package_service_spec.rb spec/models/namespace/detail_spec.rb spec/lib/sidebars/user_settings/menus/applications_menu_spec.rb spec/services/packages/debian/parse_debian822_service_spec.rb spec/presenters/packages/nuget/search_results_presenter_spec.rb spec/channels/application_cable/connection_spec.rb spec/rubocop/cop/code_reuse/serializer_spec.rb spec/models/performance_monitoring/prometheus_panel_spec.rb spec/models/uploads/local_spec.rb spec/serializers/jira_connect/app_data_serializer_spec.rb spec/lib/bulk_imports/users_mapper_spec.rb spec/views/groups/group_members/index.html.haml_spec.rb spec/models/packages/nuget/dependency_link_metadatum_spec.rb spec/lib/gitlab/error_tracking/processor/sanitizer_processor_spec.rb spec/models/namespaces/sync_event_spec.rb spec/helpers/bizible_helper_spec.rb spec/lib/sidebars/projects/menus/confluence_menu_spec.rb spec/lib/gitlab/ci/status/running_spec.rb spec/lib/bulk_imports/common/extractors/ndjson_extractor_spec.rb spec/services/members/base_service_spec.rb spec/lib/gitlab/ci/config/entry/ports_spec.rb spec/lib/gitlab/throttle_spec.rb spec/lib/marginalia_spec.rb spec/rubocop/qa_helpers_spec.rb spec/services/ci/copy_cross_database_associations_service_spec.rb spec/lib/banzai/filter/references/abstract_reference_filter_spec.rb spec/serializers/evidences/release_entity_spec.rb spec/lib/gitlab/import_export/json/ndjson_writer_spec.rb spec/lib/banzai/filter/blockquote_fence_filter_spec.rb spec/graphql/types/permission_types/base_permission_type_spec.rb spec/lib/gitlab/sidekiq_versioning_spec.rb spec/graphql/types/projects/jira_service_type_spec.rb spec/workers/gitlab/github_import/stage/import_pull_requests_merged_by_worker_spec.rb spec/lib/gitlab/github_import/representation/to_hash_spec.rb spec/workers/jira_connect/forward_event_worker_spec.rb spec/lib/gitlab/import_export/config_spec.rb spec/graphql/types/permission_types/ci/job_spec.rb spec/lib/gitlab/database/obsolete_ignored_columns_spec.rb spec/finders/repositories/changelog_tag_finder_spec.rb spec/lib/gitlab/graphql/loaders/batch_root_storage_statistics_loader_spec.rb spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/server_spec.rb spec/graphql/types/ci/pipeline_schedule_type_spec.rb spec/lib/gitlab/word_diff/parser_spec.rb spec/models/badges/group_badge_spec.rb spec/graphql/types/ci/instance_variable_type_spec.rb spec/lib/bulk_imports/projects/graphql/get_project_query_spec.rb spec/graphql/types/prometheus_alert_type_spec.rb spec/serializers/test_reports_comparer_entity_spec.rb spec/workers/metrics/dashboard/schedule_annotations_prune_worker_spec.rb spec/lib/gitlab/ci/project_config/source_spec.rb spec/lib/system_check/app/gitlab_cable_config_exists_check_spec.rb spec/lib/gitlab/usage/metrics/instrumentations/cert_based_clusters_ff_metric_spec.rb spec/services/projects/import_error_filter_spec.rb spec/lib/api/entities/personal_access_token_spec.rb spec/rubocop/cop/rspec/web_mock_enable_spec.rb spec/lib/gitlab/error_tracking/log_formatter_spec.rb spec/lib/gitlab/ci_access_spec.rb spec/initializers/cookies_serializer_spec.rb spec/graphql/types/permission_types/project_spec.rb spec/helpers/one_trust_helper_spec.rb spec/serializers/fork_namespace_serializer_spec.rb spec/lib/gitlab/ci/status/bridge/waiting_for_resource_spec.rb spec/lib/gitlab/redis/wrapper_spec.rb spec/initializers/asset_proxy_setting_spec.rb spec/serializers/ci/trigger_serializer_spec.rb spec/lib/gitlab/usage/metrics/instrumentations/uuid_metric_spec.rb spec/lib/gitlab/dependency_linker/base_linker_spec.rb spec/lib/banzai/querying_spec.rbKnapsack report generator started!862Run options: exclude {:quarantine=>true, :level=>"background_migration"}863Test environment set up in 1.313531031 seconds864Ci::Build865 is expected to belong to runner required: false866 is expected to belong to trigger_request required: false867 is expected to belong to erased_by required: false868 is expected to belong to pipeline required: false inverse_of => builds869 is expected to have many needs870 is expected to have many sourced_pipelines class_name => Ci::Sources::Pipeline inverse_of => build871 is expected to have many job_variables872 is expected to have many report_results873 is expected to have many pages_deployments874 is expected to have one deployment875 is expected to have one runner_machine through runner_machine_build876 is expected to have one runner_session877 is expected to have one trace_metadata878 is expected to have one runtime_metadata879 is expected to have one pending_state inverse_of => build880 is expected to have one queuing_entry class_name => Ci::PendingBuild inverse_of => build881 is expected to have one runtime_metadata class_name => Ci::RunningBuild inverse_of => build882 is expected to have many terraform_state_versions inverse_of => build883 is expected to validate that :ref cannot be empty/falsy884 is expected to respond to #has_trace?885 is expected to respond to #trace886 is expected to respond to #set_cancel_gracefully887 is expected to respond to #cancel_gracefully?888 is expected to delegate #merge_request? to the #pipeline object889 is expected to delegate #merge_request_ref? to the #pipeline object890 is expected to delegate #legacy_detached_merge_request_pipeline? to the #pipeline object891 does not generate cross DB queries when a record is created via FactoryBot892 associations893 has a bidirectional relationship with projects894 callbacks895 when running after_create callback896 executes hooks897 status898 when transitioning to any state from running899 removes runner_session900 behaves like has ID tokens901 delegations902 is expected to delegate #id_tokens to the #metadata object, allowing #metadata to return nil903 #id_tokens?904 without metadata905 is expected to be falsy906 with metadata907 when ID tokens exist908 is expected to be truthy909 when ID tokens do not exist910 is expected to be falsy911 #id_tokens=912 assigns the ID tokens to the CI job913 behaves like a retryable job914 #enqueue_immediately?915 defaults to false916 #set_enqueue_immediately!917 changes #enqueue_immediately? to true918 .manual_actions919 is expected to include #<Ci::Build status: "manual", finished_at: nil, created_at: "2023-03-30 08:50:29.000000000 +0000", up...l, processed: false, scheduling_type: "stage", id: 9, stage_id: 1, partition_id: 100, tag_list: nil>920 is expected to include #<Ci::Build status: "success", finished_at: nil, created_at: "2023-03-30 08:50:29.000000000 +0000", u..., processed: false, scheduling_type: "stage", id: 11, stage_id: 1, partition_id: 100, tag_list: nil>921 is expected not to include #<Ci::Build status: "created", finished_at: nil, created_at: "2023-03-30 08:50:29.000000000 +0000", u..., processed: false, scheduling_type: "stage", id: 13, stage_id: 1, partition_id: 100, tag_list: nil>922 .ref_protected923 when protected is true924 is expected to include #<Ci::Build status: "pending", finished_at: nil, created_at: "2023-03-30 08:50:29.000000000 +0000", u..., processed: false, scheduling_type: "stage", id: 16, stage_id: 1, partition_id: 100, tag_list: nil>925 when protected is false926 is expected not to include #<Ci::Build status: "pending", finished_at: nil, created_at: "2023-03-30 08:50:29.000000000 +0000", u..., processed: false, scheduling_type: "stage", id: 17, stage_id: 1, partition_id: 100, tag_list: nil>927 when protected is nil928 is expected not to include #<Ci::Build status: "pending", finished_at: nil, created_at: "2023-03-30 08:50:29.000000000 +0000", u..., processed: false, scheduling_type: "stage", id: 18, stage_id: 1, partition_id: 100, tag_list: nil>929 .with_downloadable_artifacts930 when job does not have a downloadable artifact931 does not return the job932 when job has a accessibility artifact933 returns the job934 when job has a api_fuzzing artifact935 returns the job936 when job has a archive artifact937 returns the job938 when job has a cobertura artifact939 returns the job940 when job has a codequality artifact941 returns the job942 when job has a container_scanning artifact943 returns the job944 when job has a dast artifact945 returns the job946 when job has a dependency_scanning artifact947 returns the job948 when job has a dotenv artifact949 returns the job950 when job has a junit artifact951 returns the job952 when job has a license_scanning artifact953 returns the job954 when job has a lsif artifact955 returns the job956 when job has a metrics artifact957 returns the job958 when job has a performance artifact959 returns the job960 when job has a browser_performance artifact961 returns the job962 when job has a load_performance artifact963 returns the job964 when job has a sast artifact965 returns the job966 when job has a secret_detection artifact967 returns the job968 when job has a requirements artifact969 returns the job970 when job has a requirements_v2 artifact971 returns the job972 when job has a cluster_image_scanning artifact973 returns the job974 when job has a cyclonedx artifact975 returns the job976 when job has a non-downloadable artifact977 does not return the job978 .with_erasable_artifacts979 when job does not have any artifacts980 does not return the job981 when job has a archive artifact982 returns the job983 when job has a metadata artifact984 returns the job985 when job has a junit artifact986 returns the job987 when job has a sast artifact988 returns the job989 when job has a dependency_scanning artifact990 returns the job991 when job has a container_scanning artifact992 returns the job993 when job has a dast artifact994 returns the job995 when job has a codequality artifact996 returns the job997 when job has a license_scanning artifact998 returns the job999 when job has a performance artifact1000 returns the job1001 when job has a metrics artifact1002 returns the job1003 when job has a metrics_referee artifact1004 returns the job1005 when job has a network_referee artifact1006 returns the job1007 when job has a lsif artifact1008 returns the job1009 when job has a dotenv artifact1010 returns the job1011 when job has a cobertura artifact1012 returns the job1013 when job has a terraform artifact1014 returns the job1015 when job has a accessibility artifact1016 returns the job1017 when job has a cluster_applications artifact1018 returns the job1019 when job has a secret_detection artifact1020 returns the job1021 when job has a requirements artifact1022 returns the job1023 when job has a coverage_fuzzing artifact1024 returns the job1025 when job has a browser_performance artifact1026 returns the job1027 when job has a load_performance artifact1028 returns the job1029 when job has a api_fuzzing artifact1030 returns the job1031 when job has a cluster_image_scanning artifact1032 returns the job1033 when job has a cyclonedx artifact1034 returns the job1035 when job has a requirements_v2 artifact1036 returns the job1037 when job has a non-erasable artifact1038 does not return the job1039 .with_any_artifacts1040 when job does not have any artifacts1041 does not return the job1042 when job has a archive artifact1043 returns the job1044 when job has a metadata artifact1045 returns the job1046 when job has a trace artifact1047 returns the job1048 when job has a junit artifact1049 returns the job1050 when job has a sast artifact1051 returns the job1052 when job has a dependency_scanning artifact1053 returns the job1054 when job has a container_scanning artifact1055 returns the job1056 when job has a dast artifact1057 returns the job1058 when job has a codequality artifact1059 returns the job1060 when job has a license_scanning artifact1061 returns the job1062 when job has a performance artifact1063 returns the job1064 when job has a metrics artifact1065 returns the job1066 when job has a metrics_referee artifact1067 returns the job1068 when job has a network_referee artifact1069 returns the job1070 when job has a lsif artifact1071 returns the job1072 when job has a dotenv artifact1073 returns the job1074 when job has a cobertura artifact1075 returns the job1076 when job has a terraform artifact1077 returns the job1078 when job has a accessibility artifact1079 returns the job1080 when job has a cluster_applications artifact1081 returns the job1082 when job has a secret_detection artifact1083 returns the job1084 when job has a requirements artifact1085 returns the job1086 when job has a coverage_fuzzing artifact1087 returns the job1088 when job has a browser_performance artifact1089 returns the job1090 when job has a load_performance artifact1091 returns the job1092 when job has a api_fuzzing artifact1093 returns the job1094 when job has a cluster_image_scanning artifact1095 returns the job1096 when job has a cyclonedx artifact1097 returns the job1098 when job has a requirements_v2 artifact1099 returns the job1100 .with_live_trace1101 when build has live trace1102 selects the build1103 when build does not have live trace1104 does not select the build1105 .with_stale_live_trace1106 when build has a stale live trace1107 selects the build1108 when build does not have a stale live trace1109 does not select the build1110 .license_management_jobs1111 returns license_scanning jobs1112 returns license_management jobs1113 doesnt return filtered out jobs1114 .finished_before1115 when build has finished one day ago1116 selects the build1117 when build has finished 30 minutes ago1118 returns an empty array1119 when build is still running1120 returns an empty array1121 .with_exposed_artifacts1122 when some jobs have exposed artifacs and some not1123 selects only the jobs with exposed artifacts1124 when job does not expose artifacts1125 returns an empty array1126 .with_artifacts1127 returns artifacts matching the given scope1128 when there are multiple builds containing artifacts1129 does not execute a query for selecting job artifact one by one1130 .with_needs1131 when passing build name1132 is expected to contain exactly #<Ci::Build status: "pending", finished_at: nil, created_at: "2023-03-30 08:50:29.000000000 +0000", u... processed: false, scheduling_type: "stage", id: 138, stage_id: 1, partition_id: 100, tag_list: nil>1133 when not passing any build name1134 is expected to contain exactly #<Ci::Build status: "pending", finished_at: nil, created_at: "2023-03-30 08:50:29.000000000 +0000", u... processed: false, scheduling_type: "stage", id: 140, stage_id: 1, partition_id: 100, tag_list: nil> and #<Ci::Build status: "pending", finished_at: nil, created_at: "2023-03-30 08:50:29.000000000 +0000", u... processed: false, scheduling_type: "stage", id: 141, stage_id: 1, partition_id: 100, tag_list: nil>1135 when not matching build name1136 is expected to be empty1137 .without_needs1138 when no build_need is created1139 is expected to contain exactly #<Ci::Build status: "pending", finished_at: nil, created_at: "2023-03-30 08:50:29.000000000 +0000", u...l, processed: false, scheduling_type: "stage", id: 1, stage_id: 1, partition_id: 100, tag_list: nil>1140 when a build_need is created1141 is expected to be empty1142 #stick_build_if_status_changed1143 sticks the build if the status changed1144 #enqueue1145 build has unmet prerequisites1146 transitions to preparing1147 does not push build to the queue1148 build has no prerequisites1149 transitions to pending1150 pushes build to a queue1151 when build status transition fails1152 does not push build to a queue1153 when there is a queuing entry already present1154 does not raise an error1155 when both failure scenario happen at the same time1156 raises stale object error exception1157 #enqueue_preparing1158 build completed prerequisites1159 transitions to pending1160 build did not complete prerequisites1161 remains in preparing1162 #actionize1163 when build is a created1164 makes build a manual action1165 when build is not created1166 does not change build status1167 #run1168 when build has been just created1169 creates queuing entry and then removes it1170 when build status transition fails1171 does not remove build from a queue1172 when build has been picked by a shared runner1173 creates runtime metadata entry1174 #drop1175 when has a runtime tracking entry1176 removes runtime tracking entry1177 when a failure reason is provided1178 when a failure reason is a symbol1179 correctly sets a failure reason1180 when a failure reason is an object1181 correctly sets a failure reason1182 #outdated_deployment?1183 when build has no environment1184 is expected to be falsey1185 when project has forward deployment disabled1186 is expected to be falsey1187 when build is not an outdated deployment1188 is expected to be falsey1189 when build is older than the latest deployment and still pending status1190 is expected to be truthy1191 when build is older than the latest deployment but succeeded once1192 returns false for allowing rollback1193 #schedulable?1194 when build is schedulable1195 is expected to be truthy1196 when build is not schedulable1197 is expected to be falsy1198 #schedule1199 transits to scheduled1200 updates scheduled_at column1201 schedules BuildScheduleWorker at the right time1202 #unschedule1203 when build is scheduled1204 cleans scheduled_at column1205 transits to manual1206 when build is not scheduled1207 does not transit status1208 #options_scheduled_at1209 when start_in is 1 day1210 returns date after 1 day1211 when start_in is 1 week1212 returns date after 1 week1213 #enqueue_scheduled1214 when build is scheduled and the right time has not come yet1215 does not transits the status1216 when build is scheduled and the right time has already come1217 cleans scheduled_at column1218 transits to pending1219 build has unmet prerequisites1220 transits to preparing1221 #any_runners_online?1222 caches the result in Redis1223 when no runners1224 is expected to be falsey1225 when there is a runner1226 is expected to be truthy1227 that is inactive1228 is expected to be falsey1229 that is not online1230 is expected to be falsey1231 that cannot handle build1232 is expected to be falsey1233 #any_runners_available?1234 caches the result in Redis1235 when no runners1236 is expected to be falsey1237 when there are runners1238 is expected to be truthy1239 #artifacts?1240 when new artifacts are used1241 artifacts archive does not exist1242 is expected to be falsy1243 artifacts archive exists1244 is expected to be truthy1245 is expired1246 is expected to be falsy1247 #locked_artifacts?1248 when pipeline is artifacts_locked1249 artifacts archive does not exist1250 is expected to be falsy1251 artifacts archive exists1252 is expected to be truthy1253 when pipeline is unlocked1254 artifacts archive does not exist1255 is expected to be falsy1256 artifacts archive exists1257 is expected to be falsy1258 #available_artifacts?1259 when artifacts are not expired1260 when artifacts exist1261 is expected to be truthy1262 when artifacts do not exist1263 is expected to be falsey1264 when artifacts are expired1265 when artifacts are not locked1266 is expected to be falsey1267 when artifacts are locked1268 when artifacts exist1269 is expected to be truthy1270 when artifacts do not exist1271 is expected to be falsey1272 #browsable_artifacts?1273 artifacts metadata does exists1274 is expected to be truthy1275 #artifacts_public?1276 artifacts with defaults1277 is expected to be truthy1278 non public artifacts1279 is expected to be falsey1280 #artifacts_expired?1281 is expired1282 is expected to be truthy1283 is not expired1284 is expected to be falsey1285 #artifacts_metadata?1286 artifacts metadata does not exist1287 is expected to be falsy1288 artifacts archive is a zip file and metadata exists1289 is expected to be truthy1290 #artifacts_expire_in1291 is expected to be nil1292 when artifacts_expire_at is specified1293 is expected to be within 5 of 604799.9996371891294 #artifacts_expire_in=1295 when assigning valid duration1296 when assigning invalid duration1297 when resetting value1298 when setting to 01299 #commit1300 returns commit pipeline has been created for1301 #cache1302 when build has cache1303 when build has multiple caches1304 is expected to match [(a hash including {:key => "key-1-non_protected"}), (a hash including {:key => "key2-1-non_protected"})]1305 when pipeline is on a protected ref1306 is expected to all a hash including {:key => (a string matching /-protected$/)}1307 and the cache has the `unprotect` option1308 is expected to all a hash including {:key => (a string matching /-non_protected$/)}1309 when pipeline is not on a protected ref1310 is expected to all a hash including {:key => (a string matching /-non_protected$/)}1311 when separated caches are disabled1312 running on protected ref1313 is expected to have no type suffix1314 running on not protected ref1315 is expected to have no type suffix1316 when project has jobs_cache_index1317 is expected to be a kind of Array and all include {:key => (a string matching /^key-1-(?>protected|non_protected)/)}1318 when project does not have jobs_cache_index1319 is expected to eq [{:key=>"key-non_protected", :paths=>["public"], :policy=>"pull-push"}]1320 when build does not have cache1321 is expected to be empty1322 #triggered_by?1323 when user is owner1324 is expected to be truthy1325 when user is not owner1326 is expected to be falsy1327 #detailed_status1328 returns a detailed status1329 #update_coverage1330 regarding coverage_regex's value,1331 saves the correct extracted coverage value1332 #trace1333 is expected to be a kind of Gitlab::Ci::Trace1334 #has_trace?1335 expect to call exist? method1336 #has_live_trace?1337 is expected to be truthy1338 when build does not have live trace1339 is expected to be falsy1340 #has_archived_trace?1341 is expected to be truthy1342 when build does not have archived trace1343 is expected to be falsy1344 #has_job_artifacts?1345 when build has a job artifact1346 is expected to be truthy1347 #has_test_reports?1348 when build has a test report1349 is expected to be truthy1350 when build does not have a test report1351 is expected to be falsey1352 #hide_secrets1353 hide runners token1354 is expected to match /^new x+ data$/1355 increments trace mutation metric1356 hide build token1357 is expected to match /^new x+ data$/1358 increments trace mutation metric1359 when build does not include secrets1360 does not mutate trace1361 does not increment trace mutation metric1362 state transition metrics1363 state: :success!, report_count: 1, trait: :sast1364 when transitioning to success!1365 increments build_completed_report_type metric1366 state: :cancel!, report_count: 1, trait: :sast1367 when transitioning to cancel!1368 increments build_completed_report_type metric1369 state: :drop!, report_count: 2, trait: :multiple_report_artifacts1370 when transitioning to drop!1371 increments build_completed_report_type metric1372 state: :success!, report_count: 0, trait: :allowed_to_fail1373 when transitioning to success!1374 increments build_completed_report_type metric1375 state: :skip!, report_count: 0, trait: :pending1376 when transitioning to skip!1377 increments build_completed_report_type metric1378 state transition as a deployable1379 has deployments record with created status1380 when transits to running1381 transits deployment status to running1382 behaves like avoid deadlock1383 executes UPDATE in the right order1384 when deployment is already running state1385 does not change deployment status and tracks an error1386 when transits to success1387 transits deployment status to success1388 behaves like avoid deadlock1389 executes UPDATE in the right order1390 behaves like calling proper BuildFinishedWorker1391 calls Ci::BuildFinishedWorker1392 when transits to failed1393 transits deployment status to failed1394 behaves like avoid deadlock1395 executes UPDATE in the right order1396 behaves like calling proper BuildFinishedWorker1397 calls Ci::BuildFinishedWorker1398 when transits to skipped1399 transits deployment status to skipped1400 behaves like avoid deadlock1401 executes UPDATE in the right order1402 when transits to canceled1403 transits deployment status to canceled1404 behaves like avoid deadlock1405 executes UPDATE in the right order1406 behaves like calling proper BuildFinishedWorker1407 calls Ci::BuildFinishedWorker1408 when transits from skipped to created to running1409 during skipped to created1410 transitions to created1411 during created to running1412 transitions to running and calls webhook1413 #on_stop1414 when a job has a specification that it can be stopped from the other job1415 returns the other job name1416 when a job does not have environment information1417 returns nil1418 #environment_tier_from_options1419 is expected to eq "production"1420 when options does not include deployment_tier1421 is expected to be nil1422 #environment_tier1423 is expected to eq "production"1424 when options does not include deployment_tier1425 uses tier from environment1426 when persisted environment is absent1427 is expected to be nil1428 environment1429 #has_environment_keyword?1430 when environment is defined1431 is expected to be truthy1432 when environment is not defined1433 is expected to be falsey1434 #expanded_environment_name1435 when environment uses $CI_COMMIT_REF_NAME1436 is expected to eq "review/master"1437 when environment uses yaml_variables containing symbol keys1438 returns an expanded environment name with a list of variables1439 when build metadata has already persisted the expanded environment name1440 returns a persisted expanded environment name without a list of variables1441 when using persisted variables1442 is expected to eq "review/x"1443 when environment name uses a nested variable1444 is expected to eq "review/master"1445 #expanded_kubernetes_namespace1446 environment and namespace are not set1447 is expected to be nil1448 environment is specified1449 namespace is not set1450 is expected to be nil1451 namespace is provided1452 with a static value1453 is expected to eq "production"1454 with a dynamic value1455 is expected to eq "deploy-master"1456 #deployment_job?1457 when environment is defined1458 no action is defined1459 is expected to be truthy1460 and start action is defined1461 is expected to be truthy1462 when environment is not defined1463 is expected to be falsey1464 #stops_environment?1465 when environment is defined1466 no action is defined1467 is expected to be falsey1468 and stop action is defined1469 is expected to be truthy1470 when environment is not defined1471 is expected to be falsey1472 erasable build1473 build is not erasable1474 #erasable?1475 is expected to eq false1476 build is erasable1477 new artifacts1478 #erasable?1479 is expected to be truthy1480 #erased?1481 job has not been erased1482 is expected to be falsey1483 job has been erased1484 is expected to be truthy1485 flags1486 #cancelable?1487 when build is cancelable1488 when build is pending1489 is expected to be cancelable1490 when build is running1491 is expected to be cancelable1492 when build is created1493 is expected to be cancelable1494 when build is waiting for resource1495 is expected to be cancelable1496 when build is not cancelable1497 when build is successful1498 is expected not to be cancelable1499 when build is failed1500 is expected not to be cancelable1501 #action?1502 when is set to manual1503 is expected to be truthy1504 when is set to delayed1505 is expected to be truthy1506 when set to something else1507 is expected to be falsey1508 #runner_machine1509 is expected to eq #<Ci::RunnerMachine id: 1, runner_id: 8, executor_type: nil, created_at: "2023-03-30 11:41:30.6905972...ion: nil, platform: nil, architecture: nil, ip_address: nil, config: {}, system_xid: "r_c31e22990c">1510 #tag_list1511 when tags are preloaded1512 does not trigger queries1513 when tags are not preloaded1514 is expected to eq ["tag"]1515 #save_tags1516 saves tags1517 strips tags1518 with BulkInsertableTags.with_bulk_insert_tags1519 does not save_tags1520 #has_tags?1521 when build has tags1522 is expected to have tags1523 when build does not have tags1524 is expected not to have tags1525 build auto retry feature1526 with deployment job1527 creates a deployment when a build is dropped1528 #retries_count1529 when build has been retried several times1530 reports a correct retry count value1531 when build has not been retried1532 returns zero1533 .keep_artifacts!1534 resets expire_at1535 does not reset expire_at for other builds1536 when having artifacts files1537 resets dependent objects1538 does not reset dependent object for other builds1539 #keep_artifacts!1540 to reset expire_at1541 when having artifacts files1542 to reset dependent objects1543 #auto_retry_expected?1544 when build is failed and auto retry is configured1545 expects auto-retry to happen1546 when build failed by auto retry is not configured1547 does not expect auto-retry to happen1548 #artifact_for_type1549 is expected to eq #<Ci::JobArtifact project_id: 1, file_type: "archive", size: 107464, created_at: "2023-03-30 11:41:33..._id: 272, locked: "unknown", partition_id: 100, accessibility: "public", verification_checksum: nil>1550 #merge_request1551 on a branch pipeline1552 with no merge request1553 is expected to be nil1554 with an open merge request from the same ref name1555 without a merge request diff containing the pipeline commit1556 is expected to be nil1557 with a merge request diff containing the pipeline commit1558 is expected to eq #<MergeRequest id:3 group1/project1!2>1559 with multiple open merge requests1560 returns the first merge request1561 on a detached merged request pipeline1562 is expected to eq #<MergeRequest id:1 group1/project1!1>1563 on a legacy detached merged request pipeline1564 is expected to eq #<MergeRequest id:1 group1/project1!1>1565 on a pipeline for merged results1566 is expected to eq #<MergeRequest id:1 group1/project1!1>1567 #options1568 contains options1569 allows to access with symbolized keys1570 rejects access with string keys1571 persist data in build metadata1572 does not persist data in build1573 when options include artifacts:expose_as1574 saves the presence of expose_as into build metadata1575 #other_manual_actions1576 returns other actions1577 when build is retried1578 does not return any of them1579 #other_scheduled_actions1580 when other build's status is success1581 returns other actions1582 when other build's status is failed1583 returns other actions1584 when other build's status is running1585 does not return other actions1586 when other build's status is scheduled1587 does not return other actions1588 #persisted_environment1589 when referenced literally1590 is expected to eq #<Environment id: 25, project_id: 1, name: "foo-master", created_at: "2023-03-30 11:41:37.717608527 +...", slug: "foo-master", auto_stop_at: nil, auto_delete_at: nil, tier: "other", merge_request_id: nil>1591 when referenced with a variable1592 is expected to eq #<Environment id: 26, project_id: 1, name: "foo-master", created_at: "2023-03-30 11:41:37.794147123 +...", slug: "foo-master", auto_stop_at: nil, auto_delete_at: nil, tier: "other", merge_request_id: nil>1593 when there is no environment1594 is expected to be nil1595 when build has a stop environment1596 expands environment name1597 #play1598 enqueues the build1599 #playable?1600 when build is a manual action1601 when build has been skipped1602 is expected not to be playable1603 when build has been canceled1604 is expected to be playable1605 when build is successful1606 is expected to be playable1607 when build has failed1608 is expected to be playable1609 when build is a manual untriggered action1610 is expected to be playable1611 when build is a manual and degenerated1612 is expected not to be playable1613 when build is scheduled1614 is expected to be playable1615 when build is not a manual action1616 is expected not to be playable1617 when build is waiting for deployment approval1618 is expected not to be playable1619 project settings1620 #allow_git_fetch1621 return project allow_git_fetch configuration1622 #project1623 is expected to eq #<Project id:1 group1/project1>>1624 #project_id1625 is expected to eq 11626 #project_name1627 is expected to eq "project1"1628 #ref_slug1629 ref: "master", slug: "master"1630 transforms ref to slug1631 ref: "1-foo", slug: "1-foo"1632 transforms ref to slug1633 ref: "fix/1-foo", slug: "fix-1-foo"1634 transforms ref to slug1635 ref: "fix-1-foo", slug: "fix-1-foo"1636 transforms ref to slug1637 ref: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", slug: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"1638 transforms ref to slug1639 ref: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", slug: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"1640 transforms ref to slug1641 ref: "FOO", slug: "foo"1642 transforms ref to slug1643 ref: "-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-", slug: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"1644 transforms ref to slug1645 ref: "-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-", slug: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"1646 transforms ref to slug1647 ref: "-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-", slug: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"1648 transforms ref to slug1649 ref: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ", slug: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"1650 transforms ref to slug1651 #repo_url1652 when token is set1653 is expected to be a kind of String1654 is expected to end with ".git"1655 is expected to start with "http://"1656 is expected to include "64_1szLuE8rJjgNixrwCGqN"1657 is expected to include "gitlab-ci-token"1658 is expected to include "localhost/group1/project1"1659 when token is empty1660 is expected to be nil1661 #stuck?1662 when commit_status.status is pending1663 is expected to be truthy1664 and there is a project runner1665 is expected to be falsey1666 when commit_status.status is success1667 is expected to be falsey1668 when commit_status.status is failed1669 is expected to be falsey1670 when commit_status.status is canceled1671 is expected to be falsey1672 when commit_status.status is running1673 is expected to be falsey1674 #has_expired_locked_archive_artifacts?1675 when build does not have artifacts1676 is expected to eq nil1677 when build has artifacts1678 when artifacts are unlocked1679 is expected to eq false1680 when artifacts are locked1681 when artifacts do not expire1682 is expected to eq false1683 when artifacts expire in the future1684 is expected to eq false1685 when artifacts expired in the past1686 is expected to eq true1687 #has_expiring_archive_artifacts?1688 when artifacts have expiration date set1689 and job artifacts archive record exists1690 has expiring artifacts1691 and job artifacts archive record does not exist1692 does not have expiring artifacts1693 when artifacts do not have expiration date set1694 does not have expiring artifacts1695 #variables1696 returns variables1697 is expected to be an instance of Gitlab::Ci::Variables::Collection1698 is expected to eq [{:key=>"CI_PIPELINE_ID", :masked=>false, :public=>true, :value=>"1"}, {:key=>"CI_PIPELINE_URL", :mas...ue, :value=>"master"}, {:key=>"CI_BUILD_REF_SLUG", :masked=>false, :public=>true, :value=>"master"}]1699 excludes variables that require an environment or user1700 when CI_JOB_JWT generation fails1701 CI_JOB_JWT is not included1702 CI_JOB_JWT is not included1703 when the opt_in_jwt project setting is true1704 does not include the JWT variables1705 variables ordering1706 when variables hierarchy is stubbed1707 returns variables in order depending on resource hierarchy1708 when build has environment and user-provided variables1709 matches explicit variables ordering1710 CI_ENVIRONMENT_ACTION1711 behaves like defaults value1712 value matches start1713 when options is set1714 when options is empty1715 behaves like defaults value1716 value matches start1717 when options is nil1718 behaves like defaults value1719 value matches start1720 when options environment is specified1721 behaves like defaults value1722 value matches start1723 when options environment action specified1724 matches the specified action1725 when build has user1726 is expected to include {:key => "GITLAB_USER_NAME", :value => "Sidney Jones1", :public => true, :masked => false}1727 when build belongs to a pipeline for merge request1728 returns values based on source ref1729 when build has an environment1730 when no URL was set1731 does not have CI_ENVIRONMENT_URL1732 behaves like containing environment variables1733 is expected to include {:key => "CI_ENVIRONMENT_TIER", :value => "production", :public => true, :masked => false}1734 when an URL was set1735 when the URL was set from the job1736 behaves like containing environment variables1737 is expected to include {:key => "CI_ENVIRONMENT_URL", :value => "http://host/test", :public => true, :masked => false}1738 when variables are used in the URL, it does not expand1739 puts $CI_ENVIRONMENT_URL in the last so all other variables are available to be used when runners are trying to expand it1740 behaves like containing environment variables1741 is expected to include {:key => "CI_ENVIRONMENT_URL", :value => "http://$CI_PROJECT_NAME-$CI_ENVIRONMENT_SLUG", :public => true, :masked => false}1742 when the URL was not set from the job, but environment1743 behaves like containing environment variables1744 is expected to include {:key => "CI_ENVIRONMENT_URL", :value => "http://host/test", :public => true, :masked => false}1745 when environment_tier is updated in options1746 uses tier from options1747 when project has an environment specific variable1748 behaves like containing environment variables1749 is expected to include {:key => "CI_ENVIRONMENT_TIER", :value => "production", :public => true, :masked => false}1750 when environment scope does not match build environment1751 is expected not to include {:key => "MY_STAGING_ONLY_VARIABLE", :value => "environment_specific_variable", :public => false, :masked => false}1752 when environment scope matches build environment1753 is expected to include {:key => "MY_STAGING_ONLY_VARIABLE", :value => "environment_specific_variable", :public => false, :masked => false}1754 when build started manually1755 is expected to include {:key => "CI_JOB_MANUAL", :value => "true", :public => true, :masked => false}1756 when job variable is defined1757 is expected to include {:key => "first", :value => "first", :public => false, :masked => false}1758 when build is for branch1759 is expected to include {:key => "CI_COMMIT_BRANCH", :value => "master", :public => true, :masked => false}1760 when build is for tag1761 is expected to include {:key => "CI_COMMIT_TAG_MESSAGE", :value => "Release", :public => true, :masked => false}1762 when CI variable is defined1763 is expected to include {:key => "SECRET_KEY", :value => "secret_value", :public => false, :masked => false}1764 when protected variable is defined1765 when the branch is protected1766 is expected to include {:key => "PROTECTED_KEY", :value => "protected_value", :public => false, :masked => false}1767 when the tag is protected1768 is expected to include {:key => "PROTECTED_KEY", :value => "protected_value", :public => false, :masked => false}1769 when the ref is not protected1770 is expected not to include {:key => "PROTECTED_KEY", :value => "protected_value", :public => false, :masked => false}1771 when group CI variable is defined1772 is expected to include {:key => "SECRET_KEY", :value => "secret_value", :public => false, :masked => false}1773 when group protected variable is defined1774 when the branch is protected1775 is expected to include {:key => "PROTECTED_KEY", :value => "protected_value", :public => false, :masked => false}1776 when the tag is protected1777 is expected to include {:key => "PROTECTED_KEY", :value => "protected_value", :public => false, :masked => false}1778 when the ref is not protected1779 is expected not to include {:key => "PROTECTED_KEY", :value => "protected_value", :public => false, :masked => false}1780 when build is for triggers1781 is expected to include {:key => "CI_PIPELINE_TRIGGERED", :value => "true", :public => true, :masked => false}1782 when pipeline has a variable1783 is expected to include {:key => "VARIABLE_1", :value => "VARIABLE_VALUE", :public => false, :masked => false}1784 when a job was triggered by a pipeline schedule1785 is expected to include {:key => "SCHEDULE_VARIABLE_KEY", :value => "VARIABLE_VALUE", :public => false, :masked => false}1786 when container registry is enabled1787 and is disabled for project1788 is expected to include {:key => "CI_REGISTRY", :value => "registry.example.com", :public => true, :masked => false}1789 is expected not to include {:key => "CI_REGISTRY_IMAGE", :value => "registry.example.com/group1/project2", :public => true, :masked => false}1790 and is enabled for project1791 is expected to include {:key => "CI_REGISTRY", :value => "registry.example.com", :public => true, :masked => false}1792 is expected to include {:key => "CI_REGISTRY_IMAGE", :value => "registry.example.com/group1/project2", :public => true, :masked => false}1793 and is private for project1794 is expected to include {:key => "CI_REGISTRY", :value => "registry.example.com", :public => true, :masked => false}1795 is expected to include {:key => "CI_REGISTRY_IMAGE", :value => "registry.example.com/group1/project2", :public => true, :masked => false}1796 when runner is assigned to build1797 is expected to include {:key => "CI_RUNNER_ID", :value => "10", :public => true, :masked => false}1798 is expected to include {:key => "CI_RUNNER_DESCRIPTION", :value => "description", :public => true, :masked => false}1799 is expected to include {:key => "CI_RUNNER_TAGS", :value => "docker, linux", :public => true, :masked => false}1800 when build is for a deployment1801 is expected to include {:key => "KUBERNETES_TOKEN", :value => "TOKEN", :public => false, :masked => false}1802 when project has default CI config path1803 is expected to include {:key => "CI_CONFIG_PATH", :value => ".gitlab-ci.yml", :public => true, :masked => false}1804 when project has custom CI config path1805 is expected to include {:key => "CI_CONFIG_PATH", :value => "custom", :public => true, :masked => false}1806 when pipeline variable overrides build variable1807 overrides YAML variable using a pipeline variable1808 when build is parallelized1809 when parallel is a number1810 behaves like parallelized jobs config1811 includes CI_NODE_INDEX1812 includes correct CI_NODE_TOTAL1813 when parallel is hash with the total key1814 behaves like parallelized jobs config1815 includes CI_NODE_INDEX1816 includes correct CI_NODE_TOTAL1817 when parallel is nil1818 behaves like parallelized jobs config1819 includes CI_NODE_INDEX1820 includes correct CI_NODE_TOTAL1821 when build has not been persisted yet1822 returns static predefined variables1823 for deploy tokens1824 when gitlab-deploy-token exists for project1825 includes deploy token variables1826 when gitlab-deploy-token does not exist for project1827 does not include deploy token variables1828 when gitlab-deploy-token exists for group1829 includes deploy token variables1830 for harbor integration1831 when harbor_integration exists1832 includes harbor variables1833 when harbor_integration does not exist1834 does not include harbor variables1835 for the apple_app_store integration1836 when the apple_app_store exists1837 when a build is protected1838 includes apple_app_store variables1839 when a build is not protected1840 does not include the apple_app_store variables1841 when the apple_app_store integration does not exist1842 does not include apple_app_store variables1843 for the google_play integration1844 when the google_play integration exists1845 when a build is protected1846 includes google_play variables1847 when a build is not protected1848 does not include the google_play variable1849 when the googel_play integration does not exist1850 does not include google_play variable1851 when build has dependency which has dotenv variable1852 is expected to include {:key => "VARIABLE_1", :value => "VARIABLE_VALUE", :public => false, :masked => false}1853 when ID tokens are defined on the build1854 includes the ID token variables1855 when a NoSigningKeyError is raised1856 does not include the ID token variables1857 when a RSAError is raised1858 does not include the ID token variables1859 #scoped_variables1860 records a prometheus metric1861 delegates to the variable builders1862 behaves like calculates scoped_variables1863 when build has not been persisted yet1864 does not persist the build1865 returns static predefined variables1866 does not return prohibited variables1867 with dependency variables1868 inherits dependent variables1869 #simple_variables_without_dependencies1870 does not load dependencies1871 #any_unmet_prerequisites?1872 build has prerequisites1873 is expected to be truthy1874 build does not have prerequisites1875 is expected to be falsey1876 #yaml_variables1877 persist data in build metadata1878 does not persist data in build1879 behaves like having consistent representation1880 allows to access using symbols1881 #dependency_variables1882 when using dependencies1883 inherits only dependent variables1884 when using needs1885 inherits only needs with artifacts variables1886 state transition: any => [:preparing]1887 queues BuildPrepareWorker1888 when the build is waiting for deployment approval1889 does not allow the build to be enqueued1890 state transition: any => [:pending]1891 queues BuildQueueWorker1892 executes hooks1893 assigns the token1894 state transition: pending: :running1895 for pipeline ref existence1896 ensures pipeline ref creation1897 ensures that it is not run in database transaction1898 when runner timeout overrides project timeout1899 behaves like saves data on transition1900 saves timeout1901 saves timeout_source1902 when Ci::BuildMetadata#update_timeout_state fails update1903 doesn't save timeout1904 doesn't save timeout_source1905 when runner timeout doesn't override project timeout1906 behaves like saves data on transition1907 saves timeout1908 saves timeout_source1909 when Ci::BuildMetadata#update_timeout_state fails update1910 doesn't save timeout1911 doesn't save timeout_source1912 #has_valid_build_dependencies?1913 when "dependencies" keyword is not defined1914 is expected to have valid build dependencies1915 when "dependencies" keyword is empty1916 is expected to have valid build dependencies1917 when "dependencies" keyword is specified1918 behaves like validation is active1919 when depended job has not been completed yet1920 is expected to have valid build dependencies1921 when artifacts of depended job has been expired1922 when pipeline is not locked1923 is expected not to have valid build dependencies1924 when pipeline is locked1925 is expected to have valid build dependencies1926 when artifacts of depended job has been erased1927 is expected not to have valid build dependencies1928 state transition when build fails1929 when build is configured to be retried1930 retries build and assigns the same user to it1931 does not try to create a todo1932 when retry service raises Gitlab::Access::AccessDeniedError exception1933 handles raised exception1934 logs the error1935 fails the job1936 when build is not configured to be retried1937 does not retry build1938 does not count retries when not necessary1939 creates a todo async1940 when associated deployment failed to update its status1941 can drop the build1942 .matches_tag_ids1943 when have different tags1944 does not match a build1945 when have a subset of tags1946 does match a build1947 when build does not have tags1948 does match a build1949 when does not have a subset of tags1950 does not match a build1951 .matches_tags1952 when does have tags1953 does match a build1954 when does not have tags1955 does not match a build1956 pages deployments1957 when job is "pages"1958 when pages are enabled1959 is marked as pages generator1960 job succeeds1961 calls pages worker1962 job fails1963 does not call pages worker1964 when pages are disabled1965 is not marked as pages generator1966 job succeeds1967 does not call pages worker1968 when job is not "pages"1969 is not marked as pages generator1970 job succeeds1971 does not call pages worker1972 #has_terminal?1973 returns true if the build is running and it has a runner_session_url1974 returns false1975 when runner_session_url is empty1976 unless the build is running1977 is expected to be falsey1978 #collect_test_reports!1979 is expected to eq 01980 when build has a test report1981 when there is a JUnit test report from rspec test suite1982 parses blobs and add the results to the test suite1983 when there is a JUnit test report from java ant test suite1984 parses blobs and add the results to the test suite1985 when there is a corrupted JUnit test report1986 returns no test data and includes a suite_error message1987 #collect_accessibility_reports!1988 is expected to eq {}1989 when build has an accessibility report1990 when there is an accessibility report with errors1991 parses blobs and add the results to the accessibility report1992 when there is an accessibility report without errors1993 parses blobs and add the results to the accessibility report1994 when there is an accessibility report with an invalid url1995 parses blobs and add the results to the accessibility report1996 #collect_codequality_reports!1997 is expected to eq {}1998 when build has a codequality report1999 when there is a codequality report2000 parses blobs and add the results to the codequality report2001 when there is an codequality report without errors2002 parses blobs and add the results to the codequality report2003 #collect_terraform_reports!2004 returns an empty hash2005 when build has a terraform report2006 when there is a valid tfplan.json2007 parses blobs and add the results to the terraform report2008 when there is an invalid tfplan.json2009 adds invalid plan report2010 #each_report2011 yields job artifact blob that matches the type2012 #report_artifacts2013 when the build has reports2014 returns the artifacts with reports2015 #artifacts_metadata_entry2016 when using local storage2017 for existing file2018 does exist2019 for non-existing file2020 does not exist2021 when using remote storage2022 for existing file2023 does exist2024 for non-existing file2025 does not exist2026 #publishes_artifacts_reports?2027 when artifacts reports are defined2028 is expected to be truthy2029 when artifacts reports missing defined2030 is expected to be falsey2031 when options are missing2032 is expected to be falsey2033 #runner_required_feature_names2034 when artifacts reports are defined2035 is expected to include :upload_multiple_artifacts2036 when artifacts exclude is defined2037 is expected to include :artifacts_exclude2038 #supported_runner?2039 when `upload_multiple_artifacts` feature is required by build2040 when runner provides given feature2041 is expected to be truthy2042 when runner does not provide given feature2043 is expected to be falsey2044 when `refspecs` feature is required by build2045 when runner provides given feature2046 is expected to be truthy2047 when runner does not provide given feature2048 is expected to be falsey2049 when `multi_build_steps` feature is required by build2050 when runner provides given feature2051 is expected to be truthy2052 when runner does not provide given feature2053 is expected to be falsey2054 when `return_exit_code` feature is required by build2055 when runner provides given feature2056 is expected to be truthy2057 when runner does not provide given feature2058 is expected to be falsey2059 when the runner does not provide all of the required features2060 requires `upload_multiple_artifacts` too2061 #deployment_status2062 when build is a last deployment2063 is expected to eq :last2064 when there is a newer build with deployment2065 is expected to eq :out_of_date2066 when build with deployment has failed2067 is expected to eq :failed2068 when build with deployment is running2069 is expected to eq :creating2070 #degenerated?2071 when build is degenerated2072 is expected to be degenerated2073 when build is valid2074 is expected not to be degenerated2075 and becomes degenerated2076 is expected to be degenerated2077 degenerate!2078 drops metadata2079 #archived?2080 when build is degenerated2081 is expected to be archived2082 for old build2083 when archive_builds_in is set2084 is expected to be archived2085 when archive_builds_in is not set2086 is expected not to be archived2087 #read_metadata_attribute2088 when build and metadata options is set2089 prefers build options2090 when only metadata options is set2091 returns metadata options2092 when none is set2093 returns default value2094 #write_metadata_attribute2095 when data in build is already set2096 does set metadata options2097 does reset build options2098 #invalid_dependencies2099 when pipeline is locked2100 returns invalid dependencies when expired2101 when pipeline is not locked2102 returns no invalid dependencies when expired2103 #execute_hooks2104 with project hooks2105 calls project.execute_hooks(build_data, :job_hooks)2106 with blocked users2107 does not call project.execute_hooks2108 without project hooks2109 does not call project.execute_hooks2110 with project services2111 executes services2112 without relevant project services2113 does not execute services2114 #environment_auto_stop_in2115 when build option has environment auto_stop_in2116 is expected to eq "1 day"2117 when build option does not have environment auto_stop_in2118 is expected to be nil2119 #degradation_threshold2120 when threshold variable is defined2121 is expected to eq 52122 when threshold variable is not defined2123 is expected to be nil2124 #run_on_status_commit2125 runs provided hook after status commit2126 does not run hooks when status has not changed2127 #debug_mode?2128 when CI_DEBUG_TRACE=true is in variables2129 reflects instance variables2130 reflects group variables2131 reflects pipeline variables2132 reflects project variables2133 reflects job variables2134 when in yaml variables2135 reflects instance variables2136 reflects group variables2137 reflects pipeline variables2138 reflects project variables2139 reflects job variables2140 when in yaml variables2141 reflects instance variables2142 reflects group variables2143 reflects pipeline variables2144 reflects project variables2145 reflects job variables2146 when in yaml variables2147 when CI_DEBUG_TRACE is not in variables2148 is expected to eq false2149 when CI_DEBUG_SERVICES=true is in variables2150 reflects instance variables2151 reflects group variables2152 reflects pipeline variables2153 reflects project variables2154 reflects job variables2155 when in yaml variables2156 reflects instance variables2157 reflects group variables2158 reflects pipeline variables2159 reflects project variables2160 reflects job variables2161 when in yaml variables2162 reflects instance variables2163 reflects group variables2164 reflects pipeline variables2165 reflects project variables2166 reflects job variables2167 when in yaml variables2168 when CI_DEBUG_SERVICES is not in variables2169 is expected to eq false2170 when metadata has debug_trace_enabled true2171 is expected to eq true2172 when metadata has debug_trace_enabled false2173 is expected to eq false2174 #drop_with_exit_code!2175 when exit_codes are not defined2176 behaves like drops the build without changing allow_failure2177 does not change allow_failure2178 drops the build2179 when allow_failure_criteria is nil2180 behaves like drops the build without changing allow_failure2181 does not change allow_failure2182 drops the build2183 when exit_codes is nil2184 behaves like drops the build without changing allow_failure2185 does not change allow_failure2186 drops the build2187 when exit_codes do not match2188 behaves like drops the build without changing allow_failure2189 does not change allow_failure2190 drops the build2191 with matching exit codes2192 changes allow_failure2193 drops the build2194 when exit_code is nil2195 behaves like drops the build without changing allow_failure2196 does not change allow_failure2197 drops the build2198 when build is configured to be retried2199 when there is an MR attached to the pipeline and a failed job todo for that MR2200 resolves the todo for the old failed build2201 #exit_codes_defined?2202 without allow_failure_criteria2203 is expected to be falsey2204 when exit_codes is nil2205 is expected to be falsey2206 when exit_codes is an empty array2207 is expected to be falsey2208 when exit_codes are defined2209 is expected to be truthy2210 .build_matchers2211 when the pipeline is empty2212 does not throw errors2213 when the pipeline has builds2214 is expected to eq 22215 groups build ids2216 is expected to contain exactly [] and ["tag1", "tag2"]2217 is expected to all be falsey2218 when the builds are protected2219 is expected to all be protected2220 #build_matcher2221 is expected to eq [1012]2222 is expected to contain exactly "tag1" and "tag2"2223 is expected to eq false2224 is expected to eq #<Project id:1 group1/project1>>2225 #shared_runner_build?2226 when build does not have a runner assigned2227 is not a shared runner build2228 when build has a project runner assigned2229 is not a shared runner build2230 when build has an instance runner assigned2231 is a shared runner build2232 .with_project_and_metadata2233 does not join across databases2234 .without_coverage2235 returns builds without coverage values2236 .with_coverage_regex2237 returns builds with coverage regex values2238 #ensure_trace_metadata!2239 delegates to Ci::BuildTraceMetadata2240 #doom!2241 updates status and failure_reason2242 logs a message2243 with deployment2244 updates the deployment status2245 with queued builds2246 drops associated pending build2247 with running builds2248 drops associated runtime metadata2249 #runtime_runner_features2250 cannot cancel gracefully2251 can cancel gracefully2252 behaves like it has loose foreign keys2253 has at least one loose foreign key definition2254 has the deletion trigger present2255 records record deletions2256 cleans up record deletions2257 behaves like cleanup by a loose foreign key2258 cleans up (delete or nullify) the model2259 #clone2260 when given new job variables2261 when the cloned build has an action2262 applies the new job variables2263 when the cloned build does not have an action2264 applies the old job variables2265 when not given new job variables2266 applies the old job variables2267 #test_suite_name2268 uses the group name for test suite name2269 when build is part of parallel build2270 uses the group name for test suite name2271 when build is part of matrix build2272 uses the job name for the test suite2273 #runtime_hooks2274 returns an array of hook objects2275 partitioning2276 assigns partition_id to job variables successfully (PENDING: Skipping partitioning tests until `ci_builds` is partitioned)2277 assigning token2278 includes partition_id as a token prefix (PENDING: Skipping partitioning tests until `ci_builds` is partitioned)2279 #remove_token!2280 removes the token2281 metadata partitioning2282 creates the metadata record and assigns its partition (PENDING: Skipping partitioning tests until `ci_builds` is partitioned)2283 secrets management id_tokens usage data2284 when ID tokens are defined2285 on create2286 tracks RedisHLL event with user_id2287 tracks Snowplow event with RedisHLL context2288 on update2289 does not track RedisHLL event2290 does not track Snowplow event2291 when ID tokens are not defined2292 on create2293 does not track RedisHLL event2294 does not track Snowplow event2295 job artifact associations2296 #job_artifacts_archive2297 when job has an artifact of type archive2298 is expected to eq #<Ci::JobArtifact project_id: 1, file_type: "archive", size: nil, created_at: "2023-03-30 11:42:20.72...ob_id: 1, locked: "unknown", partition_id: 100, accessibility: "public", verification_checksum: nil>2299 when job has no artifact of type archive2300 is expected to be nil2301 #job_artifacts_metadata2302 when job has an artifact of type metadata2303 is expected to eq #<Ci::JobArtifact project_id: 1, file_type: "metadata", size: nil, created_at: "2023-03-30 11:42:20.8...ob_id: 1, locked: "unknown", partition_id: 100, accessibility: "public", verification_checksum: nil>2304 when job has no artifact of type metadata2305 is expected to be nil2306 #job_artifacts_trace2307 when job has an artifact of type trace2308 is expected to eq #<Ci::JobArtifact project_id: 1, file_type: "trace", size: nil, created_at: "2023-03-30 11:42:20.8928...ob_id: 1, locked: "unknown", partition_id: 100, accessibility: "public", verification_checksum: nil>2309 when job has no artifact of type trace2310 is expected to be nil2311 #job_artifacts_junit2312 when job has an artifact of type junit2313 is expected to eq #<Ci::JobArtifact project_id: 1, file_type: "junit", size: nil, created_at: "2023-03-30 11:42:20.9812...ob_id: 1, locked: "unknown", partition_id: 100, accessibility: "public", verification_checksum: nil>2314 when job has no artifact of type junit2315 is expected to be nil2316 #job_artifacts_sast2317 when job has an artifact of type sast2318 is expected to eq #<Ci::JobArtifact project_id: 1, file_type: "sast", size: nil, created_at: "2023-03-30 11:42:21.06632...ob_id: 1, locked: "unknown", partition_id: 100, accessibility: "public", verification_checksum: nil>2319 when job has no artifact of type sast2320 is expected to be nil2321 #job_artifacts_dependency_scanning2322 when job has an artifact of type dependency_scanning2323 is expected to eq #<Ci::JobArtifact project_id: 1, file_type: "dependency_scanning", size: nil, created_at: "2023-03-30...ob_id: 1, locked: "unknown", partition_id: 100, accessibility: "public", verification_checksum: nil>2324 when job has no artifact of type dependency_scanning2325 is expected to be nil2326 #job_artifacts_container_scanning2327 when job has an artifact of type container_scanning2328 is expected to eq #<Ci::JobArtifact project_id: 1, file_type: "container_scanning", size: nil, created_at: "2023-03-30 ...ob_id: 1, locked: "unknown", partition_id: 100, accessibility: "public", verification_checksum: nil>2329 when job has no artifact of type container_scanning2330 is expected to be nil2331 #job_artifacts_dast2332 when job has an artifact of type dast2333 is expected to eq #<Ci::JobArtifact project_id: 1, file_type: "dast", size: nil, created_at: "2023-03-30 11:42:21.31661...ob_id: 1, locked: "unknown", partition_id: 100, accessibility: "public", verification_checksum: nil>2334 when job has no artifact of type dast2335 is expected to be nil2336 #job_artifacts_codequality2337 when job has an artifact of type codequality2338 is expected to eq #<Ci::JobArtifact project_id: 1, file_type: "codequality", size: nil, created_at: "2023-03-30 11:42:2...ob_id: 1, locked: "unknown", partition_id: 100, accessibility: "public", verification_checksum: nil>2339 when job has no artifact of type codequality2340 is expected to be nil2341 #job_artifacts_license_scanning2342 when job has an artifact of type license_scanning2343 is expected to eq #<Ci::JobArtifact project_id: 1, file_type: "license_scanning", size: nil, created_at: "2023-03-30 11...ob_id: 1, locked: "unknown", partition_id: 100, accessibility: "public", verification_checksum: nil>2344 when job has no artifact of type license_scanning2345 is expected to be nil2346 #job_artifacts_performance2347 when job has an artifact of type performance2348 is expected to eq #<Ci::JobArtifact project_id: 1, file_type: "performance", size: nil, created_at: "2023-03-30 11:42:2...ob_id: 1, locked: "unknown", partition_id: 100, accessibility: "public", verification_checksum: nil>2349 when job has no artifact of type performance2350 is expected to be nil2351 #job_artifacts_metrics2352 when job has an artifact of type metrics2353 is expected to eq #<Ci::JobArtifact project_id: 1, file_type: "metrics", size: nil, created_at: "2023-03-30 11:42:21.65...ob_id: 1, locked: "unknown", partition_id: 100, accessibility: "public", verification_checksum: nil>2354 when job has no artifact of type metrics2355 is expected to be nil2356 #job_artifacts_metrics_referee2357 when job has an artifact of type metrics_referee2358 is expected to eq #<Ci::JobArtifact project_id: 1, file_type: "metrics_referee", size: nil, created_at: "2023-03-30 11:...ob_id: 1, locked: "unknown", partition_id: 100, accessibility: "public", verification_checksum: nil>2359 when job has no artifact of type metrics_referee2360 is expected to be nil2361 #job_artifacts_network_referee2362 when job has an artifact of type network_referee2363 is expected to eq #<Ci::JobArtifact project_id: 1, file_type: "network_referee", size: nil, created_at: "2023-03-30 11:...ob_id: 1, locked: "unknown", partition_id: 100, accessibility: "public", verification_checksum: nil>2364 when job has no artifact of type network_referee2365 is expected to be nil2366 #job_artifacts_lsif2367 when job has an artifact of type lsif2368 is expected to eq #<Ci::JobArtifact project_id: 1, file_type: "lsif", size: nil, created_at: "2023-03-30 11:42:21.92434...ob_id: 1, locked: "unknown", partition_id: 100, accessibility: "public", verification_checksum: nil>2369 when job has no artifact of type lsif2370 is expected to be nil2371 #job_artifacts_dotenv2372 when job has an artifact of type dotenv2373 is expected to eq #<Ci::JobArtifact project_id: 1, file_type: "dotenv", size: nil, created_at: "2023-03-30 11:42:22.012...ob_id: 1, locked: "unknown", partition_id: 100, accessibility: "public", verification_checksum: nil>2374 when job has no artifact of type dotenv2375 is expected to be nil2376 #job_artifacts_cobertura2377 when job has an artifact of type cobertura2378 is expected to eq #<Ci::JobArtifact project_id: 1, file_type: "cobertura", size: nil, created_at: "2023-03-30 11:42:22....ob_id: 1, locked: "unknown", partition_id: 100, accessibility: "public", verification_checksum: nil>2379 when job has no artifact of type cobertura2380 is expected to be nil2381 #job_artifacts_terraform2382 when job has an artifact of type terraform2383 is expected to eq #<Ci::JobArtifact project_id: 1, file_type: "terraform", size: nil, created_at: "2023-03-30 11:42:22....ob_id: 1, locked: "unknown", partition_id: 100, accessibility: "public", verification_checksum: nil>2384 when job has no artifact of type terraform2385 is expected to be nil2386 #job_artifacts_accessibility2387 when job has an artifact of type accessibility2388 is expected to eq #<Ci::JobArtifact project_id: 1, file_type: "accessibility", size: nil, created_at: "2023-03-30 11:42...ob_id: 1, locked: "unknown", partition_id: 100, accessibility: "public", verification_checksum: nil>2389 when job has no artifact of type accessibility2390 is expected to be nil2391 #job_artifacts_cluster_applications2392 when job has an artifact of type cluster_applications2393 is expected to eq #<Ci::JobArtifact project_id: 1, file_type: "cluster_applications", size: nil, created_at: "2023-03-3...ob_id: 1, locked: "unknown", partition_id: 100, accessibility: "public", verification_checksum: nil>2394 when job has no artifact of type cluster_applications2395 is expected to be nil2396 #job_artifacts_secret_detection2397 when job has an artifact of type secret_detection2398 is expected to eq #<Ci::JobArtifact project_id: 1, file_type: "secret_detection", size: nil, created_at: "2023-03-30 11...ob_id: 1, locked: "unknown", partition_id: 100, accessibility: "public", verification_checksum: nil>2399 when job has no artifact of type secret_detection2400 is expected to be nil2401 #job_artifacts_requirements2402 when job has an artifact of type requirements2403 is expected to eq #<Ci::JobArtifact project_id: 1, file_type: "requirements", size: nil, created_at: "2023-03-30 11:42:...ob_id: 1, locked: "unknown", partition_id: 100, accessibility: "public", verification_checksum: nil>2404 when job has no artifact of type requirements2405 is expected to be nil2406 #job_artifacts_coverage_fuzzing2407 when job has an artifact of type coverage_fuzzing2408 is expected to eq #<Ci::JobArtifact project_id: 1, file_type: "coverage_fuzzing", size: nil, created_at: "2023-03-30 11...ob_id: 1, locked: "unknown", partition_id: 100, accessibility: "public", verification_checksum: nil>2409 when job has no artifact of type coverage_fuzzing2410 is expected to be nil2411 #job_artifacts_browser_performance2412 when job has an artifact of type browser_performance2413 is expected to eq #<Ci::JobArtifact project_id: 1, file_type: "browser_performance", size: nil, created_at: "2023-03-30...ob_id: 1, locked: "unknown", partition_id: 100, accessibility: "public", verification_checksum: nil>2414 when job has no artifact of type browser_performance2415 is expected to be nil2416 #job_artifacts_load_performance2417 when job has an artifact of type load_performance2418 is expected to eq #<Ci::JobArtifact project_id: 1, file_type: "load_performance", size: nil, created_at: "2023-03-30 11...ob_id: 1, locked: "unknown", partition_id: 100, accessibility: "public", verification_checksum: nil>2419 when job has no artifact of type load_performance2420 is expected to be nil2421 #job_artifacts_api_fuzzing2422 when job has an artifact of type api_fuzzing2423 is expected to eq #<Ci::JobArtifact project_id: 1, file_type: "api_fuzzing", size: nil, created_at: "2023-03-30 11:42:2...ob_id: 1, locked: "unknown", partition_id: 100, accessibility: "public", verification_checksum: nil>2424 when job has no artifact of type api_fuzzing2425 is expected to be nil2426 #job_artifacts_cluster_image_scanning2427 when job has an artifact of type cluster_image_scanning2428 is expected to eq #<Ci::JobArtifact project_id: 1, file_type: "cluster_image_scanning", size: nil, created_at: "2023-03...ob_id: 1, locked: "unknown", partition_id: 100, accessibility: "public", verification_checksum: nil>2429 when job has no artifact of type cluster_image_scanning2430 is expected to be nil2431 #job_artifacts_cyclonedx2432 when job has an artifact of type cyclonedx2433 is expected to eq #<Ci::JobArtifact project_id: 1, file_type: "cyclonedx", size: nil, created_at: "2023-03-30 11:42:23....ob_id: 1, locked: "unknown", partition_id: 100, accessibility: "public", verification_checksum: nil>2434 when job has no artifact of type cyclonedx2435 is expected to be nil2436 #job_artifacts_requirements_v22437 when job has an artifact of type requirements_v22438 is expected to eq #<Ci::JobArtifact project_id: 1, file_type: "requirements_v2", size: nil, created_at: "2023-03-30 11:...ob_id: 1, locked: "unknown", partition_id: 100, accessibility: "public", verification_checksum: nil>2439 when job has no artifact of type requirements_v22440 is expected to be nil2441 token format for builds transiting into pending2442 when build is initialized without a token and transits to pending2443 generates a token2444 when build is initialized with a token and transits to pending2445 does not change the existing token2446Ci::JobArtifact2447 is expected to respond to #file2448 is expected to respond to #created_at2449 is expected to respond to #updated_at2450 is expected to delegate #open to the #file object2451 is expected to delegate #exists? to the #file object2452 Associations2453 is expected to belong to project required: false2454 is expected to belong to job class_name => Ci::Build required: false inverse_of => job_artifacts2455 is expected to validate that :job cannot be empty/falsy2456 is expected to validate that :partition_id cannot be empty/falsy2457 behaves like having unique enum values2458 has unique values in "file_format"2459 has unique values in "locked"2460 has unique values in "accessibility"2461 has unique values in "file_type"2462 has unique values in "file_location"2463 behaves like UpdateProjectStatistics2464 is expected to be a new record2465 when statistic is a counter attribute2466 when creating2467 stores pending increments for async update2468 when updating2469 stores pending increments for async update2470 avoids N + 1 queries2471 when destroying2472 stores pending increment for async update2473 when it is destroyed from the project level2474 does not store pending increments for async update2475 does not schedule a namespace statistics worker2476 after_create_commit callback2477 logs the job artifact create2478 after_destroy_commit callback2479 logs the job artifact destroy2480 .not_expired2481 returns artifacts that have not expired2482 .all_reports2483 is expected to be empty2484 when there are reports2485 is expected to contain exactly #<Ci::JobArtifact project_id: 10, file_type: "junit", size: 568, created_at: "2023-03-30 11:42:28.483..._id: 426, locked: "unknown", partition_id: 100, accessibility: "public", verification_checksum: nil> and #<Ci::JobArtifact project_id: 11, file_type: "codequality", size: 1877, created_at: "2023-03-30 11:42..._id: 427, locked: "unknown", partition_id: 100, accessibility: "public", verification_checksum: nil>2486 .of_report_type2487 test_reports2488 when there is a test report2489 is expected to eq [#<Ci::JobArtifact project_id: 12, file_type: "junit", size: 568, created_at: "2023-03-30 11:42:29.16...id: 428, locked: "unknown", partition_id: 100, accessibility: "public", verification_checksum: nil>]2490 when there are no test reports2491 is expected to be empty2492 accessibility_reports2493 when there is an accessibility report2494 is expected to eq [#<Ci::JobArtifact project_id: 14, file_type: "accessibility", size: 5977, created_at: "2023-03-30 11...id: 430, locked: "unknown", partition_id: 100, accessibility: "public", verification_checksum: nil>]2495 when there are no accessibility report2496 is expected to be empty2497 coverage_reports2498 when there is a coverage report2499 is expected to eq [#<Ci::JobArtifact project_id: 15, file_type: "cobertura", size: 576, created_at: "2023-03-30 11:42:3...id: 431, locked: "unknown", partition_id: 100, accessibility: "public", verification_checksum: nil>]2500 when there are no coverage reports2501 is expected to be empty2502 codequality_reports2503 when there is a codequality report2504 is expected to eq [#<Ci::JobArtifact project_id: 17, file_type: "codequality", size: 1877, created_at: "2023-03-30 11:4...id: 433, locked: "unknown", partition_id: 100, accessibility: "public", verification_checksum: nil>]2505 when there are no codequality reports2506 is expected to be empty2507 terraform_reports2508 when there is a terraform report2509 is expected to eq [#<Ci::JobArtifact project_id: 19, file_type: "terraform", size: 40, created_at: "2023-03-30 11:42:31...id: 435, locked: "unknown", partition_id: 100, accessibility: "public", verification_checksum: nil>]2510 when there are no terraform reports2511 is expected to be empty2512 artifacts_public?2513 when job artifact created by default2514 is expected to be truthy2515 when job artifact created as public2516 is expected to be truthy2517 when job artifact created as private2518 is expected to be falsey2519 and the non_public_artifacts feature flag is disabled2520 is expected to be truthy2521 .file_types_for_report2522 returns the report file types for the report type2523 when given an unrecognized report type2524 raises error2525 .associated_file_types_for2526 file_type: "codequality", result: ["codequality"]2527 is expected to eq ["codequality"]2528 file_type: "quality", result: nil2529 is expected to eq nil2530 .erasable_file_types2531 returns a list of erasable file types2532 .erasable2533 when there is an erasable artifact2534 is expected to eq [#<Ci::JobArtifact project_id: 25, file_type: "junit", size: 568, created_at: "2023-03-30 11:42:33.96...id: 439, locked: "unknown", partition_id: 100, accessibility: "public", verification_checksum: nil>]2535 when there are no erasable artifacts2536 is expected to be empty2537 .non_trace2538 when there is only a trace job artifact2539 is expected to be empty2540 when there is only a non-trace job artifact2541 is expected to eq [#<Ci::JobArtifact project_id: 28, file_type: "junit", size: 568, created_at: "2023-03-30 11:42:35.11...id: 442, locked: "unknown", partition_id: 100, accessibility: "public", verification_checksum: nil>]2542 when there are both trace and non-trace job artifacts2543 is expected to eq [#<Ci::JobArtifact project_id: 30, file_type: "junit", size: 568, created_at: "2023-03-30 11:42:35.83...id: 444, locked: "unknown", partition_id: 100, accessibility: "public", verification_checksum: nil>]2544 .downloadable2545 filters for downloadable artifacts2546 .archived_trace_exists_for?2547 when the specified job_id exists2548 is expected to be truthy2549 when the job does have archived trace2550 is expected to be falsy2551 when the specified job_id does not exist2552 is expected to be falsy2553 #stored?2554 when the file exists2555 is expected to be truthy2556 when the file does not exist2557 is expected to be falsy2558 .for_sha2559 returns job artifacts for a given pipeline sha2560 .for_job_name2561 returns job artifacts for a given job name2562 .unlocked2563 with locked pipelines2564 returns an empty array2565 with unlocked pipelines2566 returns the artifact2567 .order_expired_asc2568 returns ordered artifacts2569 .for_project2570 returns artifacts only for given project(s)2571 created_in_time_range2572 returns artifacts created in given time range2573 .created_at_before2574 returns artifacts2575 .id_before2576 returns artifacts2577 .id_after2578 returns artifacts2579 .ordered_by_id2580 returns artifacts in asc order2581 creating the artifact2582 sets the size from the file size2583 updating the artifact file2584 updates the artifact size2585 when updating any field except the file2586 the `after_commit` hook does not update `file_store`2587 validates file format2588 when archive type with zip format2589 is expected to be valid2590 when archive type without format specification2591 is expected not to be valid2592 when archive type with other formats2593 is expected not to be valid2594 is expected not to be valid2595 when metadata type with gzip format2596 is expected to be valid2597 when metadata type without format specification2598 is expected not to be valid2599 when metadata type with other formats2600 is expected not to be valid2601 is expected not to be valid2602 when junit type with gzip format2603 is expected to be valid2604 when junit type without format specification2605 is expected not to be valid2606 when junit type with other formats2607 is expected not to be valid2608 is expected not to be valid2609 when metrics type with gzip format2610 is expected to be valid2611 when metrics type without format specification2612 is expected not to be valid2613 when metrics type with other formats2614 is expected not to be valid2615 is expected not to be valid2616 when metrics_referee type with gzip format2617 is expected to be valid2618 when metrics_referee type without format specification2619 is expected not to be valid2620 when metrics_referee type with other formats2621 is expected not to be valid2622 is expected not to be valid2623 when network_referee type with gzip format2624 is expected to be valid2625 when network_referee type without format specification2626 is expected not to be valid2627 when network_referee type with other formats2628 is expected not to be valid2629 is expected not to be valid2630 when dotenv type with gzip format2631 is expected to be valid2632 when dotenv type without format specification2633 is expected not to be valid2634 when dotenv type with other formats2635 is expected not to be valid2636 is expected not to be valid2637 when cobertura type with gzip format2638 is expected to be valid2639 when cobertura type without format specification2640 is expected not to be valid2641 when cobertura type with other formats2642 is expected not to be valid2643 is expected not to be valid2644 when cluster_applications type with gzip format2645 is expected to be valid2646 when cluster_applications type without format specification2647 is expected not to be valid2648 when cluster_applications type with other formats2649 is expected not to be valid2650 is expected not to be valid2651 when lsif type with zip format2652 is expected to be valid2653 when lsif type without format specification2654 is expected not to be valid2655 when lsif type with other formats2656 is expected not to be valid2657 is expected not to be valid2658 when cyclonedx type with gzip format2659 is expected to be valid2660 when cyclonedx type without format specification2661 is expected not to be valid2662 when cyclonedx type with other formats2663 is expected not to be valid2664 is expected not to be valid2665 when sast type with raw format2666 is expected to be valid2667 when sast type without format specification2668 is expected not to be valid2669 when sast type with other formats2670 is expected not to be valid2671 is expected not to be valid2672 when secret_detection type with raw format2673 is expected to be valid2674 when secret_detection type without format specification2675 is expected not to be valid2676 when secret_detection type with other formats2677 is expected not to be valid2678 is expected not to be valid2679 when dependency_scanning type with raw format2680 is expected to be valid2681 when dependency_scanning type without format specification2682 is expected not to be valid2683 when dependency_scanning type with other formats2684 is expected not to be valid2685 is expected not to be valid2686 when container_scanning type with raw format2687 is expected to be valid2688 when container_scanning type without format specification2689 is expected not to be valid2690 when container_scanning type with other formats2691 is expected not to be valid2692 is expected not to be valid2693 when cluster_image_scanning type with raw format2694 is expected to be valid2695 when cluster_image_scanning type without format specification2696 is expected not to be valid2697 when cluster_image_scanning type with other formats2698 is expected not to be valid2699 is expected not to be valid2700 when dast type with raw format2701 is expected to be valid2702 when dast type without format specification2703 is expected not to be valid2704 when dast type with other formats2705 is expected not to be valid2706 is expected not to be valid2707 when license_scanning type with raw format2708 is expected to be valid2709 when license_scanning type without format specification2710 is expected not to be valid2711 when license_scanning type with other formats2712 is expected not to be valid2713 is expected not to be valid2714 when accessibility type with raw format2715 is expected to be valid2716 when accessibility type without format specification2717 is expected not to be valid2718 when accessibility type with other formats2719 is expected not to be valid2720 is expected not to be valid2721 when codequality type with raw format2722 is expected to be valid2723 when codequality type without format specification2724 is expected not to be valid2725 when codequality type with other formats2726 is expected not to be valid2727 is expected not to be valid2728 when performance type with raw format2729 is expected to be valid2730 when performance type without format specification2731 is expected not to be valid2732 when performance type with other formats2733 is expected not to be valid2734 is expected not to be valid2735 when browser_performance type with raw format2736 is expected to be valid2737 when browser_performance type without format specification2738 is expected not to be valid2739 when browser_performance type with other formats2740 is expected not to be valid2741 is expected not to be valid2742 when load_performance type with raw format2743 is expected to be valid2744 when load_performance type without format specification2745 is expected not to be valid2746 when load_performance type with other formats2747 is expected not to be valid2748 is expected not to be valid2749 when terraform type with raw format2750 is expected to be valid2751 when terraform type without format specification2752 is expected not to be valid2753 when terraform type with other formats2754 is expected not to be valid2755 is expected not to be valid2756 when requirements type with raw format2757 is expected to be valid2758 when requirements type without format specification2759 is expected not to be valid2760 when requirements type with other formats2761 is expected not to be valid2762 is expected not to be valid2763 when requirements_v2 type with raw format2764 is expected to be valid2765 when requirements_v2 type without format specification2766 is expected not to be valid2767 when requirements_v2 type with other formats2768 is expected not to be valid2769 is expected not to be valid2770 when coverage_fuzzing type with raw format2771 is expected to be valid2772 when coverage_fuzzing type without format specification2773 is expected not to be valid2774 when coverage_fuzzing type with other formats2775 is expected not to be valid2776 is expected not to be valid2777 when api_fuzzing type with raw format2778 is expected to be valid2779 when api_fuzzing type without format specification2780 is expected not to be valid2781 when api_fuzzing type with other formats2782 is expected not to be valid2783 is expected not to be valid2784 validates DEFAULT_FILE_NAMES2785 expects archive to be included2786 expects metadata to be included2787 expects trace to be included2788 expects junit to be included2789 expects sast to be included2790 expects dependency_scanning to be included2791 expects container_scanning to be included2792 expects dast to be included2793 expects codequality to be included2794 expects license_scanning to be included2795 expects performance to be included2796 expects metrics to be included2797 expects metrics_referee to be included2798 expects network_referee to be included2799 expects lsif to be included2800 expects dotenv to be included2801 expects cobertura to be included2802 expects terraform to be included2803 expects accessibility to be included2804 expects cluster_applications to be included2805 expects secret_detection to be included2806 expects requirements to be included2807 expects coverage_fuzzing to be included2808 expects browser_performance to be included2809 expects load_performance to be included2810 expects api_fuzzing to be included2811 expects cluster_image_scanning to be included2812 expects cyclonedx to be included2813 expects requirements_v2 to be included2814 validates TYPE_AND_FORMAT_PAIRS2815 expects archive to be included2816 expects metadata to be included2817 expects trace to be included2818 expects junit to be included2819 expects sast to be included2820 expects dependency_scanning to be included2821 expects container_scanning to be included2822 expects dast to be included2823 expects codequality to be included2824 expects license_scanning to be included2825 expects performance to be included2826 expects metrics to be included2827 expects metrics_referee to be included2828 expects network_referee to be included2829 expects lsif to be included2830 expects dotenv to be included2831 expects cobertura to be included2832 expects terraform to be included2833 expects accessibility to be included2834 expects cluster_applications to be included2835 expects secret_detection to be included2836 expects requirements to be included2837 expects coverage_fuzzing to be included2838 expects browser_performance to be included2839 expects load_performance to be included2840 expects api_fuzzing to be included2841 expects cluster_image_scanning to be included2842 expects cyclonedx to be included2843 expects requirements_v2 to be included2844 #file2845 the uploader api2846 is expected to respond to #store_dir2847 is expected to respond to #cache_dir2848 is expected to respond to #work_dir2849 expired?2850 when expire_at is nil2851 returns false2852 when expire_at is in the past2853 returns true2854 when expire_at is in the future2855 returns false2856 #expiring?2857 when expire_at is nil2858 returns false2859 when expire_at is in the past2860 returns false2861 when expire_at is in the future2862 returns true2863 #expire_in2864 is expected to be nil2865 when expire_at is specified2866 is expected to be within 5 of 604799.99966242867 #expire_in=2868 when assigning valid duration2869 when assigning invalid duration2870 when resetting value2871 when setting to 02872 #store_after_commit?2873 when direct upload is enabled2874 when the artifact is a trace2875 returns true2876 when the artifact is not a trace2877 returns false2878 when direct upload is disabled2879 returns false2880 file is being stored2881 when existing object has local store2882 behaves like mounted file in local store2883 is stored locally2884 when direct upload is enabled2885 when file is stored2886 behaves like mounted file in object store2887 is stored remotely2888 .file_types2889 all file types have corresponding limit2890 file_type: "archive"2891 is expected to include "ci_max_artifact_size_archive"2892 file_type: "metadata"2893 is expected to include "ci_max_artifact_size_metadata"2894 file_type: "trace"2895 is expected to include "ci_max_artifact_size_trace"2896 file_type: "junit"2897 is expected to include "ci_max_artifact_size_junit"2898 file_type: "sast"2899 is expected to include "ci_max_artifact_size_sast"2900 file_type: "dependency_scanning"2901 is expected to include "ci_max_artifact_size_dependency_scanning"2902 file_type: "container_scanning"2903 is expected to include "ci_max_artifact_size_container_scanning"2904 file_type: "dast"2905 is expected to include "ci_max_artifact_size_dast"2906 file_type: "codequality"2907 is expected to include "ci_max_artifact_size_codequality"2908 file_type: "license_scanning"2909 is expected to include "ci_max_artifact_size_license_scanning"2910 file_type: "performance"2911 is expected to include "ci_max_artifact_size_performance"2912 file_type: "metrics"2913 is expected to include "ci_max_artifact_size_metrics"2914 file_type: "metrics_referee"2915 is expected to include "ci_max_artifact_size_metrics_referee"2916 file_type: "network_referee"2917 is expected to include "ci_max_artifact_size_network_referee"2918 file_type: "lsif"2919 is expected to include "ci_max_artifact_size_lsif"2920 file_type: "dotenv"2921 is expected to include "ci_max_artifact_size_dotenv"2922 file_type: "cobertura"2923 is expected to include "ci_max_artifact_size_cobertura"2924 file_type: "terraform"2925 is expected to include "ci_max_artifact_size_terraform"2926 file_type: "accessibility"2927 is expected to include "ci_max_artifact_size_accessibility"2928 file_type: "cluster_applications"2929 is expected to include "ci_max_artifact_size_cluster_applications"2930 file_type: "secret_detection"2931 is expected to include "ci_max_artifact_size_secret_detection"2932 file_type: "requirements"2933 is expected to include "ci_max_artifact_size_requirements"2934 file_type: "coverage_fuzzing"2935 is expected to include "ci_max_artifact_size_coverage_fuzzing"2936 file_type: "browser_performance"2937 is expected to include "ci_max_artifact_size_browser_performance"2938 file_type: "load_performance"2939 is expected to include "ci_max_artifact_size_load_performance"2940 file_type: "api_fuzzing"2941 is expected to include "ci_max_artifact_size_api_fuzzing"2942 file_type: "cluster_image_scanning"2943 is expected to include "ci_max_artifact_size_cluster_image_scanning"2944 file_type: "cyclonedx"2945 is expected to include "ci_max_artifact_size_cyclonedx"2946 file_type: "requirements_v2"2947 is expected to include "ci_max_artifact_size_requirements_v2"2948 .max_artifact_size2949 when file type is supported2950 and plan limit is disabled for the given artifact type2951 behaves like basing off the project closest setting2952 is expected to eq 10737418242953 and project closest setting results to zero2954 is expected to eq 02955 and plan limit is enabled for the given artifact type2956 and plan limit is smaller than project setting2957 behaves like basing off the plan limit2958 is expected to eq 10726932482959 and plan limit is larger than project setting2960 behaves like basing off the project closest setting2961 is expected to eq 10737418242962 FastDestroyAll2963 .use_fast_destroy2964 performs cascading delete with fast_destroy_all2965 updates project statistics2966 loose foreign key on ci_job_artifacts.project_id2967 behaves like cleanup by a loose foreign key2968 cleans up (delete or nullify) the model2969 partitioning2970 copies the partition_id from job2971 when the job is missing2972 does not change the partition_id value2973 #filename2974 is expected to eq "ci_build_artifacts.zip"2975Boards::Issues::ListService2976 #execute2977 when parent is a project2978 behaves like issues list service2979 delegates search to IssuesFinder2980 #metadata2981 returns issues count for list2982 behaves like items list service2983 avoids N+12984 returns opened items when list_id and list are missing2985 returns opened items when listing items from Backlog2986 returns opened items that have label list applied when listing items from a label list2987 returns closed items when listing items from Closed sorted by closed_at in descending order2988 raises an error if the list does not belong to the board2989 raises an error if list and list id are invalid or missing2990 returns items from all lists if :all_list is used2991 returns opened items that have label list applied when using list param2992 when project is archived2993 behaves like issues list service2994 delegates search to IssuesFinder2995 #metadata2996 returns issues count for list2997 behaves like items list service2998 avoids N+12999 returns opened items when list_id and list are missing3000 returns opened items when listing items from Backlog3001 returns opened items that have label list applied when listing items from a label list3002 returns closed items when listing items from Closed sorted by closed_at in descending order3003 raises an error if the list does not belong to the board3004 raises an error if list and list id are invalid or missing3005 returns items from all lists if :all_list is used3006 returns opened items that have label list applied when using list param3007 when filtering3008 when filtering by type3009 only returns the specified type3010 when filtering by negated type3011 only returns the specified type3012 when parent is a group3013 when the group has no parent3014 behaves like issues list service3015 delegates search to IssuesFinder3016 #metadata3017 returns issues count for list3018 behaves like items list service3019 avoids N+13020 returns opened items when list_id and list are missing3021 returns opened items when listing items from Backlog3022 returns opened items that have label list applied when listing items from a label list3023 returns closed items when listing items from Closed sorted by closed_at in descending order3024 raises an error if the list does not belong to the board3025 raises an error if list and list id are invalid or missing3026 returns items from all lists if :all_list is used3027 returns opened items that have label list applied when using list param3028 when the group is an ancestor3029 behaves like issues list service3030 delegates search to IssuesFinder3031 #metadata3032 returns issues count for list3033 behaves like items list service3034 avoids N+13035 returns opened items when list_id and list are missing3036 returns opened items when listing items from Backlog3037 returns opened items that have label list applied when listing items from a label list3038 returns closed items when listing items from Closed sorted by closed_at in descending order3039 raises an error if the list does not belong to the board3040 raises an error if list and list id are invalid or missing3041 returns items from all lists if :all_list is used3042 returns opened items that have label list applied when using list param3043 .initialize_relative_positions3044 when 'Gitlab::Database::read_write?' is true3045 user cannot move issues3046 does not initialize the relative positions of issues3047 user can move issues3048 initializes the relative positions of issues3049 when 'Gitlab::Database::read_write?' is false3050 does not initialize the relative positions of issues3051Gitlab::Database::MigrationHelpers::AutomaticLockWritesOnTables3052 # order random3053 when reversing drop_table migrations3054 when single database3055main: == : migrating ===============================================================3056main: -- drop_table(:_test_gitlab_main_table)3057main: -> 0.0015s3058main: == : migrated (0.0088s) ======================================================3059main: == : migrating ===============================================================3060main: -- drop_table(:_test_gitlab_ci_table)3061main: -> 0.0019s3062main: == : migrated (0.0069s) ======================================================3063main: == : migrating ===============================================================3064main: -- drop_table(:_test_table)3065main: -> 0.0011s3066main: == : migrated (0.0062s) ======================================================3067main: == : reverting ===============================================================3068main: -- create_table(:_test_gitlab_main_table)3069main: -> 0.0039s3070main: == : reverted (0.0550s) ======================================================3071main: == : reverting ===============================================================3072main: -- create_table(:_test_gitlab_ci_table)3073main: -> 0.0026s3074main: == : reverted (0.0079s) ======================================================3075main: == : reverting ===============================================================3076main: -- create_table(:_test_table)3077main: -> 0.0022s3078main: == : reverted (0.0073s) ======================================================3079 does not lock any newly created tables3080 when multiple databases3081 for re-creating a gitlab_main table3082 behaves like does not lock writes on table3083 allows deleting records from the table (PENDING: Skipping because ci is shared or doesn't not exist)3084 behaves like locks writes on table3085 errors on deleting (PENDING: Skipping because ci is shared or doesn't not exist)3086 for re-creating a gitlab_ci table3087 behaves like does not lock writes on table3088 allows deleting records from the table (PENDING: Skipping because ci is shared or doesn't not exist)3089 behaves like locks writes on table3090 errors on deleting (PENDING: Skipping because ci is shared or doesn't not exist)3091 for re-creating a gitlab_shared table3092 behaves like does not lock writes on table3093 allows deleting records from the table (PENDING: Skipping because ci is shared or doesn't not exist)3094 behaves like does not lock writes on table3095 allows deleting records from the table (PENDING: Skipping because ci is shared or doesn't not exist)3096 when renaming a table3097 when a gitlab_main table3098 behaves like does not lock writes on table3099 allows deleting records from the table (PENDING: Skipping because ci is shared or doesn't not exist)3100 behaves like locks writes on table3101 errors on deleting (PENDING: Skipping because ci is shared or doesn't not exist)3102 when a gitlab_ci table3103 behaves like does not lock writes on table3104 allows deleting records from the table (PENDING: Skipping because ci is shared or doesn't not exist)3105 behaves like locks writes on table3106 errors on deleting (PENDING: Skipping because ci is shared or doesn't not exist)3107 when executing create_table migrations3108 when single database3109main: == : migrating ===============================================================3110main: -- create_table(:_test_gitlab_main_table)3111main: -> 0.0031s3112main: == : migrated (0.0092s) ======================================================3113main: == : migrating ===============================================================3114main: -- create_table(:_test_gitlab_ci_table)3115main: -> 0.0023s3116main: == : migrated (0.0068s) ======================================================3117main: == : migrating ===============================================================3118main: -- create_table(:_test_table)3119main: -> 0.0019s3120main: == : migrated (0.0068s) ======================================================3121 does not lock any newly created tables3122 when multiple databases3123 for creating a gitlab_main table3124 behaves like does not lock writes on table3125 allows deleting records from the table (PENDING: Skipping because ci is shared or doesn't not exist)3126 behaves like locks writes on table3127 errors on deleting (PENDING: Skipping because ci is shared or doesn't not exist)3128 when table listed as a deleted table3129 behaves like does not lock writes on table3130 allows deleting records from the table (PENDING: Skipping because ci is shared or doesn't not exist)3131 when the migration skips automatic locking of tables3132 behaves like does not lock writes on table3133 allows deleting records from the table (PENDING: Skipping because ci is shared or doesn't not exist)3134 when migration does not run within a transaction3135 behaves like locks writes on table using WithLockRetries3136 locks the writes on the table using WithLockRetries (PENDING: Skipping because ci is shared or doesn't not exist)3137 when the SKIP_AUTOMATIC_LOCK_ON_WRITES feature flag is set3138 behaves like does not lock writes on table3139 allows deleting records from the table (PENDING: Skipping because ci is shared or doesn't not exist)3140 when the automatic_lock_writes_on_table feature flag is disabled3141 behaves like does not lock writes on table3142 allows deleting records from the table (PENDING: Skipping because ci is shared or doesn't not exist)3143 for creating a gitlab_ci table3144 behaves like does not lock writes on table3145 allows deleting records from the table (PENDING: Skipping because ci is shared or doesn't not exist)3146 behaves like locks writes on table3147 errors on deleting (PENDING: Skipping because ci is shared or doesn't not exist)3148 when table listed as a deleted table3149 behaves like does not lock writes on table3150 allows deleting records from the table (PENDING: Skipping because ci is shared or doesn't not exist)3151 when the migration skips automatic locking of tables3152 behaves like does not lock writes on table3153 allows deleting records from the table (PENDING: Skipping because ci is shared or doesn't not exist)3154 when the SKIP_AUTOMATIC_LOCK_ON_WRITES feature flag is set3155 behaves like does not lock writes on table3156 allows deleting records from the table (PENDING: Skipping because ci is shared or doesn't not exist)3157 when the automatic_lock_writes_on_table feature flag is disabled3158 behaves like does not lock writes on table3159 allows deleting records from the table (PENDING: Skipping because ci is shared or doesn't not exist)3160 for creating gitlab_shared table3161 behaves like does not lock writes on table3162 allows deleting records from the table (PENDING: Skipping because ci is shared or doesn't not exist)3163 behaves like does not lock writes on table3164 allows deleting records from the table (PENDING: Skipping because ci is shared or doesn't not exist)3165 for creating a gitlab_geo table3166 behaves like does not lock writes on table3167 allows deleting records from the table (PENDING: Skipping because ci is shared or doesn't not exist)3168 for creating an unknown gitlab_schema table3169 raises an error about undefined gitlab_schema (PENDING: Skipping because ci is shared or doesn't not exist)3170Members::UpdateService3171 # order random3172 with a single member3173 returns the correct response3174 when current user is an admin3175 when all owners are being downgraded3176 behaves like a service raising Gitlab::Access::AccessDeniedError3177 raises Gitlab::Access::AccessDeniedError3178 when all blocked owners are being downgraded3179 behaves like a service raising Gitlab::Access::AccessDeniedError3180 raises Gitlab::Access::AccessDeniedError3181 behaves like current user cannot update the given members3182 behaves like a service raising Gitlab::Access::AccessDeniedError3183 raises Gitlab::Access::AccessDeniedError3184 behaves like a service raising Gitlab::Access::AccessDeniedError3185 raises Gitlab::Access::AccessDeniedError3186 behaves like updating a group3187 behaves like a service updating members3188 updates the members3189 returns success status3190 invokes after_execute with correct args3191 authorization update callback is triggered3192 does not enqueues todos for deletion3193 when members are downgraded to guest3194 with Gitlab::Access::GUEST level as a string3195 behaves like schedules to delete confidential todos3196 is expected to all equal 103197 with Gitlab::Access::GUEST level as an integer3198 behaves like schedules to delete confidential todos3199 is expected to all equal 103200 when access_level is invalid3201 raises an error3202 when members update results in no change3203 does not invoke update! and post_update3204 authorization update callback is not triggered3205 when member update results in an error3206 behaves like a service returning an error3207 behaves like returns error status when params are invalid3208 is expected to eq :error3209 when a member update results in invalid record3210 returns the error3211 rollbacks back the entire update3212 when group members expiration date is updated3213 emails the users that their group membership expiry has changed3214 behaves like updating a project3215 as a project maintainer3216 behaves like a service updating members3217 updates the members3218 returns success status3219 invokes after_execute with correct args3220 authorization update callback is triggered3221 does not enqueues todos for deletion3222 when members are downgraded to guest3223 with Gitlab::Access::GUEST level as a string3224 behaves like schedules to delete confidential todos3225 is expected to all equal 103226 with Gitlab::Access::GUEST level as an integer3227 behaves like schedules to delete confidential todos3228 is expected to all equal 103229 when access_level is invalid3230 raises an error3231 when members update results in no change3232 does not invoke update! and post_update3233 authorization update callback is not triggered3234 when member update results in an error3235 behaves like a service returning an error3236 behaves like returns error status when params are invalid3237 is expected to eq :error3238 when a member update results in invalid record3239 returns the error3240 rollbacks back the entire update3241 and updating members to OWNER3242 behaves like a service raising Gitlab::Access::AccessDeniedError3243 raises Gitlab::Access::AccessDeniedError3244 and updating themselves to OWNER3245 behaves like a service raising Gitlab::Access::AccessDeniedError3246 raises Gitlab::Access::AccessDeniedError3247 and downgrading members from OWNER3248 behaves like a service raising Gitlab::Access::AccessDeniedError3249 raises Gitlab::Access::AccessDeniedError3250 when current_user is considered an owner in the project via inheritance3251 and can update members to OWNER3252 behaves like a service updating members3253 updates the members3254 returns success status3255 invokes after_execute with correct args3256 authorization update callback is triggered3257 does not enqueues todos for deletion3258 when members are downgraded to guest3259 with Gitlab::Access::GUEST level as a string3260 behaves like schedules to delete confidential todos3261 is expected to all equal 103262 with Gitlab::Access::GUEST level as an integer3263 behaves like schedules to delete confidential todos3264 is expected to all equal 103265 when access_level is invalid3266 raises an error3267 when members update results in no change3268 does not invoke update! and post_update3269 authorization update callback is not triggered3270 and can downgrade members from OWNER3271 behaves like a service updating members3272 updates the members3273 returns success status3274 invokes after_execute with correct args3275 authorization update callback is triggered3276 does not enqueues todos for deletion3277 when members are downgraded to guest3278 with Gitlab::Access::GUEST level as a string3279 behaves like schedules to delete confidential todos3280 is expected to all equal 103281 with Gitlab::Access::GUEST level as an integer3282 behaves like schedules to delete confidential todos3283 is expected to all equal 103284 when access_level is invalid3285 raises an error3286 when members update results in no change3287 does not invoke update! and post_update3288 authorization update callback is not triggered3289MergeRequests::MergeToRefService3290 #execute3291 returns an error when Gitlab::Git::CommandError is raised during merge3292 behaves like successfully merges to ref with merge method3293 writes commit to merge ref3294 cache_merge_to_ref_calls parameter3295 when true3296 caches the response3297 when false3298 does not cache the response3299 behaves like successfully evaluates pre-condition checks3300 returns an error when the failing to process the merge3301 does not send any mail3302 does not change the MR state3303 does not create notes3304 does not delete the source branch3305 commit history comparison with regular MergeService3306 when merge commit3307 behaves like MergeService for target ref3308 target_ref has the same state of target branch3309 when merge commit with squash3310 does not squash before merging3311 behaves like successfully merges to ref with merge method3312 writes commit to merge ref3313 cache_merge_to_ref_calls parameter3314 when true3315 caches the response3316 when false3317 does not cache the response3318 merge pre-condition checks3319 when semi-linear merge method3320 behaves like successfully merges to ref with merge method3321 writes commit to merge ref3322 cache_merge_to_ref_calls parameter3323 when true3324 caches the response3325 when false3326 does not cache the response3327 behaves like successfully evaluates pre-condition checks3328 returns an error when the failing to process the merge3329 does not send any mail3330 does not change the MR state3331 does not create notes3332 does not delete the source branch3333 when fast-forward merge method3334 behaves like successfully merges to ref with merge method3335 writes commit to merge ref3336 cache_merge_to_ref_calls parameter3337 when true3338 caches the response3339 when false3340 does not cache the response3341 behaves like successfully evaluates pre-condition checks3342 returns an error when the failing to process the merge3343 does not send any mail3344 does not change the MR state3345 does not create notes3346 does not delete the source branch3347 when MR is not mergeable to ref3348 returns error3349 does not close related todos3350 is expected not to be done3351 when source is missing3352 returns error3353 when target ref is passed as a parameter3354 behaves like successfully merges to ref with merge method3355 writes commit to merge ref3356 cache_merge_to_ref_calls parameter3357 when true3358 caches the response3359 when false3360 does not cache the response3361 cascading merge refs3362 when first merge happens3363 behaves like successfully merges to ref with merge method3364 writes commit to merge ref3365 cache_merge_to_ref_calls parameter3366 when true3367 caches the response3368 when false3369 does not cache the response3370 when second merge happens3371 behaves like successfully merges to ref with merge method3372 writes commit to merge ref3373 cache_merge_to_ref_calls parameter3374 when true3375 caches the response3376 when false3377 does not cache the response3378 allow conflicts to be merged in diff3379WARNING: You're overriding a previous stub implementation of `merge_to_ref`. Called from /builds/gitlab-org/gitlab/spec/services/merge_requests/merge_to_ref_service_spec.rb:290:in `block (4 levels) in <top (required)>'.. Called from /builds/gitlab-org/gitlab/spec/services/merge_requests/merge_to_ref_service_spec.rb:290:in `block (4 levels) in <top (required)>'.3380 calls merge_to_ref with allow_conflicts param3381Users::MigrateRecordsToGhostUserService3382 # order random3383 when migrating a user's associated records to the ghost user3384 for issues3385 when deleted user is present as both author and edited_user3386 for a issue the user has created3387 does not delete the issue3388 migrates all associated fields to the "Ghost user"3389 when deleted user is present only as edited_user3390 for a issue the user has created3391 does not delete the issue3392 migrates all associated fields to the "Ghost user"3393 when deleted user is the assignee3394 migrates the issue so that it is "Unassigned"3395 for merge requests3396 when deleted user is present as both author and merge_user3397 for a merge request the user has created3398 does not delete the merge request3399 migrates all associated fields to the "Ghost user"3400 when deleted user is present only as both merge_user3401 for a merge request the user has created3402 does not delete the merge request3403 migrates all associated fields to the "Ghost user"3404 when deleted user is the assignee3405 migrates the merge request so that it is "Unassigned"3406 for notes3407 for a note the user has created3408 does not delete the note3409 migrates all associated fields to the "Ghost user"3410 for abuse reports3411 for a abuse report the user has created3412 does not delete the abuse report3413 migrates all associated fields to the "Ghost user"3414 for award emoji3415 for a award emoji the user has created3416 does not delete the award emoji3417 migrates all associated fields to the "Ghost user"3418 when the awardable already has an award emoji of the same name assigned to the ghost user3419 migrates the award emoji regardless3420 does not leave the migrated award emoji in an invalid state3421 for snippets3422 for a snippet the user has created3423 does not delete the snippet3424 migrates all associated fields to the "Ghost user"3425 for reviews3426 for a review the user has created3427 does not delete the review3428 migrates all associated fields to the "Ghost user"3429 for releases3430 for a release the user has created3431 does not delete the release3432 migrates all associated fields to the "Ghost user"3433 on post-migrate cleanups3434 destroys the user and personal namespace3435 deletes user associations in batches3436 for batched nullify3437 nullifies related associations in batches3438 nullifies associations marked as `dependent: :nullify` anddestroys the associations marked as `dependent: :destroy`, in batches3439 nullifies merge request associations3440 for snippets3441 does not include snippets when deleting in batches3442 calls the bulk snippet destroy service for the user personal snippets3443 calls the bulk snippet destroy service with hard delete option if it is present3444 does not delete project snippets that the user is the author of3445 when an error is raised deleting snippets3446 does not delete user3447 when hard_delete option is given3448 will not ghost certain records3449Git::ProcessRefChangesService3450 branch changes3451 behaves like service for processing ref changes3452 calls Git::BranchPushService3453 changes exceed push_event_hooks_limit3454 calls Git::BranchPushService with execute_project_hooks set to false3455 changes exceed push_event_activities_limit per action3456 calls Git::BranchPushService with create_push_event set to false3457 creates events per action3458 pipeline creation3459 with valid .gitlab-ci.yml3460 when git_push_create_all_pipelines is disabled3461 creates pipeline for branches and tags3462 creates exactly 4 pipelines3463 when git_push_create_all_pipelines is enabled3464 creates all pipelines3465 with invalid .gitlab-ci.yml3466 does not create a pipeline3467 housekeeping3468 does not perform housekeeping when not needed3469 increments the push counter3470 when housekeeping is needed3471 performs housekeeping3472 does not raise an exception3473 when there are merge requests associated with branches3474 schedules job for existing merge requests3475 tag changes3476 behaves like service for processing ref changes3477 calls Git::TagPushService3478 changes exceed push_event_hooks_limit3479 calls Git::TagPushService with execute_project_hooks set to false3480 changes exceed push_event_activities_limit per action3481 calls Git::TagPushService with create_push_event set to false3482 creates events per action3483 pipeline creation3484 with valid .gitlab-ci.yml3485 when git_push_create_all_pipelines is disabled3486 creates pipeline for branches and tags3487 creates exactly 4 pipelines3488 when git_push_create_all_pipelines is enabled3489 creates all pipelines3490 with invalid .gitlab-ci.yml3491 does not create a pipeline3492 housekeeping3493 does not perform housekeeping when not needed3494 increments the push counter3495 when housekeeping is needed3496 performs housekeeping3497 does not raise an exception3498Gitlab::Ci::Status::Pipeline::Factory3499 when pipeline has a core status3500 when core status is created3501 matches correct core status for created3502 does not match extended statuses3503 fabricates a core status created3504 extends core status with common pipeline methods3505 when core status is waiting_for_resource3506 matches correct core status for waiting_for_resource3507 does not match extended statuses3508 fabricates a core status waiting_for_resource3509 extends core status with common pipeline methods3510 when core status is preparing3511 matches correct core status for preparing3512 does not match extended statuses3513 fabricates a core status preparing3514 extends core status with common pipeline methods3515 when core status is pending3516 matches correct core status for pending3517 does not match extended statuses3518 fabricates a core status pending3519 extends core status with common pipeline methods3520 when core status is running3521 matches correct core status for running3522 does not match extended statuses3523 fabricates a core status running3524 extends core status with common pipeline methods3525 when core status is success3526 matches correct core status for success3527 does not match extended statuses3528 fabricates a core status success3529 extends core status with common pipeline methods3530 when core status is failed3531 matches correct core status for failed3532 does not match extended statuses3533 fabricates a core status failed3534 extends core status with common pipeline methods3535 when core status is canceled3536 matches correct core status for canceled3537 does not match extended statuses3538 fabricates a core status canceled3539 extends core status with common pipeline methods3540 when core status is skipped3541 matches correct core status for skipped3542 does not match extended statuses3543 fabricates a core status skipped3544 extends core status with common pipeline methods3545 when core status is manual3546 matches manual core status3547 matches a correct extended statuses3548 extends core status with common pipeline methods3549 when core status is scheduled3550 matches scheduled core status3551 matches a correct extended statuses3552 extends core status with common pipeline methods3553 when pipeline has warnings3554 matches correct core status3555 matches correct extended statuses3556 fabricates extended "success with warnings" status3557 extends core status with common pipeline method3558Banzai::ColorParser3559 .parse3560 HEX format3561 parses the valid hex color #abc3562 parses the valid hex color #ABC3563 parses the valid hex color #d2d2d23564 parses the valid hex color #D2D2D23565 parses the valid hex color #123a3566 parses the valid hex color #123A3567 parses the valid hex color #123456aa3568 parses the valid hex color #123456AA3569 does not parse the invalid hex color #3570 does not parse the invalid hex color #13571 does not parse the invalid hex color #123572 does not parse the invalid hex color #12g3573 does not parse the invalid hex color #12G3574 does not parse the invalid hex color #123453575 does not parse the invalid hex color #r2r2r23576 does not parse the invalid hex color #R2R2R23577 does not parse the invalid hex color #12345673578 does not parse the invalid hex color # 1233579 does not parse the invalid hex color # 12343580 does not parse the invalid hex color # 1234563581 does not parse the invalid hex color # 123456783582 does not parse the invalid hex color #1 2 33583 does not parse the invalid hex color #123 43584 does not parse the invalid hex color #12 34 563585 does not parse the invalid hex color #123456 783586 RGB format3587 parses the valid rgb color rgb(0,0,0)3588 parses the valid rgb color rgb(255,255,255)3589 parses the valid rgb color rgb(0, 0, 0)3590 parses the valid rgb color RGB(0,0,0)3591 parses the valid rgb color rgb(0,0,0,0)3592 parses the valid rgb color rgb(0,0,0,0.0)3593 parses the valid rgb color rgb(0,0,0,.0)3594 parses the valid rgb color rgb(0,0,0, 0)3595 parses the valid rgb color rgb(0,0,0, 0.0)3596 parses the valid rgb color rgb(0,0,0, .0)3597 parses the valid rgb color rgb(0,0,0,1)3598 parses the valid rgb color rgb(0,0,0,1.0)3599 parses the valid rgb color rgba(0,0,0)3600 parses the valid rgb color rgba(0,0,0,0)3601 parses the valid rgb color RGBA(0,0,0)3602 parses the valid rgb color rgb(0%,0%,0%)3603 parses the valid rgb color rgba(0%,0%,0%,0%)3604 does not parse the invalid rgb color FOOrgb(0,0,0)3605 does not parse the invalid rgb color rgb(0,0,0)BAR3606 does not parse the invalid rgb color rgb(0,0,-1)3607 does not parse the invalid rgb color rgb(0,0,-0)3608 does not parse the invalid rgb color rgb(0,0,256)3609 does not parse the invalid rgb color rgb(0,0,0,-0.1)3610 does not parse the invalid rgb color rgb(0,0,0,-0.0)3611 does not parse the invalid rgb color rgb(0,0,0,-.1)3612 does not parse the invalid rgb color rgb(0,0,0,1.1)3613 does not parse the invalid rgb color rgb(0,0,0,2)3614 does not parse the invalid rgb color rgba(0,0,0,)3615 does not parse the invalid rgb color rgba(0,0,0,0.)3616 does not parse the invalid rgb color rgba(0,0,0,1.)3617 does not parse the invalid rgb color rgb(0,0,0%)3618 does not parse the invalid rgb color rgb(101%,0%,0%)3619 HSL format3620 parses the valid hsl color hsl(0,0%,0%)3621 parses the valid hsl color hsl(0,100%,100%)3622 parses the valid hsl color hsl(540,0%,0%)3623 parses the valid hsl color hsl(-720,0%,0%)3624 parses the valid hsl color hsl(0deg,0%,0%)3625 parses the valid hsl color hsl(0DEG,0%,0%)3626 parses the valid hsl color hsl(0, 0%, 0%)3627 parses the valid hsl color HSL(0,0%,0%)3628 parses the valid hsl color hsl(0,0%,0%,0)3629 parses the valid hsl color hsl(0,0%,0%,0.0)3630 parses the valid hsl color hsl(0,0%,0%,.0)3631 parses the valid hsl color hsl(0,0%,0%, 0)3632 parses the valid hsl color hsl(0,0%,0%, 0.0)3633 parses the valid hsl color hsl(0,0%,0%, .0)3634 parses the valid hsl color hsl(0,0%,0%,1)3635 parses the valid hsl color hsl(0,0%,0%,1.0)3636 parses the valid hsl color hsla(0,0%,0%)3637 parses the valid hsl color hsla(0,0%,0%,0)3638 parses the valid hsl color HSLA(0,0%,0%)3639 parses the valid hsl color hsl(1rad,0%,0%)3640 parses the valid hsl color hsl(1.1rad,0%,0%)3641 parses the valid hsl color hsl(.1rad,0%,0%)3642 parses the valid hsl color hsl(-1rad,0%,0%)3643 parses the valid hsl color hsl(1RAD,0%,0%)3644 does not parse the invalid hsl color hsl(+0,0%,0%)3645 does not parse the invalid hsl color hsl(0,0,0%)3646 does not parse the invalid hsl color hsl(0,0%,0)3647 does not parse the invalid hsl color hsl(0 deg,0%,0%)3648 does not parse the invalid hsl color hsl(0,-0%,0%)3649 does not parse the invalid hsl color hsl(0,101%,0%)3650 does not parse the invalid hsl color hsl(0,-1%,0%)3651 does not parse the invalid hsl color hsl(0,0%,0%,-0.1)3652 does not parse the invalid hsl color hsl(0,0%,0%,-.1)3653 does not parse the invalid hsl color hsl(0,0%,0%,1.1)3654 does not parse the invalid hsl color hsl(0,0%,0%,2)3655 does not parse the invalid hsl color hsl(0,0%,0%,)3656 does not parse the invalid hsl color hsl(0,0%,0%,0.)3657 does not parse the invalid hsl color hsl(0,0%,0%,1.)3658 does not parse the invalid hsl color hsl(deg,0%,0%)3659 does not parse the invalid hsl color hsl(rad,0%,0%)3660Ci::JobArtifacts::DestroyAllExpiredService3661 .execute3662 when artifact is expired3663 with preloaded relationships3664 performs a consistent number of queries3665 when artifact is not locked3666 deletes job artifact record3667 when the artifact does not have a file attached to it3668 does not create deleted objects3669 when the artifact has a file attached to it3670 creates a deleted object3671 resets project statistics3672 does not remove the files3673 when the project in which the arfifact belongs to is undergoing stats refresh3674 does not destroy job artifact3675 when artifact is locked3676 does not destroy job artifact3677 when artifact is not expired3678 does not destroy expired job artifacts3679 when artifact is permanent3680 does not destroy expired job artifacts3681 when failed to destroy artifact3682 when the import fails3683 raises an exception and stop destroying3684 when the delete fails3685 raises an exception rolls back the insert3686 when exclusive lease has already been taken by the other instance3687 raises an error and does not start destroying3688 with a second artifact and batch size of 13689 when timeout happens3690 destroys one artifact3691 reports the number of destroyed artifacts3692 when loop reached loop limit3693 destroys one artifact3694 reports the number of destroyed artifacts3695 when the number of artifacts is greater than than batch size3696 destroys all expired artifacts3697 reports the number of destroyed artifacts3698 when there are no artifacts3699 does not raise error3700 reports the number of destroyed artifacts3701 when some artifacts are locked3702 destroys only unlocked artifacts3703 when some artifacts are trace3704 destroys only non trace artifacts3705 when all artifacts are locked3706 destroys no artifacts3707Packages::Nuget::SearchService3708 #execute3709 with project3710 behaves like handling all the conditions3711 is expected to contain exactly #<Packages::Package id: 1, project_id: 435, created_at: "2023-03-30 11:48:28.711652000 +0000", update...ersion: "1.0.1", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 2, project_id: 435, created_at: "2023-03-30 11:48:28.757649862 +0000", update...ersion: "1.0.2", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 3, project_id: 435, created_at: "2023-03-30 11:48:28.776108401 +0000", update...ersion: "1.0.3", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 4, project_id: 435, created_at: "2023-03-30 11:48:28.794865771 +0000", update...ersion: "1.0.4", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 5, project_id: 435, created_at: "2023-03-30 11:48:28.814515911 +0000", update...ersion: "1.0.5", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 6, project_id: 435, created_at: "2023-03-30 11:48:28.837922191 +0000", update...ersion: "1.0.6", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 7, project_id: 435, created_at: "2023-03-30 11:48:28.856534101 +0000", update...ersion: "1.0.7", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 8, project_id: 435, created_at: "2023-03-30 11:48:28.875244150 +0000", update...ersion: "1.0.8", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 9, project_id: 435, created_at: "2023-03-30 11:48:28.953530560 +0000", update...ersion: "1.0.9", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 10, project_id: 435, created_at: "2023-03-30 11:48:28.971113610 +0000", updat...rsion: "1.0.10", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, and #<Packages::Package id: 11, project_id: 435, created_at: "2023-03-30 11:48:28.988945110 +0000", updat...rsion: "1.0.11", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>3712 with a smaller per page count3713 is expected to contain exactly #<Packages::Package id: 1, project_id: 435, created_at: "2023-03-30 11:48:28.711652000 +0000", update...ersion: "1.0.1", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 2, project_id: 435, created_at: "2023-03-30 11:48:28.757649862 +0000", update...ersion: "1.0.2", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 3, project_id: 435, created_at: "2023-03-30 11:48:28.776108401 +0000", update...ersion: "1.0.3", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 4, project_id: 435, created_at: "2023-03-30 11:48:28.794865771 +0000", update...ersion: "1.0.4", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 5, project_id: 435, created_at: "2023-03-30 11:48:28.814515911 +0000", update...ersion: "1.0.5", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, and #<Packages::Package id: 6, project_id: 435, created_at: "2023-03-30 11:48:28.837922191 +0000", update...ersion: "1.0.6", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>3714 with 0 per page count3715 is expected to contain exactly3716 with a negative per page count3717 is expected to raise ArgumentError with "negative per_page"3718 with a padding3719 is expected to contain exactly #<Packages::Package id: 7, project_id: 435, created_at: "2023-03-30 11:48:28.856534101 +0000", update...ersion: "1.0.7", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 8, project_id: 435, created_at: "2023-03-30 11:48:28.875244150 +0000", update...ersion: "1.0.8", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 9, project_id: 435, created_at: "2023-03-30 11:48:28.953530560 +0000", update...ersion: "1.0.9", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 10, project_id: 435, created_at: "2023-03-30 11:48:28.971113610 +0000", updat...rsion: "1.0.10", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, and #<Packages::Package id: 11, project_id: 435, created_at: "2023-03-30 11:48:28.988945110 +0000", updat...rsion: "1.0.11", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>3720 with a too big padding3721 is expected to contain exactly3722 with a negative padding3723 is expected to raise ArgumentError with "negative padding"3724 with search term3725 is expected to contain exactly #<Packages::Package id: 1, project_id: 435, created_at: "2023-03-30 11:48:28.711652000 +0000", update...ersion: "1.0.1", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 2, project_id: 435, created_at: "2023-03-30 11:48:28.757649862 +0000", update...ersion: "1.0.2", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 3, project_id: 435, created_at: "2023-03-30 11:48:28.776108401 +0000", update...ersion: "1.0.3", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 4, project_id: 435, created_at: "2023-03-30 11:48:28.794865771 +0000", update...ersion: "1.0.4", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 5, project_id: 435, created_at: "2023-03-30 11:48:28.814515911 +0000", update...ersion: "1.0.5", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 6, project_id: 435, created_at: "2023-03-30 11:48:28.837922191 +0000", update...ersion: "1.0.6", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 7, project_id: 435, created_at: "2023-03-30 11:48:28.856534101 +0000", update...ersion: "1.0.7", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 8, project_id: 435, created_at: "2023-03-30 11:48:28.875244150 +0000", update...ersion: "1.0.8", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 9, project_id: 435, created_at: "2023-03-30 11:48:28.953530560 +0000", update...ersion: "1.0.9", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 10, project_id: 435, created_at: "2023-03-30 11:48:28.971113610 +0000", updat...rsion: "1.0.10", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, and #<Packages::Package id: 11, project_id: 435, created_at: "2023-03-30 11:48:28.988945110 +0000", updat...rsion: "1.0.11", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>3726 with nil search term3727 is expected to contain exactly #<Packages::Package id: 1, project_id: 435, created_at: "2023-03-30 11:48:28.711652000 +0000", update...ersion: "1.0.1", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 2, project_id: 435, created_at: "2023-03-30 11:48:28.757649862 +0000", update...ersion: "1.0.2", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 3, project_id: 435, created_at: "2023-03-30 11:48:28.776108401 +0000", update...ersion: "1.0.3", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 4, project_id: 435, created_at: "2023-03-30 11:48:28.794865771 +0000", update...ersion: "1.0.4", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 5, project_id: 435, created_at: "2023-03-30 11:48:28.814515911 +0000", update...ersion: "1.0.5", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 6, project_id: 435, created_at: "2023-03-30 11:48:28.837922191 +0000", update...ersion: "1.0.6", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 7, project_id: 435, created_at: "2023-03-30 11:48:28.856534101 +0000", update...ersion: "1.0.7", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 8, project_id: 435, created_at: "2023-03-30 11:48:28.875244150 +0000", update...ersion: "1.0.8", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 9, project_id: 435, created_at: "2023-03-30 11:48:28.953530560 +0000", update...ersion: "1.0.9", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 10, project_id: 435, created_at: "2023-03-30 11:48:28.971113610 +0000", updat...rsion: "1.0.10", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 11, project_id: 435, created_at: "2023-03-30 11:48:28.988945110 +0000", updat...rsion: "1.0.11", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, and #<Packages::Package id: 12, project_id: 435, created_at: "2023-03-30 11:48:29.008293080 +0000", updat...rsion: "1.0.12", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>3728 with empty search term3729 is expected to contain exactly #<Packages::Package id: 1, project_id: 435, created_at: "2023-03-30 11:48:28.711652000 +0000", update...ersion: "1.0.1", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 2, project_id: 435, created_at: "2023-03-30 11:48:28.757649862 +0000", update...ersion: "1.0.2", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 3, project_id: 435, created_at: "2023-03-30 11:48:28.776108401 +0000", update...ersion: "1.0.3", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 4, project_id: 435, created_at: "2023-03-30 11:48:28.794865771 +0000", update...ersion: "1.0.4", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 5, project_id: 435, created_at: "2023-03-30 11:48:28.814515911 +0000", update...ersion: "1.0.5", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 6, project_id: 435, created_at: "2023-03-30 11:48:28.837922191 +0000", update...ersion: "1.0.6", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 7, project_id: 435, created_at: "2023-03-30 11:48:28.856534101 +0000", update...ersion: "1.0.7", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 8, project_id: 435, created_at: "2023-03-30 11:48:28.875244150 +0000", update...ersion: "1.0.8", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 9, project_id: 435, created_at: "2023-03-30 11:48:28.953530560 +0000", update...ersion: "1.0.9", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 10, project_id: 435, created_at: "2023-03-30 11:48:28.971113610 +0000", updat...rsion: "1.0.10", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 11, project_id: 435, created_at: "2023-03-30 11:48:28.988945110 +0000", updat...rsion: "1.0.11", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, and #<Packages::Package id: 12, project_id: 435, created_at: "2023-03-30 11:48:29.008293080 +0000", updat...rsion: "1.0.12", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>3730 with non-displayable packages3731 is expected to contain exactly #<Packages::Package id: 2, project_id: 435, created_at: "2023-03-30 11:48:28.757649862 +0000", update...ersion: "1.0.2", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 3, project_id: 435, created_at: "2023-03-30 11:48:28.776108401 +0000", update...ersion: "1.0.3", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 4, project_id: 435, created_at: "2023-03-30 11:48:28.794865771 +0000", update...ersion: "1.0.4", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 5, project_id: 435, created_at: "2023-03-30 11:48:28.814515911 +0000", update...ersion: "1.0.5", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 6, project_id: 435, created_at: "2023-03-30 11:48:28.837922191 +0000", update...ersion: "1.0.6", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 7, project_id: 435, created_at: "2023-03-30 11:48:28.856534101 +0000", update...ersion: "1.0.7", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 8, project_id: 435, created_at: "2023-03-30 11:48:28.875244150 +0000", update...ersion: "1.0.8", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 9, project_id: 435, created_at: "2023-03-30 11:48:28.953530560 +0000", update...ersion: "1.0.9", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 10, project_id: 435, created_at: "2023-03-30 11:48:28.971113610 +0000", updat...rsion: "1.0.10", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 11, project_id: 435, created_at: "2023-03-30 11:48:28.988945110 +0000", updat...rsion: "1.0.11", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, and #<Packages::Package id: 12, project_id: 435, created_at: "2023-03-30 11:48:29.008293080 +0000", updat...rsion: "1.0.12", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>3732 with prefix search term3733 is expected to contain exactly #<Packages::Package id: 1, project_id: 435, created_at: "2023-03-30 11:48:28.711652000 +0000", update...ersion: "1.0.1", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 2, project_id: 435, created_at: "2023-03-30 11:48:28.757649862 +0000", update...ersion: "1.0.2", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 3, project_id: 435, created_at: "2023-03-30 11:48:28.776108401 +0000", update...ersion: "1.0.3", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 4, project_id: 435, created_at: "2023-03-30 11:48:28.794865771 +0000", update...ersion: "1.0.4", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 5, project_id: 435, created_at: "2023-03-30 11:48:28.814515911 +0000", update...ersion: "1.0.5", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 6, project_id: 435, created_at: "2023-03-30 11:48:28.837922191 +0000", update...ersion: "1.0.6", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 7, project_id: 435, created_at: "2023-03-30 11:48:28.856534101 +0000", update...ersion: "1.0.7", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 8, project_id: 435, created_at: "2023-03-30 11:48:28.875244150 +0000", update...ersion: "1.0.8", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 9, project_id: 435, created_at: "2023-03-30 11:48:28.953530560 +0000", update...ersion: "1.0.9", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 10, project_id: 435, created_at: "2023-03-30 11:48:28.971113610 +0000", updat...rsion: "1.0.10", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, and #<Packages::Package id: 11, project_id: 435, created_at: "2023-03-30 11:48:28.988945110 +0000", updat...rsion: "1.0.11", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>3734 with suffix search term3735 is expected to contain exactly #<Packages::Package id: 7, project_id: 435, created_at: "2023-03-30 11:48:28.856534101 +0000", update...ersion: "1.0.7", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 8, project_id: 435, created_at: "2023-03-30 11:48:28.875244150 +0000", update...ersion: "1.0.8", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 9, project_id: 435, created_at: "2023-03-30 11:48:28.953530560 +0000", update...ersion: "1.0.9", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 10, project_id: 435, created_at: "2023-03-30 11:48:28.971113610 +0000", updat...rsion: "1.0.10", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, and #<Packages::Package id: 11, project_id: 435, created_at: "2023-03-30 11:48:28.988945110 +0000", updat...rsion: "1.0.11", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>3736 with pre release packages3737 including them3738 is expected to contain exactly #<Packages::Package id: 1, project_id: 435, created_at: "2023-03-30 11:48:28.711652000 +0000", update...ersion: "1.0.1", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 2, project_id: 435, created_at: "2023-03-30 11:48:28.757649862 +0000", update...ersion: "1.0.2", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 3, project_id: 435, created_at: "2023-03-30 11:48:28.776108401 +0000", update...ersion: "1.0.3", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 4, project_id: 435, created_at: "2023-03-30 11:48:28.794865771 +0000", update...ersion: "1.0.4", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 5, project_id: 435, created_at: "2023-03-30 11:48:28.814515911 +0000", update...ersion: "1.0.5", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 6, project_id: 435, created_at: "2023-03-30 11:48:28.837922191 +0000", update...ersion: "1.0.6", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 7, project_id: 435, created_at: "2023-03-30 11:48:28.856534101 +0000", update...ersion: "1.0.7", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 8, project_id: 435, created_at: "2023-03-30 11:48:28.875244150 +0000", update...ersion: "1.0.8", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 9, project_id: 435, created_at: "2023-03-30 11:48:28.953530560 +0000", update...ersion: "1.0.9", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 10, project_id: 435, created_at: "2023-03-30 11:48:28.971113610 +0000", updat...rsion: "1.0.10", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 11, project_id: 435, created_at: "2023-03-30 11:48:28.988945110 +0000", updat...rsion: "1.0.11", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, and #<Packages::Package id: 15, project_id: 435, created_at: "2023-03-30 11:48:31.574447651 +0000", updat...: "3.2.1-alpha", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>3739 excluding them3740 is expected to contain exactly #<Packages::Package id: 1, project_id: 435, created_at: "2023-03-30 11:48:28.711652000 +0000", update...ersion: "1.0.1", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 2, project_id: 435, created_at: "2023-03-30 11:48:28.757649862 +0000", update...ersion: "1.0.2", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 3, project_id: 435, created_at: "2023-03-30 11:48:28.776108401 +0000", update...ersion: "1.0.3", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 4, project_id: 435, created_at: "2023-03-30 11:48:28.794865771 +0000", update...ersion: "1.0.4", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 5, project_id: 435, created_at: "2023-03-30 11:48:28.814515911 +0000", update...ersion: "1.0.5", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 6, project_id: 435, created_at: "2023-03-30 11:48:28.837922191 +0000", update...ersion: "1.0.6", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 7, project_id: 435, created_at: "2023-03-30 11:48:28.856534101 +0000", update...ersion: "1.0.7", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 8, project_id: 435, created_at: "2023-03-30 11:48:28.875244150 +0000", update...ersion: "1.0.8", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 9, project_id: 435, created_at: "2023-03-30 11:48:28.953530560 +0000", update...ersion: "1.0.9", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 10, project_id: 435, created_at: "2023-03-30 11:48:28.971113610 +0000", updat...rsion: "1.0.10", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, and #<Packages::Package id: 11, project_id: 435, created_at: "2023-03-30 11:48:28.988945110 +0000", updat...rsion: "1.0.11", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>3741 when mixed with release versions3742 is expected to contain exactly #<Packages::Package id: 1, project_id: 435, created_at: "2023-03-30 11:48:28.711652000 +0000", update...ersion: "1.0.1", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 2, project_id: 435, created_at: "2023-03-30 11:48:28.757649862 +0000", update...ersion: "1.0.2", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 3, project_id: 435, created_at: "2023-03-30 11:48:28.776108401 +0000", update...ersion: "1.0.3", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 4, project_id: 435, created_at: "2023-03-30 11:48:28.794865771 +0000", update...ersion: "1.0.4", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 5, project_id: 435, created_at: "2023-03-30 11:48:28.814515911 +0000", update...ersion: "1.0.5", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 6, project_id: 435, created_at: "2023-03-30 11:48:28.837922191 +0000", update...ersion: "1.0.6", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 7, project_id: 435, created_at: "2023-03-30 11:48:28.856534101 +0000", update...ersion: "1.0.7", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 8, project_id: 435, created_at: "2023-03-30 11:48:28.875244150 +0000", update...ersion: "1.0.8", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 9, project_id: 435, created_at: "2023-03-30 11:48:28.953530560 +0000", update...ersion: "1.0.9", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 10, project_id: 435, created_at: "2023-03-30 11:48:28.971113610 +0000", updat...rsion: "1.0.10", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 11, project_id: 435, created_at: "2023-03-30 11:48:28.988945110 +0000", updat...rsion: "1.0.11", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, and #<Packages::Package id: 16, project_id: 435, created_at: "2023-03-30 11:48:31.898650188 +0000", updat...ersion: "3.2.1", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>3743 with subgroup3744 behaves like handling all the conditions3745 is expected to contain exactly #<Packages::Package id: 1, project_id: 435, created_at: "2023-03-30 11:48:28.711652000 +0000", update...ersion: "1.0.1", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 2, project_id: 435, created_at: "2023-03-30 11:48:28.757649862 +0000", update...ersion: "1.0.2", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 3, project_id: 435, created_at: "2023-03-30 11:48:28.776108401 +0000", update...ersion: "1.0.3", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 4, project_id: 435, created_at: "2023-03-30 11:48:28.794865771 +0000", update...ersion: "1.0.4", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 5, project_id: 435, created_at: "2023-03-30 11:48:28.814515911 +0000", update...ersion: "1.0.5", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 6, project_id: 435, created_at: "2023-03-30 11:48:28.837922191 +0000", update...ersion: "1.0.6", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 7, project_id: 435, created_at: "2023-03-30 11:48:28.856534101 +0000", update...ersion: "1.0.7", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 8, project_id: 435, created_at: "2023-03-30 11:48:28.875244150 +0000", update...ersion: "1.0.8", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 9, project_id: 435, created_at: "2023-03-30 11:48:28.953530560 +0000", update...ersion: "1.0.9", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 10, project_id: 435, created_at: "2023-03-30 11:48:28.971113610 +0000", updat...rsion: "1.0.10", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, and #<Packages::Package id: 11, project_id: 435, created_at: "2023-03-30 11:48:28.988945110 +0000", updat...rsion: "1.0.11", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>3746 with a smaller per page count3747 is expected to contain exactly #<Packages::Package id: 1, project_id: 435, created_at: "2023-03-30 11:48:28.711652000 +0000", update...ersion: "1.0.1", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 2, project_id: 435, created_at: "2023-03-30 11:48:28.757649862 +0000", update...ersion: "1.0.2", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 3, project_id: 435, created_at: "2023-03-30 11:48:28.776108401 +0000", update...ersion: "1.0.3", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 4, project_id: 435, created_at: "2023-03-30 11:48:28.794865771 +0000", update...ersion: "1.0.4", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 5, project_id: 435, created_at: "2023-03-30 11:48:28.814515911 +0000", update...ersion: "1.0.5", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, and #<Packages::Package id: 6, project_id: 435, created_at: "2023-03-30 11:48:28.837922191 +0000", update...ersion: "1.0.6", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>3748 with 0 per page count3749 is expected to contain exactly3750 with a negative per page count3751 is expected to raise ArgumentError with "negative per_page"3752 with a padding3753 is expected to contain exactly #<Packages::Package id: 7, project_id: 435, created_at: "2023-03-30 11:48:28.856534101 +0000", update...ersion: "1.0.7", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 8, project_id: 435, created_at: "2023-03-30 11:48:28.875244150 +0000", update...ersion: "1.0.8", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 9, project_id: 435, created_at: "2023-03-30 11:48:28.953530560 +0000", update...ersion: "1.0.9", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 10, project_id: 435, created_at: "2023-03-30 11:48:28.971113610 +0000", updat...rsion: "1.0.10", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, and #<Packages::Package id: 11, project_id: 435, created_at: "2023-03-30 11:48:28.988945110 +0000", updat...rsion: "1.0.11", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>3754 with a too big padding3755 is expected to contain exactly3756 with a negative padding3757 is expected to raise ArgumentError with "negative padding"3758 with search term3759 is expected to contain exactly #<Packages::Package id: 1, project_id: 435, created_at: "2023-03-30 11:48:28.711652000 +0000", update...ersion: "1.0.1", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 2, project_id: 435, created_at: "2023-03-30 11:48:28.757649862 +0000", update...ersion: "1.0.2", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 3, project_id: 435, created_at: "2023-03-30 11:48:28.776108401 +0000", update...ersion: "1.0.3", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 4, project_id: 435, created_at: "2023-03-30 11:48:28.794865771 +0000", update...ersion: "1.0.4", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 5, project_id: 435, created_at: "2023-03-30 11:48:28.814515911 +0000", update...ersion: "1.0.5", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 6, project_id: 435, created_at: "2023-03-30 11:48:28.837922191 +0000", update...ersion: "1.0.6", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 7, project_id: 435, created_at: "2023-03-30 11:48:28.856534101 +0000", update...ersion: "1.0.7", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 8, project_id: 435, created_at: "2023-03-30 11:48:28.875244150 +0000", update...ersion: "1.0.8", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 9, project_id: 435, created_at: "2023-03-30 11:48:28.953530560 +0000", update...ersion: "1.0.9", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 10, project_id: 435, created_at: "2023-03-30 11:48:28.971113610 +0000", updat...rsion: "1.0.10", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, and #<Packages::Package id: 11, project_id: 435, created_at: "2023-03-30 11:48:28.988945110 +0000", updat...rsion: "1.0.11", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>3760 with nil search term3761 is expected to contain exactly #<Packages::Package id: 1, project_id: 435, created_at: "2023-03-30 11:48:28.711652000 +0000", update...ersion: "1.0.1", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 2, project_id: 435, created_at: "2023-03-30 11:48:28.757649862 +0000", update...ersion: "1.0.2", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 3, project_id: 435, created_at: "2023-03-30 11:48:28.776108401 +0000", update...ersion: "1.0.3", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 4, project_id: 435, created_at: "2023-03-30 11:48:28.794865771 +0000", update...ersion: "1.0.4", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 5, project_id: 435, created_at: "2023-03-30 11:48:28.814515911 +0000", update...ersion: "1.0.5", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 6, project_id: 435, created_at: "2023-03-30 11:48:28.837922191 +0000", update...ersion: "1.0.6", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 7, project_id: 435, created_at: "2023-03-30 11:48:28.856534101 +0000", update...ersion: "1.0.7", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 8, project_id: 435, created_at: "2023-03-30 11:48:28.875244150 +0000", update...ersion: "1.0.8", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 9, project_id: 435, created_at: "2023-03-30 11:48:28.953530560 +0000", update...ersion: "1.0.9", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 10, project_id: 435, created_at: "2023-03-30 11:48:28.971113610 +0000", updat...rsion: "1.0.10", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 11, project_id: 435, created_at: "2023-03-30 11:48:28.988945110 +0000", updat...rsion: "1.0.11", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, and #<Packages::Package id: 12, project_id: 435, created_at: "2023-03-30 11:48:29.008293080 +0000", updat...rsion: "1.0.12", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>3762 with empty search term3763 is expected to contain exactly #<Packages::Package id: 1, project_id: 435, created_at: "2023-03-30 11:48:28.711652000 +0000", update...ersion: "1.0.1", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 2, project_id: 435, created_at: "2023-03-30 11:48:28.757649862 +0000", update...ersion: "1.0.2", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 3, project_id: 435, created_at: "2023-03-30 11:48:28.776108401 +0000", update...ersion: "1.0.3", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 4, project_id: 435, created_at: "2023-03-30 11:48:28.794865771 +0000", update...ersion: "1.0.4", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 5, project_id: 435, created_at: "2023-03-30 11:48:28.814515911 +0000", update...ersion: "1.0.5", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 6, project_id: 435, created_at: "2023-03-30 11:48:28.837922191 +0000", update...ersion: "1.0.6", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 7, project_id: 435, created_at: "2023-03-30 11:48:28.856534101 +0000", update...ersion: "1.0.7", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 8, project_id: 435, created_at: "2023-03-30 11:48:28.875244150 +0000", update...ersion: "1.0.8", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 9, project_id: 435, created_at: "2023-03-30 11:48:28.953530560 +0000", update...ersion: "1.0.9", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 10, project_id: 435, created_at: "2023-03-30 11:48:28.971113610 +0000", updat...rsion: "1.0.10", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 11, project_id: 435, created_at: "2023-03-30 11:48:28.988945110 +0000", updat...rsion: "1.0.11", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, and #<Packages::Package id: 12, project_id: 435, created_at: "2023-03-30 11:48:29.008293080 +0000", updat...rsion: "1.0.12", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>3764 with non-displayable packages3765 is expected to contain exactly #<Packages::Package id: 2, project_id: 435, created_at: "2023-03-30 11:48:28.757649862 +0000", update...ersion: "1.0.2", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 3, project_id: 435, created_at: "2023-03-30 11:48:28.776108401 +0000", update...ersion: "1.0.3", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 4, project_id: 435, created_at: "2023-03-30 11:48:28.794865771 +0000", update...ersion: "1.0.4", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 5, project_id: 435, created_at: "2023-03-30 11:48:28.814515911 +0000", update...ersion: "1.0.5", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 6, project_id: 435, created_at: "2023-03-30 11:48:28.837922191 +0000", update...ersion: "1.0.6", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 7, project_id: 435, created_at: "2023-03-30 11:48:28.856534101 +0000", update...ersion: "1.0.7", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 8, project_id: 435, created_at: "2023-03-30 11:48:28.875244150 +0000", update...ersion: "1.0.8", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 9, project_id: 435, created_at: "2023-03-30 11:48:28.953530560 +0000", update...ersion: "1.0.9", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 10, project_id: 435, created_at: "2023-03-30 11:48:28.971113610 +0000", updat...rsion: "1.0.10", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 11, project_id: 435, created_at: "2023-03-30 11:48:28.988945110 +0000", updat...rsion: "1.0.11", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, and #<Packages::Package id: 12, project_id: 435, created_at: "2023-03-30 11:48:29.008293080 +0000", updat...rsion: "1.0.12", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>3766 with prefix search term3767 is expected to contain exactly #<Packages::Package id: 1, project_id: 435, created_at: "2023-03-30 11:48:28.711652000 +0000", update...ersion: "1.0.1", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 2, project_id: 435, created_at: "2023-03-30 11:48:28.757649862 +0000", update...ersion: "1.0.2", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 3, project_id: 435, created_at: "2023-03-30 11:48:28.776108401 +0000", update...ersion: "1.0.3", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 4, project_id: 435, created_at: "2023-03-30 11:48:28.794865771 +0000", update...ersion: "1.0.4", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 5, project_id: 435, created_at: "2023-03-30 11:48:28.814515911 +0000", update...ersion: "1.0.5", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 6, project_id: 435, created_at: "2023-03-30 11:48:28.837922191 +0000", update...ersion: "1.0.6", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 7, project_id: 435, created_at: "2023-03-30 11:48:28.856534101 +0000", update...ersion: "1.0.7", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 8, project_id: 435, created_at: "2023-03-30 11:48:28.875244150 +0000", update...ersion: "1.0.8", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 9, project_id: 435, created_at: "2023-03-30 11:48:28.953530560 +0000", update...ersion: "1.0.9", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 10, project_id: 435, created_at: "2023-03-30 11:48:28.971113610 +0000", updat...rsion: "1.0.10", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, and #<Packages::Package id: 11, project_id: 435, created_at: "2023-03-30 11:48:28.988945110 +0000", updat...rsion: "1.0.11", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>3768 with suffix search term3769 is expected to contain exactly #<Packages::Package id: 7, project_id: 435, created_at: "2023-03-30 11:48:28.856534101 +0000", update...ersion: "1.0.7", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 8, project_id: 435, created_at: "2023-03-30 11:48:28.875244150 +0000", update...ersion: "1.0.8", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 9, project_id: 435, created_at: "2023-03-30 11:48:28.953530560 +0000", update...ersion: "1.0.9", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 10, project_id: 435, created_at: "2023-03-30 11:48:28.971113610 +0000", updat...rsion: "1.0.10", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, and #<Packages::Package id: 11, project_id: 435, created_at: "2023-03-30 11:48:28.988945110 +0000", updat...rsion: "1.0.11", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>3770 with pre release packages3771 including them3772 is expected to contain exactly #<Packages::Package id: 1, project_id: 435, created_at: "2023-03-30 11:48:28.711652000 +0000", update...ersion: "1.0.1", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 2, project_id: 435, created_at: "2023-03-30 11:48:28.757649862 +0000", update...ersion: "1.0.2", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 3, project_id: 435, created_at: "2023-03-30 11:48:28.776108401 +0000", update...ersion: "1.0.3", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 4, project_id: 435, created_at: "2023-03-30 11:48:28.794865771 +0000", update...ersion: "1.0.4", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 5, project_id: 435, created_at: "2023-03-30 11:48:28.814515911 +0000", update...ersion: "1.0.5", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 6, project_id: 435, created_at: "2023-03-30 11:48:28.837922191 +0000", update...ersion: "1.0.6", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 7, project_id: 435, created_at: "2023-03-30 11:48:28.856534101 +0000", update...ersion: "1.0.7", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 8, project_id: 435, created_at: "2023-03-30 11:48:28.875244150 +0000", update...ersion: "1.0.8", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 9, project_id: 435, created_at: "2023-03-30 11:48:28.953530560 +0000", update...ersion: "1.0.9", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 10, project_id: 435, created_at: "2023-03-30 11:48:28.971113610 +0000", updat...rsion: "1.0.10", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 11, project_id: 435, created_at: "2023-03-30 11:48:28.988945110 +0000", updat...rsion: "1.0.11", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, and #<Packages::Package id: 17, project_id: 435, created_at: "2023-03-30 11:48:34.355533480 +0000", updat...: "3.2.1-alpha", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>3773 excluding them3774 is expected to contain exactly #<Packages::Package id: 1, project_id: 435, created_at: "2023-03-30 11:48:28.711652000 +0000", update...ersion: "1.0.1", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 2, project_id: 435, created_at: "2023-03-30 11:48:28.757649862 +0000", update...ersion: "1.0.2", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 3, project_id: 435, created_at: "2023-03-30 11:48:28.776108401 +0000", update...ersion: "1.0.3", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 4, project_id: 435, created_at: "2023-03-30 11:48:28.794865771 +0000", update...ersion: "1.0.4", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 5, project_id: 435, created_at: "2023-03-30 11:48:28.814515911 +0000", update...ersion: "1.0.5", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 6, project_id: 435, created_at: "2023-03-30 11:48:28.837922191 +0000", update...ersion: "1.0.6", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 7, project_id: 435, created_at: "2023-03-30 11:48:28.856534101 +0000", update...ersion: "1.0.7", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 8, project_id: 435, created_at: "2023-03-30 11:48:28.875244150 +0000", update...ersion: "1.0.8", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 9, project_id: 435, created_at: "2023-03-30 11:48:28.953530560 +0000", update...ersion: "1.0.9", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 10, project_id: 435, created_at: "2023-03-30 11:48:28.971113610 +0000", updat...rsion: "1.0.10", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, and #<Packages::Package id: 11, project_id: 435, created_at: "2023-03-30 11:48:28.988945110 +0000", updat...rsion: "1.0.11", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>3775 when mixed with release versions3776 is expected to contain exactly #<Packages::Package id: 1, project_id: 435, created_at: "2023-03-30 11:48:28.711652000 +0000", update...ersion: "1.0.1", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 2, project_id: 435, created_at: "2023-03-30 11:48:28.757649862 +0000", update...ersion: "1.0.2", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 3, project_id: 435, created_at: "2023-03-30 11:48:28.776108401 +0000", update...ersion: "1.0.3", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 4, project_id: 435, created_at: "2023-03-30 11:48:28.794865771 +0000", update...ersion: "1.0.4", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 5, project_id: 435, created_at: "2023-03-30 11:48:28.814515911 +0000", update...ersion: "1.0.5", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 6, project_id: 435, created_at: "2023-03-30 11:48:28.837922191 +0000", update...ersion: "1.0.6", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 7, project_id: 435, created_at: "2023-03-30 11:48:28.856534101 +0000", update...ersion: "1.0.7", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 8, project_id: 435, created_at: "2023-03-30 11:48:28.875244150 +0000", update...ersion: "1.0.8", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 9, project_id: 435, created_at: "2023-03-30 11:48:28.953530560 +0000", update...ersion: "1.0.9", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 10, project_id: 435, created_at: "2023-03-30 11:48:28.971113610 +0000", updat...rsion: "1.0.10", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 11, project_id: 435, created_at: "2023-03-30 11:48:28.988945110 +0000", updat...rsion: "1.0.11", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, and #<Packages::Package id: 18, project_id: 435, created_at: "2023-03-30 11:48:34.745391857 +0000", updat...ersion: "3.2.1", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>3777 with group3778 behaves like handling all the conditions3779 is expected to contain exactly #<Packages::Package id: 1, project_id: 435, created_at: "2023-03-30 11:48:28.711652000 +0000", update...ersion: "1.0.1", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 2, project_id: 435, created_at: "2023-03-30 11:48:28.757649862 +0000", update...ersion: "1.0.2", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 3, project_id: 435, created_at: "2023-03-30 11:48:28.776108401 +0000", update...ersion: "1.0.3", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 4, project_id: 435, created_at: "2023-03-30 11:48:28.794865771 +0000", update...ersion: "1.0.4", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 5, project_id: 435, created_at: "2023-03-30 11:48:28.814515911 +0000", update...ersion: "1.0.5", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 6, project_id: 435, created_at: "2023-03-30 11:48:28.837922191 +0000", update...ersion: "1.0.6", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 7, project_id: 435, created_at: "2023-03-30 11:48:28.856534101 +0000", update...ersion: "1.0.7", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 8, project_id: 435, created_at: "2023-03-30 11:48:28.875244150 +0000", update...ersion: "1.0.8", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 9, project_id: 435, created_at: "2023-03-30 11:48:28.953530560 +0000", update...ersion: "1.0.9", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 10, project_id: 435, created_at: "2023-03-30 11:48:28.971113610 +0000", updat...rsion: "1.0.10", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, and #<Packages::Package id: 11, project_id: 435, created_at: "2023-03-30 11:48:28.988945110 +0000", updat...rsion: "1.0.11", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>3780 with a smaller per page count3781 is expected to contain exactly #<Packages::Package id: 1, project_id: 435, created_at: "2023-03-30 11:48:28.711652000 +0000", update...ersion: "1.0.1", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 2, project_id: 435, created_at: "2023-03-30 11:48:28.757649862 +0000", update...ersion: "1.0.2", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 3, project_id: 435, created_at: "2023-03-30 11:48:28.776108401 +0000", update...ersion: "1.0.3", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 4, project_id: 435, created_at: "2023-03-30 11:48:28.794865771 +0000", update...ersion: "1.0.4", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 5, project_id: 435, created_at: "2023-03-30 11:48:28.814515911 +0000", update...ersion: "1.0.5", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, and #<Packages::Package id: 6, project_id: 435, created_at: "2023-03-30 11:48:28.837922191 +0000", update...ersion: "1.0.6", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>3782 with 0 per page count3783 is expected to contain exactly3784 with a negative per page count3785 is expected to raise ArgumentError with "negative per_page"3786 with a padding3787 is expected to contain exactly #<Packages::Package id: 7, project_id: 435, created_at: "2023-03-30 11:48:28.856534101 +0000", update...ersion: "1.0.7", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 8, project_id: 435, created_at: "2023-03-30 11:48:28.875244150 +0000", update...ersion: "1.0.8", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 9, project_id: 435, created_at: "2023-03-30 11:48:28.953530560 +0000", update...ersion: "1.0.9", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 10, project_id: 435, created_at: "2023-03-30 11:48:28.971113610 +0000", updat...rsion: "1.0.10", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, and #<Packages::Package id: 11, project_id: 435, created_at: "2023-03-30 11:48:28.988945110 +0000", updat...rsion: "1.0.11", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>3788 with a too big padding3789 is expected to contain exactly3790 with a negative padding3791 is expected to raise ArgumentError with "negative padding"3792 with search term3793 is expected to contain exactly #<Packages::Package id: 1, project_id: 435, created_at: "2023-03-30 11:48:28.711652000 +0000", update...ersion: "1.0.1", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 2, project_id: 435, created_at: "2023-03-30 11:48:28.757649862 +0000", update...ersion: "1.0.2", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 3, project_id: 435, created_at: "2023-03-30 11:48:28.776108401 +0000", update...ersion: "1.0.3", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 4, project_id: 435, created_at: "2023-03-30 11:48:28.794865771 +0000", update...ersion: "1.0.4", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 5, project_id: 435, created_at: "2023-03-30 11:48:28.814515911 +0000", update...ersion: "1.0.5", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 6, project_id: 435, created_at: "2023-03-30 11:48:28.837922191 +0000", update...ersion: "1.0.6", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 7, project_id: 435, created_at: "2023-03-30 11:48:28.856534101 +0000", update...ersion: "1.0.7", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 8, project_id: 435, created_at: "2023-03-30 11:48:28.875244150 +0000", update...ersion: "1.0.8", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 9, project_id: 435, created_at: "2023-03-30 11:48:28.953530560 +0000", update...ersion: "1.0.9", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 10, project_id: 435, created_at: "2023-03-30 11:48:28.971113610 +0000", updat...rsion: "1.0.10", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, and #<Packages::Package id: 11, project_id: 435, created_at: "2023-03-30 11:48:28.988945110 +0000", updat...rsion: "1.0.11", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>3794 with nil search term3795 is expected to contain exactly #<Packages::Package id: 1, project_id: 435, created_at: "2023-03-30 11:48:28.711652000 +0000", update...ersion: "1.0.1", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 2, project_id: 435, created_at: "2023-03-30 11:48:28.757649862 +0000", update...ersion: "1.0.2", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 3, project_id: 435, created_at: "2023-03-30 11:48:28.776108401 +0000", update...ersion: "1.0.3", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 4, project_id: 435, created_at: "2023-03-30 11:48:28.794865771 +0000", update...ersion: "1.0.4", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 5, project_id: 435, created_at: "2023-03-30 11:48:28.814515911 +0000", update...ersion: "1.0.5", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 6, project_id: 435, created_at: "2023-03-30 11:48:28.837922191 +0000", update...ersion: "1.0.6", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 7, project_id: 435, created_at: "2023-03-30 11:48:28.856534101 +0000", update...ersion: "1.0.7", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 8, project_id: 435, created_at: "2023-03-30 11:48:28.875244150 +0000", update...ersion: "1.0.8", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 9, project_id: 435, created_at: "2023-03-30 11:48:28.953530560 +0000", update...ersion: "1.0.9", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 10, project_id: 435, created_at: "2023-03-30 11:48:28.971113610 +0000", updat...rsion: "1.0.10", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 11, project_id: 435, created_at: "2023-03-30 11:48:28.988945110 +0000", updat...rsion: "1.0.11", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, and #<Packages::Package id: 12, project_id: 435, created_at: "2023-03-30 11:48:29.008293080 +0000", updat...rsion: "1.0.12", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>3796 with empty search term3797 is expected to contain exactly #<Packages::Package id: 1, project_id: 435, created_at: "2023-03-30 11:48:28.711652000 +0000", update...ersion: "1.0.1", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 2, project_id: 435, created_at: "2023-03-30 11:48:28.757649862 +0000", update...ersion: "1.0.2", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 3, project_id: 435, created_at: "2023-03-30 11:48:28.776108401 +0000", update...ersion: "1.0.3", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 4, project_id: 435, created_at: "2023-03-30 11:48:28.794865771 +0000", update...ersion: "1.0.4", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 5, project_id: 435, created_at: "2023-03-30 11:48:28.814515911 +0000", update...ersion: "1.0.5", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 6, project_id: 435, created_at: "2023-03-30 11:48:28.837922191 +0000", update...ersion: "1.0.6", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 7, project_id: 435, created_at: "2023-03-30 11:48:28.856534101 +0000", update...ersion: "1.0.7", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 8, project_id: 435, created_at: "2023-03-30 11:48:28.875244150 +0000", update...ersion: "1.0.8", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 9, project_id: 435, created_at: "2023-03-30 11:48:28.953530560 +0000", update...ersion: "1.0.9", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 10, project_id: 435, created_at: "2023-03-30 11:48:28.971113610 +0000", updat...rsion: "1.0.10", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 11, project_id: 435, created_at: "2023-03-30 11:48:28.988945110 +0000", updat...rsion: "1.0.11", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, and #<Packages::Package id: 12, project_id: 435, created_at: "2023-03-30 11:48:29.008293080 +0000", updat...rsion: "1.0.12", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>3798 with non-displayable packages3799 is expected to contain exactly #<Packages::Package id: 2, project_id: 435, created_at: "2023-03-30 11:48:28.757649862 +0000", update...ersion: "1.0.2", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 3, project_id: 435, created_at: "2023-03-30 11:48:28.776108401 +0000", update...ersion: "1.0.3", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 4, project_id: 435, created_at: "2023-03-30 11:48:28.794865771 +0000", update...ersion: "1.0.4", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 5, project_id: 435, created_at: "2023-03-30 11:48:28.814515911 +0000", update...ersion: "1.0.5", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 6, project_id: 435, created_at: "2023-03-30 11:48:28.837922191 +0000", update...ersion: "1.0.6", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 7, project_id: 435, created_at: "2023-03-30 11:48:28.856534101 +0000", update...ersion: "1.0.7", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 8, project_id: 435, created_at: "2023-03-30 11:48:28.875244150 +0000", update...ersion: "1.0.8", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 9, project_id: 435, created_at: "2023-03-30 11:48:28.953530560 +0000", update...ersion: "1.0.9", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 10, project_id: 435, created_at: "2023-03-30 11:48:28.971113610 +0000", updat...rsion: "1.0.10", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 11, project_id: 435, created_at: "2023-03-30 11:48:28.988945110 +0000", updat...rsion: "1.0.11", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, and #<Packages::Package id: 12, project_id: 435, created_at: "2023-03-30 11:48:29.008293080 +0000", updat...rsion: "1.0.12", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>3800 with prefix search term3801 is expected to contain exactly #<Packages::Package id: 1, project_id: 435, created_at: "2023-03-30 11:48:28.711652000 +0000", update...ersion: "1.0.1", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 2, project_id: 435, created_at: "2023-03-30 11:48:28.757649862 +0000", update...ersion: "1.0.2", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 3, project_id: 435, created_at: "2023-03-30 11:48:28.776108401 +0000", update...ersion: "1.0.3", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 4, project_id: 435, created_at: "2023-03-30 11:48:28.794865771 +0000", update...ersion: "1.0.4", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 5, project_id: 435, created_at: "2023-03-30 11:48:28.814515911 +0000", update...ersion: "1.0.5", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 6, project_id: 435, created_at: "2023-03-30 11:48:28.837922191 +0000", update...ersion: "1.0.6", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 7, project_id: 435, created_at: "2023-03-30 11:48:28.856534101 +0000", update...ersion: "1.0.7", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 8, project_id: 435, created_at: "2023-03-30 11:48:28.875244150 +0000", update...ersion: "1.0.8", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 9, project_id: 435, created_at: "2023-03-30 11:48:28.953530560 +0000", update...ersion: "1.0.9", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 10, project_id: 435, created_at: "2023-03-30 11:48:28.971113610 +0000", updat...rsion: "1.0.10", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, and #<Packages::Package id: 11, project_id: 435, created_at: "2023-03-30 11:48:28.988945110 +0000", updat...rsion: "1.0.11", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>3802 with suffix search term3803 is expected to contain exactly #<Packages::Package id: 7, project_id: 435, created_at: "2023-03-30 11:48:28.856534101 +0000", update...ersion: "1.0.7", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 8, project_id: 435, created_at: "2023-03-30 11:48:28.875244150 +0000", update...ersion: "1.0.8", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 9, project_id: 435, created_at: "2023-03-30 11:48:28.953530560 +0000", update...ersion: "1.0.9", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 10, project_id: 435, created_at: "2023-03-30 11:48:28.971113610 +0000", updat...rsion: "1.0.10", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, and #<Packages::Package id: 11, project_id: 435, created_at: "2023-03-30 11:48:28.988945110 +0000", updat...rsion: "1.0.11", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>3804 with pre release packages3805 including them3806 is expected to contain exactly #<Packages::Package id: 1, project_id: 435, created_at: "2023-03-30 11:48:28.711652000 +0000", update...ersion: "1.0.1", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 2, project_id: 435, created_at: "2023-03-30 11:48:28.757649862 +0000", update...ersion: "1.0.2", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 3, project_id: 435, created_at: "2023-03-30 11:48:28.776108401 +0000", update...ersion: "1.0.3", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 4, project_id: 435, created_at: "2023-03-30 11:48:28.794865771 +0000", update...ersion: "1.0.4", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 5, project_id: 435, created_at: "2023-03-30 11:48:28.814515911 +0000", update...ersion: "1.0.5", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 6, project_id: 435, created_at: "2023-03-30 11:48:28.837922191 +0000", update...ersion: "1.0.6", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 7, project_id: 435, created_at: "2023-03-30 11:48:28.856534101 +0000", update...ersion: "1.0.7", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 8, project_id: 435, created_at: "2023-03-30 11:48:28.875244150 +0000", update...ersion: "1.0.8", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 9, project_id: 435, created_at: "2023-03-30 11:48:28.953530560 +0000", update...ersion: "1.0.9", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 10, project_id: 435, created_at: "2023-03-30 11:48:28.971113610 +0000", updat...rsion: "1.0.10", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 11, project_id: 435, created_at: "2023-03-30 11:48:28.988945110 +0000", updat...rsion: "1.0.11", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, and #<Packages::Package id: 19, project_id: 435, created_at: "2023-03-30 11:48:37.120454040 +0000", updat...: "3.2.1-alpha", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>3807 excluding them3808 is expected to contain exactly #<Packages::Package id: 1, project_id: 435, created_at: "2023-03-30 11:48:28.711652000 +0000", update...ersion: "1.0.1", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 2, project_id: 435, created_at: "2023-03-30 11:48:28.757649862 +0000", update...ersion: "1.0.2", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 3, project_id: 435, created_at: "2023-03-30 11:48:28.776108401 +0000", update...ersion: "1.0.3", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 4, project_id: 435, created_at: "2023-03-30 11:48:28.794865771 +0000", update...ersion: "1.0.4", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 5, project_id: 435, created_at: "2023-03-30 11:48:28.814515911 +0000", update...ersion: "1.0.5", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 6, project_id: 435, created_at: "2023-03-30 11:48:28.837922191 +0000", update...ersion: "1.0.6", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 7, project_id: 435, created_at: "2023-03-30 11:48:28.856534101 +0000", update...ersion: "1.0.7", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 8, project_id: 435, created_at: "2023-03-30 11:48:28.875244150 +0000", update...ersion: "1.0.8", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 9, project_id: 435, created_at: "2023-03-30 11:48:28.953530560 +0000", update...ersion: "1.0.9", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 10, project_id: 435, created_at: "2023-03-30 11:48:28.971113610 +0000", updat...rsion: "1.0.10", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, and #<Packages::Package id: 11, project_id: 435, created_at: "2023-03-30 11:48:28.988945110 +0000", updat...rsion: "1.0.11", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>3809 when mixed with release versions3810 is expected to contain exactly #<Packages::Package id: 1, project_id: 435, created_at: "2023-03-30 11:48:28.711652000 +0000", update...ersion: "1.0.1", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 2, project_id: 435, created_at: "2023-03-30 11:48:28.757649862 +0000", update...ersion: "1.0.2", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 3, project_id: 435, created_at: "2023-03-30 11:48:28.776108401 +0000", update...ersion: "1.0.3", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 4, project_id: 435, created_at: "2023-03-30 11:48:28.794865771 +0000", update...ersion: "1.0.4", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 5, project_id: 435, created_at: "2023-03-30 11:48:28.814515911 +0000", update...ersion: "1.0.5", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 6, project_id: 435, created_at: "2023-03-30 11:48:28.837922191 +0000", update...ersion: "1.0.6", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 7, project_id: 435, created_at: "2023-03-30 11:48:28.856534101 +0000", update...ersion: "1.0.7", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 8, project_id: 435, created_at: "2023-03-30 11:48:28.875244150 +0000", update...ersion: "1.0.8", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 9, project_id: 435, created_at: "2023-03-30 11:48:28.953530560 +0000", update...ersion: "1.0.9", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 10, project_id: 435, created_at: "2023-03-30 11:48:28.971113610 +0000", updat...rsion: "1.0.10", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, #<Packages::Package id: 11, project_id: 435, created_at: "2023-03-30 11:48:28.988945110 +0000", updat...rsion: "1.0.11", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>, and #<Packages::Package id: 20, project_id: 435, created_at: "2023-03-30 11:48:37.485457057 +0000", updat...ersion: "3.2.1", package_type: "nuget", creator_id: 575, status: "default", last_downloaded_at: nil>3811Gitlab::Email::Handler::CreateMergeRequestHandler3812 behaves like reply processing shared examples3813 when the user could not be found3814 raises a UserNotFoundError3815 when the user is not authorized to the project3816 raises a ProjectNotFound3817 when email key3818 matches the new format3819 matches the legacy format3820 doesn't match either format3821 as a non-developer3822 raises UserNotAuthorizedError if the user is not a member3823 as a developer3824 when everything is fine3825 behaves like a new merge request3826 creates a new merge request3827 creates a new merge request with legacy email address3828 behaves like a new merge request3829 creates a new merge request3830 something is wrong3831 when the merge request could not be saved3832 raises an InvalidMergeRequestError3833 when we can't find the incoming_email_token3834 raises an UserNotFoundError3835 when the subject is blank3836 raises an InvalidMergeRequestError3837 when the message body is blank3838 creates a new merge request with description set from the last commit3839 when the email contains patch attachments3840 creates the source branch and applies the patches3841 creates the merge request3842 does not mention the patches in the created merge request3843 when the patch could not be applied3844 raises an error3845 when specifying the target branch using quick actions3846 creates the merge request with the correct target branch3847 based the merge request of the target_branch3848 #patch_attachments3849 orders attachments ending in `.patch` by name3850Gitlab::Diff::FileCollection::MergeRequestDiffBatch3851 initialize3852 memoizes pagination_data3853 #diff_files3854 returns paginated diff files3855 returns a valid instance of a DiffCollection3856 first page3857 returns correct diff files3858 another page3859 returns correct diff files3860 nil batch_page3861 returns correct diff files3862 nil batch_size3863 returns correct diff files3864 invalid page3865 returns correct diff files3866 last page3867 returns correct diff files3868 behaves like unfoldable diff3869 calls Gitlab::Diff::File#unfold_diff_lines with correct position3870 behaves like diff statistics3871 when include_stats is true3872 Repository#diff_stats is called3873 Gitlab::Diff::File is initialized with diff stats3874 when should not request diff stats3875 Repository#diff_stats is not called3876 behaves like cacheable diff collection3877 #write_cache3878 calls Gitlab::Diff::HighlightCache#write_if_empty3879 calls Gitlab::Diff::StatsCache#write_if_empty with diff stats3880 #clear_cache3881 calls Gitlab::Diff::HighlightCache#clear3882 calls Gitlab::Diff::StatsCache#clear3883 #diff_files3884 calls Gitlab::Diff::HighlightCache#decorate3885 when there are stats cached3886 does not make a diff stats rpc call3887 when there are no stats cached3888 makes a diff stats rpc call3889 behaves like unsortable diff files3890 #raw_diff_files3891 does not call Gitlab::Diff::FileCollectionSorter even when sorted is true3892Gitlab::ProjectAuthorizations3893 user added to group and project3894 returns the correct number of authorizations3895 includes the correct projects3896 includes the correct access levels3897 unapproved access request3898 group membership3899 does not create authorization3900 inherited group membership3901 does not create authorization3902 project membership3903 does not create authorization3904 shared group3905 does not create authorization3906 shared project3907 does not create authorization3908 user with minimal access to group3909 group membership3910 does not create authorization3911 inherited group membership3912 does not create authorization3913 shared group3914 does not create authorization3915 shared project3916 does not create authorization3917 with nested groups3918 includes nested groups3919 inherits access levels when the user is not a member of a nested group3920 uses the greatest access level when a user is a member of a nested group3921 with shared projects3922 creates proper authorizations3923 even when the `lock_memberships_to_ldap` setting has been turned ON3924 creates proper authorizations3925 when the group containing the project has forbidden group shares for any of its projects3926 does not create authorizations3927 with shared groups3928 group user3929 creates proper authorizations3930 with lower group access level than max access level for share3931 creates proper authorizations3932 parent group user3933 creates proper authorizations3934 child group user3935 creates proper authorizations3936 user without accepted access request3937 does not have access to group and its projects3938 unrelated project owner3939 does not have access to group and its projects3940 with pending memberships3941 group membership3942 does not create authorization3943 inherited group membership3944 does not create authorization3945 project membership3946 does not create authorization3947 shared group3948 does not create authorization3949 shared project3950 does not create authorization3951PersonalFileUploader3952 #upload_paths3953 builds correct paths for both local and remote storage3954 object_store is LOCAL3955 behaves like builds correct paths3956 #store_dir3957 behaves like matches the method pattern3958 is expected to match /uploads\/-\/system\/personal_snippet\/\d+\/\h+/3959 #cache_dir3960 behaves like matches the method pattern3961 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3962 #work_dir3963 behaves like matches the method pattern3964 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3965 #upload_path3966 behaves like matches the method pattern3967 is expected to match /\h+\/\S+/3968 #relative_path3969 is relative (PENDING: Path not set, skipping.)3970 .absolute_path3971 behaves like matches the method pattern3972 is expected to match /\/builds\/gitlab-org\/gitlab\/tmp\/tests\/public\/uploads\/-\/system\/personal_snippet\/\d+\/\h+\/\S+$/3973 .base_dir3974 behaves like matches the method pattern3975 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3976 path traversal exploits3977 throws an exception3978 behaves like #base_dir3979 is prefixed with uploads/-/system3980 behaves like #to_h3981 is correct3982 object_store is REMOTE3983 behaves like builds correct paths3984 #store_dir3985 behaves like matches the method pattern3986 is expected to match /\d+\/\h+/3987 #cache_dir3988 behaves like matches the method pattern3989 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3990 #work_dir3991 behaves like matches the method pattern3992 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3993 #upload_path3994 behaves like matches the method pattern3995 is expected to match /^personal_snippet\/\d+\/\h+\/<filename>/3996 #relative_path3997 is relative (PENDING: Path not set, skipping.)3998 .absolute_path3999 behaves like matches the method pattern4000 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4001 .base_dir4002 behaves like matches the method pattern4003 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4004 path traversal exploits4005 throws an exception4006 behaves like #base_dir4007 is prefixed with uploads/-/system4008 behaves like #to_h4009 is correct4010 #migrate!4011 behaves like migrates4012 returns corresponding file type4013 does nothing when migrating to the current store4014 migrate to the specified store4015 removes the original file after the migration4016 can access to the original file during migration4017 when migrate! is not occupied by another process4018 executes migrate!4019 executes use_file4020 when migrate! is occupied by another process4021 does not execute migrate!4022 does not execute use_file4023 migration is unsuccessful4024 when the store is not supported4025 does not update the object_store4026 does not delete the original file4027 upon a fog failure4028 does not update the object_store4029 does not delete the original file4030 upon a database failure4031 does not update the object_store4032 does not delete the original file4033 behaves like migrates4034 returns corresponding file type4035 does nothing when migrating to the current store4036 migrate to the specified store4037 removes the original file after the migration4038 can access to the original file during migration4039 when migrate! is not occupied by another process4040 executes migrate!4041 executes use_file4042 when migrate! is occupied by another process4043 does not execute migrate!4044 does not execute use_file4045 migration is unsuccessful4046 when the store is not supported4047 does not update the object_store4048 does not delete the original file4049 upon a fog failure4050 does not update the object_store4051 does not delete the original file4052 upon a database failure4053 does not update the object_store4054 does not delete the original file4055Banzai::Pipeline::WikiPipeline4056 TableOfContents4057 replaces the tag with the TableOfContentsFilter result4058 is not case-sensitive4059 works with alternative [toc] tag4060 handles an empty pipeline result4061 Links4062 when GitLab is hosted at a root URL4063 linking to pages within the wiki4064 when creating hierarchical links to the current directory4065 rewrites non-file links to be at the scope of the current directory4066 rewrites file links to be at the scope of the current directory4067 when creating hierarchical links to the parent directory4068 rewrites non-file links to be at the scope of the parent directory4069 rewrites file links to be at the scope of the parent directory4070 when creating hierarchical links to a sub-directory4071 rewrites non-file links to be at the scope of the sub-directory4072 rewrites file links to be at the scope of the sub-directory4073 when creating non-hierarchical links4074 rewrites non-file links to be at the scope of the wiki root4075 rewrites non-file links (with spaces) to be at the scope of the wiki root4076 rewrites file links to be at the scope of the current directory4077 rewrites links with anchor4078 rewrites links (with spaces) with anchor4079 when creating root links4080 rewrites non-file links to be at the scope of the wiki root4081 rewrites file links to be at the scope of the wiki root4082 linking to pages outside the wiki (absolute)4083 doesn't rewrite links4084 when GitLab is hosted at a relative URL4085 linking to pages within the wiki4086 when creating hierarchical links to the current directory4087 rewrites non-file links to be at the scope of the current directory4088 rewrites file links to be at the scope of the current directory4089 when creating hierarchical links to the parent directory4090 rewrites non-file links to be at the scope of the parent directory4091 rewrites file links to be at the scope of the parent directory4092 when creating hierarchical links to a sub-directory4093 rewrites non-file links to be at the scope of the sub-directory4094 rewrites file links to be at the scope of the sub-directory4095 when creating non-hierarchical links4096 rewrites non-file links to be at the scope of the wiki root4097 rewrites non-file links (with spaces) to be at the scope of the wiki root4098 rewrites file links to be at the scope of the current directory4099 rewrites links with anchor4100 rewrites links (with spaces) with anchor4101 when creating root links4102 rewrites non-file links to be at the scope of the wiki root4103 rewrites file links to be at the scope of the wiki root4104 linking to pages outside the wiki (absolute)4105 doesn't rewrite links4106 checking slug validity when assembling links4107 with a valid slug4108 includes the slug in a (.) relative link4109 includeds the slug in a (..) relative link4110 when the slug is deemed unsafe or invalid4111 with the invalid slug javascript:4112 doesn't include a prohibited slug in a (.) relative link 'alert(1);'4113 doesn't include a prohibited slug in a (..) relative link 'alert(1);'4114 doesn't include a prohibited slug in a (.) relative link 'alert(document.location);'4115 doesn't include a prohibited slug in a (..) relative link 'alert(document.location);'4116 with the invalid slug JaVaScRiPt:4117 doesn't include a prohibited slug in a (.) relative link 'alert(1);'4118 doesn't include a prohibited slug in a (..) relative link 'alert(1);'4119 doesn't include a prohibited slug in a (.) relative link 'alert(document.location);'4120 doesn't include a prohibited slug in a (..) relative link 'alert(document.location);'4121 with the invalid slug javascript:4122 doesn't include a prohibited slug in a (.) relative link 'alert(1);'4123 doesn't include a prohibited slug in a (..) relative link 'alert(1);'4124 doesn't include a prohibited slug in a (.) relative link 'alert(document.location);'4125 doesn't include a prohibited slug in a (..) relative link 'alert(document.location);'4126 with the invalid slug javascript :4127 doesn't include a prohibited slug in a (.) relative link 'alert(1);'4128 doesn't include a prohibited slug in a (..) relative link 'alert(1);'4129 doesn't include a prohibited slug in a (.) relative link 'alert(document.location);'4130 doesn't include a prohibited slug in a (..) relative link 'alert(document.location);'4131 with the invalid slug javascript:4132 doesn't include a prohibited slug in a (.) relative link 'alert(1);'4133 doesn't include a prohibited slug in a (..) relative link 'alert(1);'4134 doesn't include a prohibited slug in a (.) relative link 'alert(document.location);'4135 doesn't include a prohibited slug in a (..) relative link 'alert(document.location);'4136 with the invalid slug javascript :4137 doesn't include a prohibited slug in a (.) relative link 'alert(1);'4138 doesn't include a prohibited slug in a (..) relative link 'alert(1);'4139 doesn't include a prohibited slug in a (.) relative link 'alert(document.location);'4140 doesn't include a prohibited slug in a (..) relative link 'alert(document.location);'4141 with the invalid slug :javascript:4142 doesn't include a prohibited slug in a (.) relative link 'alert(1);'4143 doesn't include a prohibited slug in a (..) relative link 'alert(1);'4144 doesn't include a prohibited slug in a (.) relative link 'alert(document.location);'4145 doesn't include a prohibited slug in a (..) relative link 'alert(document.location);'4146 with the invalid slug javascript:4147 doesn't include a prohibited slug in a (.) relative link 'alert(1);'4148 doesn't include a prohibited slug in a (..) relative link 'alert(1);'4149 doesn't include a prohibited slug in a (.) relative link 'alert(document.location);'4150 doesn't include a prohibited slug in a (..) relative link 'alert(document.location);'4151 with the invalid slug javascript:4152 doesn't include a prohibited slug in a (.) relative link 'alert(1);'4153 doesn't include a prohibited slug in a (..) relative link 'alert(1);'4154 doesn't include a prohibited slug in a (.) relative link 'alert(document.location);'4155 doesn't include a prohibited slug in a (..) relative link 'alert(document.location);'4156 with the invalid slug javascript:4157 doesn't include a prohibited slug in a (.) relative link 'alert(1);'4158 doesn't include a prohibited slug in a (..) relative link 'alert(1);'4159 doesn't include a prohibited slug in a (.) relative link 'alert(document.location);'4160 doesn't include a prohibited slug in a (..) relative link 'alert(document.location);'4161 with the invalid slug javascript:4162 doesn't include a prohibited slug in a (.) relative link 'alert(1);'4163 doesn't include a prohibited slug in a (..) relative link 'alert(1);'4164 doesn't include a prohibited slug in a (.) relative link 'alert(document.location);'4165 doesn't include a prohibited slug in a (..) relative link 'alert(document.location);'4166 with the invalid slug javascript:4167 doesn't include a prohibited slug in a (.) relative link 'alert(1);'4168 doesn't include a prohibited slug in a (..) relative link 'alert(1);'4169 doesn't include a prohibited slug in a (.) relative link 'alert(document.location);'4170 doesn't include a prohibited slug in a (..) relative link 'alert(document.location);'4171 with the invalid slug  javascript:4172 doesn't include a prohibited slug in a (.) relative link 'alert(1);'4173 doesn't include a prohibited slug in a (..) relative link 'alert(1);'4174 doesn't include a prohibited slug in a (.) relative link 'alert(document.location);'4175 doesn't include a prohibited slug in a (..) relative link 'alert(document.location);'4176 videos and audio4177 generates video html structure4178 rewrites and replaces video links names with white spaces to %204179 generates audio html structure4180 rewrites and replaces audio links names with white spaces to %204181 gollum tag filters4182 when local image file exists4183 sets the proper attributes for the image4184Mutations::MergeRequests::SetMilestone4185 is expected to require graphql authorizations :update_merge_request4186 #resolve4187 raises an error if the resource is not accessible to the user4188 behaves like permission level for merge request mutation is correctly verified4189 when the user is not a project member4190 behaves like when the user does not have access to the resource4191 raises an error4192 even if assigned to the merge request4193 does not modify merge request4194 even if reviewer of the merge request4195 raises an error4196 even if author of the merge request4197 raises an error4198 when the user is a project member4199 with guest role4200 behaves like when the user does not have access to the resource4201 raises an error4202 even if assigned to the merge request4203 does not modify merge request4204 even if reviewer of the merge request4205 raises an error4206 even if author of the merge request4207 raises an error4208 with reporter role4209 behaves like when the user does not have access to the resource4210 raises an error4211 even if assigned to the merge request4212 does not modify merge request4213 even if reviewer of the merge request4214 raises an error4215 even if author of the merge request4216 raises an error4217 when the user can update the merge request4218 returns the merge request with the milestone4219 returns errors merge request could not be updated4220 when passing milestone_id as nil4221 removes the milestone4222 does not do anything if the MR already does not have a milestone4223 when issue assignee is a guest4224 does not update the milestone4225 when passing milestone_id as nil4226 does not remove the milestone4227GroupMembersFinder#execute4228 relations4229 raises an error if a non-supported relation type is used4230 subject_relations: [], subject_group: :group, expected_members: []4231 returns correct members4232 subject_relations: [:direct, :inherited], subject_group: :group, expected_members: [:user1_group, :user2_group, :user3_group, :user4_group]4233 returns correct members4234 subject_relations: [:direct], subject_group: :group, expected_members: [:user1_group, :user2_group, :user3_group, :user4_group]4235 returns correct members4236 subject_relations: [:inherited], subject_group: :group, expected_members: []4237 returns correct members4238 subject_relations: [:descendants], subject_group: :group, expected_members: [:user1_sub_sub_group, :user2_sub_group, :user3_sub_group, :user4_sub_group]4239 returns correct members4240 subject_relations: [:shared_from_groups], subject_group: :group, expected_members: [:user1_public_shared_group, :user2_public_shared_group, :user3_public_shared_group, :user4_public_shared_group]4241 returns correct members4242 subject_relations: [:direct, :inherited, :descendants, :shared_from_groups], subject_group: :group, expected_members: [:user1_sub_sub_group, :user2_group, :user3_sub_group, :user4_public_shared_group]4243 returns correct members4244 subject_relations: [], subject_group: :sub_group, expected_members: []4245 returns correct members4246 subject_relations: [:direct, :inherited], subject_group: :sub_group, expected_members: [:user1_sub_group, :user2_group, :user3_sub_group, :user4_group]4247 returns correct members4248 subject_relations: [:direct], subject_group: :sub_group, expected_members: [:user1_sub_group, :user2_sub_group, :user3_sub_group, :user4_sub_group]4249 returns correct members4250 subject_relations: [:inherited], subject_group: :sub_group, expected_members: [:user1_group, :user2_group, :user3_group, :user4_group]4251 returns correct members4252 subject_relations: [:descendants], subject_group: :sub_group, expected_members: [:user1_sub_sub_group, :user2_sub_sub_group, :user3_sub_sub_group, :user4_sub_sub_group]4253 returns correct members4254 subject_relations: [:shared_from_groups], subject_group: :sub_group, expected_members: [:user1_public_shared_group, :user2_public_shared_group, :user3_public_shared_group, :user4_public_shared_group]4255 returns correct members4256 subject_relations: [:direct, :inherited, :descendants, :shared_from_groups], subject_group: :sub_group, expected_members: [:user1_sub_sub_group, :user2_group, :user3_sub_group, :user4_public_shared_group]4257 returns correct members4258 subject_relations: [], subject_group: :sub_sub_group, expected_members: []4259 returns correct members4260 subject_relations: [:direct, :inherited], subject_group: :sub_sub_group, expected_members: [:user1_sub_sub_group, :user2_group, :user3_sub_group, :user4_group]4261 returns correct members4262 subject_relations: [:direct], subject_group: :sub_sub_group, expected_members: [:user1_sub_sub_group, :user2_sub_sub_group, :user3_sub_sub_group, :user4_sub_sub_group]4263 returns correct members4264 subject_relations: [:inherited], subject_group: :sub_sub_group, expected_members: [:user1_sub_group, :user2_group, :user3_sub_group, :user4_group]4265 returns correct members4266 subject_relations: [:descendants], subject_group: :sub_sub_group, expected_members: []4267 returns correct members4268 subject_relations: [:shared_from_groups], subject_group: :sub_sub_group, expected_members: [:user1_public_shared_group, :user2_public_shared_group, :user3_public_shared_group, :user4_public_shared_group]4269 returns correct members4270 subject_relations: [:direct, :inherited, :descendants, :shared_from_groups], subject_group: :sub_sub_group, expected_members: [:user1_sub_sub_group, :user2_group, :user3_sub_group, :user4_public_shared_group]4271 returns correct members4272 search4273 returns searched members if requested4274 returns nothing if search only in inherited relation4275 returns searched member only from sub_group if search only in inherited relation4276 filter by two-factor4277 returns members with two-factor auth if requested by owner4278 returns members without two-factor auth if requested by owner4279 returns direct members with two-factor auth if requested by owner4280 returns inherited members with two-factor auth if requested by owner4281 returns direct members without two-factor auth if requested by owner4282 returns inherited members without two-factor auth if requested by owner4283 filter by access levels4284 by owner4285 returns owners4286 by maintainer4287 returns owners4288 by owner and maintainer4289 returns owners and maintainers4290 filter by user type4291 when the user is an owner4292 when filtering by project bots4293 returns filtered members4294 when filtering by service accounts4295 returns filtered members4296 when the user is a maintainer4297 returns unfiltered members4298 when the user is a developer4299 returns unfiltered members4300Terraform::StateVersion4301 is expected to be a kind of FileStoreMounter4302 is expected to be a kind of EachBatch4303 is expected to belong to terraform_state required: true4304 is expected to belong to created_by_user class_name => User optional: true4305 is expected to belong to build class_name => Ci::Build optional: true4306 default attributes4307 is expected to eq 54308 is expected to eq 34309 scopes4310 .ordered_by_version_desc4311 is expected to eq [5, 4, 3, 2, 1]4312 .with_files_stored_locally4313 includes states with local storage4314 excludes states without local storage4315 file storage4316 #file4317 returns the saved file4318 #file_store4319 returns the value4320 #update_file_store4321 when file is stored in object storage4322 sets file_store to remote4323 when file is stored locally4324 sets file_store to local4325 behaves like cleanup by a loose foreign key4326 cleans up (delete or nullify) the model4327Gitlab::Auth::Ldap::DN4328 #normalize_value4329 behaves like normalizes a DN attribute value4330 test_description: "strips extraneous whitespace", given: " John Smith ", expected: "john smith"4331 normalizes the DN attribute value4332 test_description: "unescapes non-reserved, non-special Unicode characters", given: "Sebasti\\c3\\a1n\\ C.\\20Smith", expected: "sebastián c. smith"4333 normalizes the DN attribute value4334 test_description: "downcases the whole string", given: "JoHn C. Smith", expected: "john c. smith"4335 normalizes the DN attribute value4336 test_description: "does not strip an escaped leading space in an attribute value", given: "\\ John Smith", expected: "\\ john smith"4337 normalizes the DN attribute value4338 test_description: "does not strip an escaped trailing space in an attribute value", given: "John Smith\\ ", expected: "john smith\\ "4339 normalizes the DN attribute value4340 test_description: "hex-escapes an escaped leading newline in an attribute value", given: "\\\nJohn Smith", expected: "\\0ajohn smith"4341 normalizes the DN attribute value4342 test_description: "hex-escapes and does not strip an escaped trailing newline in an attribute value", given: "John Smith\\\n", expected: "john smith\\0a"4343 normalizes the DN attribute value4344 test_description: "hex-escapes an unescaped leading newline (actually an invalid DN value?)", given: "\nJohn Smith", expected: "\\0ajohn smith"4345 normalizes the DN attribute value4346 test_description: "strips an unescaped trailing newline (actually an invalid DN value?)", given: "John Smith\n", expected: "john smith"4347 normalizes the DN attribute value4348 test_description: "does not strip if no extraneous whitespace", given: "John Smith", expected: "john smith"4349 normalizes the DN attribute value4350 test_description: "does not modify an escaped equal sign in an attribute value", given: " foo \\= bar", expected: "foo \\= bar"4351 normalizes the DN attribute value4352 test_description: "converts an escaped hex equal sign to an escaped equal sign in an attribute value", given: " foo \\3D bar", expected: "foo \\= bar"4353 normalizes the DN attribute value4354 test_description: "does not modify an escaped comma in an attribute value", given: "San Francisco\\, CA", expected: "san francisco\\, ca"4355 normalizes the DN attribute value4356 test_description: "converts an escaped hex comma to an escaped comma in an attribute value", given: "San Francisco\\2C CA", expected: "san francisco\\, ca"4357 normalizes the DN attribute value4358 test_description: "does not modify an escaped hex carriage return character in an attribute value", given: "San Francisco\\,\\0DCA", expected: "san francisco\\,\\0dca"4359 normalizes the DN attribute value4360 test_description: "does not modify an escaped hex line feed character in an attribute value", given: "San Francisco\\,\\0ACA", expected: "san francisco\\,\\0aca"4361 normalizes the DN attribute value4362 test_description: "does not modify an escaped hex CRLF in an attribute value", given: "San Francisco\\,\\0D\\0ACA", expected: "san francisco\\,\\0d\\0aca"4363 normalizes the DN attribute value4364 when the given DN is malformed4365 when ending with a comma4366 raises MalformedError4367 when given a BER encoded attribute value with a space in it4368 raises MalformedError4369 when given a BER encoded attribute value with a non-hex character in it4370 raises MalformedError4371 when given a BER encoded attribute value with a non-hex character in it4372 raises MalformedError4373 when given a hex pair with a non-hex character in it, inside double quotes4374 raises MalformedError4375 with an open (as opposed to closed) double quote4376 raises MalformedError4377 with an invalid escaped hex code4378 raises MalformedError4379 with a value ending with the escape character4380 raises MalformedError4381 #to_normalized_s4382 behaves like normalizes a DN4383 test_description: "strips extraneous whitespace", given: "uid =John Smith , ou = People, dc= example,dc =com", expected: "uid=john smith,ou=people,dc=example,dc=com"4384 normalizes the DN4385 test_description: "strips extraneous whitespace for a DN with a single RDN", given: "uid = John Smith", expected: "uid=john smith"4386 normalizes the DN4387 test_description: "unescapes non-reserved, non-special Unicode characters", given: "uid = Sebasti\\c3\\a1n\\ C.\\20Smith, ou=People (aka. \\22humans\\\") ,dc=example, dc=com", expected: "uid=sebastián c. smith,ou=people (aka. \\\"humans\\\"),dc=example,dc=com"4388 normalizes the DN4389 test_description: "downcases the whole string", given: "UID=John Smith,ou=People,dc=example,dc=com", expected: "uid=john smith,ou=people,dc=example,dc=com"4390 normalizes the DN4391 test_description: "for a null DN (empty string), returns empty string and does not error", given: "", expected: ""4392 normalizes the DN4393 test_description: "does not strip an escaped leading space in an attribute value", given: "uid=\\ John Smith,ou=People,dc=example,dc=com", expected: "uid=\\ john smith,ou=people,dc=example,dc=com"4394 normalizes the DN4395 test_description: "does not strip an escaped leading space in the last attribute value", given: "uid=\\ John Smith", expected: "uid=\\ john smith"4396 normalizes the DN4397 test_description: "does not strip an escaped trailing space in an attribute value", given: "uid=John Smith\\ ,ou=People,dc=example,dc=com", expected: "uid=john smith\\ ,ou=people,dc=example,dc=com"4398 normalizes the DN4399 test_description: "strips extraneous spaces after an escaped trailing space", given: "uid=John Smith\\ ,ou=People,dc=example,dc=com", expected: "uid=john smith\\ ,ou=people,dc=example,dc=com"4400 normalizes the DN4401 test_description: "strips extraneous spaces after an escaped trailing space at the end of the DN", given: "uid=John Smith,ou=People,dc=example,dc=com\\ ", expected: "uid=john smith,ou=people,dc=example,dc=com\\ "4402 normalizes the DN4403 test_description: "properly preserves escaped trailing space after unescaped trailing spaces", given: "uid=John Smith \\ ,ou=People,dc=example,dc=com", expected: "uid=john smith \\ ,ou=people,dc=example,dc=com"4404 normalizes the DN4405 test_description: "preserves multiple inner spaces in an attribute value", given: "uid=John Smith,ou=People,dc=example,dc=com", expected: "uid=john smith,ou=people,dc=example,dc=com"4406 normalizes the DN4407 test_description: "preserves inner spaces after an escaped space", given: "uid=John\\ Smith,ou=People,dc=example,dc=com", expected: "uid=john smith,ou=people,dc=example,dc=com"4408 normalizes the DN4409 test_description: "hex-escapes an escaped leading newline in an attribute value", given: "uid=\\\nJohn Smith,ou=People,dc=example,dc=com", expected: "uid=\\0ajohn smith,ou=people,dc=example,dc=com"4410 normalizes the DN4411 test_description: "hex-escapes and does not strip an escaped trailing newline in an attribute value", given: "uid=John Smith\\\n,ou=People,dc=example,dc=com", expected: "uid=john smith\\0a,ou=people,dc=example,dc=com"4412 normalizes the DN4413 test_description: "hex-escapes an unescaped leading newline (actually an invalid DN?)", given: "uid=\nJohn Smith,ou=People,dc=example,dc=com", expected: "uid=\\0ajohn smith,ou=people,dc=example,dc=com"4414 normalizes the DN4415 test_description: "strips an unescaped trailing newline (actually an invalid DN?)", given: "uid=John Smith\n,ou=People,dc=example,dc=com", expected: "uid=john smith,ou=people,dc=example,dc=com"4416 normalizes the DN4417 test_description: "does not strip if no extraneous whitespace", given: "uid=John Smith,ou=People,dc=example,dc=com", expected: "uid=john smith,ou=people,dc=example,dc=com"4418 normalizes the DN4419 test_description: "does not modify an escaped equal sign in an attribute value", given: "uid= foo \\= bar", expected: "uid=foo \\= bar"4420 normalizes the DN4421 test_description: "converts an escaped hex equal sign to an escaped equal sign in an attribute value", given: "uid= foo \\3D bar", expected: "uid=foo \\= bar"4422 normalizes the DN4423 test_description: "does not modify an escaped comma in an attribute value", given: "uid= John C. Smith, ou=San Francisco\\, CA", expected: "uid=john c. smith,ou=san francisco\\, ca"4424 normalizes the DN4425 test_description: "converts an escaped hex comma to an escaped comma in an attribute value", given: "uid= John C. Smith, ou=San Francisco\\2C CA", expected: "uid=john c. smith,ou=san francisco\\, ca"4426 normalizes the DN4427 test_description: "does not modify an escaped hex carriage return character in an attribute value", given: "uid= John C. Smith, ou=San Francisco\\,\\0DCA", expected: "uid=john c. smith,ou=san francisco\\,\\0dca"4428 normalizes the DN4429 test_description: "does not modify an escaped hex line feed character in an attribute value", given: "uid= John C. Smith, ou=San Francisco\\,\\0ACA", expected: "uid=john c. smith,ou=san francisco\\,\\0aca"4430 normalizes the DN4431 test_description: "does not modify an escaped hex CRLF in an attribute value", given: "uid= John C. Smith, ou=San Francisco\\,\\0D\\0ACA", expected: "uid=john c. smith,ou=san francisco\\,\\0d\\0aca"4432 normalizes the DN4433 test_description: "allows attribute type name OIDs", given: "0.9.2342.19200300.100.1.25=Example,0.9.2342.19200300.100.1.25=Com", expected: "0.9.2342.19200300.100.1.25=example,0.9.2342.19200300.100.1.25=com"4434 normalizes the DN4435 test_description: "strips extraneous whitespace from attribute type name OIDs", given: "0.9.2342.19200300.100.1.25 = Example, 0.9.2342.19200300.100.1.25 = Com", expected: "0.9.2342.19200300.100.1.25=example,0.9.2342.19200300.100.1.25=com"4436 normalizes the DN4437 when we do not support the given DN format4438 multivalued RDNs4439 without extraneous whitespace4440 raises UnsupportedError4441 with extraneous whitespace4442 around the phone number plus sign4443 raises UnsupportedError4444 not around the phone number plus sign4445 raises UnsupportedError4446 when the given DN is malformed4447 when ending with a comma4448 raises MalformedError4449 when given a BER encoded attribute value with a space in it4450 raises MalformedError4451 when given a BER encoded attribute value with a non-hex character in it4452 raises MalformedError4453 when given a BER encoded attribute value with a non-hex character in it4454 raises MalformedError4455 when given a hex pair with a non-hex character in it, inside double quotes4456 raises MalformedError4457 without a name value pair4458 raises MalformedError4459 with an open (as opposed to closed) double quote4460 raises MalformedError4461 with an invalid escaped hex code4462 raises MalformedError4463 with a value ending with the escape character4464 raises MalformedError4465 with an invalid OID attribute type name4466 raises MalformedError4467 with a period in a non-OID attribute type name4468 raises MalformedError4469 when starting with non-space, non-alphanumeric character4470 raises MalformedError4471 when given a UID with an escaped equal sign4472 raises MalformedError4473Packages::Maven::Metadata::CreatePluginsXmlService4474 #execute4475 with same plugins on both sides4476 behaves like returning no changes4477 returns no changes4478 with more plugins4479 in database4480 behaves like returning no changes4481 returns no changes4482 in xml4483 behaves like returning an xml with plugins from the database4484 returns an metadata versions xml with versions in the database4485 with no versions in the database4486 returns a success4487 with an incomplete metadata content4488 behaves like returning an error service response4489 returns an error service response4490 with an invalid metadata content4491 behaves like returning an error service response4492 returns an error service response4493 behaves like handling metadata content pointing to a file for the create xml service4494 with metadata content pointing to a file4495 with valid content4496 returns no changes4497 with invalid content4498 behaves like returning an error service response4499 returns an error service response4500 with no content4501 behaves like returning an error service response4502 returns an error service response4503 behaves like handling invalid parameters for create xml service4504 with no package4505 behaves like returning an error service response4506 returns an error service response4507 with no metadata content4508 behaves like returning an error service response4509 returns an error service response4510Members::Projects::CreatorService4511 .access_levels4512 returns Gitlab::Access.sym_options_with_owner4513 behaves like owner management4514 .cannot_manage_owners?4515 when maintainer4516 cannot manage owners4517 when owner4518 can manage owners4519 .add_members4520 behaves like bulk member creation4521 returns Member objects4522 returns an empty array4523 supports different formats4524 with the same user sent more than once by user and by email4525 with the same user sent more than once by user id and by email4526 when current user does not have permission4527 does not succeed4528 with de-duplication4529 has the same user by id and user4530 has the same user sent more than once4531 when a member already exists4532 has the same user sent more than once with the member already existing4533 supports existing users as expected with user_ids passed4534 supports existing users as expected without user ids passed4535 when `tasks_to_be_done` and `tasks_project_id` are passed4536 creates a member_task with the correct attributes4537 with an already existing member4538 does not update tasks to be done if tasks already exist4539 adds tasks to be done if they do not exist4540 .add_member4541 behaves like member creation4542 returns a Member object4543 sets members.expires_at to the given expires_at4544 accepts the :guest symbol as access level4545 accepts the 10 integer as access level4546 accepts the :reporter symbol as access level4547 accepts the 20 integer as access level4548 accepts the :developer symbol as access level4549 accepts the 30 integer as access level4550 accepts the :maintainer symbol as access level4551 accepts the 40 integer as access level4552 accepts the :owner symbol as access level4553 accepts the 50 integer as access level4554 when adding a project_bot4555 when project_bot is already a member4556 does not update the member4557 when project_bot is not already a member4558 adds the member4559 when admin mode is enabled4560 sets members.created_by to the given admin current_user4561 when admin mode is disabled4562 rejects setting members.created_by to the given admin current_user4563 with no current_user4564 when called with a known user id4565 adds the user as a member4566 when called with an unknown user id4567 does not add the user as a member4568 when called with a user object4569 adds the user as a member4570 when called with a requester user object4571 adds the requester as a member4572 when called with a known user email4573 adds the user as a member4574 when called with an unknown user email4575 creates an invited member4576 when called with an unknown user email starting with a number4577 creates an invited member4578 when current_user can update member4579 creates the member4580 when called with a requester user object4581 adds the requester as a member4582 when current_user cannot update member4583 does not create the member4584 when called with a requester user object4585 does not destroy the requester4586 when member already exists4587 when member is a user4588 with no current_user4589 updates the member4590 when current_user can update member4591 updates the member4592 when current_user cannot update member4593 does not update the member4594 when member is an invite by email4595 updates the member for that email4596 authorized projects update4597 schedules a single project authorization update job when called multiple times4598NamespaceFileUploader4599 behaves like builds correct paths4600 #store_dir4601 behaves like matches the method pattern4602 is expected to match /uploads\/-\/system\/namespace\/\d+/4603 #cache_dir4604 behaves like matches the method pattern4605 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4606 #work_dir4607 behaves like matches the method pattern4608 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4609 #upload_path4610 behaves like matches the method pattern4611 is expected to match /\h+\/\S+/4612 #relative_path4613 is relative (PENDING: Path not set, skipping.)4614 .absolute_path4615 behaves like matches the method pattern4616 is expected to match /\/builds\/gitlab-org\/gitlab\/tmp\/tests\/public\/uploads\/-\/system\/namespace\/\d+\/(?-mix:\h+\/\S+)/4617 .base_dir4618 behaves like matches the method pattern4619 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4620 path traversal exploits4621 throws an exception4622 object_store is REMOTE4623 behaves like builds correct paths4624 #store_dir4625 behaves like matches the method pattern4626 is expected to match /namespace\/\d+\/\h+/4627 #cache_dir4628 behaves like matches the method pattern4629 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4630 #work_dir4631 behaves like matches the method pattern4632 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4633 #upload_path4634 behaves like matches the method pattern4635 is expected to match /\h+\/\S+/4636 #relative_path4637 is relative (PENDING: Path not set, skipping.)4638 .absolute_path4639 behaves like matches the method pattern4640 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4641 .base_dir4642 behaves like matches the method pattern4643 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4644 path traversal exploits4645 throws an exception4646 .base_dir4647 returns local storage base_dir without store param4648 returns local storage base_dir when store param is Store::LOCAL4649 returns remote base_dir when store param is Store::REMOTE4650 #workhorse_local_upload_path4651 returns the correct path in uploads directory4652 #migrate!4653 behaves like migrates4654 returns corresponding file type4655 does nothing when migrating to the current store4656 migrate to the specified store4657 removes the original file after the migration4658 can access to the original file during migration4659 when migrate! is not occupied by another process4660 executes migrate!4661 executes use_file4662 when migrate! is occupied by another process4663 does not execute migrate!4664 does not execute use_file4665 migration is unsuccessful4666 when the store is not supported4667 does not update the object_store4668 does not delete the original file4669 upon a fog failure4670 does not update the object_store4671 does not delete the original file4672 upon a database failure4673 does not update the object_store4674 does not delete the original file4675 behaves like migrates4676 returns corresponding file type4677 does nothing when migrating to the current store4678 migrate to the specified store4679 removes the original file after the migration4680 can access to the original file during migration4681 when migrate! is not occupied by another process4682 executes migrate!4683 executes use_file4684 when migrate! is occupied by another process4685 does not execute migrate!4686 does not execute use_file4687 migration is unsuccessful4688 when the store is not supported4689 does not update the object_store4690 does not delete the original file4691 upon a fog failure4692 does not update the object_store4693 does not delete the original file4694 upon a database failure4695 does not update the object_store4696 does not delete the original file4697 copy_to4698 files are stored locally4699 generates a new secret4700 creates new upload correctly4701 copies the file4702 copies the file to the correct location4703 files are stored remotely4704 generates a new secret4705 creates new upload correctly4706 copies the file4707 copies the file to the correct location4708Packages::Nuget::PackageFinder4709 #execute!4710 with a project4711 behaves like handling all the conditions4712 is expected to contain exactly #<Packages::Package id: 81, project_id: 598, created_at: "2023-03-30 11:51:11.967794000 +0000", updat...rsion: "1.0.15", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil> and #<Packages::Package id: 82, project_id: 598, created_at: "2023-03-30 11:51:11.987410335 +0000", updat...on: "2.0.0-ABC", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil>4713 with lower case package name4714 is expected to contain exactly #<Packages::Package id: 81, project_id: 598, created_at: "2023-03-30 11:51:11.967794000 +0000", updat...rsion: "1.0.15", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil> and #<Packages::Package id: 82, project_id: 598, created_at: "2023-03-30 11:51:11.987410335 +0000", updat...on: "2.0.0-ABC", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil>4715 with unknown package name4716 is expected to be empty4717 with an uninstallable package4718 is expected to contain exactly #<Packages::Package id: 82, project_id: 598, created_at: "2023-03-30 11:51:11.987410335 +0000", updat...on: "2.0.0-ABC", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil>4719 with valid version4720 is expected to contain exactly #<Packages::Package id: 82, project_id: 598, created_at: "2023-03-30 11:51:11.987410335 +0000", updat...on: "2.0.0-ABC", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil>4721 with varying case version4722 is expected to contain exactly #<Packages::Package id: 82, project_id: 598, created_at: "2023-03-30 11:51:11.987410335 +0000", updat...on: "2.0.0-ABC", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil>4723 with unknown version4724 is expected to be empty4725 with limit hit4726 is expected to contain exactly #<Packages::Package id: 87, project_id: 598, created_at: "2023-03-30 11:51:13.585760753 +0000", updat...rsion: "1.0.18", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil> and #<Packages::Package id: 88, project_id: 598, created_at: "2023-03-30 11:51:13.602169834 +0000", updat...rsion: "1.0.19", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil>4727 with downcase package name4728 is expected to contain exactly #<Packages::Package id: 81, project_id: 598, created_at: "2023-03-30 11:51:11.967794000 +0000", updat...rsion: "1.0.15", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil> and #<Packages::Package id: 82, project_id: 598, created_at: "2023-03-30 11:51:11.987410335 +0000", updat...on: "2.0.0-ABC", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil>4729 with prefix wildcard4730 is expected to contain exactly #<Packages::Package id: 81, project_id: 598, created_at: "2023-03-30 11:51:11.967794000 +0000", updat...rsion: "1.0.15", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil> and #<Packages::Package id: 82, project_id: 598, created_at: "2023-03-30 11:51:11.987410335 +0000", updat...on: "2.0.0-ABC", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil>4731 with suffix wildcard4732 is expected to contain exactly #<Packages::Package id: 81, project_id: 598, created_at: "2023-03-30 11:51:11.967794000 +0000", updat...rsion: "1.0.15", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil> and #<Packages::Package id: 82, project_id: 598, created_at: "2023-03-30 11:51:11.987410335 +0000", updat...on: "2.0.0-ABC", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil>4733 with surrounding wildcards4734 is expected to contain exactly #<Packages::Package id: 81, project_id: 598, created_at: "2023-03-30 11:51:11.967794000 +0000", updat...rsion: "1.0.15", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil> and #<Packages::Package id: 82, project_id: 598, created_at: "2023-03-30 11:51:11.987410335 +0000", updat...on: "2.0.0-ABC", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil>4735 with a subgroup4736 behaves like handling all the conditions4737 is expected to contain exactly #<Packages::Package id: 81, project_id: 598, created_at: "2023-03-30 11:51:11.967794000 +0000", updat...rsion: "1.0.15", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil> and #<Packages::Package id: 82, project_id: 598, created_at: "2023-03-30 11:51:11.987410335 +0000", updat...on: "2.0.0-ABC", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil>4738 with lower case package name4739 is expected to contain exactly #<Packages::Package id: 81, project_id: 598, created_at: "2023-03-30 11:51:11.967794000 +0000", updat...rsion: "1.0.15", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil> and #<Packages::Package id: 82, project_id: 598, created_at: "2023-03-30 11:51:11.987410335 +0000", updat...on: "2.0.0-ABC", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil>4740 with unknown package name4741 is expected to be empty4742 with an uninstallable package4743 is expected to contain exactly #<Packages::Package id: 82, project_id: 598, created_at: "2023-03-30 11:51:11.987410335 +0000", updat...on: "2.0.0-ABC", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil>4744 with valid version4745 is expected to contain exactly #<Packages::Package id: 82, project_id: 598, created_at: "2023-03-30 11:51:11.987410335 +0000", updat...on: "2.0.0-ABC", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil>4746 with varying case version4747 is expected to contain exactly #<Packages::Package id: 82, project_id: 598, created_at: "2023-03-30 11:51:11.987410335 +0000", updat...on: "2.0.0-ABC", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil>4748 with unknown version4749 is expected to be empty4750 with limit hit4751 is expected to contain exactly #<Packages::Package id: 90, project_id: 598, created_at: "2023-03-30 11:51:15.698567988 +0000", updat...rsion: "1.0.21", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil> and #<Packages::Package id: 91, project_id: 598, created_at: "2023-03-30 11:51:15.716514588 +0000", updat...rsion: "1.0.22", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil>4752 with downcase package name4753 is expected to contain exactly #<Packages::Package id: 81, project_id: 598, created_at: "2023-03-30 11:51:11.967794000 +0000", updat...rsion: "1.0.15", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil> and #<Packages::Package id: 82, project_id: 598, created_at: "2023-03-30 11:51:11.987410335 +0000", updat...on: "2.0.0-ABC", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil>4754 with prefix wildcard4755 is expected to contain exactly #<Packages::Package id: 81, project_id: 598, created_at: "2023-03-30 11:51:11.967794000 +0000", updat...rsion: "1.0.15", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil> and #<Packages::Package id: 82, project_id: 598, created_at: "2023-03-30 11:51:11.987410335 +0000", updat...on: "2.0.0-ABC", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil>4756 with suffix wildcard4757 is expected to contain exactly #<Packages::Package id: 81, project_id: 598, created_at: "2023-03-30 11:51:11.967794000 +0000", updat...rsion: "1.0.15", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil> and #<Packages::Package id: 82, project_id: 598, created_at: "2023-03-30 11:51:11.987410335 +0000", updat...on: "2.0.0-ABC", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil>4758 with surrounding wildcards4759 is expected to contain exactly #<Packages::Package id: 81, project_id: 598, created_at: "2023-03-30 11:51:11.967794000 +0000", updat...rsion: "1.0.15", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil> and #<Packages::Package id: 82, project_id: 598, created_at: "2023-03-30 11:51:11.987410335 +0000", updat...on: "2.0.0-ABC", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil>4760 with a group4761 behaves like handling all the conditions4762 is expected to contain exactly #<Packages::Package id: 81, project_id: 598, created_at: "2023-03-30 11:51:11.967794000 +0000", updat...rsion: "1.0.15", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil> and #<Packages::Package id: 82, project_id: 598, created_at: "2023-03-30 11:51:11.987410335 +0000", updat...on: "2.0.0-ABC", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil>4763 with lower case package name4764 is expected to contain exactly #<Packages::Package id: 81, project_id: 598, created_at: "2023-03-30 11:51:11.967794000 +0000", updat...rsion: "1.0.15", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil> and #<Packages::Package id: 82, project_id: 598, created_at: "2023-03-30 11:51:11.987410335 +0000", updat...on: "2.0.0-ABC", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil>4765 with unknown package name4766 is expected to be empty4767 with an uninstallable package4768 is expected to contain exactly #<Packages::Package id: 82, project_id: 598, created_at: "2023-03-30 11:51:11.987410335 +0000", updat...on: "2.0.0-ABC", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil>4769 with valid version4770 is expected to contain exactly #<Packages::Package id: 82, project_id: 598, created_at: "2023-03-30 11:51:11.987410335 +0000", updat...on: "2.0.0-ABC", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil>4771 with varying case version4772 is expected to contain exactly #<Packages::Package id: 82, project_id: 598, created_at: "2023-03-30 11:51:11.987410335 +0000", updat...on: "2.0.0-ABC", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil>4773 with unknown version4774 is expected to be empty4775 with limit hit4776 is expected to contain exactly #<Packages::Package id: 93, project_id: 598, created_at: "2023-03-30 11:51:17.878795762 +0000", updat...rsion: "1.0.24", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil> and #<Packages::Package id: 94, project_id: 598, created_at: "2023-03-30 11:51:17.897774142 +0000", updat...rsion: "1.0.25", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil>4777 with downcase package name4778 is expected to contain exactly #<Packages::Package id: 81, project_id: 598, created_at: "2023-03-30 11:51:11.967794000 +0000", updat...rsion: "1.0.15", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil> and #<Packages::Package id: 82, project_id: 598, created_at: "2023-03-30 11:51:11.987410335 +0000", updat...on: "2.0.0-ABC", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil>4779 with prefix wildcard4780 is expected to contain exactly #<Packages::Package id: 81, project_id: 598, created_at: "2023-03-30 11:51:11.967794000 +0000", updat...rsion: "1.0.15", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil> and #<Packages::Package id: 82, project_id: 598, created_at: "2023-03-30 11:51:11.987410335 +0000", updat...on: "2.0.0-ABC", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil>4781 with suffix wildcard4782 is expected to contain exactly #<Packages::Package id: 81, project_id: 598, created_at: "2023-03-30 11:51:11.967794000 +0000", updat...rsion: "1.0.15", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil> and #<Packages::Package id: 82, project_id: 598, created_at: "2023-03-30 11:51:11.987410335 +0000", updat...on: "2.0.0-ABC", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil>4783 with surrounding wildcards4784 is expected to contain exactly #<Packages::Package id: 81, project_id: 598, created_at: "2023-03-30 11:51:11.967794000 +0000", updat...rsion: "1.0.15", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil> and #<Packages::Package id: 82, project_id: 598, created_at: "2023-03-30 11:51:11.987410335 +0000", updat...on: "2.0.0-ABC", package_type: "nuget", creator_id: 909, status: "default", last_downloaded_at: nil>4785 with nil4786 is expected to be empty4787Suggestions::CreateService4788 #execute4789 should not try to parse suggestions4790 when not a diff note for merge requests4791 does not try to parse suggestions4792 behaves like service not tracking add suggestion event4793 does not track add suggestion event4794 when diff note is not for text4795 does not try to parse suggestions4796 behaves like service not tracking add suggestion event4797 does not track add suggestion event4798 when diff file is not found4799 creates no suggestion4800 behaves like service not tracking add suggestion event4801 does not track add suggestion event4802 should create suggestions4803 persists suggestion records4804 persists suggestions data correctly4805 tracks add suggestion event4806 outdated position note4807 uses the correct position when creating the suggestion4808 when a patch removes an empty line4809 creates an appliable suggestion4810API::Helpers::Caching4811 #present_cached4812 single object4813 behaves like object cache helper4814 is expected to be a kind of Gitlab::Json::PrecompiledJson4815 uses the presenter4816 is valid JSON4817 fetches from the cache4818 when a cache context is supplied4819 uses the context to augment the cache key4820 when expires_in is supplied4821 sets the expiry when accessing the cache4822 when a caller id is present4823 increments the counter4824 collection of objects4825 behaves like collection cache helper4826 is expected to be a kind of Gitlab::Json::PrecompiledJson4827 uses the presenter4828 is valid JSON4829 fetches from the cache4830 when a cache context is supplied4831 uses the context to augment the cache key4832 expires_in is supplied4833 sets the expiry when accessing the cache4834 when a caller id is present4835 when presentable has a group by clause4836 returns the presentables4837 when the presentables all miss4838 increments the counters4839 when the presents hit4840 increments the counters4841 #cache_action4842 is expected to be a kind of Gitlab::Json::PrecompiledJson4843 represents the correct data4844 only calls the expensive action once4845 handles nested cache calls4846 Cache versioning4847 returns cache based on version parameter4848 Cache for pagination headers4849 X-Per-Page4850 stores and recovers pagination headers from cache4851 prefers headers from request than from cache4852 X-Page4853 stores and recovers pagination headers from cache4854 prefers headers from request than from cache4855 X-Next-Page4856 stores and recovers pagination headers from cache4857 prefers headers from request than from cache4858 X-Prev-Page4859 stores and recovers pagination headers from cache4860 prefers headers from request than from cache4861 Link4862 stores and recovers pagination headers from cache4863 prefers headers from request than from cache4864 X-Total4865 stores and recovers pagination headers from cache4866 prefers headers from request than from cache4867 X-Total-Pages4868 stores and recovers pagination headers from cache4869 prefers headers from request than from cache4870 #cache_action_if4871 conditional is truthy4872 is expected to be a kind of Gitlab::Json::PrecompiledJson4873 caches the block4874 conditional is falsey4875 is expected to eq {:foo=>"bar"}4876 doesn't cache the block4877 #cache_action_unless4878 conditional is truthy4879 is expected to eq {:foo=>"bar"}4880 doesn't cache the block4881 conditional is falsey4882 is expected to be a kind of Gitlab::Json::PrecompiledJson4883 caches the block4884API::Entities::Snippet4885 with PersonalSnippet4886 returns snippet web_url attribute4887 returns snippet raw_url attribute4888 behaves like common attributes4889 is expected to eq 594890 is expected to eq "My title 583"4891 is expected to eq "My title 585"4892 is expected to eq 2023-03-30 11:51:38.663362218 +00004893 is expected to eq 2023-03-30 11:51:38.663362218 +00004894 is expected to eq nil4895 is expected to eq "private"4896 is expected to include :author4897 file_name4898 returns attribute from repository4899 when repository is empty4900 returns attribute from db4901 ssh_url_to_repo4902 returns attribute4903 when repository does not exist4904 does not include attribute4905 http_url_to_repo4906 returns attribute4907 when repository does not exist4908 does not include attribute4909 files4910 with PersonalSnippet4911 behaves like snippet files4912 returns all snippet files4913 has the file path4914 has the raw url4915 when repository does not exist4916 returns empty array4917 with ProjectSnippet4918 behaves like snippet files4919 returns all snippet files4920 has the file path4921 has the raw url4922 when repository does not exist4923 returns empty array4924 with ProjectSnippet4925 returns snippet web_url attribute4926 returns snippet raw_url attribute4927 behaves like common attributes4928 is expected to eq 604929 is expected to eq "My title 586"4930 is expected to eq "My title 588"4931 is expected to eq 2023-03-30 11:51:39.393932363 +00004932 is expected to eq 2023-03-30 11:51:39.393932363 +00004933 is expected to eq 6194934 is expected to eq "private"4935 is expected to include :author4936 file_name4937 returns attribute from repository4938 when repository is empty4939 returns attribute from db4940 ssh_url_to_repo4941 returns attribute4942 when repository does not exist4943 does not include attribute4944 http_url_to_repo4945 returns attribute4946 when repository does not exist4947 does not include attribute4948 files4949 with PersonalSnippet4950 behaves like snippet files4951 returns all snippet files4952 has the file path4953 has the raw url4954 when repository does not exist4955 returns empty array4956 with ProjectSnippet4957 behaves like snippet files4958 returns all snippet files4959 has the file path4960 has the raw url4961 when repository does not exist4962 returns empty array4963Gitlab::Ci::Trace::ChunkedIO4964 #initialize4965 when a chunk exists4966 is expected to eq 34967 when two chunks exist4968 is expected to eq 64969 when no chunks exists4970 is expected to eq 04971 #seek4972 when moves pos to end of the file4973 is expected to eq 1924414974 when moves pos to middle of the file4975 is expected to eq 962204976 when moves pos around4977 matches the result4978 #eof?4979 when current pos is at end of the file4980 is expected to be truthy4981 when current pos is not at end of the file4982 is expected to be falsey4983 #each_line4984 when buffer size is smaller than file size4985 yields lines4986 when buffer size is larger than file size4987 calls get_chunk only once4988 when buffer consist of many empty lines4989 yields lines4990 #read4991 when read the whole size4992 when buffer size is smaller than file size4993 is expected to eq "\e[0KRunning with gitlab-runner 10.6.0 (a3543a27)\n\e[0;m\e[0K on docker-auto-scale-com 30d62d59\n\...token\e[0;m=rusBKvxM\nsection_end:1522927520:upload_artifacts\n\e[0K\e[32;1mJob succeeded\n\e[0;m\n"4994 when buffer size is larger than file size4995 is expected to eq "\e[0KRunning with gitlab-runner 10.6.0 (a3543a27)\n\e[0;m\e[0K on docker-auto-scale-com 30d62d59\n\...token\e[0;m=rusBKvxM\nsection_end:1522927520:upload_artifacts\n\e[0K\e[32;1mJob succeeded\n\e[0;m\n"4996 when chunk is missing data4997 raises an error4998 when read only first 100 bytes4999 when buffer size is smaller than file size5000 reads a trace5001 when buffer size is larger than file size5002 reads a trace5003 when tries to read oversize5004 when buffer size is smaller than file size5005 reads a trace5006 when buffer size is larger than file size5007 reads a trace5008 when tries to read 0 bytes5009 when buffer size is smaller than file size5010 reads a trace5011 when buffer size is larger than file size5012 reads a trace5013 #readline5014 when buffer size is smaller than file size5015 behaves like all line matching5016 is expected to eq "\e[0;m\n"5017 when buffer size is larger than file size5018 behaves like all line matching5019 is expected to eq "\e[0;m\n"5020 when pos is at middle of the file5021 reads from pos5022 when chunk is missing data5023 raises an error5024 when utf-8 is being used5025 has known length5026 behaves like all line matching5027 is expected to eq "\xF0\x9F\x98\xBA"5028 #write5029 when data does not exist5030 when buffer size is smaller than file size5031 behaves like writes a trace5032 is expected to eq "\e[0KRunning with gitlab-runner 10.6.0 (a3543a27)\n\e[0;m\e[0K on docker-auto-scale-com 30d62d59\n\...token\e[0;m=rusBKvxM\nsection_end:1522927520:upload_artifacts\n\e[0K\e[32;1mJob succeeded\n\e[0;m\n"5033 when buffer size is larger than file size5034 behaves like writes a trace5035 is expected to eq "\e[0KRunning with gitlab-runner 10.6.0 (a3543a27)\n\e[0;m\e[0K on docker-auto-scale-com 30d62d59\n\...token\e[0;m=rusBKvxM\nsection_end:1522927520:upload_artifacts\n\e[0K\e[32;1mJob succeeded\n\e[0;m\n"5036 when data already exists5037 when buffer size is smaller than file size5038 behaves like appends a trace5039 is expected to eq "exist data\e[0KRunning with gitlab-runner 10.6.0 (a3543a27)\n\e[0;m\e[0K on docker-auto-scale-com 3...token\e[0;m=rusBKvxM\nsection_end:1522927520:upload_artifacts\n\e[0K\e[32;1mJob succeeded\n\e[0;m\n"5040 when buffer size is larger than file size5041 behaves like appends a trace5042 is expected to eq "exist data\e[0KRunning with gitlab-runner 10.6.0 (a3543a27)\n\e[0;m\e[0K on docker-auto-scale-com 3...token\e[0;m=rusBKvxM\nsection_end:1522927520:upload_artifacts\n\e[0K\e[32;1mJob succeeded\n\e[0;m\n"5043 #truncate5044 when data does not exist5045 when buffer size is smaller than file size5046 behaves like truncates a trace5047 is expected to eq "\e[0KRunnin"5048 when buffer size is larger than file size5049 behaves like truncates a trace5050 is expected to eq "\e[0KRunnin"5051 #destroy!5052 deletes5053 when the job does not have archived trace5054 leaves a message in sidekiq log5055Ci::BuildTraceChunks::Redis5056 #data5057 when data exists5058 returns the data5059 when data does not exist5060 returns nil5061 #set_data5062 when data exists5063 overwrites data5064 when data does not exist5065 sets new data5066 #append_data5067 when valid offset is used with existing data5068 appends data5069 when data does not exist yet5070 sets new data5071 when data needs to be truncated5072 appends data and truncates stored value5073 when invalid offset is provided5074 raises an exception5075 when trace contains multi-byte UTF8 characters5076 appends data5077 when trace contains non-UTF8 characters5078 appends data5079 #delete_data5080 when data exists5081 deletes data5082 when data does not exist5083 does nothing5084 #size5085 when data exists5086 returns data bytesize correctly5087 when data does not exist5088 returns zero5089 #keys5090 returns keys5091 #delete_keys5092 deletes multiple data5093Gitlab::Database::LoadBalancing::SidekiqServerMiddleware5094 #call5095 when worker class does not include ApplicationWorker5096 sticks to the primary5097 sets load balancing strategy to primary5098 when worker data consistency is :always5099 sticks to the primary5100 sets load balancing strategy to primary5101 when delay interval has not elapsed5102 does not sleep5103 when worker data consistency is :delayed5104 when database wal location is set5105 behaves like replica is up to date5106 does not stick to the primary5107 sets load balancing strategy to replica5108 when deduplication wal location is set5109 behaves like replica is up to date5110 does not stick to the primary5111 sets load balancing strategy to replica5112 when database location is not set5113 sticks to the primary5114 sets load balancing strategy to primary_no_wal5115 when WAL locations are blank5116 does not sleep5117 when WAL locations are present5118 when delay interval has not elapsed5119 when replica is up to date5120 does not sleep5121 when replica is not up to date5122 sleeps until the minimum delay is reached5123 when replica is never not up to date5124 sleeps until the maximum delay is reached5125 when replica is not up to date5126 when job is executed first5127 raises an error and retries5128 sets load balancing strategy to retry5129 when job is retried5130 and replica still lagging behind5131 sticks to the primary5132 sets load balancing strategy to primary5133 and replica is now up-to-date5134 does not stick to the primary5135 sets load balancing strategy to replica_retried5136 when worker data consistency is :sticky5137 when database wal location is set5138 behaves like replica is up to date5139 does not stick to the primary5140 sets load balancing strategy to replica5141 when deduplication wal location is set5142 behaves like replica is up to date5143 does not stick to the primary5144 sets load balancing strategy to replica5145 when database location is not set5146 sticks to the primary5147 sets load balancing strategy to primary_no_wal5148 when WAL locations are blank5149 does not sleep5150 when WAL locations are present5151 when delay interval has not elapsed5152 when replica is up to date5153 does not sleep5154 when replica is not up to date5155 sleeps until the minimum delay is reached5156 when replica is never not up to date5157 sleeps until the maximum delay is reached5158 when replica is not up to date5159 sticks to the primary5160 sets load balancing strategy to primary5161 #databases_in_sync?5162 treats load balancers without WAL entries as in sync5163 returns true when all load balancers are in sync5164 returns false when the load balancers are not in sync5165 when locations have string keys5166 returns false when the load balancers are not in sync5167HamlLint::Linter::DocumentationLinks5168 behaves like link validation rules5169 when link_to points to the existing file path5170 is expected not to report a lint5171 when link_to points to the existing file with valid anchor5172 is expected not to report a lint5173 when link_to points to the existing file path without .md extension5174 is expected not to report a lint5175 when anchor is not correct5176 is expected to report a lint5177 when help_page_path has multiple options5178 is expected to report a lint5179 when file path is wrong5180 is expected to report a lint5181 when haml ends with block definition5182 is expected to report a lint5183 when link with wrong file path is assigned to a variable5184 is expected to report a lint5185 when it is a broken code5186 is expected not to report a lint5187 when anchor belongs to a different element5188 is expected not to report a lint5189 when a simple help_page_path5190 is expected to report a lint5191 when link is not a string5192 is expected not to report a lint5193 when link is a part of the tag5194 is expected to report a lint5195 when the second link is invalid5196 is expected to report a lint5197 behaves like link validation rules5198 when link_to points to the existing file path5199 is expected not to report a lint5200 when link_to points to the existing file with valid anchor5201 is expected not to report a lint5202 when link_to points to the existing file path without .md extension5203 is expected not to report a lint5204 when anchor is not correct5205 is expected to report a lint5206 when help_page_url has multiple options5207 is expected to report a lint5208 when file path is wrong5209 is expected to report a lint5210 when haml ends with block definition5211 is expected to report a lint5212 when link with wrong file path is assigned to a variable5213 is expected to report a lint5214 when it is a broken code5215 is expected not to report a lint5216 when anchor belongs to a different element5217 is expected not to report a lint5218 when a simple help_page_url5219 is expected to report a lint5220 when link is not a string5221 is expected not to report a lint5222 when link is a part of the tag5223 is expected to report a lint5224 when the second link is invalid5225 is expected to report a lint5226 behaves like link validation rules5227 when link_to points to the existing file path5228 is expected not to report a lint5229 when link_to points to the existing file with valid anchor5230 is expected not to report a lint5231 when link_to points to the existing file path without .md extension5232 is expected not to report a lint5233 when anchor is not correct5234 is expected to report a lint5235 when Rails.application.routes.url_helpers.help_page_url has multiple options5236 is expected to report a lint5237 when file path is wrong5238 is expected to report a lint5239 when haml ends with block definition5240 is expected to report a lint5241 when link with wrong file path is assigned to a variable5242 is expected to report a lint5243 when it is a broken code5244 is expected not to report a lint5245 when anchor belongs to a different element5246 is expected not to report a lint5247 when a simple Rails.application.routes.url_helpers.help_page_url5248 is expected to report a lint5249 when link is not a string5250 is expected not to report a lint5251 when link is a part of the tag5252 is expected to report a lint5253 when the second link is invalid5254 is expected to report a lint5255 behaves like link validation rules5256 when link_to points to the existing file path5257 is expected not to report a lint5258 when link_to points to the existing file with valid anchor5259 is expected not to report a lint5260 when link_to points to the existing file path without .md extension5261 is expected not to report a lint5262 when anchor is not correct5263 is expected to report a lint5264 when Gitlab::Routing.url_helpers.help_page_url has multiple options5265 is expected to report a lint5266 when file path is wrong5267 is expected to report a lint5268 when haml ends with block definition5269 is expected to report a lint5270 when link with wrong file path is assigned to a variable5271 is expected to report a lint5272 when it is a broken code5273 is expected not to report a lint5274 when anchor belongs to a different element5275 is expected not to report a lint5276 when a simple Gitlab::Routing.url_helpers.help_page_url5277 is expected to report a lint5278 when link is not a string5279 is expected not to report a lint5280 when link is a part of the tag5281 is expected to report a lint5282 when the second link is invalid5283 is expected to report a lint5284Clusters::CreateService5285 when provider is gcp5286 when project has no clusters5287 when correct params5288 creates a cluster object5289 when invalid params5290 returns an error5291 when project has a cluster5292 creates another cluster5293 when another cluster exists5294 when correct params5295 creates a cluster object5296 when invalid params5297 returns an error5298 when params includes :management_project_id5299 management_project is non-existent5300 does not persist the cluster and adds errors5301 project cluster5302 when user is authorized to adminster manangement_project5303 persists the cluster5304 when user is not authorized to adminster manangement_project5305 does not persist the cluster and adds errors5306 when manangement_project is outside of the namespace scope5307 does not persist the cluster5308 group cluster5309 when user is authorized to adminster manangement_project5310 persists the cluster5311 when user is not authorized to adminster manangement_project5312 does not persist the cluster and adds errors5313 when manangement_project is outside of the namespace scope5314 does not persist the cluster5315 instance cluster5316 when user is authorized to adminster manangement_project5317 persists the cluster5318 when user is not authorized to adminster manangement_project5319 does not persist the cluster and adds errors5320ExtractsPath5321 #assign_ref_vars5322 log tree path has no escape sequences5323 behaves like assigns ref vars5324 assigns the repository var5325 ref contains %205326 is not converted to a space in @id5327 ref contains trailing space5328 strips surrounding space5329 ref contains leading space5330 strips surrounding space5331 path contains space5332 is not converted to %20 in @path5333 subclass overrides get_id5334 uses ref returned by get_id5335 ref contains space in the middle5336 returns 4045337 ref only exists without .atom suffix5338 with a path5339 renders a 4045340 without a path5341 sets the un-suffixed version as @ref5342 sets the request format to Atom5343 ref exists with .atom suffix5344 with a path5345 sets the suffixed version as @ref5346 does not change the request format5347 without a path5348 sets the suffixed version as @ref5349 does not change the request format5350 ref and path are nil5351 does not set commit5352 ref points to a previous default branch5353 redirects to the new default branch for a GET request5354 redirects to the new default branch for a HEAD request5355 returns 404 for any other request type5356 redirect behaviour is disabled5357 returns 404 for a GET request5358 behaves like extracts refs5359 #extract_ref5360 returns an empty pair when no repository_container is set5361 without a path5362 extracts a valid branch5363 extracts a valid tag5364 extracts a valid commit ref without a path5365 falls back to a primitive split for an invalid ref5366 does not fetch ref names when there is no slash5367 fetches ref names when there is a slash5368 with a path5369 extracts a valid branch5370 extracts a valid tag5371 extracts a valid commit SHA5372 falls back to a primitive split for an invalid ref5373 extracts the longest matching ref5374 when the repository does not have ambiguous refs5375 does not fetch all ref names when the first path component is a ref5376 fetches all ref names when the first path component is not a ref5377 when the repository has ambiguous refs5378 always fetches all ref names5379 #extract_ref_without_atom5380 ignores any matching refs suffixed with atom5381 returns the longest matching ref5382 raises an error if there are no matching refs5383Projects::HashedStorage::MigrateAttachmentsService5384 #execute5385 works even when project validation fails5386 when succeeds5387 moves attachments to hashed storage layout5388 returns true5389 sets skipped to false5390 when original folder does not exist anymore5391 skips moving folders and go to next5392 returns true5393 sets skipped to true5394 when target folder already exists5395 succeed when target is empty5396 succeed when target include only discardable items5397 raises AttachmentCannotMoveError when there are non discardable items on target path5398 #old_disk_path5399 returns old disk_path for project5400 #new_disk_path5401 returns new disk_path for project5402 #target_path_discardable?5403 returns true when it include only items on the discardable list5404Gitlab::Database::PostgresForeignKey5405 #by_referenced_table_identifier5406 throws an error when the identifier name is not fully qualified5407 finds the foreign keys for the referenced table5408 #by_referenced_table_name5409 finds the foreign keys for the referenced table5410 #by_constrained_table_identifier5411 throws an error when the identifier name is not fully qualified5412 finds the foreign keys for the constrained table5413 #by_constrained_table_name5414 finds the foreign keys for the constrained table5415 #by_constrained_table_name_or_identifier5416 when using table name5417 finds the foreign keys for the constrained table5418 when using identifier5419 finds the foreign keys for the constrained table5420 #by_name5421 finds foreign keys by name5422 when finding columns for foreign keys5423 fk: lazy { described_class.find_by(name: 'fk_constrained_to_referenced') }, expected_constrained: ["referenced_table_id", "referenced_table_id_b"], expected_referenced: ["id", "id_b"]5424 finds the correct constrained column names5425 finds the correct referenced column names5426 #by_constrained_columns5427 finds the correct foreign key5428 #by_referenced_columns5429 finds the correct foreign key5430 fk: lazy { described_class.find_by(name: 'fk_constrained_to_other_referenced') }, expected_constrained: ["other_referenced_table_id"], expected_referenced: ["id"]5431 finds the correct constrained column names5432 finds the correct referenced column names5433 #by_constrained_columns5434 finds the correct foreign key5435 #by_referenced_columns5436 finds the correct foreign key5437 #on_delete_action and #on_update_action5438 with an invalid on_delete_action5439 raises an error5440 fk_name: "fk_no_action", expected_action: "no_action"5441 has the appropriate on delete action5442 has the appropriate on update action5443 #by_on_delete_action5444 finds the key by on delete action5445 #by_on_update_action5446 finds the key by on update action5447 fk_name: "fk_restrict", expected_action: "restrict"5448 has the appropriate on delete action5449 has the appropriate on update action5450 #by_on_delete_action5451 finds the key by on delete action5452 #by_on_update_action5453 finds the key by on update action5454 fk_name: "fk_nullify", expected_action: "nullify"5455 has the appropriate on delete action5456 has the appropriate on update action5457 #by_on_delete_action5458 finds the key by on delete action5459 #by_on_update_action5460 finds the key by on update action5461 fk_name: "fk_cascade", expected_action: "cascade"5462 has the appropriate on delete action5463 has the appropriate on update action5464 #by_on_delete_action5465 finds the key by on delete action5466 #by_on_update_action5467 finds the key by on update action5468 fk_name: "fk_set_default", expected_action: "set_default"5469 has the appropriate on delete action5470 has the appropriate on update action5471 #by_on_delete_action5472 finds the key by on delete action5473 #by_on_update_action5474 finds the key by on update action5475 when supporting foreign keys to inherited tables5476 #is_inherited5477 fk: lazy { described_class.find_by(name: 'fk_inherited') }, inherited: false5478 has the appropriate inheritance value5479 fk: lazy { described_class.by_referenced_table_identifier(schema_table_name('child')).first! }, inherited: true5480 has the appropriate inheritance value5481 fk: lazy { described_class.find_by(name: 'fk_constrained_to_referenced') }, inherited: false5482 has the appropriate inheritance value5483 #not_inherited5484 lists all non-inherited foreign keys5485Gitlab::ImportExport::Group::TreeSaver5486 saves the group tree into a json object5487 saves the group successfully5488 fails to export a group5489 exported files5490 has one group per line5491 has a file per group5492 has a file for each group association5493 group attributes file5494 has a file for each group with its attributes5495 does not contain excluded attribute5496 does not contain excluded attribute5497 does not contain excluded attribute5498 does not contain excluded attribute5499 does not contain excluded attribute5500 does not contain excluded attribute5501Issues::SetCrmContactsService5502 #execute5503 when the user has no permission5504 returns expected error response5505 when user has permission5506 but the crm setting is disabled5507 returns expected error response5508 when the contact does not exist5509 returns expected error response5510 when the contact belongs to a different group5511 returns expected error response5512 replace5513 behaves like setting contacts5514 updates the issue with correct contacts5515 behaves like adds system note5516 calls SystemNoteService.change_issuable_contacts with correct counts5517 add5518 behaves like setting contacts5519 updates the issue with correct contacts5520 behaves like adds system note5521 calls SystemNoteService.change_issuable_contacts with correct counts5522 add by email5523 with pure emails in params5524 behaves like setting contacts5525 updates the issue with correct contacts5526 behaves like adds system note5527 calls SystemNoteService.change_issuable_contacts with correct counts5528 with autocomplete prefix emails in params5529 behaves like setting contacts5530 updates the issue with correct contacts5531 behaves like adds system note5532 calls SystemNoteService.change_issuable_contacts with correct counts5533 remove5534 behaves like setting contacts5535 updates the issue with correct contacts5536 behaves like adds system note5537 calls SystemNoteService.change_issuable_contacts with correct counts5538 remove by email5539 with pure email in params5540 behaves like setting contacts5541 updates the issue with correct contacts5542 behaves like adds system note5543 calls SystemNoteService.change_issuable_contacts with correct counts5544 with autocomplete prefix and suffix email in params5545 behaves like setting contacts5546 updates the issue with correct contacts5547 behaves like adds system note5548 calls SystemNoteService.change_issuable_contacts with correct counts5549 when attempting to add more than 65550 returns expected error message5551 when trying to remove non-existent contact5552 returns expected error message5553 when combining params5554 add and remove5555 with contact ids5556 behaves like setting contacts5557 updates the issue with correct contacts5558 with contact emails5559 behaves like setting contacts5560 updates the issue with correct contacts5561 replace and remove5562 returns expected error response5563 replace and add5564 returns expected error response5565 when trying to add an existing issue contact5566 does not return an error5567 when trying to add the same contact twice5568 does not return an error5569 when trying to remove a contact not attached to the issue5570 does not return an error5571Gitlab::Diff::Rendered::Notebook::DiffFile5572 #old_blob and #new_blob5573 when file is changed5574 transforms the old blob5575 transforms the new blob5576 when file is added5577 old_blob is empty5578 new_blob is transformed5579 when file is removed5580 old_blob is transformed5581 new_blob is empty5582 #diff5583 for valid notebooks5584 returns the transformed diff5585 for invalid notebooks5586 returns nil5587 timeout5588 utilizes timeout for web5589 falls back to nil on timeout5590 utilizes longer timeout for sidekiq5591 #has_renderable?5592 notebook diff is empty5593 is false5594 notebook is valid5595 is true5596 when old blob file is truncated5597 is false5598 when new blob file is truncated5599 is false5600 #highlighted_diff_lines?5601 when line transformed line is not part of the diff5602 line is not discussable5603 when line transformed line part of the diff5604 line is not discussable5605 assigns the correct position5606 computes the first line where the remove would appear5607 has image5608 replaces rich text with img to the embedded image5609 adds image to src5610 when embedded image has injected html5611 prevents injected html to be rendered as html5612 keeps the injected html as part of the string5613Ci::StagePresenter5614 #latest_ordered_statuses5615 behaves like preloaded associations for CI status5616 preloads project5617 preloads build pipeline5618 preloads build tags5619 preloads build artifacts archive5620 preloads build artifacts metadata5621 #retried_ordered_statuses5622 behaves like preloaded associations for CI status5623 preloads project5624 preloads build pipeline5625 preloads build tags5626 preloads build artifacts archive5627 preloads build artifacts metadata5628Projects::ContainerRepository::Gitlab::CleanupTagsService5629 # order random5630 #execute5631 with several tags pages5632 behaves like when regex matching everything is specified5633 behaves like removing the expected tags5634 removes the expected tags5635 with deprecated name_regex param5636 behaves like removing the expected tags5637 removes the expected tags5638 behaves like when regex matching everything is specified and latest is not kept5639 behaves like removing the expected tags5640 removes the expected tags5641 behaves like when delete regex matching specific tags is used5642 behaves like removing the expected tags5643 removes the expected tags5644 behaves like when delete regex matching specific tags is used with overriding allow regex5645 behaves like removing the expected tags5646 removes the expected tags5647 with name_regex_delete overriding deprecated name_regex5648 behaves like removing the expected tags5649 removes the expected tags5650 behaves like with allow regex value5651 behaves like removing the expected tags5652 removes the expected tags5653 behaves like when keeping only N tags5654 sorts tags by date5655 behaves like when not keeping N tags5656 does not sort tags by date5657 when removing keeping only 35658 behaves like not removing anything5659 does not remove anything5660 behaves like when removing older than 1 day5661 behaves like removing the expected tags5662 removes the expected tags5663 behaves like when combining all parameters5664 behaves like removing the expected tags5665 removes the expected tags5666 behaves like when running a container_expiration_policy5667 with valid container_expiration_policy param5668 removes the expected tags5669 with a timeout5670 removes the first few pages5671 when disable_timeout is set to true5672 does not check if it timed out5673 behaves like when regex matching everything is specified5674 behaves like removing the expected tags5675 removes the expected tags5676 with deprecated name_regex param5677 behaves like removing the expected tags5678 removes the expected tags5679 with a single tags page5680 behaves like when regex matching everything is specified5681 behaves like removing the expected tags5682 removes the expected tags5683 with deprecated name_regex param5684 behaves like removing the expected tags5685 removes the expected tags5686 behaves like when delete regex matching specific tags is used5687 behaves like removing the expected tags5688 removes the expected tags5689 behaves like when delete regex matching specific tags is used with overriding allow regex5690 behaves like removing the expected tags5691 removes the expected tags5692 with name_regex_delete overriding deprecated name_regex5693 behaves like removing the expected tags5694 removes the expected tags5695 behaves like with allow regex value5696 behaves like removing the expected tags5697 removes the expected tags5698 behaves like when keeping only N tags5699 sorts tags by date5700 behaves like when not keeping N tags5701 does not sort tags by date5702 behaves like when removing keeping only 35703 behaves like removing the expected tags5704 removes the expected tags5705 behaves like when removing older than 1 day5706 behaves like removing the expected tags5707 removes the expected tags5708 behaves like when combining all parameters5709 behaves like removing the expected tags5710 removes the expected tags5711 behaves like when running a container_expiration_policy5712 with valid container_expiration_policy param5713 removes the expected tags5714 with no tags page5715 is expected to eq {:before_delete_size=>0, :deleted=>[], :deleted_size=>0, :original_size=>0, :status=>:success}5716AccessRequestsFinder5717 behaves like #execute5718 when current user cannot see project access requests5719 behaves like a finder returning no results5720 raises Gitlab::Access::AccessDeniedError5721 behaves like a finder returning no results5722 raises Gitlab::Access::AccessDeniedError5723 when current user can see access requests5724 behaves like a finder returning access requesters5725 returns access requesters5726 behaves like a finder returning access requesters5727 returns access requesters5728 behaves like #execute!5729 when current user cannot see access requests5730 behaves like a finder raising Gitlab::Access::AccessDeniedError5731 raises Gitlab::Access::AccessDeniedError5732 behaves like a finder raising Gitlab::Access::AccessDeniedError5733 raises Gitlab::Access::AccessDeniedError5734 when current user can see access requests5735 behaves like a finder returning access requesters5736 returns access requesters5737 behaves like a finder returning access requesters5738 returns access requesters5739DiffFileBaseEntity5740 submodule information for a5741 newly added submodule5742 says it is a submodule and contains links5743 has no compare url because the submodule was newly added5744 changed submodule5745 contains a link to compare the changes5746 normal file (no submodule)5747 sets submodule to false5748 contains raw sizes for the blob5749 is expected to eq 1325750 edit_path5751 open5752 behaves like a diff file edit path to the source branch5753 is expected to eq "/namespace598/project694/-/edit/feature/files/ruby/feature.rb?from_merge_request_iid=1"5754 behaves like nil if removed source branch5755 is expected to eq nil5756 closed5757 behaves like a diff file edit path to the source branch5758 is expected to eq "/namespace598/project694/-/edit/feature/files/ruby/feature.rb?from_merge_request_iid=1"5759 removed source branch5760 is expected to eq nil5761 merged5762 is expected to eq "/namespace598/project694/-/edit/feature/six"5763 ide_edit_path5764 when source_project and target_project are the same5765 returns the merge_request ide route5766 behaves like nil if removed source branch5767 is expected to eq nil5768 when source_project and target_project are different5769 returns the merge_request ide route with the target_project as param5770Resolvers::ContainerRepositoriesResolver5771 #resolve5772 with authorized user5773 when the object is a project5774 behaves like returning container repositories5775 is expected to contain exactly #<ContainerRepository id: 31, project_id: 695, name: "test_image_1", created_at: "2023-03-30 11:53:04...deleted_tags_count: nil, delete_started_at: nil, status_updated_at: nil, verification_checksum: nil>5776 with a named search5777 is expected to contain exactly #<ContainerRepository id: 32, project_id: 695, name: "Foobar", created_at: "2023-03-30 11:53:04.88366...deleted_tags_count: nil, delete_started_at: nil, status_updated_at: nil, verification_checksum: nil>5778 with a sort argument5779 created_desc5780 is expected to eq [#<ContainerRepository id: 34, project_id: 696, name: "foo", created_at: "2023-03-30 10:53:05.3498094...eleted_tags_count: nil, delete_started_at: nil, status_updated_at: nil, verification_checksum: nil>]5781 updated_asc5782 is expected to eq [#<ContainerRepository id: 34, project_id: 696, name: "foo", created_at: "2023-03-30 10:53:05.3498094...eleted_tags_count: nil, delete_started_at: nil, status_updated_at: nil, verification_checksum: nil>]5783 name_desc5784 is expected to eq [#<ContainerRepository id: 34, project_id: 696, name: "foo", created_at: "2023-03-30 10:53:05.3498094...eleted_tags_count: nil, delete_started_at: nil, status_updated_at: nil, verification_checksum: nil>]5785 created_asc5786 is expected to eq [#<ContainerRepository id: 33, project_id: 696, name: "bar", created_at: "2023-03-29 11:53:05.3390328...eleted_tags_count: nil, delete_started_at: nil, status_updated_at: nil, verification_checksum: nil>]5787 updated_desc5788 is expected to eq [#<ContainerRepository id: 33, project_id: 696, name: "bar", created_at: "2023-03-29 11:53:05.3390328...eleted_tags_count: nil, delete_started_at: nil, status_updated_at: nil, verification_checksum: nil>]5789 name_asc5790 is expected to eq [#<ContainerRepository id: 33, project_id: 696, name: "bar", created_at: "2023-03-29 11:53:05.3390328...eleted_tags_count: nil, delete_started_at: nil, status_updated_at: nil, verification_checksum: nil>]5791 when the object is a group5792 behaves like returning container repositories5793 is expected to contain exactly #<ContainerRepository id: 31, project_id: 695, name: "test_image_1", created_at: "2023-03-30 11:53:04...deleted_tags_count: nil, delete_started_at: nil, status_updated_at: nil, verification_checksum: nil>5794 with a named search5795 is expected to contain exactly #<ContainerRepository id: 35, project_id: 695, name: "Foobar", created_at: "2023-03-30 11:53:06.49038...deleted_tags_count: nil, delete_started_at: nil, status_updated_at: nil, verification_checksum: nil>5796 with a sort argument5797 created_desc5798 is expected to eq [#<ContainerRepository id: 37, project_id: 697, name: "foo", created_at: "2023-03-30 10:53:06.9906631...eleted_tags_count: nil, delete_started_at: nil, status_updated_at: nil, verification_checksum: nil>]5799 updated_asc5800 is expected to eq [#<ContainerRepository id: 37, project_id: 697, name: "foo", created_at: "2023-03-30 10:53:06.9906631...eleted_tags_count: nil, delete_started_at: nil, status_updated_at: nil, verification_checksum: nil>]5801 name_desc5802 is expected to eq [#<ContainerRepository id: 37, project_id: 697, name: "foo", created_at: "2023-03-30 10:53:06.9906631...eleted_tags_count: nil, delete_started_at: nil, status_updated_at: nil, verification_checksum: nil>]5803 created_asc5804 is expected to eq [#<ContainerRepository id: 36, project_id: 697, name: "bar", created_at: "2023-03-29 11:53:06.9804017...eleted_tags_count: nil, delete_started_at: nil, status_updated_at: nil, verification_checksum: nil>]5805 updated_desc5806 is expected to eq [#<ContainerRepository id: 36, project_id: 697, name: "bar", created_at: "2023-03-29 11:53:06.9804017...eleted_tags_count: nil, delete_started_at: nil, status_updated_at: nil, verification_checksum: nil>]5807 name_asc5808 is expected to eq [#<ContainerRepository id: 36, project_id: 697, name: "bar", created_at: "2023-03-29 11:53:06.9804017...eleted_tags_count: nil, delete_started_at: nil, status_updated_at: nil, verification_checksum: nil>]5809 when the object is an invalid type5810 is expected to raise Exception with "invalid subject_type"5811 with unauthorized user5812 is expected to equal nil5813Discussions::ResolveService5814 #execute5815 doesn't resolve discussions the user can't resolve5816 resolves the discussion5817 tracks thread resolve usage data5818 executes the notification service5819 schedules an auto-merge5820 sends GraphQL triggers5821 adds a system note to the discussion5822 can resolve multiple discussions at once5823 raises an argument error if discussions do not belong to the same noteable5824 with a project that requires all discussion to be resolved5825 does not schedule an auto-merge5826 schedules an auto-merge5827 when discussion is not for a merge request5828 does not execute the notification service5829 does not track thread resolve usage data5830 does not schedule an auto-merge5831 does not send GraphQL triggers5832 when resolving a discussion5833 in a design5834 when user resolving discussion has open todos5835 marks user todos for given discussion as done5836 in a merge request5837 does not mark user todo as done5838BulkImports::RelationExportService5839 #execute5840 exports specified relation and marks export as finished5841 removes temp export files5842 exports specified relation and marks export as finished5843 when exporting a file relation5844 uses file export service5845 when export record does not exist5846 creates export record5847 when there is existing export present5848 removes existing export before exporting5849 when export is recently finished5850 returns recently finished export instead of re-exporting5851 when exception occurs during export5852 marks export as failed5853 tracks exception5854 when passed relation is not supported5855 tracks exception5856 when user is not allowed to perform export5857 tracks exception5858Environments::CreateForBuildService5859 # order random5860 #execute5861 when job has environment name attribute5862 behaves like returning a correct environment5863 returns a persisted environment object5864 when environment has already existed5865 returns the existing environment object5866 and job environment also has an auto_stop_in attribute5867 behaves like returning a correct environment5868 returns a persisted environment object5869 when environment has already existed5870 returns the existing environment object5871 and job environment has an auto_stop_in variable attribute5872 behaves like returning a correct environment5873 returns a persisted environment object5874 when environment has already existed5875 returns the existing environment object5876 when job has deployment tier attribute5877 when environment has not been created yet5878 sets the specified deployment tier5879 when deployment tier is staging5880 sets the specified deployment tier5881 when deployment tier is unknown5882 raises an error5883 when environment has already been created5884 does not overwrite the specified deployment tier5885 when job starts a review app5886 behaves like returning a correct environment5887 returns a persisted environment object5888 when environment has already existed5889 returns the existing environment object5890 when job stops a review app5891 behaves like returning a correct environment5892 returns a persisted environment object5893 when environment has already existed5894 returns the existing environment object5895 when merge_request is provided5896 and environment does not exist5897 creates an environment associated with the merge request5898 and environment already exists5899 does not change the merge request associated with the environment5900 when a pipeline contains a deployment job5901 and the environment does not exist5902 creates the environment specified by the job5903 and the pipeline is for a merge request5904 associates the environment with the merge request5905 when an environment already exists5906 ensures environment existence for the job5907 and the pipeline is for a merge request5908 does not associate the environment with the merge request5909 when an environment name contains an invalid character5910 sets the failure status5911 when a pipeline contains a teardown job5912 ensures environment existence for the job5913 when a pipeline does not contain a deployment job5914 does not create any environments5915Gitlab::Ci::Config::Entry::Release5916 validation5917 when entry config value is correct5918 behaves like a valid entry5919 #value5920 returns release configuration5921 #valid?5922 is valid5923 when value includes 'assets' keyword5924 behaves like a valid entry5925 #value5926 returns release configuration5927 #valid?5928 is valid5929 when value includes 'name' keyword5930 behaves like a valid entry5931 #value5932 returns release configuration5933 #valid?5934 is valid5935 when value includes 'ref' keyword5936 behaves like a valid entry5937 #value5938 returns release configuration5939 #valid?5940 is valid5941 when value includes 'released_at' keyword5942 behaves like a valid entry5943 #value5944 returns release configuration5945 #valid?5946 is valid5947 when value includes 'milestones' keyword5948 for an array of milestones5949 behaves like a valid entry5950 #value5951 returns release configuration5952 #valid?5953 is valid5954 for a single milestone5955 behaves like a valid entry5956 #value5957 returns release configuration5958 #valid?5959 is valid5960 when value includes 'ref' keyword5961 when 'ref' is a full commit SHA5962 behaves like a valid entry5963 #value5964 returns release configuration5965 #valid?5966 is valid5967 when 'ref' is a short commit SHA5968 behaves like a valid entry5969 #value5970 returns release configuration5971 #valid?5972 is valid5973 when 'ref' is a branch name5974 behaves like a valid entry5975 #value5976 returns release configuration5977 #valid?5978 is valid5979 when 'ref' is a semantic versioning tag5980 behaves like a valid entry5981 #value5982 returns release configuration5983 #valid?5984 is valid5985 when 'ref' is a semantic versioning tag rc5986 behaves like a valid entry5987 #value5988 returns release configuration5989 #valid?5990 is valid5991 when value includes 'released_at' keyword5992 behaves like a valid entry5993 #value5994 returns release configuration5995 #valid?5996 is valid5997 when value includes 'milestones' keyword5998 for an array of milestones5999 behaves like a valid entry6000 #value6001 returns release configuration6002 #valid?6003 is valid6004 for a single milestone6005 behaves like a valid entry6006 #value6007 returns release configuration6008 #valid?6009 is valid6010 when value includes 'tag_message' keyword6011 behaves like a valid entry6012 #value6013 returns release configuration6014 #valid?6015 is valid6016 when 'tag_message' is nil6017 behaves like a valid entry6018 #value6019 returns release configuration6020 #valid?6021 is valid6022 when entry value is not correct6023 #errors6024 when value of attribute is invalid6025 behaves like reports error6026 reports error6027 when release description is missing6028 behaves like reports error6029 reports error6030 when release tag_name is missing6031 behaves like reports error6032 reports error6033 when there is an unknown key present6034 behaves like reports error6035 reports error6036 when `released_at` is not a valid date6037 behaves like reports error6038 reports error6039 when `ref` is not valid6040 behaves like reports error6041 reports error6042 when `milestones` is not an array of strings6043 behaves like reports error6044 reports error6045 when `tag_message` is not a string6046 behaves like reports error6047 reports error6048Gitlab::MarkdownCache::ActiveRecord::Extension6049 an unchanged markdown field6050 is expected to eq "`Foo`"6051 is expected to eq "<p data-sourcepos=\"1:1-1:5\" dir=\"auto\"><code>Foo</code></p>"6052 is expected not to be truthy6053 is expected to eq 20971526054 a changed markdown field6055 is expected to eq "<p data-sourcepos=\"1:1-1:5\" dir=\"auto\"><code>Bar</code></p>"6056 is expected to eq 20971526057 when a markdown field is set repeatedly to an empty string6058 is expected to receive refresh_markdown_cache(*(any args)) 1 time6059 when a markdown field is set repeatedly to a string which renders as empty html6060 is expected to receive refresh_markdown_cache(*(any args)) 1 time6061 a non-markdown field changed6062 is expected to eq 26063 is expected to eq "`Foo`"6064 is expected to eq "<p data-sourcepos=\"1:1-1:5\" dir=\"auto\"><code>Foo</code></p>"6065 is expected to eq 20971526066 version is out of date6067 is expected to eq "<p data-sourcepos=\"1:1-1:5\" dir=\"auto\"><code>Bar</code></p>"6068 is expected to eq 20971526069 when an invalidating field is changed6070 invalidates the cache when project changes6071 invalidates the cache when author changes6072 .attributes6073 excludes cache attributes that is blacklisted by default6074 #cached_html_up_to_date?6075 returns false if markdown has been changed but html has not6076 returns true if markdown has not been changed but html has6077 returns true if markdown and html have both been changed6078 returns false if the markdown field is set but the html is not6079 #refresh_markdown_cache!6080 skips saving if not persisted6081 saves the changes6082 with note6083 calls store_mentions!6084 during import6085 does not call store_mentions!6086 when persisted cache is newer than current version6087 does not save the generated HTML6088 when persisted cache is nil6089 does not save the generated HTML6090Banzai::ReferenceParser::IssueParser6091 #nodes_visible_to_user6092 when the link has a data-issue attribute6093 returns the nodes when the user can read the issue6094 returns an empty Array when the user can not read the issue6095 behaves like referenced feature visibility6096 when feature is disabled6097 does not create reference6098 when feature is enabled only for team members6099 does not create reference for non member6100 creates reference for member6101 when feature is enabled6102 creates reference6103 when the user cannot read cross project6104 returns the nodes when the user can read the issue6105 returns an empty Array when the user can not read the issue6106 when the issue is not cross project6107 does not check `can_read_reference` if the issue is not cross project6108 when the link does not have a data-issue attribute6109 returns an empty Array6110 #referenced_by6111 when the link has a data-issue attribute6112 using an existing issue ID6113 returns an Array of issues6114 returns an empty Array when the list of nodes is empty6115 when issue with given ID does not exist6116 returns an empty Array6117 #records_for_nodes6118 returns a Hash containing the issues for a list of nodes6119 when checking multiple issues on another project6120 behaves like no N+1 queries6121 avoids N+1 queries in #records_for_nodes6122 behaves like no project N+1 queries6123 avoids N+1 queries in #nodes_visible_to_user6124Ci::RunnerMachinePolicy6125 # order random6126 ability :read_runner_machine6127 without access6128 behaves like does not allow reading runners machines on any scope6129 with instance runner6130 is expected not to be allowed :read_runner_machine6131 with shared runners disabled for groups and projects6132 is expected not to be allowed :read_runner_machine6133 with group runner6134 is expected not to be allowed :read_runner_machine6135 with sharing of group runners disabled6136 is expected not to be allowed :read_runner_machine6137 with project runner6138 is expected not to be allowed :read_runner_machine6139 with guest access6140 behaves like does not allow reading runners machines on any scope6141 with instance runner6142 is expected not to be allowed :read_runner_machine6143 with shared runners disabled for groups and projects6144 is expected not to be allowed :read_runner_machine6145 with group runner6146 is expected not to be allowed :read_runner_machine6147 with sharing of group runners disabled6148 is expected not to be allowed :read_runner_machine6149 with project runner6150 is expected not to be allowed :read_runner_machine6151 with developer access6152 behaves like a policy allowing reading instance runner machine depending on runner sharing6153 with instance runner6154 is expected to be allowed :read_runner_machine6155 with shared runners disabled on projects6156 is expected to be allowed :read_runner_machine6157 with shared runners disabled for groups and projects6158 is expected not to be allowed :read_runner_machine6159 behaves like a policy allowing reading group runner machine depending on runner sharing6160 with group runner6161 is expected to be allowed :read_runner_machine6162 with sharing of group runners disabled6163 is expected not to be allowed :read_runner_machine6164 with project runner6165 is expected not to be allowed :read_runner_machine6166 with maintainer access6167 behaves like a policy allowing reading instance runner machine depending on runner sharing6168 with instance runner6169 is expected to be allowed :read_runner_machine6170 with shared runners disabled on projects6171 is expected to be allowed :read_runner_machine6172 with shared runners disabled for groups and projects6173 is expected not to be allowed :read_runner_machine6174 behaves like a policy allowing reading group runner machine depending on runner sharing6175 with group runner6176 is expected to be allowed :read_runner_machine6177 with sharing of group runners disabled6178 is expected not to be allowed :read_runner_machine6179 with project runner6180 is expected to be allowed :read_runner_machine6181 with owner access6182 behaves like a policy allowing reading instance runner machine depending on runner sharing6183 with instance runner6184 is expected to be allowed :read_runner_machine6185 with shared runners disabled on projects6186 is expected to be allowed :read_runner_machine6187 with shared runners disabled for groups and projects6188 is expected not to be allowed :read_runner_machine6189 with group runner6190 is expected to be allowed :read_runner_machine6191 with sharing of group runners disabled6192 is expected to be allowed :read_runner_machine6193 with project runner6194 is expected to be allowed :read_runner_machine6195FeatureFlagsFinder6196 #execute6197 returns feature flags ordered by name6198 preloads relations by default6199 when user is a reporter6200 returns an empty list6201 when scope is given6202 when scope is enabled6203 returns active feature flag6204 when scope is disabled6205 returns inactive feature flag6206 when preload option is false6207 does not preload relations6208Users::ApproveService6209 #execute6210 failures6211 when the executor user is not allowed to approve users6212 returns error result6213 when the executor user is an admin not in admin mode6214 returns error result6215 when the executor user is an admin in admin mode6216 when user is not in pending approval state6217 returns error result6218 when user cannot be activated6219 returns error result6220 does not change the state of the user6221 success6222 when the executor user is an admin in admin mode6223 activates the user6224 logs approval in application logs6225 emails the user on approval6226 email confirmation status6227 user is unconfirmed6228 sends confirmation instructions6229 user is confirmed6230 does not send a confirmation email6231 audit events6232 when not licensed6233 does not log any audit event6234 pending invitations6235 user is unconfirmed6236 does not accept pending invites of the user6237 user is confirmed6238 accepts pending invites of the user6239Packages::PackagesFinder6240 #execute6241 with package_type6242 conan packages6243 is expected to eq [#<Packages::Package id: 98, project_id: 720, created_at: "2023-03-29 11:53:45.612851689 +0000", upda...sion: "1.0.0", package_type: "conan", creator_id: 1125, status: "default", last_downloaded_at: nil>]6244 npm packages6245 is expected to contain exactly #<Packages::Package id: 99, project_id: 720, created_at: "2023-03-30 11:53:46.028864827 +0000", updat...version: "1.0.1", package_type: "npm", creator_id: 1125, status: "default", last_downloaded_at: nil> and #<Packages::Package id: 100, project_id: 720, created_at: "2023-03-30 11:53:46.050678577 +0000", upda...version: "1.0.2", package_type: "npm", creator_id: 1125, status: "default", last_downloaded_at: nil>6246 with order_by6247 by default is created_at6248 is expected to eq [#<Packages::Package id: 96, project_id: 720, created_at: "2023-03-28 11:53:45.358017220 +0000", upda...sion: "1.0.0", package_type: "conan", creator_id: 1125, status: "default", last_downloaded_at: nil>]6249 order by name6250 is expected to eq [#<Packages::Package id: 98, project_id: 720, created_at: "2023-03-29 11:53:45.612851689 +0000", upda...sion: "2.0.0", package_type: "maven", creator_id: 1125, status: "default", last_downloaded_at: nil>]6251 order by version6252 is expected to eq [#<Packages::Package id: 98, project_id: 720, created_at: "2023-03-29 11:53:45.612851689 +0000", upda...sion: "2.0.0", package_type: "maven", creator_id: 1125, status: "default", last_downloaded_at: nil>]6253 order by type6254 is expected to eq [#<Packages::Package id: 96, project_id: 720, created_at: "2023-03-28 11:53:45.358017220 +0000", upda...sion: "1.0.0", package_type: "conan", creator_id: 1125, status: "default", last_downloaded_at: nil>]6255 with sort6256 by default is ascending6257 is expected to eq [#<Packages::Package id: 96, project_id: 720, created_at: "2023-03-28 11:53:45.358017220 +0000", upda...sion: "1.0.0", package_type: "conan", creator_id: 1125, status: "default", last_downloaded_at: nil>]6258 can sort descended6259 is expected to eq [#<Packages::Package id: 98, project_id: 720, created_at: "2023-03-29 11:53:45.612851689 +0000", upda...sion: "2.0.0", package_type: "maven", creator_id: 1125, status: "default", last_downloaded_at: nil>]6260 with package_name6261 is expected to eq [#<Packages::Package id: 96, project_id: 720, created_at: "2023-03-28 11:53:45.358017220 +0000", upda...sion: "2.0.0", package_type: "maven", creator_id: 1125, status: "default", last_downloaded_at: nil>]6262 with nil params6263 is expected to contain exactly #<Packages::Package id: 98, project_id: 720, created_at: "2023-03-29 11:53:45.612851689 +0000", updat...rsion: "1.0.0", package_type: "conan", creator_id: 1125, status: "default", last_downloaded_at: nil> and #<Packages::Package id: 96, project_id: 720, created_at: "2023-03-28 11:53:45.358017220 +0000", updat...rsion: "2.0.0", package_type: "maven", creator_id: 1125, status: "default", last_downloaded_at: nil>6264 with processing packages6265 is expected to contain exactly #<Packages::Package id: 98, project_id: 720, created_at: "2023-03-29 11:53:45.612851689 +0000", updat...rsion: "1.0.0", package_type: "conan", creator_id: 1125, status: "default", last_downloaded_at: nil> and #<Packages::Package id: 96, project_id: 720, created_at: "2023-03-28 11:53:45.358017220 +0000", updat...rsion: "2.0.0", package_type: "maven", creator_id: 1125, status: "default", last_downloaded_at: nil>6266 preload_pipelines6267 preloads pipelines by default6268 set to false6269 does not preload pipelines6270 behaves like concerning versionless param6271 is expected not to include #<Packages::Package id: 103, project_id: 720, created_at: "2023-03-30 11:53:46.890444792 +0000", upda..., version: nil, package_type: "maven", creator_id: 1125, status: "default", last_downloaded_at: nil>6272 with valid include_versionless param6273 is expected to include #<Packages::Package id: 103, project_id: 720, created_at: "2023-03-30 11:53:46.890444792 +0000", upda..., version: nil, package_type: "maven", creator_id: 1125, status: "default", last_downloaded_at: nil>6274 with empty include_versionless param6275 is expected not to include #<Packages::Package id: 103, project_id: 720, created_at: "2023-03-30 11:53:46.890444792 +0000", upda..., version: nil, package_type: "maven", creator_id: 1125, status: "default", last_downloaded_at: nil>6276 behaves like concerning package statuses6277 displayable packages6278 is expected not to include #<Packages::Package id: 105, project_id: 720, created_at: "2023-03-30 11:53:47.283023840 +0000", upda..."1.33-SNAPSHOT", package_type: "maven", creator_id: 1125, status: "hidden", last_downloaded_at: nil>6279 is expected to include #<Packages::Package id: 107, project_id: 720, created_at: "2023-03-30 11:53:47.551025849 +0000", upda... "1.35-SNAPSHOT", package_type: "maven", creator_id: 1125, status: "error", last_downloaded_at: nil>6280 with status param6281 is expected to contain exactly #<Packages::Package id: 105, project_id: 720, created_at: "2023-03-30 11:53:47.283023840 +0000", upda..."1.33-SNAPSHOT", package_type: "maven", creator_id: 1125, status: "hidden", last_downloaded_at: nil>6282 with invalid status param6283 is expected to raise Packages::FinderHelper::InvalidStatusError6284projects/commits/_commit.html.haml6285 with different committer6286 renders committed by user6287 with a signed commit6288 does not display a loading spinner for GPG status6289 with ci status6290 when pipelines are disabled6291 does not display a ci status icon6292 when pipelines are enabled6293 when user has access6294 displays a ci status icon6295 when user does not have access6296 does not display a ci status icon6297Users::DeactivateDormantUsersWorker6298 #perform6299 does not run for SaaS6300 when automatic deactivation of dormant users is enabled6301 deactivates dormant users6302 does not deactivate non-active users6303 does not deactivate recently created users6304 triggers update of highest user role for deactivated users6305 user_type: :human, expected_state: "deactivated"6306 deactivates certain user types6307 user_type: :human_deprecated, expected_state: "deactivated"6308 deactivates certain user types6309 user_type: :support_bot, expected_state: "active"6310 deactivates certain user types6311 user_type: :alert_bot, expected_state: "active"6312 deactivates certain user types6313 user_type: :visual_review_bot, expected_state: "active"6314 deactivates certain user types6315 user_type: :service_user, expected_state: "deactivated"6316 deactivates certain user types6317 user_type: :ghost, expected_state: "active"6318 deactivates certain user types6319 user_type: :project_bot, expected_state: "active"6320 deactivates certain user types6321 user_type: :migration_bot, expected_state: "active"6322 deactivates certain user types6323 user_type: :security_bot, expected_state: "active"6324 deactivates certain user types6325 user_type: :automation_bot, expected_state: "active"6326 deactivates certain user types6327 when automatic deactivation of dormant users is disabled6328 does nothing6329JiraImport::StartImportService6330 when an error is returned from the project validation6331 behaves like responds with error6332 returns error6333 when project validation is ok6334 when Jira project key is not provided6335 behaves like responds with error6336 returns error6337 when correct data provided6338 when import is already running6339 behaves like responds with error6340 returns error6341 when an error is raised while scheduling import6342 saves the error message6343 behaves like responds with error6344 returns error6345 when everything is ok6346 with complete mapping6347 returns success response6348 schedules Jira import6349 creates Jira import data6350 creates Jira import label6351 creates Jira label title with correct number6352 when mapping is nil6353 returns success response6354 when no mapping value is complete6355 returns success response6356 when multiple Jira imports for same Jira project6357 creates Jira label title with correct number6358Gitlab::GithubImport::Representation::DiffNote6359 .from_api_response6360 behaves like a DiffNote representation6361 returns an instance of DiffNote6362 the returned DiffNote6363 includes the number of the merge request6364 includes the file path of the diff6365 includes the commit ID6366 includes the created timestamp6367 includes the updated timestamp6368 includes the GitHub ID6369 returns the noteable type6370 #diff_hash6371 returns a Hash containing the diff details6372 #diff_position6373 when the diff is an addition6374 returns a Gitlab::Diff::Position6375 when the diff is an deletion6376 returns a Gitlab::Diff::Position6377 #github_identifiers6378 returns a hash with needed identifiers6379 #line_code6380 generates the proper line code6381 #note and #contains_suggestion?6382 includes the note body6383 when the note have a suggestion6384 returns the suggestion formatted in the note6385 when the note have a multiline suggestion6386 returns the multi-line suggestion formatted in the note6387 #author6388 includes the user details6389 when the author is empty6390 does not set the user if the response did not include a user6391 #discussion_id6392 finds or generates discussion_id value6393 .from_json_hash6394 behaves like a DiffNote representation6395 returns an instance of DiffNote6396 the returned DiffNote6397 includes the number of the merge request6398 includes the file path of the diff6399 includes the commit ID6400 includes the created timestamp6401 includes the updated timestamp6402 includes the GitHub ID6403 returns the noteable type6404 #diff_hash6405 returns a Hash containing the diff details6406 #diff_position6407 when the diff is an addition6408 returns a Gitlab::Diff::Position6409 when the diff is an deletion6410 returns a Gitlab::Diff::Position6411 #github_identifiers6412 returns a hash with needed identifiers6413 #line_code6414 generates the proper line code6415 #note and #contains_suggestion?6416 includes the note body6417 when the note have a suggestion6418 returns the suggestion formatted in the note6419 when the note have a multiline suggestion6420 returns the multi-line suggestion formatted in the note6421 #author6422 includes the user details6423 when the author is empty6424 does not set the user if the response did not include a user6425Mutations::IncidentManagement::TimelineEvent::Create6426 # order random6427 is expected to require graphql authorizations :admin_incident_management_timeline_event6428 #resolve6429 when a user has permissions to create a timeline event6430 behaves like creating an incident timeline event6431 creates a timeline event6432 responds with a timeline event6433 when TimelineEvents::CreateService responds with an error6434 behaves like responding with an incident timeline errors6435 returns errors6436 when timeline event tags are passed6437 behaves like creating an incident timeline event6438 creates a timeline event6439 responds with a timeline event6440 when predefined tags are passed6441 creates and sets the tag on the event6442 behaves like creating an incident timeline event6443 creates a timeline event6444 responds with a timeline event6445 when predefined tags exist6446 does not create a new tag6447 when same tags are tried to be assigned to same timeline event6448 only assigns the tag once on the event6449 with case-insentive tags6450 sets the tag on the event6451 when non-existing tags are passed6452 does not create the timeline event6453 behaves like responding with an incident timeline errors6454 returns errors6455 behaves like failing to create an incident timeline event6456 when a user has no permissions to create timeline event6457 raises an error6458MergeRequestMergeabilityCheckWorker6459 #perform6460 when merge request does not exist6461 does not execute MergeabilityCheckService6462 when merge request exists6463 executes MergeabilityCheckService6464 structurally logs a failed mergeability check6465 behaves like an idempotent worker6466 is labeled as idempotent6467 performs multiple times sequentially without raising an exception6468 is mergeable6469Integrations::CreateExternalCrossReferenceWorker6470 has the `until_executed` deduplicate strategy6471 behaves like an idempotent worker6472 is labeled as idempotent6473 performs multiple times sequentially without raising an exception6474 can run multiple times with the same arguments6475 mentionable_type: "Commit", mentionable_id: lazy { commit.id }6476 creates a cross reference6477 mentionable_type: "Issue", mentionable_id: lazy { issue.id }6478 creates a cross reference6479 mentionable_type: "MergeRequest", mentionable_id: lazy { merge_request.id }6480 creates a cross reference6481 mentionable_type: "Note", mentionable_id: lazy { note.id }6482 creates a cross reference6483 mentionable_type: "Snippet", mentionable_id: lazy { snippet.id }6484 creates a cross reference6485 error handling6486 project_id does not exist6487 behaves like does not create a cross reference6488 does not create a cross reference6489 author_id does not exist6490 behaves like does not create a cross reference6491 does not create a cross reference6492 mentionable_id does not exist6493 behaves like does not create a cross reference6494 does not create a cross reference6495 mentionable_type is not a Mentionable6496 behaves like does not create a cross reference6497 does not create a cross reference6498 mentionable_type is not a defined constant6499 behaves like does not create a cross reference6500 does not create a cross reference6501 mentionable is a Commit and mentionable_id does not exist6502 behaves like does not create a cross reference6503 does not create a cross reference6504EnvironmentStatusEntity6505 # order random6506 is expected to include :status6507 is expected to include :external_url6508 is expected not to include :stop_url6509 is expected to include :name6510 is expected to include :changes6511 is expected not to include :metrics_url6512 is expected not to include :metrics_monitoring_url6513 is expected to include :details6514 is expected to include :deployed_at_formatted6515 is expected to include :url6516 is expected to include :deployed_at6517 is expected to include :id6518 is expected to include :external_url_formatted6519 when deployment has metrics6520 when deployment succeeded6521 returns metrics url6522 when deployment is running6523 does not return metrics url6524 when the user is project maintainer6525 is expected to include :stop_url6526Projects::PostCreationWorker6527 behaves like an idempotent worker6528 is labeled as idempotent6529 performs multiple times sequentially without raising an exception6530 Prometheus integration6531 project is nil6532 does not create prometheus integration6533 when project has access to shared integration6534 Prometheus application is shared via group cluster6535 creates an Integrations::Prometheus record6536 Prometheus application is shared via instance cluster6537 creates an Integrations::Prometheus record6538 cleans invalid record and logs warning6539 shared Prometheus application is not available6540 does not persist an Integrations::Prometheus record6541 Incident timeline event tags6542 when project is nil6543 does not create event tags6544 when project is created6545 creates tags for the project6546 raises error if record creation fails6547Gitlab::Diff::FileCollection::MergeRequestDiffBase6548 #overflow?6549 when it is not overflown6550 returns false6551 when it is overflown6552 returns true6553 #diff_files6554 measures diffs_highlight_cache_decorate6555 #cache_key6556 returns cache_key from merge_request_diff6557Sidebars::Groups::Menus::PackagesRegistriesMenu6558 behaves like not serializable as super_sidebar_menu_args6559 returns nil6560 #render?6561 when menu has menu items to show6562 returns true6563 when menu does not have any menu item to show6564 returns false6565 #link6566 when Packages Registry is visible6567 menu link points to Packages Registry page6568 when Packages Registry is not visible6569 menu link points to Container Registry page6570 when Container Registry is not visible6571 menu link points to Harbor Registry page6572 when Harbor Registry is not visible6573 menu link points to Dependency Proxy page6574 Menu items6575 Packages Registry6576 when user can read packages6577 when config package setting is disabled6578 behaves like the menu entry is not available6579 the menu item is not added to list of menu items6580 when config package setting is enabled6581 behaves like the menu entry is available6582 the menu item is added to list of menu items6583 Container Registry6584 when user can read container images6585 when config registry setting is disabled6586 behaves like the menu entry is not available6587 the menu item is not added to list of menu items6588 when config registry setting is enabled6589 behaves like the menu entry is available6590 the menu item is added to list of menu items6591 when user cannot read container images6592 behaves like the menu entry is not available6593 the menu item is not added to list of menu items6594 Dependency Proxy6595 when user can read dependency proxy6596 when config dependency_proxy is enabled6597 behaves like the menu entry is available6598 the menu item is added to list of menu items6599 when the group settings exist6600 behaves like the menu entry is available6601 the menu item is added to list of menu items6602 when the proxy is disabled at the group level6603 behaves like the menu entry is not available6604 the menu item is not added to list of menu items6605 when config dependency_proxy is not enabled6606 behaves like the menu entry is not available6607 the menu item is not added to list of menu items6608 when user cannot read dependency proxy6609 behaves like the menu entry is not available6610 the menu item is not added to list of menu items6611 Harbor Registry6612 when config harbor registry setting is disabled6613 behaves like the menu entry is not available6614 the menu item is not added to list of menu items6615 when config harbor registry setting is enabled6616 behaves like the menu entry is available6617 the menu item is added to list of menu items6618 when config harbor registry setting is not activated6619 behaves like the menu entry is not available6620 the menu item is not added to list of menu items6621Deployments::HooksWorker6622 #perform6623 logs deployment and project IDs as metadata6624 executes project services for deployment_hooks6625 does not execute an inactive service6626 does not execute if a deployment does not exist6627 execute webhooks6628 behaves like worker with data consistency6629 .get_data_consistency_feature_flag_enabled?6630 returns true6631 .get_data_consistency6632 returns correct data consistency6633CachingArrayResolver6634 #resolve6635 does not perform a union of a query with itself6636 force . resolve === to_a . query_for . query_input6637 there are more than MAX_UNION_SIZE queries6638 executes the queries in multiple batches6639 all queries return results6640 batches the queries6641 finds the correct values6642 one of the queries returns no results6643 finds the correct values6644 one of the queries has already been cached6645 avoids further queries6646 the resolver overrides item_found6647 receives item_found for each key the item mapped to6648 the max_page_size is lower than the total result size6649 respects the max_page_size, on a per subset basis6650 the field does not declare max_page_size6651 takes the page size from schema.default_max_page_size6652UploadPolicy6653 destroy_upload6654 when deleting project upload6655 behaves like uploads policy6656 when user is guest6657 is expected to be disallowed :read_upload and :destroy_upload6658 when user is developer6659 is expected to be disallowed :read_upload and :destroy_upload6660 when user is maintainer6661 is expected to be allowed :read_upload and :destroy_upload6662 when user is owner6663 is expected to be allowed :read_upload and :destroy_upload6664 when user is admin6665 is expected to be disallowed :read_upload and :destroy_upload6666 with admin mode6667 is expected to be allowed :read_upload and :destroy_upload6668 when deleting group upload6669 behaves like uploads policy6670 when user is guest6671 is expected to be disallowed :read_upload and :destroy_upload6672 when user is developer6673 is expected to be disallowed :read_upload and :destroy_upload6674 when user is maintainer6675 is expected to be allowed :read_upload and :destroy_upload6676 when user is owner6677 is expected to be allowed :read_upload and :destroy_upload6678 when user is admin6679 is expected to be disallowed :read_upload and :destroy_upload6680 with admin mode6681 is expected to be allowed :read_upload and :destroy_upload6682 when deleting upload associated with other model6683 is expected to be disallowed :read_upload and :destroy_upload6684Packages::Rpm::Metadatum6685 # order random6686 relationships6687 is expected to belong to package required: false6688 validations6689 is expected to validate that :package cannot be empty/falsy6690 is expected to validate that :epoch cannot be empty/falsy6691 is expected to validate that :release cannot be empty/falsy6692 is expected to validate that :summary cannot be empty/falsy6693 is expected to validate that :description cannot be empty/falsy6694 is expected to validate that :arch cannot be empty/falsy6695 is expected to validate that :epoch looks like an integer greater than or equal to 06696 is expected to validate that the length of :release is at most 1286697 is expected to validate that the length of :summary is at most 10006698 is expected to validate that the length of :description is at most 50006699 is expected to validate that the length of :arch is at most 2556700 is expected to validate that the length of :license is at most 10006701 is expected to validate that the length of :url is at most 10006702 #rpm_package_type6703 will not allow a package with a different package_type6704Gitlab::Metrics::Exporter::BaseExporter6705 when exporter is enabled6706 when exporter is stopped6707 #start6708 starts the exporter6709 with custom settings6710 starts server with port and address from settings6711 logging enabled6712 configures a WEBrick logger with the given file6713 logs any errors during startup6714 logging disabled6715 configures a WEBrick logger with the null device6716 with TLS enabled6717 injects the necessary OpenSSL config for WEBrick6718 with intermediate certificates6719 injects them in the extra chain6720 when thread is not alive6721 does close listeners6722 #stop6723 doesn't shutdown stopped server6724 when exporter is running6725 #start6726 doesn't start running server6727 #stop6728 shutdowns server6729 request handling6730 method_class: Net::HTTP::Get, path: "/metrics", http_status: 2006731 responds with proper http_status6732 collects request metrics6733 method_class: Net::HTTP::Get, path: "/", http_status: 4046734 responds with proper http_status6735 collects request metrics6736 when exporter is disabled6737 #start6738 doesn't start6739 #stop6740 doesn't shutdown6741Ci::ExpirePipelineCacheService6742 #execute6743 invalidates Etag caching for project pipelines path6744 invalidates Etag caching for merge request pipelines if pipeline runs on any commit of that source branch6745 updates the cached status for a project6746 does not do N+1 queries6747 destroyed pipeline6748 clears the cache6749 when the pipeline is triggered by another pipeline6750 updates the cache of dependent pipeline6751 when the pipeline triggered another pipeline6752 updates the cache of dependent pipeline6753Projects::MoveNotificationSettingsService6754 #execute6755 does not move existent notification settings in the current project6756 with notification settings6757 moves the user's notification settings from one project to another6758 rollbacks changes if transaction fails6759 when remove_remaining_elements is false6760 does not remove remaining notification settings6761Gitlab::Checks::LfsIntegrity6762 #objects_missing?6763 with LFS not enabled6764 skips integrity check6765 with LFS enabled6766 is true if any LFS blobs are missing6767 is false if LFS objects have already been uploaded6768 nil rev6769 skips integrity check6770 deletion6771 skips integrity check6772 no changes6773 skips integrity check6774Gitlab::Tracking::StandardContext6775 #to_context6776 contains source6777 contains context_generated_at timestamp6778 contains user id6779 contains namespace and project ids6780 accepts just project id as integer6781 environment6782 development or test6783 contains environment6784 staging6785 contains environment6786 production6787 contains environment6788 org6789 contains environment6790 other self-managed instance6791 contains environment6792 plan6793 when namespace is not available6794 is nil6795 when namespace is available6796 contains plan name6797 with extra data6798 includes extra data in `extra` hash6799 without extra data6800 contains an empty `extra` hash6801 with incorrect argument type6802 does call `track_and_raise_for_dev_exception`6803BulkImports::ExportStatus6804 #started?6805 when export status is started6806 returns true6807 when export status is not started6808 returns false6809 when export status is not present6810 returns false6811 when something goes wrong during export status fetch6812 returns false6813 #failed?6814 when export status is failed6815 returns true6816 when export status is not failed6817 returns false6818 when export status is not present6819 returns false6820 when something goes wrong during export status fetch6821 returns false6822 #empty?6823 when export status is present6824 is expected to eq false6825 when export status is not present6826 returns true6827 when export status is empty6828 returns true6829 when something goes wrong during export status fetch6830 returns false6831 #error6832 returns error message6833 when something goes wrong during export status fetch6834 raises RetryPipelineError6835 when error is not retriable6836 returns exception class as error6837 when error raised is not a network error6838 returns exception class as error6839Gitlab::AuthorizedKeys6840 #accessible?6841 authorized_keys file exists6842 can open file6843 is expected to be truthy6844 cannot open file6845 is expected to be falsey6846 authorized_keys file does not exist6847 is expected to be falsey6848 #create6849 authorized_keys file exists6850 is expected to be truthy6851 authorized_keys file does not exist6852 creates authorized_keys file6853 cannot create file6854 is expected to be falsey6855 #add_key6856 authorized_keys file exists6857 adds a line at the end of the file and strips trailing garbage6858 authorized_keys file does not exist6859 creates the file6860 #batch_add_keys6861 authorized_keys file exists6862 adds lines at the end of the file6863 invalid key6864 doesn't add keys6865 authorized_keys file does not exist6866 creates the file6867 #remove_key6868 authorized_keys file exists6869 removes the right line6870 authorized_keys file does not exist6871 is expected to be falsey6872 #clear6873 authorized_keys file exists6874 is expected to be truthy6875 authorized_keys file does not exist6876 is expected to be truthy6877 #list_key_ids6878 authorized_keys file exists6879 is expected to eq [1, 2, 3, 9000]6880 authorized_keys file does not exist6881 is expected to be empty6882Ci::DropPipelineWorker6883 #perform6884 calls delegates to the service6885 behaves like an idempotent worker6886 is labeled as idempotent6887 performs multiple times sequentially without raising an exception6888 executes the service6889Projects::BlameService6890 #blame6891 returns a correct Gitlab::Blame object6892 Pagination range calculation6893 with page = 16894 is expected to eq 1..26895 with page = 26896 is expected to eq 3..46897 with page = 3 (overlimit)6898 is expected to eq 1..26899 with page = 0 (incorrect)6900 is expected to eq 1..26901 when user disabled the pagination6902 is expected to be nil6903 when feature flag disabled6904 is expected to be nil6905 #pagination6906 returns a pagination object6907 when user disabled the pagination6908 is expected to be nil6909 when feature flag disabled6910 is expected to be nil6911 when per_page is above the global max per page limit6912 returns a correct pagination object6913 Pagination attributes6914 page: 1, current_page: 1, total_pages: 26915 returns the correct pagination attributes6916 page: 2, current_page: 2, total_pages: 26917 returns the correct pagination attributes6918 page: 3, current_page: 1, total_pages: 26919 returns the correct pagination attributes6920 page: 0, current_page: 1, total_pages: 26921 returns the correct pagination attributes6922Projects::ContainerRepository::CleanupTagsService6923 #execute6924 with valid user6925 behaves like handling invalid regular expressions6926 when name_regex_delete is invalid6927 behaves like handling invalid regex6928 calls error tracking service6929 behaves like returning error message6930 returns error invalid regex6931 when name_regex is invalid6932 behaves like handling invalid regex6933 calls error tracking service6934 behaves like returning error message6935 returns error invalid regex6936 when name_regex_keep is invalid6937 behaves like handling invalid regex6938 calls error tracking service6939 behaves like returning error message6940 returns error invalid regex6941 behaves like handling all types of container repositories6942 with a migrated repository6943 supporting the gitlab api6944 behaves like calling service6945 uses cleanup tags service Projects::ContainerRepository::Gitlab::CleanupTagsService6946 not supporting the gitlab api6947 behaves like calling service6948 uses cleanup tags service Projects::ContainerRepository::ThirdParty::CleanupTagsService6949 with a non migrated repository6950 behaves like calling service6951 uses cleanup tags service Projects::ContainerRepository::ThirdParty::CleanupTagsService6952 for container expiration policy6953 behaves like handling invalid regular expressions6954 when name_regex_delete is invalid6955 behaves like handling invalid regex6956 calls error tracking service6957 behaves like returning error message6958 returns error invalid regex6959 when name_regex is invalid6960 behaves like handling invalid regex6961 calls error tracking service6962 behaves like returning error message6963 returns error invalid regex6964 when name_regex_keep is invalid6965 behaves like handling invalid regex6966 calls error tracking service6967 behaves like returning error message6968 returns error invalid regex6969 behaves like handling all types of container repositories6970 with a migrated repository6971 supporting the gitlab api6972 behaves like calling service6973 uses cleanup tags service Projects::ContainerRepository::Gitlab::CleanupTagsService6974 not supporting the gitlab api6975 behaves like calling service6976 uses cleanup tags service Projects::ContainerRepository::ThirdParty::CleanupTagsService6977 with a non migrated repository6978 behaves like calling service6979 uses cleanup tags service Projects::ContainerRepository::ThirdParty::CleanupTagsService6980 with not allowed user6981 behaves like returning error message6982 returns error access denied6983 with no user6984 behaves like returning error message6985 returns error access denied6986ButtonHelper6987 http_clone_button6988 with internal auth enabled6989 when user has a password6990 shows no tooltip6991 when user has password automatically set6992 shows the password text on the dropdown6993 with internal auth disabled6994 when user has no personal access tokens6995 has a personal access token text on the dropdown description6996 when user has personal access tokens6997 does not have a personal access token text on the dropdown description6998 when user is ldap user6999 shows no tooltip7000 ssh_button7001 without an ssh key on the user7002 shows a warning on the dropdown description7003 without an ssh key on the user and user_show_add_ssh_key_message unset7004 there is no warning on the dropdown description7005 with an ssh key on the user7006 there is no warning on the dropdown description7007 ssh and http clone buttons7008 only shows the title of any of the clone buttons when append_link is false7009 clipboard_button7010 with default options7011 when no `text` attribute is not provided7012 shows copy to clipboard button with default configuration and no text set to copy7013 when `text` attribute is provided7014 shows copy to clipboard button with provided `text` to copy7015 when `title` attribute is provided7016 shows copy to clipboard button with provided `title` as tooltip7017 with `button_text` attribute provided7018 shows copy to clipboard button with provided `button_text` as button label7019 adds `gl-button-icon` class to icon7020 with `hide_tooltip` attribute provided7021 shows copy to clipboard button without tooltip support7022 with `hide_button_icon` attribute provided7023 shows copy to clipboard button without tooltip support7024 with `itemprop` attribute provided7025 shows copy to clipboard button with `itemprop` attribute7026Packages::Nuget::PackagesMetadataPresenter7027 #count7028 is expected to eq 17029 #items7030 avoids N+1 database queries7031 returns an array7032 returns a summary structure7033 returns the catalog entries7034Pajamas::ToggleComponent7035 with defaults7036 renders a toggle container with provided class7037 does not set a name7038 sets default is-checked attributes7039 sets default disabled attributes7040 sets default is-loading attributes7041 does not set a label7042 does not set a label position7043 with custom options7044 sets the custom class7045 sets the custom name7046 sets the custom is-checked attributes7047 sets the custom disabled attributes7048 sets the custom is-loading attributes7049 sets the custom label7050 sets the custom label position7051 sets custom data attributes7052 with setting label_position7053 position: :top, count: 17054 is expected to have visible css "[data-label-position='top']"7055 position: :left, count: 17056 is expected to have visible css "[data-label-position='left']"7057 position: :hidden, count: 17058 is expected to have visible css "[data-label-position='hidden']"7059 position: :bogus, count: 07060 is expected to have visible css "[data-label-position='bogus']"7061 position: "bogus", count: 07062 is expected to have visible css "[data-label-position='bogus']"7063 position: nil, count: 07064 is expected to have visible css "[data-label-position='']"7065ResourceEvents::SyntheticLabelNotesBuilderService7066 #execute7067 returns the expected synthetic notes7068 behaves like filters by paginated notes7069 only returns given notes7070 when paginated notes is empty7071 does not return any notes7072Repositories::DestroyService7073 removes the repository7074 flushes the repository cache7075 does not perform any action if repository path does not exist and returns success7076 gracefully handles exception if the repository does not exist on disk7077 on a read-only instance7078 schedules the repository deletion7079 with a project wiki repository7080 schedules the repository deletion7081Gitlab::Ci::Input::Inputs7082 # order random7083 when unknown arguments are being passed by a user7084 returns an error with a list of unknown arguments7085 when unknown specification argument has been used7086 fabricates an unknown argument entry and returns an error7087 when inputs and args are empty7088 is a valid use-case7089 when proper specification has been provided7090 fabricates desired input arguments7091 when there are arguments recoincilation errors present7092 when required argument is missing7093 returns an error7094 when argument is not present but configured as allowlist7095 returns an error7096 when composite specification is being used7097 returns an error describing an unknown specification7098 #valid?7099 describes user-provided inputs7100WorkItems::WidgetDefinition7101 # order random7102 validations7103 is expected to validate that :name cannot be empty/falsy7104 is expected to validate that :name is case-insensitively unique within the scope of :namespace_id and :work_item_type_id7105 is expected to validate that the length of :name is at most 2557106 #widget_class7107 returns widget class based on widget_type7108 returns nil if there is no class for the widget_type7109 returns nil if there is no class for the widget_type7110 with some widgets disabled7111 .available_widgets7112 returns all global widgets excluding the disabled ones7113 returns all global widgets if there is at least one global widget definition which is enabled7114 .widget_classes7115 returns all widget classes no matter if disabled or not7116 associations7117 is expected to belong to namespace required: false7118 is expected to belong to work_item_type required: false7119Packages::MarkPackagesForDestructionService7120 # order random7121 #execute7122 when the user is authorized7123 when it is successful7124 marks the packages as pending destruction7125 with maven packages7126 marks the packages as pending destruction7127 without version7128 marks the packages as pending destruction7129 when it is not successful7130 returns an error ServiceResponse7131 when the user is not authorized7132 returns an error ServiceResponse7133Banzai::Filter::InlineDiffFilter7134 adds inline diff span tags for deletions when using square brackets7135 adds inline diff span tags for deletions when using curley braces7136 does not add inline diff span tags when a closing tag is not provided7137 adds inline span tags for additions when using square brackets7138 adds inline span tags for additions when using curley braces7139 does not add inline diff span tags when a closing addition tag is not provided7140 does not add inline diff span tags when the tags do not match7141 prevents user-land html being injected7142 preserves content inside pre tags7143 preserves content inside code tags7144 preserves content inside tt tags7145Ci::CreatePipelineService7146 tags:7147 with valid config7148 creates a pipeline7149 with too many tags7150 creates a pipeline without builds7151 tags persistence7152 with multiple tags7153 when the tags do not exist7154 does not execute N+1 queries7155 when tags are already persisted7156 does not execute N+1 queries7157 with bridge jobs7158 is expected to be empty7159Sidebars::Projects::Menus::HiddenMenu7160 #render?7161 when menu does not have any menu items7162 returns false7163 when menu has menu items7164 returns true7165 Menu items7166 Activity7167 when user has access to the project7168 is expected not to be nil7169 when the user is not present7170 is expected not to be nil7171 Graph7172 when project repository is empty7173 is expected to be nil7174 behaves like access rights checks7175 is expected not to be nil7176 when the user does not have access7177 is expected to be nil7178 New Issue7179 behaves like access rights checks7180 is expected not to be nil7181 when the user does not have access7182 is expected to be nil7183 Jobs7184 behaves like access rights checks7185 is expected not to be nil7186 when the user does not have access7187 is expected to be nil7188 Commits7189 when project repository is empty7190 is expected to be nil7191 behaves like access rights checks7192 is expected not to be nil7193 when the user does not have access7194 is expected to be nil7195 Issue Boards7196 behaves like access rights checks7197 is expected not to be nil7198 when the user does not have access7199 is expected to be nil7200Gitlab::Application7201 config.filter_parameters7202 when parameters are logged7203 rails does not leak confidential parameters7204 input_url: "/", output_query: {}7205 is expected to eq {}7206 input_url: "/?safe=1", output_query: {"safe"=>"1"}7207 is expected to eq {"safe"=>"1"}7208 input_url: "/?private_token=[MASKED] output_query: {"private_token"=>"[FILTERED]"}7209 is expected to eq {"private_token"=>"[FILTERED]"}7210 input_url: "/?mixed=1&private_token=[MASKED] output_query: {"mixed"=>"1", "private_token"=>"[FILTERED]"}7211 is expected to eq {"mixed"=>"1", "private_token"=>"[FILTERED]"}7212 input_url: "/?note=secret¬eable=1&prefix_note=2", output_query: {"note"=>"[FILTERED]", "noteable"=>"1", "prefix_note"=>"2"}7213 is expected to eq {"note"=>"[FILTERED]", "noteable"=>"1", "prefix_note"=>"2"}7214 input_url: "/?note[note]=secret&target_type=1", output_query: {"note"=>"[FILTERED]", "target_type"=>"1"}7215 is expected to eq {"note"=>"[FILTERED]", "target_type"=>"1"}7216 input_url: "/?safe[note]=secret&target_type=1", output_query: {"safe"=>{"note"=>"[FILTERED]"}, "target_type"=>"1"}7217 is expected to eq {"safe"=>{"note"=>"[FILTERED]"}, "target_type"=>"1"}7218 clear_active_connections_again initializer7219 is included in list of Rails initializers7220 is configured after set_routes_reloader_hook7221 functionality7222 clears all connections7223Environments::AutoStopWorker7224 stops the environment7225 executes the stop action7226 when user does not have a permission to play the stop action7227 raises an error7228 when the environment has already been stopped7229 does not execute the stop action7230 when there are no deployments and associted stop actions7231 stops the environment7232 when there are no corresponding environment record7233 ignores the invalid record7234IncidentManagement::TimelineEventsFinder7235 # order random7236 #execute7237 when user has permissions7238 returns timeline events7239 when filtering by ID7240 returns only matched timeline event7241 when incident is nil7242 is expected to eq #<ActiveRecord::Relation []>7243 when user has no permissions7244 is expected to eq #<ActiveRecord::Relation []>7245Mattermost::Session7246 is expected to respond to #current_resource_owner7247 is expected to respond to #request7248 is expected to respond to #authorization7249 is expected to respond to #strategy7250 #with session7251 without oauth uri7252 makes a request to the oauth uri7253 returns nill on calling a non exisitng method on request7254 with oauth_uri7255 without token_uri7256 can not create a session7257 with token_uri7258 can set up a session7259 returns the value of the block7260 exclusive lease7261 tries to obtain a lease7262 returns a NoSessionError error without lease7263Gitlab::Metrics::Dashboard::Validator::PostSchemaValidator7264 #validate7265 with no project and dashboard_path provided7266 unique local metric_ids7267 returns empty array7268 duplicate local metrics_ids7269 returns error7270 with project and dashboard_path7271 with unique metric identifiers7272 returns empty array7273 duplicate metric identifiers in database7274 with different dashboard_path7275 returns error7276 with same dashboard_path7277 returns empty array7278Preloaders::ProjectPolicyPreloader7279 # order random7280 avoids N+1 queries when authorizing a list of projects7281Gitlab::GithubImport::Importer::Events::Closed7282 with Issue7283 behaves like new event7284 creates expected event and state event7285 when closed by commit7286 creates expected event and state event7287 with MergeRequest7288 behaves like new event7289 creates expected event and state event7290 when closed by commit7291 creates expected event and state event7292Gitlab::Jira::Dvcs7293 .encode_slash7294 replaces slash character7295 ignores path without slash7296 .decode_slash7297 replaces slash character7298 ignores path without slash7299 .encode_project_name7300 root group7301 returns project path7302 nested group7303 returns encoded project full path7304 .restore_full_path7305 project name is an encoded full path7306 returns decoded project path7307 project name is not an encoded full path7308 assumes project belongs to root namespace and returns full project path based on passed in namespace7309Gitlab::Slug::Path7310 # order random7311 #to_s7312 presents with a cleaned slug7313 #generate7314 yields a slug name when given name7315 yields a slug james when given james.atom@bond.com7316 yields a slug foobar-- when given --foobar--7317 yields a slug foo_bar-- when given --foo_bar--7318 yields a slug foo_bar-- when given --foo$^&_bar--7319 yields a slug john when given john@doe.com7320 yields a slug johngitlab-ETC when given -john+gitlab-ETC%.git@gmail.com7321 yields a slug this.is when given this.is.git.atom.7322 yields a slug blank when given #$%^.7323 yields a slug blank when given ---.git#$.atom%@atom^.7324 yields a slug gitlab--hey when given --gitlab--hey.git#$.atom%@atom^.7325Gitlab::Ci::Trace::Metrics7326 #increment_trace_bytes7327 when incrementing by more than one7328 increments a single counter7329 #increment_error_counter7330 when the error reason is known7331 increments the counter7332 when the error reason is unknown7333 raises an exception7334Projects::Ml::ExperimentsHelper7335 # order random7336 #formatted_page_info7337 formats to json7338 #experiments_as_data7339 generates the correct info7340 #show_candidate_view_model7341 generates the correct params7342 generates the correct metrics7343 generates the correct info7344 #unique_logged_names7345 when for params7346 is expected to contain exactly "param1", "param2", and "param3"7347 when latest_metrics is passed7348 is expected to contain exactly "metric1", "metric2", and "metric3"7349 #candidates_table_items7350 creates the correct model for the table7351 when candidate does not have user7352 has the user property, but is nil7353 #page_info7354 when is first page7355 generates the correct page_info7356 when is last page7357 generates the correct page_info7358Banzai::Filter::ImageLinkFilter7359 wraps the image with a link to the image src7360 does not wrap a duplicate link7361 works with external images7362 works with inline images7363 keep the data-canonical-src7364 moves the data-diagram* attributes7365 adds no-attachment icon class to the link7366 when :link_replaces_image is true7367 replaces the image with link to image src7368 uses image alt as a link text7369 uses image data-src as a link text7370 adds attachment icon class to the link7371 when link attributes contain malicious code7372 when image alt contains malicious code7373 ignores image alt and uses image path as the link text7374 when image src contains malicious code7375 ignores image src and does not use it as the link text7376 keeps image src unchanged, malicious code does not execute as part of url7377 when image data-src contains malicious code7378 ignores data-src and uses image path as the link text7379 uses image data-src, malicious code does not execute as part of url7380BitbucketServer::Representation::PullRequest7381 #author7382 is expected to eq "root"7383 #author_email7384 is expected to eq "joe.montana@49ers.com"7385 #author_username7386 returns username7387 when username is absent7388 returns slug7389 when slug and username are absent7390 returns displayName7391 #description7392 is expected to eq "Test"7393 #iid7394 is expected to eq 77395 #state7396 is expected to eq "merged"7397 declined pull requests7398 returns closed7399 open pull requests7400 returns open7401 #merged?7402 is expected to be truthy7403 #created_at7404 is expected to eq 15306006357405 #updated_at7406 is expected to eq 15306006487407 #title7408 is expected to eq "Added a new line"7409 #source_branch_name7410 is expected to eq "refs/heads/root/CODE_OF_CONDUCTmd-1530600625006"7411 #source_branch_sha7412 is expected to eq "074e2b4dddc5b99df1bf9d4a3f66cfc15481fdc8"7413 #target_branch_name7414 is expected to eq "refs/heads/master"7415 #target_branch_sha7416 is expected to eq "839fa9a2d434eb697815b8fcafaecc51accfdbbc"7417layouts/_header_search7418 when doing a project level search7419 sets project_id field7420 behaves like hidden fields are properly set7421 when search_context has a scope value7422 sets scope input to issues7423 when search_context has a code_search value7424 sets search_code input to true7425 when search_context has a ref value7426 sets repository_ref input to test-branch7427 when search_context has a for_snippets value7428 sets for_snippets input to true7429 nav_source7430 always set to navbar7431 submit button7432 always renders for specs7433 when doing a group level search7434 sets group_id field7435 behaves like hidden fields are properly set7436 when search_context has a scope value7437 sets scope input to issues7438 when search_context has a code_search value7439 sets search_code input to true7440 when search_context has a ref value7441 sets repository_ref input to test-branch7442 when search_context has a for_snippets value7443 sets for_snippets input to true7444 nav_source7445 always set to navbar7446 submit button7447 always renders for specs7448Gitlab::LegacyGithubImport::BranchFormatter7449 #exists?7450 returns true when branch exists and commit is part of the branch7451 returns false when branch exists and commit is not part of the branch7452 returns false when branch does not exist7453 #repo7454 returns raw repo7455 #sha7456 returns raw sha7457 #valid?7458 returns true when raw sha and ref are present7459 returns false when raw sha is blank7460 returns false when raw ref is blank7461Projects::AppleTargetPlatformDetectorService7462 when project is not an xcode project7463 returns an empty array7464 when project is an xcode project7465 when setting string is found7466 sdk: "iphoneos", filename: "project.pbxproj", result: [:ios]7467 returns an array of unique detected targets7468 sdk: "iphoneos", filename: "*.xcconfig", result: [:ios]7469 returns an array of unique detected targets7470 when setting string is not found7471 returns an empty array7472Gitlab::Ci::Config::Entry::Port7473 when configuration is a string7474 #valid?7475 is valid7476 #value7477 returns valid hash7478 #number7479 returns port number7480 #protocol7481 is nil7482 #name7483 is nil7484 when configuration is a hash7485 with the complete hash7486 #valid?7487 is valid7488 #value7489 returns valid hash7490 #number7491 returns port number7492 #protocol7493 returns port protocol7494 #name7495 returns port name7496 with only the port number7497 #valid?7498 is valid7499 #value7500 returns valid hash7501 #number7502 returns port number7503 #protocol7504 is nil7505 #name7506 is nil7507 without the number7508 #valid?7509 is not valid7510 when configuration is invalid7511 #valid?7512 is valid7513 when protocol7514 is http7515 #valid?7516 is valid7517 is https7518 #valid?7519 is valid7520 is neither http nor https7521 #valid?7522 is invalid7523projects/tree/show7524 for branch names ending on .json7525 displays correctly7526Autocomplete::ProjectFinder7527 #execute7528 without a project ID7529 returns nil7530 with an empty String as the project ID7531 returns nil7532 with a project ID7533 raises ActiveRecord::RecordNotFound if the project does not exist7534 raises ActiveRecord::RecordNotFound if the user can not read the project7535 raises ActiveRecord::RecordNotFound if an anonymous user can not read the project7536 returns the project if it exists and is readable7537Banzai::ReferenceParser::DesignParser7538 #nodes_visible_to_user7539 behaves like referenced feature visibility7540 when feature is disabled7541 does not create reference7542 when feature is enabled only for team members7543 does not create reference for non member7544 creates reference for member7545 when feature is enabled7546 creates reference7547 specific states7548 redacts links we should not have access to7549 design management is not available7550 redacts all nodes7551 #process7552 returns the correct designs7553Gitlab::Ci::Status::Pipeline::Common7554 #has_action?7555 is expected not to have action7556 #has_details?7557 when user has access to read pipeline7558 is expected to have details7559 when user does not have access to read pipeline7560 is expected not to have details7561 #details_path7562 links to the pipeline details page7563Gitlab::Kubernetes::Helm::V2::DeleteCommand7564 behaves like helm command generator7565 #generate_script7566 returns appropriate command7567 #pod_name7568 is expected to eq "uninstall-app-name"7569 behaves like helm command7570 HELM_VERSION7571 is expected to match /\d+\.\d+\.\d+/7572 #env7573 is expected to be a kind of Hash7574 #rbac?7575 rbac is enabled7576 is expected to be truthy7577 rbac is not enabled7578 is expected to be falsey7579 #pod_resource7580 rbac is enabled7581 is expected to be an instance of Kubeclient::Resource7582 generates a pod that uses the tiller serviceAccountName7583 rbac is not enabled7584 is expected to be an instance of Kubeclient::Resource7585 generates a pod that uses the default serviceAccountName7586 #config_map_resource7587 returns a KubeClient resource with config map content for the application7588 #service_account_resource7589 rbac is enabled7590 generates a Kubeclient resource for the tiller ServiceAccount7591 rbac is not enabled7592 generates nothing7593 #cluster_role_binding_resource7594 rbac is enabled7595 generates a Kubeclient resource for the ClusterRoleBinding for tiller7596 binds the account in #service_account_resource7597 rbac is not enabled7598 generates nothing7599 #delete_command7600 deletes the release7601Gitlab::Prometheus::Internal7602 .uri7603 behaves like returns valid uri7604 is expected not to raise Exception7605 with non default prometheus address7606 behaves like returns valid uri7607 is expected not to raise Exception7608 with :9090 symbol7609 behaves like returns valid uri7610 is expected not to raise Exception7611 with 0.0.0.0:90907612 behaves like returns valid uri7613 is expected not to raise Exception7614 when server_address is nil7615 does not fail7616 when prometheus listen address is blank in gitlab.yml7617 does not configure prometheus7618 .prometheus_enabled?7619 returns correct value7620 when prometheus setting is disabled in gitlab.yml7621 returns correct value7622 when prometheus setting is not present in gitlab.yml7623 does not fail7624 .server_address7625 returns correct value7626 when prometheus setting is not present in gitlab.yml7627 does not fail7628Types::MemberInterface7629 exposes the expected fields7630 .resolve_type7631 for project member7632 is expected to equal Types::ProjectMemberType7633 for group member7634 is expected to equal Types::GroupMemberType7635 for an unkown type7636 raises an error7637 #merge_request_interaction7638 returns the correct type7639 has the correct arguments7640Import::Github::CancelProjectImportService7641 # order random7642 .execute7643 when user is an owner7644 when import is in progress7645 update import state to be canceled7646 tracks canceled imports7647 when import is finished7648 returns error7649 when user is not allowed to read project7650 returns 4047651 when user is not allowed to cancel project7652 returns 4037653Gitlab::GithubImport::Importer::Events::CrossReferenced7654 with Issue7655 behaves like import cross-referenced event7656 when referenced in other issue7657 creates expected note7658 when referenced in pull request7659 creates expected note7660 when referenced in out of project issue/pull_request7661 does not create expected note7662 with MergeRequest7663 behaves like import cross-referenced event7664 when referenced in other issue7665 creates expected note7666 when referenced in pull request7667 creates expected note7668 when referenced in out of project issue/pull_request7669 does not create expected note7670Constraints::AdminConstrainer7671 #matches7672 application setting :admin_mode is enabled7673 when user is a regular user7674 forbids access7675 when user is an admin7676 admin mode is disabled7677 forbids access7678 admin mode is enabled7679 allows access7680 application setting :admin_mode is disabled7681 when user is a regular user7682 forbids access7683 when user is an admin7684 allows access7685ContainerExpirationPolicies::CleanupService7686 #execute7687 with a successful cleanup tags service execution7688 completely clean up the repository7689 without a successful cleanup tags service execution7690 partially clean up the repository7691 with a truncated cleanup tags service response7692 partially clean up the repository7693 with no repository7694 returns an error response7695 with an invalid policy7696 returns an error response7697 with a network error7698 raises an error7699 next run scheduling7700 with cleanups started_at before policy next_run_at7701 behaves like not scheduling the next run7702 does not scheduled the next run7703 with cleanups started_at around policy next_run_at7704 behaves like not scheduling the next run7705 does not scheduled the next run7706 with only the current repository started_at before the policy next_run_at7707 behaves like scheduling the next run7708 schedules the next run7709 with cleanups started_at after policy next_run_at7710 behaves like scheduling the next run7711 schedules the next run7712 with a future policy next_run_at7713 behaves like not scheduling the next run7714 does not scheduled the next run7715UserCustomAttribute7716 assocations7717 is expected to belong to user required: false7718 validations7719 is expected to validate that :user_id cannot be empty/falsy7720 is expected to validate that :key cannot be empty/falsy7721 is expected to validate that :value cannot be empty/falsy7722 is expected to validate that :key is case-sensitively unique within the scope of :user_id7723 scopes7724 .by_user_id7725 is expected to contain exactly #<UserCustomAttribute id: 2, created_at: "2023-03-30 11:56:20.168004233 +0000", updated_at: "2023-03-30 11:56:20.168004233 +0000", user_id: 1375, key: [FILTERED], value: "2023-03-30T11:56:20+00:00">7726 .by_updated_at7727 is expected to contain exactly #<UserCustomAttribute id: 3, created_at: "2023-03-30 11:56:20.287021603 +0000", updated_at: "2023-03-30 11:56:20.287021603 +0000", user_id: 1376, key: [FILTERED], value: "2023-03-30T11:56:20+00:00">7728 .by_key7729 is expected to contain exactly #<UserCustomAttribute id: 4, created_at: "2023-03-30 11:56:20.404169972 +0000", updated_at: "2023-03-30 11:56:20.404169972 +0000", user_id: 1377, key: [FILTERED], value: "2023-03-30T11:56:20+00:00">7730 #upsert_custom_attributes7731 adds arkose data to custom attributes7732Packages::Policies::GroupPolicy7733 read_package7734 with admin7735 when admin mode is enabled7736 is expected to be allowed :read_package7737 when admin mode is disabled7738 is expected to be disallowed :read_package7739 with owner7740 is expected to be allowed :read_package7741 with maintainer7742 is expected to be allowed :read_package7743 with reporter7744 is expected to be allowed :read_package7745 with guest7746 is expected to be disallowed :read_package7747 with non member7748 is expected to be disallowed :read_package7749 with anonymous7750 is expected to be disallowed :read_package7751 deploy token access7752 when a deploy token with read_package_registry scope7753 is expected to be allowed :read_package7754 when a deploy token with write_package_registry scope7755 is expected to be allowed :read_package7756Gitlab::Issuable::Clone::AttributesRewriter7757 with missing target parent7758 raises an ArgumentError7759 setting labels7760 sets labels present in the new project and group labels7761 does not set any labels when not used on the original issue7762 setting milestones7763 sets milestone to nil when old issue milestone is not in the new project7764 copies the milestone when old issue milestone title is in the new project7765 copies the milestone when old issue milestone is a group milestone7766 when include_milestone is false7767 does not return any milestone7768 when target parent is a group7769 setting labels7770 keeps group labels and merges project labels where possible7771RuboCop::Cop::Migration::WithLockRetriesDisallowedMethod7772 # order random7773 when outside of migration7774 registers no offense7775 when in migration7776 registers an offense when `with_lock_retries` block has disallowed method7777 registers an offense when `with_lock_retries` block has disallowed methods7778 registers no offense when `with_lock_retries` has only allowed method7779 for `add_foreign_key`7780 registers an offense when more than two FKs are added7781Gitlab::Ci::Reports::CoverageReport7782 is expected to eq {}7783 #empty?7784 when no file has been added7785 is expected to equal true7786 when file has been added7787 is expected to equal false7788 #pick7789 returns only picked files while ignoring nonexistent ones7790 #add_file7791 when providing two individual files7792 initializes a new test suite and returns it7793 when providing the same files twice7794 with different line coverage7795 initializes a new test suite and returns it7796 with identical line coverage7797 initializes a new test suite and returns it7798Gitlab::Database::Migration7799 .[]7800 version: 1.07801 inherits from ActiveRecord::Migration[6.1]7802 includes migration helpers version 27803 includes LockRetriesConcern7804 unknown version7805 raises an error7806 .current_version7807 includes current ActiveRecord migration class7808 Gitlab::Database::Migration::LockRetriesConcern7809 when not explicitly called7810 does not disable lock retries by default7811 when explicitly disabled7812 does not disable lock retries by default7813devise/shared/_signup_box7814 when terms are enforced7815 when on .com7816 shows expected GitLab text7817 when not on .com7818 shows expected text without GitLab7819 when terms are not enforced7820 shows expected text with placeholders7821 using the borderless option7822 renders with a border by default7823 renders without a border when borderless is truthy7824IncidentManagement::CloseIncidentWorker7825 # order random7826 #perform7827 calls the close issue service7828 when the incident does not exist7829 behaves like does not call the close issue service7830 is expected not to change `ResourceStateEvent.count`7831 when issue type is not incident7832 behaves like does not call the close issue service7833 is expected not to change `ResourceStateEvent.count`7834 when incident is not open7835 behaves like does not call the close issue service7836 is expected not to change `ResourceStateEvent.count`7837 when incident fails to close7838 is expected not to change `ResourceStateEvent.count`7839MetricImageUploader7840 .workhorse_local_upload_path7841 returns path that includes uploads dir7842ProjectDeployToken7843 is expected to belong to project required: false7844 is expected to belong to deploy_token required: false7845 is expected to validate that :deploy_token cannot be empty/falsy7846 is expected to validate that :project cannot be empty/falsy7847 is expected to validate that :deploy_token_id is case-sensitively unique within the scope of :project_id7848Gitlab::Import::MergeRequestCreator7849 #execute7850 merge request already exists7851 updates the data7852 new merge request7853 creates a new merge request7854AwardEmojis::ToggleService7855 #execute7856 when user has awarded an emoji7857 calls AwardEmojis::DestroyService7858 destroys an AwardEmoji7859 returns the result of DestroyService#execute7860 when user has not awarded an emoji7861 calls AwardEmojis::AddService7862 creates an AwardEmoji7863 returns the result of AddService#execute7864LfsObjectsProject7865 associations7866 is expected to belong to project required: false7867 is expected to belong to lfs_object required: false7868 validation7869 is expected to validate that :lfs_object_id cannot be empty/falsy7870 is expected to validate that :project_id cannot be empty/falsy7871 validates object id7872 #link_to_project!7873 does not throw error when duplicate exists7874 upserts a new entry and updates the project cache7875 #update_project_statistics7876 updates project statistics when the object is added7877 updates project statistics when the object is removed7878Preloaders::GroupPolicyPreloader7879 avoids N+1 queries when authorizing a list of groups7880Ci::CompareAccessibilityReportsService7881 #execute7882 when head pipeline has accessibility reports7883 returns status and data7884 when base and head pipelines have accessibility reports7885 returns status and data7886DescriptionVersion7887 associations7888 is expected to belong to issue required: false7889 is expected to belong to merge_request required: false7890 validations7891 exactly_one_issuable7892 issue_id: nil, merge_request_id: 1, valid?: true7893 is expected to eq true7894 issue_id: 1, merge_request_id: nil, valid?: true7895 is expected to eq true7896 issue_id: nil, merge_request_id: nil, valid?: false7897 is expected to eq false7898 issue_id: 1, merge_request_id: 1, valid?: false7899 is expected to eq false7900shared/milestones/_issuables.html.haml7901 shows the issuables count if show_counter is true7902 does not show the issuables count if show_counter is false7903 a high issuables count7904 shows a delimited number if show_counter is true7905Sidebars::UserProfile::Menus::ActivityMenu7906 # order random7907 behaves like User profile menu7908 does not contain any sub menu7909 renders the correct link7910 renders the correct title7911 defines correct active route7912 renders if user is logged in7913 when viewed user is blocked7914 when user is not logged in7915 is not allowed to view the menu item7916 when current user has permission7917 is allowed to view the menu item7918 when current user does not have permission7919 is not allowed to view the menu item7920 when viewed user is banned7921 when user is not logged in7922 is not allowed to view the menu item7923 when current user has permission7924 is allowed to view the menu item7925 when current user does not have permission7926 is not allowed to view the menu item7927DependencyProxy::AuthTokenService7928 .user_or_deploy_token_from_jwt7929 with a user7930 is expected to eq #<User id:1413 @user643>7931 with an invalid user id7932 raises an not found error7933 behaves like handling token errors7934 with a decoding error7935 is expected to eq nil7936 with an immature signature error7937 is expected to eq nil7938 with an expired signature error7939 returns nil7940 with a deploy token7941 is expected to eq #<DeployToken id: 10, revoked: false, read_repository: true, read_registry: true, expires_at: "2023-0...write_registry: false, read_package_registry: false, write_package_registry: false, creator_id: nil>7942 with an invalid token7943 is expected to eq nil7944 behaves like handling token errors7945 with a decoding error7946 is expected to eq nil7947 with an immature signature error7948 is expected to eq nil7949 with an expired signature error7950 returns nil7951 with an empty token payload7952 is expected to eq nil7953Integrations::Asana7954 Validations7955 active7956 is expected to validate that :api_key cannot be empty/falsy7957 Execute7958 with restrict_to_branch7959 when ref is in scope of restriced branches7960 calls the Asana integration7961 when ref is not in scope of restricted branches7962 does not call the Asana integration7963 when creating a story7964 calls Asana integration to create a story7965 when creating a story and closing a task7966 calls Asana integration to create a story and close a task7967 when closing via url7968 calls Asana integration to close via url7969 with multiple matches per line7970 allows multiple matches per line7971UserPresenter7972 #web_path7973 is expected to eq "/user645"7974 #web_url7975 is expected to eq "http://localhost/user645"7976 #can?7977 forwards call to the given user7978 Gitpod7979 Gitpod enabled for application7980 #preferences_gitpod_path7981 is expected to eq "/-/profile/preferences#user_gitpod_enabled"7982 #profile_enable_gitpod_path7983 is expected to eq "/-/profile?user%5Bgitpod_enabled%5D=true"7984 Gitpod disabled for application7985 #preferences_gitpod_path7986 is expected to eq nil7987 #profile_enable_gitpod_path7988 is expected to eq nil7989 #saved_replies7990 when feature is disabled7991 is expected to eq #<ActiveRecord::Relation []>7992 when feature is enabled7993 when user has no permission to read saved replies7994 is expected to eq #<ActiveRecord::Relation []>7995 when user has permission to read saved replies7996 is expected to eq [#<Users::SavedReply id: 1, user_id: 1416, created_at: "2023-03-30 11:56:45.748533927 +0000", updated_at: "2023-03-30 11:56:45.748533927 +0000", name: "saved_reply_1", content: [FILTERED]>]7997Gitlab::Middleware::Speedscope7998 #call7999 when flamegraph is not requested8000 behaves like returns original response8001 returns original response8002 when flamegraph requested8003 when user is not allowed8004 behaves like returns original response8005 returns original response8006 when user is allowed8007 returns a flamegraph8008 when the stackprof_mode parameter is set and valid8009 runs StackProf in the mode specified in the stackprof_mode parameter8010 when the stackprof_mode parameter is not set8011 runs StackProf in wall mode8012 when the stackprof_mode parameter is invalid8013 runs StackProf in wall mode8014 when the stackprof_mode parameter is set to object mode8015 runs StackProf with an interval of 1008016 when the stackprof_mode parameter is not set to object mode8017 runs StackProf with an interval of 10_1008018WikiPages::EventCreateService8019 #execute8020 returns a successful response8021 creates a wiki page event8022 returns an event in the payload8023 records the slug for the page8024 the user is nil8025 raises an error on construction8026 the action is illegal8027 returns an error8028 does not create an event8029 the action is a deletion8030 does not synchronize the wiki metadata timestamps with the git commit8031Clusters::KubernetesErrorEntity8032 #as_json8033 when connection_error is present8034 is expected to eq {:connection_error=>:connection_error, :metrics_connection_error=>nil, :node_connection_error=>nil}8035 when metrics_connection_error is present8036 is expected to eq {:connection_error=>nil, :metrics_connection_error=>:http_error, :node_connection_error=>nil}8037 when node_connection_error is present8038 is expected to eq {:connection_error=>nil, :metrics_connection_error=>nil, :node_connection_error=>:unknown_error}8039Integrations::ChatMessage::MergeMessage8040 behaves like Integrations::ChatMessage8041 when input contains link markup8042 strips all link markup characters8043 without markdown8044 open8045 returns a message regarding opening of merge requests8046 close8047 returns a message regarding closing of merge requests8048 with markdown8049 open8050 returns a message regarding opening of merge requests8051 close8052 returns a message regarding closing of merge requests8053 approved8054 returns a message regarding completed approval of merge requests8055 unapproved8056 returns a message regarding revocation of completed approval of merge requests8057 approval8058 returns a message regarding added approval of merge requests8059 unapproval8060 returns a message regarding revoking approval of merge requests8061Releases::Source8062 .all8063 returns all formats of sources8064 #url8065 returns zip archived source url8066 when ref is directory structure8067 converts slash to dash8068AwardEmojis::CollectUserEmojiService8069 #execute8070 returns an Array containing the awarded emoji names8071 returns an empty Array when no user is given8072Tooling::Mappings::Base8073 # order random8074 #folders_for_available_editions8075 when FOSS8076 returns the correct paths8077 when EE8078 returns the correct paths8079 when JiHu8080 returns the correct paths8081Projects::EnableDeployKeyService8082 enables the key8083 trying to add an unaccessable key8084 returns nil if the key cannot be added8085 add the same key twice8086 returns existing key8087Resolvers::Users::GroupCountResolver8088 #resolve8089 resolves group count for users8090 permissions8091 when current_user is an admin8092 is expected to eq [2, 1]8093 when current_user does not have access to the requested resource8094 is expected to equal nil8095 when current_user does not exist8096 is expected to equal nil8097ProtectedBranches::DestroyService8098 with entity project8099 behaves like execute with entity8100 #execute8101 destroys a protected branch8102 refreshes the cache8103 when a policy restricts rule deletion8104 prevents deletion of the protected branch rule8105 with entity group8106 behaves like execute with entity8107 #execute8108 destroys a protected branch8109 refreshes the cache8110 when a policy restricts rule deletion8111 prevents deletion of the protected branch rule8112OauthAccessGrant8113 #delete8114 cascades to oauth_openid_requests8115Types::CustomerRelations::ContactSortEnum8116 is expected to eq "ContactSort"8117 exposes all the contact sort values8118 behaves like common sort values8119 exposes all the existing common sort values8120Packages::Generic::FindOrCreatePackageService8121 #execute8122 when packages does not exist yet8123 creates package8124 creates package and package build info when build is provided8125 when packages already exists8126 when package was created manually8127 finds the package and does not create package build info even if build is provided8128 when package was created by pipeline8129 finds the package and does not change package build info even if build is provided8130 when a pending_destruction package exists8131 creates a new package8132Gitlab::Ci::Build::Artifacts::Path8133 #valid?8134 when path contains a zero character8135 is not valid8136 when path is not utf8 string8137 is not valid8138 when path is valid8139 is valid8140 #directory?8141 when path ends with a directory indicator8142 is a directory8143 when path does not end with a directory indicator8144 is not a directory8145 #name8146 returns a base name8147 #nodes8148 returns number of path nodes8149 #to_s8150 when path is valid8151 returns a string representation of a path8152 when path is invalid8153 raises an error8154Gitlab::Ci::Pipeline::Preloader8155 .preload!8156 preloads commit authors, number of warnings and ref commits8157 returns original collection8158 when preloading multiple commits8159 preloads all commits once8160BulkImports::NetworkError8161 .new8162 requires either a message or a HTTP response8163 #retriable?8164 returns true for MAX_RETRIABLE_COUNT times when cause if one of RETRIABLE_EXCEPTIONS8165 returns true for MAX_RETRIABLE_COUNT times when response is one of RETRIABLE_CODES8166 returns false for other exceptions8167 when entity is passed8168 increments entity cache key8169 #retry_delay8170 returns the default value when there is not a rate limit error8171 when the exception is a rate limit error8172 returns the "Retry-After"8173 returns the default value when there is no "Retry-After" header8174Gitlab::Prometheus::Adapter8175 #prometheus_adapter8176 prometheus integration can execute queries8177 return prometheus integration as prometheus adapter8178 with cluster with prometheus available8179 returns prometheus integration8180 prometheus integration can't execute queries8181 with cluster with prometheus disabled8182 returns nil8183 with cluster with prometheus available8184 returns application handling all environments8185 with cluster without prometheus installed8186 returns nil8187Gitlab::ImportExport::Group::ObjectBuilder8188 labels8189 finds the existing group label8190 creates a new label8191 when description is an empty string8192 finds the existing group label8193 milestones8194 finds the existing group milestone8195 creates a new milestone8196Packages::Nuget::PackagesVersionsPresenter8197 #versions8198 is expected to contain exactly "1.0.59", "1.0.60", "1.0.61", "1.0.62", and "1.0.63"8199ApplicationsFinder8200 #execute8201 returns an array of instance applications8202 by_id8203 with existing id8204 returns the application8205 with invalid id8206 returns nil for user application8207 returns nil for group application8208 returns nil for non-existing application8209Gitlab::Database::BackgroundMigration::HealthStatus8210 .evaluate8211 returns a collection of signals8212 logs interesting signals8213 does not log signals of no interest8214 with default indicators8215 returns a collection of signals8216 on indicator error8217 does not fail8218 returns Unknown signal8219 reports the exception to error tracking8220Peek::Views::ExternalHttp8221 returns no results8222 returns aggregated results8223 when the host is in IPv4 format8224 displays IPv4 in the label8225 when the host is in IPv6 foramat8226 displays IPv6 in the label8227 when the query is a hash8228 converts query hash into a query string8229 when the host is invalid8230 displays unknown in the label8231 when URI creation raises an URI::Error8232 displays unknown in the label8233 when URI creation raises a StandardError exception8234 displays unknown in the label8235Packages::Debian::FindOrCreatePackageService8236 #execute8237 with a codename as distribution name8238 behaves like find or create Debian package8239 returns the same object8240 with package marked as pending_destruction8241 creates a new package8242 with a suite as distribution name8243 behaves like find or create Debian package8244 returns the same object8245 with package marked as pending_destruction8246 creates a new package8247 with non-existing distribution8248 raises ActiveRecord::RecordNotFound8249Namespace::Detail8250 associations8251 is expected to belong to namespace required: false8252 validations8253 is expected to validate that :namespace cannot be empty/falsy8254 when namespace description changes8255 changes namespace details description8256 when project description changes8257 changes project namespace details description8258 when group description changes8259 changes group namespace details description8260Sidebars::UserSettings::Menus::ApplicationsMenu8261 # order random8262 behaves like User settings menu #render? method8263 #render?8264 when user is logged in8265 renders8266 when user is not logged in8267 does not render8268 behaves like User settings menu8269 does not contain any sub menu8270 renders the correct link8271 renders the correct title8272 renders the correct icon8273 defines correct active route8274Packages::Debian::ParseDebian822Service8275 with dpkg-deb --field output8276 return as expected, preserving order8277 with control file8278 return as expected, preserving order8279 with empty input8280 return a empty hash8281 with unexpected continuation line8282 raise error8283 with duplicate field8284 raise error8285 with incorrect input8286 raise error8287 with duplicate section8288 raise error8289Packages::Nuget::SearchResultsPresenter8290 #total_count8291 expects to have 3 total elements8292 #data8293 returns the proper data structure8294ApplicationCable::Connection8295 when session cookie is set8296 when user is logged in8297 sets current_user8298 with a stale password8299 sets current_user to nil8300 when user is not logged in8301 sets current_user to nil8302 when session cookie is not set8303 sets current_user to nil8304 when session cookie is an empty string8305 sets current_user to nil8306RuboCop::Cop::CodeReuse::Serializer8307 # order random8308 flags the use of a Serializer in a model instance method8309 flags the use of a Serializer in a Serializer8310 flags the use of a Serializer in a worker8311 flags the use of a Serializer in a Presenter8312 flags the use of a Serializer in a model class method8313 flags the use of a Serializer in a Service class8314 flags the use of a Serializer in a Finder8315PerformanceMonitoring::PrometheusPanel8316 #new8317 accepts old schema format8318 accepts new schema format8319 .from_json8320 creates a PrometheusPanelGroup object8321 validations8322 json_content is not a hash8323 is expected to raise ActiveModel::ValidationError8324 when title is missing8325 is expected to raise ActiveModel::ValidationError8326 when metrics are missing8327 is expected to raise ActiveModel::ValidationError8328 .id8329 returns hexdigest of group_title, type and title as the panel id8330Uploads::Local8331 model with uploads8332 #keys8333 returns keys8334 #delete_keys8335 deletes multiple data8336JiraConnect::AppDataSerializer8337 #as_json8338 uses the subscription entity8339 includes a group path with already subscribed namespaces as skip_groups8340 is expected to include {:subscriptions_path => "/-/jira_connect/subscriptions"}8341 is expected to include {:login_path => "/-/jira_connect/users"}8342 when signed in8343 is expected to include {:login_path => nil}8344BulkImports::UsersMapper8345 #map8346 when value for specified key exists8347 returns a map of source & destination user ids from redis8348 when value for specified key does not exist8349 returns default value8350 #default_user_id8351 returns current user id8352 #include?8353 when source user id is present in the map8354 returns true8355 when source user id is missing in the map8356 returns false8357 #cache_source_user_id8358 caches provided source & destination user ids in redis8359groups/group_members/index8360 when user can invite members for the group8361 renders as expected8362 when user can not invite members for the group8363 renders as expected8364 when @banned is nil8365 calls group_members_app_data with { banned: [] }8366Packages::Nuget::DependencyLinkMetadatum8367 relationships8368 is expected to belong to dependency_link required: false8369 validations8370 is expected to validate that :dependency_link cannot be empty/falsy8371 is expected to validate that :target_framework cannot be empty/falsy8372 #ensure_nuget_package_type8373 validates package of type nuget8374 validates package of type nuget with nil dependency_link8375Gitlab::ErrorTracking::Processor::SanitizerProcessor8376 .call8377 when event attributes contains sensitive information8378 filters sensitive attributes8379 when request contains sensitive information8380 filters sensitive headers8381 filters query string parameters8382 removes cookies8383 removes data8384Namespaces::SyncEvent8385 # order random8386 .enqueue_worker8387 schedules Namespaces::ProcessSyncEventsWorker job8388 .upper_bound_count8389 returns 0 when there are no records in the table8390 returns an estimated number of the records in the database8391BizibleHelper8392 #bizible_enabled?8393 when bizible config is not true8394 is expected to be falsy8395 when bizible config is enabled8396 is expected to be truthy8397 with ecomm_instrumentation feature flag disabled8398 is expected to be falsey8399 with ecomm_instrumentation feature flag enabled8400 is expected to be truthy8401 with invite_email present8402 is expected to be falsy8403Sidebars::Projects::Menus::ConfluenceMenu8404 render?8405 when Confluence integration is not present8406 returns false8407 when Confluence integration is present8408 when integration is disabled8409 returns false8410 when issues integration is enabled8411 returns true8412 does not contain any sub menu8413Gitlab::Ci::Status::Running8414 #text8415 is expected to eq "running"8416 #label8417 is expected to eq "running"8418 #icon8419 is expected to eq "status_running"8420 #favicon8421 is expected to eq "favicon_status_running"8422 #group8423 is expected to eq "running"8424 #details_path8425 is expected to be nil8426BulkImports::Common::Extractors::NdjsonExtractor8427 #extract8428 returns ExtractedData8429 #remove_tmpdir8430 removes tmp dir8431Members::BaseService8432 # order random8433 #resolve_access_request_todos8434 calls the resolve_access_request_todos of todo service8435Gitlab::Ci::Config::Entry::Ports8436 when configuration is valid8437 #valid?8438 is valid8439 #value8440 returns valid array8441 when configuration is invalid8442 #valid?8443 is invalid8444 when any of the ports8445 have the same name8446 #valid?8447 is invalid8448 have the same port8449 #valid?8450 is invalid8451Gitlab::Throttle8452 .protected_paths_enabled?8453 returns Application Settings throttle_protected_paths_enabled?8454 .bypass_header8455 is nil8456 when a header is configured8457 is a funny upper case rack key8458 .rate_limiting_response_text8459 when the setting is not present8460 returns the default value with a trailing newline8461 when the setting is present8462 returns the default value with a trailing newline8463Marginalia spec8464 For rails web requests8465 generates a query that includes the component and value8466 when using CI database8467 generates a query that includes the component and value (PENDING: Skipping because none of the extra databases [:ci] are setup)8468 for Sidekiq worker jobs8469 generates a query that includes the component and value8470 for ActionMailer delivery jobs8471 generates a query that includes the component and value8472RuboCop::QAHelpers8473 # order random8474 #in_qa_file?8475 returns true for a node in the qa/ directory8476 returns false for a node outside the qa/ directory8477Ci::CopyCrossDatabaseAssociationsService8478 #execute8479 returns a success response8480Banzai::Filter::References::AbstractReferenceFilter8481 #data_attributes_for8482 is not an XSS vector8483 abstract methods8484 #find_object8485 raises NotImplementedError8486 #url_for_object8487 raises NotImplementedError8488Evidences::ReleaseEntity8489 exposes the expected fields8490 when the release has milestones8491 exposes these milestones8492 when the release has no milestone8493 exposes an empty array for milestones8494Gitlab::ImportExport::Json::NdjsonWriter8495 #write_attributes8496 writes correct json to root8497 #write_relation8498 when single relation is serialized8499 appends json in correct file8500 when single relation is already serialized8501 raise exception8502 #write_relation_array8503 writes json in correct files8504Banzai::Filter::BlockquoteFenceFilter8505 converts blockquote fences to blockquote lines8506 does not require newlines at start or end of string8507 allows trailing whitespace on blockquote fence lines8508 when incomplete blockquote fences with multiple blocks are present8509 does not raise timeout error8510Types::PermissionTypes::BasePermissionType8511 .permission_field8512 adds a field for the required permission8513 .ability_field8514 adds a field for the required permission8515 does not add a resolver block if another resolving param is passed8516 .abilities8517 adds a field for the passed permissions8518 extensions8519 has the extension8520Gitlab::SidekiqVersioning8521 .install!8522 registers all versionless and versioned queues with Redis8523Types::Projects::Services::JiraServiceType8524 is expected to eq "JiraService"8525 has basic expected fields8526 is expected to require graphql authorizations :admin_project8527Gitlab::GithubImport::Stage::ImportPullRequestsMergedByWorker8528 #import8529 imports all the pull requests8530Gitlab::GithubImport::Representation::ToHash8531 #to_hash8532 converts an object to a Hash8533 converts nested objects to Hashes8534 converts Array values to Hashes8535 keeps values as-is if they do not respond to #to_hash8536JiraConnect::ForwardEventWorker8537 #perform8538 forwards the event and deletes the installation8539 when installation does not exist8540 does nothing8541 when installation does not have an instance_url8542 forwards the event including the auth header8543Gitlab::ImportExport::Config8544 #to_h8545 when using default config8546 ee: true8547 parses default config8548 ee: false8549 parses default config8550 when using custom config8551 when using CE8552 just returns the normalized Hash8553 when using EE8554 just returns the normalized Hash8555Types::PermissionTypes::Ci::Job8556 has expected permission fields8557Gitlab::Database::ObsoleteIgnoredColumns8558 #execute8559 returns a list of class names and columns pairs8560Repositories::ChangelogTagFinder8561 #execute8562 when the regular expression is invalid8563 raises Gitlab::Changelog::Error8564 when there is a previous tag8565 returns the previous tag8566 when there is no previous tag8567 returns nil8568Gitlab::Graphql::Loaders::BatchRootStorageStatisticsLoader8569 #find8570 only queries once for project statistics8571Gitlab::SidekiqMiddleware::DuplicateJobs::Server8572 with until_executing strategy8573 #call8574 removes the stored job from redis before execution8575 with until_executed strategy8576 removes the stored job from redis after execution8577Types::Ci::PipelineScheduleType8578 # order random8579 is expected to expose permissions using Types::PermissionTypes::Ci::PipelineSchedules8580 is expected to eq "PipelineSchedule"8581 exposes the expected fields8582Gitlab::WordDiff::Parser8583 #parse8584 returns a collection of lines8585 restarts object index after several calls to Enumerator8586 when diff is empty8587 is expected to eq []8588GroupBadge8589 associations8590 is expected to belong to group required: false8591 validations8592 is expected to validate that :group cannot be empty/falsy8593Types::Ci::InstanceVariableType8594 is expected to contain exactly Types::Ci::VariableInterface8595 is expected to have graphql fields :environment_scope, :masked, and :protected8596BulkImports::Projects::Graphql::GetProjectQuery8597 has a valid query8598 queries project based on source_full_path8599Types::PrometheusAlertType8600 is expected to eq "PrometheusAlert"8601 has the expected fields8602 is expected to require graphql authorizations :read_prometheus_alerts8603TestReportsComparerEntity8604 #as_json8605 when head and base reports include two test suites8606 when the status of head report is success8607 contains correct compared test reports details8608 when the status of head report is failed8609 contains correct compared test reports details8610 when the status of head report is resolved8611 contains correct compared test reports details8612Metrics::Dashboard::ScheduleAnnotationsPruneWorker8613 #perform8614 schedules annotations prune job with default cut off date8615Gitlab::Ci::ProjectConfig::Source8616 # order random8617 #source8618 is expected to raise NotImplementedError8619 #internal_include_prepended?8620 is expected to eq false8621 #content8622 is expected to raise NotImplementedError8623SystemCheck::App::GitlabCableConfigExistsCheck8624 # order random8625 #check?8626 when config/cable.yml exists8627 is expected to eq true8628 when config/cable.yml does not exist8629 is expected to eq false8630Gitlab::Usage::Metrics::Instrumentations::CertBasedClustersFfMetric8631 with FF enabled8632 behaves like a correct instrumented metric value8633 has correct value8634 with FF disabled8635 behaves like a correct instrumented metric value8636 has correct value8637Projects::ImportErrorFilter8638 filters any full paths8639 filters any relative paths ignoring single slash ones8640API::Entities::PersonalAccessToken8641 #as_json8642 returns token data8643RuboCop::Cop::RSpec::WebMockEnable8644 # order random8645 when calling WebMock.disable_net_connect!8646 registers an offence and autocorrects it8647Gitlab::ErrorTracking::LogFormatter8648 appends error-related log fields and filters sensitive Sidekiq arguments8649Gitlab::CiAccess8650 #can_do_action?8651 when action is :build_download_code8652 is expected to be truthy8653 when action is not :build_download_code8654 is expected to be falsey8655Cookies serializer initializer8656 uses JSON serializer by default8657 uses the unsafe hybrid serializer when the environment variables is set8658Types::PermissionTypes::Project8659 is expected to have graphql field :read_environment8660OneTrustHelper8661 #one_trust_enabled?8662 with ecomm_instrumentation feature flag disabled8663 is expected to be falsey8664 with ecomm_instrumentation feature flag enabled8665 when no id is set8666 is expected to be falsey8667ForkNamespaceSerializer8668 represents ForkNamespaceEntity entities8669Gitlab::Ci::Status::Bridge::WaitingForResource8670 is expected to be < Gitlab::Ci::Status::Processable::WaitingForResource8671Gitlab::Redis::Wrapper8672 .instrumentation_class8673 raises a NameError8674Asset proxy settings initialization8675 #asset_proxy8676 defaults to disabled8677Ci::TriggerSerializer8678 #represent8679 matches schema8680Gitlab::Usage::Metrics::Instrumentations::UuidMetric8681 behaves like a correct instrumented metric value8682 has correct value8683Gitlab::DependencyLinker::BaseLinker8684 #link8685 only converts valid links8686Banzai::Querying8687 .css8688 optimizes queries for elements with classes8689Knapsack report was generated. Preview:8690{8691 "spec/models/ci/build_spec.rb": 84.1231081320002,8692 "spec/models/ci/job_artifact_spec.rb": 62.94567743299922,8693 "spec/services/boards/issues/list_service_spec.rb": 65.81085480299953,8694 "spec/lib/gitlab/database/migration_helpers/automatic_lock_writes_on_tables_spec.rb": 21.952650580999034,8695 "spec/services/members/update_service_spec.rb": 48.33167781299926,8696 "spec/services/merge_requests/merge_to_ref_service_spec.rb": 48.15544853500069,8697 "spec/services/users/migrate_records_to_ghost_user_service_spec.rb": 38.239228836999246,8698 "spec/services/git/process_ref_changes_service_spec.rb": 28.351005979999172,8699 "spec/lib/gitlab/ci/status/pipeline/factory_spec.rb": 23.859332723999614,8700 "spec/lib/banzai/color_parser_spec.rb": 3.361785314998997,8701 "spec/services/ci/job_artifacts/destroy_all_expired_service_spec.rb": 23.41904459699981,8702 "spec/services/packages/nuget/search_service_spec.rb": 9.593300268999883,8703 "spec/lib/gitlab/email/handler/create_merge_request_handler_spec.rb": 25.577399341000273,8704 "spec/lib/gitlab/diff/file_collection/merge_request_diff_batch_spec.rb": 23.5151457259999,8705 "spec/lib/gitlab/project_authorizations_spec.rb": 21.72372702999928,8706 "spec/uploaders/personal_file_uploader_spec.rb": 9.638352549000047,8707 "spec/lib/banzai/pipeline/wiki_pipeline_spec.rb": 5.670099768,8708 "spec/graphql/mutations/merge_requests/set_milestone_spec.rb": 15.93759194300037,8709 "spec/finders/group_members_finder_spec.rb": 9.179277671999444,8710 "spec/models/terraform/state_version_spec.rb": 14.205734135000966,8711 "spec/lib/gitlab/auth/ldap/dn_spec.rb": 3.1161274669993873,8712 "spec/services/packages/maven/metadata/create_plugins_xml_service_spec.rb": 11.198631367000417,8713 "spec/services/members/projects/creator_service_spec.rb": 9.10512551300053,8714 "spec/uploaders/namespace_file_uploader_spec.rb": 4.820156234000024,8715 "spec/finders/packages/nuget/package_finder_spec.rb": 7.603472363998662,8716 "spec/services/suggestions/create_service_spec.rb": 12.687545216000217,8717 "spec/lib/api/helpers/caching_spec.rb": 6.6763278109992825,8718 "spec/lib/api/entities/snippet_spec.rb": 4.644332836000103,8719 "spec/lib/gitlab/ci/trace/chunked_io_spec.rb": 4.766898363999644,8720 "spec/models/ci/build_trace_chunks/redis_spec.rb": 6.196975995000685,8721 "spec/lib/gitlab/database/load_balancing/sidekiq_server_middleware_spec.rb": 1.4543254189993604,8722 "spec/haml_lint/linter/documentation_links_spec.rb": 1.9615942159998667,8723 "spec/services/clusters/create_service_spec.rb": 9.179524486999071,8724 "spec/lib/extracts_path_spec.rb": 2.8353405790003308,8725 "spec/services/projects/hashed_storage/migrate_attachments_service_spec.rb": 11.127375648000452,8726 "spec/lib/gitlab/database/postgres_foreign_key_spec.rb": 3.6401859329998842,8727 "spec/lib/gitlab/import_export/group/tree_saver_spec.rb": 5.485982318001334,8728 "spec/services/issues/set_crm_contacts_service_spec.rb": 7.569875529001365,8729 "spec/lib/gitlab/diff/rendered/notebook/diff_file_spec.rb": 4.741790543999741,8730 "spec/presenters/ci/stage_presenter_spec.rb": 5.918218558999797,8731 "spec/services/projects/container_repository/gitlab/cleanup_tags_service_spec.rb": 4.989309733000482,8732 "spec/finders/access_requests_finder_spec.rb": 6.1676128870003595,8733 "spec/serializers/diff_file_base_entity_spec.rb": 5.090922313000192,8734 "spec/graphql/resolvers/container_repositories_resolver_spec.rb": 4.3423261560001265,8735 "spec/services/discussions/resolve_service_spec.rb": 6.591026255000543,8736 "spec/services/bulk_imports/relation_export_service_spec.rb": 4.510379605999333,8737 "spec/services/environments/create_for_build_service_spec.rb": 4.643780495000101,8738 "spec/lib/gitlab/ci/config/entry/release_spec.rb": 1.7969905200006906,8739 "spec/lib/gitlab/markdown_cache/active_record/extension_spec.rb": 2.459199067001464,8740 "spec/lib/banzai/reference_parser/issue_parser_spec.rb": 4.279010087000643,8741 "spec/policies/ci/runner_machine_policy_spec.rb": 3.9593314590001683,8742 "spec/finders/feature_flags_finder_spec.rb": 4.427379187000042,8743 "spec/services/users/approve_service_spec.rb": 3.8048688390008465,8744 "spec/finders/packages/packages_finder_spec.rb": 2.959704533999684,8745 "spec/views/projects/commits/_commit.html.haml_spec.rb": 5.87748080900019,8746 "spec/workers/users/deactivate_dormant_users_worker_spec.rb": 3.433958691000953,8747 "spec/services/jira_import/start_import_service_spec.rb": 4.147681406999254,8748 "spec/lib/gitlab/github_import/representation/diff_note_spec.rb": 1.6175570510004036,8749 "spec/graphql/mutations/incident_management/timeline_event/create_spec.rb": 4.582502195000416,8750 "spec/workers/merge_request_mergeability_check_worker_spec.rb": 5.590170420000504,8751 "spec/workers/integrations/create_external_cross_reference_worker_spec.rb": 2.2410707480012206,8752 "spec/serializers/environment_status_entity_spec.rb": 4.642226766000022,8753 "spec/workers/projects/post_creation_worker_spec.rb": 4.371338916000241,8754 "spec/lib/gitlab/diff/file_collection/merge_request_diff_base_spec.rb": 5.344106181000825,8755 "spec/lib/sidebars/groups/menus/packages_registries_menu_spec.rb": 1.6965249410004617,8756 "spec/workers/deployments/hooks_worker_spec.rb": 5.409308971000428,8757 "spec/graphql/resolvers/concerns/caching_array_resolver_spec.rb": 1.8679890899984457,8758 "spec/policies/upload_policy_spec.rb": 2.3750197970002773,8759 "spec/models/packages/rpm/metadatum_spec.rb": 0.8966901250005321,8760 "spec/lib/gitlab/metrics/exporter/base_exporter_spec.rb": 1.1619669840001734,8761 "spec/services/ci/expire_pipeline_cache_service_spec.rb": 5.067530493000959,8762 "spec/services/projects/move_notification_settings_service_spec.rb": 2.6550119660005294,8763 "spec/lib/gitlab/checks/lfs_integrity_spec.rb": 6.605873964999773,8764 "spec/lib/gitlab/tracking/standard_context_spec.rb": 1.29242263299966,8765 "spec/models/bulk_imports/export_status_spec.rb": 0.9889318949990411,8766 "spec/lib/gitlab/authorized_keys_spec.rb": 0.7575652260002244,8767 "spec/workers/ci/drop_pipeline_worker_spec.rb": 3.0023784040004102,8768 "spec/services/projects/blame_service_spec.rb": 1.7325428910007759,8769 "spec/services/projects/container_repository/cleanup_tags_service_spec.rb": 1.4717241920006927,8770 "spec/helpers/button_helper_spec.rb": 2.8028678449991276,8771 "spec/presenters/packages/nuget/packages_metadata_presenter_spec.rb": 2.5873661160003394,8772 "spec/components/pajamas/toggle_component_spec.rb": 1.0781337049993454,8773 "spec/services/resource_events/synthetic_label_notes_builder_service_spec.rb": 4.242364878000444,8774 "spec/services/repositories/destroy_service_spec.rb": 4.955352863000371,8775 "spec/lib/gitlab/ci/input/inputs_spec.rb": 0.7226753869999811,8776 "spec/models/work_items/widget_definition_spec.rb": 1.139437773001191,8777 "spec/services/packages/mark_packages_for_destruction_service_spec.rb": 2.2539022469991323,8778 "spec/lib/banzai/filter/inline_diff_filter_spec.rb": 0.6158831569991889,8779 "spec/services/ci/create_pipeline_service/tags_spec.rb": 3.26903496200066,8780 "spec/lib/sidebars/projects/menus/hidden_menu_spec.rb": 2.2867213079989597,8781 "spec/config/application_spec.rb": 0.6311852660001023,8782 "spec/workers/environments/auto_stop_worker_spec.rb": 5.042856162999669,8783 "spec/finders/incident_management/timeline_events_finder_spec.rb": 2.3575421770001412,8784 "spec/lib/mattermost/session_spec.rb": 2.664584256001035,8785 "spec/lib/gitlab/metrics/dashboard/validator/post_schema_validator_spec.rb": 1.4885865319993172,8786 "spec/models/preloaders/project_policy_preloader_spec.rb": 2.512394866998875,8787 "spec/lib/gitlab/github_import/importer/events/closed_spec.rb": 2.2280636279992905,8788 "spec/lib/gitlab/jira/dvcs_spec.rb": 1.7994154400003026,8789 "spec/lib/gitlab/slug/path_spec.rb": 0.8248197060001985,8790 "spec/lib/gitlab/ci/trace/metrics_spec.rb": 1.481080022000242,8791 "spec/helpers/projects/ml/experiments_helper_spec.rb": 1.5149078420017759,8792 "spec/lib/banzai/filter/image_link_filter_spec.rb": 0.9021057449990622,8793 "spec/lib/bitbucket_server/representation/pull_request_spec.rb": 0.7551227660005679,8794 "spec/views/layouts/_header_search.html.haml_spec.rb": 2.345491027999742,8795 "spec/lib/gitlab/legacy_github_import/branch_formatter_spec.rb": 1.3211459329995705,8796 "spec/services/projects/apple_target_platform_detector_service_spec.rb": 0.42300884799988125,8797 "spec/lib/gitlab/ci/config/entry/port_spec.rb": 1.121261283999047,8798 "spec/views/projects/tree/show.html.haml_spec.rb": 1.8827719900000375,8799 "spec/finders/autocomplete/project_finder_spec.rb": 2.105597159001263,8800 "spec/lib/banzai/reference_parser/design_parser_spec.rb": 2.6554456559988466,8801 "spec/lib/gitlab/ci/status/pipeline/common_spec.rb": 2.2522879490006744,8802 "spec/lib/gitlab/kubernetes/helm/v2/delete_command_spec.rb": 1.0545310739998968,8803 "spec/lib/gitlab/prometheus/internal_spec.rb": 1.1492549039994628,8804 "spec/graphql/types/member_interface_spec.rb": 0.4809801770006743,8805 "spec/services/import/github/cancel_project_import_service_spec.rb": 1.18703514399931,8806 "spec/lib/gitlab/github_import/importer/events/cross_referenced_spec.rb": 2.471339056999568,8807 "spec/lib/constraints/admin_constrainer_spec.rb": 0.8882642950011359,8808 "spec/services/container_expiration_policies/cleanup_service_spec.rb": 1.244124942999406,8809 "spec/models/user_custom_attribute_spec.rb": 1.6360282219993678,8810 "spec/policies/packages/policies/group_policy_spec.rb": 1.6280571909992432,8811 "spec/lib/gitlab/issuable/clone/attributes_rewriter_spec.rb": 1.9664921889998368,8812 "spec/rubocop/cop/migration/with_lock_retries_disallowed_method_spec.rb": 0.6869151869996131,8813 "spec/lib/gitlab/ci/reports/coverage_report_spec.rb": 0.4417157669995504,8814 "spec/lib/gitlab/database/migration_spec.rb": 0.46102418699956615,8815 "spec/views/devise/shared/_signup_box.html.haml_spec.rb": 0.874579535000521,8816 "spec/workers/incident_management/close_incident_worker_spec.rb": 1.655620732000898,8817 "spec/uploaders/metric_image_uploader_spec.rb": 0.2705189690004772,8818 "spec/models/project_deploy_token_spec.rb": 1.9391957300013019,8819 "spec/lib/gitlab/import/merge_request_creator_spec.rb": 2.8412522449998505,8820 "spec/services/award_emojis/toggle_service_spec.rb": 2.018029378999927,8821 "spec/models/lfs_objects_project_spec.rb": 1.3347942529999273,8822 "spec/models/preloaders/group_policy_preloader_spec.rb": 1.5363191710002866,8823 "spec/services/ci/compare_accessibility_reports_service_spec.rb": 2.2357020970011945,8824 "spec/models/description_version_spec.rb": 0.6336924669994914,8825 "spec/views/shared/milestones/_issuables.html.haml_spec.rb": 0.5734870670003147,8826 "spec/lib/sidebars/user_profile/menus/activity_menu_spec.rb": 1.1013906740008679,8827 "spec/services/dependency_proxy/auth_token_service_spec.rb": 0.8232231359997968,8828 "spec/models/integrations/asana_spec.rb": 0.9947089840006811,8829 "spec/presenters/user_presenter_spec.rb": 1.0043126249984198,8830 "spec/lib/gitlab/middleware/speedscope_spec.rb": 1.1543719639994379,8831 "spec/services/wiki_pages/event_create_service_spec.rb": 1.3624753129988676,8832 "spec/serializers/clusters/kubernetes_error_entity_spec.rb": 1.6996284910001123,8833 "spec/models/integrations/chat_message/merge_message_spec.rb": 0.5085996769994381,8834 "spec/models/releases/source_spec.rb": 1.2031827840000915,8835 "spec/services/award_emojis/collect_user_emoji_service_spec.rb": 1.9133781290001934,8836 "spec/tooling/lib/tooling/mappings/base_spec.rb": 0.4894363580006029,8837 "spec/services/projects/enable_deploy_key_service_spec.rb": 1.3900592919999326,8838 "spec/graphql/resolvers/users/group_count_resolver_spec.rb": 1.4633579229994211,8839 "spec/services/protected_branches/destroy_service_spec.rb": 1.2319878340003925,8840 "spec/models/oauth_access_grant_spec.rb": 0.5575049969993415,8841 "spec/graphql/types/customer_relations/contact_sort_enum_spec.rb": 0.3508417280008871,8842 "spec/services/packages/generic/find_or_create_package_service_spec.rb": 1.282502542999282,8843 "spec/lib/gitlab/ci/build/artifacts/path_spec.rb": 0.6600743669987423,8844 "spec/lib/gitlab/ci/pipeline/preloader_spec.rb": 1.2982465929999307,8845 "spec/lib/bulk_imports/network_error_spec.rb": 0.6668214359997364,8846 "spec/lib/gitlab/prometheus/adapter_spec.rb": 1.0117182249996404,8847 "spec/lib/gitlab/import_export/group/object_builder_spec.rb": 0.8373375349983689,8848 "spec/presenters/packages/nuget/packages_versions_presenter_spec.rb": 1.4548551330008195,8849 "spec/finders/applications_finder_spec.rb": 0.6641448669997772,8850 "spec/lib/gitlab/database/background_migration/health_status_spec.rb": 0.5697054869997373,8851 "spec/lib/peek/views/external_http_spec.rb": 0.7817376259990851,8852 "spec/services/packages/debian/find_or_create_package_service_spec.rb": 1.0645541539997794,8853 "spec/models/namespace/detail_spec.rb": 0.9763675349986443,8854 "spec/lib/sidebars/user_settings/menus/applications_menu_spec.rb": 0.7473598059987125,8855 "spec/services/packages/debian/parse_debian822_service_spec.rb": 0.5014610469988838,8856 "spec/presenters/packages/nuget/search_results_presenter_spec.rb": 0.997001054998691,8857 "spec/channels/application_cable/connection_spec.rb": 0.8049226950006414,8858 "spec/rubocop/cop/code_reuse/serializer_spec.rb": 0.6061427959994035,8859 "spec/models/performance_monitoring/prometheus_panel_spec.rb": 0.5452101569990191,8860 "spec/models/uploads/local_spec.rb": 0.9695269450003252,8861 "spec/serializers/jira_connect/app_data_serializer_spec.rb": 0.672553856000377,8862 "spec/lib/bulk_imports/users_mapper_spec.rb": 0.5419258869987971,8863 "spec/views/groups/group_members/index.html.haml_spec.rb": 0.7960693959994387,8864 "spec/models/packages/nuget/dependency_link_metadatum_spec.rb": 0.6708519069998147,8865 "spec/lib/gitlab/error_tracking/processor/sanitizer_processor_spec.rb": 0.43618920799963234,8866 "spec/models/namespaces/sync_event_spec.rb": 0.67399709700112,8867 "spec/helpers/bizible_helper_spec.rb": 0.4638466479991621,8868 "spec/lib/sidebars/projects/menus/confluence_menu_spec.rb": 0.7830157759999565,8869 "spec/lib/gitlab/ci/status/running_spec.rb": 0.6435682960000122,8870 "spec/lib/bulk_imports/common/extractors/ndjson_extractor_spec.rb": 0.9141717349993996,8871 "spec/services/members/base_service_spec.rb": 0.624250906999805,8872 "spec/lib/gitlab/ci/config/entry/ports_spec.rb": 0.4559776170008263,8873 "spec/lib/gitlab/throttle_spec.rb": 0.6389562470012606,8874 "spec/lib/marginalia_spec.rb": 0.4115367280010105,8875 "spec/rubocop/qa_helpers_spec.rb": 0.5268037770001683,8876 "spec/services/ci/copy_cross_database_associations_service_spec.rb": 0.9204111650014966,8877 "spec/lib/banzai/filter/references/abstract_reference_filter_spec.rb": 0.7517082359991036,8878 "spec/serializers/evidences/release_entity_spec.rb": 0.75485538599969,8879 "spec/lib/gitlab/import_export/json/ndjson_writer_spec.rb": 0.42825882800025283,8880 "spec/lib/banzai/filter/blockquote_fence_filter_spec.rb": 0.5708163669987698,8881 "spec/graphql/types/permission_types/base_permission_type_spec.rb": 0.7704916359998606,8882 "spec/lib/gitlab/sidekiq_versioning_spec.rb": 0.4131841189991974,8883 "spec/graphql/types/projects/jira_service_type_spec.rb": 0.4347539880000113,8884 "spec/workers/gitlab/github_import/stage/import_pull_requests_merged_by_worker_spec.rb": 0.5292485770005442,8885 "spec/lib/gitlab/github_import/representation/to_hash_spec.rb": 0.45667194799898425,8886 "spec/workers/jira_connect/forward_event_worker_spec.rb": 0.6374545859998761,8887 "spec/lib/gitlab/import_export/config_spec.rb": 0.45684780800002045,8888 "spec/graphql/types/permission_types/ci/job_spec.rb": 0.430249138000363,8889 "spec/lib/gitlab/database/obsolete_ignored_columns_spec.rb": 0.6122176760000002,8890 "spec/finders/repositories/changelog_tag_finder_spec.rb": 0.5165109270001267,8891 "spec/lib/gitlab/graphql/loaders/batch_root_storage_statistics_loader_spec.rb": 0.4501685670002189,8892 "spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/server_spec.rb": 0.5390928569995594,8893 "spec/graphql/types/ci/pipeline_schedule_type_spec.rb": 0.47227561799991236,8894 "spec/lib/gitlab/word_diff/parser_spec.rb": 0.3135752779999166,8895 "spec/models/badges/group_badge_spec.rb": 0.2851356589999341,8896 "spec/graphql/types/ci/instance_variable_type_spec.rb": 0.41961463700135937,8897 "spec/lib/bulk_imports/projects/graphql/get_project_query_spec.rb": 0.4892797069987864,8898 "spec/graphql/types/prometheus_alert_type_spec.rb": 0.8296030460005568,8899 "spec/serializers/test_reports_comparer_entity_spec.rb": 0.40420337800060224,8900 "spec/workers/metrics/dashboard/schedule_annotations_prune_worker_spec.rb": 0.32814736900036223,8901 "spec/lib/gitlab/ci/project_config/source_spec.rb": 0.36961580800016236,8902 "spec/lib/system_check/app/gitlab_cable_config_exists_check_spec.rb": 0.2827686580003501,8903 "spec/lib/gitlab/usage/metrics/instrumentations/cert_based_clusters_ff_metric_spec.rb": 0.616191887000241,8904 "spec/services/projects/import_error_filter_spec.rb": 0.49073041699921305,8905 "spec/lib/api/entities/personal_access_token_spec.rb": 0.35446365799907653,8906 "spec/rubocop/cop/rspec/web_mock_enable_spec.rb": 0.272520448999785,8907 "spec/lib/gitlab/error_tracking/log_formatter_spec.rb": 0.4673002979998273,8908 "spec/lib/gitlab/ci_access_spec.rb": 0.3759463879996474,8909 "spec/initializers/cookies_serializer_spec.rb": 0.4390905180007394,8910 "spec/graphql/types/permission_types/project_spec.rb": 0.38960157799920125,8911 "spec/helpers/one_trust_helper_spec.rb": 0.5020844669998041,8912 "spec/serializers/fork_namespace_serializer_spec.rb": 0.5984394170009182,8913 "spec/lib/gitlab/ci/status/bridge/waiting_for_resource_spec.rb": 0.35558596800001396,8914 "spec/lib/gitlab/redis/wrapper_spec.rb": 0.5729119669995271,8915 "spec/initializers/asset_proxy_setting_spec.rb": 0.30440554800043174,8916 "spec/serializers/ci/trigger_serializer_spec.rb": 0.3785679379998328,8917 "spec/lib/gitlab/usage/metrics/instrumentations/uuid_metric_spec.rb": 0.36193907800043235,8918 "spec/lib/gitlab/dependency_linker/base_linker_spec.rb": 0.3210472780010605,8919 "spec/lib/banzai/querying_spec.rb": 0.32429911899998848920}8921Knapsack global time execution for tests: 16m 46s8922Pending: (Failures listed here are expected and do not affect your suite's status)8923 1) Ci::Build partitioning assigns partition_id to job variables successfully8924 # Skipping partitioning tests until `ci_builds` is partitioned8925 Failure/Error: skip 'Skipping partitioning tests until `ci_builds` is partitioned'8926 RSpec::Core::Pending::SkipDeclaredInExample8927 # ./spec/support/models/ci/partitioning_testing/rspec_hooks.rb:8:in `block (2 levels) in <top (required)>'8928 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (3 levels) in <top (required)>'8929 # ./spec/support/database/prevent_cross_joins.rb:62:in `with_cross_joins_prevented'8930 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (2 levels) in <top (required)>'8931 2) Ci::Build assigning token includes partition_id as a token prefix8932 # Skipping partitioning tests until `ci_builds` is partitioned8933 Failure/Error: skip 'Skipping partitioning tests until `ci_builds` is partitioned'8934 RSpec::Core::Pending::SkipDeclaredInExample8935 # ./spec/support/models/ci/partitioning_testing/rspec_hooks.rb:8:in `block (2 levels) in <top (required)>'8936 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (3 levels) in <top (required)>'8937 # ./spec/support/database/prevent_cross_joins.rb:62:in `with_cross_joins_prevented'8938 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (2 levels) in <top (required)>'8939 3) Ci::Build metadata partitioning creates the metadata record and assigns its partition8940 # Skipping partitioning tests until `ci_builds` is partitioned8941 Failure/Error: skip 'Skipping partitioning tests until `ci_builds` is partitioned'8942 RSpec::Core::Pending::SkipDeclaredInExample8943 # ./spec/support/models/ci/partitioning_testing/rspec_hooks.rb:8:in `block (2 levels) in <top (required)>'8944 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (3 levels) in <top (required)>'8945 # ./spec/support/database/prevent_cross_joins.rb:62:in `with_cross_joins_prevented'8946 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (2 levels) in <top (required)>'8947 4) Gitlab::Database::MigrationHelpers::AutomaticLockWritesOnTables when reversing drop_table migrations when multiple databases for re-creating a gitlab_main table behaves like does not lock writes on table allows deleting records from the table8948 # Skipping because ci is shared or doesn't not exist8949 # ./spec/lib/gitlab/database/migration_helpers/automatic_lock_writes_on_tables_spec.rb:378950 5) Gitlab::Database::MigrationHelpers::AutomaticLockWritesOnTables when reversing drop_table migrations when multiple databases for re-creating a gitlab_main table behaves like locks writes on table errors on deleting8951 # Skipping because ci is shared or doesn't not exist8952 # ./spec/lib/gitlab/database/migration_helpers/automatic_lock_writes_on_tables_spec.rb:518953 6) Gitlab::Database::MigrationHelpers::AutomaticLockWritesOnTables when reversing drop_table migrations when multiple databases for re-creating a gitlab_ci table behaves like does not lock writes on table allows deleting records from the table8954 # Skipping because ci is shared or doesn't not exist8955 # ./spec/lib/gitlab/database/migration_helpers/automatic_lock_writes_on_tables_spec.rb:378956 7) Gitlab::Database::MigrationHelpers::AutomaticLockWritesOnTables when reversing drop_table migrations when multiple databases for re-creating a gitlab_ci table behaves like locks writes on table errors on deleting8957 # Skipping because ci is shared or doesn't not exist8958 # ./spec/lib/gitlab/database/migration_helpers/automatic_lock_writes_on_tables_spec.rb:518959 8) Gitlab::Database::MigrationHelpers::AutomaticLockWritesOnTables when reversing drop_table migrations when multiple databases for re-creating a gitlab_shared table behaves like does not lock writes on table allows deleting records from the table8960 # Skipping because ci is shared or doesn't not exist8961 # ./spec/lib/gitlab/database/migration_helpers/automatic_lock_writes_on_tables_spec.rb:378962 9) Gitlab::Database::MigrationHelpers::AutomaticLockWritesOnTables when reversing drop_table migrations when multiple databases for re-creating a gitlab_shared table behaves like does not lock writes on table allows deleting records from the table8963 # Skipping because ci is shared or doesn't not exist8964 # ./spec/lib/gitlab/database/migration_helpers/automatic_lock_writes_on_tables_spec.rb:378965 10) Gitlab::Database::MigrationHelpers::AutomaticLockWritesOnTables when renaming a table when a gitlab_main table behaves like does not lock writes on table allows deleting records from the table8966 # Skipping because ci is shared or doesn't not exist8967 # ./spec/lib/gitlab/database/migration_helpers/automatic_lock_writes_on_tables_spec.rb:378968 11) Gitlab::Database::MigrationHelpers::AutomaticLockWritesOnTables when renaming a table when a gitlab_main table behaves like locks writes on table errors on deleting8969 # Skipping because ci is shared or doesn't not exist8970 # ./spec/lib/gitlab/database/migration_helpers/automatic_lock_writes_on_tables_spec.rb:518971 12) Gitlab::Database::MigrationHelpers::AutomaticLockWritesOnTables when renaming a table when a gitlab_ci table behaves like does not lock writes on table allows deleting records from the table8972 # Skipping because ci is shared or doesn't not exist8973 # ./spec/lib/gitlab/database/migration_helpers/automatic_lock_writes_on_tables_spec.rb:378974 13) Gitlab::Database::MigrationHelpers::AutomaticLockWritesOnTables when renaming a table when a gitlab_ci table behaves like locks writes on table errors on deleting8975 # Skipping because ci is shared or doesn't not exist8976 # ./spec/lib/gitlab/database/migration_helpers/automatic_lock_writes_on_tables_spec.rb:518977 14) Gitlab::Database::MigrationHelpers::AutomaticLockWritesOnTables when executing create_table migrations when multiple databases for creating a gitlab_main table behaves like does not lock writes on table allows deleting records from the table8978 # Skipping because ci is shared or doesn't not exist8979 # ./spec/lib/gitlab/database/migration_helpers/automatic_lock_writes_on_tables_spec.rb:378980 15) Gitlab::Database::MigrationHelpers::AutomaticLockWritesOnTables when executing create_table migrations when multiple databases for creating a gitlab_main table behaves like locks writes on table errors on deleting8981 # Skipping because ci is shared or doesn't not exist8982 # ./spec/lib/gitlab/database/migration_helpers/automatic_lock_writes_on_tables_spec.rb:518983 16) Gitlab::Database::MigrationHelpers::AutomaticLockWritesOnTables when executing create_table migrations when multiple databases for creating a gitlab_main table when table listed as a deleted table behaves like does not lock writes on table allows deleting records from the table8984 # Skipping because ci is shared or doesn't not exist8985 # ./spec/lib/gitlab/database/migration_helpers/automatic_lock_writes_on_tables_spec.rb:378986 17) Gitlab::Database::MigrationHelpers::AutomaticLockWritesOnTables when executing create_table migrations when multiple databases for creating a gitlab_main table when the migration skips automatic locking of tables behaves like does not lock writes on table allows deleting records from the table8987 # Skipping because ci is shared or doesn't not exist8988 # ./spec/lib/gitlab/database/migration_helpers/automatic_lock_writes_on_tables_spec.rb:378989 18) Gitlab::Database::MigrationHelpers::AutomaticLockWritesOnTables when executing create_table migrations when multiple databases for creating a gitlab_main table when migration does not run within a transaction behaves like locks writes on table using WithLockRetries locks the writes on the table using WithLockRetries8990 # Skipping because ci is shared or doesn't not exist8991 # ./spec/lib/gitlab/database/migration_helpers/automatic_lock_writes_on_tables_spec.rb:688992 19) Gitlab::Database::MigrationHelpers::AutomaticLockWritesOnTables when executing create_table migrations when multiple databases for creating a gitlab_main table when the SKIP_AUTOMATIC_LOCK_ON_WRITES feature flag is set behaves like does not lock writes on table allows deleting records from the table8993 # Skipping because ci is shared or doesn't not exist8994 # ./spec/lib/gitlab/database/migration_helpers/automatic_lock_writes_on_tables_spec.rb:378995 20) Gitlab::Database::MigrationHelpers::AutomaticLockWritesOnTables when executing create_table migrations when multiple databases for creating a gitlab_main table when the automatic_lock_writes_on_table feature flag is disabled behaves like does not lock writes on table allows deleting records from the table8996 # Skipping because ci is shared or doesn't not exist8997 # ./spec/lib/gitlab/database/migration_helpers/automatic_lock_writes_on_tables_spec.rb:378998 21) Gitlab::Database::MigrationHelpers::AutomaticLockWritesOnTables when executing create_table migrations when multiple databases for creating a gitlab_ci table behaves like does not lock writes on table allows deleting records from the table8999 # Skipping because ci is shared or doesn't not exist9000 # ./spec/lib/gitlab/database/migration_helpers/automatic_lock_writes_on_tables_spec.rb:379001 22) Gitlab::Database::MigrationHelpers::AutomaticLockWritesOnTables when executing create_table migrations when multiple databases for creating a gitlab_ci table behaves like locks writes on table errors on deleting9002 # Skipping because ci is shared or doesn't not exist9003 # ./spec/lib/gitlab/database/migration_helpers/automatic_lock_writes_on_tables_spec.rb:519004 23) Gitlab::Database::MigrationHelpers::AutomaticLockWritesOnTables when executing create_table migrations when multiple databases for creating a gitlab_ci table when table listed as a deleted table behaves like does not lock writes on table allows deleting records from the table9005 # Skipping because ci is shared or doesn't not exist9006 # ./spec/lib/gitlab/database/migration_helpers/automatic_lock_writes_on_tables_spec.rb:379007 24) Gitlab::Database::MigrationHelpers::AutomaticLockWritesOnTables when executing create_table migrations when multiple databases for creating a gitlab_ci table when the migration skips automatic locking of tables behaves like does not lock writes on table allows deleting records from the table9008 # Skipping because ci is shared or doesn't not exist9009 # ./spec/lib/gitlab/database/migration_helpers/automatic_lock_writes_on_tables_spec.rb:379010 25) Gitlab::Database::MigrationHelpers::AutomaticLockWritesOnTables when executing create_table migrations when multiple databases for creating a gitlab_ci table when the SKIP_AUTOMATIC_LOCK_ON_WRITES feature flag is set behaves like does not lock writes on table allows deleting records from the table9011 # Skipping because ci is shared or doesn't not exist9012 # ./spec/lib/gitlab/database/migration_helpers/automatic_lock_writes_on_tables_spec.rb:379013 26) Gitlab::Database::MigrationHelpers::AutomaticLockWritesOnTables when executing create_table migrations when multiple databases for creating a gitlab_ci table when the automatic_lock_writes_on_table feature flag is disabled behaves like does not lock writes on table allows deleting records from the table9014 # Skipping because ci is shared or doesn't not exist9015 # ./spec/lib/gitlab/database/migration_helpers/automatic_lock_writes_on_tables_spec.rb:379016 27) Gitlab::Database::MigrationHelpers::AutomaticLockWritesOnTables when executing create_table migrations when multiple databases for creating gitlab_shared table behaves like does not lock writes on table allows deleting records from the table9017 # Skipping because ci is shared or doesn't not exist9018 # ./spec/lib/gitlab/database/migration_helpers/automatic_lock_writes_on_tables_spec.rb:379019 28) Gitlab::Database::MigrationHelpers::AutomaticLockWritesOnTables when executing create_table migrations when multiple databases for creating gitlab_shared table behaves like does not lock writes on table allows deleting records from the table9020 # Skipping because ci is shared or doesn't not exist9021 # ./spec/lib/gitlab/database/migration_helpers/automatic_lock_writes_on_tables_spec.rb:379022 29) Gitlab::Database::MigrationHelpers::AutomaticLockWritesOnTables when executing create_table migrations when multiple databases for creating a gitlab_geo table behaves like does not lock writes on table allows deleting records from the table9023 # Skipping because ci is shared or doesn't not exist9024 # ./spec/lib/gitlab/database/migration_helpers/automatic_lock_writes_on_tables_spec.rb:379025 30) Gitlab::Database::MigrationHelpers::AutomaticLockWritesOnTables when executing create_table migrations when multiple databases for creating an unknown gitlab_schema table raises an error about undefined gitlab_schema9026 # Skipping because ci is shared or doesn't not exist9027 # ./spec/lib/gitlab/database/migration_helpers/automatic_lock_writes_on_tables_spec.rb:2269028 31) PersonalFileUploader object_store is LOCAL behaves like builds correct paths #cache_dir behaves like matches the method pattern 9029 # No pattern provided, skipping.9030 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89031 32) PersonalFileUploader object_store is LOCAL behaves like builds correct paths #work_dir behaves like matches the method pattern 9032 # No pattern provided, skipping.9033 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89034 33) PersonalFileUploader object_store is LOCAL behaves like builds correct paths #relative_path is relative9035 # Path not set, skipping.9036 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:409037 34) PersonalFileUploader object_store is LOCAL behaves like builds correct paths .base_dir behaves like matches the method pattern 9038 # No pattern provided, skipping.9039 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89040 35) PersonalFileUploader object_store is REMOTE behaves like builds correct paths #cache_dir behaves like matches the method pattern 9041 # No pattern provided, skipping.9042 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89043 36) PersonalFileUploader object_store is REMOTE behaves like builds correct paths #work_dir behaves like matches the method pattern 9044 # No pattern provided, skipping.9045 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89046 37) PersonalFileUploader object_store is REMOTE behaves like builds correct paths #relative_path is relative9047 # Path not set, skipping.9048 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:409049 38) PersonalFileUploader object_store is REMOTE behaves like builds correct paths .absolute_path behaves like matches the method pattern 9050 # No pattern provided, skipping.9051 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89052 39) PersonalFileUploader object_store is REMOTE behaves like builds correct paths .base_dir behaves like matches the method pattern 9053 # No pattern provided, skipping.9054 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89055 40) NamespaceFileUploader behaves like builds correct paths #cache_dir behaves like matches the method pattern 9056 # No pattern provided, skipping.9057 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89058 41) NamespaceFileUploader behaves like builds correct paths #work_dir behaves like matches the method pattern 9059 # No pattern provided, skipping.9060 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89061 42) NamespaceFileUploader behaves like builds correct paths #relative_path is relative9062 # Path not set, skipping.9063 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:409064 43) NamespaceFileUploader behaves like builds correct paths .base_dir behaves like matches the method pattern 9065 # No pattern provided, skipping.9066 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89067 44) NamespaceFileUploader object_store is REMOTE behaves like builds correct paths #cache_dir behaves like matches the method pattern 9068 # No pattern provided, skipping.9069 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89070 45) NamespaceFileUploader object_store is REMOTE behaves like builds correct paths #work_dir behaves like matches the method pattern 9071 # No pattern provided, skipping.9072 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89073 46) NamespaceFileUploader object_store is REMOTE behaves like builds correct paths #relative_path is relative9074 # Path not set, skipping.9075 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:409076 47) NamespaceFileUploader object_store is REMOTE behaves like builds correct paths .absolute_path behaves like matches the method pattern 9077 # No pattern provided, skipping.9078 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89079 48) NamespaceFileUploader object_store is REMOTE behaves like builds correct paths .base_dir behaves like matches the method pattern 9080 # No pattern provided, skipping.9081 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89082 49) Marginalia spec For rails web requests when using CI database generates a query that includes the component and value9083 # Skipping because none of the extra databases [:ci] are setup9084 # ./spec/lib/marginalia_spec.rb:769085Finished in 16 minutes 49 seconds (files took 1 minute 10.4 seconds to load)90863810 examples, 0 failures, 49 pending9087Randomized with seed 47129088[TEST PROF INFO] Time spent in factories: 08:18.162 (48.98% of total time)9089RSpec exited with 0.9090No examples to retry, congrats!9092Not uploading cache ruby-gems-debian-bullseye-ruby-3.0-16 due to policy9093Not uploading cache gitaly-ruby-gems-debian-bullseye-ruby-3.0-16 due to policy9095Uploading artifacts...9096coverage/: found 5 matching artifact files and directories 9097crystalball/: found 2 matching artifact files and directories 9098WARNING: deprecations/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 9099knapsack/: found 3 matching artifact files and directories 9100WARNING: query_recorder/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 9101rspec/: found 14 matching artifact files and directories 9102WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 9103log/*.log: found 16 matching artifact files and directories 9104WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4031138452/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com9105WARNING: Retrying... context=artifacts-uploader error=request redirected9106Uploading artifacts as "archive" to coordinator... 201 Created id=4031138452 responseStatus=201 Created token=64_Min6E9107Uploading artifacts...9108rspec/junit_rspec.xml: found 1 matching artifact files and directories 9109WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4031138452/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com9110WARNING: Retrying... context=artifacts-uploader error=request redirected9111Uploading artifacts as "junit" to coordinator... 201 Created id=4031138452 responseStatus=201 Created token=64_Min6E9113Job succeeded