rspec unit pg11 19/20
Passed Started
by
@patrickbajao

Patrick Bajao
1Running with gitlab-runner 13.9.0-rc2 (69c049fd)2 on prm-com-gitlab-org bd0915563 feature flags: FF_GITLAB_REGISTRY_HELPER_IMAGE:true6Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 ...7Starting service postgres:11.6 ...8Pulling docker image postgres:11.6 ...9Using docker image sha256:2c963c0eb8c6efa49bb8352ea446f248d208d674cfc34fc9ea275b5f99f8dedd for postgres:11.6 with digest postgres@sha256:6f2062ab11d720f4756f17da4d0a64534346cce33b7cdea9d7ac4f43eed9fc02 ...10Starting service redis:5.0-alpine ...11Pulling docker image redis:5.0-alpine ...12Using docker image sha256:f5b24aafdf93a05581fac6db4430badb2024b27c7d6c29eb3144b01828ac5a07 for redis:5.0-alpine with digest redis@sha256:6151b520d9ac29c1524d9637e0b3dc69cba7dbef27a427d6dba355652fff8306 ...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:ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 ...16Using docker image sha256:4d23ed899afed063085b02cb83fa639d1a880dc4059e6c7f0af9ee9b713ba41b for registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:d70df1af0359f58b269fab0d70a090bca324eba3a03e465146b10aef05de3273 ...18Running on runner-bd091556-project-278964-concurrent-0 via runner-bd091556-prm-1614768561-df4ac2d2...20$ eval "$CI_PRE_CLONE_SCRIPT"21Downloading archived master...22Connecting to storage.googleapis.com (172.217.193.128:443)23saving to '/tmp/gitlab.tar.gz'24gitlab.tar.gz 52% |**************** | 206M 0:00:00 ETA25gitlab.tar.gz 100% |********************************| 396M 0:00:00 ETA26'/tmp/gitlab.tar.gz' saved27Extracting tarball into /builds/gitlab-org/gitlab...28Fetching changes with git depth set to 20...29Reinitialized existing Git repository in /builds/gitlab-org/gitlab/.git/30remote: Enumerating objects: 1210, done. 31remote: Counting objects: 100% (645/645), done. 32remote: Compressing objects: 100% (248/248), done. 33remote: Total 320 (delta 256), reused 130 (delta 68), pack-reused 0 34Receiving objects: 100% (320/320), 40.40 KiB | 1.01 MiB/s, done.35Resolving deltas: 100% (256/256), completed with 120 local objects.37 * [new ref] 4996f4cc3b5cc82b8b493bfd2a4ced37e8cf757c -> refs/pipelines/26473258738Checking out 4996f4cc as refs/merge-requests/55046/merge...39Skipping Git submodules setup41Checking cache for rails-v4-3...42cache.zip is up to date 43WARNING: vendor/ruby/2.7.0/gems/deprecation_toolkit-1.5.1/gemfiles/test/deprecations: chmod vendor/ruby/2.7.0/gems/deprecation_toolkit-1.5.1/gemfiles/test/deprecations: no such file or directory (suppressing repeats) 44Successfully extracted cache46Downloading artifacts for compile-test-assets (1069711722)...47Downloading artifacts from coordinator... ok id=1069711722 responseStatus=200 OK token=cQ-zkx2s48Downloading artifacts for detect-tests (1069711729)...49Downloading artifacts from coordinator... ok id=1069711729 responseStatus=200 OK token=4KJ6tsyT50Downloading artifacts for retrieve-tests-metadata (1069711731)...51Downloading artifacts from coordinator... ok id=1069711731 responseStatus=200 OK token=nMSW8ysV52Downloading artifacts for setup-test-env (1069711725)...53Downloading artifacts from coordinator... ok id=1069711725 responseStatus=200 OK token=fSmN9Jtk54WARNING: tmp/tests/gitlab-shell/.gitlab_shell_secret: chmod tmp/tests/gitlab-shell/.gitlab_shell_secret: no such file or directory (suppressing repeats) 56Using docker image sha256:4d23ed899afed063085b02cb83fa639d1a880dc4059e6c7f0af9ee9b713ba41b for registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:d70df1af0359f58b269fab0d70a090bca324eba3a03e465146b10aef05de3273 ...57$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb58$ export GOPATH=$CI_PROJECT_DIR/.go59$ mkdir -p $GOPATH60$ source scripts/utils.sh61$ source scripts/prepare_build.sh62Bundler version 2.1.463$ bundle install --without=production development --jobs=2 --path=vendor --retry=3 --quiet64==> 'bundle install --without=production development --jobs=2 --path=vendor --retry=3 --quiet' succeeded in 1 seconds.65$ bundle check66The Gemfile's dependencies are satisfied67==> 'bundle check' succeeded in 0 seconds.68$ bundle pristine pg69Installing pg 1.2.3 with native extensions70==> 'bundle pristine pg' succeeded in 11 seconds.71$ setup_db_user_only72CREATE ROLE73GRANT74==> 'setup_db_user_only' succeeded in 0 seconds.75$ bundle exec rake db:drop db:create db:structure:load db:migrate gitlab:db:setup_ee76Dropped database 'gitlabhq_test'77Created database 'gitlabhq_test'78Dropped database 'gitlabhq_geo_test'79Created database 'gitlabhq_geo_test'80==> 'bundle exec rake db:drop db:create db:structure:load db:migrate gitlab:db:setup_ee' succeeded in 27 seconds.81$ run_timed_command "gem install knapsack --no-document"82$ gem install knapsack --no-document83Successfully installed knapsack-1.20.0841 gem installed85==> 'gem install knapsack --no-document' succeeded in 1 seconds.86$ run_timed_command "scripts/gitaly-test-spawn"87$ scripts/gitaly-test-spawn88Settings are listed in order of priority. The top value will be used.89retry90Set for your local app (/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config/config): 391path92Set for your local app (/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config/config): "/builds/gitlab-org/gitlab/vendor/gitaly-ruby"93jobs94Set for your local app (/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config/config): 495app_config96Set via BUNDLE_APP_CONFIG: "/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config"97gemfile98Set via BUNDLE_GEMFILE: "/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/Gemfile"99flags100Set via BUNDLE_FLAGS: "--jobs=4 --retry=3 --path=/builds/gitlab-org/gitlab/vendor/gitaly-ruby"101Don't run Bundler as root. Bundler can ask for sudo if it is needed, and102installing your bundle as root will break this application for all non-root103users on this machine.104Using abstract_type 0.0.7105Using concurrent-ruby 1.1.7106Using i18n 1.8.5107Using minitest 5.14.2108Using thread_safe 0.3.6109Using tzinfo 1.2.9110Using zeitwerk 2.4.2111Using activesupport 6.0.3.4112Using builder 3.2.4113Using erubi 1.10.0114Using mini_portile2 2.5.0115Using racc 1.5.2116Using nokogiri 1.11.1 (x86_64-linux)117Using rails-dom-testing 2.0.3118Using crass 1.0.6119Using loofah 2.9.0120Using rails-html-sanitizer 1.3.0121Using actionview 6.0.3.4122Using rack 2.2.3123Using rack-test 1.1.0124Using actionpack 6.0.3.4125Using ice_nine 0.11.2126Using memoizable 0.4.2127Using adamantium 0.2.0128Using public_suffix 4.0.6129Using addressable 2.7.0130Using ast 2.4.1131Using binding_ninja 0.2.3132Using bundler 2.1.4133Using charlock_holmes 0.7.7134Using coderay 1.1.2135Using equalizer 0.0.11136Using concord 0.1.5137Using diff-lcs 1.3138Using dotenv 2.7.6139Using escape_utils 1.2.1140Using factory_bot 5.0.2141Using multipart-post 2.1.1142Using faraday 1.0.1143Using ffi 1.13.1144Using json 2.5.1145Using gemojione 3.3.0146Using mini_mime 1.0.2147Using rugged 1.0.1148Using github-linguist 7.12.1149Using github-markup 1.7.0150Using mime-types-data 3.2020.1104151Using mime-types 3.3.1152Using gitlab-gollum-rugged_adapter 0.4.4.3.gitlab.1153Using rouge 3.26.0154Using nokogumbo 1.5.0155Using sanitize 4.6.6156Using stringex 2.8.5157Using gitlab-gollum-lib 4.2.7.10.gitlab.1158Using google-protobuf 3.12.4 (x86_64-linux)159Using googleapis-common-protos-types 1.0.5160Using grpc 1.30.2 (x86_64-linux)161Using opentracing 0.5.0162Using thrift 0.13.0163Using jaeger-client 1.1.0164Using pg_query 1.3.0165Using redis 4.2.5166Using gitlab-labkit 0.15.0167Using gitlab-markup 1.7.1168Using grpc-tools 1.30.2169Using sawyer 0.8.2170Using octokit 4.20.0171Using reverse_markdown 1.4.0172Using thor 1.1.0173Using licensee 9.14.1174Using method_source 0.9.2175Using msgpack 1.3.3176Using optimist 3.0.1177Using parallel 1.19.2178Using parser 2.7.2.0179Using procto 0.0.3180Using unparser 0.4.7181Using proc_to_ast 0.1.0182Using pry 0.12.2183Using rainbow 3.0.0184Using rbtrace 0.4.14185Using rdoc 6.2.0186Using regexp_parser 1.8.1187Using rexml 3.2.4188Using rspec-support 3.8.0189Using rspec-core 3.8.0190Using rspec-expectations 3.8.3191Using rspec-mocks 3.8.0192Using rspec 3.8.0193Using rspec-parameterized 0.4.2194Using rubocop-ast 0.2.0195Using ruby-progressbar 1.10.1196Using unicode-display_width 1.7.0197Using rubocop 0.86.0198Using sentry-raven 3.0.4199Using timecop 0.9.1200Bundle complete! 21 Gemfile dependencies, 96 gems now installed.201Bundled gems are installed into `/builds/gitlab-org/gitlab/vendor/gitaly-ruby`202Checking gitaly-ruby Gemfile...203Checking gitaly-ruby bundle...204The Gemfile's dependencies are satisfied205Trying to connect to gitaly: ........ OK206Trying to connect to gitaly2: .................... OK207Trying to connect to praefect: ............ OK208==> 'scripts/gitaly-test-spawn' succeeded in 5 seconds.209$ source ./scripts/rspec_helpers.sh210$ rspec_paralellized_job "--tag ~quarantine --tag ~geo --tag ~level:migration"211KNAPSACK_TEST_FILE_PATTERN: spec/{bin,channels,config,db,dependencies,elastic,elastic_integration,experiments,factories,finders,frontend,graphql,haml_lint,helpers,initializers,javascripts,lib,models,policies,presenters,rack_servers,replicators,routing,rubocop,serializers,services,sidekiq,spam,support_specs,tasks,uploaders,validators,views,workers,tooling}{,/**/}*_spec.rb212Knapsack node specs:213spec/models/ci/build_spec.rb214spec/models/concerns/issuable_spec.rb215spec/lib/gitlab/import_export/project/tree_saver_spec.rb216spec/services/projects/create_service_spec.rb217spec/lib/gitlab/bare_repository_import/importer_spec.rb218spec/policies/ci/build_policy_spec.rb219spec/helpers/visibility_level_helper_spec.rb220spec/serializers/environment_serializer_spec.rb221spec/lib/gitlab/gpg/invalid_gpg_signature_updater_spec.rb222spec/services/merge_requests/reopen_service_spec.rb223spec/serializers/group_child_entity_spec.rb224spec/models/project_services/discord_service_spec.rb225spec/models/project_services/unify_circuit_service_spec.rb226spec/graphql/mutations/merge_requests/set_labels_spec.rb227spec/models/ci/build_trace_chunk_spec.rb228spec/helpers/projects_helper_spec.rb229spec/models/project_services/teamcity_service_spec.rb230spec/lib/gitlab/ci/status/bridge/factory_spec.rb231spec/lib/gitlab/ci/templates/npm_spec.rb232spec/models/list_spec.rb233spec/lib/gitlab/data_builder/note_spec.rb234spec/lib/gitlab/ci/status/build/failed_spec.rb235spec/models/concerns/deprecated_assignee_spec.rb236spec/lib/banzai/filter/issuable_state_filter_spec.rb237spec/services/alert_management/process_prometheus_alert_service_spec.rb238spec/services/ci/create_pipeline_service/parent_child_pipeline_spec.rb239spec/models/terraform/state_spec.rb240spec/models/commit_collection_spec.rb241spec/services/search/group_service_spec.rb242spec/uploaders/ci/pipeline_artifact_uploader_spec.rb243spec/services/auto_merge_service_spec.rb244spec/views/projects/edit.html.haml_spec.rb245spec/finders/fork_projects_finder_spec.rb246spec/models/ci/build_trace_chunks/redis_spec.rb247spec/lib/gitlab/blob_helper_spec.rb248spec/models/project_services/chat_notification_service_spec.rb249spec/services/projects/prometheus/alerts/notify_service_spec.rb250spec/models/concerns/each_batch_spec.rb251spec/views/ci/status/_icon.html.haml_spec.rb252spec/lib/gitlab/ci/charts_spec.rb253spec/workers/repository_check/single_repository_worker_spec.rb254spec/lib/banzai/reference_redactor_spec.rb255spec/lib/gitlab/git/tag_spec.rb256spec/services/releases/destroy_service_spec.rb257spec/models/resource_state_event_spec.rb258spec/views/notify/pipeline_success_email.text.erb_spec.rb259spec/lib/gitlab/conflict/file_collection_spec.rb260spec/services/ci/pipeline_artifacts/destroy_expired_artifacts_service_spec.rb261spec/finders/user_recent_events_finder_spec.rb262spec/finders/metrics/users_starred_dashboards_finder_spec.rb263spec/services/incident_management/incidents/create_service_spec.rb264spec/finders/packages/tags_finder_spec.rb265spec/policies/user_policy_spec.rb266spec/models/clusters/agent_spec.rb267spec/lib/gitlab/git/cross_repo_comparer_spec.rb268spec/lib/gitlab/ci/trace/chunked_io_spec.rb269spec/services/merge_requests/reload_diffs_service_spec.rb270spec/graphql/resolvers/environments_resolver_spec.rb271spec/lib/gitlab/github_import/importer/labels_importer_spec.rb272spec/views/events/event/_push.html.haml_spec.rb273spec/lib/gitlab/background_migration/populate_has_vulnerabilities_spec.rb274spec/workers/jira_connect/sync_project_worker_spec.rb275spec/models/concerns/reactive_caching_spec.rb276spec/workers/delete_diff_files_worker_spec.rb277spec/rack_servers/puma_spec.rb278spec/services/import/github_service_spec.rb279spec/graphql/resolvers/design_management/designs_resolver_spec.rb280spec/services/merge_requests/merge_orchestration_service_spec.rb281spec/tasks/gitlab/git_rake_spec.rb282spec/lib/release_highlights/validator_spec.rb283spec/services/milestones/issues_count_service_spec.rb284spec/lib/gitlab/checks/diff_check_spec.rb285spec/lib/gitlab/application_rate_limiter_spec.rb286spec/lib/gitlab/checks/tag_check_spec.rb287spec/helpers/releases_helper_spec.rb288spec/lib/gitlab/ci/pipeline/chain/build_spec.rb289spec/lib/container_registry/client_spec.rb290spec/lib/gitlab/email/smime/certificate_spec.rb291spec/services/ci/archive_trace_service_spec.rb292spec/finders/freeze_periods_finder_spec.rb293spec/lib/gitlab/ci/templates/managed_cluster_applications_gitlab_ci_yaml_spec.rb294spec/lib/gitlab/auth/ldap/access_spec.rb295spec/workers/invalid_gpg_signature_update_worker_spec.rb296spec/lib/gitlab/metrics/prometheus_spec.rb297spec/services/pages_domains/create_acme_order_service_spec.rb298spec/services/metrics/dashboard/gitlab_alert_embed_service_spec.rb299spec/services/ci/resource_groups/assign_resource_from_resource_group_service_spec.rb300spec/models/design_management/repository_spec.rb301spec/views/projects/notes/_more_actions_dropdown.html.haml_spec.rb302spec/services/projects/create_from_template_service_spec.rb303spec/models/operations/feature_flags/strategy_spec.rb304spec/workers/rebase_worker_spec.rb305spec/workers/new_note_worker_spec.rb306spec/lib/gitlab/database_importers/self_monitoring/project/delete_service_spec.rb307spec/views/projects/issues/import_csv/_button.html.haml_spec.rb308spec/workers/concerns/gitlab/github_import/stage_methods_spec.rb309spec/serializers/feature_flag_serializer_spec.rb310spec/models/blob_viewer/readme_spec.rb311spec/graphql/mutations/container_repositories/destroy_tags_spec.rb312spec/models/blob_viewer/license_spec.rb313spec/workers/ci/pipeline_artifacts/create_quality_report_worker_spec.rb314spec/lib/gitlab/import_export/shared_spec.rb315spec/models/deployment_cluster_spec.rb316spec/lib/gitlab/background_migration/link_lfs_objects_projects_spec.rb317spec/lib/gitlab/jira_import_spec.rb318spec/presenters/instance_clusterable_presenter_spec.rb319spec/lib/gitlab/database_importers/common_metrics/importer_spec.rb320spec/lib/gitlab/background_migration/recalculate_project_authorizations_with_min_max_user_id_spec.rb321spec/models/lfs_object_spec.rb322spec/graphql/resolvers/group_milestones_resolver_spec.rb323spec/lib/gitlab/data_builder/feature_flag_spec.rb324spec/serializers/member_serializer_spec.rb325spec/services/ci/create_pipeline_service/merge_requests_spec.rb326spec/models/ci/pipeline_variable_spec.rb327spec/views/projects/pages_domains/show.html.haml_spec.rb328spec/workers/gitlab/github_import/refresh_import_jid_worker_spec.rb329spec/lib/gitlab/sidekiq_middleware/server_metrics_spec.rb330spec/serializers/cluster_error_entity_spec.rb331spec/lib/banzai/reference_parser/design_parser_spec.rb332spec/validators/cron_freeze_period_timezone_validator_spec.rb333spec/graphql/resolvers/projects/jira_projects_resolver_spec.rb334spec/serializers/merge_request_for_pipeline_entity_spec.rb335spec/services/merge_requests/export_csv_service_spec.rb336spec/models/blob_viewer/markup_spec.rb337spec/helpers/branches_helper_spec.rb338spec/lib/gitlab/x509/commit_spec.rb339spec/lib/gitlab/ci/templates/flutter_gitlab_ci_yaml_spec.rb340spec/lib/gitlab/ci/build/credentials/factory_spec.rb341spec/workers/object_pool/join_worker_spec.rb342spec/services/packages/pypi/create_package_service_spec.rb343spec/lib/gitlab/git_access_wiki_spec.rb344spec/views/projects/settings/operations/show.html.haml_spec.rb345spec/tasks/gitlab/generate_sample_prometheus_data_spec.rb346spec/graphql/resolvers/error_tracking/sentry_detailed_error_resolver_spec.rb347spec/lib/gitlab/ci/build/policy/kubernetes_spec.rb348spec/workers/build_success_worker_spec.rb349spec/services/packages/debian/update_distribution_service_spec.rb350spec/lib/gitlab/gitaly_client/operation_service_spec.rb351spec/lib/gitlab/import_export/design_repo_restorer_spec.rb352spec/validators/addressable_url_validator_spec.rb353spec/views/admin/sessions/two_factor.html.haml_spec.rb354spec/services/environments/canary_ingress/update_service_spec.rb355spec/workers/purge_dependency_proxy_cache_worker_spec.rb356spec/helpers/page_layout_helper_spec.rb357spec/lib/banzai/pipeline/description_pipeline_spec.rb358spec/serializers/feature_flag_summary_serializer_spec.rb359spec/workers/deployments/drop_older_deployments_worker_spec.rb360spec/graphql/mutations/merge_requests/set_subscription_spec.rb361spec/lib/gitlab/external_authorization/client_spec.rb362spec/models/ci/build_trace_section_name_spec.rb363spec/models/user_status_spec.rb364spec/lib/gitlab/ci/parsers/coverage/cobertura_spec.rb365spec/services/packages/create_temporary_package_service_spec.rb366spec/workers/container_expiration_policy_worker_spec.rb367spec/lib/constraints/admin_constrainer_spec.rb368spec/serializers/group_link/group_link_entity_spec.rb369spec/helpers/hooks_helper_spec.rb370spec/lib/api/entities/merge_request_basic_spec.rb371spec/serializers/blob_entity_spec.rb372spec/lib/gitlab/sidekiq_middleware/size_limiter/validator_spec.rb373spec/lib/gitlab/ci/config/external/file/remote_spec.rb374spec/lib/gitlab/ci/pipeline/expression/lexeme/not_equals_spec.rb375spec/services/namespace_settings/update_service_spec.rb376spec/lib/gitlab/git/merge_base_spec.rb377spec/lib/gitlab/ci/config/entry/retry_spec.rb378spec/lib/gitlab/gitaly_client/praefect_info_service_spec.rb379spec/helpers/operations_helper_spec.rb380spec/services/users/update_canonical_email_service_spec.rb381spec/lib/gitlab/github_import/representation/pull_request_spec.rb382spec/lib/gitlab/gitaly_client/cleanup_service_spec.rb383spec/services/projects/count_service_spec.rb384spec/helpers/projects/error_tracking_helper_spec.rb385spec/lib/banzai/filter/broadcast_message_sanitization_filter_spec.rb386spec/lib/gitlab/encoding_helper_spec.rb387spec/workers/user_status_cleanup/batch_worker_spec.rb388spec/lib/gitlab/sidekiq_config/cli_methods_spec.rb389spec/services/webauthn/authenticate_service_spec.rb390spec/graphql/resolvers/project_pipelines_resolver_spec.rb391spec/lib/gitlab/popen/runner_spec.rb392spec/models/blob_viewer/go_mod_spec.rb393spec/lib/gitlab/auth/blocked_user_tracker_spec.rb394spec/services/packages/nuget/sync_metadatum_service_spec.rb395spec/lib/gitlab/snippet_search_results_spec.rb396spec/helpers/projects/terraform_helper_spec.rb397spec/lib/system_check/orphans/namespace_check_spec.rb398spec/lib/quality/test_level_spec.rb399spec/workers/error_tracking_issue_link_worker_spec.rb400spec/lib/gitlab/ci/reports/test_report_summary_spec.rb401spec/services/incident_management/pager_duty/process_webhook_service_spec.rb402spec/models/namespace/package_setting_spec.rb403spec/lib/gitlab/usage_data_counters/static_site_editor_counter_spec.rb404spec/lib/gitlab/alert_management/payload/managed_prometheus_spec.rb405spec/views/admin/services/index.html.haml_spec.rb406spec/models/packages/debian/group_component_spec.rb407spec/models/packages/nuget/dependency_link_metadatum_spec.rb408spec/uploaders/dependency_proxy/file_uploader_spec.rb409spec/lib/gitlab/metrics/methods_spec.rb410spec/serializers/move_to_project_entity_spec.rb411spec/workers/packages/composer/cache_cleanup_worker_spec.rb412spec/lib/gitlab/ci/config/entry/jobs_spec.rb413spec/lib/gitlab/polling_interval_spec.rb414spec/lib/gitlab/auth/ip_rate_limiter_spec.rb415spec/lib/gitlab/metrics/dashboard/validator/errors_spec.rb416spec/lib/gitlab/github_import/parallel_scheduling_spec.rb417spec/lib/gitlab/ci/config/entry/key_spec.rb418spec/lib/gitlab/git/attributes_parser_spec.rb419spec/lib/gitlab/ci/config/entry/variables_spec.rb420spec/lib/event_filter_spec.rb421spec/lib/gitlab/ci/config/entry/product/matrix_spec.rb422spec/views/errors/access_denied.html.haml_spec.rb423spec/lib/gitlab/ci/config/entry/product/parallel_spec.rb424spec/lib/gitlab/file_detector_spec.rb425spec/graphql/types/group_type_spec.rb426spec/lib/gitlab/cross_project_access/check_info_spec.rb427spec/lib/gitlab/static_site_editor/config/file_config/entry/mount_spec.rb428spec/rubocop/cop/rspec/be_success_matcher_spec.rb429spec/workers/repository_check/dispatch_worker_spec.rb430spec/lib/gitlab/metrics/dashboard/service_selector_spec.rb431spec/rubocop/cop/migration/prevent_strings_spec.rb432spec/models/concerns/ignorable_columns_spec.rb433spec/lib/gitlab/etag_caching/router/restful_spec.rb434spec/graphql/types/snippets/blob_type_spec.rb435spec/lib/gitlab/rack_attack/user_allowlist_spec.rb436spec/lib/gitlab/metrics/samplers/threads_sampler_spec.rb437spec/services/metrics/dashboard/panel_preview_service_spec.rb438spec/lib/gitlab/email/hook/smime_signature_interceptor_spec.rb439spec/workers/namespaces/onboarding_progress_worker_spec.rb440spec/lib/grafana/validator_spec.rb441spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/until_executed_spec.rb442spec/lib/gitlab/batch_worker_context_spec.rb443spec/lib/gitlab/ci/build/artifacts/adapters/gzip_stream_spec.rb444spec/validators/color_validator_spec.rb445spec/lib/gitlab/email/hook/additional_headers_interceptor_spec.rb446spec/lib/gitlab/kubernetes/namespace_spec.rb447spec/workers/concerns/waitable_worker_spec.rb448spec/models/postgresql/replication_slot_spec.rb449spec/lib/gitlab/instrumentation/redis_spec.rb450spec/models/concerns/from_union_spec.rb451spec/lib/gitlab/pagination/gitaly_keyset_pager_spec.rb452spec/validators/x509_certificate_credentials_validator_spec.rb453spec/lib/gitlab/utils/json_size_estimator_spec.rb454spec/models/performance_monitoring/prometheus_metric_spec.rb455spec/serializers/move_to_project_serializer_spec.rb456spec/lib/gitlab/usage/docs/value_formatter_spec.rb457spec/rubocop/cop/scalability/cron_worker_context_spec.rb458spec/lib/declarative_policy_spec.rb459spec/lib/gitlab/config/entry/configurable_spec.rb460spec/lib/gitlab/github_import/label_finder_spec.rb461spec/lib/microsoft_teams/notifier_spec.rb462spec/lib/gitlab/checks/force_push_spec.rb463spec/initializers/action_mailer_hooks_spec.rb464spec/rubocop/cop/avoid_break_from_strong_memoize_spec.rb465spec/lib/gitlab/ci/status/created_spec.rb466spec/lib/bulk_imports/pipeline/context_spec.rb467spec/lib/gitlab/static_site_editor/config/file_config/entry/image_upload_path_spec.rb468spec/lib/banzai/filter/image_link_filter_spec.rb469spec/models/concerns/stepable_spec.rb470spec/lib/gitlab/metrics/elasticsearch_rack_middleware_spec.rb471spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_stage_end_spec.rb472spec/lib/gitlab/request_context_spec.rb473spec/rubocop/cop/destroy_all_spec.rb474spec/lib/gitlab/sql/glob_spec.rb475spec/lib/gitlab/pagination/offset_header_builder_spec.rb476spec/workers/experiments/record_conversion_event_worker_spec.rb477spec/lib/gitlab/ci/status/manual_spec.rb478spec/services/error_tracking/base_service_spec.rb479spec/graphql/resolvers/user_resolver_spec.rb480spec/lib/gitlab/ci/mask_secret_spec.rb481spec/support_specs/graphql/var_spec.rb482spec/lib/gitlab/import_export/json/ndjson_writer_spec.rb483spec/rubocop/cop/graphql/gid_expected_type_spec.rb484spec/helpers/access_tokens_helper_spec.rb485spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/server_spec.rb486spec/graphql/types/group_invitation_type_spec.rb487spec/lib/constraints/jira_encoded_url_constrainer_spec.rb488spec/lib/gitlab/github_import/representation_spec.rb489spec/validators/future_date_validator_spec.rb490spec/lib/gitlab/chat_spec.rb491spec/models/releases/source_spec.rb492spec/lib/gitlab/view/presenter/delegated_spec.rb493spec/lib/gitlab/ci/build/artifacts/adapters/raw_stream_spec.rb494spec/lib/gitlab/hook_data/subgroup_builder_spec.rb495spec/lib/gitlab/multi_destination_logger_spec.rb496spec/rubocop/cop/migration/remove_index_spec.rb497spec/rubocop/cop/sidekiq_options_queue_spec.rb498spec/spam/concerns/has_spam_action_response_fields_spec.rb499spec/lib/backup/artifacts_spec.rb500spec/lib/gitlab/search/sort_options_spec.rb501spec/graphql/types/snippets/blob_action_enum_spec.rb502spec/lib/gitlab/audit/null_author_spec.rb503spec/lib/gitlab/ci/status/group/common_spec.rb504spec/lib/gitlab/github_import/sequential_importer_spec.rb505spec/lib/api/validations/validators/untrusted_regexp_spec.rb506spec/lib/gitlab/graphql/calls_gitaly/instrumentation_spec.rb507spec/lib/gitlab/phabricator_import/conduit/maniphest_spec.rb508spec/models/concerns/presentable_spec.rb509spec/graphql/types/label_type_spec.rb510spec/lib/gitlab/pages/settings_spec.rb511spec/lib/gitlab/git/changed_path_spec.rb512spec/lib/gitlab/database/obsolete_ignored_columns_spec.rb513spec/lib/gitlab/ci/build/port_spec.rb514spec/lib/gitlab/app_json_logger_spec.rb515spec/serializers/entity_request_spec.rb516spec/workers/environments/auto_stop_cron_worker_spec.rb517spec/serializers/evidences/evidence_serializer_spec.rb518spec/lib/gitlab/middleware/release_env_spec.rb519spec/lib/gitlab/elasticsearch/logs/pods_spec.rb520spec/graphql/types/permission_types/merge_request_spec.rb521spec/lib/api/helpers/pagination_spec.rb522spec/workers/concerns/pipeline_background_queue_spec.rb523spec/lib/gitlab/kubernetes/role_spec.rb524spec/graphql/types/packages/package_without_versions_type_spec.rb525spec/graphql/types/ci/job_artifact_type_spec.rb526spec/lib/bitbucket/representation/user_spec.rb527Filter specs:528Running specs:529Running all node tests without filter530spec/models/ci/build_spec.rb531spec/models/concerns/issuable_spec.rb532spec/lib/gitlab/import_export/project/tree_saver_spec.rb533spec/services/projects/create_service_spec.rb534spec/lib/gitlab/bare_repository_import/importer_spec.rb535spec/policies/ci/build_policy_spec.rb536spec/helpers/visibility_level_helper_spec.rb537spec/serializers/environment_serializer_spec.rb538spec/lib/gitlab/gpg/invalid_gpg_signature_updater_spec.rb539spec/services/merge_requests/reopen_service_spec.rb540spec/serializers/group_child_entity_spec.rb541spec/models/project_services/discord_service_spec.rb542spec/models/project_services/unify_circuit_service_spec.rb543spec/graphql/mutations/merge_requests/set_labels_spec.rb544spec/models/ci/build_trace_chunk_spec.rb545spec/helpers/projects_helper_spec.rb546spec/models/project_services/teamcity_service_spec.rb547spec/lib/gitlab/ci/status/bridge/factory_spec.rb548spec/lib/gitlab/ci/templates/npm_spec.rb549spec/models/list_spec.rb550spec/lib/gitlab/data_builder/note_spec.rb551spec/lib/gitlab/ci/status/build/failed_spec.rb552spec/models/concerns/deprecated_assignee_spec.rb553spec/lib/banzai/filter/issuable_state_filter_spec.rb554spec/services/alert_management/process_prometheus_alert_service_spec.rb555spec/services/ci/create_pipeline_service/parent_child_pipeline_spec.rb556spec/models/terraform/state_spec.rb557spec/models/commit_collection_spec.rb558spec/services/search/group_service_spec.rb559spec/uploaders/ci/pipeline_artifact_uploader_spec.rb560spec/services/auto_merge_service_spec.rb561spec/views/projects/edit.html.haml_spec.rb562spec/finders/fork_projects_finder_spec.rb563spec/models/ci/build_trace_chunks/redis_spec.rb564spec/lib/gitlab/blob_helper_spec.rb565spec/models/project_services/chat_notification_service_spec.rb566spec/services/projects/prometheus/alerts/notify_service_spec.rb567spec/models/concerns/each_batch_spec.rb568spec/views/ci/status/_icon.html.haml_spec.rb569spec/lib/gitlab/ci/charts_spec.rb570spec/workers/repository_check/single_repository_worker_spec.rb571spec/lib/banzai/reference_redactor_spec.rb572spec/lib/gitlab/git/tag_spec.rb573spec/services/releases/destroy_service_spec.rb574spec/models/resource_state_event_spec.rb575spec/views/notify/pipeline_success_email.text.erb_spec.rb576spec/lib/gitlab/conflict/file_collection_spec.rb577spec/services/ci/pipeline_artifacts/destroy_expired_artifacts_service_spec.rb578spec/finders/user_recent_events_finder_spec.rb579spec/finders/metrics/users_starred_dashboards_finder_spec.rb580spec/services/incident_management/incidents/create_service_spec.rb581spec/finders/packages/tags_finder_spec.rb582spec/policies/user_policy_spec.rb583spec/models/clusters/agent_spec.rb584spec/lib/gitlab/git/cross_repo_comparer_spec.rb585spec/lib/gitlab/ci/trace/chunked_io_spec.rb586spec/services/merge_requests/reload_diffs_service_spec.rb587spec/graphql/resolvers/environments_resolver_spec.rb588spec/lib/gitlab/github_import/importer/labels_importer_spec.rb589spec/views/events/event/_push.html.haml_spec.rb590spec/lib/gitlab/background_migration/populate_has_vulnerabilities_spec.rb591spec/workers/jira_connect/sync_project_worker_spec.rb592spec/models/concerns/reactive_caching_spec.rb593spec/workers/delete_diff_files_worker_spec.rb594spec/rack_servers/puma_spec.rb595spec/services/import/github_service_spec.rb596spec/graphql/resolvers/design_management/designs_resolver_spec.rb597spec/services/merge_requests/merge_orchestration_service_spec.rb598spec/tasks/gitlab/git_rake_spec.rb599spec/lib/release_highlights/validator_spec.rb600spec/services/milestones/issues_count_service_spec.rb601spec/lib/gitlab/checks/diff_check_spec.rb602spec/lib/gitlab/application_rate_limiter_spec.rb603spec/lib/gitlab/checks/tag_check_spec.rb604spec/helpers/releases_helper_spec.rb605spec/lib/gitlab/ci/pipeline/chain/build_spec.rb606spec/lib/container_registry/client_spec.rb607spec/lib/gitlab/email/smime/certificate_spec.rb608spec/services/ci/archive_trace_service_spec.rb609spec/finders/freeze_periods_finder_spec.rb610spec/lib/gitlab/ci/templates/managed_cluster_applications_gitlab_ci_yaml_spec.rb611spec/lib/gitlab/auth/ldap/access_spec.rb612spec/workers/invalid_gpg_signature_update_worker_spec.rb613spec/lib/gitlab/metrics/prometheus_spec.rb614spec/services/pages_domains/create_acme_order_service_spec.rb615spec/services/metrics/dashboard/gitlab_alert_embed_service_spec.rb616spec/services/ci/resource_groups/assign_resource_from_resource_group_service_spec.rb617spec/models/design_management/repository_spec.rb618spec/views/projects/notes/_more_actions_dropdown.html.haml_spec.rb619spec/services/projects/create_from_template_service_spec.rb620spec/models/operations/feature_flags/strategy_spec.rb621spec/workers/rebase_worker_spec.rb622spec/workers/new_note_worker_spec.rb623spec/lib/gitlab/database_importers/self_monitoring/project/delete_service_spec.rb624spec/views/projects/issues/import_csv/_button.html.haml_spec.rb625spec/workers/concerns/gitlab/github_import/stage_methods_spec.rb626spec/serializers/feature_flag_serializer_spec.rb627spec/models/blob_viewer/readme_spec.rb628spec/graphql/mutations/container_repositories/destroy_tags_spec.rb629spec/models/blob_viewer/license_spec.rb630spec/workers/ci/pipeline_artifacts/create_quality_report_worker_spec.rb631spec/lib/gitlab/import_export/shared_spec.rb632spec/models/deployment_cluster_spec.rb633spec/lib/gitlab/background_migration/link_lfs_objects_projects_spec.rb634spec/lib/gitlab/jira_import_spec.rb635spec/presenters/instance_clusterable_presenter_spec.rb636spec/lib/gitlab/database_importers/common_metrics/importer_spec.rb637spec/lib/gitlab/background_migration/recalculate_project_authorizations_with_min_max_user_id_spec.rb638spec/models/lfs_object_spec.rb639spec/graphql/resolvers/group_milestones_resolver_spec.rb640spec/lib/gitlab/data_builder/feature_flag_spec.rb641spec/serializers/member_serializer_spec.rb642spec/services/ci/create_pipeline_service/merge_requests_spec.rb643spec/models/ci/pipeline_variable_spec.rb644spec/views/projects/pages_domains/show.html.haml_spec.rb645spec/workers/gitlab/github_import/refresh_import_jid_worker_spec.rb646spec/lib/gitlab/sidekiq_middleware/server_metrics_spec.rb647spec/serializers/cluster_error_entity_spec.rb648spec/lib/banzai/reference_parser/design_parser_spec.rb649spec/validators/cron_freeze_period_timezone_validator_spec.rb650spec/graphql/resolvers/projects/jira_projects_resolver_spec.rb651spec/serializers/merge_request_for_pipeline_entity_spec.rb652spec/services/merge_requests/export_csv_service_spec.rb653spec/models/blob_viewer/markup_spec.rb654spec/helpers/branches_helper_spec.rb655spec/lib/gitlab/x509/commit_spec.rb656spec/lib/gitlab/ci/templates/flutter_gitlab_ci_yaml_spec.rb657spec/lib/gitlab/ci/build/credentials/factory_spec.rb658spec/workers/object_pool/join_worker_spec.rb659spec/services/packages/pypi/create_package_service_spec.rb660spec/lib/gitlab/git_access_wiki_spec.rb661spec/views/projects/settings/operations/show.html.haml_spec.rb662spec/tasks/gitlab/generate_sample_prometheus_data_spec.rb663spec/graphql/resolvers/error_tracking/sentry_detailed_error_resolver_spec.rb664spec/lib/gitlab/ci/build/policy/kubernetes_spec.rb665spec/workers/build_success_worker_spec.rb666spec/services/packages/debian/update_distribution_service_spec.rb667spec/lib/gitlab/gitaly_client/operation_service_spec.rb668spec/lib/gitlab/import_export/design_repo_restorer_spec.rb669spec/validators/addressable_url_validator_spec.rb670spec/views/admin/sessions/two_factor.html.haml_spec.rb671spec/services/environments/canary_ingress/update_service_spec.rb672spec/workers/purge_dependency_proxy_cache_worker_spec.rb673spec/helpers/page_layout_helper_spec.rb674spec/lib/banzai/pipeline/description_pipeline_spec.rb675spec/serializers/feature_flag_summary_serializer_spec.rb676spec/workers/deployments/drop_older_deployments_worker_spec.rb677spec/graphql/mutations/merge_requests/set_subscription_spec.rb678spec/lib/gitlab/external_authorization/client_spec.rb679spec/models/ci/build_trace_section_name_spec.rb680spec/models/user_status_spec.rb681spec/lib/gitlab/ci/parsers/coverage/cobertura_spec.rb682spec/services/packages/create_temporary_package_service_spec.rb683spec/workers/container_expiration_policy_worker_spec.rb684spec/lib/constraints/admin_constrainer_spec.rb685spec/serializers/group_link/group_link_entity_spec.rb686spec/helpers/hooks_helper_spec.rb687spec/lib/api/entities/merge_request_basic_spec.rb688spec/serializers/blob_entity_spec.rb689spec/lib/gitlab/sidekiq_middleware/size_limiter/validator_spec.rb690spec/lib/gitlab/ci/config/external/file/remote_spec.rb691spec/lib/gitlab/ci/pipeline/expression/lexeme/not_equals_spec.rb692spec/services/namespace_settings/update_service_spec.rb693spec/lib/gitlab/git/merge_base_spec.rbKnapsack report generator started!694WARNING: `around(:context)` hooks are not supported and behave like `around(:example). Called from /builds/gitlab-org/gitlab/spec/support/omniauth_strategy.rb:36:in `block in <top (required)>'.695Run options:696 include {:focus=>true}697 exclude {:quarantine=>true, :geo=>true, :level=>"migration"}698All examples were filtered out; ignoring {:focus=>true}699==> Setting up GitLab Workhorse...700 GitLab Workhorse set up in 71.169527215 seconds...701==> Setting up gitlab-test bare repository in /builds/gitlab-org/gitlab/tmp/tests/gitlab-test_bare...702 /builds/gitlab-org/gitlab/tmp/tests/gitlab-test_bare set up in 0.037167713 seconds...703Ci::Build704 is expected to belong to runner required:705 is expected to belong to trigger_request required:706 is expected to belong to erased_by required:707 is expected to have many trace_sections708 is expected to have many needs709 is expected to have many sourced_pipelines710 is expected to have many job_variables711 is expected to have many report_results712 is expected to have many pages_deployments713 is expected to have one deployment714 is expected to have one runner_session715 is expected to validate that :ref cannot be empty/falsy716 is expected to respond to #has_trace?717 is expected to respond to #trace718 is expected to delegate #merge_request? to the #pipeline object719 is expected to delegate #merge_request_ref? to the #pipeline object720 is expected to delegate #legacy_detached_merge_request_pipeline? to the #pipeline object721 associations722 has a bidirectional relationship with projects723 callbacks724 when running after_create callback725 triggers asynchronous build hooks worker726 status727 when transitioning to any state from running728 removes runner_session729 .manual_actions730 is expected to include #<Ci::Build id: 8, status: "manual", finished_at: nil, trace: nil, created_at: "2021-03-03 08:50:29",...up_id: nil, waiting_for_resource_at: nil, processed: false, scheduling_type: "stage", tag_list: nil>731 is expected to include #<Ci::Build id: 10, status: "success", finished_at: nil, trace: nil, created_at: "2021-03-03 08:50:29...up_id: nil, waiting_for_resource_at: nil, processed: false, scheduling_type: "stage", tag_list: nil>732 is expected not to include #<Ci::Build id: 12, status: "created", finished_at: nil, trace: nil, created_at: "2021-03-03 08:50:29...up_id: nil, waiting_for_resource_at: nil, processed: false, scheduling_type: "stage", tag_list: nil>733 .ref_protected734 when protected is true735 is expected to include #<Ci::Build id: 15, status: "pending", finished_at: nil, trace: nil, created_at: "2021-03-03 08:50:29...up_id: nil, waiting_for_resource_at: nil, processed: false, scheduling_type: "stage", tag_list: nil>736 when protected is false737 is expected not to include #<Ci::Build id: 16, status: "pending", finished_at: nil, trace: nil, created_at: "2021-03-03 08:50:29...up_id: nil, waiting_for_resource_at: nil, processed: false, scheduling_type: "stage", tag_list: nil>738 when protected is nil739 is expected not to include #<Ci::Build id: 17, status: "pending", finished_at: nil, trace: nil, created_at: "2021-03-03 08:50:29...up_id: nil, waiting_for_resource_at: nil, processed: false, scheduling_type: "stage", tag_list: nil>740 .with_downloadable_artifacts741 when job does not have a downloadable artifact742 does not return the job743 when job has a accessibility artifact744 returns the job745 when job has a api_fuzzing artifact746 returns the job747 when job has a archive artifact748 returns the job749 when job has a cobertura artifact750 returns the job751 when job has a codequality artifact752 returns the job753 when job has a container_scanning artifact754 returns the job755 when job has a dast artifact756 returns the job757 when job has a dependency_scanning artifact758 returns the job759 when job has a dotenv artifact760 returns the job761 when job has a junit artifact762 returns the job763 when job has a license_management artifact764 returns the job765 when job has a license_scanning artifact766 returns the job767 when job has a lsif artifact768 returns the job769 when job has a metrics artifact770 returns the job771 when job has a performance artifact772 returns the job773 when job has a browser_performance artifact774 returns the job775 when job has a load_performance artifact776 returns the job777 when job has a sast artifact778 returns the job779 when job has a secret_detection artifact780 returns the job781 when job has a requirements artifact782 returns the job783 when job has a non-downloadable artifact784DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/sanitized_file.rb:316: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call785/usr/local/lib/ruby/2.7.0/fileutils.rb:206: warning: The called method `mkdir_p' is defined here786 (called from cache! at /builds/gitlab-org/gitlab/app/uploaders/object_storage.rb:369)787 does not return the job788 .with_live_trace789 when build has live trace790 selects the build791 when build does not have live trace792 does not select the build793 .with_stale_live_trace794 when build has a stale live trace795 selects the build796 when build does not have a stale live trace797 does not select the build798 .finished_before799 when build has finished one day ago800 selects the build801 when build has finished 30 minutes ago802 returns an empty array803 when build is still running804 returns an empty array805 .with_exposed_artifacts806 when some jobs have exposed artifacs and some not807 selects only the jobs with exposed artifacts808 when job does not expose artifacts809 returns an empty array810 .with_reports811 when build has a test report812 selects the build813 when build does not have test reports814 does not select the build815 when there are multiple builds with test reports816 does not execute a query for selecting job artifact one by one817 .with_needs818 when passing build name819 is expected to contain exactly #<Ci::Build id: 60, status: "pending", finished_at: nil, trace: nil, created_at: "2021-03-03 08:50:29...up_id: nil, waiting_for_resource_at: nil, processed: false, scheduling_type: "stage", tag_list: nil>820 when not passing any build name821 is expected to contain exactly #<Ci::Build id: 62, status: "pending", finished_at: nil, trace: nil, created_at: "2021-03-03 08:50:29...up_id: nil, waiting_for_resource_at: nil, processed: false, scheduling_type: "stage", tag_list: nil> and #<Ci::Build id: 63, status: "pending", finished_at: nil, trace: nil, created_at: "2021-03-03 08:50:29...up_id: nil, waiting_for_resource_at: nil, processed: false, scheduling_type: "stage", tag_list: nil>822 when not matching build name823 is expected to be empty824 .without_needs825 when no build_need is created826 is expected to contain exactly #<Ci::Build id: 1, status: "pending", finished_at: nil, trace: nil, created_at: "2021-03-03 08:50:29"...up_id: nil, waiting_for_resource_at: nil, processed: false, scheduling_type: "stage", tag_list: nil>827 when a build_need is created828 is expected to be empty829 #enqueue830 build has unmet prerequisites831 transitions to preparing832 build has no prerequisites833 transitions to pending834 #enqueue_preparing835 build completed prerequisites836 transitions to pending837 build did not complete prerequisites838 remains in preparing839 #actionize840 when build is a created841 makes build a manual action842 when build is not created843 does not change build status844 #schedulable?845 when build is schedulable846 is expected to be truthy847 when build is not schedulable848 is expected to be falsy849 #schedule850 transits to scheduled851 updates scheduled_at column852 schedules BuildScheduleWorker at the right time853 #unschedule854 when build is scheduled855 cleans scheduled_at column856 transits to manual857 when build is not scheduled858 does not transit status859 #options_scheduled_at860 when start_in is 1 day861 returns date after 1 day862 when start_in is 1 week863 returns date after 1 week864 #enqueue_scheduled865 when build is scheduled and the right time has not come yet866 does not transits the status867 when build is scheduled and the right time has already come868 cleans scheduled_at column869 transits to pending870 build has unmet prerequisites871 transits to preparing872 #any_runners_online?873 when no runners874 is expected to be falsey875 when there are runners876 is expected to be truthy877 that is inactive878 that is not online879 that cannot handle build880 #artifacts?881 when new artifacts are used882 artifacts archive does not exist883 is expected to be falsy884 artifacts archive exists885 is expected to be truthy886 is expired887 is expected to be falsy888 #locked_artifacts?889 when pipeline is artifacts_locked890 artifacts archive does not exist891 is expected to be falsy892 artifacts archive exists893 is expected to be truthy894 when pipeline is unlocked895 artifacts archive does not exist896 is expected to be falsy897 artifacts archive exists898 is expected to be falsy899 #available_artifacts?900 when artifacts are not expired901 when artifacts exist902 is expected to be truthy903 when artifacts do not exist904 is expected to be falsey905 when artifacts are expired906 when artifacts are not locked907 is expected to be falsey908 when artifacts are locked909 when artifacts exist910 is expected to be truthy911 when artifacts do not exist912 is expected to be falsey913 #browsable_artifacts?914 artifacts metadata does exists915 is expected to be truthy916 #artifacts_public?917 artifacts with defaults918 is expected to be truthy919 non public artifacts920 is expected to be falsey921 #artifacts_expired?922 is expired923 is expected to be truthy924 is not expired925 is expected to be falsey926 #artifacts_metadata?927 artifacts metadata does not exist928 is expected to be falsy929 artifacts archive is a zip file and metadata exists930 is expected to be truthy931 #artifacts_expire_in932 is expected to be nil933 when artifacts_expire_at is specified934 is expected to be within 5 of 604799.999510132935 #artifacts_expire_in=936 when assigning valid duration937 when assigning invalid duration938 when resetting value939 when setting to 0940 #commit941 returns commit pipeline has been created for942 #cache943 when build has cache944 when project has jobs_cache_index945 is expected to be a kind of Array and all include {:key => "key-1"}946 when project does not have jobs_cache_index947 is expected to eq [{:key=>"key", :paths=>["public"], :policy=>"pull-push"}]948 when build does not have cache949 is expected to eq [nil]950 #triggered_by?951 when user is owner952 is expected to be truthy953 when user is not owner954 is expected to be falsy955 #detailed_status956 returns a detailed status957 #coverage_regex958 when project has build_coverage_regex set959 and coverage_regex attribute is not set960 is expected to eq "\\(\\d+\\.\\d+\\) covered"961 but coverage_regex attribute is also set962 is expected to eq "Code coverage: \\d+\\.\\d+"963 when neither project nor build has coverage regex set964 is expected to be nil965 #update_coverage966 regarding coverage_regex's value,967 saves the correct extracted coverage value968 #parse_trace_sections!969 calls ExtractSectionsFromBuildTraceService970 #trace971 is expected to be a kind of Gitlab::Ci::Trace972 #has_trace?973 expect to call exist? method974 #has_live_trace?975 is expected to be truthy976 when build does not have live trace977 is expected to be falsy978 #has_archived_trace?979 is expected to be truthy980 when build does not have archived trace981 is expected to be falsy982 #has_job_artifacts?983 when build has a job artifact984 is expected to be truthy985 #has_test_reports?986 when build has a test report987 is expected to be truthy988 when build does not have a test report989 is expected to be falsey990 #has_old_trace?991 when old trace exists992 is expected to be truthy993 when old trace does not exist994 is expected to be falsy995 #trace=996 expect to fail trace=997 #old_trace998 expect to receive data from database999 #erase_old_trace!1000 when old trace exists1001 erases old trace1002 executes UPDATE query1003 when old trace does not exist1004 does not execute UPDATE query1005 #hide_secrets1006 hide runners token1007 is expected to match /^new x+ data$/1008 increments trace mutation metric1009 hide build token1010 is expected to match /^new x+ data$/1011 increments trace mutation metric1012 when build does not include secrets1013 does not mutate trace1014 does not increment trace mutation metric1015 state transition as a deployable1016DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activerecord-6.0.3.4/lib/active_record/relation.rb:412: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call1017/builds/gitlab-org/gitlab/app/models/concerns/has_environment_scope.rb:25: warning: The called method is defined here1018 (called from find_platform_kubernetes_with_cte at /builds/gitlab-org/gitlab/app/models/concerns/deployment_platform.rb:27)1019 has deployments record with created status1020 when transits to running1021 transits deployment status to running1022 when transits to success1023 transits deployment status to success1024 when transits to failed1025 transits deployment status to failed1026 when transits to skipped1027 transits deployment status to skipped1028 when transits to canceled1029 transits deployment status to canceled1030 #on_stop1031 when a job has a specification that it can be stopped from the other job1032 returns the other job name1033 when a job does not have environment information1034 returns nil1035 deployment1036 #outdated_deployment?1037 when build succeeded1038 current deployment is latest1039 is expected to be falsey1040 current deployment is not latest on environment1041 is expected to be truthy1042 when build failed1043 is expected to be falsey1044 environment1045 #has_environment?1046 when environment is defined1047 is expected to be truthy1048 when environment is not defined1049 is expected to be falsey1050 #expanded_environment_name1051 when environment uses $CI_COMMIT_REF_NAME1052 is expected to eq "review/master"1053 when environment uses yaml_variables containing symbol keys1054 returns an expanded environment name with a list of variables1055 when build metadata has already persisted the expanded environment name1056 returns a persisted expanded environment name without a list of variables1057 when using persisted variables1058 is expected to eq "review/x"1059 #expanded_kubernetes_namespace1060 environment and namespace are not set1061 is expected to be nil1062 environment is specified1063 namespace is not set1064 is expected to be nil1065 namespace is provided1066 with a static value1067 is expected to eq "production"1068 with a dynamic value1069 is expected to eq "deploy-master"1070 #starts_environment?1071 when environment is defined1072 no action is defined1073 is expected to be truthy1074 and start action is defined1075 is expected to be truthy1076 when environment is not defined1077 is expected to be falsey1078 #stops_environment?1079 when environment is defined1080 no action is defined1081 is expected to be falsey1082 and stop action is defined1083 is expected to be truthy1084 when environment is not defined1085 is expected to be falsey1086 erasable build1087 build is not erasable1088 #erase1089 is expected to equal false1090 #erasable?1091 is expected to eq false1092 build is erasable1093 new artifacts1094 #erase1095 erased by user1096 removes artifact file1097 removes artifact metadata file1098 removes all job_artifacts1099 erases build trace in trace file1100 sets erased to true1101 sets erase date1102 records user who erased a build1103 erased by system1104 removes artifact file1105 removes artifact metadata file1106 removes all job_artifacts1107 erases build trace in trace file1108 sets erased to true1109 sets erase date1110 does not set user who erased a build1111 #erasable?1112 is expected to be truthy1113 #erased?1114 job has not been erased1115 is expected to be falsey1116 job has been erased1117 is expected to be truthy1118 metadata and build trace are not available1119 #erase1120 does not raise error1121 #erase_erasable_artifacts!1122 erases erasable artifacts1123 keeps non erasable artifacts1124 #first_pending1125 is expected to be a kind of Ci::Build(id: integer, status: string, finished_at: datetime, trace: text, created_at: datetime, upda...g_for_resource_at: datetime_with_timezone, processed: boolean, scheduling_type: integer, tag_list: )1126 returns with the first pending build1127 #failed_but_allowed?1128 when build is not allowed to fail1129 and build.status is success1130 is expected to be falsey1131 and build.status is failed1132 is expected to be falsey1133 when build is allowed to fail1134 and build.status is success1135 is expected to be falsey1136 and build status is failed1137 is expected to be truthy1138 when build is a manual action1139 is expected to be falsey1140 flags1141 #cancelable?1142 when build is cancelable1143 when build is pending1144 is expected to be cancelable1145 when build is running1146 is expected to be cancelable1147 when build is created1148 is expected to be cancelable1149 when build is waiting for resource1150 is expected to be cancelable1151 when build is not cancelable1152 when build is successful1153 is expected not to be cancelable1154 when build is failed1155 is expected not to be cancelable1156 #retryable?1157 when build is retryable1158 when build is successful1159 is expected to be retryable1160 when build is failed1161 is expected to be retryable1162 when build is canceled1163 is expected to be retryable1164 when build is not retryable1165 when build is running1166 is expected not to be retryable1167 when build is skipped1168 is expected not to be retryable1169 when build is degenerated1170 is expected not to be retryable1171 #action?1172 when is set to manual1173 is expected to be truthy1174 when is set to delayed1175 is expected to be truthy1176 when set to something else1177 is expected to be falsey1178 #has_tags?1179 when build has tags1180 is expected to have tags1181 when build does not have tags1182 is expected not to have tags1183 build auto retry feature1184 #retries_count1185 when build has been retried several times1186 reports a correct retry count value1187 when build has not been retried1188 returns zero1189 .keep_artifacts!1190 resets expire_at1191 does not reset expire_at for other builds1192 when having artifacts files1193 resets dependent objects1194 does not reset dependent object for other builds1195 #keep_artifacts!1196 to reset expire_at1197 when having artifacts files1198 to reset dependent objects1199 #artifacts_file_for_type1200 queries artifacts for type1201 #merge_request1202 on a branch pipeline1203 with no merge request1204 is expected to be nil1205 with an open merge request from the same ref name1206 without a merge request diff containing the pipeline commit1207 is expected to be nil1208 with a merge request diff containing the pipeline commit1209 is expected to eq #<MergeRequest id:2 group1/project1!1>1210 with multiple open merge requests1211 returns the first merge request1212 on a detached merged request pipeline1213 is expected to eq #<MergeRequest id:5 namespace148/project148!1>1214 on a legacy detached merged request pipeline1215 is expected to eq #<MergeRequest id:6 namespace149/project149!1>1216 on a pipeline for merged results1217 is expected to eq #<MergeRequest id:7 namespace150/project150!1>1218 #options1219 contains options1220 allows to access with keys1221 allows to access with strings1222 when ci_build_metadata_config is set1223 persist data in build metadata1224 does not persist data in build1225 when ci_build_metadata_config is disabled1226 persist data in build1227 does not persist data in build metadata1228 when options include artifacts:expose_as1229 saves the presence of expose_as into build metadata1230 #other_manual_actions1231 returns other actions1232 when build is retried1233 does not return any of them1234 when other build is retried1235 returns a retried build1236 #other_scheduled_actions1237 when other build's status is success1238 returns other actions1239 when other build's status is failed1240 returns other actions1241 when other build's status is running1242 does not return other actions1243 when other build's status is scheduled1244 does not return other actions1245 #persisted_environment1246 when referenced literally1247 is expected to eq #<Environment id: 9, project_id: 1, name: "foo-master", created_at: "2021-03-03 12:05:26", updated_at...vironment_type: nil, state: "available", slug: "foo-master", auto_stop_at: nil, auto_delete_at: nil>1248 when referenced with a variable1249 is expected to eq #<Environment id: 10, project_id: 1, name: "foo-master", created_at: "2021-03-03 12:05:26", updated_a...vironment_type: nil, state: "available", slug: "foo-master", auto_stop_at: nil, auto_delete_at: nil>1250 when there is no environment1251 is expected to be nil1252 when build has a stop environment1253 expands environment name1254 #play1255 enqueues the build1256 #playable?1257 when build is a manual action1258 when build has been skipped1259 is expected not to be playable1260 when build has been canceled1261 is expected to be playable1262 when build is successful1263 is expected to be playable1264 when build has failed1265 is expected to be playable1266 when build is a manual untriggered action1267 is expected to be playable1268 when build is a manual and degenerated1269 is expected not to be playable1270 when build is scheduled1271 is expected to be playable1272 when build is not a manual action1273 is expected not to be playable1274 project settings1275 #allow_git_fetch1276 return project allow_git_fetch configuration1277 #project1278 is expected to eq #<Project id:1 group1/project1>>1279 #project_id1280 is expected to eq 11281 #project_name1282 is expected to eq "project1"1283 #ref_slug1284 transforms master to master1285 transforms 1-foo to 1-foo1286 transforms fix/1-foo to fix-1-foo1287 transforms fix-1-foo to fix-1-foo1288 transforms aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa to aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1289 transforms aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa to aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1290 transforms FOO to foo1291 transforms -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa- to aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1292 transforms -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa- to aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1293 transforms -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa- to aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1294 transforms aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa to aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1295 #repo_url1296 when token is set1297 is expected to be a kind of String1298 is expected to end with ".git"1299 is expected to start with "http://"1300 is expected to include "wxMWa5EMNxQGu4gprXcm"1301 is expected to include "gitlab-ci-token"1302 is expected to include "localhost/group1/project1"1303 when token is empty1304 is expected to be nil1305 #stuck?1306 when commit_status.status is pending1307 is expected to be truthy1308 and there are specific runner1309 is expected to be falsey1310 when commit_status.status is success1311 is expected to be falsey1312 when commit_status.status is failed1313 is expected to be falsey1314 when commit_status.status is canceled1315 is expected to be falsey1316 when commit_status.status is running1317 is expected to be falsey1318 #has_expired_locked_archive_artifacts?1319 when build does not have artifacts1320 is expected to eq nil1321 when build has artifacts1322 when artifacts are unlocked1323 is expected to eq false1324 when artifacts are locked1325 when artifacts do not expire1326 is expected to eq false1327 when artifacts expire in the future1328 is expected to eq false1329 when artifacts expired in the past1330 is expected to eq true1331 #has_expiring_archive_artifacts?1332 when artifacts have expiration date set1333 and job artifacts archive record exists1334 has expiring artifacts1335 and job artifacts archive record does not exist1336 does not have expiring artifacts1337 when artifacts do not have expiration date set1338 does not have expiring artifacts1339 #variables1340 returns variables1341 is expected to be an instance of Gitlab::Ci::Variables::Collection1342 is expected to eq [{:key=>"CI_PIPELINE_ID", :masked=>false, :public=>true, :value=>"1"}, {:key=>"CI_PIPELINE_URL", :mas...ue, :value=>"master"}, {:key=>"CI_BUILD_REF_SLUG", :masked=>false, :public=>true, :value=>"master"}]1343 when ci_job_jwt feature flag is disabled1344 CI_JOB_JWT is not included1345 when CI_JOB_JWT generation fails1346 CI_JOB_JWT is not included1347 CI_JOB_JWT is not included1348 variables ordering1349 when variables hierarchy is stubbed1350 returns variables in order depending on resource hierarchy1351 when build has environment and user-provided variables1352 matches explicit variables ordering1353 when build has user1354 is expected to include {:key => "GITLAB_USER_NAME", :value => "John Doe2", :public => true, :masked => false}1355 when build belongs to a pipeline for merge request1356 returns values based on source ref1357 when build has an environment1358 when no URL was set1359 does not have CI_ENVIRONMENT_URL1360 behaves like containing environment variables1361 is expected to include {:key => "CI_ENVIRONMENT_SLUG", :value => "prod-slug", :public => true, :masked => false}1362 when an URL was set1363 when the URL was set from the job1364 behaves like containing environment variables1365 is expected to include {:key => "CI_ENVIRONMENT_URL", :value => "http://host/test", :public => true, :masked => false}1366 when variables are used in the URL, it does not expand1367 puts $CI_ENVIRONMENT_URL in the last so all other variables are available to be used when runners are trying to expand it1368 behaves like containing environment variables1369 is expected to include {:key => "CI_ENVIRONMENT_URL", :value => "http://$CI_PROJECT_NAME-$CI_ENVIRONMENT_SLUG", :public => true, :masked => false}1370 when the URL was not set from the job, but environment1371 behaves like containing environment variables1372 is expected to include {:key => "CI_ENVIRONMENT_URL", :value => "http://host/test", :public => true, :masked => false}1373 when project has an environment specific variable1374 behaves like containing environment variables1375 is expected to include {:key => "CI_ENVIRONMENT_SLUG", :value => "prod-slug", :public => true, :masked => false}1376 when environment scope does not match build environment1377 is expected not to include {:key => "MY_STAGING_ONLY_VARIABLE", :value => "environment_specific_variable", :public => false, :masked => false}1378 when environment scope matches build environment1379 is expected to include {:key => "MY_STAGING_ONLY_VARIABLE", :value => "environment_specific_variable", :public => false, :masked => false}1380 when build started manually1381 is expected to include {:key => "CI_JOB_MANUAL", :value => "true", :public => true, :masked => false}1382 when job variable is defined1383 is expected to include {:key => "first", :value => "first", :public => false, :masked => false}1384 when build is for branch1385 is expected to include {:key => "CI_COMMIT_BRANCH", :value => "master", :public => true, :masked => false}1386 when build is for tag1387 is expected to include {:key => "CI_COMMIT_TAG", :value => "master", :public => true, :masked => false}1388 when CI variable is defined1389 is expected to include {:key => "SECRET_KEY", :value => "secret_value", :public => false, :masked => false}1390 when protected variable is defined1391 when the branch is protected1392 is expected to include {:key => "PROTECTED_KEY", :value => "protected_value", :public => false, :masked => false}1393 when the tag is protected1394 is expected to include {:key => "PROTECTED_KEY", :value => "protected_value", :public => false, :masked => false}1395 when the ref is not protected1396 is expected not to include {:key => "PROTECTED_KEY", :value => "protected_value", :public => false, :masked => false}1397 when group CI variable is defined1398 is expected to include {:key => "SECRET_KEY", :value => "secret_value", :public => false, :masked => false}1399 when group protected variable is defined1400 when the branch is protected1401 is expected to include {:key => "PROTECTED_KEY", :value => "protected_value", :public => false, :masked => false}1402 when the tag is protected1403 is expected to include {:key => "PROTECTED_KEY", :value => "protected_value", :public => false, :masked => false}1404 when the ref is not protected1405 is expected not to include {:key => "PROTECTED_KEY", :value => "protected_value", :public => false, :masked => false}1406 when build is for triggers1407 when variables are stored in trigger_request1408 behaves like returns variables for triggers1409 is expected to include {:key => "TRIGGER_KEY_1", :value => "TRIGGER_VALUE_1", :public => false, :masked => false}1410 is expected to include {:key => "CI_PIPELINE_TRIGGERED", :value => "true", :public => true, :masked => false}1411 when variables are stored in pipeline_variables1412 behaves like returns variables for triggers1413 is expected to include {:key => "TRIGGER_KEY_1", :value => "TRIGGER_VALUE_1", :public => false, :masked => false}1414 is expected to include {:key => "CI_PIPELINE_TRIGGERED", :value => "true", :public => true, :masked => false}1415 when pipeline has a variable1416 is expected to include {:key => "VARIABLE_1", :value => "VARIABLE_VALUE", :public => false, :masked => false}1417 when a job was triggered by a pipeline schedule1418 is expected to include {:key => "SCHEDULE_VARIABLE_KEY", :value => "VARIABLE_VALUE", :public => false, :masked => false}1419 when container registry is enabled1420 and is disabled for project1421 is expected to include {:key => "CI_REGISTRY", :value => "registry.example.com", :public => true, :masked => false}1422 is expected not to include {:key => "CI_REGISTRY_IMAGE", :value => "registry.example.com/group1/project1", :public => true, :masked => false}1423 and is enabled for project1424 is expected to include {:key => "CI_REGISTRY", :value => "registry.example.com", :public => true, :masked => false}1425 is expected to include {:key => "CI_REGISTRY_IMAGE", :value => "registry.example.com/group1/project1", :public => true, :masked => false}1426 when runner is assigned to build1427 is expected to include {:key => "CI_RUNNER_ID", :value => "6", :public => true, :masked => false}1428 is expected to include {:key => "CI_RUNNER_DESCRIPTION", :value => "description", :public => true, :masked => false}1429 is expected to include {:key => "CI_RUNNER_TAGS", :value => "docker, linux", :public => true, :masked => false}1430 when build is for a deployment1431 is expected to include {:key => "KUBERNETES_TOKEN", :value => "TOKEN", :public => false, :masked => false}1432 when project has default CI config path1433 is expected to include {:key => "CI_CONFIG_PATH", :value => ".gitlab-ci.yml", :public => true, :masked => false}1434 when project has custom CI config path1435 is expected to include {:key => "CI_CONFIG_PATH", :value => "custom", :public => true, :masked => false}1436 when pipeline variable overrides build variable1437 overrides YAML variable using a pipeline variable1438 when build is parallelized1439 when parallel is a number1440 behaves like parallelized jobs config1441 includes CI_NODE_INDEX1442 includes correct CI_NODE_TOTAL1443 when parallel is hash with the total key1444 behaves like parallelized jobs config1445 includes CI_NODE_INDEX1446 includes correct CI_NODE_TOTAL1447 when parallel is nil1448 behaves like parallelized jobs config1449 includes CI_NODE_INDEX1450 includes correct CI_NODE_TOTAL1451 when build has not been persisted yet1452 returns static predefined variables1453 for deploy tokens1454 when gitlab-deploy-token exists1455 includes deploy token variables1456 when gitlab-deploy-token does not exist1457 does not include deploy token variables1458 when build has dependency which has dotenv variable1459 is expected to include {:key => "VARIABLE_1", :value => "VARIABLE_VALUE", :public => false, :masked => false}1460 #scoped_variables1461 when build has not been persisted yet1462 does not persist the build1463 returns static predefined variables1464 does not return prohibited variables1465 with dependency variables1466 inherits dependent variables1467 #simple_variables_without_dependencies1468 does not load dependencies1469 #secret_instance_variables1470 when ref is branch1471 when ref is protected1472 is expected to include #<Ci::InstanceVariable id: 1, variable_type: "env_var", masked: false, protected: true, key: [FILTERE... "GDW8o1QTQ0EsxMF0bU8L/W+Z0353RypyygJ7qGAe\n", encrypted_value_iv: "IIVndfLx/vSY7xg0\n", value: nil>1473 when ref is not protected1474 is expected not to include #<Ci::InstanceVariable id: 1, variable_type: "env_var", masked: false, protected: true, key: [FILTERE... "GDW8o1QTQ0EsxMF0bU8L/W+Z0353RypyygJ7qGAe\n", encrypted_value_iv: "IIVndfLx/vSY7xg0\n", value: nil>1475 when ref is tag1476 when ref is protected1477 is expected to include #<Ci::InstanceVariable id: 1, variable_type: "env_var", masked: false, protected: true, key: [FILTERE... "GDW8o1QTQ0EsxMF0bU8L/W+Z0353RypyygJ7qGAe\n", encrypted_value_iv: "IIVndfLx/vSY7xg0\n", value: nil>1478 when ref is not protected1479 is expected not to include #<Ci::InstanceVariable id: 1, variable_type: "env_var", masked: false, protected: true, key: [FILTERE... "GDW8o1QTQ0EsxMF0bU8L/W+Z0353RypyygJ7qGAe\n", encrypted_value_iv: "IIVndfLx/vSY7xg0\n", value: nil>1480 when ref is merge request1481 when ref is protected1482 does not return protected variables as it is not supported for merge request pipelines1483 when ref is not protected1484 is expected not to include #<Ci::InstanceVariable id: 1, variable_type: "env_var", masked: false, protected: true, key: [FILTERE... "GDW8o1QTQ0EsxMF0bU8L/W+Z0353RypyygJ7qGAe\n", encrypted_value_iv: "IIVndfLx/vSY7xg0\n", value: nil>1485 #secret_group_variables1486 when ref is branch1487 when ref is protected1488 is expected to include #<Ci::GroupVariable id: 5, key: [FILTERED], value: nil, encrypted_value: "JXkQtslTbZk/xapk+3bR0Q==\n"...: "2021-03-03 12:05:43", updated_at: "2021-03-03 12:05:43", masked: false, variable_type: "env_var">1489 when ref is not protected1490 is expected not to include #<Ci::GroupVariable id: 5, key: [FILTERED], value: nil, encrypted_value: "JXkQtslTbZk/xapk+3bR0Q==\n"...: "2021-03-03 12:05:43", updated_at: "2021-03-03 12:05:43", masked: false, variable_type: "env_var">1491 when ref is tag1492 when ref is protected1493 is expected to include #<Ci::GroupVariable id: 5, key: [FILTERED], value: nil, encrypted_value: "JXkQtslTbZk/xapk+3bR0Q==\n"...: "2021-03-03 12:05:43", updated_at: "2021-03-03 12:05:43", masked: false, variable_type: "env_var">1494 when ref is not protected1495 is expected not to include #<Ci::GroupVariable id: 5, key: [FILTERED], value: nil, encrypted_value: "JXkQtslTbZk/xapk+3bR0Q==\n"...: "2021-03-03 12:05:43", updated_at: "2021-03-03 12:05:43", masked: false, variable_type: "env_var">1496 when ref is merge request1497 when ref is protected1498 does not return protected variables as it is not supported for merge request pipelines1499 when ref is not protected1500 is expected not to include #<Ci::GroupVariable id: 5, key: [FILTERED], value: nil, encrypted_value: "JXkQtslTbZk/xapk+3bR0Q==\n"...: "2021-03-03 12:05:43", updated_at: "2021-03-03 12:05:43", masked: false, variable_type: "env_var">1501 #secret_project_variables1502 when ref is branch1503 when ref is protected1504 is expected to include #<Ci::Variable id: 9, key: [FILTERED], value: nil, encrypted_value: "TPjGAvajzVNnIaX4A9/mJw==\n", enc...n", project_id: 1, protected: true, environment_scope: "*", masked: false, variable_type: "env_var">1505 when ref is not protected1506 is expected not to include #<Ci::Variable id: 9, key: [FILTERED], value: nil, encrypted_value: "TPjGAvajzVNnIaX4A9/mJw==\n", enc...n", project_id: 1, protected: true, environment_scope: "*", masked: false, variable_type: "env_var">1507 when ref is tag1508 when ref is protected1509 is expected to include #<Ci::Variable id: 9, key: [FILTERED], value: nil, encrypted_value: "TPjGAvajzVNnIaX4A9/mJw==\n", enc...n", project_id: 1, protected: true, environment_scope: "*", masked: false, variable_type: "env_var">1510 when ref is not protected1511 is expected not to include #<Ci::Variable id: 9, key: [FILTERED], value: nil, encrypted_value: "TPjGAvajzVNnIaX4A9/mJw==\n", enc...n", project_id: 1, protected: true, environment_scope: "*", masked: false, variable_type: "env_var">1512 when ref is merge request1513 when ref is protected1514 does not return protected variables as it is not supported for merge request pipelines1515 when ref is not protected1516 is expected not to include #<Ci::Variable id: 9, key: [FILTERED], value: nil, encrypted_value: "TPjGAvajzVNnIaX4A9/mJw==\n", enc...n", project_id: 1, protected: true, environment_scope: "*", masked: false, variable_type: "env_var">1517 #deployment_variables1518 is expected to eq #<Double (anonymous)>1519 environment is nil1520 is expected to be empty1521 #any_unmet_prerequisites?1522 build has prerequisites1523 is expected to be truthy1524 build does not have prerequisites1525 is expected to be falsey1526 #yaml_variables1527 when ci_build_metadata_config is set1528 persist data in build metadata1529 does not persist data in build1530 behaves like having consistent representation1531 allows to access using symbols1532 when ci_build_metadata_config is disabled1533 persist data in build1534 does not persist data in build metadata1535 behaves like having consistent representation1536 allows to access using symbols1537 #dependency_variables1538 when using dependencies1539 inherits only dependent variables1540 when using needs1541 inherits only needs with artifacts variables1542 state transition: any => [:preparing]1543 queues BuildPrepareWorker1544 state transition: any => [:pending]1545 queues BuildQueueWorker1546 state transition: pending: :running1547 for pipeline ref existence1548 ensures pipeline ref creation1549 ensures that it is not run in database transaction1550 when runner timeout overrides project timeout1551 behaves like saves data on transition1552 saves timeout1553 saves timeout_source1554 when Ci::BuildMetadata#update_timeout_state fails update1555 doesn't save timeout1556 doesn't save timeout_source1557 when runner timeout doesn't override project timeout1558 behaves like saves data on transition1559 saves timeout1560 saves timeout_source1561 when Ci::BuildMetadata#update_timeout_state fails update1562 doesn't save timeout1563 doesn't save timeout_source1564 #has_valid_build_dependencies?1565 when validates for dependencies is enabled1566 when "dependencies" keyword is not defined1567 is expected to have valid build dependencies1568 when "dependencies" keyword is empty1569 is expected to have valid build dependencies1570 when "dependencies" keyword is specified1571 behaves like validation is active1572 when depended job has not been completed yet1573 is expected to have valid build dependencies1574 when artifacts of depended job has been expired1575 is expected not to have valid build dependencies1576 when artifacts of depended job has been erased1577 is expected not to have valid build dependencies1578 when validates for dependencies is disabled1579 behaves like validation is not active1580 when depended job has not been completed yet1581 is expected to have valid build dependencies1582 when artifacts of depended job has been expired1583 is expected to have valid build dependencies1584 when artifacts of depended job has been erased1585 is expected to have valid build dependencies1586 state transition when build fails1587 when build is configured to be retried1588 retries build and assigns the same user to it1589 does not try to create a todo1590 when retry service raises Gitlab::Access::AccessDeniedError exception1591 handles raised exception1592 logs the error1593 fails the job1594 when build is not configured to be retried1595 does not retry build1596 does not count retries when not necessary1597 creates a todo1598 when associated deployment failed to update its status1599 can drop the build1600 .matches_tag_ids1601 when have different tags1602 does not match a build1603 when have a subset of tags1604 does match a build1605 when build does not have tags1606 does match a build1607 when does not have a subset of tags1608 does not match a build1609 .matches_tags1610 when does have tags1611 does match a build1612 when does not have tags1613 does not match a build1614 pages deployments1615 when job is "pages"1616 when pages are enabled1617 is marked as pages generator1618 job succeeds1619 calls pages worker1620 job fails1621 does not call pages worker1622 when pages are disabled1623 is not marked as pages generator1624 job succeeds1625 does not call pages worker1626 when job is not "pages"1627 is not marked as pages generator1628 job succeeds1629 does not call pages worker1630 #has_terminal?1631 returns true if the build is running and it has a runner_session_url1632 returns false1633 when runner_session_url is empty1634 unless the build is running1635 is expected to be falsey1636 #collect_test_reports!1637 is expected to eq 01638 when build has a test report1639 when there is a JUnit test report from rspec test suite1640 parses blobs and add the results to the test suite1641 when there is a JUnit test report from java ant test suite1642 parses blobs and add the results to the test suite1643 when there is a corrupted JUnit test report1644 returns no test data and includes a suite_error message1645 #collect_accessibility_reports!1646 is expected to eq {}1647 when build has an accessibility report1648 when there is an accessibility report with errors1649 parses blobs and add the results to the accessibility report1650 when there is an accessibility report without errors1651 parses blobs and add the results to the accessibility report1652 when there is an accessibility report with an invalid url1653 parses blobs and add the results to the accessibility report1654 #collect_coverage_reports!1655 is expected to eq {}1656 when build has a coverage report1657 when there is a Cobertura coverage report from simplecov-cobertura1658 parses blobs and add the results to the coverage report1659 when there is a Cobertura coverage report from gocov-xml1660 parses blobs and add the results to the coverage report1661 when there is a Cobertura coverage report with class filename paths not relative to project root1662 parses blobs and add the results to the coverage report with corrected paths1663 when there is a corrupted Cobertura coverage report1664 raises an error1665 #collect_codequality_reports!1666 is expected to eq {}1667 when build has a codequality report1668 when there is a codequality report1669 parses blobs and add the results to the codequality report1670 when there is an codequality report without errors1671 parses blobs and add the results to the codequality report1672 #collect_terraform_reports!1673 returns an empty hash1674 when build has a terraform report1675 when there is a valid tfplan.json1676 parses blobs and add the results to the terraform report1677 when there is an invalid tfplan.json1678 adds invalid plan report1679 #report_artifacts1680 when the build has reports1681 returns the artifacts with reports1682 #artifacts_metadata_entry1683 when using local storage1684 for existing file1685 does exist1686 for non-existing file1687 does not exist1688 when using remote storage1689 for existing file1690 does exist1691 for non-existing file1692 does not exist1693 #publishes_artifacts_reports?1694 when artifacts reports are defined1695 is expected to be truthy1696 when artifacts reports missing defined1697 is expected to be falsey1698 when options are missing1699 is expected to be falsey1700 #runner_required_feature_names1701 when artifacts reports are defined1702 is expected to include :upload_multiple_artifacts1703 when artifacts exclude is defined and the is feature enabled1704 when a feature flag is enabled1705 is expected to include :artifacts_exclude1706 when a feature flag is disabled1707 is expected not to include :artifacts_exclude1708 #supported_runner?1709 when `upload_multiple_artifacts` feature is required by build1710 when runner provides given feature1711 is expected to be truthy1712 when runner does not provide given feature1713 is expected to be falsey1714 when `refspecs` feature is required by build1715 when runner provides given feature1716 is expected to be truthy1717 when runner does not provide given feature1718 is expected to be falsey1719 when `multi_build_steps` feature is required by build1720 when runner provides given feature1721 is expected to be truthy1722 when runner does not provide given feature1723 is expected to be falsey1724 when `return_exit_code` feature is required by build1725 when runner provides given feature1726 is expected to be truthy1727 when runner does not provide given feature1728 is expected to be falsey1729 when the runner does not provide all of the required features1730 requires `upload_multiple_artifacts` too1731 #deployment_status1732 when build is a last deployment1733 is expected to eq :last1734 when there is a newer build with deployment1735 is expected to eq :out_of_date1736 when build with deployment has failed1737 is expected to eq :failed1738 when build with deployment is running1739 is expected to eq :creating1740 #degenerated?1741 when build is degenerated1742 is expected to be degenerated1743 when build is valid1744 is expected not to be degenerated1745 and becomes degenerated1746 is expected to be degenerated1747 degenerate!1748 drops metadata1749 #archived?1750 when build is degenerated1751 is expected to be archived1752 for old build1753 when archive_builds_in is set1754 is expected to be archived1755 when archive_builds_in is not set1756 is expected not to be archived1757 #read_metadata_attribute1758 when build and metadata options is set1759 prefers build options1760 when only metadata options is set1761 returns metadata options1762 when none is set1763 returns default value1764 #write_metadata_attribute1765 when ci_build_metadata_config is set1766 when data in build is already set1767 does set metadata options1768 does reset build options1769 when ci_build_metadata_config is disabled1770 when data in build metadata is already set1771 does set metadata options1772 does reset build options1773 #invalid_dependencies1774 returns invalid dependencies1775 #execute_hooks1776 with project hooks1777 execute hooks1778 without relevant project hooks1779 does not execute a hook1780 with project services1781 execute services1782 without relevant project services1783 execute services1784 #environment_auto_stop_in1785 when build option has environment auto_stop_in1786 is expected to eq "1 day"1787 when build option does not have environment auto_stop_in1788 is expected to be nil1789 #degradation_threshold1790 when threshold variable is defined1791 is expected to eq 51792 when threshold variable is not defined1793 is expected to be nil1794 #run_on_status_commit1795 runs provided hook after status commit1796 does not run hooks when status has not changed1797 #debug_mode?1798 when CI_DEBUG_TRACE=true is in variables1799 when in instance variables1800 is expected to eq true1801 when in group variables1802 is expected to eq true1803 when in pipeline variables1804 is expected to eq true1805 when in project variables1806 is expected to eq true1807 when in job variables1808 is expected to eq true1809 when in yaml variables1810 is expected to eq true1811 when CI_DEBUG_TRACE is not in variables1812 is expected to eq false1813 #drop_with_exit_code!1814 when exit_codes are not defined1815 behaves like drops the build without changing allow_failure1816 does not change allow_failure1817 drops the build1818 when allow_failure_criteria is nil1819 behaves like drops the build without changing allow_failure1820 does not change allow_failure1821 drops the build1822 when exit_codes is nil1823 behaves like drops the build without changing allow_failure1824 does not change allow_failure1825 drops the build1826 when exit_codes do not match1827 behaves like drops the build without changing allow_failure1828 does not change allow_failure1829 drops the build1830 with matching exit codes1831 changes allow_failure1832 drops the build1833 is executed inside a transaction1834 when exit_code is nil1835 behaves like drops the build without changing allow_failure1836 does not change allow_failure1837 drops the build1838 #exit_codes_defined?1839 without allow_failure_criteria1840 is expected to be falsey1841 when exit_codes is nil1842 is expected to be falsey1843 when exit_codes is an empty array1844 is expected to be falsey1845 when exit_codes are defined1846 is expected to be truthy1847Issuable1848 Associations1849 is expected to belong to project required:1850 is expected to belong to author required:1851 is expected to have many notes dependent => destroy1852 is expected to have many todos dependent => destroy1853 is expected to have many labels1854 is expected to have many note_authors through notes1855 Notes1856 indicates if the notes have their authors loaded1857 Included modules1858 is expected to includes the Awardable module1859 Validation1860 general validations1861 is expected to validate that :project cannot be empty/falsy1862 is expected to validate that :author cannot be empty/falsy1863 is expected to validate that :title cannot be empty/falsy1864 is expected to validate that the length of :title is at most 2551865 is expected to validate that the length of :description is at most 10485761866 behaves like validates description length with custom validation1867 when Issuable is a new record1868 validates the maximum description length1869 on create1870 does not validate the maximum description length1871 when Issuable is an existing record1872 does not validate the maximum description length1873 behaves like truncates the description to its allowed maximum length on import1874 truncates the description to its allowed maximum length1875 Scope1876 is expected to respond to #opened1877 is expected to respond to #closed1878 is expected to respond to #assigned1879 author_name1880 is delegated to author1881 returns nil when author is nil1882 .initialize1883 maps the state to the right state_id1884 maps a string version of the state to the right state_id1885 gives preference to state_id if present1886 .any_label1887 returns an issuable with at least one label1888 for custom sorting1889 returns an issuable with at least one label1890 .search1891 returns issues with a matching title1892 returns issues with a partially matching title1893 returns issues with a matching title regardless of the casing1894 returns issues with a fuzzy matching title1895 returns issues with a matching title for a query shorter than 3 chars1896 .full_search1897 returns issues with a matching title1898 returns issues with a partially matching title1899 returns issues with a matching title regardless of the casing1900 returns issues with a fuzzy matching title1901 returns issues with a matching description1902 returns issues with a partially matching description1903 returns issues with a matching description regardless of the casing1904 returns issues with a fuzzy matching description1905 returns issues with a matching description for a query shorter than 3 chars1906 returns issues with a fuzzy matching description for a query shorter than 3 chars if told to do so1907 returns issues with a fuzzy matching title for a query shorter than 3 chars if told to do so1908 when matching columns is "title"1909 returns issues with a matching title1910 returns no issues with a matching description1911 when matching columns is "description"1912 returns no issues with a matching title1913 returns issues with a matching description1914 when matching columns is "title,description"1915 returns issues with a matching title1916 returns issues with a matching description1917 when matching columns is nil"1918 returns issues with a matching title1919 returns issues with a matching description1920 when matching columns is "invalid"1921 returns issues with a matching title1922 returns issues with a matching description1923 when matching columns is "title,invalid"1924 returns issues with a matching title1925 returns no issues with a matching description1926 .to_ability_name1927 is expected to eq "issue"1928 is expected to eq "merge_request"1929 #today?1930 returns true when created today1931 returns false when not created today1932 #new?1933 returns false when created 30 hours ago1934 returns true when created 20 hours ago1935 #sort_by_attribute1936 by milestone due date1937 sorts desc1938 sorts asc1939 when all of the results are level on the sort key1940 has no duplicates across pages1941 #subscribed?1942 user is not a participant in the issue1943 returns false when no subcription exists1944 returns true when a subcription exists and subscribed is true1945 returns false when a subcription exists and subscribed is false1946 user is a participant in the issue1947 returns false when no subcription exists1948 returns true when a subcription exists and subscribed is true1949 returns false when a subcription exists and subscribed is false1950 #time_estimate=1951 coerces the value below Gitlab::Database::MAX_INT_VALUE1952 skips coercion for not Integer values1953 #to_hook_data1954 when old_associations is empty1955 delegates to Gitlab::HookData::IssuableBuilder#build and does not set labels, assignees, nor total_time_spent1956 labels are updated1957 delegates to Gitlab::HookData::IssuableBuilder#build1958 total_time_spent is updated1959 delegates to Gitlab::HookData::IssuableBuilder#build1960 issue is assigned1961 delegates to Gitlab::HookData::IssuableBuilder#build1962 merge_request is assigned1963 delegates to Gitlab::HookData::IssuableBuilder#build1964 #labels_array1965 loads the association and returns it as an array1966 .labels_hash1967 maps issue ids to labels titles1968 works on relations filtered by multiple labels1969 with a NULL label ID in the link1970 filters out bad labels1971 #user_notes_count1972 counts the user notes1973 votes1974 returns correct values1975 .order_due_date_and_labels_priority1976 sorts issues in order of milestone due date, then label priority1977 .order_labels_priority1978 is expected to eq 21979 .with_label1980 finds the correct issue containing just enhancement label1981 finds the correct issues containing the same label1982 finds the correct issues containing only both labels1983 #spend_time1984 adding time1985 updates the total time spent1986 updates issues updated_at1987 subtracting time1988 updates the total time spent1989 when time to subtract exceeds the total time spent1990 raise a validation error1991 #first_contribution?1992 for merge requests1993 is false for MAINTAINER1994 is false for OWNER1995 is false for REPORTER1996 is true when you don't have any merged MR1997 handles multiple projects separately1998 for issues1999 is false even without merged MR2000 #matches_cross_reference_regex?2001 issue description with long path string2002 behaves like matches_cross_reference_regex? fails fast2003 fails fast for long strings2004 note with long path string2005 behaves like matches_cross_reference_regex? fails fast2006 fails fast for long strings2007 note with long path string2008 behaves like matches_cross_reference_regex? fails fast2009 fails fast for long strings2010 #supports_time_tracking?2011 issuable_type: :issue, supports_time_tracking: true2012 is expected to eq true2013 issuable_type: :incident, supports_time_tracking: true2014 is expected to eq true2015 issuable_type: :merge_request, supports_time_tracking: true2016 is expected to eq true2017 #supports_severity?2018 issuable_type: :issue, supports_severity: false2019 is expected to eq false2020 issuable_type: :incident, supports_severity: true2021 is expected to eq true2022 issuable_type: :merge_request, supports_severity: false2023 is expected to eq false2024 #incident?2025 issuable_type: :issue, incident: false2026 is expected to eq false2027 issuable_type: :incident, incident: true2028 is expected to eq true2029 issuable_type: :merge_request, incident: false2030 is expected to eq false2031 #supports_issue_type?2032 issuable_type: :issue, supports_issue_type: true2033 is expected to eq true2034 issuable_type: :merge_request, supports_issue_type: false2035 is expected to eq false2036 #severity2037 when issuable is not an incident2038 issuable_type: :issue, severity: "unknown"2039 is expected to eq "unknown"2040 issuable_type: :merge_request, severity: "unknown"2041 is expected to eq "unknown"2042 when issuable type is an incident2043 when incident does not have issuable_severity2044 returns default serverity2045 when incident has issuable_severity2046 returns issuable serverity2047Gitlab::ImportExport::Project::TreeSaver2048 with JSON2049 behaves like saves project tree successfully2050 saves project tree attributes2051 with project root2052 is expected to include {"description" => "description", "visibility_level" => 20}2053 is expected not to include {"runners_token" => "token"}2054 has approvals_before_merge set2055 with milestones2056 is expected not to be empty2057 with merge_requests2058 is expected not to be empty2059 has merge request's milestones2060 has merge request's source branch SHA2061 has merge request's target branch SHA2062 has events2063 has merge requests diffs2064 has merge request diff files2065 has merge request diff commits2066 has merge requests comments2067 has author on merge requests comments2068 has merge request resource label events2069 with snippets2070 is expected not to be empty2071 has snippet notes2072 with releases2073 is expected not to be empty2074 has no author on releases2075 has the author ID on releases2076 with issues2077 is expected not to be empty2078 has issue comments2079 has issue assignees2080 has author on issue comments2081 has labels associated to records2082 has project and group labels2083 has priorities associated to labels2084 has issue resource label events2085 saves the issue designs correctly2086 saves the issue design notes correctly2087 saves the issue design versions correctly2088 with ci_pipelines2089 is expected not to be empty2090 has pipeline stages2091 has pipeline statuses2092 has pipeline builds2093 has ci pipeline notes2094 with labels2095 is expected not to be empty2096 with project_feature2097 is expected not to be empty2098 has project feature2099 with custom_attributes2100 has custom attributes2101 with badges2102 has badges2103 with project_members2104 is expected not to be empty2105 with boards2106 is expected not to be empty2107 #saves project tree2108 saves project successfully2109 does not complain about non UTF-8 characters in MR diff files2110 overrides group members2111 when has no permission2112 does not export group members2113 when has permission as maintainer2114 does not export group members2115 when has permission as group owner2116 exports group members as group owner2117 as admin2118 exports group members as admin2119 exports group members as project members2120 with description override2121 is expected to include {"description" => "Foo Bar"}2122 with NDJSON2123 behaves like saves project tree successfully2124 saves project tree attributes2125 with project root2126 is expected to include {"description" => "description", "visibility_level" => 20}2127 is expected not to include {"runners_token" => "token"}2128 has approvals_before_merge set2129 with milestones2130 is expected not to be empty2131 with merge_requests2132 is expected not to be empty2133 has merge request's milestones2134 has merge request's source branch SHA2135 has merge request's target branch SHA2136 has events2137 has merge requests diffs2138 has merge request diff files2139 has merge request diff commits2140 has merge requests comments2141 has author on merge requests comments2142 has merge request resource label events2143 with snippets2144 is expected not to be empty2145 has snippet notes2146 with releases2147 is expected not to be empty2148 has no author on releases2149 has the author ID on releases2150 with issues2151 is expected not to be empty2152 has issue comments2153 has issue assignees2154 has author on issue comments2155 has labels associated to records2156 has project and group labels2157 has priorities associated to labels2158 has issue resource label events2159 saves the issue designs correctly2160 saves the issue design notes correctly2161 saves the issue design versions correctly2162 with ci_pipelines2163 is expected not to be empty2164 has pipeline stages2165 has pipeline statuses2166 has pipeline builds2167 has ci pipeline notes2168 with labels2169 is expected not to be empty2170 with project_feature2171 is expected not to be empty2172 has project feature2173 with custom_attributes2174 has custom attributes2175 with badges2176 has badges2177 with project_members2178 is expected not to be empty2179 with boards2180 is expected not to be empty2181 #saves project tree2182 saves project successfully2183 does not complain about non UTF-8 characters in MR diff files2184 overrides group members2185 when has no permission2186 does not export group members2187 when has permission as maintainer2188 does not export group members2189 when has permission as group owner2190 exports group members as group owner2191 as admin2192 exports group members as admin2193 exports group members as project members2194 with description override2195 is expected to include {"description" => "Foo Bar"}2196Projects::CreateService#execute2197 calls the passed block2198 writes project full path to .git/config2199 with labels2200 creates labels on project creation2201 using gitlab project import2202 does not creates labels on project creation2203 setting name and path2204 when both are set2205 keeps them as specified2206 when path is set2207 sets name == path2208 when name is a valid path2209 sets path == name2210 when name is not a valid path2211 parameterizes the name2212 user namespace2213 is expected to eq #<Namespace id: 594, name: "John Doe627", path: "user616", owner_id: 582, created_at: "2021-03-03 12:...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>2214 after create actions2215 invalidate personal_projects_count caches2216 builds associated project settings2217 behaves like storing arguments in the application context2218 places the expected params in the application context2219 admin creates project with other user's namespace_id2220 when admin mode is enabled2221 sets the correct permissions2222 when admin mode is disabled2223 is not allowed2224 group namespace2225 is expected to include #<Project id:428 group12/GitLab>>2226 group sharing2227 updates authorization2228 membership overrides2229 membership is higher from group hierarchy2230 updates authorization2231 membership is higher from group share2232 share max access level is not limiting2233 updates authorization2234 share max access level is limiting2235 updates authorization2236 error handling2237 handles invalid options2238 sets invalid service as inactive2239 wiki_enabled creates repository directory2240 wiki_enabled true creates wiki repository directory2241 is expected to be truthy2242 wiki_enabled false does not create wiki repository directory2243 is expected to be falsey2244 import data2245 does not write repository config2246 stores import data and URL2247 builds_enabled global setting2248 global builds_enabled false does not enable CI by default2249 is expected to be falsey2250 global builds_enabled true does enable CI by default2251 is expected to be truthy2252 default visibility level2253 in public group2254 creates project with correct visibility level2255 in internal group2256 creates project with correct visibility level2257 in private group2258 creates project with correct visibility level2259 restricted visibility level2260 when visibility is project based2261 does not allow a restricted visibility level for non-admins2262 does not allow a restricted visibility level for admins when admin mode is disabled2263 allows a restricted visibility level for admins when admin mode is enabled2264 when visibility is overridden2265 does not allow a restricted visibility level for non-admins2266 does not allow a restricted visibility level for admins when admin mode is disabled2267 allows a restricted visibility level for admins when admin mode is enabled2268 when visibility is misspelled2269 does not restrict project creation2270 repository creation2271 synchronously creates the repository2272 when another repository already exists on disk2273 with legacy storage2274 does not allow to create a project when path matches existing repository on disk2275 does not allow to import project when path matches existing repository on disk2276 with hashed storage2277 does not allow to create a project when path matches existing repository on disk2278 when readme initialization is requested2279 behaves like creates README.md2280 is expected to equal 12281 is expected to eql "README.md"2282 is expected to include "# GitLab"2283 and a default_branch_name is specified2284 creates README.md within the specified branch rather than master2285 behaves like creates README.md2286 is expected to equal 12287 is expected to eql "README.md"2288 is expected to include "# GitLab"2289 create service for the project2290 with an active service template2291 creates a service from the template2292 with an active instance-level integration2293 creates a service from the instance-level integration2294 with an active group-level integration2295 creates a service from the group-level integration2296 with an active subgroup2297 creates a service from the subgroup-level integration2298 when there is an invalid integration2299 creates an inactive service2300 when skip_disk_validation is used2301 sets the project attribute2302 when project has access to shared service2303 Prometheus application is shared via group cluster2304 creates PrometheusService record2305 Prometheus application is shared via instance cluster2306 creates PrometheusService record2307 cleans invalid record and logs warning2308 shared Prometheus application is not available2309 does not persist PrometheusService record2310 with external authorization enabled2311 does not save the project with an error if the service denies access2312 saves the project when the user has access to the label2313 does not save the project when the user has no access to the default label and no label is provided2314 behaves like measurable service2315 when measurement is enabled2316 measure service execution with Gitlab::Utils::Measuring2317 when measurement is disabled2318 does not measure service execution2319 with specialized_project_authorization_workers2320 updates authorization for current_user2321 schedules authorization update for users with access to group2322 when feature is disabled2323 updates authorization for current_user2324 uses AuthorizedProjectsWorker2325 shared Runners config2326 when parent group is present2327 default value based on parent group setting2328 shared_runners_setting: "enabled", desired_config_for_new_project: nil, expected_result_for_project: true2329 creates project following the parent config2330 shared_runners_setting: "disabled_with_override", desired_config_for_new_project: nil, expected_result_for_project: false2331 creates project following the parent config2332 shared_runners_setting: "disabled_and_unoverridable", desired_config_for_new_project: nil, expected_result_for_project: false2333 creates project following the parent config2334 parent group is present and allows desired config2335 shared_runners_setting: "enabled", desired_config_for_new_project: true, expected_result_for_project: true2336 creates project following the parent config2337 shared_runners_setting: "enabled", desired_config_for_new_project: false, expected_result_for_project: false2338 creates project following the parent config2339 shared_runners_setting: "disabled_with_override", desired_config_for_new_project: false, expected_result_for_project: false2340 creates project following the parent config2341 shared_runners_setting: "disabled_with_override", desired_config_for_new_project: true, expected_result_for_project: true2342 creates project following the parent config2343 shared_runners_setting: "disabled_and_unoverridable", desired_config_for_new_project: false, expected_result_for_project: false2344 creates project following the parent config2345 parent group is present and disallows desired config2346 shared_runners_setting: "disabled_and_unoverridable", desired_config_for_new_project: true2347 does not create project2348 parent group is not present2349 desired_config: true, expected_result: true2350 follows desired config2351 desired_config: false, expected_result: false2352 follows desired config2353 desired_config: nil, expected_result: true2354 follows desired config2355Gitlab::BareRepositoryImport::Importer2356 with subgroups2357 behaves like importing a repository2358 .execute2359 creates a project for a repository in storage2360 skips wiki repos2361 without admin users2362 raises an error2363 #create_project_if_needed2364 starts an import for a project that did not exist2365 skips importing when the project already exists2366 creates a project with the correct path in the database2367 does not schedule an import2368 creates the Git repo on disk2369 hashed storage enabled2370 creates a project with the correct path in the database2371 without subgroups2372 behaves like importing a repository2373 .execute2374 creates a project for a repository in storage2375 skips wiki repos2376 without admin users2377 raises an error2378 #create_project_if_needed2379 starts an import for a project that did not exist2380 skips importing when the project already exists2381 creates a project with the correct path in the database2382 does not schedule an import2383 creates the Git repo on disk2384 hashed storage enabled2385 creates a project with the correct path in the database2386 without groups2387 starts an import for a project that did not exist2388 creates a project with the correct path in the database2389 creates the Git repo in disk2390 with a repository already on disk2391 moves an existing project to the correct path2392 with Wiki2393 creates the Wiki git repo in disk2394 behaves like importing a repository2395 .execute2396 creates a project for a repository in storage2397 skips wiki repos2398 without admin users2399 raises an error2400 #create_project_if_needed2401 starts an import for a project that did not exist2402 skips importing when the project already exists2403 creates a project with the correct path in the database2404 does not schedule an import2405 creates the Git repo on disk2406 hashed storage enabled2407 creates a project with the correct path in the database2408Ci::BuildPolicy2409 #rules2410 when user does not have access to the project2411 when public builds are enabled2412 does not include ability to read build2413 when public builds are disabled2414 does not include ability to read build2415 when anonymous user has access to the project2416 when public builds are enabled2417 includes ability to read build2418 when public builds are disabled2419 does not include ability to read build2420 when team member has access to the project2421 team member is a guest2422 when public builds are enabled2423 includes ability to read build2424 when public builds are disabled2425 does not include ability to read build2426 team member is a reporter2427 when public builds are enabled2428 includes ability to read build2429 when public builds are disabled2430 does not include ability to read build2431 when maintainer is allowed to push to pipeline branch2432 enables update_build if user is maintainer2433 rules for protected ref2434 when no one can push or merge to the branch2435 does not include ability to update build2436 when developers can push to the branch2437 includes ability to update build2438 when no one can create the tag2439 does not include ability to update build2440 when no one can create the tag but it is not a tag2441 includes ability to update build2442 rules for erase build2443 when a developer erases a build2444 when developers can push to the branch2445 when the build was created by the developer2446 when the build was created for a protected ref2447 is expected to be disallowed :erase_build2448 when the build was created for an unprotected ref2449 is expected to be allowed :erase_build2450 when the build was created by the other2451 is expected to be disallowed :erase_build2452 when no one can push or merge to the branch2453 is expected to be disallowed :erase_build2454 when a maintainer erases a build2455 when maintainers can push to the branch2456 when the build was created by the maintainer2457 is expected to be allowed :erase_build2458 when the build was created by the other2459 is expected to be allowed :erase_build2460 when no one can push or merge to the branch2461 is expected to be disallowed :erase_build2462 when an admin erases a build2463 when the build was created for a protected branch2464 is expected to be allowed :erase_build2465 when the build was created for a protected tag2466 is expected to be allowed :erase_build2467 when the build was created for an unprotected ref2468 is expected to be allowed :erase_build2469 manage a web ide terminal2470 when create_web_ide_terminal access enabled2471 with admin2472 when admin mode enabled2473 is expected to be allowed :create_build_service_proxy2474 when admin mode disabled2475 is expected not to be allowed :create_build_service_proxy2476 when build is not from a webide pipeline2477 is expected not to be allowed :create_build_service_proxy2478 when build has no runner terminal2479 when admin mode enabled2480 is expected to be allowed :update_web_ide_terminal2481 is expected not to be allowed :create_build_service_proxy2482 when admin mode disabled2483 is expected not to be allowed :update_web_ide_terminal2484 is expected not to be allowed :create_build_service_proxy2485 feature flag "build_service_proxy" is disabled2486 is expected not to be allowed :create_build_service_proxy2487 with owner2488 behaves like allowed build owner access2489 is expected not to be allowed :create_build_service_proxy2490 when user is the owner of the job2491 is expected to be allowed :create_build_service_proxy2492 with maintainer2493 behaves like allowed build owner access2494 is expected not to be allowed :create_build_service_proxy2495 when user is the owner of the job2496 is expected to be allowed :create_build_service_proxy2497 with developer2498 behaves like forbidden access2499 is expected not to be allowed :create_build_service_proxy2500 when user is the owner of the job2501 is expected not to be allowed :create_build_service_proxy2502 with reporter2503 behaves like forbidden access2504 is expected not to be allowed :create_build_service_proxy2505 when user is the owner of the job2506 is expected not to be allowed :create_build_service_proxy2507 with guest2508 behaves like forbidden access2509 is expected not to be allowed :create_build_service_proxy2510 when user is the owner of the job2511 is expected not to be allowed :create_build_service_proxy2512 with non member2513 behaves like forbidden access2514 is expected not to be allowed :create_build_service_proxy2515 when user is the owner of the job2516 is expected not to be allowed :create_build_service_proxy2517VisibilityLevelHelper2518 visibility_icon_description2519 used with a Project2520 delegates projects to #project_visibility_icon_description2521 used with a ProjectPresenter2522 delegates projects to #project_visibility_icon_description2523 used with a Group2524 delegates groups to #group_visibility_icon_description2525 visibility_level_description2526 used with a Project2527 returns different project related descriptions depending on visibility level2528 used with a Group2529 returns different group related descriptions depending on visibility level2530 disallowed_visibility_level?2531 forks2532 disallows levels2533 non-forked project2534 disallows levels2535 group2536 disallows levels2537 sub-group2538 disallows levels2539 snippet2540 disallows levels2541 selected_visibility_level2542 requested_level: 20, max_allowed: 20, global_default_level: 20, restricted_levels: [], expected: 202543 provides correct visibility level for forked project2544 provides correct visibility level for project in group2545 requested_level: 20, max_allowed: 20, global_default_level: 20, restricted_levels: [20], expected: 102546 provides correct visibility level for forked project2547 provides correct visibility level for project in group2548 requested_level: 10, max_allowed: 20, global_default_level: 20, restricted_levels: [], expected: 102549 provides correct visibility level for forked project2550 provides correct visibility level for project in group2551 requested_level: 10, max_allowed: 0, global_default_level: 0, restricted_levels: [], expected: 02552 provides correct visibility level for forked project2553 provides correct visibility level for project in group2554 requested_level: 0, max_allowed: 20, global_default_level: 20, restricted_levels: [], expected: 02555 provides correct visibility level for forked project2556 provides correct visibility level for project in group2557 requested_level: 20, max_allowed: 0, global_default_level: 10, restricted_levels: [], expected: 02558 provides correct visibility level for forked project2559 provides correct visibility level for project in group2560 requested_level: 20, max_allowed: 10, global_default_level: 20, restricted_levels: [], expected: 102561 provides correct visibility level for forked project2562 provides correct visibility level for project in group2563 requested_level: 20, max_allowed: 0, global_default_level: 20, restricted_levels: [], expected: 02564 provides correct visibility level for forked project2565 provides correct visibility level for project in group2566 requested_level: 20, max_allowed: 10, global_default_level: 10, restricted_levels: [], expected: 102567 provides correct visibility level for forked project2568 provides correct visibility level for project in group2569 requested_level: 20, max_allowed: 20, global_default_level: 10, restricted_levels: [], expected: 202570 provides correct visibility level for forked project2571 provides correct visibility level for project in group2572 #available_visibility_levels2573 behaves like available visibility level2574 excludes disallowed visibility levels2575 restricted_visibility_levels: [], expected: [0, 10, 20]2576 is expected to eq [0, 10, 20]2577 restricted_visibility_levels: [0], expected: [10, 20]2578 is expected to eq [10, 20]2579 restricted_visibility_levels: [0, 10], expected: [20]2580 is expected to eq [20]2581 restricted_visibility_levels: [0, 20], expected: [10]2582 is expected to eq [10]2583 restricted_visibility_levels: [10], expected: [0, 20]2584 is expected to eq [0, 20]2585 restricted_visibility_levels: [10, 0], expected: [20]2586 is expected to eq [20]2587 restricted_visibility_levels: [10, 20], expected: [0]2588 is expected to eq [0]2589 restricted_visibility_levels: [20], expected: [0, 10]2590 is expected to eq [0, 10]2591 restricted_visibility_levels: [20, 0], expected: [10]2592 is expected to eq [10]2593 restricted_visibility_levels: [20, 10], expected: [0]2594 is expected to eq [0]2595 behaves like available visibility level2596 excludes disallowed visibility levels2597 restricted_visibility_levels: [], expected: [0, 10, 20]2598 is expected to eq [0, 10, 20]2599 restricted_visibility_levels: [0], expected: [10, 20]2600 is expected to eq [10, 20]2601 restricted_visibility_levels: [0, 10], expected: [20]2602 is expected to eq [20]2603 restricted_visibility_levels: [0, 20], expected: [10]2604 is expected to eq [10]2605 restricted_visibility_levels: [10], expected: [0, 20]2606 is expected to eq [0, 20]2607 restricted_visibility_levels: [10, 0], expected: [20]2608 is expected to eq [20]2609 restricted_visibility_levels: [10, 20], expected: [0]2610 is expected to eq [0]2611 restricted_visibility_levels: [20], expected: [0, 10]2612 is expected to eq [0, 10]2613 restricted_visibility_levels: [20, 0], expected: [10]2614 is expected to eq [10]2615 restricted_visibility_levels: [20, 10], expected: [0]2616 is expected to eq [0]2617 behaves like available visibility level2618 excludes disallowed visibility levels2619 restricted_visibility_levels: [], expected: [0, 10, 20]2620 is expected to eq [0, 10, 20]2621 restricted_visibility_levels: [0], expected: [10, 20]2622 is expected to eq [10, 20]2623 restricted_visibility_levels: [0, 10], expected: [20]2624 is expected to eq [20]2625 restricted_visibility_levels: [0, 20], expected: [10]2626 is expected to eq [10]2627 restricted_visibility_levels: [10], expected: [0, 20]2628 is expected to eq [0, 20]2629 restricted_visibility_levels: [10, 0], expected: [20]2630 is expected to eq [20]2631 restricted_visibility_levels: [10, 20], expected: [0]2632 is expected to eq [0]2633 restricted_visibility_levels: [20], expected: [0, 10]2634 is expected to eq [0, 10]2635 restricted_visibility_levels: [20, 0], expected: [10]2636 is expected to eq [10]2637 restricted_visibility_levels: [20, 10], expected: [0]2638 is expected to eq [0]2639 behaves like available visibility level2640 excludes disallowed visibility levels2641 restricted_visibility_levels: [], expected: [0, 10, 20]2642 is expected to eq [0, 10, 20]2643 restricted_visibility_levels: [0], expected: [10, 20]2644 is expected to eq [10, 20]2645 restricted_visibility_levels: [0, 10], expected: [20]2646 is expected to eq [20]2647 restricted_visibility_levels: [0, 20], expected: [10]2648 is expected to eq [10]2649 restricted_visibility_levels: [10], expected: [0, 20]2650 is expected to eq [0, 20]2651 restricted_visibility_levels: [10, 0], expected: [20]2652 is expected to eq [20]2653 restricted_visibility_levels: [10, 20], expected: [0]2654 is expected to eq [0]2655 restricted_visibility_levels: [20], expected: [0, 10]2656 is expected to eq [0, 10]2657 restricted_visibility_levels: [20, 0], expected: [10]2658 is expected to eq [10]2659 restricted_visibility_levels: [20, 10], expected: [0]2660 is expected to eq [0]2661 #snippets_selected_visibility_level2662 returns the selected visibility level2663 fallbacks using the lowest available visibility level when selected level isn't available2664 multiple_visibility_levels_restricted?2665 restricted_visibility_levels: [20], expected: false2666 is expected to eq false2667 restricted_visibility_levels: [20, 10], expected: true2668 is expected to eq true2669 restricted_visibility_levels: [20, 10, 0], expected: true2670 is expected to eq true2671 all_visibility_levels_restricted?2672 restricted_visibility_levels: [20], expected: false2673 is expected to eq false2674 restricted_visibility_levels: [20, 10], expected: false2675 is expected to eq false2676 restricted_visibility_levels: [0, 10, 20], expected: true2677 is expected to eq true2678 #visibility_level_options2679 returns the desired mapping2680EnvironmentSerializer2681 when there is a single object provided2682 contains important elements of environment2683 contains relevant information about last deployment2684 when there is a collection of objects provided2685 contains important elements of environment2686 generates payload for collection2687 when representing environments within folders2688 when there is a single environment2689 represents one standalone environment2690 when there are multiple environments in folder2691 represents one item that is a folder2692 when there are multiple folders and standalone environments2693 represents multiple items grouped within folders2694 when used with pagination2695 creates a paginated serializer2696 when resource is paginatable relation2697 when there is a single environment object in relation2698 serializes environments2699 when multiple environment objects are serialized2700 serializes appropriate number of objects2701 appends relevant headers2702 when grouping environments within folders2703 paginates grouped items including ordering2704 appends correct total page count header2705 appends correct page count headers2706Gitlab::Gpg::InvalidGpgSignatureUpdater2707 #run2708 gpg signature did have an associated gpg key which was removed later2709 assigns the gpg key to the signature when the missing gpg key is added2710 does not assign the gpg key when an unrelated gpg key is added2711 gpg signature did not have an associated gpg key2712 updates the signature to being valid when the missing gpg key is added2713 keeps the signature at being invalid when an unrelated gpg key is added2714 gpg signature did have an associated unverified gpg key2715 updates the signature to being valid when the user updates the email address2716 keeps the signature at being invalid when the changed email address is still unrelated2717 gpg signature did not have an associated gpg subkey2718 updates the signature to being valid when the missing gpg key is added2719MergeRequests::ReopenService2720 #execute2721 caches merge request closing issues2722 updates metrics2723 calls the merge request activity counter2724 refreshes the number of open merge requests for a valid MR2725 behaves like cache counters invalidator2726 invalidates counter cache for assignees2727 behaves like merge request reviewers cache counters invalidator2728 invalidates counter cache for reviewers2729 valid params2730 is expected to be valid2731 is expected to be opened2732 executes hooks with reopen action2733 sends email to user2 about reopen of merge_request2734 destroys cleanup schedule record2735 clears the cached merge_ref_sha2736 note creation2737 creates resource state event about merge_request reopen2738 current user is not authorized to reopen merge request2739 does not reopen the merge request2740GroupChildEntity2741 for a project2742 has the correct type2743 includes the star count2744 has the correct edit path2745 behaves like group child json2746 renders json2747 includes id2748 includes full_name2749 includes avatar_url2750 includes name2751 includes description2752 includes markdown_description2753 includes visibility2754 includes type2755 includes can_edit2756 includes visibility2757 includes permission2758 includes relative_path2759 for a group2760 has the correct type2761 counts projects and subgroups as children2762 includes children_count2763 includes leave_path2764 includes parent_id2765 includes number_projects_with_delimiter2766 includes number_users_with_delimiter2767 includes project_count2768 includes subgroup_count2769 allows an owner to leave when there is another one2770 has the correct edit path2771 emoji in description2772 has the correct markdown_description2773 behaves like group child json2774 renders json2775 includes id2776 includes full_name2777 includes avatar_url2778 includes name2779 includes description2780 includes markdown_description2781 includes visibility2782 includes type2783 includes can_edit2784 includes visibility2785 includes permission2786 includes relative_path2787 for a project with external authorization enabled2788 does not hit the external authorization service2789DiscordService2790 behaves like chat service2791 Associations2792 is expected to belong to project required:2793 is expected to have one service_hook2794 Validations2795 when service is active2796 is expected to validate that :webhook cannot be empty/falsy2797 behaves like issue tracker service URL attribute2798 is expected to allow :webhook to be ‹"https://example.com"›2799 is expected not to allow :webhook to be ‹"example.com"›2800 is expected not to allow :webhook to be ‹"ftp://example.com"›2801 is expected not to allow :webhook to be ‹"herp-and-derp"›2802 when service is inactive2803 is expected not to validate that :webhook cannot be empty/falsy2804 .supported_events2805 does not support deployment_events2806 #execute2807 with push events2808 behaves like triggered Discord notifications service2809 calls Discord notifications API2810 with default branch2811 when only default branch are to be notified2812 behaves like triggered Discord notifications service2813 calls Discord notifications API2814 when only protected branches are to be notified2815 behaves like untriggered Discord notifications service2816 does not call Discord notifications API2817 when default and protected branches are to be notified2818 behaves like triggered Discord notifications service2819 calls Discord notifications API2820 when all branches are to be notified2821 behaves like triggered Discord notifications service2822 calls Discord notifications API2823 with protected branch2824 when only default branch are to be notified2825 behaves like untriggered Discord notifications service2826 does not call Discord notifications API2827 when only protected branches are to be notified2828 behaves like triggered Discord notifications service2829 calls Discord notifications API2830 when default and protected branches are to be notified2831 behaves like triggered Discord notifications service2832 calls Discord notifications API2833 when all branches are to be notified2834 behaves like triggered Discord notifications service2835 calls Discord notifications API2836 with neither default nor protected branch2837 when only default branch are to be notified2838 behaves like untriggered Discord notifications service2839 does not call Discord notifications API2840 when only protected branches are to be notified2841 behaves like untriggered Discord notifications service2842 does not call Discord notifications API2843 when default and protected branches are to be notified2844 behaves like untriggered Discord notifications service2845 does not call Discord notifications API2846 when all branches are to be notified2847 behaves like triggered Discord notifications service2848 calls Discord notifications API2849 with issue events2850 behaves like triggered Discord notifications service2851 calls Discord notifications API2852 with merge events2853 behaves like triggered Discord notifications service2854 calls Discord notifications API2855 with wiki page events2856 behaves like triggered Discord notifications service2857 calls Discord notifications API2858 with note events2859 with commit comment2860 behaves like triggered Discord notifications service2861 calls Discord notifications API2862 with merge request comment2863 behaves like triggered Discord notifications service2864 calls Discord notifications API2865 with issue comment2866 behaves like triggered Discord notifications service2867 calls Discord notifications API2868 with snippet comment2869 behaves like triggered Discord notifications service2870 calls Discord notifications API2871 with pipeline events2872 with failed pipeline2873 behaves like triggered Discord notifications service2874 calls Discord notifications API2875 with succeeded pipeline2876 with default notify_only_broken_pipelines2877 does not call Discord notifications API2878 when notify_only_broken_pipelines is false2879 behaves like triggered Discord notifications service2880 calls Discord notifications API2881 with default branch2882 when only default branch are to be notified2883 behaves like triggered Discord notifications service2884 calls Discord notifications API2885 when only protected branches are to be notified2886 behaves like untriggered Discord notifications service2887 does not call Discord notifications API2888 when default and protected branches are to be notified2889 behaves like triggered Discord notifications service2890 calls Discord notifications API2891 when all branches are to be notified2892 behaves like triggered Discord notifications service2893 calls Discord notifications API2894 with protected branch2895 when only default branch are to be notified2896 behaves like untriggered Discord notifications service2897 does not call Discord notifications API2898 when only protected branches are to be notified2899 behaves like triggered Discord notifications service2900 calls Discord notifications API2901 when default and protected branches are to be notified2902 behaves like triggered Discord notifications service2903 calls Discord notifications API2904 when all branches are to be notified2905 behaves like triggered Discord notifications service2906 calls Discord notifications API2907 with neither default nor protected branch2908 when only default branch are to be notified2909 behaves like untriggered Discord notifications service2910 does not call Discord notifications API2911 when only protected branches are to be notified2912 behaves like untriggered Discord notifications service2913 does not call Discord notifications API2914 when default and protected branches are to be notified2915 behaves like untriggered Discord notifications service2916 does not call Discord notifications API2917 when all branches are to be notified2918 behaves like triggered Discord notifications service2919 calls Discord notifications API2920 #execute2921 uses the right embed parameters2922 DNS rebind to local address2923 does not allow DNS rebinding2924UnifyCircuitService2925 behaves like chat service2926 Associations2927 is expected to belong to project required:2928 is expected to have one service_hook2929 Validations2930 when service is active2931 is expected to validate that :webhook cannot be empty/falsy2932 behaves like issue tracker service URL attribute2933 is expected to allow :webhook to be ‹"https://example.com"›2934 is expected not to allow :webhook to be ‹"example.com"›2935 is expected not to allow :webhook to be ‹"ftp://example.com"›2936 is expected not to allow :webhook to be ‹"herp-and-derp"›2937 when service is inactive2938 is expected not to validate that :webhook cannot be empty/falsy2939 .supported_events2940 does not support deployment_events2941 #execute2942 with push events2943 behaves like triggered Unify Circuit service2944 calls Unify Circuit API2945 with default branch2946 when only default branch are to be notified2947 behaves like triggered Unify Circuit service2948 calls Unify Circuit API2949 when only protected branches are to be notified2950 behaves like untriggered Unify Circuit service2951 does not call Unify Circuit API2952 when default and protected branches are to be notified2953 behaves like triggered Unify Circuit service2954 calls Unify Circuit API2955 when all branches are to be notified2956 behaves like triggered Unify Circuit service2957 calls Unify Circuit API2958 with protected branch2959 when only default branch are to be notified2960 behaves like untriggered Unify Circuit service2961 does not call Unify Circuit API2962 when only protected branches are to be notified2963 behaves like triggered Unify Circuit service2964 calls Unify Circuit API2965 when default and protected branches are to be notified2966 behaves like triggered Unify Circuit service2967 calls Unify Circuit API2968 when all branches are to be notified2969 behaves like triggered Unify Circuit service2970 calls Unify Circuit API2971 with neither default nor protected branch2972 when only default branch are to be notified2973 behaves like untriggered Unify Circuit service2974 does not call Unify Circuit API2975 when only protected branches are to be notified2976 behaves like untriggered Unify Circuit service2977 does not call Unify Circuit API2978 when default and protected branches are to be notified2979 behaves like untriggered Unify Circuit service2980 does not call Unify Circuit API2981 when all branches are to be notified2982 behaves like triggered Unify Circuit service2983 calls Unify Circuit API2984 with issue events2985 behaves like triggered Unify Circuit service2986 calls Unify Circuit API2987 with merge events2988 behaves like triggered Unify Circuit service2989 calls Unify Circuit API2990 with wiki page events2991 behaves like triggered Unify Circuit service2992 calls Unify Circuit API2993 with note events2994 with commit comment2995 behaves like triggered Unify Circuit service2996 calls Unify Circuit API2997 with merge request comment2998 behaves like triggered Unify Circuit service2999 calls Unify Circuit API3000 with issue comment3001 behaves like triggered Unify Circuit service3002 calls Unify Circuit API3003 with snippet comment3004 behaves like triggered Unify Circuit service3005 calls Unify Circuit API3006 with pipeline events3007 with failed pipeline3008 behaves like triggered Unify Circuit service3009 calls Unify Circuit API3010 with succeeded pipeline3011 with default notify_only_broken_pipelines3012 does not call Unify Circuit API3013 when notify_only_broken_pipelines is false3014 behaves like triggered Unify Circuit service3015 calls Unify Circuit API3016 with default branch3017 when only default branch are to be notified3018 behaves like triggered Unify Circuit service3019 calls Unify Circuit API3020 when only protected branches are to be notified3021 behaves like untriggered Unify Circuit service3022 does not call Unify Circuit API3023 when default and protected branches are to be notified3024 behaves like triggered Unify Circuit service3025 calls Unify Circuit API3026 when all branches are to be notified3027 behaves like triggered Unify Circuit service3028 calls Unify Circuit API3029 with protected branch3030 when only default branch are to be notified3031 behaves like untriggered Unify Circuit service3032 does not call Unify Circuit API3033 when only protected branches are to be notified3034 behaves like triggered Unify Circuit service3035 calls Unify Circuit API3036 when default and protected branches are to be notified3037 behaves like triggered Unify Circuit service3038 calls Unify Circuit API3039 when all branches are to be notified3040 behaves like triggered Unify Circuit service3041 calls Unify Circuit API3042 with neither default nor protected branch3043 when only default branch are to be notified3044 behaves like untriggered Unify Circuit service3045 does not call Unify Circuit API3046 when only protected branches are to be notified3047 behaves like untriggered Unify Circuit service3048 does not call Unify Circuit API3049 when default and protected branches are to be notified3050 behaves like untriggered Unify Circuit service3051 does not call Unify Circuit API3052 when all branches are to be notified3053 behaves like triggered Unify Circuit service3054 calls Unify Circuit API3055Mutations::MergeRequests::SetLabels3056 is expected to require graphql authorizations :update_merge_request3057 #resolve3058 behaves like permission level for merge request mutation is correctly verified3059 when the user is not a project member3060 behaves like when the user does not have access to the resource3061 raises an error3062 even if assigned to the merge request3063 does not modify merge request3064 even if reviewer of the merge request3065 raises an error3066 even if author of the merge request3067 raises an error3068 when the user is a project member3069 with guest role3070 behaves like when the user does not have access to the resource3071 raises an error3072 even if assigned to the merge request3073 does not modify merge request3074 even if reviewer of the merge request3075 raises an error3076 even if author of the merge request3077 raises an error3078 with reporter role3079 behaves like when the user does not have access to the resource3080 raises an error3081 even if assigned to the merge request3082 does not modify merge request3083 even if reviewer of the merge request3084 raises an error3085 even if author of the merge request3086 raises an error3087 when the user can update the merge request3088 sets the labels, removing all others3089 returns errors merge request could not be updated3090 when passing an empty array3091 removes all labels3092 when passing operation_mode as APPEND3093 sets the labels, without removing others3094 when passing operation_mode as REMOVE3095 removes the labels, without removing others3096Ci::BuildTraceChunk3097 behaves like having unique enum values3098 has unique values in "data_store"3099 chunk creation3100 increments trace operation chunked metric3101 FastDestroyAll3102 Forbid #destroy and #destroy_all3103 does not delete database rows and associted external data3104 .fast_destroy_all3105 deletes database rows and associted external data3106 .use_fast_destroy3107 performs cascading delete with fast_destroy_all3108 CHUNK_SIZE3109 chunk size can not be changed without special care3110 .all_stores3111 returns a correctly ordered array3112 returns redis store as the lowest precedence3113 returns fog store as the highest precedence3114 #data3115 when data_store is redis3116 is expected to eq "Sample data in redis"3117 when data_store is database3118 is expected to eq "Sample data in database"3119 when data_store is fog3120 is expected to eq "Sample data in fog"3121 returns a new Fog store3122 #get_store_class3123 raises an error3124 data_store: :redis, expected_store: Ci::BuildTraceChunks::Redis3125 with store3126 returns an instance of the right class3127 data_store: :database, expected_store: Ci::BuildTraceChunks::Database3128 with store3129 returns an instance of the right class3130 data_store: :fog, expected_store: Ci::BuildTraceChunks::Fog3131 with store3132 returns an instance of the right class3133 #append3134 when data_store is redis3135 when there are no data3136 has no data3137 does not read data when appending3138 behaves like Appending correctly3139 when offset is negative3140 is expected to raise Exception with "Offset is out of range"3141 when offset is bigger than data size3142 is expected to raise Exception with "Offset is out of range"3143 when new data overflows chunk size3144 is expected to raise Exception with "Chunk size overflow"3145 when offset is EOF3146 appends3147 when the other process is appending3148 raise an error3149 when new_data is nil3150 raises an error3151 when new_data is empty3152 does not append3153 does not execute UPDATE3154 when offset is middle of datasize3155 appends3156 behaves like Scheduling sidekiq worker to flush data to persist store3157 when new data fulfilled chunk size3158 schedules trace chunk flush worker3159 migrates data to object storage3160 when there are some data3161 has data3162 behaves like Appending correctly3163 when offset is negative3164 is expected to raise Exception with "Offset is out of range"3165 when offset is bigger than data size3166 is expected to raise Exception with "Offset is out of range"3167 when new data overflows chunk size3168 is expected to raise Exception with "Chunk size overflow"3169 when offset is EOF3170 appends3171 when the other process is appending3172 raise an error3173 when new_data is nil3174 raises an error3175 when new_data is empty3176 does not append3177 does not execute UPDATE3178 when offset is middle of datasize3179 appends3180 behaves like Scheduling sidekiq worker to flush data to persist store3181 when new data fulfilled chunk size3182 schedules trace chunk flush worker3183 migrates data to object storage3184 when data_store is database3185 when there are no data3186 has no data3187 behaves like Appending correctly3188 when offset is negative3189 is expected to raise Exception with "Offset is out of range"3190 when offset is bigger than data size3191 is expected to raise Exception with "Offset is out of range"3192 when new data overflows chunk size3193 is expected to raise Exception with "Chunk size overflow"3194 when offset is EOF3195 appends3196 when the other process is appending3197 raise an error3198 when new_data is nil3199 raises an error3200 when new_data is empty3201 does not append3202 does not execute UPDATE3203 when offset is middle of datasize3204 appends3205 behaves like Scheduling no sidekiq worker3206 when new data fulfilled chunk size3207 does not schedule trace chunk flush worker3208 does not migrate data to object storage3209 when there are some data3210 has data3211 behaves like Appending correctly3212 when offset is negative3213 is expected to raise Exception with "Offset is out of range"3214 when offset is bigger than data size3215 is expected to raise Exception with "Offset is out of range"3216 when new data overflows chunk size3217 is expected to raise Exception with "Chunk size overflow"3218 when offset is EOF3219 appends3220 when the other process is appending3221 raise an error3222 when new_data is nil3223 raises an error3224 when new_data is empty3225 does not append3226 does not execute UPDATE3227 when offset is middle of datasize3228 appends3229 behaves like Scheduling no sidekiq worker3230 when new data fulfilled chunk size3231 does not schedule trace chunk flush worker3232 does not migrate data to object storage3233 when data_store is fog3234 when there are no data3235 has no data3236 behaves like Appending correctly3237 when offset is negative3238 is expected to raise Exception with "Offset is out of range"3239 when offset is bigger than data size3240 is expected to raise Exception with "Offset is out of range"3241 when new data overflows chunk size3242 is expected to raise Exception with "Chunk size overflow"3243 when offset is EOF3244 appends3245 when the other process is appending3246 raise an error3247 when new_data is nil3248 raises an error3249 when new_data is empty3250 does not append3251 does not execute UPDATE3252 when offset is middle of datasize3253 appends3254 behaves like Scheduling no sidekiq worker3255 when new data fulfilled chunk size3256 does not schedule trace chunk flush worker3257 does not migrate data to object storage3258 when there are some data3259 has data3260 behaves like Appending correctly3261 when offset is negative3262 is expected to raise Exception with "Offset is out of range"3263 when offset is bigger than data size3264 is expected to raise Exception with "Offset is out of range"3265 when new data overflows chunk size3266 is expected to raise Exception with "Chunk size overflow"3267 when offset is EOF3268 appends3269 when the other process is appending3270 raise an error3271 when new_data is nil3272 raises an error3273 when new_data is empty3274 does not append3275 does not execute UPDATE3276 when offset is middle of datasize3277 appends3278 behaves like Scheduling no sidekiq worker3279 when new data fulfilled chunk size3280 does not schedule trace chunk flush worker3281 does not migrate data to object storage3282 append metrics3283 increments trace operation appended metric3284 #truncate3285 when data_store is redis3286 behaves like truncates3287 when offset is negative3288 is expected to raise Exception with "Offset is out of range"3289 when offset is bigger than data size3290 is expected to raise Exception with "Offset is out of range"3291 when offset is 103292 truncates3293 when data_store is database3294 behaves like truncates3295 when offset is negative3296 is expected to raise Exception with "Offset is out of range"3297 when offset is bigger than data size3298 is expected to raise Exception with "Offset is out of range"3299 when offset is 103300 truncates3301 when data_store is fog3302 behaves like truncates3303 when offset is negative3304 is expected to raise Exception with "Offset is out of range"3305 when offset is bigger than data size3306 is expected to raise Exception with "Offset is out of range"3307 when offset is 103308 truncates3309 #size3310 when data_store is redis3311 when data exists3312 is expected to eq 203313 when data exists3314 is expected to eq 03315 when data_store is database3316 when data exists3317 is expected to eq 233318 when data does not exist3319 is expected to eq 03320 when data_store is fog3321 when data exists3322 is expected to eq 183323 when data does not exist3324 is expected to eq 03325 #persist_data!3326 when data_store is redis3327 when data exists3328 when data size reached CHUNK_SIZE3329 persists the data3330 calculates CRC32 checksum3331 when data size has not reached CHUNK_SIZE3332 does not persist the data and the orignal data is intact3333 when chunk is a final one3334 persists the data3335 when the chunk has been modifed by a different worker3336 reloads the chunk before migration3337 verifies the operation using optimistic locking3338 does not allow flushing unpersisted chunk3339 when the chunk is being locked by a different worker3340 increments stalled chunk trace metric3341 when data does not exist3342 does not persist3343 when data_store is database3344 when data exists3345 when data size reached CHUNK_SIZE3346 persists the data3347 when data size has not reached CHUNK_SIZE3348 does not persist the data and the orignal data is intact3349 when chunk is a final one3350 persists the data3351 when data does not exist3352 does not persist3353 when data_store is fog3354 when data exists3355 when data size reached CHUNK_SIZE3356 does not change data store3357 when data size has not reached CHUNK_SIZE3358 does not raise error3359 final?3360 when build pending state exists3361 when chunks is not the last one3362 is not a final chunk3363 when chunks is the last one3364 is a final chunk3365 when build pending state does not exist3366 when chunks is not the last one3367 is not a final chunk3368 when chunks is the last one3369 is not a final chunk3370 deletes data in redis after a parent record destroyed3371 when traces are archived3372 behaves like deletes all build_trace_chunk and data in redis3373 deletes all build_trace_chunk and data in redis3374 when project is destroyed3375 behaves like deletes all build_trace_chunk and data in redis3376 deletes all build_trace_chunk and data in redis3377 comparable build trace chunks3378 #<=>3379 when chunks are associated with different builds3380 returns nil3381 when there are two chunks with different indexes3382 indicates the the first one is greater than then second3383 when there are two chunks with the same index within the same build3384 indicates the these are equal3385 #==3386 when chunks have the same index3387 indicates that the chunks are equal3388 when chunks have different indexes3389 indicates that the chunks are not equal3390 when chunks are associated with different builds3391 indicates that the chunks are not equal3392ProjectsHelper3393 #project_incident_management_setting3394 when incident_management_setting exists3395 return project_incident_management_setting3396 when incident_management_setting does not exist3397 builds incident_management_setting3398 #error_tracking_setting_project_json3399 error tracking setting does not exist3400 returns nil3401 error tracking setting exists3402 api_url present3403 returns error tracking json3404 api_url not present3405 returns nil3406 #project_status_css_class3407 returns appropriate class3408 can_change_visibility_level?3409 returns false if there are no appropriate permissions3410 returns true if there are permissions3411 #can_disable_emails?3412 returns true for the project owner3413 returns false for anyone else3414 returns false if group emails disabled3415 readme_cache_key3416 returns a valid cach key3417 returns a valid cache key if HEAD does not exist3418 #project_list_cache_key3419 includes the route3420 includes the project3421 includes the last activity date3422 includes the controller name3423 includes the controller action3424 includes the application settings3425 includes a version3426 includes whether or not the user can read cross project3427 includes the pipeline status when there is a status3428 includes the user locale3429 includes the user max member access3430 #load_pipeline_status3431 loads the pipeline status in batch3432 #show_no_ssh_key_message?3433 user has no keys3434 returns true3435 user has an ssh key3436 returns false3437 #show_no_password_message?3438 user has password set3439 returns false3440 user has hidden the message3441 returns false3442 user requires a password for Git3443 returns true3444 user requires a personal access token for Git3445 returns true3446 #link_to_set_password3447 password authentication is enabled for Git3448 returns link to set a password3449 password authentication is disabled for Git3450 returns link to create a personal access token3451 #link_to_project3452 returns an HTML link to the project3453 #link_to_member_avatar3454 returns image tag for member avatar3455 returns image tag with avatar class3456 #link_to_member3457 using the default options3458 returns an HTML link to the user3459 HTML escapes the name of the user3460 default_clone_protocol3461 when user is not logged in and gitlab protocol is HTTP3462 returns HTTP3463 when user is not logged in and gitlab protocol is HTTPS3464 returns HTTPS3465 #last_push_event3466 returns recent push on the current project3467 when there is no current_user3468 returns nil3469 #get_project_nav_tabs3470 Security & Compliance tabs3471 when user cannot read security configuration3472 when feature flag is disabled3473 is expected not to include :security_configuration3474 when feature flag is enabled3475 is expected not to include :security_configuration3476 when user can read security configuration3477 when feature flag is disabled3478 is expected not to include :security_configuration3479 when feature flag is enabled3480 is expected to include :security_configuration3481 when builds feature is enabled3482 does include pipelines tab3483 when builds feature is disabled3484 when user has access to builds3485 does include pipelines tab3486 when user does not have access to builds3487 does not include pipelines tab3488 when project has external wiki3489 includes external wiki tab3490 when project does not have external wiki3491 does not include external wiki tab3492 when project has confluence enabled3493 is expected to include :confluence3494 is expected not to include :wiki3495 when project does not have confluence enabled3496 is expected not to include :confluence3497 is expected to include :wiki3498 learn gitlab experiment3499 when it is enabled3500 is expected to include :learn_gitlab3501 when it is not enabled3502 is expected not to include :learn_gitlab3503 #can_view_operations_tab?3504 ability: :metrics_dashboard3505 includes operations tab3506 when operations feature is disabled3507 does not include operations tab3508 ability: :read_alert_management_alert3509 includes operations tab3510 when operations feature is disabled3511 does not include operations tab3512 ability: :read_environment3513 includes operations tab3514 when operations feature is disabled3515 does not include operations tab3516 ability: :read_issue3517 includes operations tab3518 when operations feature is disabled3519 does not include operations tab3520 ability: :read_sentry_issue3521 includes operations tab3522 when operations feature is disabled3523 does not include operations tab3524 ability: :read_cluster3525 includes operations tab3526 when operations feature is disabled3527 does not include operations tab3528 #show_projects3529 returns true when there are projects3530 returns true when there are no projects but a name is given3531 returns true when there are no projects but personal is present3532 returns false when there are no projects and there is no name3533 #push_to_create_project_command3534 returns the command to push to create project over HTTP3535 returns the command to push to create project over SSH3536 #any_projects?3537 returns true when projects will be returned3538 returns false when no projects will be returned3539 returns true when using a non-empty Array3540 returns false when using an empty Array3541 only executes a single query when a LIMIT is applied3542 #git_user_name3543 parses quotes in name3544 #git_user_email3545 not logged-in3546 returns your@email.com3547 user logged in3548 user has no configured commit email3549 returns the primary email3550 user has a configured commit email3551 returns the commit email3552 show_xcode_link3553 when the repository is xcode compatible3554 returns false if the visitor is not using macos3555 returns true if the visitor is using macos3556 when the repository is not xcode compatible3557 returns false if the visitor is not using macos3558 returns false if the visitor is using macos3559 #explore_projects_tab?3560 returns true when on the "All" tab under "Explore projects"3561 returns true when on the "Trending" tab under "Explore projects"3562 returns true when on the "Starred" tab under "Explore projects"3563 returns false when on the "Your projects" tab3564 #show_merge_request_count3565 enabled flag3566 returns true if compact mode is disabled3567 returns false if compact mode is enabled3568 disabled flag3569 returns false if disabled flag is true3570 returns true if disabled flag is false3571 #show_issue_count?3572 enabled flag3573 returns true if compact mode is disabled3574 returns false if compact mode is enabled3575 disabled flag3576 returns false if disabled flag is true3577 returns true if disabled flag is false3578 #show_auto_devops_implicitly_enabled_banner?3579 global_setting: true, project_setting: nil, builds_visibility: :disabled, gitlab_ci_yml: true, user_access: :developer, result: false3580 is expected to eq false3581 global_setting: true, project_setting: nil, builds_visibility: :disabled, gitlab_ci_yml: true, user_access: :maintainer, result: false3582 is expected to eq false3583 global_setting: true, project_setting: nil, builds_visibility: :disabled, gitlab_ci_yml: true, user_access: :owner, result: false3584 is expected to eq false3585 global_setting: true, project_setting: nil, builds_visibility: :disabled, gitlab_ci_yml: false, user_access: :developer, result: false3586 is expected to eq false3587 global_setting: true, project_setting: nil, builds_visibility: :disabled, gitlab_ci_yml: false, user_access: :maintainer, result: false3588 is expected to eq false3589 global_setting: true, project_setting: nil, builds_visibility: :disabled, gitlab_ci_yml: false, user_access: :owner, result: false3590 is expected to eq false3591 global_setting: true, project_setting: nil, builds_visibility: :enabled, gitlab_ci_yml: true, user_access: :developer, result: false3592 is expected to eq false3593 global_setting: true, project_setting: nil, builds_visibility: :enabled, gitlab_ci_yml: true, user_access: :maintainer, result: false3594 is expected to eq false3595 global_setting: true, project_setting: nil, builds_visibility: :enabled, gitlab_ci_yml: true, user_access: :owner, result: false3596 is expected to eq false3597 global_setting: true, project_setting: nil, builds_visibility: :enabled, gitlab_ci_yml: false, user_access: :developer, result: false3598 is expected to eq false3599 global_setting: true, project_setting: nil, builds_visibility: :enabled, gitlab_ci_yml: false, user_access: :maintainer, result: true3600 is expected to eq true3601 global_setting: true, project_setting: nil, builds_visibility: :enabled, gitlab_ci_yml: false, user_access: :owner, result: true3602 is expected to eq true3603 global_setting: true, project_setting: true, builds_visibility: :disabled, gitlab_ci_yml: true, user_access: :developer, result: false3604 is expected to eq false3605 global_setting: true, project_setting: true, builds_visibility: :disabled, gitlab_ci_yml: true, user_access: :maintainer, result: false3606 is expected to eq false3607 global_setting: true, project_setting: true, builds_visibility: :disabled, gitlab_ci_yml: true, user_access: :owner, result: false3608 is expected to eq false3609 global_setting: true, project_setting: true, builds_visibility: :disabled, gitlab_ci_yml: false, user_access: :developer, result: false3610 is expected to eq false3611 global_setting: true, project_setting: true, builds_visibility: :disabled, gitlab_ci_yml: false, user_access: :maintainer, result: false3612 is expected to eq false3613 global_setting: true, project_setting: true, builds_visibility: :disabled, gitlab_ci_yml: false, user_access: :owner, result: false3614 is expected to eq false3615 global_setting: true, project_setting: true, builds_visibility: :enabled, gitlab_ci_yml: true, user_access: :developer, result: false3616 is expected to eq false3617 global_setting: true, project_setting: true, builds_visibility: :enabled, gitlab_ci_yml: true, user_access: :maintainer, result: false3618 is expected to eq false3619 global_setting: true, project_setting: true, builds_visibility: :enabled, gitlab_ci_yml: true, user_access: :owner, result: false3620 is expected to eq false3621 global_setting: true, project_setting: true, builds_visibility: :enabled, gitlab_ci_yml: false, user_access: :developer, result: false3622 is expected to eq false3623 global_setting: true, project_setting: true, builds_visibility: :enabled, gitlab_ci_yml: false, user_access: :maintainer, result: false3624 is expected to eq false3625 global_setting: true, project_setting: true, builds_visibility: :enabled, gitlab_ci_yml: false, user_access: :owner, result: false3626 is expected to eq false3627 global_setting: true, project_setting: false, builds_visibility: :disabled, gitlab_ci_yml: true, user_access: :developer, result: false3628 is expected to eq false3629 global_setting: true, project_setting: false, builds_visibility: :disabled, gitlab_ci_yml: true, user_access: :maintainer, result: false3630 is expected to eq false3631 global_setting: true, project_setting: false, builds_visibility: :disabled, gitlab_ci_yml: true, user_access: :owner, result: false3632 is expected to eq false3633 global_setting: true, project_setting: false, builds_visibility: :disabled, gitlab_ci_yml: false, user_access: :developer, result: false3634 is expected to eq false3635 global_setting: true, project_setting: false, builds_visibility: :disabled, gitlab_ci_yml: false, user_access: :maintainer, result: false3636 is expected to eq false3637 global_setting: true, project_setting: false, builds_visibility: :disabled, gitlab_ci_yml: false, user_access: :owner, result: false3638 is expected to eq false3639 global_setting: true, project_setting: false, builds_visibility: :enabled, gitlab_ci_yml: true, user_access: :developer, result: false3640 is expected to eq false3641 global_setting: true, project_setting: false, builds_visibility: :enabled, gitlab_ci_yml: true, user_access: :maintainer, result: false3642 is expected to eq false3643 global_setting: true, project_setting: false, builds_visibility: :enabled, gitlab_ci_yml: true, user_access: :owner, result: false3644 is expected to eq false3645 global_setting: true, project_setting: false, builds_visibility: :enabled, gitlab_ci_yml: false, user_access: :developer, result: false3646 is expected to eq false3647 global_setting: true, project_setting: false, builds_visibility: :enabled, gitlab_ci_yml: false, user_access: :maintainer, result: false3648 is expected to eq false3649 global_setting: true, project_setting: false, builds_visibility: :enabled, gitlab_ci_yml: false, user_access: :owner, result: false3650 is expected to eq false3651 #can_import_members?3652 when user is project owner3653 returns true for owner of project3654 when user is not a project owner3655 user_project_role: :maintainer, can_import: true3656 resolves if the user can import members3657 user_project_role: :developer, can_import: false3658 resolves if the user can import members3659 user_project_role: :reporter, can_import: false3660 resolves if the user can import members3661 user_project_role: :guest, can_import: false3662 resolves if the user can import members3663 #metrics_external_dashboard_url3664 metrics_setting exists3665 returns external_dashboard_url3666 metrics_setting does not exist3667 returns nil3668 #grafana_integration_url3669 is expected to eq nil3670 grafana integration exists3671 is expected to eq "https://grafana.example.com"3672 #grafana_integration_token3673 is expected to eq nil3674 grafana integration exists3675 is expected to eq "************************************************"3676 #grafana_integration_enabled?3677 is expected to eq nil3678 grafana integration exists3679 is expected to eq true3680 #project_license_name(project)3681 gitaly is working appropriately3682 returns the license name3683 memoizes the value3684 gitaly is unreachable3685 Gitlab::Git::CommandError3686 behaves like returns nil and tracks exception3687 is expected to be nil3688 tracks the exception3689 memoizes the nil value3690 GRPC::Unavailable3691 behaves like returns nil and tracks exception3692 is expected to be nil3693 tracks the exception3694 memoizes the nil value3695 GRPC::DeadlineExceeded3696 behaves like returns nil and tracks exception3697 is expected to be nil3698 tracks the exception3699 memoizes the nil value3700 #project_title3701 enqueues the elements in the breadcrumb schema list3702 #project_permissions_settings3703 with no project_setting associated3704 includes a value for edit commit messages3705 when commits are allowed to be edited3706 includes the edit commit message value3707 when commits are not allowed to be edited3708 returns false to the edit commit message value3709TeamcityService3710 Associations3711 is expected to belong to project required:3712 is expected to have one service_hook3713 Validations3714 when service is active3715 is expected to validate that :build_type cannot be empty/falsy3716 is expected to validate that :teamcity_url cannot be empty/falsy3717 behaves like issue tracker service URL attribute3718 is expected to allow :teamcity_url to be ‹"https://example.com"›3719 is expected not to allow :teamcity_url to be ‹"example.com"›3720 is expected not to allow :teamcity_url to be ‹"ftp://example.com"›3721 is expected not to allow :teamcity_url to be ‹"herp-and-derp"›3722 #username3723 does not validate the presence of username if password is nil3724 validates the presence of username if password is present3725 #password3726 does not validate the presence of password if username is nil3727 validates the presence of password if username is present3728 when service is inactive3729 is expected not to validate that :build_type cannot be empty/falsy3730 is expected not to validate that :teamcity_url cannot be empty/falsy3731 is expected not to validate that :username cannot be empty/falsy3732 is expected not to validate that :password cannot be empty/falsy3733 Callbacks3734 before_update :reset_password3735 saves password if new url is set together with password when no password was previously set3736 when a password was previously set3737 resets password if url changed3738 does not reset password if username changed3739 does not reset password if new url is set together with password, even if it's the same password3740 #build_page3741 returns the contents of the reactive cache3742 #commit_status3743 returns the contents of the reactive cache3744 #calculate_reactive_cache3745 build_page3746 returns a specific URL when status is 5003747 returns a build URL when teamcity_url has no trailing slash3748 returns the teamcity_url when teamcity is unreachable3749 teamcity_url has trailing slash3750 returns a build URL3751 commit_status3752 sets commit status to :error when status is 5003753 sets commit status to "pending" when status is 4043754 sets commit status to "success" when build status contains SUCCESS3755 sets commit status to "failed" when build status contains FAILURE3756 sets commit status to "pending" when build status contains Pending3757 sets commit status to :error when build status is unknown3758 sets commit status to :error when teamcity is unreachable3759 #execute3760 returns nil when event is not supported3761 when push3762 handles push request correctly3763 returns nil when ref is blank3764 returns nil when there is no content3765 returns nil when a merge request is opened for the same ref3766 when merge_request3767 handles merge request correctly3768 returns nil when merge request is not opened3769 returns nil unless merge request is marked as unchecked3770Gitlab::Ci::Status::Bridge::Factory3771 when bridge is created3772 matches correct core status3773 fabricates status with correct details3774 when bridge is failed3775 matches correct core status3776 matches correct extended statuses3777 fabricates a failed bridge status3778 fabricates status with correct details3779 failed with downstream_pipeline_creation_failed3780 fabricates correct status_tooltip3781 when bridge is a manual action3782 matches correct core status3783 matches correct extended statuses3784 fabricates action detailed status3785 fabricates status with correct details3786 when user has ability to play action3787 fabricates status that has action3788 when user does not have ability to play action3789 fabricates status that has no action3790 when bridge is waiting for resource3791 matches correct core status3792 fabricates status with correct details3793npm.latest.gitlab-ci.yml3794 the created pipeline3795 on default branch3796 when package.json has been changed3797 behaves like publish job created3798 creates a pipeline with a single job: publish3799 when package.json does not exist or has not been changed3800 behaves like no pipeline created3801 does not create a pipeline because the only job (publish) is not created3802 when the branch name is v1.0.03803 behaves like publish job created3804 creates a pipeline with a single job: publish3805 when the tag name is v1.0.03806 behaves like publish job created3807 creates a pipeline with a single job: publish3808 when the branch name is v2.1.0-alpha3809 behaves like publish job created3810 creates a pipeline with a single job: publish3811 when the tag name is v2.1.0-alpha3812 behaves like publish job created3813 creates a pipeline with a single job: publish3814 when the branch name is patch-13815 behaves like no pipeline created3816 does not create a pipeline because the only job (publish) is not created3817 when the tag name is patch-13818 behaves like no pipeline created3819 does not create a pipeline because the only job (publish) is not created3820 when the branch name is my-feature-branch3821 behaves like no pipeline created3822 does not create a pipeline because the only job (publish) is not created3823 when the tag name is my-feature-branch3824 behaves like no pipeline created3825 does not create a pipeline because the only job (publish) is not created3826 when the branch name is v13827 behaves like no pipeline created3828 does not create a pipeline because the only job (publish) is not created3829 when the tag name is v13830 behaves like no pipeline created3831 does not create a pipeline because the only job (publish) is not created3832 when the branch name is v1.03833 behaves like no pipeline created3834 does not create a pipeline because the only job (publish) is not created3835 when the tag name is v1.03836 behaves like no pipeline created3837 does not create a pipeline because the only job (publish) is not created3838 when the branch name is 2.1.03839 behaves like no pipeline created3840 does not create a pipeline because the only job (publish) is not created3841 when the tag name is 2.1.03842 behaves like no pipeline created3843 does not create a pipeline because the only job (publish) is not created3844List3845 behaves like having unique enum values3846 has unique values in "list_type"3847 behaves like boards listable model3848 associations3849 is expected to validate that :position cannot be empty/falsy3850 is expected to validate that :position looks like an integer greater than or equal to 03851 when list_type is set to closed3852 is expected not to validate that :label cannot be empty/falsy3853 is expected not to validate that :position cannot be empty/falsy3854 scopes3855 .ordered3856 returns lists ordered by type and position3857 #destroyable?3858 returns true when list_type is set to label3859 returns false when list_type is set to closed3860 #movable?3861 returns true when list_type is set to label3862 returns false when list_type is set to closed3863 #title3864 returns label name when list_type is set to label3865 returns Open when list_type is set to backlog3866 returns Closed when list_type is set to closed3867 #destroy3868 can be destroyed when list_type is set to label3869 can not be destroyed when list_type is set to closed3870 behaves like list_preferences_for user3871 #preferences_for3872 when user is nil3873 returns not persisted preferences3874 when a user preference already exists3875 loads preference for user3876 when preferences for user does not exist3877 returns not persisted preferences3878 #update_preferences_for3879 when user is present3880 when there are no preferences for user3881 creates new user preferences3882 when there are preferences for user3883 updates user preferences3884 when user is nil3885 does not create user preferences3886 relationships3887 is expected to belong to board required:3888 is expected to belong to label required:3889 validations3890 is expected to validate that :board cannot be empty/falsy3891 is expected to validate that :label cannot be empty/falsy3892 is expected to validate that :list_type cannot be empty/falsy3893 .without_types3894 exclude lists of given types3895Gitlab::DataBuilder::Note3896 When asking for a note on commit3897 returns the note and commit-specific data3898 contains project data3899 contains deprecated repository data3900 When asking for a note on commit diff3901 returns the note and commit-specific data3902 contains project data3903 contains deprecated repository data3904 When asking for a note on issue3905 returns the note and issue-specific data3906 contains project data3907 contains deprecated repository data3908 with confidential issue3909 sets event_type to confidential_note3910 When asking for a note on merge request3911 returns the note and merge request data3912 contains project data3913 contains deprecated repository data3914 When asking for a note on merge request diff3915 returns the note and merge request diff data3916 contains project data3917 contains deprecated repository data3918 When asking for a note on project snippet3919 returns the note and project snippet data3920 contains project data3921 contains deprecated repository data3922Gitlab::Ci::Status::Build::Failed3923 #text3924 does not override status text3925 #icon3926 does not override status icon3927 #group3928 does not override status group3929 #favicon3930 does not override status label3931 #label3932 does not override label3933 #badge_tooltip3934 does override badge_tooltip3935 #status_tooltip3936 does override status_tooltip3937 .matches?3938 with a failed build3939 returns true3940 with any other type of build3941 returns false3942 covers all failure reasons3943 unknown_failure3944 is a valid status3945 script_failure3946 is a valid status3947 api_failure3948 is a valid status3949 stuck_or_timeout_failure3950 is a valid status3951 runner_system_failure3952 is a valid status3953 missing_dependency_failure3954 is a valid status3955 runner_unsupported3956 is a valid status3957 stale_schedule3958 is a valid status3959 job_execution_timeout3960 is a valid status3961 archived_failure3962 is a valid status3963 unmet_prerequisites3964 is a valid status3965 scheduler_failure3966 is a valid status3967 data_integrity_failure3968 is a valid status3969 forward_deployment_failure3970 is a valid status3971 insufficient_bridge_permissions3972 is a valid status3973 downstream_bridge_project_not_found3974 is a valid status3975 invalid_bridge_trigger3976 is a valid status3977 bridge_pipeline_is_child_pipeline3978 is a valid status3979 downstream_pipeline_creation_failed3980 is a valid status3981 secrets_provider_not_found3982 is a valid status3983 reached_max_descendant_pipelines_depth3984 is a valid status3985 protected_environment_failure3986 is a valid status3987 upstream_bridge_project_not_found3988 is a valid status3989 insufficient_upstream_permissions3990 is a valid status3991 invalid failure message3992 is an invalid status3993DeprecatedAssignee3994 #assignee_id=3995 creates the merge_request_assignees relation3996 nullifies the assignee_id column3997 when relation already exists3998 overwrites existing assignees3999 #assignee=4000 creates the merge_request_assignees relation4001 nullifies the assignee_id column4002 when relation already exists4003 overwrites existing assignees4004 #assignee_id4005 returns the first assignee ID4006 #assignees4007 when assignee_id exists and there is no relation4008 creates the relation4009 nullifies the assignee_id4010 when DB is read-only4011 returns a users relation4012 returns an empty relation if no assignee_id is set4013 #assignee_ids4014 when assignee_id exists and there is no relation4015 creates the relation4016 nullifies the assignee_id4017 when DB is read-only4018 returns a list of user IDs4019 returns an empty relation if no assignee_id is set4020Banzai::Filter::IssuableStateFilter4021 ignores non-GFM links4022 ignores non-issuable links4023 ignores issuable links with empty content4024 ignores issuable links with custom anchor4025 ignores issuable links to specific comments4026 ignores merge request links to diffs tab4027 handles cross project references4028 handles references from group scopes4029 skips cross project references if the user cannot read cross project4030 does not append state when filter is not enabled4031 when project is in pending delete4032 does not append issue state4033 for issue references4034 ignores open issue references4035 appends state to closed issue references4036 appends state to moved issue references4037 for merge request references4038 ignores open merge request references4039 ignores locked merge request references4040 appends state to closed merge request references4041 appends state to merged merge request references4042AlertManagement::ProcessPrometheusAlertService4043 #execute4044 when alert payload is valid4045 when Prometheus alert status is firing4046 when alert with the same fingerprint already exists4047 behaves like adds an alert management alert event4048 is expected to be success4049 does not create an alert4050 increases alert events count4051 does not executes the alert service hooks4052 behaves like processes incident issues4053 processes issues4054 behaves like Alert Notification Service sends notification email4055 sends a notification4056 existing alert is resolved4057 behaves like creates an alert management alert4058 is expected to be success4059 creates AlertManagement::Alert4060 executes the alert service hooks4061 behaves like Alert Notification Service sends notification email4062 sends a notification4063 existing alert is ignored4064 behaves like adds an alert management alert event4065 is expected to be success4066 does not create an alert4067 increases alert events count4068 does not executes the alert service hooks4069 behaves like Alert Notification Service sends no notifications4070 does not notify4071 existing alert is acknowledged4072 behaves like adds an alert management alert event4073 is expected to be success4074 does not create an alert4075 increases alert events count4076 does not executes the alert service hooks4077 behaves like Alert Notification Service sends no notifications4078 does not notify4079 two existing alerts, one resolved one open4080 behaves like adds an alert management alert event4081 is expected to be success4082 does not create an alert4083 increases alert events count4084 does not executes the alert service hooks4085 behaves like Alert Notification Service sends notification email4086 sends a notification4087 when auto-creation of issues is disabled4088 behaves like does not process incident issues4089 does not process issues4090 when emails are disabled4091 behaves like Alert Notification Service sends no notifications4092 does not notify4093 when alert does not exist4094 is expected to be success4095 when alert can be created4096 behaves like creates an alert management alert4097 is expected to be success4098 creates AlertManagement::Alert4099 executes the alert service hooks4100 behaves like Alert Notification Service sends notification email4101 sends a notification4102 behaves like processes incident issues4103 processes issues4104 behaves like creates single system note based on the source of the alert4105 has one new system note4106 when auto-alert creation is disabled4107 behaves like does not process incident issues4108 does not process issues4109 when emails are disabled4110 behaves like Alert Notification Service sends no notifications4111 does not notify4112 when alert cannot be created4113 writes a warning to the log4114 behaves like Alert Notification Service sends no notifications4115 does not notify4116 behaves like does not process incident issues due to error4117 does not process issues4118 when Prometheus alert status is resolved4119 when auto_resolve_incident set to true4120 is expected to be success4121 when status can be changed4122 resolves an existing alert without error4123 behaves like Alert Notification Service sends notification email4124 sends a notification4125 behaves like does not process incident issues4126 does not process issues4127 behaves like creates status-change system note for an auto-resolved alert4128 has 2 new system notes4129 existing issue4130 closes the issue4131 creates a resource state event4132 when status change did not succeed4133 writes a warning to the log4134 behaves like Alert Notification Service sends notification email4135 sends a notification4136 when auto_resolve_incident set to false4137 does not resolve an existing alert4138 behaves like creates single system note based on the source of the alert4139 has one new system note4140 when emails are disabled4141 behaves like Alert Notification Service sends no notifications4142 does not notify4143 environment given4144 sets the environment4145 prometheus alert given4146 sets the prometheus alert and environment4147 when alert payload is invalid4148 responds with bad_request4149Ci::CreatePipelineService#execute4150 child pipeline triggers4151 behaves like successful creation4152 creates bridge jobs correctly4153 with resource group4154 creates bridge job with resource group4155 when sidekiq processes the job4156 transitions to pending status and triggers a downstream pipeline4157 when the resource is occupied by the other bridge4158 stays waiting for resource4159 child pipeline triggers4160 when YAML is valid4161 behaves like successful creation4162 creates bridge jobs correctly4163 when trigger:include is specified as a string4164 behaves like successful creation4165 creates bridge jobs correctly4166 when trigger:include is specified as array of strings4167 behaves like successful creation4168 creates bridge jobs correctly4169 when limit of includes is reached4170 behaves like creation failure4171 returns errors4172 when including configs from artifact4173 when specified dependency is in the wrong order4174 behaves like creation failure4175 returns errors4176 when specified dependency is missing :job key4177 behaves like creation failure4178 returns errors4179 when including configs from a project4180 when specifying all attributes4181 behaves like successful creation4182 creates bridge jobs correctly4183 without specifying file4184 behaves like creation failure4185 returns errors4186 when specifying multiple files4187 behaves like successful creation4188 creates bridge jobs correctly4189Terraform::State4190 is expected to belong to project required:4191 is expected to belong to locked_by_user class_name => User required:4192 is expected to validate that :name cannot be empty/falsy4193 is expected to validate that :project_id cannot be empty/falsy4194 is expected to validate that :name is case-sensitively unique within the scope of :project_id4195 scopes4196 .ordered_by_name4197 is expected to eq ["state_a", "state_b", "state_c", "state_d"]4198 .with_name4199 is expected to contain exactly #<Terraform::State id: 10, project_id: 1025, created_at: "2021-03-03 12:13:49", updated_at: "2021-03-..._id: nil, uuid: "ba17c82bc0465a3e79a7ca2834e8f578", name: "matching-name", versioning_enabled: true>4200 #destroy4201 deletes when the state is unlocked4202 fails to delete when the state is locked4203 #latest_file4204 is expected to eq #<Terraform::StateUploader:0x000056079c8696e8 @model=#<Terraform::StateVersion id: 6, terraform_state...0x000056079c869508 @uploader=#<Terraform::StateUploader:0x000056079c8696e8 ...>, @cache_called=nil>>4205 but no version exists yet4206 is expected to be nil4207 #update_file!4208 versioning is enabled4209 creates a new version4210 versioning is disabled (migration to versioned in progress)4211 creates a new version, corrects the migrated version number, and marks the state as versioned4212 the current version cannot be determined4213 uses version - 1 to correct the migrated version number4214CommitCollection4215 #each4216 yields every commit4217 .committers4218 returns a relation of users when users are found4219 returns empty array when committers cannot be found4220 excludes authors of merge commits4221 #without_merge_commits4222 returns all commits except merge commits4223 #with_latest_pipeline4224 sets the latest pipeline for every commit so no additional queries are necessary4225 performs a single query to fetch pipeline warnings4226 #with_markdown_cache4227 preloads commits cache markdown4228 enrichment methods4229 #unenriched4230 returns all commits that are not backed by gitaly data4231 #fully_enriched?4232 returns true when all commits are backed by gitaly data4233 returns false when any commits are not backed by gitaly data4234 returns true when the collection is empty4235 #enrich!4236 replaces commits in the collection with those backed by gitaly data4237 maintains the original order of the commits4238 fetches data if there are unenriched commits4239 does not fetch data if all commits are enriched4240 returns the original commit if the commit could not be lazy loaded4241 #respond_to_missing?4242 returns true when the underlying Array responds to the message4243 returns false when the underlying Array does not respond to the message4244 #method_missing4245 delegates undefined methods to the underlying Array4246Search::GroupService4247 basic search4248 finding projects by name4249 in parent group4250 is expected to contain exactly #<Project id:1061 group151/group150/inner_project_name_1>>, #<Project id:1062 group151/group150/inner_project_name_2>>, and #<Project id:1063 group151/outer_project_name>>4251 in subgroup4252 is expected to contain exactly #<Project id:1067 group153/group152/inner_project_name_1>> and #<Project id:1068 group153/group152/inner_project_name_2>>4253 issues4254 sorting4255 sort: created_desc4256 sorts results by created_at4257 sort: created_asc4258 sorts results by created_at4259 sort: updated_desc4260 sorts results by updated_desc4261 sort: updated_asc4262 sorts results by updated_asc4263 merge requests4264 sorting4265 sort: created_desc4266 sorts results by created_at4267 sort: created_asc4268 sorts results by created_at4269 sort: updated_desc4270 sorts results by updated_desc4271 sort: updated_asc4272 sorts results by updated_asc4273Ci::PipelineArtifactUploader4274 behaves like builds correct paths4275 #store_dir4276 behaves like matches the method pattern4277 is expected to match /\h{2}\/\h{2}\/\h{64}\/pipelines\/\d+\/artifacts\/\d+/4278 #cache_dir4279 behaves like matches the method pattern4280 is expected to match /artifacts\/tmp\/cache/4281 #work_dir4282 behaves like matches the method pattern4283 is expected to match /artifacts\/tmp\/work/4284 #upload_path4285 behaves like matches the method pattern4286 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4287 #relative_path4288 is relative (PENDING: Path not set, skipping.)4289 .absolute_path4290 behaves like matches the method pattern4291 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4292 .base_dir4293 behaves like matches the method pattern4294 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4295 path traversal exploits4296 throws an exception4297 when object store is REMOTE4298 behaves like builds correct paths4299 #store_dir4300 behaves like matches the method pattern4301 is expected to match /\h{2}\/\h{2}\/\h{64}\/pipelines\/\d+\/artifacts\/\d+/4302 #cache_dir4303 behaves like matches the method pattern4304 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4305 #work_dir4306 behaves like matches the method pattern4307 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4308 #upload_path4309 behaves like matches the method pattern4310 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4311 #relative_path4312 is relative (PENDING: Path not set, skipping.)4313 .absolute_path4314 behaves like matches the method pattern4315 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4316 .base_dir4317 behaves like matches the method pattern4318 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4319 path traversal exploits4320 throws an exception4321 when file is stored in valid local_path4322 is expected to match /\/builds\/gitlab-org\/gitlab\/tmp\/tests\/artifacts\/\h{2}\/\h{2}\/\h{64}\/pipelines\/420\/artifacts\/17\/code_coverage.json/4323AutoMergeService4324 .all_strategies_ordered_by_preference4325 returns all strategies in preference order4326 #available_strategies4327 returns available strategies4328 when the head piipeline succeeded4329 returns available strategies4330 #preferred_strategy4331 returns preferred strategy4332 when the head piipeline succeeded4333 returns available strategies4334 .get_service_class4335 returns service instance4336 when strategy is not present4337 returns nil4338 #execute4339 delegates to a relevant service instance4340 when the head piipeline succeeded4341 returns failed4342 when strategy is not specified4343 chooses the most preferred strategy4344 #update4345 when auto merge is enabled4346 delegates to a relevant service instance4347 when auto merge is not enabled4348 returns failed4349 #process4350 delegates to a relevant service instance4351 when auto merge is not enabled4352 returns nil4353 #cancel4354 delegates to a relevant service instance4355 when auto merge is not enabled4356 returns error4357 #abort4358 delegates to a relevant service instance4359 when auto merge is not enabled4360 returns error4361projects/edit4362 project export disabled4363 does not display the project export option4364 merge suggestions settings4365 displays all possible variables4366 displays a placeholder if none is set4367 displays the user entered value4368 forking4369 project is not a fork4370 hides the remove fork relationship settings4371 project is a fork4372 shows the remove fork relationship settings to an authorized user4373 hides the fork relationship settings from an unauthorized user4374 hides the fork source from an unauthorized user4375 shows the fork source to an authorized user4376ForkProjectsFinder4377 #execute4378 without a user4379 is expected to eq [#<Project id:1117 group165/project1101>>]4380 with a user4381 is expected to eq [#<Project id:1121 group168/project1105>>, #<Project id:1120 group167/project1104>>]4382 with a member4383 is expected to eq [#<Project id:1125 group171/project1109>>, #<Project id:1124 group170/project1108>>, #<Project id:1123 group169/project1107>>]4384Ci::BuildTraceChunks::Redis4385 #available?4386 is expected to be truthy4387 #data4388 when data exists4389 returns the data4390 when data does not exist4391 returns nil4392 #set_data4393 when data exists4394 overwrites data4395 when data does not exist4396 sets new data4397 #append_data4398 when valid offset is used with existing data4399 appends data4400 when data does not exist yet4401 sets new data4402 when data needs to be truncated4403 appends data and truncates stored value4404 when invalid offset is provided4405 raises an exception4406 when trace contains multi-byte UTF8 characters4407 appends data4408 when trace contains non-UTF8 characters4409 appends data4410 #delete_data4411 when data exists4412 deletes data4413 when data does not exist4414 does nothing4415 #size4416 when data exists4417 returns data bytesize correctly4418 when data does not exist4419 returns zero4420 #keys4421 returns keys4422 #delete_keys4423 deletes multiple data4424Gitlab::BlobHelper4425 #extname4426 returns the extension4427 #known_extension?4428 returns true4429 #viewable4430 returns true4431 returns false4432 #large?4433 returns false4434 returns true4435 #binary?4436 returns true4437 returns false4438 #text?4439 returns true4440 returns false4441 #image?4442 returns false4443 #mime_type4444 returns text/plain4445 returns application/pdf4446 #binary_mime_type?4447 returns false4448 #lines4449 returns the payload in an Array4450 #content_type4451 returns text/plain4452 returns text/plain4453 #encoded_newlines_re4454 returns a regular expression4455 #ruby_encoding4456 returns UTF-84457 #encoding4458 returns UTF-84459 #empty?4460 returns false4461ChatNotificationService4462 Associations4463 is expected to validate that :webhook cannot be empty/falsy4464 #can_test?4465 with empty repository4466 returns true4467 with repository4468 returns true4469 #execute4470 with a repository4471 returns true4472 with an empty repository4473 returns true4474 with a project with name containing spaces4475 does not remove spaces4476 when the data object has a label4477 notifies the chat service4478 and the chat_service has a label filter that does not matches the label4479 does not notify the chat service4480 and the chat_service has a label filter that matches the label4481 notifies the chat service4482 with "channel" property4483 empty string4484 does not include the channel4485 empty spaces4486 does not include the channel4487 with single channel specified4488 behaves like with channel specified4489 notifies all channels4490 with multiple channel names specified4491 behaves like with channel specified4492 notifies all channels4493 with multiple channel names with spaces specified4494 behaves like with channel specified4495 notifies all channels4496Projects::Prometheus::Alerts::NotifyService4497 with valid payload4498 with environment specific clusters4499 without token4500 behaves like Alert Notification Service sends notification email4501 sends a notification4502 with token4503 behaves like Alert Notification Service sends no notifications4504 does not notify4505 with project specific cluster4506 cluster_enabled: true, status: :installed, configured_token: "token", token_input: "token", result: :success4507 behaves like Alert Notification Service sends notification email4508 sends a notification4509 cluster_enabled: true, status: :installed, configured_token: nil, token_input: nil, result: :success4510 behaves like Alert Notification Service sends notification email4511 sends a notification4512 cluster_enabled: true, status: :updated, configured_token: "token", token_input: "token", result: :success4513 behaves like Alert Notification Service sends notification email4514 sends a notification4515 cluster_enabled: true, status: :updating, configured_token: "token", token_input: "token", result: :failure4516 behaves like Alert Notification Service sends no notifications4517 does not notify4518 cluster_enabled: true, status: :installed, configured_token: "token", token_input: "x", result: :failure4519 behaves like Alert Notification Service sends no notifications4520 does not notify4521 cluster_enabled: true, status: :installed, configured_token: nil, token_input: "token", result: :failure4522 behaves like Alert Notification Service sends no notifications4523 does not notify4524 cluster_enabled: true, status: :installed, configured_token: "token", token_input: nil, result: :failure4525 behaves like Alert Notification Service sends no notifications4526 does not notify4527 cluster_enabled: true, status: nil, configured_token: "token", token_input: "token", result: :failure4528 behaves like Alert Notification Service sends no notifications4529 does not notify4530 cluster_enabled: false, status: :installed, configured_token: "token", token_input: "token", result: :failure4531 behaves like Alert Notification Service sends no notifications4532 does not notify4533 without project specific cluster4534 behaves like Alert Notification Service sends no notifications4535 does not notify4536 with manual prometheus installation4537 alerting_setting: true, configured_token: "token", token_input: "token", result: :success4538 behaves like Alert Notification Service sends notification email4539 sends a notification4540 alerting_setting: true, configured_token: "token", token_input: "x", result: :failure4541 behaves like Alert Notification Service sends no notifications4542 does not notify4543 alerting_setting: true, configured_token: "token", token_input: nil, result: :failure4544 behaves like Alert Notification Service sends no notifications4545 does not notify4546 alerting_setting: false, configured_token: nil, token_input: nil, result: :success4547 behaves like Alert Notification Service sends notification email4548 sends a notification4549 alerting_setting: false, configured_token: nil, token_input: "token", result: :failure4550 behaves like Alert Notification Service sends no notifications4551 does not notify4552 with HTTP integration4553 active: :active, token: :valid, result: :success4554 behaves like Alert Notification Service sends notification email4555 sends a notification4556 active: :active, token: :invalid, result: :failure4557 behaves like Alert Notification Service sends no notifications4558 does not notify4559 active: :active, token: nil, result: :failure4560 behaves like Alert Notification Service sends no notifications4561 does not notify4562 active: :inactive, token: :valid, result: :failure4563 behaves like Alert Notification Service sends no notifications4564 does not notify4565 active: nil, token: nil, result: :failure4566 behaves like Alert Notification Service sends no notifications4567 does not notify4568 alert emails4569 when incident_management_setting does not exist4570 does not send notification email4571 when incident_management_setting.send_email is true4572 behaves like Alert Notification Service sends notification email4573 sends a notification4574 incident_management_setting.send_email is false4575 does not send notification4576 process Alert Management alerts4577 with multiple firing alerts and resolving alerts4578 processes Prometheus alerts4579 with invalid payload4580 when payload is not processable4581 behaves like Alert Notification Service sends no notifications4582 does not notify4583 when the payload is too big4584 does not process Prometheus alerts4585 behaves like Alert Notification Service sends no notifications4586 does not notify4587 .processable?4588 with valid payload4589 is expected to eq true4590 containing unrelated keys4591 is expected to eq true4592 with invalid payload4593 missing_key: "version"4594 is expected to eq false4595 missing_key: "groupKey"4596 is expected to eq false4597 missing_key: "status"4598 is expected to eq false4599 missing_key: "receiver"4600 is expected to eq false4601 missing_key: "groupLabels"4602 is expected to eq false4603 missing_key: "commonLabels"4604 is expected to eq false4605 missing_key: "commonAnnotations"4606 is expected to eq false4607 missing_key: "externalURL"4608 is expected to eq false4609 missing_key: "alerts"4610 is expected to eq false4611 with unsupported version4612 is expected to eq false4613EachBatch4614 .each_batch4615 orders ascending by default4616 accepts descending order4617 behaves like each_batch handling4618 yields an ActiveRecord::Relation when a block is given4619 yields a batch index as the second argument4620 accepts a custom batch size4621 does not include ORDER BYs in the yielded relations4622 allows updating of the yielded relations4623 behaves like each_batch handling4624 yields an ActiveRecord::Relation when a block is given4625 yields a batch index as the second argument4626 accepts a custom batch size4627 does not include ORDER BYs in the yielded relations4628 allows updating of the yielded relations4629ci/status/_icon4630 when rendering status for build4631 when user has ability to see details4632 has link to build details page4633 when user do not have ability to see build details4634 contains build status text4635 does not contain links4636 when rendering status for external job4637 when user has ability to see commit status details4638 status has external target url4639 contains valid commit status text4640 has link to external status page4641 status do not have external target url4642 contains valid commit status text4643 has link to external status page4644Gitlab::Ci::Charts4645 yearchart4646 goes until the end of the current month (including the whole last day of the month)4647 starts at the beginning of the current year4648 uses %B %Y as labels format4649 returns count of pipelines run each day in the current year4650 monthchart4651 includes the whole current day4652 starts one month ago4653 uses %d %B as labels format4654 returns count of pipelines run each day in the current month4655 weekchart4656 includes the whole current day4657 starts one week ago4658 uses %d %B as labels format4659 returns count of pipelines run each day in the current week4660 weekchart_utc4661 uses a utc time zone for range times4662 returns count of pipelines run each day in the current week4663 weekchart_non_utc4664 uses a non-utc time zone for range times4665 returns count of pipelines run each day in the current week4666 pipeline_times4667 returns pipeline times in minutes4668 handles nil pipeline times4669RepositoryCheck::SingleRepositoryWorker4670 skips when the project has no push events4671 fails when the project has push events and a broken repository4672 succeeds when the project repo is valid4673 fails if the wiki repository is broken4674 skips wikis when disabled4675 creates missing wikis4676 does not create a wiki if the main repo does not exist at all4677Banzai::ReferenceRedactor4678 #redact4679 when reference not visible to user4680 redacts an array of documents4681 replaces redacted reference with inner HTML4682 when data-original attribute provided4683 replaces redacted reference with original content4684 does not replace redacted reference with original content if href is given4685 uses the original content as the link content if given4686 when project is in pending delete4687 redacts an issue attached4688 redacts an external issue4689 when reference visible to user4690 does not redact an array of documents4691 when the user cannot read cross project4692 skips links to issues within the same project4693 removes info from a cross project reference4694 #redact_nodes4695 redacts an Array of nodes4696 #nodes_visible_to_user4697 returns a Set containing the visible nodes4698 handles invalid references gracefully4699Gitlab::Git::Tag4700 #tags4701 is expected to eq 44702 first tag4703 is expected to eq "v1.0.0"4704 is expected to eq "f4e6814c3e4e7a0de82a9e7cd20c626cc963a2f8"4705 is expected to eq "6f6d7e7ed97bb5f0054f2b1df789b39ca89b6ff9"4706 is expected to eq "Release"4707 is expected to be falsey4708 is expected to eq :NONE4709 is expected to be nil4710 is expected to eq "Dmitriy Zaporozhets"4711 is expected to eq "dmitriy.zaporozhets@gmail.com"4712 is expected to eq <Google::Protobuf::Timestamp: seconds: 1393491299, nanos: 0>4713 is expected to eq "+0200"4714 last tag4715 is expected to eq "v1.2.1"4716 is expected to eq "2ac1f24e253e08135507d0830508febaaccf02ee"4717 is expected to eq "fa1b1e6c004a68b7d8763b86455da9e6b23e36d6"4718 is expected to eq "Version 1.2.1"4719 is expected to be falsey4720 is expected to eq :NONE4721 is expected to be nil4722 is expected to eq "Douwe Maan"4723 is expected to eq "douwe@selenight.nl"4724 is expected to eq <Google::Protobuf::Timestamp: seconds: 1427789449, nanos: 0>4725 is expected to eq "+0200"4726 signed tag4727 is expected to eq "8f03acbcd11c53d9c9468078f32a2622005a4841"4728 is expected to eq "189a6c924013fc3fe40d6f1ec1dc20214183bc97"4729 is expected to eq "x509 signed tag\n-----BEGIN SIGNED MESSAGE-----\nMIISfwYJKoZIhvcNAQcCoIIScDCCEmwCAQExDTALBglghkgBZQM...dZmMbJ7jNk1FbewSwWO\nSDH1i0K32NyFbnh0BSos7njq7ELqKlYBsoB/sZfaH2vKy5U=\n-----END SIGNED MESSAGE-----"4730 is expected to be truthy4731 is expected to eq :X5094732 is expected not to be nil4733 is expected to eq "Roger Meier"4734 is expected to eq "r.meier@siemens.com"4735 is expected to eq <Google::Protobuf::Timestamp: seconds: 1574261780, nanos: 0>4736 is expected to eq "+0100"4737 .get_message4738 gets tag messages4739 gets messages in one batch4740 tag into from Gitaly tag4741 message_size != message.size4742 message_size less than threshold4743 fetches tag message separately4744 message_size greater than threshold4745 returns a notice about message size4746Releases::DestroyService4747 #execute4748 when there is a release4749 removes the release4750 returns the destroyed object4751 when tag does not exist in the repository4752 removes the orphaned release4753 when release is not found4754 returns an error4755 when user does not have permission4756 returns an error4757 when a milestone is tied to the release4758 destroys the release but leave the milestone intact4759ResourceStateEvent4760 behaves like a resource event4761 importable4762 is expected to respond to #importing?4763 is expected to respond to #imported?4764 validations4765 is expected not to allow :user to be ‹nil›4766 when importing4767 is expected to allow :user to be ‹nil›4768 associations4769 is expected to belong to user required:4770 .created_after4771 returns the expected events4772 returns no events if time is after last record time4773 behaves like a resource event for issues4774 associations4775 is expected to belong to issue required:4776 .by_issue4777 returns the expected records for an issue with events4778 returns the expected records for an issue with no events4779 .by_issue_ids_and_created_at_earlier_or_equal_to4780 returns the expected records for an issue with events4781 returns the expected records for an issue with no events4782 #issuable4783 returns the expected issuable4784 behaves like a resource event for merge requests4785 associations4786 is expected to belong to merge_request required:4787 .by_merge_request4788 returns the expected records for an issue with events4789 returns the expected records for an issue with no events4790 #issuable4791 returns the expected issuable4792 validations4793 Issuable validation4794 is valid if an issue is set4795 is valid if a merge request is set4796 is invalid if both issue and merge request are set4797 is invalid if there is no issuable set4798 callbacks4799 #issue_usage_metrics4800 tracks closed issues4801 tracks reopened issues4802 does not track merge requests4803notify/pipeline_success_email.text.erb4804 behaves like pipeline status changes email4805 when the pipeline contains a failed job4806 behaves like renders the pipeline status changes email correctly4807 pipeline with user4808 renders the email correctly4809 behaves like correct pipeline information for pipelines for merge requests4810 when pipeline for merge request4811 renders a source ref of the pipeline4812 pipeline without user4813 renders the email correctly4814 when the latest failed job is a bridge job4815 behaves like renders the pipeline status changes email correctly4816 pipeline with user4817 renders the email correctly4818 behaves like correct pipeline information for pipelines for merge requests4819 when pipeline for merge request4820 renders a source ref of the pipeline4821 pipeline without user4822 renders the email correctly4823Gitlab::Conflict::FileCollection4824 #files4825 returns an array of Conflict::Files4826 #cache4827 specifies a custom namespace with the merge request commit ids4828 #can_be_resolved_in_ui?4829 returns true if conflicts for this collection can be resolved in the UI4830 returns false if conflicts for this collection can't be resolved in the UI4831 caches the result4832 #default_commit_message4833 matches the format of the git CLI commit message4834Ci::PipelineArtifacts::DestroyExpiredArtifactsService4835 .execute4836 when timeout happens4837 returns 0 and does not continue destroying4838 when there are no artifacts4839 does not raise error4840 when the loop limit is reached4841 destroys one artifact4842 reports the number of destroyed artifacts4843 when there are artifacts more than batch sizes4844 destroys all expired artifacts4845 reports the number of destroyed artifacts4846 when artifacts are not expired4847 does not destroy pipeline artifacts4848 reports the number of destroyed artifacts4849 .destroy_artifacts_batch4850 returns a falsy value without artifacts4851UserRecentEventsFinder4852 #execute4853 does not include the events if the user cannot read cross project4854 when profile is public4855 returns all the events4856 when profile is private4857 returns no event4858 events from multiple users4859 includes events from all users4860 does not include events from users with private profile4861 filter activity events4862 includes all events4863 only includes push events4864 only includes merge events4865 only includes issue events4866 only includes comments events4867 only includes wiki events4868 only includes design events4869 only includes team events4870 issue activity events4871 includes all issue related events4872 limits4873 when limit is not set4874 returns events limited to DEFAULT_LIMIT4875 when limit is set4876 returns events limited to specified limit4877 when limit is set to a number that exceeds maximum limit4878 returns events limited to MAX_LIMIT4879Metrics::UsersStarredDashboardsFinder4880 #execute4881 there are no starred dashboard records4882 returns empty array4883 with annotation records4884 user without read access to project4885 returns empty relation4886 user with read access to project4887 loads starred dashboards4888 when the dashboard_path filter is present4889 loads filtered starred dashboards4890IncidentManagement::Incidents::CreateService4891 #execute4892 when incident has title and description4893 responds with success4894 creates an incident issue4895 created issue has correct attributes4896 behaves like incident issue4897 has incident as issue type4898 has exactly one incident label4899 with default severity4900 sets the correct severity level to "unknown"4901 with severity4902 severity: "critical", incident_severity: "critical"4903 sets the correct severity level4904 severity: "high", incident_severity: "high"4905 sets the correct severity level4906 severity: "medium", incident_severity: "medium"4907 sets the correct severity level4908 severity: "low", incident_severity: "low"4909 sets the correct severity level4910 severity: "unknown", incident_severity: "unknown"4911 sets the correct severity level4912 when incident label does not exists4913 creates incident label4914 when incident label already exists4915 does not create new labels4916 when incident has no title4917 does not create an issue4918 responds with errors4919 result payload contains an Issue object4920Packages::TagsFinder4921 #execute4922 is expected to contain exactly #<Packages::Tag id: 1, package_id: 1, name: "tag-1", created_at: "2021-03-03 12:16:01", updated_at: "2021-03-03 12:16:01"> and #<Packages::Tag id: 2, package_id: 1, name: "tag-2", created_at: "2021-03-03 12:16:01", updated_at: "2021-03-03 12:16:01">4923 with package type4924 is expected to contain exactly #<Packages::Tag id: 5, package_id: 4, name: "tag-5", created_at: "2021-03-03 12:16:02", updated_at: "2021-03-03 12:16:02">4925 with blank package type4926 is expected to contain exactly #<Packages::Tag id: 6, package_id: 5, name: "tag-6", created_at: "2021-03-03 12:16:02", updated_at: "2021-03-03 12:16:02"> and #<Packages::Tag id: 7, package_id: 5, name: "tag-7", created_at: "2021-03-03 12:16:02", updated_at: "2021-03-03 12:16:02">4927 with nil package type4928 is expected to contain exactly #<Packages::Tag id: 8, package_id: 6, name: "tag-8", created_at: "2021-03-03 12:16:02", updated_at: "2021-03-03 12:16:02"> and #<Packages::Tag id: 9, package_id: 6, name: "tag-9", created_at: "2021-03-03 12:16:02", updated_at: "2021-03-03 12:16:02">4929 with unknown package name4930 is expected to be empty4931 #find_by_name4932 is expected to eq #<Packages::Tag id: 12, package_id: 8, name: "tag-12", created_at: "2021-03-03 12:16:03", updated_at: "2021-03-03 12:16:03">4933 with package type4934 is expected to eq #<Packages::Tag id: 16, package_id: 11, name: "tag-16", created_at: "2021-03-03 12:16:03", updated_at: "2021-03-03 12:16:03">4935 with unknown tag_name4936 is expected to be nil4937UserPolicy4938 reading a user's information4939 is expected to be allowed :read_user4940 reading a different user's Personal Access Tokens4941 when user is admin4942 when admin mode is enabled4943 is expected to be allowed :read_user_personal_access_tokens4944 when admin mode is disabled4945 is expected not to be allowed :read_user_personal_access_tokens4946 when user is not an admin4947 requesting their own personal access tokens4948 is expected to be allowed :read_user_personal_access_tokens4949 requesting a different user's personal access tokens4950 is expected not to be allowed :read_user_personal_access_tokens4951 creating a different user's Personal Access Tokens4952 when current_user is admin4953 when admin mode is enabled and current_user is not blocked4954 is expected to be allowed :create_user_personal_access_token4955 when admin mode is enabled and current_user is blocked4956 is expected not to be allowed :create_user_personal_access_token4957 when admin mode is disabled4958 is expected not to be allowed :create_user_personal_access_token4959 when current_user is not an admin4960 creating their own personal access tokens4961 when current_user is not blocked4962 is expected to be allowed :create_user_personal_access_token4963 when current_user is blocked4964 is expected not to be allowed :create_user_personal_access_token4965 creating a different user's personal access tokens4966 is expected not to be allowed :create_user_personal_access_token4967 updating a user's status4968 behaves like changing a user4969 when a regular user tries to destroy another regular user4970 is expected not to be allowed :update_user_status4971 when a regular user tries to destroy themselves4972 is expected to be allowed :update_user_status4973 when an admin user tries to destroy a regular user4974 when admin mode is enabled4975 is expected to be allowed :update_user_status4976 when admin mode is disabled4977 is expected to be disallowed :update_user_status4978 when an admin user tries to destroy a ghost user4979 is expected not to be allowed :update_user_status4980 destroying a user4981 behaves like changing a user4982 when a regular user tries to destroy another regular user4983 is expected not to be allowed :destroy_user4984 when a regular user tries to destroy themselves4985 is expected to be allowed :destroy_user4986 when an admin user tries to destroy a regular user4987 when admin mode is enabled4988 is expected to be allowed :destroy_user4989 when admin mode is disabled4990 is expected to be disallowed :destroy_user4991 when an admin user tries to destroy a ghost user4992 is expected not to be allowed :destroy_user4993 updating a user4994 behaves like changing a user4995 when a regular user tries to destroy another regular user4996 is expected not to be allowed :update_user4997 when a regular user tries to destroy themselves4998 is expected to be allowed :update_user4999 when an admin user tries to destroy a regular user5000 when admin mode is enabled5001 is expected to be allowed :update_user5002 when admin mode is disabled5003 is expected to be disallowed :update_user5004 when an admin user tries to destroy a ghost user5005 is expected not to be allowed :update_user5006 disabling two-factor authentication5007 disabling their own two-factor authentication5008 is expected to be allowed :disable_two_factor5009 disabling the two-factor authentication of another user5010 when the executor is an admin5011 is expected to be allowed :disable_two_factor5012 when the executor is not an admin5013 is expected not to be allowed :disable_two_factor5014 reading a user's group count5015 when current_user is an admin5016 is expected to be allowed :read_group_count5017 for self users5018 is expected to be allowed :read_group_count5019 when accessing a different user's group count5020 is expected not to be allowed :read_group_count5021 :read_user_profile5022 when the user is unconfirmed5023 is expected not to be allowed :read_user_profile5024 when the user is confirmed5025 is expected to be allowed :read_user_profile5026Clusters::Agent5027 is expected to belong to created_by_user class_name => User optional: true5028 is expected to belong to project class_name => ::Project required:5029 is expected to have many agent_tokens class_name => Clusters::AgentToken5030 is expected to validate that :name cannot be empty/falsy5031 is expected to validate that the length of :name is at most 635032 is expected to validate that :name is case-sensitively unique within the scope of :project_id5033 scopes5034 .ordered_by_name5035 is expected to eq ["agent-a", "agent-b", "agent-c", "agent-d"]5036 .with_name5037 is expected to contain exactly #<Clusters::Agent id: 11, created_at: "2021-03-03 12:16:11", updated_at: "2021-03-03 12:16:11", project_id: 1316, name: "matching-name", created_by_user_id: nil>5038 validation5039 name validation5040 rejects names that do not conform to RFC 11235041 accepts valid names5042 #has_access_to?5043 has access to own project5044 does not have access to other projects5045Gitlab::Git::CrossRepoComparer5046 #compare5047 within a single repository5048 a non-straight comparison5049 compares without fetching from another repo5050 a straight comparison5051 compares without fetching from another repo5052 across two repositories5053 target ref exists in source repo5054 compares without fetching from another repo5055 target ref does not exist in source repo5056 compares in the source repo by fetching from the target to a temporary ref5057 source ref does not exist in source repo5058 returns an empty comparison5059 target ref does not exist in target repo5060 returns nil5061Gitlab::Ci::Trace::ChunkedIO5062 #initialize5063 when a chunk exists5064 is expected to eq 35065 when two chunks exist5066 is expected to eq 65067 when no chunks exists5068 is expected to eq 05069 #seek5070 when moves pos to end of the file5071 is expected to eq 1924375072 when moves pos to middle of the file5073 is expected to eq 962185074 when moves pos around5075 matches the result5076 #eof?5077 when current pos is at end of the file5078 is expected to be truthy5079 when current pos is not at end of the file5080 is expected to be falsey5081 #each_line5082 when buffer size is smaller than file size5083 yields lines5084 when buffer size is larger than file size5085 calls get_chunk only once5086 when buffer consist of many empty lines5087 yields lines5088 #read5089 when read the whole size5090 when buffer size is smaller than file size5091 is expected to eq "\e[0KRunning with gitlab-runner 10.6.0 (a3543a27)\n\e[0;m\e[0K on docker-auto-scale-com 30d62d59\n\...token\e[0;m=rusBKvxM\nsection_end:1522927520:upload_artifacts\n\e[0K\e[32;1mJob succeeded\n\e[0;m\n"5092 when buffer size is larger than file size5093 is expected to eq "\e[0KRunning with gitlab-runner 10.6.0 (a3543a27)\n\e[0;m\e[0K on docker-auto-scale-com 30d62d59\n\...token\e[0;m=rusBKvxM\nsection_end:1522927520:upload_artifacts\n\e[0K\e[32;1mJob succeeded\n\e[0;m\n"5094 when chunk is missing data5095 raises an error5096 when read only first 100 bytes5097 when buffer size is smaller than file size5098 reads a trace5099 when buffer size is larger than file size5100 reads a trace5101 when tries to read oversize5102 when buffer size is smaller than file size5103 reads a trace5104 when buffer size is larger than file size5105 reads a trace5106 when tries to read 0 bytes5107 when buffer size is smaller than file size5108 reads a trace5109 when buffer size is larger than file size5110 reads a trace5111 #readline5112 when buffer size is smaller than file size5113 behaves like all line matching5114 is expected to eq "\e[0;m\n"5115 when buffer size is larger than file size5116 behaves like all line matching5117 is expected to eq "\e[0;m\n"5118 when pos is at middle of the file5119 reads from pos5120 when chunk is missing data5121 raises an error5122 when utf-8 is being used5123 has known length5124 behaves like all line matching5125 is expected to eq "\xF0\x9F\x98\xBA"5126 #write5127 when data does not exist5128 when buffer size is smaller than file size5129 behaves like writes a trace5130 is expected to eq "\e[0KRunning with gitlab-runner 10.6.0 (a3543a27)\n\e[0;m\e[0K on docker-auto-scale-com 30d62d59\n\...token\e[0;m=rusBKvxM\nsection_end:1522927520:upload_artifacts\n\e[0K\e[32;1mJob succeeded\n\e[0;m\n"5131 when buffer size is larger than file size5132 behaves like writes a trace5133 is expected to eq "\e[0KRunning with gitlab-runner 10.6.0 (a3543a27)\n\e[0;m\e[0K on docker-auto-scale-com 30d62d59\n\...token\e[0;m=rusBKvxM\nsection_end:1522927520:upload_artifacts\n\e[0K\e[32;1mJob succeeded\n\e[0;m\n"5134 when data already exists5135 when buffer size is smaller than file size5136 behaves like appends a trace5137 is expected to eq "exist data\e[0KRunning with gitlab-runner 10.6.0 (a3543a27)\n\e[0;m\e[0K on docker-auto-scale-com 3...token\e[0;m=rusBKvxM\nsection_end:1522927520:upload_artifacts\n\e[0K\e[32;1mJob succeeded\n\e[0;m\n"5138 when buffer size is larger than file size5139 behaves like appends a trace5140 is expected to eq "exist data\e[0KRunning with gitlab-runner 10.6.0 (a3543a27)\n\e[0;m\e[0K on docker-auto-scale-com 3...token\e[0;m=rusBKvxM\nsection_end:1522927520:upload_artifacts\n\e[0K\e[32;1mJob succeeded\n\e[0;m\n"5141 #truncate5142 when data does not exist5143 when buffer size is smaller than file size5144 behaves like truncates a trace5145 is expected to eq "\e[0KRunnin"5146 when buffer size is larger than file size5147 behaves like truncates a trace5148 is expected to eq "\e[0KRunnin"5149 #destroy!5150 deletes5151 when the job does not have archived trace5152 leaves a message in sidekiq log5153MergeRequests::ReloadDiffsService5154 #execute5155 creates new merge request diff5156 calls update_diff_discussion_positions with correct params5157 does not change existing merge request diff5158 cache clearing5159 clears the cache for older diffs on the merge request5160 avoids N+1 queries5161Resolvers::EnvironmentsResolver5162 with a group5163 #resolve5164 finds all environments5165 with name5166 finds a specific environment with name5167 with search5168DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activerecord-6.0.3.4/lib/active_record/relation.rb:412: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call5169/builds/gitlab-org/gitlab/app/models/environment.rb:85: warning: The called method is defined here5170 (called from by_search at /builds/gitlab-org/gitlab/app/finders/environments_finder.rb:94)5171 searches environment by name5172 when the search term does not match any environments5173 is empty5174 with states5175 searches environments by state5176 returns error if requested state is invalid5177 when project is nil5178 is expected to be nil5179Gitlab::GithubImport::Importer::LabelsImporter5180 #execute5181 imports the labels in bulk5182 #build_labels5183 returns an Array containnig label rows5184 does not create labels that already exist5185 #build_labels_cache5186 builds the labels cache5187 #build5188 returns the attributes of the label as a Hash5189 the returned Hash5190 includes the label title5191 includes the label color5192 includes the project ID5193 includes the label type5194 includes the created timestamp5195 includes the updated timestamp5196 #each_label5197 returns the labels5198events/event/_push.html.haml5199 with a branch5200 links to the branch5201 that has been deleted5202 does not link to the branch5203 ref_count is more than 15204 includes the count in the text5205 with a tag5206 links to the tag5207 that has been deleted5208 does not link to the tag5209 ref_count is more than 15210 includes the count in the text5211JiraConnect::SyncProjectWorker5212 #perform5213 avoids N+1 database queries5214 when the project is not found5215 does not raise an error5216 behaves like an idempotent worker5217 is labeled as idempotent5218 performs multiple times sequentially without raising an exception5219 sends the request with custom update_sequence_id5220 when the number of merge requests to sync is higher than the limit5221 syncs only the most recent merge requests within the limit5222ReactiveCaching5223 #with_reactive_cache5224 when cache is empty5225 is expected to be nil5226 updates the cache lifespan5227 behaves like reactive worker call5228 performs caching with correct worker5229 behaves like reactive worker call5230 performs caching with correct worker5231 when the cache is full5232 behaves like a cacheable value5233 is expected to eq 45234 does not enqueue a background worker5235 updates the cache lifespan5236 and expired5237 is expected to be nil5238 behaves like reactive worker call5239 performs caching with correct worker5240 behaves like reactive worker call5241 performs caching with correct worker5242 when the cache contains non-nil but blank value5243 behaves like a cacheable value5244 is expected to eq false5245 does not enqueue a background worker5246 updates the cache lifespan5247 and expired5248 is expected to be nil5249 behaves like reactive worker call5250 performs caching with correct worker5251 behaves like reactive worker call5252 performs caching with correct worker5253 when the cache contains nil value5254 behaves like a cacheable value5255 is expected to eq nil5256 does not enqueue a background worker5257 updates the cache lifespan5258 and expired5259 is expected to be nil5260 behaves like reactive worker call5261 performs caching with correct worker5262 behaves like reactive worker call5263 performs caching with correct worker5264 #with_reactive_cache_set5265 calls with_reactive_cache5266 data returned5267 saves keys in set5268 returns the data5269 .reactive_cache_worker_finder5270 with default reactive_cache_worker_finder5271 calls the activerecord find_by method5272 with custom reactive_cache_worker_finder5273 overrides the default reactive_cache_worker_finder5274 #clear_reactive_cache!5275 is expected to be nil5276 is expected to be falsy5277 #exclusively_update_reactive_cache!5278 when the lease is free and lifetime is not exceeded5279 takes and releases the lease5280 enqueues a repeat worker5281 calls a reactive_cache_updated only once if content did not change on subsequent update5282 does not delete the value key5283 behaves like successful cache5284 caches the result of #calculate_reactive_cache5285WARNING: Using `expect { }.not_to raise_error(SpecificErrorClass)` risks false positives, since literally any other error would cause the expectation to pass, including those raised by Ruby (e.g. `NoMethodError`, `NameError` and `ArgumentError`), meaning the code you are intending to test may not even get reached. Instead consider using `expect { }.not_to raise_error` or `expect { }.to raise_error(DifferentSpecificErrorClass)`. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /builds/gitlab-org/gitlab/spec/models/concerns/reactive_caching_spec.rb:240:in `block (4 levels) in <top (required)>'.5286 does not raise the exception5287 when :external_dependency cache5288 enqueues a repeat worker5289 when reactive_cache_hard_limit is set5290 when cache size is over the overridden limit5291 raises ExceededReactiveCacheLimit exception and does not cache new data5292 when reactive_cache_limit_enabled? is overridden to return false5293 behaves like successful cache5294 caches the result of #calculate_reactive_cache5295WARNING: Using `expect { }.not_to raise_error(SpecificErrorClass)` risks false positives, since literally any other error would cause the expectation to pass, including those raised by Ruby (e.g. `NoMethodError`, `NameError` and `ArgumentError`), meaning the code you are intending to test may not even get reached. Instead consider using `expect { }.not_to raise_error` or `expect { }.to raise_error(DifferentSpecificErrorClass)`. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /builds/gitlab-org/gitlab/spec/models/concerns/reactive_caching_spec.rb:240:in `block (4 levels) in <top (required)>'.5296 does not raise the exception5297 when cache size is within the overridden limit5298 behaves like successful cache5299 caches the result of #calculate_reactive_cache5300WARNING: Using `expect { }.not_to raise_error(SpecificErrorClass)` risks false positives, since literally any other error would cause the expectation to pass, including those raised by Ruby (e.g. `NoMethodError`, `NameError` and `ArgumentError`), meaning the code you are intending to test may not even get reached. Instead consider using `expect { }.not_to raise_error` or `expect { }.to raise_error(DifferentSpecificErrorClass)`. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /builds/gitlab-org/gitlab/spec/models/concerns/reactive_caching_spec.rb:240:in `block (4 levels) in <top (required)>'.5301 does not raise the exception5302 and #calculate_reactive_cache raises an exception5303 leaves the cache untouched5304 does not enqueue a repeat worker5305 when lifetime is exceeded5306 skips the calculation5307 deletes the value key5308 when the lease is already taken5309 skips the calculation5310 default options5311 is expected to be a kind of ActiveSupport::Duration5312 is expected to be a kind of ActiveSupport::Duration5313 is expected to be a kind of ActiveSupport::Duration5314 is expected to respond to #call5315 is expected to be nil5316 is expected to respond to #call5317 classes including this concern5318 sets reactive_cache_work_type5319DeleteDiffFilesWorker5320 #perform5321 deletes all merge request diff files5322 updates state to without_files5323 resets the files_count of the diff5324 does nothing if diff was already marked as "without_files"5325WARNING: Using the `raise_error` matcher without providing a specific error or message risks false positives, since `raise_error` will match when Ruby raises a `NoMethodError`, `NameError` or `ArgumentError`, potentially allowing the expectation to pass without even executing the method you are intending to call. Actual error raised was RuntimeError. Instead consider providing a specific error class or message. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /builds/gitlab-org/gitlab/spec/workers/delete_diff_files_worker_spec.rb:40:in `block (3 levels) in <top (required)>'.5326 rollsback if something goes wrong5327Puma5328{"timestamp":"2021-03-03T12:16:45.586Z","pid":10805,"message":"Puma starting in cluster mode..."}5329{"timestamp":"2021-03-03T12:16:45.586Z","pid":10805,"message":"* Puma version: 5.1.1 (ruby 2.7.2-p137) (\"At Your Service\")"}5330{"timestamp":"2021-03-03T12:16:45.586Z","pid":10805,"message":"* Min threads: 1"}5331{"timestamp":"2021-03-03T12:16:45.586Z","pid":10805,"message":"* Max threads: 4"}5332{"timestamp":"2021-03-03T12:16:45.586Z","pid":10805,"message":"* Environment: test"}5333{"timestamp":"2021-03-03T12:16:45.586Z","pid":10805,"message":"* Master PID: 10805"}5334{"timestamp":"2021-03-03T12:16:45.586Z","pid":10805,"message":"* Workers: 1"}5335{"timestamp":"2021-03-03T12:16:45.587Z","pid":10805,"message":"* Restarts: (✔) hot (✖) phased"}5336{"timestamp":"2021-03-03T12:16:45.587Z","pid":10805,"message":"* Preloading application"}5337{"timestamp":"2021-03-03T12:16:45.603Z","pid":10805,"message":"* Listening on unix:///builds/gitlab-org/gitlab/tmp/tests/puma.socket"}5338{"timestamp":"2021-03-03T12:16:45.603Z","pid":10805,"message":"Use Ctrl-C to stop"}5339{"timestamp":"2021-03-03T12:16:45.750Z","pid":10805,"message":"! Promoting existing objects to old generation..."}5340{"timestamp":"2021-03-03T12:16:45.764Z","pid":10805,"message":"! Compacting..."}5341{"timestamp":"2021-03-03T12:16:45.799Z","pid":10805,"message":"! Friendly fork preparation complete."}5342{"timestamp":"2021-03-03T12:16:45.803Z","pid":10805,"message":"- Worker 0 (PID: 10806) booted, phase: 0"}5343{"timestamp":"2021-03-03T12:16:46.379Z","pid":10805,"message":"- Worker 0 (PID: 10813) booted, phase: 0"}5344 has a worker that self-terminates on signal SIGQUIT5345{"timestamp":"2021-03-03T12:16:47.352Z","pid":10805,"message":"- Worker 0 (PID: 10820) booted, phase: 0"}5346 has a worker that self-terminates on signal SIGTERM5347{"timestamp":"2021-03-03T12:16:48.356Z","pid":10805,"message":"- Worker 0 (PID: 10827) booted, phase: 0"}5348 has a worker that self-terminates on signal SIGKILL5349{"timestamp":"2021-03-03T12:16:48.783Z","pid":10805,"message":"- Gracefully shutting down workers..."}5350Import::GithubService5351 when remove_legacy_github_client feature flag is enabled5352 raises an exception for unknown error causes5353 do not raise an exception on input error5354 logs the original error5355 returns an error5356 repository size validation5357 when there is no repository size limit defined5358 skips the check and succeeds5359 when the target namespace repository size limit is defined5360 succeeds when the repository is smaller than the limit5361 returns error when the repository is larger than the limit5362 when target namespace repository limit is not defined5363 when application size limit is defined5364 succeeds when the repository is smaller than the limit5365 returns error when the repository is larger than the limit5366 when remove_legacy_github_client feature flag is enabled5367 raises an exception for unknown error causes5368 do not raise an exception on input error5369 logs the original error5370 returns an error5371 repository size validation5372 when there is no repository size limit defined5373 skips the check and succeeds5374 when the target namespace repository size limit is defined5375 succeeds when the repository is smaller than the limit5376 returns error when the repository is larger than the limit5377 when target namespace repository limit is not defined5378 when application size limit is defined5379 succeeds when the repository is smaller than the limit5380 returns error when the repository is larger than the limit5381Resolvers::DesignManagement::DesignsResolver5382 is expected to have nullable GraphQL type DesignConnection5383 #resolve5384 when the user cannot see designs5385 returns nothing5386 for a design collection5387 which contains just a single design5388 returns just that design5389 which contains another design5390 returns all designs5391 filtering5392 by filename5393 resolves to just the relevant design, ignoring designs with the same filename on different issues5394 by id5395 ids is provided but null5396 behaves as if unfiltered5397 ids is provided but empty5398 eliminates all values5399 the ID is on the current issue5400 resolves to just the relevant design5401 the ID is on a different issue5402 ignores it5403MergeRequests::MergeOrchestrationService5404 #execute5405 when merge request is mergeable5406 when merge request can be merged automatically5407 schedules auto merge5408 when merge request cannot be merged automatically5409 merges immediately5410 when merge request is not mergeable5411 does nothing5412 #can_merge?5413 when merge request is mergeable5414 is expected to eq true5415 when merge request is not mergeable5416 is expected to eq false5417 #preferred_auto_merge_strategy5418 when merge request can be merged automatically5419 fetches perferred auto merge strategy5420 when merge request cannot be merged automatically5421 is expected to be nil5422gitlab:git rake tasks5423 fsck5424 outputs the integrity check for a repo5425 checksum_projects5426 outputs the checksum for a repo5427 outputs blank checksum for no repo5428 outputs zeroes for empty repo5429 outputs errors5430ReleaseHighlights::Validator5431 #valid?5432 with a valid file5433 passes entries to entry validator and returns true5434 with invalid file5435 returns false and has errors5436 .validate_all!5437 with valid files5438 is expected to equal true5439 with an invalid file5440 is expected to equal false5441 .error_message5442 with a valid file5443 is expected to be empty5444 with an invalid file5445 returns a nice error message5446 when validating all files5447 they should have no errors5448Milestones::IssuesCountService5449 counts all issues including confidential5450 behaves like a counter caching service5451 #count5452 caches the count5453 #refresh_cache5454 refreshes the cache5455 #delete_cache5456 removes the cache5457 #uncached_count5458 does not cache the count5459Gitlab::Checks::DiffCheck5460 #validate!5461 when commits is empty5462 does not call find_changed_paths5463 when commits is not empty5464 when deletion is true5465 does not call find_changed_paths5466 with LFS not enabled5467 does not invoke :lfs_file_locks_validation5468 with LFS enabled5469 when change is sent by a different user5470 raises an error if the user is not allowed to update the file5471 when change is sent by the author of the lock5472 doesn't raise any error5473Gitlab::ApplicationRateLimiter5474 when the key is an array of only ActiveRecord models5475 behaves like action rate limiter5476 increases the throttle count and sets the expiration time5477 returns true if the key is throttled5478 when throttling is disabled5479 returns false and does not set expiration time5480 when they key a combination of ActiveRecord models and strings5481 behaves like action rate limiter5482 increases the throttle count and sets the expiration time5483 returns true if the key is throttled5484 when throttling is disabled5485 returns false and does not set expiration time5486 #log_request5487 without a current user5488 logs information to auth.log5489 with a current_user5490 logs information to auth.log5491Gitlab::Checks::TagCheck5492 #validate!5493 raises an error when user does not have access5494 with protected tag5495 as maintainer5496 deletion5497 is prevented5498 update5499 is prevented5500 creation5501 prevents creation below access level5502 when user has access5503 allows tag creation5504ReleasesHelper5505 #illustration5506 returns the correct image path5507 #help_page5508 returns the correct link to the help page5509 url helpers5510 #data_for_releases_page5511 includes the required data for displaying release blocks5512 when the user is allowed to create a new release5513 includes new_release_path5514 points new_release_path to the "New Release" page5515 when the "new_release_page" feature flag is disabled5516 points new_release_path to the "New Tag" page5517 #data_for_edit_release_page5518 has the needed data to display the "edit release" page5519 #data_for_new_release_page5520 has the needed data to display the "new release" page5521 #data_for_show_page5522 has the needed data to display the individual "release" page5523Gitlab::Ci::Pipeline::Chain::Build5524 sets pipeline variables5525 returns a valid pipeline5526 does not persist a pipeline5527 behaves like does not break the chain5528 returns false5529 behaves like builds pipeline5530 builds a pipeline with the expected attributes5531 when project setting restrict_user_defined_variables is enabled5532 when user is developer5533 returns an error on variables_attributes5534 behaves like breaks the chain5535 returns true5536 behaves like builds pipeline5537 builds a pipeline with the expected attributes5538 when variables_attributes is not specified5539 assigns empty variables5540 behaves like does not break the chain5541 returns false5542 behaves like builds pipeline5543 builds a pipeline with the expected attributes5544 when user is maintainer5545 assigns variables_attributes5546 behaves like does not break the chain5547 returns false5548 behaves like builds pipeline5549 builds a pipeline with the expected attributes5550 when pipeline is running for a tag5551 correctly indicated that this is a tagged pipeline5552 when pipeline is running for a merge request5553 correctly indicated that this is a merge request pipeline5554 correctly sets souce sha and target sha to pipeline5555 when pipeline is running for an external pull request5556 correctly indicated that this is an external pull request pipeline5557 correctly sets source sha and target sha to pipeline5558 when keep_latest_artifact is set5559 keep_latest_artifact: true, locking_result: "artifacts_locked"5560 builds a pipeline with appropriate locked value5561 keep_latest_artifact: false, locking_result: "unlocked"5562 builds a pipeline with appropriate locked value5563ContainerRegistry::Client5564 #repository_manifest5565 behaves like handling repository manifest5566 GET /v2/:name/manifests/mytag5567 behaves like handling timeouts5568 handles network timeouts5569 logs the error5570 behaves like handling repository manifest5571 GET /v2/:name/manifests/mytag5572 behaves like handling timeouts5573 handles network timeouts5574 logs the error5575 #blob5576 GET /v2/:name/blobs/:digest5577 follows 307 redirect for GET /v2/:name/blobs/:digest5578 behaves like handling timeouts5579 handles network timeouts5580 logs the error5581 #upload_blob5582 with successful uploads5583 starts the upload and posts the blob5584 with a failed upload5585 returns a failure5586 #generate_empty_manifest5587 uploads a random image and returns the manifest5588 when upload fails5589 is expected to equal nil5590 #put_tag5591 uploads the manifest and returns the digest5592 #delete_repository_tag_by_name5593 when the tag exists5594 is expected to be truthy5595 when the tag does not exist5596 is expected to be truthy5597 when an error occurs5598 is expected to be falsey5599 #supports_tag_delete?5600 registry_tags_support_enabled: true, is_on_dot_com: true, container_registry_features: ["tag_delete"], expect_registry_to_be_pinged: false, expected_result: true5601 returns the expected result5602 registry_tags_support_enabled: true, is_on_dot_com: false, container_registry_features: ["tag_delete"], expect_registry_to_be_pinged: true, expected_result: true5603 returns the expected result5604 registry_tags_support_enabled: true, is_on_dot_com: true, container_registry_features: [], expect_registry_to_be_pinged: true, expected_result: true5605 returns the expected result5606 registry_tags_support_enabled: true, is_on_dot_com: false, container_registry_features: [], expect_registry_to_be_pinged: true, expected_result: true5607 returns the expected result5608 registry_tags_support_enabled: false, is_on_dot_com: true, container_registry_features: ["tag_delete"], expect_registry_to_be_pinged: false, expected_result: true5609 returns the expected result5610 registry_tags_support_enabled: false, is_on_dot_com: false, container_registry_features: ["tag_delete"], expect_registry_to_be_pinged: true, expected_result: false5611 returns the expected result5612 registry_tags_support_enabled: false, is_on_dot_com: true, container_registry_features: [], expect_registry_to_be_pinged: true, expected_result: false5613 returns the expected result5614 registry_tags_support_enabled: false, is_on_dot_com: false, container_registry_features: [], expect_registry_to_be_pinged: true, expected_result: false5615 returns the expected result5616 #registry_info5617 when the check is successful5618 when using the GitLab container registry5619 identifies the vendor as "gitlab"5620 identifies version and features5621 when using a third-party container registry5622 identifies the vendor as "other"5623 does not identify version or features5624 when the check is not successful5625 does not identify vendor, version or features5626 .supports_tag_delete?5627 registry_api_url: "http://sandbox.local", registry_enabled: true, registry_tags_support_enabled: true, is_on_dot_com: true, container_registry_features: ["tag_delete"], expect_registry_to_be_pinged: false, expected_result: true5628 returns the expected result5629 registry_api_url: "http://sandbox.local", registry_enabled: true, registry_tags_support_enabled: true, is_on_dot_com: false, container_registry_features: ["tag_delete"], expect_registry_to_be_pinged: true, expected_result: true5630 returns the expected result5631 registry_api_url: "http://sandbox.local", registry_enabled: true, registry_tags_support_enabled: false, is_on_dot_com: true, container_registry_features: ["tag_delete"], expect_registry_to_be_pinged: false, expected_result: true5632 returns the expected result5633 registry_api_url: "http://sandbox.local", registry_enabled: true, registry_tags_support_enabled: false, is_on_dot_com: false, container_registry_features: ["tag_delete"], expect_registry_to_be_pinged: true, expected_result: false5634 returns the expected result5635 registry_api_url: "http://sandbox.local", registry_enabled: false, registry_tags_support_enabled: true, is_on_dot_com: true, container_registry_features: ["tag_delete"], expect_registry_to_be_pinged: false, expected_result: false5636 returns the expected result5637 registry_api_url: "http://sandbox.local", registry_enabled: false, registry_tags_support_enabled: true, is_on_dot_com: false, container_registry_features: ["tag_delete"], expect_registry_to_be_pinged: false, expected_result: false5638 returns the expected result5639 registry_api_url: "http://sandbox.local", registry_enabled: false, registry_tags_support_enabled: false, is_on_dot_com: true, container_registry_features: ["tag_delete"], expect_registry_to_be_pinged: false, expected_result: false5640 returns the expected result5641 registry_api_url: "http://sandbox.local", registry_enabled: false, registry_tags_support_enabled: false, is_on_dot_com: false, container_registry_features: ["tag_delete"], expect_registry_to_be_pinged: false, expected_result: false5642 returns the expected result5643 registry_api_url: "http://sandbox.local", registry_enabled: true, registry_tags_support_enabled: true, is_on_dot_com: true, container_registry_features: [], expect_registry_to_be_pinged: true, expected_result: true5644 returns the expected result5645 registry_api_url: "http://sandbox.local", registry_enabled: true, registry_tags_support_enabled: true, is_on_dot_com: false, container_registry_features: [], expect_registry_to_be_pinged: true, expected_result: true5646 returns the expected result5647 registry_api_url: "http://sandbox.local", registry_enabled: true, registry_tags_support_enabled: false, is_on_dot_com: true, container_registry_features: [], expect_registry_to_be_pinged: true, expected_result: false5648 returns the expected result5649 registry_api_url: "http://sandbox.local", registry_enabled: true, registry_tags_support_enabled: false, is_on_dot_com: false, container_registry_features: [], expect_registry_to_be_pinged: true, expected_result: false5650 returns the expected result5651 registry_api_url: "http://sandbox.local", registry_enabled: false, registry_tags_support_enabled: true, is_on_dot_com: true, container_registry_features: [], expect_registry_to_be_pinged: false, expected_result: false5652 returns the expected result5653 registry_api_url: "http://sandbox.local", registry_enabled: false, registry_tags_support_enabled: true, is_on_dot_com: false, container_registry_features: [], expect_registry_to_be_pinged: false, expected_result: false5654 returns the expected result5655 registry_api_url: "http://sandbox.local", registry_enabled: false, registry_tags_support_enabled: false, is_on_dot_com: true, container_registry_features: [], expect_registry_to_be_pinged: false, expected_result: false5656 returns the expected result5657 registry_api_url: "http://sandbox.local", registry_enabled: false, registry_tags_support_enabled: false, is_on_dot_com: false, container_registry_features: [], expect_registry_to_be_pinged: false, expected_result: false5658 returns the expected result5659 registry_api_url: "", registry_enabled: true, registry_tags_support_enabled: true, is_on_dot_com: true, container_registry_features: ["tag_delete"], expect_registry_to_be_pinged: false, expected_result: false5660 returns the expected result5661 registry_api_url: "", registry_enabled: true, registry_tags_support_enabled: true, is_on_dot_com: false, container_registry_features: ["tag_delete"], expect_registry_to_be_pinged: false, expected_result: false5662 returns the expected result5663 registry_api_url: "", registry_enabled: true, registry_tags_support_enabled: false, is_on_dot_com: true, container_registry_features: ["tag_delete"], expect_registry_to_be_pinged: false, expected_result: false5664 returns the expected result5665 registry_api_url: "", registry_enabled: true, registry_tags_support_enabled: false, is_on_dot_com: false, container_registry_features: ["tag_delete"], expect_registry_to_be_pinged: false, expected_result: false5666 returns the expected result5667 registry_api_url: "", registry_enabled: false, registry_tags_support_enabled: true, is_on_dot_com: true, container_registry_features: ["tag_delete"], expect_registry_to_be_pinged: false, expected_result: false5668 returns the expected result5669 registry_api_url: "", registry_enabled: false, registry_tags_support_enabled: true, is_on_dot_com: false, container_registry_features: ["tag_delete"], expect_registry_to_be_pinged: false, expected_result: false5670 returns the expected result5671 registry_api_url: "", registry_enabled: false, registry_tags_support_enabled: false, is_on_dot_com: true, container_registry_features: ["tag_delete"], expect_registry_to_be_pinged: false, expected_result: false5672 returns the expected result5673 registry_api_url: "", registry_enabled: false, registry_tags_support_enabled: false, is_on_dot_com: false, container_registry_features: ["tag_delete"], expect_registry_to_be_pinged: false, expected_result: false5674 returns the expected result5675 registry_api_url: "", registry_enabled: true, registry_tags_support_enabled: true, is_on_dot_com: true, container_registry_features: [], expect_registry_to_be_pinged: false, expected_result: false5676 returns the expected result5677 registry_api_url: "", registry_enabled: true, registry_tags_support_enabled: true, is_on_dot_com: false, container_registry_features: [], expect_registry_to_be_pinged: false, expected_result: false5678 returns the expected result5679 registry_api_url: "", registry_enabled: true, registry_tags_support_enabled: false, is_on_dot_com: true, container_registry_features: [], expect_registry_to_be_pinged: false, expected_result: false5680 returns the expected result5681 registry_api_url: "", registry_enabled: true, registry_tags_support_enabled: false, is_on_dot_com: false, container_registry_features: [], expect_registry_to_be_pinged: false, expected_result: false5682 returns the expected result5683 registry_api_url: "", registry_enabled: false, registry_tags_support_enabled: true, is_on_dot_com: true, container_registry_features: [], expect_registry_to_be_pinged: false, expected_result: false5684 returns the expected result5685 registry_api_url: "", registry_enabled: false, registry_tags_support_enabled: true, is_on_dot_com: false, container_registry_features: [], expect_registry_to_be_pinged: false, expected_result: false5686 returns the expected result5687 registry_api_url: "", registry_enabled: false, registry_tags_support_enabled: false, is_on_dot_com: true, container_registry_features: [], expect_registry_to_be_pinged: false, expected_result: false5688 returns the expected result5689 registry_api_url: "", registry_enabled: false, registry_tags_support_enabled: false, is_on_dot_com: false, container_registry_features: [], expect_registry_to_be_pinged: false, expected_result: false5690 returns the expected result5691Gitlab::Email::Smime::Certificate5692 testing environment setup5693 generate_root5694 generates a root CA that expires a long way in the future5695 generate_intermediate5696 generates an intermediate CA that expires a long way in the future5697 generates an intermediate CA properly signed by the root CA5698 generate_cert5699 generates a cert properly signed by the intermediate CA5700 generates a cert that expires soon5701 generates a cert intended for email signing5702 passing in INFINITE_EXPIRY5703 generates a cert that expires a long way in the future5704 .from_strings5705 parses correctly a certificate and key5706 .from_files5707 parses correctly a certificate and key5708 with optional ca_certs5709 parses correctly certificate, key and ca_certs5710 with no intermediate CA5711 parses correctly a certificate and key5712Ci::ArchiveTraceService#execute5713 when job is finished5714 creates an archived trace5715 when trace is already archived5716 ignores an exception5717 does not create an archived trace5718 when job does not have trace5719 leaves a warning message in sidekiq log5720 when job failed to archive trace but did not raise an exception5721 leaves a warning message in sidekiq log5722 when job is running5723 increments Prometheus counter, sends crash report to Sentry and ignore an error for continuing to archive5724FreezePeriodsFinder5725 when user is a maintainer5726 behaves like returns freeze_periods ordered by created_at asc5727 returns freeze_periods ordered by created_at5728 when user is a guest5729 behaves like returns nothing5730 is expected to be empty5731 when user is a developer5732 behaves like returns nothing5733 is expected to be empty5734 when user is not a project member5735 behaves like returns nothing5736 is expected to be empty5737 when project is public5738 behaves like returns nothing5739 is expected to be empty5740Managed-Cluster-Applications.gitlab-ci.yml5741 the created pipeline5742 for a default branch5743 creates a apply job5744 outside of default branch5745 has no jobs5746Gitlab::Auth::Ldap::Access5747 .allowed?5748 updates the user's `last_credential_check_at`5749 does not update user's `last_credential_check_at` when in a read-only GitLab instance5750 #allowed?5751 when the user cannot be found5752 returns false5753 blocks user in GitLab5754 logs the reason5755 when the user is found5756 and the user is disabled via active directory5757 returns false5758 blocks user in GitLab5759 logs the reason5760 and has no disabled flag in active directory5761 is expected to be truthy5762 when auto-created users are blocked5763 does not unblock user in GitLab5764 when auto-created users are not blocked5765 unblocks user in GitLab5766 logs the reason5767 without ActiveDirectory enabled5768 returns true5769 when user cannot be found5770 returns false5771 blocks user in GitLab5772 logs the reason5773 when user was previously ldap_blocked5774 unblocks the user if it exists5775 logs the reason5776 when the connection fails5777 does not block the user5778 denies access5779InvalidGpgSignatureUpdateWorker5780 when GpgKey is found5781 calls NotificationService.new.run5782 when GpgKey is not found5783 does not raise errors5784 does not call NotificationService.new.run5785Gitlab::Metrics::Prometheus5786 #reset_registry!5787 clears existing metrics5788 #error_detected!5789 disables Prometheus metrics5790PagesDomains::CreateAcmeOrderService5791 saves order to database before requesting validation5792 generates and saves private key5793 properly saves order attributes5794 properly saves challenge attributes5795Metrics::Dashboard::GitlabAlertEmbedService5796 .valid_params?5797 is expected to be truthy5798 missing embedded5799 is expected to be falsey5800 not embedded5801 is expected to be falsey5802 missing alert id5803 is expected to be falsey5804 missing alert id5805 is expected to be falsey5806 #get_dashboard5807 when alerting is available5808 generates an panel based on the alert5809 does not cache the unprocessed dashboard5810 behaves like valid embedded dashboard service response5811 behaves like valid dashboard service response for schema5812 returns a json representation of the dashboard5813 behaves like raises error for users with insufficient permissions5814 when the user does not have sufficient access5815 behaves like misconfigured dashboard service response5816 returns an appropriate message and status code5817 when the user is anonymous5818 behaves like misconfigured dashboard service response5819 returns an appropriate message and status code5820 when the metric does not exist5821 behaves like misconfigured dashboard service response5822 returns an appropriate message and status code5823Ci::ResourceGroups::AssignResourceFromResourceGroupService5824 #execute5825 when there is an available resource5826 requests resource5827 when failed to request resource5828 has a build waiting for resource5829 when the build has already retained a resource5830 has a pending build5831 when there are no available resources5832 does not request resource5833DesignManagement::Repository5834 #info_attributes5835 is expected to eql {"diff"=>"lfs", "filter"=>"lfs", "merge"=>"lfs", "text"=>false}5836 #attributes_at5837 is expected to eql {"diff"=>"lfs", "filter"=>"lfs", "merge"=>"lfs", "text"=>false}5838 #gitattribute5839 returns a gitattribute when path has gitattributes5840 returns nil when path has no gitattributes5841 #copy_gitattributes5842 always returns regardless of whether given a valid or invalid ref5843 #attributes5844 confirms that all files are LFS enabled5845projects/notes/_more_actions_dropdown5846 shows Report abuse to admin button if not editable and not current users comment5847 does not show the More actions button if not editable and current users comment5848 shows Report abuse to admin and Delete buttons if editable and not current users comment5849 shows Delete button if editable and current users comment5850Projects::CreateFromTemplateService5851 calls the importer service5852 returns the project that is created5853 when template is not present5854 does not set import set import type5855 does not set import set import source5856 is not scheduled5857 repository is empty5858 the result project5859 overrides template description5860 overrides template visibility_level5861Operations::FeatureFlags::Strategy5862 validations5863 is expected to validate that :name is either ‹"default"›, ‹"gradualRolloutUserId"›, ‹"flexibleRollout"›, ‹"userWithId"›, or ‹"gitlabUserList"›, producing a custom validation error on failure5864 parameters5865 when the strategy name is invalid5866 invalid_name: nil5867 skips parameters validation5868 invalid_name: {}5869 skips parameters validation5870 invalid_name: []5871 skips parameters validation5872 invalid_name: "nothing"5873 skips parameters validation5874 invalid_name: 35875 skips parameters validation5876 when the strategy name is gradualRolloutUserId5877 allows the parameters in any order5878 invalid_parameters: nil5879 must have valid parameters for the strategy5880 invalid_parameters: {}5881 must have valid parameters for the strategy5882 invalid_parameters: {:percentage=>"40", :groupId=>"mygroup", :userIds=>"4"}5883 must have valid parameters for the strategy5884 invalid_parameters: {:percentage=>"40"}5885 must have valid parameters for the strategy5886 invalid_parameters: {:percentage=>"40", :groupId=>"mygroup", :extra=>nil}5887 must have valid parameters for the strategy5888 invalid_parameters: {:groupId=>"mygroup"}5889 must have valid parameters for the strategy5890 percentage5891 invalid_value: 505892 must be a string value between 0 and 100 inclusive and without a percentage sign5893 invalid_value: 40.05894 must be a string value between 0 and 100 inclusive and without a percentage sign5895 invalid_value: {:key=>"value"}5896 must be a string value between 0 and 100 inclusive and without a percentage sign5897 invalid_value: "garbage"5898 must be a string value between 0 and 100 inclusive and without a percentage sign5899 invalid_value: "101"5900 must be a string value between 0 and 100 inclusive and without a percentage sign5901 invalid_value: "-1"5902 must be a string value between 0 and 100 inclusive and without a percentage sign5903 invalid_value: "-10"5904 must be a string value between 0 and 100 inclusive and without a percentage sign5905 invalid_value: "1000"5906 must be a string value between 0 and 100 inclusive and without a percentage sign5907 invalid_value: "10.0"5908 must be a string value between 0 and 100 inclusive and without a percentage sign5909 invalid_value: "5%"5910 must be a string value between 0 and 100 inclusive and without a percentage sign5911 invalid_value: "25%"5912 must be a string value between 0 and 100 inclusive and without a percentage sign5913 invalid_value: "100hi"5914 must be a string value between 0 and 100 inclusive and without a percentage sign5915 invalid_value: "e100"5916 must be a string value between 0 and 100 inclusive and without a percentage sign5917 invalid_value: "30m"5918 must be a string value between 0 and 100 inclusive and without a percentage sign5919 invalid_value: " "5920 must be a string value between 0 and 100 inclusive and without a percentage sign5921 invalid_value: "\r\n"5922 must be a string value between 0 and 100 inclusive and without a percentage sign5923 invalid_value: "\n"5924 must be a string value between 0 and 100 inclusive and without a percentage sign5925 invalid_value: "\t"5926 must be a string value between 0 and 100 inclusive and without a percentage sign5927 invalid_value: "\n10"5928 must be a string value between 0 and 100 inclusive and without a percentage sign5929 invalid_value: "20\n"5930 must be a string value between 0 and 100 inclusive and without a percentage sign5931 invalid_value: "\n100"5932 must be a string value between 0 and 100 inclusive and without a percentage sign5933 invalid_value: "100\n"5934 must be a string value between 0 and 100 inclusive and without a percentage sign5935 invalid_value: "\n "5936 must be a string value between 0 and 100 inclusive and without a percentage sign5937 invalid_value: nil5938 must be a string value between 0 and 100 inclusive and without a percentage sign5939 valid_value: "0"5940 must be a string value between 0 and 100 inclusive and without a percentage sign5941 valid_value: "1"5942 must be a string value between 0 and 100 inclusive and without a percentage sign5943 valid_value: "10"5944 must be a string value between 0 and 100 inclusive and without a percentage sign5945 valid_value: "38"5946 must be a string value between 0 and 100 inclusive and without a percentage sign5947 valid_value: "100"5948 must be a string value between 0 and 100 inclusive and without a percentage sign5949 valid_value: "93"5950 must be a string value between 0 and 100 inclusive and without a percentage sign5951 groupId5952 invalid_value: nil5953 must be a string value of up to 32 lowercase characters5954 invalid_value: 45955 must be a string value of up to 32 lowercase characters5956 invalid_value: 50.05957 must be a string value of up to 32 lowercase characters5958 invalid_value: {}5959 must be a string value of up to 32 lowercase characters5960 invalid_value: "spaces bad"5961 must be a string value of up to 32 lowercase characters5962 invalid_value: "bad$"5963 must be a string value of up to 32 lowercase characters5964 invalid_value: "%bad"5965 must be a string value of up to 32 lowercase characters5966 invalid_value: "<bad"5967 must be a string value of up to 32 lowercase characters5968 invalid_value: "bad>"5969 must be a string value of up to 32 lowercase characters5970 invalid_value: "!bad"5971 must be a string value of up to 32 lowercase characters5972 invalid_value: ".bad"5973 must be a string value of up to 32 lowercase characters5974 invalid_value: "Bad"5975 must be a string value of up to 32 lowercase characters5976 invalid_value: "bad1"5977 must be a string value of up to 32 lowercase characters5978 invalid_value: ""5979 must be a string value of up to 32 lowercase characters5980 invalid_value: " "5981 must be a string value of up to 32 lowercase characters5982 invalid_value: "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"5983 must be a string value of up to 32 lowercase characters5984 invalid_value: "ba_d"5985 must be a string value of up to 32 lowercase characters5986 invalid_value: "ba\nd"5987 must be a string value of up to 32 lowercase characters5988 valid_value: "somegroup"5989 must be a string value of up to 32 lowercase characters5990 valid_value: "anothergroup"5991 must be a string value of up to 32 lowercase characters5992 valid_value: "okay"5993 must be a string value of up to 32 lowercase characters5994 valid_value: "g"5995 must be a string value of up to 32 lowercase characters5996 valid_value: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"5997 must be a string value of up to 32 lowercase characters5998 when the strategy name is flexibleRollout5999 allows the parameters in the order rollout, stickiness, groupId6000 allows the parameters in the order rollout, groupId, stickiness6001 allows the parameters in the order stickiness, rollout, groupId6002 allows the parameters in the order stickiness, groupId, rollout6003 allows the parameters in the order groupId, rollout, stickiness6004 allows the parameters in the order groupId, stickiness, rollout6005 invalid_parameters: nil6006 must have valid parameters for the strategy6007 invalid_parameters: {}6008 must have valid parameters for the strategy6009 invalid_parameters: {:rollout=>"40"}6010 must have valid parameters for the strategy6011 invalid_parameters: {:groupId=>"mygroup"}6012 must have valid parameters for the strategy6013 invalid_parameters: {:stickiness=>"DEFAULT"}6014 must have valid parameters for the strategy6015 invalid_parameters: {:rollout=>"40", :groupId=>"mygroup"}6016 must have valid parameters for the strategy6017 invalid_parameters: {:rollout=>"40", :stickiness=>"DEFAULT"}6018 must have valid parameters for the strategy6019 invalid_parameters: {:groupId=>"mygroup", :stickiness=>"DEFAULT"}6020 must have valid parameters for the strategy6021 invalid_parameters: {:rollout=>"40", :groupId=>"mygroup", :stickiness=>"DEFAULT", :userIds=>"4"}6022 must have valid parameters for the strategy6023 invalid_parameters: {:rollout=>"40", :groupId=>"mygroup", :stickiness=>"DEFAULT", :extra=>nil}6024 must have valid parameters for the strategy6025 rollout6026 invalid_value: 506027 must be a string value between 0 and 100 inclusive and without a percentage sign6028 invalid_value: 40.06029 must be a string value between 0 and 100 inclusive and without a percentage sign6030 invalid_value: {:key=>"value"}6031 must be a string value between 0 and 100 inclusive and without a percentage sign6032 invalid_value: "garbage"6033 must be a string value between 0 and 100 inclusive and without a percentage sign6034 invalid_value: "101"6035 must be a string value between 0 and 100 inclusive and without a percentage sign6036 invalid_value: "-1"6037 must be a string value between 0 and 100 inclusive and without a percentage sign6038 invalid_value: " "6039 must be a string value between 0 and 100 inclusive and without a percentage sign6040 invalid_value: "-10"6041 must be a string value between 0 and 100 inclusive and without a percentage sign6042 invalid_value: "1000"6043 must be a string value between 0 and 100 inclusive and without a percentage sign6044 invalid_value: "10.0"6045 must be a string value between 0 and 100 inclusive and without a percentage sign6046 invalid_value: "5%"6047 must be a string value between 0 and 100 inclusive and without a percentage sign6048 invalid_value: "25%"6049 must be a string value between 0 and 100 inclusive and without a percentage sign6050 invalid_value: "100hi"6051 must be a string value between 0 and 100 inclusive and without a percentage sign6052 invalid_value: "e100"6053 must be a string value between 0 and 100 inclusive and without a percentage sign6054 invalid_value: "30m"6055 must be a string value between 0 and 100 inclusive and without a percentage sign6056 invalid_value: "\r\n"6057 must be a string value between 0 and 100 inclusive and without a percentage sign6058 invalid_value: "\n"6059 must be a string value between 0 and 100 inclusive and without a percentage sign6060 invalid_value: "\t"6061 must be a string value between 0 and 100 inclusive and without a percentage sign6062 invalid_value: "\n10"6063 must be a string value between 0 and 100 inclusive and without a percentage sign6064 invalid_value: "20\n"6065 must be a string value between 0 and 100 inclusive and without a percentage sign6066 invalid_value: "\n100"6067 must be a string value between 0 and 100 inclusive and without a percentage sign6068 invalid_value: "100\n"6069 must be a string value between 0 and 100 inclusive and without a percentage sign6070 invalid_value: "\n "6071 must be a string value between 0 and 100 inclusive and without a percentage sign6072 invalid_value: nil6073 must be a string value between 0 and 100 inclusive and without a percentage sign6074 valid_value: "0"6075 must be a string value between 0 and 100 inclusive and without a percentage sign6076 valid_value: "1"6077 must be a string value between 0 and 100 inclusive and without a percentage sign6078 valid_value: "10"6079 must be a string value between 0 and 100 inclusive and without a percentage sign6080 valid_value: "38"6081 must be a string value between 0 and 100 inclusive and without a percentage sign6082 valid_value: "100"6083 must be a string value between 0 and 100 inclusive and without a percentage sign6084 valid_value: "93"6085 must be a string value between 0 and 100 inclusive and without a percentage sign6086 groupId6087 invalid_value: nil6088 must be a string value of up to 32 lowercase characters6089 invalid_value: 46090 must be a string value of up to 32 lowercase characters6091 invalid_value: 50.06092 must be a string value of up to 32 lowercase characters6093 invalid_value: {}6094 must be a string value of up to 32 lowercase characters6095 invalid_value: "spaces bad"6096 must be a string value of up to 32 lowercase characters6097 invalid_value: "bad$"6098 must be a string value of up to 32 lowercase characters6099 invalid_value: "%bad"6100 must be a string value of up to 32 lowercase characters6101 invalid_value: "<bad"6102 must be a string value of up to 32 lowercase characters6103 invalid_value: "bad>"6104 must be a string value of up to 32 lowercase characters6105 invalid_value: "!bad"6106 must be a string value of up to 32 lowercase characters6107 invalid_value: ".bad"6108 must be a string value of up to 32 lowercase characters6109 invalid_value: "Bad"6110 must be a string value of up to 32 lowercase characters6111 invalid_value: "bad1"6112 must be a string value of up to 32 lowercase characters6113 invalid_value: ""6114 must be a string value of up to 32 lowercase characters6115 invalid_value: " "6116 must be a string value of up to 32 lowercase characters6117 invalid_value: "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"6118 must be a string value of up to 32 lowercase characters6119 invalid_value: "ba_d"6120 must be a string value of up to 32 lowercase characters6121 invalid_value: "ba\nd"6122 must be a string value of up to 32 lowercase characters6123 valid_value: "somegroup"6124 must be a string value of up to 32 lowercase characters6125 valid_value: "anothergroup"6126 must be a string value of up to 32 lowercase characters6127 valid_value: "okay"6128 must be a string value of up to 32 lowercase characters6129 valid_value: "g"6130 must be a string value of up to 32 lowercase characters6131 valid_value: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"6132 must be a string value of up to 32 lowercase characters6133 stickiness6134 invalid_value: nil6135 must be a string representing a supported stickiness setting6136 invalid_value: " "6137 must be a string representing a supported stickiness setting6138 invalid_value: "default"6139 must be a string representing a supported stickiness setting6140 invalid_value: "DEFAULT\n"6141 must be a string representing a supported stickiness setting6142 invalid_value: "UserId"6143 must be a string representing a supported stickiness setting6144 invalid_value: "USER"6145 must be a string representing a supported stickiness setting6146 invalid_value: "USERID "6147 must be a string representing a supported stickiness setting6148 valid_value: "DEFAULT"6149 must be a string representing a supported stickiness setting6150 valid_value: "USERID"6151 must be a string representing a supported stickiness setting6152 valid_value: "SESSIONID"6153 must be a string representing a supported stickiness setting6154 valid_value: "RANDOM"6155 must be a string representing a supported stickiness setting6156 when the strategy name is userWithId6157 invalid_parameters: nil6158 must have valid parameters for the strategy6159 invalid_parameters: {:userIds=>"sam", :percentage=>"40"}6160 must have valid parameters for the strategy6161 invalid_parameters: {:userIds=>"sam", :some=>"param"}6162 must have valid parameters for the strategy6163 invalid_parameters: {:percentage=>"40"}6164 must have valid parameters for the strategy6165 invalid_parameters: {}6166 must have valid parameters for the strategy6167 userIds6168 valid_value: ""6169 is valid with a string of comma separated values6170 valid_value: "sam"6171 is valid with a string of comma separated values6172 valid_value: "1"6173 is valid with a string of comma separated values6174 valid_value: "a"6175 is valid with a string of comma separated values6176 valid_value: "uuid-of-some-kind"6177 is valid with a string of comma separated values6178 valid_value: "sam,fred,tom,jane,joe,mike"6179 is valid with a string of comma separated values6180 valid_value: "gitlab@example.com"6181 is valid with a string of comma separated values6182 valid_value: "123,4"6183 is valid with a string of comma separated values6184 valid_value: "UPPER,Case,charActeRS"6185 is valid with a string of comma separated values6186 valid_value: "0"6187 is valid with a string of comma separated values6188 valid_value: "$valid$email#2345\#$%..{}+=-)?\\/@example.com"6189 is valid with a string of comma separated values6190 valid_value: "spaces allowed"6191 is valid with a string of comma separated values6192 valid_value: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"6193 is valid with a string of comma separated values6194 valid_value: "a,bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb,ccc"6195 is valid with a string of comma separated values6196 valid_value: "many spaces"6197 is valid with a string of comma separated values6198 invalid_value: 16199 is invalid6200 invalid_value: 2.56201 is invalid6202 invalid_value: {}6203 is invalid6204 invalid_value: []6205 is invalid6206 invalid_value: nil6207 is invalid6208 invalid_value: "123\n456"6209 is invalid6210 invalid_value: "1,2,3,12\t3"6211 is invalid6212 invalid_value: "\n"6213 is invalid6214 invalid_value: "\n\r"6215 is invalid6216 invalid_value: "joe\r,sam"6217 is invalid6218 invalid_value: "1,2,2"6219 is invalid6220 invalid_value: "1,,2"6221 is invalid6222 invalid_value: "1,2,,,,"6223 is invalid6224 invalid_value: "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"6225 is invalid6226 invalid_value: "1, ,2"6227 is invalid6228 invalid_value: "tim, ,7"6229 is invalid6230 invalid_value: " "6231 is invalid6232 invalid_value: " "6233 is invalid6234 invalid_value: " ,1"6235 is invalid6236 invalid_value: "1, "6237 is invalid6238 invalid_value: " leading,1"6239 is invalid6240 invalid_value: "1,trailing "6241 is invalid6242 invalid_value: "1, both ,2"6243 is invalid6244 when the strategy name is default6245 must be empty6246 invalid_value: {:groupId=>"hi", :percentage=>"7"}6247 must be empty6248 invalid_value: ""6249 must be empty6250 invalid_value: "nothing"6251 must be empty6252 invalid_value: 76253 must be empty6254 invalid_value: nil6255 must be empty6256 invalid_value: []6257 must be empty6258 invalid_value: 2.56259 must be empty6260 when the strategy name is gitlabUserList6261 must be empty6262 invalid_value: {:groupId=>"default", :percentage=>"7"}6263 must be empty6264 invalid_value: ""6265 must be empty6266 invalid_value: "nothing"6267 must be empty6268 invalid_value: 76269 must be empty6270 invalid_value: nil6271 must be empty6272 invalid_value: []6273 must be empty6274 invalid_value: 2.56275 must be empty6276 invalid_value: {:userIds=>"user1"}6277 must be empty6278 associations6279 when name is gitlabUserList6280 is valid when associated with a user list6281 is invalid without a user list6282 is invalid when associated with a user list from another project6283 when name is default6284 is invalid when associated with a user list6285 is valid without a user list6286 when name is userWithId6287 is invalid when associated with a user list6288 is valid without a user list6289 when name is gradualRolloutUserId6290 is invalid when associated with a user list6291 is valid without a user list6292 when name is flexibleRollout6293 is invalid when associated with a user list6294 is valid without a user list6295RebaseWorker#perform6296 when rebasing an MR from a fork where upstream has protected branches6297 sets the correct project for running hooks6298NewNoteWorker6299 when Note found6300 calls NotificationService#new_note6301 calls Notes::PostProcessService#execute6302 when Note not found6303 logs NewNoteWorker process skipping6304 does not raise errors6305 does not call NotificationService6306 does not call Notes::PostProcessService6307 when note does not require notification6308 does not create a new note notification6309 when Note author has been blocked6310 does not call NotificationService6311 when Note author has been deleted6312 does not call NotificationService6313Gitlab::DatabaseImporters::SelfMonitoring::Project::DeleteService6314 #execute6315 when project does not exist6316 returns error6317 when self monitoring project exists6318 destroys project6319 deletes project ID from application settings6320 does not delete group6321projects/issues/import_csv/_button6322 when the user does not have edit permissions6323 shows a dropdown button to import CSV6324 does not show a button to import from Jira6325 when the user has edit permissions6326 shows a dropdown button to import CSV6327 shows a button to import from Jira6328Gitlab::GithubImport::StageMethods6329 #perform6330 returns if no project could be found6331 imports the data when the project exists6332 logs error when import fails6333 #try_import6334 imports the project6335 reschedules the worker if RateLimitError was raised6336 #find_project6337 returns a Project for an existing ID6338 returns nil for a project that failed importing6339 returns nil for a non-existing project ID6340FeatureFlagSerializer6341 #represent6342 includes feature flag attributes6343BlobViewer::Readme6344 #render_error6345 when there is no wiki6346 returns :no_wiki6347 when there is an external wiki6348 returns nil6349 when there is a local wiki6350 when the wiki is empty6351 returns :no_wiki6352 when the wiki is not empty6353 returns nil6354Mutations::ContainerRepositories::DestroyTags6355 is expected to require graphql authorizations :destroy_container_image6356 #resolve6357 with valid id6358 user_role: :maintainer, shared_examples_name: "destroying container repository tags"6359 behaves like destroying container repository tags6360 destroys the container repository tags6361 creates a package event6362 user_role: :developer, shared_examples_name: "destroying container repository tags"6363 behaves like destroying container repository tags6364 destroys the container repository tags6365 creates a package event6366 user_role: :reporter, shared_examples_name: "denying access to container respository"6367 behaves like denying access to container respository6368 raises an error6369 user_role: :guest, shared_examples_name: "denying access to container respository"6370 behaves like denying access to container respository6371 raises an error6372 user_role: :anonymous, shared_examples_name: "denying access to container respository"6373 behaves like denying access to container respository6374 raises an error6375 with invalid id6376 behaves like denying access to container respository6377 raises an error6378 with service error6379 is expected to eq {:deleted_tag_names=>[], :errors=>["could not delete tags"]}6380 does not create a package event6381BlobViewer::License6382 #license6383 returns the blob project repository license6384 #render_error6385 when there is no license6386 returns :unknown_license6387 when there is a license6388 returns nil6389Ci::PipelineArtifacts::CreateQualityReportWorker6390 #perform6391 when pipeline exists6392 calls pipeline codequality report service6393 behaves like an idempotent worker6394 is labeled as idempotent6395 performs multiple times sequentially without raising an exception6396 creates a pipeline artifact6397 when pipeline does not exist6398 does not call pipeline codequality report service6399Gitlab::ImportExport::Shared6400 with a repository on disk6401 #archive_path6402 uses a random hash to avoid conflicts6403 memoizes the path6404 #export_path6405 uses a random hash relative to project path6406 memoizes the path6407 #error6408 filters any full paths6409 updates the import JID6410DeploymentCluster6411 is expected to belong to deployment required: true6412 is expected to belong to cluster required: true6413 is expected to have attributes {:cluster_id => 13, :deployment_id => 21, :kubernetes_namespace => "an-example-namespace"}6414Gitlab::JiraImport6415 .validate_project_settings!6416 without user param6417 behaves like jira configuration base checks6418 with configuration_check set to false6419 does not raise Jira integration error6420 when Jira service was not setup6421 behaves like raise Jira import error6422 returns error6423 when Jira service exists6424 when Jira connection is not valid6425 behaves like raise Jira import error6426 returns error6427 when jira connection is valid6428 does not return any error6429 with user param provided6430 when user has permission to run import6431 behaves like jira configuration base checks6432 with configuration_check set to false6433 does not raise Jira integration error6434 when Jira service was not setup6435 behaves like raise Jira import error6436 returns error6437 when Jira service exists6438 when Jira connection is not valid6439 behaves like raise Jira import error6440 returns error6441 when jira service is configured6442 when issues feature is disabled6443 behaves like raise Jira import error6444 returns error6445 when everything is ok6446 does not return any error6447 when user does not have permissions to run the import6448 behaves like raise Jira import error6449 returns error6450 .jira_issue_cache_key6451 returns cache key for Jira issue imported to given project6452 .already_imported_cache_key6453 returns cache key for already imported items6454 .jira_issues_next_page_cache_key6455 returns cache key for next issues6456 .get_issues_next_start_at6457 returns zero when not defined6458 returns negative value for next issues to be imported starting point6459 returns cached value for next issues to be imported starting point6460 .cache_users_mapping6461 stores the data correctly6462 .get_user_mapping6463 reads the data correctly6464 returns nil if value not found6465 .store_issues_next_started_at6466 stores nil value6467 stores positive value6468 stores negative value6469InstanceClusterablePresenter6470 #create_aws_clusters_path6471 is expected to eq "/admin/clusters/create_aws"6472 #authorize_aws_role_path6473 is expected to eq "/admin/clusters/authorize_aws_role"6474 #clear_cluster_cache_path6475 is expected to eq "/admin/clusters/22/clear_cache"6476 #metrics_dashboard_path6477 is expected to eq "/admin/clusters/25/metrics_dashboard"6478Gitlab::DatabaseImporters::CommonMetrics::Importer6479 does import common_metrics.yml6480 has the same amount of groups6481 has the same amount of panels6482 has the same amount of metrics6483 does not have duplicate IDs6484 imports all IDs6485 does import common_metrics.yml6486 when executed from outside of the Rails.root6487 does import properly all fields6488 if ID is missing6489 raises exception6490 for existing common metric with different ID6491 behaves like stores metric6492 with all data6493 and existing metric is not changed6494 when metric with ID exists6495 behaves like stores metric6496 with all data6497 and existing metric is changed6498LfsObject6499 has a distinct has_many :projects relation through lfs_objects_projects6500 scopes6501 .not_existing_in_project6502 contains only lfs objects not linked to the project6503 .for_oids6504 returns the correct LfsObjects6505 #local_store?6506 returns true when file_store is equal to LfsObjectUploader::Store::LOCAL6507 returns false when file_store is equal to LfsObjectUploader::Store::REMOTE6508 #project_allowed_access?6509 returns true when project is linked6510 returns false when project is not linked6511 when project is a member of a fork network6512 returns true for all members when forked project is linked6513 returns true for all members when root of network is linked6514 returns false when no member of fork network is linked6515 #schedule_background_upload6516 when object storage is disabled6517 does not schedule the migration6518 when object storage is enabled6519 when background upload is enabled6520 when is licensed6521 schedules the model for migration6522 schedules the model for migration once6523 when background upload is disabled6524 schedules the model for migration6525 file is being stored6526 when existing object has local store6527 behaves like mounted file in local store6528 is stored locally6529 when direct upload is enabled6530 behaves like mounted file in object store6531 is stored remotely6532 .calculate_oid6533 returns SHA256 sum of the file6534Resolvers::GroupMilestonesResolver6535 #resolve6536 calls MilestonesFinder#execute6537 without parameters6538 calls MilestonesFinder to retrieve all milestones6539 with parameters6540 calls MilestonesFinder with correct parameters6541 understands the timeframe argument6542 by ids6543 calls MilestonesFinder with correct parameters6544 by timeframe6545 when start_date and end_date are present6546 when start date is after end_date6547 raises error6548 when only start_date is present6549 raises error6550 when only end_date is present6551 raises error6552 when user cannot read milestones6553 raises error6554 when including descendant milestones in a public group6555 finds milestones only in accessible projects and groups6556Gitlab::DataBuilder::FeatureFlag6557 .build6558 is expected to be a kind of Hash6559 is expected to eq "feature_flag"6560 contains the correct object attributes6561MemberSerializer6562 group member6563 behaves like members.json6564 matches json schema6565 project member6566 behaves like members.json6567 matches json schema6568Ci::CreatePipelineService6569 merge requests handling6570 when pushing a change6571 when a merge request already exists6572 does not create a pipeline6573 when no merge request exists6574 does create a pipeline6575Ci::PipelineVariable6576 is expected to validate that :key is case-sensitively unique within the scope of :pipeline_id6577 behaves like CI variable6578 is expected to includes the Ci::HasVariable module6579 strips whitespaces when assigning key6580 can convert to runner variable6581 variable type6582 defines variable types6583 defaults variable type to env_var6584 supports variable type file6585 #hook_attrs6586 is expected to be a kind of Hash6587 is expected to eq {:key=>"foo", :value=>"bar"}6588projects/pages_domains/show6589 when auto_ssl is enabled6590 when domain is disabled6591 shows verification warning6592 when certificate is absent6593 shows alert about time of obtaining certificate6594Gitlab::GithubImport::RefreshImportJidWorker6595 .perform_in_the_future6596 schedules a job in the future6597 #perform6598 when the project does not exist6599 does nothing6600 when the job is running6601 refreshes the import JID and reschedules itself6602 when the job is no longer running6603 returns6604 #find_import_state6605 returns a ProjectImportState6606 returns nil for a import state for which the import process failed6607 returns nil for a non-existing find_import_state6608Gitlab::SidekiqMiddleware::ServerMetrics6609 with worker attribution6610 when workers are not attributed6611 behaves like a metrics middleware6612 with mocked prometheus6613 #initialize6614 sets concurrency metrics6615 #call6616 yields block6617 sets queue specific metrics6618 sets the thread name if it was nil6619 when job_duration is not available6620 does not set the queue_duration_seconds histogram6621 when error is raised6622 sets sidekiq_jobs_failed_total and reraises6623 when job is retried6624 sets sidekiq_jobs_retried_total metric6625 with prometheus integrated6626 #call6627 yields block6628 when error is raised6629 sets sidekiq_jobs_failed_total and reraises6630 when a worker is wrapped into ActiveJob6631 behaves like a metrics middleware6632 with mocked prometheus6633 #initialize6634 sets concurrency metrics6635 #call6636 yields block6637 sets queue specific metrics6638 sets the thread name if it was nil6639 when job_duration is not available6640 does not set the queue_duration_seconds histogram6641 when error is raised6642 sets sidekiq_jobs_failed_total and reraises6643 when job is retried6644 sets sidekiq_jobs_retried_total metric6645 with prometheus integrated6646 #call6647 yields block6648 when error is raised6649 sets sidekiq_jobs_failed_total and reraises6650 when workers are attributed6651 high urgency6652 behaves like a metrics middleware6653 with mocked prometheus6654 #initialize6655 sets concurrency metrics6656 #call6657 yields block6658 sets queue specific metrics6659 sets the thread name if it was nil6660 when job_duration is not available6661 does not set the queue_duration_seconds histogram6662 when error is raised6663 sets sidekiq_jobs_failed_total and reraises6664 when job is retried6665 sets sidekiq_jobs_retried_total metric6666 with prometheus integrated6667 #call6668 yields block6669 when error is raised6670 sets sidekiq_jobs_failed_total and reraises6671 external dependencies6672 behaves like a metrics middleware6673 with mocked prometheus6674 #initialize6675 sets concurrency metrics6676 #call6677 yields block6678 sets queue specific metrics6679 sets the thread name if it was nil6680 when job_duration is not available6681 does not set the queue_duration_seconds histogram6682 when error is raised6683 sets sidekiq_jobs_failed_total and reraises6684 when job is retried6685 sets sidekiq_jobs_retried_total metric6686 with prometheus integrated6687 #call6688 yields block6689 when error is raised6690 sets sidekiq_jobs_failed_total and reraises6691 cpu boundary6692 behaves like a metrics middleware6693 with mocked prometheus6694 #initialize6695 sets concurrency metrics6696 #call6697 yields block6698 sets queue specific metrics6699 sets the thread name if it was nil6700 when job_duration is not available6701 does not set the queue_duration_seconds histogram6702 when error is raised6703 sets sidekiq_jobs_failed_total and reraises6704 when job is retried6705 sets sidekiq_jobs_retried_total metric6706 with prometheus integrated6707 #call6708 yields block6709 when error is raised6710 sets sidekiq_jobs_failed_total and reraises6711 memory boundary6712 behaves like a metrics middleware6713 with mocked prometheus6714 #initialize6715 sets concurrency metrics6716 #call6717 yields block6718 sets queue specific metrics6719 sets the thread name if it was nil6720 when job_duration is not available6721 does not set the queue_duration_seconds histogram6722 when error is raised6723 sets sidekiq_jobs_failed_total and reraises6724 when job is retried6725 sets sidekiq_jobs_retried_total metric6726 with prometheus integrated6727 #call6728 yields block6729 when error is raised6730 sets sidekiq_jobs_failed_total and reraises6731 feature category6732 behaves like a metrics middleware6733 with mocked prometheus6734 #initialize6735 sets concurrency metrics6736 #call6737 yields block6738 sets queue specific metrics6739 sets the thread name if it was nil6740 when job_duration is not available6741 does not set the queue_duration_seconds histogram6742 when error is raised6743 sets sidekiq_jobs_failed_total and reraises6744 when job is retried6745 sets sidekiq_jobs_retried_total metric6746 with prometheus integrated6747 #call6748 yields block6749 when error is raised6750 sets sidekiq_jobs_failed_total and reraises6751 combined6752 behaves like a metrics middleware6753 with mocked prometheus6754 #initialize6755 sets concurrency metrics6756 #call6757 yields block6758 sets queue specific metrics6759 sets the thread name if it was nil6760 when job_duration is not available6761 does not set the queue_duration_seconds histogram6762 when error is raised6763 sets sidekiq_jobs_failed_total and reraises6764 when job is retried6765 sets sidekiq_jobs_retried_total metric6766 with prometheus integrated6767 #call6768 yields block6769 when error is raised6770 sets sidekiq_jobs_failed_total and reraises6771ClusterErrorEntity6772 #as_json6773 when connection_error is present6774 is expected to eq {:connection_error=>:connection_error, :metrics_connection_error=>nil, :node_connection_error=>nil}6775 when metrics_connection_error is present6776 is expected to eq {:connection_error=>nil, :metrics_connection_error=>:http_error, :node_connection_error=>nil}6777 when node_connection_error is present6778 is expected to eq {:connection_error=>nil, :metrics_connection_error=>nil, :node_connection_error=>:unknown_error}6779Banzai::ReferenceParser::DesignParser6780 #nodes_visible_to_user6781 behaves like referenced feature visibility6782 when feature is disabled6783 does not create reference6784 when feature is enabled only for team members6785 does not create reference for non member6786 creates reference for member6787 when feature is enabled6788 creates reference6789 specific states6790 redacts links we should not have access to6791 design management is not available6792 redacts all nodes6793 #process6794 returns the correct designs6795CronFreezePeriodTimezoneValidator6796 freeze_start: "0 23 * * 5", freeze_end: "0 7 * * 1", is_valid: true6797 crontab validation6798 freeze_start: "0 23 * * 5", freeze_end: "invalid", is_valid: false6799 crontab validation6800 freeze_start: "invalid", freeze_end: "0 7 * * 1", is_valid: false6801 crontab validation6802Resolvers::Projects::JiraProjectsResolver6803 is expected to have nullable GraphQL type JiraProjectConnection6804 #resolve6805 when project has no Jira service6806 when user is a maintainer6807 behaves like no project service access6808 raises error6809 when project has Jira service6810 when user is a developer6811 behaves like no project service access6812 raises error6813 when user is a maintainer6814 when Jira connection is valid6815 returns Jira projects6816 when filtering projects by name6817 returns Jira projects6818 when Jira connection is not valid6819 raises failure error6820MergeRequestForPipelineEntity6821 as json6822 exposes needed attributes6823MergeRequests::ExportCsvService6824 csv_data6825 contains the correct information6826 assignees6827 when assigned6828 contains the names of assignees6829 contains the usernames of assignees6830 when not assigned6831 returns empty strings6832 approvers6833 when approved6834 contains the names of approvers separated by a comma6835 contains the usernames of approvers separated by a comma6836 when not approved6837 returns empty strings6838 merged user6839 MR is merged6840 is merged6841 has a merged user6842 MR is not merged6843 returns empty strings6844 milestone6845 milestone is assigned6846 contains the milestone ID6847 no milestone is assigned6848 returns an empty string6849BlobViewer::Markup6850 #banzai_render_context6851 returns context needed for banzai rendering6852 when blob does respond to rendered_markup6853 does sets rendered key6854 when cached_markdown_blob feature flag is disabled6855 does not set cache_key key6856BranchesHelper6857 #access_levels_data6858 when access_levels is nil6859 is expected to be empty6860 when access levels are provided6861 returns the correct array6862 when an access level tied to a deploy key is provided6863 returns the correct array6864Gitlab::X509::Commit6865 #signature6866 returns the cached signature6867 on second call6868 unsigned commit6869 returns nil6870Flutter.gitlab-ci.yml6871 the created pipeline6872 creates test and code_quality jobs6873Gitlab::Ci::Build::Credentials::Factory6874 when provider is valid6875 generates an array of credentials objects6876 when provider is not valid6877 generates an array without specific credential object6878ObjectPool::JoinWorker6879 #perform6880 when the pool is not joinable6881 doesn't raise an error6882 when the pool has been joined before6883 succeeds in joining6884Packages::Pypi::CreatePackageService6885 #execute6886 without an existing package6887 creates the package6888 with an invalid metadata6889 raises an error6890 behaves like assigns the package creator6891 assigns the package creator6892 behaves like assigns build to package6893 with build info6894 assigns the pipeline to the package6895 behaves like assigns status to package6896 with status param6897 assigns the status to the package6898 with an existing package6899 with an existing file6900 throws an error6901 without an existing file6902 adds the file6903Gitlab::GitAccessWiki6904 #push_access_check6905 when user can :create_wiki6906 is expected not to raise Exception6907 when in a read-only GitLab instance6908 behaves like forbidden git access6909 prevents access6910 the user cannot :create_wiki6911 behaves like not-found git access6912 prevents access6913 #check_download_access!6914 the user can :download_wiki_code6915 when wiki feature is disabled6916 behaves like forbidden git access6917 prevents access6918 when the repository does not exist6919 behaves like not-found git access6920 prevents access6921 the user cannot :download_wiki_code6922 behaves like not-found git access6923 prevents access6924projects/settings/operations/show6925 Operations > Alerts6926 renders the Operations Settings page6927 Operations > Error Tracking6928 Settings page6929 renders the Operations Settings page6930 Operations > Prometheus6931 when settings_operations_prometheus_service flag is enabled6932 renders the Operations Settings page6933 when settings_operations_prometheus_service is disabled6934 renders the Operations Settings page6935 Operations > Tracing6936 with project.tracing_external_url6937 links to project.tracing_external_url6938 with malicious external_url6939 sanitizes external_url6940 without project.tracing_external_url6941 links to Tracing page6942gitlab:generate_sample_prometheus_data rake task6943 creates the file correctly6944Resolvers::ErrorTracking::SentryDetailedErrorResolver6945 is expected to have nullable GraphQL type SentryDetailedError6946 #resolve6947 fetches the data via the sentry API6948 error matched6949 resolves to a detailed error6950 assigns the gitlab project6951 if id does not match issue6952 behaves like it resolves to nil6953 resolves to nil6954 blank id6955 responds with an error6956Gitlab::Ci::Build::Policy::Kubernetes6957 when kubernetes service is active6958 when user configured kubernetes from CI/CD > Clusters6959 is satisfied by a kubernetes pipeline6960 when kubernetes service is inactive6961 is not satisfied by a pipeline without kubernetes available6962 when kubernetes policy is invalid6963 raises an error6964BuildSuccessWorker6965 #perform6966 when build exists6967 when the build will stop an environment6968 stops the environment6969 when build does not exist6970 does not raise exception6971Packages::Debian::UpdateDistributionService6972 behaves like Debian Update Distribution Service6973 with a Debian project distribution6974 with valid simple params6975 behaves like Update Debian Distribution6976 returns ServiceResponse6977 with invalid simple params6978 behaves like Update Debian Distribution6979 returns ServiceResponse6980 with valid components and architectures6981 behaves like Update Debian Distribution6982 returns ServiceResponse6983 with invalid components6984 behaves like Update Debian Distribution6985 returns ServiceResponse6986 with invalid architectures6987 behaves like Update Debian Distribution6988 returns ServiceResponse6989 behaves like Debian Update Distribution Service6990 with a Debian group distribution6991 with valid simple params6992 behaves like Update Debian Distribution6993 returns ServiceResponse6994 with invalid simple params6995 behaves like Update Debian Distribution6996 returns ServiceResponse6997 with valid components and architectures6998 behaves like Update Debian Distribution6999 returns ServiceResponse7000 with invalid components7001 behaves like Update Debian Distribution7002 returns ServiceResponse7003 with invalid architectures7004 behaves like Update Debian Distribution7005 returns ServiceResponse7006Gitlab::GitalyClient::OperationService7007 #user_create_branch7008 sends a user_create_branch message and returns a Gitlab::git::Branch7009 when pre_receive_error is present7010 throws a PreReceive exception7011 #user_update_branch7012 sends a user_update_branch message7013 #user_merge_to_ref7014 sends a user_merge_to_ref message7015 when pre_receive_error is present7016 throws a PreReceive exception7017 #user_delete_branch7018 sends a user_delete_branch message7019 when pre_receive_error is present7020 throws a PreReceive exception7021 #user_ff_branch7022 sends a user_ff_branch message and returns a BranchUpdate object7023 when the response has no branch_update7024 is expected to be nil7025 when the pre-receive hook fails7026 raises the error7027 #user_cherry_pick7028 behaves like cherry pick and revert errors7029 when a pre_receive_error is present7030 raises a PreReceiveError7031 when a commit_error is present7032 raises a CommitError7033 when a create_tree_error is present7034 raises a CreateTreeError7035 when branch_update is nil7036 is expected to be nil7037 #user_revert7038 behaves like cherry pick and revert errors7039 when a pre_receive_error is present7040 raises a PreReceiveError7041 when a commit_error is present7042 raises a CommitError7043 when a create_tree_error is present7044 raises a CreateTreeError7045 when branch_update is nil7046 is expected to be nil7047 #user_squash7048 sends a user_squash message and returns the squash sha7049 when git_error is present7050 raises a GitError exception7051 #user_commit_files7052 when a pre_receive_error is present7053 raises a PreReceiveError7054 when an index_error is present7055 raises a PreReceiveError7056 when branch_update is nil7057 is expected to be nil7058 #user_commit_patches7059 applies the patch correctly7060 when the patch could not be applied7061 raises the correct error7062Gitlab::ImportExport::DesignRepoRestorer7063 bundle a design Git repo7064 restores the repo successfully7065AddressableUrlValidator7066 #validate7067 with no options7068 allows http,https schemes by default7069 checks that the url structure is valid7070 with schemes7071 allows urls with the defined schemes7072 add error if the url scheme does not match the selected ones7073 validations7074 returns error when url is nil7075 returns error when url is empty7076 does not allow urls with CR or LF characters7077 provides all arguments to UrlBlock validate7078 by default7079 does not block urls pointing to localhost7080 does not block urls pointing to the local network7081 does block nil urls7082 does block blank urls7083 strips urls7084 allows urls that cannot be resolved7085 when message is set7086 does block nil url with provided error message7087 when blocked_message is set7088 blocks url with provided error message7089 when allow_nil is set to true7090 does not block nil urls7091 when allow_blank is set to true7092 does not block blank urls7093 when allow_localhost is set to false7094 blocks urls pointing to localhost7095 when allow_setting_local_requests is set to true7096 does not block urls pointing to localhost7097 when allow_local_network is set to false7098 blocks urls pointing to the local network7099 when allow_setting_local_requests is set to true7100 does not block urls pointing to local network7101 when ports is7102 empty7103 does not block any port7104 set7105 blocks urls with a different port7106 when enforce_user is7107 true7108 checks user format7109 false (default)7110 does not check user format7111 when ascii_only is7112 true7113 prevents unicode characters7114 false (default)7115 does not prevent unicode characters7116 when enforce_sanitization is7117 true7118 prevents unsafe urls7119 prevents unsafe internal urls7120 allows safe urls7121 false7122 allows unsafe urls7123 when dns_rebind_protection is7124 true7125 raises error7126 false7127 allows urls that cannot be resolved7128admin/sessions/two_factor.html.haml7129 user has no two factor auth7130 shows tab7131 user has otp active7132 shows enter otp form7133 user has u2f active7134 shows enter u2f form7135Environments::CanaryIngress::UpdateService7136 #execute_async7137 when canary_ingress_weight_control feature flag is disabled7138 behaves like failed request7139 returns an error7140 when the actor does not have permission to update environment7141 behaves like failed request7142 returns an error7143 when weight parameter is invalid7144 behaves like failed request7145 returns an error7146 when no parameters exist7147 behaves like failed request7148 returns an error7149 when environment has a running deployment7150 behaves like failed request7151 returns an error7152 when canary ingress was updated recently7153 behaves like failed request7154 returns an error7155 #execute7156 when canary ingress is present in the environment7157 when patch request succeeds7158 returns success7159 clears all caches7160 when patch request does not succeed7161 behaves like failed request7162 returns an error7163 when canary ingress is not present in the environment7164 behaves like failed request7165 returns an error7166PurgeDependencyProxyCacheWorker7167 #perform7168 an admin user7169 is labeled as idempotent7170 performs multiple times sequentially without raising an exception7171 deletes the blobs and returns ok7172 a non-admin user7173 behaves like returns nil7174 returns nil7175 an invalid user id7176 behaves like returns nil7177 returns nil7178 an invalid group7179 behaves like returns nil7180 returns nil7181PageLayoutHelper7182 page_description7183 defaults to nil7184 returns the last-pushed description7185 squishes multiple newlines7186 truncates7187 sanitizes all HTML7188 truncates before sanitizing7189 page_image7190 defaults to the GitLab logo7191 with @project assigned7192 uses Project avatar full url7193 when avatar_url is nil7194 falls back to the default when avatar_url is nil7195 with no assignments7196 falls back to the default7197 with @user assigned7198 uses User avatar full url7199 when avatar_url is nil7200 falls back to the default when avatar_url is nil7201 with no assignments7202 falls back to the default7203 with @group assigned7204 uses Group avatar full url7205 when avatar_url is nil7206 falls back to the default when avatar_url is nil7207 with no assignments7208 falls back to the default7209 page_card_attributes7210 raises ArgumentError when given more than two attributes7211 rejects blank values7212 page_card_meta_tags7213 returns the twitter:label and twitter:data tags7214 escapes content7215 #search_context7216 a bare controller7217 returns an empty context7218 #page_canonical_link7219 when link is passed7220 stores and returns the link value7221 when no link is provided7222 behaves like generates the canonical url using the params in the context7223 is expected to eq "http://test.host/foo"7224 behaves like generates the canonical url using the params in the context7225 is expected to eq "http://test.host/foo"7226 behaves like does not return a canonical url7227 is expected to be nil7228 behaves like does not return a canonical url7229 is expected to be nil7230 #page_itemtype7231 when itemtype is passed7232 stores and returns the itemtype value7233 when no itemtype is provided7234 returns an empty hash7235 #user_status_properties7236 message: "Some message", emoji: "speech_balloon", availability: "busy"7237 sets the default user status fields7238 message: "Some message", emoji: "speech_balloon", availability: "not_set"7239 sets the default user status fields7240 message: "Some message", emoji: "basketball", availability: "busy"7241 sets the default user status fields7242 message: "Some message", emoji: "basketball", availability: "not_set"7243 sets the default user status fields7244 message: "Some message", emoji: "", availability: "busy"7245 sets the default user status fields7246 message: "Some message", emoji: "", availability: "not_set"7247 sets the default user status fields7248 message: "", emoji: "speech_balloon", availability: "busy"7249 sets the default user status fields7250 message: "", emoji: "speech_balloon", availability: "not_set"7251 sets the default user status fields7252 message: "", emoji: "basketball", availability: "busy"7253 sets the default user status fields7254 message: "", emoji: "basketball", availability: "not_set"7255 sets the default user status fields7256 message: "", emoji: "", availability: "busy"7257 sets the default user status fields7258 message: "", emoji: "", availability: "not_set"7259 sets the default user status fields7260Banzai::Pipeline::DescriptionPipeline7261 uses a limited allowlist7262 removes 'pre' elements7263 removes 'code' elements7264 removes 'img' elements7265 removes 'ol' elements7266 removes 'ul' elements7267 removes 'li' elements7268 still allows 'b' elements7269 still allows 'i' elements7270 still allows 'strong' elements7271 still allows 'em' elements7272 still allows 'a' elements7273 still allows 'ins' elements7274 still allows 'del' elements7275 still allows 'sup' elements7276 still allows 'sub' elements7277 still allows 'p' elements7278FeatureFlagSummarySerializer7279 #represent7280 has summary information7281Deployments::DropOlderDeploymentsWorker7282 #perform7283 executes Deployments::OlderDeploymentsDropService7284Mutations::MergeRequests::SetSubscription7285 behaves like a subscribeable graphql resource7286 is expected to require graphql authorizations :update_merge_request7287 #resolve7288 raises an error if the resource is not accessible to the user7289 when the user can update the resource7290 subscribes to the resource7291 when passing subscribe as false7292 unsubscribes from the discussion7293Gitlab::ExternalAuthorization::Client7294 #request_access7295 performs requests to the configured endpoint7296 adds the correct params for the user to the body of the request7297 respects the the timeout7298 adds the mutual tls params when they are present7299 returns an expected response7300 wraps exceptions if the request fails7301 passes local request setting to Gitlab::HTTP7302 for ldap users7303 includes the ldap dn and identities for ldap users7304 for non-ldap users with identities7305 includes all the identities7306Ci::BuildTraceSectionName7307 is expected to belong to project required:7308 is expected to have many trace_sections7309 is expected to validate that :project cannot be empty/falsy7310 is expected to validate that :name cannot be empty/falsy7311 is expected to validate that :name is case-sensitively unique within the scope of :project_id7312UserStatus7313 is expected to validate that :user cannot be empty/falsy7314 is expected to allow :emoji to be ‹"smirk"›7315 is expected not to allow :emoji to be ‹"hello world"›7316 is expected not to allow :emoji to be ‹""›7317 is expected to validate that the length of :message is at most 1007318 is expected to allow :message to be ‹""›7319 is expected to be deleted when the user is deleted7320 #clear_status_after=7321 sets clear_status_at7322 unsets clear_status_at7323 when unknown clear status is given7324 unsets clear_status_at7325Gitlab::Ci::Parsers::Coverage::Cobertura7326 #parse!7327 when data is Cobertura style XML7328 when there is no <sources>7329 behaves like ignoring sources, project_path, and worktree_paths7330 when there is no <class>7331 parses XML and returns empty coverage7332 when there is a single <class>7333 with no lines7334 parses XML and returns empty coverage7335 with a single line7336 parses XML and returns a single file with coverage7337 without a package parent7338 parses XML and returns a single file with coverage7339 with multiple lines and methods info7340 parses XML and returns a single file with coverage7341 when there are multiple <class>7342 without a package parent7343 parses XML and returns coverage information per class7344 with the same filename and different lines7345 parses XML and returns a single file with merged coverage7346 with the same filename and lines7347 parses XML and returns a single file with summed-up coverage7348 with missing filename7349 parses XML and ignores class with missing name7350 with invalid line information7351 raises an error7352 when there is an empty <sources>7353 behaves like ignoring sources, project_path, and worktree_paths7354 when there is no <class>7355 parses XML and returns empty coverage7356 when there is a single <class>7357 with no lines7358 parses XML and returns empty coverage7359 with a single line7360 parses XML and returns a single file with coverage7361 without a package parent7362 parses XML and returns a single file with coverage7363 with multiple lines and methods info7364 parses XML and returns a single file with coverage7365 when there are multiple <class>7366 without a package parent7367 parses XML and returns coverage information per class7368 with the same filename and different lines7369 parses XML and returns a single file with merged coverage7370 with the same filename and lines7371 parses XML and returns a single file with summed-up coverage7372 with missing filename7373 parses XML and ignores class with missing name7374 with invalid line information7375 raises an error7376 when there is a <sources>7377 and has a single source with a pattern for Go projects7378 behaves like ignoring sources, project_path, and worktree_paths7379 when there is no <class>7380 parses XML and returns empty coverage7381 when there is a single <class>7382 with no lines7383 parses XML and returns empty coverage7384 with a single line7385 parses XML and returns a single file with coverage7386 without a package parent7387 parses XML and returns a single file with coverage7388 with multiple lines and methods info7389 parses XML and returns a single file with coverage7390 when there are multiple <class>7391 without a package parent7392 parses XML and returns coverage information per class7393 with the same filename and different lines7394 parses XML and returns a single file with merged coverage7395 with the same filename and lines7396 parses XML and returns a single file with summed-up coverage7397 with missing filename7398 parses XML and ignores class with missing name7399 with invalid line information7400 raises an error7401 and has multiple sources with a pattern for Go projects7402 behaves like ignoring sources, project_path, and worktree_paths7403 when there is no <class>7404 parses XML and returns empty coverage7405 when there is a single <class>7406 with no lines7407 parses XML and returns empty coverage7408 with a single line7409 parses XML and returns a single file with coverage7410 without a package parent7411 parses XML and returns a single file with coverage7412 with multiple lines and methods info7413 parses XML and returns a single file with coverage7414 when there are multiple <class>7415 without a package parent7416 parses XML and returns coverage information per class7417 with the same filename and different lines7418 parses XML and returns a single file with merged coverage7419 with the same filename and lines7420 parses XML and returns a single file with summed-up coverage7421 with missing filename7422 parses XML and ignores class with missing name7423 with invalid line information7424 raises an error7425 and has a single source but already is at the project root path7426 behaves like ignoring sources, project_path, and worktree_paths7427 when there is no <class>7428 parses XML and returns empty coverage7429 when there is a single <class>7430 with no lines7431 parses XML and returns empty coverage7432 with a single line7433 parses XML and returns a single file with coverage7434 without a package parent7435 parses XML and returns a single file with coverage7436 with multiple lines and methods info7437 parses XML and returns a single file with coverage7438 when there are multiple <class>7439 without a package parent7440 parses XML and returns coverage information per class7441 with the same filename and different lines7442 parses XML and returns a single file with merged coverage7443 with the same filename and lines7444 parses XML and returns a single file with summed-up coverage7445 with missing filename7446 parses XML and ignores class with missing name7447 with invalid line information7448 raises an error7449 and has multiple sources but already are at the project root path7450 behaves like ignoring sources, project_path, and worktree_paths7451 when there is no <class>7452 parses XML and returns empty coverage7453 when there is a single <class>7454 with no lines7455 parses XML and returns empty coverage7456 with a single line7457 parses XML and returns a single file with coverage7458 without a package parent7459 parses XML and returns a single file with coverage7460 with multiple lines and methods info7461 parses XML and returns a single file with coverage7462 when there are multiple <class>7463 without a package parent7464 parses XML and returns coverage information per class7465 with the same filename and different lines7466 parses XML and returns a single file with merged coverage7467 with the same filename and lines7468 parses XML and returns a single file with summed-up coverage7469 with missing filename7470 parses XML and ignores class with missing name7471 with invalid line information7472 raises an error7473 and has a single source that is not at the project root path7474 when there is no <class>7475 parses XML and returns empty coverage7476 when there is a single <class>7477 with no lines7478 parses XML and returns empty coverage7479 with a single line but the filename cannot be determined based on extracted source and worktree paths7480 parses XML and returns empty coverage7481 with a single line7482 parses XML and returns a single file with the filename relative to project root7483 with multiple lines and methods info7484 parses XML and returns a single file with the filename relative to project root7485 when there are multiple <class>7486 with the same filename but the filename cannot be determined based on extracted source and worktree paths7487 parses XML and returns empty coverage7488 without a parent package7489 parses XML and returns coverage information with the filename relative to project root7490 with the same filename and different lines7491 parses XML and returns a single file with merged coverage, and with the filename relative to project root7492 with the same filename and lines7493 parses XML and returns a single file with summed-up coverage, and with the filename relative to project root7494 with missing filename7495 parses XML and ignores class with missing name7496 with filename that cannot be determined based on extracted source and worktree paths7497 parses XML and ignores class with undetermined filename7498 with invalid line information7499 raises an error7500 and has multiple sources that are not at the project root path7501 and a class filename is available under multiple extracted sources7502 parses XML and returns the files with the filename relative to project root7503 and a class filename is available under one of the extracted sources7504 parses XML and returns a single file with the filename relative to project root using the extracted source where it is first found under7505 and a class filename is not found under any of the extracted sources7506 parses XML and returns empty coverage7507 and a class filename is not found under any of the extracted sources within the iteratable limit7508 parses XML and returns empty coverage7509 when project_path is not present7510 behaves like non-smart parsing7511 parses XML and returns filenames unchanged just as how they are found in the class node7512 when worktree_paths is not present7513 behaves like non-smart parsing7514 parses XML and returns filenames unchanged just as how they are found in the class node7515 when data is not Cobertura style XML7516 raises an error7517Packages::CreateTemporaryPackageService7518 #execute7519 creates the package7520 can create two packages in a row7521 behaves like assigns the package creator7522 assigns the package creator7523 behaves like assigns build to package7524 with build info7525 assigns the pipeline to the package7526ContainerExpirationPolicyWorker7527 #perform7528 With no container expiration policies7529 does not execute any policies7530 with container expiration policies7531 with a valid container expiration policy7532 schedules the next run7533 marks the container repository as scheduled for cleanup7534 calls the limited capacity worker7535 with a disabled container expiration policy7536 does not run the policy7537 with an invalid container expiration policy7538 disables the policy and tracks an error7539 with exclusive lease taken7540 does not execute any policy7541 with throttling disabled7542 with no container expiration policies7543 behaves like not executing any policy7544 does not run any policy7545 with container expiration policies7546 a valid policy7547 runs the policy7548 a disabled policy7549 behaves like not executing any policy7550 does not run any policy7551 a policy that is not due for a run7552 behaves like not executing any policy7553 does not run any policy7554 a policy linked to no container repository7555 behaves like not executing any policy7556 does not run any policy7557 an invalid policy7558 disables the policy and tracks an error7559Constraints::AdminConstrainer7560 #matches7561 feature flag :user_mode_in_session is enabled7562 when user is a regular user7563 forbids access7564 when user is an admin7565 admin mode is disabled7566 forbids access7567 admin mode is enabled7568 allows access7569 feature flag :user_mode_in_session is disabled7570 when user is a regular user7571 forbids access7572 when user is an admin7573 allows access7574GroupLink::GroupLinkEntity7575 matches json schema7576 correctly exposes `valid_roles`7577 correctly exposes `shared_with_group.avatar_url`7578HooksHelper7579 #link_to_test_hook7580 returns project namespaced link7581 returns admin namespaced link7582API::Entities::MergeRequestBasic7583 with :with_api_entity_associations scope7584 avoids N+1 queries7585 reviewers7586 includes assigned reviewers7587BlobEntity7588 as json7589 contains needed attributes7590Gitlab::SidekiqMiddleware::SizeLimiter::Validator7591 #initialize7592 when the input mode is valid7593 does not log a warning message7594 when the input mode is invalid7595 defaults to track mode and logs a warning message7596 when the input mode is empty7597 defaults to track mode7598 when the size input is valid7599 does not log a warning message7600 when the size input is invalid7601 defaults to 0 and logs a warning message7602 when the size input is empty7603 defaults to 07604 #validate!7605 when calling SizeLimiter.validate!7606 behaves like validate limit job payload size7607 in track mode7608 when size limit negative7609 does not track jobs7610 does not raise exception7611 when size limit is 07612 does not track jobs7613 does not raise exception7614 when job size is bigger than size limit7615 tracks job7616 does not raise an exception7617 when the worker has big_payload attribute7618 does not track jobs7619 does not raise an exception7620 when job size is less than size limit7621 does not track job7622 does not raise an exception7623 in raise mode7624 when size limit is negative7625 does not raise exception7626 when size limit is 07627 does not raise exception7628 when job size is bigger than size limit7629 raises an exception7630 when the worker has big_payload attribute7631 does not raise an exception7632 when job size is less than size limit7633 does not raise an exception7634 when creating an instance with the related ENV variables7635 behaves like validate limit job payload size7636 in track mode7637 when size limit negative7638 does not track jobs7639 does not raise exception7640 when size limit is 07641 does not track jobs7642 does not raise exception7643 when job size is bigger than size limit7644 tracks job7645 does not raise an exception7646 when the worker has big_payload attribute7647 does not track jobs7648 does not raise an exception7649 when job size is less than size limit7650 does not track job7651 does not raise an exception7652 in raise mode7653 when size limit is negative7654 does not raise exception7655 when size limit is 07656 does not raise exception7657 when job size is bigger than size limit7658 raises an exception7659 when the worker has big_payload attribute7660 does not raise an exception7661 when job size is less than size limit7662 does not raise an exception7663 when creating an instance with mode and size limit7664 behaves like validate limit job payload size7665 in track mode7666 when size limit negative7667 does not track jobs7668 does not raise exception7669 when size limit is 07670 does not track jobs7671 does not raise exception7672 when job size is bigger than size limit7673 tracks job7674 does not raise an exception7675 when the worker has big_payload attribute7676 does not track jobs7677 does not raise an exception7678 when job size is less than size limit7679 does not track job7680 does not raise an exception7681 in raise mode7682 when size limit is negative7683 does not raise exception7684 when size limit is 07685 does not raise exception7686 when job size is bigger than size limit7687 raises an exception7688 when the worker has big_payload attribute7689 does not raise an exception7690 when job size is less than size limit7691 does not raise an exception7692Gitlab::Ci::Config::External::File::Remote7693 #matching?7694 when a remote is specified7695 returns true7696 with a missing remote7697 returns false7698 with a missing remote key7699 returns false7700 #valid?7701 when is a valid remote url7702 returns true7703 with an irregular url7704 returns false7705 with a timeout7706 is falsy7707 when is not a yaml file7708 is falsy7709 with an internal url7710 is falsy7711 #content7712 with a valid remote file7713 returns the content of the file7714 with a timeout7715 is falsy7716 with an invalid remote url7717 is nil7718 with an internal url7719 is nil7720 #error_message7721 when remote file location is not valid7722 returns an error message describing invalid address7723 when timeout error has been raised7724 returns error message about a timeout7725 when HTTP error has been raised7726 returns error message about a HTTP error7727 when response has 404 status7728 returns error message about a timeout7729 when the URL is blocked7730 includes details about blocked URL7731 #expand_context7732 drops all parameters7733Gitlab::Ci::Pipeline::Expression::Lexeme::NotEquals7734 .build7735 with non-evaluable operands7736 creates a new instance of the token7737 with evaluable operands7738 creates a new instance of the token7739 .type7740 is an operator7741 .precedence7742 has a precedence7743 #evaluate7744 when left and right are equal7745 left_value: "string", right_value: "string"7746 is expected to eq false7747 left_value: 1, right_value: 17748 is expected to eq false7749 left_value: "", right_value: ""7750 is expected to eq false7751 left_value: nil, right_value: nil7752 is expected to eq false7753 when left and right are not equal7754 left_value: "one string", right_value: "two string"7755 is expected to eq true7756 left_value: "one string", right_value: 17757 is expected to eq true7758 left_value: "one string", right_value: 27759 is expected to eq true7760 left_value: "one string", right_value: ""7761 is expected to eq true7762 left_value: "one string", right_value: nil7763 is expected to eq true7764 left_value: "one string", right_value: false7765 is expected to eq true7766 left_value: "one string", right_value: true7767 is expected to eq true7768 left_value: "two string", right_value: "one string"7769 is expected to eq true7770 left_value: "two string", right_value: 17771 is expected to eq true7772 left_value: "two string", right_value: 27773 is expected to eq true7774 left_value: "two string", right_value: ""7775 is expected to eq true7776 left_value: "two string", right_value: nil7777 is expected to eq true7778 left_value: "two string", right_value: false7779 is expected to eq true7780 left_value: "two string", right_value: true7781 is expected to eq true7782 left_value: 1, right_value: "one string"7783 is expected to eq true7784 left_value: 1, right_value: "two string"7785 is expected to eq true7786 left_value: 1, right_value: 27787 is expected to eq true7788 left_value: 1, right_value: ""7789 is expected to eq true7790 left_value: 1, right_value: nil7791 is expected to eq true7792 left_value: 1, right_value: false7793 is expected to eq true7794 left_value: 1, right_value: true7795 is expected to eq true7796 left_value: 2, right_value: "one string"7797 is expected to eq true7798 left_value: 2, right_value: "two string"7799 is expected to eq true7800 left_value: 2, right_value: 17801 is expected to eq true7802 left_value: 2, right_value: ""7803 is expected to eq true7804 left_value: 2, right_value: nil7805 is expected to eq true7806 left_value: 2, right_value: false7807 is expected to eq true7808 left_value: 2, right_value: true7809 is expected to eq true7810 left_value: "", right_value: "one string"7811 is expected to eq true7812 left_value: "", right_value: "two string"7813 is expected to eq true7814 left_value: "", right_value: 17815 is expected to eq true7816 left_value: "", right_value: 27817 is expected to eq true7818 left_value: "", right_value: nil7819 is expected to eq true7820 left_value: "", right_value: false7821 is expected to eq true7822 left_value: "", right_value: true7823 is expected to eq true7824 left_value: nil, right_value: "one string"7825 is expected to eq true7826 left_value: nil, right_value: "two string"7827 is expected to eq true7828 left_value: nil, right_value: 17829 is expected to eq true7830 left_value: nil, right_value: 27831 is expected to eq true7832 left_value: nil, right_value: ""7833 is expected to eq true7834 left_value: nil, right_value: false7835 is expected to eq true7836 left_value: nil, right_value: true7837 is expected to eq true7838 left_value: false, right_value: "one string"7839 is expected to eq true7840 left_value: false, right_value: "two string"7841 is expected to eq true7842 left_value: false, right_value: 17843 is expected to eq true7844 left_value: false, right_value: 27845 is expected to eq true7846 left_value: false, right_value: ""7847 is expected to eq true7848 left_value: false, right_value: nil7849 is expected to eq true7850 left_value: false, right_value: true7851 is expected to eq true7852 left_value: true, right_value: "one string"7853 is expected to eq true7854 left_value: true, right_value: "two string"7855 is expected to eq true7856 left_value: true, right_value: 17857 is expected to eq true7858 left_value: true, right_value: 27859 is expected to eq true7860 left_value: true, right_value: ""7861 is expected to eq true7862 left_value: true, right_value: nil7863 is expected to eq true7864 left_value: true, right_value: false7865 is expected to eq true7866NamespaceSettings::UpdateService7867 #execute7868 group has no namespace_settings7869 builds out a new namespace_settings record7870 group has a namespace_settings7871 doesn't create a new namespace_setting record7872 updating :default_branch_name7873 changes settings7874Gitlab::Git::MergeBase7875 #sha7876 returns `nil` when the refs do not have a common ancestor7877 returns a merge base when passing 2 branch names7878 returns a merge base when passing a tag name7879 when the refs exist7880 returns the SHA of the merge base7881 memoizes the result7882 when passing a missing ref7883 does not call merge_base on the repository but raises an error7884 #commit7885 does not try to find the commit when there is no sha7886 for existing refs with a merge base7887 finds the commit for the merge base7888 only looks up the commit once7889 #unknown_refs7890 returns the refs passed that are not part of the repository7891 only looks up the commits once7892Gitlab::Ci::Config::Entry::Retry7893 #value7894 when retry value is a numeric7895 is returned as a hash with max key7896 when retry value is a hash7897 and `when` is a string7898 returns when wrapped in an array7899 and `when` is an array7900 returns when as it was passed7901 validation7902 when retry value is correct7903 when it is a numeric7904 is valid7905 when it is a hash7906 with max7907 is valid7908 with string when7909 is valid7910 with string when always7911 is valid7912 with array when7913 is valid7914 with when from documentation `always`7915 is valid7916 with when from documentation `unknown_failure`7917 is valid7918 with when from documentation `script_failure`7919 is valid7920 with when from documentation `api_failure`7921 is valid7922 with when from documentation `stuck_or_timeout_failure`7923 is valid7924 with when from documentation `runner_system_failure`7925 is valid7926 with when from documentation `missing_dependency_failure`7927 is valid7928 with when from documentation `runner_unsupported`7929 is valid7930 with when from documentation `stale_schedule`7931 is valid7932 with when from documentation `job_execution_timeout`7933 is valid7934 with when from documentation `archived_failure`7935 is valid7936 with when from documentation `unmet_prerequisites`7937 is valid7938 with when from documentation `scheduler_failure`7939 is valid7940 with when from documentation `data_integrity_failure`7941 is valid7942 with when from CommitStatus.failure_reasons `unknown_failure`7943 is valid7944 with when from CommitStatus.failure_reasons `script_failure`7945 is valid7946 with when from CommitStatus.failure_reasons `api_failure`7947 is valid7948 with when from CommitStatus.failure_reasons `stuck_or_timeout_failure`7949 is valid7950 with when from CommitStatus.failure_reasons `runner_system_failure`7951 is valid7952 with when from CommitStatus.failure_reasons `missing_dependency_failure`7953 is valid7954 with when from CommitStatus.failure_reasons `runner_unsupported`7955 is valid7956 with when from CommitStatus.failure_reasons `stale_schedule`7957 is valid7958 with when from CommitStatus.failure_reasons `job_execution_timeout`7959 is valid7960 with when from CommitStatus.failure_reasons `archived_failure`7961 is valid7962 with when from CommitStatus.failure_reasons `unmet_prerequisites`7963 is valid7964 with when from CommitStatus.failure_reasons `scheduler_failure`7965 is valid7966 with when from CommitStatus.failure_reasons `data_integrity_failure`7967 is valid7968 with when from CommitStatus.failure_reasons `forward_deployment_failure`7969 is valid7970 with when from CommitStatus.failure_reasons `insufficient_bridge_permissions`7971 is valid7972 with when from CommitStatus.failure_reasons `downstream_bridge_project_not_found`7973 is valid7974 with when from CommitStatus.failure_reasons `invalid_bridge_trigger`7975 is valid7976 with when from CommitStatus.failure_reasons `bridge_pipeline_is_child_pipeline`7977 is valid7978 with when from CommitStatus.failure_reasons `downstream_pipeline_creation_failed`7979 is valid7980 with when from CommitStatus.failure_reasons `secrets_provider_not_found`7981 is valid7982 with when from CommitStatus.failure_reasons `reached_max_descendant_pipelines_depth`7983 is valid7984 with when from CommitStatus.failure_reasons `protected_environment_failure`7985 is valid7986 with when from CommitStatus.failure_reasons `upstream_bridge_project_not_found`7987 is valid7988 with when from CommitStatus.failure_reasons `insufficient_upstream_permissions`7989 is valid7990 when retry value is not correct7991 when it is not a numeric nor an array7992 returns error about invalid type7993 when it is a numeric7994 when it is lower than zero7995 returns error about value too low7996 when it is not an integer7997 returns error about wrong value7998 when the value is too high7999 returns error about value too high8000 when it is a hash8001 with unknown keys8002 returns error about the unknown key8003 with max lower than zero8004 returns error about value too low8005 with max not an integer8006 returns error about wrong value8007 iwth max too high8008 returns error about value too high8009 with when in wrong format8010 returns error about the wrong format8011 with an unknown when string8012 returns error about the wrong format8013 with an unknown failure reason in a when array8014 returns error about the wrong format8015Gitlab::GitalyClient::PraefectInfoService8016 #repository_replicas8017 sends an RPC request8018OperationsHelper8019 #alerts_settings_data8020 initial service configuration8021 returns the correct values8022 with external Prometheus configured8023 with external Prometheus enabled8024 returns the correct values8025 with external Prometheus disabled8026 returns the correct values8027 when cluster managed8028 returns the correct values8029 with project alert setting8030 returns the correct values8031 #operations_settings_data8032 returns the correct set of data8033Users::UpdateCanonicalEmailService8034 #initialize8035 unsuccessful8036 raises an error if there is no user8037 raises an error if the object is not a User8038 when a user is provided8039 does not error8040 #canonicalize_email8041 when the email domain is included8042 strips out any . or anything after + in the agent for included domains8043 raw_email: "user@includeddomain.com", expected_result: "user@includeddomain.com"8044 is expected to eq "user@includeddomain.com"8045 raw_email: "u.s.e.r@includeddomain.com", expected_result: "user@includeddomain.com"8046 is expected to eq "user@includeddomain.com"8047 raw_email: "user+123@includeddomain.com", expected_result: "user@includeddomain.com"8048 is expected to eq "user@includeddomain.com"8049 raw_email: "us.er+123@includeddomain.com", expected_result: "user@includeddomain.com"8050 is expected to eq "user@includeddomain.com"8051 when the user has an existing canonical email8052 updates the user canonical email record8053 when the email domain is not included8054 returns nil8055 destroys any existing UserCanonicalEmail record8056 when the user email is not processable8057 is expected to be nil8058 preserves any existing record8059 is expected to be nil8060 preserves any existing record8061Gitlab::GithubImport::Representation::PullRequest8062 .from_api_response8063 does not set the user if the response did not include a user8064 behaves like a PullRequest8065 returns an instance of PullRequest8066 the returned PullRequest8067 includes the pull request number8068 includes the pull request title8069 includes the pull request description8070 includes the source branch name8071 includes the source branch SHA8072 includes the target branch name8073 includes the target branch SHA8074 includes the milestone number8075 includes the user details8076 includes the assignee details8077 includes the created timestamp8078 includes the updated timestamp8079 includes the merged timestamp8080 includes the source repository ID8081 includes the target repository ID8082 includes the source repository owner name8083 includes the pull request state8084 .from_json_hash8085 does not convert the author if it was not specified8086 behaves like a PullRequest8087 returns an instance of PullRequest8088 the returned PullRequest8089 includes the pull request number8090 includes the pull request title8091 includes the pull request description8092 includes the source branch name8093 includes the source branch SHA8094 includes the target branch name8095 includes the target branch SHA8096 includes the milestone number8097 includes the user details8098 includes the assignee details8099 includes the created timestamp8100 includes the updated timestamp8101 includes the merged timestamp8102 includes the source repository ID8103 includes the target repository ID8104 includes the source repository owner name8105 includes the pull request state8106 #state8107 returns :opened for an open pull request8108 returns :closed for a closed pull request8109 returns :merged for a merged pull request8110 #cross_project?8111 returns false for a pull request submitted from the target project8112 returns true for a pull request submitted from a different project8113 returns true if no source repository is present8114 #formatted_source_branch8115 for a cross-project pull request8116 includes the owner name in the branch name8117 for a regular pull request8118 returns the source branch name8119 for a pull request with the same source and target branches8120 returns a generated source branch name8121 #truncated_title8122 truncates the title to 255 characters8123 does not truncate the title if it is shorter than 255 characters8124Gitlab::GitalyClient::CleanupService8125 #apply_bfg_object_map_stream8126 sends an apply_bfg_object_map_stream message8127Projects::CountService8128 .query8129 raises NotImplementedError8130 #relation_for_count8131 calls the class method query with the project id8132 #count8133 returns the number of rows8134 caches the number of rows8135 #refresh_cache8136 refreshes the cache8137 #delete_cache8138 removes the cache8139 #cache_key_name8140 raises NotImplementedError8141 #cache_key8142 returns the cache key as an Array8143Projects::ErrorTrackingHelper8144 #error_tracking_data8145 without error_tracking_setting8146 returns frontend configuration8147 with error_tracking_setting8148 when enabled8149 show error tracking enabled8150 when disabled8151 show error tracking not enabled8152 when user is not maintainer8153 shows error tracking enablement as disabled8154 #error_details_data8155 returns the correct issue id8156 returns the correct project path8157 returns the correct stack trace path8158 creates an issue and redirects to issue show page8159Banzai::Filter::BroadcastMessageSanitizationFilter8160 behaves like default allowlist8161 sanitizes tags that are not allowed8162 sanitizes tag attributes8163 sanitizes javascript in attributes8164 sanitizes mixed-cased javascript in attributes8165 allows whitelisted HTML tags from the user8166 sanitizes `class` attribute on any element8167 sanitizes `id` attribute on any element8168 custom allowlist8169 behaves like XSS prevention8170 disallows protocol-based JS injection: simple, no spaces8171 disallows protocol-based JS injection: simple, spaces before8172 disallows protocol-based JS injection: simple, spaces after8173 disallows protocol-based JS injection: simple, spaces before and after8174 disallows protocol-based JS injection: preceding colon8175 disallows protocol-based JS injection: UTF-8 encoding8176 disallows protocol-based JS injection: long UTF-8 encoding8177 disallows protocol-based JS injection: long UTF-8 encoding without semicolons8178 disallows protocol-based JS injection: hex encoding8179 disallows protocol-based JS injection: long hex encoding8180 disallows protocol-based JS injection: hex encoding without semicolons8181 disallows protocol-based JS injection: null char8182 disallows protocol-based JS injection: invalid URL char8183 disallows protocol-based JS injection: Unicode8184 disallows protocol-based JS injection: spaces and entities8185 disallows protocol whitespace8186 disallows data links8187 disallows vbscript links8188 behaves like sanitize link8189 removes `rel` attribute from `a` elements8190 disallows invalid URIs8191 allows non-standard anchor schemes8192 allows relative links8193 allows `a` elements8194 is expected to eq "<a href=\"/\">Link</a>"8195 allows `br` elements8196 is expected to eq "Hello<br>World"8197 when `a` elements have `style` attribute8198 disallows other properties in `style` attribute on `a` elements8199 allows specific properties8200 is expected to eq "<a href=\"#\" style=\"color: red; border: blue; background: green; padding: 10px; margin: 10px; text-decoration: underline;\">Stylish Link</a>"8201 allows `class` on `a` elements8202 is expected to eq "<a href=\"#\" class=\"btn\">Button Link</a>"8203Gitlab::EncodingHelper8204 #encode!8205 nil8206 empty string8207 invalid utf-8 encoded string8208 frozen non-ascii string8209 leaves ascii only string as is8210 leaves valid utf8 string as is8211 removes invalid bytes from ASCII-8bit encoded multibyte string. This can occur when a git diff match line truncates in the middle of a multibyte character. This occurs after the second word in this example. The test string is as short as we can get while still triggering the error condition when not looking at `detect[:confidence]`.8212 string with detected encoding that is not supported in Ruby8213 leaves binary string as is8214 with corrupted diff8215 does not corrupt data but remove invalid characters8216 #encode_utf88217 nil8218 empty string8219 invalid utf-8 encoded string8220 encodes valid utf8 encoded string to utf88221 encodes valid ASCII-8BIT encoded string to utf88222 encodes valid ISO-8859-1 encoded string to utf88223 Equifax branch name8224 returns empty string on conversion errors8225 replaces invalid and undefined chars with the replace argument8226 with strings that can be forcefully encoded into utf88227 doesn't use CharlockHolmes if the encoding can be forced into utf_88228 #clean8229 leaves ascii only string as is8230 leaves valid utf8 string as is8231 removes invalid bytes from ASCII-8bit encoded multibyte string.8232 handles UTF-16BE encoded strings8233 encode_binary8234 encodes nil to ""8235 encodes "" to ""8236 encodes " " to " "8237 encodes "a1" to "a1"8238 encodes "编码" to "\xE7\xBC\x96\xE7\xA0\x81"8239 #binary_io8240 does not mutate the original string encoding8241 returns a copy of the IO with the correct encoding8242UserStatusCleanup::BatchWorker8243 is labeled as idempotent8244 performs multiple times sequentially without raising an exception8245 #perform8246 cleans up the records8247 when no records are scheduled for cleanup8248 does nothing8249Gitlab::SidekiqConfig::CliMethods8250 .worker_queues8251 when the file exists8252 when the file contains an array of hashes8253 memoizes the result8254 flattens and joins the contents8255 when the file does not exist8256 returns an empty array8257 .expand_queues8258 defaults the value of the second argument to .worker_queues8259 expands queue namespaces to concrete queue names8260 lets concrete queue names pass through8261 lets unknown queues pass through8262 .query_workers8263 with valid input8264 query: "feature_category=category_a", selected_queues: ["a", "a:2"]8265 is expected to contain exactly "a" and "a:2"8266 query: "feature_category=category_a,category_c", selected_queues: ["a", "a:2", "c"]8267 is expected to contain exactly "a", "a:2", and "c"8268 query: "feature_category=category_a|feature_category=category_c", selected_queues: ["a", "a:2", "c"]8269 is expected to contain exactly "a", "a:2", and "c"8270 query: "feature_category!=category_a", selected_queues: ["b", "c"]8271 is expected to contain exactly "b" and "c"8272 query: "has_external_dependencies=true", selected_queues: ["b"]8273 is expected to contain exactly "b"8274 query: "has_external_dependencies=false", selected_queues: ["a", "a:2", "c"]8275 is expected to contain exactly "a", "a:2", and "c"8276 query: "has_external_dependencies=true,false", selected_queues: ["a", "a:2", "b", "c"]8277 is expected to contain exactly "a", "a:2", "b", and "c"8278 query: "has_external_dependencies=true|has_external_dependencies=false", selected_queues: ["a", "a:2", "b", "c"]8279 is expected to contain exactly "a", "a:2", "b", and "c"8280 query: "has_external_dependencies!=true", selected_queues: ["a", "a:2", "c"]8281 is expected to contain exactly "a", "a:2", and "c"8282 query: "urgency=high", selected_queues: ["a:2", "b"]8283 is expected to contain exactly "a:2" and "b"8284 query: "urgency=low", selected_queues: ["a"]8285 is expected to contain exactly "a"8286 query: "urgency=high,low,throttled", selected_queues: ["a", "a:2", "b", "c"]8287 is expected to contain exactly "a", "a:2", "b", and "c"8288 query: "urgency=low|urgency=throttled", selected_queues: ["a", "c"]8289 is expected to contain exactly "a" and "c"8290 query: "urgency!=high", selected_queues: ["a", "c"]8291 is expected to contain exactly "a" and "c"8292 query: "name=a", selected_queues: ["a"]8293 is expected to contain exactly "a"8294 query: "name=a,b", selected_queues: ["a", "b"]8295 is expected to contain exactly "a" and "b"8296 query: "name=a,a:2|name=b", selected_queues: ["a", "a:2", "b"]8297 is expected to contain exactly "a", "a:2", and "b"8298 query: "name!=a,a:2", selected_queues: ["b", "c"]8299 is expected to contain exactly "b" and "c"8300 query: "resource_boundary=memory", selected_queues: ["b", "c"]8301 is expected to contain exactly "b" and "c"8302 query: "resource_boundary=memory,cpu", selected_queues: ["a", "b", "c"]8303 is expected to contain exactly "a", "b", and "c"8304 query: "resource_boundary=memory|resource_boundary=cpu", selected_queues: ["a", "b", "c"]8305 is expected to contain exactly "a", "b", and "c"8306 query: "resource_boundary!=memory,cpu", selected_queues: ["a:2"]8307 is expected to contain exactly "a:2"8308 query: "tags=no_disk_io", selected_queues: ["a", "b"]8309 is expected to contain exactly "a" and "b"8310 query: "tags=no_disk_io,git_access", selected_queues: ["a", "a:2", "b"]8311 is expected to contain exactly "a", "a:2", and "b"8312 query: "tags=no_disk_io|tags=git_access", selected_queues: ["a", "a:2", "b"]8313 is expected to contain exactly "a", "a:2", and "b"8314 query: "tags=no_disk_io&tags=git_access", selected_queues: ["a"]8315 is expected to contain exactly "a"8316 query: "tags!=no_disk_io", selected_queues: ["a:2", "c"]8317 is expected to contain exactly "a:2" and "c"8318 query: "tags!=no_disk_io,git_access", selected_queues: ["c"]8319 is expected to contain exactly "c"8320 query: "tags=unknown_tag", selected_queues: []8321 is expected to contain exactly8322 query: "tags!=no_disk_io", selected_queues: ["a:2", "c"]8323 is expected to contain exactly "a:2" and "c"8324 query: "tags!=no_disk_io,git_access", selected_queues: ["c"]8325 is expected to contain exactly "c"8326 query: "tags!=unknown_tag", selected_queues: ["a", "a:2", "b", "c"]8327 is expected to contain exactly "a", "a:2", "b", and "c"8328 query: "feature_category=category_a&urgency=high", selected_queues: ["a:2"]8329 is expected to contain exactly "a:2"8330 query: "feature_category=category_a&urgency=high|feature_category=category_c", selected_queues: ["a:2", "c"]8331 is expected to contain exactly "a:2" and "c"8332 with invalid input8333 query: "feature_category=\"category_a\"", error: Gitlab::SidekiqConfig::CliMethods::InvalidTerm8334 is expected to raise Gitlab::SidekiqConfig::CliMethods::InvalidTerm8335 query: "feature_category=", error: Gitlab::SidekiqConfig::CliMethods::InvalidTerm8336 is expected to raise Gitlab::SidekiqConfig::CliMethods::InvalidTerm8337 query: "feature_category~category_a", error: Gitlab::SidekiqConfig::CliMethods::InvalidTerm8338 is expected to raise Gitlab::SidekiqConfig::CliMethods::InvalidTerm8339 query: "worker_name=a", error: Gitlab::SidekiqConfig::CliMethods::UnknownPredicate8340 is expected to raise Gitlab::SidekiqConfig::CliMethods::UnknownPredicate8341Webauthn::AuthenticateService8342 #execute8343 returns true if the response is valid and a matching stored credential is present8344 returns false if the response is valid but no matching stored credential is present8345Resolvers::ProjectPipelinesResolver8346 resolves only MRs for the passed merge request8347Gitlab::Popen::Runner8348 #run8349 runs the command and returns the result8350 #all_success_and_clean?8351 returns true when exit status is 0 and stderr is empty8352 returns false when exit status is not 08353 returns false when exit stderr has something8354 #all_success?8355 returns true when exit status is 08356 returns false when exit status is not 08357 returns true8358 #all_stderr_empty?8359 returns true when stderr is empty8360 returns true when exit status is not 08361 returns false when exit stderr has something8362 #failed_results8363 returns [] when everything is passed8364 returns the result when exit status is not 08365 returns [] when exit stderr has something8366 #warned_results8367 returns [] when everything is passed8368 returns [] when exit status is not 08369 returns the result when exit stderr has something8370BlobViewer::GoMod8371 #package_name8372 returns the package name8373 #package_url8374 returns the package URL8375 when the homepage has an invalid URL8376 returns nil8377 #package_type8378 returns "package"8379 when the module name does not start with the instance URL8380 #package_url8381 returns the pkg.go.dev URL8382Gitlab::Auth::BlockedUserTracker8383 #log_blocked_user_activity!8384 when user is not blocked8385 does not log blocked user activity8386 when user is not blocked8387 logs blocked user activity8388Packages::Nuget::SyncMetadatumService8389 #execute8390 creates a nuget metadatum8391 behaves like saving metadatum attributes8392 saves nuget metadatum8393 with exisiting nuget metadatum8394 does not create a nuget metadatum8395 behaves like saving metadatum attributes8396 saves nuget metadatum8397 with empty metadata8398 destroys the nuget metadatum8399Gitlab::SnippetSearchResults8400 #snippet_titles_count8401 returns the amount of matched snippet titles8402 #formatted_count8403 returns the expected formatted count8404 #highlight_map8405 returns the expected highlight map8406 #objects8407 uses page and per_page to paginate results8408Projects::TerraformHelper8409 #js_terraform_list_data8410 includes image path8411 includes project path8412 indicates the user is a terraform admin8413 when current_user is not a terraform admin8414 indicates the user is not an admin8415 when current_user is missing8416 indicates the user is not an admin8417SystemCheck::Orphans::NamespaceCheck8418 #multi_check8419 all orphans8420 prints list of all orphaned namespaces except @hashed8421 few orphans with existing namespace8422 prints list of orphaned namespaces8423 few orphans with existing namespace and parents with same name as orphans8424 prints list of orphaned namespaces ignoring parents with same namespace as orphans8425 no orphans8426 prints an empty list ignoring @hashed8427Quality::TestLevel8428 #pattern8429 when level is all8430 returns a pattern8431 when level is geo8432 returns a pattern8433 when level is frontend_fixture8434 returns a pattern8435 when level is unit8436 returns a pattern8437 when level is migration8438 returns a pattern8439 when level is background_migration8440 returns a pattern8441 when level is integration8442 returns a pattern8443 when level is system8444 returns a pattern8445 with a prefix8446 returns a pattern8447 performance8448 memoizes the pattern for a given level8449 freezes the pattern for a given level8450 #regexp8451 when level is all8452 returns a regexp8453 when level is geo8454 returns a regexp8455 when level is frontend_fixture8456 returns a regexp8457 when level is unit8458 returns a regexp8459 when level is migration8460 returns a regexp8461 when level is background_migration8462 returns a regexp8463 when level is integration8464 returns a regexp8465 when level is system8466 returns a regexp8467 with a prefix8468 returns a regexp8469 performance8470 memoizes the regexp for a given level8471 freezes the regexp for a given level8472 #level_for8473 returns the correct level for a unit test8474 returns the correct level for a frontend fixture test8475 returns the correct level for a tooling test8476 returns the correct level for a migration test8477 returns the correct level for a background migration test8478 returns the correct level for an EE file without passing a prefix8479 returns the correct level for a geo migration test8480 returns the correct level for a EE-namespaced background migration test8481 returns the correct level for an integration test8482 returns the correct level for a system test8483 raises an error for an unknown level8484 #background_migration?8485 returns false for a unit test8486 returns true for a migration test8487 returns true for a background migration test8488 returns true for a geo migration test8489 returns true for a EE-namespaced background migration test8490ErrorTrackingIssueLinkWorker8491 #perform8492 creates a link between an issue and a Sentry issue in Sentry8493 when issue is unavailable8494 behaves like makes no external API requests8495 takes no action8496 when project does not have error tracking configured8497 behaves like makes no external API requests8498 takes no action8499 when the issue is not linked to a Sentry issue in GitLab8500 behaves like makes no external API requests8501 takes no action8502 when Sentry disabled the GitLab integration8503 behaves like attempts to create a link via plugin8504 takes no action8505 when Sentry the GitLab integration is for another project8506 behaves like attempts to create a link via plugin8507 takes no action8508 when Sentry repos request errors8509 falls back to creating a link via plugin8510Gitlab::Ci::Reports::TestReportSummary8511 #total8512 when test report summary has several build report results8513 returns all the total count in a hash8514 #test_suites8515 when test report summary has several build report results8516 returns test suites grouped by name8517IncidentManagement::PagerDuty::ProcessWebhookService8518 #execute8519 when PagerDuty webhook setting is active8520 when token is valid8521 when webhook payload has acceptable size8522 responds with Accepted8523 processes issues8524 when webhook payload is too big8525 responds with Bad Request8526 behaves like does not process incidents8527 does not process incidents8528 when webhook payload is blank8529 responds with Accepted8530 behaves like does not process incidents8531 does not process incidents8532 when token is invalid8533 responds with Unauthorized8534 behaves like does not process incidents8535 does not process incidents8536 when both tokens are nil8537 responds with Unauthorized8538 behaves like does not process incidents8539 does not process incidents8540 when PagerDuty webhook setting is not active8541 responds with Forbidden8542 behaves like does not process incidents8543 does not process incidents8544Namespace::PackageSetting8545 relationships8546 is expected to belong to namespace required:8547 validations8548 is expected to validate that :namespace cannot be empty/falsy8549 #maven_duplicates_allowed8550 is expected to allow :maven_duplicates_allowed to be ‹true›8551 is expected to allow :maven_duplicates_allowed to be ‹false›8552 is expected not to allow :maven_duplicates_allowed to be ‹nil›8553 #maven_duplicate_exception_regex8554 is expected to allow :maven_duplicate_exception_regex to be ‹"SNAPSHOT"›8555 is expected to allow :maven_duplicate_exception_regex to be ‹".*"›8556 is expected to allow :maven_duplicate_exception_regex to be ‹"v.+"›8557 is expected to allow :maven_duplicate_exception_regex to be ‹"v10.1.*"›8558 is expected to allow :maven_duplicate_exception_regex to be ‹"(?:v.+|SNAPSHOT|TEMP)"›8559 is expected not to allow :maven_duplicate_exception_regex to be ‹"["›8560 is expected not to allow :maven_duplicate_exception_regex to be ‹"(?:v.+|SNAPSHOT|TEMP"›8561 #duplicates_allowed?8562 package types with package_settings8563 duplicates_allowed: true, duplicate_exception_regex: "", result: true8564 for maven_package8565 is expected to equal true8566 duplicates_allowed: false, duplicate_exception_regex: "", result: false8567 for maven_package8568 is expected to equal false8569 duplicates_allowed: false, duplicate_exception_regex: ".*", result: true8570 for maven_package8571 is expected to equal true8572 package types without package_settings8573 raises an error8574 raises an error8575 raises an error8576 raises an error8577 raises an error8578 raises an error8579 raises an error8580 raises an error8581Gitlab::UsageDataCounters::StaticSiteEditorCounter8582 behaves like a redis usage counter8583 .count(views)8584 increments the StaticSiteEditor views counter by 18585 .read(views)8586 returns the total number of views events8587 behaves like a redis usage counter8588 .count(commits)8589 increments the StaticSiteEditor commits counter by 18590 .read(commits)8591 returns the total number of commits events8592 behaves like a redis usage counter8593 .count(merge_requests)8594 increments the StaticSiteEditor merge_requests counter by 18595 .read(merge_requests)8596 returns the total number of merge_requests events8597 behaves like a redis usage counter with totals8598 totals8599 can report all totals8600 unknown events8601 cannot increment8602 cannot read8603Gitlab::AlertManagement::Payload::ManagedPrometheus8604 behaves like subclass has expected api8605 defines all public methods in the base class8606 #metric_id8607 is expected to be nil8608 with gitlab_alert_id8609 is expected to eq 128610 #gitlab_prometheus_alert_id8611 is expected to be nil8612 with gitlab_alert_id8613 is expected to eq 128614 #gitlab_alert8615 without alert info in payload8616 is expected to be nil8617 with metric id in payload8618 without matching alert8619 is expected to be nil8620 with matching alert8621 is expected to eq #<PrometheusAlert id: 7, created_at: "2021-03-03 12:20:23", updated_at: "2021-03-03 12:20:23", thresh... operator: "gt", environment_id: 106, project_id: 1600, prometheus_metric_id: 146, runbook_url: nil>8622 when unclear which alert applies8623 is expected to be nil8624 with alert id8625 without matching alert8626 is expected to be nil8627 with matching alerts8628 is expected to eq #<PrometheusAlert id: 9, created_at: "2021-03-03 12:20:23", updated_at: "2021-03-03 12:20:23", thresh... operator: "gt", environment_id: 108, project_id: 1600, prometheus_metric_id: 147, runbook_url: nil>8629 #full_query8630 is expected to be nil8631 with gitlab alert8632 is expected to eq "avg(metric) > 1.0"8633 with sufficient fallback info8634 is expected to eq "vector(1)"8635 #environment8636 with gitlab alert8637 is expected to eq #<Environment id: 110, project_id: 1600, name: "environment42", created_at: "2021-03-03 12:20:23", up...onment_type: nil, state: "available", slug: "environment42", auto_stop_at: nil, auto_delete_at: nil>8638 with sufficient fallback info8639 is expected to eq #<Environment id: 111, project_id: 1600, name: "production", created_at: "2021-03-03 12:20:23", updat...vironment_type: nil, state: "available", slug: "production", auto_stop_at: nil, auto_delete_at: nil>8640 #metrics_dashboard_url8641 without alert8642 is expected to be nil8643 with gitlab alert8644 is expected to eq "http://localhost/namespace1574/project1647/prometheus/alerts/150/metrics_dashboard?embedded=true&end=2018-03-12T09%3A36%3A00Z&environment_id=112&start=2018-03-12T08%3A36%3A00Z"8645admin/services/index.html.haml8646 user has not dismissed Service Templates deprecation message8647 shows the message8648 user has dismissed Service Templates deprecation message8649 does not show the message8650Packages::Debian::GroupComponent8651 behaves like Debian Distribution Component8652 relationships8653 is expected to belong to distribution class_name => Packages::Debian::GroupDistribution required: inverse_of => components8654 is expected to have many files class_name => Packages::Debian::GroupComponentFile inverse_of => component8655 validations8656 #distribution8657 is expected to validate that :distribution cannot be empty/falsy8658 #name8659 is expected to validate that :name cannot be empty/falsy8660 is expected to allow :name to be ‹"main"›8661 is expected to allow :name to be ‹"non-free"›8662 is expected to allow :name to be ‹"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"›8663 is expected not to allow :name to be ‹"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"›8664 is expected not to allow :name to be ‹"non/free"›8665 is expected not to allow :name to be ‹"hé"›8666 scopes8667 .with_distribution8668 does not return other distributions8669 .with_name8670 does not return other distributions8671Packages::Nuget::DependencyLinkMetadatum8672 relationships8673 is expected to belong to dependency_link required:8674 validations8675 is expected to validate that :dependency_link cannot be empty/falsy8676 is expected to validate that :target_framework cannot be empty/falsy8677 #ensure_nuget_package_type8678 validates package of type nuget8679 validates package of type nuget with nil dependency_link8680DependencyProxy::FileUploader8681 DependencyProxy::Blob uploader8682 behaves like builds correct paths8683 #store_dir8684 behaves like matches the method pattern8685 is expected to match /\h{2}\/\h{2}/8686 #cache_dir8687 behaves like matches the method pattern8688 is expected to match /\/dependency_proxy\/tmp\/cache/8689 #work_dir8690 behaves like matches the method pattern8691 is expected to match /\/dependency_proxy\/tmp\/work/8692 #upload_path8693 behaves like matches the method pattern8694 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)8695 #relative_path8696 is relative (PENDING: Path not set, skipping.)8697 .absolute_path8698 behaves like matches the method pattern8699 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)8700 .base_dir8701 behaves like matches the method pattern8702 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)8703 path traversal exploits8704 throws an exception8705 object store is remote8706 behaves like builds correct paths8707 #store_dir8708 behaves like matches the method pattern8709 is expected to match /\h{2}\/\h{2}/8710 #cache_dir8711 behaves like matches the method pattern8712 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)8713 #work_dir8714 behaves like matches the method pattern8715 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)8716 #upload_path8717 behaves like matches the method pattern8718 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)8719 #relative_path8720 is relative (PENDING: Path not set, skipping.)8721 .absolute_path8722 behaves like matches the method pattern8723 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)8724 .base_dir8725 behaves like matches the method pattern8726 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)8727 path traversal exploits8728 throws an exception8729 DependencyProxy::Manifest uploader8730 will change upload file content type to match the model content type8731Gitlab::Metrics::Methods8732 #define_metrics8733 metrics access method not defined8734 defines metrics accessing method8735 metrics access method defined8736 raises error when trying to redefine method8737 metric is not cached8738 calls fetch_metric8739 metric is cached8740 returns cached metric8741 #fetch_metric8742 when counter is not cached8743 initializes counter metric8744 when counter is cached8745 uses class metric cache8746 when metric is reloaded8747 initializes counter metric8748 when metric is configured with feature8749 when feature is enabled8750 initializes counter metric8751 when feature is disabled8752 returns NullMetric8753 #define_metrics8754 metrics access method not defined8755 defines metrics accessing method8756 metrics access method defined8757 raises error when trying to redefine method8758 metric is not cached8759 calls fetch_metric8760 metric is cached8761 returns cached metric8762 #fetch_metric8763 when gauge is not cached8764 initializes counter metric8765 when gauge is cached8766 uses class metric cache8767 when metric is reloaded8768 initializes gauge metric8769 when metric is configured with feature8770 when feature is enabled8771 initializes gauge metric8772 when feature is disabled8773 returns NullMetric8774 #define_metrics8775 metrics access method not defined8776 defines metrics accessing method8777 metrics access method defined8778 raises error when trying to redefine method8779 metric is not cached8780 calls fetch_metric8781 metric is cached8782 returns cached metric8783 #fetch_metric8784 when histogram is not cached8785 initializes counter metric8786 when histogram is cached8787 uses class metric cache8788 when metric is reloaded8789 initializes histogram metric8790 when metric is configured with feature8791 when feature is enabled8792 initializes histogram metric8793 when feature is disabled8794 returns NullMetric8795MoveToProjectEntity8796 #as_json8797 includes the project ID8798 includes the human-readable full path8799 includes the full path8800Packages::Composer::CacheCleanupWorker8801 #perform8802WARNING: Using `expect { }.not_to raise_error(SpecificErrorClass)` risks false positives, since literally any other error would cause the expectation to pass, including those raised by Ruby (e.g. `NoMethodError`, `NameError` and `ArgumentError`), meaning the code you are intending to test may not even get reached. Instead consider using `expect { }.not_to raise_error` or `expect { }.to raise_error(DifferentSpecificErrorClass)`. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /builds/gitlab-org/gitlab/spec/workers/packages/composer/cache_cleanup_worker_spec.rb:23:in `block (3 levels) in <top (required)>'.8803WARNING: Using `expect { }.not_to raise_error(SpecificErrorClass)` risks false positives, since literally any other error would cause the expectation to pass, including those raised by Ruby (e.g. `NoMethodError`, `NameError` and `ArgumentError`), meaning the code you are intending to test may not even get reached. Instead consider using `expect { }.not_to raise_error` or `expect { }.to raise_error(DifferentSpecificErrorClass)`. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /builds/gitlab-org/gitlab/spec/workers/packages/composer/cache_cleanup_worker_spec.rb:24:in `block (3 levels) in <top (required)>'.8804 deletes expired packages8805Gitlab::Ci::Config::Entry::Jobs8806 .all_types8807 is expected to include Gitlab::Ci::Config::Entry::Hidden8808 is expected to include Gitlab::Ci::Config::Entry::Job8809 is expected to include Gitlab::Ci::Config::Entry::Bridge8810 .find_type8811 name: :".hidden_job", type: Gitlab::Ci::Config::Entry::Hidden8812 is expected to eq Gitlab::Ci::Config::Entry::Hidden8813 name: :".hidden_bridge", type: Gitlab::Ci::Config::Entry::Hidden8814 is expected to eq Gitlab::Ci::Config::Entry::Hidden8815 name: :regular_job, type: Gitlab::Ci::Config::Entry::Job8816 is expected to eq Gitlab::Ci::Config::Entry::Job8817 name: :my_trigger, type: Gitlab::Ci::Config::Entry::Bridge8818 is expected to eq Gitlab::Ci::Config::Entry::Bridge8819 name: :invalid_job, type: nil8820 is expected to eq nil8821 validations8822 when entry config value is correct8823 #valid?8824 is valid8825 when entry value is not correct8826 #errors8827 incorrect config value type8828 returns error about incorrect type8829 when job is invalid8830 reports error8831 when no visible jobs present8832 returns error about no visible jobs defined8833 .compose!8834 when valid job entries composed8835 #value8836 returns key value8837 #descendants8838 creates valid descendant nodes8839 #value8840 returns value of visible jobs only8841Gitlab::PollingInterval8842 .set_header8843 when polling is disabled8844 sets value to -18845 when polling is enabled8846 applies modifier to base interval8847 .set_api_header8848 when polling is disabled8849 sets value to -18850 when polling is enabled8851 applies modifier to base interval8852Gitlab::Auth::IpRateLimiter8853 #register_fail!8854 bans after 3 consecutive failures8855 with a whitelisted netmask8856 behaves like whitelisted IPs8857 does not ban after max retry limit8858 with a whitelisted IP8859 behaves like whitelisted IPs8860 does not ban after max retry limit8861 when IP is whitlisted8862 behaves like skips the rate limiter8863 does not call Rack::Attack::Allow2Ban.reset!8864 does not call Rack::Attack::Allow2Ban.banned?8865 does not call Rack::Attack::Allow2Ban.filter8866 when rate limiter is disabled8867 behaves like skips the rate limiter8868 does not call Rack::Attack::Allow2Ban.reset!8869 does not call Rack::Attack::Allow2Ban.banned?8870 does not call Rack::Attack::Allow2Ban.filter8871Gitlab::Metrics::Dashboard::Validator::Errors8872 Gitlab::Metrics::Dashboard::Validator::Errors::SchemaValidationError8873 empty error hash8874 uses default error message8875 formatted message8876 for root object8877 when required keys are missing8878 is expected to eq "root is missing required keys: one"8879 when there is type mismatch8880 on type: null8881 is expected to eq "'property_name' at root is not of type: null"8882 on type: string8883 is expected to eq "'property_name' at root is not of type: string"8884 on type: boolean8885 is expected to eq "'property_name' at root is not of type: boolean"8886 on type: integer8887 is expected to eq "'property_name' at root is not of type: integer"8888 on type: number8889 is expected to eq "'property_name' at root is not of type: number"8890 on type: array8891 is expected to eq "'property_name' at root is not of type: array"8892 on type: object8893 is expected to eq "'property_name' at root is not of type: object"8894 for nested object8895 when required keys are missing8896 is expected to eq "/nested_objects/0 is missing required keys: two"8897 when there is type mismatch8898 on type: null8899 is expected to eq "'property_name' at /nested_objects/0 is not of type: null"8900 on type: string8901 is expected to eq "'property_name' at /nested_objects/0 is not of type: string"8902 on type: boolean8903 is expected to eq "'property_name' at /nested_objects/0 is not of type: boolean"8904 on type: integer8905 is expected to eq "'property_name' at /nested_objects/0 is not of type: integer"8906 on type: number8907 is expected to eq "'property_name' at /nested_objects/0 is not of type: number"8908 on type: array8909 is expected to eq "'property_name' at /nested_objects/0 is not of type: array"8910 on type: object8911 is expected to eq "'property_name' at /nested_objects/0 is not of type: object"8912 when data does not match pattern8913 is expected to eq "'property_name' at /nested_objects/0 does not match pattern: aa.*"8914 when data does not match format8915 is expected to eq "'property_name' at /nested_objects/0 does not match format: date-time"8916 when data is not const8917 is expected to eq "'property_name' at /nested_objects/0 is not: \"one\""8918 when data is not included in enum8919 is expected to eq "'property_name' at /nested_objects/0 is not one of: [\"one\", \"two\"]"8920 when data is not included in enum8921 is expected to eq "'property_name' at /nested_objects/0 is invalid: error_type=unknown"8922 Gitlab::Metrics::Dashboard::Validator::Errors::DuplicateMetricIds8923 has custom error message8924Gitlab::GithubImport::ParallelScheduling8925 #parallel?8926 returns true when running in parallel mode8927 returns false when running in sequential mode8928 #execute8929 imports data in parallel when running in parallel mode8930 imports data in parallel when running in sequential mode8931 expires the cache used for tracking already imported objects8932 logs the the process8933 logs the error when it fails8934 #sequential_import8935 imports data in sequence8936 #parallel_import8937 imports data in parallel8938 #each_object_to_import8939 yields every object to import8940 resumes from the last page8941 does not yield any objects if the page number was not set8942 does not yield the object if it was already imported8943 #already_imported?8944 returns false when an object has not yet been imported8945 returns true when an object has already been imported8946 #mark_as_imported8947 marks an object as already imported8948Gitlab::Ci::Config::Entry::Key8949 validations8950 behaves like key entry validations8951 when entry value contains slash8952 behaves like key with slash8953 is invalid8954 reports errors with config value8955 when entry value contains URI encoded slash (%2F)8956 behaves like key with slash8957 is invalid8958 reports errors with config value8959 when entry value is a dot8960 behaves like key with only dots8961 is invalid8962 reports errors with config value8963 when entry value is two dots8964 behaves like key with only dots8965 is invalid8966 reports errors with config value8967 when entry value is a URI encoded dot (%2E)8968 behaves like key with only dots8969 is invalid8970 reports errors with config value8971 when entry value is two URI encoded dots (%2E)8972 behaves like key with only dots8973 is invalid8974 reports errors with config value8975 when entry value is one dot and one URI encoded dot8976 behaves like key with only dots8977 is invalid8978 reports errors with config value8979 when key is a string8980 #value8981 returns key value8982 #valid?8983 is valid8984 when entry config value is correct8985 when key is a hash8986 #value8987 returns key value8988 #valid?8989 is valid8990 when key is a symbol8991 #value8992 returns key value8993 #valid?8994 is valid8995 when entry value is not correct8996 #errors8997 saves errors8998 .default8999 returns default key9000Gitlab::Git::AttributesParser9001 #attributes9002 using a path with attributes9003 returns the attributes as a Hash9004 returns a Hash containing multiple attributes9005 returns a Hash containing attributes for a file with multiple extensions9006 returns a Hash containing attributes for a file in a directory9007 returns a Hash containing attributes with query string parameters9008 returns a Hash containing the attributes for an absolute path9009 returns a Hash containing the attributes when a pattern is defined using an absolute path9010 returns an empty Hash for a defined path without attributes9011 when the "binary" option is set for a path9012 returns true for the "binary" option9013 returns false for the "diff" option9014 using a path without any attributes9015 returns an empty Hash9016 when attributes data is nil9017 returns an empty Hash9018 when attributes data has binary data9019 returns an empty Hash9020 #patterns9021 parses a file with entries9022 parses an entry that uses a tab to separate the pattern and attributes9023 stores patterns in reverse order9024 ignores any comments and empty lines9025 #parse_attributes9026 parses a boolean attribute9027 parses a negated boolean attribute9028 parses a key-value pair9029 parses multiple attributes9030 parses attributes with query string parameters9031 #each_line9032 iterates over every line in the attributes file9033 does not yield when the attributes file has an unsupported encoding9034Gitlab::Ci::Config::Entry::Variables9035 when entry config value has key-value pairs9036 behaves like valid config9037 #value9038 returns hash with key value strings9039 #errors9040 does not append errors9041 #valid?9042 is valid9043 with numeric keys and values in the config9044 behaves like valid config9045 #value9046 returns hash with key value strings9047 #errors9048 does not append errors9049 #valid?9050 is valid9051 when entry config value has key-value pair and hash9052 behaves like invalid config9053 #valid?9054 is not valid9055 #errors9056 saves errors9057 when metadata has use_value_data9058 behaves like valid config9059 #value9060 returns hash with key value strings9061 #errors9062 does not append errors9063 #valid?9064 is valid9065 when entry value is an array9066 behaves like invalid config9067 #valid?9068 is not valid9069 #errors9070 saves errors9071 when metadata has use_value_data9072 when entry value has hash with other key-pairs9073 behaves like invalid config9074 #valid?9075 is not valid9076 #errors9077 saves errors9078 when entry config value has hash with nil description9079 behaves like invalid config9080 #valid?9081 is not valid9082 #errors9083 saves errors9084 when entry config value has hash without description9085 behaves like valid config9086 #value9087 returns hash with key value strings9088 #errors9089 does not append errors9090 #valid?9091 is valid9092EventFilter9093 #filter9094 returns "all" if given filter is nil9095 returns "all" if given filter is ""9096 returns "all" if given filter is "foo"9097 #apply_filter9098 with the "push" filter9099 filters push events only9100 with the "merged" filter9101 filters merged events only9102 with the "issue" filter9103 filters issue events only9104 with the "comments" filter9105 filters comment events only9106 with the "team" filter9107 filters team events only9108 with the "all" filter9109 returns all events9110 with the "design" filter9111 returns only design events9112 with the "wiki" filter9113 returns only wiki page events9114 with an unknown filter9115 returns all events9116 with a nil filter9117 returns all events9118 #active?9119 returns false if filter does not include the given key9120 returns false if the given key is nil9121 returns true if filter does not include the given key9122Gitlab::Ci::Config::Entry::Product::Matrix9123 validations9124 when entry config value is correct9125 #valid?9126 is expected to be valid9127 when entry config generates too many jobs9128 #valid?9129 is expected not to be valid9130 #errors9131 returns error about too many jobs9132 when entry config has only one variable with multiple values9133 #valid?9134 is expected to be valid9135 #errors9136 returns no errors9137 #value9138 returns the value without raising an error9139 when entry config has only one variable with one value9140 #valid?9141 is expected to be valid9142 #errors9143 returns no errors9144 #value9145 returns the value without raising an error9146 when config value has wrong type9147 #valid?9148 is expected not to be valid9149 #errors9150 returns error about incorrect type9151 .compose!9152 when valid job entries composed9153 #value9154 returns key value9155 #descendants9156 creates valid descendant nodes9157 with empty config9158 #value9159 returns empty value9160 #number_of_generated_jobs9161 with empty config9162 is expected to be zero9163 with only one variable9164 is expected to eq 109165 with two variables9166 is expected to eq 509167 with two sets of variables9168 is expected to eq 569169errors/access_denied9170 does not fail to render when there is no message provided9171Gitlab::Ci::Config::Entry::Product::Parallel9172 with invalid config9173 when it is not a numeric value9174 behaves like invalid config9175 #valid?9176 is expected not to be valid9177 #errors9178 returns error about invalid type9179 when it is lower than two9180 behaves like invalid config9181 #valid?9182 is expected not to be valid9183 #errors9184 returns error about invalid type9185 when it is bigger than 509186 behaves like invalid config9187 #valid?9188 is expected not to be valid9189 #errors9190 returns error about invalid type9191 when it is not an integer9192 behaves like invalid config9193 #valid?9194 is expected not to be valid9195 #errors9196 returns error about invalid type9197 with empty hash config9198 behaves like invalid config9199 #valid?9200 is expected not to be valid9201 #errors9202 returns error about invalid type9203 with numeric config9204 when job is specified9205 #valid?9206 is expected to be valid9207 #value9208 returns job needs configuration9209 with matrix builds config9210 when matrix is specified9211 #valid?9212 is expected to be valid9213 #value9214 returns job needs configuration9215Gitlab::FileDetector9216 .types_in_paths9217 returns the file types for the given paths9218 does not include unrecognized file paths9219 .type_of9220 returns the type of a README without extension9221 returns the type of a README file with a recognized extension9222 returns nil for a README with unrecognized extension9223 is case insensitive9224 returns nil for a README file in a directory9225 returns the type of a changelog file9226 returns the type of a license file9227 returns nil for an UNCOPYING file9228 returns the type of a version file9229 returns the type of a .gitignore file9230 returns the type of a GitLab CI config file9231 returns the type of an avatar9232 returns the type of an issue template9233 returns the type of a merge request template9234 returns nil for an unknown file9235 returns the type of an OpenAPI spec if file name is correct9236Types::GroupType9237 is expected to expose permissions using Types::PermissionTypes::Group9238 is expected to eq "Group"9239 is expected to require graphql authorizations :read_group9240 has the expected fields9241 boards field9242 returns boards9243 members field9244 is expected to have graphql type #<Class:0x0000560763284b80>9245 is expected to have graphql resolver Resolvers::GroupMembersResolver9246 behaves like a GraphQL type with labels9247 has label fields9248 label field9249 is expected to have graphql type Types::LabelType9250 is expected to have graphql arguments :title9251 labels field9252 is expected to have graphql type #<Class:0x0000560759a5d640>9253 is expected to have graphql arguments :search_term, :includeAncestorGroups, :includeDescendantGroups, and :onlyGroupLabels9254Gitlab::CrossProjectAccess::CheckInfo9255 #should_run?9256 runs when an action is defined9257 runs when the action is missing9258 does not run when the action is excluded9259 runs when the `if` conditional is true9260 does not run when the if condition is false9261 does not run when the `unless` check is true9262 runs when the `unless` check is false9263 returns the opposite of #should_skip? when the check is a skip9264 #should_skip?9265 skips when an action is defined9266 does not skip when the action is not defined9267 does not skip when the action is excluded9268 skips when the `if` conditional is true9269 does not skip the `if` conditional is false9270 does not skip when the `unless` check is true9271 skips when `unless` check is false9272 returns the opposite of #should_run? when the check is not a skip9273Gitlab::StaticSiteEditor::Config::FileConfig::Entry::Mount9274 validations9275 with a valid config9276 and target is a non-empty string9277 is expected to be valid9278 #value9279 returns mount configuration9280 and target is an empty string9281 is expected to be valid9282 #value9283 returns mount configuration9284 with an invalid config9285 when source is not a string9286 is expected not to be valid9287 reports error9288 when source is not present9289 is expected not to be valid9290 reports error9291 when target is not a string9292 is expected not to be valid9293 reports error9294 when there is an unknown key present9295 is expected not to be valid9296 reports error9297 .default9298 returns default mount9299RuboCop::Cop::RSpec::BeSuccessMatcher9300 using expect(response).to be_success call9301 registers an offense and corrects9302 using expect(response).to be_successful call9303 does not register an offense9304 using expect(response).to_not be_success call9305 registers an offense and corrects9306 using expect(response).to_not be_successful call9307 does not register an offense9308 using expect(response).not_to be_success call9309 registers an offense and corrects9310 using expect(response).not_to be_successful call9311 does not register an offense9312 using is_expected.to be_success call9313 registers an offense and corrects9314 using is_expected.to be_successful call9315 does not register an offense9316 using is_expected.to_not be_success call9317 registers an offense and corrects9318 using is_expected.to_not be_successful call9319 does not register an offense9320 using is_expected.not_to be_success call9321 registers an offense and corrects9322 using is_expected.not_to be_successful call9323 does not register an offense9324RepositoryCheck::DispatchWorker9325 does nothing when repository checks are disabled9326 does nothing if the exclusive lease is taken9327 dispatches work to RepositoryCheck::BatchWorker9328 with unhealthy shard9329 only triggers RepositoryCheck::BatchWorker for healthy shards9330Gitlab::Metrics::Dashboard::ServiceSelector9331 #call9332 is expected to equal Metrics::Dashboard::SystemDashboardService9333 when just the dashboard path is provided9334 is expected to equal Metrics::Dashboard::CustomDashboardService9335 when the path is for the system dashboard9336 is expected to equal Metrics::Dashboard::SystemDashboardService9337 when the path is for the pod dashboard9338 is expected to equal Metrics::Dashboard::PodDashboardService9339 when the path is for the self monitoring dashboard9340 is expected to equal Metrics::Dashboard::SelfMonitoringDashboardService9341 when the embedded flag is provided9342 is expected to equal Metrics::Dashboard::DefaultEmbedService9343 when an incomplete set of dashboard identifiers are provided9344 is expected to equal Metrics::Dashboard::DefaultEmbedService9345 when all the chart identifiers are provided9346 is expected to equal Metrics::Dashboard::DynamicEmbedService9347 when all chart params expect dashboard_path are provided9348 is expected to equal Metrics::Dashboard::DynamicEmbedService9349 with a system dashboard and "custom" group9350 is expected to equal Metrics::Dashboard::CustomMetricEmbedService9351 with a grafana link9352 is expected to equal Metrics::Dashboard::GrafanaMetricEmbedService9353 with the embed defined in the arguments9354 is expected to equal Metrics::Dashboard::TransientEmbedService9355 when cluster is provided9356 is expected to equal Metrics::Dashboard::ClusterDashboardService9357 when cluster is provided and embedded is not true9358 is expected to equal Metrics::Dashboard::ClusterDashboardService9359 when cluster dashboard_path is provided9360 is expected to equal Metrics::Dashboard::ClusterDashboardService9361 when cluster is provided and embed params9362 is expected to equal Metrics::Dashboard::ClusterMetricsEmbedService9363 when metrics embed is for an alert9364 is expected to equal Metrics::Dashboard::GitlabAlertEmbedService9365RuboCop::Cop::Migration::PreventStrings9366 when in migration9367 when the string data type is used9368 registers an offense9369 when the string data type is not used9370 registers no offense9371 when the text data type is used9372 registers no offense9373 when the string data type is used for arrays9374 registers no offense9375 when using down method9376 registers no offense9377 when outside of migration9378 registers no offense9379IgnorableColumns9380 adds columns to ignored_columns9381 adds columns to ignored_columns (array version)9382 requires remove_after attribute to be set9383 requires remove_after attribute to be set9384 requires remove_with attribute to be set9385 .ignored_columns_details9386 defaults to empty Hash9387 with single column9388 behaves like storing removal information9389 storing removal information9390 with array column9391 behaves like storing removal information9392 storing removal information9393 when called on a subclass without setting the ignored columns9394 does not raise Deadlock error9395 IgnorableColumns::ColumnIgnore9396 #safe_to_remove?9397 after remove_after date has passed9398 returns true (safe to remove)9399 before remove_after date has passed9400 returns false (not safe to remove)9401Gitlab::EtagCaching::Router::Restful9402 matches issue notes endpoint9403 matches MR notes endpoint9404 matches issue title endpoint9405 matches with a project name that includes a suffix of create9406 matches with a project name that includes a prefix of create9407 matches project pipelines endpoint9408 matches commit pipelines endpoint9409 matches new merge request pipelines endpoint9410 matches merge request pipelines endpoint9411 matches build endpoint9412 does not match blob with confusing name9413 matches the cluster environments path9414 matches the environments path9415 matches pipeline#show endpoint9416 has a valid feature category for every route9417 .cache_key9418 uses request path as cache key9419Types::Snippets::BlobType9420 has the correct fields9421 is expected not to be non null9422 is expected not to be non null9423 is expected to be non null9424 is expected to be non null9425 is expected to be non null9426 is expected not to be non null9427 is expected not to be non null9428 is expected to be non null9429 is expected not to be non null9430 is expected not to be non null9431 is expected not to be non null9432 is expected to be non null9433Gitlab::RackAttack::UserAllowlist9434 input: nil, elements: []9435 has the expected elements9436 implements empty?9437 implements include?9438 input: "", elements: []9439 has the expected elements9440 implements empty?9441 implements include?9442 input: "123", elements: [123]9443 has the expected elements9444 implements empty?9445 implements include?9446 input: "123,456", elements: [123, 456]9447 has the expected elements9448 implements empty?9449 implements include?9450 input: "123,foobar, 456,", elements: [123, 456]9451 has the expected elements9452 implements empty?9453 implements include?9454Gitlab::Metrics::Samplers::ThreadsSampler9455 behaves like metrics sampler9456 when sampling interval is passed explicitly9457 is expected to eq 429458 when sampling interval is passed through the environment9459 is expected to eq 429460 when no sampling interval is passed anywhere9461 uses the hardcoded default9462 #sample9463 sets the gauge for the concurrency total9464 thread counts9465 reports if any of the threads per group uses the db9466 thread names9467 thread_names: [nil], expected_names: ["unnamed"]9468 is expected to receive set({:thread_name=>"unnamed", :uses_db_connection=>"no"}, an_instance_of(Integer)) 1 time9469 thread_names: ["puma threadpool 1", "puma threadpool 001", "puma threadpool 002"], expected_names: ["puma threadpool"]9470 is expected to receive set({:thread_name=>"puma threadpool", :uses_db_connection=>"no"}, an_instance_of(Integer)) 1 time9471 thread_names: ["sidekiq_worker_thread"], expected_names: ["sidekiq_worker_thread"]9472 is expected to receive set({:thread_name=>"sidekiq_worker_thread", :uses_db_connection=>"no"}, an_instance_of(Integer)) 1 time9473 thread_names: ["some_sampler", "some_exporter"], expected_names: ["some_sampler", "some_exporter"]9474 is expected to receive set({:thread_name=>"some_exporter", :uses_db_connection=>"no"}, an_instance_of(Integer)) 1 time9475 thread_names: ["unknown", "thing"], expected_names: ["unrecognized"]9476 is expected to receive set({:thread_name=>"unrecognized", :uses_db_connection=>"no"}, an_instance_of(Integer)) 1 time9477Metrics::Dashboard::PanelPreviewService9478 #execute9479 valid panel's yaml9480 returns success service response9481 returns processed panel9482 uses dashboard processor9483 invalid panel's yaml9484 returns error service response9485 returns error message9486 returns error service response9487 returns error message9488 returns error service response9489 returns error message9490 returns error service response9491 returns error message9492Gitlab::Email::Hook::SmimeSignatureInterceptor9493 signs the email appropriately with SMIME9494Namespaces::OnboardingProgressWorker#perform9495 behaves like records an onboarding progress action9496 is expected to receive execute({:action=>:git_pull}) 1 time9497 is labeled as idempotent9498 performs multiple times sequentially without raising an exception9499 behaves like does not record an onboarding progress action9500 is expected not to receive new(*(any args)) 0 times9501 behaves like does not record an onboarding progress action9502 is expected not to receive new(*(any args)) 0 times9503Grafana::Validator9504 validate!9505 does not raise an error9506 when query param "from" is not specified9507 behaves like processing error9508 raises a processing error9509 when query param "to" is not specified9510 behaves like processing error9511 raises a processing error9512 when the panel is not provided9513 behaves like processing error9514 raises a processing error9515 when the panel is not a graph9516 behaves like processing error9517 raises a processing error9518 when the panel is not a line graph9519 behaves like processing error9520 raises a processing error9521 when the query dashboard includes undefined variables9522 behaves like processing error9523 raises a processing error9524 when the expression contains unsupported global variables9525 behaves like processing error9526 raises a processing error9527 when the datasource is not proxyable9528 behaves like processing error9529 raises a processing error9530 when the datasource is not provided9531 does not raise an error9532 valid?9533 with valid arguments9534 is expected to equal true9535 with invalid arguments9536 is expected to equal false9537Gitlab::SidekiqMiddleware::DuplicateJobs::Strategies::UntilExecuted9538 behaves like deduplicating jobs when scheduling9539 #schedule9540 checks for duplicates before yielding9541 checks worker options for scheduled jobs9542 job marking9543 adds the jid of the existing job to the job hash9544 scheduled jobs9545 scheduled in the past9546 adds the jid of the existing job to the job hash9547 scheduled in the future9548 adds the jid of the existing job to the job hash9549 when the job is droppable9550 drops the job9551 logs that the job was dropped9552 logs the deduplication options of the worker9553 #perform9554 deletes the lock after executing9555Gitlab::BatchWorkerContext9556 #arguments9557 returns all the expected arguments in arrays9558 #context_for9559 returns the correct application context for the arguments9560Gitlab::Ci::Build::Artifacts::Adapters::GzipStream9561 #initialize9562 when stream is passed9563 initialized9564 when stream is not passed9565 raises an error9566 #each_blob9567 when stream is gzip file9568 when gzip file contains one file9569 iterates content and file_name9570 when gzip file contains three files9571 iterates content and file_name9572 when stream is zip file9573 raises an error9574ColorValidator9575 fails fast for long invalid string9576 color: "#000abc", is_valid: true9577 only accepts valid colors9578 color: "#aaa", is_valid: true9579 only accepts valid colors9580 color: "#BBB", is_valid: true9581 only accepts valid colors9582 color: "#cCc", is_valid: true9583 only accepts valid colors9584 color: "#ffff", is_valid: false9585 only accepts valid colors9586 color: "#000111222", is_valid: false9587 only accepts valid colors9588 color: "invalid", is_valid: false9589 only accepts valid colors9590 color: "000", is_valid: false9591 only accepts valid colors9592Gitlab::Email::Hook::AdditionalHeadersInterceptor9593 adds Auto-Submitted header9594 when the same mail object is sent twice9595 does not add the Auto-Submitted header twice9596Gitlab::Kubernetes::Namespace9597 is expected to eq "a_namespace"9598 #exists?9599 when namespace do not exits9600 returns false9601 when namespace exits9602 returns true9603 when cluster cannot be reached9604 raises exception9605 #create!9606 creates a namespace9607 with labels9608 creates a namespace with labels9609 #ensure_exists!9610 checks for existing namespace before creating9611 do not re-create an existing namespace9612 when client errors9613 raises the exception9614 logs the error9615WaitableWorker9616 .bulk_perform_and_wait9617 schedules the jobs and waits for them to complete9618 inlines workloads <= 3 jobs9619 runs > 3 jobs using sidekiq and a waiter key9620 runs > 10 * timeout jobs using sidekiq and no waiter key9621 .bulk_perform_inline9622 runs the jobs inline9623 enqueues jobs if an error is raised9624 #perform9625 when the worker takes arguments9626 behaves like perform9627 notifies the JobWaiter when done if the key is provided9628 does not notify the JobWaiter when done if no key is provided9629 when the worker takes no arguments9630 behaves like perform9631 notifies the JobWaiter when done if the key is provided9632 does not notify the JobWaiter when done if no key is provided9633Postgresql::ReplicationSlot9634 .in_use?9635 returns true when replication slots are present9636unknown OID 28: failed to recognize type of 'xmin'. It will be treated as String.9637unknown OID 3220: failed to recognize type of 'restart_lsn'. It will be treated as String.9638 returns false when replication slots are not present9639 returns false if the existence check is invalid9640 .lag_too_great?9641 returns true when replication lag is too great9642 returns false when more than one replicas is up to date enough9643 returns false when replication lag is not too great9644 returns false when there is a nil replication lag9645Gitlab::Instrumentation::Redis9646 behaves like aggregation of redis storage data9647 get_request_count sum9648 sums data from all Redis storages9649 behaves like aggregation of redis storage data9650 query_time sum9651 sums data from all Redis storages9652 behaves like aggregation of redis storage data9653 read_bytes sum9654 sums data from all Redis storages9655 behaves like aggregation of redis storage data9656 write_bytes sum9657 sums data from all Redis storages9658 .known_payload_keys9659 returns all known payload keys9660 does not call storage calculation methods9661 .payload9662 returns payload filtering out zeroed values9663 .detail_store9664 returns a flat array of detail stores with the storage name added to each item9665FromUnion9666 behaves like from set operator9667 #from_union9668 selects from the results of the UNION9669 supports the use of a custom alias for the sub query9670 supports keeping duplicate rows9671Gitlab::Pagination::GitalyKeysetPager9672 .paginate9673 with branch_list_keyset_pagination feature off9674 without keyset pagination option9675 behaves like offset pagination9676 uses offset pagination9677 with keyset pagination option9678 behaves like offset pagination9679 uses offset pagination9680 with branch_list_keyset_pagination feature on9681 without keyset pagination option9682 when first page is requested9683 keyset pagination is used with offset headers9684 when second page is requested9685 behaves like offset pagination9686 uses offset pagination9687 with keyset pagination option9688 when next page could be available9689 uses keyset pagination and adds link headers9690 when the current page is the last page9691 uses keyset pagination without link headers9692X509CertificateCredentialsValidator9693 is not valid when the certificate is not valid9694 is not valid without a certificate9695 when a valid certificate is passed9696 does not track an error for the certificate9697 adds an error when not passing a correct private key9698 has no error when the private key is correct9699 when using a passphrase9700 is valid with the correct data9701 adds an error when the passphrase is wrong9702Gitlab::Utils::JsonSizeEstimator9703 is expected to match json bytesize of9704 is expected to match json bytesize of [[[]]]9705 is expected to match json bytesize of 1, "str", 3.14, and ["str", {:a=>-1}]9706 is expected to match json bytesize of {}9707 is expected to match json bytesize of {:a=>{}}9708 is expected to match json bytesize of {:a=>{:b=>{:c=>[1, 2, 3], :e=>2021-03-03 12:03:13.185647508 +0000, :f=>nil}}}9709 is expected to match json bytesize of {100=>500}9710 is expected to match json bytesize of {"狸"=>"狸"}9711 is expected to match json bytesize of nil9712 calls #to_s on unknown object9713PerformanceMonitoring::PrometheusMetric9714 .from_json9715 creates a PrometheusMetric object9716 validations9717 json_content is not a hash9718 is expected to raise ActiveModel::ValidationError9719 when unit is missing9720 is expected to raise ActiveModel::ValidationError9721 when query and query_range is missing9722 is expected to raise ActiveModel::ValidationError9723 when query_range is missing but query is available9724 is expected to be valid9725MoveToProjectSerializer9726 #represent9727 includes the name and name with namespace9728Gitlab::Usage::Docs::ValueFormatter9729 .format9730 key: :product_group, value: "growth::product intelligence", expected_value: "`growth::product intelligence`"9731 is expected to eq "`growth::product intelligence`"9732 key: :data_source, value: "redis", expected_value: "Redis"9733 is expected to eq "Redis"9734 key: :data_source, value: "ruby", expected_value: "Ruby"9735 is expected to eq "Ruby"9736 key: :introduced_by_url, value: "http://test.com", expected_value: "[Introduced by](http://test.com)"9737 is expected to eq "[Introduced by](http://test.com)"9738 key: :tier, value: ["gold", "premium"], expected_value: "gold, premium"9739 is expected to eq "gold, premium"9740 key: :distribution, value: ["ce", "ee"], expected_value: "ce, ee"9741 is expected to eq "ce, ee"9742 key: :key_path, value: "key.path", expected_value: "**`key.path`**"9743 is expected to eq "**`key.path`**"9744 key: :milestone, value: "13.4", expected_value: "13.4"9745 is expected to eq "13.4"9746 key: :status, value: "data_available", expected_value: "data_available"9747 is expected to eq "data_available"9748RuboCop::Cop::Scalability::CronWorkerContext9749 adds an offense when including CronjobQueue9750 does not add offenses for other workers9751 does not add an offense when the class defines a context9752 does not add an offense when the worker calls `with_context`9753 does not add an offense when the worker calls `bulk_perform_async_with_contexts`9754 does not add an offense when the worker calls `bulk_perform_in_with_contexts`9755DeclarativePolicy9756 .class_for9757 uses declarative_policy_class if present9758 infers policy class from name9759 raises error if not found9760 when found policy class does not inherit base9761 raises error if inferred class does not inherit Base9762Gitlab::Config::Entry::Configurable9763 validations9764 when entry is a hash9765 correctly validates an instance9766 when entry is not a hash9767 invalidates the instance9768 configured entries9769 .nodes9770 has valid nodes9771 creates a node factory9772 returns a duplicated factory object9773 .reserved_node_names9774 returns all nodes with reserved: true9775Gitlab::GithubImport::LabelFinder9776 #id_for9777 with a cache in place9778 returns the ID of the given label9779 returns nil for an empty cache key9780 returns nil for a non existing label name9781 without a cache in place9782 returns nil for a label9783 #build_cache9784 builds the cache of all project labels9785 #cache_key_for9786 returns the cache key for a label name9787MicrosoftTeams::Notifier9788 #ping9789 expects to receive successful answer9790 #body9791 returns Markdown-based body when HTML was passed9792 fails when empty Hash was passed9793Gitlab::Checks::ForcePush9794 .force_push?9795 returns false if the repo is empty9796 checks if old rev is an anchestor9797ActionMailer hooks9798 smime signature interceptor9799 is disabled by default9800 interceptor testbed9801 email_enabled: false, email_smime_enabled: false, smime_interceptor_enabled: false9802 is enabled depending on settings9803 email_enabled: false, email_smime_enabled: true, smime_interceptor_enabled: false9804 is enabled depending on settings9805 email_enabled: true, email_smime_enabled: false, smime_interceptor_enabled: false9806 is enabled depending on settings9807 email_enabled: true, email_smime_enabled: true, smime_interceptor_enabled: true9808 is enabled depending on settings9809RuboCop::Cop::AvoidBreakFromStrongMemoize9810 flags violation for break inside strong_memoize9811 flags violation for break inside strong_memoize nested blocks9812 doesn't flag violation for next inside strong_memoize9813 doesn't flag violation for break inside blocks9814 doesn't call add_offense twice for nested blocks9815 doesn't check when block is empty9816Gitlab::Ci::Status::Created9817 #text9818 is expected to eq "created"9819 #label9820 is expected to eq "created"9821 #icon9822 is expected to eq "status_created"9823 #favicon9824 is expected to eq "favicon_status_created"9825 #group9826 is expected to eq "created"9827 #details_path9828 is expected to be nil9829BulkImports::Pipeline::Context9830 #group9831 is expected to eq #<InstanceDouble(Group) (anonymous)>9832 #current_user9833 is expected to eq #<InstanceDouble(User) (anonymous)>9834 #current_user9835 is expected to eq :config9836Gitlab::StaticSiteEditor::Config::FileConfig::Entry::ImageUploadPath9837 validations9838 with a valid config9839 is expected to be valid9840 #value9841 returns a image_upload_path key9842 with an invalid config9843 is expected not to be valid9844 reports errors about wrong type9845 .default9846 returns default image_upload_path9847Banzai::Filter::ImageLinkFilter9848 wraps the image with a link to the image src9849 does not wrap a duplicate link9850 works with external images9851 works with inline images9852 keep the data-canonical-src9853Stepable9854 stops after the first non success status9855 when all methods return success9856 calls all methods in order9857 merges variables returned by all steps9858 can modify results of previous steps9859 with multiple stepable classes9860 does not leak steps9861Gitlab::Metrics::ElasticsearchRackMiddleware9862 #call9863 calls the app9864 records elasticsearch metrics9865 records elasticsearch metrics if an error is raised9866 when there are no elasticsearch requests9867 does not record any metrics9868Gitlab::Analytics::CycleAnalytics::StageEvents::IssueStageEnd9869 behaves like value stream analytics event9870 is expected to be a kind of String9871 is expected to be a kind of Symbol9872 is expected to include ApplicationRecord(abstract)9873 is expected to respond to #timestamp_projection9874 is expected to respond to #markdown_description9875 is expected to be a kind of Array9876 #apply_query_customization9877 expects an ActiveRecord::Relation object as argument and returns a modified version of it9878Gitlab::RequestContext9879 is expected to have attributes {:client_ip => nil, :request_start_time => nil, :start_thread_cpu_time => nil}9880 #request_deadline9881 sets the time to 57 seconds in the future9882 returns nil if there is no start time9883 #ensure_request_deadline_not_exceeded!9884 does not raise an error when there was no deadline9885 does not raise an error if the deadline is in the future9886 raises an error when the deadline is in the past9887RuboCop::Cop::DestroyAll9888 flags the use of destroy_all with a send receiver9889 flags the use of destroy_all with a constant receiver9890 flags the use of destroy_all when passing arguments9891 flags the use of destroy_all with a local variable receiver9892 does not flag the use of delete_all9893Gitlab::SQL::Glob9894 .to_like9895 matches * as %9896 matches % literally9897 matches _ literally9898Gitlab::Pagination::OffsetHeaderBuilder9899 #execute9900 sets headers to request context9901 exclude total headers9902 does not set total headers to request context9903 pass data without counts9904 does not set total headers to request context9905Experiments::RecordConversionEventWorker#perform9906 when the experiment is active9907 is labeled as idempotent9908 performs multiple times sequentially without raising an exception9909 records the event9910 when the experiment is not active9911 records the event9912Gitlab::Ci::Status::Manual9913 #text9914 is expected to eq "manual"9915 #label9916 is expected to eq "manual action"9917 #icon9918 is expected to eq "status_manual"9919 #favicon9920 is expected to eq "favicon_status_manual"9921 #group9922 is expected to eq "manual"9923ErrorTracking::BaseService9924 #compose_response9925 returns bad_request error when response has an error key9926 returns server error when response has missing key error_type9927 returns no content when response is nil9928 when result has no errors key9929 raises NotImplementedError9930 when parse_response is implemented9931 returns successful response9932 returns successful response with changes from passed block9933Resolvers::UserResolver9934 #resolve9935 raises an ArgumentError when both an ID and username are provided9936 when neither an ID or a username is provided9937 raises an ArgumentError9938 by username9939 returns the correct user9940 by ID9941 returns the correct user9942Gitlab::Ci::MaskSecret9943 #mask9944 masks exact number of characters9945 masks multiple occurrences9946 does not mask if not found9947 does support null token9948 does not change a bytesize of a value9949Graphql::Var9950 associates a name with a type and an initially empty value9951 has a correct signature9952 implements to_graphql_value as $name9953 can set a value using with, returning a new object9954 returns an object suitable for passing to post_graphql(variables:)9955Gitlab::ImportExport::JSON::NdjsonWriter9956 #write_attributes9957 writes correct json to root9958 #write_relation9959 when single relation is serialized9960 appends json in correct file9961 when single relation is already serialized9962 raise exception9963 #write_relation_array9964 writes json in correct files9965RuboCop::Cop::Graphql::GIDExpectedType9966 adds an offense when there is no expected_type parameter9967 does not add an offense for calls that have an expected_type parameter9968AccessTokensHelper9969 #scope_description9970 prefix: :personal_access_token, description_location: [:doorkeeper, :scope_desc]9971 is expected to eq [:doorkeeper, :scope_desc]9972 prefix: :project_access_token, description_location: [:doorkeeper, :project_access_token_scope_desc]9973 is expected to eq [:doorkeeper, :project_access_token_scope_desc]9974Gitlab::SidekiqMiddleware::DuplicateJobs::Server9975 with until_executing strategy9976 #call9977 removes the stored job from redis before execution9978 with until_executed strategy9979 removes the stored job from redis after execution9980Types::GroupInvitationType9981 is expected to expose permissions using Types::PermissionTypes::Group9982 is expected to eq "GroupInvitation"9983 is expected to require graphql authorizations :read_group9984 has the expected fields9985Constraints::JiraEncodedUrlConstrainer9986 #matches?9987 when there is no /-/jira prefix and no encoded slash9988 is expected to eq false9989 when tree path contains encoded slash9990 is expected to eq false9991 when path has /-/jira prefix9992 is expected to eq true9993 when project_id has encoded slash9994 is expected to eq true9995Gitlab::GithubImport::Representation9996 .symbolize_hash9997 returns a Hash with the keys as Symbols9998 parses timestamp fields into Time instances9999FutureDateValidator10000 past date10001 is expected not to be valid10002 current date10003 is expected to be valid10004 future date10005 is expected to be valid10006Gitlab::Chat10007 .available?10008 returns true when the chatops feature is available10009 returns false when the chatops feature is not available10010Releases::Source10011 .all10012 returns all formats of sources10013 #url10014 returns zip archived source url10015 when ref is directory structure10016 converts slash to dash10017Gitlab::View::Presenter::Delegated10018 includes Gitlab::View::Presenter::Base10019 #initialize10020 takes arbitrary key/values and exposes them10021 raise an error if the presentee already respond to method10022 delegation10023 forwards missing methods to subject10024Gitlab::Ci::Build::Artifacts::Adapters::RawStream10025 #initialize10026 when stream is passed10027 initialized10028 when stream is not passed10029 raises an error10030 #each_blob10031 when file is not empty10032 iterates content10033 when file is empty10034 does not iterate content10035Gitlab::HookData::SubgroupBuilder10036 #build10037 data10038 on create10039 is expected to eq "subgroup_create"10040 behaves like includes the required attributes10041 includes the required attributes10042 on destroy10043 is expected to eq "subgroup_destroy"10044 behaves like includes the required attributes10045 includes the required attributes10046Gitlab::MultiDestinationLogger10047 with no primary logger set10048 primary_logger raises an error10049 with 2 loggers set10050 logs info to 2 loggers10051RuboCop::Cop::Migration::RemoveIndex10052 when in migration10053 registers an offense when remove_index is used10054 when outside of migration10055 registers no offense10056RuboCop::Cop::SidekiqOptionsQueue10057 registers an offense when `sidekiq_options` is used with the `queue` option10058 does not register an offense when `sidekiq_options` is used with another option10059Spam::Concerns::HasSpamActionResponseFields10060 #with_spam_action_response_fields10061 merges in spam action fields from spammable10062Backup::Artifacts10063 #initialize10064 uses the correct upload dir10065 #dump10066 uses the correct artifact dir10067 excludes tmp from backup tar10068Gitlab::Search::SortOptions10069 .sort_and_direction10070 using order_by and sort10071 returns matched options10072 using just sort10073 returns matched options10074 when unknown option10075 returns unknown10076Types::Snippets::BlobActionEnum10077 is expected to eq "SnippetBlobActionEnum"10078 exposes all file input action types10079Gitlab::Audit::NullAuthor10080 .for10081 returns an DeletedAuthor10082 returns an UnauthenticatedAuthor when id equals -110083 #current_sign_in_ip10084 is expected to be nil10085Gitlab::Ci::Status::Group::Common10086 does not have action10087 has details10088 has no details_path10089Gitlab::GithubImport::SequentialImporter10090 #execute10091 imports a project in sequence10092API::Validations::Validators::UntrustedRegexp10093 valid regex10094 does not raise a validation error10095 invalid regex10096 raises a validation error10097Gitlab::Graphql::CallsGitaly::Instrumentation10098 #calls_gitaly_check10099 if there are no Gitaly calls10100 does not raise an error if calls_gitaly is false10101 if there is at least 1 Gitaly call10102 raises an error if calls_gitaly: is false or not defined10103Gitlab::PhabricatorImport::Conduit::Maniphest10104 #tasks10105 calls the api with the correct params10106 returns a parsed response10107Presentable10108 #present10109 returns a presenter10110 takes optional attributes10111Types::LabelType10112 has the correct fields10113 is expected to require graphql authorizations :read_label10114Gitlab::Pages::Settings10115 #path10116 is expected to eq "the path"10117 when running under a web server outside of test mode10118 raises a DiskAccessDenied exception10119Gitlab::Git::ChangedPath10120 #new_file?10121 when it is a new file10122 returns true10123 when it is not a new file10124 returns false10125Gitlab::Database::ObsoleteIgnoredColumns10126 #execute10127 returns a list of class names and columns pairs10128Gitlab::Ci::Build::Port10129 when port is defined as an integer10130 populates the object10131 when port is defined as hash10132 populates the object10133Gitlab::AppJsonLogger10134 logs a hash as a JSON10135 logs a string as a JSON10136EntityRequest10137 methods created10138 defines accessible attributes10139 raises error when attribute is not defined10140Environments::AutoStopCronWorker10141 executes Environments::AutoStopService10142Evidences::EvidenceSerializer10143 represents an EvidenceEntity entity10144Gitlab::Middleware::ReleaseEnv10145 #call10146 calls the app and clears the env10147Gitlab::Elasticsearch::Logs::Pods10148 #pods10149 returns the pods10150Types::PermissionTypes::MergeRequest10151 is expected to have graphql fields :read_merge_request, :admin_merge_request, :update_merge_request, :create_note, :push_to_source_branch, :remove_source_branch, :cherry_pick_on_current_merge_request, :revert_on_current_merge_request, and :can_merge10152API::Helpers::Pagination10153 delegates to OffsetPagination10154PipelineBackgroundQueue10155 sets a default object storage queue automatically10156Gitlab::Kubernetes::Role10157 #generate10158 is expected to eq #<Kubeclient::Resource metadata={:name=>"example-name", :namespace=>"example-namespace"}, rules=[{:ap...>["hello.world"], :resources=>["oil", "diamonds", "coffee"], :verbs=>["say", "do", "walk", "run"]}]>10159Types::Packages::PackageWithoutVersionsType10160 includes all the package fields10161Types::Ci::JobArtifactType10162 has the correct fields10163Bitbucket::Representation::User10164 #username10165 returns correct value10166Knapsack report was generated. Preview:10168 "spec/models/ci/build_spec.rb": 98.58996438980103,10169 "spec/models/concerns/issuable_spec.rb": 47.59259867668152,10170 "spec/lib/gitlab/import_export/project/tree_saver_spec.rb": 41.786511182785034,10171 "spec/services/projects/create_service_spec.rb": 31.65529155731201,10172 "spec/lib/gitlab/bare_repository_import/importer_spec.rb": 24.438579559326172,10173 "spec/policies/ci/build_policy_spec.rb": 25.963078260421753,10174 "spec/helpers/visibility_level_helper_spec.rb": 20.34692406654358,10175 "spec/serializers/environment_serializer_spec.rb": 22.64296269416809,10176 "spec/lib/gitlab/gpg/invalid_gpg_signature_updater_spec.rb": 11.11269211769104,10177 "spec/services/merge_requests/reopen_service_spec.rb": 16.481199026107788,10178 "spec/serializers/group_child_entity_spec.rb": 17.518970012664795,10179 "spec/models/project_services/discord_service_spec.rb": 14.297526359558105,10180 "spec/models/project_services/unify_circuit_service_spec.rb": 15.410046100616455,10181 "spec/graphql/mutations/merge_requests/set_labels_spec.rb": 12.614201545715332,10182 "spec/models/ci/build_trace_chunk_spec.rb": 14.647263050079346,10183 "spec/helpers/projects_helper_spec.rb": 7.540271759033203,10184 "spec/models/project_services/teamcity_service_spec.rb": 9.784690856933594,10185 "spec/lib/gitlab/ci/status/bridge/factory_spec.rb": 10.590563535690308,10186 "spec/lib/gitlab/ci/templates/npm_spec.rb": 11.666666746139526,10187 "spec/models/list_spec.rb": 11.50217866897583,10188 "spec/lib/gitlab/data_builder/note_spec.rb": 9.477805852890015,10189 "spec/lib/gitlab/ci/status/build/failed_spec.rb": 8.42855978012085,10190 "spec/models/concerns/deprecated_assignee_spec.rb": 9.044346332550049,10191 "spec/lib/banzai/filter/issuable_state_filter_spec.rb": 7.037186145782471,10192 "spec/services/alert_management/process_prometheus_alert_service_spec.rb": 6.8450608253479,10193 "spec/services/ci/create_pipeline_service/parent_child_pipeline_spec.rb": 6.22143030166626,10194 "spec/models/terraform/state_spec.rb": 5.56179404258728,10195 "spec/models/commit_collection_spec.rb": 5.129514694213867,10196 "spec/services/search/group_service_spec.rb": 7.211085796356201,10197 "spec/uploaders/ci/pipeline_artifact_uploader_spec.rb": 4.419539451599121,10198 "spec/services/auto_merge_service_spec.rb": 5.811886310577393,10199 "spec/views/projects/edit.html.haml_spec.rb": 6.057901620864868,10200 "spec/finders/fork_projects_finder_spec.rb": 5.629305362701416,10201 "spec/models/ci/build_trace_chunks/redis_spec.rb": 4.775011301040649,10202 "spec/lib/gitlab/blob_helper_spec.rb": 4.740647792816162,10203 "spec/models/project_services/chat_notification_service_spec.rb": 5.127314805984497,10204 "spec/services/projects/prometheus/alerts/notify_service_spec.rb": 3.8205904960632324,10205 "spec/models/concerns/each_batch_spec.rb": 4.1212475299835205,10206 "spec/views/ci/status/_icon.html.haml_spec.rb": 3.7551321983337402,10207 "spec/lib/gitlab/ci/charts_spec.rb": 4.467501401901245,10208 "spec/workers/repository_check/single_repository_worker_spec.rb": 4.2699315547943115,10209 "spec/lib/banzai/reference_redactor_spec.rb": 2.6599061489105225,10210 "spec/lib/gitlab/git/tag_spec.rb": 3.068345785140991,10211 "spec/services/releases/destroy_service_spec.rb": 3.421191930770874,10212 "spec/models/resource_state_event_spec.rb": 4.021691083908081,10213 "spec/views/notify/pipeline_success_email.text.erb_spec.rb": 4.147643566131592,10214 "spec/lib/gitlab/conflict/file_collection_spec.rb": 2.7934467792510986,10215 "spec/services/ci/pipeline_artifacts/destroy_expired_artifacts_service_spec.rb": 2.796483278274536,10216 "spec/finders/user_recent_events_finder_spec.rb": 3.9088637828826904,10217 "spec/finders/metrics/users_starred_dashboards_finder_spec.rb": 1.928471565246582,10218 "spec/services/incident_management/incidents/create_service_spec.rb": 3.0441901683807373,10219 "spec/finders/packages/tags_finder_spec.rb": 2.8117260932922363,10220 "spec/policies/user_policy_spec.rb": 3.212083101272583,10221 "spec/models/clusters/agent_spec.rb": 3.1126770973205566,10222 "spec/lib/gitlab/git/cross_repo_comparer_spec.rb": 2.739136219024658,10223 "spec/lib/gitlab/ci/trace/chunked_io_spec.rb": 3.4225192070007324,10224 "spec/services/merge_requests/reload_diffs_service_spec.rb": 3.5372142791748047,10225 "spec/graphql/resolvers/environments_resolver_spec.rb": 2.9211041927337646,10226 "spec/lib/gitlab/github_import/importer/labels_importer_spec.rb": 2.83402681350708,10227 "spec/views/events/event/_push.html.haml_spec.rb": 0.772219181060791,10228 "spec/workers/jira_connect/sync_project_worker_spec.rb": 2.8701841831207275,10229 "spec/models/concerns/reactive_caching_spec.rb": 1.511627435684204,10230 "spec/workers/delete_diff_files_worker_spec.rb": 2.537961483001709,10231 "spec/rack_servers/puma_spec.rb": 2.035233974456787,10232 "spec/services/import/github_service_spec.rb": 2.5474612712860107,10233 "spec/graphql/resolvers/design_management/designs_resolver_spec.rb": 2.4856979846954346,10234 "spec/services/merge_requests/merge_orchestration_service_spec.rb": 2.4291248321533203,10235 "spec/tasks/gitlab/git_rake_spec.rb": 2.4359865188598633,10236 "spec/lib/release_highlights/validator_spec.rb": 1.992659330368042,10237 "spec/services/milestones/issues_count_service_spec.rb": 2.1658830642700195,10238 "spec/lib/gitlab/checks/diff_check_spec.rb": 2.244320869445801,10239 "spec/lib/gitlab/application_rate_limiter_spec.rb": 2.3200578689575195,10240 "spec/lib/gitlab/checks/tag_check_spec.rb": 2.148829936981201,10241 "spec/helpers/releases_helper_spec.rb": 2.066168785095215,10242 "spec/lib/gitlab/ci/pipeline/chain/build_spec.rb": 1.7451164722442627,10243 "spec/lib/container_registry/client_spec.rb": 1.755741834640503,10244 "spec/lib/gitlab/email/smime/certificate_spec.rb": 1.220597743988037,10245 "spec/services/ci/archive_trace_service_spec.rb": 2.2108757495880127,10246 "spec/finders/freeze_periods_finder_spec.rb": 1.7841660976409912,10247 "spec/lib/gitlab/ci/templates/managed_cluster_applications_gitlab_ci_yaml_spec.rb": 1.1237285137176514,10248 "spec/lib/gitlab/auth/ldap/access_spec.rb": 1.8176159858703613,10249 "spec/workers/invalid_gpg_signature_update_worker_spec.rb": 0.791621208190918,10250 "spec/lib/gitlab/metrics/prometheus_spec.rb": 2.030233860015869,10251 "spec/services/pages_domains/create_acme_order_service_spec.rb": 2.5656378269195557,10252 "spec/services/metrics/dashboard/gitlab_alert_embed_service_spec.rb": 0.17667865753173828,10253 "spec/services/ci/resource_groups/assign_resource_from_resource_group_service_spec.rb": 1.5535838603973389,10254 "spec/models/design_management/repository_spec.rb": 1.4852023124694824,10255 "spec/views/projects/notes/_more_actions_dropdown.html.haml_spec.rb": 1.631239652633667,10256 "spec/services/projects/create_from_template_service_spec.rb": 1.4903109073638916,10257 "spec/models/operations/feature_flags/strategy_spec.rb": 1.482123851776123,10258 "spec/workers/rebase_worker_spec.rb": 1.1487324237823486,10259 "spec/workers/new_note_worker_spec.rb": 1.4131066799163818,10260 "spec/lib/gitlab/database_importers/self_monitoring/project/delete_service_spec.rb": 1.4063081741333008,10261 "spec/views/projects/issues/import_csv/_button.html.haml_spec.rb": 1.071922779083252,10262 "spec/workers/concerns/gitlab/github_import/stage_methods_spec.rb": 1.458561897277832,10263 "spec/serializers/feature_flag_serializer_spec.rb": 1.2289094924926758,10264 "spec/models/blob_viewer/readme_spec.rb": 1.1661739349365234,10265 "spec/graphql/mutations/container_repositories/destroy_tags_spec.rb": 1.109431505203247,10266 "spec/models/blob_viewer/license_spec.rb": 1.0371053218841553,10267 "spec/workers/ci/pipeline_artifacts/create_quality_report_worker_spec.rb": 1.2347352504730225,10268 "spec/lib/gitlab/import_export/shared_spec.rb": 1.2730026245117188,10269 "spec/models/deployment_cluster_spec.rb": 1.5463941097259521,10270 "spec/lib/gitlab/jira_import_spec.rb": 1.1247303485870361,10271 "spec/presenters/instance_clusterable_presenter_spec.rb": 0.8816540241241455,10272 "spec/lib/gitlab/database_importers/common_metrics/importer_spec.rb": 0.857891321182251,10273 "spec/models/lfs_object_spec.rb": 0.7980847358703613,10274 "spec/graphql/resolvers/group_milestones_resolver_spec.rb": 1.0869252681732178,10275 "spec/lib/gitlab/data_builder/feature_flag_spec.rb": 0.9872620105743408,10276 "spec/serializers/member_serializer_spec.rb": 0.9576022624969482,10277 "spec/services/ci/create_pipeline_service/merge_requests_spec.rb": 0.8688035011291504,10278 "spec/models/ci/pipeline_variable_spec.rb": 1.0349533557891846,10279 "spec/views/projects/pages_domains/show.html.haml_spec.rb": 0.6712620258331299,10280 "spec/workers/gitlab/github_import/refresh_import_jid_worker_spec.rb": 0.9958021640777588,10281 "spec/lib/gitlab/sidekiq_middleware/server_metrics_spec.rb": 0.824639081954956,10282 "spec/serializers/cluster_error_entity_spec.rb": 0.6666874885559082,10283 "spec/lib/banzai/reference_parser/design_parser_spec.rb": 0.7394275665283203,10284 "spec/validators/cron_freeze_period_timezone_validator_spec.rb": 0.8092572689056396,10285 "spec/graphql/resolvers/projects/jira_projects_resolver_spec.rb": 0.7655336856842041,10286 "spec/serializers/merge_request_for_pipeline_entity_spec.rb": 0.8544819355010986,10287 "spec/services/merge_requests/export_csv_service_spec.rb": 0.6363625526428223,10288 "spec/models/blob_viewer/markup_spec.rb": 0.7502069473266602,10289 "spec/helpers/branches_helper_spec.rb": 0.7143247127532959,10290 "spec/lib/gitlab/x509/commit_spec.rb": 0.5442318916320801,10291 "spec/lib/gitlab/ci/templates/flutter_gitlab_ci_yaml_spec.rb": 0.7098639011383057,10292 "spec/lib/gitlab/ci/build/credentials/factory_spec.rb": 0.61195969581604,10293 "spec/workers/object_pool/join_worker_spec.rb": 0.6984732151031494,10294 "spec/services/packages/pypi/create_package_service_spec.rb": 0.700143575668335,10295 "spec/lib/gitlab/git_access_wiki_spec.rb": 0.5529861450195312,10296 "spec/views/projects/settings/operations/show.html.haml_spec.rb": 0.575953483581543,10297 "spec/tasks/gitlab/generate_sample_prometheus_data_spec.rb": 0.6874783039093018,10298 "spec/graphql/resolvers/error_tracking/sentry_detailed_error_resolver_spec.rb": 0.5655214786529541,10299 "spec/lib/gitlab/ci/build/policy/kubernetes_spec.rb": 0.583458662033081,10300 "spec/workers/build_success_worker_spec.rb": 0.6257946491241455,10301 "spec/services/packages/debian/update_distribution_service_spec.rb": 0.5518035888671875,10302 "spec/lib/gitlab/gitaly_client/operation_service_spec.rb": 0.47745609283447266,10303 "spec/lib/gitlab/import_export/design_repo_restorer_spec.rb": 0.4960348606109619,10304 "spec/validators/addressable_url_validator_spec.rb": 0.49939727783203125,10305 "spec/views/admin/sessions/two_factor.html.haml_spec.rb": 0.546236515045166,10306 "spec/services/environments/canary_ingress/update_service_spec.rb": 0.4322783946990967,10307 "spec/workers/purge_dependency_proxy_cache_worker_spec.rb": 0.2639470100402832,10308 "spec/helpers/page_layout_helper_spec.rb": 0.4788193702697754,10309 "spec/lib/banzai/pipeline/description_pipeline_spec.rb": 0.46659183502197266,10310 "spec/serializers/feature_flag_summary_serializer_spec.rb": 0.671168327331543,10311 "spec/workers/deployments/drop_older_deployments_worker_spec.rb": 0.4458329677581787,10312 "spec/graphql/mutations/merge_requests/set_subscription_spec.rb": 0.380094051361084,10313 "spec/lib/gitlab/external_authorization/client_spec.rb": 0.3709540367126465,10314 "spec/models/ci/build_trace_section_name_spec.rb": 0.34465551376342773,10315 "spec/models/user_status_spec.rb": 0.31492066383361816,10316 "spec/lib/gitlab/ci/parsers/coverage/cobertura_spec.rb": 0.34958958625793457,10317 "spec/services/packages/create_temporary_package_service_spec.rb": 0.3655276298522949,10318 "spec/workers/container_expiration_policy_worker_spec.rb": 0.37888264656066895,10319 "spec/lib/constraints/admin_constrainer_spec.rb": 0.30451178550720215,10320 "spec/serializers/group_link/group_link_entity_spec.rb": 0.28362345695495605,10321 "spec/helpers/hooks_helper_spec.rb": 0.30800676345825195,10322 "spec/lib/api/entities/merge_request_basic_spec.rb": 0.32678937911987305,10323 "spec/serializers/blob_entity_spec.rb": 0.29911279678344727,10324 "spec/lib/gitlab/sidekiq_middleware/size_limiter/validator_spec.rb": 0.3061511516571045,10325 "spec/lib/gitlab/ci/config/external/file/remote_spec.rb": 0.27870917320251465,10326 "spec/lib/gitlab/ci/pipeline/expression/lexeme/not_equals_spec.rb": 0.27491283416748047,10327 "spec/services/namespace_settings/update_service_spec.rb": 0.3033106327056885,10328 "spec/lib/gitlab/git/merge_base_spec.rb": 0.2733018398284912,10329 "spec/lib/gitlab/ci/config/entry/retry_spec.rb": 0.2539377212524414,10330 "spec/lib/gitlab/gitaly_client/praefect_info_service_spec.rb": 0.2787811756134033,10331 "spec/helpers/operations_helper_spec.rb": 0.22696399688720703,10332 "spec/services/users/update_canonical_email_service_spec.rb": 0.2473468780517578,10333 "spec/lib/gitlab/github_import/representation/pull_request_spec.rb": 0.22903752326965332,10334 "spec/lib/gitlab/gitaly_client/cleanup_service_spec.rb": 0.2527298927307129,10335 "spec/services/projects/count_service_spec.rb": 0.23914456367492676,10336 "spec/helpers/projects/error_tracking_helper_spec.rb": 0.2131788730621338,10337 "spec/lib/banzai/filter/broadcast_message_sanitization_filter_spec.rb": 0.19161772727966309,10338 "spec/lib/gitlab/encoding_helper_spec.rb": 0.16428351402282715,10339 "spec/workers/user_status_cleanup/batch_worker_spec.rb": 0.22115182876586914,10340 "spec/lib/gitlab/sidekiq_config/cli_methods_spec.rb": 0.18604755401611328,10341 "spec/services/webauthn/authenticate_service_spec.rb": 0.19001078605651855,10342 "spec/graphql/resolvers/project_pipelines_resolver_spec.rb": 0.1581435203552246,10343 "spec/lib/gitlab/popen/runner_spec.rb": 0.07110857963562012,10344 "spec/models/blob_viewer/go_mod_spec.rb": 0.17664694786071777,10345 "spec/lib/gitlab/auth/blocked_user_tracker_spec.rb": 0.15456557273864746,10346 "spec/services/packages/nuget/sync_metadatum_service_spec.rb": 0.18578362464904785,10347 "spec/lib/gitlab/snippet_search_results_spec.rb": 0.17055225372314453,10348 "spec/helpers/projects/terraform_helper_spec.rb": 0.12560248374938965,10349 "spec/lib/system_check/orphans/namespace_check_spec.rb": 0.1861884593963623,10350 "spec/lib/quality/test_level_spec.rb": 0.13937830924987793,10351 "spec/workers/error_tracking_issue_link_worker_spec.rb": 0.11982417106628418,10352 "spec/lib/gitlab/ci/reports/test_report_summary_spec.rb": 0.15385746955871582,10353 "spec/services/incident_management/pager_duty/process_webhook_service_spec.rb": 0.1596670150756836,10354 "spec/models/namespace/package_setting_spec.rb": 0.13979697227478027,10355 "spec/lib/gitlab/usage_data_counters/static_site_editor_counter_spec.rb": 0.12236809730529785,10356 "spec/lib/gitlab/alert_management/payload/managed_prometheus_spec.rb": 0.12557029724121094,10357 "spec/views/admin/services/index.html.haml_spec.rb": 0.13578176498413086,10358 "spec/models/packages/debian/group_component_spec.rb": 0.13673686981201172,10359 "spec/models/packages/nuget/dependency_link_metadatum_spec.rb": 0.12935280799865723,10360 "spec/uploaders/dependency_proxy/file_uploader_spec.rb": 0.10989689826965332,10361 "spec/lib/gitlab/metrics/methods_spec.rb": 0.1149442195892334,10362 "spec/serializers/move_to_project_entity_spec.rb": 0.08733224868774414,10363 "spec/workers/packages/composer/cache_cleanup_worker_spec.rb": 0.10711479187011719,10364 "spec/lib/gitlab/ci/config/entry/jobs_spec.rb": 0.09372115135192871,10365 "spec/lib/gitlab/polling_interval_spec.rb": 0.07967758178710938,10366 "spec/lib/gitlab/auth/ip_rate_limiter_spec.rb": 0.08206939697265625,10367 "spec/lib/gitlab/metrics/dashboard/validator/errors_spec.rb": 0.09368777275085449,10368 "spec/lib/gitlab/github_import/parallel_scheduling_spec.rb": 0.1003103256225586,10369 "spec/lib/gitlab/ci/config/entry/key_spec.rb": 0.10982966423034668,10370 "spec/lib/gitlab/git/attributes_parser_spec.rb": 0.10915708541870117,10371 "spec/lib/gitlab/ci/config/entry/variables_spec.rb": 0.10215997695922852,10372 "spec/lib/event_filter_spec.rb": 0.07127261161804199,10373 "spec/lib/gitlab/ci/config/entry/product/matrix_spec.rb": 0.08351993560791016,10374 "spec/views/errors/access_denied.html.haml_spec.rb": 0.09545207023620605,10375 "spec/lib/gitlab/ci/config/entry/product/parallel_spec.rb": 0.0809023380279541,10376 "spec/lib/gitlab/file_detector_spec.rb": 0.07448077201843262,10377 "spec/graphql/types/group_type_spec.rb": 0.06470537185668945,10378 "spec/lib/gitlab/cross_project_access/check_info_spec.rb": 0.07076883316040039,10379 "spec/lib/gitlab/static_site_editor/config/file_config/entry/mount_spec.rb": 0.07513260841369629,10380 "spec/rubocop/cop/rspec/be_success_matcher_spec.rb": 0.15825915336608887,10381 "spec/workers/repository_check/dispatch_worker_spec.rb": 0.07260704040527344,10382 "spec/lib/gitlab/metrics/dashboard/service_selector_spec.rb": 0.07712435722351074,10383 "spec/rubocop/cop/migration/prevent_strings_spec.rb": 0.07019758224487305,10384 "spec/models/concerns/ignorable_columns_spec.rb": 0.05724811553955078,10385 "spec/lib/gitlab/etag_caching/router/restful_spec.rb": 0.07102298736572266,10386 "spec/graphql/types/snippets/blob_type_spec.rb": 0.05456185340881348,10387 "spec/lib/gitlab/rack_attack/user_allowlist_spec.rb": 0.05733919143676758,10388 "spec/lib/gitlab/metrics/samplers/threads_sampler_spec.rb": 0.0662541389465332,10389 "spec/services/metrics/dashboard/panel_preview_service_spec.rb": 0.05806398391723633,10390 "spec/lib/gitlab/email/hook/smime_signature_interceptor_spec.rb": 0.06113123893737793,10391 "spec/workers/namespaces/onboarding_progress_worker_spec.rb": 0.035741329193115234,10392 "spec/lib/grafana/validator_spec.rb": 0.060993194580078125,10393 "spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/until_executed_spec.rb": 0.06158328056335449,10394 "spec/lib/gitlab/batch_worker_context_spec.rb": 0.05041861534118652,10395 "spec/lib/gitlab/ci/build/artifacts/adapters/gzip_stream_spec.rb": 0.04926443099975586,10396 "spec/validators/color_validator_spec.rb": 0.05228066444396973,10397 "spec/lib/gitlab/email/hook/additional_headers_interceptor_spec.rb": 0.042009830474853516,10398 "spec/lib/gitlab/kubernetes/namespace_spec.rb": 0.0554959774017334,10399 "spec/workers/concerns/waitable_worker_spec.rb": 0.05666542053222656,10400 "spec/models/postgresql/replication_slot_spec.rb": 0.056975603103637695,10401 "spec/lib/gitlab/instrumentation/redis_spec.rb": 0.05870842933654785,10402 "spec/models/concerns/from_union_spec.rb": 0.03348994255065918,10403 "spec/lib/gitlab/pagination/gitaly_keyset_pager_spec.rb": 0.04319930076599121,10404 "spec/validators/x509_certificate_credentials_validator_spec.rb": 0.03786921501159668,10405 "spec/lib/gitlab/utils/json_size_estimator_spec.rb": 0.04480862617492676,10406 "spec/models/performance_monitoring/prometheus_metric_spec.rb": 0.038497209548950195,10407 "spec/serializers/move_to_project_serializer_spec.rb": 0.029627084732055664,10408 "spec/lib/gitlab/usage/docs/value_formatter_spec.rb": 0.03924989700317383,10409 "spec/rubocop/cop/scalability/cron_worker_context_spec.rb": 0.04878401756286621,10410 "spec/lib/declarative_policy_spec.rb": 0.028638124465942383,10411 "spec/lib/gitlab/config/entry/configurable_spec.rb": 0.03457236289978027,10412 "spec/lib/gitlab/github_import/label_finder_spec.rb": 0.04390454292297363,10413 "spec/lib/microsoft_teams/notifier_spec.rb": 0.035001516342163086,10414 "spec/lib/gitlab/checks/force_push_spec.rb": 0.03184151649475098,10415 "spec/initializers/action_mailer_hooks_spec.rb": 0.034332275390625,10416 "spec/rubocop/cop/avoid_break_from_strong_memoize_spec.rb": 0.04160594940185547,10417 "spec/lib/gitlab/ci/status/created_spec.rb": 0.03106975555419922,10418 "spec/lib/bulk_imports/pipeline/context_spec.rb": 0.017886877059936523,10419 "spec/lib/gitlab/static_site_editor/config/file_config/entry/image_upload_path_spec.rb": 0.027142763137817383,10420 "spec/lib/banzai/filter/image_link_filter_spec.rb": 0.028420686721801758,10421 "spec/models/concerns/stepable_spec.rb": 0.026534080505371094,10422 "spec/lib/gitlab/metrics/elasticsearch_rack_middleware_spec.rb": 0.026532888412475586,10423 "spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_stage_end_spec.rb": 0.032224178314208984,10424 "spec/lib/gitlab/request_context_spec.rb": 0.033319711685180664,10425 "spec/rubocop/cop/destroy_all_spec.rb": 0.028348922729492188,10426 "spec/lib/gitlab/sql/glob_spec.rb": 0.021974802017211914,10427 "spec/lib/gitlab/pagination/offset_header_builder_spec.rb": 0.020334243774414062,10428 "spec/workers/experiments/record_conversion_event_worker_spec.rb": 0.05646085739135742,10429 "spec/lib/gitlab/ci/status/manual_spec.rb": 0.02541065216064453,10430 "spec/services/error_tracking/base_service_spec.rb": 0.02862715721130371,10431 "spec/graphql/resolvers/user_resolver_spec.rb": 0.031699419021606445,10432 "spec/lib/gitlab/ci/mask_secret_spec.rb": 0.02223515510559082,10433 "spec/support_specs/graphql/var_spec.rb": 0.02069687843322754,10434 "spec/lib/gitlab/import_export/json/ndjson_writer_spec.rb": 0.021367549896240234,10435 "spec/rubocop/cop/graphql/gid_expected_type_spec.rb": 0.01313924789428711,10436 "spec/helpers/access_tokens_helper_spec.rb": 0.013165950775146484,10437 "spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/server_spec.rb": 0.022008419036865234,10438 "spec/graphql/types/group_invitation_type_spec.rb": 0.019936800003051758,10439 "spec/lib/constraints/jira_encoded_url_constrainer_spec.rb": 0.02107405662536621,10440 "spec/lib/gitlab/github_import/representation_spec.rb": 0.009788990020751953,10441 "spec/validators/future_date_validator_spec.rb": 0.020093679428100586,10442 "spec/lib/gitlab/chat_spec.rb": 0.010631799697875977,10443 "spec/models/releases/source_spec.rb": 0.017543554306030273,10444 "spec/lib/gitlab/view/presenter/delegated_spec.rb": 0.020536422729492188,10445 "spec/lib/gitlab/ci/build/artifacts/adapters/raw_stream_spec.rb": 0.02516007423400879,10446 "spec/lib/gitlab/hook_data/subgroup_builder_spec.rb": 0.01776266098022461,10447 "spec/lib/gitlab/multi_destination_logger_spec.rb": 0.012737035751342773,10448 "spec/rubocop/cop/migration/remove_index_spec.rb": 0.012683391571044922,10449 "spec/rubocop/cop/sidekiq_options_queue_spec.rb": 0.0131988525390625,10450 "spec/spam/concerns/has_spam_action_response_fields_spec.rb": 0.014389753341674805,10451 "spec/lib/backup/artifacts_spec.rb": 0.0170595645904541,10452 "spec/lib/gitlab/search/sort_options_spec.rb": 0.012183666229248047,10453 "spec/graphql/types/snippets/blob_action_enum_spec.rb": 0.008806228637695312,10454 "spec/lib/gitlab/audit/null_author_spec.rb": 0.015342950820922852,10455 "spec/lib/gitlab/ci/status/group/common_spec.rb": 0.013282537460327148,10456 "spec/lib/gitlab/github_import/sequential_importer_spec.rb": 0.011047840118408203,10457 "spec/lib/api/validations/validators/untrusted_regexp_spec.rb": 0.012177705764770508,10458 "spec/lib/gitlab/graphql/calls_gitaly/instrumentation_spec.rb": 0.011450529098510742,10459 "spec/lib/gitlab/phabricator_import/conduit/maniphest_spec.rb": 0.012006759643554688,10460 "spec/models/concerns/presentable_spec.rb": 0.010601282119750977,10461 "spec/graphql/types/label_type_spec.rb": 0.01097726821899414,10462 "spec/lib/gitlab/pages/settings_spec.rb": 0.01019597053527832,10463 "spec/lib/gitlab/git/changed_path_spec.rb": 0.009744882583618164,10464 "spec/lib/gitlab/database/obsolete_ignored_columns_spec.rb": 0.016515254974365234,10465 "spec/lib/gitlab/ci/build/port_spec.rb": 0.00899505615234375,10466 "spec/lib/gitlab/app_json_logger_spec.rb": 0.008912324905395508,10467 "spec/serializers/entity_request_spec.rb": 0.00833582878112793,10468 "spec/workers/environments/auto_stop_cron_worker_spec.rb": 0.005654335021972656,10469 "spec/serializers/evidences/evidence_serializer_spec.rb": 0.0047686100006103516,10470 "spec/lib/gitlab/middleware/release_env_spec.rb": 0.004937171936035156,10471 "spec/lib/gitlab/elasticsearch/logs/pods_spec.rb": 0.007056474685668945,10472 "spec/graphql/types/permission_types/merge_request_spec.rb": 0.005738735198974609,10473 "spec/lib/api/helpers/pagination_spec.rb": 0.0058536529541015625,10474 "spec/workers/concerns/pipeline_background_queue_spec.rb": 0.005612373352050781,10475 "spec/lib/gitlab/kubernetes/role_spec.rb": 0.005786418914794922,10476 "spec/graphql/types/packages/package_without_versions_type_spec.rb": 0.005796194076538086,10477 "spec/graphql/types/ci/job_artifact_type_spec.rb": 0.005043983459472656,10478 "spec/lib/bitbucket/representation/user_spec.rb": 0.00496077537536621110480Knapsack global time execution for tests: 12m 41s10481Pending: (Failures listed here are expected and do not affect your suite's status)10482 1) Ci::PipelineArtifactUploader behaves like builds correct paths #upload_path behaves like matches the method pattern 10483 # No pattern provided, skipping.10484 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:810485 2) Ci::PipelineArtifactUploader behaves like builds correct paths #relative_path is relative10486 # Path not set, skipping.10487 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:4010488 3) Ci::PipelineArtifactUploader behaves like builds correct paths .absolute_path behaves like matches the method pattern 10489 # No pattern provided, skipping.10490 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:810491 4) Ci::PipelineArtifactUploader behaves like builds correct paths .base_dir behaves like matches the method pattern 10492 # No pattern provided, skipping.10493 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:810494 5) Ci::PipelineArtifactUploader when object store is REMOTE behaves like builds correct paths #cache_dir behaves like matches the method pattern 10495 # No pattern provided, skipping.10496 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:810497 6) Ci::PipelineArtifactUploader when object store is REMOTE behaves like builds correct paths #work_dir behaves like matches the method pattern 10498 # No pattern provided, skipping.10499 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:810500 7) Ci::PipelineArtifactUploader when object store is REMOTE behaves like builds correct paths #upload_path behaves like matches the method pattern 10501 # No pattern provided, skipping.10502 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:810503 8) Ci::PipelineArtifactUploader when object store is REMOTE behaves like builds correct paths #relative_path is relative10504 # Path not set, skipping.10505 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:4010506 9) Ci::PipelineArtifactUploader when object store is REMOTE behaves like builds correct paths .absolute_path behaves like matches the method pattern 10507 # No pattern provided, skipping.10508 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:810509 10) Ci::PipelineArtifactUploader when object store is REMOTE behaves like builds correct paths .base_dir behaves like matches the method pattern 10510 # No pattern provided, skipping.10511 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:810512 11) DependencyProxy::FileUploader DependencyProxy::Blob uploader behaves like builds correct paths #upload_path behaves like matches the method pattern 10513 # No pattern provided, skipping.10514 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:810515 12) DependencyProxy::FileUploader DependencyProxy::Blob uploader behaves like builds correct paths #relative_path is relative10516 # Path not set, skipping.10517 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:4010518 13) DependencyProxy::FileUploader DependencyProxy::Blob uploader behaves like builds correct paths .absolute_path behaves like matches the method pattern 10519 # No pattern provided, skipping.10520 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:810521 14) DependencyProxy::FileUploader DependencyProxy::Blob uploader behaves like builds correct paths .base_dir behaves like matches the method pattern 10522 # No pattern provided, skipping.10523 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:810524 15) DependencyProxy::FileUploader DependencyProxy::Blob uploader object store is remote behaves like builds correct paths #cache_dir behaves like matches the method pattern 10525 # No pattern provided, skipping.10526 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:810527 16) DependencyProxy::FileUploader DependencyProxy::Blob uploader object store is remote behaves like builds correct paths #work_dir behaves like matches the method pattern 10528 # No pattern provided, skipping.10529 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:810530 17) DependencyProxy::FileUploader DependencyProxy::Blob uploader object store is remote behaves like builds correct paths #upload_path behaves like matches the method pattern 10531 # No pattern provided, skipping.10532 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:810533 18) DependencyProxy::FileUploader DependencyProxy::Blob uploader object store is remote behaves like builds correct paths #relative_path is relative10534 # Path not set, skipping.10535 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:4010536 19) DependencyProxy::FileUploader DependencyProxy::Blob uploader object store is remote behaves like builds correct paths .absolute_path behaves like matches the method pattern 10537 # No pattern provided, skipping.10538 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:810539 20) DependencyProxy::FileUploader DependencyProxy::Blob uploader object store is remote behaves like builds correct paths .base_dir behaves like matches the method pattern 10540 # No pattern provided, skipping.10541 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:810542Finished in 18 minutes 40 seconds (files took 57.58 seconds to load)105434637 examples, 0 failures, 20 pending10544Wed 03 Mar 2021 12:22:06 PM UTC10546Not uploading cache rails-v4-3 due to policy10548Uploading artifacts...10549coverage/: found 5 matching files and directories 10550WARNING: crystalball/: no matching files 10551deprecations/: found 7 matching files and directories 10552knapsack/: found 3 matching files and directories 10553rspec_flaky/: found 4 matching files and directories 10554rspec_profiling/: found 1 matching files and directories 10555WARNING: tmp/capybara/: no matching files 10556tmp/memory_test/: found 2 matching files and directories 10557tmp/feature_flags/: found 174 matching files and directories 10558log/*.log: found 19 matching files and directories 10559Uploading artifacts as "archive" to coordinator... ok id=1069711868 responseStatus=201 Created token=JvFGmyuu10560Uploading artifacts...10561junit_rspec.xml: found 1 matching files and directories 10562Uploading artifacts as "junit" to coordinator... ok id=1069711868 responseStatus=201 Created token=JvFGmyuu10564Job succeeded