rspec unit pg9 12/20
Passed Started
by
@gitlab-bot

🤖 GitLab Bot 🤖
1Running with gitlab-runner 12.8.0 (1b659122)2 on docker-auto-scale-com 9538b0ab 3 Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.6.5-golang-1.12-git-2.24-lfs-2.9-chrome-73.0-node-12.x-yarn-1.21-postgresql-9.6-graphicsmagick-1.3.34 ...
00:08
4Starting service postgres:9.6.17 ...5Pulling docker image postgres:9.6.17 ...6Using docker image sha256:16f0ba6ed8573409271c409348548ecbefb874f39717d70ea34f3d888631dbb8 for postgres:9.6.17 ...7Starting service redis:alpine ...8Pulling docker image redis:alpine ...9Using docker image sha256:b68707e68547e636f2544e9283f02beed46d536f644573c8b35c368f9abbe078 for redis:alpine ...10Waiting for services to be up and running...11Authenticating with credentials from job payload (GitLab Registry)12Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.6.5-golang-1.12-git-2.24-lfs-2.9-chrome-73.0-node-12.x-yarn-1.21-postgresql-9.6-graphicsmagick-1.3.34 ...13Using docker image sha256:0f9ca78298a31444537de457edb9067ada5eff69e276ed8949386f35b3760183 for registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.6.5-golang-1.12-git-2.24-lfs-2.9-chrome-73.0-node-12.x-yarn-1.21-postgresql-9.6-graphicsmagick-1.3.34 ... 14 Running on runner-9538b0ab-project-278964-concurrent-0 via runner-9538b0ab-gsrm-1583375182-2b99b162...
00:01
16Downloading archived master...17Connecting to storage.googleapis.com (172.217.203.128:443)18gitlab.tar.gz 16% |***** | 135M 0:00:05 ETA19gitlab.tar.gz 55% |***************** | 465M 0:00:01 ETA20gitlab.tar.gz 91% |***************************** | 769M 0:00:00 ETA21gitlab.tar.gz 100% |********************************| 845M 0:00:00 ETA22Extracting tarball into /builds/gitlab-org/gitlab...23Fetching changes with git depth set to 20...24Reinitialized existing Git repository in /builds/gitlab-org/gitlab/.git/25Created fresh repository.27 * [new ref] refs/pipelines/123433062 -> refs/pipelines/12343306228 * [new branch] master -> origin/master29Checking out 2e08c928 as master...30Skipping Git submodules setup32Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/debian-stretch-ruby-2.6.5-pg9.6-node-12.x-3 33Successfully extracted cache35Downloading artifacts from coordinator... ok id=460116507 responseStatus=200 OK token=QUYyHTsa36Downloading artifacts for retrieve-tests-metadata (460116515)...37Downloading artifacts from coordinator... ok id=460116515 responseStatus=200 OK token=wqtvmKyQ38Downloading artifacts for setup-test-env (460116509)...39Downloading artifacts from coordinator... ok id=460116509 responseStatus=200 OK token=sAvRzHNN40WARNING: tmp/tests/gitlab-shell/.gitlab_shell_secret: chmod tmp/tests/gitlab-shell/.gitlab_shell_secret: no such file or directory (suppressing repeats) 42$ date43Thu Mar 5 04:26:39 UTC 202044$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb45$ export GOPATH=$CI_PROJECT_DIR/.go46$ mkdir -p $GOPATH47$ source scripts/utils.sh48$ source scripts/prepare_build.sh49Bundler version 1.17.250Warning: the running version of Bundler (1.17.2) is older than the version that created the lockfile (1.17.3). We suggest you upgrade to the latest version of Bundler by running `gem install bundler`.51The Gemfile's dependencies are satisfied52Successfully installed knapsack-1.18.0531 gem installed54CREATE ROLE55GRANT56Dropped database 'gitlabhq_test'57Created database 'gitlabhq_test'58Dropped database 'gitlabhq_geo_test'59Created database 'gitlabhq_geo_test'60$ date61Thu Mar 5 04:27:32 UTC 202062$ source scripts/rspec_helpers.sh63$ rspec_paralellized_job "--tag ~quarantine --tag ~geo --tag ~level:migration"64KNAPSACK_TEST_FILE_PATTERN: spec/{bin,config,db,dependencies,factories,finders,frontend,graphql,haml_lint,helpers,initializers,javascripts,lib,models,policies,presenters,rack_servers,replicators,routing,rubocop,serializers,services,sidekiq,support_specs,tasks,uploaders,validators,views,workers,elastic_integration}{,/**/}*_spec.rb65Checking gitaly-ruby Gemfile...66Checking gitaly-ruby bundle...67Warning: the running version of Bundler (1.17.2) is older than the version that created the lockfile (1.17.3). We suggest you upgrade to the latest version of Bundler by running `gem install bundler`.68The Gemfile's dependencies are satisfied69Trying to connect to gitaly: ....... OK70Report specs:71spec/services/merge_requests/update_service_spec.rb72spec/models/user_spec.rb73spec/models/concerns/issuable_spec.rb74spec/finders/labels_finder_spec.rb75spec/models/wiki_page_spec.rb76spec/models/clusters/applications/knative_spec.rb77spec/lib/gitlab/auth_spec.rb78spec/presenters/ci/pipeline_presenter_spec.rb79spec/rack_servers/puma_spec.rb80spec/models/clusters/applications/crossplane_spec.rb81spec/lib/gitlab/cycle_analytics/code_stage_spec.rb82spec/lib/gitlab/database_importers/self_monitoring/project/create_service_spec.rb83spec/serializers/group_child_entity_spec.rb84spec/lib/gitlab/import_export/members_mapper_spec.rb85spec/views/projects/issues/show.html.haml_spec.rb86spec/lib/gitlab/diff/position_spec.rb87spec/lib/gitlab/background_migration/populate_cluster_kubernetes_namespace_table_spec.rb88spec/services/ci/create_pipeline_service/rules_spec.rb89spec/models/commit_status_spec.rb90spec/models/concerns/deployment_platform_spec.rb91spec/services/ci/pipeline_trigger_service_spec.rb92spec/services/push_event_payload_service_spec.rb93spec/lib/gitlab/cycle_analytics/test_stage_spec.rb94spec/services/web_hook_service_spec.rb95spec/helpers/milestones_helper_spec.rb96spec/lib/gitlab/hashed_storage/migrator_spec.rb97spec/lib/banzai/pipeline/gfm_pipeline_spec.rb98spec/services/clusters/applications/check_uninstall_progress_service_spec.rb99spec/models/cycle_analytics/group_level_spec.rb100spec/services/search/global_service_spec.rb101spec/services/clusters/applications/ingress_modsecurity_usage_service_spec.rb102spec/lib/gitlab/github_import/importer/pull_requests_importer_spec.rb103spec/presenters/blobs/unfold_presenter_spec.rb104spec/services/clusters/kubernetes/configure_istio_ingress_service_spec.rb105spec/views/ci/status/_icon.html.haml_spec.rb106spec/services/award_emojis/destroy_service_spec.rb107spec/models/compare_spec.rb108spec/views/notify/pipeline_success_email.html.haml_spec.rb109spec/serializers/discussion_diff_file_entity_spec.rb110spec/models/concerns/token_authenticatable_spec.rb111spec/models/clusters/kubernetes_namespace_spec.rb112spec/lib/gitlab/chat/output_spec.rb113spec/lib/gitlab/chat/responder/slack_spec.rb114spec/models/event_collection_spec.rb115spec/models/concerns/routable_spec.rb116spec/services/system_notes/commit_service_spec.rb117spec/views/ci/status/_badge.html.haml_spec.rb118spec/services/projects/move_project_authorizations_service_spec.rb119spec/services/clusters/applications/uninstall_service_spec.rb120spec/services/clusters/applications/destroy_service_spec.rb121spec/views/projects/commit/_commit_box.html.haml_spec.rb122spec/services/test_hooks/system_service_spec.rb123spec/lib/gitlab/github_import/importer/issue_importer_spec.rb124spec/lib/gitlab/git_access_wiki_spec.rb125spec/services/metrics/dashboard/project_dashboard_service_spec.rb126spec/uploaders/file_mover_spec.rb127spec/serializers/stage_serializer_spec.rb128spec/services/metrics/dashboard/clone_dashboard_service_spec.rb129spec/services/members/request_access_service_spec.rb130spec/serializers/group_child_serializer_spec.rb131spec/views/projects/tree/_tree_header.html.haml_spec.rb132spec/lib/gitlab/checks/tag_check_spec.rb133spec/lib/backup/files_spec.rb134spec/lib/gitlab/url_blocker_spec.rb135spec/lib/gitlab/metrics/instrumentation_spec.rb136spec/lib/gitlab/ci/status/stage/common_spec.rb137spec/models/project_services/slack_slash_commands_service_spec.rb138spec/services/chat_names/find_user_service_spec.rb139spec/finders/starred_projects_finder_spec.rb140spec/lib/gitlab/grafana_embed_usage_data_spec.rb141spec/graphql/resolvers/projects/snippets_resolver_spec.rb142spec/policies/user_policy_spec.rb143spec/services/projects/hashed_storage/migration_service_spec.rb144spec/lib/gitlab/slash_commands/issue_show_spec.rb145spec/lib/gitlab/import_export/file_importer_spec.rb146spec/lib/gitlab/import_export/uploads_saver_spec.rb147spec/services/award_emojis/collect_user_emoji_service_spec.rb148spec/lib/gitlab/prometheus/metric_group_spec.rb149spec/models/ci/build_trace_section_name_spec.rb150spec/lib/gitlab/import/merge_request_creator_spec.rb151spec/lib/gitlab/metrics/prometheus_spec.rb152spec/lib/gitlab/database_importers/self_monitoring/project/delete_service_spec.rb153spec/models/ci/resource_spec.rb154spec/services/branches/validate_new_service_spec.rb155spec/lib/gitlab/gitaly_client/blob_service_spec.rb156spec/serializers/test_report_entity_spec.rb157spec/finders/fork_targets_finder_spec.rb158spec/models/user_preference_spec.rb159spec/services/award_emojis/toggle_service_spec.rb160spec/lib/gitlab/legacy_github_import/wiki_formatter_spec.rb161spec/services/projects/fetch_statistics_increment_service_spec.rb162spec/services/metrics/dashboard/self_monitoring_dashboard_service_spec.rb163spec/lib/gitlab/metrics/web_transaction_spec.rb164spec/lib/gitlab/ssh_public_key_spec.rb165spec/policies/resource_label_event_policy_spec.rb166spec/views/profiles/preferences/show.html.haml_spec.rb167spec/lib/gitlab/auth/o_auth/identity_linker_spec.rb168spec/initializers/database_config_spec.rb169spec/lib/gitlab/ci/cron_parser_spec.rb170spec/lib/gitlab/ci/status/pipeline/delayed_spec.rb171spec/lib/gitlab/background_migration/reset_merge_status_spec.rb172spec/lib/sentry/client/repo_spec.rb173spec/models/personal_snippet_spec.rb174spec/services/projects/update_pages_configuration_service_spec.rb175spec/lib/gitlab/cycle_analytics/production_event_fetcher_spec.rb176spec/lib/banzai/pipeline/description_pipeline_spec.rb177spec/validators/public_url_validator_spec.rb178spec/initializers/hangouts_chat_http_override_spec.rb179spec/finders/abuse_reports_finder_spec.rb180spec/presenters/blob_presenter_spec.rb181spec/lib/gitlab/import_export/saver_spec.rb182spec/lib/gitlab/ci/config/entry/need_spec.rb183spec/lib/omni_auth/strategies/jwt_spec.rb184spec/lib/gitlab/slash_commands/presenters/error_spec.rb185spec/lib/gitlab/ci/ansi2json/style_spec.rb186spec/models/concerns/bulk_insert_safe_spec.rb187spec/lib/gitlab/metrics/samplers/unicorn_sampler_spec.rb188spec/serializers/cluster_serializer_spec.rb189spec/views/admin/application_settings/integrations.html.haml_spec.rb190spec/models/resource_weight_event_spec.rb191spec/helpers/projects/error_tracking_helper_spec.rb192spec/finders/admin/runners_finder_spec.rb193spec/lib/gitlab/github_import/importer/lfs_object_importer_spec.rb194spec/views/devise/sessions/new.html.haml_spec.rb195spec/helpers/icons_helper_spec.rb196spec/models/lfs_download_object_spec.rb197spec/initializers/mail_encoding_patch_spec.rb198spec/lib/gitlab/ci/config/entry/default_spec.rb199spec/lib/gitlab/gl_repository/repo_type_spec.rb200spec/lib/api/entities/release_spec.rb201spec/finders/user_finder_spec.rb202spec/lib/gitlab/config/entry/validatable_spec.rb203spec/lib/gitlab/ci/config/external/file/local_spec.rb204spec/services/keys/destroy_service_spec.rb205spec/lib/gitlab/graphql/authorize/authorize_field_service_spec.rb206spec/lib/banzai/filter/color_filter_spec.rb207spec/views/help/index.html.haml_spec.rb208spec/lib/gitlab/legacy_github_import/client_spec.rb209spec/lib/gitlab/error_tracking/stack_trace_highlight_decorator_spec.rb210spec/models/shard_spec.rb211spec/lib/google_api/cloud_platform/client_spec.rb212spec/services/wiki_pages/base_service_spec.rb213spec/lib/gitlab/import_export/attributes_finder_spec.rb214spec/lib/bitbucket_server/representation/pull_request_comment_spec.rb215spec/rubocop/cop/migration/hash_index_spec.rb216spec/rubocop/cop/code_reuse/active_record_spec.rb217spec/lib/gitlab/ci/build/artifacts/adapters/gzip_stream_spec.rb218spec/lib/gitlab/ci/config/entry/script_spec.rb219spec/lib/gitlab/sidekiq_status_spec.rb220spec/lib/gitlab/patch/prependable_spec.rb221spec/tasks/gitlab/ldap_rake_spec.rb222spec/finders/award_emojis_finder_spec.rb223spec/lib/gitlab/jwt_authenticatable_spec.rb224spec/lib/gitlab/github_import/importer/notes_importer_spec.rb225spec/lib/gitlab/null_request_store_spec.rb226spec/lib/gitlab/project_transfer_spec.rb227spec/rubocop/cop/ruby_interpolation_in_translation_spec.rb228spec/lib/gitlab/ci/config/entry/stages_spec.rb229spec/lib/gitlab/badge/pipeline/template_spec.rb230spec/tasks/migrate/schema_check_rake_spec.rb231spec/lib/gitlab/git/lfs_pointer_file_spec.rb232spec/lib/gitlab/alerting/notification_payload_parser_spec.rb233spec/lib/gitlab/submodule_links_spec.rb234spec/models/user_mentions/merge_request_user_mention_spec.rb235spec/graphql/resolvers/group_resolver_spec.rb236spec/lib/gitlab/sidekiq_signals_spec.rbRSpec's reporter has already been initialized with #<IO:<STDERR>> as the deprecation stream, so your change to `deprecation_stream` will be ignored. You should configure it earlier for it to take effect, or use the `--deprecation-out` CLI option. (Called from /builds/gitlab-org/gitlab/spec/support/rspec.rb:10:in `block in <top (required)>')237/builds/gitlab-org/gitlab/spec/lib/gitlab/cycle_analytics/shared_stage_spec.rb:6: warning: already initialized constant ISSUES_MEDIAN238/builds/gitlab-org/gitlab/spec/lib/gitlab/cycle_analytics/shared_stage_spec.rb:6: warning: previous definition of ISSUES_MEDIAN was here239Knapsack report generator started!240Run options:241 include {:focus=>true}242 exclude {:quarantine=>true, :geo=>true, :level=>"migration"}243All examples were filtered out; ignoring {:focus=>true}244==> Setting up Gitaly...245 Gitaly set up in 0.037326131 seconds...246==> Setting up GitLab Elasticsearch Indexer...247 GitLab Elasticsearch Indexer set up in 0.000479978 seconds...248MergeRequests::UpdateService249 execute250 valid params251 matches base expectations252 executes hooks with update action253DEPRECATION WARNING: Sending mail with DeliveryJob and Parameterized::DeliveryJob is deprecated and will be removed in Rails 6.1. Please use MailDeliveryJob instead. (called from block in close_resource_email at /builds/gitlab-org/gitlab/app/services/notification_service.rb:556)254DEPRECATION WARNING: Sending mail with DeliveryJob and Parameterized::DeliveryJob is deprecated and will be removed in Rails 6.1. Please use MailDeliveryJob instead. (called from block in close_resource_email at /builds/gitlab-org/gitlab/app/services/notification_service.rb:556)255DEPRECATION WARNING: Sending mail with DeliveryJob and Parameterized::DeliveryJob is deprecated and will be removed in Rails 6.1. Please use MailDeliveryJob instead. (called from block in reassigned_merge_request at /builds/gitlab-org/gitlab/app/services/notification_service.rb:216)256 sends email to user2 about assign of new merge request and email to user3 about merge request unassignment257 creates system note about merge_request reassign258 creates a resource label event259 creates system note about title change260 creates system note about description change261 creates system note about branch change262 creates system note about discussion lock263 when not including source branch removal options264 maintains the original options265 after_save callback to store_mentions266 when mentionable attributes change267 saves mentions268 when mentionable attributes do not change269 does not call store_mentions270 when save fails271 does not call store_mentions272 merge273 without pipeline274DEPRECATION WARNING: Sending mail with DeliveryJob and Parameterized::DeliveryJob is deprecated and will be removed in Rails 6.1. Please use MailDeliveryJob instead. (called from block in close_resource_email at /builds/gitlab-org/gitlab/app/services/notification_service.rb:556)275DEPRECATION WARNING: Sending mail with DeliveryJob and Parameterized::DeliveryJob is deprecated and will be removed in Rails 6.1. Please use MailDeliveryJob instead. (called from block in close_resource_email at /builds/gitlab-org/gitlab/app/services/notification_service.rb:556)276 merges the MR277 with finished pipeline278DEPRECATION WARNING: Sending mail with DeliveryJob and Parameterized::DeliveryJob is deprecated and will be removed in Rails 6.1. Please use MailDeliveryJob instead. (called from block in close_resource_email at /builds/gitlab-org/gitlab/app/services/notification_service.rb:556)279DEPRECATION WARNING: Sending mail with DeliveryJob and Parameterized::DeliveryJob is deprecated and will be removed in Rails 6.1. Please use MailDeliveryJob instead. (called from block in close_resource_email at /builds/gitlab-org/gitlab/app/services/notification_service.rb:556)280 merges the MR281 with active pipeline282 is expected to receive execute(#<MergeRequest id:16 group16/project17!1>) 1 time283 with a non-authorised user284 does not merge the MR285 MR can not be merged when note sha != MR sha286 is expected to eq "opened"287 todos288 when the title change289 marks pending todos as done290 does not create any new todos291 when the description change292 marks pending todos as done293 creates only 1 new todo294 when is reassigned295 marks previous assignee pending todos as done296 creates a pending todo for new assignee297 when the milestone is removed298DEPRECATION WARNING: Sending mail with DeliveryJob and Parameterized::DeliveryJob is deprecated and will be removed in Rails 6.1. Please use MailDeliveryJob instead. (called from block in removed_milestone_resource_email at /builds/gitlab-org/gitlab/app/services/notification_service.rb:583)299DEPRECATION WARNING: Sending mail with DeliveryJob and Parameterized::DeliveryJob is deprecated and will be removed in Rails 6.1. Please use MailDeliveryJob instead. (called from block in removed_milestone_resource_email at /builds/gitlab-org/gitlab/app/services/notification_service.rb:583)300DEPRECATION WARNING: Sending mail with DeliveryJob and Parameterized::DeliveryJob is deprecated and will be removed in Rails 6.1. Please use MailDeliveryJob instead. (called from block in removed_milestone_resource_email at /builds/gitlab-org/gitlab/app/services/notification_service.rb:583)301 sends notifications for subscribers of changed milestone302 behaves like system notes for milestones303 group milestones304 creates a system note305 project milestones306 creates a system note307 when the milestone is changed308 marks pending todos as done309DEPRECATION WARNING: Sending mail with DeliveryJob and Parameterized::DeliveryJob is deprecated and will be removed in Rails 6.1. Please use MailDeliveryJob instead. (called from block in changed_milestone_resource_email at /builds/gitlab-org/gitlab/app/services/notification_service.rb:595)310DEPRECATION WARNING: Sending mail with DeliveryJob and Parameterized::DeliveryJob is deprecated and will be removed in Rails 6.1. Please use MailDeliveryJob instead. (called from block in changed_milestone_resource_email at /builds/gitlab-org/gitlab/app/services/notification_service.rb:595)311DEPRECATION WARNING: Sending mail with DeliveryJob and Parameterized::DeliveryJob is deprecated and will be removed in Rails 6.1. Please use MailDeliveryJob instead. (called from block in changed_milestone_resource_email at /builds/gitlab-org/gitlab/app/services/notification_service.rb:595)312 sends notifications for subscribers of changed milestone313 behaves like system notes for milestones314 group milestones315 creates a system note316 project milestones317 creates a system note318 when the labels change319 marks pending todos as done320 updates updated_at321 when the assignee changes322 updates open merge request counter for assignees when merge request is reassigned323 when the target branch change324 marks pending todos as done325 when auto merge is enabled and target branch changed326 marks pending todos as done327 when the merge request is relabeled328DEPRECATION WARNING: Sending mail with DeliveryJob and Parameterized::DeliveryJob is deprecated and will be removed in Rails 6.1. Please use MailDeliveryJob instead. (called from block in relabeled_resource_email at /builds/gitlab-org/gitlab/app/services/notification_service.rb:571)329 sends notifications for subscribers of newly added labels330 when issue has the `label` label331 does not send notifications for existing labels332 does not send notifications for removed labels333 updating mentions334 when mentioning a different user335 in title336DEPRECATION WARNING: Sending mail with DeliveryJob and Parameterized::DeliveryJob is deprecated and will be removed in Rails 6.1. Please use MailDeliveryJob instead. (called from block in new_mentions_in_resource_email at /builds/gitlab-org/gitlab/app/services/notification_service.rb:541)337 emails only the newly-mentioned user338 in description339DEPRECATION WARNING: Sending mail with DeliveryJob and Parameterized::DeliveryJob is deprecated and will be removed in Rails 6.1. Please use MailDeliveryJob instead. (called from block in new_mentions_in_resource_email at /builds/gitlab-org/gitlab/app/services/notification_service.rb:541)340 emails only the newly-mentioned user341 when mentioning a user and a group with access to342 when group is public343 behaves like updating attribute with allowed mentions344DEPRECATION WARNING: Sending mail with DeliveryJob and Parameterized::DeliveryJob is deprecated and will be removed in Rails 6.1. Please use MailDeliveryJob instead. (called from block in new_mentions_in_resource_email at /builds/gitlab-org/gitlab/app/services/notification_service.rb:541)345DEPRECATION WARNING: Sending mail with DeliveryJob and Parameterized::DeliveryJob is deprecated and will be removed in Rails 6.1. Please use MailDeliveryJob instead. (called from block in new_mentions_in_resource_email at /builds/gitlab-org/gitlab/app/services/notification_service.rb:541)346DEPRECATION WARNING: Sending mail with DeliveryJob and Parameterized::DeliveryJob is deprecated and will be removed in Rails 6.1. Please use MailDeliveryJob instead. (called from block in new_mentions_in_resource_email at /builds/gitlab-org/gitlab/app/services/notification_service.rb:541)347 emails group members348 behaves like updating attribute with allowed mentions349DEPRECATION WARNING: Sending mail with DeliveryJob and Parameterized::DeliveryJob is deprecated and will be removed in Rails 6.1. Please use MailDeliveryJob instead. (called from block in new_mentions_in_resource_email at /builds/gitlab-org/gitlab/app/services/notification_service.rb:541)350DEPRECATION WARNING: Sending mail with DeliveryJob and Parameterized::DeliveryJob is deprecated and will be removed in Rails 6.1. Please use MailDeliveryJob instead. (called from block in new_mentions_in_resource_email at /builds/gitlab-org/gitlab/app/services/notification_service.rb:541)351DEPRECATION WARNING: Sending mail with DeliveryJob and Parameterized::DeliveryJob is deprecated and will be removed in Rails 6.1. Please use MailDeliveryJob instead. (called from block in new_mentions_in_resource_email at /builds/gitlab-org/gitlab/app/services/notification_service.rb:541)352 emails group members353 behaves like updating attribute with existing group mention354 creates todos for only newly mentioned users355 behaves like updating attribute with existing group mention356 creates todos for only newly mentioned users357 when the group is private358 behaves like updating attribute with allowed mentions359DEPRECATION WARNING: Sending mail with DeliveryJob and Parameterized::DeliveryJob is deprecated and will be removed in Rails 6.1. Please use MailDeliveryJob instead. (called from block in new_mentions_in_resource_email at /builds/gitlab-org/gitlab/app/services/notification_service.rb:541)360DEPRECATION WARNING: Sending mail with DeliveryJob and Parameterized::DeliveryJob is deprecated and will be removed in Rails 6.1. Please use MailDeliveryJob instead. (called from block in new_mentions_in_resource_email at /builds/gitlab-org/gitlab/app/services/notification_service.rb:541)361DEPRECATION WARNING: Sending mail with DeliveryJob and Parameterized::DeliveryJob is deprecated and will be removed in Rails 6.1. Please use MailDeliveryJob instead. (called from block in new_mentions_in_resource_email at /builds/gitlab-org/gitlab/app/services/notification_service.rb:541)362 emails group members363 behaves like updating attribute with allowed mentions364DEPRECATION WARNING: Sending mail with DeliveryJob and Parameterized::DeliveryJob is deprecated and will be removed in Rails 6.1. Please use MailDeliveryJob instead. (called from block in new_mentions_in_resource_email at /builds/gitlab-org/gitlab/app/services/notification_service.rb:541)365DEPRECATION WARNING: Sending mail with DeliveryJob and Parameterized::DeliveryJob is deprecated and will be removed in Rails 6.1. Please use MailDeliveryJob instead. (called from block in new_mentions_in_resource_email at /builds/gitlab-org/gitlab/app/services/notification_service.rb:541)366DEPRECATION WARNING: Sending mail with DeliveryJob and Parameterized::DeliveryJob is deprecated and will be removed in Rails 6.1. Please use MailDeliveryJob instead. (called from block in new_mentions_in_resource_email at /builds/gitlab-org/gitlab/app/services/notification_service.rb:541)367 emails group members368 behaves like updating attribute with existing group mention369 creates todos for only newly mentioned users370 behaves like updating attribute with existing group mention371 creates todos for only newly mentioned users372 when mentioning a user and a group without access to373 when the group is private374 behaves like updating attribute with not allowed mentions375DEPRECATION WARNING: Sending mail with DeliveryJob and Parameterized::DeliveryJob is deprecated and will be removed in Rails 6.1. Please use MailDeliveryJob instead. (called from block in new_mentions_in_resource_email at /builds/gitlab-org/gitlab/app/services/notification_service.rb:541)376 emails mentioned user377 behaves like updating attribute with not allowed mentions378DEPRECATION WARNING: Sending mail with DeliveryJob and Parameterized::DeliveryJob is deprecated and will be removed in Rails 6.1. Please use MailDeliveryJob instead. (called from block in new_mentions_in_resource_email at /builds/gitlab-org/gitlab/app/services/notification_service.rb:541)379 emails mentioned user380 when MergeRequest has tasks381 is expected to eq true382 behaves like updating a single task383 when a task is marked as completed384 creates system note about task status change385 when a task is marked as incomplete386 creates system note about task status change387 when the task position has been modified388 raises an exception389 when the content changes but not task line number390 creates system note about task status change391 when tasks are marked as completed392 creates system note about task status change393 when tasks are marked as incomplete394 creates system note about task status change395 while saving references to issues that the updated merge request closes396 creates a `MergeRequestsClosingIssues` record for each issue397 removes `MergeRequestsClosingIssues` records when issues are not closed anymore398 updating asssignee_ids399 does not update assignee when assignee_id is invalid400 unassigns assignee when user id is 0401 saves assignee when user id is valid402 does not update assignee_id when user cannot read issue403 when issuable feature is private404 does not update with unauthorized assignee when project is Internal405 does not update with unauthorized assignee when project is Public406 changing state407 to reopened408 executes hooks only once409 to closed410 executes hooks only once411 setting `allow_collaboration`412 does not allow a maintainer of the target project to set `allow_collaboration`413 is allowed by a user that can push to the source and can update the merge request414 updating `force_remove_source_branch`415 cannot be done by members of the target project when they don't have access416 can be done by members of the target project if they can push to the source project417User418 behaves like having unique enum values419 has unique values in "bot_type"420 has unique values in "user_type"421 has unique values in "layout"422 has unique values in "dashboard"423 has unique values in "project_view"424 has unique values in "role"425 has unique values in "roadmap_layout"426 has unique values in "group_view"427 modules428 is expected to includes the Gitlab::ConfigHelper module429 is expected to includes the Referable module430 is expected to includes the Sortable module431 is expected to includes the TokenAuthenticatable module432 is expected to includes the BlocksJsonSerialization module433 delegations434 is expected to delegate #namespace_path to the #namespace object as #path435 is expected to delegate #tab_width to the #user_preference object436 is expected to delegate #tab_width= to the #user_preference object passing arguments [5]437 associations438 is expected to have one namespace439 is expected to have one status440 is expected to have one max_access_level_membership441 is expected to have one user_detail442 is expected to have many snippets dependent => destroy443 is expected to have many members444 is expected to have many project_members445 is expected to have many group_members446 is expected to have many groups447 is expected to have many keys dependent => destroy448 is expected to have many deploy_keys dependent => nullify449 is expected to have many events dependent => delete_all450 is expected to have many issues dependent => destroy451 is expected to have many notes dependent => destroy452 is expected to have many merge_requests dependent => destroy453 is expected to have many identities dependent => destroy454 is expected to have many spam_logs dependent => destroy455 is expected to have many todos456 is expected to have many award_emoji dependent => destroy457 is expected to have many triggers dependent => destroy458 is expected to have many builds dependent => nullify459 is expected to have many pipelines dependent => nullify460 is expected to have many chat_names dependent => destroy461 is expected to have many uploads462 is expected to have many reported_abuse_reports class_name => AbuseReport dependent => destroy463 is expected to have many custom_attributes class_name => UserCustomAttribute464 is expected to have many releases dependent => nullify465 #abuse_report466 is expected to have one abuse_report467 refers to the abuse report whose user_id is the current user468 does not refer to the abuse report whose reporter_id is the current user469 does not update the user_id of an abuse report when the user is updated470 #group_members471 does not include group memberships for which user is a requester472 #project_members473 does not include project memberships for which user is a requester474 validations475 has a DB-level NOT NULL constraint on projects_limit476 is expected to validate that :projects_limit cannot be empty/falsy477 is expected to validate that :projects_limit looks like a number478 is expected to allow :projects_limit to be ‹0›479 is expected not to allow :projects_limit to be ‹-1›480 is expected not to allow :projects_limit to be ‹2147483648›481 is expected to validate that the length of :bio is at most 255482 password483 length484 is expected to validate that the length of :password is between 10 and 130485 length validator486 for a short password487 does not run the default Devise password length validation488 runs the custom password length validator489 for a long password490 does not run the default Devise password length validation491 runs the custom password length validator492 name493 is expected to validate that :name cannot be empty/falsy494 is expected to validate that the length of :name is at most 255495 first name496 is expected to validate that the length of :first_name is at most 127497 last name498 is expected to validate that the length of :last_name is at most 127499 username500 validates presence501 rejects blacklisted names502 allows child names503 allows wildcard names504 when username is changed505 validates move_dir is allowed for the namespace506 when the username is in use by another user507 is invalid508 behaves like an object with email-formated attributes509 specifically its :email attribute510 with a value of 'info@example.com'511 is valid512 with a value of 'info+test@example.com'513 is valid514 with a value of 'o'reilly@example.com'515 is valid516 with a value of 'mailto:test@example.com'517 is valid518 with a value of 'lol!'+=?><#$%^&*()@gmail.com'519 is valid520 with a value of 'foobar'521 is invalid522 with a value of 'test@test@example.com'523 is invalid524 behaves like an object with email-formated attributes525 specifically its :public_email attribute526 with a value of 'info@example.com'527 is valid528 with a value of 'info+test@example.com'529 is valid530 with a value of 'o'reilly@example.com'531 is valid532 with a value of 'mailto:test@example.com'533 is valid534 with a value of 'lol!'+=?><#$%^&*()@gmail.com'535 is valid536 with a value of 'foobar'537 is invalid538 with a value of 'test@test@example.com'539 is invalid540 specifically its :notification_email attribute541 with a value of 'info@example.com'542 is valid543 with a value of 'info+test@example.com'544 is valid545 with a value of 'o'reilly@example.com'546 is valid547 with a value of 'mailto:test@example.com'548 is valid549 with a value of 'lol!'+=?><#$%^&*()@gmail.com'550 is valid551 with a value of 'foobar'552 is invalid553 with a value of 'test@test@example.com'554 is invalid555 #commit_email556 defaults to the primary email557 defaults to the primary email when the column in the database is null558 returns the private commit email when commit_email has _private559 can be set to a confirmed email560 can not be set to an unconfirmed email561 can not be set to a non-existent email562 can not be set to an invalid email, even if confirmed563 email564 when no signup domains whitelisted565 accepts any email566 bad regex567 does not hang on evil input568 when a signup domain is whitelisted and subdomains are allowed569 accepts info@example.com570 accepts info@test.example.com571 rejects example@test.com572 when a signup domain is whitelisted and subdomains are not allowed573 accepts info@example.com574 rejects info@test.example.com575 rejects example@test.com576 accepts example@test.com when added by another user577 domain blacklist578 bad regex579 does not hang on evil input580 when a signup domain is blacklisted581 accepts info@test.com582 rejects info@example.com583 accepts info@example.com when added by another user584 when a signup domain is blacklisted but a wildcard subdomain is allowed585 gives priority to whitelist and allow info@test.example.com586 with both lists containing a domain587 accepts info@test.com588 rejects info@example.com589 email restrictions590 when email restriction is disabled591 does accept email address592 when email restrictions is enabled593 does not accept email address with + characters594 does not accept email with a gitlab domain595 adds an error message when email is not accepted596 does accept a valid email address597 when feature flag is turned off598 does accept the email address599 when created_by_id is set600 does accept the email address601 owns_notification_email602 accepts temp_oauth_email emails603 set_commit_email604 keeps commit email when private commit email is being used605 keeps the commit email when nil606 reverts to nil when email is not verified607 owns_commit_email608 accepts private commit email609 accepts nil commit email610 scopes611 .with_two_factor612 returns users with 2fa enabled via OTP613 returns users with 2fa enabled via U2F614 returns users with 2fa enabled via OTP and U2F615 works with ORDER BY616 .without_two_factor617 excludes users with 2fa enabled via OTP618 excludes users with 2fa enabled via U2F619 excludes users with 2fa enabled via OTP and U2F620 .random_password621 length622 conforms to the current password length settings623 .password_length624 is expected to be a Range625 minimum value626 is determined by the current value of `minimum_password_length` attribute of application_setting627 maximum value628 is determined by the current value of `Devise.password_length.max`629 .limit_to_todo_authors630 when filtering by todo authors631 only returns users that have authored todos632 ignores users that do not have a todo in the matching state633 when not filtering by todo authors634 returns the input relation635 when no user is provided636 returns the input relation637 .by_username638 finds users regardless of the case passed639 finds a single user regardless of the case passed640 .with_expiring_and_not_notified_personal_access_tokens641 in one day642 doesn't include an user643 in three days644 only includes user2645 .active_without_ghosts646 returns all active users but ghost users647 .without_ghosts648 returns users without ghosts users649 Respond to650 is expected to respond to #admin?651 is expected to respond to #name652 is expected to respond to #external?653 before save hook654 #default_private_profile_to_false655 converts nil to false656 when saving an external user657 sets other properties aswell658 #check_for_verified_email659 allows a verfied secondary email to be used as the primary without needing reconfirmation660 after commit hook661 #update_emails_with_primary_email662 gets called when email updated663 adds old primary to secondary emails when secondary is a new email664 adds old primary to secondary emails if secondary is becoming a primary665 transfers old confirmation values into new secondary666 #update_notification_email667 when changing :email668 sets :unconfirmed_email669 does not change :notification_email670 updates :notification_email to the new email once confirmed671 and :notification_email is set to a secondary email672 does not change :notification_email to :email673 does not change :notification_email to :email once confirmed674 #update_invalid_gpg_signatures675 does nothing when the name is updated676 synchronizes the gpg keys when the email is updated677 name getters678 derives first name from full name, if not present679 derives last name from full name, if not present680 #highest_role681 returns NO_ACCESS if none has been set682 returns MAINTAINER if user is maintainer of a project683 returns the highest role if user is member of multiple projects684 returns MAINTAINER if user is maintainer of a group685 returns the highest role if user is member of multiple groups686 returns the highest role if user is member of multiple groups and projects687 with association :max_access_level_membership688 returns the correct highest role689 #update_tracked_fields!690 writes trackable attributes691 does not write trackable attributes when called a second time within the hour692 writes trackable attributes for a different user693 does not write if the DB is in read-only mode694 #keys695 with key and deploy key stored696 returns stored key, but not deploy_key697 #accessible_deploy_keys698 user can only see deploy keys accessible to right projects699 #deploy_keys700 with key and deploy key stored701 returns stored deploy key, but not normal key702 #confirm703 returns unconfirmed704 confirms a user705 #to_reference706 returns a String reference to the object707 #generate_password708 does not generate password by default709 ensure user preference710 has user preference upon user initialization711 ensure incoming email token712 has incoming email token713 uses SecureRandom to generate the incoming email token714 #ensure_user_rights_and_limits715 with external user716 receives callback when external changes717 ensures correct rights and limits for user718 without external user719 receives callback when external changes720 ensures correct rights and limits for user721 feed token722 ensures a feed token on read723 static object token724 ensures a static object token on read725 #recently_sent_password_reset?726 is false when reset_password_sent_at is nil727 is false when sent more than one minute ago728 is true when sent less than one minute ago729 #disable_two_factor!730 clears all 2FA-related fields731 projects732 is expected to include #<Project id:103 user685/project99>>733 is expected to include #<Project id:107 group92/project103>>734 is expected to include #<Project id:111 group95/project107>>735 is expected to include #<Project id:112 user700/project108>>736 is expected not to include #<Project id:116 group98/project112>>737 is expected not to include #<Project id:120 group101/project116>>738 is expected to include #<Project id:121 user715/project117>>739 is expected not to include #<Project id:125 group104/project121>>740 is expected not to include #<Project id:129 group107/project125>>741 groups742 is expected to be truthy743 is expected to eq [#<Group id:792 @group109>]744 is expected to eq [#<Group id:794 @group110>]745 is expected to contain exactly #<Namespace id: 797, name: "John Doe742", path: "user733", owner_id: 686, created_at: "2020-03-05 04:...ax_pages_size: nil, max_artifacts_size: nil, mentions_disabled: nil, default_branch_protection: nil> and #<Group id:796 @group111>746 is expected to contain exactly #<Namespace id: 799, name: "John Doe743", path: "user734", owner_id: 687, created_at: "2020-03-05 04:...ax_pages_size: nil, max_artifacts_size: nil, mentions_disabled: nil, default_branch_protection: nil> and #<Group id:798 @group112>747 with child groups748 #manageable_namespaces749 includes all the namespaces the user can manage750 #manageable_groups751 includes all the namespaces the user can manage752 does not include duplicates if a membership was added for the subgroup753 #manageable_groups_with_routes754 eager loads routes from manageable groups755 group multiple owners756 is expected to be truthy757 namespaced758 is expected to be falsey759 is expected to eq [#<Namespace id: 817, name: "John Doe751", path: "user742", owner_id: 695, created_at: "2020-03-05 04...x_pages_size: nil, max_artifacts_size: nil, mentions_disabled: nil, default_branch_protection: nil>]760 blocking user761 blocks user762 when user has running CI pipelines763 cancels all running pipelines and related jobs764 deactivating a user765 an active user766 can be deactivated767 a user who is blocked768 cannot be deactivated769 .filter_items770 filters by active users by default771 filters by admins772 filters by blocked773 filters by deactivated774 filters by two_factor_disabled775 filters by two_factor_enabled776 filters by wop777 .without_projects778 is expected not to include #<User id:702 @user749>779 is expected to include #<User id:708 @user755>780 is expected to include #<User id:714 @user761>781 user creation782 normal user783 is expected to be falsey784 is expected to be truthy785 is expected to be truthy786 is expected to be truthy787 is expected to eq "John"788 is expected to be falsey789 with defaults790 applies defaults to user791 with default overrides792 applies defaults to user793 does not undo projects_limit setting if it matches old DB default of 10794 when Gitlab::CurrentSettings.user_default_external is true795 creates external user by default796 with default overrides797 creates a non-external user798 #require_ssh_key?799 has correct require_ssh_key?800 has correct require_ssh_key?801 has correct require_ssh_key?802 returns false when the user has 1 or more SSH keys803 .find_for_database_authentication804 strips whitespace from login805 .find_by_any_email806 finds user through private commit email807 finds by primary email808 finds by uppercased email809 returns nil when nothing found810 returns nil when user is not confirmed811 finds by secondary email812 primary email confirmed813 secondary email confirmed814 finds user respecting the confirmed flag815 secondary email not confirmed816 finds user respecting the confirmed flag817 primary email not confirmed818 finds user respecting the confirmed flag819 .by_any_email820 returns an ActiveRecord::Relation821 returns a relation of users822 returns a relation of users for confirmed users823 finds user through a private commit email824 finds user through a private commit email in an array825 .search826 returns no matches for an empty string827 returns no matches for nil828 name matching829 returns users with a matching name with exact match first830 returns users with a partially matching name831 returns users with a matching name regardless of the casing832 returns users with a exact matching name shorter than 3 chars833 returns users with a exact matching name shorter than 3 chars regardless of the casing834 email matching835 returns users with a matching Email836 does not return users with a partially matching Email837 returns users with a matching Email regardless of the casing838 username matching839 returns users with a matching username840 returns users with a matching username starting with a @841 returns users with a partially matching username842 returns users with a partially matching username starting with @843 returns users with a matching username regardless of the casing844 returns users with a exact matching username shorter than 3 chars845 returns users with a exact matching username shorter than 3 chars regardless of the casing846 .search_with_secondary_emails847 returns users with a matching name848 returns users with a partially matching name849 returns users with a matching name regardless of the casing850 returns users with a matching email851 does not return users with a partially matching email852 returns users with a matching email regardless of the casing853 returns users with a matching username854 returns users with a partially matching username855 returns users with a matching username regardless of the casing856 returns users with a matching whole secondary email857 does not return users with a matching part of secondary email858 returns no matches for an empty string859 returns no matches for nil860 .find_by_ssh_key_id861 only performs a single query862 using an existing SSH key ID863 returns the corresponding User864 using an invalid SSH key ID865 returns nil866 .by_login867 gets the correct user868 .find_by_username869 returns nil if not found870 is case-insensitive871 .find_by_username!872 raises RecordNotFound873 is case-insensitive874 .find_by_full_path875 with a route matching the given path876 returns the user877 is case-insensitive878 with a redirect route matching the given path879 without the follow_redirects option880 returns nil881 with the follow_redirects option set to true882 returns the user883 is case-insensitive884 without a route or a redirect route matching the given path885 without the follow_redirects option886 returns nil887 with the follow_redirects option set to true888 returns nil889 with a group route matching the given path890 when the group namespace has an owner_id (legacy data)891 returns nil892 when the group namespace does not have an owner_id893 returns nil894 all_ssh_keys895 is expected to have many keys dependent => destroy896 has all ssh keys897 #avatar_type898 is true if avatar is image899 is false if avatar is html page900 #avatar_url901 when avatar file is uploaded902 shows correct avatar url903 #accept_pending_invitations!904 accepts all the user members pending invitations and returns the accepted_members905 #all_emails906 when `include_private_email` is true907 returns all emails908 when `include_private_email` is false909 does not include the private commit email910 #verified_emails911 returns only confirmed emails912 #verified_email?913 returns true when the email is verified/confirmed914 returns true when user is found through private commit email915 returns true for an outdated private commit email916 returns false when the email is not verified/confirmed917 #requires_ldap_check?918 is false when LDAP is disabled919 when LDAP is enabled920 is false for non-LDAP users921 and when the user is an LDAP user922 is true when the user has never had an LDAP check before923 is true when the last LDAP check happened over 1 hour ago924 ldap synchronized user925 #ldap_user?926 is true if provider name starts with ldap927 is false for other providers928 is false if no extern_uid is provided929 #ldap_identity930 returns ldap identity931 #ldap_block932 blocks user flaging the action caming from ldap933 on a read-only instance934 does not block user935 #ultraauth_user?936 is true if provider is ultraauth937 is false with othe provider938 is false if no extern_uid is provided939 #full_website_url940 begins with http if website url omits it941 begins with http if website url begins with http942 begins with https if website url begins with https943 #short_website_url944 does not begin with http if website url omits it945 does not begin with http if website url begins with http946 does not begin with https if website url begins with https947 #sanitize_attrs948 encodes HTML entities in the Skype attribute949 does not encode HTML entities in the name attribute950 #starred?951 determines if user starred a project952 #toggle_star953 toggles stars954 .find_by_private_commit_email955 returns nil when email is nil956 with email957 returns user through private commit email958 returns nil when email other than private_commit_email is used959 #sort_by_attribute960 sorts users in descending order by their creation time961 sorts users in ascending order by their creation time962 sorts users by id in descending order when nil is passed963 when sort by recent_sign_in964 sorts users by recent sign-in time965 pushes users who never signed in to the end966 when sort by oldest_sign_in967 sorts users by the oldest sign-in time968 pushes users who never signed in to the end969 #last_active_at970 for a user that has `last_activity_on` set971 returns `last_activity_on` with current time zone972 for a user that has `current_sign_in_at` set973 returns `current_sign_in_at`974 for a user that has both `current_sign_in_at` & ``last_activity_on`` set975 returns the latest among `current_sign_in_at` & `last_activity_on`976 for a user that does not have both `current_sign_in_at` & `last_activity_on` set977 returns nil978 #can_be_deactivated?979 a user who is not active980 behaves like not eligible for deactivation981 returns false982 a user who has activity within the specified minimum inactive days983 behaves like not eligible for deactivation984 returns false985 a user who has signed in within the specified minimum inactive days986 behaves like not eligible for deactivation987 returns false988 a user who has no activity within the specified minimum inactive days989 behaves like eligible for deactivation990 returns true991 a user who has not signed in within the specified minimum inactive days992 behaves like eligible for deactivation993 returns true994 #contributed_projects995 includes IDs for projects the user has pushed to996 includes IDs for projects the user has had merge requests merged into997 doesn't include IDs for unrelated projects998 #fork_of999 returns a user's fork of a project1000 returns nil if the project does not have a fork network1001 #can_be_removed?1002 no owned groups1003 is expected to be truthy1004 has owned groups1005 is expected to be falsey1006 #recent_push1007 returns the last push event for the user1008 returns the last push event for a project when one is given1009 #authorized_groups1010 is expected to contain exactly #<Group id:1050 @group131> and #<Group id:1052 @group133>1011 #membership_groups1012 is expected to contain exactly #<Group id:1056 @group134> and #<Group id:1057 @group134/group135>1013 #authorizations_for_projects1014 includes projects that belong to a user, but no other projects1015 includes projects a user has access to, but no other projects1016 with min_access_level1017 when developer access1018 includes projects a user has access to1019 when owner access1020 does not include projects with higher access level1021 #authorized_projects1022 includes user's personal projects1023 includes personal projects user has been given access to1024 includes projects of groups user has been added to1025 does not include projects of groups user has been removed from1026 includes projects shared with user's group1027 does not include destroyed projects user had access to1028 does not include projects of destroyed groups user had access to1029 with a minimum access level1030 includes projects for which the user is an owner1031 includes projects for which the user is a maintainer1032 #projects_where_can_admin_issues1033 includes projects for which the user access level is above or equal to reporter1034 does not include for which the user access level is below reporter1035 does not include archived projects1036 does not include projects for which issues are disabled1037 #ci_owned_runners1038 without any projects nor groups1039 does not load1040 with personal projects runners1041 loads1042 with personal group runner1043 loads1044 with personal project and group runner1045 loads1046 with groups projects runners1047 behaves like group_member1048 when the user is owner1049 loads1050 behaves like member1051 when the user is a maintainer1052 does not load1053 when the user is a developer1054 does not load1055 with groups runners1056 behaves like group_member1057 when the user is owner1058 loads1059 behaves like member1060 when the user is a maintainer1061 does not load1062 when the user is a developer1063 does not load1064 with other projects runners1065 behaves like member1066 when the user is a maintainer1067 does not load1068 when the user is a developer1069 does not load1070 with subgroup with different owner for project runner1071 behaves like group_member1072 when the user is owner1073 loads1074 behaves like member1075 when the user is a maintainer1076 does not load1077 when the user is a developer1078 does not load1079 #projects_with_reporter_access_limited_to1080 returns the projects when using a single project ID1081 returns the projects when using an Array of project IDs1082 returns the projects when using an ActiveRecord relation1083 does not return projects you do not have reporter access to1084 #all_expanded_groups1085 user is not a member of any group1086 returns an empty array1087 user is member of all groups1088 returns all groups1089 user is member of the top group1090 returns all groups1091 user is member of the first child (internal node), branch 11092 returns the groups in the hierarchy1093 user is member of the first child (internal node), branch 21094 returns the groups in the hierarchy1095 user is member of the last child (leaf node)1096 returns the groups in the hierarchy1097 #refresh_authorized_projects1098 refreshes the list of authorized projects1099 stores the correct access levels1100 #access_level=1101 does nothing for an invalid access level1102 assigns the 'admin' access level1103 doesn't clear existing access levels when an invalid access level is passed in1104 accepts string values in addition to symbols1105 #can_read_all_resources?1106 returns false for regular user1107 for admin user1108 when admin mode is disabled1109 returns false1110 when admin mode is enabled1111 returns true1112 .ghost1113 creates a ghost user if one isn't already present1114 does not create a second ghost user if one is already present1115 when a regular user exists with the username 'ghost'1116 creates a ghost user with a non-conflicting username1117 when a regular user exists with the email 'ghost@example.com'1118 creates a ghost user with a non-conflicting email1119 when a domain whitelist is in place1120 creates a ghost user1121 #update_two_factor_requirement1122 with 2FA requirement on groups1123 requires 2FA1124 uses the shortest grace period1125 with 2FA requirement from expanded groups1126 requires 2FA1127 with 2FA requirement on nested child group1128 requires 2FA1129 with 2FA requirement from shared project's group1130 does not require 2FA1131 without 2FA requirement on groups1132 does not require 2FA1133 falls back to the default grace period1134 .active1135 only counts active and non internal users1136 preferred language1137 is English by default1138 #invalidate_issue_cache_counts1139 invalidates cache for issue counter1140 #invalidate_merge_request_cache_counts1141 invalidates cache for Merge Request counter1142 #invalidate_personal_projects_count1143 invalidates cache for personal projects counter1144 #allow_password_authentication_for_web?1145 returns false for ldap user1146 returns false for ultraauth user1147 regular user1148 returns true when password authentication is enabled for the web interface1149 returns false when password authentication is disabled for the web interface1150 #allow_password_authentication_for_git?1151 returns false for ldap user1152 returns false for ultraauth user1153 regular user1154 returns true when password authentication is enabled for Git1155 returns false when password authentication is disabled Git1156 #assigned_open_merge_requests_count1157 returns number of open merge requests from non-archived projects1158 #assigned_open_issues_count1159 returns number of open issues from non-archived projects1160 #personal_projects_count1161 returns the number of personal projects using a single query1162 #projects_limit_left1163 returns the number of projects that can be created by the user1164 #ensure_namespace_correct1165 for a new user1166 creates the namespace1167 for an existing user1168 when the user is updated1169 when the username or name is changed1170 changes the namespace (just to compare to when username is not changed)1171 updates the namespace path when the username was changed1172 updates the namespace name if the name was changed1173 updates nested routes for the namespace if the name was changed1174 when there is a validation error (namespace name taken) while updating namespace1175 causes the user save to fail1176 adds the namespace errors to the user1177 when the username is not changed1178 does not change the namespace1179 #username_changed_hook1180 for a new user1181 does not trigger system hook1182 for an existing user1183 when the username is changed1184 triggers the rename system hook1185 when the username is not changed1186 does not trigger system hook1187 #will_save_change_to_login?1188 when the username is changed1189 is expected to equal true1190 when the email is changed1191 is expected to equal true1192 when both email and username are changed1193 is expected to equal true1194 when email and username aren't changed1195 is expected to be falsy1196 #sync_attribute?1197 oauth user1198 returns true if name can be synced1199 returns true if email can be synced1200 returns true if location can be synced1201 returns false if name can not be synced1202 returns false if email can not be synced1203 returns false if location can not be synced1204 returns true for all syncable attributes if all syncable attributes can be synced1205 returns false for all syncable attributes but email if no syncable attributes are declared1206 ldap user1207 returns true for email if ldap user1208 returns true for email and location if ldap user and location declared as syncable1209 #confirm_deletion_with_password?1210 password_automatically_set: true, ldap_user: true, password_authentication_disabled: true1211 returns false unless all inputs are true1212 password_automatically_set: true, ldap_user: true, password_authentication_disabled: false1213 returns false unless all inputs are true1214 password_automatically_set: true, ldap_user: false, password_authentication_disabled: true1215 returns false unless all inputs are true1216 password_automatically_set: true, ldap_user: false, password_authentication_disabled: false1217 returns false unless all inputs are true1218 password_automatically_set: false, ldap_user: true, password_authentication_disabled: true1219 returns false unless all inputs are true1220 password_automatically_set: false, ldap_user: true, password_authentication_disabled: false1221 returns false unless all inputs are true1222 password_automatically_set: false, ldap_user: false, password_authentication_disabled: true1223 returns false unless all inputs are true1224 password_automatically_set: false, ldap_user: false, password_authentication_disabled: false1225 returns false unless all inputs are true1226 #delete_async1227 blocks the user then schedules them for deletion if a hard delete is specified1228 schedules user for deletion without blocking them1229 #max_member_access_for_project_ids1230 with RequestStore enabled1231 returns correct roles for different projects1232 does not perform extra queries when asked for projects who have already been found1233 only requests the extra projects when uncached projects are passed1234 with RequestStore disabled1235 returns correct roles for different projects1236 #max_member_access_for_group_ids1237 with RequestStore enabled1238 returns correct roles for different groups1239 does not perform extra queries when asked for groups who have already been found1240 only requests the extra groups when uncached groups are passed1241 with RequestStore disabled1242 returns correct roles for different groups1243 changing a username1244 creates a redirect route1245 deletes the redirect when a user with the old username was created1246 #required_terms_not_accepted?1247 when terms are not enforced1248 is expected to be falsy1249 when terms are enforced and accepted by the user1250 is expected to be falsy1251 when terms are enforced but the user has not accepted1252 is expected to be truthy1253 #increment_failed_attempts!1254 logs failed sign-in attempts1255 does not log failed sign-in attempts when in a GitLab read-only instance1256 #requires_usage_stats_consent?1257 in single-user environment1258 requires user consent after one week1259 requires user consent after one week if there is another ghost user1260 does not require consent in the first week1261 does not require consent if usage stats were set by this user1262 in multi-user environment1263 does not require consent1264 with uploads1265 behaves like model with uploads1266 .destroy1267 with mounted uploader1268 deletes remote uploads1269 with not mounted uploads1270 with local files1271 deletes any FileUploader uploads which are not mounted (PENDING: No reason given)1272 deletes local files (PENDING: No reason given)1273 with remote files1274 deletes any FileUploader uploads which are not mounted (PENDING: No reason given)1275 deletes remote files (PENDING: No reason given)1276 .union_with_user1277 when no user ID is provided1278 returns the input relation1279 when a user ID is provided1280 includes the user object in the returned relation1281 does not re-apply any WHERE conditions on the outer query1282 .optionally_search1283 using nil as the argument1284 returns the current relation1285 using an empty String as the argument1286 returns the current relation1287 using a non-empty String1288 returns users matching the search query1289 .where_not_in1290 without an argument1291 returns the current relation1292 using a list of user IDs1293 excludes the users from the returned relation1294 .reorder_by_name1295 reorders the input relation1296 #notification_settings_for1297 when source is nil1298 returns a blank global notification settings object1299 when source is a Group1300 when group has no existing notification settings1301 when group has no ancestors1302 will be a default Global notification setting1303 when group has ancestors1304 when an ancestor has a level other than Global1305 has the same level set1306 has the same email set1307 when inherit is false1308 does not inherit settings1309 when an ancestor has a Global level but has an email set1310 has the same email set1311 #notification_email_for1312 when group is nil1313 returns global notification email1314 when group has no notification email set1315 returns global notification email1316 when group has notification email set1317 returns group notification email1318 #password_expired?1319 when password_expires_at is not set1320 returns false1321 when password_expires_at is in the past1322 returns true1323 when password_expires_at is in the future1324 returns false1325 #read_only_attribute?1326 when LDAP server is enabled1327 is true for name1328 is true for email1329 is true for location1330 and ldap_readonly_attributes feature is disabled1331 is false1332 is false1333 is false1334 when synced attributes metadata is present1335 delegates to synced_attributes_metadata1336 when synced attributes metadata is present1337 is false for any attribute1338 internal methods1339 returns non internal users1340 returns internal users1341 #bot?1342 marks bot users1343 #dismissed_callout?1344 when no callout dismissal record exists1345 returns false when no ignore_dismissal_earlier_than provided1346 returns false when ignore_dismissal_earlier_than provided1347 when dismissed callout exists1348 returns true when no ignore_dismissal_earlier_than provided1349 returns true when ignore_dismissal_earlier_than is earlier than dismissed_at1350 returns false when ignore_dismissal_earlier_than is later than dismissed_at1351 bots & humans1352 returns corresponding users1353 #hook_attrs1354 includes name, username, avatar_url, and email1355 user detail1356 when user is initialized1357 is expected to be present1358 is expected not to be persisted1359 when user detail exists1360 is expected to be persisted1361Issuable1362 Associations1363 is expected to belong to project required:1364 is expected to belong to author required:1365 is expected to have many notes dependent => destroy1366 is expected to have many todos dependent => destroy1367 is expected to have many labels1368 Notes1369 indicates if the notes have their authors loaded1370 Included modules1371 is expected to includes the Awardable module1372 Validation1373 general validations1374 is expected to validate that :project cannot be empty/falsy1375 is expected to validate that :iid cannot be empty/falsy1376 is expected to validate that :author cannot be empty/falsy1377 is expected to validate that :title cannot be empty/falsy1378 is expected to validate that the length of :title is at most 2551379 is expected to validate that the length of :description is at most 10485761380 behaves like validates description length with custom validation1381 when Issuable is a new record1382 validates the maximum description length1383 on create1384 does not validate the maximum description length1385 when Issuable is an existing record1386 does not validate the maximum description length1387 behaves like truncates the description to its allowed maximum length on import1388 truncates the description to its allowed maximum length1389 Scope1390 is expected to respond to #opened1391 is expected to respond to #closed1392 is expected to respond to #assigned1393 author_name1394 is delegated to author1395 returns nil when author is nil1396 .initialize1397 maps the state to the right state_id1398 maps a string version of the state to the right state_id1399 gives preference to state_id if present1400 .search1401 returns issues with a matching title1402 returns issues with a partially matching title1403 returns issues with a matching title regardless of the casing1404 returns issues with a fuzzy matching title1405 returns issues with a matching title for a query shorter than 3 chars1406 .full_search1407 returns issues with a matching title1408 returns issues with a partially matching title1409 returns issues with a matching title regardless of the casing1410 returns issues with a fuzzy matching title1411 returns issues with a matching description1412 returns issues with a partially matching description1413 returns issues with a matching description regardless of the casing1414 returns issues with a fuzzy matching description1415 returns issues with a matching description for a query shorter than 3 chars1416 returns issues with a fuzzy matching description for a query shorter than 3 chars if told to do so1417 returns issues with a fuzzy matching title for a query shorter than 3 chars if told to do so1418 when matching columns is "title"1419 returns issues with a matching title1420 returns no issues with a matching description1421 when matching columns is "description"1422 returns no issues with a matching title1423 returns issues with a matching description1424 when matching columns is "title,description"1425 returns issues with a matching title1426 returns issues with a matching description1427 when matching columns is nil"1428 returns issues with a matching title1429 returns issues with a matching description1430 when matching columns is "invalid"1431 returns issues with a matching title1432 returns issues with a matching description1433 when matching columns is "title,invalid"1434 returns issues with a matching title1435 returns no issues with a matching description1436 .to_ability_name1437 is expected to eq "issue"1438 is expected to eq "merge_request"1439 #today?1440 returns true when created today1441 returns false when not created today1442 #new?1443 returns true when created today and record hasn't been updated1444 returns false when not created today1445 returns false when record has been updated1446 #sort_by_attribute1447 by milestone due date1448 sorts desc1449 sorts asc1450 when all of the results are level on the sort key1451 has no duplicates across pages1452 #subscribed?1453 user is not a participant in the issue1454 returns false when no subcription exists1455 returns true when a subcription exists and subscribed is true1456 returns false when a subcription exists and subscribed is false1457 user is a participant in the issue1458 returns false when no subcription exists1459 returns true when a subcription exists and subscribed is true1460 returns false when a subcription exists and subscribed is false1461 #time_estimate=1462 coerces the value below Gitlab::Database::MAX_INT_VALUE1463 skips coercion for not Integer values1464 #to_hook_data1465 labels are updated1466 delegates to Gitlab::HookData::IssuableBuilder#build1467 total_time_spent is updated1468 delegates to Gitlab::HookData::IssuableBuilder#build1469 issue is assigned1470 delegates to Gitlab::HookData::IssuableBuilder#build1471 merge_request is assigned1472 delegates to Gitlab::HookData::IssuableBuilder#build1473 #labels_array1474 loads the association and returns it as an array1475 #user_notes_count1476 counts the user notes1477 votes1478 returns correct values1479 .order_due_date_and_labels_priority1480 sorts issues in order of milestone due date, then label priority1481 .order_labels_priority1482 is expected to eq 21483 .with_label1484 finds the correct issue containing just enhancement label1485 finds the correct issues containing the same label1486 finds the correct issues containing only both labels1487 #spend_time1488 adding time1489 updates the total time spent1490 updates issues updated_at1491 subtracting time1492 updates the total time spent1493 when time to subtract exceeds the total time spent1494 raise a validation error1495 #first_contribution?1496 for merge requests1497 is false for MAINTAINER1498 is false for OWNER1499 is false for REPORTER1500 is true when you don't have any merged MR1501 handles multiple projects separately1502 for issues1503 is false even without merged MR1504 #matches_cross_reference_regex?1505 issue description with long path string1506 behaves like matches_cross_reference_regex? fails fast1507 fails fast for long strings1508 note with long path string1509 behaves like matches_cross_reference_regex? fails fast1510 fails fast for long strings1511 note with long path string1512 behaves like matches_cross_reference_regex? fails fast1513 fails fast for long strings1514LabelsFinder1515 #execute1516 with no filter1517 returns labels from projects the user have access1518 returns labels available if nil title is supplied1519 filtering by group_id1520 returns labels available for any non-archived project within the group1521 when only_group_labels is true1522 returns only group labels1523 when group has no projects1524 when only group labels is false1525 returns group labels1526 when including labels from group ancestors1527 returns labels from group and its ancestors1528 ignores labels from groups which user can not read1529 when including labels from group descendants1530 returns labels from group and its descendants1531 ignores labels from groups which user can not read1532 when including labels from group projects with limited visibility1533 when merge requests and issues are not visible for non members1534 when user is not a group member1535 behaves like with limited visibility1536 returns only authorized projects labels1537 when user is a group member1538 behaves like with full visibility1539 returns all projects labels1540 when merge requests are not visible for non members1541 when user is not a group member1542 behaves like with full visibility1543 returns all projects labels1544 when user is a group member1545 behaves like with full visibility1546 returns all projects labels1547 when issues are not visible for non members1548 when user is not a group member1549 behaves like with full visibility1550 returns all projects labels1551 when user is a group member1552 behaves like with full visibility1553 returns all projects labels1554 filtering by project_id1555 returns labels available for the project1556 when include_ancestor_groups is true1557 returns all ancestor labels1558 as an administrator1559 does not return labels from another project1560 filtering by title1561 returns label with that title1562 returns label with title alias1563 returns no labels if empty title is supplied1564 returns no labels if blank title is supplied1565 returns no labels if empty name is supplied1566 search by title and description1567 returns labels with a partially matching title1568 returns labels with a partially matching description1569 returns labels matching a single character1570 filter by subscription1571 returns labels user subscribed to1572 external authorization1573 behaves like a finder with external authorization service1574 finds the subject1575 with an external authorization service1576 does not include the subject when no project was given1577 includes the subject when a project id was given1578WikiPage1579 .group_by_directory1580 when there are no pages1581 returns an empty array1582 when there are pages1583 #list_pages1584 returns an array with retained order with directories at the top1585 sort by title1586 returns an array with pages and directories1587 sort by created_at1588 returns an array with pages and directories1589 .unhyphenize1590 removes hyphens from a name1591 #initialize1592 when initialized with an existing page1593 sets the slug attribute1594 sets the title attribute1595 sets the formatted content attribute1596 sets the format attribute1597 sets the message attribute1598 sets the version attribute1599 validations1600 validates presence of title1601 validates presence of content1602 #validate_path_limits1603 character: "a"1604 accepts page titles below the limit1605 accepts directories below the limit1606 accepts a path with page title and directory below the limit1607 rejects page titles exceeding the limit1608 rejects directories exceeding the limit1609 rejects a page with both title and directory exceeding the limit1610 character: "ä"1611 accepts page titles below the limit1612 accepts directories below the limit1613 accepts a path with page title and directory below the limit1614 rejects page titles exceeding the limit1615 rejects directories exceeding the limit1616 rejects a page with both title and directory exceeding the limit1617 character: "🙈"1618 accepts page titles below the limit1619 accepts directories below the limit1620 accepts a path with page title and directory below the limit1621 rejects page titles exceeding the limit1622 rejects directories exceeding the limit1623 rejects a page with both title and directory exceeding the limit1624 with an existing page title exceeding the limit1625 accepts the exceeding title length when unchanged1626 rejects the exceeding title length when changed1627 #create1628 with valid attributes1629 saves the wiki page1630 returns true1631 saves the wiki page with message1632 dot in the title1633 #create1634 with valid attributes1635 saves the wiki page1636 returns true1637 #update1638 updates the content of the page1639 returns true1640 #create1641 with valid attributes1642 raises an error if a page with the same path already exists1643 if the title is preceded by a / it is removed1644 #update1645 with valid attributes1646 updates the content of the page1647 updates the title of the page1648 returns true1649 with same last commit sha1650 returns true1651 with different last commit sha1652 raises exception1653 when renaming a page1654 raises an error if the page already exists1655 updates the content and rename the file1656 when moving a page1657 raises an error if the page already exists1658 updates the content and moves the file1659 in subdir1660 moves the page to the root folder if the title is preceded by /1661 does nothing if it has the same title1662 in root dir1663 does nothing if the title is preceded by /1664 with invalid attributes1665 aborts update if title blank1666 #destroy1667 deletes the page1668 returns true1669 #versions1670 returns an array of all commits for the page1671 returns instances of WikiPageVersion1672 #title_changed?1673 page: :untitled_page, title: nil, changed: false1674 returns the expected value1675 page: :untitled_page, title: "new title", changed: true1676 returns the expected value1677 page: :new_page, title: nil, changed: true1678 returns the expected value1679 page: :new_page, title: "test page", changed: true1680 returns the expected value1681 page: :new_page, title: "new title", changed: true1682 returns the expected value1683 page: :existing_page, title: nil, changed: false1684 returns the expected value1685 page: :existing_page, title: "test page", changed: false1686 returns the expected value1687 page: :existing_page, title: "/test page", changed: false1688 returns the expected value1689 page: :existing_page, title: "new title", changed: true1690 returns the expected value1691 page: :directory_page, title: nil, changed: false1692 returns the expected value1693 page: :directory_page, title: "parent/child", changed: false1694 returns the expected value1695 page: :directory_page, title: "child", changed: false1696 returns the expected value1697 page: :directory_page, title: "/child", changed: true1698 returns the expected value1699 page: :directory_page, title: "parent/other", changed: true1700 returns the expected value1701 page: :directory_page, title: "other/child", changed: true1702 returns the expected value1703 #path1704 returns the path when persisted1705 returns nil when not persisted1706 #directory1707 when the page is at the root directory1708 returns an empty string1709 when the page is inside an actual directory1710 returns the full directory hierarchy1711 #historical?1712 returns true when requesting an old version1713 returns false when requesting latest version1714 returns false when version is nil1715 returns false when the last version is nil1716 returns false when the version is nil1717 #to_partial_path1718 returns the relative path to the partial to be used1719 #==1720 returns true for identical wiki page1721 returns false for updated wiki page1722 #last_commit_sha1723 returns commit sha1724 is changed after page updated1725 #hook_attrs1726 adds absolute urls for images in the content1727Clusters::Applications::Knative1728 is expected to belong to cluster required:1729 is expected to validate that :cluster cannot be empty/falsy1730 #can_uninstall?1731 calls allowed_to_uninstall?1732 #name1733 is .application_name1734 is recorded in Clusters::Cluster::APPLICATIONS1735 .association_name1736 is expected to eq :application_knative1737 #status_states1738 returns a hash of state values1739 returns an integer for installed state value1740 .available1741 is expected to contain exactly #<Clusters::Applications::Knative id: 1, cluster_id: 12, created_at: "2020-03-05 04:35:33", updated_a...ion: "0.9.0", hostname: "example.com", status_reason: nil, external_ip: nil, external_hostname: nil> and #<Clusters::Applications::Knative id: 2, cluster_id: 18, created_at: "2020-03-05 04:35:33", updated_a...ion: "0.9.0", hostname: "example.com", status_reason: nil, external_ip: nil, external_hostname: nil>1742 status state machine1743 #make_installing1744 is installing1745 #make_installed1746 is installed1747 sets the correct version of the application1748 managed_apps_local_tiller feature flag disabled1749 updates helm version1750 managed_apps_local_tiller feature flag enabled1751 does not update the helm version1752 the cluster has no helm installed1753 runs without errors1754 application is updating1755 is updated1756 updates the version of the application1757 managed_apps_local_tiller feature flag disabled1758 updates helm version1759 managed_apps_local_tiller feature flag enabled1760 does not update the helm version1761 the cluster has no helm installed1762 runs without errors1763 #make_errored1764 is errored1765 application is updating1766 is update_errored1767 application is uninstalling1768 is uninstall_errored1769 #make_scheduled1770 is scheduled1771 when installed1772 is scheduled1773 when was errored1774 clears #status_reason1775 when was updated_errored1776 clears #status_reason1777 when was uninstall_errored1778 clears #status_reason1779 #make_uninstalling1780 is uninstalling1781 #available?1782 trait: :not_installable, available: false1783 is expected not to be available1784 trait: :installable, available: false1785 is expected not to be available1786 trait: :scheduled, available: false1787 is expected not to be available1788 trait: :installing, available: false1789 is expected not to be available1790 trait: :installed, available: true1791 is expected to be available1792 trait: :updating, available: false1793 is expected not to be available1794 trait: :updated, available: true1795 is expected to be available1796 trait: :errored, available: false1797 is expected not to be available1798 trait: :update_errored, available: false1799 is expected not to be available1800 trait: :uninstalling, available: false1801 is expected not to be available1802 trait: :uninstall_errored, available: false1803 is expected not to be available1804 trait: :timed_out, available: false1805 is expected not to be available1806 #uninstall_command1807 is expected to be an instance of Gitlab::Kubernetes::Helm::DeleteCommand1808 has files1809 is rbac1810 on a non rbac enabled cluster1811 is expected not to be rbac1812 #files1813 managed_apps_local_tiller feature flag is disabled1814 includes cert files when there is a ca_cert entry1815 when the helm application does not have a ca_cert1816 does not include cert files when there is no ca_cert entry1817 managed_apps_local_tiller feature flag is enabled1818 does not include cert files1819 when cluster does not have helm installed1820 does not include cert files1821 update_available?1822 version is not the same as VERSION1823 is expected to be truthy1824 version is the same as VERSION1825 is expected to be falsey1826 #status1827 local tiller feature flag is disabled1828 sets a default status1829 local tiller feature flag is enabled1830 sets a default status1831 when application helm is scheduled1832 defaults to :not_installable1833 when application helm is installed1834 sets a default status1835 associations1836 is expected to have one serverless_domain_cluster class_name => ::Serverless::DomainCluster inverse_of => knative1837 when cloud run is enabled1838 is expected to be not installable1839 when rbac is not enabled1840 is expected to be not installable1841 make_installed with external_ip1842 schedules a ClusterWaitForIngressIpAddressWorker1843 configuring istio ingress gateway1844 after installed1845 schedules a ClusterConfigureIstioWorker1846 after updated1847 schedules a ClusterConfigureIstioWorker1848 #can_uninstall?1849 is expected to be truthy1850 #schedule_status_update with external_ip1851 schedules a ClusterWaitForIngressIpAddressWorker1852 when the application is not installed1853 does not schedule a ClusterWaitForIngressIpAddressWorker1854 when there is already an external_ip1855 does not schedule a ClusterWaitForIngressIpAddressWorker1856 when there is already an external_hostname1857 does not schedule a ClusterWaitForIngressIpAddressWorker1858 #install_command1859 is initialized with latest version1860 behaves like a command1861 is an instance of Helm::InstallCommand1862 is initialized with knative arguments1863 does not install metrics for prometheus1864 with prometheus installed1865 installs metrics1866 #update_command1867 is initialized with current version1868 behaves like a command1869 is an instance of Helm::InstallCommand1870 is initialized with knative arguments1871 does not install metrics for prometheus1872 with prometheus installed1873 installs metrics1874 #uninstall_command1875 is expected to be an instance of Gitlab::Kubernetes::Helm::DeleteCommand1876 removes knative deployed services before uninstallation1877 initializes command with all necessary postdelete script1878 #files1879 includes knative specific keys in the values.yaml file1880 validations1881 is expected to validate that :hostname cannot be empty/falsy1882 #available_domains1883 returns all instance serverless domains1884 #find_available_domain1885 returns the domain scoped to available domains1886 #pages_domain1887 returns the the associated pages domain1888Gitlab::Auth1889 constants1890 API_SCOPES contains all scopes for API access1891 ADMIN_SCOPES contains all scopes for ADMIN access1892 REPOSITORY_SCOPES contains all scopes for REPOSITORY access1893 OPENID_SCOPES contains all scopes for OpenID Connect1894 DEFAULT_SCOPES contains all default scopes1895 optional_scopes contains all non-default scopes1896 available_scopes1897 contains all non-default scopes1898 contains for non-admin user all non-default scopes without ADMIN access1899 contains for admin user all non-default scopes with ADMIN access1900 registry_scopes1901 when registry is disabled1902 is empty1903 when registry is enabled1904 contains all registry related scopes1905 find_for_git_client1906 recognizes other ci services1907 recognizes master passwords1908 allows user authenticating from the same ip1909 blocks user authenticating from two distinct ips1910 returns double nil for invalid credentials1911 throws an error suggesting user create a PAT when internal auth is disabled1912 rate limiting1913 when IP is already banned1914 raises an IpBlacklisted exception1915 for CI registry user1916 skips rate limiting for successful auth1917 skips rate limiting for failed auth1918 for other users1919 resets rate limit for successful auth1920 rate limits a user by unique IPs1921 registers failure for failed auth1922 build token1923 for running build1924 recognises user-less build1925 recognises user token1926 for created build1927 denies authentication1928 for waiting_for_resource build1929 denies authentication1930 for preparing build1931 denies authentication1932 for pending build1933 denies authentication1934 for success build1935 denies authentication1936 for failed build1937 denies authentication1938 for canceled build1939 denies authentication1940 for skipped build1941 denies authentication1942 for manual build1943 denies authentication1944 for scheduled build1945 denies authentication1946 while using LFS authenticate1947 recognizes user lfs tokens1948 recognizes deploy key lfs tokens1949 does not try password auth before oauth1950 grants deploy key write permissions1951 does not grant deploy key write permissions1952 while using OAuth tokens as passwords1953 succeeds for OAuth tokens with the `api` scope1954 fails for OAuth tokens with other scopes1955 does not try password auth before oauth1956 while using personal access tokens as passwords1957 succeeds for personal access tokens with the `api` scope1958 succeeds for personal access tokens with the `read_repository` scope1959 succeeds for personal access tokens with the `write_repository` scope1960 succeeds if it is an impersonation token1961 limits abilities based on scope1962 fails if password is nil1963 when registry is enabled1964 succeeds for personal access tokens with the `read_registry` scope1965 while using regular user and password1966 goes through lfs authentication1967 goes through oauth authentication when the username is oauth21968 while using deploy tokens1969 when deploy token and user have the same username1970 succeeds for the token1971 succeeds for the user1972 when deploy tokens have the same username1973 and belong to the same project1974 succeeds for the right token1975 fails for the wrong token1976 and belong to different projects1977 succeeds for the right token1978 fails for the wrong token1979 when the deploy token has read_repository as scope1980 succeeds when login and token are valid1981 succeeds when custom login and token are valid1982 does not attempt to rate limit unique IPs for a deploy token1983 fails when login is not valid1984 fails when token is not valid1985 fails if token is nil1986 fails if token is not related to project1987 fails if token has been revoked1988 when the deploy token is of group type1989 succeeds when login and a group deploy token are valid1990 when the deploy token has read_registry as a scope1991 when registry enabled1992 succeeds when login and a project token are valid1993 fails when login is not valid1994 fails when token is not valid1995 fails if token is nil1996 fails if token is not related to project1997 fails if token has been revoked1998 when registry disabled1999 fails when login and token are valid2000 find_with_user_password2001 finds user by valid login/password2002 finds user by valid email/password with case-insensitive email2003 finds user by valid username/password with case-insensitive username2004 does not find user with invalid password2005 does not find user with invalid login2006 allows user authenticating from the same ip2007 blocks user authenticating from two distinct ips2008 finds the user in deactivated state2009 does not find user in blocked state2010 does not find user in ldap_blocked state2011 with ldap enabled2012 tries to autheticate with db before ldap2013 does not find user by using ldap as fallback to for authentication2014 find new user by using ldap as fallback to for authentication2015 with password authentication disabled for Git2016 does not find user by valid login/password2017 with ldap enabled2018 does not find non-ldap user by valid login/password2019Ci::PipelinePresenter2020 inherits from Gitlab::View::Presenter::Delegated2021 #initialize2022 takes a pipeline and optional params2023 exposes pipeline2024 forwards missing methods to pipeline2025 #status_title2026 when pipeline is auto-canceled2027 shows that the pipeline is auto-canceled2028 when pipeline is not auto-canceled2029 does not have a status title2030 #failure_reason2031 when pipeline has a failure reason2032 when failure reason is unknown_failure2033 represents a failure reason sentence2034 when failure reason is config_error2035 represents a failure reason sentence2036 when failure reason is external_validation_failure2037 represents a failure reason sentence2038 when failure reason is activity_limit_exceeded2039 represents a failure reason sentence2040 when failure reason is size_limit_exceeded2041 represents a failure reason sentence2042 when failure reason is job_activity_limit_exceeded2043 represents a failure reason sentence2044 when pipeline does not have failure reason2045 returns nil2046 #name2047 when pipeline is detached merge request pipeline2048 is expected to eq "Detached merge request pipeline"2049 when pipeline is merge request pipeline2050 is expected to eq "Merged result pipeline"2051 when pipeline is merge train pipeline2052 is expected to eq "Merge train pipeline"2053 when pipeline is branch pipeline2054 is expected to eq "Pipeline"2055 #ref_text2056 when pipeline is detached merge request pipeline2057 returns a correct ref text2058 when pipeline is merge request pipeline2059 returns a correct ref text2060 when pipeline is branch pipeline2061 when ref exists in the repository2062 returns a correct ref text2063 when ref contains malicious script2064 does not include the malicious script2065 when ref exists in the repository2066 returns a correct ref text2067 when ref contains malicious script2068 does not include the malicious script2069 #all_related_merge_request_text2070 with zero related merge requests (branch pipeline)2071 is expected to eq "No related merge requests found."2072 with one related merge request2073 is expected to eq "1 related merge request: <a class=\"mr-iid\" href=\"/namespace530/project648/-/merge_requests/1\">!1 My title 127</a>"2074 with two related merge requests2075 is expected to eq "2 related merge requests: <a class=\"mr-iid\" href=\"/namespace531/project649/-/merge_requests/2\">!...9</a>, <a class=\"mr-iid\" href=\"/namespace531/project649/-/merge_requests/1\">!1 My title 128</a>"2076 with a limit passed2077 is expected to eq "2 related merge requests: <a class=\"mr-iid\" href=\"/namespace532/project650/-/merge_requests/2\">!2 My title 131</a>"2078 #all_related_merge_requests2079 memoizes the returned relation2080 permissions2081 with a private project2082 behaves like private merge requests2083 when not logged in2084 is expected to be empty2085 when logged in as a non_member2086 is expected to be empty2087 when logged in as a guest2088 is expected to be empty2089 when logged in as a developer2090 is expected to contain exactly #<MergeRequest id:100 namespace537/project655!1>2091 when logged in as a maintainer2092 is expected to contain exactly #<MergeRequest id:101 namespace538/project656!1>2093 with a public project with private merge requests2094 behaves like private merge requests2095 when not logged in2096 is expected to be empty2097 when logged in as a non_member2098 is expected to be empty2099 when logged in as a guest2100 is expected to be empty2101 when logged in as a developer2102 is expected to contain exactly #<MergeRequest id:105 namespace542/project660!1>2103 when logged in as a maintainer2104 is expected to contain exactly #<MergeRequest id:106 namespace543/project661!1>2105 with a public project with public merge requests2106 when not logged in2107 is expected to contain exactly #<MergeRequest id:107 namespace544/project662!1>2108 #link_to_merge_request2109 returns a correct link2110 when pipeline is branch pipeline2111 returns nothing2112 #link_to_merge_request_source_branch2113 returns a correct link2114 when pipeline is branch pipeline2115 returns nothing2116 #link_to_merge_request_target_branch2117 returns a correct link2118 when pipeline is branch pipeline2119 returns nothing2120Puma2121{"timestamp":"2020-03-05T04:37:16.265Z","pid":5924,"message":"Puma starting in cluster mode..."}2122{"timestamp":"2020-03-05T04:37:16.265Z","pid":5924,"message":"* Version 4.3.1.gitlab.2 (ruby 2.6.5-p114), codename: Mysterious Traveller"}2123{"timestamp":"2020-03-05T04:37:16.265Z","pid":5924,"message":"* Min threads: 1, max threads: 4"}2124{"timestamp":"2020-03-05T04:37:16.265Z","pid":5924,"message":"* Environment: test"}2125{"timestamp":"2020-03-05T04:37:16.265Z","pid":5924,"message":"* Process workers: 1"}2126{"timestamp":"2020-03-05T04:37:16.265Z","pid":5924,"message":"* Preloading application"}2127{"timestamp":"2020-03-05T04:37:16.279Z","pid":5924,"message":"* Listening on unix:///builds/gitlab-org/gitlab/tmp/tests/puma.socket"}2128{"timestamp":"2020-03-05T04:37:16.279Z","pid":5924,"message":"Use Ctrl-C to stop"}2129{"timestamp":"2020-03-05T04:37:16.435Z","pid":5924,"message":"- Worker 0 (pid: 5925) booted, phase: 0"}2130{"timestamp":"2020-03-05T04:37:22.940Z","pid":5924,"message":"- Worker 0 (pid: 5934) booted, phase: 0"}2131 has a worker that self-terminates on signal SIGQUIT2132{"timestamp":"2020-03-05T04:37:28.497Z","pid":5924,"message":"- Worker 0 (pid: 5944) booted, phase: 0"}2133 has a worker that self-terminates on signal SIGTERM2134{"timestamp":"2020-03-05T04:37:34.609Z","pid":5924,"message":"- Worker 0 (pid: 5956) booted, phase: 0"}2135 has a worker that self-terminates on signal SIGKILL2136{"timestamp":"2020-03-05T04:37:35.717Z","pid":5924,"message":"- Gracefully shutting down workers..."}2137Clusters::Applications::Crossplane2138 is expected to belong to cluster required:2139 is expected to validate that :cluster cannot be empty/falsy2140 #can_uninstall?2141 calls allowed_to_uninstall?2142 #name2143 is .application_name2144 is recorded in Clusters::Cluster::APPLICATIONS2145 .association_name2146 is expected to eq :application_crossplane2147 #status_states2148 returns a hash of state values2149 returns an integer for installed state value2150 .available2151 is expected to contain exactly #<Clusters::Applications::Crossplane id: 1, created_at: "2020-03-05 04:37:37", updated_at: "2020-03-05 04:37:37", cluster_id: 441, status: 3, version: "0.4.1", stack: "gcp", status_reason: nil> and #<Clusters::Applications::Crossplane id: 2, created_at: "2020-03-05 04:37:38", updated_at: "2020-03-05 04:37:38", cluster_id: 447, status: 5, version: "0.4.1", stack: "gcp", status_reason: nil>2152 status state machine2153 #make_installing2154 is installing2155 #make_installed2156 is installed2157 sets the correct version of the application2158 managed_apps_local_tiller feature flag disabled2159 updates helm version2160 managed_apps_local_tiller feature flag enabled2161 does not update the helm version2162 the cluster has no helm installed2163 runs without errors2164 application is updating2165 is updated2166 updates the version of the application2167 managed_apps_local_tiller feature flag disabled2168 updates helm version2169 managed_apps_local_tiller feature flag enabled2170 does not update the helm version2171 the cluster has no helm installed2172 runs without errors2173 #make_errored2174 is errored2175 application is updating2176 is update_errored2177 application is uninstalling2178 is uninstall_errored2179 #make_scheduled2180 is scheduled2181 when installed2182 is scheduled2183 when was errored2184 clears #status_reason2185 when was updated_errored2186 clears #status_reason2187 when was uninstall_errored2188 clears #status_reason2189 #make_uninstalling2190 is uninstalling2191 #available?2192 trait: :not_installable, available: false2193 is expected not to be available2194 trait: :installable, available: false2195 is expected not to be available2196 trait: :scheduled, available: false2197 is expected not to be available2198 trait: :installing, available: false2199 is expected not to be available2200 trait: :installed, available: true2201 is expected to be available2202 trait: :updating, available: false2203 is expected not to be available2204 trait: :updated, available: true2205 is expected to be available2206 trait: :errored, available: false2207 is expected not to be available2208 trait: :update_errored, available: false2209 is expected not to be available2210 trait: :uninstalling, available: false2211 is expected not to be available2212 trait: :uninstall_errored, available: false2213 is expected not to be available2214 trait: :timed_out, available: false2215 is expected not to be available2216 update_available?2217 version is not the same as VERSION2218 is expected to be truthy2219 version is the same as VERSION2220 is expected to be falsey2221 #status2222 local tiller feature flag is disabled2223 sets a default status2224 local tiller feature flag is enabled2225 sets a default status2226 when application helm is scheduled2227 defaults to :not_installable2228 when application helm is installed2229 sets a default status2230 validations2231 is expected to validate that :stack cannot be empty/falsy2232 #can_uninstall?2233 is expected to be truthy2234 #install_command2235 is expected to be an instance of Gitlab::Kubernetes::Helm::InstallCommand2236 is initialized with crossplane arguments2237 application failed to install previously2238 is initialized with the locked version2239 #files2240 includes crossplane specific keys in the values.yaml file2241Gitlab::CycleAnalytics::CodeStage2242 behaves like base stage2243 has the median data value2244 has the median data stage2245 has the median data description2246 has the title2247 has the events2248 when using the new query backend2249 provides the same results as the old implementation2250 for the median2251 for the list of event records2252 #project_median2253 counts median from issues with metrics2254 when valid date range is given2255 is expected to eq 18002256 when records are out of the date range2257 is expected to eq nil2258 #events2259 exposes merge requests that closes issues2260 when group is given2261 #group_median2262 counts median from issues with metrics2263 #events2264 exposes merge requests that close issues2265 when subgroup is given2266 #events2267 exposes merge requests that close issues2268 exposes merge requests that close issues with full path for subgroup2269Gitlab::DatabaseImporters::SelfMonitoring::Project::CreateService2270 #execute2271 without application_settings2272 returns error2273 without admin users2274 returns error2275 with application settings and admin users2276 is idempotent2277 tracks successful install2278 creates group2279 creates project with internal visibility2280 creates project with internal visibility even when internal visibility is restricted2281 creates project with correct name and description2282 creates project with group as owner2283 saves the project id2284 expires application_setting cache2285 creates an environment for the project2286 returns error when saving project ID fails2287 behaves like has prometheus service2288 is expected to eq true2289 when the environment creation fails2290 returns error2291 when project already exists2292 returns success2293 when local requests from hooks and services are not allowed2294 behaves like has prometheus service2295 is expected to eq true2296 with non default prometheus address2297 behaves like has prometheus service2298 is expected to eq true2299 with :9090 symbol2300 behaves like has prometheus service2301 is expected to eq true2302 with 0.0.0.0:90902303 behaves like has prometheus service2304 is expected to eq true2305 when prometheus setting is not present in gitlab.yml2306 does not fail2307 when prometheus setting is nil2308 does not fail2309 when prometheus setting is disabled in gitlab.yml2310 does not configure prometheus2311 when prometheus listen address is blank in gitlab.yml2312 does not configure prometheus2313 when project cannot be created2314 returns error2315 when prometheus manual configuration cannot be saved2316 returns error2317GroupChildEntity2318 for a project2319 has the correct type2320 includes the star count2321 has the correct edit path2322 behaves like group child json2323 renders json2324 includes id2325 includes full_name2326 includes avatar_url2327 includes name2328 includes description2329 includes markdown_description2330 includes visibility2331 includes type2332 includes can_edit2333 includes visibility2334 includes permission2335 includes relative_path2336 for a group2337 has the correct type2338 counts projects and subgroups as children2339 includes children_count2340 includes leave_path2341 includes parent_id2342 includes number_projects_with_delimiter2343 includes number_users_with_delimiter2344 includes project_count2345 includes subgroup_count2346 allows an owner to leave when there is another one2347 has the correct edit path2348 emoji in description2349 has the correct markdown_description2350 behaves like group child json2351 renders json2352 includes id2353 includes full_name2354 includes avatar_url2355 includes name2356 includes description2357 includes markdown_description2358 includes visibility2359 includes type2360 includes can_edit2361 includes visibility2362 includes permission2363 includes relative_path2364 for a project with external authorization enabled2365 does not hit the external authorization service2366Gitlab::ImportExport::MembersMapper2367 map members2368 when importable is Project2369 includes the exported user ID in the map2370 maps a member2371 defaults to importer member if it does not exist2372 has invited members with no user2373 removes old user_id from member_hash to avoid conflict with user key2374 authorizes the users to the project2375 maps an owner as a maintainer2376 user is not an admin2377 does not map a member2378 defaults to importer member if it does not exist2379 chooses the one with an email2380 maps the member that has a matching email2381 importer same as group member2382 maps the project member2383 maps the project member if it already exists2384 importing group members2385 maps the importer2386 maps the group member2387 when importer mapping fails2388 includes importer specific error message2389 when importable is Group2390 includes the exported user ID in the map2391 maps a member2392 defaults to importer member if it does not exist2393 has invited members with no user2394 removes old user_id from member_hash to avoid conflict with user key2395 does not lower owner access level2396 user is not an admin2397 does not map a member2398 defaults to importer member if it does not exist2399 chooses the one with an email2400 maps the member that has a matching email2401projects/issues/show2402 when the issue is closed2403 shows "Closed" if an issue has not been moved or duplicated2404 shows "Closed" if discussion is locked2405 when the issue was moved2406 when user can see the moved issue2407 shows "Closed (moved)" if an issue has been moved2408 shows "Closed (moved)" if an issue has been moved and discussion is locked2409 links "moved" to the new issue the original issue was moved to2410 when user cannot see moved issue2411 does not show moved issue link2412 when the issue was duplicated2413 when user can see the duplicated issue2414 shows "Closed (duplicated)" if an issue has been duplicated2415 links "duplicated" to the new issue the original issue was duplicated to2416 when user cannot see duplicated issue2417 does not show duplicated issue link2418 when the issue is open2419 shows "Open" if an issue has been moved2420 shows "Open" if discussion is locked2421 when the issue is related to a sentry error2422 renders a stack trace2423 when the issue is not related to a sentry error2424 does not render a stack trace2425Gitlab::Diff::Position2426 factory2427 produces a complete text position2428 produces a complete image position2429 allows the diff_refs to be passed as a single object2430 position for an added text file2431 is expected to be on text2432 is expected not to be on image2433 #diff_file2434 returns the correct diff file2435 #diff_line2436 returns the correct diff line2437 #line_code2438 returns the correct line code2439 position for an added image file2440 is expected not to be on text2441 is expected to be on image2442 returns the correct diff file2443 position for a changed file2444 position for an added line2445 #diff_file2446 returns the correct diff file2447 different folded positions in the same diff file2448 expands the diff file2449 #diff_line2450 returns the correct diff line2451 #line_code2452 returns the correct line code2453 position for an unchanged line2454 #diff_file2455 returns the correct diff file2456 #diff_line2457 returns the correct diff line2458 #line_code2459 returns the correct line code2460 position for a removed line2461 #diff_file2462 returns the correct diff file2463 #diff_line2464 returns the correct diff line2465 #line_code2466 returns the correct line code2467 position for a renamed file2468 position for an added line2469 #diff_file2470 returns the correct diff file2471 #diff_line2472 returns the correct diff line2473 #line_code2474 returns the correct line code2475 position for an unchanged line2476 #diff_file2477 returns the correct diff file2478 #diff_line2479 returns the correct diff line2480 #line_code2481 returns the correct line code2482 position for a removed line2483 #diff_file2484 returns the correct diff file2485 #diff_line2486 returns the correct diff line2487 #line_code2488 returns the correct line code2489 position for a deleted file2490 #diff_file2491 returns the correct diff file2492 #diff_line2493 returns the correct diff line2494 #line_code2495 returns the correct line code2496 position for a missing ref2497 #diff_file2498 does not raise exception2499 #diff_line2500 does not raise exception2501 #line_code2502 does not raise exception2503 position for a file in the initial commit2504 #diff_file2505 returns the correct diff file2506 #diff_line2507 returns the correct diff line2508 #line_code2509 returns the correct line code2510 position for a file in a straight comparison2511 #diff_file2512 returns the correct diff file2513 #diff_line2514 returns the correct diff line2515 #line_code2516 returns the correct line code2517 #==2518 when positions are equal2519 returns true2520 when positions are equal, except for truncated shas2521 returns true2522 when positions are unequal2523 returns false2524 #as_json2525 for text position2526 behaves like diff position json2527 returns the position as JSON2528 for image position2529 behaves like diff position json2530 returns the position as JSON2531 #to_json2532 for text position2533 behaves like diff position json2534 returns the position as JSON2535 works when nested under another hash2536 for image position2537 behaves like diff position json2538 returns the position as JSON2539 works when nested under another hash2540 #file_hash2541 returns SHA1 representation of the file_path2542Ci::CreatePipelineService2543 job:rules2544 exists:2545 with matches2546DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2547DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2548DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2549 creates two jobs2550DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2551DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2552DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2553 sets when: for all jobs2554 with matches on the second rule2555DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2556DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2557 includes both jobs2558DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2559DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2560 sets when: for the created rules job based on the second clause2561 without matches2562DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2563 only persists the job without rules2564DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2565 sets when: for the created job2566 when workflow:rules are used2567 with a single regex-matching if: clause2568 matching the first rule in the list2569DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2570 saves a pending pipeline2571 matching the last rule in the list2572DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2573 saves a pending pipeline2574 matching the when:never rule2575 invalidates the pipeline with a workflow rules error2576 matching no rules in the list2577 invalidates the pipeline with a workflow rules error2578 when root variables are used2579 matching the first rule in the list2580DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2581 saves a pending pipeline2582 with a multiple regex-matching if: clause2583 with partial match2584DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2585 saves a pending pipeline2586 with complete match2587 invalidates the pipeline with a workflow rules error2588 with job rules2589 where workflow passes and the job fails2590 invalidates the pipeline with an empty jobs error2591 where workflow passes and the job passes2592DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2593 saves a pending pipeline2594 where workflow fails and the job fails2595 invalidates the pipeline with a workflow rules error2596 where workflow fails and the job passes2597 invalidates the pipeline with a workflow rules error2598CommitStatus2599 is expected to belong to pipeline required:2600 is expected to belong to user required:2601 is expected to belong to project required:2602 is expected to belong to auto_canceled_by required:2603 is expected to validate that :name cannot be empty/falsy2604 is expected to validate that :status is either ‹"pending"›, ‹"running"›, ‹"failed"›, ‹"success"›, or ‹"canceled"›2605 is expected to delegate #sha to the #pipeline object2606 is expected to delegate #short_sha to the #pipeline object2607 is expected to respond to #success?2608 is expected to respond to #failed?2609 is expected to respond to #running?2610 is expected to respond to #pending?2611 behaves like having unique enum values2612 has unique values in "failure_reason"2613 #author2614 is expected to eq #<User id: @>2615 status state machine2616 invalidates the cache after a transition2617 transitioning to running2618 records the started at time2619 #processed2620 when ci_atomic_processing is disabled2621 is expected to be nil2622 when ci_atomic_processing is enabled2623 status is latest2624 is expected to be falsey2625 status is retried2626 is expected to be truthy2627 #started?2628 without started_at2629 is expected to be falsey2630 if commit status is running2631 is expected to be truthy2632 if commit status is success2633 is expected to be truthy2634 if commit status is failed2635 is expected to be truthy2636 if commit status is pending2637 is expected to be falsey2638 if commit status is canceled2639 is expected to be falsey2640 #active?2641 if commit_status.status is pending2642 is expected to be truthy2643 if commit_status.status is running2644 is expected to be truthy2645 if commit_status.status is success2646 is expected to be falsey2647 if commit_status.status is failed2648 is expected to be falsey2649 if commit_status.status is canceled2650 is expected to be falsey2651 #complete?2652 if commit_status.status is success2653 is expected to be truthy2654 if commit_status.status is failed2655 is expected to be truthy2656 if commit_status.status is canceled2657 is expected to be truthy2658 if commit_status.status is pending2659 is expected to be falsey2660 if commit_status.status is running2661 is expected to be falsey2662 #cancel2663 when status is scheduled2664 updates the status2665 #auto_canceled?2666 when it is canceled2667 when there is auto_canceled_by2668 is auto canceled2669 when there is no auto_canceled_by2670 is not auto canceled2671 #duration2672 is expected to eq 120.02673 if the building process has not started yet2674 is expected to be nil2675 if the building process has started2676 is expected to be a kind of Float2677 is expected to be > 0.02678 .latest2679 returns unique statuses2680 .retried2681 returns unique statuses2682 .running_or_pending2683 returns statuses that are running or pending2684 .after_stage2685 returns statuses from second and third stage2686 .exclude_ignored2687 returns statuses without what we want to ignore2688 .failed_but_allowed2689 returns statuses without what we want to ignore2690 .for_ref2691 returns statuses with the specified ref2692 .by_name2693 returns statuses with the specified name2694 .for_project_paths2695 with a single path2696 returns statuses for other_project2697 with array of paths2698 returns statuses for project2699 .status2700 when there are multiple statuses present2701 returns a correct compound status2702 when there are only allowed to fail commit statuses present2703 returns status that indicates success2704 when using a scope to select latest statuses2705 returns status according to the scope2706 #before_sha2707 when no before_sha is set for pipeline2708 returns blank sha2709 for before_sha set for pipeline2710 returns the set value2711 #commit2712 returns commit pipeline has been created for2713 #group_name2714 'rspec:windows' puts in 'rspec:windows'2715 'rspec:windows 0' puts in 'rspec:windows 0'2716 'rspec:windows 0 test' puts in 'rspec:windows 0 test'2717 'rspec:windows 0 1' puts in 'rspec:windows'2718 'rspec:windows 0 1 name' puts in 'rspec:windows name'2719 'rspec:windows 0/1' puts in 'rspec:windows'2720 'rspec:windows 0/1 name' puts in 'rspec:windows name'2721 'rspec:windows 0:1' puts in 'rspec:windows'2722 'rspec:windows 0:1 name' puts in 'rspec:windows name'2723 'rspec:windows 10000 20000' puts in 'rspec:windows'2724 'rspec:windows 0 : / 1' puts in 'rspec:windows'2725 'rspec:windows 0 : / 1 name' puts in 'rspec:windows name'2726 '0 1 name ruby' puts in 'name ruby'2727 '0 :/ 1 name ruby' puts in 'name ruby'2728 #detailed_status2729 returns a detailed status2730 #sortable_name2731 'karma' sorts as '["karma"]'2732 'karma 0 20' sorts as '["karma ", 0, " ", 20]'2733 'karma 10 20' sorts as '["karma ", 10, " ", 20]'2734 'karma 50:100' sorts as '["karma ", 50, ":", 100]'2735 'karma 1.10' sorts as '["karma ", 1, ".", 10]'2736 'karma 1.5.1' sorts as '["karma ", 1, ".", 5, ".", 1]'2737 'karma 1 a' sorts as '["karma ", 1, " a"]'2738 #locking_enabled?2739 when changing status2740 lock2741 raise exception when trying to update2742 when changing description2743 do not lock2744 save correctly2745 set failure_reason when drop2746 when failure_reason is nil2747 is expected to be unknown failure2748 when failure_reason is script_failure2749 is expected to be script failure2750 when failure_reason is unmet_prerequisites2751 is expected to be unmet prerequisites2752 ensure stage assignment2753 when commit status has a stage_id assigned2754 does not create a new stage2755 when commit status does not have a stage_id assigned2756 creates a new stage2757 when commit status does not have stage but it exists2758 uses existing stage2759 when commit status is being imported2760 does not create a new stage2761 #all_met_to_become_pending?2762 is expected to eq true2763 when build requires a resource2764 is expected to eq false2765 when build has a prerequisite2766 is expected to eq false2767 #enqueue2768 when initial state is :created2769 behaves like commit status enqueued2770 sets queued_at value when enqueued2771 when initial state is :skipped2772 behaves like commit status enqueued2773 sets queued_at value when enqueued2774 when initial state is :manual2775 behaves like commit status enqueued2776 sets queued_at value when enqueued2777 when initial state is :scheduled2778 behaves like commit status enqueued2779 sets queued_at value when enqueued2780 #present2781 is expected to be a kind of CommitStatusPresenter2782DeploymentPlatform2783 #deployment_platform2784 with no Kubernetes configuration on CI/CD, no Kubernetes Service2785 is expected to be nil2786 when project is the cluster's management project2787 cluster_management_project feature is enabled2788 returns the cluster with management project2789 cluster_management_project feature is disabled2790 returns nothing2791 when project has configured kubernetes from CI/CD > Clusters2792 returns the Kubernetes platform2793 with a group level kubernetes cluster2794 returns the Kubernetes platform from the project cluster2795 when group has configured kubernetes cluster2796 returns the Kubernetes platform2797 when project is the cluster's management project2798 cluster_management_project feature is enabled2799 returns the cluster with management project2800 cluster_management_project feature is disabled2801 returns the group cluster2802 when project is not the cluster's management project2803 returns the group cluster2804 when child group has configured kubernetes cluster2805 returns the Kubernetes platform for the child group2806 deeply nested group2807 returns most nested group cluster Kubernetes platform2808 cluster in the middle of hierarchy is disabled2809 returns closest enabled Kubenetes platform2810 when instance has configured kubernetes cluster2811 returns the Kubernetes platform2812Ci::PipelineTriggerService2813 #execute2814 with a trigger token2815 when trigger belongs to a different project2816 does nothing2817 when params have an existsed trigger token2818 when params have an existsed ref2819DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2820DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2821DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2822DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2823DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2824 triggers a pipeline2825 when commit message has [ci skip]2826DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2827DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2828DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2829DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2830DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2831 ignores [ci skip] and create as general2832 when params have a variable2833DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2834DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2835DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2836DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2837DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2838 has a variable2839 when params have a non-existsed ref2840 does not trigger a pipeline2841 when params have a non-existsed trigger token2842 does not trigger a pipeline2843 with a pipeline job token2844 when job user does not have a permission to read a project2845 does nothing2846 when job is not running2847 does nothing2848 when params have an existsed job token2849 when params have an existsed ref2850DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2851DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2852DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2853DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2854DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2855 triggers a pipeline2856 when commit message has [ci skip]2857DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2858DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2859DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2860DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2861DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2862 ignores [ci skip] and create as general2863 when params have a variable2864DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2865DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2866DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2867DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2868DEPRECATION WARNING: Class level methods will no longer inherit scoping from `match_id_and_lock_version` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `CommitStatus.unscoped`, or `CommitStatus.default_scoped` if a model has default scopes. (called from block (2 levels) in <class:CommitStatus> at /builds/gitlab-org/gitlab/app/models/commit_status.rb:69)2869 has a variable2870 when params have a non-existsed ref2871 does not job a pipeline2872 when params have a non-existsed trigger token2873 does not trigger a pipeline2874PushEventPayloadService2875 #execute2876 creates a new PushEventPayload row2877 sets the push_event_payload association of the used event2878 #commit_title2879 returns nil if no commits were pushed2880 returns a String limited to 70 characters2881 does not truncate the commit message if it is shorter than 70 characters2882 includes the first line of a commit message if the message spans multiple lines2883 #commit_from_id2884 returns nil when creating a new ref2885 returns the ID of the first commit when pushing to an existing ref2886 #commit_to_id2887 returns nil when removing an existing ref2888 #commit_count2889 returns the number of commits2890 raises when the push data does not contain the commits count2891 #ref2892 returns the name of the ref2893 raises when the push data does not contain the ref name2894 #revision_before2895 returns the revision from before the push2896 raises when the push data does not contain the before revision2897 #revision_after2898 returns the revision from after the push2899 raises when the push data does not contain the after revision2900 #trimmed_ref2901 returns the ref name without its prefix2902 #create?2903 returns true when creating a new ref2904 returns false when pushing to an existing ref2905 #remove?2906 returns true when removing an existing ref2907 returns false pushing to an existing ref2908 #action2909 returns :created when creating a ref2910 returns :removed when removing an existing ref2911 returns :pushed when pushing to an existing ref2912 #ref_type2913 returns :tag for a tag2914 returns :branch for a branch2915Gitlab::CycleAnalytics::TestStage2916 behaves like base stage2917 has the median data value2918 has the median data stage2919 has the median data description2920 has the title2921 has the events2922 #median2923 counts median from issues with metrics2924 when valid date range is given2925 is expected to eq 18002926 when records are out of the date range2927 is expected to eq nil2928 when using the new query backend2929 provides the same results as the old implementation2930 for the median2931 for the list of event records2932WebHookService2933 #initialize2934 when SystemHook2935 when local requests are allowed2936 is expected to be truthy2937 when local requests are not allowed2938 is expected to be falsey2939 when ProjectHook2940 when local requests are allowed2941 is expected to be truthy2942 when local requests are not allowed2943 is expected to be falsey2944 #execute2945 POSTs to the webhook URL2946 POSTs the data as JSON2947 catches exceptions2948 handles exceptions2949 handles 200 status code2950 handles 2xx status codes2951 when token is defined2952 POSTs to the webhook URL2953 when auth credentials are present2954 uses the credentials2955 when auth credentials are partial present2956 uses the credentials anyways2957 execution logging2958 with success2959 log successful execution2960 with exception2961 log failed execution2962 with unsafe response body2963 log successful execution2964 #async_execute2965 enqueue WebHookWorker2966MilestonesHelper2967 #milestones_filter_dropdown_path2968 when @project present2969 returns project milestones JSON URL2970 when @target_project present2971 returns targeted project milestones JSON URL2972 when @group present2973 returns group milestones JSON URL2974 when neither of @project/@target_project/@group present2975 returns dashboard milestones JSON URL2976 #milestone_date_range2977 is expected to be nil2978 is expected to eq "expires on Mar 6, 2020"2979 is expected to eq "expired on Mar 4, 2020"2980 is expected to eq "starts on Mar 6, 2020"2981 is expected to eq "started on Mar 4, 2020"2982 is expected to eq "Mar 4, 2020–Mar 6, 2020"2983 #milestone_counts2984 when there are milestones2985 returns the correct counts2986 when there are only milestones of one type2987 returns the correct counts2988 when there are no milestones2989 returns the correct counts2990Gitlab::HashedStorage::Migrator2991 #bulk_schedule_migration2992 schedules job to HashedStorage::MigratorWorker2993 #bulk_schedule_rollback2994 schedules job to HashedStorage::RollbackerWorker2995 #bulk_migrate2996 enqueue jobs to HashedStorage::ProjectMigrateWorker2997 rescues and log exceptions2998 delegates each project in specified range to #migrate29992020-03-05T04:41:09.441Z 117 TID-grpw7uwwx INFO: Skipped attachments move from '/builds/gitlab-org/gitlab/tmp/tests/public/uploads/namespace816/project931' to '/builds/gitlab-org/gitlab/tmp/tests/public/uploads/@hashed/36/58/3658d7fa3c43456f3c9c87db0490e872039516e6375336254560167cc3db2ea2', source path doesn't exist or is not a directory (PROJECT_ID=972)30002020-03-05T04:41:09.503Z 117 TID-grpw7uwwx INFO: Skipped attachments move from '/builds/gitlab-org/gitlab/tmp/tests/public/uploads/namespace817/project932' to '/builds/gitlab-org/gitlab/tmp/tests/public/uploads/@hashed/c2/4c/c24cf8d31cf7e596ba052b7ed00f169b1c2bafb941b01e277910a1c8263c3e89', source path doesn't exist or is not a directory (PROJECT_ID=973)3001 has all projects migrated and set as writable3002 #bulk_rollback3003 enqueue jobs to HashedStorage::ProjectRollbackWorker3004 rescues and log exceptions3005 delegates each project in specified range to #rollback3006 has all projects rolledback and set as writable3007 #migrate3008 enqueues project migration job3009 rescues and log exceptions30102020-03-05T04:41:12.829Z 117 TID-grpw7uwwx INFO: Skipped attachments move from '/builds/gitlab-org/gitlab/tmp/tests/public/uploads/namespace828/project943' to '/builds/gitlab-org/gitlab/tmp/tests/public/uploads/@hashed/72/80/72805ff7c0f210f3aa6e66f3f208974437611c64a2393f4e7edfef47d8e140a7', source path doesn't exist or is not a directory (PROJECT_ID=984)3011 migrates project storage3012 has migrated project set as writable3013 when project is already on hashed storage3014 doesnt enqueue any migration job3015 returns false3016 #rollback3017 enqueues project rollback job3018 rescues and log exceptions3019 rolls-back project storage3020 has rolled-back project set as writable3021 when project is already on legacy storage3022 doesnt enqueue any rollback job3023 returns false3024 migration_pending?3025 returns true when there are MigratorWorker jobs scheduled3026 returns true when there are ProjectMigrateWorker jobs scheduled3027 returns false when queues are empty3028 rollback_pending?3029 returns true when there are RollbackerWorker jobs scheduled3030 returns true when there are jobs scheduled3031 returns false when queues are empty3032Banzai::Pipeline::GfmPipeline3033 integration between parsing regular and external issue references3034 when internal issue tracker is enabled3035 allows to use long external reference syntax for Redmine3036 parses cross-project references to regular issues3037 when shorthand pattern #ISSUE_ID is used3038 links an internal issue if it exists3039 does not link any issue if it does not exist on GitLab3040 when internal issue tracker is disabled3041 allows to use shorthand external reference syntax for Redmine3042 allows to use long external reference syntax for Redmine3043 parses cross-project references to regular issues3044 markdown link or image urls having spaces3045 rewrites links with spaces in url3046 rewrites images with spaces in url3047 sanitizes the fixed link3048 emoji in references3049 renders a label reference with emoji inside3050 renders a milestone reference with emoji inside3051 asset proxy3052 replaces a lazy loaded img src3053 autolinks images to the proxy3054 properly adds tooltips to link for IDN images3055Clusters::Applications::CheckUninstallProgressService3056 when application is uninstalling3057 behaves like a not yet terminated installation3058 when phase is Pending3059 when not timed_out3060 reschedule a new check3061 behaves like a not yet terminated installation3062 when phase is Running3063 when not timed_out3064 reschedule a new check3065 behaves like a not yet terminated installation3066 when phase is Unknown3067 when not timed_out3068 reschedule a new check3069 when installation POD succeeded3070 removes the installation POD3071 runs application post_uninstall3072 destroys the application3073 an error occurs while destroying3074 still removes the installation POD3075 makes the application uninstall_errored3076 when installation POD failed3077 make the application errored3078 when timed out3079 make the application errored3080 when installation raises a Kubeclient::HttpError3081 logs into kubernetes.log and Sentry3082 shows the response code from the error3083CycleAnalytics::GroupLevel3084 #permissions3085 returns true for all stages3086 #stats3087 returns medians for each stage for a specific group3088 #summary3089 returns medians for each stage for a specific group3090Search::GlobalService3091 #execute3092 unauthenticated3093 returns public projects only3094 authenticated3095 returns public, internal and private projects3096 returns only public & internal projects3097 project name is searchable3098 does not return archived projects3099Clusters::Applications::IngressModsecurityUsageService3100 #execute3101 with multiple projects3102 mixed data3103 gathers variable data3104 blocking3105 gathers variable data3106 disabled3107 gathers variable data3108 when set as both ci and pipeline variables3109 wont double-count projects3110 gives precedence to pipeline variable3111 when a project has multiple environments3112 when set as ci variable3113 gathers variable data3114 when set as pipeline variable3115 gathers variable data3116 when an environment has multiple deployments3117 when set as pipeline variable3118 gives precedence to latest deployment3119Gitlab::GithubImport::Importer::PullRequestsImporter3120 #parallel?3121 returns true when running in parallel mode3122 returns false when running in sequential mode3123 #execute3124 when running in parallel mode3125 imports pull requests in parallel3126 when running in sequential mode3127 imports pull requests in sequence3128 #sequential_import3129 imports each pull request in sequence3130 #parallel_import3131 imports each note in parallel3132 #each_object_to_import3133 yields every pull request to the supplied block3134 updates the repository if a pull request was updated after the last clone3135 #update_repository3136 updates the repository3137 #update_repository?3138 when the pull request was updated after the last update3139 returns true when the head SHA is not present3140 returns true when the base SHA is not present3141 returns false if both the head and base SHAs are present3142 when the pull request was updated before the last update3143 returns false3144 #commit_exists?3145 returns true when a commit exists3146 returns false when a commit does not exist3147 #id_for_already_imported_cache3148 returns the PR number of the given PR3149Blobs::UnfoldPresenter3150 #initialize3151 with empty params3152 sets default attributes3153 when full is false3154 sets attributes3155 when full is true3156 sets other attributes3157 when to is -13158 sets other attributes3159 #diff_lines3160 when "full" is true3161 returns all lines3162 when last line is empty3163 disregards last line3164 when "since" is equal to 13165 does not add top match line3166 when "since" is greater than 13167 adds top match line3168 "to" is higher than blob size3169 does not add bottom match line3170 "to" is equal to blob size3171 does not add bottom match line3172 "to" is less than blob size3173 adds bottom match line3174 when "to" is less than blob size3175 adds bottom match line3176 when "to" is equal to blob size3177 does not add bottom match line3178 when "to" is "-1"3179 does not add bottom match line3180 last line is the latest blob line3181 #lines3182 when scope is specified3183 returns lines cropped by params3184 when full is true3185 returns all lines3186 #match_line_text3187 when bottom is true3188 returns empty string3189 when bottom is false3190 returns match line string3191Clusters::Kubernetes::ConfigureIstioIngressService#execute3192 without a serverless_domain_cluster3193 configures gateway to use PASSTHROUGH3194 with a serverless_domain_cluster3195 configures certificates3196 configures gateway to use MUTUAL3197 when there is an error3198 Kubeclient::HttpError3199 puts Knative into an errored state3200 StandardError3201 puts Knative into an errored state3202ci/status/_icon3203 when rendering status for build3204 when user has ability to see details3205 has link to build details page3206 when user do not have ability to see build details3207 contains build status text3208 does not contain links3209 when rendering status for external job3210 when user has ability to see commit status details3211 status has external target url3212 contains valid commit status text3213 has link to external status page3214 status do not have external target url3215 contains valid commit status text3216 has link to external status page3217AwardEmojis::DestroyService3218 #execute3219 when user is not authorized3220 behaves like a service that does not authorize the user3221 does not remove the emoji3222 returns an error state3223 returns a nil award3224 returns the error3225 when the user is authorized3226 when user has not awarded an emoji to the awardable3227 behaves like a service that does not authorize the user3228 does not remove the emoji3229 returns an error state3230 returns a nil award3231 returns the error3232 when user has awarded an emoji to the awardable3233 removes the emoji3234 returns a success status3235 returns no errors3236 returns the destroyed award3237Compare3238 #start_commit3239 returns raw compare base commit3240 returns nil if compare base commit is nil3241 #commit3242 returns raw compare head commit3243 returns nil if compare head commit is nil3244 #base_commit_sha3245 returns @base_sha if it is present3246 fetches merge base SHA from repo when @base_sha is nil3247 is memoized on first call3248 returns nil if there is no start_commit3249 returns nil if there is no head commit3250 #diff_refs3251 uses base_commit_sha sha as base_sha3252 uses start_commit sha as start_sha3253 uses commit sha as head sha3254 #modified_paths3255 changes are present3256 returns affected file paths, without duplication3257 changes are absent3258 returns empty array3259notify/pipeline_success_email.html.haml3260 behaves like pipeline status changes email3261 when the pipeline contains a failed job3262 behaves like renders the pipeline status changes email correctly3263 pipeline with user3264 renders the email correctly3265 behaves like correct pipeline information for pipelines for merge requests3266 when pipeline for merge request3267 renders a source ref of the pipeline3268 pipeline without user3269 renders the email correctly3270 when the latest failed job is a bridge job3271 behaves like renders the pipeline status changes email correctly3272 pipeline with user3273 renders the email correctly3274 behaves like correct pipeline information for pipelines for merge requests3275 when pipeline for merge request3276 renders a source ref of the pipeline3277 pipeline without user3278 renders the email correctly3279DiscussionDiffFileEntity3280 when there is no merge request3281 behaves like diff file discussion entity3282 behaves like diff file base entity3283 exposes essential attributes3284 when diff file does not have a blob and content sha3285 exposes some attributes as nil3286 when there is a merge request3287 exposes additional attributes3288 exposes no diff lines3289 behaves like diff file discussion entity3290 behaves like diff file base entity3291 exposes essential attributes3292 when diff file does not have a blob and content sha3293 exposes some attributes as nil3294User TokenAuthenticatable3295 behaves like TokenAuthenticatable3296 dynamically defined methods3297 is expected to respond to #find_by_feed_token3298 is expected to respond to #ensure_feed_token3299 is expected to respond to #set_feed_token3300 is expected to respond to #reset_feed_token!3301 ensures authentication token3302 is expected to be a kind of String3303ApplicationSetting TokenAuthenticatable3304 behaves like TokenAuthenticatable3305 dynamically defined methods3306 is expected to respond to #find_by_runners_registration_token3307 is expected to respond to #ensure_runners_registration_token3308 is expected to respond to #set_runners_registration_token3309 is expected to respond to #reset_runners_registration_token!3310 generating new token3311 token is not generated yet3312 token field accessor3313 is expected not to be blank3314 ensure_runners_registration_token3315 is expected to be a kind of String3316 is expected not to be blank3317 does not persist token3318 ensure_runners_registration_token!3319 persists new token as an encrypted string3320 does not persist token in a clear text3321 token is generated3322 persists a new token3323 setting new token3324 is expected to eq "0123456789"3325 multiple token fields3326 is expected to respond to #ensure_runners_registration_token3327 is expected to respond to #ensure_yet_another_token3328 setting same token field multiple times3329 raises error3330PersonalAccessToken TokenAuthenticatable3331 .find_by_token3332 finds the token3333 #set_token3334 sets new token3335 #ensure_token3336 token_digest does not exist3337 behaves like changes personal access token3338 sets new token3339 token_digest already generated3340 behaves like does not change personal access token3341 sets new token3342 #ensure_token!3343 token_digest does not exist3344 behaves like changes personal access token3345 sets new token3346 token_digest already generated3347 behaves like does not change personal access token3348 sets new token3349 #reset_token!3350 token_digest does not exist3351 behaves like changes personal access token3352 sets new token3353 token_digest already generated3354 behaves like changes personal access token3355 sets new token3356Ci::Build TokenAuthenticatable3357 behaves like TokenAuthenticatable3358 dynamically defined methods3359 is expected to respond to #find_by_token3360 is expected to respond to #ensure_token3361 is expected to respond to #set_token3362 is expected to respond to #reset_token!3363 generating new token3364 token is not generated yet3365 token field accessor3366 makes it possible to access token3367 ensure_token3368 is expected to be a kind of String3369 is expected not to be blank3370 does not persist token3371 ensure_token!3372 persists a new token3373 persists new token as an encrypted string3374 does not persist a token in a clear text3375 #reset_token!3376 persists a new token3377 setting a new token3378 returns the token3379 writes a new encrypted token3380 does not write a new cleartext token3381Clusters::KubernetesNamespace3382 is expected to belong to cluster_project required:3383 is expected to belong to project required:3384 is expected to belong to cluster required:3385 is expected to have one platform_kubernetes3386 has_service_account_token3387 namespace has service_account_token3388 is expected to include #<Clusters::KubernetesNamespace id: 3, cluster_id: 874, project_id: 1147, cluster_project_id: 16, cre..._account_name: "project1085-1147--service-account", environment_id: nil, service_account_token: nil>3389 namespace has no service_account_token3390 is expected not to include #<Clusters::KubernetesNamespace id: 4, cluster_id: 877, project_id: 1148, cluster_project_id: 17, cre..._account_name: "project1086-1148--service-account", environment_id: nil, service_account_token: nil>3391 .with_environment_name3392 there is no associated environment3393 is expected to be empty3394 there is an assicated environment3395 with a matching name3396 is expected to eq [#<Clusters::KubernetesNamespace id: 6, cluster_id: 879, project_id: 1150, cluster_project_id: nil, c...ame: "project1088-1150-production-service-account", environment_id: 45, service_account_token: nil>]3397 without a matching name3398 is expected to be empty3399 namespace uniqueness validation3400 when cluster is using the namespace3401 is expected not to be valid3402 when cluster is not using the namespace3403 is expected to be valid3404 #predefined_variables3405 sets the variables3406Gitlab::Chat::Output3407 #to_s3408 returns the build output as a String3409 #read_offset_and_length3410 without the chat_reply trace section3411 falls back to using the build_script trace section3412 without the build_script trace section3413 raises MissingBuildSectionError3414 with the chat_reply trace section3415 returns the read offset and length as an Array3416 #without_executed_command_line3417 returns the input without the first line3418 returns an empty String when the input is empty3419 returns an empty String when the input consits of a single newline3420 #find_build_trace_section3421 returns nil when no section could be found3422 returns the trace section when it could be found3423Gitlab::Chat::Responder::Slack3424 #send_response3425 sends a response back to Slack3426 #success3427 returns the output for a successful build3428 limits the output to a fixed size3429 does not send a response if the output is empty3430 #failure3431 returns the output for a failed build3432 #scheduled_output3433 returns the output for a scheduled build3434EventCollection3435 #to_a3436 with project events3437 returns an Array of events3438 applies a limit to the number of events3439 can paginate through events3440 returns an empty Array when crossing the maximum page number3441 allows filtering of events using an EventFilter3442 with group events3443 includes also group events3444 does not include events from inaccessible groups3445Group Routable3446 Validations3447 is expected to validate that :route cannot be empty/falsy3448 Associations3449 is expected to have one route dependent => destroy3450 is expected to have many redirect_routes dependent => destroy3451 Callbacks3452 for a group3453 creates route record on create3454 updates route record on path change3455 ensure route path uniqueness across different objects3456 for a user3457 creates the route for a record on create3458 updates routes and nested routes on name change3459 .find_by_full_path3460 without any redirect routes3461 is expected to eq #<Group id:3954 @foo>3462 is expected to eq #<Group id:3956 @foo>3463 is expected to eq #<Group id:3959 @foo/group475>3464 is expected to eq nil3465 includes route information when loading a record3466 with redirect routes3467 without follow_redirects option3468 with the given path not matching any route3469 is expected to eq nil3470 with the given path matching the canonical route3471 is expected to eq #<Group id:3966 @foo>3472 is expected to eq #<Group id:3968 @foo>3473 is expected to eq #<Group id:3971 @foo/group481>3474 with the given path matching a redirect route3475 is expected to eq nil3476 is expected to eq nil3477 is expected to eq nil3478 with follow_redirects option set to true3479 with the given path not matching any route3480 is expected to eq nil3481 with the given path matching the canonical route3482 is expected to eq #<Group id:3980 @foo>3483 is expected to eq #<Group id:3982 @foo>3484 is expected to eq #<Group id:3985 @foo/group488>3485 with the given path matching a redirect route3486 is expected to eq #<Group id:3986 @foo>3487 is expected to eq #<Group id:3988 @foo>3488 is expected to eq #<Group id:3991 @foo/group491>3489 .where_full_path_in3490 without any paths3491 returns an empty relation3492 without any valid paths3493 returns an empty relation3494 with valid paths3495 returns the projects matching the paths3496 returns projects regardless of the casing of paths3497 #full_path3498 is expected to eq "group494"3499 is expected to eq "group495/group496"3500 #full_name3501 is expected to eq "group497"3502 is expected to eq "group498 / group499"3503Project Routable3504 #full_path3505 is expected to eq "namespace1025/project1121"3506 #full_name3507 is expected to eq "John Doe3420 / project1122"3508SystemNotes::CommitService3509 #add_commits3510 behaves like a system note3511 has the correct attributes3512 note body3513 comparison diff link line3514 adds the comparison text3515 without existing commits3516 adds a message header3517 adds a message for each commit3518 summary line for existing commits3519 with one existing commit3520 includes the existing commit3521 with multiple existing commits3522 with oldrev3523 includes a commit range and count3524 without oldrev3525 includes a commit range and count3526 on a fork3527 includes the project namespace3528 #tag_commit3529 sets the note text3530 behaves like a system note3531 has the correct attributes3532 #new_commit_summary3533 escapes HTML titles3534ci/status/_badge3535 when rendering status for build3536 when user has ability to see details3537 has link to build details page3538 when user do not have ability to see build details3539 contains build status text3540 does not contain links3541 when rendering status for external job3542 when user has ability to see commit status details3543 status has external target url3544 contains valid commit status text3545 has link to external status page3546 status do not have external target url3547 contains valid commit status text3548 has link to external status page3549Projects::MoveProjectAuthorizationsService3550 #execute3551 moves the authorizations from one project to another3552 does not move existent authorizations to the current project3553 when remove_remaining_elements is false3554 does not remove remaining project authorizations3555Clusters::Applications::UninstallService#execute3556 when there are no errors3557 make the application to be uninstalling3558 schedule async installation status check3559 when k8s cluster communication fails3560 logs into kubernetes.log and Sentry3561 make the application errored3562 a non kubernetes error happens3563 logs into kubernetes.log and Sentry3564 make the application errored3565Clusters::Applications::DestroyService#execute3566 application is not installed3567 raises Clusters::Applications::BaseService::InvalidApplicationError3568 application is installed3569 application is schedulable3570 makes application scheduled!3571 schedules UninstallWorker3572 application is not schedulable3573 raises StateMachines::InvalidTransition3574projects/commit/_commit_box.html.haml3575 shows the commit SHA3576 when there is a pipeline present3577 when there are multiple pipelines for a commit3578 shows the last pipeline3579 when pipeline for the commit is blocked3580 shows correct pipeline description3581 viewing a commit3582 as a developer3583 has a link to create a new tag3584 as a non-developer3585 does not have a link to create a new tag3586TestHooks::SystemService3587 #execute3588 hook with not implemented test3589 returns error message3590 push_events3591 executes hook3592 tag_push_events3593 executes hook3594 repository_update_events3595 executes hook3596 merge_requests_events3597 returns error message if the user does not have any repository with a merge request3598 executes hook3599Gitlab::GithubImport::Importer::IssueImporter3600 .import_if_issue3601 imports an issuable if it is a regular issue3602 does not import the issuable if it is a pull request3603 #execute3604 creates the issue and assignees3605 #create_issue3606 produces a valid Issue3607 returns the ID of the created issue3608 when the issue author could be found3609 creates the issue with the found author as the issue author3610 when the issue author could not be found3611 creates the issue with the project creator as the issue author3612 when the import fails due to a foreign key error3613 does not raise any errors3614 #create_assignees3615 inserts the issue assignees in bulk3616Gitlab::GitAccessWiki3617 #push_access_check3618 when user can :create_wiki3619 is expected not to raise Exception3620 when in a read-only GitLab instance3621 does not give access to upload wiki code3622 #access_check_download!3623 when wiki feature is enabled3624 give access to download wiki code3625 when the wiki repository does not exist3626 returns not found3627 when wiki feature is disabled3628 does not give access to download wiki code3629Metrics::Dashboard::ProjectDashboardService3630 #get_dashboard3631 when the dashboard does not exist3632 behaves like misconfigured dashboard service response3633 returns an appropriate message and status code3634 behaves like raises error for users with insufficient permissions3635 when the user does not have sufficient access3636 behaves like misconfigured dashboard service response3637 returns an appropriate message and status code3638 when the dashboard exists3639 caches the unprocessed dashboard for subsequent calls3640 behaves like valid dashboard service response3641 behaves like valid dashboard service response for schema3642 returns a json representation of the dashboard3643 and the dashboard is then deleted3644 does not return the previously cached dashboard3645 when the dashboard is configured incorrectly3646 behaves like misconfigured dashboard service response3647 returns an appropriate message and status code3648 .all_dashboard_paths3649 when there are no project dashboards3650 returns an empty array3651 when there are project dashboards available3652 returns the dashboard attributes3653 .valid_params?3654 is expected to be truthy3655 missing dashboard_path3656 is expected to be falsey3657 empty dashboard_path3658 is expected to be falsey3659FileMover3660 #execute3661 local storage3662 when move and field update successful3663 updates the description correctly3664 updates existing upload record3665 schedules a background migration3666 when update_markdown fails3667 does not update the description3668 does not change the upload record3669 when tmp uploader is not local storage3670 when move and field update successful3671 updates the description correctly3672 creates new target upload record an delete the old upload3673 when update_markdown fails3674 does not update the description3675 does not change the upload record3676 security3677 when relative path is involved3678 does not trigger move if path is outside designated directory3679 when symlink is involved3680 does not trigger move if path is outside designated directory3681StageSerializer3682 #represent3683 with a single entity3684 serializes the stage object3685 with an array of entities3686 serializes the array of pipelines3687Metrics::Dashboard::CloneDashboardService3688 #execute3689 user does not have push right to repository3690 behaves like misconfigured dashboard service response3691 returns an appropriate message and status code3692 with rights to push to the repository3693 wrong target file extension3694 behaves like misconfigured dashboard service response3695 returns an appropriate message and status code3696 wrong source dashboard file3697 behaves like misconfigured dashboard service response3698 returns an appropriate message and status code3699 path traversal attack attempt3700 behaves like misconfigured dashboard service response3701 returns an appropriate message and status code3702 path traversal attack attempt on target file3703 strips target file name to safe value3704 valid parameters3705 extends dashboard template path to absolute url3706 behaves like valid dashboard cloning process3707 dashboard template: config/prometheus/common_metrics.yml3708 delegates commit creation to Files::CreateService3709 user has defined custom metrics3710 uses external service to includes them into new file content3711 selected branch already exists3712 behaves like misconfigured dashboard service response3713 returns an appropriate message and status code3714 blank branch name3715 behaves like misconfigured dashboard service response3716 returns an appropriate message and status code3717 dashboard file already exists3718 behaves like misconfigured dashboard service response3719 returns an appropriate message and status code3720 Files::CreateService success3721 clears dashboards cache3722 returns success3723 Files::CreateService fails3724 does NOT clear dashboards cache3725 returns error3726Members::RequestAccessService3727 when source is nil3728 behaves like a service raising Gitlab::Access::AccessDeniedError3729 raises Gitlab::Access::AccessDeniedError3730 when current user cannot request access to the project3731 behaves like a service raising Gitlab::Access::AccessDeniedError3732 raises Gitlab::Access::AccessDeniedError3733 behaves like a service raising Gitlab::Access::AccessDeniedError3734 raises Gitlab::Access::AccessDeniedError3735 when access requests are disabled3736 behaves like a service raising Gitlab::Access::AccessDeniedError3737 raises Gitlab::Access::AccessDeniedError3738 behaves like a service raising Gitlab::Access::AccessDeniedError3739 raises Gitlab::Access::AccessDeniedError3740 when current user can request access to the project3741 behaves like a service creating a access request3742 succeeds3743 returns a <Source>Member3744 behaves like a service creating a access request3745 succeeds3746 returns a <Source>Member3747GroupChildSerializer3748 #represent3749 for groups3750 can render a single group3751 can render a collection of groups3752 with a hierarchy3753 expands the subgroups3754 can render a nested tree3755 without a specified parent3756 can render a tree3757 for projects3758 can render a single project3759 can render a collection of projects3760 with a hierarchy3761 can render a nested tree3762 returns an array when an array of a single instance was given3763projects/tree/_tree_header3764 renders the WebIDE button when user can collaborate but not create fork or MR3765 renders the WebIDE button when user can create fork and can open MR in project3766 opens a popup confirming a fork if the user can create fork/MR but cannot collaborate with the project3767 does not render the WebIDE button when user cannot collaborate or create mr3768Gitlab::Checks::TagCheck3769 #validate!3770 raises an error when user does not have access3771 with protected tag3772 as maintainer3773 deletion3774 is prevented3775 update3776 is prevented3777 creation3778 prevents creation below access level3779 when user has access3780 allows tag creation3781Backup::Files3782 #restore3783 folders with permission3784 moves all necessary files3785 raises no errors3786 calls tar command with unlink3787 folders without permissions3788 shows error message3789 folders that are a mountpoint3790 shows error message3791Gitlab::UrlBlocker3792 #validate!3793 when URI is nil3794 behaves like validates URI and hostname3795 runs the url validations3796 when URI is internal3797 behaves like validates URI and hostname3798 runs the url validations3799 when the URL hostname is a domain3800 when domain can be resolved3801 behaves like validates URI and hostname3802 runs the url validations3803 when domain cannot be resolved3804 raises an error3805 when domain is too long3806 raises an error3807 when the URL hostname is an IP address3808 behaves like validates URI and hostname3809 runs the url validations3810 when the address is invalid3811 raises an error3812 disabled DNS rebinding protection3813 when URI is internal3814 behaves like validates URI and hostname3815 runs the url validations3816 when the URL hostname is a domain3817 when domain can be resolved3818 behaves like validates URI and hostname3819 runs the url validations3820 when domain cannot be resolved3821 behaves like validates URI and hostname3822 runs the url validations3823 when the URL hostname is an IP address3824 behaves like validates URI and hostname3825 runs the url validations3826 when it is invalid3827 behaves like validates URI and hostname3828 runs the url validations3829 #blocked_url?3830 allows imports from configured web host and port3831 allows mirroring from configured SSH host and port3832 returns true for bad localhost hostname3833 returns true for bad port3834 returns true for bad scheme3835 returns true for bad protocol on configured web/SSH host and ports3836 returns true for localhost IPs3837 returns true for loopback IP3838 returns true for alternative version of 127.0.0.1 (0177.1)3839 returns true for alternative version of 127.0.0.1 (017700000001)3840 returns true for alternative version of 127.0.0.1 (0x7f.1)3841 returns true for alternative version of 127.0.0.1 (0x7f.0.0.1)3842 returns true for alternative version of 127.0.0.1 (0x7f000001)3843 returns true for alternative version of 127.0.0.1 (2130706433)3844 returns true for alternative version of 127.0.0.1 (127.000.000.001)3845 returns true for alternative version of 127.0.0.1 (127.0.1)3846 returns true for a non-alphanumeric hostname3847 returns true for invalid URL3848 returns false for legitimate URL3849 blocks urls with invalid ip address3850 blocks urls whose hostname cannot be resolved3851 with ipv6 mapped address3852 returns true for localhost IPs3853 returns true for loopback IPs3854 when allow_local_network is3855 true (default)3856 behaves like allows local requests3857 does not block urls from private networks3858 allows localhost endpoints3859 allows loopback endpoints3860 allows IPv4 link-local endpoints3861 allows IPv6 link-local endpoints3862 false3863 blocks urls from private networks3864 blocks IPv4 link-local endpoints3865 blocks IPv6 link-local endpoints3866 when local domain/IP is whitelisted3867 with IPs in whitelist3868 whitelists IP when dns_rebind_protection is disabled3869 behaves like allows local requests3870 does not block urls from private networks3871 allows localhost endpoints3872 allows loopback endpoints3873 allows IPv4 link-local endpoints3874 allows IPv6 link-local endpoints3875 with domains in whitelist3876 allows domains present in whitelist3877 works with unicode and idna encoded domains3878 when the domain cannot be resolved3879 behaves like dns rebinding checks3880 when dns_rebinding_setting is3881 enabled3882 behaves like whitelists the domain3883 is expected not to be blocked url "http://foobar.x" and {:dns_rebind_protection=>true}3884 disabled3885 behaves like whitelists the domain3886 is expected not to be blocked url "http://foobar.x" and {:dns_rebind_protection=>false}3887 when the domain can be resolved3888 behaves like dns rebinding checks3889 when dns_rebinding_setting is3890 enabled3891 behaves like whitelists the domain3892 is expected not to be blocked url "http://example.com" and {:dns_rebind_protection=>true}3893 disabled3894 behaves like whitelists the domain3895 is expected not to be blocked url "http://example.com" and {:dns_rebind_protection=>false}3896 with ip ranges in whitelist3897 blocks ipv4 range when not in whitelist3898 allows all ipv4s in the range when in whitelist3899 blocks ipv6 range when not in whitelist3900 allows all ipv6s in the range when in whitelist3901 blocks IPs outside the range3902 when enforce_user is3903 false (default)3904 does not block urls with a non-alphanumeric username3905 true3906 blocks urls with a non-alphanumeric username3907 when ascii_only is true3908 returns true for unicode domain3909 returns true for unicode tld3910 returns true for unicode path3911 returns true for IDNA deviations3912 #validate_hostname3913 does not raise error for valid Ip addresses3914Gitlab::Metrics::Instrumentation3915 .series3916 returns a String3917 .configure3918 yields self3919 .instrument_method3920 with metrics enabled3921 instruments the Class3922 defines a proxy method3923 calls the instrumented method with the correct arguments3924 tracks the call duration upon calling the method3925 does not track method calls below a given duration threshold3926 generates a method with the correct arity when using methods without arguments3927 when a module is instrumented multiple times3928 calls the instrumented method with the correct arguments3929 with metrics disabled3930 does not instrument the method3931 .instrument_instance_method3932 with metrics enabled3933 instruments instances of the Class3934 defines a proxy method3935 calls the instrumented method with the correct arguments3936 tracks the call duration upon calling the method3937 does not track method calls below a given duration threshold3938 with metrics disabled3939 does not instrument the method3940 .instrument_class_hierarchy3941 recursively instruments a class hierarchy3942 does not instrument the root module3943 .instrument_methods3944 instruments all public class methods3945 instruments all protected class methods3946 instruments all private instance methods3947 only instruments methods directly defined in the module3948 can take a block to determine if a method should be instrumented3949 .instrument_instance_methods3950 instruments all public instance methods3951 instruments all protected instance methods3952 instruments all private instance methods3953 only instruments methods directly defined in the module3954 can take a block to determine if a method should be instrumented3955Gitlab::Ci::Status::Stage::Common3956 does not have action3957 links to the pipeline details page3958 when user has permission to read pipeline3959 has details3960 when user does not have permission to read pipeline3961 does not have details3962SlackSlashCommandsService3963 behaves like chat slash commands service3964 Associations3965 is expected to respond to #token3966 is expected to have many chat_names3967 #valid_token?3968 when the token is empty3969 is false3970 when there is a token3971 accepts equal tokens3972 #trigger3973 no token is passed3974 returns nil3975 with a token passed3976 no user can be found3977 when no url can be generated3978 responds with the authorize url3979 when an auth url can be generated3980 generates the url3981 when the user is authenticated3982 triggers the command3983 when user is blocked3984 behaves like blocks command execution3985 is expected to match "you do not have access to the GitLab project"3986 when user is deactivated3987 behaves like blocks command execution3988 is expected to match "your account has been deactivated by your administrator"3989 #trigger3990 when an auth url is generated3991 uses slack compatible links3992 #chat_responder3993 returns the responder to use for Slack3994ChatNames::FindUserService3995 #execute3996 find user mapping3997 when existing user is requested3998 returns the existing chat_name3999 updates the last used timestamp if one is not already set4000 only updates an existing timestamp once within a certain time frame4001 when different user is requested4002 returns existing user4003StarredProjectsFinder4004 #execute4005 as same user4006 is expected to contain exactly #<Project id:1277 namespace1115/project1220>> and #<Project id:1278 namespace1116/project1221>>4007 as other user4008 is expected to contain exactly #<Project id:1279 namespace1117/project1222>> and #<Project id:1280 namespace1118/project1223>>4009 as no user4010 is expected to contain exactly #<Project id:1281 namespace1119/project1224>> and #<Project id:1282 namespace1120/project1225>>4011Gitlab::GrafanaEmbedUsageData4012 #issue_count4013 with project grafana integration enabled4014 with valid and invalid embeds4015 counts only the issues with embeds4016 with project grafana integration disabled4017 with one issue having a grafana link in the description and one without4018 behaves like zero count4019 does not count the issue4020 with an un-integrated project4021 with one issue having a grafana link in the description and one without4022 behaves like zero count4023 does not count the issue4024Resolvers::Projects::SnippetsResolver4025 #resolve4026 calls SnippetsFinder4027 when using no filter4028 returns expected snippets4029 when using filters4030 returns the snippets by visibility4031 returns the snippets by gid4032 returns the snippets by array of gid4033 returns an error if the gid is invalid4034 when no project is provided4035 returns no snippets4036 when provided user is not current user4037 returns no snippets4038 when project snippets are disabled4039 raises an error4040UserPolicy4041 reading a user's information4042 is expected to be allowed :read_user4043 updating a user's status4044 behaves like changing a user4045 when a regular user tries to destroy another regular user4046 is expected not to be allowed :update_user_status4047 when a regular user tries to destroy themselves4048 is expected to be allowed :update_user_status4049 when an admin user tries to destroy a regular user4050 is expected to be allowed :update_user_status4051 when an admin user tries to destroy a ghost user4052 is expected not to be allowed :update_user_status4053 destroying a user4054 behaves like changing a user4055 when a regular user tries to destroy another regular user4056 is expected not to be allowed :destroy_user4057 when a regular user tries to destroy themselves4058 is expected to be allowed :destroy_user4059 when an admin user tries to destroy a regular user4060 is expected to be allowed :destroy_user4061 when an admin user tries to destroy a ghost user4062 is expected not to be allowed :destroy_user4063 updating a user4064 behaves like changing a user4065 when a regular user tries to destroy another regular user4066 is expected not to be allowed :update_user4067 when a regular user tries to destroy themselves4068 is expected to be allowed :update_user4069 when an admin user tries to destroy a regular user4070 is expected to be allowed :update_user4071 when an admin user tries to destroy a ghost user4072 is expected not to be allowed :update_user4073Projects::HashedStorage::MigrationService4074 #execute4075 repository migration4076 delegates migration to Projects::HashedStorage::MigrateRepositoryService4077 does not delegate migration if repository is already migrated4078 attachments migration4079 delegates migration to Projects::HashedStorage::MigrateRepositoryService4080 does not delegate migration if attachments are already migrated4081Gitlab::SlashCommands::IssueShow4082 #execute4083 the issue exists4084 returns the issue4085 when its reference is given4086 shows the issue4087 the issue does not exist4088 returns not found4089 .match4090 matches the iid4091 accepts a reference4092Gitlab::ImportExport::FileImporter4093 normal run4094 removes symlinks in root folder4095 removes hidden symlinks in root folder4096 removes evil symlinks in root folder4097 removes symlinks in subfolders4098 removes symlinks without any file permissions4099 does not remove a valid file4100 does not change a valid file permissions4101 creates the file in the right subfolder4102 error4103 removes symlinks in root folder4104 removes hidden symlinks in root folder4105 removes symlinks in subfolders4106 does not remove a valid file4107Gitlab::ImportExport::UploadsSaver4108 bundle a project Git repo4109 legacy storage4110 saves the uploads successfully4111 copies the uploads to the export path4112 hashed storage4113 saves the uploads successfully4114 copies the uploads to the export path4115AwardEmojis::CollectUserEmojiService4116 #execute4117 returns an Array containing the awarded emoji names4118 returns an empty Array when no user is given4119Gitlab::Prometheus::MetricGroup4120 .common_metrics4121 returns exactly two groups4122 returns exactly three metric queries4123 orders by priority4124 .for_project4125 returns exactly one common metric4126Ci::BuildTraceSectionName4127 is expected to belong to project required:4128 is expected to have many trace_sections4129 is expected to validate that :project cannot be empty/falsy4130 is expected to validate that :name cannot be empty/falsy4131 is expected to validate that :name is case-sensitively unique within the scope of :project_id4132Gitlab::Import::MergeRequestCreator4133 #execute4134 merge request already exists4135 updates the data4136 new merge request4137 creates a new merge request4138Gitlab::Metrics::Prometheus4139 #reset_registry!4140 clears existing metrics4141 #error_detected!4142 disables Prometheus metrics4143Gitlab::DatabaseImporters::SelfMonitoring::Project::DeleteService4144 #execute4145 when project does not exist4146 returns error4147 when self monitoring project exists4148 destroys project4149 deletes project ID from application settings4150 does not delete group4151Ci::Resource4152 .free4153 returns free resources4154 .retained_by4155 returns retained resources4156Branches::ValidateNewService4157 #execute4158 validation4159 returns error with an invalid branch name4160 returns success with a valid branch name4161 branch exist4162 returns error when branch exists4163 returns success when branch name is available4164Gitlab::GitalyClient::BlobService4165 #get_new_lfs_pointers4166 sends a get_new_lfs_pointers message4167 with not_in = :all4168 sends the correct message4169 #get_all_lfs_pointers4170 sends a get_all_lfs_pointers message4171TestReportEntity4172 #as_json4173 contains the total time4174 contains the counts4175 contains the test suites4176ForkTargetsFinder4177 #execute4178 returns all user manageable namespaces4179UserPreference4180 notes filters global keys4181 contains expected values4182 #set_notes_filter4183 when filter is set to all notes4184 behaves like setting system notes4185 returns updated discussion filter4186 updates discussion filter for issuable class4187 when filter is set to only comments4188 behaves like setting system notes4189 returns updated discussion filter4190 updates discussion filter for issuable class4191 when filter is set to only activity4192 behaves like setting system notes4193 returns updated discussion filter4194 updates discussion filter for issuable class4195 when notes_filter parameter is invalid4196 returns the current notes filter4197 sort_by preferences4198 merge_requests_sort attribute4199 behaves like a sort_by preference4200 allows nil sort fields4201 issues_sort attribute4202 behaves like a sort_by preference4203 allows nil sort fields4204 #timezone4205 returns server time as default4206 #tab_width4207 is set to 8 by default4208 is expected to validate that :tab_width looks like an integer greater than or equal to 1 and less than or equal to 124209AwardEmojis::ToggleService4210 #execute4211 when user has awarded an emoji4212 calls AwardEmojis::DestroyService4213 destroys an AwardEmoji4214 returns the result of DestroyService#execute4215 when user has not awarded an emoji4216 calls AwardEmojis::AddService4217 creates an AwardEmoji4218 returns the result of AddService#execute4219Gitlab::LegacyGithubImport::WikiFormatter4220 #disk_path4221 appends .wiki to disk path4222 #full_path4223 appends .wiki to project path4224 #import_url4225 returns URL of the wiki repository4226Projects::FetchStatisticsIncrementService4227 #execute4228 creates a new record for today with count == 14229 doesn't increment previous days statistics4230 when the record already exists for today4231 increments the today record count by 14232Metrics::Dashboard::SelfMonitoringDashboardService4233 #get_dashboard4234 behaves like valid dashboard service response4235 behaves like valid dashboard service response for schema4236 returns a json representation of the dashboard4237 behaves like raises error for users with insufficient permissions4238 when the user does not have sufficient access4239 behaves like misconfigured dashboard service response4240 returns an appropriate message and status code4241 behaves like caches the unprocessed dashboard for subsequent calls4242 is expected to receive safe_load(*(any args)) 1 time4243 .all_dashboard_paths4244 returns the dashboard attributes4245 .valid_params?4246 with environment4247 is expected to be truthy4248 with dashboard_path4249 is expected to be truthy4250 with a different dashboard selected4251 is expected to be falsey4252 missing environment and dashboard_path4253 is expected to be falsey4254Gitlab::Metrics::WebTransaction4255 #duration4256 returns the duration of a transaction in seconds4257 #allocated_memory4258 returns the allocated memory in bytes4259 #run4260 yields the supplied block4261 stores the transaction in the current thread4262 removes the transaction from the current thread upon completion4263 #add_metric4264 adds a metric to the transaction4265 #method_call_for4266 returns a MethodCall4267 #increment4268 increments a counter4269 #set4270 sets a value4271 #finish4272 tracks the transaction details and submits them to Sidekiq4273 #track_self4274 adds a metric for the transaction itself4275 #submit4276 submits the metrics to Sidekiq4277 adds the action as a tag for every metric4278 does not add an action tag for events4279 #labels4280 returns no labels when no route information is present in env4281 when request goes to Grape endpoint4282 provides labels with the method and path of the route in the grape endpoint4283 does not provide labels if route infos are missing4284 when request goes to ActionController4285 tags a transaction with the name and action of a controller4286 when the request content type is not :html4287 appends the mime type to the transaction action4288 when the request content type is not4289 does not append the MIME type to the transaction action4290 #add_event4291 adds a metric4292 does not prefix the metric's series name4293 tracks a counter for every event4294 tracks the event name4295 allows tracking of custom tags4296Gitlab::SSHPublicKey4297 .technology(name)4298 returns nil for an unrecognised name4299 name: :rsa4300 is expected to eq :rsa4301 is expected to eq :rsa4302 name: :dsa4303 is expected to eq :dsa4304 is expected to eq :dsa4305 name: :ecdsa4306 is expected to eq :ecdsa4307 is expected to eq :ecdsa4308 name: :ed255194309 is expected to eq :ed255194310 is expected to eq :ed255194311 .supported_sizes(name)4312 name: :rsa, sizes: [1024, 2048, 3072, 4096]4313 is expected to eq [1024, 2048, 3072, 4096]4314 is expected to eq [1024, 2048, 3072, 4096]4315 name: :dsa, sizes: [1024, 2048, 3072]4316 is expected to eq [1024, 2048, 3072]4317 is expected to eq [1024, 2048, 3072]4318 name: :ecdsa, sizes: [256, 384, 521]4319 is expected to eq [256, 384, 521]4320 is expected to eq [256, 384, 521]4321 name: :ed25519, sizes: [256]4322 is expected to eq [256]4323 is expected to eq [256]4324 .sanitize(key_content)4325 when key has blank space characters4326 removes the extra blank space characters4327 when key doesn't have blank space characters4328 doesn't modify the content4329 when key is invalid4330 returns the original content4331 #valid?4332 with a valid SSH key4333 factory: :rsa_key_20484334 is expected to be valid4335 factory: :rsa_key_40964336 is expected to be valid4337 factory: :rsa_key_51204338 is expected to be valid4339 factory: :rsa_key_81924340 is expected to be valid4341 factory: :dsa_key_20484342 is expected to be valid4343 factory: :ecdsa_key_2564344 is expected to be valid4345 factory: :ed25519_key_2564346 is expected to be valid4347 with an invalid SSH key4348 is expected not to be valid4349 #type4350 factory: :rsa_key_2048, type: :rsa4351 is expected to eq :rsa4352 factory: :dsa_key_2048, type: :dsa4353 is expected to eq :dsa4354 factory: :ecdsa_key_256, type: :ecdsa4355 is expected to eq :ecdsa4356 factory: :ed25519_key_256, type: :ed255194357 is expected to eq :ed255194358 with an invalid SSH key4359 is expected to be nil4360 #bits4361 factory: :rsa_key_2048, bits: 20484362 is expected to eq 20484363 factory: :rsa_key_4096, bits: 40964364 is expected to eq 40964365 factory: :rsa_key_5120, bits: 51204366 is expected to eq 51204367 factory: :rsa_key_8192, bits: 81924368 is expected to eq 81924369 factory: :dsa_key_2048, bits: 20484370 is expected to eq 20484371 factory: :ecdsa_key_256, bits: 2564372 is expected to eq 2564373 factory: :ed25519_key_256, bits: 2564374 is expected to eq 2564375 with an invalid SSH key4376 is expected to be nil4377 #fingerprint4378 factory: :rsa_key_2048, fingerprint: "58:a8:9d:cd:1f:70:f8:5a:d9:e4:24:8e:da:89:e4:fc"4379 is expected to eq "58:a8:9d:cd:1f:70:f8:5a:d9:e4:24:8e:da:89:e4:fc"4380 factory: :rsa_key_4096, fingerprint: "df:73:db:29:3c:a5:32:cf:09:17:7e:8e:9d:de:d7:f7"4381 is expected to eq "df:73:db:29:3c:a5:32:cf:09:17:7e:8e:9d:de:d7:f7"4382 factory: :rsa_key_5120, fingerprint: "fe:fa:3a:4d:7d:51:ec:bf:c7:64:0c:96:d0:17:8a:d0"4383 is expected to eq "fe:fa:3a:4d:7d:51:ec:bf:c7:64:0c:96:d0:17:8a:d0"4384 factory: :rsa_key_8192, fingerprint: "fb:53:7f:e9:2f:f7:17:aa:c8:32:52:06:8e:05:e2:82"4385 is expected to eq "fb:53:7f:e9:2f:f7:17:aa:c8:32:52:06:8e:05:e2:82"4386 factory: :dsa_key_2048, fingerprint: "c8:85:1e:df:44:0f:20:00:3c:66:57:2b:21:10:5a:27"4387 is expected to eq "c8:85:1e:df:44:0f:20:00:3c:66:57:2b:21:10:5a:27"4388 factory: :ecdsa_key_256, fingerprint: "67:a3:a9:7d:b8:e1:15:d4:80:40:21:34:bb:ed:97:38"4389 is expected to eq "67:a3:a9:7d:b8:e1:15:d4:80:40:21:34:bb:ed:97:38"4390 factory: :ed25519_key_256, fingerprint: "e6:eb:45:8a:3c:59:35:5f:e9:5b:80:12:be:7e:22:73"4391 is expected to eq "e6:eb:45:8a:3c:59:35:5f:e9:5b:80:12:be:7e:22:73"4392 with an invalid SSH key4393 is expected to be nil4394 #fingerprint in SHA256 format4395 factory: :rsa_key_2048, fingerprint_sha256: "GdtgO0eHbwLB+mK47zblkoXujkqKRZjgMQrHH6Kks3E"4396 is expected to eq "GdtgO0eHbwLB+mK47zblkoXujkqKRZjgMQrHH6Kks3E"4397 factory: :rsa_key_4096, fingerprint_sha256: "ByDU7hQ1JB95l6p53rHrffc4eXvEtqGUtQhS+Dhyy7g"4398 is expected to eq "ByDU7hQ1JB95l6p53rHrffc4eXvEtqGUtQhS+Dhyy7g"4399 factory: :rsa_key_5120, fingerprint_sha256: "PCCupLbFHScm4AbEufbGDvhBU27IM0MVAor715qKQK8"4400 is expected to eq "PCCupLbFHScm4AbEufbGDvhBU27IM0MVAor715qKQK8"4401 factory: :rsa_key_8192, fingerprint_sha256: "CtHFQAS+9Hb8z4vrv4gVQPsHjNN0WIZhWODaB1mQLs4"4402 is expected to eq "CtHFQAS+9Hb8z4vrv4gVQPsHjNN0WIZhWODaB1mQLs4"4403 factory: :dsa_key_2048, fingerprint_sha256: "+a3DQ7cU5GM+gaYOfmc0VWNnykHQSuth3VRcCpWuYNI"4404 is expected to eq "+a3DQ7cU5GM+gaYOfmc0VWNnykHQSuth3VRcCpWuYNI"4405 factory: :ecdsa_key_256, fingerprint_sha256: "C+I5k3D+IGeM6k5iBR1ZsphqTKV+7uvL/XZ5hcrTr7g"4406 is expected to eq "C+I5k3D+IGeM6k5iBR1ZsphqTKV+7uvL/XZ5hcrTr7g"4407 factory: :ed25519_key_256, fingerprint_sha256: "DCKAjzxWrdOTjaGKBBjtCW8qY5++GaiAJflrHPmp6W0"4408 is expected to eq "DCKAjzxWrdOTjaGKBBjtCW8qY5++GaiAJflrHPmp6W0"4409 with an invalid SSH key4410 is expected to be nil4411 #key_text4412 carries the unmodified key data4413ResourceLabelEventPolicy4414 #read_resource_label_event4415 with non-member user4416 does not allow to read event4417 with member user4418 allows to read event for accessible label4419 does not allow to read event for not accessible label4420 #read_label4421 allows to read deleted label4422 allows to read accessible label4423 does not allow to read not accessible label4424profiles/preferences/show4425 behavior4426 has option for Render whitespace characters in the Web IDE4427 sourcegraph4428 when not fully enabled4429 feature: false, admin_enabled: false4430 does not display sourcegraph field4431 does not display Integration Settings4432 feature: false, admin_enabled: true4433 does not display sourcegraph field4434 does not display Integration Settings4435 feature: true, admin_enabled: false4436 does not display sourcegraph field4437 does not display Integration Settings4438 when fully enabled4439 displays the sourcegraph field4440 displays the integrations section4441Gitlab::Auth::OAuth::IdentityLinker4442 linked identity exists4443 doesn't create new identity4444 sets #changed? to false4445 identity already linked to different user4446 #changed? returns false4447 exposes error message4448 identity needs to be created4449 creates linked identity4450 sets identity provider4451 sets identity extern_uid4452 sets #changed? to true4453Database config initializer4454 when using multi-threaded runtime4455 and no existing pool size is set4456 sets it to the max number of worker threads4457 and the existing pool size is smaller than the max number of worker threads4458 sets it to the max number of worker threads4459 and the existing pool size is larger than the max number of worker threads4460 keeps the configured pool size4461 when using single-threaded runtime4462 does nothing4463Gitlab::Ci::CronParser4464 #next_time_from4465 when cron and cron_timezone are valid4466 when specific time4467 returns exact time4468 behaves like returns time in the future4469 is expected to be > 2020-03-05 04:45:50 +00004470 when specific day of week4471 returns exact day of week4472 behaves like returns time in the future4473 is expected to be > 2020-03-05 04:45:50 +00004474 when slash used4475 returns specific time4476 behaves like returns time in the future4477 is expected to be > 2020-03-05 04:45:50 +00004478 when range used4479 returns specific time4480 behaves like returns time in the future4481 is expected to be > 2020-03-05 04:45:51 +00004482 when cron_timezone is TZInfo format4483 when cron_timezone is US/Pacific4484 behaves like returns time in the future4485 is expected to be > 2020-03-05 04:45:51 +00004486 when PST (Pacific Standard Time)4487 converts time in server time zone4488 when PDT (Pacific Daylight Time)4489 converts time in server time zone4490 when cron_timezone is ActiveSupport::TimeZone format4491 when cron_timezone is Berlin4492 behaves like returns time in the future4493 is expected to be > 2020-03-05 04:45:52 +00004494 when CET (Central European Time)4495 converts time in server time zone4496 when CEST (Central European Summer Time)4497 converts time in server time zone4498 when cron_timezone is Eastern Time (US & Canada)4499 behaves like returns time in the future4500 is expected to be > 2020-03-05 04:45:52 +00004501 when EST (Eastern Standard Time)4502 converts time in server time zone4503 when EDT (Eastern Daylight Time)4504 converts time in server time zone4505 when time crosses a Daylight Savings boundary4506 generates day without TZInfo::AmbiguousTime error4507 when cron and cron_timezone are invalid4508 is expected to be nil4509 when cron syntax is quoted4510 is expected to be nil4511 when cron syntax is rufus-scheduler syntax4512 is expected to be nil4513 when cron is scheduled to a non existent day4514 is expected to be nil4515 #cron_valid?4516 when cron is valid4517 is expected to eq true4518 when cron is invalid4519 is expected to eq false4520 when cron syntax is quoted4521 is expected to eq false4522 #cron_timezone_valid?4523 when cron is valid4524 is expected to eq true4525 when cron is invalid4526 is expected to eq false4527 when cron_timezone is ActiveSupport::TimeZone format4528 is expected to eq true4529Gitlab::Ci::Status::Pipeline::Delayed4530 #text4531 overrides status text4532 #label4533 overrides status label4534 .matches?4535 when pipeline is scheduled4536 is a correct match4537 when pipeline is not scheduled4538 does not match4539Sentry::Client::Repo4540 #repos4541 is expected to all be a kind of Gitlab::ErrorTracking::Repo4542 is expected to eq 14543 behaves like calls sentry api4544 calls sentry api4545 redirects4546 behaves like no Sentry redirects4547 does not follow redirects4548 when exception is raised4549 behaves like maps Sentry exceptions4550 HTTParty::Error4551 is expected to raise Sentry::Client::Error with "Error when connecting to Sentry"4552 Net::OpenTimeout4553 is expected to raise Sentry::Client::Error with "Connection to Sentry timed out"4554 SocketError4555 is expected to raise Sentry::Client::Error with "Received SocketError when trying to connect to Sentry"4556 OpenSSL::SSL::SSLError4557 is expected to raise Sentry::Client::Error with "Sentry returned invalid SSL data"4558 Errno::ECONNREFUSED4559 is expected to raise Sentry::Client::Error with "Connection refused"4560 StandardError4561 is expected to raise Sentry::Client::Error with "Sentry request failed due to StandardError"4562PersonalSnippet4563 #embeddable?4564 returns true when snippet is public4565 returns true when snippet is public4566 returns true when snippet is public4567 behaves like model with repository4568 #commits_by4569 retrieves several commits from the repository by oid4570 #web_url4571 when given the only_path option4572 when only_path is false4573 returns the full web URL for this repo4574 when only_path is true4575 returns the relative web URL for this repo4576 when only_path is nil4577 returns the full web URL for this repo4578 when not given the only_path option4579 returns the full web URL for this repo4580 #ssh_url_to_repo4581 returns container ssh address4582 #http_url_to_repo4583 when a custom HTTP clone URL root is not set4584 returns the url to the repo without a username4585 when a custom HTTP clone URL root is set4586 when custom HTTP clone URL root has a relative URL root4587 when custom HTTP clone URL root ends with a slash4588 returns the url to the repo, with the root replaced with the custom one4589 when custom HTTP clone URL root does not end with a slash4590 returns the url to the repo, with the root replaced with the custom one4591 when custom HTTP clone URL root does not have a relative URL root4592 when custom HTTP clone URL root ends with a slash4593 returns the url to the repo, with the root replaced with the custom one4594 when custom HTTP clone URL root does not end with a slash4595 returns the url to the repo, with the root replaced with the custom one4596 #repository4597 returns valid repo4598 #storage4599 returns valid storage4600 #full_path4601 returns valid full_path4602 #empty_repo?4603 when the repo does not exist4604 returns true4605 when the repo exists4606 is expected to equal false4607 returns true when repository is empty4608 #valid_repo?4609 is expected to equal false4610 is expected to equal true4611 #repository_exists?4612 is expected to equal false4613 is expected to equal true4614 #repo_exists?4615 is expected to equal false4616 is expected to equal true4617 #root_ref4618 is expected to equal true4619 is expected to equal false4620 is expected to equal false4621 Respond to4622 is expected to respond to #base_dir4623 is expected to respond to #disk_path4624Projects::UpdatePagesConfigurationService4625 #update4626 when configuration changes4627 updates the .update file4628 when configuration does not change4629 does not update the .update file4630Gitlab::CycleAnalytics::ProductionEventFetcher4631 behaves like default query config4632 has the stage attribute4633 has the projection attributes4634Banzai::Pipeline::DescriptionPipeline4635 uses a limited whitelist4636 removes 'pre' elements4637 removes 'code' elements4638 removes 'img' elements4639 removes 'ol' elements4640 removes 'ul' elements4641 removes 'li' elements4642 still allows 'b' elements4643 still allows 'i' elements4644 still allows 'strong' elements4645 still allows 'em' elements4646 still allows 'a' elements4647 still allows 'ins' elements4648 still allows 'del' elements4649 still allows 'sup' elements4650 still allows 'sub' elements4651 still allows 'p' elements4652PublicUrlValidator4653 #validate4654 with no options4655 allows http,https schemes by default4656 checks that the url structure is valid4657 with schemes4658 allows urls with the defined schemes4659 add error if the url scheme does not match the selected ones4660 by default4661 blocks urls pointing to localhost4662 blocks urls pointing to the local network4663 when local requests are allowed4664 does not block urls pointing to localhost4665 does not block urls pointing to the local network4666HangoutsChat::Sender Gitlab::HTTP override4667 HangoutsChat::Sender::HTTP#post4668 calls Gitlab::HTTP.post with default protection settings4669 behaves like a request using Gitlab::UrlBlocker4670 when local requests are not allowed4671 allows an external request with http4672 allows an external request with https4673 raises error when it is a request that resolves to a local address4674 raises error when it is a request that resolves to a localhost address4675 raises error when it is a request to local address4676 raises error when it is a request to localhost address4677 when port different from URL scheme is used4678 allows the request4679 raises error when it is a request to local address4680 raises error when it is a request to localhost address4681 when DNS rebinding protection is disabled4682 allows the request4683 when http(s) proxy environment variable is set4684 allows the request4685 when local requests are allowed4686 allows an external request4687 allows an external request that resolves to a local address4688 allows an external request that resolves to a localhost address4689 allows a local address request4690 allows a localhost address request4691AbuseReportsFinder#execute4692 empty params4693 returns all abuse reports4694 params[:user_id] is present4695 returns abuse reports for the specified user4696BlobPresenter4697 .web_url4698 is expected to eq "http://localhost/namespace1201/project1310/-/blob/b83d6e391c22777fca1ed3012fce84f633d7fed0/.gitattributes"4699 #highlight4700 returns highlighted content4701 returns plain content when :plain is true4702 "to" param is present4703 returns limited highlighted content4704 gitlab-language contains a match4705 passes language to inner call4706Gitlab::ImportExport::Saver4707 saves the repo using object storage4708Gitlab::Ci::Config::Entry::Need4709 with simple config4710 when job is specified4711 #valid?4712 is expected to be valid4713 #value4714 returns job needs configuration4715 behaves like job type4716 #type4717 is expected to eq :job4718 when need is empty4719 #valid?4720 is expected not to be valid4721 #errors4722 is returns an error about an empty config4723 behaves like job type4724 #type4725 is expected to eq :job4726 with complex config4727 with job name and artifacts true4728 #valid?4729 is expected to be valid4730 #value4731 returns job needs configuration4732 behaves like job type4733 #type4734 is expected to eq :job4735 with job name and artifacts false4736 #valid?4737 is expected to be valid4738 #value4739 returns job needs configuration4740 behaves like job type4741 #type4742 is expected to eq :job4743 with job name and artifacts nil4744 #valid?4745 is expected to be valid4746 #value4747 returns job needs configuration4748 behaves like job type4749 #type4750 is expected to eq :job4751 without artifacts key4752 #valid?4753 is expected to be valid4754 #value4755 returns job needs configuration4756 behaves like job type4757 #type4758 is expected to eq :job4759 when job name is empty4760 #valid?4761 is expected not to be valid4762 #errors4763 is returns an error about an empty config4764 behaves like job type4765 #type4766 is expected to eq :job4767 when job name is not a string4768 #valid?4769 is expected not to be valid4770 #errors4771 is returns an error about job type4772 behaves like job type4773 #type4774 is expected to eq :job4775 when job has unknown keys4776 #valid?4777 is expected not to be valid4778 #errors4779 is returns an error about job type4780 behaves like job type4781 #type4782 is expected to eq :job4783 when need config is not a string or a hash4784 #valid?4785 is expected not to be valid4786 #errors4787 is returns an error about job type4788OmniAuth::Strategies::Jwt4789 #decoded4790 when the RS256 algorithm is used4791 decodes the user information4792 when the RS384 algorithm is used4793 decodes the user information4794 when the RS512 algorithm is used4795 decodes the user information4796 when the ES256 algorithm is used4797 decodes the user information4798 when the ES384 algorithm is used4799 decodes the user information4800 when the ES512 algorithm is used4801 decodes the user information4802 when the HS256 algorithm is used4803 decodes the user information4804 when the HS384 algorithm is used4805 decodes the user information4806 when the HS512 algorithm is used4807 decodes the user information4808 required claims is missing4809 raises error4810 when valid_within is specified but iat attribute is missing in response4811 raises error4812 when timestamp claim is too skewed from present4813 raises error4814Gitlab::SlashCommands::Presenters::Error4815 is expected to be a kind of Hash4816 shows the error message4817Gitlab::Ci::Ansi2json::Style4818 #set?4819 when fg color is set4820 is expected to be truthy4821 when bg color is set4822 is expected to be truthy4823 when mask is set4824 is expected to be truthy4825 nothing is set4826 is expected to be falsey4827 #reset!4828 set the style params to default4829 update formats to mimic terminals4830 when fg color present4831 when mask is set to bold4832 changes the fg color to a lighter version4833 when mask set to another format4834 does not change the fg color4835 when mask is not set4836 does not change the fg color4837 #update4838 initial_state: [], ansi_commands: ["0"], result: "", description: "does not set any style"4839 change the style4840 initial_state: [], ansi_commands: ["1"], result: "term-bold", description: "enables format bold"4841 change the style4842 initial_state: [], ansi_commands: ["3"], result: "term-italic", description: "enables format italic"4843 change the style4844 initial_state: [], ansi_commands: ["4"], result: "term-underline", description: "enables format underline"4845 change the style4846 initial_state: [], ansi_commands: ["8"], result: "term-conceal", description: "enables format conceal"4847 change the style4848 initial_state: [], ansi_commands: ["9"], result: "term-cross", description: "enables format cross"4849 change the style4850 initial_state: ["1"], ansi_commands: ["21"], result: "", description: "disables format bold"4851 change the style4852 initial_state: ["1", "3"], ansi_commands: ["21"], result: "term-italic", description: "disables format bold and leaves italic"4853 change the style4854 initial_state: ["1"], ansi_commands: ["22"], result: "", description: "disables format bold using command 22"4855 change the style4856 initial_state: ["1", "3"], ansi_commands: ["22"], result: "term-italic", description: "disables format bold and leaves italic using command 22"4857 change the style4858 initial_state: ["3"], ansi_commands: ["23"], result: "", description: "disables format italic"4859 change the style4860 initial_state: ["1", "3"], ansi_commands: ["23"], result: "term-bold", description: "disables format italic and leaves bold"4861 change the style4862 initial_state: ["4"], ansi_commands: ["24"], result: "", description: "disables format underline"4863 change the style4864 initial_state: ["1", "4"], ansi_commands: ["24"], result: "term-bold", description: "disables format underline and leaves bold"4865 change the style4866 initial_state: ["8"], ansi_commands: ["28"], result: "", description: "disables format conceal"4867 change the style4868 initial_state: ["1", "8"], ansi_commands: ["28"], result: "term-bold", description: "disables format conceal and leaves bold"4869 change the style4870 initial_state: ["9"], ansi_commands: ["29"], result: "", description: "disables format cross"4871 change the style4872 initial_state: ["1", "9"], ansi_commands: ["29"], result: "term-bold", description: "disables format cross and leaves bold"4873 change the style4874 initial_state: [], ansi_commands: ["30"], result: "term-fg-black", description: "sets fg color black"4875 change the style4876 initial_state: [], ansi_commands: ["31"], result: "term-fg-red", description: "sets fg color red"4877 change the style4878 initial_state: [], ansi_commands: ["32"], result: "term-fg-green", description: "sets fg color green"4879 change the style4880 initial_state: [], ansi_commands: ["33"], result: "term-fg-yellow", description: "sets fg color yellow"4881 change the style4882 initial_state: [], ansi_commands: ["34"], result: "term-fg-blue", description: "sets fg color blue"4883 change the style4884 initial_state: [], ansi_commands: ["35"], result: "term-fg-magenta", description: "sets fg color magenta"4885 change the style4886 initial_state: [], ansi_commands: ["36"], result: "term-fg-cyan", description: "sets fg color cyan"4887 change the style4888 initial_state: [], ansi_commands: ["37"], result: "term-fg-white", description: "sets fg color white"4889 change the style4890 initial_state: [], ansi_commands: ["38", "5", "1"], result: "xterm-fg-1", description: "sets xterm fg color 1"4891 change the style4892 initial_state: [], ansi_commands: ["38", "5", "2"], result: "xterm-fg-2", description: "sets xterm fg color 2"4893 change the style4894 initial_state: [], ansi_commands: ["38", "1"], result: "term-bold", description: "ignores 38 command if not followed by 5 and sets format bold"4895 change the style4896 initial_state: [], ansi_commands: ["40"], result: "term-bg-black", description: "sets bg color black"4897 change the style4898 initial_state: [], ansi_commands: ["41"], result: "term-bg-red", description: "sets bg color red"4899 change the style4900 initial_state: [], ansi_commands: ["42"], result: "term-bg-green", description: "sets bg color green"4901 change the style4902 initial_state: [], ansi_commands: ["43"], result: "term-bg-yellow", description: "sets bg color yellow"4903 change the style4904 initial_state: [], ansi_commands: ["44"], result: "term-bg-blue", description: "sets bg color blue"4905 change the style4906 initial_state: [], ansi_commands: ["45"], result: "term-bg-magenta", description: "sets bg color magenta"4907 change the style4908 initial_state: [], ansi_commands: ["46"], result: "term-bg-cyan", description: "sets bg color cyan"4909 change the style4910 initial_state: [], ansi_commands: ["47"], result: "term-bg-white", description: "sets bg color white"4911 change the style4912 initial_state: [], ansi_commands: ["48", "5", "1"], result: "xterm-bg-1", description: "sets xterm bg color 1"4913 change the style4914 initial_state: [], ansi_commands: ["48", "5", "2"], result: "xterm-bg-2", description: "sets xterm bg color 2"4915 change the style4916 initial_state: [], ansi_commands: ["48", "1"], result: "term-bold", description: "ignores 48 command if not followed by 5 and sets format bold"4917 change the style4918 initial_state: [], ansi_commands: ["90"], result: "term-fg-l-black", description: "sets fg color light black"4919 change the style4920 initial_state: [], ansi_commands: ["91"], result: "term-fg-l-red", description: "sets fg color light red"4921 change the style4922 initial_state: [], ansi_commands: ["92"], result: "term-fg-l-green", description: "sets fg color light green"4923 change the style4924 initial_state: [], ansi_commands: ["93"], result: "term-fg-l-yellow", description: "sets fg color light yellow"4925 change the style4926 initial_state: [], ansi_commands: ["94"], result: "term-fg-l-blue", description: "sets fg color light blue"4927 change the style4928 initial_state: [], ansi_commands: ["95"], result: "term-fg-l-magenta", description: "sets fg color light magenta"4929 change the style4930 initial_state: [], ansi_commands: ["96"], result: "term-fg-l-cyan", description: "sets fg color light cyan"4931 change the style4932 initial_state: [], ansi_commands: ["97"], result: "term-fg-l-white", description: "sets fg color light white"4933 change the style4934 initial_state: [], ansi_commands: ["100"], result: "term-bg-l-black", description: "sets bg color light black"4935 change the style4936 initial_state: [], ansi_commands: ["101"], result: "term-bg-l-red", description: "sets bg color light red"4937 change the style4938 initial_state: [], ansi_commands: ["102"], result: "term-bg-l-green", description: "sets bg color light green"4939 change the style4940 initial_state: [], ansi_commands: ["103"], result: "term-bg-l-yellow", description: "sets bg color light yellow"4941 change the style4942 initial_state: [], ansi_commands: ["104"], result: "term-bg-l-blue", description: "sets bg color light blue"4943 change the style4944 initial_state: [], ansi_commands: ["105"], result: "term-bg-l-magenta", description: "sets bg color light magenta"4945 change the style4946 initial_state: [], ansi_commands: ["106"], result: "term-bg-l-cyan", description: "sets bg color light cyan"4947 change the style4948 initial_state: [], ansi_commands: ["107"], result: "term-bg-l-white", description: "sets bg color light white"4949 change the style4950 initial_state: ["1"], ansi_commands: [], result: "", description: "resets style from format bold"4951 change the style4952 initial_state: ["1"], ansi_commands: ["0"], result: "", description: "resets style from format bold"4953 change the style4954 initial_state: ["1", "3"], ansi_commands: ["0"], result: "", description: "resets style from format bold and italic"4955 change the style4956 initial_state: ["1", "3", "term-fg-l-red", "term-bg-yellow"], ansi_commands: ["0"], result: "", description: "resets all formats and colors"4957 change the style4958 initial_state: ["31", "42"], ansi_commands: ["39"], result: "term-bg-green", description: "set foreground from red to default leaving background unchanged"4959 change the style4960 initial_state: ["31", "42"], ansi_commands: ["49"], result: "term-fg-red", description: "set background from green to default leaving foreground unchanged"4961 change the style4962 initial_state: [], ansi_commands: ["1", "30", "42", "3"], result: "term-fg-l-black term-bg-green term-bold term-italic", description: "adds fg color, bg color and formats from no style"4963 change the style4964 initial_state: ["3", "31"], ansi_commands: ["23", "1", "43"], result: "term-fg-l-red term-bg-yellow term-bold", description: "replaces format italic with bold and adds a yellow background"4965 change the style4966BulkInsertSafe4967-- create_table(:bulk_insert_items, {:force=>true})4968 -> 0.0055s4969 behaves like a BulkInsertSafe model4970 when calling class methods directly4971 raises an error when method is not bulk-insert safe4972 does not raise an error when method is bulk-insert safe4973 does not raise an error when the call is triggered by belongs_to4974 .bulk_insert!4975 when all items are valid4976 inserts them all4977 returns true4978 when some items are invalid4979 does not insert any of them and raises an error4980 inserts them anyway when bypassing validations4981 when inheriting class methods4982 raises an error when method is not bulk-insert safe4983 does not raise an error when method is bulk-insert safe4984 primary keys4985 raises error if primary keys are set prior to insertion4986 .bulk_insert!4987 inserts items in the given number of batches4988 rolls back the transaction when any item is invalid4989 does nothing and returns true when items are empty4990-- drop_table(:bulk_insert_items, {:force=>true})4991 -> 0.0086s4992Gitlab::Metrics::Samplers::UnicornSampler4993 #sample4994 unicorn listens on unix sockets4995 samples socket data4996 stats collected4997 updates metrics type unix and with addr4998 unicorn listens on tcp sockets4999 samples socket data5000 stats collected5001 updates metrics type unix and with addr5002 unicorn workers5003 without http server5004 does set unicorn_workers to 05005 with http server5006 sets additional metrics5007 #start5008 when enabled5009 creates new thread5010 when disabled5011 doesn't create new thread5012ClusterSerializer5013 #represent_status5014 when provider type is gcp5015 serializes only status5016 when provider type is user5017 serializes only status5018admin/application_settings/integrations.html.haml5019 sourcegraph integration5020 when sourcegraph feature is enabled5021 show the form5022 when sourcegraph feature is disabled5023 show the form5024ResourceWeightEvent5025 behaves like a resource event5026 importable5027 is expected to respond to #importing?5028 is expected to respond to #imported?5029 validations5030 is expected not to allow :user to be ‹nil›5031 when importing5032 is expected to allow :user to be ‹nil›5033 associations5034 is expected to belong to user required:5035 .created_after5036 returns the expected events5037 returns no events if time is after last record time5038 behaves like a resource event for issues5039 associations5040 is expected to belong to issue required:5041 .by_issue5042 returns the expected records for an issue with events5043 returns the expected records for an issue with no events5044 validations5045 is expected not to allow :issue to be ‹nil›5046 is expected to allow :weight to be ‹nil›5047 associations5048 is expected to belong to issue required:5049 .by_issue5050 returns the expected records for an issue with events5051 returns the expected records for an issue with no events5052 .created_after5053 returns the expected events5054 returns no events if time is after last record time5055 #discussion_id5056 returns the expected id5057Projects::ErrorTrackingHelper5058 #error_tracking_data5059 without error_tracking_setting5060 returns frontend configuration5061 with error_tracking_setting5062 when enabled5063 show error tracking enabled5064 when disabled5065 show error tracking not enabled5066 when user is not maintainer5067 shows error tracking enablement as disabled5068 #error_details_data5069 returns the correct issue id5070 returns the correct project path5071 returns the correct stack trace path5072 creates an issue and redirects to issue show page5073Admin::RunnersFinder5074 #execute5075 with empty params5076 returns all runners5077 filter by search term5078 calls Ci::Runner.search5079 filter by status5080 calls the corresponding scope on Ci::Runner5081 filter by runner type5082 calls the corresponding scope on Ci::Runner5083 filter by tag_name5084 calls the corresponding scope on Ci::Runner5085 sort5086 without sort param5087 sorts by created_at5088 with sort param5089 sorts by specified attribute5090 paginate5091 returns the runners for the specified page5092Gitlab::GithubImport::Importer::LfsObjectImporter5093 #execute5094 calls the LfsDownloadService with the lfs object attributes5095devise/sessions/new5096 ldap5097 is shown when enabled5098 is not shown when LDAP sign in is disabled5099IconsHelper5100 icon5101 returns aria-hidden by default5102 does not return aria-hidden if aria-label is set5103 sprite_icon_path5104 returns relative path5105 when an asset_host is set in the config it will return an absolute local URL5106 returns an absolute URL on that asset host5107 sprite_icon5108 returns svg icon html5109 returns svg icon html + size classes5110 returns svg icon html + size classes + additional class5111 non existing icon5112 raises in development mode5113 raises in test mode5114 does not raise in production mode5115 audit icon5116 returns right icon name for standard auth5117 returns right icon name for two-factor auth5118 returns right icon name for google_oauth2 auth5119 file_type_icon_class5120 returns folder class5121 returns share class5122 returns file-pdf-o class with .pdf5123 returns file-image-o class with .jpg5124 returns file-image-o class with .JPG5125 returns file-image-o class with .png5126 returns file-image-o class with .apng5127 returns file-image-o class with .webp5128 returns file-archive-o class with .tar5129 returns file-archive-o class with .TAR5130 returns file-archive-o class with .tar.gz5131 returns file-audio-o class with .mp35132 returns file-audio-o class with .MP35133 returns file-audio-o class with .m4a5134 returns file-audio-o class with .wav5135 returns file-video-o class with .avi5136 returns file-video-o class with .AVI5137 returns file-video-o class with .mp45138 returns file-word-o class with .odt5139 returns file-word-o class with .doc5140 returns file-word-o class with .DOC5141 returns file-word-o class with .docx5142 returns file-excel-o class with .xls5143 returns file-excel-o class with .XLS5144 returns file-excel-o class with .xlsx5145 returns file-excel-o class with .odp5146 returns file-excel-o class with .ppt5147 returns file-excel-o class with .PPT5148 returns file-excel-o class with .pptx5149 returns file-text-o class with .unknow5150 returns file-text-o class with no extension5151 #external_snippet_icon5152 returns external snippet icon5153LfsDownloadObject5154 validations5155 is expected to validate that :size looks like a number greater than or equal to 05156 oid attribute5157 must be 64 characters long5158 must contain only hexadecimal characters5159 link attribute5160 only http and https protocols are valid5161 cannot be empty5162 when localhost or local network addresses5163 are allowed5164 is expected to be valid5165 are not allowed5166 is expected to be invalid5167Mail quoted-printable transfer encoding patch and Unicode characters5168 with a text email5169 with a body that encodes to exactly 74 characters (final newline)5170 behaves like email encoding5171 enclosing in a new object does not change the encoded original5172 with a body that encodes to exactly 74 characters (no final newline)5173 behaves like email encoding5174 enclosing in a new object does not change the encoded original5175 with a body that encodes to exactly 75 characters5176 behaves like email encoding5177 enclosing in a new object does not change the encoded original5178 with an html email5179 with a body that encodes to exactly 74 characters (final newline)5180 behaves like email encoding5181 enclosing in a new object does not change the encoded original5182 with a body that encodes to exactly 74 characters (no final newline)5183 behaves like email encoding5184 enclosing in a new object does not change the encoded original5185 with a body that encodes to exactly 75 characters5186 behaves like email encoding5187 enclosing in a new object does not change the encoded original5188 a multipart email5189 behaves like email encoding5190 enclosing in a new object does not change the encoded original5191 with non UTF-8 charset5192 can be decoded back5193 behaves like email encoding5194 enclosing in a new object does not change the encoded original5195 with binary content5196 can be encoded with 'base64' content-transfer-encoding5197 binary contents are not modified5198 behaves like email encoding5199 enclosing in a new object does not change the encoded original5200 encoding fails with 'quoted-printable' content-transfer-encoding5201 content cannot be decoded back5202Gitlab::Ci::Config::Entry::Default5203 behaves like with inheritable CI config5204 does prepend an Inheritable mixin5205 all inheritable entries are covered5206 all entries do have inherit flag5207 for non-inheritable entries5208 entry_key: :interruptible5209 inheritable_class does not define entry5210 entry_key: :timeout5211 inheritable_class does not define entry5212 entry_key: :retry5213 inheritable_class does not define entry5214 entry_key: :tags5215 inheritable_class does not define entry5216 entry_key: :artifacts5217 inheritable_class does not define entry5218 for inheritable entries5219 entry_key: :before_script, entry_class: Gitlab::Ci::Config::Entry::Script5220 inheritable_class does define entry5221 when is specified5222 does inherit value5223 when entry is specified5224 does not inherit value5225 when inheritable does not specify5226 does not inherit value5227 entry_key: :image, entry_class: Gitlab::Ci::Config::Entry::Image5228 inheritable_class does define entry5229 when is specified5230 does inherit value5231 when entry is specified5232 does not inherit value5233 when inheritable does not specify5234 does not inherit value5235 entry_key: :services, entry_class: Gitlab::Ci::Config::Entry::Services5236 inheritable_class does define entry5237 when is specified5238 does inherit value5239 when entry is specified5240 does not inherit value5241 when inheritable does not specify5242 does not inherit value5243 entry_key: :after_script, entry_class: Gitlab::Ci::Config::Entry::Script5244 inheritable_class does define entry5245 when is specified5246 does inherit value5247 when entry is specified5248 does not inherit value5249 when inheritable does not specify5250 does not inherit value5251 entry_key: :cache, entry_class: Gitlab::Ci::Config::Entry::Cache5252 inheritable_class does define entry5253 when is specified5254 does inherit value5255 when entry is specified5256 does not inherit value5257 when inheritable does not specify5258 does not inherit value5259 .nodes5260 returns a hash5261 when filtering all the entry/node names5262 contains the expected node names5263 validations5264 when default entry value is correct5265 #valid?5266 is valid5267 when default entry is empty5268 #valid5269 is valid5270 when default entry is not correct5271 incorrect config value type5272 #errors5273 reports error about a config type5274 when unknown keys detected5275 #valid5276 is not valid5277 #compose!5278 when default entry inherits configuration from root5279 raises error5280 when default entry inherits a non-defined configuration from root5281 inherits non-defined configuration entries5282Gitlab::GlRepository::RepoType5283 #<Gitlab::GlRepository::RepoType:0x0000560e7f0a3a00>5284 knows its type5285 checks if repository path is valid5286 behaves like a repo type5287 #identifier_for_container5288 is expected to eq "project-1361"5289 #fetch_id5290 finds an id match in the identifier5291 does not break on other identifiers5292 #fetch_container!5293 returns the container5294 raises an exception if the identifier is invalid5295 #path_suffix5296 is expected to eq ""5297 #repository_for5298 finds the repository for the repo type5299 #<Gitlab::GlRepository::RepoType:0x0000560e7f0a38e8>5300 knows its type5301 checks if repository path is valid5302 behaves like a repo type5303 #identifier_for_container5304 is expected to eq "wiki-1361"5305 #fetch_id5306 finds an id match in the identifier5307 does not break on other identifiers5308 #fetch_container!5309 returns the container5310 raises an exception if the identifier is invalid5311 #path_suffix5312 is expected to eq ".wiki"5313 #repository_for5314 finds the repository for the repo type5315 #<Gitlab::GlRepository::RepoType:0x0000560e7f0a3528>5316 when PersonalSnippet5317 knows its type5318 checks if repository path is valid5319 behaves like a repo type5320 #identifier_for_container5321 is expected to eq "snippet-16"5322 #fetch_id5323 finds an id match in the identifier5324 does not break on other identifiers5325 #fetch_container!5326 returns the container5327 raises an exception if the identifier is invalid5328 #path_suffix5329 is expected to eq ""5330 #repository_for5331 finds the repository for the repo type5332 when ProjectSnippet5333 knows its type5334 checks if repository path is valid5335 behaves like a repo type5336 #identifier_for_container5337 is expected to eq "snippet-17"5338 #fetch_id5339 finds an id match in the identifier5340 does not break on other identifiers5341 #fetch_container!5342 returns the container5343 raises an exception if the identifier is invalid5344 #path_suffix5345 is expected to eq ""5346 #repository_for5347 finds the repository for the repo type5348API::Entities::Release5349 evidence5350 when the current user can download code5351 exposes the evidence sha and the json path5352 when the current user cannot download code5353 does not expose any evidence data5354UserFinder5355 #find_by_id5356 when the user exists5357 returns the user5358 when the user exists (id as string)5359 returns the user5360 when the user does not exist5361 returns nil5362 #find_by_username5363 when the user exists5364 returns the user5365 when the user does not exist5366 returns nil5367 #find_by_id_or_username5368 when the user exists (id)5369 returns the user5370 when the user exists (id as string)5371 returns the user5372 when the user exists (username)5373 returns the user5374 when the user does not exist (username)5375 returns nil5376 when the user does not exist5377 returns nil5378 #find_by_id!5379 when the user exists5380 returns the user5381 when the user exists (id as string)5382 returns the user5383 when the user does not exist5384 raises ActiveRecord::RecordNotFound5385 #find_by_username!5386 when the user exists5387 returns the user5388 when the user does not exist5389 raises ActiveRecord::RecordNotFound5390 #find_by_id_or_username!5391 when the user exists (id)5392 returns the user5393 when the user exists (id as string)5394 returns the user5395 when the user exists (username)5396 returns the user5397 when the user does not exist (username)5398 raises ActiveRecord::RecordNotFound5399 when the user does not exist5400 raises ActiveRecord::RecordNotFound5401Gitlab::Config::Entry::Validatable5402 .validator5403 returns validator5404 returns only one validator to mitigate leaks5405 when validating entry instance5406 when attribute is valid5407 instance of validator is valid5408 when attribute is not valid5409 instance of validator is invalid5410Gitlab::Ci::Config::External::File::Local5411 #matching?5412 when a local is specified5413 returns true5414 with a missing local5415 returns false5416 with a missing local key5417 returns false5418 #valid?5419 when is a valid local path5420 returns true5421 when is not a valid local path5422 returns false5423 when is not a yaml file5424 returns false5425 #content5426 with a valid file5427 returns the content of the file5428 with an invalid file5429 is nil5430 #error_message5431 returns an error message5432 #expand_context5433 inherits project, user and sha5434 #to_hash5435 properly includes another local file in the same repository5436 does expand hash to include the template5437Keys::DestroyService5438 destroys a key5439Gitlab::Graphql::Authorize::AuthorizeFieldService5440 #authorized_resolve5441 scalar types5442 when the field is a built-in scalar type5443 behaves like checking permissions on the presented object5444 checks the abilities on the object being presented and returns the value5445 returns nil if the value wasn't authorized5446 when the field is a list of scalar types5447 behaves like checking permissions on the presented object5448 checks the abilities on the object being presented and returns the value5449 returns nil if the value wasn't authorized5450 when the field is sub-classed scalar type5451 behaves like checking permissions on the presented object5452 checks the abilities on the object being presented and returns the value5453 returns nil if the value wasn't authorized5454 when the field is a list of sub-classed scalar types5455 behaves like checking permissions on the presented object5456 checks the abilities on the object being presented and returns the value5457 returns nil if the value wasn't authorized5458 when the field is a specific type5459 checks both field & type permissions5460 returns nil if viewing was not allowed5461 when the field is not nullable5462 returns nil when viewing is not allowed5463 when the field is a list5464 checks all permissions5465 filters out objects that the user cannot see5466Banzai::Filter::ColorFilter5467 inserts color chip for supported color format #1235468 inserts color chip for supported color format #12345469 inserts color chip for supported color format #1234565470 inserts color chip for supported color format #123456785471 inserts color chip for supported color format rgb(0,0,0)5472 inserts color chip for supported color format RGB(0, 0, 0)5473 inserts color chip for supported color format rgba(0,0,0,1)5474 inserts color chip for supported color format RGBA(0,0,0,0.7)5475 inserts color chip for supported color format hsl(270,30%,50%)5476 inserts color chip for supported color format HSLA(270, 30%, 50%, .7)5477 ignores valid color code without backticks(code tags)5478 ignores valid color code with prepended space5479 ignores valid color code with appended space5480 ignores valid color code surrounded by spaces5481 ignores invalid color code5482help/index5483 version information5484 is hidden from guests5485 when logged in5486 shows a link to the tag to users5487 shows a link to the commit for pre-releases5488 instance configuration link5489 is visible to guests5490Gitlab::LegacyGithubImport::Client5491 convert OAuth2 client options to symbols5492 does not crash (e.g. Settingslogic::MissingSetting) when verify_ssl config is not present5493 does not raise error when rate limit is disabled5494 when config is missing5495 is still possible to get an Octokit client5496 is not be possible to get an OAuth2 client5497 allow SSL verification to be configurable on API5498 uses supplied value5499 #api_endpoint5500 when provider does not specity an API endpoint5501 uses GitHub root API endpoint5502 when provider specify a custom API endpoint5503 uses the custom API endpoint5504 when given a host5505 builds a endpoint with the given host and the default API version5506 when given an API version5507 does not use the API version without a host5508 when given a host and version5509 builds a endpoint with the given options5510Gitlab::ErrorTracking::StackTraceHighlightDecorator5511 .decorate5512 does not change issue_id5513 does not change date_received5514 decorates the stack trace context5515Shard5516 .populate!5517 creates shards based on the config file5518 .by_name5519 returns an existing shard5520 creates a new shard5521 retries if creation races5522GoogleApi::CloudPlatform::Client5523 .session_key_for_redirect_uri5524 creates a new session key5525 .new_session_key_for_redirect_uri5526 generates a new session key5527 #validate_token5528 when token is nil5529 is expected to be falsy5530 when expires_at is nil5531 is expected to be falsy5532 when expires in 1 hour5533 is expected to be truthy5534 when expires in 10 minutes5535 is expected to be falsy5536 #projects_zones_clusters_get5537 is expected to eq #<Double (anonymous)>5538 #projects_zones_clusters_create5539 sets corresponded parameters5540 create without legacy_abac5541 sets corresponded parameters5542 create with enable_addons for cloud_run5543 sets corresponded parameters5544 #projects_zones_operations5545 is expected to eq #<Double (anonymous)>5546 #parse_operation_id5547 when expected url5548 is expected to eq "ope-123"5549 when unexpected url5550 is expected to be nil5551 #user_agent_header5552 returns a RequestOptions object5553 has the correct GitLab version in User-Agent header5554WikiPages::BaseService5555 #increment_usage5556 raises an error on unknown events5557 the event is valid5558 updates the create counter5559 updates the update counter5560 updates the delete counter5561Gitlab::ImportExport::AttributesFinder5562 #find_root5563 generates hash from project tree config5564 individual scenarios5565 generates the correct hash for a single project relation5566 generates the correct hash for a single project feature relation5567 generates the correct hash for a multiple project relation5568 generates the correct hash for a single sub-relation5569 generates the correct hash for a multiple sub-relation5570 generates the correct hash for a sub-relation with another sub-relation5571 generates the correct hash for a relation with included attributes5572 generates the correct hash for a relation with excluded attributes5573 generates the correct hash for a relation with both excluded and included attributes5574 generates the correct hash for a relation with custom methods5575 #find_relations_tree5576 when initialized with config including tree5577 when relation is in top-level keys of the tree5578 is expected to eq {:issues=>{}}5579 when the relation is not in top-level keys5580 is expected to be nil5581 when tree is not present in config5582 is expected to be nil5583 #find_excluded_keys5584 when initialized with excluded_attributes5585 is expected to eq ["name", "path"]5586 when excluded_attributes are not present in config5587 is expected to eq []5588BitbucketServer::Representation::PullRequestComment5589 #id5590 is expected to eq 75591 #from_sha5592 is expected to eq "c5f4288162e2e6218180779c7f6ac1735bb56eab"5593 #to_sha5594 is expected to eq "a4c2164330f2549f67c13f36a93884cf66e976be"5595 #to?5596 is expected to be falsey5597 #from?5598 is expected to be truthy5599 #added?5600 is expected to be falsey5601 #removed?5602 is expected to be falsey5603 #new_pos5604 is expected to eq 115605 #old_pos5606 is expected to eq 95607 #file_path5608 is expected to eq "CHANGELOG.md"5609RuboCop::Cop::Migration::HashIndex5610 in migration5611 registers an offense when creating a hash index5612 registers an offense when creating a concurrent hash index5613 registers an offense when creating a hash index using t.index5614 outside of migration5615 registers no offense5616RuboCop::Cop::CodeReuse::ActiveRecord5617 flags the use of "where" without any arguments5618 flags the use of "where" with arguments5619 does not flag the use of "group" without any arguments5620 flags the use of "group" with arguments5621 does not flag the use of ActiveRecord models in a model5622 does not flag the use of ActiveRecord models in a spec5623 does not flag the use of ActiveRecord models in a background migration5624 does not flag the use of ActiveRecord models in lib/gitlab/database5625 autocorrects offenses in instance methods by whitelisting them5626 autocorrects offenses in class methods by whitelisting them5627 autocorrects offenses in blocks by whitelisting them5628Gitlab::Ci::Build::Artifacts::Adapters::GzipStream5629 #initialize5630 when stream is passed5631 initialized5632 when stream is not passed5633 raises an error5634 #each_blob5635 when stream is gzip file5636 when gzip file contains one file5637 iterates content and file_name5638 when gzip file contains three files5639 iterates content and file_name5640 when stream is zip file5641 raises an error5642Gitlab::Ci::Config::Entry::Script5643 validations5644 when entry config value is array of strings5645 #value5646 returns array of strings5647 #errors5648 does not append errors5649 #valid?5650 is valid5651 when entry config value is array of arrays of strings5652 #value5653 returns array of strings5654 #errors5655 does not append errors5656 #valid?5657 is valid5658 when entry config value is array containing strings and arrays of strings5659 #value5660 returns array of strings5661 #errors5662 does not append errors5663 #valid?5664 is valid5665 when entry value is string5666 #errors5667 saves errors5668 #valid?5669 is not valid5670 when entry value is multi-level nested array5671 #errors5672 saves errors5673 #valid?5674 is not valid5675Gitlab::SidekiqStatus5676 .set5677 stores the job ID5678 .unset5679 removes the job ID5680 .all_completed?5681 returns true if all jobs have been completed5682 returns false if a job has not yet been completed5683 .running?5684 returns true if job is running5685 returns false if job is not found5686 .num_running5687 returns 0 if all jobs have been completed5688 returns 2 if two jobs are still running5689 .num_completed5690 returns 1 if all jobs have been completed5691 returns 1 if a job has not yet been completed5692 .key_for5693 returns the key for a job ID5694 completed5695 returns the completed job5696 returns only the jobs completed5697Gitlab::Patch::Prependable5698 a class including a concern prepending a concern5699 returns values from prepended module ee5700 has the expected ancestors5701 prepends only once even if called twice5702 overriding methods5703 returns values from the class5704 a class prepending a concern prepending a concern5705 returns values from prepended module ee5706 has the expected ancestors5707 prepends only once5708 a class prepending a concern5709 returns values from prepended module ee5710 has the expected ancestors5711 prepends only once5712 simple case5713 class methods5714 has a method5715 can execute a method5716 instance methods5717 has a method5718 chains a method execution5719 having two prepended blocks5720 raises an error5721gitlab:ldap:rename_provider rake task5722 completes without error5723AwardEmojisFinder5724 param validation5725 raises an error if `name` is invalid5726 raises an error if `awarded_by` is invalid5727 #execute5728 scopes to the awardable5729 filters by emoji name5730 filters by user5731Gitlab::JwtAuthenticatable5732 .secret5733 returns 32 bytes5734 accepts a trailing newline5735 raises an exception if the secret file cannot be read5736 raises an exception if the secret file contains the wrong number of bytes5737 .write_secret5738 uses mode 06005739 writes base64 data5740 .decode_jwt_for_issuer5741 accepts a correct header5742 raises an error when the JWT is not signed5743 raises an error when the header is signed with the wrong secret5744 raises an error when the issuer is incorrect5745Gitlab::GithubImport::Importer::NotesImporter5746 #parallel?5747 returns true when running in parallel mode5748 returns false when running in sequential mode5749 #execute5750 when running in parallel mode5751 imports notes in parallel5752 when running in sequential mode5753 imports notes in sequence5754 #sequential_import5755 imports each note in sequence5756 #parallel_import5757 imports each note in parallel5758 #id_for_already_imported_cache5759 returns the ID of the given note5760 #collection_options5761 returns an empty Hash5762Gitlab::NullRequestStore5763 #store5764 returns an empty hash5765 #active?5766 returns falsey5767 #read5768 returns nil5769 #[]5770 returns nil5771 #write5772 returns the same value5773 #[]=5774 returns the same value5775 #exist?5776 returns falsey5777 #fetch5778 returns the block result5779 #delete5780 when a block is given5781 yields the key to the block5782 returns the block result5783 when a block is not given5784 returns nil5785Gitlab::ProjectTransfer5786 #move_project5787 moves project upload to another namespace5788 #move_namespace5789 when moving namespace from root into another namespace5790 moves namespace projects' upload5791 when moving namespace from one parent to another5792 moves namespace projects' upload5793 when moving namespace from having a parent to root5794 moves namespace projects' upload5795 #rename_project5796 renames project5797 #rename_namespace5798 renames namespace5799RuboCop::Cop::RubyInterpolationInTranslation5800 does not add an offence for a regular messages5801 adds the correct offence when using interpolation in a string5802 detects when using a ruby interpolation in the first argument of a pluralized string5803 detects when using a ruby interpolation in the second argument of a pluralized string5804 detects when using interpolation in a namespaced translation5805 does not add an offence for messages defined over multiple lines5806 adds an offence for violations in a message defined over multiple lines5807Gitlab::Ci::Config::Entry::Stages5808 validations5809 when entry config value is correct5810 #value5811 returns array of stages5812 #valid?5813 is valid5814 when entry value is not correct5815 #errors5816 saves errors5817 #valid?5818 is not valid5819 .default5820 returns default stages5821Gitlab::Badge::Pipeline::Template5822 #key_text5823 is always says pipeline5824 #value_text5825 is status value5826 widths and text anchors5827 has fixed width and text anchors5828 #key_color5829 is always the same5830 #value_color5831 when status is success5832 has expected color5833 when status is failed5834 has expected color5835 when status is running5836 has expected color5837 when status is preparing5838 has expected color5839 when status is unknown5840 has expected color5841 when status does not match any known statuses5842 has expected color5843schema_version_check rake task5844 allows migrations on databases meeting the min schema version requirement5845 raises an error when schema version is too old to migrate5846 skips running validation when passed the skip env variable5847 allows migrations on fresh databases5848Gitlab::Git::LfsPointerFile5849 #size5850 counts the bytes5851 handles non ascii data5852 #sha2565853 hashes the content correctly5854 #pointer5855 starts with the LFS version5856 includes sha2565857 ends with the size5858Gitlab::Alerting::NotificationPayloadParser5859 .call5860 returns Prometheus-like payload5861 when title is blank5862 sets a predefined title5863 when hosts attribute is a string5864 returns hosts as an array of one element5865 when the time is in unsupported format5866 sets startsAt to a current time in RFC3339 format5867 when payload is blank5868 returns default parameters5869 when payload attributes have blank lines5870 returns default parameters5871 when payload has secondary params5872 adds secondary params to annotations5873 when secondary params hash is too big5874 catches and re-raises an error5875Gitlab::SubmoduleLinks5876 #for5877 when there is no .gitmodules file5878 returns no links5879 when the submodule is unknown5880 returns no links5881 when the submodule is known5882 returns links and caches the by ref5883 when ref name contains a dash5884 returns links5885MergeRequestUserMention5886 associations5887 is expected to belong to merge_request required:5888 is expected to belong to note required:5889 behaves like has user mentions5890 #has_mentions?5891 when no mentions5892 returns false5893 when mentioned_users_ids not null5894 returns true5895 when mentioned projects5896 returns true5897 when mentioned groups5898 returns true5899Resolvers::GroupResolver5900 #resolve5901 batch-resolves groups by full path5902 resolves an unknown full_path to nil5903Gitlab::SidekiqSignals5904 .install5905 not a process group leader5906 does nothing5907 as a process group leader5908 installs its own signal handlers for TERM and INT only5909 installs a forwarding signal handler for INT5910 raises if sidekiq no longer traps SIGINT5911 installs a forwarding signal handler for TERM5912 raises if sidekiq no longer traps SIGTERM5913Banzai::Filter::AbsoluteLinkFilter5914 with html links5915 if only_path is false5916 has the .gfm class5917 converts a relative url into absolute5918 does not change the url if it already absolute5919 if relative_url_root is set5920 joins the url without doubling the path5921 has not the .gfm class5922 does not convert a relative url into absolute5923 if only_path is not false5924 does not convert a relative url into absolute5925GitHelper5926 #short_sha5927 is expected to eq "d4e043f6"5928 #strip_signature5929 strips PGP SIGNATURE5930 is expected to eq "Version 1.69.0\n\n"5931 strips PGP MESSAGE5932 is expected to eq "Version 1.69.0\n\n"5933 strips SIGNED MESSAGE5934 is expected to eq "this is Roger's signed tag\n\n"5935GroupBadge5936 associations5937 is expected to belong to group required:5938 validations5939 is expected to validate that :group cannot be empty/falsy5940processing of SAMLResponse in dependencies5941 can extract AuthnContextClassRef from SAMLResponse param5942Gitlab::DowntimeCheck::Message5943 #to_s5944 returns an ANSI formatted String for an offline migration5945 returns an ANSI formatted String for an online migration5946 #reason?5947 returns false when no reason is specified5948 returns true when a reason is specified5949 #reason5950 strips excessive whitespace from the returned String5951Gitlab::RequestProfiler5952 .profile_token5953 returns a token5954 caches the token5955 with temporary PROFILES_DIR5956 .remove_all_profiles5957 removes Gitlab::RequestProfiler::PROFILES_DIR directory5958 .all5959 returns all profiles5960 .find5961 returns all profiles5962Gitlab::GithubImport::PageCounter5963 #initialize5964 sets the initial page number to 1 when no value is cached5965 sets the initial page number to the cached value when one is present5966 #set5967 overwrites the page number when the given number is greater than the current number5968 does not overwrite the page number when the given number is lower than the current number5969Gitlab::Ci::Status::Success5970 #text5971 is expected to eq "passed"5972 #label5973 is expected to eq "passed"5974 #icon5975 is expected to eq "status_success"5976 #favicon5977 is expected to eq "favicon_status_success"5978 #group5979 is expected to eq "success"5980Resolvers::Projects::GrafanaIntegrationResolver5981 #resolve5982 when object is not a project5983 is expected to eq nil5984 when object is a project5985 is expected to eq #<GrafanaIntegration id: 3, project_id: 1366, created_at: "2020-03-05 04:48:12", updated_at: "2020-03...ken_iv: "jNREmppYACostnvw\n", grafana_url: "https://grafana.example.com", enabled: true, token: nil>5986 when object is nil5987 is expected to eq nil5988Gitlab::CrossProjectAccess::ClassMethods5989 #requires_cross_project_access5990 creates a correct check when a hash is passed5991 creates a correct check when an array is passed5992 creates a correct check when an array and a hash is passed5993Gitlab::SidekiqVersioning5994 .install!5995 prepends SidekiqVersioning::Manager into Sidekiq::Manager5996 registers all versionless and versioned queues with Redis5997Gitlab::Ci::Status::Group::Common5998 does not have action5999 has details6000 has no details_path6001Gitlab::Lazy6002 when not calling any methods6003 does not call the supplied block6004 when calling a method on the object6005 lazy loads the value returned by the block6006 #respond_to?6007 returns true for a method defined on the wrapped object6008 returns false for a method not defined on the wrapped object6009ContainerExpirationPoliciesHelper6010 #keep_n_options6011 returns keep_n options formatted for dropdown usage6012 #cadence_options6013 returns cadence options formatted for dropdown usage6014 #older_than_options6015 returns older_than options formatted for dropdown usage6016Gitlab::PhabricatorImport::Conduit::TasksResponse6017 #pagination6018 delegates to the conduit reponse6019 #tasks6020 builds the correct tasks representation6021Gitlab::Ci::Parsers6022 .fabricate!6023 when file_type exists6024 fabricates the class6025 when file_type does not exist6026 raises an error6027RuboCop::QAHelpers6028 #in_qa_file?6029 returns true for a node in the qa/ directory6030 returns false for a node outside the qa/ directory6031Gitlab::DependencyLinker::BaseLinker6032 #link6033 only converts valid links6034Gitlab::GithubImport::SequentialImporter6035 #execute6036 imports a project in sequence6037Todo6038 has the correct fields6039 is expected to require graphql authorizations :read_todo6040Gitlab::Ci::Build::Port6041 when port is defined as an integer6042 populates the object6043 when port is defined as hash6044 populates the object6045Gitlab::InsecureKeyFingerprint6046 #fingerprint6047 generates the key's fingerprint6048 #fingerprint6049 generates the key's fingerprint6050Gitlab::QuickActions::Dsl6051 .command_definitions6052 returns an array with commands definitions6053Asset proxy settings initialization6054 #asset_proxy6055 defaults to disabled6056Gitlab::Graphql::Pagination::OffsetActiveRecordRelationConnection6057 subclasses from GraphQL::Relay::RelationConnection6058TodosDestroyer::GroupPrivateWorker6059 calls the Todos::Destroy::GroupPrivateService with the params it was given6060Gitlab::Diff::InlineDiffMarkdownMarker6061 #mark6062 does not escape html etities and marks the range6063Knapsack report was generated. Preview:6064{6065 "spec/services/merge_requests/update_service_spec.rb": 113.21665692329407,6066 "spec/models/user_spec.rb": 84.3029146194458,6067 "spec/models/concerns/issuable_spec.rb": 50.93889927864075,6068 "spec/finders/labels_finder_spec.rb": 41.432950258255005,6069 "spec/models/wiki_page_spec.rb": 23.78308653831482,6070 "spec/models/clusters/applications/knative_spec.rb": 30.23131513595581,6071 "spec/lib/gitlab/auth_spec.rb": 25.19949436187744,6072 "spec/presenters/ci/pipeline_presenter_spec.rb": 21.465248346328735,6073 "spec/rack_servers/puma_spec.rb": 18.044576406478882,6074 "spec/models/clusters/applications/crossplane_spec.rb": 17.930644273757935,6075 "spec/lib/gitlab/cycle_analytics/code_stage_spec.rb": 15.298494100570679,6076 "spec/lib/gitlab/database_importers/self_monitoring/project/create_service_spec.rb": 16.23741102218628,6077 "spec/serializers/group_child_entity_spec.rb": 13.315936088562012,6078 "spec/lib/gitlab/import_export/members_mapper_spec.rb": 9.874804019927979,6079 "spec/views/projects/issues/show.html.haml_spec.rb": 11.017768383026123,6080 "spec/lib/gitlab/diff/position_spec.rb": 10.812543869018555,6081 "spec/services/ci/create_pipeline_service/rules_spec.rb": 8.873170375823975,6082 "spec/models/commit_status_spec.rb": 7.180010080337524,6083 "spec/models/concerns/deployment_platform_spec.rb": 8.09064793586731,6084 "spec/services/ci/pipeline_trigger_service_spec.rb": 8.284255743026733,6085 "spec/services/push_event_payload_service_spec.rb": 8.006959199905396,6086 "spec/lib/gitlab/cycle_analytics/test_stage_spec.rb": 6.893950939178467,6087 "spec/services/web_hook_service_spec.rb": 6.680206775665283,6088 "spec/helpers/milestones_helper_spec.rb": 2.7330896854400635,6089 "spec/lib/gitlab/hashed_storage/migrator_spec.rb": 8.389094114303589,6090 "spec/lib/banzai/pipeline/gfm_pipeline_spec.rb": 5.921372413635254,6091 "spec/services/clusters/applications/check_uninstall_progress_service_spec.rb": 5.268107891082764,6092 "spec/models/cycle_analytics/group_level_spec.rb": 5.246663331985474,6093 "spec/services/search/global_service_spec.rb": 4.653041124343872,6094 "spec/services/clusters/applications/ingress_modsecurity_usage_service_spec.rb": 4.785422086715698,6095 "spec/lib/gitlab/github_import/importer/pull_requests_importer_spec.rb": 3.4927175045013428,6096 "spec/presenters/blobs/unfold_presenter_spec.rb": 4.521945953369141,6097 "spec/services/clusters/kubernetes/configure_istio_ingress_service_spec.rb": 4.387409925460815,6098 "spec/views/ci/status/_icon.html.haml_spec.rb": 3.0979955196380615,6099 "spec/services/award_emojis/destroy_service_spec.rb": 4.002823829650879,6100 "spec/models/compare_spec.rb": 4.090538740158081,6101 "spec/views/notify/pipeline_success_email.html.haml_spec.rb": 4.4654388427734375,6102 "spec/serializers/discussion_diff_file_entity_spec.rb": 2.8228647708892822,6103 "spec/models/concerns/token_authenticatable_spec.rb": 3.788191556930542,6104 "spec/models/clusters/kubernetes_namespace_spec.rb": 3.151078939437866,6105 "spec/lib/gitlab/chat/output_spec.rb": 2.476414918899536,6106 "spec/lib/gitlab/chat/responder/slack_spec.rb": 3.2770588397979736,6107 "spec/models/event_collection_spec.rb": 2.8969695568084717,6108 "spec/models/concerns/routable_spec.rb": 3.00679087638855,6109 "spec/services/system_notes/commit_service_spec.rb": 3.1825132369995117,6110 "spec/views/ci/status/_badge.html.haml_spec.rb": 2.9819958209991455,6111 "spec/services/projects/move_project_authorizations_service_spec.rb": 2.3814215660095215,6112 "spec/services/clusters/applications/uninstall_service_spec.rb": 2.461902141571045,6113 "spec/services/clusters/applications/destroy_service_spec.rb": 1.7128105163574219,6114 "spec/views/projects/commit/_commit_box.html.haml_spec.rb": 2.3388850688934326,6115 "spec/services/test_hooks/system_service_spec.rb": 1.9679014682769775,6116 "spec/lib/gitlab/github_import/importer/issue_importer_spec.rb": 2.3448550701141357,6117 "spec/lib/gitlab/git_access_wiki_spec.rb": 1.9073481559753418,6118 "spec/services/metrics/dashboard/project_dashboard_service_spec.rb": 2.384443759918213,6119 "spec/uploaders/file_mover_spec.rb": 1.833808422088623,6120 "spec/serializers/stage_serializer_spec.rb": 1.6483943462371826,6121 "spec/services/metrics/dashboard/clone_dashboard_service_spec.rb": 2.044729232788086,6122 "spec/services/members/request_access_service_spec.rb": 1.6885287761688232,6123 "spec/serializers/group_child_serializer_spec.rb": 2.0064446926116943,6124 "spec/views/projects/tree/_tree_header.html.haml_spec.rb": 2.5756964683532715,6125 "spec/lib/gitlab/checks/tag_check_spec.rb": 1.9626319408416748,6126 "spec/lib/backup/files_spec.rb": 1.1317429542541504,6127 "spec/lib/gitlab/url_blocker_spec.rb": 2.0219004154205322,6128 "spec/lib/gitlab/metrics/instrumentation_spec.rb": 1.5034160614013672,6129 "spec/lib/gitlab/ci/status/stage/common_spec.rb": 1.232973337173462,6130 "spec/models/project_services/slack_slash_commands_service_spec.rb": 1.3721554279327393,6131 "spec/services/chat_names/find_user_service_spec.rb": 1.388469934463501,6132 "spec/finders/starred_projects_finder_spec.rb": 1.6706831455230713,6133 "spec/lib/gitlab/grafana_embed_usage_data_spec.rb": 1.4504714012145996,6134 "spec/graphql/resolvers/projects/snippets_resolver_spec.rb": 1.0473523139953613,6135 "spec/policies/user_policy_spec.rb": 1.1305532455444336,6136 "spec/services/projects/hashed_storage/migration_service_spec.rb": 1.253476858139038,6137 "spec/lib/gitlab/slash_commands/issue_show_spec.rb": 1.024519681930542,6138 "spec/lib/gitlab/import_export/file_importer_spec.rb": 1.5027387142181396,6139 "spec/lib/gitlab/import_export/uploads_saver_spec.rb": 1.2073042392730713,6140 "spec/services/award_emojis/collect_user_emoji_service_spec.rb": 1.1590712070465088,6141 "spec/lib/gitlab/prometheus/metric_group_spec.rb": 1.163377285003662,6142 "spec/models/ci/build_trace_section_name_spec.rb": 1.3488709926605225,6143 "spec/lib/gitlab/import/merge_request_creator_spec.rb": 0.9930038452148438,6144 "spec/lib/gitlab/metrics/prometheus_spec.rb": 0.6178367137908936,6145 "spec/lib/gitlab/database_importers/self_monitoring/project/delete_service_spec.rb": 0.9814577102661133,6146 "spec/models/ci/resource_spec.rb": 0.8934285640716553,6147 "spec/services/branches/validate_new_service_spec.rb": 0.9086251258850098,6148 "spec/lib/gitlab/gitaly_client/blob_service_spec.rb": 0.6354591846466064,6149 "spec/serializers/test_report_entity_spec.rb": 0.8620481491088867,6150 "spec/finders/fork_targets_finder_spec.rb": 1.0102930068969727,6151 "spec/models/user_preference_spec.rb": 0.8196125030517578,6152 "spec/services/award_emojis/toggle_service_spec.rb": 0.6967620849609375,6153 "spec/lib/gitlab/legacy_github_import/wiki_formatter_spec.rb": 0.6579365730285645,6154 "spec/services/projects/fetch_statistics_increment_service_spec.rb": 0.8534011840820312,6155 "spec/services/metrics/dashboard/self_monitoring_dashboard_service_spec.rb": 0.7114887237548828,6156 "spec/lib/gitlab/metrics/web_transaction_spec.rb": 0.6107151508331299,6157 "spec/lib/gitlab/ssh_public_key_spec.rb": 0.29942917823791504,6158 "spec/policies/resource_label_event_policy_spec.rb": 0.8752515316009521,6159 "spec/views/profiles/preferences/show.html.haml_spec.rb": 0.6312856674194336,6160 "spec/lib/gitlab/auth/o_auth/identity_linker_spec.rb": 0.5157163143157959,6161 "spec/initializers/database_config_spec.rb": 0.5891435146331787,6162 "spec/lib/gitlab/ci/cron_parser_spec.rb": 0.7946503162384033,6163 "spec/lib/gitlab/ci/status/pipeline/delayed_spec.rb": 0.4997084140777588,6164 "spec/lib/sentry/client/repo_spec.rb": 0.20958566665649414,6165 "spec/models/personal_snippet_spec.rb": 0.4531383514404297,6166 "spec/services/projects/update_pages_configuration_service_spec.rb": 0.4327208995819092,6167 "spec/lib/gitlab/cycle_analytics/production_event_fetcher_spec.rb": 0.40706539154052734,6168 "spec/lib/banzai/pipeline/description_pipeline_spec.rb": 0.32895660400390625,6169 "spec/validators/public_url_validator_spec.rb": 0.4366002082824707,6170 "spec/initializers/hangouts_chat_http_override_spec.rb": 0.3630831241607666,6171 "spec/finders/abuse_reports_finder_spec.rb": 0.6311013698577881,6172 "spec/presenters/blob_presenter_spec.rb": 0.3446841239929199,6173 "spec/lib/gitlab/import_export/saver_spec.rb": 0.33318257331848145,6174 "spec/lib/gitlab/ci/config/entry/need_spec.rb": 0.12386131286621094,6175 "spec/lib/omni_auth/strategies/jwt_spec.rb": 0.5397019386291504,6176 "spec/lib/gitlab/slash_commands/presenters/error_spec.rb": 0.024225950241088867,6177 "spec/lib/gitlab/ci/ansi2json/style_spec.rb": 0.5819799900054932,6178 "spec/models/concerns/bulk_insert_safe_spec.rb": 0.38877034187316895,6179 "spec/lib/gitlab/metrics/samplers/unicorn_sampler_spec.rb": 0.7927887439727783,6180 "spec/serializers/cluster_serializer_spec.rb": 0.2738823890686035,6181 "spec/views/admin/application_settings/integrations.html.haml_spec.rb": 0.27052736282348633,6182 "spec/models/resource_weight_event_spec.rb": 0.1995706558227539,6183 "spec/helpers/projects/error_tracking_helper_spec.rb": 0.22086095809936523,6184 "spec/finders/admin/runners_finder_spec.rb": 0.20993638038635254,6185 "spec/lib/gitlab/github_import/importer/lfs_object_importer_spec.rb": 0.19976091384887695,6186 "spec/views/devise/sessions/new.html.haml_spec.rb": 0.11462640762329102,6187 "spec/helpers/icons_helper_spec.rb": 0.23035407066345215,6188 "spec/models/lfs_download_object_spec.rb": 0.14405226707458496,6189 "spec/initializers/mail_encoding_patch_spec.rb": 0.11382174491882324,6190 "spec/lib/gitlab/ci/config/entry/default_spec.rb": 0.13805532455444336,6191 "spec/lib/gitlab/gl_repository/repo_type_spec.rb": 0.14423465728759766,6192 "spec/lib/api/entities/release_spec.rb": 0.13689517974853516,6193 "spec/finders/user_finder_spec.rb": 0.12322807312011719,6194 "spec/lib/gitlab/config/entry/validatable_spec.rb": 0.09497594833374023,6195 "spec/lib/gitlab/ci/config/external/file/local_spec.rb": 0.2800884246826172,6196 "spec/services/keys/destroy_service_spec.rb": 0.10322356224060059,6197 "spec/lib/gitlab/graphql/authorize/authorize_field_service_spec.rb": 0.11992073059082031,6198 "spec/lib/banzai/filter/color_filter_spec.rb": 0.07218194007873535,6199 "spec/views/help/index.html.haml_spec.rb": 0.08844137191772461,6200 "spec/lib/gitlab/legacy_github_import/client_spec.rb": 0.07168436050415039,6201 "spec/lib/gitlab/error_tracking/stack_trace_highlight_decorator_spec.rb": 0.4074528217315674,6202 "spec/models/shard_spec.rb": 0.07480573654174805,6203 "spec/lib/google_api/cloud_platform/client_spec.rb": 0.07701373100280762,6204 "spec/services/wiki_pages/base_service_spec.rb": 0.040291547775268555,6205 "spec/lib/gitlab/import_export/attributes_finder_spec.rb": 0.07129716873168945,6206 "spec/lib/bitbucket_server/representation/pull_request_comment_spec.rb": 0.048543691635131836,6207 "spec/rubocop/cop/migration/hash_index_spec.rb": 0.07301068305969238,6208 "spec/rubocop/cop/code_reuse/active_record_spec.rb": 0.06423807144165039,6209 "spec/lib/gitlab/ci/build/artifacts/adapters/gzip_stream_spec.rb": 0.11869168281555176,6210 "spec/lib/gitlab/ci/config/entry/script_spec.rb": 0.042724609375,6211 "spec/lib/gitlab/sidekiq_status_spec.rb": 0.047598838806152344,6212 "spec/lib/gitlab/patch/prependable_spec.rb": 0.04351806640625,6213 "spec/tasks/gitlab/ldap_rake_spec.rb": 0.020038604736328125,6214 "spec/finders/award_emojis_finder_spec.rb": 0.03835034370422363,6215 "spec/lib/gitlab/jwt_authenticatable_spec.rb": 0.034473419189453125,6216 "spec/lib/gitlab/github_import/importer/notes_importer_spec.rb": 0.02863478660583496,6217 "spec/lib/gitlab/null_request_store_spec.rb": 0.031247377395629883,6218 "spec/lib/gitlab/project_transfer_spec.rb": 0.023038387298583984,6219 "spec/rubocop/cop/ruby_interpolation_in_translation_spec.rb": 0.03148818016052246,6220 "spec/lib/gitlab/ci/config/entry/stages_spec.rb": 0.01701664924621582,6221 "spec/lib/gitlab/badge/pipeline/template_spec.rb": 0.0337824821472168,6222 "spec/tasks/migrate/schema_check_rake_spec.rb": 0.02153778076171875,6223 "spec/lib/gitlab/git/lfs_pointer_file_spec.rb": 0.0252382755279541,6224 "spec/lib/gitlab/alerting/notification_payload_parser_spec.rb": 0.03638434410095215,6225 "spec/lib/gitlab/submodule_links_spec.rb": 0.01805591583251953,6226 "spec/models/user_mentions/merge_request_user_mention_spec.rb": 0.028600215911865234,6227 "spec/graphql/resolvers/group_resolver_spec.rb": 0.02237558364868164,6228 "spec/lib/gitlab/sidekiq_signals_spec.rb": 0.026781320571899414,6229 "spec/lib/banzai/filter/absolute_link_filter_spec.rb": 0.023563861846923828,6230 "spec/helpers/git_helper_spec.rb": 0.02333807945251465,6231 "spec/models/badges/group_badge_spec.rb": 0.016414642333984375,6232 "spec/dependencies/omniauth_saml_spec.rb": 0.02146458625793457,6233 "spec/lib/gitlab/downtime_check/message_spec.rb": 0.01538395881652832,6234 "spec/lib/gitlab/request_profiler_spec.rb": 0.017861366271972656,6235 "spec/lib/gitlab/github_import/page_counter_spec.rb": 0.022945165634155273,6236 "spec/lib/gitlab/ci/status/success_spec.rb": 0.023168563842773438,6237 "spec/graphql/resolvers/projects/grafana_integration_resolver_spec.rb": 0.014344215393066406,6238 "spec/lib/gitlab/cross_project_access/class_methods_spec.rb": 0.011752128601074219,6239 "spec/lib/gitlab/sidekiq_versioning_spec.rb": 0.011424779891967773,6240 "spec/lib/gitlab/ci/status/group/common_spec.rb": 0.01571965217590332,6241 "spec/lib/gitlab/lazy_spec.rb": 0.016469717025756836,6242 "spec/helpers/container_expiration_policies_helper_spec.rb": 0.01249241828918457,6243 "spec/lib/gitlab/phabricator_import/conduit/tasks_response_spec.rb": 0.0076808929443359375,6244 "spec/lib/gitlab/ci/parsers_spec.rb": 0.006766080856323242,6245 "spec/rubocop/qa_helpers_spec.rb": 0.007779836654663086,6246 "spec/lib/gitlab/dependency_linker/base_linker_spec.rb": 0.0068607330322265625,6247 "spec/lib/gitlab/github_import/sequential_importer_spec.rb": 0.007525920867919922,6248 "spec/graphql/types/todo_type_spec.rb": 0.006969451904296875,6249 "spec/lib/gitlab/ci/build/port_spec.rb": 0.006588935852050781,6250 "spec/lib/gitlab/insecure_key_fingerprint_spec.rb": 0.006567955017089844,6251 "spec/lib/gitlab/quick_actions/dsl_spec.rb": 0.0038216114044189453,6252 "spec/initializers/asset_proxy_setting_spec.rb": 0.17411279678344727,6253 "spec/lib/gitlab/graphql/pagination/offset_active_record_relation_connection_spec.rb": 0.0032041072845458984,6254 "spec/workers/todos_destroyer/group_private_worker_spec.rb": 0.0035398006439208984,6255 "spec/lib/gitlab/diff/inline_diff_markdown_marker_spec.rb": 0.0031263828277587896256}6257Knapsack global time execution for tests: 12m 10s6258Pending: (Failures listed here are expected and do not affect your suite's status)6259 1) User with uploads behaves like model with uploads .destroy with not mounted uploads with local files deletes any FileUploader uploads which are not mounted6260 # No reason given6261 # ./spec/support/shared_examples/models/with_uploads_shared_examples.rb:236262 2) User with uploads behaves like model with uploads .destroy with not mounted uploads with local files deletes local files6263 # No reason given6264 # ./spec/support/shared_examples/models/with_uploads_shared_examples.rb:276265 3) User with uploads behaves like model with uploads .destroy with not mounted uploads with remote files deletes any FileUploader uploads which are not mounted6266 # No reason given6267 # ./spec/support/shared_examples/models/with_uploads_shared_examples.rb:376268 4) User with uploads behaves like model with uploads .destroy with not mounted uploads with remote files deletes remote files6269 # No reason given6270 # ./spec/support/shared_examples/models/with_uploads_shared_examples.rb:416271Finished in 19 minutes 48 seconds (files took 1 minute 0.06 seconds to load)62723041 examples, 0 failures, 4 pending6273Thu Mar 5 04:48:34 UTC 20206276coverage/: found 5 matching files 6277knapsack/: found 6 matching files 6278rspec_flaky/: found 4 matching files 6279rspec_profiling/: found 2 matching files 6280WARNING: tmp/capybara/: no matching files 6281tmp/memory_test/: found 2 matching files 6282junit_rspec.xml: found 1 matching files 6283Uploading artifacts to coordinator... ok id=460116586 responseStatus=201 Created token=HvxCXGak6284Uploading artifacts...6285junit_rspec.xml: found 1 matching files 6286Uploading artifacts to coordinator... ok id=460116586 responseStatus=201 Created token=HvxCXGak6287Job succeeded