rspec unit pg12 7/22
Passed Started
by
@mkozono
Michael Kozono
1Running with gitlab-runner 14.10.0~beta.50.g1f2fe53e (1f2fe53e)2 on green-1.private.runners-manager.gitlab.com/gitlab.com/gitlab-org 4bq1s9yM3 feature flags: FF_USE_FASTZIP:true6Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images:debian-bullseye-ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-97-node-16.14-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 ...7Starting service postgres:12 ...8Pulling docker image postgres:12 ...9Using docker image sha256:19789c9e83692f61ca3314294926bb26b68068f08aab1bd207915dcbd1a629c7 for postgres:12 with digest postgres@sha256:f2765d6a2a6459578274645b4d801345060322da2ba855af3d84878be28fe923 ...10Starting service redis:6.0-alpine ...11Pulling docker image redis:6.0-alpine ...12Using docker image sha256:131bc9ee328cff6485bae97a15d5867539c2902681d2bb30ab20117132936344 for redis:6.0-alpine with digest redis@sha256:54cd3000b43117c720f7d1ae77692b798ad8b4d54e304dbd8e49e799e77494a1 ...13Waiting for services to be up and running...14Authenticating with credentials from job payload (GitLab Registry)15Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:debian-bullseye-ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-97-node-16.14-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 ...16Using docker image sha256:f5ccee577b270c6a832d9828384f62b437fcd3314314b5a98a5ab1cd248c3455 for registry.gitlab.com/gitlab-org/gitlab-build-images:debian-bullseye-ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-97-node-16.14-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:7291ca4981a34fb65e8293b932eab1b4a4949bffa86bf4427b9f12c73f3483b7 ...18Running on runner-4bq1s9ym-project-278964-concurrent-0 via runner-4bq1s9ym-private-1651150710-5a9c2613...20$ eval "$CI_PRE_CLONE_SCRIPT"21Fetching changes with git depth set to 20...22Initialized empty Git repository in /builds/gitlab-org/gitlab/.git/23Created fresh repository.24remote: Enumerating objects: 100897, done. 25remote: Counting objects: 100% (100897/100897), done. 26remote: Compressing objects: 100% (72244/72244), done. 27remote: Total 100897 (delta 37993), reused 66741 (delta 24985), pack-reused 0 28Receiving objects: 100% (100897/100897), 103.82 MiB | 28.27 MiB/s, done.29Resolving deltas: 100% (37993/37993), done.31 * [new ref] refs/pipelines/527209691 -> refs/pipelines/52720969132Checking out 5267a595 as refs/merge-requests/86026/merge...33Skipping Git submodules setup35Checking cache for ruby-gems-bullseye-9-non_protected...36WARNING: file does not exist 37Failed to extract cache38Checking cache for gitaly-ruby-gems-bullseye-9-non_protected...39WARNING: file does not exist 40Failed to extract cache42Downloading artifacts for compile-test-assets (2391235084)...43Downloading artifacts from coordinator... ok id=2391235084 responseStatus=200 OK token=L9MhdVsA44Downloading artifacts for detect-tests (2391235095)...45Downloading artifacts from coordinator... ok id=2391235095 responseStatus=200 OK token=JNCgGSBc46Downloading artifacts for retrieve-tests-metadata (2391235100)...47Downloading artifacts from coordinator... ok id=2391235100 responseStatus=200 OK token=hZHaJ1t648Downloading artifacts for setup-test-env (2391235090)...49Downloading artifacts from coordinator... ok id=2391235090 responseStatus=200 OK token=99nHhGhQ51Using docker image sha256:f5ccee577b270c6a832d9828384f62b437fcd3314314b5a98a5ab1cd248c3455 for registry.gitlab.com/gitlab-org/gitlab-build-images:debian-bullseye-ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-97-node-16.14-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:7291ca4981a34fb65e8293b932eab1b4a4949bffa86bf4427b9f12c73f3483b7 ...52$ echo $FOSS_ONLY53$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb54$ export GOPATH=$CI_PROJECT_DIR/.go55$ mkdir -p $GOPATH56$ source scripts/utils.sh57$ source scripts/prepare_build.sh58Successfully installed bundler-2.3.6591 gem installed60Bundler version 2.3.661production:development62Settings are listed in order of priority. The top value will be used.63clean64Set for the current user (/root/.bundle/config): true65install_flags66Set via BUNDLE_INSTALL_FLAGS: "--jobs=$(nproc) --retry=3 --quiet"67path68Set for the current user (/root/.bundle/config): "/builds/gitlab-org/gitlab/vendor"69without70Set via BUNDLE_WITHOUT: [:production, :development]71$ bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check72Don't run Bundler as root. Bundler can ask for sudo if it is needed, and73installing your bundle as root will break this application for all non-root74users on this machine.75The Gemfile's dependencies are satisfied76==> 'bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check' succeeded in 496 seconds.77$ bundle pristine pg78Installing pg 1.2.3 with native extensions79==> 'bundle pristine pg' succeeded in 13 seconds.80Using decomposed database config (config/database.yml.decomposed-postgresql)81$ setup_db_user_only82CREATE ROLE83GRANT84==> 'setup_db_user_only' succeeded in 1 seconds.85$ bundle exec rake db:drop db:create db:structure:load db:migrate gitlab:db:setup_ee86DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from block in <module:HasVariable> at app/models/concerns/ci/has_variable.rb:22)87DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from block in <module:NewHasVariable> at app/models/concerns/ci/new_has_variable.rb:9)88DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from <class:Kubernetes> at app/models/clusters/platforms/kubernetes.rb:29)89DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from <class:Kubernetes> at app/models/clusters/platforms/kubernetes.rb:34)90DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from block in <module:HasVariable> at app/models/concerns/ci/has_variable.rb:22)91DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from exists? at lib/gitlab/database/reflection.rb:94)92DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from exists? at lib/gitlab/database/reflection.rb:94)93DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from block in <module:HasVariable> at app/models/concerns/ci/has_variable.rb:22)94DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from exists? at lib/gitlab/database/reflection.rb:94)95DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from exists? at lib/gitlab/database/reflection.rb:94)96DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from exists? at lib/gitlab/database/reflection.rb:94)97DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from exists? at lib/gitlab/database/reflection.rb:94)98DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from block in <module:HasVariable> at app/models/concerns/ci/has_variable.rb:22)99DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from <class:Integration> at app/models/integration.rb:52)100DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from <class:Helm> at app/models/clusters/applications/helm.rb:12)101DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from <class:Prometheus> at app/models/clusters/applications/prometheus.rb:23)102DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from exists? at lib/gitlab/database/reflection.rb:94)103DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from exists? at lib/gitlab/database/reflection.rb:94)104DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from exists? at lib/gitlab/database/reflection.rb:94)105DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from connected? at ee/lib/gitlab/geo.rb:79)106Dropped database 'gitlabhq_test'107Dropped database 'gitlabhq_test_ci'108Dropped database 'gitlabhq_geo_test'109Created database 'gitlabhq_test'110Created database 'gitlabhq_test_ci'111Created database 'gitlabhq_geo_test'112DEPRECATION WARNING: Using `bin/rails db:structure:load` is deprecated and will be removed in Rails 6.2. Configure the format using `config.active_record.schema_format = :sql` to use `structure.sql` and run `bin/rails db:schema:load` instead. (called from load at /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/bin/rake:23)113Dropped database 'gitlabhq_geo_test'114Created database 'gitlabhq_geo_test'115==> 'bundle exec rake db:drop db:create db:structure:load db:migrate gitlab:db:setup_ee' succeeded in 48 seconds.116$ run_timed_command "gem install knapsack --no-document"117$ gem install knapsack --no-document118Successfully installed knapsack-4.0.01191 gem installed120==> 'gem install knapsack --no-document' succeeded in 1 seconds.121$ run_timed_command "scripts/gitaly-test-spawn"122$ scripts/gitaly-test-spawn123find: ‘/builds/gitlab-org/gitlab/tmp/tests/gitaly/cmd’: No such file or directory124find: ‘/builds/gitlab-org/gitlab/tmp/tests/gitaly/cmd’: No such file or directory125find: ‘/builds/gitlab-org/gitlab/tmp/tests/gitaly/cmd’: No such file or directory126Don't run Bundler as root. Bundler can ask for sudo if it is needed, and127installing your bundle as root will break this application for all non-root128users on this machine.129Fetching gem metadata from https://rubygems.org/...........130Fetching minitest 5.15.0131Fetching abstract_type 0.0.7132Fetching concurrent-ruby 1.1.10133Installing abstract_type 0.0.7134Installing minitest 5.15.0135Fetching zeitwerk 2.5.4136Installing concurrent-ruby 1.1.10137Fetching builder 3.2.4138Installing zeitwerk 2.5.4139Fetching erubi 1.10.0140Installing builder 3.2.4141Installing erubi 1.10.0142Fetching mini_portile2 2.8.0143Fetching racc 1.6.0144Fetching crass 1.0.6145Installing mini_portile2 2.8.0146Installing racc 1.6.0 with native extensions147Installing crass 1.0.6148Fetching rack 2.2.3149Fetching ice_nine 0.11.2150Installing ice_nine 0.11.2151Installing rack 2.2.3152Fetching thread_safe 0.3.6153Fetching public_suffix 4.0.6154Installing thread_safe 0.3.6155Installing public_suffix 4.0.6156Fetching ast 2.4.2157Fetching binding_ninja 0.2.3158Installing ast 2.4.2159Installing binding_ninja 0.2.3 with native extensions160Using bundler 2.1.4161Fetching charlock_holmes 0.7.7162Installing charlock_holmes 0.7.7 with native extensions163Fetching coderay 1.1.2164Installing coderay 1.1.2165Fetching equalizer 0.0.11166Installing equalizer 0.0.11167Fetching diff-lcs 1.3168Installing diff-lcs 1.3169Fetching dotenv 2.7.6170Installing dotenv 2.7.6171Fetching escape_utils 1.2.1172Fetching multipart-post 2.1.1173Installing escape_utils 1.2.1 with native extensions174Installing multipart-post 2.1.1175Fetching ffi 1.15.3176Installing ffi 1.15.3 with native extensions177Fetching json 2.6.1178Installing json 2.6.1 with native extensions179Fetching mini_mime 1.0.2180Installing mini_mime 1.0.2181Fetching rugged 1.2.0182Installing rugged 1.2.0 with native extensions183Fetching github-markup 1.7.0184Installing github-markup 1.7.0185Fetching mime-types-data 3.2020.1104186Installing mime-types-data 3.2020.1104187Fetching rouge 3.27.0188Installing rouge 3.27.0189Fetching stringex 2.8.5190Installing stringex 2.8.5191Fetching google-protobuf 3.19.1 (x86_64-linux)192Installing google-protobuf 3.19.1 (x86_64-linux)193Fetching opentracing 0.5.0194Installing opentracing 0.5.0195Fetching thrift 0.15.0196Installing thrift 0.15.0 with native extensions197Fetching redis 4.4.0198Installing redis 4.4.0199Fetching rubyzip 2.3.2200Installing rubyzip 2.3.2201Fetching thor 1.1.0202Installing thor 1.1.0203Fetching tomlrb 2.0.1204Installing tomlrb 2.0.1205Fetching with_env 1.1.0206Installing with_env 1.1.0207Fetching rexml 3.2.5208Installing rexml 3.2.5209Fetching gitlab-markup 1.7.1210Installing gitlab-markup 1.7.1211Fetching grpc-tools 1.42.0212Installing grpc-tools 1.42.0213Fetching method_source 0.9.2214Installing method_source 0.9.2215Fetching msgpack 1.3.3216Installing msgpack 1.3.3 with native extensions217Fetching optimist 3.0.1218Installing optimist 3.0.1219Fetching parallel 1.19.2220Installing parallel 1.19.2221Fetching procto 0.0.3222Fetching rainbow 3.0.0223Installing rainbow 3.0.0224Installing procto 0.0.3225Fetching rdoc 6.3.2226Fetching regexp_parser 1.8.1227Installing regexp_parser 1.8.1228Installing rdoc 6.3.2229Fetching rspec-support 3.8.0230Installing rspec-support 3.8.0231Fetching ruby-progressbar 1.10.1232Fetching unicode-display_width 1.7.0233Installing ruby-progressbar 1.10.1234Installing unicode-display_width 1.7.0235Fetching timecop 0.9.1236Fetching i18n 1.10.0237Installing timecop 0.9.1238Installing i18n 1.10.0239Fetching tzinfo 2.0.4240Fetching rack-test 1.1.0241Installing tzinfo 2.0.4242Installing rack-test 1.1.0243Fetching memoizable 0.4.2244Fetching addressable 2.7.0245Installing memoizable 0.4.2246Installing addressable 2.7.0247Fetching parser 3.0.3.2248Fetching nokogiri 1.13.3 (x86_64-linux)249Installing parser 3.0.3.2250Fetching faraday 1.0.1251Installing nokogiri 1.13.3 (x86_64-linux)252Installing faraday 1.0.1253Fetching mime-types 3.3.1254Installing mime-types 3.3.1255Fetching googleapis-common-protos-types 1.3.0256Installing googleapis-common-protos-types 1.3.0257Fetching pg_query 2.1.1258Fetching github-linguist 7.12.1259Installing pg_query 2.1.1 with native extensions260Installing github-linguist 7.12.1 with native extensions261Fetching xml-simple 1.1.9262Installing xml-simple 1.1.9263Fetching pry 0.12.2264Installing pry 0.12.2265Fetching jaeger-client 1.1.0266Installing jaeger-client 1.1.0267Fetching gemojione 3.3.0268Installing gemojione 3.3.0269Fetching rspec-core 3.8.0270Installing rspec-core 3.8.0271Fetching rspec-expectations 3.8.3272Installing rspec-expectations 3.8.3273Fetching rspec-mocks 3.8.0274Installing rspec-mocks 3.8.0275Fetching activesupport 6.1.4.7276Installing activesupport 6.1.4.7277Fetching adamantium 0.2.0278Installing adamantium 0.2.0279Fetching rubocop-ast 0.2.0280Installing rubocop-ast 0.2.0281Fetching sawyer 0.8.2282Installing sawyer 0.8.2283Fetching sentry-raven 3.0.4284Installing sentry-raven 3.0.4285Fetching gitlab-gollum-rugged_adapter 0.4.4.4.gitlab.1286Installing gitlab-gollum-rugged_adapter 0.4.4.4.gitlab.1287Fetching grpc 1.42.0 (x86_64-linux)288Installing grpc 1.42.0 (x86_64-linux)289Fetching loofah 2.16.0290Installing loofah 2.16.0291Fetching sanitize 6.0.0292Installing sanitize 6.0.0293Fetching reverse_markdown 1.4.0294Installing reverse_markdown 1.4.0295Fetching rbtrace 0.4.14296Installing rbtrace 0.4.14 with native extensions297Fetching gitlab-license_finder 6.14.2.1298Installing gitlab-license_finder 6.14.2.1299Fetching rspec 3.8.0300Installing rspec 3.8.0301Fetching rails-dom-testing 2.0.3302Installing rails-dom-testing 2.0.3303Fetching factory_bot 5.0.2304Installing factory_bot 5.0.2305Fetching concord 0.1.5306Installing concord 0.1.5307Fetching rubocop 0.86.0308Installing rubocop 0.86.0309Fetching octokit 4.20.0310Installing octokit 4.20.0311Fetching rails-html-sanitizer 1.4.2312Installing rails-html-sanitizer 1.4.2313Fetching gitlab-gollum-lib 4.2.7.10.gitlab.2314Installing gitlab-gollum-lib 4.2.7.10.gitlab.2315Fetching unparser 0.4.7316Fetching licensee 9.14.1317Installing unparser 0.4.7318Installing licensee 9.14.1319Fetching actionview 6.1.4.7320Fetching proc_to_ast 0.1.0321Installing actionview 6.1.4.7322Installing proc_to_ast 0.1.0323Fetching rspec-parameterized 0.4.2324Installing rspec-parameterized 0.4.2325Fetching actionpack 6.1.4.7326Installing actionpack 6.1.4.7327Fetching gitlab-labkit 0.21.2328Installing gitlab-labkit 0.21.2329Bundle complete! 22 Gemfile dependencies, 100 gems now installed.330Gems in the groups production and development were not installed.331Bundled gems are installed into `/builds/gitlab-org/gitlab/vendor/gitaly-ruby`332Post-install message from rubyzip:333RubyZip 3.0 is coming!334**********************335The public API of some Rubyzip classes has been modernized to use named336parameters for optional arguments. Please check your usage of the337following classes:338 * `Zip::File`339 * `Zip::Entry`340 * `Zip::InputStream`341 * `Zip::OutputStream`342Please ensure that your Gemfiles and .gemspecs are suitably restrictive343to avoid an unexpected breakage when 3.0 is released (e.g. ~> 2.3.0).344See https://github.com/rubyzip/rubyzip for details. The Changelog also345lists other enhancements and bugfixes that have been implemented since346version 2.3.0.347Checking gitaly-ruby Gemfile...348Checking gitaly-ruby bundle...349The Gemfile's dependencies are satisfied350Trying to connect to gitaly: ............................................ OK351Trying to connect to gitaly2: ................................................................ OK352Trying to connect to praefect: ......... OK353==> 'scripts/gitaly-test-spawn' succeeded in 147 seconds.354$ source ./scripts/rspec_helpers.sh355$ rspec_paralellized_job "--tag ~quarantine --tag ~geo --tag ~level:migration"356SKIP_FLAKY_TESTS_AUTOMATICALLY: true357RETRY_FAILED_TESTS_IN_NEW_PROCESS: true358KNAPSACK_GENERATE_REPORT: true359FLAKY_RSPEC_GENERATE_REPORT: true360KNAPSACK_TEST_FILE_PATTERN: spec/{bin,channels,config,db,dependencies,elastic,elastic_integration,experiments,events,factories,finders,frontend,graphql,haml_lint,helpers,initializers,javascripts,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,component}{,/**/}*_spec.rb361KNAPSACK_LOG_LEVEL: debug362KNAPSACK_REPORT_PATH: knapsack/rspec_unit_pg12_7_22_report.json363FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json364FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec_unit_pg12_7_22_report.json365NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec_unit_pg12_7_22_report.json366SKIPPED_FLAKY_TESTS_REPORT_PATH: rspec/flaky/skipped_flaky_tests_rspec_unit_pg12_7_22_report.txt367RETRIED_TESTS_REPORT_PATH: rspec/flaky/retried_tests_rspec_unit_pg12_7_22_report.txt368CRYSTALBALL: 369Knapsack node specs:370spec/lib/gitlab/usage_data_spec.rb371spec/finders/snippets_finder_spec.rb372spec/policies/issue_policy_spec.rb373spec/finders/group_members_finder_spec.rb374spec/lib/gitlab/usage/service_ping_report_spec.rb375spec/lib/gitlab/git/blob_spec.rb376spec/services/projects/prometheus/alerts/notify_service_spec.rb377spec/lib/gitlab/email/handler/service_desk_handler_spec.rb378spec/services/members/invitation_reminder_email_service_spec.rb379spec/rubocop/cop/migration/create_table_with_foreign_keys_spec.rb380spec/finders/releases_finder_spec.rb381spec/lib/gitlab/cycle_analytics/stage_summary_spec.rb382spec/lib/gitlab/background_migration/move_container_registry_enabled_to_project_feature_spec.rb383spec/services/projects/unlink_fork_service_spec.rb384spec/finders/packages/group_packages_finder_spec.rb385spec/lib/gitlab/import_export/fast_hash_serializer_spec.rb386spec/graphql/resolvers/namespace_projects_resolver_spec.rb387spec/lib/gitlab/background_migration/backfill_upvotes_count_on_issues_spec.rb388spec/models/integrations/unify_circuit_spec.rb389spec/helpers/issues_helper_spec.rb390spec/lib/gitlab/database/partitioning_migration_helpers/table_management_helpers_spec.rb391spec/services/ci/create_pipeline_service/rules_spec.rb392spec/lib/gitlab/background_migration/steal_migrate_merge_request_diff_commit_users_spec.rb393spec/services/ci/process_build_service_spec.rb394spec/services/groups/group_links/create_service_spec.rb395spec/lib/gitlab/import_export/group/legacy_tree_restorer_spec.rb396spec/services/projects/container_repository/delete_tags_service_spec.rb397spec/policies/project_member_policy_spec.rb398spec/lib/gitlab/ci/config/entry/retry_spec.rb399spec/lib/gitlab/git/diff_collection_spec.rb400spec/services/clusters/integrations/prometheus_health_check_service_spec.rb401spec/models/incident_management/issuable_escalation_status_spec.rb402spec/lib/gitlab/database/background_migration/batched_migration_spec.rb403spec/lib/gitlab/database/load_balancing/host_spec.rb404spec/lib/gitlab/utils/markdown_spec.rb405spec/lib/gitlab/background_migration/update_timelogs_null_spent_at_spec.rb406spec/serializers/issue_entity_spec.rb407spec/lib/gitlab/ci/config/entry/processable_spec.rb408spec/uploaders/pages/deployment_uploader_spec.rb409spec/services/wiki_pages/update_service_spec.rb410spec/workers/incident_management/process_alert_worker_v2_spec.rb411spec/lib/gitlab/background_migration/batching_strategies/backfill_project_namespace_per_group_batching_strategy_spec.rb412spec/lib/gitlab/background_migration/batched_migration_job_spec.rb413spec/models/ci/build_report_result_spec.rb414spec/lib/gitlab/ci/pipeline/chain/validate/external_spec.rb415spec/lib/gitlab/version_info_spec.rb416spec/lib/gitlab/alert_management/payload/base_spec.rb417spec/services/ci/runners/register_runner_service_spec.rb418spec/lib/gitlab/redis/rate_limiting_spec.rb419spec/lib/gitlab/sidekiq_config/worker_router_spec.rb420spec/tasks/gitlab/ldap_rake_spec.rb421spec/models/ci/instance_variable_spec.rb422spec/finders/access_requests_finder_spec.rb423spec/workers/merge_worker_spec.rb424spec/lib/gitlab/ci/pipeline/seed/stage_spec.rb425spec/lib/gitlab/ci/config/external/mapper_spec.rb426spec/lib/atlassian/jira_connect/serializers/deployment_entity_spec.rb427spec/helpers/todos_helper_spec.rb428spec/lib/gitlab/ci/pipeline/chain/ensure_resource_groups_spec.rb429spec/models/lfs_object_spec.rb430spec/serializers/web_ide_terminal_entity_spec.rb431spec/models/pages_deployment_spec.rb432spec/services/pod_logs/kubernetes_service_spec.rb433spec/lib/gitlab/ci/pipeline/chain/populate_spec.rb434spec/lib/gitlab/api_authentication/token_resolver_spec.rb435spec/graphql/resolvers/boards_resolver_spec.rb436spec/lib/gitlab/ci/pipeline/chain/build/associations_spec.rb437spec/services/commits/cherry_pick_service_spec.rb438spec/lib/gitlab/logger_spec.rb439spec/lib/gitlab/diff/diff_refs_spec.rb440spec/finders/user_finder_spec.rb441spec/lib/sidebars/projects/menus/monitor_menu_spec.rb442spec/models/concerns/loaded_in_group_list_spec.rb443spec/presenters/instance_clusterable_presenter_spec.rb444spec/models/projects/topic_spec.rb445spec/finders/feature_flags_finder_spec.rb446spec/lib/banzai/filter/inline_metrics_filter_spec.rb447spec/lib/gitlab/metrics/samplers/ruby_sampler_spec.rb448spec/lib/gitlab/alert_management/payload/managed_prometheus_spec.rb449spec/models/merge_request/metrics_spec.rb450spec/services/pages/migrate_legacy_storage_to_deployment_service_spec.rb451spec/lib/gitlab/instrumentation/redis_interceptor_spec.rb452spec/services/notification_recipients/builder/default_spec.rb453spec/lib/gitlab/serverless/service_spec.rb454spec/services/lfs/unlock_file_service_spec.rb455spec/lib/banzai/filter/spaced_link_filter_spec.rb456spec/graphql/types/base_enum_spec.rb457spec/services/pod_logs/elasticsearch_service_spec.rb458spec/lib/gitlab/ci/jwt_spec.rb459spec/presenters/commit_presenter_spec.rb460spec/graphql/resolvers/terraform/states_resolver_spec.rb461spec/models/snippet_statistics_spec.rb462spec/lib/gitlab/github_import/parallel_scheduling_spec.rb463spec/lib/gitlab/gitaly_client/storage_settings_spec.rb464spec/services/todos/destroy/project_private_service_spec.rb465spec/services/ci/prometheus_metrics/observe_histograms_service_spec.rb466spec/rubocop/cop/rspec/expect_gitlab_tracking_spec.rb467spec/models/projects/repository_storage_move_spec.rb468spec/lib/gitlab/experimentation_spec.rb469spec/lib/gitlab/batch_pop_queueing_spec.rb470spec/lib/gitlab/phabricator_import/project_creator_spec.rb471spec/lib/sidebars/projects/menus/zentao_menu_spec.rb472spec/graphql/mutations/todos/mark_done_spec.rb473spec/lib/gitlab/diff/line_spec.rb474spec/services/terraform/remote_state_handler_spec.rb475spec/views/layouts/_search.html.haml_spec.rb476spec/workers/project_cache_worker_spec.rb477spec/serializers/merge_request_user_entity_spec.rb478spec/lib/gitlab/analytics/cycle_analytics/aggregated/records_fetcher_spec.rb479spec/services/clusters/kubernetes_spec.rb480spec/services/ci/create_pipeline_service/evaluate_runner_tags_spec.rb481spec/lib/gitlab/utils/mime_type_spec.rb482spec/workers/deployments/hooks_worker_spec.rb483spec/serializers/member_serializer_spec.rb484spec/models/preloaders/user_max_access_level_in_projects_preloader_spec.rb485spec/services/snippets/repository_validation_service_spec.rb486spec/lib/gitlab/ci/status/build/scheduled_spec.rb487spec/services/clusters/applications/prometheus_config_service_spec.rb488spec/lib/gitlab/ci/build/rules/rule/clause_spec.rb489spec/lib/banzai/pipeline/description_pipeline_spec.rb490spec/finders/protected_branches_finder_spec.rb491spec/lib/gitlab/loop_helpers_spec.rb492spec/models/packages/debian/group_component_spec.rb493spec/lib/banzai/filter/asset_proxy_filter_spec.rb494spec/workers/analytics/usage_trends/counter_job_worker_spec.rb495spec/lib/gitlab/ci/config/normalizer/number_strategy_spec.rb496spec/lib/gitlab/usage/service_ping/legacy_metric_timing_decorator_spec.rb497spec/helpers/hooks_helper_spec.rb498spec/workers/irker_worker_spec.rb499spec/lib/gitlab/ci/templates/themekit_gitlab_ci_yaml_spec.rb500spec/lib/api/helpers/sse_helpers_spec.rb501spec/services/packages/composer/version_parser_service_spec.rb502spec/lib/gitlab/health_checks/redis/queues_check_spec.rb503spec/lib/bitbucket_server/representation/activity_spec.rb504spec/views/layouts/profile.html.haml_spec.rb505spec/services/concerns/merge_requests/assigns_merge_params_spec.rb506spec/lib/gitlab/cleanup/remote_uploads_spec.rb507spec/services/clusters/integrations/create_service_spec.rb508spec/lib/gitlab/import_export/fork_spec.rb509spec/lib/gitlab/diff/file_collection/merge_request_diff_base_spec.rb510spec/lib/gitlab/ci/config/entry/inherit/variables_spec.rb511spec/graphql/mutations/custom_emoji/create_spec.rb512spec/lib/gitlab/analytics/cycle_analytics/sorting_spec.rb513spec/lib/gitlab/x509/tag_spec.rb514spec/workers/loose_foreign_keys/cleanup_worker_spec.rb515spec/lib/gitlab/ci/pipeline/seed/pipeline_spec.rb516spec/lib/gitlab/git/wraps_gitaly_errors_spec.rb517spec/graphql/resolvers/design_management/design_at_version_resolver_spec.rb518spec/services/loose_foreign_keys/batch_cleaner_service_spec.rb519spec/lib/gitlab/database/count/exact_count_strategy_spec.rb520spec/lib/gitlab/gl_repository_spec.rb521spec/lib/bulk_imports/common/extractors/ndjson_extractor_spec.rb522spec/services/snippets/schedule_bulk_repository_shard_moves_service_spec.rb523spec/finders/uploader_finder_spec.rb524spec/models/concerns/ignorable_columns_spec.rb525spec/lib/gitlab/checks/push_file_count_check_spec.rb526spec/lib/gitlab/grape_logging/formatters/lograge_with_timestamp_spec.rb527spec/services/projects/enable_deploy_key_service_spec.rb528spec/presenters/packages/nuget/package_metadata_presenter_spec.rb529spec/services/users/last_push_event_service_spec.rb530spec/lib/gitlab/auth/o_auth/provider_spec.rb531spec/lib/gitlab/ci/templates/Jobs/sast_iac_gitlab_ci_yaml_spec.rb532spec/models/clusters/agents/project_authorization_spec.rb533spec/lib/gitlab/jira_import/issues_importer_spec.rb534spec/graphql/types/notes/discussion_type_spec.rb535spec/lib/gitlab/ci/templates/managed_cluster_applications_gitlab_ci_yaml_spec.rb536spec/graphql/types/permission_types/snippet_spec.rb537spec/services/milestones/create_service_spec.rb538spec/presenters/packages/nuget/service_index_presenter_spec.rb539spec/graphql/mutations/terraform/state/lock_spec.rb540spec/workers/service_desk_email_receiver_worker_spec.rb541spec/services/dependency_proxy/head_manifest_service_spec.rb542spec/graphql/mutations/saved_replies/destroy_spec.rb543spec/models/diff_viewer/image_spec.rb544spec/presenters/ci/group_variable_presenter_spec.rb545spec/services/clusters/agent_tokens/track_usage_service_spec.rb546spec/graphql/resolvers/error_tracking/sentry_detailed_error_resolver_spec.rb547spec/lib/gitlab/gitaly_client/call_spec.rb548spec/lib/gitlab/auth/ldap/auth_hash_spec.rb549spec/graphql/types/ci/test_report_total_type_spec.rb550spec/views/projects/milestones/index.html.haml_spec.rb551spec/lib/gitlab/database/load_balancing/action_cable_callbacks_spec.rb552spec/lib/gitlab/form_builders/gitlab_ui_form_builder_spec.rb553spec/policies/clusters/agent_policy_spec.rb554spec/lib/gitlab/cross_project_access_spec.rb555spec/models/concerns/editable_spec.rb556spec/services/concerns/audit_event_save_type_spec.rb557spec/lib/gitlab/auth/atlassian/user_spec.rb558spec/lib/gitlab/hook_data/release_builder_spec.rb559spec/models/blob_viewer/markup_spec.rb560spec/lib/banzai/filter/markdown_filter_spec.rb561spec/models/loose_foreign_keys/modification_tracker_spec.rb562spec/views/groups/milestones/index.html.haml_spec.rb563spec/lib/container_registry/registry_spec.rb564spec/workers/jira_connect/sync_deployments_worker_spec.rb565spec/lib/gitlab/ci/config/entry/caches_spec.rb566spec/lib/gitlab/pagination/keyset/cursor_based_request_context_spec.rb567spec/lib/gitlab/ci/config/entry/kubernetes_spec.rb568spec/lib/gitlab/metrics/dashboard/stages/grafana_formatter_spec.rb569spec/rubocop/cop/gitlab/namespaced_class_spec.rb570spec/policies/group_deploy_keys_group_policy_spec.rb571spec/rubocop/cop/filename_length_spec.rb572spec/serializers/feature_flag_entity_spec.rb573spec/serializers/ci/dag_stage_entity_spec.rb574spec/models/alerting/project_alerting_setting_spec.rb575spec/lib/gitlab/graphql/calls_gitaly/field_extension_spec.rb576spec/views/shared/milestones/_issuables.html.haml_spec.rb577spec/services/packages/remove_tag_service_spec.rb578spec/helpers/bizible_helper_spec.rb579spec/lib/gitlab/pagination/keyset/in_operator_optimization/array_scope_columns_spec.rb580spec/graphql/types/clusters/agent_activity_event_type_spec.rb581spec/lib/bulk_imports/projects/pipelines/service_desk_setting_pipeline_spec.rb582spec/lib/gitlab/ci/status/preparing_spec.rb583spec/lib/gitlab/sql/glob_spec.rb584spec/serializers/board_serializer_spec.rb585spec/graphql/types/ci/job_type_spec.rb586spec/lib/gitlab/usage/metrics/instrumentations/count_boards_metric_spec.rb587spec/lib/gitlab/checks/timed_logger_spec.rb588spec/lib/gitlab/ci/reports/terraform_reports_spec.rb589spec/workers/detect_repository_languages_worker_spec.rb590spec/lib/banzai/pipeline/broadcast_message_pipeline_spec.rb591spec/graphql/types/container_repository_details_type_spec.rb592spec/lib/api/helpers/variables_helpers_spec.rb593spec/lib/gitlab/graphql/loaders/batch_commit_loader_spec.rb594spec/workers/concerns/gitlab/notify_upon_death_spec.rb595spec/lib/csv_builders/stream_spec.rb596spec/views/help/instance_configuration.html.haml_spec.rb597spec/lib/atlassian/jira_connect/serializers/base_entity_spec.rb598spec/rubocop/cop/sidekiq_options_queue_spec.rb599spec/workers/concerns/cluster_agent_queue_spec.rb600spec/models/concerns/feature_gate_spec.rb601spec/lib/bulk_imports/common/extractors/rest_extractor_spec.rb602spec/lib/gitlab/merge_requests/mergeability/redis_interface_spec.rb603spec/workers/gitlab/github_import/import_pull_request_merged_by_worker_spec.rb604spec/graphql/types/metadata/kas_type_spec.rb605spec/rubocop/cop/rspec/env_assignment_spec.rb606spec/workers/concerns/repository_check_queue_spec.rb607spec/lib/gitlab/ci/status/group/factory_spec.rb608spec/lib/gitlab/phabricator_import/representation/user_spec.rb609spec/lib/gitlab/utils/delegator_override/error_spec.rb610spec/graphql/types/packages/conan/file_metadatum_type_spec.rb611spec/graphql/types/evidence_type_spec.rb612spec/lib/gitlab/database/async_indexes_spec.rb613spec/helpers/enable_search_settings_helper_spec.rb614spec/workers/concerns/pipeline_queue_spec.rb615spec/lib/gitlab/ci/reports/security/flag_spec.rb616spec/graphql/types/dependency_proxy/group_setting_type_spec.rb617spec/models/instance_metadata_spec.rb618spec/lib/gitlab/metrics/dashboard/transformers/yml/v1/prometheus_metrics_spec.rb619spec/helpers/admin/deploy_key_helper_spec.rb620spec/rubocop/cop/gitlab/except_spec.rb621spec/lib/api/helpers/pagination_spec.rb622Filter specs:623Running specs:624Running all node tests without filter625spec/lib/gitlab/usage_data_spec.rb626spec/finders/snippets_finder_spec.rb627spec/policies/issue_policy_spec.rb628spec/finders/group_members_finder_spec.rb629spec/lib/gitlab/usage/service_ping_report_spec.rb630spec/lib/gitlab/git/blob_spec.rb631spec/services/projects/prometheus/alerts/notify_service_spec.rb632spec/lib/gitlab/email/handler/service_desk_handler_spec.rb633spec/services/members/invitation_reminder_email_service_spec.rb634spec/rubocop/cop/migration/create_table_with_foreign_keys_spec.rb635spec/finders/releases_finder_spec.rb636spec/lib/gitlab/cycle_analytics/stage_summary_spec.rb637spec/lib/gitlab/background_migration/move_container_registry_enabled_to_project_feature_spec.rb638spec/services/projects/unlink_fork_service_spec.rb639spec/finders/packages/group_packages_finder_spec.rb640spec/lib/gitlab/import_export/fast_hash_serializer_spec.rb641spec/graphql/resolvers/namespace_projects_resolver_spec.rb642spec/lib/gitlab/background_migration/backfill_upvotes_count_on_issues_spec.rb643spec/models/integrations/unify_circuit_spec.rb644spec/helpers/issues_helper_spec.rb645spec/lib/gitlab/database/partitioning_migration_helpers/table_management_helpers_spec.rb646spec/services/ci/create_pipeline_service/rules_spec.rb647spec/lib/gitlab/background_migration/steal_migrate_merge_request_diff_commit_users_spec.rb648spec/services/ci/process_build_service_spec.rb649spec/services/groups/group_links/create_service_spec.rb650spec/lib/gitlab/import_export/group/legacy_tree_restorer_spec.rb651spec/services/projects/container_repository/delete_tags_service_spec.rb652spec/policies/project_member_policy_spec.rb653spec/lib/gitlab/ci/config/entry/retry_spec.rb654spec/lib/gitlab/git/diff_collection_spec.rb655spec/services/clusters/integrations/prometheus_health_check_service_spec.rb656spec/models/incident_management/issuable_escalation_status_spec.rb657spec/lib/gitlab/database/background_migration/batched_migration_spec.rb658spec/lib/gitlab/database/load_balancing/host_spec.rb659spec/lib/gitlab/utils/markdown_spec.rb660spec/lib/gitlab/background_migration/update_timelogs_null_spent_at_spec.rb661spec/serializers/issue_entity_spec.rb662spec/lib/gitlab/ci/config/entry/processable_spec.rb663spec/uploaders/pages/deployment_uploader_spec.rb664spec/services/wiki_pages/update_service_spec.rb665spec/workers/incident_management/process_alert_worker_v2_spec.rb666spec/lib/gitlab/background_migration/batching_strategies/backfill_project_namespace_per_group_batching_strategy_spec.rb667spec/lib/gitlab/background_migration/batched_migration_job_spec.rb668spec/models/ci/build_report_result_spec.rb669spec/lib/gitlab/ci/pipeline/chain/validate/external_spec.rb670spec/lib/gitlab/version_info_spec.rb671spec/lib/gitlab/alert_management/payload/base_spec.rb672spec/services/ci/runners/register_runner_service_spec.rb673spec/lib/gitlab/redis/rate_limiting_spec.rb674spec/lib/gitlab/sidekiq_config/worker_router_spec.rb675spec/tasks/gitlab/ldap_rake_spec.rb676spec/models/ci/instance_variable_spec.rb677spec/finders/access_requests_finder_spec.rb678spec/workers/merge_worker_spec.rb679spec/lib/gitlab/ci/pipeline/seed/stage_spec.rb680spec/lib/gitlab/ci/config/external/mapper_spec.rb681spec/lib/atlassian/jira_connect/serializers/deployment_entity_spec.rb682spec/helpers/todos_helper_spec.rb683spec/lib/gitlab/ci/pipeline/chain/ensure_resource_groups_spec.rb684spec/models/lfs_object_spec.rb685spec/serializers/web_ide_terminal_entity_spec.rb686spec/models/pages_deployment_spec.rb687spec/services/pod_logs/kubernetes_service_spec.rb688spec/lib/gitlab/ci/pipeline/chain/populate_spec.rb689spec/lib/gitlab/api_authentication/token_resolver_spec.rb690spec/graphql/resolvers/boards_resolver_spec.rb691spec/lib/gitlab/ci/pipeline/chain/build/associations_spec.rb692spec/services/commits/cherry_pick_service_spec.rb693spec/lib/gitlab/logger_spec.rb694spec/lib/gitlab/diff/diff_refs_spec.rb695spec/finders/user_finder_spec.rb696spec/lib/sidebars/projects/menus/monitor_menu_spec.rb697spec/models/concerns/loaded_in_group_list_spec.rb698spec/presenters/instance_clusterable_presenter_spec.rb699spec/models/projects/topic_spec.rb700spec/finders/feature_flags_finder_spec.rb701spec/lib/banzai/filter/inline_metrics_filter_spec.rb702spec/lib/gitlab/metrics/samplers/ruby_sampler_spec.rb703spec/lib/gitlab/alert_management/payload/managed_prometheus_spec.rb704spec/models/merge_request/metrics_spec.rb705spec/services/pages/migrate_legacy_storage_to_deployment_service_spec.rb706spec/lib/gitlab/instrumentation/redis_interceptor_spec.rb707spec/services/notification_recipients/builder/default_spec.rb708spec/lib/gitlab/serverless/service_spec.rb709spec/services/lfs/unlock_file_service_spec.rb710spec/lib/banzai/filter/spaced_link_filter_spec.rb711spec/graphql/types/base_enum_spec.rb712spec/services/pod_logs/elasticsearch_service_spec.rb713spec/lib/gitlab/ci/jwt_spec.rb714spec/presenters/commit_presenter_spec.rb715spec/graphql/resolvers/terraform/states_resolver_spec.rb716spec/models/snippet_statistics_spec.rb717spec/lib/gitlab/github_import/parallel_scheduling_spec.rb718spec/lib/gitlab/gitaly_client/storage_settings_spec.rb719spec/services/todos/destroy/project_private_service_spec.rb720spec/services/ci/prometheus_metrics/observe_histograms_service_spec.rb721spec/rubocop/cop/rspec/expect_gitlab_tracking_spec.rb722spec/models/projects/repository_storage_move_spec.rb723spec/lib/gitlab/experimentation_spec.rb724spec/lib/gitlab/batch_pop_queueing_spec.rb725spec/lib/gitlab/phabricator_import/project_creator_spec.rb726spec/lib/sidebars/projects/menus/zentao_menu_spec.rb727spec/graphql/mutations/todos/mark_done_spec.rb728spec/lib/gitlab/diff/line_spec.rb729spec/services/terraform/remote_state_handler_spec.rb730spec/views/layouts/_search.html.haml_spec.rb731spec/workers/project_cache_worker_spec.rb732spec/serializers/merge_request_user_entity_spec.rb733spec/lib/gitlab/analytics/cycle_analytics/aggregated/records_fetcher_spec.rb734spec/services/clusters/kubernetes_spec.rb735spec/services/ci/create_pipeline_service/evaluate_runner_tags_spec.rb736spec/lib/gitlab/utils/mime_type_spec.rb737spec/workers/deployments/hooks_worker_spec.rb738spec/serializers/member_serializer_spec.rb739spec/models/preloaders/user_max_access_level_in_projects_preloader_spec.rb740spec/services/snippets/repository_validation_service_spec.rb741spec/lib/gitlab/ci/status/build/scheduled_spec.rb742spec/services/clusters/applications/prometheus_config_service_spec.rb743spec/lib/gitlab/ci/build/rules/rule/clause_spec.rb744spec/lib/banzai/pipeline/description_pipeline_spec.rb745spec/finders/protected_branches_finder_spec.rb746spec/lib/gitlab/loop_helpers_spec.rb747spec/models/packages/debian/group_component_spec.rb748spec/lib/banzai/filter/asset_proxy_filter_spec.rb749spec/workers/analytics/usage_trends/counter_job_worker_spec.rb750spec/lib/gitlab/ci/config/normalizer/number_strategy_spec.rb751spec/lib/gitlab/usage/service_ping/legacy_metric_timing_decorator_spec.rb752spec/helpers/hooks_helper_spec.rb753spec/workers/irker_worker_spec.rb754spec/lib/gitlab/ci/templates/themekit_gitlab_ci_yaml_spec.rb755spec/lib/api/helpers/sse_helpers_spec.rb756spec/services/packages/composer/version_parser_service_spec.rb757spec/lib/gitlab/health_checks/redis/queues_check_spec.rb758spec/lib/bitbucket_server/representation/activity_spec.rb759spec/views/layouts/profile.html.haml_spec.rb760spec/services/concerns/merge_requests/assigns_merge_params_spec.rb761spec/lib/gitlab/cleanup/remote_uploads_spec.rb762spec/services/clusters/integrations/create_service_spec.rb763spec/lib/gitlab/import_export/fork_spec.rb764spec/lib/gitlab/diff/file_collection/merge_request_diff_base_spec.rb765spec/lib/gitlab/ci/config/entry/inherit/variables_spec.rb766spec/graphql/mutations/custom_emoji/create_spec.rb767spec/lib/gitlab/analytics/cycle_analytics/sorting_spec.rb768spec/lib/gitlab/x509/tag_spec.rb769spec/workers/loose_foreign_keys/cleanup_worker_spec.rb770spec/lib/gitlab/ci/pipeline/seed/pipeline_spec.rb771spec/lib/gitlab/git/wraps_gitaly_errors_spec.rb772spec/graphql/resolvers/design_management/design_at_version_resolver_spec.rb773spec/services/loose_foreign_keys/batch_cleaner_service_spec.rb774spec/lib/gitlab/database/count/exact_count_strategy_spec.rb775spec/lib/gitlab/gl_repository_spec.rb776spec/lib/bulk_imports/common/extractors/ndjson_extractor_spec.rb777spec/services/snippets/schedule_bulk_repository_shard_moves_service_spec.rb778spec/finders/uploader_finder_spec.rb779spec/models/concerns/ignorable_columns_spec.rb780spec/lib/gitlab/checks/push_file_count_check_spec.rb781spec/lib/gitlab/grape_logging/formatters/lograge_with_timestamp_spec.rb782spec/services/projects/enable_deploy_key_service_spec.rb783spec/presenters/packages/nuget/package_metadata_presenter_spec.rb784spec/services/users/last_push_event_service_spec.rb785spec/lib/gitlab/auth/o_auth/provider_spec.rb786spec/lib/gitlab/ci/templates/Jobs/sast_iac_gitlab_ci_yaml_spec.rb787spec/models/clusters/agents/project_authorization_spec.rb788spec/lib/gitlab/jira_import/issues_importer_spec.rb789spec/graphql/types/notes/discussion_type_spec.rb790spec/lib/gitlab/ci/templates/managed_cluster_applications_gitlab_ci_yaml_spec.rb791spec/graphql/types/permission_types/snippet_spec.rb792spec/services/milestones/create_service_spec.rb793spec/presenters/packages/nuget/service_index_presenter_spec.rb794spec/graphql/mutations/terraform/state/lock_spec.rb795spec/workers/service_desk_email_receiver_worker_spec.rb796spec/services/dependency_proxy/head_manifest_service_spec.rb797spec/graphql/mutations/saved_replies/destroy_spec.rb798spec/models/diff_viewer/image_spec.rb799spec/presenters/ci/group_variable_presenter_spec.rb800spec/services/clusters/agent_tokens/track_usage_service_spec.rb801spec/graphql/resolvers/error_tracking/sentry_detailed_error_resolver_spec.rb802spec/lib/gitlab/gitaly_client/call_spec.rb803spec/lib/gitlab/auth/ldap/auth_hash_spec.rb804spec/graphql/types/ci/test_report_total_type_spec.rb805spec/views/projects/milestones/index.html.haml_spec.rb806spec/lib/gitlab/database/load_balancing/action_cable_callbacks_spec.rb807spec/lib/gitlab/form_builders/gitlab_ui_form_builder_spec.rb808spec/policies/clusters/agent_policy_spec.rb809spec/lib/gitlab/cross_project_access_spec.rb810spec/models/concerns/editable_spec.rb811spec/services/concerns/audit_event_save_type_spec.rb812spec/lib/gitlab/auth/atlassian/user_spec.rb813spec/lib/gitlab/hook_data/release_builder_spec.rb814spec/models/blob_viewer/markup_spec.rb815spec/lib/banzai/filter/markdown_filter_spec.rb816spec/models/loose_foreign_keys/modification_tracker_spec.rb817spec/views/groups/milestones/index.html.haml_spec.rb818spec/lib/container_registry/registry_spec.rb819spec/workers/jira_connect/sync_deployments_worker_spec.rb820spec/lib/gitlab/ci/config/entry/caches_spec.rb821spec/lib/gitlab/pagination/keyset/cursor_based_request_context_spec.rb822spec/lib/gitlab/ci/config/entry/kubernetes_spec.rb823spec/lib/gitlab/metrics/dashboard/stages/grafana_formatter_spec.rb824spec/rubocop/cop/gitlab/namespaced_class_spec.rb825spec/policies/group_deploy_keys_group_policy_spec.rb826spec/rubocop/cop/filename_length_spec.rb827spec/serializers/feature_flag_entity_spec.rb828spec/serializers/ci/dag_stage_entity_spec.rb829spec/models/alerting/project_alerting_setting_spec.rb830spec/lib/gitlab/graphql/calls_gitaly/field_extension_spec.rb831spec/views/shared/milestones/_issuables.html.haml_spec.rb832spec/services/packages/remove_tag_service_spec.rb833spec/helpers/bizible_helper_spec.rb834spec/lib/gitlab/pagination/keyset/in_operator_optimization/array_scope_columns_spec.rbKnapsack report generator started!835DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from connected? at ee/lib/gitlab/geo.rb:79)836DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from block in <module:HasVariable> at app/models/concerns/ci/has_variable.rb:22)837DEPRECATION WARNING: Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers (called from exists? at lib/gitlab/database/reflection.rb:94)838Run options: exclude {:quarantine=>true, :geo=>true, :level=>"migration"}839==> /builds/gitlab-org/gitlab/tmp/tests/gitlab-test_bare set up in 0.156678025 seconds...840Test environment set up in 2.021343062 seconds841Gitlab::UsageData842 .data843 includes basic top and second level keys844/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: already initialized constant MAC_MATCH845/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: previous definition of MAC_MATCH was here846 clears memoized values847 ensures recorded_at is set before any other usage data calculation848 when generating usage ping in critical weeks849/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: already initialized constant MAC_MATCH850/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: previous definition of MAC_MATCH was here851 does not raise error when generated in last week of the year852/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: already initialized constant MAC_MATCH853/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: previous definition of MAC_MATCH was here854 does not raise error when generated in first week of the year855/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: already initialized constant MAC_MATCH856/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: previous definition of MAC_MATCH was here857 does not raise error when generated in second week of the year858/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: already initialized constant MAC_MATCH859/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: previous definition of MAC_MATCH was here860 does not raise error when generated in 3rd week of the year861 usage_activity_by_stage_package862 includes accurate usage_activity_by_stage data863 .usage_activity_by_stage_configure864 includes accurate usage_activity_by_stage data865 usage_activity_by_stage_create866 includes accurate usage_activity_by_stage data867 usage_activity_by_stage_manage868 includes accurate usage_activity_by_stage data869 includes import gmau usage data870 includes imports usage data871 usage_activity_by_stage_monitor872 includes accurate usage_activity_by_stage data873 usage_activity_by_stage_plan874 includes accurate usage_activity_by_stage data875 does not merge the data from instrumentation classes876 usage_activity_by_stage_release877 includes accurate usage_activity_by_stage data878 usage_activity_by_stage_verify879 includes accurate usage_activity_by_stage data880 .data881/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: already initialized constant MAC_MATCH882/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: previous definition of MAC_MATCH was here883 gathers usage data884/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: already initialized constant MAC_MATCH885/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: previous definition of MAC_MATCH was here886 gathers usage counts887/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: already initialized constant MAC_MATCH888/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: previous definition of MAC_MATCH was here889 gathers usage counts correctly890/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: already initialized constant MAC_MATCH891/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: previous definition of MAC_MATCH was here892 gathers object store usage correctly893/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: already initialized constant MAC_MATCH894/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: previous definition of MAC_MATCH was here895 includes a recording_ce_finished_at timestamp896 with existing container expiration policies897/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: already initialized constant MAC_MATCH898/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: previous definition of MAC_MATCH was here899 gathers usage data900 when queries time out901 with should_raise_for_dev? true902 raises an error903 when metric calls find_in_batches904 raises an error for jira_usage905 with should_raise_for_dev? false906/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: already initialized constant MAC_MATCH907/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: previous definition of MAC_MATCH was here908 does not raise an error909 when metric calls find_in_batches910 does not raise an error for jira_usage911 .system_usage_data_monthly912 gathers monthly usage counts correctly913 .runners_usage914 gathers runner usage counts correctly915 .usage_counters916 is expected to include :kubernetes_agent_gitops_sync917 is expected to include :kubernetes_agent_k8s_api_proxy_request918 is expected to include :static_site_editor_views919 is expected to include :package_events_i_package_pull_package920 is expected to include :package_events_i_package_delete_package_by_user921 is expected to include :package_events_i_package_conan_push_package922 .usage_data_counters923 is expected to all respond to #totals924 is expected to all respond to #fallback_totals925 does not have any conflicts926 the results of calling #totals on all objects in the array927 is expected to all be a kind of Hash928 is expected to all have attributes {:keys => (all be a kind of Symbol), :values => (all be a kind of Integer)}929 the results of calling #fallback_totals on all objects in the array930 is expected to all be a kind of Hash931 is expected to all have attributes {:keys => (all be a kind of Symbol), :values => (all eq -1)}932 .license_usage_data933 gathers license data934 when not relying on database records935 .features_usage_data_ce936 gathers feature usage data937 with embedded Prometheus938 returns true when embedded Prometheus is enabled939 returns false when embedded Prometheus is disabled940 with embedded grafana941 returns true when embedded grafana is enabled942 returns false when embedded grafana is disabled943 with Gitpod944 returns true when is enabled945 returns false when is disabled946 .components_usage_data947 gathers basic components usage data948 .object_store_config949 when object_store is not configured950 returns component enable status only951 when object_store is configured952 returns filtered object store config953 when retrieve component setting meets exception954 with should_raise_for_dev? false955 returns -1 for component enable status956 with should_raise_for_dev? true957 raises an error958 .object_store_usage_data959 fetches object store config of five components960 .grafana_embed_usage_data961 with project grafana integration enabled962 with valid and invalid embeds963 counts only the issues with embeds964 with project grafana integration disabled965 with one issue having a grafana link in the description and one without966 behaves like zero count967 does not count the issue968 with an un-integrated project969 with one issue having a grafana link in the description and one without970 behaves like zero count971 does not count the issue972 .operating_system973/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: already initialized constant MAC_MATCH974/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: previous definition of MAC_MATCH was here975 is expected to eq "ubuntu-20.04"976 when on Debian with armv architecture977/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: already initialized constant MAC_MATCH978/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: previous definition of MAC_MATCH was here979 is expected to eq "raspbian-10"980 .system_usage_data_settings981 gathers encrypted secrets usage data982 populates operating system information983 gathers gitaly apdex984 reports collected data categories985 gathers service_ping_features_enabled986 gathers user_cap_feature_enabled987 reports status of the certificate_based_clusters feature flag as true988 with certificate_based_clusters disabled989 reports status of the certificate_based_clusters feature flag as false990 snowplow stats991 gathers snowplow stats992 .merge_requests_users993 returns the distinct count of users using merge requests (via events table) within the specified time period994 #action_monthly_active_users995 returns the distinct count of user actions within the specified time period996 .analytics_unique_visits_data997 returns the number of unique visits to pages with analytics features998 .compliance_unique_visits_data999 returns the number of unique visits to pages with compliance features1000 .search_unique_visits_data1001 returns the number of unique visits to pages with search features1002 redis_hll_counters1003 has all known_events1004 .aggregated_metrics_data1005 uses ::Gitlab::Usage::Metrics::Aggregates::Aggregate methods1006 .service_desk_counts1007 gathers Service Desk data1008 .email_campaign_counts1009 when queries time out1010 with should_raise_for_dev? true1011 raises an error1012 with should_raise_for_dev? false1013 returns -1 for email campaign data1014 when there are entries1015 gathers email campaign data1016 .with_duration1017 with feature flag measure_service_ping_metric_collection turned off1018 does NOT record duration and return block response1019 with feature flag measure_service_ping_metric_collection turned off1020 records duration1021SnippetsFinder1022 #initialize1023 raises ArgumentError when a project and author are given1024 #execute1025 filter by scope1026 returns all snippets for 'all' scope1027 returns all snippets for 'are_private' scope1028 returns all snippets for 'are_internal' scope1029 returns all snippets for 'are_public' scope1030 filter by author1031 returns internal snippets1032 returns private snippets1033 returns public snippets1034 returns all snippets1035 returns only public snippets if unauthenticated user1036 returns all snippets for an admin in admin mode1037 returns all public and internal snippets for an admin without admin mode1038 when the author is a User object1039 returns all public and internal snippets1040 when the author is the User id1041 returns all public and internal snippets1042 when author is not valid1043 returns quickly1044 filter by project1045 returns public and internal snippets for non project members1046 returns public snippets for non project members1047 returns internal snippets for non project members1048 does not return private snippets for non project members1049 returns all snippets for project members1050 returns private snippets for project members1051 returns all snippets for an admin in admin mode1052 returns public and internal snippets for an admin without admin mode1053 when project is a Project object1054 returns public personal and project snippets for unauthorized user1055 when project is a Project id1056 returns public personal and project snippets for unauthorized user1057 filter by author1058 returns all snippets for project members1059 when project is not valid1060 returns quickly1061 filter by snippet type1062 when filtering by only_personal snippet1063 returns only personal snippet1064 when filtering by only_project snippet1065 returns only project snippet1066 filtering by ids1067 returns only personal snippet1068 explore snippets1069 returns only public personal snippets for unauthenticated users1070 also returns internal personal snippets for authenticated users1071 returns all personal snippets for admins when in admin mode1072 also returns internal personal snippets for admins without admin mode1073 when the user cannot read cross project1074 returns only personal snippets when the user cannot read cross project1075 when only project snippets are required1076 returns no records1077 when project snippets are disabled1078 returns quickly1079 no sort param is provided1080 returns snippets sorted by id1081 sort param is provided1082 returns snippets sorted by sort param1083 behaves like snippet visibility1084 For project snippets1085 project_visibility: :public, feature_visibility: :enabled, user_type: :unauthenticated, snippet_visibility: :public, outcome: true1086 For project and unauthenticated users1087 returns proper outcome1088 Without a given project and unauthenticated users1089 returns proper outcome1090 project_visibility: :public, feature_visibility: :enabled, user_type: :unauthenticated, snippet_visibility: :internal, outcome: false1091 For project and unauthenticated users1092 returns proper outcome1093 Without a given project and unauthenticated users1094 returns proper outcome1095 project_visibility: :public, feature_visibility: :enabled, user_type: :unauthenticated, snippet_visibility: :private, outcome: false1096 For project and unauthenticated users1097 returns proper outcome1098 Without a given project and unauthenticated users1099 returns proper outcome1100 project_visibility: :public, feature_visibility: :enabled, user_type: :external, snippet_visibility: :public, outcome: true1101 For project and external users1102 returns proper outcome1103 Without a given project and external users1104 returns proper outcome1105 project_visibility: :public, feature_visibility: :enabled, user_type: :external, snippet_visibility: :internal, outcome: false1106 For project and external users1107 returns proper outcome1108 Without a given project and external users1109 returns proper outcome1110 project_visibility: :public, feature_visibility: :enabled, user_type: :external, snippet_visibility: :private, outcome: false1111 For project and external users1112 returns proper outcome1113 Without a given project and external users1114 returns proper outcome1115 project_visibility: :public, feature_visibility: :enabled, user_type: :non_member, snippet_visibility: :public, outcome: true1116 For project and non_member users1117 returns proper outcome1118 Without a given project and non_member users1119 returns proper outcome1120 project_visibility: :public, feature_visibility: :enabled, user_type: :non_member, snippet_visibility: :internal, outcome: true1121 For project and non_member users1122 returns proper outcome1123 Without a given project and non_member users1124 returns proper outcome1125 project_visibility: :public, feature_visibility: :enabled, user_type: :non_member, snippet_visibility: :private, outcome: false1126 For project and non_member users1127 returns proper outcome1128 Without a given project and non_member users1129 returns proper outcome1130 project_visibility: :public, feature_visibility: :enabled, user_type: :member, snippet_visibility: :public, outcome: true1131 For project and member users1132 returns proper outcome1133 Without a given project and member users1134 returns proper outcome1135 project_visibility: :public, feature_visibility: :enabled, user_type: :member, snippet_visibility: :internal, outcome: true1136 For project and member users1137 returns proper outcome1138 Without a given project and member users1139 returns proper outcome1140 project_visibility: :public, feature_visibility: :enabled, user_type: :member, snippet_visibility: :private, outcome: true1141 For project and member users1142 returns proper outcome1143 Without a given project and member users1144 returns proper outcome1145 project_visibility: :public, feature_visibility: :enabled, user_type: :author, snippet_visibility: :public, outcome: true1146 For project and author users1147 returns proper outcome1148 Without a given project and author users1149 returns proper outcome1150 project_visibility: :public, feature_visibility: :enabled, user_type: :author, snippet_visibility: :internal, outcome: true1151 For project and author users1152 returns proper outcome1153 Without a given project and author users1154 returns proper outcome1155 project_visibility: :public, feature_visibility: :enabled, user_type: :author, snippet_visibility: :private, outcome: true1156 For project and author users1157 returns proper outcome1158 Without a given project and author users1159 returns proper outcome1160 project_visibility: :public, feature_visibility: :private, user_type: :unauthenticated, snippet_visibility: :public, outcome: false1161 For project and unauthenticated users1162 returns proper outcome1163 Without a given project and unauthenticated users1164 returns proper outcome1165 project_visibility: :public, feature_visibility: :private, user_type: :unauthenticated, snippet_visibility: :internal, outcome: false1166 For project and unauthenticated users1167 returns proper outcome1168 Without a given project and unauthenticated users1169 returns proper outcome1170 project_visibility: :public, feature_visibility: :private, user_type: :unauthenticated, snippet_visibility: :private, outcome: false1171 For project and unauthenticated users1172 returns proper outcome1173 Without a given project and unauthenticated users1174 returns proper outcome1175 project_visibility: :public, feature_visibility: :private, user_type: :external, snippet_visibility: :public, outcome: false1176 For project and external users1177 returns proper outcome1178 Without a given project and external users1179 returns proper outcome1180 project_visibility: :public, feature_visibility: :private, user_type: :external, snippet_visibility: :internal, outcome: false1181 For project and external users1182 returns proper outcome1183 Without a given project and external users1184 returns proper outcome1185 project_visibility: :public, feature_visibility: :private, user_type: :external, snippet_visibility: :private, outcome: false1186 For project and external users1187 returns proper outcome1188 Without a given project and external users1189 returns proper outcome1190 project_visibility: :public, feature_visibility: :private, user_type: :non_member, snippet_visibility: :public, outcome: false1191 For project and non_member users1192 returns proper outcome1193 Without a given project and non_member users1194 returns proper outcome1195 project_visibility: :public, feature_visibility: :private, user_type: :non_member, snippet_visibility: :internal, outcome: false1196 For project and non_member users1197 returns proper outcome1198 Without a given project and non_member users1199 returns proper outcome1200 project_visibility: :public, feature_visibility: :private, user_type: :non_member, snippet_visibility: :private, outcome: false1201 For project and non_member users1202 returns proper outcome1203 Without a given project and non_member users1204 returns proper outcome1205 project_visibility: :public, feature_visibility: :private, user_type: :member, snippet_visibility: :public, outcome: true1206 For project and member users1207 returns proper outcome1208 Without a given project and member users1209 returns proper outcome1210 project_visibility: :public, feature_visibility: :private, user_type: :member, snippet_visibility: :internal, outcome: true1211 For project and member users1212 returns proper outcome1213 Without a given project and member users1214 returns proper outcome1215 project_visibility: :public, feature_visibility: :private, user_type: :member, snippet_visibility: :private, outcome: true1216 For project and member users1217 returns proper outcome1218 Without a given project and member users1219 returns proper outcome1220 project_visibility: :public, feature_visibility: :private, user_type: :author, snippet_visibility: :public, outcome: true1221 For project and author users1222 returns proper outcome1223 Without a given project and author users1224 returns proper outcome1225 project_visibility: :public, feature_visibility: :private, user_type: :author, snippet_visibility: :internal, outcome: true1226 For project and author users1227 returns proper outcome1228 Without a given project and author users1229 returns proper outcome1230 project_visibility: :public, feature_visibility: :private, user_type: :author, snippet_visibility: :private, outcome: true1231 For project and author users1232 returns proper outcome1233 Without a given project and author users1234 returns proper outcome1235 project_visibility: :public, feature_visibility: :disabled, user_type: :unauthenticated, snippet_visibility: :public, outcome: false1236 For project and unauthenticated users1237 returns proper outcome1238 Without a given project and unauthenticated users1239 returns proper outcome1240 project_visibility: :public, feature_visibility: :disabled, user_type: :unauthenticated, snippet_visibility: :internal, outcome: false1241 For project and unauthenticated users1242 returns proper outcome1243 Without a given project and unauthenticated users1244 returns proper outcome1245 project_visibility: :public, feature_visibility: :disabled, user_type: :unauthenticated, snippet_visibility: :private, outcome: false1246 For project and unauthenticated users1247 returns proper outcome1248 Without a given project and unauthenticated users1249 returns proper outcome1250 project_visibility: :public, feature_visibility: :disabled, user_type: :external, snippet_visibility: :public, outcome: false1251 For project and external users1252 returns proper outcome1253 Without a given project and external users1254 returns proper outcome1255 project_visibility: :public, feature_visibility: :disabled, user_type: :external, snippet_visibility: :internal, outcome: false1256 For project and external users1257 returns proper outcome1258 Without a given project and external users1259 returns proper outcome1260 project_visibility: :public, feature_visibility: :disabled, user_type: :external, snippet_visibility: :private, outcome: false1261 For project and external users1262 returns proper outcome1263 Without a given project and external users1264 returns proper outcome1265 project_visibility: :public, feature_visibility: :disabled, user_type: :non_member, snippet_visibility: :public, outcome: false1266 For project and non_member users1267 returns proper outcome1268 Without a given project and non_member users1269 returns proper outcome1270 project_visibility: :public, feature_visibility: :disabled, user_type: :non_member, snippet_visibility: :internal, outcome: false1271 For project and non_member users1272 returns proper outcome1273 Without a given project and non_member users1274 returns proper outcome1275 project_visibility: :public, feature_visibility: :disabled, user_type: :non_member, snippet_visibility: :private, outcome: false1276 For project and non_member users1277 returns proper outcome1278 Without a given project and non_member users1279 returns proper outcome1280 project_visibility: :public, feature_visibility: :disabled, user_type: :member, snippet_visibility: :public, outcome: false1281 For project and member users1282 returns proper outcome1283 Without a given project and member users1284 returns proper outcome1285 project_visibility: :public, feature_visibility: :disabled, user_type: :member, snippet_visibility: :internal, outcome: false1286 For project and member users1287 returns proper outcome1288 Without a given project and member users1289 returns proper outcome1290 project_visibility: :public, feature_visibility: :disabled, user_type: :member, snippet_visibility: :private, outcome: false1291 For project and member users1292 returns proper outcome1293 Without a given project and member users1294 returns proper outcome1295 project_visibility: :public, feature_visibility: :disabled, user_type: :author, snippet_visibility: :public, outcome: false1296 For project and author users1297 returns proper outcome1298 Without a given project and author users1299 returns proper outcome1300 project_visibility: :public, feature_visibility: :disabled, user_type: :author, snippet_visibility: :internal, outcome: false1301 For project and author users1302 returns proper outcome1303 Without a given project and author users1304 returns proper outcome1305 project_visibility: :public, feature_visibility: :disabled, user_type: :author, snippet_visibility: :private, outcome: false1306 For project and author users1307 returns proper outcome1308 Without a given project and author users1309 returns proper outcome1310 project_visibility: :internal, feature_visibility: :enabled, user_type: :unauthenticated, snippet_visibility: :public, outcome: false1311 For project and unauthenticated users1312 returns proper outcome1313 Without a given project and unauthenticated users1314 returns proper outcome1315 project_visibility: :internal, feature_visibility: :enabled, user_type: :unauthenticated, snippet_visibility: :internal, outcome: false1316 For project and unauthenticated users1317 returns proper outcome1318 Without a given project and unauthenticated users1319 returns proper outcome1320 project_visibility: :internal, feature_visibility: :enabled, user_type: :unauthenticated, snippet_visibility: :private, outcome: false1321 For project and unauthenticated users1322 returns proper outcome1323 Without a given project and unauthenticated users1324 returns proper outcome1325 project_visibility: :internal, feature_visibility: :enabled, user_type: :external, snippet_visibility: :public, outcome: false1326 For project and external users1327 returns proper outcome1328 Without a given project and external users1329 returns proper outcome1330 project_visibility: :internal, feature_visibility: :enabled, user_type: :external, snippet_visibility: :internal, outcome: false1331 For project and external users1332 returns proper outcome1333 Without a given project and external users1334 returns proper outcome1335 project_visibility: :internal, feature_visibility: :enabled, user_type: :external, snippet_visibility: :private, outcome: false1336 For project and external users1337 returns proper outcome1338 Without a given project and external users1339 returns proper outcome1340 project_visibility: :internal, feature_visibility: :enabled, user_type: :non_member, snippet_visibility: :public, outcome: true1341 For project and non_member users1342 returns proper outcome1343 Without a given project and non_member users1344 returns proper outcome1345 project_visibility: :internal, feature_visibility: :enabled, user_type: :non_member, snippet_visibility: :internal, outcome: true1346 For project and non_member users1347 returns proper outcome1348 Without a given project and non_member users1349 returns proper outcome1350 project_visibility: :internal, feature_visibility: :enabled, user_type: :non_member, snippet_visibility: :private, outcome: false1351 For project and non_member users1352 returns proper outcome1353 Without a given project and non_member users1354 returns proper outcome1355 project_visibility: :internal, feature_visibility: :enabled, user_type: :member, snippet_visibility: :public, outcome: true1356 For project and member users1357 returns proper outcome1358 Without a given project and member users1359 returns proper outcome1360 project_visibility: :internal, feature_visibility: :enabled, user_type: :member, snippet_visibility: :internal, outcome: true1361 For project and member users1362 returns proper outcome1363 Without a given project and member users1364 returns proper outcome1365 project_visibility: :internal, feature_visibility: :enabled, user_type: :member, snippet_visibility: :private, outcome: true1366 For project and member users1367 returns proper outcome1368 Without a given project and member users1369 returns proper outcome1370 project_visibility: :internal, feature_visibility: :enabled, user_type: :author, snippet_visibility: :public, outcome: true1371 For project and author users1372 returns proper outcome1373 Without a given project and author users1374 returns proper outcome1375 project_visibility: :internal, feature_visibility: :enabled, user_type: :author, snippet_visibility: :internal, outcome: true1376 For project and author users1377 returns proper outcome1378 Without a given project and author users1379 returns proper outcome1380 project_visibility: :internal, feature_visibility: :enabled, user_type: :author, snippet_visibility: :private, outcome: true1381 For project and author users1382 returns proper outcome1383 Without a given project and author users1384 returns proper outcome1385 project_visibility: :internal, feature_visibility: :private, user_type: :unauthenticated, snippet_visibility: :public, outcome: false1386 For project and unauthenticated users1387 returns proper outcome1388 Without a given project and unauthenticated users1389 returns proper outcome1390 project_visibility: :internal, feature_visibility: :private, user_type: :unauthenticated, snippet_visibility: :internal, outcome: false1391 For project and unauthenticated users1392 returns proper outcome1393 Without a given project and unauthenticated users1394 returns proper outcome1395 project_visibility: :internal, feature_visibility: :private, user_type: :unauthenticated, snippet_visibility: :private, outcome: false1396 For project and unauthenticated users1397 returns proper outcome1398 Without a given project and unauthenticated users1399 returns proper outcome1400 project_visibility: :internal, feature_visibility: :private, user_type: :external, snippet_visibility: :public, outcome: false1401 For project and external users1402 returns proper outcome1403 Without a given project and external users1404 returns proper outcome1405 project_visibility: :internal, feature_visibility: :private, user_type: :external, snippet_visibility: :internal, outcome: false1406 For project and external users1407 returns proper outcome1408 Without a given project and external users1409 returns proper outcome1410 project_visibility: :internal, feature_visibility: :private, user_type: :external, snippet_visibility: :private, outcome: false1411 For project and external users1412 returns proper outcome1413 Without a given project and external users1414 returns proper outcome1415 project_visibility: :internal, feature_visibility: :private, user_type: :non_member, snippet_visibility: :public, outcome: false1416 For project and non_member users1417 returns proper outcome1418 Without a given project and non_member users1419 returns proper outcome1420 project_visibility: :internal, feature_visibility: :private, user_type: :non_member, snippet_visibility: :internal, outcome: false1421 For project and non_member users1422 returns proper outcome1423 Without a given project and non_member users1424 returns proper outcome1425 project_visibility: :internal, feature_visibility: :private, user_type: :non_member, snippet_visibility: :private, outcome: false1426 For project and non_member users1427 returns proper outcome1428 Without a given project and non_member users1429 returns proper outcome1430 project_visibility: :internal, feature_visibility: :private, user_type: :member, snippet_visibility: :public, outcome: true1431 For project and member users1432 returns proper outcome1433 Without a given project and member users1434 returns proper outcome1435 project_visibility: :internal, feature_visibility: :private, user_type: :member, snippet_visibility: :internal, outcome: true1436 For project and member users1437 returns proper outcome1438 Without a given project and member users1439 returns proper outcome1440 project_visibility: :internal, feature_visibility: :private, user_type: :member, snippet_visibility: :private, outcome: true1441 For project and member users1442 returns proper outcome1443 Without a given project and member users1444 returns proper outcome1445 project_visibility: :internal, feature_visibility: :private, user_type: :author, snippet_visibility: :public, outcome: true1446 For project and author users1447 returns proper outcome1448 Without a given project and author users1449 returns proper outcome1450 project_visibility: :internal, feature_visibility: :private, user_type: :author, snippet_visibility: :internal, outcome: true1451 For project and author users1452 returns proper outcome1453 Without a given project and author users1454 returns proper outcome1455 project_visibility: :internal, feature_visibility: :private, user_type: :author, snippet_visibility: :private, outcome: true1456 For project and author users1457 returns proper outcome1458 Without a given project and author users1459 returns proper outcome1460 project_visibility: :internal, feature_visibility: :disabled, user_type: :unauthenticated, snippet_visibility: :public, outcome: false1461 For project and unauthenticated users1462 returns proper outcome1463 Without a given project and unauthenticated users1464 returns proper outcome1465 project_visibility: :internal, feature_visibility: :disabled, user_type: :unauthenticated, snippet_visibility: :internal, outcome: false1466 For project and unauthenticated users1467 returns proper outcome1468 Without a given project and unauthenticated users1469 returns proper outcome1470 project_visibility: :internal, feature_visibility: :disabled, user_type: :unauthenticated, snippet_visibility: :private, outcome: false1471 For project and unauthenticated users1472 returns proper outcome1473 Without a given project and unauthenticated users1474 returns proper outcome1475 project_visibility: :internal, feature_visibility: :disabled, user_type: :external, snippet_visibility: :public, outcome: false1476 For project and external users1477 returns proper outcome1478 Without a given project and external users1479 returns proper outcome1480 project_visibility: :internal, feature_visibility: :disabled, user_type: :external, snippet_visibility: :internal, outcome: false1481 For project and external users1482 returns proper outcome1483 Without a given project and external users1484 returns proper outcome1485 project_visibility: :internal, feature_visibility: :disabled, user_type: :external, snippet_visibility: :private, outcome: false1486 For project and external users1487 returns proper outcome1488 Without a given project and external users1489 returns proper outcome1490 project_visibility: :internal, feature_visibility: :disabled, user_type: :non_member, snippet_visibility: :public, outcome: false1491 For project and non_member users1492 returns proper outcome1493 Without a given project and non_member users1494 returns proper outcome1495 project_visibility: :internal, feature_visibility: :disabled, user_type: :non_member, snippet_visibility: :internal, outcome: false1496 For project and non_member users1497 returns proper outcome1498 Without a given project and non_member users1499 returns proper outcome1500 project_visibility: :internal, feature_visibility: :disabled, user_type: :non_member, snippet_visibility: :private, outcome: false1501 For project and non_member users1502 returns proper outcome1503 Without a given project and non_member users1504 returns proper outcome1505 project_visibility: :internal, feature_visibility: :disabled, user_type: :member, snippet_visibility: :public, outcome: false1506 For project and member users1507 returns proper outcome1508 Without a given project and member users1509 returns proper outcome1510 project_visibility: :internal, feature_visibility: :disabled, user_type: :member, snippet_visibility: :internal, outcome: false1511 For project and member users1512 returns proper outcome1513 Without a given project and member users1514 returns proper outcome1515 project_visibility: :internal, feature_visibility: :disabled, user_type: :member, snippet_visibility: :private, outcome: false1516 For project and member users1517 returns proper outcome1518 Without a given project and member users1519 returns proper outcome1520 project_visibility: :internal, feature_visibility: :disabled, user_type: :author, snippet_visibility: :public, outcome: false1521 For project and author users1522 returns proper outcome1523 Without a given project and author users1524 returns proper outcome1525 project_visibility: :internal, feature_visibility: :disabled, user_type: :author, snippet_visibility: :internal, outcome: false1526 For project and author users1527 returns proper outcome1528 Without a given project and author users1529 returns proper outcome1530 project_visibility: :internal, feature_visibility: :disabled, user_type: :author, snippet_visibility: :private, outcome: false1531 For project and author users1532 returns proper outcome1533 Without a given project and author users1534 returns proper outcome1535 project_visibility: :private, feature_visibility: :enabled, user_type: :unauthenticated, snippet_visibility: :public, outcome: false1536 For project and unauthenticated users1537 returns proper outcome1538 Without a given project and unauthenticated users1539 returns proper outcome1540 project_visibility: :private, feature_visibility: :enabled, user_type: :unauthenticated, snippet_visibility: :internal, outcome: false1541 For project and unauthenticated users1542 returns proper outcome1543 Without a given project and unauthenticated users1544 returns proper outcome1545 project_visibility: :private, feature_visibility: :enabled, user_type: :unauthenticated, snippet_visibility: :private, outcome: false1546 For project and unauthenticated users1547 returns proper outcome1548 Without a given project and unauthenticated users1549 returns proper outcome1550 project_visibility: :private, feature_visibility: :enabled, user_type: :external, snippet_visibility: :public, outcome: true1551 For project and external users1552 returns proper outcome1553 Without a given project and external users1554 returns proper outcome1555 project_visibility: :private, feature_visibility: :enabled, user_type: :external, snippet_visibility: :internal, outcome: true1556 For project and external users1557 returns proper outcome1558 Without a given project and external users1559 returns proper outcome1560 project_visibility: :private, feature_visibility: :enabled, user_type: :external, snippet_visibility: :private, outcome: true1561 For project and external users1562 returns proper outcome1563 Without a given project and external users1564 returns proper outcome1565 project_visibility: :private, feature_visibility: :enabled, user_type: :non_member, snippet_visibility: :public, outcome: false1566 For project and non_member users1567 returns proper outcome1568 Without a given project and non_member users1569 returns proper outcome1570 project_visibility: :private, feature_visibility: :enabled, user_type: :non_member, snippet_visibility: :internal, outcome: false1571 For project and non_member users1572 returns proper outcome1573 Without a given project and non_member users1574 returns proper outcome1575 project_visibility: :private, feature_visibility: :enabled, user_type: :non_member, snippet_visibility: :private, outcome: false1576 For project and non_member users1577 returns proper outcome1578 Without a given project and non_member users1579 returns proper outcome1580 project_visibility: :private, feature_visibility: :enabled, user_type: :member, snippet_visibility: :public, outcome: true1581 For project and member users1582 returns proper outcome1583 Without a given project and member users1584 returns proper outcome1585 project_visibility: :private, feature_visibility: :enabled, user_type: :member, snippet_visibility: :internal, outcome: true1586 For project and member users1587 returns proper outcome1588 Without a given project and member users1589 returns proper outcome1590 project_visibility: :private, feature_visibility: :enabled, user_type: :member, snippet_visibility: :private, outcome: true1591 For project and member users1592 returns proper outcome1593 Without a given project and member users1594 returns proper outcome1595 project_visibility: :private, feature_visibility: :enabled, user_type: :author, snippet_visibility: :public, outcome: true1596 For project and author users1597 returns proper outcome1598 Without a given project and author users1599 returns proper outcome1600 project_visibility: :private, feature_visibility: :enabled, user_type: :author, snippet_visibility: :internal, outcome: true1601 For project and author users1602 returns proper outcome1603 Without a given project and author users1604 returns proper outcome1605 project_visibility: :private, feature_visibility: :enabled, user_type: :author, snippet_visibility: :private, outcome: true1606 For project and author users1607 returns proper outcome1608 Without a given project and author users1609 returns proper outcome1610 project_visibility: :private, feature_visibility: :private, user_type: :unauthenticated, snippet_visibility: :public, outcome: false1611 For project and unauthenticated users1612 returns proper outcome1613 Without a given project and unauthenticated users1614 returns proper outcome1615 project_visibility: :private, feature_visibility: :private, user_type: :unauthenticated, snippet_visibility: :internal, outcome: false1616 For project and unauthenticated users1617 returns proper outcome1618 Without a given project and unauthenticated users1619 returns proper outcome1620 project_visibility: :private, feature_visibility: :private, user_type: :unauthenticated, snippet_visibility: :private, outcome: false1621 For project and unauthenticated users1622 returns proper outcome1623 Without a given project and unauthenticated users1624 returns proper outcome1625 project_visibility: :private, feature_visibility: :private, user_type: :external, snippet_visibility: :public, outcome: true1626 For project and external users1627 returns proper outcome1628 Without a given project and external users1629 returns proper outcome1630 project_visibility: :private, feature_visibility: :private, user_type: :external, snippet_visibility: :internal, outcome: true1631 For project and external users1632 returns proper outcome1633 Without a given project and external users1634 returns proper outcome1635 project_visibility: :private, feature_visibility: :private, user_type: :external, snippet_visibility: :private, outcome: true1636 For project and external users1637 returns proper outcome1638 Without a given project and external users1639 returns proper outcome1640 project_visibility: :private, feature_visibility: :private, user_type: :non_member, snippet_visibility: :public, outcome: false1641 For project and non_member users1642 returns proper outcome1643 Without a given project and non_member users1644 returns proper outcome1645 project_visibility: :private, feature_visibility: :private, user_type: :non_member, snippet_visibility: :internal, outcome: false1646 For project and non_member users1647 returns proper outcome1648 Without a given project and non_member users1649 returns proper outcome1650 project_visibility: :private, feature_visibility: :private, user_type: :non_member, snippet_visibility: :private, outcome: false1651 For project and non_member users1652 returns proper outcome1653 Without a given project and non_member users1654 returns proper outcome1655 project_visibility: :private, feature_visibility: :private, user_type: :member, snippet_visibility: :public, outcome: true1656 For project and member users1657 returns proper outcome1658 Without a given project and member users1659 returns proper outcome1660 project_visibility: :private, feature_visibility: :private, user_type: :member, snippet_visibility: :internal, outcome: true1661 For project and member users1662 returns proper outcome1663 Without a given project and member users1664 returns proper outcome1665 project_visibility: :private, feature_visibility: :private, user_type: :member, snippet_visibility: :private, outcome: true1666 For project and member users1667 returns proper outcome1668 Without a given project and member users1669 returns proper outcome1670 project_visibility: :private, feature_visibility: :private, user_type: :author, snippet_visibility: :public, outcome: true1671 For project and author users1672 returns proper outcome1673 Without a given project and author users1674 returns proper outcome1675 project_visibility: :private, feature_visibility: :private, user_type: :author, snippet_visibility: :internal, outcome: true1676 For project and author users1677 returns proper outcome1678 Without a given project and author users1679 returns proper outcome1680 project_visibility: :private, feature_visibility: :private, user_type: :author, snippet_visibility: :private, outcome: true1681 For project and author users1682 returns proper outcome1683 Without a given project and author users1684 returns proper outcome1685 project_visibility: :private, feature_visibility: :disabled, user_type: :unauthenticated, snippet_visibility: :public, outcome: false1686 For project and unauthenticated users1687 returns proper outcome1688 Without a given project and unauthenticated users1689 returns proper outcome1690 project_visibility: :private, feature_visibility: :disabled, user_type: :unauthenticated, snippet_visibility: :internal, outcome: false1691 For project and unauthenticated users1692 returns proper outcome1693 Without a given project and unauthenticated users1694 returns proper outcome1695 project_visibility: :private, feature_visibility: :disabled, user_type: :unauthenticated, snippet_visibility: :private, outcome: false1696 For project and unauthenticated users1697 returns proper outcome1698 Without a given project and unauthenticated users1699 returns proper outcome1700 project_visibility: :private, feature_visibility: :disabled, user_type: :external, snippet_visibility: :public, outcome: false1701 For project and external users1702 returns proper outcome1703 Without a given project and external users1704 returns proper outcome1705 project_visibility: :private, feature_visibility: :disabled, user_type: :external, snippet_visibility: :internal, outcome: false1706 For project and external users1707 returns proper outcome1708 Without a given project and external users1709 returns proper outcome1710 project_visibility: :private, feature_visibility: :disabled, user_type: :external, snippet_visibility: :private, outcome: false1711 For project and external users1712 returns proper outcome1713 Without a given project and external users1714 returns proper outcome1715 project_visibility: :private, feature_visibility: :disabled, user_type: :non_member, snippet_visibility: :public, outcome: false1716 For project and non_member users1717 returns proper outcome1718 Without a given project and non_member users1719 returns proper outcome1720 project_visibility: :private, feature_visibility: :disabled, user_type: :non_member, snippet_visibility: :internal, outcome: false1721 For project and non_member users1722 returns proper outcome1723 Without a given project and non_member users1724 returns proper outcome1725 project_visibility: :private, feature_visibility: :disabled, user_type: :non_member, snippet_visibility: :private, outcome: false1726 For project and non_member users1727 returns proper outcome1728 Without a given project and non_member users1729 returns proper outcome1730 project_visibility: :private, feature_visibility: :disabled, user_type: :member, snippet_visibility: :public, outcome: false1731 For project and member users1732 returns proper outcome1733 Without a given project and member users1734 returns proper outcome1735 project_visibility: :private, feature_visibility: :disabled, user_type: :member, snippet_visibility: :internal, outcome: false1736 For project and member users1737 returns proper outcome1738 Without a given project and member users1739 returns proper outcome1740 project_visibility: :private, feature_visibility: :disabled, user_type: :member, snippet_visibility: :private, outcome: false1741 For project and member users1742 returns proper outcome1743 Without a given project and member users1744 returns proper outcome1745 project_visibility: :private, feature_visibility: :disabled, user_type: :author, snippet_visibility: :public, outcome: false1746 For project and author users1747 returns proper outcome1748 Without a given project and author users1749 returns proper outcome1750 project_visibility: :private, feature_visibility: :disabled, user_type: :author, snippet_visibility: :internal, outcome: false1751 For project and author users1752 returns proper outcome1753 Without a given project and author users1754 returns proper outcome1755 project_visibility: :private, feature_visibility: :disabled, user_type: :author, snippet_visibility: :private, outcome: false1756 For project and author users1757 returns proper outcome1758 Without a given project and author users1759 returns proper outcome1760 For personal snippets1761 snippet_visibility: :public, user_type: :unauthenticated, outcome: true1762 For personal and public snippets with unauthenticated user1763 returns proper outcome1764 snippet_visibility: :public, user_type: :external, outcome: true1765 For personal and public snippets with external user1766 returns proper outcome1767 snippet_visibility: :public, user_type: :non_member, outcome: true1768 For personal and public snippets with non_member user1769 returns proper outcome1770 snippet_visibility: :public, user_type: :author, outcome: true1771 For personal and public snippets with author user1772 returns proper outcome1773 snippet_visibility: :internal, user_type: :unauthenticated, outcome: false1774 For personal and internal snippets with unauthenticated user1775 returns proper outcome1776 snippet_visibility: :internal, user_type: :external, outcome: false1777 For personal and internal snippets with external user1778 returns proper outcome1779 snippet_visibility: :internal, user_type: :non_member, outcome: true1780 For personal and internal snippets with non_member user1781 returns proper outcome1782 snippet_visibility: :internal, user_type: :author, outcome: true1783 For personal and internal snippets with author user1784 returns proper outcome1785 snippet_visibility: :private, user_type: :unauthenticated, outcome: false1786 For personal and private snippets with unauthenticated user1787 returns proper outcome1788 snippet_visibility: :private, user_type: :external, outcome: false1789 For personal and private snippets with external user1790 returns proper outcome1791 snippet_visibility: :private, user_type: :non_member, outcome: false1792 For personal and private snippets with non_member user1793 returns proper outcome1794 snippet_visibility: :private, user_type: :author, outcome: true1795 For personal and private snippets with author user1796 returns proper outcome1797 when the user cannot read cross project1798 returns only personal snippets1799 external authorization1800 includes the result if the external service allows access1801 does not include any results if the external service denies access1802 behaves like a finder with external authorization service1803 finds the subject1804 with an external authorization service1805 does not include the subject when no project was given1806 includes the subject when a project id was given1807IssuePolicy1808 a private project1809 allows guests to read issues1810 allows reporters to read, update, and admin issues1811 allows reporters from group links to read, update, and admin issues1812 allows issue authors to read and update their issues1813 allows issue assignees to read and update their issues1814 does not allow non-members to read, update or create issues1815 behaves like support bot with service desk disabled1816 does not allow support_bot to read issues, create and set metadata on new issues1817 behaves like support bot with service desk enabled1818 allows support_bot to read issues, create and set metadata on new issues1819 with confidential issues1820 does not allow non-members to read confidential issues1821 does not allow guests to read confidential issues1822 allows reporters to read, update, and admin confidential issues1823 allows reporters from group links to read, update, and admin confidential issues1824 allows issue authors to read and update their confidential issues1825 does not allow issue author to read or update confidential issue moved to an private project1826 allows issue assignees to read and update their confidential issues1827 does not allow issue assignees to read or update confidential issue moved to an private project1828 a public project1829 does not allow anonymous user to create todos1830 allows guests to read issues1831 allows reporters to read, update, reopen, and admin issues1832 allows reporters from group links to read, update, reopen and admin issues1833 allows issue authors to read, reopen and update their issues1834 allows issue assignees to read, reopen and update their issues1835 allows non-members to read and create issues1836 allows non-members to read issues1837 does not allow non-members to update, admin or set metadata except for set confidential flag1838 allows support_bot to read issues1839 behaves like support bot with service desk enabled1840 allows support_bot to read issues, create and set metadata on new issues1841 when issues are private1842 forbids visitors from viewing issues1843 forbids visitors from commenting1844 forbids visitors from subscribing1845 allows guests to view1846 allows guests to comment1847 allows guests to subscribe1848 does not allow non-members to update or create issues1849 when admin mode is enabled1850 allows admins to view1851 allows admins to comment1852 when admin mode is disabled1853 forbids admins to view1854 forbids admins to comment1855 behaves like support bot with service desk disabled1856 does not allow support_bot to read issues, create and set metadata on new issues1857 behaves like support bot with service desk enabled1858 allows support_bot to read issues, create and set metadata on new issues1859 with confidential issues1860 does not allow guests to read confidential issues1861 allows reporters to read, update, and admin confidential issues1862 allows reporter from group links to read, update, and admin confidential issues1863 allows issue authors to read and update their confidential issues1864 allows issue assignees to read and update their confidential issues1865 with a hidden issue1866 does not allow non-admin user to read the issue1867 allows admin to read the issue1868 with external authorization enabled1869 can read the issue iid without accessing the external service1870 set_issue_crm_contacts1871 when project reporter1872 is disallowed1873 when subgroup reporter1874 is allowed1875 when root group reporter1876 is allowed1877GroupMembersFinder#execute1878 relations1879 raises an error if a non-supported relation type is used1880 subject_relations: [], subject_group: :group, expected_members: []1881 returns correct members1882 subject_relations: [:direct, :inherited], subject_group: :group, expected_members: [:user1_group, :user2_group, :user3_group, :user4_group]1883 returns correct members1884 subject_relations: [:direct], subject_group: :group, expected_members: [:user1_group, :user2_group, :user3_group, :user4_group]1885 returns correct members1886 subject_relations: [:inherited], subject_group: :group, expected_members: []1887 returns correct members1888 subject_relations: [:descendants], subject_group: :group, expected_members: [:user1_sub_sub_group, :user2_sub_group, :user3_sub_group, :user4_sub_group]1889 returns correct members1890 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]1891 returns correct members1892 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]1893 returns correct members1894 subject_relations: [], subject_group: :sub_group, expected_members: []1895 returns correct members1896 subject_relations: [:direct, :inherited], subject_group: :sub_group, expected_members: [:user1_sub_group, :user2_group, :user3_sub_group, :user4_group]1897 returns correct members1898 subject_relations: [:direct], subject_group: :sub_group, expected_members: [:user1_sub_group, :user2_sub_group, :user3_sub_group, :user4_sub_group]1899 returns correct members1900 subject_relations: [:inherited], subject_group: :sub_group, expected_members: [:user1_group, :user2_group, :user3_group, :user4_group]1901 returns correct members1902 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]1903 returns correct members1904 subject_relations: [:shared_from_groups], subject_group: :sub_group, expected_members: []1905 returns correct members1906 subject_relations: [:direct, :inherited, :descendants, :shared_from_groups], subject_group: :sub_group, expected_members: [:user1_sub_sub_group, :user2_group, :user3_sub_group, :user4_group]1907 returns correct members1908 subject_relations: [], subject_group: :sub_sub_group, expected_members: []1909 returns correct members1910 subject_relations: [:direct, :inherited], subject_group: :sub_sub_group, expected_members: [:user1_sub_sub_group, :user2_group, :user3_sub_group, :user4_group]1911 returns correct members1912 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]1913 returns correct members1914 subject_relations: [:inherited], subject_group: :sub_sub_group, expected_members: [:user1_sub_group, :user2_group, :user3_sub_group, :user4_group]1915 returns correct members1916 subject_relations: [:descendants], subject_group: :sub_sub_group, expected_members: []1917 returns correct members1918 subject_relations: [:shared_from_groups], subject_group: :sub_sub_group, expected_members: []1919 returns correct members1920 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_group]1921 returns correct members1922 search1923 returns searched members if requested1924 returns nothing if search only in inherited relation1925 returns searched member only from sub_group if search only in inherited relation1926 filter by two-factor1927 returns members with two-factor auth if requested by owner1928 returns members without two-factor auth if requested by owner1929 returns direct members with two-factor auth if requested by owner1930 returns inherited members with two-factor auth if requested by owner1931 returns direct members without two-factor auth if requested by owner1932 returns inherited members without two-factor auth if requested by owner1933 filter by access levels1934 by owner1935 returns owners1936 by maintainer1937 returns owners1938 by owner and maintainer1939 returns owners and maintainers1940Gitlab::Usage::ServicePingReport1941 all_metrics_values1942 generates the service ping when there are no missing values1943 generates the service ping with the missing values1944 for output: :metrics_queries1945 generates the service ping1946 for output: :non_sql_metrics_values1947 generates the service ping1948 when using cached1949 for cached: true1950 caches the values1951 writes to cache and returns fresh data1952 when no caching1953 returns fresh data1954 cross test values against queries1955/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: already initialized constant MAC_MATCH1956/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: previous definition of MAC_MATCH was here1957 generates queries that match collected data1958Gitlab::Git::Blob1959 initialize1960 handles nil data1961 records blob size1962 when untruncated1963 attempts to record gitlab_blob_truncated_false1964 when truncated1965 attempts to record gitlab_blob_truncated_true1966 .find with Gitaly enabled1967 behaves like .find1968 nil path1969 is expected to eq nil1970 utf-8 branch1971 is expected to eq "7e3e39ebb9b2bf433b4ad17313770fbe4051649c"1972 blank path1973 is expected to eq nil1974 file in subdir1975 is expected to eq "7e3e39ebb9b2bf433b4ad17313770fbe4051649c"1976 is expected to eq "popen.rb"1977 is expected to eq "files/ruby/popen.rb"1978 is expected to eq "570e7b2abdd848b95f2f578043fc23bd6f6fd24d"1979 is expected to eq "require 'fi"1980 is expected to eq 6691981 is expected to eq "100644"1982 file in root1983 is expected to eq "dfaa3f97ca337e20154a98ac9d0be76ddd1fcc82"1984 is expected to eq ".gitignore"1985 is expected to eq ".gitignore"1986 is expected to eq "570e7b2abdd848b95f2f578043fc23bd6f6fd24d"1987 is expected to eq "*.rbc\n*.sas"1988 is expected to eq 2411989 is expected to eq "100644"1990 is expected not to be binary in repo1991 file in root with leading slash1992 is expected to eq "dfaa3f97ca337e20154a98ac9d0be76ddd1fcc82"1993 is expected to eq ".gitignore"1994 is expected to eq ".gitignore"1995 is expected to eq "570e7b2abdd848b95f2f578043fc23bd6f6fd24d"1996 is expected to eq "*.rbc\n*.sas"1997 is expected to eq 2411998 is expected to eq "100644"1999 non-exist file2000 is expected to be nil2001 six submodule2002 is expected to eq "409f37c4f05865e4fb208c771485f211a22c4c2d"2003 is expected to eq ""2004 does not get messed up by load_all_data!2005 does not mark the blob as binary2006 large file2007 is expected to eq 1118032008 is expected to eq 10002009 check that this test is sane2010 can load all data2011 marks the blob as binary2012 .find with Rugged enabled2013 calls out to the Rugged implementation2014 behaves like .find2015 nil path2016 is expected to eq nil2017 utf-8 branch2018 is expected to eq "7e3e39ebb9b2bf433b4ad17313770fbe4051649c"2019 blank path2020 is expected to eq nil2021 file in subdir2022 is expected to eq "7e3e39ebb9b2bf433b4ad17313770fbe4051649c"2023 is expected to eq "popen.rb"2024 is expected to eq "files/ruby/popen.rb"2025 is expected to eq "570e7b2abdd848b95f2f578043fc23bd6f6fd24d"2026 is expected to eq "require 'fi"2027 is expected to eq 6692028 is expected to eq "100644"2029 file in root2030 is expected to eq "dfaa3f97ca337e20154a98ac9d0be76ddd1fcc82"2031 is expected to eq ".gitignore"2032 is expected to eq ".gitignore"2033 is expected to eq "570e7b2abdd848b95f2f578043fc23bd6f6fd24d"2034 is expected to eq "*.rbc\n*.sas"2035 is expected to eq 2412036 is expected to eq "100644"2037 is expected not to be binary in repo2038 file in root with leading slash2039 is expected to eq "dfaa3f97ca337e20154a98ac9d0be76ddd1fcc82"2040 is expected to eq ".gitignore"2041 is expected to eq ".gitignore"2042 is expected to eq "570e7b2abdd848b95f2f578043fc23bd6f6fd24d"2043 is expected to eq "*.rbc\n*.sas"2044 is expected to eq 2412045 is expected to eq "100644"2046 non-exist file2047 is expected to be nil2048 six submodule2049 is expected to eq "409f37c4f05865e4fb208c771485f211a22c4c2d"2050 is expected to eq ""2051 does not get messed up by load_all_data!2052 does not mark the blob as binary2053 large file2054 is expected to eq 1118032055 is expected to eq 10002056 check that this test is sane2057 can load all data2058 marks the blob as binary2059 .raw2060 is expected to eq "7e3e39ebb9b2bf433b4ad17313770fbe4051649c"2061 is expected to eq "require 'fi"2062 is expected to eq 6692063 is expected to be falsey2064 is expected to be nil2065 large file2066 limits the size of a large file2067 when sha references a tree2068 returns nil2069 .batch2070 is expected to eq 22071 first blob2072 is expected to eq "7e3e39ebb9b2bf433b4ad17313770fbe4051649c"2073 is expected to eq "popen.rb"2074 is expected to eq "files/ruby/popen.rb"2075 is expected to eq "570e7b2abdd848b95f2f578043fc23bd6f6fd24d"2076 is expected to eq "require 'fi"2077 is expected to eq 6692078 is expected to eq "100644"2079 second blob2080 is expected to eq "409f37c4f05865e4fb208c771485f211a22c4c2d"2081 is expected to eq ""2082 does not mark the blob as binary2083 limiting2084 positive2085 is expected to eq 102086 zero2087 only loads the metadata2088 negative2089 ignores MAX_DATA_DISPLAY_SIZE2090 when large number of blobs requested2091 fetches the blobs in batches2092 .batch_metadata2093 returns an empty data attribute2094 .batch_lfs_pointers2095 returns a list of Gitlab::Git::Blob2096 accepts blob IDs as a lazy enumerator2097 handles empty list of IDs gracefully2098 silently ignores tree objects2099 silently ignores non lfs objects2100 avoids loading large blobs into memory2101 encoding2102 file with russian text2103 has the correct blob attributes2104 file with Japanese text2105 has the correct blob attributes2106 file with ISO-8859 text2107 has the correct blob attributes2108 mode2109 file regular2110 is expected to eq "regex.rb"2111 is expected to eq "files/ruby/regex.rb"2112 is expected to eq 12002113 is expected to eq "100644"2114 file binary2115 is expected to eq "ls"2116 is expected to eq "files/executables/ls"2117 is expected to eq 1100802118 is expected to eq "100755"2119 file symlink to regular2120 is expected to eq "ruby-style-guide.md"2121 is expected to eq "files/links/ruby-style-guide.md"2122 is expected to eq 312123 is expected to eq "120000"2124 file symlink to binary2125 is expected to eq "touch"2126 is expected to eq "files/links/touch"2127 is expected to eq 202128 is expected to eq "120000"2129 lfs_pointers2130 file a valid lfs pointer2131 is expected to eq true2132 is expected to eq "4206f951d2691c78aac4c0ce9f2b23580b2c92cdcc4336e1028742c0274938e0"2133 is expected to eq 195482134 is expected to eq "f4d76af13003d1106be7ac8c5a2a3d37ddf32c2a"2135 is expected to eq "image.jpg"2136 is expected to eq "files/lfs/image.jpg"2137 is expected to eq 1302138 is expected to eq "100644"2139 file an invalid lfs pointer2140 with correct version header but incorrect size and oid2141 is expected to eq false2142 is expected to eq nil2143 is expected to eq nil2144 is expected to eq "f8a898db217a5a85ed8b3d25b34c1df1d1094c46"2145 is expected to eq "archive-invalid.tar"2146 is expected to eq "files/lfs/archive-invalid.tar"2147 is expected to eq 432148 is expected to eq "100644"2149 with correct version header and size but incorrect size and oid2150 is expected to eq false2151 is expected to eq nil2152 is expected to eq 15750782153 is expected to eq "5ae35296e1f95c1ef9feda1241477ed29a448572"2154 is expected to eq "picture-invalid.png"2155 is expected to eq "files/lfs/picture-invalid.png"2156 is expected to eq 572157 is expected to eq "100644"2158 with correct version header and size but invalid size and oid2159 is expected to eq false2160 is expected to eq nil2161 is expected to eq nil2162 is expected to eq "d831981bd876732b85a1bcc6cc01210c9f36248f"2163 is expected to eq "file-invalid.zip"2164 is expected to eq "files/lfs/file-invalid.zip"2165 is expected to eq 602166 is expected to eq "100644"2167 #load_all_data!2168 loads missing data2169 with a fully loaded blob2170 doesn't perform any loading2171 #truncated?2172 when blob.size is nil2173 returns false2174 when blob.data is missing2175 returns false2176 when the blob is truncated2177 returns true2178 when the blob is untruncated2179 returns false2180 metrics2181 defines :gitlab_blob_truncated_true counter2182 defines :gitlab_blob_truncated_false counter2183 defines :gitlab_blob_size histogram2184 #lines2185 when the encoding cannot be detected2186 successfully splits the data2187Projects::Prometheus::Alerts::NotifyService2188 with valid payload2189 with environment specific clusters2190 without token2191 creates alerts and returns them in the payload2192 behaves like processes incident issues2193 is expected to be success2194 behaves like sends alert notification emails2195 is expected to receive prometheus_alerts_fired(*(any args)) 2 times2196 with token2197 behaves like alerts service responds with an error and takes no actions2198 is expected to eq :unauthorized2199 behaves like does not create an alert management alert2200 is expected not to change `AlertManagement::Alert.count`2201 behaves like does not create a system note for alert2202 is expected not to change `Note.count`2203 behaves like does not process incident issues2204 is expected not to receive perform_async(*(any args)) 0 times2205 behaves like does not send alert notification emails2206 is expected not to receive new(*(any args)) 0 times2207 with project specific cluster using prometheus integration2208 cluster_enabled: true, integration_enabled: true, configured_token: "token", token_input: "token", result: :success2209 creates alerts and returns them in the payload2210 behaves like processes incident issues2211 is expected to be success2212 behaves like sends alert notification emails2213 is expected to receive prometheus_alerts_fired(*(any args)) 2 times2214 cluster_enabled: true, integration_enabled: true, configured_token: nil, token_input: nil, result: :success2215 creates alerts and returns them in the payload2216 behaves like processes incident issues2217 is expected to be success2218 behaves like sends alert notification emails2219 is expected to receive prometheus_alerts_fired(*(any args)) 2 times2220 cluster_enabled: true, integration_enabled: true, configured_token: "token", token_input: "x", result: :failure2221 behaves like alerts service responds with an error and takes no actions2222 is expected to eq :unauthorized2223 behaves like does not create an alert management alert2224 is expected not to change `AlertManagement::Alert.count`2225 behaves like does not create a system note for alert2226 is expected not to change `Note.count`2227 behaves like does not process incident issues2228 is expected not to receive perform_async(*(any args)) 0 times2229 behaves like does not send alert notification emails2230 is expected not to receive new(*(any args)) 0 times2231 cluster_enabled: true, integration_enabled: true, configured_token: "token", token_input: nil, result: :failure2232 behaves like alerts service responds with an error and takes no actions2233 is expected to eq :unauthorized2234 behaves like does not create an alert management alert2235 is expected not to change `AlertManagement::Alert.count`2236 behaves like does not create a system note for alert2237 is expected not to change `Note.count`2238 behaves like does not process incident issues2239 is expected not to receive perform_async(*(any args)) 0 times2240 behaves like does not send alert notification emails2241 is expected not to receive new(*(any args)) 0 times2242 cluster_enabled: true, integration_enabled: false, configured_token: "token", token_input: "token", result: :failure2243 behaves like alerts service responds with an error and takes no actions2244 is expected to eq :unauthorized2245 behaves like does not create an alert management alert2246 is expected not to change `AlertManagement::Alert.count`2247 behaves like does not create a system note for alert2248 is expected not to change `Note.count`2249 behaves like does not process incident issues2250 is expected not to receive perform_async(*(any args)) 0 times2251 behaves like does not send alert notification emails2252 is expected not to receive new(*(any args)) 0 times2253 cluster_enabled: false, integration_enabled: true, configured_token: "token", token_input: "token", result: :failure2254 behaves like alerts service responds with an error and takes no actions2255 is expected to eq :unauthorized2256 behaves like does not create an alert management alert2257 is expected not to change `AlertManagement::Alert.count`2258 behaves like does not create a system note for alert2259 is expected not to change `Note.count`2260 behaves like does not process incident issues2261 is expected not to receive perform_async(*(any args)) 0 times2262 behaves like does not send alert notification emails2263 is expected not to receive new(*(any args)) 0 times2264 cluster_enabled: false, integration_enabled: nil, configured_token: nil, token_input: "token", result: :failure2265 behaves like alerts service responds with an error and takes no actions2266 is expected to eq :unauthorized2267 behaves like does not create an alert management alert2268 is expected not to change `AlertManagement::Alert.count`2269 behaves like does not create a system note for alert2270 is expected not to change `Note.count`2271 behaves like does not process incident issues2272 is expected not to receive perform_async(*(any args)) 0 times2273 behaves like does not send alert notification emails2274 is expected not to receive new(*(any args)) 0 times2275 without project specific cluster2276 behaves like alerts service responds with an error and takes no actions2277 is expected to eq :unauthorized2278 behaves like does not create an alert management alert2279 is expected not to change `AlertManagement::Alert.count`2280 behaves like does not create a system note for alert2281 is expected not to change `Note.count`2282 behaves like does not process incident issues2283 is expected not to receive perform_async(*(any args)) 0 times2284 behaves like does not send alert notification emails2285 is expected not to receive new(*(any args)) 0 times2286 with manual prometheus installation2287 alerting_setting: true, configured_token: "token", token_input: "token", result: :success2288 behaves like processes one firing and one resolved prometheus alerts2289 creates alerts and returns them in the payload2290 behaves like processes incident issues2291 is expected to be success2292 behaves like sends alert notification emails2293 is expected to receive prometheus_alerts_fired(*(any args)) 2 times2294 alerting_setting: true, configured_token: "token", token_input: "x", result: :failure2295 behaves like alerts service responds with an error and takes no actions2296 is expected to eq :unauthorized2297 behaves like does not create an alert management alert2298 is expected not to change `AlertManagement::Alert.count`2299 behaves like does not create a system note for alert2300 is expected not to change `Note.count`2301 behaves like does not process incident issues2302 is expected not to receive perform_async(*(any args)) 0 times2303 behaves like does not send alert notification emails2304 is expected not to receive new(*(any args)) 0 times2305 alerting_setting: true, configured_token: "token", token_input: nil, result: :failure2306 behaves like alerts service responds with an error and takes no actions2307 is expected to eq :unauthorized2308 behaves like does not create an alert management alert2309 is expected not to change `AlertManagement::Alert.count`2310 behaves like does not create a system note for alert2311 is expected not to change `Note.count`2312 behaves like does not process incident issues2313 is expected not to receive perform_async(*(any args)) 0 times2314 behaves like does not send alert notification emails2315 is expected not to receive new(*(any args)) 0 times2316 alerting_setting: false, configured_token: nil, token_input: nil, result: :success2317 behaves like processes one firing and one resolved prometheus alerts2318 creates alerts and returns them in the payload2319 behaves like processes incident issues2320 is expected to be success2321 behaves like sends alert notification emails2322 is expected to receive prometheus_alerts_fired(*(any args)) 2 times2323 alerting_setting: false, configured_token: nil, token_input: "token", result: :failure2324 behaves like alerts service responds with an error and takes no actions2325 is expected to eq :unauthorized2326 behaves like does not create an alert management alert2327 is expected not to change `AlertManagement::Alert.count`2328 behaves like does not create a system note for alert2329 is expected not to change `Note.count`2330 behaves like does not process incident issues2331 is expected not to receive perform_async(*(any args)) 0 times2332 behaves like does not send alert notification emails2333 is expected not to receive new(*(any args)) 0 times2334 with HTTP integration2335 active: :active, token: :valid, result: :success2336 behaves like processes one firing and one resolved prometheus alerts2337 creates alerts and returns them in the payload2338 behaves like processes incident issues2339 is expected to be success2340 behaves like sends alert notification emails2341 is expected to receive prometheus_alerts_fired(*(any args)) 2 times2342 active: :active, token: :invalid, result: :failure2343 behaves like alerts service responds with an error and takes no actions2344 is expected to eq :unauthorized2345 behaves like does not create an alert management alert2346 is expected not to change `AlertManagement::Alert.count`2347 behaves like does not create a system note for alert2348 is expected not to change `Note.count`2349 behaves like does not process incident issues2350 is expected not to receive perform_async(*(any args)) 0 times2351 behaves like does not send alert notification emails2352 is expected not to receive new(*(any args)) 0 times2353 active: :active, token: nil, result: :failure2354 behaves like alerts service responds with an error and takes no actions2355 is expected to eq :unauthorized2356 behaves like does not create an alert management alert2357 is expected not to change `AlertManagement::Alert.count`2358 behaves like does not create a system note for alert2359 is expected not to change `Note.count`2360 behaves like does not process incident issues2361 is expected not to receive perform_async(*(any args)) 0 times2362 behaves like does not send alert notification emails2363 is expected not to receive new(*(any args)) 0 times2364 active: :inactive, token: :valid, result: :failure2365 behaves like alerts service responds with an error and takes no actions2366 is expected to eq :unauthorized2367 behaves like does not create an alert management alert2368 is expected not to change `AlertManagement::Alert.count`2369 behaves like does not create a system note for alert2370 is expected not to change `Note.count`2371 behaves like does not process incident issues2372 is expected not to receive perform_async(*(any args)) 0 times2373 behaves like does not send alert notification emails2374 is expected not to receive new(*(any args)) 0 times2375 active: nil, token: nil, result: :failure2376 behaves like alerts service responds with an error and takes no actions2377 is expected to eq :unauthorized2378 behaves like does not create an alert management alert2379 is expected not to change `AlertManagement::Alert.count`2380 behaves like does not create a system note for alert2381 is expected not to change `Note.count`2382 behaves like does not process incident issues2383 is expected not to receive perform_async(*(any args)) 0 times2384 behaves like does not send alert notification emails2385 is expected not to receive new(*(any args)) 0 times2386 incident settings2387 behaves like processes one firing and one resolved prometheus alerts2388 creates alerts and returns them in the payload2389 behaves like processes incident issues2390 is expected to be success2391 behaves like sends alert notification emails2392 is expected to receive prometheus_alerts_fired(*(any args)) 2 times2393 when incident_management_setting does not exist2394 is expected to be success2395 is expected not to receive new(*(any args)) 0 times2396 is expected not to receive perform_async(*(any args)) 0 times2397 incident_management_setting.send_email is false2398 is expected to be success2399 is expected not to receive new(*(any args)) 0 times2400 incident_management_setting.create_issue is false2401 is expected to be success2402 is expected not to receive perform_async(*(any args)) 0 times2403 process Alert Management alerts2404 with multiple firing alerts and resolving alerts2405 processes Prometheus alerts2406 when payload exceeds max amount of processable alerts2407 with feature flag globally enabled2408 returns 200 but skips processing and logs a warning2409 with feature flag enabled on project2410 returns 200 but skips processing and logs a warning2411 with feature flag enabled on unrelated project2412 returns 200 and process alerts without warnings2413 with feature flag disabled2414 returns 200 and process alerts without warnings2415 with invalid payload2416 when payload is not processable2417 behaves like alerts service responds with an error and takes no actions2418 is expected to eq :unprocessable_entity2419 behaves like does not create an alert management alert2420 is expected not to change `AlertManagement::Alert.count`2421 behaves like does not create a system note for alert2422 is expected not to change `Note.count`2423 behaves like does not process incident issues2424 is expected not to receive perform_async(*(any args)) 0 times2425 behaves like does not send alert notification emails2426 is expected not to receive new(*(any args)) 0 times2427 when the payload is too big2428 behaves like alerts service responds with an error and takes no actions2429 is expected to eq :bad_request2430 behaves like does not create an alert management alert2431 is expected not to change `AlertManagement::Alert.count`2432 behaves like does not create a system note for alert2433 is expected not to change `Note.count`2434 behaves like does not process incident issues2435 is expected not to receive perform_async(*(any args)) 0 times2436 behaves like does not send alert notification emails2437 is expected not to receive new(*(any args)) 0 times2438 .processable?2439 with valid payload2440 is expected to eq true2441 containing unrelated keys2442 is expected to eq true2443 with invalid payload2444 missing_key: "version"2445 is expected to eq false2446 missing_key: "groupKey"2447 is expected to eq false2448 missing_key: "status"2449 is expected to eq false2450 missing_key: "receiver"2451 is expected to eq false2452 missing_key: "groupLabels"2453 is expected to eq false2454 missing_key: "commonLabels"2455 is expected to eq false2456 missing_key: "commonAnnotations"2457 is expected to eq false2458 missing_key: "externalURL"2459 is expected to eq false2460 missing_key: "alerts"2461 is expected to eq false2462 with unsupported version2463 is expected to eq false2464Gitlab::Email::Handler::ServiceDeskHandler2465 service desk is enabled for the project2466 when everything is fine2467 behaves like a new issue request2468 creates a new issue2469 creates an issue_email_participant2470 sends thank you email2471 adds metric events for incoming and reply emails2472 with legacy incoming email address2473 behaves like a new issue request2474 creates a new issue2475 creates an issue_email_participant2476 sends thank you email2477 adds metric events for incoming and reply emails2478 when replying to issue creation email2479 when an issue with message_id has been found2480 does not create an additional issue2481 adds a comment to the created issue2482 does not send thank you email2483 when issue_email_participants FF is enabled2484 creates 2 issue_email_participants2485 when issue_email_participants FF is disabled2486 creates only 1 issue_email_participant2487 when an issue with message_id has not been found2488 creates a new issue correctly2489 sends thank you email once2490 creates 1 issue_email_participant2491 when using issue templates2492 and template is present2493 appends template text to issue description2494 when quick actions are present2495 applies quick action commands present on templates2496 applies group labels using quick actions2497 redacts quick actions present on user email body2498 when issues are set to private2499 applies quick action commands present on templates2500 and template cannot be found2501 does not append template text to issue description2502 creates support bot note on issue2503 does not send warning note email2504 when all lines of email are quoted2505 creates email with correct body2506 when using custom service desk address2507 when using project key2508 behaves like a new issue request2509 creates a new issue2510 creates an issue_email_participant2511 sends thank you email2512 adds metric events for incoming and reply emails2513 when there is no project with the key2514 bounces the email2515 when the project slug does not match2516 bounces the email2517 when there are multiple projects with same key2518 process email for project with matching slug2519 when project key is not set2520 behaves like a new issue request2521 creates a new issue2522 creates an issue_email_participant2523 sends thank you email2524 adds metric events for incoming and reply emails2525 when issue email creation fails2526 still creates a new issue2527 does not create issue email record2528 when rate limiting is in effect2529 when too many requests are sent by one user2530 raises an error2531 creates 1 issue2532 when requests are sent by different users2533 creates 2 issues2534 when limit is higher than sent emails2535 creates 2 issues2536 #can_handle?2537 handles the new email key format2538 handles the legacy email key format2539 doesn't handle invalid email key2540 when there is no from address2541 creates a new issue2542 does not send thank you email2543 when there is a sender address and a from address2544 prefers the from address2545 when service desk is not enabled for project2546 does not create an issue2547 does not send thank you email2548 when the email is forwarded through an alias2549 behaves like a new issue request2550 creates a new issue2551 creates an issue_email_participant2552 sends thank you email2553 adds metric events for incoming and reply emails2554 when the email is forwarded2555 behaves like a new issue request2556 creates a new issue2557 creates an issue_email_participant2558 sends thank you email2559 adds metric events for incoming and reply emails2560 service desk is disabled for the project2561 bounces the email2562 doesn't create an issue2563Members::InvitationReminderEmailService2564 sending invitation reminders2565 expires_at_days: 0, send_reminder_at_days: []2566 sends an invitation reminder only on the expected days2567 sends an invitation reminder only on the expected days2568 sends an invitation reminder only on the expected days2569 sends an invitation reminder only on the expected days2570 sends an invitation reminder only on the expected days2571 sends an invitation reminder only on the expected days2572 sends an invitation reminder only on the expected days2573 sends an invitation reminder only on the expected days2574 sends an invitation reminder only on the expected days2575 sends an invitation reminder only on the expected days2576 sends an invitation reminder only on the expected days2577 expires_at_days: 1, send_reminder_at_days: []2578 sends an invitation reminder only on the expected days2579 sends an invitation reminder only on the expected days2580 sends an invitation reminder only on the expected days2581 sends an invitation reminder only on the expected days2582 sends an invitation reminder only on the expected days2583 sends an invitation reminder only on the expected days2584 sends an invitation reminder only on the expected days2585 sends an invitation reminder only on the expected days2586 sends an invitation reminder only on the expected days2587 sends an invitation reminder only on the expected days2588 sends an invitation reminder only on the expected days2589 expires_at_days: 2, send_reminder_at_days: [1]2590 sends an invitation reminder only on the expected days2591 sends an invitation reminder only on the expected days2592 sends an invitation reminder only on the expected days2593 sends an invitation reminder only on the expected days2594 sends an invitation reminder only on the expected days2595 sends an invitation reminder only on the expected days2596 sends an invitation reminder only on the expected days2597 sends an invitation reminder only on the expected days2598 sends an invitation reminder only on the expected days2599 sends an invitation reminder only on the expected days2600 sends an invitation reminder only on the expected days2601 expires_at_days: 3, send_reminder_at_days: [1, 2]2602 sends an invitation reminder only on the expected days2603 sends an invitation reminder only on the expected days2604 sends an invitation reminder only on the expected days2605 sends an invitation reminder only on the expected days2606 sends an invitation reminder only on the expected days2607 sends an invitation reminder only on the expected days2608 sends an invitation reminder only on the expected days2609 sends an invitation reminder only on the expected days2610 sends an invitation reminder only on the expected days2611 sends an invitation reminder only on the expected days2612 sends an invitation reminder only on the expected days2613 expires_at_days: 4, send_reminder_at_days: [1, 2, 3]2614 sends an invitation reminder only on the expected days2615 sends an invitation reminder only on the expected days2616 sends an invitation reminder only on the expected days2617 sends an invitation reminder only on the expected days2618 sends an invitation reminder only on the expected days2619 sends an invitation reminder only on the expected days2620 sends an invitation reminder only on the expected days2621 sends an invitation reminder only on the expected days2622 sends an invitation reminder only on the expected days2623 sends an invitation reminder only on the expected days2624 sends an invitation reminder only on the expected days2625 expires_at_days: 5, send_reminder_at_days: [1, 2, 4]2626 sends an invitation reminder only on the expected days2627 sends an invitation reminder only on the expected days2628 sends an invitation reminder only on the expected days2629 sends an invitation reminder only on the expected days2630 sends an invitation reminder only on the expected days2631 sends an invitation reminder only on the expected days2632 sends an invitation reminder only on the expected days2633 sends an invitation reminder only on the expected days2634 sends an invitation reminder only on the expected days2635 sends an invitation reminder only on the expected days2636 sends an invitation reminder only on the expected days2637 expires_at_days: 6, send_reminder_at_days: [1, 3, 5]2638 sends an invitation reminder only on the expected days2639 sends an invitation reminder only on the expected days2640 sends an invitation reminder only on the expected days2641 sends an invitation reminder only on the expected days2642 sends an invitation reminder only on the expected days2643 sends an invitation reminder only on the expected days2644 sends an invitation reminder only on the expected days2645 sends an invitation reminder only on the expected days2646 sends an invitation reminder only on the expected days2647 sends an invitation reminder only on the expected days2648 sends an invitation reminder only on the expected days2649 expires_at_days: 7, send_reminder_at_days: [1, 3, 5]2650 sends an invitation reminder only on the expected days2651 sends an invitation reminder only on the expected days2652 sends an invitation reminder only on the expected days2653 sends an invitation reminder only on the expected days2654 sends an invitation reminder only on the expected days2655 sends an invitation reminder only on the expected days2656 sends an invitation reminder only on the expected days2657 sends an invitation reminder only on the expected days2658 sends an invitation reminder only on the expected days2659 sends an invitation reminder only on the expected days2660 sends an invitation reminder only on the expected days2661 expires_at_days: 8, send_reminder_at_days: [2, 3, 6]2662 sends an invitation reminder only on the expected days2663 sends an invitation reminder only on the expected days2664 sends an invitation reminder only on the expected days2665 sends an invitation reminder only on the expected days2666 sends an invitation reminder only on the expected days2667 sends an invitation reminder only on the expected days2668 sends an invitation reminder only on the expected days2669 sends an invitation reminder only on the expected days2670 sends an invitation reminder only on the expected days2671 sends an invitation reminder only on the expected days2672 sends an invitation reminder only on the expected days2673 expires_at_days: 9, send_reminder_at_days: [2, 4, 7]2674 sends an invitation reminder only on the expected days2675 sends an invitation reminder only on the expected days2676 sends an invitation reminder only on the expected days2677 sends an invitation reminder only on the expected days2678 sends an invitation reminder only on the expected days2679 sends an invitation reminder only on the expected days2680 sends an invitation reminder only on the expected days2681 sends an invitation reminder only on the expected days2682 sends an invitation reminder only on the expected days2683 sends an invitation reminder only on the expected days2684 sends an invitation reminder only on the expected days2685 expires_at_days: 10, send_reminder_at_days: [2, 4, 8]2686 sends an invitation reminder only on the expected days2687 sends an invitation reminder only on the expected days2688 sends an invitation reminder only on the expected days2689 sends an invitation reminder only on the expected days2690 sends an invitation reminder only on the expected days2691 sends an invitation reminder only on the expected days2692 sends an invitation reminder only on the expected days2693 sends an invitation reminder only on the expected days2694 sends an invitation reminder only on the expected days2695 sends an invitation reminder only on the expected days2696 sends an invitation reminder only on the expected days2697 expires_at_days: 11, send_reminder_at_days: [2, 4, 8]2698 sends an invitation reminder only on the expected days2699 sends an invitation reminder only on the expected days2700 sends an invitation reminder only on the expected days2701 sends an invitation reminder only on the expected days2702 sends an invitation reminder only on the expected days2703 sends an invitation reminder only on the expected days2704 sends an invitation reminder only on the expected days2705 sends an invitation reminder only on the expected days2706 sends an invitation reminder only on the expected days2707 sends an invitation reminder only on the expected days2708 sends an invitation reminder only on the expected days2709 expires_at_days: 12, send_reminder_at_days: [2, 5, 9]2710 sends an invitation reminder only on the expected days2711 sends an invitation reminder only on the expected days2712 sends an invitation reminder only on the expected days2713 sends an invitation reminder only on the expected days2714 sends an invitation reminder only on the expected days2715 sends an invitation reminder only on the expected days2716 sends an invitation reminder only on the expected days2717 sends an invitation reminder only on the expected days2718 sends an invitation reminder only on the expected days2719 sends an invitation reminder only on the expected days2720 sends an invitation reminder only on the expected days2721 expires_at_days: 13, send_reminder_at_days: [2, 5, 10]2722 sends an invitation reminder only on the expected days2723 sends an invitation reminder only on the expected days2724 sends an invitation reminder only on the expected days2725 sends an invitation reminder only on the expected days2726 sends an invitation reminder only on the expected days2727 sends an invitation reminder only on the expected days2728 sends an invitation reminder only on the expected days2729 sends an invitation reminder only on the expected days2730 sends an invitation reminder only on the expected days2731 sends an invitation reminder only on the expected days2732 sends an invitation reminder only on the expected days2733 expires_at_days: 14, send_reminder_at_days: [2, 5, 10]2734 sends an invitation reminder only on the expected days2735 sends an invitation reminder only on the expected days2736 sends an invitation reminder only on the expected days2737 sends an invitation reminder only on the expected days2738 sends an invitation reminder only on the expected days2739 sends an invitation reminder only on the expected days2740 sends an invitation reminder only on the expected days2741 sends an invitation reminder only on the expected days2742 sends an invitation reminder only on the expected days2743 sends an invitation reminder only on the expected days2744 sends an invitation reminder only on the expected days2745 expires_at_days: 15, send_reminder_at_days: [2, 5, 10]2746 sends an invitation reminder only on the expected days2747 sends an invitation reminder only on the expected days2748 sends an invitation reminder only on the expected days2749 sends an invitation reminder only on the expected days2750 sends an invitation reminder only on the expected days2751 sends an invitation reminder only on the expected days2752 sends an invitation reminder only on the expected days2753 sends an invitation reminder only on the expected days2754 sends an invitation reminder only on the expected days2755 sends an invitation reminder only on the expected days2756 sends an invitation reminder only on the expected days2757 expires_at_days: nil, send_reminder_at_days: [2, 5, 10]2758 sends an invitation reminder only on the expected days2759 sends an invitation reminder only on the expected days2760 sends an invitation reminder only on the expected days2761 sends an invitation reminder only on the expected days2762 sends an invitation reminder only on the expected days2763 sends an invitation reminder only on the expected days2764 sends an invitation reminder only on the expected days2765 sends an invitation reminder only on the expected days2766 sends an invitation reminder only on the expected days2767 sends an invitation reminder only on the expected days2768 sends an invitation reminder only on the expected days2769RuboCop::Cop::Migration::CreateTableWithForeignKeys2770 outside of a migration2771 does not register any offenses2772 when in a migration2773 without foreign key2774 does not register any offenses2775 with foreign key2776 with just one foreign key2777 when the foreign_key targets a high traffic table2778 when the foreign_key has to_table option set2779 does not register any offenses2780 when the foreign_key does not have to_table option set2781 does not register any offenses2782 when the foreign_key does not target a high traffic table2783 does not register any offenses2784 with more than one foreign keys2785 when the foreign keys are defined as options2786 when there is no target to a high traffic table2787 does not register any offenses2788 behaves like target to high traffic table2789 when the target is defined as option2790 registers an offense2791 when the target has implicit definition2792 registers an offense2793 behaves like target to high traffic table2794 when the target is defined as option2795 registers an offense2796 when the target has implicit definition2797 registers an offense2798 behaves like target to high traffic table2799 when the target is defined as option2800 registers an offense2801 when the target has implicit definition2802 registers an offense2803 behaves like target to high traffic table2804 when the target is defined as option2805 registers an offense2806 when the target has implicit definition2807 registers an offense2808 behaves like target to high traffic table2809 when the target is defined as option2810 registers an offense2811 when the target has implicit definition2812 registers an offense2813 behaves like target to high traffic table2814 when the target is defined as option2815 registers an offense2816 when the target has implicit definition2817 registers an offense2818 behaves like target to high traffic table2819 when the target is defined as option2820 registers an offense2821 when the target has implicit definition2822 registers an offense2823 behaves like target to high traffic table2824 when the target is defined as option2825 registers an offense2826 when the target has implicit definition2827 registers an offense2828 behaves like target to high traffic table2829 when the target is defined as option2830 registers an offense2831 when the target has implicit definition2832 registers an offense2833 behaves like target to high traffic table2834 when the target is defined as option2835 registers an offense2836 when the target has implicit definition2837 registers an offense2838 behaves like target to high traffic table2839 when the target is defined as option2840 registers an offense2841 when the target has implicit definition2842 registers an offense2843 behaves like target to high traffic table2844 when the target is defined as option2845 registers an offense2846 when the target has implicit definition2847 registers an offense2848 behaves like target to high traffic table2849 when the target is defined as option2850 registers an offense2851 when the target has implicit definition2852 registers an offense2853 behaves like target to high traffic table2854 when the target is defined as option2855 registers an offense2856 when the target has implicit definition2857 registers an offense2858 behaves like target to high traffic table2859 when the target is defined as option2860 registers an offense2861 when the target has implicit definition2862 registers an offense2863 behaves like target to high traffic table2864 when the target is defined as option2865 registers an offense2866 when the target has implicit definition2867 registers an offense2868 behaves like target to high traffic table2869 when the target is defined as option2870 registers an offense2871 when the target has implicit definition2872 registers an offense2873 behaves like target to high traffic table2874 when the target is defined as option2875 registers an offense2876 when the target has implicit definition2877 registers an offense2878 behaves like target to high traffic table2879 when the target is defined as option2880 registers an offense2881 when the target has implicit definition2882 registers an offense2883 behaves like target to high traffic table2884 when the target is defined as option2885 registers an offense2886 when the target has implicit definition2887 registers an offense2888 behaves like target to high traffic table2889 when the target is defined as option2890 registers an offense2891 when the target has implicit definition2892 registers an offense2893 behaves like target to high traffic table2894 when the target is defined as option2895 registers an offense2896 when the target has implicit definition2897 registers an offense2898 behaves like target to high traffic table2899 when the target is defined as option2900 registers an offense2901 when the target has implicit definition2902 registers an offense2903 behaves like target to high traffic table2904 when the target is defined as option2905 registers an offense2906 when the target has implicit definition2907 registers an offense2908 behaves like target to high traffic table2909 when the target is defined as option2910 registers an offense2911 when the target has implicit definition2912 registers an offense2913 behaves like target to high traffic table2914 when the target is defined as option2915 registers an offense2916 when the target has implicit definition2917 registers an offense2918 behaves like target to high traffic table2919 when the target is defined as option2920 registers an offense2921 when the target has implicit definition2922 registers an offense2923 behaves like target to high traffic table2924 when the target is defined as option2925 registers an offense2926 when the target has implicit definition2927 registers an offense2928 behaves like target to high traffic table2929 when the target is defined as option2930 registers an offense2931 when the target has implicit definition2932 registers an offense2933 behaves like target to high traffic table2934 when the target is defined as option2935 registers an offense2936 when the target has implicit definition2937 registers an offense2938 behaves like target to high traffic table2939 when the target is defined as option2940 registers an offense2941 when the target has implicit definition2942 registers an offense2943 behaves like target to high traffic table2944 when the target is defined as option2945 registers an offense2946 when the target has implicit definition2947 registers an offense2948 when the foreign keys are defined by standlone migration helper2949 when there is no target to a high traffic table2950 does not register any offenses2951 behaves like target to high traffic table2952 when the target is defined as option2953 registers an offense2954 when the target has implicit definition2955 registers an offense2956 behaves like target to high traffic table2957 when the target is defined as option2958 registers an offense2959 when the target has implicit definition2960 registers an offense2961 behaves like target to high traffic table2962 when the target is defined as option2963 registers an offense2964 when the target has implicit definition2965 registers an offense2966 behaves like target to high traffic table2967 when the target is defined as option2968 registers an offense2969 when the target has implicit definition2970 registers an offense2971 behaves like target to high traffic table2972 when the target is defined as option2973 registers an offense2974 when the target has implicit definition2975 registers an offense2976 behaves like target to high traffic table2977 when the target is defined as option2978 registers an offense2979 when the target has implicit definition2980 registers an offense2981 behaves like target to high traffic table2982 when the target is defined as option2983 registers an offense2984 when the target has implicit definition2985 registers an offense2986 behaves like target to high traffic table2987 when the target is defined as option2988 registers an offense2989 when the target has implicit definition2990 registers an offense2991 behaves like target to high traffic table2992 when the target is defined as option2993 registers an offense2994 when the target has implicit definition2995 registers an offense2996 behaves like target to high traffic table2997 when the target is defined as option2998 registers an offense2999 when the target has implicit definition3000 registers an offense3001 behaves like target to high traffic table3002 when the target is defined as option3003 registers an offense3004 when the target has implicit definition3005 registers an offense3006 behaves like target to high traffic table3007 when the target is defined as option3008 registers an offense3009 when the target has implicit definition3010 registers an offense3011 behaves like target to high traffic table3012 when the target is defined as option3013 registers an offense3014 when the target has implicit definition3015 registers an offense3016 behaves like target to high traffic table3017 when the target is defined as option3018 registers an offense3019 when the target has implicit definition3020 registers an offense3021 behaves like target to high traffic table3022 when the target is defined as option3023 registers an offense3024 when the target has implicit definition3025 registers an offense3026 behaves like target to high traffic table3027 when the target is defined as option3028 registers an offense3029 when the target has implicit definition3030 registers an offense3031 behaves like target to high traffic table3032 when the target is defined as option3033 registers an offense3034 when the target has implicit definition3035 registers an offense3036 behaves like target to high traffic table3037 when the target is defined as option3038 registers an offense3039 when the target has implicit definition3040 registers an offense3041 behaves like target to high traffic table3042 when the target is defined as option3043 registers an offense3044 when the target has implicit definition3045 registers an offense3046 behaves like target to high traffic table3047 when the target is defined as option3048 registers an offense3049 when the target has implicit definition3050 registers an offense3051 behaves like target to high traffic table3052 when the target is defined as option3053 registers an offense3054 when the target has implicit definition3055 registers an offense3056 behaves like target to high traffic table3057 when the target is defined as option3058 registers an offense3059 when the target has implicit definition3060 registers an offense3061 behaves like target to high traffic table3062 when the target is defined as option3063 registers an offense3064 when the target has implicit definition3065 registers an offense3066 behaves like target to high traffic table3067 when the target is defined as option3068 registers an offense3069 when the target has implicit definition3070 registers an offense3071 behaves like target to high traffic table3072 when the target is defined as option3073 registers an offense3074 when the target has implicit definition3075 registers an offense3076 behaves like target to high traffic table3077 when the target is defined as option3078 registers an offense3079 when the target has implicit definition3080 registers an offense3081 behaves like target to high traffic table3082 when the target is defined as option3083 registers an offense3084 when the target has implicit definition3085 registers an offense3086 behaves like target to high traffic table3087 when the target is defined as option3088 registers an offense3089 when the target has implicit definition3090 registers an offense3091 behaves like target to high traffic table3092 when the target is defined as option3093 registers an offense3094 when the target has implicit definition3095 registers an offense3096 behaves like target to high traffic table3097 when the target is defined as option3098 registers an offense3099 when the target has implicit definition3100 registers an offense3101 behaves like target to high traffic table3102 when the target is defined as option3103 registers an offense3104 when the target has implicit definition3105 registers an offense3106 behaves like target to high traffic table3107 when the target is defined as option3108 registers an offense3109 when the target has implicit definition3110 registers an offense3111ReleasesFinder3112 when parent is a project3113 behaves like when the user is not part of the project3114 returns no releases3115 when the user is a project guest3116 sorts by release date3117 with sorting parameters3118 by default is released_at in descending order3119 is expected to eq [#<Release id: 8, tag: "v1.1.0", description: [FILTERED], project_id: 226, created_at: "2022-04-25 18...ha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", released_at: "2022-04-26 18:48:51.596418054 +0000">]3120 released_at in ascending order3121 is expected to eq [#<Release id: 9, tag: "v1.0.0", description: [FILTERED], project_id: 227, created_at: "2022-04-28 18...ha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", released_at: "2022-04-27 18:48:52.928416620 +0000">]3122 order by created_at in descending order3123 is expected to eq [#<Release id: 11, tag: "v1.0.0", description: [FILTERED], project_id: 228, created_at: "2022-04-28 1...ha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", released_at: "2022-04-27 18:48:54.190541043 +0000">]3124 order by created_at in ascending order3125 is expected to eq [#<Release id: 14, tag: "v1.1.0", description: [FILTERED], project_id: 229, created_at: "2022-04-25 1...ha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", released_at: "2022-04-26 18:48:55.380031623 +0000">]3126 behaves like preload3127 preloads associations3128 when preload is false3129 does not preload associations3130 behaves like when a tag parameter is passed3131 only returns the release with the matching tag3132 when parent is a group3133 without subgroups3134 behaves like when the user is not part of the group3135 returns no releases3136 when the user is a project guest on one sibling project3137 does not return any releases3138 when the user is a guest on the group3139 sorts by release date3140 behaves like when a tag parameter is passed3141 only returns the release with the matching tag3142 with subgroups3143 with a single-level subgroup3144 behaves like when the user is not part of the group3145 returns no releases3146 when the user a project guest in the subgroup project3147 does not return any releases3148 when the user is a guest on the group3149 returns all releases3150 behaves like when a tag parameter is passed3151 only returns the release with the matching tag3152 with a multi-level subgroup3153 behaves like when the user is not part of the group3154 returns no releases3155 when the user a project guest in the subgroup and subsubgroup project3156 does not return any releases3157 when the user a project guest in the subsubgroup project3158 does not return any releases3159 when the user a guest on the group3160 returns all releases3161 behaves like when a tag parameter is passed3162 only returns the release with the matching tag3163Gitlab::CycleAnalytics::StageSummary3164 #identifier3165 returns identifiers for each metric3166 #new_issues3167 doesn't find issues from other projects3168 when from date is given3169 finds the number of issues created after the 'from date'3170 returns the localized title3171 when `to` parameter is given3172 doesn't find any record3173 finds records created between `from` and `to` range3174 #commits3175 doesn't find commits from other projects3176 finds a large (> 100) number of commits if present3177 when from date is given3178 finds the number of commits created after the 'from date'3179 returns the localized title3180 when `to` parameter is given3181 doesn't find any record3182 finds records created between `from` and `to` range3183 when a guest user is signed in3184 does not include commit stats3185 behaves like deployment metrics examples3186 #deploys3187 doesn't find commits from other projects3188 when from date is given3189 finds the number of deploys made created after the 'from date'3190 returns the localized title3191 when `to` parameter is given3192 doesn't find any record3193 finds records created between `from` and `to` range3194 #deployment_frequency3195 includes the unit: `/day`3196 returns 0.0 when there were deploys but the frequency was too low3197 returns `-` when there were no deploys3198 when `to` is nil3199 includes range until now3200 when `to` is given3201 finds records created between `from` and `to` range3202 when `from` and `to` are within a day3203 returns the number of deployments made on that day3204Projects::UnlinkForkService3205 removes the link to the fork network3206 refreshes the forks count cache of the source project3207 with opened merge request on the source project3208 close all pending merge requests3209 does not close merge requests for the project being unlinked3210 when the original project was deleted3211 does not fail when the original project is deleted3212 when given project is a source of forks3213 removes its link to the fork network and updates direct network members3214 refreshes the forks count cache of the given project3215 with opened merge requests from fork back to root project3216 closes all pending merge requests3217 does not close merge requests that do not come from the project being unlinked3218 and is node with a parent3219 refreshes the forks count cache of the parent and the given project3220 removes its link to the fork network and updates direct network members3221 with opened merge requests from and to given project3222 close all pending merge requests3223 does not close merge requests which do not come from the project being unlinked3224 a project with pool repository3225 when unlinked leaves pool repository3226 when given project is not part of a fork network3227 does not raise errors3228Packages::GroupPackagesFinder3229 #execute3230 group has packages3231 is expected to contain exactly #<Packages::Package id: 46, project_id: 325, created_at: "2022-04-28 18:50:32.677666818 +0000", updat...y/app/my-app", version: "1.45-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default"> and #<Packages::Package id: 48, project_id: 325, created_at: "2022-04-28 18:50:33.065993452 +0000", updat...y/app/my-app", version: "1.47-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">3232 subgroup has packages3233 is expected to contain exactly #<Packages::Package id: 46, project_id: 325, created_at: "2022-04-28 18:50:32.677666818 +0000", updat...y/app/my-app", version: "1.45-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">, #<Packages::Package id: 48, project_id: 325, created_at: "2022-04-28 18:50:33.065993452 +0000", updat...y/app/my-app", version: "1.47-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">, and #<Packages::Package id: 51, project_id: 330, created_at: "2022-04-28 18:50:34.260440011 +0000", updat...: "@group615/package-1", version: "1.0.1", package_type: "npm", creator_id: 1048, status: "default">3234 excluding subgroups3235 is expected to contain exactly #<Packages::Package id: 46, project_id: 325, created_at: "2022-04-28 18:50:32.677666818 +0000", updat...y/app/my-app", version: "1.45-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default"> and #<Packages::Package id: 48, project_id: 325, created_at: "2022-04-28 18:50:33.065993452 +0000", updat...y/app/my-app", version: "1.47-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">3236 permissions3237 role: :anonymous, project_visibility: :public, repository_visibility: :enabled, packages_returned: :all3238 is expected to contain exactly #<Packages::Package id: 46, project_id: 325, created_at: "2022-04-28 18:50:32.677666818 +0000", updat...y/app/my-app", version: "1.45-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">, #<Packages::Package id: 48, project_id: 325, created_at: "2022-04-28 18:50:33.065993452 +0000", updat...y/app/my-app", version: "1.47-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">, and #<Packages::Package id: 51, project_id: 330, created_at: "2022-04-28 18:50:34.260440011 +0000", updat...: "@group615/package-1", version: "1.0.1", package_type: "npm", creator_id: 1048, status: "default">3239 role: :guest, project_visibility: :public, repository_visibility: :enabled, packages_returned: :all3240 is expected to contain exactly #<Packages::Package id: 46, project_id: 325, created_at: "2022-04-28 18:50:32.677666818 +0000", updat...y/app/my-app", version: "1.45-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">, #<Packages::Package id: 48, project_id: 325, created_at: "2022-04-28 18:50:33.065993452 +0000", updat...y/app/my-app", version: "1.47-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">, and #<Packages::Package id: 51, project_id: 330, created_at: "2022-04-28 18:50:34.260440011 +0000", updat...: "@group615/package-1", version: "1.0.1", package_type: "npm", creator_id: 1048, status: "default">3241 role: :reporter, project_visibility: :public, repository_visibility: :enabled, packages_returned: :all3242 is expected to contain exactly #<Packages::Package id: 46, project_id: 325, created_at: "2022-04-28 18:50:32.677666818 +0000", updat...y/app/my-app", version: "1.45-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">, #<Packages::Package id: 48, project_id: 325, created_at: "2022-04-28 18:50:33.065993452 +0000", updat...y/app/my-app", version: "1.47-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">, and #<Packages::Package id: 51, project_id: 330, created_at: "2022-04-28 18:50:34.260440011 +0000", updat...: "@group615/package-1", version: "1.0.1", package_type: "npm", creator_id: 1048, status: "default">3243 role: :developer, project_visibility: :public, repository_visibility: :enabled, packages_returned: :all3244 is expected to contain exactly #<Packages::Package id: 46, project_id: 325, created_at: "2022-04-28 18:50:32.677666818 +0000", updat...y/app/my-app", version: "1.45-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">, #<Packages::Package id: 48, project_id: 325, created_at: "2022-04-28 18:50:33.065993452 +0000", updat...y/app/my-app", version: "1.47-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">, and #<Packages::Package id: 51, project_id: 330, created_at: "2022-04-28 18:50:34.260440011 +0000", updat...: "@group615/package-1", version: "1.0.1", package_type: "npm", creator_id: 1048, status: "default">3245 role: :maintainer, project_visibility: :public, repository_visibility: :enabled, packages_returned: :all3246 is expected to contain exactly #<Packages::Package id: 46, project_id: 325, created_at: "2022-04-28 18:50:32.677666818 +0000", updat...y/app/my-app", version: "1.45-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">, #<Packages::Package id: 48, project_id: 325, created_at: "2022-04-28 18:50:33.065993452 +0000", updat...y/app/my-app", version: "1.47-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">, and #<Packages::Package id: 51, project_id: 330, created_at: "2022-04-28 18:50:34.260440011 +0000", updat...: "@group615/package-1", version: "1.0.1", package_type: "npm", creator_id: 1048, status: "default">3247 role: :anonymous, project_visibility: :public, repository_visibility: :private, packages_returned: :none3248 is expected to contain exactly3249 role: :guest, project_visibility: :public, repository_visibility: :private, packages_returned: :all3250 is expected to contain exactly #<Packages::Package id: 46, project_id: 325, created_at: "2022-04-28 18:50:32.677666818 +0000", updat...y/app/my-app", version: "1.45-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">, #<Packages::Package id: 48, project_id: 325, created_at: "2022-04-28 18:50:33.065993452 +0000", updat...y/app/my-app", version: "1.47-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">, and #<Packages::Package id: 51, project_id: 330, created_at: "2022-04-28 18:50:34.260440011 +0000", updat...: "@group615/package-1", version: "1.0.1", package_type: "npm", creator_id: 1048, status: "default">3251 role: :reporter, project_visibility: :public, repository_visibility: :private, packages_returned: :all3252 is expected to contain exactly #<Packages::Package id: 46, project_id: 325, created_at: "2022-04-28 18:50:32.677666818 +0000", updat...y/app/my-app", version: "1.45-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">, #<Packages::Package id: 48, project_id: 325, created_at: "2022-04-28 18:50:33.065993452 +0000", updat...y/app/my-app", version: "1.47-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">, and #<Packages::Package id: 51, project_id: 330, created_at: "2022-04-28 18:50:34.260440011 +0000", updat...: "@group615/package-1", version: "1.0.1", package_type: "npm", creator_id: 1048, status: "default">3253 role: :developer, project_visibility: :public, repository_visibility: :private, packages_returned: :all3254 is expected to contain exactly #<Packages::Package id: 46, project_id: 325, created_at: "2022-04-28 18:50:32.677666818 +0000", updat...y/app/my-app", version: "1.45-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">, #<Packages::Package id: 48, project_id: 325, created_at: "2022-04-28 18:50:33.065993452 +0000", updat...y/app/my-app", version: "1.47-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">, and #<Packages::Package id: 51, project_id: 330, created_at: "2022-04-28 18:50:34.260440011 +0000", updat...: "@group615/package-1", version: "1.0.1", package_type: "npm", creator_id: 1048, status: "default">3255 role: :maintainer, project_visibility: :public, repository_visibility: :private, packages_returned: :all3256 is expected to contain exactly #<Packages::Package id: 46, project_id: 325, created_at: "2022-04-28 18:50:32.677666818 +0000", updat...y/app/my-app", version: "1.45-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">, #<Packages::Package id: 48, project_id: 325, created_at: "2022-04-28 18:50:33.065993452 +0000", updat...y/app/my-app", version: "1.47-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">, and #<Packages::Package id: 51, project_id: 330, created_at: "2022-04-28 18:50:34.260440011 +0000", updat...: "@group615/package-1", version: "1.0.1", package_type: "npm", creator_id: 1048, status: "default">3257 role: :anonymous, project_visibility: :private, repository_visibility: :enabled, packages_returned: :none3258 is expected to contain exactly3259 role: :guest, project_visibility: :private, repository_visibility: :enabled, packages_returned: :none3260 is expected to contain exactly3261 role: :reporter, project_visibility: :private, repository_visibility: :enabled, packages_returned: :all3262 is expected to contain exactly #<Packages::Package id: 46, project_id: 325, created_at: "2022-04-28 18:50:32.677666818 +0000", updat...y/app/my-app", version: "1.45-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">, #<Packages::Package id: 48, project_id: 325, created_at: "2022-04-28 18:50:33.065993452 +0000", updat...y/app/my-app", version: "1.47-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">, and #<Packages::Package id: 51, project_id: 330, created_at: "2022-04-28 18:50:34.260440011 +0000", updat...: "@group615/package-1", version: "1.0.1", package_type: "npm", creator_id: 1048, status: "default">3263 role: :developer, project_visibility: :private, repository_visibility: :enabled, packages_returned: :all3264 is expected to contain exactly #<Packages::Package id: 46, project_id: 325, created_at: "2022-04-28 18:50:32.677666818 +0000", updat...y/app/my-app", version: "1.45-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">, #<Packages::Package id: 48, project_id: 325, created_at: "2022-04-28 18:50:33.065993452 +0000", updat...y/app/my-app", version: "1.47-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">, and #<Packages::Package id: 51, project_id: 330, created_at: "2022-04-28 18:50:34.260440011 +0000", updat...: "@group615/package-1", version: "1.0.1", package_type: "npm", creator_id: 1048, status: "default">3265 role: :maintainer, project_visibility: :private, repository_visibility: :enabled, packages_returned: :all3266 is expected to contain exactly #<Packages::Package id: 46, project_id: 325, created_at: "2022-04-28 18:50:32.677666818 +0000", updat...y/app/my-app", version: "1.45-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">, #<Packages::Package id: 48, project_id: 325, created_at: "2022-04-28 18:50:33.065993452 +0000", updat...y/app/my-app", version: "1.47-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">, and #<Packages::Package id: 51, project_id: 330, created_at: "2022-04-28 18:50:34.260440011 +0000", updat...: "@group615/package-1", version: "1.0.1", package_type: "npm", creator_id: 1048, status: "default">3267 role: :anonymous, project_visibility: :private, repository_visibility: :private, packages_returned: :none3268 is expected to contain exactly3269 role: :guest, project_visibility: :private, repository_visibility: :private, packages_returned: :none3270 is expected to contain exactly3271 role: :reporter, project_visibility: :private, repository_visibility: :private, packages_returned: :all3272 is expected to contain exactly #<Packages::Package id: 46, project_id: 325, created_at: "2022-04-28 18:50:32.677666818 +0000", updat...y/app/my-app", version: "1.45-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">, #<Packages::Package id: 48, project_id: 325, created_at: "2022-04-28 18:50:33.065993452 +0000", updat...y/app/my-app", version: "1.47-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">, and #<Packages::Package id: 51, project_id: 330, created_at: "2022-04-28 18:50:34.260440011 +0000", updat...: "@group615/package-1", version: "1.0.1", package_type: "npm", creator_id: 1048, status: "default">3273 role: :developer, project_visibility: :private, repository_visibility: :private, packages_returned: :all3274 is expected to contain exactly #<Packages::Package id: 46, project_id: 325, created_at: "2022-04-28 18:50:32.677666818 +0000", updat...y/app/my-app", version: "1.45-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">, #<Packages::Package id: 48, project_id: 325, created_at: "2022-04-28 18:50:33.065993452 +0000", updat...y/app/my-app", version: "1.47-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">, and #<Packages::Package id: 51, project_id: 330, created_at: "2022-04-28 18:50:34.260440011 +0000", updat...: "@group615/package-1", version: "1.0.1", package_type: "npm", creator_id: 1048, status: "default">3275 role: :maintainer, project_visibility: :private, repository_visibility: :private, packages_returned: :all3276 is expected to contain exactly #<Packages::Package id: 46, project_id: 325, created_at: "2022-04-28 18:50:32.677666818 +0000", updat...y/app/my-app", version: "1.45-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">, #<Packages::Package id: 48, project_id: 325, created_at: "2022-04-28 18:50:33.065993452 +0000", updat...y/app/my-app", version: "1.47-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">, and #<Packages::Package id: 51, project_id: 330, created_at: "2022-04-28 18:50:34.260440011 +0000", updat...: "@group615/package-1", version: "1.0.1", package_type: "npm", creator_id: 1048, status: "default">3277 deploy tokens3278 group deploy token3279 is expected to contain exactly #<Packages::Package id: 46, project_id: 325, created_at: "2022-04-28 18:50:32.677666818 +0000", updat...y/app/my-app", version: "1.45-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">, #<Packages::Package id: 48, project_id: 325, created_at: "2022-04-28 18:50:33.065993452 +0000", updat...y/app/my-app", version: "1.47-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">, and #<Packages::Package id: 51, project_id: 330, created_at: "2022-04-28 18:50:34.260440011 +0000", updat...: "@group615/package-1", version: "1.0.1", package_type: "npm", creator_id: 1048, status: "default">3280 project deploy token3281 is expected to contain exactly #<Packages::Package id: 51, project_id: 330, created_at: "2022-04-28 18:50:34.260440011 +0000", updat...: "@group615/package-1", version: "1.0.1", package_type: "npm", creator_id: 1048, status: "default">3282 avoid N+1 query3283 avoids N+1 database queries3284 when there are processing packages3285 is expected to contain exactly #<Packages::Package id: 46, project_id: 325, created_at: "2022-04-28 18:50:32.677666818 +0000", updat...y/app/my-app", version: "1.45-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default"> and #<Packages::Package id: 48, project_id: 325, created_at: "2022-04-28 18:50:33.065993452 +0000", updat...y/app/my-app", version: "1.47-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">3286 preload_pipelines3287 preloads pipelines by default3288 set to false3289 does not preload pipelines3290 with package_name3291 as complete name3292 is expected to eq [#<Packages::Package id: 68, project_id: 325, created_at: "2022-04-28 18:50:54.807306443 +0000", upda...ame: "maven", version: "1.53-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">]3293 for fuzzy filter aven3294 is expected to eq [#<Packages::Package id: 68, project_id: 325, created_at: "2022-04-28 18:50:54.807306443 +0000", upda...ame: "maven", version: "1.53-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">]3295 for fuzzy filter mav3296 is expected to eq [#<Packages::Package id: 68, project_id: 325, created_at: "2022-04-28 18:50:54.807306443 +0000", upda...ame: "maven", version: "1.53-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">]3297 for fuzzy filter ave3298 is expected to eq [#<Packages::Package id: 68, project_id: 325, created_at: "2022-04-28 18:50:54.807306443 +0000", upda...ame: "maven", version: "1.53-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">]3299 with exact package_name3300 as complete name3301 is expected to contain exactly #<Packages::Package id: 70, project_id: 325, created_at: "2022-04-28 18:50:56.085581424 +0000", updat...name: "maven", version: "1.55-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">3302 behaves like concerning versionless param3303 is expected not to include #<Packages::Package id: 74, project_id: 325, created_at: "2022-04-28 18:50:57.292849182 +0000", updat...: "my/company/app/my-app", version: nil, package_type: "maven", creator_id: 1043, status: "default">3304 with valid include_versionless param3305 is expected to include #<Packages::Package id: 74, project_id: 325, created_at: "2022-04-28 18:50:57.292849182 +0000", updat...: "my/company/app/my-app", version: nil, package_type: "maven", creator_id: 1043, status: "default">3306 with empty include_versionless param3307 is expected not to include #<Packages::Package id: 74, project_id: 325, created_at: "2022-04-28 18:50:57.292849182 +0000", updat...: "my/company/app/my-app", version: nil, package_type: "maven", creator_id: 1043, status: "default">3308 behaves like concerning package statuses3309 displayable packages3310 is expected not to include #<Packages::Package id: 76, project_id: 325, created_at: "2022-04-28 18:50:58.399027829 +0000", updat...ny/app/my-app", version: "1.60-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "hidden">3311 is expected to include #<Packages::Package id: 78, project_id: 325, created_at: "2022-04-28 18:50:58.702473101 +0000", updat...any/app/my-app", version: "1.62-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "error">3312 with status param3313 is expected to contain exactly #<Packages::Package id: 76, project_id: 325, created_at: "2022-04-28 18:50:58.399027829 +0000", updat...ny/app/my-app", version: "1.60-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "hidden">3314 with invalid status param3315 is expected to raise Packages::FinderHelper::InvalidStatusError3316 group has package of all types3317 behaves like with package type3318 is expected to contain exactly #<Packages::Package id: 80, project_id: 325, created_at: "2022-04-28 18:51:00.132924118 +0000", updat...y/app/my-app", version: "1.64-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">3319 behaves like with package type3320 is expected to contain exactly #<Packages::Package id: 81, project_id: 325, created_at: "2022-04-28 18:51:00.198506242 +0000", updat...: "@group615/package-3", version: "1.0.3", package_type: "npm", creator_id: 1043, status: "default">3321 behaves like with package type3322 is expected to contain exactly #<Packages::Package id: 83, project_id: 325, created_at: "2022-04-28 18:51:00.493037935 +0000", updat...0", name: "package-3", version: "1.0.0", package_type: "conan", creator_id: 1043, status: "default">3323 behaves like with package type3324 is expected to contain exactly #<Packages::Package id: 84, project_id: 325, created_at: "2022-04-28 18:51:00.577946757 +0000", updat...name: "NugetPackage3", version: "1.0.3", package_type: "nuget", creator_id: 1043, status: "default">3325 behaves like with package type3326 is expected to contain exactly #<Packages::Package id: 85, project_id: 325, created_at: "2022-04-28 18:51:00.594231205 +0000", updat...name: "pypi-package-2", version: "1.0.2", package_type: "pypi", creator_id: 1043, status: "default">3327 behaves like with package type3328 is expected to contain exactly #<Packages::Package id: 86, project_id: 325, created_at: "2022-04-28 18:51:00.615102654 +0000", updat...omposer-package-2", version: "1.0.2", package_type: "composer", creator_id: 1043, status: "default">3329 behaves like with package type3330 is expected to contain exactly #<Packages::Package id: 87, project_id: 325, created_at: "2022-04-28 18:51:00.620257343 +0000", updat..."generic-package-2", version: "1.0.0", package_type: "generic", creator_id: 1043, status: "default">3331 behaves like with package type3332 is expected to contain exactly #<Packages::Package id: 88, project_id: 325, created_at: "2022-04-28 18:51:00.625302322 +0000", updat...golang.org/x/pkg-2", version: "v1.0.2", package_type: "golang", creator_id: 1043, status: "default">3333 behaves like with package type3334 is expected to contain exactly #<Packages::Package id: 89, project_id: 325, created_at: "2022-04-28 18:51:00.892416128 +0000", updat...", name: "package-2", version: "1.0-2", package_type: "debian", creator_id: 1043, status: "default">3335 behaves like with package type3336 is expected to contain exactly #<Packages::Package id: 90, project_id: 325, created_at: "2022-04-28 18:51:01.066382392 +0000", updat...0", name: "my_gem_2", version: "1.2", package_type: "rubygems", creator_id: 1043, status: "default">3337 behaves like with package type3338 is expected to contain exactly #<Packages::Package id: 91, project_id: 325, created_at: "2022-04-28 18:51:01.103532218 +0000", updat...0", name: "package-2", version: "v1.0.2", package_type: "helm", creator_id: 1043, status: "default">3339 behaves like with package type3340 is expected to contain exactly #<Packages::Package id: 92, project_id: 325, created_at: "2022-04-28 18:51:01.130130046 +0000", updat...-2/system", version: "1.0.0", package_type: "terraform_module", creator_id: 1043, status: "default">3341 group has no packages3342 is expected to be empty3343 group is nil3344 is expected to be empty3345 package type is nil3346 is expected to contain exactly #<Packages::Package id: 94, project_id: 325, created_at: "2022-04-28 18:51:04.826717982 +0000", updat...y/app/my-app", version: "1.66-SNAPSHOT", package_type: "maven", creator_id: 1043, status: "default">3347 with invalid package_type3348 is expected to raise Packages::FinderHelper::InvalidPackageTypeError3349Gitlab::ImportExport::FastHashSerializer3350 saves the correct hash3351 has approvals_before_merge set3352 has milestones3353 has merge requests3354 has merge request's milestones3355 has merge request's source branch SHA3356 has merge request's target branch SHA3357 has events3358 has snippets3359 has snippet notes3360 has releases3361 has no author on releases3362 has the author ID on releases3363 has issues3364 has issue comments3365 has issue assignees3366 has author on issue comments3367 has project members3368 has merge requests diffs3369 has merge request diff files3370 has merge request diff commits3371 has merge requests comments3372 has author on merge requests comments3373 has pipeline stages3374 has pipeline statuses3375 has pipeline builds3376 has pipeline commits3377 has ci pipeline notes3378 has labels with no associations3379 has labels associated to records3380 has project and group labels3381 has priorities associated to labels3382 has issue resource label events3383 has merge request resource label events3384 has project feature3385 has custom attributes3386 has badges3387 does not complain about non UTF-8 characters in MR diff files3388 has a board and a list3389 project attributes3390 does not contain the runners token3391 relation ordering3392 orders exported pipelines by primary key3393Resolvers::NamespaceProjectsResolver3394 has an high complexity regardless of arguments3395 with a group3396 #resolve3397 finds all projects3398 finds all projects including the subgroups3399 with an user namespace3400 finds all projects3401 finds all projects including the subgroups3402 search and similarity sorting3403 returns projects ordered by similarity to the search input3404 filters out result that do not match the search input3405 when `search` parameter is not given3406Skipping ./spec/graphql/resolvers/namespace_projects_resolver_spec.rb[1:1:2:3:1] 'Resolvers::NamespaceProjectsResolver with a group search and similarity sorting when `search` parameter is not given returns projects not ordered by similarity' because it's flaky.3407 returns projects not ordered by similarity (PENDING: around hook at ./spec/support/flaky_tests.rb:21 did not execute the example)3408 when only search term is given3409 filters out result that do not match the search input, but does not sort them3410 ids filtering3411 when ids is provided3412 returns matching project3413 when ids is nil3414 returns all projects3415 when passing a non existent, batch loaded namespace3416 returns nil without breaking3417Integrations::UnifyCircuit3418 behaves like chat integration3419 Associations3420 is expected to belong to project required: false3421 is expected to have one service_hook3422 Validations3423 when integration is active3424 is expected to validate that :webhook cannot be empty/falsy3425 behaves like issue tracker integration URL attribute3426 is expected to allow :webhook to be ‹"https://example.com"›3427 is expected not to allow :webhook to be ‹"example.com"›3428 is expected not to allow :webhook to be ‹"ftp://example.com"›3429 is expected not to allow :webhook to be ‹"herp-and-derp"›3430 when integration is inactive3431 is expected not to validate that :webhook cannot be empty/falsy3432 .supported_events3433 does not support deployment_events3434 #execute3435 with push events3436 behaves like triggered Unify Circuit integration3437 calls Unify Circuit API3438 with default branch3439 when only default branch are to be notified3440 behaves like triggered Unify Circuit integration3441 calls Unify Circuit API3442 when only protected branches are to be notified3443 behaves like untriggered Unify Circuit integration3444 does not call Unify Circuit API3445 when default and protected branches are to be notified3446 behaves like triggered Unify Circuit integration3447 calls Unify Circuit API3448 when all branches are to be notified3449 behaves like triggered Unify Circuit integration3450 calls Unify Circuit API3451 with protected branch3452 when only default branch are to be notified3453 behaves like untriggered Unify Circuit integration3454 does not call Unify Circuit API3455 when only protected branches are to be notified3456 behaves like triggered Unify Circuit integration3457 calls Unify Circuit API3458 when default and protected branches are to be notified3459 behaves like triggered Unify Circuit integration3460 calls Unify Circuit API3461 when all branches are to be notified3462 behaves like triggered Unify Circuit integration3463 calls Unify Circuit API3464 with neither default nor protected branch3465 when only default branch are to be notified3466 behaves like untriggered Unify Circuit integration3467 does not call Unify Circuit API3468 when only protected branches are to be notified3469 behaves like untriggered Unify Circuit integration3470 does not call Unify Circuit API3471 when default and protected branches are to be notified3472 behaves like untriggered Unify Circuit integration3473 does not call Unify Circuit API3474 when all branches are to be notified3475 behaves like triggered Unify Circuit integration3476 calls Unify Circuit API3477 with issue events3478 behaves like triggered Unify Circuit integration3479 calls Unify Circuit API3480 with merge events3481 behaves like triggered Unify Circuit integration3482 calls Unify Circuit API3483 with wiki page events3484 behaves like triggered Unify Circuit integration3485 calls Unify Circuit API3486 with note events3487 with commit comment3488 behaves like triggered Unify Circuit integration3489 calls Unify Circuit API3490 with merge request comment3491 behaves like triggered Unify Circuit integration3492 calls Unify Circuit API3493 with issue comment3494 behaves like triggered Unify Circuit integration3495 calls Unify Circuit API3496 with snippet comment3497 behaves like triggered Unify Circuit integration3498 calls Unify Circuit API3499 with pipeline events3500 with failed pipeline3501 behaves like triggered Unify Circuit integration3502 calls Unify Circuit API3503 with succeeded pipeline3504 with default notify_only_broken_pipelines3505 does not call Unify Circuit API3506 when notify_only_broken_pipelines is false3507 behaves like triggered Unify Circuit integration3508 calls Unify Circuit API3509 with default branch3510 when only default branch are to be notified3511 behaves like triggered Unify Circuit integration3512 calls Unify Circuit API3513 when only protected branches are to be notified3514 behaves like untriggered Unify Circuit integration3515 does not call Unify Circuit API3516 when default and protected branches are to be notified3517 behaves like triggered Unify Circuit integration3518 calls Unify Circuit API3519 when all branches are to be notified3520 behaves like triggered Unify Circuit integration3521 calls Unify Circuit API3522 with protected branch3523 when only default branch are to be notified3524 behaves like untriggered Unify Circuit integration3525 does not call Unify Circuit API3526 when only protected branches are to be notified3527 behaves like triggered Unify Circuit integration3528 calls Unify Circuit API3529 when default and protected branches are to be notified3530 behaves like triggered Unify Circuit integration3531 calls Unify Circuit API3532 when all branches are to be notified3533 behaves like triggered Unify Circuit integration3534 calls Unify Circuit API3535 with neither default nor protected branch3536 when only default branch are to be notified3537 behaves like untriggered Unify Circuit integration3538 does not call Unify Circuit API3539 when only protected branches are to be notified3540 behaves like untriggered Unify Circuit integration3541 does not call Unify Circuit API3542 when default and protected branches are to be notified3543 behaves like untriggered Unify Circuit integration3544 does not call Unify Circuit API3545 when all branches are to be notified3546 behaves like triggered Unify Circuit integration3547 calls Unify Circuit API3548 deployment events3549 behaves like untriggered Unify Circuit integration3550 does not call Unify Circuit API3551IssuesHelper3552 #work_item_type_icon3553 returns icon of all standard base types3554 defaults to issue icon if type is unknown3555 #award_user_list3556 returns a comma-separated list of the first X users3557 displays the current user's name as 'You'3558 truncates lists3559 displays the current user in front of other users3560 #award_state_class3561 returns disabled string for unauthenticated user3562 returns disabled for a user that does not have access to the awardable3563 returns selected class for author3564 is blank for a user that has access to the awardable3565 awards_sort3566 sorts a hash so thumbsup and thumbsdown are always on top3567 #link_to_discussions_to_resolve3568 passing only a merge request3569 links just the merge request3570 contains the reference to the merge request3571 when passing a discussion3572 links to the merge request with first note if a single discussion was passed3573 contains both the reference to the merge request and a mention of the discussion3574 #show_new_issue_link?3575 is false when no project there is no project3576 is true when there is a project and no logged in user3577 is true when the current user does not have access to the project3578 #issue_closed_link3579 with linked issue3580 with moved issue3581 when user has permission to see new issue3582 behaves like successfully displays link to issue and with css class3583 returns link3584 when user has no permission to see new issue3585 behaves like does not display link3586 returns nil3587 with duplicated issue3588 when user has permission to see new issue3589 behaves like successfully displays link to issue and with css class3590 returns link3591 when user has no permission to see new issue3592 behaves like does not display link3593 returns nil3594 without linked issue3595 behaves like does not display link3596 returns nil3597 #show_moved_service_desk_issue_warning?3598 is true when moved issue project has service desk disabled3599 is false when moved issue project has service desk enabled3600 #issue_header_actions_data3601 returns expected result3602 #project_issues_list_data3603 when user is signed in3604 behaves like issues list data3605 returns expected result3606 when user is anonymous3607 behaves like issues list data3608 returns expected result3609 #group_issues_list_data3610 returns expected result3611 #issues_form_data3612 returns expected result3613 #issue_manual_ordering_class3614 when sorting by relative position3615 returns manual ordering class3616 when manual sorting disabled3617 returns nil3618 #issue_repositioning_disabled?3619 for project3620 is expected to eq false3621 when block_issue_repositioning feature flag is enabled3622 is expected to eq true3623 for group3624 is expected to eq false3625 when block_issue_repositioning feature flag is enabled3626 is expected to eq true3627 #issue_hidden?3628 when issue is hidden3629 when `ban_user_feature_flag` feature flag is enabled3630 returns `true`3631 when `ban_user_feature_flag` feature flag is disabled3632 returns `false`3633 when issue is not hidden3634 returns `false`3635 #hidden_issue_icon3636 when issue is hidden3637 returns icon with tooltip3638 when issue is not hidden3639 returns `nil`3640Gitlab::Database::PartitioningMigrationHelpers::TableManagementHelpers3641 #partition_table_by_date3642 when the table is not allowed3643 raises an error3644 when run inside a transaction block3645 raises an error3646 when the the max_date is less than the min_date3647 raises an error3648 when the max_date is equal to the min_date3649 raises an error3650 when the given table does not have a primary key3651 raises an error3652 when an invalid partition column is given3653 raises an error3654 constructing the partitioned table3655 creates a table partitioned by the proper column3656 requires the migration helper to be run in DDL mode3657 changes the primary key datatype to bigint3658 removes the default from the primary key column3659 creates the partitioned table with the same non-key columns3660 creates a partition spanning over each month in the range given3661 with a non-integer primary key datatype3662 does not change the primary key datatype3663 when min_date is not given3664 with records present already3665 creates a partition spanning over each month from the first record3666 without data3667 creates the catchall partition plus two actual partition3668 when max_date is not given3669 creates partitions including the next month from today3670 without min_date, max_date3671 creates partitions for the current and next month3672 keeping data in sync with the partitioned table3673 creates a trigger function on the original table3674 syncs inserts to the partitioned tables3675 syncs updates to the partitioned tables3676 syncs deletes to the partitioned tables3677 #drop_partitioned_table_for3678 drops the trigger syncing to the partitioned table3679 drops the partitioned copy and all partitions3680 when the table is not allowed3681 raises an error3682 #enqueue_partitioning_data_migration3683 when the table is not allowed3684 raises an error3685 when run inside a transaction block3686 raises an error3687 when records exist in the source table3688 enqueues jobs to copy each batch of data3689 #cleanup_partitioning_data_migration3690 when the table is not allowed3691 raises an error3692 when tracking records exist in the background_migration_jobs table3693 deletes those pertaining to the given table3694 #create_hash_partitions3695 creates partitions for the full hash space (8 partitions)3696 creates partitions for the full hash space (16 partitions)3697 #finalize_backfilling_partitioned_table3698 when the table is not allowed3699 raises an error3700 when the partitioned table does not exist3701 raises an error3702 finishing pending background migration jobs3703 finishes remaining jobs for the correct table3704 requires the migration helper to execute in DML mode3705 when there is missed data3706 idempotently cleans up after failed background migrations3707 raises an error if no job tracking records are marked as succeeded3708 vacuums the table after loading is complete3709 #replace_with_partitioned_table3710 replaces the original table with the partitioned table3711 moves the trigger from the original table to the new table3712 #rollback_replace_with_partitioned_table3713 replaces the partitioned table with the non-partitioned table3714 moves the trigger from the partitioned table to the non-partitioned table3715 #drop_nonpartitioned_archive_table3716 drops the archive table3717 drops the trigger on the source table3718 drops the sync function3719 #create_trigger_to_sync_tables3720 creates the sync function3721 installs the trigger3722Ci::CreatePipelineService3723 job:rules3724 exists:3725 with matches3726 creates two jobs3727 sets when: for all jobs3728 with matches on the second rule3729 includes both jobs3730 sets when: for the created rules job based on the second clause3731 without matches3732 only persists the job without rules3733 sets when: for the created job3734 with allow_failure and exit_codes3735 creates a pipeline3736 assigns job:allow_failure values to the builds3737 removes exit_codes if allow_failure is specified3738 if:3739 variables:3740 when no match3741 does not affect vars3742 when matching to the first rule3743 overrides variables3744 when matching to the second rule3745 overrides variables3746 using calculated workflow var in job rules3747 when matching the first workflow condition3748 uses VAR1 of job rules result3749 when workflow:rules are used3750 with a single regex-matching if: clause3751 matching the first rule in the list3752 saves a created pipeline3753 matching the last rule in the list3754 saves a created pipeline3755 matching the when:never rule3756 invalidates the pipeline with a workflow rules error3757 matching no rules in the list3758 invalidates the pipeline with a workflow rules error3759 when root variables are used3760 matching the first rule in the list3761 saves a created pipeline3762 with a multiple regex-matching if: clause3763 with partial match3764 saves a created pipeline3765 with complete match3766 invalidates the pipeline with a workflow rules error3767 with job rules3768 where workflow passes and the job fails3769 invalidates the pipeline with an empty jobs error3770 where workflow passes and the job passes3771 saves a created pipeline3772 where workflow fails and the job fails3773 invalidates the pipeline with a workflow rules error3774 where workflow fails and the job passes3775 invalidates the pipeline with a workflow rules error3776Ci::ProcessBuildService#execute3777 when build has on_success option3778 when current status is success3779 changes the build status3780 when current status is skipped3781 changes the build status3782 when current status is failed3783 does not change the build status3784 when build has on_failure option3785 when current status is success3786 changes the build status3787 when current status is failed3788 does not change the build status3789 when build has always option3790 when current status is success3791 changes the build status3792 when current status is failed3793 does not change the build status3794 when build has manual option3795 when current status is success3796 changes the build status3797 when current status is failed3798 does not change the build status3799 when build has delayed option3800 when current status is success3801 changes the build status3802 when current status is failed3803 does not change the build status3804 when build is scheduled with DAG3805 build_when: :on_success, current_status: "success", after_status: "pending"3806 proceeds the build3807 build_when: :on_success, current_status: "skipped", after_status: "skipped"3808 proceeds the build3809 build_when: :manual, current_status: "success", after_status: "manual"3810 proceeds the build3811 build_when: :manual, current_status: "skipped", after_status: "skipped"3812 proceeds the build3813 build_when: :delayed, current_status: "success", after_status: "manual"3814 proceeds the build3815 build_when: :delayed, current_status: "skipped", after_status: "skipped"3816 proceeds the build3817Groups::GroupLinks::CreateService#execute3818 adds group to another group3819 returns false if shared group is blank3820 user does not have access to group3821 returns error3822 user does not have admin access to shared group3823 returns error3824 project authorizations based on group hierarchies3825 project authorizations refresh3826 is executed only for the direct members of the group3827 project authorizations3828 group user3829 create proper authorizations3830 parent group user3831 create proper authorizations3832 child group user3833 create proper authorizations3834 sharing outside the hierarchy is disabled3835 prevents sharing with a group outside the hierarchy3836 allows sharing with a group within the hierarchy3837Gitlab::ImportExport::Group::LegacyTreeRestorer3838 restore group tree3839 JSON3840 restores models based on JSON3841 has the group description3842 has group labels3843 has badges3844 has milestones3845 has group children3846 has group members3847 issue boards3848 has issue boards3849 has board label lists3850 excluded attributes3851 does not allow override of excluded attributes3852 does not allow override of excluded attributes3853 does not allow override of excluded attributes3854 does not allow override of excluded attributes3855 does not allow override of excluded attributes3856 does not allow override of excluded attributes3857 does not allow override of excluded attributes3858 does not allow override of excluded attributes3859 group.json file access check3860 does not read a symlink3861 group visibility levels3862 when visibility level is public3863 imports all subgroups as public3864 when visibility level is private3865 imports all subgroups as private3866 when visibility level is internal3867 imports all subgroups as internal3868Projects::ContainerRepository::DeleteTagsService3869 #execute3870 without permissions3871 is expected to include {:status => :error}3872 with permissions3873 behaves like supporting fast delete3874 when the registry supports fast delete3875 behaves like calling the correct delete tags service3876 is expected to include {:status => :success}3877 behaves like logging a success response3878 logs an info message3879 with an error service response3880 is expected to include {:status => :error}3881 behaves like logging an error response3882 logs an error message3883 behaves like handling invalid params3884 with invalid params3885 when no params are specified3886 is expected to include {:status => :error}3887 with empty tags3888 is expected to include {:status => :error}3889 with the real service3890 is expected to include {:status => :success}3891 behaves like logging a success response3892 logs an info message3893 with a timeout error3894 is expected to include {:status => :error, :message => "error while deleting tags"}3895 behaves like logging an error response3896 logs an error message3897 when the registry does not support fast delete3898 behaves like calling the correct delete tags service3899 is expected to include {:status => :success}3900 behaves like logging a success response3901 logs an info message3902 with an error service response3903 is expected to include {:status => :error}3904 behaves like logging an error response3905 logs an error message3906 behaves like handling invalid params3907 with invalid params3908 when no params are specified3909 is expected to include {:status => :error}3910 with empty tags3911 is expected to include {:status => :error}3912 when the repository is importing3913 migration_state: "default", called_by_policy: false, error_expected: false3914 returns an error response if expected3915 migration_state: "default", called_by_policy: true, error_expected: false3916 returns an error response if expected3917 migration_state: "pre_importing", called_by_policy: false, error_expected: false3918 returns an error response if expected3919 migration_state: "pre_importing", called_by_policy: true, error_expected: true3920 returns an error response if expected3921 migration_state: "pre_import_done", called_by_policy: false, error_expected: false3922 returns an error response if expected3923 migration_state: "pre_import_done", called_by_policy: true, error_expected: true3924 returns an error response if expected3925 migration_state: "importing", called_by_policy: false, error_expected: true3926 returns an error response if expected3927 migration_state: "importing", called_by_policy: true, error_expected: true3928 returns an error response if expected3929 migration_state: "import_done", called_by_policy: false, error_expected: false3930 returns an error response if expected3931 migration_state: "import_done", called_by_policy: true, error_expected: false3932 returns an error response if expected3933 migration_state: "import_aborted", called_by_policy: false, error_expected: false3934 returns an error response if expected3935 migration_state: "import_aborted", called_by_policy: true, error_expected: false3936 returns an error response if expected3937 migration_state: "import_skipped", called_by_policy: false, error_expected: false3938 returns an error response if expected3939 migration_state: "import_skipped", called_by_policy: true, error_expected: false3940 returns an error response if expected3941 without user3942 when not run by a cleanup policy3943 is expected to include {:status => :error}3944 when run by a cleanup policy3945 behaves like supporting fast delete3946 when the registry supports fast delete3947 behaves like calling the correct delete tags service3948 is expected to include {:status => :success}3949 behaves like logging a success response3950 logs an info message3951 with an error service response3952 is expected to include {:status => :error}3953 behaves like logging an error response3954 logs an error message3955 behaves like handling invalid params3956 with invalid params3957 when no params are specified3958 is expected to include {:status => :error}3959 with empty tags3960 is expected to include {:status => :error}3961 with the real service3962 is expected to include {:status => :success}3963 behaves like logging a success response3964 logs an info message3965 with a timeout error3966 is expected to include {:status => :error, :message => "error while deleting tags"}3967 behaves like logging an error response3968 logs an error message3969ProjectMemberPolicy3970 with regular member3971 is expected to be allowed :read_project3972 is expected to be allowed :update_project_member3973 is expected to be allowed :destroy_project_member3974 is expected not to be allowed :destroy_project_bot_member3975 when user is the holder of personal namespace in which the project resides3976 is expected to be allowed :read_project3977 is expected to be disallowed :update_project_member3978 is expected to be disallowed :destroy_project_member3979 with a bot member3980 is expected to be allowed :destroy_project_bot_member3981 is expected not to be allowed :update_project_member3982 is expected not to be allowed :destroy_project_member3983Gitlab::Ci::Config::Entry::Retry3984 #value3985 when retry value is a numeric3986 is returned as a hash with max key3987 when retry value is a hash3988 and `when` is a string3989 returns when wrapped in an array3990 and `when` is an array3991 returns when as it was passed3992 validation3993 when retry value is correct3994 when it is a numeric3995 is valid3996 when it is a hash3997 with max3998 is valid3999 with string when4000 is valid4001 with string when always4002 is valid4003 with array when4004 is valid4005 with when from documentation `always`4006 is valid4007 with when from documentation `unknown_failure`4008 is valid4009 with when from documentation `script_failure`4010 is valid4011 with when from documentation `api_failure`4012 is valid4013 with when from documentation `stuck_or_timeout_failure`4014 is valid4015 with when from documentation `runner_system_failure`4016 is valid4017 with when from documentation `runner_unsupported`4018 is valid4019 with when from documentation `stale_schedule`4020 is valid4021 with when from documentation `job_execution_timeout`4022 is valid4023 with when from documentation `archived_failure`4024 is valid4025 with when from documentation `unmet_prerequisites`4026 is valid4027 with when from documentation `scheduler_failure`4028 is valid4029 with when from documentation `data_integrity_failure`4030 is valid4031 with when from CommitStatus.failure_reasons `unknown_failure`4032 is valid4033 with when from CommitStatus.failure_reasons `script_failure`4034 is valid4035 with when from CommitStatus.failure_reasons `api_failure`4036 is valid4037 with when from CommitStatus.failure_reasons `stuck_or_timeout_failure`4038 is valid4039 with when from CommitStatus.failure_reasons `runner_system_failure`4040 is valid4041 with when from CommitStatus.failure_reasons `missing_dependency_failure`4042 is valid4043 with when from CommitStatus.failure_reasons `runner_unsupported`4044 is valid4045 with when from CommitStatus.failure_reasons `stale_schedule`4046 is valid4047 with when from CommitStatus.failure_reasons `job_execution_timeout`4048 is valid4049 with when from CommitStatus.failure_reasons `archived_failure`4050 is valid4051 with when from CommitStatus.failure_reasons `unmet_prerequisites`4052 is valid4053 with when from CommitStatus.failure_reasons `scheduler_failure`4054 is valid4055 with when from CommitStatus.failure_reasons `data_integrity_failure`4056 is valid4057 with when from CommitStatus.failure_reasons `forward_deployment_failure`4058 is valid4059 with when from CommitStatus.failure_reasons `user_blocked`4060 is valid4061 with when from CommitStatus.failure_reasons `project_deleted`4062 is valid4063 with when from CommitStatus.failure_reasons `ci_quota_exceeded`4064 is valid4065 with when from CommitStatus.failure_reasons `pipeline_loop_detected`4066 is valid4067 with when from CommitStatus.failure_reasons `no_matching_runner`4068 is valid4069 with when from CommitStatus.failure_reasons `trace_size_exceeded`4070 is valid4071 with when from CommitStatus.failure_reasons `builds_disabled`4072 is valid4073 with when from CommitStatus.failure_reasons `environment_creation_failure`4074 is valid4075 with when from CommitStatus.failure_reasons `deployment_rejected`4076 is valid4077 with when from CommitStatus.failure_reasons `insufficient_bridge_permissions`4078 is valid4079 with when from CommitStatus.failure_reasons `downstream_bridge_project_not_found`4080 is valid4081 with when from CommitStatus.failure_reasons `invalid_bridge_trigger`4082 is valid4083 with when from CommitStatus.failure_reasons `bridge_pipeline_is_child_pipeline`4084 is valid4085 with when from CommitStatus.failure_reasons `downstream_pipeline_creation_failed`4086 is valid4087 with when from CommitStatus.failure_reasons `secrets_provider_not_found`4088 is valid4089 with when from CommitStatus.failure_reasons `reached_max_descendant_pipelines_depth`4090 is valid4091 with when from CommitStatus.failure_reasons `protected_environment_failure`4092 is valid4093 with when from CommitStatus.failure_reasons `upstream_bridge_project_not_found`4094 is valid4095 with when from CommitStatus.failure_reasons `insufficient_upstream_permissions`4096 is valid4097 when retry value is not correct4098 when it is not a numeric nor an array4099 returns error about invalid type4100 when it is a numeric4101 when it is lower than zero4102 returns error about value too low4103 when it is not an integer4104 returns error about wrong value4105 when the value is too high4106 returns error about value too high4107 when it is a hash4108 with unknown keys4109 returns error about the unknown key4110 with max lower than zero4111 returns error about value too low4112 with max not an integer4113 returns error about wrong value4114 iwth max too high4115 returns error about value too high4116 with when in wrong format4117 returns error about the wrong format4118 with an unknown when string4119 returns error about the wrong format4120 with an unknown failure reason in a when array4121 returns error about the wrong format4122Gitlab::Git::DiffCollection4123 #to_a4124 is expected to be a kind of Array4125 #decorate!4126 modifies the array in place4127 avoids future iterator iterations4128 overflow handling4129 adding few enough files4130 and few enough lines4131 behaves like overflow stuff4132 returns the expected overflow values4133 #overflow?4134 is expected to be falsey4135 #empty?4136 is expected to be falsey4137 #real_size4138 is expected to eq "3"4139 #size4140 is expected to eq 34141 does not change after peeking4142 #line_count4143 is expected to eq 304144 when limiting is disabled4145 behaves like overflow stuff4146 returns the expected overflow values4147 #overflow?4148 is expected to be falsey4149 #empty?4150 is expected to be falsey4151 #real_size4152 is expected to eq "3"4153 #size4154 is expected to eq 34155 does not change after peeking4156 #line_count4157 is expected to eq 304158 and too many lines4159 is expected to eq 04160 behaves like overflow stuff4161 returns the expected overflow values4162 #overflow?4163 is expected to be truthy4164 #empty?4165 is expected to be falsey4166 #real_size4167 is expected to eq "0+"4168 #line_count4169 is expected to eq 10004170 when limiting is disabled4171 is expected to eq 34172 behaves like overflow stuff4173 returns the expected overflow values4174 #overflow?4175 is expected to be falsey4176 #empty?4177 is expected to be falsey4178 #real_size4179 is expected to eq "3"4180 #line_count4181 is expected to eq 30004182 adding too many files4183 and few enough lines4184 is expected to eq 104185 behaves like overflow stuff4186 returns the expected overflow values4187 #overflow?4188 is expected to be truthy4189 #empty?4190 is expected to be falsey4191 #real_size4192 is expected to eq "10+"4193 #line_count4194 is expected to eq 104195 when limiting is disabled4196 is expected to eq 114197 behaves like overflow stuff4198 returns the expected overflow values4199 #overflow?4200 is expected to be falsey4201 #empty?4202 is expected to be falsey4203 #real_size4204 is expected to eq "11"4205 #line_count4206 is expected to eq 114207 and too many lines4208 is expected to eq 34209 behaves like overflow stuff4210 returns the expected overflow values4211 #overflow?4212 is expected to be truthy4213 #empty?4214 is expected to be falsey4215 #real_size4216 is expected to eq "3+"4217 #line_count4218 is expected to eq 1204219 when limiting is disabled4220 is expected to eq 114221 behaves like overflow stuff4222 returns the expected overflow values4223 #overflow?4224 is expected to be falsey4225 #empty?4226 is expected to be falsey4227 #real_size4228 is expected to eq "11"4229 #line_count4230 is expected to eq 3304231 adding exactly the maximum number of files4232 and few enough lines4233 is expected to eq 104234 behaves like overflow stuff4235 returns the expected overflow values4236 #overflow?4237 is expected to be falsey4238 #empty?4239 is expected to be falsey4240 #real_size4241 is expected to eq "10"4242 #line_count4243 is expected to eq 104244 adding too many bytes4245 is expected to eq 94246 behaves like overflow stuff4247 returns the expected overflow values4248 #overflow?4249 is expected to be truthy4250 #empty?4251 is expected to be falsey4252 #real_size4253 is expected to eq "9+"4254 #line_count4255 is expected to eq 104256 when limiting is disabled4257 is expected to eq 104258 behaves like overflow stuff4259 returns the expected overflow values4260 #overflow?4261 is expected to be falsey4262 #empty?4263 is expected to be falsey4264 #real_size4265 is expected to eq "10"4266 #line_count4267 is expected to eq 104268 empty collection4269 behaves like overflow stuff4270 returns the expected overflow values4271 #overflow?4272 is expected to be falsey4273 #empty?4274 is expected to be truthy4275 #size4276 is expected to eq 04277 #real_size4278 is expected to eq "0"4279 #line_count4280 is expected to eq 04281 #each4282 when diff are too large4283 yields Diff instances even when they are too large4284 prunes diffs that are too large4285 when diff is quite large will collapse by default4286 when no collapse is set4287 yields Diff instances even when they are quite big4288 does not prune diffs4289 when no collapse is unset4290 yields Diff instances even when they are quite big4291 single-file collections4292 does not prune diffs4293 multi-file collections4294 prunes diffs that are quite big4295 when go over safe limits on files4296 prunes diffs by default even little ones and sets collapsed_safe_files true4297 when go over safe limits on lines4298 prunes diffs by default even little ones and sets collapsed_safe_lines true4299 when go over safe limits on bytes4300 prunes diffs by default even little ones and sets collapsed_safe_bytes true4301 when limiting is disabled4302 yields Diff instances even when they are quite big4303 does not prune diffs4304 when offset_index is given4305 does not yield diffs before the offset4306 when go over safe limits on bytes4307 considers size of diffs before the offset for prunning4308Clusters::Integrations::PrometheusHealthCheckService#execute4309 when cluster is not project_type4310 is expected to raise RuntimeError with "Invalid cluster type. Only project types are allowed."4311 when cluster is project_type4312 when prometheus not enabled4313 is expected to eq nil4314 does not send alert4315 when prometheus enabled4316 when newly unhealthy4317 sends an alert4318 stores the correct health of prometheus4319 when newly healthy4320 does not send alert4321 stores the correct health of prometheus4322 when continuously unhealthy4323 does not send alert4324 stores the correct health of prometheus4325 when continuously healthy4326 does not send alert4327 stores the correct health of prometheus4328 when first health check and healthy4329 does not send alert4330 stores the correct health of prometheus4331 when first health check and not healthy4332 sends an alert4333 stores the correct health of prometheus4334IncidentManagement::IssuableEscalationStatus4335 is expected to be valid4336 associations4337 is expected to belong to issue required: false4338 is expected to have one project through issue4339 validatons4340 is expected to validate that :issue cannot be empty/falsy4341 is expected to validate that :issue is case-sensitively unique4342 behaves like a model including Escalatable4343 validations4344 is expected to validate that :status cannot be empty/falsy4345 when status is triggered4346 when resolved_at is blank4347 is expected to be valid4348 when resolved_at is present4349 is expected to be invalid4350 when status is acknowledged4351 when resolved_at is blank4352 is expected to be valid4353 when resolved_at is present4354 is expected to be invalid4355 when status is resolved4356 when resolved_at is blank4357 is expected to be invalid4358 when resolved_at is present4359 is expected to be valid4360 when status is ignored4361 when resolved_at is blank4362 is expected to be valid4363 when resolved_at is present4364 is expected to be invalid4365 scopes4366 .order_status4367 descending4368 is expected to eq [#<IncidentManagement::IssuableEscalationStatus id: 2, created_at: "2022-04-28 18:54:48.952805000 +00...00 +0000", issue_id: 283, policy_id: nil, escalations_started_at: nil, resolved_at: nil, status: 3>]4369 ascending4370 is expected to eq [#<IncidentManagement::IssuableEscalationStatus id: 5, created_at: "2022-04-28 18:54:50.081956000 +00...00 +0000", issue_id: 280, policy_id: nil, escalations_started_at: nil, resolved_at: nil, status: 0>]4371 .open4372 is expected to contain exactly #<IncidentManagement::IssuableEscalationStatus id: 3, created_at: "2022-04-28 18:54:49.324620000 +000...000 +0000", issue_id: 281, policy_id: nil, escalations_started_at: nil, resolved_at: nil, status: 1> and #<IncidentManagement::IssuableEscalationStatus id: 2, created_at: "2022-04-28 18:54:48.952805000 +000...000 +0000", issue_id: 280, policy_id: nil, escalations_started_at: nil, resolved_at: nil, status: 0>4373 .status_value4374 status: :triggered, status_value: 04375 returns status value by its name4376 status: :acknowledged, status_value: 14377 returns status value by its name4378 status: :resolved, status_value: 24379 returns status value by its name4380 status: :ignored, status_value: 34381 returns status value by its name4382 status: :unknown, status_value: nil4383 returns status value by its name4384 .status_name4385 raw_status: 0, status: :triggered4386 returns status name by its values4387 raw_status: 1, status: :acknowledged4388 returns status name by its values4389 raw_status: 2, status: :resolved4390 returns status name by its values4391 raw_status: 3, status: :ignored4392 returns status name by its values4393 raw_status: -1, status: nil4394 returns status name by its values4395 .open_status?4396 status: :triggered, is_open_status: true4397 returns true when the status is open status4398 status: :acknowledged, is_open_status: true4399 returns true when the status is open status4400 status: :resolved, is_open_status: false4401 returns true when the status is open status4402 status: :ignored, is_open_status: false4403 returns true when the status is open status4404 status: nil, is_open_status: false4405 returns true when the status is open status4406 #trigger4407 when escalatable is in triggered state4408 does not change the escalatable status4409 when escalatable is not in triggered state4410 changes the escalatable status to triggered4411 resets resolved at4412 #acknowledge4413 changes the escalatable status to acknowledged4414 resets ended at4415 #resolve4416 when escalatable is already resolved4417 does not change the escalatable status4418 when escalatable is not resolved4419 changes escalatable status to "resolved"4420 #ignore4421 changes the escalatable status to ignored4422 resets ended at4423 #status_event_for4424 for_status: :triggered, event: :trigger4425 returns event by status name4426 for_status: "triggered", event: :trigger4427 returns event by status name4428 for_status: :acknowledged, event: :acknowledge4429 returns event by status name4430 for_status: "acknowledged", event: :acknowledge4431 returns event by status name4432 for_status: :resolved, event: :resolve4433 returns event by status name4434 for_status: "resolved", event: :resolve4435 returns event by status name4436 for_status: :ignored, event: :ignore4437 returns event by status name4438 for_status: "ignored", event: :ignore4439 returns event by status name4440 for_status: :unknown, event: nil4441 returns event by status name4442 for_status: nil, event: nil4443 returns event by status name4444 for_status: "", event: nil4445 returns event by status name4446 for_status: 1, event: nil4447 returns event by status name4448 #open?4449 returns true when the status is open status4450Gitlab::Database::BackgroundMigration::BatchedMigration4451 is expected to be a kind of Gitlab::Database::SharedModel(abstract)4452 associations4453 is expected to have many batched_jobs4454 #last_job4455 returns the batched job with highest max_value4456 validations4457 is expected to validate that :job_arguments is case-sensitively unique within the scope of :job_class_name, :table_name, and :column_name4458 when there are failed jobs4459 raises an exception4460 when the jobs are completed4461 finishes the migration4462 state machine4463 when a migration is executed4464 updates the started_at4465 .valid_status4466 returns valid status4467 .queue_order4468 returns batched migrations ordered by their id4469 .active_migration4470 without migrations on hold4471 returns the first active migration according to queue order4472 with migrations are on hold4473 returns the first active migration that is not on hold according to queue order4474 .queued4475 returns active and paused migrations4476 .successful_rows_counts4477 returns totals from successful jobs4478 #interval_elapsed?4479 when the migration has no last_job4480 returns true4481 when the migration has a last_job4482 when the last_job is less than an interval old4483 returns false4484 when the last_job is exactly an interval old4485 returns true4486 when the last_job is more than an interval old4487 returns true4488 when an interval variance is given4489 when the last job is less than an interval with variance old4490 returns false4491 when the last job is more than an interval with variance old4492 returns true4493 #create_batched_job!4494 creates a batched_job with the correct batch configuration4495 #next_min_value4496 when a previous job exists4497 returns the next value after the previous maximum4498 when a previous job does not exist4499 returns the migration minimum value4500 #job_class4501 returns the class of the job for the migration4502 #batch_class4503 returns the class of the batch strategy for the migration4504 #retry_failed_jobs!4505 when there are failed migration jobs4506 moves the status of the migration to active4507 changes the number of attempts to 04508 when there are no failed migration jobs4509 moves the status of the migration to active4510 #should_stop?4511 when the started_at is nil4512 is expected to be falsey4513 when the number of jobs is lesser than the MINIMUM_JOBS4514 is expected to be falsey4515 when the calculated value is greater than the threshold4516 is expected to be truthy4517 when the calculated value is lesser than the threshold4518 is expected to be falsey4519 #job_class_name=4520 behaves like an attr_writer that assigns class names4521 when a module name exists4522 keeps the class with module name4523 removes leading namespace resolution operator4524 when a module name does not exist4525 does not change the given class name4526 #batch_class_name=4527 behaves like an attr_writer that assigns class names4528 when a module name exists4529 keeps the class with module name4530 removes leading namespace resolution operator4531 when a module name does not exist4532 does not change the given class name4533 #migrated_tuple_count4534 sums the batch_size of succeeded jobs4535 #prometheus_labels4536 returns a hash with labels for the migration4537 #smoothed_time_efficiency4538 when there are not enough jobs4539 returns nil4540 when there are enough jobs4541 example 1: increasing trend, but only recently crossed threshold4542 returns the smoothed time efficiency4543 example 2: increasing trend, crossed threshold a while ago4544 returns the smoothed time efficiency4545 example 3: decreasing trend, but only recently crossed threshold4546 returns the smoothed time efficiency4547 example 4: latest run spiked4548 returns the smoothed time efficiency4549 with preloaded batched migration4550 avoids N+14551 #optimize!4552 calls the BatchOptimizer4553 #hold!4554 updates on_hold_until property4555 defaults to 10 minutes4556 .for_configuration4557 finds the migration matching the given configuration parameters4558 .find_for_configuration4559 returns nill if such migration does not exists4560 returns the migration when it exists4561Gitlab::Database::LoadBalancing::Host4562 #connection4563 returns a connection from the pool4564 #disconnect!4565 disconnects the pool4566 disconnects the pool when waiting for connections takes too long4567 #release_connection4568 releases the current connection from the pool4569 #offline!4570 marks the host as offline4571 #online?4572 when the replica status is recent enough4573 returns the latest status4574 returns an offline status4575 when the replica status is outdated4576 refreshes the status4577 and replica is not up to date4578 marks the host offline4579 when the replica is not online4580 returns false when ActionView::Template::Error is raised4581 returns false when ActiveRecord::StatementInvalid is raised4582 returns false when PG::Error is raised4583 returns false when ActiveRecord::ConnectionNotEstablished is raised4584 #refresh_status4585 refreshes the status4586 #check_replica_status?4587 returns true when we need to check the replica status4588 returns false when we do not need to check the replica status4589 #replica_is_up_to_date?4590 when the lag time is below the threshold4591 returns true4592 when the lag time exceeds the threshold4593 returns true if the data is recent enough4594 returns false when the data is not recent enough4595 #replication_lag_below_threshold4596 returns true when the lag time is below the threshold4597 returns false when the lag time exceeds the threshold4598 returns false when no lag time could be calculated4599 #data_is_recent_enough?4600 returns true when the data is recent enough4601 returns false when the data is not recent enough4602 returns false when no lag size could be calculated4603 #replication_lag_time4604 returns the lag time as a Float4605 returns nil when the database query returned no rows4606 #replication_lag_size4607 returns the lag size as an Integer4608 returns nil when the database query returned no rows4609 returns nil when the database connection fails4610 #primary_write_location4611 returns the write location of the primary4612 #caught_up?4613 returns true when a host has caught up4614 returns true when a host has caught up4615 returns false when a host has not caught up4616 returns false when a host has not caught up4617 returns false when the connection fails4618 #database_replica_location4619 returns the write ahead location of the replica4620 returns nil when the database query returned no rows4621 returns nil when the database connection fails4622 #query_and_release4623 executes a SQL query4624 releases the connection after running the query4625 returns an empty Hash in the event of an error4626 #host4627 returns the hostname4628Gitlab::Utils::Markdown4629 #string_to_anchor4630 converts string to anchor4631 when string has punctuation4632 removes punctuation4633 when string starts and ends with spaces4634 removes extra spaces4635 when string has multiple spaces and dashes in the middle4636 removes consecutive dashes4637 when string contains only digits4638 adds anchor prefix4639 when string has a product suffix4640 CORE4641 ignores a product suffix4642 with "*" around a product suffix4643 ignores a product suffix4644 CORE ONLY4645 ignores a product suffix4646 with "*" around a product suffix4647 ignores a product suffix4648 CORE SELF4649 ignores a product suffix4650 with "*" around a product suffix4651 ignores a product suffix4652 CORE SASS4653 ignores a product suffix4654 with "*" around a product suffix4655 ignores a product suffix4656 STARTER4657 ignores a product suffix4658 with "*" around a product suffix4659 ignores a product suffix4660 STARTER ONLY4661 ignores a product suffix4662 with "*" around a product suffix4663 ignores a product suffix4664 STARTER SELF4665 ignores a product suffix4666 with "*" around a product suffix4667 ignores a product suffix4668 STARTER SASS4669 ignores a product suffix4670 with "*" around a product suffix4671 ignores a product suffix4672 PREMIUM4673 ignores a product suffix4674 with "*" around a product suffix4675 ignores a product suffix4676 PREMIUM ONLY4677 ignores a product suffix4678 with "*" around a product suffix4679 ignores a product suffix4680 PREMIUM SELF4681 ignores a product suffix4682 with "*" around a product suffix4683 ignores a product suffix4684 PREMIUM SASS4685 ignores a product suffix4686 with "*" around a product suffix4687 ignores a product suffix4688 ULTIMATE4689 ignores a product suffix4690 with "*" around a product suffix4691 ignores a product suffix4692 ULTIMATE ONLY4693 ignores a product suffix4694 with "*" around a product suffix4695 ignores a product suffix4696 ULTIMATE SELF4697 ignores a product suffix4698 with "*" around a product suffix4699 ignores a product suffix4700 ULTIMATE SASS4701 ignores a product suffix4702 with "*" around a product suffix4703 ignores a product suffix4704 FREE4705 ignores a product suffix4706 with "*" around a product suffix4707 ignores a product suffix4708 FREE ONLY4709 ignores a product suffix4710 with "*" around a product suffix4711 ignores a product suffix4712 FREE SELF4713 ignores a product suffix4714 with "*" around a product suffix4715 ignores a product suffix4716 FREE SASS4717 ignores a product suffix4718 with "*" around a product suffix4719 ignores a product suffix4720 BRONZE4721 ignores a product suffix4722 with "*" around a product suffix4723 ignores a product suffix4724 BRONZE ONLY4725 ignores a product suffix4726 with "*" around a product suffix4727 ignores a product suffix4728 BRONZE SELF4729 ignores a product suffix4730 with "*" around a product suffix4731 ignores a product suffix4732 BRONZE SASS4733 ignores a product suffix4734 with "*" around a product suffix4735 ignores a product suffix4736 SILVER4737 ignores a product suffix4738 with "*" around a product suffix4739 ignores a product suffix4740 SILVER ONLY4741 ignores a product suffix4742 with "*" around a product suffix4743 ignores a product suffix4744 SILVER SELF4745 ignores a product suffix4746 with "*" around a product suffix4747 ignores a product suffix4748 SILVER SASS4749 ignores a product suffix4750 with "*" around a product suffix4751 ignores a product suffix4752 GOLD4753 ignores a product suffix4754 with "*" around a product suffix4755 ignores a product suffix4756 GOLD ONLY4757 ignores a product suffix4758 with "*" around a product suffix4759 ignores a product suffix4760 GOLD SELF4761 ignores a product suffix4762 with "*" around a product suffix4763 ignores a product suffix4764 GOLD SASS4765 ignores a product suffix4766 with "*" around a product suffix4767 ignores a product suffix4768 when string is empty4769 returns an empty string4770IssueEntity4771 has Issuable attributes4772 has time estimation attributes4773 when issue got moved4774 when user cannot read target project4775 does not return moved_to_id4776 when user can read target project4777 returns moved moved_to_id4778 when issue got duplicated4779 when user cannot read new issue4780 does not return duplicated_to_id4781 when user can read target project4782 returns duplicated duplicated_to_id4783 when issuable in active or archived project4784 when project is active4785 returns archived false4786 returns nil for archived project doc4787 when project is archived4788 returns archived true4789 returns archived project doc4790Gitlab::Ci::Config::Entry::Processable4791 validations4792 when entry config value is correct4793 #valid?4794 is valid4795 when config uses both "when:" and "rules:"4796 is valid4797 when job name is more than 2554798 shows a validation error4799 when job name is empty4800 reports error4801 when entry value is not correct4802 incorrect config value type4803 #errors4804 reports error about a config type4805 when config is empty4806 #valid4807 is invalid4808 when extends key is not a string4809 returns error about wrong value type4810 when resource_group key is not a string4811 returns error about wrong value type4812 when only: is used with rules:4813 returns error about mixing only: with rules:4814 and only: is blank4815 returns error about mixing only: with rules:4816 and rules: is blank4817 returns error about mixing only: with rules:4818 when except: is used with rules:4819 returns error about mixing except: with rules:4820 and except: is blank4821 returns error about mixing except: with rules:4822 and rules: is blank4823 returns error about mixing except: with rules:4824 when only: and except: are both used with rules:4825 returns errors about mixing both only: and except: with rules:4826 when only: and except: as both blank4827 returns errors about mixing both only: and except: with rules:4828 when rules: is blank4829 returns errors about mixing both only: and except: with rules:4830 #relevant?4831 is a relevant entry4832 #compose!4833 with workflow rules4834 name: "uses default only", has_workflow_rules?: false, only: nil, rules: nil, result: {:refs=>["branches", "tags"]}4835 RSpec::ExampleGroups::GitlabCiConfigEntryProcessable::Compose::WithWorkflowRules::NameUsesDefaultOnlyHasWorkflowRulesFalseOnlyNilRulesNilResultRefsBranchesTags4836 name: "uses user only", has_workflow_rules?: false, only: ["branches"], rules: nil, result: {:refs=>["branches"]}4837 RSpec::ExampleGroups::GitlabCiConfigEntryProcessable::Compose::WithWorkflowRules::NameUsesUserOnlyHasWorkflowRulesFalseOnlyBranchesRulesNilResultRefsBranches4838 name: "does not define only", has_workflow_rules?: false, only: nil, rules: [], result: nil4839 RSpec::ExampleGroups::GitlabCiConfigEntryProcessable::Compose::WithWorkflowRules::NameDoesNotDefineOnlyHasWorkflowRulesFalseOnlyNilRulesResultNil4840 name: "does not define only", has_workflow_rules?: true, only: nil, rules: nil, result: nil4841 RSpec::ExampleGroups::GitlabCiConfigEntryProcessable::Compose::WithWorkflowRules::NameDoesNotDefineOnlyHasWorkflowRulesTrueOnlyNilRulesNilResultNil4842 name: "uses user only", has_workflow_rules?: true, only: ["branches"], rules: nil, result: {:refs=>["branches"]}4843 RSpec::ExampleGroups::GitlabCiConfigEntryProcessable::Compose::WithWorkflowRules::NameUsesUserOnlyHasWorkflowRulesTrueOnlyBranchesRulesNilResultRefsBranches4844 name: "does not define only", has_workflow_rules?: true, only: nil, rules: [], result: nil4845 RSpec::ExampleGroups::GitlabCiConfigEntryProcessable::Compose::WithWorkflowRules::NameDoesNotDefineOnlyHasWorkflowRulesTrueOnlyNilRulesResultNil4846 when workflow rules is used4847 when rules are used4848 does not define only4849 when rules are not used and only is defined4850 keeps only entry4851 when workflow rules is not used4852 when rules are valid4853 when last rule contains only `when`4854 and its value is not `never`4855 raises a warning4856 and its value is `never`4857 behaves like has no warnings4858 does not raise the warning4859 when last rule does not contain only `when`4860 behaves like has no warnings4861 does not raise the warning4862 when rules are invalid4863 behaves like has no warnings4864 does not raise the warning4865 when workflow rules is used4866 when last rule contains only `when4867 behaves like has no warnings4868 does not raise the warning4869 with resource group4870 resource_group: "iOS", result: "iOS"4871 is expected to eq "iOS"4872 resource_group: "review/$CI_COMMIT_REF_NAME", result: "review/$CI_COMMIT_REF_NAME"4873 is expected to eq "review/$CI_COMMIT_REF_NAME"4874 resource_group: nil, result: nil4875 is expected to eq nil4876 with inheritance4877 of default:tags4878 name: "only local tags", default_tags: nil, tags: ["a", "b"], inherit_default: nil, result: ["a", "b"]4879 is expected to eq ["a", "b"]4880 name: "only local tags", default_tags: nil, tags: ["a", "b"], inherit_default: true, result: ["a", "b"]4881 is expected to eq ["a", "b"]4882 name: "only local tags", default_tags: nil, tags: ["a", "b"], inherit_default: false, result: ["a", "b"]4883 is expected to eq ["a", "b"]4884 name: "global and local tags", default_tags: ["b", "c"], tags: ["a", "b"], inherit_default: nil, result: ["a", "b"]4885 is expected to eq ["a", "b"]4886 name: "global and local tags", default_tags: ["b", "c"], tags: ["a", "b"], inherit_default: true, result: ["a", "b"]4887 is expected to eq ["a", "b"]4888 name: "global and local tags", default_tags: ["b", "c"], tags: ["a", "b"], inherit_default: false, result: ["a", "b"]4889 is expected to eq ["a", "b"]4890 name: "only global tags", default_tags: ["b", "c"], tags: nil, inherit_default: nil, result: ["b", "c"]4891 is expected to eq ["b", "c"]4892 name: "only global tags", default_tags: ["b", "c"], tags: nil, inherit_default: true, result: ["b", "c"]4893 is expected to eq ["b", "c"]4894 name: "only global tags", default_tags: ["b", "c"], tags: nil, inherit_default: false, result: nil4895 is expected to eq nil4896 name: "only global tags", default_tags: ["b", "c"], tags: nil, inherit_default: ["image"], result: nil4897 is expected to eq nil4898 name: "only global tags", default_tags: ["b", "c"], tags: nil, inherit_default: ["tags"], result: ["b", "c"]4899 is expected to eq ["b", "c"]4900 when composed4901 #value4902 when entry is correct4903 returns correct value4904Pages::DeploymentUploader4905 behaves like builds correct paths4906 #store_dir4907 behaves like matches the method pattern4908 is expected to match /\/\h{2}\/\h{2}\/\h{64}\/pages_deployments\/\d+/4909 #cache_dir4910 behaves like matches the method pattern4911 is expected to match /pages\/@hashed\/tmp\/cache/4912 #work_dir4913 behaves like matches the method pattern4914 is expected to match /pages\/@hashed\/tmp\/work/4915 #upload_path4916 behaves like matches the method pattern4917 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4918 #relative_path4919 is relative (PENDING: Path not set, skipping.)4920 .absolute_path4921 behaves like matches the method pattern4922 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4923 .base_dir4924 behaves like matches the method pattern4925 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4926 path traversal exploits4927 throws an exception4928 when object store is REMOTE4929 preserves original file when stores it4930 behaves like builds correct paths4931 #store_dir4932 behaves like matches the method pattern4933 is expected to match /\A\h{2}\/\h{2}\/\h{64}\/pages_deployments\/\d+\z/4934 #cache_dir4935 behaves like matches the method pattern4936 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4937 #work_dir4938 behaves like matches the method pattern4939 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4940 #upload_path4941 behaves like matches the method pattern4942 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4943 #relative_path4944 is relative (PENDING: Path not set, skipping.)4945 .absolute_path4946 behaves like matches the method pattern4947 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4948 .base_dir4949 behaves like matches the method pattern4950 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4951 path traversal exploits4952 throws an exception4953 when file is stored in valid local_path4954 is expected to match /\/builds\/gitlab-org\/gitlab\/tmp\/tests\/pages\/@hashed\/\h{2}\/\h{2}\/\h{64}\/pages_deployments\/18\/pages.zip/4955 preserves original file when stores it4956 .default_store4957 returns local store when object storage is not enabled4958 returns remote store when object storage is enabled4959WikiPages::UpdateService4960 behaves like WikiPages::UpdateService#execute4961DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from wiki_event at /builds/gitlab-org/gitlab/app/services/event_create_service.rb:124)4962 updates the wiki page4963 executes webhooks4964DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from wiki_event at /builds/gitlab-org/gitlab/app/services/event_create_service.rb:124)4965 counts edit events4966 the page is at the top level4967DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from wiki_event at /builds/gitlab-org/gitlab/app/services/event_create_service.rb:124)4968 adds a new wiki page activity event4969 the page is in a subsection4970DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from wiki_event at /builds/gitlab-org/gitlab/app/services/event_create_service.rb:124)4971 adds a new wiki page activity event4972 when the options are bad4973 does not count an edit event4974 does not record the activity4975 reports the error4976 #execute4977 when wiki create fails due to git error4978 catches the thrown error and returns a ServiceResponse error4979IncidentManagement::ProcessAlertWorkerV24980 #perform4981 with valid alert4982 behaves like creates issue successfully4983 creates an issue4984 updates AlertManagement::Alert#issue_id4985 does not write a warning to log4986 behaves like an idempotent worker4987 is labeled as idempotent4988 performs multiple times sequentially without raising an exception4989 does not create a second issue4990 when alert cannot be updated4991 updates AlertManagement::Alert#issue_id4992 logs a warning4993 prometheus alert4994 behaves like creates issue successfully4995 creates an issue4996 updates AlertManagement::Alert#issue_id4997 does not write a warning to log4998 behaves like an idempotent worker4999 is labeled as idempotent5000 performs multiple times sequentially without raising an exception5001 does not create a second issue5002 with invalid alert5003 does not create issues5004Ci::BuildReportResult5005 behaves like cleanup by a loose foreign key5006 cleans up (delete or nullify) the model5007 associations5008 is expected to belong to build required: false5009 is expected to belong to project required: false5010 validations5011 is expected to validate that :project cannot be empty/falsy5012 is expected to validate that :build cannot be empty/falsy5013 when attributes are valid5014 returns no errors5015 when data is invalid5016 returns errors5017 #tests_name5018 returns the suite name5019 #tests_duration5020 returns the suite duration5021 #tests_success5022 returns the success count5023 #tests_failed5024 returns the failed count5025 #tests_errored5026 returns the errored count5027 #tests_skipped5028 returns the skipped count5029 #tests_total5030 returns the total count5031Gitlab::Ci::Pipeline::Chain::Validate::External5032 #perform!5033 respects the defined payload schema5034 with configuration values in ApplicationSetting5035 uses those values rather than env vars or defaults5036 with EXTERNAL_VALIDATION_SERVICE_TIMEOUT defined5037 with valid value5038 uses defined timeout5039 with invalid value5040 uses default timeout5041 when EXTERNAL_VALIDATION_SERVICE_TOKEN is set5042 passes token in X-Gitlab-Token header5043 when validation returns 200 OK5044 behaves like successful external authorization5045 does not drop the pipeline5046 does not break the chain5047 logs the authorization5048 returns expected payload5049 when validation returns 404 Not Found5050 behaves like successful external authorization5051 does not drop the pipeline5052 does not break the chain5053 logs the authorization5054 returns expected payload5055 when validation returns 500 Internal Server Error5056 behaves like successful external authorization5057 does not drop the pipeline5058 does not break the chain5059 logs the authorization5060 returns expected payload5061 when validation raises exceptions5062 logs exceptions5063 behaves like successful external authorization5064 does not drop the pipeline5065 does not break the chain5066 logs the authorization5067 returns expected payload5068 when validation returns 406 Not Acceptable5069 drops the pipeline5070 breaks the chain5071 logs the authorization5072 when save_incompleted is false5073 adds errors to the pipeline without dropping it5074 breaks the chain5075 logs the authorization5076Gitlab::VersionInfo5077 >5078 is expected to be > 1.1.05079 is expected to be > 1.0.15080 is expected to be > 1.0.05081 is expected to be > 0.1.05082 is expected to be > 0.0.15083 >=5084 is expected to be >= 2.0.05085 is expected to be >= 1.1.05086 <5087 is expected to be < 0.1.05088 is expected to be < 1.0.05089 is expected to be < 1.0.15090 is expected to be < 1.1.05091 is expected to be < 2.0.05092 <=5093 is expected to be <= 0.0.15094 is expected to be <= 0.1.05095 ==5096 is expected to eq #<Gitlab::VersionInfo:0x00007fa89fc36578 @major=0, @minor=0, @patch=1>5097 is expected to eq #<Gitlab::VersionInfo:0x00007fa8bb54f248 @major=0, @minor=1, @patch=0>5098 is expected to eq #<Gitlab::VersionInfo:0x00007fa8b7062ea0 @major=1, @minor=0, @patch=0>5099 !=5100 is expected not to eq #<Gitlab::VersionInfo:0x00007fa8b65958b0 @major=0, @minor=1, @patch=0>5101 unknown5102 is expected not to equal #<Gitlab::VersionInfo:0x00007fa8e3da6680 @major=0, @minor=0, @patch=1>5103 is expected not to equal #<Gitlab::VersionInfo:0x00007fa8d6c491a0 @major=0, @minor=0, @patch=0>5104 is expected to raise ArgumentError5105 is expected to raise ArgumentError5106 parse5107 is expected to eq #<Gitlab::VersionInfo:0x00007fa8ca1e4658 @major=1, @minor=0, @patch=0>5108 is expected to eq #<Gitlab::VersionInfo:0x00007fa8c38e8780 @major=1, @minor=0, @patch=0>5109 is expected to eq #<Gitlab::VersionInfo:0x00007fa8c45fe2a8 @major=1, @minor=0, @patch=0>5110 is expected to eq #<Gitlab::VersionInfo:0x00007fa8c5863308 @major=1, @minor=0, @patch=0>5111 is expected to eq #<Gitlab::VersionInfo:0x00007fa8c7214450 @major=1, @minor=0, @patch=0>5112 is expected to eq #<Gitlab::VersionInfo:0x00007fa8bc0a2b18 @major=1, @minor=0, @patch=0>5113 is expected not to be valid5114 to_s5115 is expected to eq "1.0.0"5116 is expected to eq "Unknown"5117Gitlab::AlertManagement::Payload::Base5118 .attribute5119 with a single path provided5120 is expected to be nil5121 and a matching value5122 is expected to eq "value"5123 with multiple paths provided5124 is expected to be nil5125 and a matching value5126 is expected to eq "value"5127 with a fallback provided5128 is expected to eq "fallback"5129 and a matching value5130 is expected to eq "value"5131 with a time type provided5132 is expected to be nil5133 with a compatible matching value5134 is expected to eq 2022-04-28 18:56:12.000000000 +00005135 with a value in rfc3339 format5136 is expected to eq 2022-04-28 18:56:12.000000000 +00005137 with an incompatible matching value5138 is expected to be nil5139 with time in seconds5140 is expected to be nil5141 with an integer type provided5142 is expected to be nil5143 with a compatible matching value5144 is expected to eq 155145 with an incompatible matching value5146 is expected to be nil5147 with an incompatible matching value5148 is expected to be nil5149 #alert_params5150 with every key5151 is expected to eq {:description=>"description", :ended_at=>2022-04-28 18:56:13.043969090 +0000, :environment=>#<Environ..."service", :severity=>"critical", :started_at=>2022-04-28 18:56:13.191601567 +0000, :title=>"title"}5152 can generate a valid new alert5153 with too-long strings5154 is expected to eq {:description=>"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee..."}5155 with too-long hosts array5156 is expected to eq {:hosts=>["abc", "def", "ghi"], :project_id=>617}5157 with host cut off between elements5158 is expected to eq {:hosts=>["abcde", "fghi"], :project_id=>617}5159 with nested hosts5160 is expected to eq {:hosts=>["abc", "de", "f", "g", "hi"], :project_id=>617}5161 #gitlab_fingerprint5162 is expected to be nil5163 when plain_gitlab_fingerprint is defined5164 returns a fingerprint5165 #environment5166 without an environment name5167 is expected to be nil5168 with a non-matching environment name5169 is expected to be nil5170 with a matching environment name5171 is expected to eq #<Environment id: 70, project_id: 617, name: "production", created_at: "2022-04-28 18:56:13.772663453... state: "available", slug: "production", auto_stop_at: nil, auto_delete_at: nil, tier: "production">5172 #resolved?5173 when status is not defined5174 is expected to be falsey5175 when status is not resovled5176 is expected to be falsey5177 when status is resovled5178 is expected to be truthy5179 #has_required_attributes?5180 is expected to equal true5181Ci::Runners::RegisterRunnerService#execute5182 when no token is provided5183 returns nil5184 when invalid token is provided5185 returns nil5186 when valid token is provided5187 with a registration token5188 creates runner with default values5189 with non-default arguments5190 creates runner with specified values5191 with runner token expiration interval5192 creates runner with token expiration5193 when project token is used5194 creates project runner5195 when it exceeds the application limits5196 does not create runner5197 when abandoned runners cause application limits to not be exceeded5198 creates runner5199 when valid runner registrars do not include project5200 when feature flag is enabled5201 returns 403 error5202 when feature flag is disabled5203 registers the runner5204 when group token is used5205 creates a group runner5206 when it exceeds the application limits5207 does not create runner5208 when abandoned runners cause application limits to not be exceeded5209 creates runner5210 when valid runner registrars do not include group5211 when feature flag is enabled5212 returns nil5213 when feature flag is disabled5214 registers the runner5215Gitlab::Redis::RateLimiting5216 behaves like redis_shared_examples5217 .config_file_name5218 when there is no config file anywhere5219 is expected to be nil5220 but resque.yml exists5221 is expected to eq "/tmp/redis_shared_examples20220428-43640-17st9jq/config/resque.yml"5222 returns a path that exists5223 and there is a global env override5224 is expected to eq "global override"5225 and there is an instance specific config file5226 is expected to eq "/tmp/redis_shared_examples20220428-43640-js5ix9/config/redis.rate_limiting.yml"5227 returns a path that exists5228 and there is a specific env override5229 is expected to eq "instance specific override"5230 .store5231 with old format5232 behaves like redis store5233 instantiates Redis::Store5234 with the namespace5235 uses specified namespace5236 with new format5237 behaves like redis store5238 instantiates Redis::Store5239 with the namespace5240 uses specified namespace5241 .params5242 withstands mutation5243 when url contains unix socket reference5244 with old format5245 returns path key instead5246 with new format5247 returns path key instead5248 when url is host based5249 with old format5250 returns hash with host, port, db, and password5251 with new format5252 rails_env: "development", host: "development-host"5253 returns hash with host, port, db, and password5254 rails_env: "test", host: "test-host"5255 returns hash with host, port, db, and password5256 rails_env: "production", host: "production-host"5257 returns hash with host, port, db, and password5258 .url5259 withstands mutation5260 when yml file with env variable5261 reads redis url from env variable5262 .version5263 returns a version5264 ._raw_config5265 is frozen5266 returns false when the file does not exist5267 returns false when the filename can't be determined5268 .with5269 when running on single-threaded runtime5270 instantiates a connection pool with size 55271 when running on multi-threaded runtime5272 instantiates a connection pool with a size based on the concurrency of the worker5273 when there is no config at all5274 can run an empty block5275 #db5276 with old format5277 returns the correct db5278 with new format5279 returns the correct db5280 #sentinels5281 when sentinels are defined5282 rails_env: "development", hosts: ["development-replica1", "development-replica2"]5283 returns an array of hashes with host and port keys5284 rails_env: "test", hosts: ["test-replica1", "test-replica2"]5285 returns an array of hashes with host and port keys5286 rails_env: "production", hosts: ["production-replica1", "production-replica2"]5287 returns an array of hashes with host and port keys5288 when sentinels are not defined5289 returns nil5290 #sentinels?5291 when sentinels are defined5292 returns true5293 when sentinels are not defined5294 returns false5295 #raw_config_hash5296 returns old-style single url config in a hash5297 #fetch_config5298 returns false when no config file is present5299 returns false when config file is present but has invalid YAML5300 has a value for the legacy default URL5301 .config_file_name5302 when there is only a resque.yml5303 is expected to eq "/tmp/redis_shared_examples20220428-43640-10900jd/config/resque.yml"5304 and there is a global env override5305 is expected to eq "global override"5306 and Cache has a different config file5307 is expected to eq "fallback config file"5308Gitlab::SidekiqConfig::WorkerRouter5309 .queue_name_from_worker_name5310 worker: #<Class:0x00007fa8b3c6afa8>, expected_name: "pages"5311 generates a valid queue name from worker name5312 worker: #<Class:0x00007fa8b3c6aa08>, expected_name: "pipeline_notification"5313 generates a valid queue name from worker name5314 worker: #<Class:0x00007fa8b3c6a5f8>, expected_name: "post_receive"5315 generates a valid queue name from worker name5316 worker: #<Class:0x00007fa8b3c6a260>, expected_name: "git:post_receive"5317 generates a valid queue name from worker name5318 worker: #<Class:0x00007fa8b3c69f90>, expected_name: "pipeline_hooks:pipeline_hooks"5319 generates a valid queue name from worker name5320 worker: #<Class:0x00007fa8b3c69a90>, expected_name: "jira_import_advance_stage"5321 generates a valid queue name from worker name5322 worker: #<Class:0x00007fa8b3c69478>, expected_name: "importer:phabricator_import_import_tasks"5323 generates a valid queue name from worker name5324 .global5325 valid routing rules5326 routing_rules: [], expected_queue: "foo_bar"5327 routes the worker to the correct queue5328 routing_rules: [["feature_category=feature_b|urgency=high", "queue_a"], ["resource_boundary=memory", "queue_b"], ["tags=cheap", "queue_c"]], expected_queue: "foo_bar"5329 routes the worker to the correct queue5330 routing_rules: [["feature_category=feature_b|urgency=high", "queue_a"], ["resource_boundary=cpu", nil], ["tags=cheap", "queue_c"]], expected_queue: "foo_bar"5331 routes the worker to the correct queue5332 routing_rules: [["feature_category=feature_b|urgency=high", "queue_a"], ["resource_boundary=cpu", ""], ["tags=cheap", "queue_c"]], expected_queue: "foo_bar"5333 routes the worker to the correct queue5334 routing_rules: [["feature_category=feature_a|urgency=high", "queue_a"], ["resource_boundary=cpu", "queue_b"], ["tags=cheap", "queue_c"]], expected_queue: "queue_a"5335 routes the worker to the correct queue5336 routing_rules: [["feature_category=feature_b|urgency=low", "queue_a"], ["resource_boundary=cpu", "queue_b"], ["tags=cheap", "queue_c"]], expected_queue: "queue_a"5337 routes the worker to the correct queue5338 routing_rules: [["feature_category=feature_b|urgency=high", "queue_a"], ["resource_boundary=memory", "queue_b"], ["tags=expensive", "queue_c"]], expected_queue: "queue_c"5339 routes the worker to the correct queue5340 routing_rules: [["feature_category=feature_a|urgency=low", "queue_a"], ["resource_boundary=cpu", "queue_b"], ["tags=expensive", "queue_c"]], expected_queue: "queue_a"5341 routes the worker to the correct queue5342 routing_rules: [["feature_category=feature_a", "queue_a"], ["feature_category=feature_a", "queue_b"], ["feature_category=feature_a", "queue_c"]], expected_queue: "queue_a"5343 routes the worker to the correct queue5344 routing_rules: [["feature_category=feature_b|urgency=high", "queue_a"], ["resource_boundary=memory", "queue_b"], ["tags=cheap", "queue_c"], ["*", "default"]], expected_queue: "default"5345 routes the worker to the correct queue5346 routing_rules: [["*", "queue_foo"], ["feature_category=feature_a|urgency=low", "queue_a"], ["resource_boundary=cpu", "queue_b"], ["tags=expensive", "queue_c"]], expected_queue: "queue_foo"5347 routes the worker to the correct queue5348 routing_rules: [["name=foo_bar", "queue_foo"], ["feature_category=feature_a|urgency=low", "queue_a"], ["resource_boundary=cpu", "queue_b"], ["tags=expensive", "queue_c"]], expected_queue: "queue_foo"5349 routes the worker to the correct queue5350 invalid routing rules5351 invalid routing rules format5352 captures the error and falls back to an empty route5353 invalid predicate5354 captures the error and falls back to an empty route5355 #route5356 valid routing rules5357 routing_rules: [], expected_queue: "foo_bar"5358 routes the worker to the correct queue5359 routing_rules: [["feature_category=feature_b|urgency=high", "queue_a"], ["resource_boundary=memory", "queue_b"], ["tags=cheap", "queue_c"]], expected_queue: "foo_bar"5360 routes the worker to the correct queue5361 routing_rules: [["feature_category=feature_b|urgency=high", "queue_a"], ["resource_boundary=cpu", nil], ["tags=cheap", "queue_c"]], expected_queue: "foo_bar"5362 routes the worker to the correct queue5363 routing_rules: [["feature_category=feature_b|urgency=high", "queue_a"], ["resource_boundary=cpu", ""], ["tags=cheap", "queue_c"]], expected_queue: "foo_bar"5364 routes the worker to the correct queue5365 routing_rules: [["feature_category=feature_a|urgency=high", "queue_a"], ["resource_boundary=cpu", "queue_b"], ["tags=cheap", "queue_c"]], expected_queue: "queue_a"5366 routes the worker to the correct queue5367 routing_rules: [["feature_category=feature_b|urgency=low", "queue_a"], ["resource_boundary=cpu", "queue_b"], ["tags=cheap", "queue_c"]], expected_queue: "queue_a"5368 routes the worker to the correct queue5369 routing_rules: [["feature_category=feature_b|urgency=high", "queue_a"], ["resource_boundary=memory", "queue_b"], ["tags=expensive", "queue_c"]], expected_queue: "queue_c"5370 routes the worker to the correct queue5371 routing_rules: [["feature_category=feature_a|urgency=low", "queue_a"], ["resource_boundary=cpu", "queue_b"], ["tags=expensive", "queue_c"]], expected_queue: "queue_a"5372 routes the worker to the correct queue5373 routing_rules: [["feature_category=feature_a", "queue_a"], ["feature_category=feature_a", "queue_b"], ["feature_category=feature_a", "queue_c"]], expected_queue: "queue_a"5374 routes the worker to the correct queue5375 routing_rules: [["feature_category=feature_b|urgency=high", "queue_a"], ["resource_boundary=memory", "queue_b"], ["tags=cheap", "queue_c"], ["*", "default"]], expected_queue: "default"5376 routes the worker to the correct queue5377 routing_rules: [["*", "queue_foo"], ["feature_category=feature_a|urgency=low", "queue_a"], ["resource_boundary=cpu", "queue_b"], ["tags=expensive", "queue_c"]], expected_queue: "queue_foo"5378 routes the worker to the correct queue5379 routing_rules: [["name=foo_bar", "queue_foo"], ["feature_category=feature_a|urgency=low", "queue_a"], ["resource_boundary=cpu", "queue_b"], ["tags=expensive", "queue_c"]], expected_queue: "queue_foo"5380 routes the worker to the correct queue5381 invalid routing rules5382 raises an exception5383gitlab:ldap:rename_provider rake task5384 completes without error5385gitlab:ldap:secret rake tasks5386 :show5387 displays error when file does not exist5388 displays error when key does not exist5389 displays error when key is changed5390 outputs the unencrypted content when present5391 edit5392# main:5393# password: '123'5394# user_dn: 'gitlab-adm'5395 creates encrypted file5396 displays error when key does not exist5397 displays error when key is changed5398 displays error when write directory does not exist5399somevalue shows a warning when content is invalid5400 displays error when $EDITOR is not set5401 write5402 creates encrypted file from stdin5403 displays error when key does not exist5404 displays error when write directory does not exist5405somevalue shows a warning when content is invalid5406Ci::InstanceVariable5407 is expected to includes the Ci::Maskable module5408 is expected to validate that :key is case-sensitively unique, producing a custom validation error on failure5409 is expected to validate that the length of :value is at most 10000, producing a custom validation error on failure5410 behaves like CI variable5411 is expected to includes the Ci::HasVariable module5412 strips whitespaces when assigning key5413 can convert to runner variable5414 variable type5415 defines variable types5416 defaults variable type to env_var5417 supports variable type file5418 behaves like includes Limitable concern5419 validations5420 is expected to be a kind of Limitable5421 without plan limits configured5422 can create new models5423 with plan limits configured5424 can create new models5425 with an existing model5426 cannot create new models exceeding the plan limits5427 #value5428 without application limit5429 when value is over the limit5430 raises a database level error5431 when value is under the limit5432 does not raise database level error5433 .unprotected5434 when variable is protected5435 returns nothing5436 when variable is not protected5437 returns the variable5438 .all_cached5439 is expected to contain exactly #<Ci::InstanceVariable id: 10, variable_type: "env_var", masked: false, protected: true, key: [FILTER... "kK1Xx9MTvOl6KnAcUDi6R2OVJukRucWMkGQ2fZ5D\n", encrypted_value_iv: "YuxhJs3Iw4JIBhqL\n", value: nil> and #<Ci::InstanceVariable id: 9, variable_type: "env_var", masked: false, protected: false, key: [FILTER... "QgBgh/g2K8iUmwJzh2kE2m+4qZfpzVhBxc2nEgUd\n", encrypted_value_iv: "B6dLaoe91v3bPEiZ\n", value: nil>5440 memoizes the result5441 removes scopes5442 resets the cache when records are deleted5443 resets the cache when records are inserted5444 .unprotected_cached5445 is expected to contain exactly #<Ci::InstanceVariable id: 12, variable_type: "env_var", masked: false, protected: false, key: [FILTE... "Zsrfv73tXxUUM6bxAGIar7KRk4NacDG2RYx5geiL\n", encrypted_value_iv: "eCJhAeB5Y7Q5sgd7\n", value: nil>5446 memoizes the result5447AccessRequestsFinder5448 #execute5449 when current user cannot see project access requests5450 behaves like a finder returning no results5451 raises Gitlab::Access::AccessDeniedError5452 behaves like a finder returning no results5453 raises Gitlab::Access::AccessDeniedError5454 when current user can see access requests5455 behaves like a finder returning access requesters5456 returns access requesters5457 behaves like a finder returning access requesters5458 returns access requesters5459 #execute!5460 when current user cannot see access requests5461 behaves like a finder raising Gitlab::Access::AccessDeniedError5462 raises Gitlab::Access::AccessDeniedError5463 behaves like a finder raising Gitlab::Access::AccessDeniedError5464 raises Gitlab::Access::AccessDeniedError5465 when current user can see access requests5466 behaves like a finder returning access requesters5467 returns access requesters5468 behaves like a finder returning access requesters5469 returns access requesters5470MergeWorker5471 remove source branch5472 clears cache of source repo after removing source branch5473 behaves like an idempotent worker5474 is labeled as idempotent5475 performs multiple times sequentially without raising an exception5476 the merge request is still shown as merged5477Gitlab::Ci::Pipeline::Seed::Stage5478 #size5479 returns a number of jobs in the stage5480 #attributes5481 returns hash attributes of a stage5482 #included?5483 when it contains builds seeds5484 is expected to be included5485 when it does not contain build seeds5486 is expected not to be included5487 #seeds5488 returns build seeds5489 returns build seeds including valid attributes5490 filters seeds using only/except policies5491 when a legacy trigger exists5492 returns build seeds including legacy trigger5493 when a ref is protected5494 returns protected builds5495 when a ref is not protected5496 returns unprotected builds5497 #seeds_names5498 returns all job names5499 returns a set5500 #seeds_errors5501 returns all errors from seeds5502 #to_resource5503 builds a valid stage object with all builds5504 can not be persisted without explicit pipeline assignment5505Gitlab::Ci::Config::External::Mapper5506 #process5507 when single 'include' keyword is defined5508 when the string is a local file5509 returns File instances5510 when the key is a local file hash5511 returns File instances5512 when the string is a remote file5513 returns File instances5514 when the key is a remote file hash5515 returns File instances5516 when the key is a template file hash5517 returns File instances5518 when the key is a hash of file and remote5519 returns ambigious specification error5520 when the key is a project's file5521 returns File instances5522 when the key is project's files5523 returns two File instances5524 when 'include' is defined as an array5525 returns Files instances5526 when 'include' is defined as an array of hashes5527 returns Files instances5528 when it has ambigious match5529 returns ambigious specification error5530 when 'include' is not defined5531 returns an empty array5532 when duplicate 'include's are defined5533 does not raise an exception5534 has expanset with one5535 when passing max number of files5536 does not raise an exception5537 when too many 'includes' are defined5538 raises an exception5539 when including multiple files from a project5540 raises an exception5541 when 'include' section uses project variable5542 when local file is included as a single string5543 expands the variable5544 when remote file is included as a single string5545 expands the variable5546 defined as an array5547 expands the variable5548 defined as an array of hashes5549 expands the variable5550 local file hash5551 expands the variable5552 project name5553 expands the variable5554 with multiple files5555 expands the variable5556 when include variable has an unsupported type for variable expansion5557 does not invoke expansion for the variable5558 when local file path has wildcard5559 includes the matched local files5560 when 'include' has rules5561 when the rules matches5562 includes the file5563 when the rules does not match5564 does not include the file5565 when locations are same after masking variables5566 has expanset with two5567Atlassian::JiraConnect::Serializers::DeploymentEntity5568 when the deployment does not belong to any Jira issue5569 #issue_keys5570 is empty5571 #to_json5572 can encode the object5573 is invalid, since it has no issue keys5574 this is an external deployment5575 does not raise errors when serializing5576 returns an empty list of issue keys5577 environment type5578 tier: "other", env_type: "unmapped"5579 has the same type as the environment tier5580 when the deployment can be linked to a Jira issue5581 because it belongs to an MR with a jira_branch5582 #issue_keys5583 is not empty5584 #to_json5585 is valid according to the deployment info schema5586 because it belongs to an MR with a jira_title5587 #issue_keys5588 is not empty5589 #to_json5590 is valid according to the deployment info schema5591TodosHelper5592 #todos_count_format5593 shows fuzzy count for 100 or more items5594 shows exact count for 99 or fewer items5595 #todo_target_link5596 when given a design5597 produces a good link5598 #todo_target_title5599 when the target does not exist5600 returns an empty string5601 when given a design todo5602 returns an empty string5603 when given a non-design todo5604 returns the title5605 #todo_target_path5606 when given a design5607 responds with an appropriate path5608 when given an alert5609 responds with an appropriate path5610 #todo_target_type_name5611 when given a design todo5612 responds with an appropriate target type name5613 when given an alert todo5614 responds with an appropriate target type name5615 #todo_types_options5616 includes a match for a design todo5617 #todo_target_state_pill5618 merge request todo5619 behaves like no state pill5620 is expected to eq nil5621 merged MR5622 behaves like a rendered state pill5623 returns expected html5624 issue todo5625 behaves like no state pill5626 is expected to eq nil5627 closed issue5628 behaves like a rendered state pill5629 returns expected html5630 alert todo5631 behaves like no state pill5632 is expected to eq nil5633 resolved alert5634 behaves like a rendered state pill5635 returns expected html5636 #todo_author_display?5637 action: 3, result: false5638 is expected to eq false5639 action: 6, result: false5640 is expected to eq false5641 action: 1, result: true5642 is expected to eq true5643Gitlab::Ci::Pipeline::Chain::EnsureResourceGroups5644 #perform!5645 when a pipeline contains a job that requires a resource group5646 ensures the resource group existence5647 when a resource group has already been existed5648 ensures the resource group existence5649 when a resource group key contains an invalid character5650 does not create any resource groups5651 when a pipeline does not contain a job that requires a resource group5652 does not create any resource groups5653LfsObject5654 has a distinct has_many :projects relation through lfs_objects_projects5655 scopes5656 .not_existing_in_project5657 contains only lfs objects not linked to the project5658 .for_oids5659 returns the correct LfsObjects5660 #local_store?5661 returns true when file_store is equal to LfsObjectUploader::Store::LOCAL5662 returns false when file_store is equal to LfsObjectUploader::Store::REMOTE5663 #project_allowed_access?5664 returns true when project is linked5665 returns false when project is not linked5666 when project is a member of a fork network5667 returns true for all members when forked project is linked5668 returns true for all members when root of network is linked5669 returns false when no member of fork network is linked5670 #schedule_background_upload5671 when object storage is disabled5672 does not schedule the migration5673 when object storage is enabled5674 when background upload is enabled5675 when is licensed5676 schedules the model for migration5677 schedules the model for migration once5678 when background upload is disabled5679 schedules the model for migration5680 file is being stored5681 when existing object has local store5682 behaves like mounted file in local store5683 is stored locally5684 when direct upload is enabled5685 behaves like mounted file in object store5686 is stored remotely5687 .calculate_oid5688 returns SHA256 sum of the file5689 when an lfs object is associated with a project5690 cannot be deleted5691 .unreferenced_in_batches5692 returns lfs objects in batches5693WebIdeTerminalEntity5694 is expected to have key :id5695 is expected to have key :status5696 is expected to have key :show_path5697 is expected to have key :cancel_path5698 is expected to have key :retry_path5699 is expected to have key :terminal_path5700 is expected to have key :services5701 is expected to have key :proxy_websocket_path5702 when feature flag build_service_proxy is disabled5703 is expected not to have key :proxy_websocket_path5704PagesDeployment5705 saves size along with the file5706 associations5707 is expected to belong to project required: true5708 is expected to belong to ci_build optional: true5709 validations5710 is expected to validate that :file cannot be empty/falsy5711 is expected to validate that :size cannot be empty/falsy5712 is expected to validate that :size looks like an integer greater than 05713 is expected to validate that :file_count cannot be empty/falsy5714 is expected to validate that :file_count looks like an integer greater than or equal to 05715 is expected to validate that :file_sha256 cannot be empty/falsy5716 is expected to validate that :file_store is either ‹1› or ‹2›5717 is valid when created from the factory5718 .migrated_from_legacy_storage5719 only returns migrated deployments5720 with deployments stored locally and remotely5721 .with_files_stored_locally5722 only returns deployments with files stored locally5723 .with_files_stored_remotely5724 only returns deployments with files stored remotely5725 #migrated?5726 returns false for normal deployment5727 returns true for migrated deployment5728 default for file_store5729 uses local store when object storage is not enabled5730 uses remote store when object storage is enabled5731 .older_than5732 returns deployments with lower id5733PodLogs::KubernetesService5734 #get_raw_pods5735 returns success with passthrough k8s response5736 #pod_logs5737 returns the logs5738 handles Not Found errors from k8s5739 handles HTTP errors from k8s5740 #encode_logs_to_utf85741 converts logs to utf-85742 returns error if output of encoding helper is blank5743 returns error if output of encoding helper is nil5744 returns error if output of encoding helper is not UTF-85745 when logs are nil5746 returns nil5747 when logs are blank5748 returns blank string5749 when logs are already in utf-85750 does not fail5751 #split_logs5752 returns the logs5753 #check_pod_name5754 returns success if pod_name was specified5755 returns success if pod_name was not specified but there are pods5756 returns error if pod_name was not specified and there are no pods5757 returns error if pod_name was specified but does not exist5758 returns error if pod_name is too long5759 returns error if pod_name is in invalid format5760 #check_container_name5761 returns success if container_name was specified5762 returns success if container_name was not specified and there are containers5763 returns error if container_name was not specified and there are no containers on the pod5764 returns error if container_name was specified but does not exist5765 returns error if container_name is too long5766 returns error if container_name is in invalid format5767Gitlab::Ci::Pipeline::Chain::Populate5768 when pipeline doesn not have seeds block5769 does not persist the pipeline5770 does not break the chain5771 populates pipeline with stages5772 correctly assigns user5773 has pipeline iid5774 when pipeline is empty5775 breaks the chain5776 appends an error about missing stages5777 wastes pipeline iid5778 increments the error metric5779 pipeline protect5780 when ref is protected5781 does not protect the pipeline5782 when ref is not protected5783 does not protect the pipeline5784 when pipeline has validation errors5785 breaks the chain5786 appends validation error5787 wastes pipeline iid5788 when there is a seed blocks present5789 when seeds block builds some resources5790 populates pipeline with resources described in the seeds block5791 has pipeline iid5792 when seeds block tries to persist some resources5793 raises error5794 when pipeline gets persisted during the process5795 raises error5796 when variables policy is specified5797 when using only/except build policies5798 behaves like a correct pipeline5799 populates pipeline according to used policies5800 when variables expression is specified5801 when pipeline iid is the subject5802 behaves like a correct pipeline5803 populates pipeline according to used policies5804Gitlab::APIAuthentication::TokenResolver5805 .new5806 with a valid type5807 creates a new instance5808 with an invalid type5809 raises a validation error5810 #resolve5811 with :personal_access_token_with_username5812 with valid credentials5813 behaves like an authorized request5814 returns the correct token5815 with an invalid username5816 behaves like an unauthorized request5817 raises an error5818 with no username5819 behaves like an unauthorized request5820 raises an error5821 with :job_token_with_username5822 with valid credentials5823 behaves like an authorized request5824 returns the correct token5825 when the job is not running5826 behaves like an unauthorized request5827 raises an error5828 with the wrong username5829 behaves like an anoymous request5830 returns nil5831 with an invalid job token5832 behaves like an unauthorized request5833 raises an error5834 with :deploy_token_with_username5835 with a valid deploy token5836 behaves like an authorized request5837 returns the correct token5838 with an invalid username5839 behaves like an unauthorized request5840 raises an error5841 with :personal_access_token5842 with valid credentials5843 behaves like an authorized request5844 returns the correct token5845 with :job_token5846 with valid credentials5847 behaves like an authorized request5848 returns the correct token5849 when the job is not running5850 behaves like an unauthorized request5851 raises an error5852 with an invalid job token5853 behaves like an unauthorized request5854 raises an error5855 with :deploy_token5856 with a valid deploy token5857 behaves like an authorized request5858 returns the correct token5859 with :personal_access_token_from_jwt5860 with valid credentials5861 behaves like an authorized request5862 returns the correct token5863 with :deploy_token_from_jwt5864 with valid credentials5865 behaves like an authorized request5866 returns the correct token5867 with :job_token_from_jwt5868 with valid credentials5869 behaves like an authorized request5870 returns the correct token5871 when the job is not running5872 behaves like an unauthorized request5873 raises an error5874 with an invalid job token5875 behaves like an unauthorized request5876 raises an error5877Resolvers::BoardsResolver5878 #resolve5879 when there is no parent5880 returns none if parent is nil5881 when project boards5882 behaves like group and project boards resolver5883 does not create a default board5884 calls Boards::BoardsFinder5885 avoids N+1 queries5886 multiple_issue_boards_available?5887 returns multiple boards5888 returns only the first boards5889 when querying for a single board5890 returns specified board5891 returns nil if board not found5892 when group boards5893 behaves like group and project boards resolver5894 does not create a default board5895 calls Boards::BoardsFinder5896 avoids N+1 queries5897 multiple_issue_boards_available?5898 returns multiple boards5899 returns only the first boards5900 when querying for a single board5901 returns specified board5902 returns nil if board not found5903Gitlab::Ci::Pipeline::Chain::Build::Associations5904 sets pipeline variables5905 when a bridge is passed in to the pipeline creation5906 links the pipeline to the upstream bridge job5907 behaves like does not break the chain5908 returns false5909 when a bridge is not passed in to the pipeline creation5910 leaves the source pipeline empty5911 behaves like does not break the chain5912 returns false5913 when project setting restrict_user_defined_variables is enabled5914 when user is developer5915 returns an error on variables_attributes5916 behaves like breaks the chain5917 returns true5918 when variables_attributes is not specified5919 assigns empty variables5920 behaves like does not break the chain5921 returns false5922 when user is maintainer5923 assigns variables_attributes5924 behaves like does not break the chain5925 returns false5926 with duplicate pipeline variables5927 returns an error for variables_attributes5928 behaves like breaks the chain5929 returns true5930Commits::CherryPickService5931 #execute5932 behaves like successful cherry-pick5933 picks the commit into the branch5934 supports a custom commit message5935 when picking a merge-request5936 adds a system note5937 behaves like successful cherry-pick5938 picks the commit into the branch5939 supports a custom commit message5940Gitlab::Logger5941 .build5942 builds logger using Gitlab::Logger.log_level5943 raises ArgumentError if invalid log level5944 env_value: 0, resulting_level: 05945 builds logger if valid log level5946 env_value: :debug, resulting_level: 05947 builds logger if valid log level5948 env_value: "debug", resulting_level: 05949 builds logger if valid log level5950 env_value: "DEBUG", resulting_level: 05951 builds logger if valid log level5952 env_value: "DeBuG", resulting_level: 05953 builds logger if valid log level5954 env_value: 1, resulting_level: 15955 builds logger if valid log level5956 env_value: :info, resulting_level: 15957 builds logger if valid log level5958 env_value: "info", resulting_level: 15959 builds logger if valid log level5960 env_value: "INFO", resulting_level: 15961 builds logger if valid log level5962 env_value: "InFo", resulting_level: 15963 builds logger if valid log level5964 env_value: 2, resulting_level: 25965 builds logger if valid log level5966 env_value: :warn, resulting_level: 25967 builds logger if valid log level5968 env_value: "warn", resulting_level: 25969 builds logger if valid log level5970 env_value: "WARN", resulting_level: 25971 builds logger if valid log level5972 env_value: "WaRn", resulting_level: 25973 builds logger if valid log level5974 env_value: 3, resulting_level: 35975 builds logger if valid log level5976 env_value: :error, resulting_level: 35977 builds logger if valid log level5978 env_value: "error", resulting_level: 35979 builds logger if valid log level5980 env_value: "ERROR", resulting_level: 35981 builds logger if valid log level5982 env_value: "ErRoR", resulting_level: 35983 builds logger if valid log level5984 env_value: 4, resulting_level: 45985 builds logger if valid log level5986 env_value: :fatal, resulting_level: 45987 builds logger if valid log level5988 env_value: "fatal", resulting_level: 45989 builds logger if valid log level5990 env_value: "FATAL", resulting_level: 45991 builds logger if valid log level5992 env_value: "FaTaL", resulting_level: 45993 builds logger if valid log level5994 env_value: 5, resulting_level: 55995 builds logger if valid log level5996 env_value: :unknown, resulting_level: 55997 builds logger if valid log level5998 env_value: "unknown", resulting_level: 55999 builds logger if valid log level6000 env_value: "UNKNOWN", resulting_level: 56001 builds logger if valid log level6002 env_value: "UnKnOwN", resulting_level: 56003 builds logger if valid log level6004 .log_level6005 if GITLAB_LOG_LEVEL is set6006 returns value of GITLAB_LOG_LEVEL6007 ignores fallback6008 if GITLAB_LOG_LEVEL is not set6009 returns default fallback DEBUG6010 returns passed fallback6011Gitlab::Diff::DiffRefs6012 #==6013 when shas are missing6014 returns false6015 when shas are equal6016 returns true6017 when shas are unequal6018 returns false6019 when shas are truncated6020 when sha prefixes are too short6021 returns false6022 when sha prefixes are equal6023 returns true6024 when sha prefixes are unequal6025 returns false6026 #compare_in6027 with diff refs for the initial commit6028 returns an appropriate comparison6029 with diff refs for a commit6030 returns an appropriate comparison6031 with diff refs for a comparison through the base6032 returns an appropriate comparison6033 with diff refs for a straight comparison6034 returns an appropriate comparison6035UserFinder6036 #find_by_id6037 when the user exists6038 returns the user6039 when the user exists (id as string)6040 returns the user6041 when the user does not exist6042 returns nil6043 #find_by_username6044 when the user exists6045 returns the user6046 when the user does not exist6047 returns nil6048 #find_by_id_or_username6049 when the user exists (id)6050 returns the user6051 when the user exists (id as string)6052 returns the user6053 when the user exists (username)6054 returns the user6055 when the user does not exist (username)6056 returns nil6057 when the user does not exist6058 returns nil6059 #find_by_id!6060 when the user exists6061 returns the user6062 when the user exists (id as string)6063 returns the user6064 when the user does not exist6065 raises ActiveRecord::RecordNotFound6066 #find_by_username!6067 when the user exists6068 returns the user6069 when the user does not exist6070 raises ActiveRecord::RecordNotFound6071 #find_by_id_or_username!6072 when the user exists (id)6073 returns the user6074 when the user exists (id as string)6075 returns the user6076 when the user exists (username)6077 returns the user6078 when the user does not exist (username)6079 raises ActiveRecord::RecordNotFound6080 when the user does not exist6081 raises ActiveRecord::RecordNotFound6082Sidebars::Projects::Menus::MonitorMenu6083 #render?6084 when operations feature is disabled6085 returns false6086 when operation feature is enabled6087 when menu does not have any renderable menu items6088 returns false6089 when menu has menu items6090 returns true6091 #title6092 returns "Monitor"6093 #extra_container_html_options6094 returns "shortcuts-monitor"6095 Menu items6096 Metrics Dashboard6097 behaves like access rights checks6098 is expected not to be nil6099 when the user does not have access6100 is expected to be nil6101 Logs6102 behaves like access rights checks6103 is expected not to be nil6104 when the user does not have access6105 is expected to be nil6106 Tracing6107 behaves like access rights checks6108 is expected not to be nil6109 when the user does not have access6110 is expected to be nil6111 Error Tracking6112 behaves like access rights checks6113 is expected not to be nil6114 when the user does not have access6115 is expected to be nil6116 Alert Management6117 behaves like access rights checks6118 is expected not to be nil6119 when the user does not have access6120 is expected to be nil6121 Incidents6122 behaves like access rights checks6123 is expected not to be nil6124 when the user does not have access6125 is expected to be nil6126 Product Analytics6127 is expected not to be nil6128 when feature flag :product_analytics is disabled6129 is expected to be nil6130LoadedInGroupList6131 .with_selects_for_list6132 includes the preloaded counts for groups6133 with project namespaces6134 does not include project_namespaces in the count of subgroups6135 with archived projects6136 counts including archived projects when `true` is passed6137 when not counting archived projects6138 counts projects without archived ones6139 with archived only6140 counts only archived projects when `only` is passed6141 #children_count6142 counts groups and projects6143InstanceClusterablePresenter6144 #create_aws_clusters_path6145 is expected to eq "/admin/clusters/create_aws"6146 #connect_path6147 is expected to eq "/admin/clusters/connect"6148 #authorize_aws_role_path6149 is expected to eq "/admin/clusters/authorize_aws_role"6150 #clear_cluster_cache_path6151 is expected to eq "/admin/clusters/205/clear_cache"6152 #metrics_dashboard_path6153 is expected to eq "/admin/clusters/208/metrics_dashboard"6154 #learn_more_link6155 is expected to include "user/instance/clusters/index"6156Projects::Topic6157 is expected to be valid6158 modules6159 is expected to includes the Avatarable module6160 associations6161 is expected to have many project_topics6162 is expected to have many projects6163 validations6164 is expected to validate that :name cannot be empty/falsy6165 is expected to validate that :name is case-insensitively unique6166 is expected to validate that the length of :name is at most 2556167 is expected to validate that the length of :description is at most 10246168 is expected to validate that :title cannot be empty/falsy6169 is expected to validate that the length of :title is at most 2556170 scopes6171 order_by_non_private_projects_count6172 sorts topics by non_private_projects_count6173 reorder_by_similarity6174 sorts topics by similarity6175 #find_by_name_case_insensitive6176 returns topic with case insensitive name6177 #search6178 returns topics with a matching name6179 returns topics with a partially matching name6180 returns topics with a matching name regardless of the casing6181 #avatar_type6182 is true if avatar is image6183 is false if avatar is html page6184 #avatar_url6185 when avatar file is uploaded6186 shows correct avatar url6187FeatureFlagsFinder6188 #execute6189 returns feature flags ordered by name6190 preloads relations by default6191 when user is a reporter6192 returns an empty list6193 when scope is given6194 when scope is enabled6195 returns active feature flag6196 when scope is disabled6197 returns inactive feature flag6198 when preload option is false6199 does not preload relations6200Banzai::Filter::InlineMetricsFilter6201 leaves links to other dashboards unchanged6202 with /-/environments/:environment_id/metrics URL6203 with no query params6204 behaves like a metrics embed filter6205 when the document has an external link6206 leaves regular non-metrics links unchanged6207 when the document contains an embeddable link6208 leaves the original link unchanged6209 appends a metrics charts placeholder6210 in a paragraph6211 appends a metrics charts placeholder after the enclosing paragraph6212 with query params6213 behaves like a metrics embed filter6214 when the document has an external link6215 leaves regular non-metrics links unchanged6216 when the document contains an embeddable link6217 leaves the original link unchanged6218 appends a metrics charts placeholder6219 in a paragraph6220 appends a metrics charts placeholder after the enclosing paragraph6221 with /-/metrics?environment=:environment_id URL6222 with query params6223 behaves like a metrics embed filter6224 when the document has an external link6225 leaves regular non-metrics links unchanged6226 when the document contains an embeddable link6227 leaves the original link unchanged6228 appends a metrics charts placeholder6229 in a paragraph6230 appends a metrics charts placeholder after the enclosing paragraph6231 with only environment in query params6232 behaves like a metrics embed filter6233 when the document has an external link6234 leaves regular non-metrics links unchanged6235 when the document contains an embeddable link6236 leaves the original link unchanged6237 appends a metrics charts placeholder6238 in a paragraph6239 appends a metrics charts placeholder after the enclosing paragraph6240 with no query params6241 ignores metrics URL without environment parameter6242Gitlab::Metrics::Samplers::RubySampler6243 behaves like metrics sampler6244 when sampling interval is passed explicitly6245 is expected to eq 426246 when sampling interval is passed through the environment6247 is expected to eq 426248 when no sampling interval is passed anywhere6249 uses the hardcoded default6250 #start6251 calls the sample method on the sampler thread6252 with warmup set to true6253 calls the sample method first on the caller thread6254 #safe_sample6255 calls #sample once6256 when sampling fails with error6257 recovers from errors6258 with logger6259 logs errors6260 #initialize6261 sets process_start_time_seconds6262 when not setting a prefix6263 does not prepend metrics with that prefix6264 when using custom prefix6265 prepends metrics with that prefix6266 #sample6267 adds a metric containing the process resident memory bytes6268 adds a metric containing the process unique and proportional memory bytes6269 adds a metric containing the amount of open file descriptors6270 adds a metric containing the process total cpu time6271 adds a metric containing the process max file descriptors6272 clears any GC profiles6273 when USS+PSS sampling is disabled via environment6274 does not sample USS or PSS6275 #sample_gc6276 re-enables GC::Profiler if needed6277 observes GC cycles time6278 adds a metric containing garbage collection statistics6279Gitlab::AlertManagement::Payload::ManagedPrometheus6280 behaves like subclass has expected api6281 defines all public methods in the base class6282 #metric_id6283 is expected to be nil6284 with gitlab_alert_id6285 is expected to eq 126286 #gitlab_prometheus_alert_id6287 is expected to be nil6288 with gitlab_alert_id6289 is expected to eq 126290 #gitlab_alert6291 without alert info in payload6292 is expected to be nil6293 with metric id in payload6294 without matching alert6295 is expected to be nil6296 with matching alert6297 is expected to eq #<PrometheusAlert id: 42, created_at: "2022-04-28 18:58:17.482687374 +0000", updated_at: "2022-04-28 ....0, operator: "gt", environment_id: 76, project_id: 747, prometheus_metric_id: 42, runbook_url: nil>6298 when unclear which alert applies6299 is expected to be nil6300 with alert id6301 without matching alert6302 is expected to be nil6303 with matching alerts6304 is expected to eq #<PrometheusAlert id: 44, created_at: "2022-04-28 18:58:17.848061651 +0000", updated_at: "2022-04-28 ....0, operator: "gt", environment_id: 78, project_id: 747, prometheus_metric_id: 43, runbook_url: nil>6305 #full_query6306 is expected to be nil6307 with gitlab alert6308 is expected to eq "avg(metric) > 1.0"6309 with sufficient fallback info6310 is expected to eq "vector(1)"6311 #environment6312 with gitlab alert6313 is expected to eq #<Environment id: 80, project_id: 747, name: "environment55", created_at: "2022-04-28 18:58:18.246144...l, state: "available", slug: "environment55", auto_stop_at: nil, auto_delete_at: nil, tier: "other">6314 with sufficient fallback info6315 is expected to eq #<Environment id: 81, project_id: 747, name: "production", created_at: "2022-04-28 18:58:18.387957270... state: "available", slug: "production", auto_stop_at: nil, auto_delete_at: nil, tier: "production">6316 #metrics_dashboard_url6317 without alert6318 is expected to be nil6319 with gitlab alert6320 is expected to eq "http://localhost/namespace683/project767/prometheus/alerts/46/metrics_dashboard?embedded=true&end=2018-03-12T09%3A36%3A00Z&environment_id=82&start=2018-03-12T08%3A36%3A00Z"6321MergeRequest::Metrics6322 associations6323 is expected to belong to merge_request required: false6324 is expected to belong to target_project class_name => Project required: false6325 is expected to belong to latest_closed_by class_name => User required: false6326 is expected to belong to merged_by class_name => User required: false6327 scopes6328 .merged_after6329 finds the record6330 doesn't include record outside of the filter6331 .merged_before6332 finds the record6333 doesn't include record outside of the filter6334 .by_target_project6335 finds metrics record with the associated target project6336 behaves like cleanup by a loose foreign key6337 cleans up (delete or nullify) the model6338 update6339 when pipeline_id is nullified6340 nullifies build related columns via DB trigger6341 when updated but pipeline_id is not nullified6342 does not nullify build related columns6343Pages::MigrateLegacyStorageToDeploymentService6344 calls ::Pages::ZipDirectoryService6345 does not mark pages as not deployed if public directory is absent but invalid entries are not ignored6346 removes pages archive when can not save deployment6347 when mark_projects_as_not_deployed is passed6348 marks pages as not deployed if public directory is absent and invalid entries are ignored6349 does not mark pages as not deployed if public directory is absent but pages_deployment exists6350 when pages site is deployed to legacy storage6351 creates pages deployment6352 removes tmp pages archive6353 does not change pages deployment if it is set6354Gitlab::Instrumentation::RedisInterceptor6355 read and write6356 setup: [], command: [:set, "foo", "bar"], expect_write: 9, expect_read: 26357 counts bytes read and written6358 setup: [[:set, "foobar", 1000]], command: [:incr, "foobar"], expect_write: 10, expect_read: 46359 counts bytes read and written6360 setup: [], command: [:hgetall, "foobar"], expect_write: 13, expect_read: 06361 counts bytes read and written6362 setup: [[:hset, "myhash", "field", "hello world"]], command: [:hgetall, "myhash"], expect_write: 13, expect_read: 166363 counts bytes read and written6364 setup: [[:set, "foo", "barbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbar"]], command: [:get, "foo"], expect_write: 6, expect_read: 3006365 counts bytes read and written6366 setup: [[:zadd, "myset", 0, "foo"], [:zadd, "myset", 1, "bar"]], command: [:zrange, "myset", 0, -1, "withscores"], expect_write: 24, expect_read: 86367 counts bytes read and written6368 counting6369 counts successful requests6370 counts exceptions6371 latency6372 commands in the apdex6373 command: [:get, "foobar"]6374 measures requests we want in the apdex6375 command: ["GET", "foobar"]6376 measures requests we want in the apdex6377 commands not in the apdex6378 command: ["brpop", "foobar", "0.01"]6379 skips requests we do not want in the apdex6380 command: ["blpop", "foobar", "0.01"]6381 skips requests we do not want in the apdex6382 command: ["brpoplpush", "foobar", "bazqux", "0.01"]6383 skips requests we do not want in the apdex6384 command: ["bzpopmin", "foobar", "0.01"]6385 skips requests we do not want in the apdex6386 command: ["bzpopmax", "foobar", "0.01"]6387 skips requests we do not want in the apdex6388 command: ["xread", "block", "1", "streams", "mystream", "0-0"]6389 skips requests we do not want in the apdex6390 command: ["xreadgroup", "group", "mygroup", "myconsumer", "block", "1", "streams", "foobar", "0-0"]6391 skips requests we do not want in the apdex6392NotificationRecipients::Builder::Default6393 #build!6394 participants and project watchers6395 adds all participants and watchers6396 subscribers6397 adds all subscribers6398 custom notifications6399 behaves like custom notification recipients6400 with project custom notification setting6401 adds the user to the recipients6402 with the project custom notification setting in another project6403 does not add the user to the recipients6404 with group custom notification setting6405 adds the user to the recipients6406 with the group custom notification setting in another group6407 does not add the user to the recipients6408 with project global custom notification setting6409 with global custom notification setting6410 adds the user to the recipients6411 without global custom notification setting6412 does not add the user to the recipients6413 with group global custom notification setting6414 with global custom notification setting6415 adds the user to the recipients6416 without global custom notification setting6417 does not add the user to the recipients6418 with group custom notification setting in deeply nested parent group6419 adds the user to the recipients6420 without a project or group6421 does not add the user to the recipients6422Gitlab::Serverless::Service6423 exposes methods extracting data from the attributes hash6424 returns nil for missing attributes6425 #description6426 extracts the description in knative 7 format if available6427 extracts the description in knative 5/6 format if 7 is not available6428 #url6429 returns proxy URL if cluster has serverless domain6430 returns the URL from the knative 6/7 format6431 returns the URL from the knative 5 format6432Lfs::UnlockFileService6433 #execute6434 when not authorized6435 doesn't succeed6436 when authorized6437 when lock does not exists6438 doesn't succeed6439 when unlocked by the author6440 succeeds6441 when unlocked by a different user6442 doesn't succeed6443 when forced6444 by a regular user6445 doesn't succeed6446 by a maintainer user6447 succeeds6448Banzai::Filter::SpacedLinkFilter6449 does not process malicious input6450 converts multiple URLs6451 ignores valid links contained inside 'a' element6452 ignores valid links contained inside 'code' element6453 ignores valid links contained inside 'kbd' element6454 ignores valid links contained inside 'pre' element6455 ignores valid links contained inside 'script' element6456 ignores valid links contained inside 'style' element6457 when a link is detected6458 converts slug with spaces to a link6459 converts slug with spaces and a title to a link6460 does nothing with empty text6461 does nothing with an empty slug6462 when an image is detected6463 converts slug with spaces to an iamge6464 converts slug with spaces and a title to an image6465Types::BaseEnum6466 adds a formatted `deprecated_reason` to the subject6467 appends to the description if given6468 does not append to the description if it is absent6469 adds information about the replacement if provided6470 supports named reasons: renamed6471 supports named reasons: alpha6472 .from_rails_enum6473 contructs the correct values6474 .declarative_enum6475 #graphql_name6476 when the use_name is `true`6477 changes the graphql_name6478 when the use_name is `false`6479 does not change the graphql_name6480 #description6481 when the use_description is `true`6482 changes the description6483 when the use_description is `false`6484 does not change the description6485 #values6486 sets the values defined by the declarative enum6487 .enum6488 adds all enum values to #enum6489 is a HashWithIndefferentAccess6490 validations6491 raises an informative error if `deprecation_reason` is used6492 raises an error if a required property is missing6493 raises an error if milestone is not a String6494PodLogs::ElasticsearchService6495 #get_raw_pods6496 returns success with elasticsearch response6497 returns an error when ES is unreachable6498 handles server errors from elasticsearch6499 #check_times6500 with start and end provided and valid6501 returns success with times6502 with start and end not provided6503 returns success with nothing else6504 with start valid and end invalid6505 returns error6506 with start invalid and end valid6507 returns error6508 #check_search6509 with search provided and valid6510 returns success with search6511 with search provided and invalid6512 returns error6513 with search not provided6514 returns success with nothing else6515 #check_cursor6516 with cursor provided and valid6517 returns success with cursor6518 with cursor provided and invalid6519 returns error6520 with cursor not provided6521 returns success with nothing else6522 #pod_logs6523 returns the logs6524 returns an error when ES is unreachable6525 handles server errors from elasticsearch6526 handles cursor errors from elasticsearch6527Gitlab::Ci::Jwt6528 #payload6529 has correct values for the standard JWT attributes6530 has correct values for the custom attributes6531 skips user related custom attributes if build has no user assigned6532 ref type6533 branches6534 is "branch"6535 tags6536 is "tag"6537 merge requests6538 is "branch"6539 ref_protected6540 is false when ref is not protected6541 is true when ref is protected6542 environment6543 has correct values for environment attributes6544 .for_build6545 when ci_jwt_signing_key feature flag is disabled6546 behaves like generating JWT for build6547 when signing key is present6548 generates JWT with key id6549 generates JWT for the given job with ttl equal to build timeout6550 generates JWT for the given job with default ttl if build timeout is not set6551 when signing key is missing6552 raises NoSigningKeyError6553 when ci_jwt_signing_key feature flag is enabled6554 behaves like generating JWT for build6555 when signing key is present6556 generates JWT with key id6557 generates JWT for the given job with ttl equal to build timeout6558 generates JWT for the given job with default ttl if build timeout is not set6559 when signing key is missing6560 raises NoSigningKeyError6561CommitPresenter6562 #web_path6563 is expected to eq "/namespace741/project826/-/commit/b83d6e391c22777fca1ed3012fce84f633d7fed0"6564 #status_for6565 when user can read_commit_status6566 returns commit status for ref6567 when user can not read_commit_status6568 is nil6569 #any_pipelines?6570 when user can read pipeline6571 returns if there are any pipelines for commit6572 when user can not read pipeline6573 is false6574 #signature_html6575 renders html for displaying signature6576Resolvers::Terraform::StatesResolver6577 is expected to have nullable GraphQL type TerraformStateConnection6578 is expected to be truthy6579 #resolve6580 returns states associated with the agent6581 user does not have permission6582 is expected to be empty6583Resolvers::Terraform::StatesResolver.single6584 is expected to be < Resolvers::Terraform::StatesResolver6585 arguments6586 name6587 is expected to be present6588SnippetStatistics6589 is expected to belong to snippet required: false6590 is expected to validate that :snippet cannot be empty/falsy6591 #update_commit_count6592 updates the count of commits6593 when the snippet does not have a repository6594 returns 06595 #update_file_count6596 updates the count of files6597 when the snippet does not have a repository6598 returns 06599 #update_repository_size6600 updates the repository_size6601 when the snippet does not have a repository6602 returns 06603 #refresh!6604 retrieves and saves statistic data from repository6605 when the database is read-only6606 does nothing6607 with a PersonalSnippet6608 when creating6609 behaves like personal snippet statistics updates6610 schedules a namespace statistics worker6611 does not try to update project stats6612 when updating6613 behaves like personal snippet statistics updates6614 schedules a namespace statistics worker6615 does not try to update project stats6616 with a ProjectSnippet6617 does not call personal snippet callbacks6618 behaves like UpdateProjectStatistics6619 is expected to be a new record6620Gitlab::GithubImport::ParallelScheduling6621 #parallel?6622 returns true when running in parallel mode6623 returns false when running in sequential mode6624 #execute6625 imports data in parallel when running in parallel mode6626 imports data in parallel when running in sequential mode6627 expires the cache used for tracking already imported objects6628 logs the the process6629 when abort_on_failure is false6630 logs the error when it fails6631 when abort_on_failure is true6632 logs the error when it fails and marks import as failed6633 #sequential_import6634 imports data in sequence6635 #parallel_import6636 with multiple objects6637 imports data in parallel batches with delays6638 #each_object_to_import6639 yields every object to import6640 resumes from the last page6641 does not yield any objects if the page number was not set6642 does not yield the object if it was already imported6643 #already_imported?6644 returns false when an object has not yet been imported6645 returns true when an object has already been imported6646 #mark_as_imported6647 marks an object as already imported6648Gitlab::GitalyClient::StorageSettings6649 #initialize6650 when the storage contains no path6651 raises an error6652 when the argument isn't a hash6653 raises an error6654 when the storage is valid6655 raises no error6656 .gitaly_address6657 when the storage settings have no gitaly address but one is requested6658 raises an error6659 when the storage settings have a gitaly address and one is requested6660 returns the setting value6661 when the storage settings have a gitaly address keyed symbolically6662 raises no error6663 when the storage settings have a gitaly address keyed with a string6664 raises no error6665 .disk_access_denied?6666 when Rugged is enabled6667 returns false6668 when Rugged is disabled6669 returns true6670Todos::Destroy::ProjectPrivateService6671 #execute6672 when a project set to private6673 removes issue todos for a user who is not a member6674 when project is not private6675 does not remove any todos6676Ci::PrometheusMetrics::ObserveHistogramsService6677 with empty data6678 does not raise errors6679 observes metrics successfully6680 increments the metrics6681 returns an empty body and status code6682 with unknown histograms6683 raises ActiveRecord::RecordNotFound error6684RuboCop::Cop::RSpec::ExpectGitlabTracking6685 good: expect_snowplow_event(category: nil, action: nil)6686 does not register an offense6687 good: expect_snowplow_event(category: "EventCategory", action: "event_action")6688 does not register an offense6689 good: expect_snowplow_event(category: "EventCategory", action: "event_action", label: "label", property: "property")6690 does not register an offense6691 good: expect_no_snowplow_event6692 does not register an offense6693 bad: expect(Gitlab::Tracking).to receive(:event)6694 registers an offense6695 bad: expect(Gitlab::Tracking).to_not receive(:event)6696 registers an offense6697 bad: expect(Gitlab::Tracking).not_to receive(:event)6698 registers an offense6699 bad: expect(Gitlab::Tracking).to_not receive(:event).with("EventCategory", "event_action")6700 registers an offense6701 bad: expect(Gitlab::Tracking).not_to receive(:event).with("EventCategory", "event_action")6702 registers an offense6703 bad: expect(Gitlab::Tracking).to receive(:event).with("EventCategory", "event_action", label: "label", property: "property")6704 registers an offense6705 bad: expect(Gitlab::Tracking).to have_received(:event).with("EventCategory", "event_action")6706 registers an offense6707 bad: expect(Gitlab::Tracking).to_not have_received(:event).with("EventCategory", "event_action")6708 registers an offense6709 bad: expect(Gitlab::Tracking).not_to have_received(:event).with("EventCategory", "event_action")6710 registers an offense6711 bad: allow(Gitlab::Tracking).to receive(:event).and_call_original6712 registers an offense6713Projects::RepositoryStorageMove6714 behaves like handles repository moves6715 associations6716 is expected to belong to container required: false6717 validations6718 is expected to validate that :container cannot be empty/falsy6719 is expected to validate that :state cannot be empty/falsy6720 is expected to validate that :source_storage_name cannot be empty/falsy6721 is expected to validate that :destination_storage_name cannot be empty/falsy6722 source_storage_name inclusion6723 does not allow repository storages that don't match a label in the configuration6724 destination_storage_name inclusion6725 does not allow repository storages that don't match a label in the configuration6726 container repository read-only6727 does not allow the container to be read-only on create6728 defaults6729 destination_storage_name6730 can pick new storage6731 state transitions6732 when in the default state6733 and transits to scheduled6734 triggers the corresponding repository storage worker6735 when the transition fails6736 does not trigger the corresponding repository storage worker and adds an error6737 and transits to started6738 does not allow the transition6739 when started6740 and transits to replicated6741 marks the container as writable6742 updates the updated_at column of the container6743 and transits to failed6744 marks the container as writable6745 state transitions6746 when started6747 and transits to replicated6748 sets the repository storage and marks the container as writable6749Gitlab::Experimentation6750 .get_experiment6751 returns experiment6752 is expected to be an instance of Gitlab::Experimentation::Experiment6753 experiment is not defined6754 is expected to be nil6755 .active?6756 feature toggle is enabled6757 is expected to eq true6758 experiment is not defined6759 returns false6760 experiment is disabled6761 is expected to eq false6762 .in_experiment_group?6763 when experiment is active6764 when subject is part of the experiment6765 is expected to eq true6766 when subject is not part of the experiment6767 is expected to eq false6768 when subject has a global_id6769 is expected to eq true6770 when subject is nil6771 is expected to eq false6772 when subject is an empty string6773 is expected to eq false6774 when experiment is not active6775 is expected to eq false6776 .log_invalid_rollout6777 subject is not valid for experiment6778 logs a warning message6779 subject is valid for experiment6780 does not log a warning message6781 .valid_subject_for_rollout_strategy?6782 rollout_strategy: :cookie, experiment_subject: nil, result: true6783 is expected to equal true6784 rollout_strategy: nil, experiment_subject: nil, result: true6785 is expected to equal true6786 rollout_strategy: :cookie, experiment_subject: "string", result: true6787 is expected to equal true6788 rollout_strategy: nil, experiment_subject: #<User id: @>, result: false6789 is expected to equal false6790 rollout_strategy: :user, experiment_subject: #<User id: @>, result: true6791 is expected to equal true6792 rollout_strategy: :group, experiment_subject: #<User id: @>, result: false6793 is expected to equal false6794 rollout_strategy: :group, experiment_subject: #<Group id: @>, result: true6795 is expected to equal true6796Gitlab::BatchPopQueueing6797 #initialize6798 namespace: "feature", queue_id: "1", expect_error: false, error_type: nil6799 is expected not to raise Exception6800 namespace: :feature, queue_id: "1", expect_error: false, error_type: nil6801 is expected not to raise Exception6802 namespace: nil, queue_id: "1", expect_error: true, error_type: NoMethodError6803 is expected to raise NoMethodError6804 namespace: "feature", queue_id: nil, expect_error: true, error_type: NoMethodError6805 is expected to raise NoMethodError6806 namespace: "", queue_id: "1", expect_error: true, error_type: ArgumentError6807 is expected to raise ArgumentError6808 namespace: "feature", queue_id: "", expect_error: true, error_type: ArgumentError6809 is expected to raise ArgumentError6810 namespace: "feature", queue_id: 1, expect_error: true, error_type: NoMethodError6811 is expected to raise NoMethodError6812 #safe_execute6813 enqueues new items always6814 yields the new items with exclusive lease6815 returns the result and no items in the queue6816 when new items are enqueued during the process6817 returns the result with newly added items6818 when interger items are enqueued6819 yields as String values6820 when the queue key does not exist in Redis6821 yields empty array6822 when the other process has already been working on the queue6823 does not yield the block6824 returns the result6825 when a duplicate item is enqueued6826 returns the poped items to the queue and raise an error6827 when there are two queues6828 enqueues items to each queue6829Gitlab::PhabricatorImport::ProjectCreator6830 #execute6831 creates a project correctly and schedule an import6832 when import params are missing6833 returns nil6834 when import params are invalid6835 returns an unpersisted project6836Sidebars::Projects::Menus::ZentaoMenu6837 behaves like ZenTao menu with CE version6838 #render?6839 when issues integration is disabled6840 returns false6841 when issues integration is enabled6842 returns true6843 renders menu link6844 renders external-link icon6845 renders ZenTao menu6846 does not contain items6847Mutations::Todos::MarkDone6848 is expected to require graphql authorizations :update_todo6849 #resolve6850 marks a single todo as done6851 handles a todo which is already done as expected6852 ignores requests for todos which do not belong to the current user6853 ignores invalid GIDs6854Gitlab::Diff::Line6855 .init_from_hash6856 behaves like line object initialized by hash6857 round-trips correctly with to_hash6858 .safe_init_from_hash6859 ensures rich_text is HTML-safe6860 behaves like line object initialized by hash6861 round-trips correctly with to_hash6862 when given hash has no rich_text6863 behaves like line object initialized by hash6864 round-trips correctly with to_hash6865 #text6866 returns raw diff text6867 when prefix is disabled6868 returns raw diff text without prefix6869 when diff is empty6870 returns an empty raw diff6871 when setting rich text6872 escapes any HTML special characters in the diff chunk header6873 #set_marker_ranges6874 stores MarkerRanges in Diff::Line object6875Terraform::RemoteStateHandler6876 #find_with_lock6877 without a state name6878 raises an exception6879 with a state name6880 with no matching state6881 raises an exception6882 with a matching state6883 returns the state6884 when state locking is not being used6885 #handle_with_lock6886 allows to modify a state using database locking6887 returns nil6888 #lock!6889 raises an error6890 when using locking6891 #handle_with_lock6892 handles a locked state using exclusive read lock6893 raises exception if lock has not been acquired before6894 user does not have permission to modify state6895 raises an exception6896 #lock!6897 allows to lock state if it does not exist yet6898 allows to lock state if it exists and is not locked6899 raises an exception when trying to unlocked state locked by someone else6900 #unlock!6901 unlocks the state6902 with no lock ID (force-unlock)6903 unlocks the state6904 with different lock ID6905 raises an exception6906layouts/_search6907 when doing project level search6908 behaves like search context scope is set6909 when rendering6910 sets the placeholder6911 when on issues6912 sets scope to issues6913 when on merge requests6914 sets scope to merge_requests6915 when doing group level search6916 behaves like search context scope is set6917 when rendering6918 sets the placeholder6919 when on issues6920 sets scope to issues6921 when on merge requests6922 sets scope to merge_requests6923ProjectCacheWorker6924 #perform6925 with a non-existing project6926 does nothing6927 with an existing project without a repository6928 updates statistics but does not refresh the method cashes6929 with an existing project6930 refreshes the method caches6931 with statistics disabled6932 does not update the project statistics6933 with statistics6934 updates the project statistics6935 with plain readme6936 refreshes the method caches6937 #update_statistics6938 when a lease could not be obtained6939 does not update the project statistics6940 when a lease could be obtained6941 updates the project statistics twice6942 behaves like an idempotent worker6943 is labeled as idempotent6944 performs multiple times sequentially without raising an exception6945 calls Projects::UpdateStatisticsService service twice6946MergeRequestUserEntity6947 #as_json6948 exposes needed attributes6949 when `status` is not preloaded6950 does not expose the availability attribute6951 when the user has not approved the merge-request6952 exposes that the user has not approved the MR6953 when the user has approved the merge-request6954 exposes that the user has approved the MR6955 when `status` is preloaded6956 exposes the availibility attribute6957 attention_requested6958 is expected to include {:attention_requested => true}6959 performance6960 is linear in the number of merge requests (PENDING: See: https://gitlab.com/gitlab-org/gitlab/-/issues/322549)6961Gitlab::Analytics::CycleAnalytics::Aggregated::RecordsFetcher6962 #serialized_records6963 sorting6964 when sorting by end event DESC6965 behaves like match returned records6966 returns issues in the correct order6967 when intervalstyle setting is configured to "postgres"6968 avoids nil durations6969 when sorting by end event ASC6970 behaves like match returned records6971 returns issues in the correct order6972 when sorting by duration DESC6973 behaves like match returned records6974 returns issues in the correct order6975 when sorting by duration ASC6976 behaves like match returned records6977 returns issues in the correct order6978 pagination6979 behaves like match returned records6980 returns issues in the correct order6981 when passing a block to serialized_records method6982 yields the underlying stage event scope6983 when the issue record no longer exists6984 skips non-existing issue records6985Clusters::Kubernetes6986 is expected to be const defined :GITLAB_SERVICE_ACCOUNT_NAME6987 is expected to be const defined :GITLAB_SERVICE_ACCOUNT_NAMESPACE6988 is expected to be const defined :GITLAB_ADMIN_TOKEN_NAME6989 is expected to be const defined :GITLAB_CLUSTER_ROLE_BINDING_NAME6990 is expected to be const defined :GITLAB_CLUSTER_ROLE_NAME6991 is expected to be const defined :PROJECT_CLUSTER_ROLE_NAME6992 is expected to be const defined :GITLAB_KNATIVE_SERVING_ROLE_NAME6993 is expected to be const defined :GITLAB_KNATIVE_SERVING_ROLE_BINDING_NAME6994 is expected to be const defined :GITLAB_CROSSPLANE_DATABASE_ROLE_NAME6995 is expected to be const defined :GITLAB_CROSSPLANE_DATABASE_ROLE_BINDING_NAME6996Ci::CreatePipelineService6997 when the variable is set6998 uses the evaluated variable6999 when the tag is composed by two variables7000 uses the evaluated variables7001 when the variable is not set7002 uses the variable as a regular string7003 when the tag uses group variables7004 uses the evaluated variables7005 when the tag has the same variable name defined for both group and project7006 uses the project variable instead of group due to variable precedence7007 with parallel:matrix config7008 uses the evaluated variables7009Gitlab::Utils::MimeType7010 .from_io7011 input isn't an IO7012 returns nil7013 input is a file7014 fixture: "banana_sample.gif", mime_type: "image/gif"7015 is expected to eq "image/gif"7016 fixture: "rails_sample.jpg", mime_type: "image/jpeg"7017 is expected to eq "image/jpeg"7018 fixture: "rails_sample.png", mime_type: "image/png"7019 is expected to eq "image/png"7020 fixture: "rails_sample.bmp", mime_type: "image/bmp"7021 is expected to eq "image/bmp"7022 fixture: "rails_sample.tif", mime_type: "image/tiff"7023 is expected to eq "image/tiff"7024 fixture: "sample.ico", mime_type: "image/vnd.microsoft.icon"7025 is expected to eq "image/vnd.microsoft.icon"7026 fixture: "blockquote_fence_before.md", mime_type: "text/plain"7027 is expected to eq "text/plain"7028 fixture: "csv_empty.csv", mime_type: "application/x-empty"7029 is expected to eq "application/x-empty"7030 .from_string7031 input isn't a string7032 returns nil7033 input is a string7034 is expected to eq "text/plain"7035Deployments::HooksWorker7036 #perform7037 executes project services for deployment_hooks7038 does not execute an inactive service7039 does not execute if a deployment does not exist7040 execute webhooks7041 behaves like worker with data consistency7042 .get_data_consistency_feature_flag_enabled?7043 returns true7044 .get_data_consistency7045 returns correct data consistency7046MemberSerializer7047 group member7048 handles last group owner assignment7049 behaves like members.json7050 is expected to match schema "members"7051 project member7052 does not invoke group owner assignment7053 behaves like members.json7054 is expected to match schema "members"7055Preloaders::UserMaxAccessLevelInProjectsPreloader7056 preload maximum access level to avoid querying project_authorizations7057 avoids N+1 queries7058 runs N queries without preloading7059Snippets::RepositoryValidationService7060 #execute7061 returns error when the repository has more than one branch7062 returns error when existing branch name is not the default one7063 returns error when the repository has tags7064 returns error when the repository has more file than the limit7065 returns error when the repository has no files7066 returns error when the repository size is over the limit7067 returns success when no validation errors are raised7068Gitlab::Ci::Status::Build::Scheduled7069 #illustration7070 is expected to include :image, :size, and :title7071 #status_tooltip7072 has a placeholder for the remaining time7073 .matches?7074 when build is scheduled and scheduled_at is present7075 is expected to be truthy7076 when build is scheduled7077 is expected to be falsy7078 when scheduled_at is present7079 is expected to be falsy7080Clusters::Applications::PrometheusConfigService7081 #execute7082 with alerts7083 enables alertmanager7084 alertmanagerFiles7085 contains receivers and route7086 receivers7087 sets receiver7088 sets webhook_config7089 route7090 sets route7091 serverFiles7092 sets the alerts7093 with parameterized queries7094 substitutes query variables7095 with multiple environments7096 sets alerts for multiple environment7097 substitutes query variables once per environment7098 without alerts7099 disables alertmanager7100 removes alertmanagerFiles7101 removes alerts7102Gitlab::Ci::Build::Rules::Rule::Clause7103 .fabricate7104 when type is valid7105 type: "changes", result: Gitlab::Ci::Build::Rules::Rule::Clause::Changes7106 is expected to be an instance of Gitlab::Ci::Build::Rules::Rule::Clause::Changes7107 type: "exists", result: Gitlab::Ci::Build::Rules::Rule::Clause::Exists7108 is expected to be an instance of Gitlab::Ci::Build::Rules::Rule::Clause::Exists7109 type: "if", result: Gitlab::Ci::Build::Rules::Rule::Clause::If7110 is expected to be an instance of Gitlab::Ci::Build::Rules::Rule::Clause::If7111 when type is invalid7112 is expected to be nil7113 when type is 'variables'7114 is expected to be nil7115Banzai::Pipeline::DescriptionPipeline7116 uses a limited allowlist7117 removes 'pre' elements7118 removes 'code' elements7119 removes 'img' elements7120 removes 'ol' elements7121 removes 'ul' elements7122 removes 'li' elements7123 still allows 'b' elements7124 still allows 'i' elements7125 still allows 'strong' elements7126 still allows 'em' elements7127 still allows 'a' elements7128 still allows 'ins' elements7129 still allows 'del' elements7130 still allows 'sup' elements7131 still allows 'sub' elements7132 still allows 'p' elements7133ProtectedBranchesFinder7134 #execute7135 returns all protected branches of project by default7136 when search param is present7137 filters by search param7138 when there are more protected branches than the limit7139 returns limited protected branches of project7140Gitlab::LoopHelpers7141 #loop_until7142 when limit is not given7143 raises an error7144 when timeout is specified7145 returns false after it's expired7146 executes the block at least once7147 when iteration limit is specified7148 returns false after it's expired7149 executes the block once7150Packages::Debian::GroupComponent7151 behaves like Debian Distribution Component7152 relationships7153 is expected to belong to distribution class_name => Packages::Debian::GroupDistribution required: false inverse_of => components7154 is expected to have many files class_name => Packages::Debian::GroupComponentFile inverse_of => component7155 validations7156 #distribution7157 is expected to validate that :distribution cannot be empty/falsy7158 #name7159 is expected to validate that :name cannot be empty/falsy7160 is expected to allow :name to be ‹"main"›7161 is expected to allow :name to be ‹"non-free"›7162 is expected to allow :name to be ‹"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"›7163 is expected not to allow :name to be ‹"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"›7164 is expected not to allow :name to be ‹"non/free"›7165 is expected not to allow :name to be ‹"hé"›7166 scopes7167 .ordered_by_name7168 sorts by name7169 .with_distribution7170 does not return other distributions7171 .with_name7172 does not return other distributions7173Banzai::Filter::AssetProxyFilter7174 does not replace if disabled7175 during initialization7176 #initialize_settings7177 supports deprecated whitelist settings7178 when allowlist is empty7179 defaults to the install domain7180 when properly configured7181 replaces img src7182 skips internal images7183 skip relative urls7184 skips single domain7185 skips single domain and ignores url in query string7186 skips wildcarded domain7187Analytics::UsageTrends::CounterJobWorker7188 is labeled as idempotent7189 performs multiple times sequentially without raising an exception7190 counts a scope and stores the result7191 does not raise error when inserting duplicated measurement7192 does not insert anything when BatchCount returns error7193 when no records are in the database7194 sets 0 as the count7195 when pipelines_succeeded identifier is passed7196 counts successful pipelines7197Gitlab::Ci::Config::Normalizer::NumberStrategy7198 .applies_to?7199 with numbers7200 is expected to be truthy7201 with hash that has :number key7202 is expected to be truthy7203 with a float number7204 is expected to be falsey7205 with hash that does not have :number key7206 is expected to be falsey7207 .build_from7208 with numbers7209 behaves like parallelized job7210 is expected to eq 37211 has attributes7212 has parallelized name7213 with hash that has :number key7214 behaves like parallelized job7215 is expected to eq 37216 has attributes7217 has parallelized name7218Gitlab::Usage::ServicePing::LegacyMetricTimingDecorator7219 metric_value: 1, metric_class: Integer7220 exposes a duration with the correct value7221 imitates wrapped class7222 metric_value: "value", metric_class: String7223 exposes a duration with the correct value7224 imitates wrapped class7225 metric_value: true, metric_class: TrueClass7226 exposes a duration with the correct value7227 imitates wrapped class7228 metric_value: false, metric_class: FalseClass7229 exposes a duration with the correct value7230 imitates wrapped class7231 metric_value: nil, metric_class: NilClass7232 exposes a duration with the correct value7233 imitates wrapped class7234HooksHelper7235 #link_to_test_hook7236 returns project namespaced link7237 returns admin namespaced link7238 #hook_log_path7239 with a project hook7240 returns project-namespaced link7241 with a service hook7242 returns project-namespaced link7243 with a system hook7244 returns admin-namespaced link7245IrkerWorker#perform7246 local requests are not allowed7247 is expected to be falsey7248 connection fails7249 is expected to be falsey7250 connection successful7251 is expected to be truthy7252 new branch7253 sends a correct message with branches url7254 deleted branch7255 sends a correct message7256 new commits to existing branch7257 sends a correct message with a compare url7258ThemeKit.gitlab-ci.yml7259 the created pipeline7260 on the default branch7261 only creates staging deploy7262 on a tag7263 only creates a production deploy7264 outside of the default branch7265 has no jobs7266API::Helpers::SSEHelpers7267 #request_from_sse?7268 when referer is nil7269 returns false7270 when referer is not from SSE7271 returns false7272 when referer is from SSE7273 returns true7274Packages::Composer::VersionParserService7275 #execute7276 tagname: nil, branchname: "master", expected_version: "dev-master"7277 is expected to eq "dev-master"7278 tagname: nil, branchname: "my-feature", expected_version: "dev-my-feature"7279 is expected to eq "dev-my-feature"7280 tagname: nil, branchname: "12-feature", expected_version: "dev-12-feature"7281 is expected to eq "dev-12-feature"7282 tagname: nil, branchname: "v1", expected_version: "1.x-dev"7283 is expected to eq "1.x-dev"7284 tagname: nil, branchname: "v1.x", expected_version: "1.x-dev"7285 is expected to eq "1.x-dev"7286 tagname: nil, branchname: "v1.7.x", expected_version: "1.7.x-dev"7287 is expected to eq "1.7.x-dev"7288 tagname: nil, branchname: "v1.7", expected_version: "1.7.x-dev"7289 is expected to eq "1.7.x-dev"7290 tagname: nil, branchname: "1.7.x", expected_version: "1.7.x-dev"7291 is expected to eq "1.7.x-dev"7292 tagname: "v1.0.0", branchname: nil, expected_version: "1.0.0"7293 is expected to eq "1.0.0"7294 tagname: "v1.0", branchname: nil, expected_version: "1.0"7295 is expected to eq "1.0"7296 tagname: "v1.0.1+meta", branchname: nil, expected_version: "1.0.1+meta"7297 is expected to eq "1.0.1+meta"7298 tagname: "1.0", branchname: nil, expected_version: "1.0"7299 is expected to eq "1.0"7300 tagname: "1.0.2", branchname: nil, expected_version: "1.0.2"7301 is expected to eq "1.0.2"7302 tagname: "1.0.2-beta2", branchname: nil, expected_version: "1.0.2-beta2"7303 is expected to eq "1.0.2-beta2"7304 tagname: "1.0.1+meta", branchname: nil, expected_version: "1.0.1+meta"7305 is expected to eq "1.0.1+meta"7306Gitlab::HealthChecks::Redis::QueuesCheck7307 #metrics7308 Check is passing7309 is expected to include (have attributes {:name => "redis_queues_ping_success", :value => 1})7310 is expected to include (have attributes {:name => "redis_queues_ping_timeout", :value => 0})7311 is expected to include (have attributes {:name => "redis_queues_ping_latency_seconds", :value => (be >= 0)})7312 Check is misbehaving7313 is expected to include (have attributes {:name => "redis_queues_ping_success", :value => 0})7314 is expected to include (have attributes {:name => "redis_queues_ping_timeout", :value => 0})7315 is expected to include (have attributes {:name => "redis_queues_ping_latency_seconds", :value => (be >= 0)})7316 Check is timeouting7317 is expected to include (have attributes {:name => "redis_queues_ping_success", :value => 0})7318 is expected to include (have attributes {:name => "redis_queues_ping_timeout", :value => 1})7319 is expected to include (have attributes {:name => "redis_queues_ping_latency_seconds", :value => (be >= 0)})7320 #readiness7321 Check returns ok7322 is expected to have attributes {:success => true}7323 Check is misbehaving7324 is expected to have attributes {:message => "unexpected Queues check result: error!", :success => false}7325 Check is timeouting7326 is expected to have attributes {:message => "Queues check timed out", :success => false}7327 Check is raising an unhandled exception7328 is expected to have attributes {:message => "unexpected Queues check result: unexpected error", :success => false}7329BitbucketServer::Representation::Activity7330 regular comment7331 is expected to be truthy7332 is expected to be falsey7333 is expected to be a kind of BitbucketServer::Representation::Comment7334 is expected to be a kind of Time7335 inline comment7336 is expected to be truthy7337 is expected to be truthy7338 is expected to be a kind of BitbucketServer::Representation::PullRequestComment7339 is expected to be a kind of Time7340 merge event7341 is expected to be falsey7342 is expected to be falsey7343 is expected to eq "root"7344 is expected to eq "test.user@example.com"7345 is expected to be a kind of Time7346 is expected to be a kind of Time7347 is expected to eq "839fa9a2d434eb697815b8fcafaecc51accfdbbc"7348layouts/profile7349 calls enable_search_settings helper with a custom container class7350 displays the search settings entry point7351MergeRequests::AssignsMergeParams7352 raises an error when used from an instance that does not respond to #current_user7353 #assign_allowed_merge_params7354 only assigns known parameters to the merge request7355 returns a hash without the known merge params7356 the force_remove_source_branch param7357 assigns the param if the user is allowed to do that7358 only removes the param if the user is not allowed to do that7359Gitlab::Cleanup::RemoteUploads7360 when object_storage is enabled7361 when dry_run is set to false7362 moves files that are not in uploads table7363 when dry_run is set to true7364 does not move filese7365 when object_storage is not enabled7366 does not connect to any storage7367Clusters::Integrations::CreateService#execute7368 behaves like a cluster integration7369 when enabled param is true7370 creates a new enabled integration7371 when enabled param is false7372 creates a new disabled integration7373 when integration already exists7374 updates the integration7375 behaves like a cluster integration7376 when enabled param is true7377 creates a new enabled integration7378 when enabled param is false7379 creates a new disabled integration7380 when integration already exists7381 updates the integration7382 when application_type is invalid7383 errors7384 when user is unauthorized7385 returns error and does not create a new integration record7386forked project import7387 can access the MR7388Gitlab::Diff::FileCollection::MergeRequestDiffBase7389 #overflow?7390 when it is not overflown7391 returns false7392 when it is overflown7393 returns true7394 #cache_key7395 returns cache_key from merge_request_diff7396Gitlab::Ci::Config::Entry::Inherit::Variables7397 validations7398 config: true, valid: true7399 is expected to eq true7400 config: false, valid: true7401 is expected to eq true7402 config: ["A"], valid: true7403 is expected to eq true7404 config: ["A", "B"], valid: true7405 is expected to eq true7406 config: [:image], valid: true7407 is expected to eq true7408 config: [true], valid: false7409 is expected to eq false7410 config: "string", valid: false7411 is expected to eq false7412Mutations::CustomEmoji::Create7413 #resolve7414 creates the custom emoji7415 sets the creator to be the user who added the emoji7416Gitlab::Analytics::CycleAnalytics::Sorting7417 when invalid sorting params are given7418 falls back to end_event DESC sorting7419 sorting end_event7420 direction desc7421 is expected to eq [#<Arel::Nodes::Descending:0x00007fa8a0428128 @expr=#<struct Arel::Attributes::Attribute relation=#<A...nteger, removed_lines: integer, target_project_id: integer)>, @table_alias=nil>, name="merged_at">>]7422 direction asc7423 is expected to eq [#<Arel::Nodes::Ascending:0x00007fa8b2e6fea8 @expr=#<struct Arel::Attributes::Attribute relation=#<Ar...nteger, removed_lines: integer, target_project_id: integer)>, @table_alias=nil>, name="merged_at">>]7424 sorting duration7425 direction desc7426 is expected to eq [#<Arel::Nodes::Descending:0x00007fa8bb72d588 @expr=#<Arel::Nodes::Subtraction:0x00007fa8bb72d740 @le...ger, merge_ref_sha: binary, draft: boolean)>, @table_alias=nil>, name="created_at">, @operator=:->>]7427 direction asc7428 is expected to eq [#<Arel::Nodes::Ascending:0x00007fa8b7083920 @expr=#<Arel::Nodes::Subtraction:0x00007fa8b7083948 @lef...ger, merge_ref_sha: binary, draft: boolean)>, @table_alias=nil>, name="created_at">, @operator=:->>]7429Gitlab::X509::Tag7430 #signature7431 signed tag7432 is expected not to be nil7433 is expected to eq :unverified7434 is expected to have attributes {:email => "r.meier@siemens.com", :serial_number => 3664232660, :subject => "CN=Meier Roger,O=Siemens,SN=Me...r=Z000NWDH", :subject_key_identifier => "21:7E:82:45:29:5D:0E:B1:19:CD:24:45:65:EE:0C:5C:73:03:5E:33"}7435 is expected to have attributes {:crl_url => "http://ch.siemens.com/pki?ZZZZZZA6.crl", :subject => "CN=Siemens Issuing CA Medium Strength...ayern,C=DE", :subject_key_identifier => "F8:15:5D:47:0C:6C:77:7B:72:C4:02:17:91:68:A2:B6:F7:6A:09:44"}7436 unsigned tag7437 is expected to be nil7438LooseForeignKeys::CleanupWorker7439-- create_table(:_test_loose_fk_parent_table_1)7440 -> 0.0032s7441-- create_table(:_test_loose_fk_parent_table_2)7442 -> 0.0022s7443-- create_table(:_test_loose_fk_child_table_1_1)7444 -> 0.0024s7445-- create_table(:_test_loose_fk_child_table_1_2)7446 -> 0.0023s7447-- create_table(:_test_loose_fk_child_table_2_1)7448 -> 0.0027s7449-- execute("CREATE TRIGGER _test_loose_fk_parent_table_1_loose_fk_trigger\nAFTER DELETE ON _test_loose_fk_parent_table_1 REFERENCING OLD TABLE AS old_table\nFOR EACH STATEMENT\nEXECUTE FUNCTION insert_into_loose_foreign_keys_deleted_records();\n")7450 -> 0.0020s7451-- execute("CREATE TRIGGER _test_loose_fk_parent_table_2_loose_fk_trigger\nAFTER DELETE ON _test_loose_fk_parent_table_2 REFERENCING OLD TABLE AS old_table\nFOR EACH STATEMENT\nEXECUTE FUNCTION insert_into_loose_foreign_keys_deleted_records();\n")7452 -> 0.0014s7453 cleans up all rows7454 when deleting in batches7455 cleans up all rows7456 when the deleted rows count limit have been reached7457 cleans up 2 rows7458 multi-database support7459 current_minute: 2, configured_base_models: {:main=>"ApplicationRecord", :ci=>"Ci::ApplicationRecord"}, expected_connection_model: "ApplicationRecord"7460 uses the correct connection7461 current_minute: 3, configured_base_models: {:main=>"ApplicationRecord", :ci=>"Ci::ApplicationRecord"}, expected_connection_model: "Ci::ApplicationRecord"7462 uses the correct connection7463 current_minute: 2, configured_base_models: {:main=>"ApplicationRecord"}, expected_connection_model: "ApplicationRecord"7464 uses the correct connection7465 current_minute: 3, configured_base_models: {:main=>"ApplicationRecord"}, expected_connection_model: "ApplicationRecord"7466 uses the correct connection7467-- drop_table(:_test_loose_fk_parent_table_1)7468 -> 0.0029s7469-- drop_table(:_test_loose_fk_parent_table_2)7470 -> 0.0023s7471-- drop_table(:_test_loose_fk_child_table_1_1)7472 -> 0.0013s7473-- drop_table(:_test_loose_fk_child_table_1_2)7474 -> 0.0015s7475-- drop_table(:_test_loose_fk_child_table_2_1)7476 -> 0.0013s7477Gitlab::Ci::Pipeline::Seed::Pipeline7478 #stages7479 returns the stage resources7480 #size7481 returns the number of jobs7482 #errors7483 when attributes are valid7484 returns nil7485 when attributes are not valid7486 returns the errors7487 #deployments_count7488 counts the jobs having an environment associated7489Gitlab::Git::WrapsGitalyErrors7490 #wrapped_gitaly_errors7491 wraps GRPC::NotFound in a Gitlab::Git::Repository::NoRepository7492 wraps GRPC::InvalidArgument in a ArgumentError7493 wraps GRPC::DeadlineExceeded in a Gitlab::Git::CommandTimedOut7494 wraps GRPC::BadStatus in a Gitlab::Git::CommandError7495 does not swallow other errors7496Resolvers::DesignManagement::DesignAtVersionResolver7497 #resolve7498 returns the specified design7499 when the user cannot see designs7500 generates ResourceNotAvailable7501 the ID belongs to a design on another issue7502 generates ResourceNotAvailable7503 the current object does not constrain the issue7504 returns the object7505LooseForeignKeys::BatchCleanerService7506-- create_table(:_test_loose_fk_parent_table)7507 -> 0.0028s7508-- create_table(:_test_loose_fk_child_table_1)7509 -> 0.0022s7510-- create_table(:_test_loose_fk_child_table_2)7511 -> 0.0027s7512-- execute("CREATE TRIGGER _test_loose_fk_parent_table_loose_fk_trigger\nAFTER DELETE ON _test_loose_fk_parent_table REFERENCING OLD TABLE AS old_table\nFOR EACH STATEMENT\nEXECUTE FUNCTION insert_into_loose_foreign_keys_deleted_records();\n")7513 -> 0.0030s7514 when parent records are deleted7515 cleans up the child records7516 cleans up the pending parent DeletedRecord7517 records the DeletedRecord status updates7518 does not delete unrelated records7519 fair queueing7520 when the execution is over the limit7521 when the deleted record is under the maximum allowed cleanup attempts7522 updates the cleanup_attempts column7523 when the deleted record is above the maximum allowed cleanup attempts7524 reschedules the record7525 when over limit happens on the second cleanup call without skip locked7526 updates the cleanup_attempts column7527 when the lfk_fair_queueing FF is off7528 does nothing7529-- drop_table(:_test_loose_fk_parent_table)7530 -> 0.0043s7531-- drop_table(:_test_loose_fk_child_table_1)7532 -> 0.0013s7533-- drop_table(:_test_loose_fk_child_table_2)7534 -> 0.0013s7535Gitlab::Database::Count::ExactCountStrategy7536 #count7537 counts all models7538 returns default value if count times out7539Gitlab::GlRepository7540 .parse7541 parses a project gl_repository7542 parses a project wiki gl_repository7543 parses a snippet gl_repository7544 parses a design gl_repository7545 throws an argument error on an invalid gl_repository type7546 throws an argument error on an invalid gl_repository id7547BulkImports::Common::Extractors::NdjsonExtractor7548 #extract7549 returns ExtractedData7550 #remove_tmpdir7551 removes tmp dir7552Snippets::ScheduleBulkRepositoryShardMovesService7553 behaves like moves repository shard in bulk7554 #execute7555 schedules container repository storage moves7556 read-only repository7557 does not get scheduled7558 .enqueue7559 defers to the worker7560UploaderFinder7561 #execute7562 when successful7563 gets the file-like uploader7564 when path traversal in file name7565 returns nil7566 when unexpected failure7567 returns nil when unexpected error is raised7568IgnorableColumns7569 adds columns to ignored_columns7570 adds columns to ignored_columns (array version)7571 requires remove_after attribute to be set7572 requires remove_after attribute to be set7573 requires remove_with attribute to be set7574 .ignored_columns_details7575 defaults to empty Hash7576 with single column7577 behaves like storing removal information7578 storing removal information7579 with array column7580 behaves like storing removal information7581 storing removal information7582 when called on a subclass without setting the ignored columns7583 does not raise Deadlock error7584 IgnorableColumns::ColumnIgnore7585 #safe_to_remove?7586 after remove_after date has passed7587 returns true (safe to remove)7588 before remove_after date has passed7589 returns false (not safe to remove)7590Gitlab::Checks::PushFileCountCheck7591 #validate!7592 initial creation7593 allows creation7594 old: "single-file", new: "edit-file", valid: true, message: nil7595 verifies7596 old: "single-file", new: "multiple-files", valid: false, message: "The repository can contain at most 2 file(s)."7597 verifies7598 old: "single-file", new: "no-files", valid: false, message: "The repository must contain at least 1 file."7599 verifies7600 old: "edit-file", new: "rename-and-edit-file", valid: true, message: nil7601 verifies7602Gitlab::GrapeLogging::Formatters::LogrageWithTimestamp7603 turns the log entry to valid JSON7604 re-formats the params hash7605Projects::EnableDeployKeyService7606 enables the key7607 trying to add an unaccessable key7608 returns nil if the key cannot be added7609 add the same key twice7610 returns existing key7611Packages::Nuget::PackageMetadataPresenter7612 #json_url7613 is expected to end with "/api/v4/projects/883/packages/nuget/metadata/NugetPackage4/1.0.4.json"7614 #archive_url7615 is expected to end with "/api/v4/projects/883/packages/nuget/download/NugetPackage4/1.0.4/NugetPackage4.1.0.4.nupkg"7616 with package files pending destruction7617 is expected not to include "pending_destruction.nupkg"7618 #catalog_entry7619 returns an entry structure7620Users::LastPushEventService7621 #cache_last_push_event7622 caches the event for the event's project and current user7623 caches the event for the origin project when pushing to a fork7624 #last_event_for_user7625 returns the last push event for the current user7626 returns nil when no push event could be found7627 #last_event_for_project7628 returns the last push event for the given project7629 returns nil when no push event could be found7630 #find_cached_event7631 with a non-existing cache key7632 returns nil7633 with an existing cache key7634 returns a PushEvent when no merge requests exist for the event7635 removes the cache key when no event could be found and returns nil7636Gitlab::Auth::OAuth::Provider7637 .enabled?7638 when OmniAuth is disabled7639 allows database auth7640 allows LDAP auth7641 does not allow other OmniAuth providers7642 when OmniAuth is enabled7643 allows database auth7644 allows LDAP auth7645 allows other OmniAuth providers7646 .config_for7647 for an LDAP provider7648 when the provider exists7649 returns the config7650 when the provider does not exist7651 returns nil7652 for an OmniAuth provider7653 when the provider exists7654 returns the config7655 merges defaults with the given configuration7656 when the provider does not exist7657 returns nil7658 .label_for7659 when configuration specifies a custom label7660 returns the custom label name7661 when configuration does not specify a custom label7662 when the name does not correspond to a label mapping7663 returns the titleized name7664 when the name corresponds to a label mapping7665 returns the mapped name7666Jobs/SAST-IaC.latest.gitlab-ci.yml7667 the created pipeline7668 on feature branch7669 creates the kics-iac-sast job7670 on merge request7671 has no jobs7672 SAST_DISABLED is set7673 on default branch7674 has no jobs7675 on feature branch7676 has no jobs7677Clusters::Agents::ProjectAuthorization7678 is expected to belong to agent class_name => Clusters::Agent required: true7679 is expected to belong to project class_name => Project required: true7680 is expected to validate jsonb schema "config"7681 #config_project7682 is expected to eq #<Project id:885 namespace877/project961>>7683Gitlab::JiraImport::IssuesImporter7684 #imported_items_cache_key7685 is expected to eq "jira-importer/already-imported/887/issues"7686 behaves like raise exception if not implemented7687 is expected not to raise Exception7688 #execute7689 when no returned issues7690 does not schedule any import jobs7691 with results returned7692 when single page of results is returned7693 schedules 2 import jobs7694 when importing some issue raises an exception7695 schedules 2 import jobs7696 when duplicate results are returned7697 schedules 2 import jobs7698Types::Notes::DiscussionType7699 exposes the expected fields7700 is expected to require graphql authorizations :read_note7701Managed-Cluster-Applications.gitlab-ci.yml7702 the created pipeline7703 for a default branch7704 creates a apply job7705 outside of default branch7706 has no jobs7707Types::PermissionTypes::Snippet7708 returns the snippets permissions7709Milestones::CreateService7710 #execute7711 valid params7712 is expected to be valid7713 is expected to eq "v2.1.9"7714Packages::Nuget::ServiceIndexPresenter7715 #version7716 for a group7717 is expected to eq "3.0.0"7718 for a project7719 is expected to eq "3.0.0"7720 #resources7721 for a group7722 behaves like returning valid resources7723 has valid resources7724 does not return the publish resource7725 for a project7726 behaves like returning valid resources7727 has valid resources7728 does return the publish resource7729Mutations::Terraform::State::Lock7730 is expected to eq "TerraformStateLock"7731 is expected to require graphql authorizations :admin_terraform_state7732 #resolve7733 user does not have permission7734 raises an error7735 user has permission7736 locks the state7737 state is already locked7738 does not modify the existing lock7739 with invalid params7740 raises an error7741ServiceDeskEmailReceiverWorker7742 #perform7743 when service_desk_email config is enabled7744 does not ignore the email7745 when service desk receiver raises an exception7746 sends a rejection email7747 when service_desk_email config is disabled7748 ignores the email7749DependencyProxy::HeadManifestService7750 remote request is successful7751 is expected to eq :success7752 is expected to eq "12345"7753 remote request is not found7754 is expected to eq :error7755 is expected to eq 4047756 is expected to eq "Not found"7757 net timeout exception7758 is expected to eq :error7759 is expected to eq 5997760 is expected to eq "execution expired"7761Mutations::SavedReplies::Destroy7762 #resolve7763 when feature is disabled7764 raises Gitlab::Graphql::Errors::ResourceNotAvailable7765 when feature is enabled for current user7766 when service fails to delete a new saved reply7767 raises Gitlab::Graphql::Errors::ResourceNotAvailable7768 when service successfully deletes the saved reply7769 is expected to be empty7770DiffViewer::Image7771 .can_render?7772 returns false if both old and new blob are absent7773 returns true if the old blob is present7774 returns true if the new blob is present7775 returns true if both old and new blobs are present7776Ci::GroupVariablePresenter7777 inherits from Gitlab::View::Presenter::Delegated7778 #initialize7779 takes a variable and optional params7780 exposes variable7781 forwards missing methods to variable7782 #placeholder7783 is expected to eq "GROUP_VARIABLE"7784 #form_path7785 is expected to eq "/groups/group724/-/settings/ci_cd"7786 #edit_path7787 is expected to eq "/groups/group725/-/variables"7788 #delete_path7789 is expected to eq "/groups/group726/-/variables"7790Clusters::AgentTokens::TrackUsageService7791 #execute7792 when last_used_at was updated recently7793 updates cache but not database7794 when last_used_at was not updated recently7795 updates cache and database7796 with invalid token7797 still updates caches and database7798 agent is not connected7799 creates an activity event7800 agent is connected7801 does not create an activity event7802Resolvers::ErrorTracking::SentryDetailedErrorResolver7803 is expected to have nullable GraphQL type SentryDetailedError7804 #resolve7805 fetches the data via the sentry API7806 when error matches7807 resolves to a detailed error7808 assigns the gitlab project7809 when id does not match issue7810 resolves to nil7811 with blank id7812 responds with an error7813Gitlab::GitalyClient::Call7814 #call7815 when the response is not an enumerator7816 returns the response7817 stores timings and call details7818 when err7819 stores timings and call details7820 when the response is an enumerator7821 returns a consumable enumerator7822 time measurements7823 records full rpc stream consumption7824 records partial rpc stream consumption7825 when err7826 records partial rpc stream consumption7827Gitlab::Auth::Ldap::AuthHash7828 without overridden attributes7829 has the correct username7830 has the correct name7831 with overridden attributes7832 has the correct username7833 has the correct name7834 #uid7835 when there is extraneous (but valid) whitespace7836 removes the extraneous whitespace7837 when there are upper case characters7838 downcases7839 #username7840 if lowercase_usernames setting is7841 enabled the username attribute is lower cased7842 disabled the username attribute is not lower cased7843Types::Ci::TestReportTotalType7844 is expected to eq "TestReportTotal"7845 contains attributes related to a pipeline test report summary7846projects/milestones/index.html.haml7847 behaves like milestone empty states7848 with no milestones7849 shows empty state7850 does not show tabs or searchbar7851 with no open milestones7852 shows tabs and searchbar7853 shows empty state7854 with no closed milestones7855 shows tabs and searchbar7856 shows empty state on closed milestones7857Gitlab::Database::LoadBalancing::ActionCableCallbacks7858 .wrapper7859 uses primary and then releases the connection and clears the session7860 with an exception7861 releases the connection and clears the session7862Gitlab::FormBuilders::GitlabUiFormBuilder7863 #gitlab_ui_checkbox_component7864 without optional arguments7865 renders correct html7866 with optional arguments7867 renders help text7868 passes arguments to `check_box` method7869 passes arguments to `label` method7870 with checkbox_options: { multiple: true }7871 renders labels with correct for attributes7872 #gitlab_ui_radio_component7873 without optional arguments7874 renders correct html7875 with optional arguments7876 renders help text7877 passes arguments to `radio_button` method7878 passes arguments to `label` method7879Clusters::AgentPolicy7880 rules7881 when developer7882 is expected to be disallowed :admin_cluster7883 when maintainer7884 is expected to be allowed :admin_cluster7885Gitlab::CrossProjectAccess7886 #add_check7887 keeps track of the properties to check7888 builds the check correctly7889 merges the checks of a parent class into existing checks of a subclass7890 merges the existing checks of a superclass into the checks of a subclass7891 #find_check7892 returns a check when it was defined for a superclass7893 caches the result for a subclass7894 returns the checks for the closest class if there are more checks available7895Editable7896 #edited?7897 is expected to eq false7898 is expected to eq true7899AuditEventSaveType7900 #should_save_database? and #should_save_stream?7901 query_method: :should_save_stream?, query_param: :stream, result: true7902 returns corresponding results according to the query_method and query_param7903 query_method: :should_save_stream?, query_param: :database_and_stream, result: true7904 returns corresponding results according to the query_method and query_param7905 query_method: :should_save_database?, query_param: :database, result: true7906 returns corresponding results according to the query_method and query_param7907 query_method: :should_save_database?, query_param: :database_and_stream, result: true7908 returns corresponding results according to the query_method and query_param7909 query_method: :should_save_stream?, query_param: :database, result: false7910 returns corresponding results according to the query_method and query_param7911 query_method: :should_save_stream?, query_param: nil, result: false7912 returns corresponding results according to the query_method and query_param7913 query_method: :should_save_database?, query_param: :stream, result: false7914 returns corresponding results according to the query_method and query_param7915 query_method: :should_save_database?, query_param: nil, result: false7916 returns corresponding results according to the query_method and query_param7917Gitlab::Auth::Atlassian::User7918 .assign_identity_from_auth_hash!7919 behaves like an atlassian identity7920 sets the proper values7921 #save7922 for an existing user7923 with an existing Atlassian Identity7924 finds the existing user and identity7925 behaves like an atlassian identity7926 sets the proper values7927 for a new user7928 creates the user and identity7929Gitlab::HookData::ReleaseBuilder7930 #build7931 includes safe attribute7932 includes additional attrs7933 when the Release has an image in the description7934 sets the image to use an absolute URL7935BlobViewer::Markup7936 #banzai_render_context7937 returns context needed for banzai rendering7938 when blob does respond to rendered_markup7939 does sets rendered key7940Banzai::Filter::MarkdownFilter7941 markdown engine from context7942 defaults to CommonMark7943 uses CommonMark7944 code block7945 using CommonMark7946 adds language to lang attribute when specified7947 does not add language to lang attribute when not specified7948 works with utf8 chars in language7949 works with additional language parameters7950 source line position7951 using CommonMark7952 defaults to add data-sourcepos7953 disables data-sourcepos7954 footnotes in tables7955 processes footnotes in table cells7956LooseForeignKeys::ModificationTracker7957 #over_limit?7958 is true when deletion MAX_DELETES is exceeded7959 is false when MAX_DELETES is not exceeded7960 is true when deletion MAX_UPDATES is exceeded7961 is false when MAX_UPDATES is not exceeded7962 is true when max runtime is exceeded7963 is false when max runtime is not exceeded7964 #add_deletions7965 increments a Prometheus counter7966 #add_updates7967 increments a Prometheus counter7968 #stats7969 exposes stats7970groups/milestones/index.html.haml7971 behaves like milestone empty states7972 with no milestones7973 shows empty state7974 does not show tabs or searchbar7975 with no open milestones7976 shows tabs and searchbar7977 shows empty state7978 with no closed milestones7979 shows tabs and searchbar7980 shows empty state on closed milestones7981ContainerRegistry::Registry7982 is expected to respond to #client7983 is expected to respond to #uri7984 is expected to respond to #path7985 is expected not to be nil7986 #path7987 path from URL7988 is expected to eq "example.com"7989 custom path7990 is expected to eq "registry.example.com"7991 #gitlab_api_client7992 returns a GitLabApiClient with an import token7993JiraConnect::SyncDeploymentsWorker7994 behaves like worker with data consistency7995 .get_data_consistency_feature_flag_enabled?7996 returns true7997 .get_data_consistency7998 returns correct data consistency7999 #perform8000 when the object exists8001 calls the Jira sync service8002 when the object does not exist8003 does not call the sync service8004Gitlab::Ci::Config::Entry::Caches8005 #valid?8006 with an empty hash as cache8007 is valid8008 when configuration is valid with a single cache8009 is valid8010 when configuration is valid with multiple caches8011 is valid8012 when configuration is not a Hash or Array8013 is invalid8014 when entry values contain more than four caches8015 is invalid8016Gitlab::Pagination::Keyset::CursorBasedRequestContext8017 #per_page8018 is expected to eq 28019 #cursor8020 is expected to eq "eyJuYW1lIjoiR2l0TGFiIEluc3RhbmNlIiwiaWQiOiI1MiIsIl9rZCI6Im4ifQ=="8021 #order_by8022 is expected to eq {:name=>:asc}8023 #apply_headers8024 sets Link header with same host/path as the original request8025 sets Link header with a cursor to the next page8026Gitlab::Ci::Config::Entry::Kubernetes8027 attributes8028 is expected to respond to #namespace8029 is expected to respond to #has_namespace?8030 validations8031 config8032 is a hash containing known keys8033 is expected to be valid8034 is a hash containing an unknown key8035 is expected not to be valid8036 is a string8037 is expected not to be valid8038 namespace8039 is a string8040 is expected to be valid8041 is a hash8042 is expected not to be valid8043 is not present8044 is expected not to be valid8045Gitlab::Metrics::Dashboard::Stages::GrafanaFormatter8046 #transform!8047 when the query and resources are configured correctly8048 is expected to eq {:panel_groups=>[{:panels=>[{:metrics=>[{:id=>"In_0", :label=>"In", :prometheus_endpoint_path=>"/foo/...nstance=~\"localhost:9121\"}[1m]))"}], :title=>"Network I/O", :type=>"area-chart", :y_label=>""}]}]}8049 when a panelId is not included in the grafana_url8050 is expected to eq {:panel_groups=>[{:panels=>[{:metrics=>[{:id=>"In_0", :label=>"In", :prometheus_endpoint_path=>"/foo/...nstance=~\"localhost:9121\"}[1m]))"}], :title=>"Network I/O", :type=>"area-chart", :y_label=>""}]}]}8051 when there is also no valid panel in the dashboard8052 raises a processing error8053 when an input is invalid8054 raises a processing error8055RuboCop::Cop::Gitlab::NamespacedClass8056 flags a class definition without namespace8057 flags a class definition with inheritance without namespace8058 does not flag the class definition with namespace in separate lines8059 does not flag the class definition with nested namespace in separate lines8060 does not flag the class definition nested inside namespaced class8061 does not flag a compact namespaced class definition8062GroupDeployKeysGroupPolicy8063 edit a group deploy key for a given group8064 is allowed when the user is an owner of this group8065 is not allowed when the user is not an owner of this group8066RuboCop::Cop::FilenameLength8067 does not flag files with names 100 characters long8068 tags files with names 101 characters long8069 tags files with names 256 characters long8070 tags files with filepath 256 characters long8071 tags files with filepath 257 characters long8072FeatureFlagEntity8073 has feature flag attributes8074Ci::DagStageEntity8075 #as_json8076 contains valid name8077 contains the job groups8078 matches schema8079Alerting::ProjectAlertingSetting8080 Associations8081 is expected to belong to project required: false8082 #token8083 when set8084 reads the token8085 when not set8086 generates a token before validation8087Gitlab::Graphql::CallsGitaly::FieldExtension8088 when the field calls gitaly8089 when the field has a constant complexity8090 allows the call8091 when the field declares that it calls gitaly8092 allows the call8093 when the field does not have these arguments8094 notices, and raises, mentioning the field8095 when it does not call gitaly8096 does not raise8097 when some field calls gitaly while we were waiting8098 is acceptable if all are accounted for8099 is unacceptable if some of the calls are unaccounted for8100shared/milestones/_issuables.html.haml8101 shows the issuables count if show_counter is true8102 does not show the issuables count if show_counter is false8103 a high issuables count8104 shows a delimited number if show_counter is true8105Packages::RemoveTagService8106 #execute8107 with existing tag8108 is expected to change `Packages::Tag.count` by -18109 with nil8110 is expected to raise ArgumentError8111BizibleHelper8112 #bizible_enabled?8113 when bizible is disabled8114 is expected to be falsey8115 when bizible is enabled8116 is expected to be truthy8117 with ecomm_instrumentation feature flag disabled8118 is expected to be falsey8119 with ecomm_instrumentation feature flag enabled8120 when no id is set8121 is expected to be falsey8122Gitlab::Pagination::Keyset::InOperatorOptimization::ArrayScopeColumns8123 builds array column names8124 when no columns are given8125 is expected to raise /No array columns were given/8126 when Arel AS node is given as input8127 works with Arel AS nodes8128Types::Clusters::AgentActivityEventType8129 is expected to eq "ClusterAgentActivityEvent"8130 is expected to require graphql authorizations :read_cluster8131 is expected to have graphql fields :recorded_at, :kind, :level, :user, and :agent_token8132BulkImports::Projects::Pipelines::ServiceDeskSettingPipeline8133 #run8134 imports project feature8135Gitlab::Ci::Status::Preparing8136 #text8137 is expected to eq "preparing"8138 #label8139 is expected to eq "preparing"8140 #icon8141 is expected to eq "status_preparing"8142 #favicon8143 is expected to eq "favicon_status_preparing"8144 #group8145 is expected to eq "preparing"8146 #details_path8147 is expected to be nil8148Gitlab::SQL::Glob8149 .to_like8150 matches * as %8151 matches % literally8152 matches _ literally8153BoardSerializer8154 serialization8155 matches issue_sidebar json schema8156Types::Ci::JobType8157 is expected to eq "CiJob"8158 is expected to expose permissions using Types::PermissionTypes::Ci::Job8159 exposes the expected fields8160Gitlab::Usage::Metrics::Instrumentations::CountBoardsMetric8161 behaves like a correct instrumented metric value and query8162 behaves like a correct instrumented metric value8163 has correct value8164 behaves like a correct instrumented metric query8165 has correct generate query8166Gitlab::Checks::TimedLogger8167 #log_timed8168 logs message8169 when time limit was reached8170 cancels action8171 cancels action with time elapsed if work was performed8172Gitlab::Ci::Reports::TerraformReports8173 initializes plans with and empty hash8174 #add_plan8175 when providing two unique plans8176 returns two plans8177 when providing the same plan twice8178 returns the last added plan8179DetectRepositoryLanguagesWorker8180 #perform8181 calls de DetectRepositoryLanguages service8182 when invalid ids are used8183 does not raise when the project could not be found8184Banzai::Pipeline::BroadcastMessagePipeline8185 allows `a` elements8186 is expected to eq "<p><a>Link</a></p>"8187 allows `br` elements8188 is expected to eq "<p>Hello<br>World</p>"8189Types::ContainerRepositoryDetailsType8190 is expected to eq "ContainerRepositoryDetails"8191 is expected to eq "Details of a container repository"8192 is expected to require graphql authorizations :read_container_image8193 is expected to have graphql fields :id, :name, :path, :location, :created_at, :updated_at, :expiration_policy_started_at, :status, :tags_count, :can_delete, :expiration_policy_cleanup_status, :tags, :size, :project, and :migration_state8194 tags field8195 returns tags connection type8196API::Helpers::VariablesHelpers8197 #filter_variable_parameters8198 returns unmodified params (overridden in EE)8199 #find_variable8200 is expected to eq #<Double (anonymous)>8201 there are multiple variables with the supplied key8202 raises a conflict!8203Gitlab::Graphql::Loaders::BatchCommitLoader8204 #find8205 finds a commit by id8206 only queries once8207Gitlab::NotifyUponDeath8208 .sidekiq_retries_exhausted8209 notifies the JobWaiter when 3 arguments are given and the last is a String8210 does not notify the JobWaiter when only 2 arguments are given8211 does not notify the JobWaiter when only 1 argument is given8212 does not notify the JobWaiter when the last argument is not a String8213CsvBuilders::Stream8214 #render8215 returns a lazy enumerator8216 returns all rows up to default max value8217 truncates to max rows8218help/instance_configuration8219 General Sections:8220 has links to several sections8221 has several sections8222Atlassian::JiraConnect::Serializers::BaseEntity8223 generates the update_sequence_id8224 with update_sequence_id option8225 uses the custom update_sequence_id8226RuboCop::Cop::SidekiqOptionsQueue8227 registers an offense when `sidekiq_options` is used with the `queue` option8228 does not register an offense when `sidekiq_options` is used with another option8229ClusterAgentQueue8230 is expected to eq "cluster_agent:example"8231 is expected to eq :kubernetes_management8232FeatureGate8233 User8234 #flipper_id8235 when user is not persisted8236 is expected to be nil8237 when user is persisted8238 is expected to eq "User:2087"8239BulkImports::Common::Extractors::RestExtractor8240 #extract8241 returns instance of ExtractedData8242Gitlab::MergeRequests::Mergeability::RedisInterface8243 #save_check8244 saves the hash8245 #retrieve_check8246 returns the hash8247Gitlab::GithubImport::ImportPullRequestMergedByWorker8248 is expected to includes the Gitlab::GithubImport::ObjectImporter module8249 #representation_class8250 is expected to eq Gitlab::GithubImport::Representation::PullRequest8251 #importer_class8252 is expected to eq Gitlab::GithubImport::Importer::PullRequestMergedByImporter8253Types::Metadata::KasType8254 is expected to eq "Kas"8255 is expected to require graphql authorizations :read_instance_metadata8256RuboCop::Cop::RSpec::EnvAssignment8257 with a key using single quotes8258 behaves like an offensive and correction ENV#[]= call8259 registers an offense for `ENV['FOO'] = 'bar'` and corrects8260 with a key using double quotes8261 behaves like an offensive and correction ENV#[]= call8262 registers an offense for `ENV["FOO"] = 'bar'` and corrects8263RepositoryCheckQueue8264 sets the queue name of a worker8265 disables retrying of failed jobs8266Gitlab::Ci::Status::Group::Factory8267 inherits from the core factory8268 exposes group helpers8269 exposes extended statuses8270Gitlab::PhabricatorImport::Representation::User8271 #phabricator_id8272 returns the phabricator id8273 #username8274 returns the username8275Gitlab::Utils::DelegatorOverride::Error8276 #to_s8277 is expected to eq "Delegator#foo is overriding Target#foo. delegator_location: /path/to/delegator target_location: /path/to/target"8278Types::Packages::Conan::FileMetadatumType8279 includes conan file metadatum fields8280Types::EvidenceType8281 is expected to require graphql authorizations :read_release_evidence8282 has the expected fields8283Gitlab::Database::AsyncIndexes8284 .create_pending_indexes!8285 takes 2 pending indexes and creates those8286EnableSearchSettingsHelper8287 #enable_search_settings8288 sets content for before_content8289PipelineQueue8290 sets a default pipelines queue automatically8291Gitlab::Ci::Reports::Security::Flag8292 #initialize8293 when all params are given8294 initializes an instance8295 #to_h8296 returns expected hash8297Types::DependencyProxy::GroupSettingType8298 includes dependency proxy blob fields8299InstanceMetadata8300 has the correct properties8301Gitlab::Metrics::Dashboard::Transformers::Yml::V1::PrometheusMetrics8302 #execute8303 valid dashboard8304 returns collection of metrics with correct attributes8305 invalid dashboard8306 raises missing attribute error8307Admin::DeployKeyHelper8308 #admin_deploy_keys_data8309 returns correct hash8310RuboCop::Cop::Gitlab::Except8311 flags the use of Gitlab::SQL::Except.new8312API::Helpers::Pagination8313 delegates to OffsetPagination8314Knapsack report was generated. Preview:8315{8316 "spec/lib/gitlab/usage_data_spec.rb": 497.4404856250003,8317 "spec/finders/snippets_finder_spec.rb": 51.80161946800217,8318 "spec/policies/issue_policy_spec.rb": 87.7217372999985,8319 "spec/finders/group_members_finder_spec.rb": 121.23681781199775,8320 "spec/lib/gitlab/usage/service_ping_report_spec.rb": 55.7901808409988,8321 "spec/lib/gitlab/git/blob_spec.rb": 22.182266679999884,8322 "spec/services/projects/prometheus/alerts/notify_service_spec.rb": 37.3428714019974,8323 "spec/lib/gitlab/email/handler/service_desk_handler_spec.rb": 39.222249688002194,8324 "spec/services/members/invitation_reminder_email_service_spec.rb": 7.502314493001904,8325 "spec/rubocop/cop/migration/create_table_with_foreign_keys_spec.rb": 5.868062475001352,8326 "spec/finders/releases_finder_spec.rb": 38.416353372998856,8327 "spec/lib/gitlab/cycle_analytics/stage_summary_spec.rb": 32.399354190998565,8328 "spec/services/projects/unlink_fork_service_spec.rb": 32.28126380300091,8329 "spec/finders/packages/group_packages_finder_spec.rb": 33.554751783998654,8330 "spec/lib/gitlab/import_export/fast_hash_serializer_spec.rb": 22.020112255999265,8331 "spec/graphql/resolvers/namespace_projects_resolver_spec.rb": 21.69670207499803,8332 "spec/models/integrations/unify_circuit_spec.rb": 27.3672354190021,8333 "spec/helpers/issues_helper_spec.rb": 17.64339714199741,8334 "spec/lib/gitlab/database/partitioning_migration_helpers/table_management_helpers_spec.rb": 8.25811467299718,8335 "spec/services/ci/create_pipeline_service/rules_spec.rb": 21.095210330000555,8336 "spec/services/ci/process_build_service_spec.rb": 17.720398093999393,8337 "spec/services/groups/group_links/create_service_spec.rb": 19.809302409998054,8338 "spec/lib/gitlab/import_export/group/legacy_tree_restorer_spec.rb": 16.8952934609988,8339 "spec/services/projects/container_repository/delete_tags_service_spec.rb": 8.49372152199794,8340 "spec/policies/project_member_policy_spec.rb": 16.711680877997424,8341 "spec/lib/gitlab/ci/config/entry/retry_spec.rb": 3.6918975169974146,8342 "spec/lib/gitlab/git/diff_collection_spec.rb": 9.146168100000068,8343 "spec/services/clusters/integrations/prometheus_health_check_service_spec.rb": 11.706123113002832,8344 "spec/models/incident_management/issuable_escalation_status_spec.rb": 6.915159058000427,8345 "spec/lib/gitlab/database/background_migration/batched_migration_spec.rb": 8.203197578000982,8346 "spec/lib/gitlab/database/load_balancing/host_spec.rb": 4.403544861001137,8347 "spec/lib/gitlab/utils/markdown_spec.rb": 3.915153375997761,8348 "spec/serializers/issue_entity_spec.rb": 13.601107337002759,8349 "spec/lib/gitlab/ci/config/entry/processable_spec.rb": 3.6905368879997695,8350 "spec/uploaders/pages/deployment_uploader_spec.rb": 9.15101064099872,8351 "spec/services/wiki_pages/update_service_spec.rb": 10.301006833000429,8352 "spec/workers/incident_management/process_alert_worker_v2_spec.rb": 9.563149431996862,8353 "spec/models/ci/build_report_result_spec.rb": 7.033831646996987,8354 "spec/lib/gitlab/ci/pipeline/chain/validate/external_spec.rb": 5.412681336998503,8355 "spec/lib/gitlab/version_info_spec.rb": 2.031719960999908,8356 "spec/lib/gitlab/alert_management/payload/base_spec.rb": 2.3073185850007576,8357 "spec/services/ci/runners/register_runner_service_spec.rb": 7.180397124000592,8358 "spec/lib/gitlab/redis/rate_limiting_spec.rb": 5.15303639099875,8359 "spec/lib/gitlab/sidekiq_config/worker_router_spec.rb": 2.5876164000001154,8360 "spec/tasks/gitlab/ldap_rake_spec.rb": 6.450823961000424,8361 "spec/models/ci/instance_variable_spec.rb": 2.356658011001855,8362 "spec/finders/access_requests_finder_spec.rb": 9.305065746000764,8363 "spec/workers/merge_worker_spec.rb": 5.971074764998775,8364 "spec/lib/gitlab/ci/pipeline/seed/stage_spec.rb": 7.7874990470008925,8365 "spec/lib/gitlab/ci/config/external/mapper_spec.rb": 3.3315070900025603,8366 "spec/lib/atlassian/jira_connect/serializers/deployment_entity_spec.rb": 5.576423942002293,8367 "spec/helpers/todos_helper_spec.rb": 4.738091290000739,8368 "spec/lib/gitlab/ci/pipeline/chain/ensure_resource_groups_spec.rb": 5.2075264869999955,8369 "spec/models/lfs_object_spec.rb": 4.189601900998241,8370 "spec/serializers/web_ide_terminal_entity_spec.rb": 4.882914265999716,8371 "spec/models/pages_deployment_spec.rb": 4.531749990001117,8372 "spec/services/pod_logs/kubernetes_service_spec.rb": 2.03127515199958,8373 "spec/lib/gitlab/ci/pipeline/chain/populate_spec.rb": 2.9468901559994265,8374 "spec/lib/gitlab/api_authentication/token_resolver_spec.rb": 1.8264368899981491,8375 "spec/graphql/resolvers/boards_resolver_spec.rb": 3.5942806569983077,8376 "spec/lib/gitlab/ci/pipeline/chain/build/associations_spec.rb": 2.693943559002946,8377 "spec/services/commits/cherry_pick_service_spec.rb": 4.656668687999627,8378 "spec/lib/gitlab/logger_spec.rb": 1.2762408510025125,8379 "spec/lib/gitlab/diff/diff_refs_spec.rb": 4.144716275000974,8380 "spec/finders/user_finder_spec.rb": 0.9093336059995636,8381 "spec/lib/sidebars/projects/menus/monitor_menu_spec.rb": 2.3184038950021204,8382 "spec/models/concerns/loaded_in_group_list_spec.rb": 2.780911431000277,8383 "spec/presenters/instance_clusterable_presenter_spec.rb": 3.760604130999127,8384 "spec/models/projects/topic_spec.rb": 2.0902695459990355,8385 "spec/finders/feature_flags_finder_spec.rb": 5.7404602369970235,8386 "spec/lib/banzai/filter/inline_metrics_filter_spec.rb": 0.9262110339986975,8387 "spec/lib/gitlab/metrics/samplers/ruby_sampler_spec.rb": 1.5511660349984595,8388 "spec/lib/gitlab/alert_management/payload/managed_prometheus_spec.rb": 1.9344140610010072,8389 "spec/models/merge_request/metrics_spec.rb": 4.351344665999932,8390 "spec/services/pages/migrate_legacy_storage_to_deployment_service_spec.rb": 3.784456647998013,8391 "spec/lib/gitlab/instrumentation/redis_interceptor_spec.rb": 1.003038036000362,8392 "spec/services/notification_recipients/builder/default_spec.rb": 3.473961337000219,8393 "spec/lib/gitlab/serverless/service_spec.rb": 2.4511039319986594,8394 "spec/services/lfs/unlock_file_service_spec.rb": 4.863480227999389,8395 "spec/lib/banzai/filter/spaced_link_filter_spec.rb": 0.5768002170007094,8396 "spec/graphql/types/base_enum_spec.rb": 0.8995447560009779,8397 "spec/services/pod_logs/elasticsearch_service_spec.rb": 1.024293395003042,8398 "spec/lib/gitlab/ci/jwt_spec.rb": 2.127896342000895,8399 "spec/presenters/commit_presenter_spec.rb": 3.347823428997799,8400 "spec/graphql/resolvers/terraform/states_resolver_spec.rb": 1.477646792998712,8401 "spec/models/snippet_statistics_spec.rb": 2.7656475429976126,8402 "spec/lib/gitlab/github_import/parallel_scheduling_spec.rb": 1.3260363469998993,8403 "spec/lib/gitlab/gitaly_client/storage_settings_spec.rb": 0.2743326249983511,8404 "spec/services/todos/destroy/project_private_service_spec.rb": 6.3100132339968695,8405 "spec/services/ci/prometheus_metrics/observe_histograms_service_spec.rb": 1.9212017210011254,8406 "spec/rubocop/cop/rspec/expect_gitlab_tracking_spec.rb": 0.5960420949995751,8407 "spec/models/projects/repository_storage_move_spec.rb": 1.47959571300089,8408 "spec/lib/gitlab/experimentation_spec.rb": 0.8101915549996193,8409 "spec/lib/gitlab/batch_pop_queueing_spec.rb": 0.6942164550018788,8410 "spec/lib/gitlab/phabricator_import/project_creator_spec.rb": 1.7078820509996149,8411 "spec/lib/sidebars/projects/menus/zentao_menu_spec.rb": 2.8950860719996854,8412 "spec/graphql/mutations/todos/mark_done_spec.rb": 2.042885130002105,8413 "spec/lib/gitlab/diff/line_spec.rb": 0.45008279800094897,8414 "spec/services/terraform/remote_state_handler_spec.rb": 2.3038772359977884,8415 "spec/views/layouts/_search.html.haml_spec.rb": 2.726067036997847,8416 "spec/workers/project_cache_worker_spec.rb": 1.8039637319998292,8417 "spec/serializers/merge_request_user_entity_spec.rb": 2.518470155002433,8418 "spec/lib/gitlab/analytics/cycle_analytics/aggregated/records_fetcher_spec.rb": 1.2810763519992179,8419 "spec/services/clusters/kubernetes_spec.rb": 0.37364972599971225,8420 "spec/services/ci/create_pipeline_service/evaluate_runner_tags_spec.rb": 3.3907734249987698,8421 "spec/lib/gitlab/utils/mime_type_spec.rb": 0.739147401000082,8422 "spec/workers/deployments/hooks_worker_spec.rb": 2.649023424000916,8423 "spec/serializers/member_serializer_spec.rb": 1.4413745960009692,8424 "spec/models/preloaders/user_max_access_level_in_projects_preloader_spec.rb": 1.2837524810020113,8425 "spec/services/snippets/repository_validation_service_spec.rb": 0.5474403689986502,8426 "spec/lib/gitlab/ci/status/build/scheduled_spec.rb": 5.182557918000384,8427 "spec/services/clusters/applications/prometheus_config_service_spec.rb": 2.290212687003077,8428 "spec/lib/gitlab/ci/build/rules/rule/clause_spec.rb": 0.3446922680013813,8429 "spec/lib/banzai/pipeline/description_pipeline_spec.rb": 1.4910831010020047,8430 "spec/finders/protected_branches_finder_spec.rb": 2.350522471999284,8431 "spec/lib/gitlab/loop_helpers_spec.rb": 1.168614072001219,8432 "spec/models/packages/debian/group_component_spec.rb": 0.7135495629991055,8433 "spec/lib/banzai/filter/asset_proxy_filter_spec.rb": 0.3782949250016827,8434 "spec/workers/analytics/usage_trends/counter_job_worker_spec.rb": 0.8999259270021867,8435 "spec/lib/gitlab/ci/config/normalizer/number_strategy_spec.rb": 0.44035071899998,8436 "spec/lib/gitlab/usage/service_ping/legacy_metric_timing_decorator_spec.rb": 0.3831415150016255,8437 "spec/helpers/hooks_helper_spec.rb": 2.2115204239999002,8438 "spec/workers/irker_worker_spec.rb": 1.0434484140023415,8439 "spec/lib/gitlab/ci/templates/themekit_gitlab_ci_yaml_spec.rb": 2.365677870999207,8440 "spec/lib/api/helpers/sse_helpers_spec.rb": 0.5112874320002447,8441 "spec/services/packages/composer/version_parser_service_spec.rb": 0.8171309650024341,8442 "spec/lib/gitlab/health_checks/redis/queues_check_spec.rb": 0.8024626949991216,8443 "spec/lib/bitbucket_server/representation/activity_spec.rb": 0.7772873579997395,8444 "spec/views/layouts/profile.html.haml_spec.rb": 2.2954032069974346,8445 "spec/services/concerns/merge_requests/assigns_merge_params_spec.rb": 0.43321943000046303,8446 "spec/lib/gitlab/cleanup/remote_uploads_spec.rb": 1.9277236010020715,8447 "spec/services/clusters/integrations/create_service_spec.rb": 1.3618667730006564,8448 "spec/lib/gitlab/import_export/fork_spec.rb": 4.223662317999697,8449 "spec/lib/gitlab/diff/file_collection/merge_request_diff_base_spec.rb": 1.9972010340025008,8450 "spec/lib/gitlab/ci/config/entry/inherit/variables_spec.rb": 0.3969841840007575,8451 "spec/graphql/mutations/custom_emoji/create_spec.rb": 1.084828358998493,8452 "spec/lib/gitlab/analytics/cycle_analytics/sorting_spec.rb": 0.5711016770001152,8453 "spec/lib/gitlab/x509/tag_spec.rb": 2.594979148998391,8454 "spec/workers/loose_foreign_keys/cleanup_worker_spec.rb": 1.892165704000945,8455 "spec/lib/gitlab/ci/pipeline/seed/pipeline_spec.rb": 0.867318910000904,8456 "spec/lib/gitlab/git/wraps_gitaly_errors_spec.rb": 0.27631508500053314,8457 "spec/graphql/resolvers/design_management/design_at_version_resolver_spec.rb": 1.6478668769996148,8458 "spec/services/loose_foreign_keys/batch_cleaner_service_spec.rb": 1.899552862996643,8459 "spec/lib/gitlab/database/count/exact_count_strategy_spec.rb": 2.822026788002404,8460 "spec/lib/gitlab/gl_repository_spec.rb": 0.9021807559984154,8461 "spec/lib/bulk_imports/common/extractors/ndjson_extractor_spec.rb": 0.4645879569980025,8462 "spec/services/snippets/schedule_bulk_repository_shard_moves_service_spec.rb": 0.35352088699801243,8463 "spec/finders/uploader_finder_spec.rb": 1.3282834669989825,8464 "spec/models/concerns/ignorable_columns_spec.rb": 0.4128386020020116,8465 "spec/lib/gitlab/checks/push_file_count_check_spec.rb": 1.1000092169997515,8466 "spec/lib/gitlab/grape_logging/formatters/lograge_with_timestamp_spec.rb": 0.22802767899702303,8467 "spec/services/projects/enable_deploy_key_service_spec.rb": 1.9932307439994474,8468 "spec/presenters/packages/nuget/package_metadata_presenter_spec.rb": 1.063987541001552,8469 "spec/services/users/last_push_event_service_spec.rb": 0.7221147730015218,8470 "spec/lib/gitlab/auth/o_auth/provider_spec.rb": 0.7630948689984507,8471 "spec/lib/gitlab/ci/templates/Jobs/sast_iac_gitlab_ci_yaml_spec.rb": 1.7934276829982991,8472 "spec/models/clusters/agents/project_authorization_spec.rb": 1.2714367109983868,8473 "spec/lib/gitlab/jira_import/issues_importer_spec.rb": 1.2278347650026262,8474 "spec/graphql/types/notes/discussion_type_spec.rb": 0.09895971100195311,8475 "spec/lib/gitlab/ci/templates/managed_cluster_applications_gitlab_ci_yaml_spec.rb": 1.7015982619996066,8476 "spec/graphql/types/permission_types/snippet_spec.rb": 0.054555394999624696,8477 "spec/services/milestones/create_service_spec.rb": 1.7130537209995964,8478 "spec/presenters/packages/nuget/service_index_presenter_spec.rb": 0.7410568209998019,8479 "spec/graphql/mutations/terraform/state/lock_spec.rb": 1.789480903000367,8480 "spec/workers/service_desk_email_receiver_worker_spec.rb": 0.33939169900259003,8481 "spec/services/dependency_proxy/head_manifest_service_spec.rb": 1.0060450569981185,8482 "spec/graphql/mutations/saved_replies/destroy_spec.rb": 0.332743817998562,8483 "spec/models/diff_viewer/image_spec.rb": 0.24026842699822737,8484 "spec/presenters/ci/group_variable_presenter_spec.rb": 1.130795611999929,8485 "spec/services/clusters/agent_tokens/track_usage_service_spec.rb": 0.9463138430000981,8486 "spec/graphql/resolvers/error_tracking/sentry_detailed_error_resolver_spec.rb": 0.6381737999981851,8487 "spec/lib/gitlab/gitaly_client/call_spec.rb": 0.9021535769970797,8488 "spec/lib/gitlab/auth/ldap/auth_hash_spec.rb": 0.38079846399705275,8489 "spec/graphql/types/ci/test_report_total_type_spec.rb": 0.09561659099927056,8490 "spec/views/projects/milestones/index.html.haml_spec.rb": 0.5574985080020269,8491 "spec/lib/gitlab/database/load_balancing/action_cable_callbacks_spec.rb": 0.15948223499799496,8492 "spec/lib/gitlab/form_builders/gitlab_ui_form_builder_spec.rb": 0.4328333199991903,8493 "spec/policies/clusters/agent_policy_spec.rb": 1.7315518690011231,8494 "spec/lib/gitlab/cross_project_access_spec.rb": 0.3234141400025692,8495 "spec/models/concerns/editable_spec.rb": 1.1087086269981228,8496 "spec/services/concerns/audit_event_save_type_spec.rb": 0.4457393480006431,8497 "spec/lib/gitlab/auth/atlassian/user_spec.rb": 0.7813053380014026,8498 "spec/lib/gitlab/hook_data/release_builder_spec.rb": 1.0822858989995439,8499 "spec/models/blob_viewer/markup_spec.rb": 0.6999227550004434,8500 "spec/lib/banzai/filter/markdown_filter_spec.rb": 0.43756349999966915,8501 "spec/models/loose_foreign_keys/modification_tracker_spec.rb": 0.4643173759977799,8502 "spec/views/groups/milestones/index.html.haml_spec.rb": 0.551160039001843,8503 "spec/lib/container_registry/registry_spec.rb": 0.3814766249997774,8504 "spec/workers/jira_connect/sync_deployments_worker_spec.rb": 0.8888903970000683,8505 "spec/lib/gitlab/ci/config/entry/caches_spec.rb": 0.3670654560010007,8506 "spec/lib/gitlab/pagination/keyset/cursor_based_request_context_spec.rb": 0.350689898001292,8507 "spec/lib/gitlab/ci/config/entry/kubernetes_spec.rb": 0.4145008710002003,8508 "spec/lib/gitlab/metrics/dashboard/stages/grafana_formatter_spec.rb": 0.7420048809981381,8509 "spec/rubocop/cop/gitlab/namespaced_class_spec.rb": 0.3124789610010339,8510 "spec/policies/group_deploy_keys_group_policy_spec.rb": 0.6977327950007748,8511 "spec/rubocop/cop/filename_length_spec.rb": 0.31643591100146296,8512 "spec/serializers/feature_flag_entity_spec.rb": 0.8390937020012643,8513 "spec/serializers/ci/dag_stage_entity_spec.rb": 0.647120060002635,8514 "spec/models/alerting/project_alerting_setting_spec.rb": 0.4667503070013481,8515 "spec/lib/gitlab/graphql/calls_gitaly/field_extension_spec.rb": 0.2501007560022117,8516 "spec/views/shared/milestones/_issuables.html.haml_spec.rb": 0.3522829780013126,8517 "spec/services/packages/remove_tag_service_spec.rb": 0.8799871480005095,8518 "spec/helpers/bizible_helper_spec.rb": 0.3783288350023213,8519 "spec/lib/gitlab/pagination/keyset/in_operator_optimization/array_scope_columns_spec.rb": 0.17262915399987833,8520 "spec/graphql/types/clusters/agent_activity_event_type_spec.rb": 0.17181100400193827,8521 "spec/lib/bulk_imports/projects/pipelines/service_desk_setting_pipeline_spec.rb": 0.4939252740005031,8522 "spec/lib/gitlab/ci/status/preparing_spec.rb": 0.2577540259990201,8523 "spec/lib/gitlab/sql/glob_spec.rb": 0.1858088230001158,8524 "spec/serializers/board_serializer_spec.rb": 0.5627056080011243,8525 "spec/graphql/types/ci/job_type_spec.rb": 0.2757558049997897,8526 "spec/lib/gitlab/usage/metrics/instrumentations/count_boards_metric_spec.rb": 0.49005832399780047,8527 "spec/lib/gitlab/checks/timed_logger_spec.rb": 0.15857885500008706,8528 "spec/lib/gitlab/ci/reports/terraform_reports_spec.rb": 0.2747078739994322,8529 "spec/workers/detect_repository_languages_worker_spec.rb": 0.5493484690014157,8530 "spec/lib/banzai/pipeline/broadcast_message_pipeline_spec.rb": 0.6204556419979781,8531 "spec/graphql/types/container_repository_details_type_spec.rb": 0.3097892709993175,8532 "spec/lib/api/helpers/variables_helpers_spec.rb": 0.12341622899839422,8533 "spec/lib/gitlab/graphql/loaders/batch_commit_loader_spec.rb": 0.7372119409992592,8534 "spec/workers/concerns/gitlab/notify_upon_death_spec.rb": 0.3108387010033766,8535 "spec/lib/csv_builders/stream_spec.rb": 0.2622210260014981,8536 "spec/views/help/instance_configuration.html.haml_spec.rb": 0.45771810799851664,8537 "spec/lib/atlassian/jira_connect/serializers/base_entity_spec.rb": 0.12709239900141256,8538 "spec/rubocop/cop/sidekiq_options_queue_spec.rb": 0.3194968610005162,8539 "spec/workers/concerns/cluster_agent_queue_spec.rb": 0.12005032900196966,8540 "spec/models/concerns/feature_gate_spec.rb": 0.46058178699968266,8541 "spec/lib/bulk_imports/common/extractors/rest_extractor_spec.rb": 0.4158378209976945,8542 "spec/lib/gitlab/merge_requests/mergeability/redis_interface_spec.rb": 0.10507450099976268,8543 "spec/workers/gitlab/github_import/import_pull_request_merged_by_worker_spec.rb": 0.16218072500123526,8544 "spec/graphql/types/metadata/kas_type_spec.rb": 0.11755020899727242,8545 "spec/rubocop/cop/rspec/env_assignment_spec.rb": 0.11370105999958469,8546 "spec/workers/concerns/repository_check_queue_spec.rb": 0.14845823599898722,8547 "spec/lib/gitlab/ci/status/group/factory_spec.rb": 0.12115479899875936,8548 "spec/lib/gitlab/phabricator_import/representation/user_spec.rb": 0.10461722000036389,8549 "spec/lib/gitlab/utils/delegator_override/error_spec.rb": 0.19379052200019942,8550 "spec/graphql/types/packages/conan/file_metadatum_type_spec.rb": 0.1769698040006915,8551 "spec/graphql/types/evidence_type_spec.rb": 0.1930125520011643,8552 "spec/lib/gitlab/database/async_indexes_spec.rb": 0.19330658199760364,8553 "spec/helpers/enable_search_settings_helper_spec.rb": 0.11766650899880915,8554 "spec/workers/concerns/pipeline_queue_spec.rb": 0.1993275109998649,8555 "spec/lib/gitlab/ci/reports/security/flag_spec.rb": 0.1863001730016549,8556 "spec/graphql/types/dependency_proxy/group_setting_type_spec.rb": 0.09398223099924508,8557 "spec/models/instance_metadata_spec.rb": 0.12099225899874,8558 "spec/lib/gitlab/metrics/dashboard/transformers/yml/v1/prometheus_metrics_spec.rb": 0.1561717350014078,8559 "spec/helpers/admin/deploy_key_helper_spec.rb": 0.17542360399966128,8560 "spec/rubocop/cop/gitlab/except_spec.rb": 0.12607721899985336,8561 "spec/lib/api/helpers/pagination_spec.rb": 0.134614367998437968562}8563Knapsack global time execution for tests: 27m 53s8564Pending: (Failures listed here are expected and do not affect your suite's status)8565 1) Resolvers::NamespaceProjectsResolver with a group search and similarity sorting when `search` parameter is not given returns projects not ordered by similarity8566 # around hook at ./spec/support/flaky_tests.rb:21 did not execute the example8567 # ./spec/graphql/resolvers/namespace_projects_resolver_spec.rb:908568 2) Pages::DeploymentUploader behaves like builds correct paths #upload_path behaves like matches the method pattern 8569 # No pattern provided, skipping.8570 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88571 3) Pages::DeploymentUploader behaves like builds correct paths #relative_path is relative8572 # Path not set, skipping.8573 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:408574 4) Pages::DeploymentUploader behaves like builds correct paths .absolute_path behaves like matches the method pattern 8575 # No pattern provided, skipping.8576 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88577 5) Pages::DeploymentUploader behaves like builds correct paths .base_dir behaves like matches the method pattern 8578 # No pattern provided, skipping.8579 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88580 6) Pages::DeploymentUploader when object store is REMOTE behaves like builds correct paths #cache_dir behaves like matches the method pattern 8581 # No pattern provided, skipping.8582 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88583 7) Pages::DeploymentUploader when object store is REMOTE behaves like builds correct paths #work_dir behaves like matches the method pattern 8584 # No pattern provided, skipping.8585 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88586 8) Pages::DeploymentUploader when object store is REMOTE behaves like builds correct paths #upload_path behaves like matches the method pattern 8587 # No pattern provided, skipping.8588 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88589 9) Pages::DeploymentUploader when object store is REMOTE behaves like builds correct paths #relative_path is relative8590 # Path not set, skipping.8591 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:408592 10) Pages::DeploymentUploader when object store is REMOTE behaves like builds correct paths .absolute_path behaves like matches the method pattern 8593 # No pattern provided, skipping.8594 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88595 11) Pages::DeploymentUploader when object store is REMOTE behaves like builds correct paths .base_dir behaves like matches the method pattern 8596 # No pattern provided, skipping.8597 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88598 12) MergeRequestUserEntity#as_json performance is linear in the number of merge requests8600 Failure/Error:8601 expect do8602 a = described_class.new(user_a, request: request, merge_request: merge_request_b)8603 b = described_class.new(user_b, request: request, merge_request: merge_request_b)8605 a.as_json8606 b.as_json8607 end.not_to exceed_query_limit(baseline)8608 Expected a maximum of 8 queries, got 16:8609 Query Diff:8610 -----------8611 SELECT "licenses".* FROM "licenses"...8612 -- (expected: 1, got: 0)8613 ORDER BY "licenses"."id" DESC LIMIT 1008614 SELECT MAX("project_authorizations"."access_level") AS maximum_access_level, "project_authorizations"."user_id" AS project_authorizations_user_id FROM "project_authorizations"...8615 -- (expected: 2, got: 0)8616 WHERE "project_authorizations"."project_id" = 812 AND "project_authorizations"."user_id" = 1918 GROUP BY "project_authorizations"."user_id"8617 -- (expected: 2, got: 0)8618 WHERE "project_authorizations"."project_id" = 812 AND "project_authorizations"."user_id" = 1916 GROUP BY "project_authorizations"."user_id"8619 -- (expected: 0, got: 2)8620 WHERE "project_authorizations"."project_id" = 813 AND "project_authorizations"."user_id" = 1918 GROUP BY "project_authorizations"."user_id"8621 -- (expected: 0, got: 4)8622 WHERE "project_authorizations"."project_id" = 813 AND "project_authorizations"."user_id" = 1916 GROUP BY "project_authorizations"."user_id"8623 -- (expected: 0, got: 2)8624 WHERE "project_authorizations"."project_id" = 813 AND "project_authorizations"."user_id" = 1919 GROUP BY "project_authorizations"."user_id"8625 SELECT "merge_requests".* FROM "merge_requests"...8626 -- (expected: 1, got: 0)8627 WHERE "merge_requests"."source_project_id" = 812 AND ("merge_requests"."state_id" IN (1)) AND "merge_requests"."allow_maintainer_to_push" = TRUE AND "merge_requests"."source_branch" = 'feature'8628 -- (expected: 0, got: 2)8629 WHERE "merge_requests"."source_project_id" = 813 AND ("merge_requests"."state_id" IN (1)) AND "merge_requests"."allow_maintainer_to_push" = TRUE AND "merge_requests"."source_branch" = 'feature'8630 SELECT "merge_request_assignees".* FROM "merge_request_assignees"...8631 -- (expected: 2, got: 0)8632 WHERE "merge_request_assignees"."merge_request_id" = 77 AND "merge_request_assignees"."user_id" = 1918 LIMIT 18633 -- (expected: 0, got: 2)8634 WHERE "merge_request_assignees"."merge_request_id" = 78 AND "merge_request_assignees"."user_id" = 1918 LIMIT 18635 -- (expected: 0, got: 2)8636 WHERE "merge_request_assignees"."merge_request_id" = 78 AND "merge_request_assignees"."user_id" = 1919 LIMIT 18637 SELECT "protected_branches".* FROM "protected_branches"...8638 -- (expected: 0, got: 1)8639 WHERE "protected_branches"."project_id" = 8138640 SELECT "approvals".* FROM "approvals"...8641 -- (expected: 0, got: 1)8642 WHERE "approvals"."merge_request_id" = 788643 # ./spec/serializers/merge_request_user_entity_spec.rb:76:in `block (4 levels) in <top (required)>'8644 # ./spec/spec_helper.rb:423:in `block (3 levels) in <top (required)>'8645 # ./spec/support/sidekiq_middleware.rb:9:in `with_sidekiq_server_middleware'8646 # ./spec/spec_helper.rb:414:in `block (2 levels) in <top (required)>'8647 # ./spec/spec_helper.rb:410:in `block (3 levels) in <top (required)>'8648 # ./lib/gitlab/application_context.rb:48:in `with_raw_context'8649 # ./spec/spec_helper.rb:410:in `block (2 levels) in <top (required)>'8650 # ./spec/spec_helper.rb:268:in `block (2 levels) in <top (required)>'8651 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'8652 # ./spec/support/flaky_tests.rb:27:in `block (2 levels) in <top (required)>'8653 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <top (required)>'8654 # ./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'8655 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <top (required)>'8656Finished in 27 minutes 59 seconds (files took 1 minute 45.42 seconds to load)86573718 examples, 0 failures, 12 pending8658RSpec exited with 0.8659No examples to retry, congrats!8661Not uploading cache ruby-gems-bullseye-9-non_protected due to policy8662Not uploading cache gitaly-ruby-gems-bullseye-9-non_protected due to policy8664Uploading artifacts...8665coverage/: found 5 matching files and directories 8666crystalball/: found 2 matching files and directories 8667deprecations/: found 9 matching files and directories 8668knapsack/: found 3 matching files and directories 8669rspec/: found 9 matching files and directories 8670WARNING: tmp/capybara/: no matching files 8671log/*.log: found 22 matching files and directories 8672WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/2391927177/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com8673WARNING: Retrying... context=artifacts-uploader error=request redirected8674Uploading artifacts as "archive" to coordinator... 201 Created id=2391927177 responseStatus=201 Created token=CpJ3PxRW8675Uploading artifacts...8676rspec/junit_rspec.xml: found 1 matching files and directories 8677WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/2391927177/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com8678WARNING: Retrying... context=artifacts-uploader error=request redirected8679Uploading artifacts as "junit" to coordinator... 201 Created id=2391927177 responseStatus=201 Created token=CpJ3PxRW8681Job succeeded