rspec unit pg9-as-if-foss 19/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:07
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-1583375950-be473f74...
00:02
16Downloading archived master...17Connecting to storage.googleapis.com (74.125.31.128:443)18gitlab.tar.gz 30% |********* | 259M 0:00:02 ETA19gitlab.tar.gz 74% |*********************** | 627M 0:00:00 ETA20gitlab.tar.gz 100% |********************************| 845M 0:00:00 ETA21Extracting tarball into /builds/gitlab-org/gitlab...22Fetching changes with git depth set to 20...23Reinitialized existing Git repository in /builds/gitlab-org/gitlab/.git/24Created fresh repository.26 * [new ref] refs/pipelines/123433062 -> refs/pipelines/12343306227 * [new branch] master -> origin/master28Checking out 2e08c928 as master...29Skipping Git submodules setup31Downloading 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 32Successfully extracted cache34Downloading artifacts from coordinator... ok id=460116508 responseStatus=200 OK token=tfNsxF4W35Downloading artifacts for retrieve-tests-metadata (460116515)...36Downloading artifacts from coordinator... ok id=460116515 responseStatus=200 OK token=wqtvmKyQ37Downloading artifacts for setup-test-env (460116509)...38Downloading artifacts from coordinator... ok id=460116509 responseStatus=200 OK token=sAvRzHNN39WARNING: tmp/tests/gitlab-shell/.gitlab_shell_secret: chmod tmp/tests/gitlab-shell/.gitlab_shell_secret: no such file or directory (suppressing repeats) 41$ date42Thu Mar 5 04:26:07 UTC 202043$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb44$ export GOPATH=$CI_PROJECT_DIR/.go45$ mkdir -p $GOPATH46$ source scripts/utils.sh47$ source scripts/prepare_build.sh48Bundler version 1.17.249Warning: 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`.50The Gemfile's dependencies are satisfied51Successfully installed knapsack-1.18.0521 gem installed53CREATE ROLE54GRANT55Dropped database 'gitlabhq_test'56Created database 'gitlabhq_test'57$ date58Thu Mar 5 04:26:49 UTC 202059$ source scripts/rspec_helpers.sh60$ rspec_paralellized_job "--tag ~quarantine --tag ~geo --tag ~level:migration"61KNAPSACK_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.rb62Checking gitaly-ruby Gemfile...63Checking gitaly-ruby bundle...64Warning: 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`.65The Gemfile's dependencies are satisfied66Trying to connect to gitaly: ........ OK67Report specs:68spec/services/issues/update_service_spec.rb69spec/services/merge_requests/create_service_spec.rb70spec/lib/gitlab/ci/pipeline/seed/build_spec.rb71spec/lib/gitlab/import_export/project/tree_restorer_spec.rb72spec/services/issues/create_service_spec.rb73spec/services/merge_requests/mergeability_check_service_spec.rb74spec/models/clusters/applications/ingress_spec.rb75spec/models/clusters/applications/elastic_stack_spec.rb76spec/serializers/job_entity_spec.rb77spec/models/cycle_analytics/review_spec.rb78spec/lib/gitlab/ci/status/pipeline/factory_spec.rb79spec/serializers/merge_request_poll_widget_entity_spec.rb80spec/models/clusters/applications/helm_spec.rb81spec/models/sent_notification_spec.rb82spec/presenters/clusters/cluster_presenter_spec.rb83spec/services/ci/stop_environments_service_spec.rb84spec/uploaders/object_storage_spec.rb85spec/serializers/pipeline_details_entity_spec.rb86spec/lib/banzai/filter/issuable_state_filter_spec.rb87spec/lib/gitlab/cache/ci/project_pipeline_status_spec.rb88spec/uploaders/avatar_uploader_spec.rb89spec/services/merge_requests/add_todo_when_build_fails_service_spec.rb90spec/lib/gitlab/checks/branch_check_spec.rb91spec/helpers/events_helper_spec.rb92spec/lib/banzai/filter/project_reference_filter_spec.rb93spec/serializers/issue_entity_spec.rb94spec/models/timelog_spec.rb95spec/services/pages_domains/obtain_lets_encrypt_certificate_service_spec.rb96spec/lib/gitlab/background_migration/populate_untracked_uploads_dependencies/untracked_file_spec.rb97spec/views/projects/merge_requests/show.html.haml_spec.rb98spec/services/clusters/gcp/fetch_operation_service_spec.rb99spec/models/deploy_token_spec.rb100spec/finders/concerns/finder_with_cross_project_access_spec.rb101spec/finders/clusters/kubernetes_namespace_finder_spec.rb102spec/services/wiki_pages/update_service_spec.rb103spec/lib/gitlab/import_export/base/relation_factory_spec.rb104spec/helpers/issuables_helper_spec.rb105spec/graphql/mutations/merge_requests/set_milestone_spec.rb106spec/models/list_spec.rb107spec/views/projects/tags/index.html.haml_spec.rb108spec/services/issues/reorder_service_spec.rb109spec/models/project_services/custom_issue_tracker_service_spec.rb110spec/services/groups/group_links/create_service_spec.rb111spec/lib/gitlab/import_export/lfs_restorer_spec.rb112spec/lib/gitlab/background_migration/user_mentions/create_resource_user_mention_spec.rb113spec/services/metrics/dashboard/dynamic_embed_service_spec.rb114spec/models/project_services/chat_notification_service_spec.rb115spec/models/project_label_spec.rb116spec/lib/gitlab/background_migration/fix_user_project_route_names_spec.rb117spec/lib/gitlab/issuable_metadata_spec.rb118spec/models/project_auto_devops_spec.rb119spec/lib/gitlab/exclusive_lease_spec.rb120spec/lib/gitlab/ci/status/stage/play_manual_spec.rb121spec/services/projects/download_service_spec.rb122spec/services/spam/mark_as_spam_service_spec.rb123spec/serializers/note_entity_spec.rb124spec/lib/gitlab/slash_commands/issue_new_spec.rb125spec/lib/gitlab/import_export/after_export_strategies/web_upload_strategy_spec.rb126spec/lib/gitlab/github_import/importer/diff_note_importer_spec.rb127spec/services/note_summary_spec.rb128spec/services/projects/group_links/destroy_service_spec.rb129spec/models/deployment_merge_request_spec.rb130spec/lib/banzai/reference_parser/label_parser_spec.rb131spec/models/legacy_diff_discussion_spec.rb132spec/finders/sentry_issue_finder_spec.rb133spec/lib/gitlab/legacy_github_import/comment_formatter_spec.rb134spec/lib/gitlab/danger/commit_linter_spec.rb135spec/workers/remove_unreferenced_lfs_objects_worker_spec.rb136spec/models/hooks/web_hook_spec.rb137spec/lib/gitlab/database_importers/common_metrics/importer_spec.rb138spec/models/clusters/providers/aws_spec.rb139spec/models/active_session_spec.rb140spec/workers/hashed_storage/project_migrate_worker_spec.rb141spec/lib/gitlab/health_checks/unicorn_check_spec.rb142spec/serializers/deployment_serializer_spec.rb143spec/lib/gitlab/loop_helpers_spec.rb144spec/services/error_tracking/list_issues_service_spec.rb145spec/services/tags/create_service_spec.rb146spec/lib/gitlab/bitbucket_import/wiki_formatter_spec.rb147spec/services/ci/create_pipeline_service/parent_child_pipeline_spec.rb148spec/lib/banzai/filter/commit_trailers_filter_spec.rb149spec/views/projects/settings/ci_cd/_autodevops_form.html.haml_spec.rb150spec/graphql/resolvers/tree_resolver_spec.rb151spec/services/audit_event_service_spec.rb152spec/lib/gitlab/slash_commands/presenters/issue_search_spec.rb153spec/workers/new_note_worker_spec.rb154spec/lib/gitlab/ci/status/build/action_spec.rb155spec/lib/gitlab/import/set_async_jid_spec.rb156spec/services/users/last_push_event_service_spec.rb157spec/lib/gitlab/analytics/cycle_analytics/stage_events/code_stage_start_spec.rb158spec/services/import_export_clean_up_service_spec.rb159spec/lib/gitlab/ci/build/prerequisite/factory_spec.rb160spec/routing/import_routing_spec.rb161spec/lib/banzai/filter/wiki_link_filter_spec.rb162spec/helpers/wiki_helper_spec.rb163spec/models/label_priority_spec.rb164spec/lib/gitlab/http_spec.rb165spec/lib/gitlab/middleware/read_only_spec.rb166spec/workers/update_merge_requests_worker_spec.rb167spec/views/profiles/show.html.haml_spec.rb168spec/models/badges/project_badge_spec.rb169spec/workers/pages_domain_ssl_renewal_worker_spec.rb170spec/views/shared/projects/_project.html.haml_spec.rb171spec/lib/gitlab/graphql/representation/tree_entry_spec.rb172spec/models/project_services/pushover_service_spec.rb173spec/workers/clusters/applications/wait_for_uninstall_app_worker_spec.rb174spec/models/project_services/packagist_service_spec.rb175spec/workers/clusters/cleanup/service_account_worker_spec.rb176spec/lib/gitlab/gitlab_import/importer_spec.rb177spec/lib/gitlab/ci/config/external/file/base_spec.rb178spec/lib/sentry/client/issue_link_spec.rb179spec/lib/gitlab/database_spec.rb180spec/lib/gitlab/ci/pipeline/expression/statement_spec.rb181spec/workers/repository_check/clear_worker_spec.rb182spec/workers/new_release_worker_spec.rb183spec/serializers/evidences/evidence_entity_spec.rb184spec/graphql/mutations/concerns/mutations/resolves_project_spec.rb185spec/lib/api/helpers/label_helpers_spec.rb186spec/lib/gitlab/tracking_spec.rb187spec/services/projects/update_statistics_service_spec.rb188spec/workers/gitlab/github_import/stage/import_pull_requests_worker_spec.rb189spec/tasks/gitlab/gitaly_rake_spec.rb190spec/helpers/broadcast_messages_helper_spec.rb191spec/lib/gitlab/import_export/command_line_util_spec.rb192spec/lib/gitlab/dependency_linker/composer_json_linker_spec.rb193spec/lib/gitlab/slash_commands/presenters/access_spec.rb194spec/lib/gitlab/github_import/importer/repository_importer_spec.rb195spec/lib/gitlab/ci/config/entry/cache_spec.rb196spec/lib/gitlab/metrics/requests_rack_middleware_spec.rb197spec/models/project_services/alerts_service_spec.rb198spec/lib/gitlab/version_info_spec.rb199spec/serializers/analytics_summary_serializer_spec.rb200spec/models/concerns/x509_serial_number_attribute_spec.rb201spec/lib/gitlab/github_import_spec.rb202spec/serializers/entity_date_helper_spec.rb203spec/models/guest_spec.rb204spec/lib/gitlab/email/hook/disable_email_interceptor_spec.rb205spec/lib/gitlab/ci/config/entry/artifacts_spec.rb206spec/lib/gitlab/auth/o_auth/auth_hash_spec.rb207spec/lib/marginalia_spec.rb208spec/validators/named_ecdsa_key_validator_spec.rb209spec/lib/gitlab/phabricator_import/conduit/client_spec.rb210spec/finders/license_template_finder_spec.rb211spec/lib/gitlab/usage_data_counters/snippet_counter_spec.rb212spec/config/settings_spec.rb213spec/lib/gitlab/health_checks/redis/redis_check_spec.rb214spec/models/ci/pipeline_config_spec.rb215spec/serializers/test_reports_comparer_serializer_spec.rb216spec/serializers/group_variable_entity_spec.rb217spec/lib/bitbucket_server/representation/comment_spec.rb218spec/lib/gitlab/metrics/system_spec.rb219spec/lib/rspec_flaky/report_spec.rb220spec/lib/gitlab/github_import/importer/issues_importer_spec.rb221spec/lib/gitlab/ci/config/entry/hidden_spec.rb222spec/lib/banzai/cross_project_reference_spec.rb223spec/lib/gitlab/throttle_spec.rb224spec/models/project_services/chat_message/wiki_page_message_spec.rb225spec/lib/gitlab/themes_spec.rb226spec/lib/gitlab/ci/status/running_spec.rb227spec/lib/peek/views/redis_detailed_spec.rb228spec/lib/gitlab/gitaly_client/storage_settings_spec.rb229spec/lib/gitlab/sql/glob_spec.rb230spec/lib/gitlab/asciidoc/include_processor_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)>')231Run options:232 include {:focus=>true}233 exclude {:quarantine=>true, :geo=>true, :level=>"migration"}234All examples were filtered out; ignoring {:focus=>true}235==> Setting up Gitaly...236 Gitaly set up in 0.175557967 seconds...237Issues::UpdateService238 execute239 valid params240 updates the issue with the given params241 refreshes the number of open issues when the issue is made confidential242 enqueues ConfidentialIssueWorker when an issue is made confidential243 does not enqueue ConfidentialIssueWorker when an issue is made non confidential244 updates open issue counter for assignees when issue is reassigned245 sorts issues as specified by parameters246 when moving issue between issues from different projects247 sorts issues as specified by parameters248 when current user cannot admin issues in the project249 filters out params that cannot be set without the :admin_issue permission250 with background jobs processed251DEPRECATION 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)252DEPRECATION 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)253DEPRECATION 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_issue at /builds/gitlab-org/gitlab/app/services/notification_service.rb:128)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 reassigned_issue at /builds/gitlab-org/gitlab/app/services/notification_service.rb:128)255 sends email to user2 about assign of new issue and email to user3 about issue unassignment256DEPRECATION 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)257DEPRECATION 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)258DEPRECATION 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_issue at /builds/gitlab-org/gitlab/app/services/notification_service.rb:128)259DEPRECATION 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_issue at /builds/gitlab-org/gitlab/app/services/notification_service.rb:128)260 creates system note about issue reassign261DEPRECATION 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)262DEPRECATION 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)263DEPRECATION 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_issue at /builds/gitlab-org/gitlab/app/services/notification_service.rb:128)264DEPRECATION 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_issue at /builds/gitlab-org/gitlab/app/services/notification_service.rb:128)265 creates a resource label event266DEPRECATION 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)267DEPRECATION 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)268DEPRECATION 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_issue at /builds/gitlab-org/gitlab/app/services/notification_service.rb:128)269DEPRECATION 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_issue at /builds/gitlab-org/gitlab/app/services/notification_service.rb:128)270 creates system note about title change271DEPRECATION 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)272DEPRECATION 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)273DEPRECATION 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_issue at /builds/gitlab-org/gitlab/app/services/notification_service.rb:128)274DEPRECATION 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_issue at /builds/gitlab-org/gitlab/app/services/notification_service.rb:128)275 creates system note about discussion lock276 after_save callback to store_mentions277 when mentionable attributes change278 saves mentions279 when mentionable attributes do not change280 does not call store_mentions281 when save fails282 does not call store_mentions283 when description changed284 creates system note about description change285 when issue turns confidential286 creates system note about confidentiality change287 executes confidential issue hooks288 does not update assignee_id with unauthorized users289 todos290 when the title change291 marks pending todos as done292 does not create any new todos293 when the description change294 marks todos as done295 creates only 1 new todo296 when is reassigned297 marks previous assignee todos as done298 creates a todo for new assignee299 when a new assignee added300 creates only 1 new todo301 creates a todo for new assignee302 when the milestone is removed303DEPRECATION 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)304DEPRECATION 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)305DEPRECATION 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)306 sends notifications for subscribers of changed milestone307 clears milestone issue counters cache308 behaves like system notes for milestones309 group milestones310 creates a system note311 project milestones312 creates a system note313 when the milestone is assigned314 marks todos as done315DEPRECATION 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)316DEPRECATION 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)317DEPRECATION 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)318 sends notifications for subscribers of changed milestone319 deletes issue counters cache for the milestone320 behaves like system notes for milestones321 group milestones322 creates a system note323 project milestones324 creates a system note325 when the milestone is changed326 deletes issue counters cache for both milestones327 when the labels change328 marks todos as done329 updates updated_at330 when the issue is relabeled331DEPRECATION 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)332 sends notifications for subscribers of newly added labels333 when issue has the `label` label334 does not send notifications for existing labels335 does not send notifications for removed labels336 when issue has tasks337 is expected to eq true338 behaves like updating a single task339 when a task is marked as completed340 creates system note about task status change341 when a task is marked as incomplete342 creates system note about task status change343 when the task position has been modified344 raises an exception345 when the content changes but not task line number346 creates system note about task status change347 when tasks are marked as completed348 does not check for spam on task status change349 creates system note about task status change350 when tasks are marked as incomplete351 creates system note about task status change352 when tasks position has been modified353 does not create a system note for the task354 when a Task list with a completed item is totally replaced355 does not create a system note referencing the position the old item356 does not generate a new note at all357 updating labels358 when add_label_ids and label_ids are passed359 ignores the label_ids parameter360 adds the passed labels361 when remove_label_ids and label_ids are passed362 ignores the label_ids parameter363 removes the passed labels364 when add_label_ids and remove_label_ids are passed365 adds the passed labels366 removes the passed labels367 when same id is passed as add_label_ids and remove_label_ids368 for a label assigned to an issue369 removes the label370 for a label not assigned to an issue371 does not add the label372 when duplicate label titles are given373 assigns the label once374 updating asssignee_id375 does not update assignee when assignee_id is invalid376 unassigns assignee when user id is 0377 does not update assignee_id when user cannot read issue378 when issuable feature is private379 does not update with unauthorized assignee when project is Internal380 does not update with unauthorized assignee when project is Public381 updating mentions382 when mentioning a different user383 in title384DEPRECATION 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)385 emails only the newly-mentioned user386 in description387DEPRECATION 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)388 emails only the newly-mentioned user389 when mentioning a user and a group with access to390 when group is public391 behaves like updating attribute with allowed mentions392DEPRECATION 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)393DEPRECATION 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)394DEPRECATION 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)395 emails group members396 behaves like updating attribute with allowed mentions397DEPRECATION 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)398DEPRECATION 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)399DEPRECATION 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)400 emails group members401 behaves like updating attribute with existing group mention402 creates todos for only newly mentioned users403 behaves like updating attribute with existing group mention404 creates todos for only newly mentioned users405 when the group is private406 behaves like updating attribute with allowed mentions407DEPRECATION 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)408DEPRECATION 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)409DEPRECATION 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)410 emails group members411 behaves like updating attribute with allowed mentions412DEPRECATION 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)413DEPRECATION 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)414DEPRECATION 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)415 emails group members416 behaves like updating attribute with existing group mention417 creates todos for only newly mentioned users418 behaves like updating attribute with existing group mention419 creates todos for only newly mentioned users420 when mentioning a user and a group without access to421 when the group is private422 behaves like updating attribute with not allowed mentions423DEPRECATION 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)424 emails mentioned user425 behaves like updating attribute with not allowed mentions426DEPRECATION 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)427 emails mentioned user428 duplicate issue429 invalid canonical_issue_id430 does not call the duplicate service431 valid canonical_issue_id432 calls the duplicate service with both issues433 move issue to another project434 valid project435 calls the move service with the proper issue and project436 when moving an issue437 raises an error for invalid move ids within a project438 raises an error for invalid move ids within a group439 changing state440 to reopened441 executes hooks only once442 to closed443 executes hooks only once444MergeRequests::CreateService445 #execute446 valid params447 creates an MR448 executes hooks with default action449 refreshes the number of open merge requests450 does not creates todos451 creates exactly 1 create MR event452 increments the usage data counter of create event453 when marked with /wip454 in title and in description455 sets MR to WIP456 in description only457 sets MR to WIP458 when merge request is assigned to someone459 is expected to eq [#<User id:618 @user618>]460 creates a todo for new assignee461 when head pipelines already exist for merge request source branch462 sets head pipeline463 when the new pipeline is associated with an old sha464 sets an old pipeline with associated with the latest sha as the head pipeline465 when there are no pipelines with the diff head sha466 does not set the head pipeline467 Pipelines for merge requests468 when .gitlab-ci.yml has merge_requests keywords469DEPRECATION 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)470 creates a detached merge request pipeline and sets it as a head pipeline471 when merge request is submitted from forked project472DEPRECATION 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)473 create legacy detached merge request pipeline for fork merge request474 when ci_use_merge_request_ref feature flag is false475DEPRECATION 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)476 create legacy detached merge request pipeline for non-fork merge request477 when there are no commits between source branch and target branch478 does not create a detached merge request pipeline479 when branch pipeline was created before a merge request pipline has been created480DEPRECATION 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)481 sets the latest detached merge request pipeline as the head pipeline482 when .gitlab-ci.yml does not have merge_requests keywords483 does not create a detached merge request pipeline484 when .gitlab-ci.yml is invalid485 persists a pipeline with config error486 after_save callback to store_mentions487 when mentionable attributes change488 saves mentions489 when mentionable attributes do not change490 does not call store_mentions491 when save fails492 does not call store_mentions493 behaves like new issuable record that supports quick actions494 with labels in command only495 attaches labels to issuable496 with labels in params and command497 attaches all labels to issuable498 with assignee and milestone in command only499 assigns and sets milestone to issuable500 /close501 returns an open issue502 Quick actions503 with assignee and milestone in params and command504 assigns and sets milestone to issuable from command505 merge request create service506 asssignee_id507 removes assignee_id when user id is invalid508 removes assignee_id when user id is 0509 saves assignee when user id is valid510 when assignee is set511 invalidates open merge request counter for assignees when merge request is assigned512 when issuable feature is private513 removes not authorized assignee when project is Internal514 removes not authorized assignee when project is Public515 while saving references to issues that the created merge request closes516 creates a `MergeRequestsClosingIssues` record for each issue517 when source and target projects are different518 when user can not access source project519 raises an error520 when user can not access target project521 raises an error522 when the user has access to both projects523 creates the merge request524 calls MergeRequests::LinkLfsObjectsService#execute525 does not create the merge request when the target project is archived526 when user sets source project id527 ignores source_project_id528Gitlab::Ci::Pipeline::Seed::Build529 #attributes530 is expected to be a kind of Hash531 is expected to include :name, :project, and :ref532 with job:when533 is expected to include {:when => "on_failure"}534 with job:when:delayed535 is expected to include {:when => "delayed", :start_in => "3 hours"}536 with job:rules:[when:]537 is matched538 is expected to include {:when => "always"}539 is not matched540 is expected to include {:when => "never"}541 with job:rules:[when:delayed]542 is matched543 is expected to include {:when => "delayed", :options => {:start_in => "3 hours"}}544 is not matched545 is expected to include {:when => "never"}546 with job:rules but no explicit when:547 is matched548 is expected to include {:when => "on_success"}549 is not matched550 is expected to include {:when => "never"}551 with cache:key552 is expected to include {:options => {:cache => {:key => "a-value"}}}553 with cache:key:files554 includes cache options555 with cache:key:prefix556 is expected to include {:options => {:cache => {:key => "something-default"}}}557 with cache:key:files and prefix558 includes cache options559 with empty cache560 is expected to include {:options => {}}561 #bridge?562 when job is a downstream bridge563 is expected to be truthy564 when trigger definition is empty565 is expected to be falsey566 when job is an upstream bridge567 is expected to be truthy568 when upstream definition is empty569 is expected to be falsey570 when job is not a bridge571 is expected to be falsey572 #to_resource573 memoizes a resource object574 can not be persisted without explicit assignment575 when job is not a bridge576 is expected to be a kind of Ci::Build(id: integer, status: string, finished_at: datetime, trace: text, created_at: datetime, upda...g_for_resource_at: datetime_with_timezone, processed: boolean, scheduling_type: integer, tag_list: )577 is expected to be valid578 when job deploys to production579 behaves like deployment job580 returns a job with deployment581 behaves like ensures environment existence582 has environment583 when the environment name is invalid584 tracks an exception585 behaves like non-deployment job586 returns a job without deployment587 behaves like ensures environment inexistence588 does not have environment589 when job starts a review app590 behaves like deployment job591 returns a job with deployment592 behaves like ensures environment existence593 has environment594 when job stops a review app595 returns a job without deployment596 behaves like non-deployment job597 returns a job without deployment598 behaves like ensures environment existence599 has environment600 when job belongs to a resource group601 returns a job with resource group602 when job is a bridge603 is expected to be a kind of Ci::Bridge(id: integer, status: string, finished_at: datetime, trace: text, created_at: datetime, upd...eger, waiting_for_resource_at: datetime_with_timezone, processed: boolean, scheduling_type: integer)604 is expected to be valid605 applying job inclusion policies606 when no branch policy is specified607 is expected to be included608 when branch policy does not match609 when using only610 is expected not to be included611 when using except612 is expected to be included613 with both only and except policies614 is expected not to be included615 when branch regexp policy does not match616 when using only617 is expected not to be included618 when using except619 is expected to be included620 with both only and except policies621 is expected not to be included622 when branch policy matches623 when using only624 is expected to be included625 when using except626 is expected not to be included627 when using both only and except policies628 is expected not to be included629 when keyword policy matches630 when using only631 is expected to be included632 when using except633 is expected not to be included634 when using both only and except policies635 is expected not to be included636 when keyword policy does not match637 when using only638 is expected not to be included639 when using except640 is expected to be included641 when using both only and except policies642 is expected not to be included643 with source-keyword policy644 matches645 keyword: "pushes", source: "push"646 using an only policy647 is expected to be included648 using an except policy649 is expected not to be included650 using both only and except policies651 is expected not to be included652 keyword: "web", source: "web"653 using an only policy654 is expected to be included655 using an except policy656 is expected not to be included657 using both only and except policies658 is expected not to be included659 keyword: "triggers", source: "trigger"660 using an only policy661 is expected to be included662 using an except policy663 is expected not to be included664 using both only and except policies665 is expected not to be included666 keyword: "schedules", source: "schedule"667 using an only policy668 is expected to be included669 using an except policy670 is expected not to be included671 using both only and except policies672 is expected not to be included673 keyword: "api", source: "api"674 using an only policy675 is expected to be included676 using an except policy677 is expected not to be included678 using both only and except policies679 is expected not to be included680 keyword: "external", source: "external"681 using an only policy682 is expected to be included683 using an except policy684 is expected not to be included685 using both only and except policies686 is expected not to be included687 non-matches688 keyword: "pushes", source: "web"689 using an only policy690 is expected not to be included691 using an except policy692 is expected to be included693 using both only and except policies694 is expected not to be included695 keyword: "pushes", source: "trigger"696 using an only policy697 is expected not to be included698 using an except policy699 is expected to be included700 using both only and except policies701 is expected not to be included702 keyword: "pushes", source: "schedule"703 using an only policy704 is expected not to be included705 using an except policy706 is expected to be included707 using both only and except policies708 is expected not to be included709 keyword: "pushes", source: "api"710 using an only policy711 is expected not to be included712 using an except policy713 is expected to be included714 using both only and except policies715 is expected not to be included716 keyword: "pushes", source: "external"717 using an only policy718 is expected not to be included719 using an except policy720 is expected to be included721 using both only and except policies722 is expected not to be included723 keyword: "web", source: "push"724 using an only policy725 is expected not to be included726 using an except policy727 is expected to be included728 using both only and except policies729 is expected not to be included730 keyword: "web", source: "trigger"731 using an only policy732 is expected not to be included733 using an except policy734 is expected to be included735 using both only and except policies736 is expected not to be included737 keyword: "web", source: "schedule"738 using an only policy739 is expected not to be included740 using an except policy741 is expected to be included742 using both only and except policies743 is expected not to be included744 keyword: "web", source: "api"745 using an only policy746 is expected not to be included747 using an except policy748 is expected to be included749 using both only and except policies750 is expected not to be included751 keyword: "web", source: "external"752 using an only policy753 is expected not to be included754 using an except policy755 is expected to be included756 using both only and except policies757 is expected not to be included758 keyword: "triggers", source: "push"759 using an only policy760 is expected not to be included761 using an except policy762 is expected to be included763 using both only and except policies764 is expected not to be included765 keyword: "triggers", source: "web"766 using an only policy767 is expected not to be included768 using an except policy769 is expected to be included770 using both only and except policies771 is expected not to be included772 keyword: "triggers", source: "schedule"773 using an only policy774 is expected not to be included775 using an except policy776 is expected to be included777 using both only and except policies778 is expected not to be included779 keyword: "triggers", source: "api"780 using an only policy781 is expected not to be included782 using an except policy783 is expected to be included784 using both only and except policies785 is expected not to be included786 keyword: "triggers", source: "external"787 using an only policy788 is expected not to be included789 using an except policy790 is expected to be included791 using both only and except policies792 is expected not to be included793 keyword: "schedules", source: "push"794 using an only policy795 is expected not to be included796 using an except policy797 is expected to be included798 using both only and except policies799 is expected not to be included800 keyword: "schedules", source: "web"801 using an only policy802 is expected not to be included803 using an except policy804 is expected to be included805 using both only and except policies806 is expected not to be included807 keyword: "schedules", source: "trigger"808 using an only policy809 is expected not to be included810 using an except policy811 is expected to be included812 using both only and except policies813 is expected not to be included814 keyword: "schedules", source: "api"815 using an only policy816 is expected not to be included817 using an except policy818 is expected to be included819 using both only and except policies820 is expected not to be included821 keyword: "schedules", source: "external"822 using an only policy823 is expected not to be included824 using an except policy825 is expected to be included826 using both only and except policies827 is expected not to be included828 keyword: "api", source: "push"829 using an only policy830 is expected not to be included831 using an except policy832 is expected to be included833 using both only and except policies834 is expected not to be included835 keyword: "api", source: "web"836 using an only policy837 is expected not to be included838 using an except policy839 is expected to be included840 using both only and except policies841 is expected not to be included842 keyword: "api", source: "trigger"843 using an only policy844 is expected not to be included845 using an except policy846 is expected to be included847 using both only and except policies848 is expected not to be included849 keyword: "api", source: "schedule"850 using an only policy851 is expected not to be included852 using an except policy853 is expected to be included854 using both only and except policies855 is expected not to be included856 keyword: "api", source: "external"857 using an only policy858 is expected not to be included859 using an except policy860 is expected to be included861 using both only and except policies862 is expected not to be included863 keyword: "external", source: "push"864 using an only policy865 is expected not to be included866 using an except policy867 is expected to be included868 using both only and except policies869 is expected not to be included870 keyword: "external", source: "web"871 using an only policy872 is expected not to be included873 using an except policy874 is expected to be included875 using both only and except policies876 is expected not to be included877 keyword: "external", source: "trigger"878 using an only policy879 is expected not to be included880 using an except policy881 is expected to be included882 using both only and except policies883 is expected not to be included884 keyword: "external", source: "schedule"885 using an only policy886 is expected not to be included887 using an except policy888 is expected to be included889 using both only and except policies890 is expected not to be included891 keyword: "external", source: "api"892 using an only policy893 is expected not to be included894 using an except policy895 is expected to be included896 using both only and except policies897 is expected not to be included898 when repository path matches899 when using only900 is expected to be included901 when using except902 is expected not to be included903 when using both only and except policies904 is expected not to be included905 when using both only and except policies906 is expected not to be included907 when repository path does not match908 when using only909 is expected not to be included910 when using except911 is expected to be included912 when using both only and except policies913 is expected not to be included914 using rules:915 with a matching if: rule916 with an explicit `when: never`917 rule_set: [{:if=>"$VARIABLE == null", :when=>"never"}]918 is expected not to be included919 correctly populates when:920 rule_set: [{:if=>"$VARIABLE == null", :when=>"never"}, {:if=>"$VARIABLE == null", :when=>"always"}]921 is expected not to be included922 correctly populates when:923 rule_set: [{:if=>"$VARIABLE != \"the wrong value\"", :when=>"never"}, {:if=>"$VARIABLE == null", :when=>"always"}]924 is expected not to be included925 correctly populates when:926 with an explicit `when: always`927 rule_set: [{:if=>"$VARIABLE == null", :when=>"always"}]928 is expected to be included929 correctly populates when:930 rule_set: [{:if=>"$VARIABLE == null", :when=>"always"}, {:if=>"$VARIABLE == null", :when=>"never"}]931 is expected to be included932 correctly populates when:933 rule_set: [{:if=>"$VARIABLE != \"the wrong value\"", :when=>"always"}, {:if=>"$VARIABLE == null", :when=>"never"}]934 is expected to be included935 correctly populates when:936 with an explicit `when: on_failure`937 rule_set: [{:if=>"$CI_JOB_NAME == \"rspec\" && $VAR == null", :when=>"on_failure"}]938 is expected to be included939 correctly populates when:940 rule_set: [{:if=>"$VARIABLE != null", :when=>"delayed", :start_in=>"1 day"}, {:if=>"$CI_JOB_NAME == \"rspec\"", :when=>"on_failure"}]941 is expected to be included942 correctly populates when:943 rule_set: [{:if=>"$VARIABLE == \"the wrong value\"", :when=>"delayed", :start_in=>"1 day"}, {:if=>"$CI_BUILD_NAME == \"rspec\"", :when=>"on_failure"}]944 is expected to be included945 correctly populates when:946 with an explicit `when: delayed`947 rule_set: [{:if=>"$VARIABLE == null", :when=>"delayed", :start_in=>"1 day"}]948 is expected to be included949 correctly populates when:950 rule_set: [{:if=>"$VARIABLE == null", :when=>"delayed", :start_in=>"1 day"}, {:if=>"$VARIABLE == null", :when=>"never"}]951 is expected to be included952 correctly populates when:953 rule_set: [{:if=>"$VARIABLE != \"the wrong value\"", :when=>"delayed", :start_in=>"1 day"}, {:if=>"$VARIABLE == null", :when=>"never"}]954 is expected to be included955 correctly populates when:956 without an explicit when: value957 rule_set: [{:if=>"$VARIABLE == null"}]958 is expected to be included959 correctly populates when:960 rule_set: [{:if=>"$VARIABLE == null"}, {:if=>"$VARIABLE == null"}]961 is expected to be included962 correctly populates when:963 rule_set: [{:if=>"$VARIABLE != \"the wrong value\""}, {:if=>"$VARIABLE == null"}]964 is expected to be included965 correctly populates when:966 with a matching changes: rule967 with an explicit `when: never`968 rule_set: [{:changes=>["*/**/*.rb"], :when=>"never"}, {:changes=>["*/**/*.rb"], :when=>"always"}]969 is expected not to be included970 correctly populates when:971 rule_set: [{:changes=>["app/models/ci/pipeline.rb"], :when=>"never"}, {:changes=>["app/models/ci/pipeline.rb"], :when=>"always"}]972 is expected not to be included973 correctly populates when:974 rule_set: [{:changes=>["spec/**/*.rb"], :when=>"never"}, {:changes=>["spec/**/*.rb"], :when=>"always"}]975 is expected not to be included976 correctly populates when:977 rule_set: [{:changes=>["*.yml"], :when=>"never"}, {:changes=>["*.yml"], :when=>"always"}]978 is expected not to be included979 correctly populates when:980 rule_set: [{:changes=>[".*.yml"], :when=>"never"}, {:changes=>[".*.yml"], :when=>"always"}]981 is expected not to be included982 correctly populates when:983 rule_set: [{:changes=>["**/*"], :when=>"never"}, {:changes=>["**/*"], :when=>"always"}]984 is expected not to be included985 correctly populates when:986 rule_set: [{:changes=>["*/**/*.rb", "*.yml"], :when=>"never"}, {:changes=>["*/**/*.rb", "*.yml"], :when=>"always"}]987 is expected not to be included988 correctly populates when:989 rule_set: [{:changes=>[".*.yml", "**/*"], :when=>"never"}, {:changes=>[".*.yml", "**/*"], :when=>"always"}]990 is expected not to be included991 correctly populates when:992 with an explicit `when: always`993 rule_set: [{:changes=>["*/**/*.rb"], :when=>"always"}, {:changes=>["*/**/*.rb"], :when=>"never"}]994 is expected to be included995 correctly populates when:996 rule_set: [{:changes=>["app/models/ci/pipeline.rb"], :when=>"always"}, {:changes=>["app/models/ci/pipeline.rb"], :when=>"never"}]997 is expected to be included998 correctly populates when:999 rule_set: [{:changes=>["spec/**/*.rb"], :when=>"always"}, {:changes=>["spec/**/*.rb"], :when=>"never"}]1000 is expected to be included1001 correctly populates when:1002 rule_set: [{:changes=>["*.yml"], :when=>"always"}, {:changes=>["*.yml"], :when=>"never"}]1003 is expected to be included1004 correctly populates when:1005 rule_set: [{:changes=>[".*.yml"], :when=>"always"}, {:changes=>[".*.yml"], :when=>"never"}]1006 is expected to be included1007 correctly populates when:1008 rule_set: [{:changes=>["**/*"], :when=>"always"}, {:changes=>["**/*"], :when=>"never"}]1009 is expected to be included1010 correctly populates when:1011 rule_set: [{:changes=>["*/**/*.rb", "*.yml"], :when=>"always"}, {:changes=>["*/**/*.rb", "*.yml"], :when=>"never"}]1012 is expected to be included1013 correctly populates when:1014 rule_set: [{:changes=>[".*.yml", "**/*"], :when=>"always"}, {:changes=>[".*.yml", "**/*"], :when=>"never"}]1015 is expected to be included1016 correctly populates when:1017 without an explicit when: value1018 rule_set: [{:changes=>["*/**/*.rb"]}]1019 is expected to be included1020 correctly populates when:1021 rule_set: [{:changes=>["app/models/ci/pipeline.rb"]}]1022 is expected to be included1023 correctly populates when:1024 rule_set: [{:changes=>["spec/**/*.rb"]}]1025 is expected to be included1026 correctly populates when:1027 rule_set: [{:changes=>["*.yml"]}]1028 is expected to be included1029 correctly populates when:1030 rule_set: [{:changes=>[".*.yml"]}]1031 is expected to be included1032 correctly populates when:1033 rule_set: [{:changes=>["**/*"]}]1034 is expected to be included1035 correctly populates when:1036 rule_set: [{:changes=>["*/**/*.rb", "*.yml"]}]1037 is expected to be included1038 correctly populates when:1039 rule_set: [{:changes=>[".*.yml", "**/*"]}]1040 is expected to be included1041 correctly populates when:1042 with no matching rule1043 rule_set: [{:if=>"$VARIABLE != null", :when=>"never"}]1044 is expected not to be included1045 correctly populates when:1046 rule_set: [{:if=>"$VARIABLE != null", :when=>"never"}, {:if=>"$VARIABLE != null", :when=>"always"}]1047 is expected not to be included1048 correctly populates when:1049 rule_set: [{:if=>"$VARIABLE == \"the wrong value\"", :when=>"never"}, {:if=>"$VARIABLE != null", :when=>"always"}]1050 is expected not to be included1051 correctly populates when:1052 rule_set: [{:if=>"$VARIABLE != null", :when=>"always"}]1053 is expected not to be included1054 correctly populates when:1055 rule_set: [{:if=>"$VARIABLE != null", :when=>"always"}, {:if=>"$VARIABLE != null", :when=>"never"}]1056 is expected not to be included1057 correctly populates when:1058 rule_set: [{:if=>"$VARIABLE == \"the wrong value\"", :when=>"always"}, {:if=>"$VARIABLE != null", :when=>"never"}]1059 is expected not to be included1060 correctly populates when:1061 rule_set: [{:if=>"$VARIABLE != null"}]1062 is expected not to be included1063 correctly populates when:1064 rule_set: [{:if=>"$VARIABLE != null"}, {:if=>"$VARIABLE != null"}]1065 is expected not to be included1066 correctly populates when:1067 rule_set: [{:if=>"$VARIABLE == \"the wrong value\""}, {:if=>"$VARIABLE != null"}]1068 is expected not to be included1069 correctly populates when:1070 with no rules1071 is expected not to be included1072 correctly populates when:1073 applying needs: dependency1074 when build job is not present in prior stages1075 is included1076 returns an error1077 when build job is part of prior stages1078 is included1079 does not have errors1080 when lower limit of needs is reached1081 returns an error1082 when upper limit of needs is reached1083 returns an error1084Gitlab::ImportExport::Project::TreeRestorer1085 restore project tree1086 JSON1087 restores models based on JSON1088 restore correct project features1089 has the project description1090 has the same label associated to two issues1091 has milestones associated to two separate issues1092 creates a valid pipeline note1093 pipeline has the correct user ID1094 restores pipelines with missing ref1095 restores pipeline for merge request1096 restores pipelines based on ascending id order1097 preserves updated_at on issues1098 has multiple issue assignees1099 restores timelogs for issues1100 contains the merge access levels on a protected branch1101 contains the push access levels on a protected branch1102 contains the create access levels on a protected tag1103 restores issue resource label events1104 restores merge requests resource label events1105 restores suggestion1106 has the correct data for merge request diff files1107 has the correct data for merge request diff commits1108 has the correct data for merge request latest_merge_request_diff1109 has labels associated to label links, associated to issues1110 has project labels1111 has no group labels1112 has issue boards1113 has lists associated with the issue board1114 has a project feature1115 has custom attributes1116 has badges1117 has snippets1118 has award emoji for a snippet1119 snippet has notes1120 snippet has award emojis on notes1121 restores `ci_cd_settings` : `group_runners_enabled` setting1122 restores `auto_devops`1123 restores the correct service1124 restores zoom meetings1125 restores sentry issues1126 has award emoji for an issue1127 has award emoji for a note in an issue1128 restores container_expiration_policy1129 restores error_tracking_setting1130 restores external pull requests1131 restores pipeline schedules1132 restores releases with links1133 when importing a project with cached_markdown_version and note_html1134 for an Issue1135 does not import note_html1136 for a Merge Request1137 does not import note_html1138 event at forth level of the tree1139 restores the event1140 has the action1141 event belongs to note, belongs to merge request, belongs to a project1142 Merge requests1143 always has the new project as a target1144 has the same source project as originally if source/target are the same1145 has the new project as target if source/target differ1146 has no source if source/target differ1147 has award emoji1148 notes1149 has award emoji1150 tokens are regenerated1151 has new CI trigger tokens1152 has a new CI build token1153 has restored the correct number of records1154 has the correct number of merge requests1155 only restores valid triggers1156 has the correct number of pipelines and statuses1157 when restoring hierarchy of pipeline, stages and jobs1158 restores pipelines1159 restores pipeline stages1160 correctly restores association between stage and a pipeline1161 restores statuses1162 correctly restores association between a stage and a job1163 correctly restores association between a pipeline and a job1164 restores a Hash for CommitStatus options1165 restores external pull request for the restored pipeline1166 has no import failures1167 project.json file access check1168 does not read a symlink1169 Light JSON1170 with a simple project1171 behaves like restores project successfully1172 restores the project1173 has labels1174 has label priorities1175 has milestones1176 has issues1177 has ci pipelines1178 has external pull requests1179 records exact number of import failures1180 when there is an existing build with build token1181 behaves like restores project successfully1182 restores the project1183 has labels1184 has label priorities1185 has milestones1186 has issues1187 has ci pipelines1188 has external pull requests1189 records exact number of import failures1190 multiple pipelines reference the same external pull request1191 restores external pull request for the restored pipelines1192 behaves like restores project successfully1193 restores the project1194 has labels1195 has label priorities1196 has milestones1197 has issues1198 has ci pipelines1199 has external pull requests1200 records exact number of import failures1201 when post import action throw non-retriable exception1202 report post import error1203 when post import action throw retriable exception one time1204 records the failures in the database1205 behaves like restores project successfully1206 restores the project1207 has labels1208 has label priorities1209 has milestones1210 has issues1211 has ci pipelines1212 has external pull requests1213 records exact number of import failures1214 when the project has overridden params in import data1215 handles string versions of visibility_level1216 overwrites the params stored in the JSON1217 does not allow setting params that are excluded from import_export settings1218 overrides project feature access levels1219 with a project that has a group1220 restores issue states1221 behaves like restores project successfully1222 restores the project1223 has labels1224 has label priorities1225 has milestones1226 has issues1227 has ci pipelines1228 has external pull requests1229 records exact number of import failures1230 behaves like restores group correctly1231 has group label1232 has group milestone1233 has the correct visibility level1234 with existing group models1235 does not import any templated services1236 imports labels1237 imports milestones1238 with clashing milestones on IID1239 preserves the project milestone IID1240 with external authorization classification labels1241 converts empty external classification authorization labels to nil1242 preserves valid external classification authorization labels1243 Minimal JSON1244 no group visibility1245 uses the project visibility1246 with restricted internal visibility1247 internal project1248 uses private visibility1249 with group visibility1250 private group visibility1251 uses the group visibility1252 public group visibility1253 uses the project visibility1254 internal group visibility1255 uses the group visibility1256 with restricted internal visibility1257 sets private visibility1258 JSON with invalid records1259 when failures occur because a relation fails to be processed1260 records the failures in the database1261 behaves like restores project successfully1262 restores the project1263 has labels1264 has label priorities1265 has milestones1266 has issues1267 has ci pipelines1268 has external pull requests1269 records exact number of import failures1270Issues::CreateService1271 #execute1272 when params are valid1273 creates the issue with the given params1274 refreshes the number of open issues1275 creates a pending todo for new assignee1276 executes issue hooks when issue is not confidential1277 executes confidential issue hooks when issue is confidential1278 deletes milestone issues count cache1279 when current user cannot admin issues in the project1280 filters out params that cannot be set without the :admin_issue permission1281 when label belongs to project group1282 assigns group labels1283 when label belongs to different project1284 does not assign label1285 when milestone belongs to different project1286 does not assign milestone1287 when assignee is set1288 invalidates open issues counter for assignees when issue is assigned1289 when duplicate label titles are given1290 assigns the label once1291 after_save callback to store_mentions1292 when mentionable attributes change1293 saves mentions1294 when save fails1295 does not call store_mentions1296 issue create service1297 assignees1298 removes assignee when user id is invalid1299 removes assignee when user id is 01300 saves assignee when user id is valid1301 when issuable feature is private1302 removes not authorized assignee when project is Internal1303 removes not authorized assignee when project is Public1304 behaves like new issuable record that supports quick actions1305 with labels in command only1306 attaches labels to issuable1307 with labels in params and command1308 attaches all labels to issuable1309 with assignee and milestone in command only1310 assigns and sets milestone to issuable1311 /close1312 returns an open issue1313 Quick actions1314 with assignee and milestone in params and command1315 assigns and sets milestone to issuable from command1316 resolving discussions1317 for a single discussion1318 resolves the discussion1319 added a system note to the discussion1320 assigns the title and description for the issue1321 can set nil explicitly to the title and description1322 for a merge request1323 resolves the discussion1324 added a system note to the discussion1325 assigns the title and description for the issue1326 can set nil explicitly to the title and description1327 checking spam1328 when recaptcha was verified1329 does no mark an issue as a spam1330 an issue is valid1331 does not assign a spam_log to an issue1332 marks related spam_log as recaptcha_verified1333 when spam log does not belong to a user1334 does not mark spam_log as recaptcha_verified1335 when recaptcha was not verified1336 when akismet detects spam1337 when issuables_recaptcha_enabled feature flag is true1338 marks an issue as a spam1339 invalidates the issue1340 creates a new spam_log1341 assigns a spam_log to an issue1342 when issuable_recaptcha_enabled feature flag is false1343 does not mark an issue as a spam1344 accepts the issue as valid1345 creates a new spam_log1346 assigns a spam_log to an issue1347 when akismet does not detect spam1348 does not mark an issue as a spam1349 an issue is valid1350 does not assign a spam_log to an issue1351MergeRequests::MergeabilityCheckService1352 #async_execute1353 enqueues MergeRequestMergeabilityCheckWorker1354 when read only DB1355 behaves like no job is enqueued1356 does not enqueue MergeRequestMergeabilityCheckWorker1357 when merge_status is already checking1358 behaves like no job is enqueued1359 does not enqueue MergeRequestMergeabilityCheckWorker1360 #execute1361 behaves like mergeable merge request1362 updates or keeps merge status as can_be_merged1363 updates the merge ref1364 returns ServiceResponse.success1365 ServiceResponse has merge_ref_head payload1366 when lock is disabled1367 behaves like mergeable merge request1368 updates or keeps merge status as can_be_merged1369 updates the merge ref1370 returns ServiceResponse.success1371 ServiceResponse has merge_ref_head payload1372 when concurrent calls1373 waits first lock and returns "cached" result in subsequent calls1374 writes the merge-ref once1375 resets one merge request upon execution1376 when retry_lease flag is false1377 the first call succeeds, subsequent concurrent calls get a lock error response1378 disabled merge ref sync feature flag1379 returns error and no payload1380 ignores merge-ref and updates merge status1381 when broken1382 returns ServiceResponse.error1383 behaves like unmergeable merge request1384 updates or keeps merge status as cannot_be_merged1385 does not change the merge ref HEAD1386 returns ServiceResponse.error1387 when it cannot be merged on git1388 returns ServiceResponse.error1389 behaves like unmergeable merge request1390 updates or keeps merge status as cannot_be_merged1391 does not change the merge ref HEAD1392 returns ServiceResponse.error1393 when MR cannot be merged and has no merge ref1394 returns ServiceResponse.error1395 behaves like unmergeable merge request1396 updates or keeps merge status as cannot_be_merged1397 does not change the merge ref HEAD1398 returns ServiceResponse.error1399 when MR cannot be merged and has outdated merge ref1400 returns ServiceResponse.error1401 behaves like unmergeable merge request1402 updates or keeps merge status as cannot_be_merged1403 does not change the merge ref HEAD1404 returns ServiceResponse.error1405 when merge request is not given1406 returns ServiceResponse.error1407 when read only DB1408 returns ServiceResponse.error1409 when fails to update the merge-ref1410 returns ServiceResponse.error1411 behaves like unmergeable merge request1412 updates or keeps merge status as cannot_be_merged1413 does not change the merge ref HEAD1414 returns ServiceResponse.error1415 recheck enforced1416 when MR is mergeable and merge-ref auto-sync is disabled1417 returns ServiceResponse.error1418 merge status is not changed1419 when MR is marked as mergeable, but repo is not mergeable and MR is not opened1420 returns ServiceResponse.error1421 does not change the merge status1422 when MR is mergeable but merge-ref does not exists1423 behaves like mergeable merge request1424 updates or keeps merge status as can_be_merged1425 updates the merge ref1426 returns ServiceResponse.success1427 ServiceResponse has merge_ref_head payload1428 when MR is mergeable but merge-ref is already updated1429 returns ServiceResponse.success1430 does not recreate the merge-ref1431Clusters::Applications::Ingress1432 is expected to belong to cluster required:1433 is expected to validate that :cluster cannot be empty/falsy1434 behaves like having unique enum values1435 has unique values in "ingress_type"1436 #can_uninstall?1437 calls allowed_to_uninstall?1438 #name1439 is .application_name1440 is recorded in Clusters::Cluster::APPLICATIONS1441 .association_name1442 is expected to eq :application_ingress1443 #status_states1444 returns a hash of state values1445 returns an integer for installed state value1446 .available1447 is expected to contain exactly #<Clusters::Applications::Ingress id: 1, cluster_id: 12, created_at: "2020-03-05 04:34:48", updated_a...r_ip: nil, status_reason: nil, external_ip: nil, external_hostname: nil, modsecurity_enabled: false> and #<Clusters::Applications::Ingress id: 2, cluster_id: 18, created_at: "2020-03-05 04:34:48", updated_a...r_ip: nil, status_reason: nil, external_ip: nil, external_hostname: nil, modsecurity_enabled: false>1448 status state machine1449 #make_installing1450 is installing1451 #make_installed1452 is installed1453 sets the correct version of the application1454 managed_apps_local_tiller feature flag disabled1455 updates helm version1456 managed_apps_local_tiller feature flag enabled1457 does not update the helm version1458 the cluster has no helm installed1459 runs without errors1460 application is updating1461 is updated1462 updates the version of the application1463 managed_apps_local_tiller feature flag disabled1464 updates helm version1465 managed_apps_local_tiller feature flag enabled1466 does not update the helm version1467 the cluster has no helm installed1468 runs without errors1469 #make_errored1470 is errored1471 application is updating1472 is update_errored1473 application is uninstalling1474 is uninstall_errored1475 #make_scheduled1476 is scheduled1477 when installed1478 is scheduled1479 when was errored1480 clears #status_reason1481 when was updated_errored1482 clears #status_reason1483 when was uninstall_errored1484 clears #status_reason1485 #make_uninstalling1486 is uninstalling1487 #available?1488 trait: :not_installable, available: false1489 is expected not to be available1490 trait: :installable, available: false1491 is expected not to be available1492 trait: :scheduled, available: false1493 is expected not to be available1494 trait: :installing, available: false1495 is expected not to be available1496 trait: :installed, available: true1497 is expected to be available1498 trait: :updating, available: false1499 is expected not to be available1500 trait: :updated, available: true1501 is expected to be available1502 trait: :errored, available: false1503 is expected not to be available1504 trait: :update_errored, available: false1505 is expected not to be available1506 trait: :uninstalling, available: false1507 is expected not to be available1508 trait: :uninstall_errored, available: false1509 is expected not to be available1510 trait: :timed_out, available: false1511 is expected not to be available1512 update_available?1513 version is not the same as VERSION1514 is expected to be truthy1515 version is the same as VERSION1516 is expected to be falsey1517 #uninstall_command1518 is expected to be an instance of Gitlab::Kubernetes::Helm::DeleteCommand1519 has files1520 is rbac1521 on a non rbac enabled cluster1522 is expected not to be rbac1523 #files1524 managed_apps_local_tiller feature flag is disabled1525 includes cert files when there is a ca_cert entry1526 when the helm application does not have a ca_cert1527 does not include cert files when there is no ca_cert entry1528 managed_apps_local_tiller feature flag is enabled1529 does not include cert files1530 when cluster does not have helm installed1531 does not include cert files1532 #status1533 local tiller feature flag is disabled1534 sets a default status1535 local tiller feature flag is enabled1536 sets a default status1537 when application helm is scheduled1538 defaults to :not_installable1539 when application helm is installed1540 sets a default status1541 #can_uninstall?1542 returns true if external ip is set and no application exists1543 returns false if application_jupyter_nil_or_installable? is false1544 returns false if application_elastic_stack_nil_or_installable? is false1545 returns false if external_ip_or_hostname? is false1546 #make_installed!1547 schedules a ClusterWaitForIngressIpAddressWorker1548 #schedule_status_update1549 schedules a ClusterWaitForIngressIpAddressWorker1550 when the application is not installed1551 does not schedule a ClusterWaitForIngressIpAddressWorker1552 when there is already an external_ip1553 does not schedule a ClusterWaitForIngressIpAddressWorker1554 when there is already an external_hostname1555 does not schedule a ClusterWaitForIngressIpAddressWorker1556 #install_command1557 is expected to be an instance of Gitlab::Kubernetes::Helm::InstallCommand1558 is initialized with ingress arguments1559 on a non rbac enabled cluster1560 is expected not to be rbac1561 application failed to install previously1562 is initialized with the locked version1563 #files1564 includes ingress valid keys in values1565 #values1566 when modsecurity_enabled is enabled1567 includes modsecurity module enablement1568 includes modsecurity core ruleset enablement1569 includes modsecurity.conf content1570 includes modsecurity sidecar container1571 when modsecurity_enabled is disabled1572 excludes modsecurity module enablement1573 excludes modsecurity core ruleset enablement1574 excludes modsecurity.conf content1575 excludes modsecurity sidecar container1576Clusters::Applications::ElasticStack1577 is expected to belong to cluster required:1578 is expected to validate that :cluster cannot be empty/falsy1579 #can_uninstall?1580 calls allowed_to_uninstall?1581 #name1582 is .application_name1583 is recorded in Clusters::Cluster::APPLICATIONS1584 .association_name1585 is expected to eq :application_elastic_stack1586 #status_states1587 returns a hash of state values1588 returns an integer for installed state value1589 .available1590 is expected to contain exactly #<Clusters::Applications::ElasticStack id: 2, created_at: "2020-03-05 04:35:21", updated_at: "2020-03-05 04:35:21", cluster_id: 381, status: 3, version: "1.8.0", status_reason: nil> and #<Clusters::Applications::ElasticStack id: 3, created_at: "2020-03-05 04:35:21", updated_at: "2020-03-05 04:35:21", cluster_id: 387, status: 5, version: "1.8.0", status_reason: nil>1591 status state machine1592 #make_installing1593 is installing1594 #make_installed1595 is installed1596 sets the correct version of the application1597 managed_apps_local_tiller feature flag disabled1598 updates helm version1599 managed_apps_local_tiller feature flag enabled1600 does not update the helm version1601 the cluster has no helm installed1602 runs without errors1603 application is updating1604 is updated1605 updates the version of the application1606 managed_apps_local_tiller feature flag disabled1607 updates helm version1608 managed_apps_local_tiller feature flag enabled1609 does not update the helm version1610 the cluster has no helm installed1611 runs without errors1612 #make_errored1613 is errored1614 application is updating1615 is update_errored1616 application is uninstalling1617 is uninstall_errored1618 #make_scheduled1619 is scheduled1620 when installed1621 is scheduled1622 when was errored1623 clears #status_reason1624 when was updated_errored1625 clears #status_reason1626 when was uninstall_errored1627 clears #status_reason1628 #make_uninstalling1629 is uninstalling1630 #available?1631 trait: :not_installable, available: false1632 is expected not to be available1633 trait: :installable, available: false1634 is expected not to be available1635 trait: :scheduled, available: false1636 is expected not to be available1637 trait: :installing, available: false1638 is expected not to be available1639 trait: :installed, available: true1640 is expected to be available1641 trait: :updating, available: false1642 is expected not to be available1643 trait: :updated, available: true1644 is expected to be available1645 trait: :errored, available: false1646 is expected not to be available1647 trait: :update_errored, available: false1648 is expected not to be available1649 trait: :uninstalling, available: false1650 is expected not to be available1651 trait: :uninstall_errored, available: false1652 is expected not to be available1653 trait: :timed_out, available: false1654 is expected not to be available1655 update_available?1656 version is not the same as VERSION1657 is expected to be truthy1658 version is the same as VERSION1659 is expected to be falsey1660 #uninstall_command1661 is expected to be an instance of Gitlab::Kubernetes::Helm::DeleteCommand1662 has files1663 is rbac1664 on a non rbac enabled cluster1665 is expected not to be rbac1666 #files1667 managed_apps_local_tiller feature flag is disabled1668 includes cert files when there is a ca_cert entry1669 when the helm application does not have a ca_cert1670 does not include cert files when there is no ca_cert entry1671 managed_apps_local_tiller feature flag is enabled1672 does not include cert files1673 when cluster does not have helm installed1674 does not include cert files1675 #install_command1676 is expected to be an instance of Gitlab::Kubernetes::Helm::InstallCommand1677 is initialized with elastic stack arguments1678 on a non rbac enabled cluster1679 is expected not to be rbac1680 application failed to install previously1681 is initialized with the locked version1682 #uninstall_command1683 is expected to be an instance of Gitlab::Kubernetes::Helm::DeleteCommand1684 is initialized with elastic stack arguments1685 specifies a post delete command to remove custom resource definitions1686 #elasticsearch_client1687 cluster is nil1688 returns nil1689 cluster doesn't have kubeclient1690 returns nil1691 cluster has kubeclient1692 creates proxy elasticsearch_client1693 copies proxy_url, options and headers from kube client to elasticsearch_client1694 when cluster is not reachable1695 returns nil1696JobEntity1697 contains paths to job page action1698 does not contain sensitive information1699 contains whether it is playable1700 contains timestamps1701 contains details1702 when job is retryable1703 contains cancel path1704 when job is cancelable1705 contains cancel path1706 when job is a regular job1707 does not contain path to play action1708 is not a playable build1709 when job is a manual action1710 when user is allowed to trigger action1711 contains path to play action1712 is a playable action1713 when user is not allowed to trigger action1714 does not contain path to play action1715 is not a playable action1716 when job is scheduled1717 contains path to unschedule action1718 contains scheduled_at1719 when job is generic commit status1720 contains paths to target action1721 does not contain paths to other action paths1722 contains timestamps1723 contains details1724 when job failed1725 contains details1726 states that it failed1727 indicates the failure reason on tooltip1728 includes a callout message with a verbose output1729 states that it is not recoverable1730 when job is allowed to fail1731 contains details1732 states that it failed1733 indicates the failure reason on tooltip1734 includes a callout message with a verbose output1735 states that it is not recoverable1736 when the job failed with a script failure1737 does not include callout message or recoverable keys1738 when job failed and is recoverable1739 states it is recoverable1740 when job passed1741 does not include callout message or recoverable keys1742CycleAnalytics#review1743 start condition: merge request that closes issue is created1744 end condition: merge request that closes issue is merged1745 finds the median of available durations between the two conditions1746 when the data belongs to another project1747 returns nil1748 when the end condition happens before the start condition1749 returns nil1750 start condition NOT PRESENT: merge request that closes issue is created1751 end condition: merge request that closes issue is merged1752 returns nil1753 start condition: merge request that closes issue is created1754 end condition NOT PRESENT: merge request that closes issue is merged1755 returns nil1756 when none of the start / end conditions are matched1757 returns nil1758 when a regular merge request (that doesn't close the issue) is created and merged1759 returns nil1760Gitlab::Ci::Status::Pipeline::Factory1761 when pipeline has a core status1762 when core status is created1763 matches correct core status for created1764 does not match extended statuses1765 fabricates a core status created1766 extends core status with common pipeline methods1767 when core status is waiting_for_resource1768 matches correct core status for waiting_for_resource1769 does not match extended statuses1770 fabricates a core status waiting_for_resource1771 extends core status with common pipeline methods1772 when core status is preparing1773 matches correct core status for preparing1774 does not match extended statuses1775 fabricates a core status preparing1776 extends core status with common pipeline methods1777 when core status is pending1778 matches correct core status for pending1779 does not match extended statuses1780 fabricates a core status pending1781 extends core status with common pipeline methods1782 when core status is running1783 matches correct core status for running1784 does not match extended statuses1785 fabricates a core status running1786 extends core status with common pipeline methods1787 when core status is success1788 matches correct core status for success1789 does not match extended statuses1790 fabricates a core status success1791 extends core status with common pipeline methods1792 when core status is failed1793 matches correct core status for failed1794 does not match extended statuses1795 fabricates a core status failed1796 extends core status with common pipeline methods1797 when core status is canceled1798 matches correct core status for canceled1799 does not match extended statuses1800 fabricates a core status canceled1801 extends core status with common pipeline methods1802 when core status is skipped1803 matches correct core status for skipped1804 does not match extended statuses1805 fabricates a core status skipped1806 extends core status with common pipeline methods1807 when core status is manual1808 matches manual core status1809 matches a correct extended statuses1810 extends core status with common pipeline methods1811 when core status is scheduled1812 matches scheduled core status1813 matches a correct extended statuses1814 extends core status with common pipeline methods1815 when pipeline has warnings1816 matches correct core status1817 matches correct extended statuses1818 fabricates extended "success with warnings" status1819 extends core status with common pipeline method1820MergeRequestPollWidgetEntity1821 has default_merge_commit_message_with_description1822 merge_pipeline1823 returns nil1824 when is merged1825 returns merge_pipeline1826 when user cannot read pipelines on target project1827 returns nil1828 new_blob_path1829 when user can push to project1830 returns path1831 when user cannot push to project1832 returns nil1833 exposed_artifacts_path1834 when merge request has exposed artifacts1835 set the path to poll data1836 when merge request has no exposed artifacts1837 set the path to poll data1838 auto merge1839 when auto merge is enabled1840 returns auto merge related information1841 when auto merge is not enabled1842 returns auto merge related information1843 when head pipeline is running1844 returns available auto merge strategies1845 when head pipeline is finished1846 returns available auto merge strategies1847 pipeline1848 when user has access to pipelines1849 when is up to date1850 returns pipeline1851 when is not up to date1852 returns nil1853 when user does not have access to pipelines1854 does not have pipeline1855Clusters::Applications::Helm1856 is expected to belong to cluster required:1857 is expected to validate that :cluster cannot be empty/falsy1858 #can_uninstall?1859 calls allowed_to_uninstall?1860 #name1861 is .application_name1862 is recorded in Clusters::Cluster::APPLICATIONS1863 .association_name1864 is expected to eq :application_helm1865 .available1866 is expected to contain exactly #<Clusters::Applications::Helm id: 110, cluster_id: 697, created_at: "2020-03-05 04:36:58", updated_a...ko4hmQcwRIOf2w==\n", ca_cert: "-----BEGIN CERTIFICATE-----\nMIIFtTCCA52gAwIBAgIJAO...", ca_key: nil> and #<Clusters::Applications::Helm id: 111, cluster_id: 700, created_at: "2020-03-05 04:36:58", updated_a...9WVCPXUPEtTFXg==\n", ca_cert: "-----BEGIN CERTIFICATE-----\nMIIFtTCCA52gAwIBAgIJAO...", ca_key: nil>1867 #can_uninstall?1868 with other existing applications1869 is false when ingress is installed1870 is false when cert_manager is installed1871 is false when crossplane is installed1872 is false when prometheus is installed1873 is false when runner is installed1874 is false when jupyter is installed1875 is false when knative is installed1876 is false when elastic_stack is installed1877 executes a single query only1878 without other existing applications1879 is expected to be truthy1880 #issue_client_cert1881 returns a new cert1882 #install_command1883 is expected to be an instance of Gitlab::Kubernetes::Helm::InitCommand1884 is initialized with 1 arguments1885 has cert files1886 rbac1887 rbac cluster1888 is expected to be rbac1889 non rbac cluster1890 is expected not to be rbac1891 #uninstall_command1892 is expected to be an instance of Gitlab::Kubernetes::Helm::ResetCommand1893 has name1894 has cert files1895 rbac1896 rbac cluster1897 is expected to be rbac1898 non rbac cluster1899 is expected not to be rbac1900 #post_uninstall1901 is expected to receive delete_namespace("gitlab-managed-apps") 1 time1902SentNotification1903 validation1904 note validity1905 when the project doesn't match the noteable's project1906 is invalid1907 when the project doesn't match the discussion project1908 is invalid1909 when the noteable project and discussion project match1910 is valid1911 .record1912 behaves like a successful sent notification1913 creates a new SentNotification1914 .record_note1915 for a discussion note1916 sets in_reply_to_discussion_id1917 behaves like a successful sent notification1918 creates a new SentNotification1919 for an individual note1920 does not set in_reply_to_discussion_id1921 behaves like a successful sent notification1922 creates a new SentNotification1923 #unsubscribable?1924 behaves like an unsubscribable notification1925 for issue1926 is expected to be unsubscribable1927 behaves like an unsubscribable notification1928 for merge request1929 is expected to be unsubscribable1930 behaves like a non-unsubscribable notification1931 for a commit1932 is expected not to be unsubscribable1933 behaves like a non-unsubscribable notification1934 for a personal snippet1935 is expected not to be unsubscribable1936 behaves like a non-unsubscribable notification1937 for a project snippet1938 is expected not to be unsubscribable1939 #for_commit?1940 behaves like a non-commit notification1941 for a issue1942 is expected not to be for commit1943 behaves like a non-commit notification1944 for a merge request1945 is expected not to be for commit1946 behaves like a commit notification1947 for commit1948 is expected to be for commit1949 behaves like a non-commit notification1950 for a personal snippet1951 is expected not to be for commit1952 behaves like a non-commit notification1953 for a project snippet1954 is expected not to be for commit1955 #for_snippet?1956 behaves like a non-snippet notification1957 for a issue1958 is expected not to be for snippet1959 behaves like a non-snippet notification1960 for a merge request1961 is expected not to be for snippet1962 behaves like a non-snippet notification1963 for a commit1964 is expected not to be for snippet1965 behaves like a snippet notification1966 for personal snippet1967 is expected to be for snippet1968 behaves like a snippet notification1969 for project snippet1970 is expected to be for snippet1971 #create_reply1972 for issue1973 creates a comment on the issue1974 for issue comment1975 creates a comment on the issue1976 for issue discussion1977 creates a reply on the discussion1978 for merge request1979 creates a comment on the merge_request1980 for merge request comment1981 creates a comment on the merge request1982 for merge request diff discussion1983 creates a reply on the discussion1984 for merge request non-diff discussion1985 creates a reply on the discussion1986 for commit1987 creates a comment on the commit1988 for commit comment1989 creates a comment on the commit1990 for commit diff discussion1991 creates a reply on the discussion1992 for commit non-diff discussion1993 creates a reply on the discussion1994Clusters::ClusterPresenter1995 inherits from Gitlab::View::Presenter::Delegated1996 #initialize1997 takes a cluster and optional params1998 exposes cluster1999 forwards missing methods to cluster2000 #item_link2001 for a group cluster2002 for a project clusterable2003 returns the group name and the link for cluster2004 is html safe2005 ancestor clusters2006 top level group cluster2007 returns full group names and link for cluster2008 is html safe2009 first level group cluster2010 returns full group names and link for cluster2011 is html safe2012 second level group cluster2013 returns clipped group names and link for cluster2014 is html safe2015 for the group clusterable for the cluster2016 returns link for cluster2017 is html safe2018 ancestor clusters2019 top level group cluster2020 returns full group names and link for cluster2021 is html safe2022 first level group cluster2023 returns full group names and link for cluster2024 is html safe2025 second level group cluster2026 returns clipped group names and link for cluster2027 is html safe2028 for a project cluster2029 for the project clusterable2030 returns link for cluster2031 #provider_label2032 AWS provider2033 is expected to eq "Elastic Kubernetes Service"2034 GCP provider2035 is expected to eq "Google Kubernetes Engine"2036 #provider_management_url2037 AWS provider2038 is expected to include "us-east-1"2039 is expected to include "test-cluster"2040 GCP provider2041 is expected to include "us-central1-a"2042 is expected to include "test-cluster"2043 #cluster_type_description2044 project_type cluster2045 is expected to eq "Project cluster"2046 group_type cluster2047 is expected to eq "Group cluster"2048 instance_type cluster2049 is expected to eq "Instance cluster"2050 #show_path2051 project_type cluster2052 is expected to eq "/namespace734/project669/-/clusters/840"2053 group_type cluster2054 is expected to eq "/groups/group121/-/clusters/843"2055 instance_type cluster2056 is expected to eq "/admin/clusters/846"2057 #read_only_kubernetes_platform_fields?2058 with a user-provided cluster2059 is expected to be falsy2060 with a GCP-provided cluster2061 is expected to be truthy2062Ci::StopEnvironmentsService2063 #execute2064 when environment with review app exists2065 when user has permission to stop environment2066 when environment is associated with removed branch2067 stops environment2068 when environment is associated with different branch2069 does not stop environment2070 when specified branch does not exist2071 does not stop environment2072 when no branch not specified2073 does not stop environment2074 when environment is not stopped2075 does not stop environment2076 when user does not have permission to stop environment2077 when user has no access to manage deployments2078 does not stop environment2079 when branch for stop action is protected2080 does not stop environment2081 when there is no environment associated with review app2082 when user has permission to stop environments2083 does not stop environment2084 when environment does not exist2085 does not raise error2086 #execute_for_merge_request2087 has active environment at first2088 when user is a developer2089 stops the active environment2090 when user is a reporter2091 does not stop the active environment2092 when pipeline is not associated with environments2093 does not raise exception2094 when pipeline is not a pipeline for merge request2095 does not stop the active environment2096 .execute_in_batch2097 stops environments2098 plays stop actions2099 when user does not have a permission to play the stop action2100 tracks the exception2101ObjectStorage2102 #object_store=2103 reload the local storage2104 reload the REMOTE storage2105 object_store is Store::LOCAL2106 #store_dir2107 is the composition of (base_dir, dynamic_segment)2108 object_store is Store::REMOTE2109 #store_dir2110 is the composition of (dynamic_segment)2111 #object_store2112 delegates to <mount>_store on model2113 when store is null2114 uses Store::LOCAL2115 when value is set2116 returns the given value2117 #file_cache_storage?2118 when file storage is used2119 is expected to be file cache storage2120 when is remote storage2121 is expected not to be file cache storage2122 when persist_object_store? is false2123 is expected to be a kind of Avatarable2124 is expected to be falsey2125 delegates the object_store logic to the `Upload` model2126 sets @upload to the found `upload`2127 sets @object_store to the `Upload` value2128 #migrate!2129 persist @object_store to the recorded upload2130 fails2131 is handled gracefully2132 persist_object_store? is true2133 when using JobArtifactsUploader2134 checking described_class2135 uploader include described_class::Concern2136 #use_file2137 when file is stored locally2138 calls a regular path2139 when file is stored remotely2140 calls a cache path2141 cleans up the cached file2142 #migrate!2143 when using the same storage2144 to not migrate the storage2145 when migrating to local storage2146 is expected to eq 12147 local file does not exist2148 remote file exist2149 does migrate the file2150 when migrating to remote storage2151 file does exist2152 when storage is disabled2153 to raise an error2154 when credentials are set2155 is expected to eq 22156 does migrate the file2157 does delete original file2158 when subject save fails2159 original file is not removed2160 #fog_directory2161 is expected to eq "directory"2162 when file is in use2163 cannot migrate2164 cannot use_file2165 can still migrate other files of the same model2166 #fog_credentials2167 is expected to eq {:provider=>"AWS"}2168 #fog_public2169 is expected to eq nil2170 .workhorse_authorize2171 when object storage is disabled2172 behaves like uses local storage2173 returns temporary path2174 when object storage is enabled2175 when direct upload is enabled2176 uses AWS2177 for known length2178 behaves like uses remote storage without multipart uploads2179 returns links for S32180 behaves like uses remote storage2181 returns remote store2182 does not return multipart upload2183 for unknown length2184 behaves like uses remote storage with multipart uploads2185 returns links for S32186 behaves like uses remote storage2187 returns remote store2188 returns multipart upload2189 uses Google2190 for known length2191 behaves like uses remote storage without multipart uploads2192[fog][DEPRECATION] Fog::Storage::Google => #get_object_url is deprecated, use #get_object_https_url instead (/builds/gitlab-org/gitlab/lib/object_storage/direct_upload.rb:69:in `get_url')2193 returns links for Google Cloud2194 behaves like uses remote storage2195[fog][DEPRECATION] Fog::Storage::Google => #get_object_url is deprecated, use #get_object_https_url instead (/builds/gitlab-org/gitlab/lib/object_storage/direct_upload.rb:69:in `get_url')2196 returns remote store2197[fog][DEPRECATION] Fog::Storage::Google => #get_object_url is deprecated, use #get_object_https_url instead (/builds/gitlab-org/gitlab/lib/object_storage/direct_upload.rb:69:in `get_url')2198 does not return multipart upload2199 for unknown length2200 behaves like uses remote storage without multipart uploads2201[fog][DEPRECATION] Fog::Storage::Google => #get_object_url is deprecated, use #get_object_https_url instead (/builds/gitlab-org/gitlab/lib/object_storage/direct_upload.rb:69:in `get_url')2202 returns links for Google Cloud2203 behaves like uses remote storage2204[fog][DEPRECATION] Fog::Storage::Google => #get_object_url is deprecated, use #get_object_https_url instead (/builds/gitlab-org/gitlab/lib/object_storage/direct_upload.rb:69:in `get_url')2205 returns remote store2206[fog][DEPRECATION] Fog::Storage::Google => #get_object_url is deprecated, use #get_object_https_url instead (/builds/gitlab-org/gitlab/lib/object_storage/direct_upload.rb:69:in `get_url')2207 does not return multipart upload2208 uses GDK/minio2209 for known length2210 behaves like uses remote storage without multipart uploads2211 returns links for S32212 behaves like uses remote storage2213 returns remote store2214 does not return multipart upload2215 for unknown length2216 behaves like uses remote storage with multipart uploads2217 returns links for S32218 behaves like uses remote storage2219 returns remote store2220 returns multipart upload2221 when direct upload is disabled2222 behaves like uses local storage2223 returns temporary path2224 #cache!2225 when local file is used2226 when valid file is used2227 properly caches the file2228 when local file is used2229 when valid file is used2230 when valid file is specified2231 when object storage and direct upload is specified2232 when file is stored2233 file to be remotely stored in permament location2234 when object storage and direct upload is not used2235 when file is stored2236 file to be remotely stored in permament location2237 when remote file is used2238 when valid file is used2239 when invalid file is specified2240 raises an error2241 when non existing file is specified2242 raises an error2243 when valid file is specified2244 file to be cached and remote stored2245 when file is stored2246 file to be remotely stored in permament location2247 #retrieve_from_store!2248 for groups2249 batches fetching uploads from the database2250 does not attempt to replace methods2251 fetches a unique upload for each model2252 for projects2253 batches fetching uploads from the database2254 does not attempt to replace methods2255 fetches a unique upload for each model2256 for users2257 batches fetching uploads from the database2258 does not attempt to replace methods2259 fetches a unique upload for each model2260PipelineDetailsEntity2261 inherrits from PipelineEntity2262 #as_json2263 when pipeline is empty2264 contains details2265 contains flags2266 when pipeline is retryable2267 user has ability to retry pipeline2268 retryable flag is true2269 user does not have ability to retry pipeline2270 retryable flag is false2271 when pipeline is cancelable2272 user has ability to cancel pipeline2273 cancelable flag is true2274 user does not have ability to cancel pipeline2275 cancelable flag is false2276 when pipeline has commit statuses2277 contains stages2278 when pipeline has YAML errors2279 contains information about error2280 contains flag that indicates there are errors2281 when pipeline does not have YAML errors2282 does not contain field that normally holds an error2283 contains flag that indicates there are no errors2284 when pipeline is triggered by other pipeline2285 contains an information about depedent pipeline2286 when pipeline triggered other pipeline2287 contains an information about depedent pipeline2288 when pipeline has expiring archive artifacts2289 and preload_job_artifacts_archive is not defined in the options2290 defaults to true and eager loads the job_artifacts_archive2291 and preload_job_artifacts_archive is set to false2292 does not eager load the job_artifacts_archive2293Banzai::Filter::IssuableStateFilter2294 ignores non-GFM links2295 ignores non-issuable links2296 ignores issuable links with empty content2297 ignores issuable links with custom anchor2298 ignores issuable links to specific comments2299 ignores merge request links to diffs tab2300 handles cross project references2301 handles references from group scopes2302 skips cross project references if the user cannot read cross project2303 does not append state when filter is not enabled2304 when project is in pending delete2305 does not append issue state2306 for issue references2307 ignores open issue references2308 appends state to closed issue references2309 appends state to moved issue references2310 for merge request references2311 ignores open merge request references2312 ignores reopened merge request references2313 ignores locked merge request references2314 appends state to closed merge request references2315 appends state to merged merge request references2316Gitlab::Cache::Ci::ProjectPipelineStatus2317 .load_for_project2318 loads the status2319 loading in batches2320 .load_in_batch_for_projects2321 loads pipeline_status on projects2322 loads 10 projects without hitting Gitaly call limit2323 .update_for_pipeline2324 refreshes the cache if nescessary2325 #has_status?2326 is false when the status wasn't loaded yet2327 is true when all status information was loaded2328 #load_status2329 loads the status from the cache when there is one2330 loads the status from the project commit when there is no cache2331 stores the status in the cache when it loading it from the project2332 sets the state to loaded2333 only loads the status once2334 handles Gitaly unavailable exceptions gracefully2335 handles Gitaly timeout exceptions gracefully2336 #load_from_project2337 reads the status from the pipeline for the commit2338 doesn't fail for an empty project2339 #store_in_cache2340 sets the object in caching2341 #store_in_cache_if_needed2342 stores the state in the cache when the sha is the HEAD of the project2343 doesn't store the status in redis_cache when the sha is not the head of the project2344 deletes the cache if the repository doesn't have a head commit2345 with a status in caching2346 #load_from_cache2347 reads the status from redis_cache2348 when status is empty string2349 reads the status as nil2350 #has_cache?2351 knows the status is cached2352 #delete_from_cache2353 deletes values from redis_cache2354AvatarUploader2355 behaves like builds correct paths2356 #store_dir2357 behaves like matches the method pattern2358 is expected to match /uploads\/-\/system\/user\/avatar\//2359 #cache_dir2360 behaves like matches the method pattern2361 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)2362 #work_dir2363 behaves like matches the method pattern2364 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)2365 #upload_path2366 behaves like matches the method pattern2367 is expected to match /uploads\/-\/system\/user\/avatar\//2368 #relative_path2369 is relative (PENDING: Path not set, skipping.)2370 .absolute_path2371 behaves like matches the method pattern2372 is expected to match /\/builds\/gitlab-org\/gitlab\/tmp\/tests\/public\/uploads\/-\/system\/user\/avatar\//2373 .base_dir2374 behaves like matches the method pattern2375 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)2376 object_store is REMOTE2377 behaves like builds correct paths2378 #store_dir2379 behaves like matches the method pattern2380 is expected to match /user\/avatar\//2381 #cache_dir2382 behaves like matches the method pattern2383 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)2384 #work_dir2385 behaves like matches the method pattern2386 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)2387 #upload_path2388 behaves like matches the method pattern2389 is expected to match /user\/avatar\//2390 #relative_path2391 is relative (PENDING: Path not set, skipping.)2392 .absolute_path2393 behaves like matches the method pattern2394 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)2395 .base_dir2396 behaves like matches the method pattern2397 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)2398 with a file2399 sets the right absolute path2400 behaves like migrates2401 returns corresponding file type2402 does nothing when migrating to the current store2403 migrate to the specified store2404 removes the original file after the migration2405 can access to the original file during migration2406 when migrate! is not occupied by another process2407 executes migrate!2408 executes use_file2409 when migrate! is occupied by another process2410 does not execute migrate!2411 does not execute use_file2412 migration is unsuccessful2413 when the store is not supported2414 does not update the object_store2415 does not delete the original file2416 upon a fog failure2417 does not update the object_store2418 does not delete the original file2419 upon a database failure2420 does not update the object_store2421 does not delete the original file2422 behaves like migrates2423 returns corresponding file type2424 does nothing when migrating to the current store2425 migrate to the specified store2426 removes the original file after the migration2427 can access to the original file during migration2428 when migrate! is not occupied by another process2429 executes migrate!2430 executes use_file2431 when migrate! is occupied by another process2432 does not execute migrate!2433 does not execute use_file2434 migration is unsuccessful2435 when the store is not supported2436 does not update the object_store2437 does not delete the original file2438 upon a fog failure2439 does not update the object_store2440 does not delete the original file2441 upon a database failure2442 does not update the object_store2443 does not delete the original file2444 upload type check2445 png extension2446 behaves like type checked uploads2447 check type2448 jpg extension2449 behaves like type checked uploads2450 check type2451 jpeg extension2452 behaves like type checked uploads2453 check type2454 gif extension2455 behaves like type checked uploads2456 check type2457 bmp extension2458 behaves like type checked uploads2459 check type2460 tiff extension2461 behaves like type checked uploads2462 check type2463 ico extension2464 behaves like type checked uploads2465 check type2466 skip image/svg+xml integrity check2467 behaves like skipped type checked uploads2468 skip type check2469MergeRequests::AddTodoWhenBuildFailsService2470 #execute2471 commit status with ref2472 notifies the todo service2473 commit status with non-HEAD ref2474 does not notify the todo service2475 commit status without ref2476 does not notify the todo service2477 when commit status is a build allowed to fail2478 does not create todo2479 when build belongs to a merge request pipeline2480 notifies the todo service2481 #close2482 commit status with ref2483 notifies the todo service2484 commit status with non-HEAD ref2485 does not notify the todo service2486 commit status without ref2487 does not notify the todo service2488 when build belongs to a merge request pipeline2489 notifies the todo service2490 #close_all2491 when using pipeline that belongs to merge request2492 resolves todos about failed builds for pipeline2493 when pipeline is not related to merge request2494 does not resolve any todos about failed builds2495Gitlab::Checks::BranchCheck2496 #validate!2497 does not raise any error2498 trying to delete the default branch2499 raises an error2500 protected branches check2501 raises an error if the user is not allowed to do forced pushes to protected branches2502 raises an error if the user is not allowed to merge to protected branches2503 raises an error if the user is not allowed to push to protected branches2504 when project repository is empty2505 user is not allowed to push to protected branches2506 raises an error2507 user is allowed to push to protected branches2508 allows branch creation2509 branch creation2510 user can push to branch2511 does not raise an error2512 user cannot push to branch2513 user cannot merge to branch2514 raises an error2515 user can merge to branch2516 newrev isn't in any protected branches2517 raises an error2518 newrev is included in a protected branch2519 via web interface2520 allows branch creation2521 via SSH2522 raises an error2523 branch deletion2524 if the user is not allowed to delete protected branches2525 raises an error2526 if the user is allowed to delete protected branches2527 through the web interface2528 allows branch deletion2529 over SSH or HTTP2530 raises an error2531EventsHelper2532 #event_commit_title2533 returns the first line, truncated to 70 chars2534 is not html-safe2535 handles empty strings2536 handles nil values2537 does not escape HTML entities2538 #event_feed_url2539 returns project commit url2540 returns event note target url2541 returns project url2542 returns push event feed url2543 issue2544 returns the project issue url2545 contains the project issue IID link2546 merge request2547 returns the project merge request url2548 contains the project merge request IID link2549 #event_note_target_url2550 returns a commit note url2551 returns a project snippet note url2552 returns a project issue url2553 returns a merge request url2554Banzai::Filter::ProjectReferenceFilter2555 ignores invalid projects2556 allows references with text after the > character2557 ignores valid references contained inside 'pre' element2558 ignores valid references contained inside 'code' element2559 ignores valid references contained inside 'a' element2560 ignores valid references contained inside 'style' element2561 includes default classes2562 behaves like user reference or project reference2563 supports an :only_path context2564 mentioning a resource2565 links to a resource2566 links to a resource with a period2567 links to a resource with an underscore2568 links to a resource with different case-sensitivity2569 behaves like a reference containing an element node2570 does not escape inner html2571 behaves like it contains a data- attribute2572 includes a data- attribute2573 referencing a resource in a link href2574 links to the resource2575 links with adjacent text2576 behaves like it contains a data- attribute2577 includes a data- attribute2578 when invalid reference strings are very long2579 behaves like fails fast2580 fails fast for long strings2581 behaves like fails fast2582 fails fast for long strings2583 in group context2584 supports mentioning a project2585 supports mentioning a project in a nested group2586 #projects_hash2587 returns a Hash containing all Projects2588 #projects2589 returns the projects mentioned in a document2590IssueEntity2591 has Issuable attributes2592 has time estimation attributes2593 when issue got moved2594 when user cannot read target project2595 does not return moved_to_id2596 when user can read target project2597 returns moved moved_to_id2598 when issue got duplicated2599 when user cannot read new issue2600 does not return duplicated_to_id2601 when user can read target project2602 returns duplicated duplicated_to_id2603 when issuable in active or archived project2604 when project is active2605 returns archived false2606 returns nil for archived project doc2607 when project is archived2608 returns archived true2609 returns archived project doc2610Timelog2611 is expected to belong to issue required:2612 is expected to belong to merge_request required:2613 is expected to be valid2614 is expected to validate that :time_spent cannot be empty/falsy2615 is expected to validate that :user cannot be empty/falsy2616 Issuable validation2617 is invalid if issue_id and merge_request_id are missing2618 is invalid if issue_id and merge_request_id are set2619 is valid if only issue_id is set2620 is valid if only merge_request_id is set2621 scopes2622 for_issues_in_group2623 return timelogs created for group issues2624 between_dates2625 returns collection of timelogs within given dates2626PagesDomains::ObtainLetsEncryptCertificateService2627 when there is no acme order2628 creates acme order and schedules next step2629 when there is expired acme order2630 removes acme order and creates new one2631 there is an order in 'pending' status2632 does not raise errors2633 there is an order in 'processing' status2634 does not raise errors2635 when order is ready2636 request certificate and schedules next step2637 when order is valid2638 saves private_key and certificate for domain2639 marks certificate as gitlab_provided2640 removes order from database2641projects/merge_requests/show.html.haml2642 merge request assignee sidebar2643 when assignee is allowed to merge2644 does not show a warning icon2645 when the merge request is closed2646 shows the "Reopen" button2647 does not show the "Reopen" button when the source project does not exist2648 when the merge request is open2649 closes the merge request if the source project does not exist2650Clusters::Gcp::FetchOperationService2651 #execute2652 when succeeded to fetch operation2653 behaves like success2654 yields2655 when Internal Server Error happened2656 behaves like error2657 sets an error to provider object2658DeployToken2659 is expected to have many project_deploy_tokens2660 is expected to have many projects through project_deploy_tokens2661 is expected to have many group_deploy_tokens2662 is expected to have many groups through group_deploy_tokens2663 behaves like having unique enum values2664 has unique values in "deploy_token_type"2665 validations2666 is expected to validate that the length of :username is at most 2552667 is expected to allow :username to be ‹"GitLab+deploy_token-3.14"›2668 is expected not to allow :username to be ‹"<script>"›, producing a custom validation error on failure2669 is expected not to allow :username to be ‹""›, producing a custom validation error on failure2670 is expected to validate that :deploy_token_type cannot be empty/falsy2671 deploy_token_type validations2672 when a deploy token is associated to a group2673 does not allow setting a project to it2674 when a deploy token is associated to a project2675 does not allow setting a group to it2676 #ensure_token2677 ensures a token2678 #ensure_at_least_one_scope2679 with at least one scope2680 is valid2681 with no scopes2682 is invalid2683 #scopes2684 with all the scopes2685 returns scopes assigned to DeployToken2686 with only one scope2687 returns scopes assigned to DeployToken2688 #revoke!2689 updates revoke attribute2690 #active?2691 when it has been revoked2692 returns false2693 when it hasn't been revoked and is not expired2694 returns true2695 when it hasn't been revoked and is expired2696 returns true2697 when it hasn't been revoked and has no expiry2698 returns true2699 #username2700 persisted records2701 returns a default username if none is set2702 returns the username provided if one is set2703 new records2704 returns nil if no username is set2705 returns the username provided if one is set2706 #holder2707 when the token is of project type2708 returns the relevant holder token2709 when the token is of group type2710 returns the relevant holder token2711 #has_access_to?2712 when a project is not passed in2713 is expected to be falsy2714 when a project is passed in2715 when deploy token is active and related to project2716 is expected to be truthy2717 when deploy token is active but not related to project2718 is expected to be falsy2719 when deploy token is revoked and related to project2720 is expected to be falsy2721 when deploy token is revoked and not related to the project2722 is expected to be falsy2723 and when the token is of group type2724 and the allow_group_deploy_token feature flag is turned off2725 is false2726 and the allow_group_deploy_token feature flag is turned on2727 and the passed-in project does not belong to any group2728 is expected to be falsy2729 and the passed-in project belongs to the token group2730 is true2731 and the passed-in project belongs to a subgroup2732 and the token group is an ancestor (grand-parent) of this group2733 is expected to be truthy2734 and the token group is not ancestor of this group2735 is false2736 and the passed-in project does not belong to the token group2737 is expected to be falsy2738 and the project belongs to a group that is parent of the token group2739 is false2740 and the token is of project type2741 and the passed-in project is the same as the token project2742 is expected to be truthy2743 and the passed-in project is not the same as the token project2744 is expected to be falsey2745 #expires_at2746 when using Forever.date2747 returns nil2748 when using a personalized date2749 returns the personalized date2750 #expires_at=2751 when passing nil2752 assigns Forever.date2753 when passing a value2754 respects the value2755 .gitlab_deploy_token2756 with a gitlab deploy token associated2757 returns the gitlab deploy token2758 with no gitlab deploy token associated2759 returns nil2760FinderWithCrossProjectAccess2761 when the user cannot read cross project2762 #execute2763 returns a issue if the check is disabled2764 returns an empty relation when the check is enabled2765 only queries once when check is enabled2766 only queries once when check is disabled2767 #find2768 checks the accessibility of the subject directly2769 returns the issue2770 #find_by2771 checks the accessibility of the subject directly2772 #find_by!2773 checks the accessibility of the subject directly2774 re-enables the check after the find failed2775 when the user can read cross project2776 returns the result2777 when specifying a model2778 .finder_model2779 is set correctly2780Clusters::KubernetesNamespaceFinder2781 #execute2782 cluster supports separate namespaces per environment2783 no persisted namespace is present2784 is expected to be nil2785 a namespace with an environment is present2786 environment matches2787 is expected to eq #<Clusters::KubernetesNamespace id: 4, cluster_id: 852, project_id: 1043, cluster_project_id: nil, cr..._name: "project971-1043-production-service-account", environment_id: 27, service_account_token: nil>2788 project cluster2789 is expected to eq #<Clusters::KubernetesNamespace id: 5, cluster_id: 854, project_id: 1044, cluster_project_id: 11, cre..._name: "project972-1044-production-service-account", environment_id: 28, service_account_token: nil>2790 service account token is blank2791 is expected to be nil2792 allow_blank_token is true2793 is expected to eq #<Clusters::KubernetesNamespace id: 7, cluster_id: 858, project_id: 1046, cluster_project_id: nil, cr..._name: "project974-1046-production-service-account", environment_id: 30, service_account_token: nil>2794 environment does not match2795 is expected to be nil2796 cluster does not support separate namespaces per environment2797 no persisted namespace is present2798 is expected to be nil2799 a legacy namespace with no environment is present2800 is expected to eq #<Clusters::KubernetesNamespace id: 9, cluster_id: 864, project_id: 1049, cluster_project_id: nil, cr...ce_account_name: "project977-1049-service-account", environment_id: nil, service_account_token: nil>2801 project cluster2802 is expected to eq #<Clusters::KubernetesNamespace id: 10, cluster_id: 866, project_id: 1050, cluster_project_id: 12, cr...ce_account_name: "project978-1050-service-account", environment_id: nil, service_account_token: nil>2803 service account token is blank2804 is expected to be nil2805 allow_blank_token is true2806 is expected to eq #<Clusters::KubernetesNamespace id: 12, cluster_id: 870, project_id: 1052, cluster_project_id: nil, c...ce_account_name: "project980-1052-service-account", environment_id: nil, service_account_token: nil>2807WikiPages::UpdateService2808 #execute2809 updates the wiki page2810 executes webhooks2811 counts edit events2812 when the options are bad2813 does not count an edit event2814 reports the error2815Gitlab::ImportExport::Base::RelationFactory2816 #create2817 when relation is invalid2818 returns without creating new relations2819 when the relation is predefined2820 returns without creating a new relation2821 when #setup_models is not implemented2822 raises NotImplementedError2823 when #setup_models is implemented2824 creates imported object2825 when relation contains user references2826 maps the right author to the imported note2827 when relation contains token attributes2828 removes token attributes2829 when relation contains encrypted attributes2830 removes encrypted attributes2831 .relation_class2832 when relation name is pluralized2833 returns constantized class2834 when relation name is singularized2835 returns constantized class2836IssuablesHelper2837 #users_dropdown_label2838 returns unassigned2839 returns selected user's name2840 returns selected user's name and counter2841 #group_dropdown_label2842 returns default group label when group_id is nil2843 returns "any group" when group_id is 02844 returns group full path when a group was found for the provided id2845 returns default label when a group was not found for the provided id2846 #issuable_labels_tooltip2847 returns label text with no labels2848 returns label text with labels within max limit2849 returns label text with labels exceeding max limit2850 #issuables_state_counter_text2851 state text2852 returns "Open" when state is :opened2853 returns "Closed" when state is :closed2854 returns "Merged" when state is :merged2855 returns "All" when state is :all2856 #issuable_reference2857 when show_full_reference truthy2858 display issuable full reference2859 when show_full_reference falsey2860 when @group present2861 display issuable reference to @group2862 when @project present2863 display issuable reference to @project2864 #updated_at_by2865 is expected to eq {}2866 is expected to eq {:updatedAt=>"2020-03-03T04:40:38+00:00", :updatedBy=>{:name=>"John Doe3011", :path=>"/user3011"}}2867 when updated by a deleted user2868 returns "Ghost user" as edited_by2869 #issuable_initial_data2870 returns the correct data for an issue2871 #sentryIssueIdentifier2872 sets sentryIssueIdentifier to nil with no sentry issue2873 sets sentryIssueIdentifier to sentry_issue_identifier2874 #zoomMeetingUrl in issue2875 with no "added" zoom mettings2876 behaves like sets zoomMeetingUrl to nil2877 is expected to be nil2878 with multiple removed meetings2879 behaves like sets zoomMeetingUrl to nil2880 is expected to be nil2881 with "added" zoom meeting2882 behaves like sets zoomMeetingUrl to canonical meeting url2883 is expected to include {:zoomMeetingUrl => "https://zoom.us/j/123456789"}2884 with muliple "removed" zoom meetings2885 behaves like sets zoomMeetingUrl to canonical meeting url2886 is expected to include {:zoomMeetingUrl => "https://zoom.us/j/123456789"}2887 #assignee_sidebar_data2888 returns hash of assignee data2889 with merge_request2890 can_merge: true2891 is expected to include {:can_merge => true}2892 can_merge: false2893 is expected to include {:can_merge => false}2894Mutations::MergeRequests::SetMilestone2895 #resolve2896 raises an error if the resource is not accessible to the user2897 when the user can update the merge request2898 returns the merge request with the milestone2899 returns errors merge request could not be updated2900 when passing milestone_id as nil2901 removes the milestone2902 does not do anything if the MR already does not have a milestone2903List2904 behaves like having unique enum values2905 has unique values in "list_type"2906 relationships2907 is expected to belong to board required:2908 is expected to belong to label required:2909 validations2910 is expected to validate that :board cannot be empty/falsy2911 is expected to validate that :label cannot be empty/falsy2912 is expected to validate that :list_type cannot be empty/falsy2913 is expected to validate that :position cannot be empty/falsy2914 is expected to validate that :position looks like an integer greater than or equal to 02915 when list_type is set to closed2916 is expected not to validate that :label cannot be empty/falsy2917 is expected not to validate that :position cannot be empty/falsy2918 #destroy2919 can be destroyed when list_type is set to label2920 can not be destroyed when list_type is set to closed2921 #destroyable?2922 returns true when list_type is set to label2923 returns false when list_type is set to closed2924 #movable?2925 returns true when list_type is set to label2926 returns false when list_type is set to closed2927 #title2928 returns label name when list_type is set to label2929 returns Closed when list_type is set to closed2930 #update_preferences_for2931 when user is present2932 when there are no preferences for user2933 creates new user preferences2934 when there are preferences for user2935 updates user preferences2936 when user is nil2937 does not create user preferences2938 #preferences_for2939 when user is nil2940 returns not persisted preferences2941 when a user preference already exists2942 loads preference for user2943 when preferences for user does not exist2944 returns not persisted preferences2945projects/tags/index.html.haml2946 defaults sort dropdown toggle to last updated2947 renders links to the Releases page for tags associated with a release2948 when the most recent build for a tag has artifacts2949 renders the Artifacts section in the download list2950 renders artifact download links2951 when the most recent build for a tag has expired artifacts2952 does not render the Artifacts section in the download list2953 does not render artifact download links2954Issues::ReorderService2955 #execute2956 when ordering issues in a project2957 behaves like issues reorder service2958 when reordering issues2959 returns false with no params2960 returns false with both invalid params2961 sorts issues2962 when ordering issues in a group2963 behaves like issues reorder service2964 when reordering issues2965 returns false with no params2966 returns false with both invalid params2967 sorts issues2968 when ordering in a group issue list2969 sends the board_group_id parameter2970 sorts issues2971CustomIssueTrackerService2972 Associations2973 is expected to belong to project required:2974 is expected to have one service_hook2975 Validations2976 when service is active2977 is expected to validate that :project_url cannot be empty/falsy2978 is expected to validate that :issues_url cannot be empty/falsy2979 is expected to validate that :new_issue_url cannot be empty/falsy2980 behaves like issue tracker service URL attribute2981 is expected to allow :project_url to be ‹"https://example.com"›2982 is expected not to allow :project_url to be ‹"example.com"›2983 is expected not to allow :project_url to be ‹"ftp://example.com"›2984 is expected not to allow :project_url to be ‹"herp-and-derp"›2985 behaves like issue tracker service URL attribute2986 is expected to allow :issues_url to be ‹"https://example.com"›2987 is expected not to allow :issues_url to be ‹"example.com"›2988 is expected not to allow :issues_url to be ‹"ftp://example.com"›2989 is expected not to allow :issues_url to be ‹"herp-and-derp"›2990 behaves like issue tracker service URL attribute2991 is expected to allow :new_issue_url to be ‹"https://example.com"›2992 is expected not to allow :new_issue_url to be ‹"example.com"›2993 is expected not to allow :new_issue_url to be ‹"ftp://example.com"›2994 is expected not to allow :new_issue_url to be ‹"herp-and-derp"›2995 when service is inactive2996 is expected not to validate that :project_url cannot be empty/falsy2997 is expected not to validate that :issues_url cannot be empty/falsy2998 is expected not to validate that :new_issue_url cannot be empty/falsy2999 title3000 sets a default title3001 sets the custom title3002 overriding properties3003 when data are stored in properties3004 behaves like issue tracker fields3005 when data are stored in the properties3006 #update3007 removes title and description from properties3008 stores title & description in services table3009 reading fields3010 returns correct values3011 when data are stored in separated fields3012 behaves like issue tracker fields3013 when data are stored in the properties3014 #update3015 removes title and description from properties3016 stores title & description in services table3017 reading fields3018 returns correct values3019 when data are stored in both properties and separated fields3020 behaves like issue tracker fields3021 when data are stored in the properties3022 #update3023 removes title and description from properties3024 stores title & description in services table3025 reading fields3026 returns correct values3027 when no title & description are set3028 returns default values3029Groups::GroupLinks::CreateService#execute3030 adds group to another group3031 returns false if shared group is blank3032 user does not have access to group3033 returns error3034 user does not have admin access to shared group3035 returns error3036 group hierarchies3037 group user3038 create proper authorizations3039 parent group user3040 create proper authorizations3041 child group user3042 create proper authorizations3043Gitlab::ImportExport::LfsRestorer3044 #restore3045 when the archive contains lfs files3046 succeeds3047 does not create a new `LfsObject` records, as one already exists3048 creates new `LfsObjectsProject` records in order to link the project to the existing `LfsObject`3049 restores the correct `LfsObject` records3050 restores the correct `LfsObjectsProject` records for the project3051 assigns the file correctly3052 when there is not an existing `LfsObject`3053 creates a new lfs object3054 stores the upload3055 when there is no lfs-objects.json file3056 restores the correct `LfsObject` records3057 restores a single `LfsObjectsProject` record for the project with "project" for the `repository_type`3058 without any LFS-objects3059 succeeds3060Metrics::Dashboard::DynamicEmbedService3061 .valid_params?3062 is expected to be truthy3063 missing embedded3064 is expected to be falsey3065 not embedded3066 is expected to be falsey3067 undefined dashboard3068 is expected to be truthy3069 missing dashboard3070 is expected to be truthy3071 missing group3072 is expected to be falsey3073 missing title3074 is expected to be falsey3075 undefined y-axis label3076 is expected to be falsey3077 #get_dashboard3078 when the dashboard does not exist3079 behaves like misconfigured dashboard service response3080 returns an appropriate message and status code3081 when the dashboard is exists3082 caches the unprocessed dashboard for subsequent calls3083 behaves like valid embedded dashboard service response3084 behaves like valid dashboard service response for schema3085 returns a json representation of the dashboard3086 behaves like raises error for users with insufficient permissions3087 when the user does not have sufficient access3088 behaves like misconfigured dashboard service response3089 returns an appropriate message and status code3090 when the specified group is not present on the dashboard3091 behaves like misconfigured dashboard service response3092 returns an appropriate message and status code3093 when the specified title is not present on the dashboard3094 behaves like misconfigured dashboard service response3095 returns an appropriate message and status code3096 when the specified y-axis label is not present on the dashboard3097 behaves like misconfigured dashboard service response3098 returns an appropriate message and status code3099 when the dashboard is nil3100 behaves like uses system dashboard3101 uses the default dashboard3102 when the dashboard is not present3103 behaves like uses system dashboard3104 uses the default dashboard3105ChatNotificationService3106 Associations3107 is expected to validate that :webhook cannot be empty/falsy3108 #can_test?3109 with empty repository3110 returns true3111 with repository3112 returns true3113 #execute3114 with a repository3115 returns true3116 with an empty repository3117 returns true3118 with a project with name containing spaces3119 does not remove spaces3120 with single channel specified3121 behaves like with channel specified3122 notifies all channels3123 with multiple channel names specified3124 behaves like with channel specified3125 notifies all channels3126 with multiple channel names with spaces specified3127 behaves like with channel specified3128 notifies all channels3129ProjectLabel3130 relationships3131 is expected to belong to project required:3132 validations3133 is expected to validate that :project cannot be empty/falsy3134 validates if title must not exist at group level3135 returns error if title already exists at group level3136 does not returns error if title does not exist at group level3137 does not returns error if project does not belong to group3138 does not returns error when title does not change3139 when attempting to add more than one priority to the project label3140 returns error3141 #subject3142 aliases project to subject3143 #to_reference3144 using id3145 returns a String reference to the object3146 using name3147 returns a String reference to the object3148 uses id when name contains double quote3149 using invalid format3150 raises error3151 cross project reference3152 using name3153 returns cross reference with label name3154 using id3155 returns cross reference with label id3156Gitlab::IssuableMetadata3157 returns an empty Hash if an empty collection is provided3158 raises an error when given a collection with no limit3159 issues3160 aggregates stats on issues3161 merge requests3162 aggregates stats on merge requests3163ProjectAutoDevops3164 is expected to belong to project required:3165 is expected to define :deploy_strategy as an enum, backed by an integer3166 is expected to respond to #created_at3167 is expected to respond to #updated_at3168 behaves like having unique enum values3169 has unique values in "deploy_strategy"3170 #predefined_variables3171 when deploy_strategy is manual3172 is expected to include {:key => "AUTO_DEVOPS_EXPLICITLY_ENABLED", :value => "1"}3173 when deploy_strategy is continuous3174 is expected to include {:key => "AUTO_DEVOPS_EXPLICITLY_ENABLED", :value => "1"}3175 is expected not to include "STAGING_ENABLED" and "INCREMENTAL_ROLLOUT_ENABLED"3176 when deploy_strategy is timed_incremental3177 is expected to include {:key => "INCREMENTAL_ROLLOUT_MODE", :value => "timed"}3178 is expected to include {:key => "AUTO_DEVOPS_EXPLICITLY_ENABLED", :value => "1"}3179 is expected not to include "STAGING_ENABLED" and "INCREMENTAL_ROLLOUT_ENABLED"3180 when auto-devops is explicitly disabled3181 is expected to be empty3182 #create_gitlab_deploy_token3183 when the project is public3184 does not create a gitlab deploy token3185 when the project is internal3186 creates a gitlab deploy token3187 when the project is private3188 creates a gitlab deploy token3189 when autodevops is enabled at project level3190 creates a deploy token3191 when autodevops is enabled at instance level3192 creates a deploy token3193 when autodevops is disabled3194 does not create a deploy token3195 when the project already has an active gitlab-deploy-token3196 does not create a deploy token3197 when the project already has a revoked gitlab-deploy-token3198 does not create a deploy token3199Gitlab::ExclusiveLease3200 #try_obtain3201 cannot obtain twice before the lease has expired3202 can obtain after the lease has expired3203 #renew3204 returns true when we have the existing lease3205 returns false when we dont have a lease3206 #exists?3207 returns true for an existing lease3208 returns false for a lease that does not exist3209 .get_uuid3210 gets the uuid if lease with the key associated exists3211 returns false if the lease does not exist3212 .cancel3213 can cancel a lease3214 #ttl3215 returns the TTL of the Redis key3216 returns nil when the lease does not exist3217 .reset_all!3218 removes all existing lease keys from redis3219Gitlab::Ci::Status::Stage::PlayManual3220 #action_icon3221 is expected to eq "play"3222 #action_button_title3223 is expected to eq "Play all manual"3224 #action_title3225 is expected to eq "Play all manual"3226 #action_path3227 is expected to eq "/namespace1178/project1120/pipelines/371/stages/test/play_manual"3228 #action_method3229 is expected to eq :post3230 .matches?3231 when stage is skipped3232 is expected to be truthy3233 when stage is manual3234 is expected to be truthy3235 when stage is scheduled3236 is expected to be truthy3237 when stage is success3238 and does not have manual builds3239 is expected to be falsy3240Projects::DownloadService3241 File service3242 for a URL that is not on whitelist3243 is expected to eq nil3244 for URLs that are on the whitelist3245 an image file3246 is expected to have key :alt3247 is expected to have key :url3248 is expected to match "rails_sample.jpg"3249 is expected to eq "rails_sample"3250 a txt file3251 is expected to have key :alt3252 is expected to have key :url3253 is expected to match "doc_sample.txt"3254 is expected to eq "doc_sample.txt"3255Spam::MarkAsSpamService3256 #execute3257 when the spammable object is not submittable3258 does not submit as spam3259 spam is submitted successfully3260 submits as spam3261 updates the spammable object's user agent detail as being submitted as spam3262 when Akismet does not consider it spam3263 does not update the spammable object as spam3264NoteEntity3265 behaves like note entity3266 basic note3267 exposes correct elements3268 does not expose elements for specific notes cases3269 exposes author correctly3270 does not expose web_url for author3271 when note was edited3272 exposes last_edited_at and last_edited_by elements3273 when note is a system note3274 exposes system_note_icon_name element3275Gitlab::SlashCommands::IssueNew3276 #execute3277 without description3278 creates the issue3279 with description3280 creates the issue with description3281 with more newlines between the title and the description3282 creates the issue3283 issue cannot be created3284 displays the errors3285 .match3286 matches the title without description3287 matches the title with description3288 matches the alias new3289Gitlab::ImportExport::AfterExportStrategies::WebUploadStrategy3290 validations3291 only POST and PUT method allowed3292 onyl allow urls as upload urls3293 #execute3294 removes the exported project file after the upload3295 when upload fails3296 stores the export error3297Gitlab::GithubImport::Importer::DiffNoteImporter3298 #execute3299 when the merge request no longer exists3300 does not import anything3301 when the merge request exists3302 imports the note3303 imports the note when the author could not be found3304 produces a valid LegacyDiffNote3305 does not import the note when a foreign key error is raised3306 #find_merge_request_id3307 returns a merge request ID3308NoteSummary3309 #metadata?3310 returns true when metadata present3311 returns false when metadata not present3312 #note3313 returns note hash3314 when noteable is a commit3315 returns note hash specific to commit3316 #metadata3317 returns metadata hash3318 description action and noteable has saved_description_version3319 sets the description_version metadata3320Projects::GroupLinks::DestroyService#execute3321 removes group from project3322 returns false if group_link is blank3323 todos cleanup3324 when project is private3325 triggers todos cleanup3326 when project is public or internal3327 when project is public3328 behaves like removes confidential todos3329 does not trigger todos cleanup3330 when project is internal3331 behaves like removes confidential todos3332 does not trigger todos cleanup3333DeploymentMergeRequest3334 is expected to belong to deployment required: true3335 is expected to belong to merge_request required: true3336Banzai::ReferenceParser::LabelParser3337 #nodes_visible_to_user3338 when the link has a data-issue attribute3339 behaves like referenced feature visibility3340 when feature is disabled3341 does not create reference3342 when feature is enabled only for team members3343 does not create reference for non member3344 creates reference for member3345 when feature is enabled3346 creates reference3347 #referenced_by3348 when the link has a data-label attribute3349 using an existing label ID3350 returns an Array of labels3351 using a non-existing label ID3352 returns an empty Array3353LegacyDiffDiscussion3354 #reply_attributes3355 includes line_code3356 #merge_request_version_params3357 when the discussion is active3358 returns an empty hash, which will end up showing the latest version3359 when the discussion is outdated3360 returns nil3361SentryIssueFinder3362 #execute3363 when the user is not part of the project3364 is expected to be nil3365 when the user is a project developer3366 is expected to eq #<SentryIssue id: 4, issue_id: 341, sentry_issue_identifier: 10000003>3367 when identifier is incorrect3368 is expected to be nil3369 when accessing another projects identifier3370 is expected to be nil3371Gitlab::LegacyGithubImport::CommentFormatter3372 #attributes3373 when do not reference a portion of the diff3374 returns formatted attributes3375 when on a portion of the diff3376 returns formatted attributes3377 when author is a GitLab user3378 returns GitLab user id associated with GitHub id as author_id3379 returns GitLab user id associated with GitHub email as author_id3380 returns note without created at tag line3381Gitlab::Danger::CommitLinter3382 #fixup?3383 commit_message: "A commit message", is_fixup: false3384 is true when commit message starts with "fixup!" or "squash!"3385 commit_message: "fixup!", is_fixup: true3386 is true when commit message starts with "fixup!" or "squash!"3387 commit_message: "fixup! A commit message", is_fixup: true3388 is true when commit message starts with "fixup!" or "squash!"3389 commit_message: "squash!", is_fixup: true3390 is true when commit message starts with "fixup!" or "squash!"3391 commit_message: "squash! A commit message", is_fixup: true3392 is true when commit message starts with "fixup!" or "squash!"3393 #suggestion?3394 commit_message: "A commit message", is_suggestion: false3395 is true when commit message starts with "Apply suggestion to"3396 commit_message: "Apply suggestion to", is_suggestion: true3397 is true when commit message starts with "Apply suggestion to"3398 commit_message: "Apply suggestion to \"A commit message\"", is_suggestion: true3399 is true when commit message starts with "Apply suggestion to"3400 #merge?3401 commit_message: "A commit message", is_merge: false3402 is true when commit message starts with "Merge branch"3403 commit_message: "Merge branch", is_merge: true3404 is true when commit message starts with "Merge branch"3405 commit_message: "Merge branch \"A commit message\"", is_merge: true3406 is true when commit message starts with "Merge branch"3407 #revert?3408 commit_message: "A commit message", is_revert: false3409 is true when commit message starts with "Revert \""3410 commit_message: "Revert", is_revert: false3411 is true when commit message starts with "Revert \""3412 commit_message: "Revert \"", is_revert: true3413 is true when commit message starts with "Revert \""3414 commit_message: "Revert \"A commit message\"", is_revert: true3415 is true when commit message starts with "Revert \""3416 #multi_line?3417 commit_message: "A commit message", is_multi_line: false3418 is true when commit message contains details3419 commit_message: "A commit message\n", is_multi_line: false3420 is true when commit message contains details3421 commit_message: "A commit message\n\n", is_multi_line: false3422 is true when commit message contains details3423 commit_message: "A commit message\n\nWith details", is_multi_line: true3424 is true when commit message contains details3425 #failed?3426 with no failures3427 is expected not to be failed3428 with failures3429 is expected to be failed3430 #add_problem3431 stores messages in #failures3432 #lint3433 subject3434 when subject valid3435 behaves like a valid commit3436 does not have any problem3437 when subject is too short3438 adds a problem3439 when subject is too long3440 adds a problem3441 when subject is a WIP3442 does not have any problems3443 when subject is too short and too long3444 adds a problem3445 when subject is above warning3446 adds a problem3447 when subject starts with lowercase3448 adds a problem3449 when subject ends with a period3450 adds a problem3451 separator3452 when separator is missing3453 behaves like a valid commit3454 does not have any problem3455 when separator is a blank line3456 behaves like a valid commit3457 does not have any problem3458 when separator is missing3459 adds a problem3460 details3461 when details are valid3462 behaves like a valid commit3463 does not have any problem3464 when no details are given and many files are changed3465 behaves like a valid commit3466 does not have any problem3467 when no details are given and many lines are changed3468 behaves like a valid commit3469 does not have any problem3470 when no details are given and many files and lines are changed3471 adds a problem3472 when details exceeds the max line length3473 adds a problem3474 when details exceeds the max line length including a URL3475 behaves like a valid commit3476 does not have any problem3477 message3478 when message includes a text emoji3479 adds a problem3480 when message includes a unicode emoji3481 adds a problem3482 when message includes a short reference3483 adds a problem3484 adds a problem3485 adds a problem3486 adds a problem3487 adds a problem3488 adds a problem3489 adds a problem3490 adds a problem3491 adds a problem3492 adds a problem3493 adds a problem3494 adds a problem3495RemoveUnreferencedLfsObjectsWorker3496 #perform3497 removes unreferenced lfs objects3498 leaves referenced lfs objects3499 removes unreferenced lfs objects after project removal3500WebHook3501 associations3502 is expected to have many web_hook_logs3503 validations3504 is expected to validate that :url cannot be empty/falsy3505 url3506 is expected to allow :url to be ‹"http://example.com"›3507 is expected to allow :url to be ‹"https://example.com"›3508 is expected to allow :url to be ‹" https://example.com "›3509 is expected to allow :url to be ‹"http://test.com/api"›3510 is expected to allow :url to be ‹"http://test.com/api?key=abc"›3511 is expected to allow :url to be ‹"http://test.com/api?key=abc&type=def"›3512 is expected not to allow :url to be ‹"example.com"›3513 is expected not to allow :url to be ‹"ftp://example.com"›3514 is expected not to allow :url to be ‹"herp-and-derp"›3515 strips :url before saving it3516 token3517 is expected to allow :token to be ‹"foobar"›3518 is expected not to allow :token to be ‹"foo\nbar"› or ‹"foo\r\nbar"›3519 push_events_branch_filter3520 is expected to allow :push_events_branch_filter to be ‹"good_branch_name"› or ‹"another/good-branch_name"›3521 is expected to allow :push_events_branch_filter to be ‹""›3522 is expected not to allow :push_events_branch_filter to be ‹"bad branch name"› or ‹"bad~branchname"›3523 gets rid of whitespace3524 stores whitespace only as empty3525 encrypted attributes3526 is expected to contain exactly :token and :url3527 execute3528 #execute3529 #async_execute3530 #destroy3531 cascades to web_hook_logs3532Gitlab::DatabaseImporters::CommonMetrics::Importer3533 does import common_metrics.yml3534 has the same amount of groups3535 has the same amount of panels3536 has the same amount of metrics3537 does not have duplicate IDs3538 imports all IDs3539 does import common_metrics.yml3540 when executed from outside of the Rails.root3541 does import properly all fields3542 if ID is missing3543 raises exception3544 for existing common metric with different ID3545 behaves like stores metric3546 with all data3547 and existing metric is not changed3548 when metric with ID exists3549 behaves like stores metric3550 with all data3551 and existing metric is changed3552Clusters::Providers::Aws3553 is expected to belong to cluster required:3554 is expected to validate that the length of :key_name is between 1 and 2553555 is expected to validate that the length of :region is between 1 and 2553556 is expected to validate that the length of :instance_type is between 1 and 2553557 is expected to validate that the length of :security_group_id is between 1 and 2553558 is expected to validate that :subnet_ids cannot be empty/falsy3559 state_machine3560 when any => [:created]3561 nullifies API credentials3562 when any => [:creating]3563 calls #assign_operation_id on the provider3564 when any => [:errored]3565 calls #nullify_credentials on the provider3566 sets a status reason3567 when status_reason is nil3568 does not set status_reason3569 #on_creation?3570 status: :scheduled, result: true3571 is expected to eq true3572 status: :creating, result: true3573 is expected to eq true3574 status: :created, result: false3575 is expected to eq false3576 status: :errored, result: false3577 is expected to eq false3578 default_value_for3579 sets default values3580 custom validations3581 :num_nodes3582 contains non-digit characters3583 is expected to be falsey3584 is blank3585 is expected to be falsey3586 is less than 13587 is expected to be falsey3588 is a positive integer3589 is expected to be truthy3590 #nullify_credentials3591 removes access_key_id, secret_access_key and session_token3592 #api_client3593 is expected to eq #<Double (anonymous)>3594 #credentials3595 is expected to eq #<Double (anonymous)>3596 #created_by_user3597 is expected to eq #<User id:3274 @user3348>3598 #has_rbac_enabled?3599 is expected to be truthy3600 #knative_pre_installed?3601 is expected to be falsey3602ActiveSession3603 #current?3604 returns true if the active session matches the current session3605 returns false if the active session does not match the current session3606 returns false if the session id is nil3607 #public_id3608 returns an encrypted, url-encoded session id3609 .list3610 returns all sessions by user3611 does not return obsolete entries and cleans them up3612 returns an empty array if the use does not have any active session3613 .list_sessions3614 uses the ActiveSession lookup to return original sessions3615 .session_ids_for_user3616 uses the user lookup table to return session ids3617 .sessions_from_ids3618 uses the ActiveSession lookup to return original sessions3619 avoids a redis lookup for an empty array3620 uses redis lookup in batches3621 .set3622 sets a new redis entry for the user session and a lookup entry3623 adds timestamps and information from the request3624 keeps the created_at from the login on consecutive requests3625 .destroy3626 removes the entry associated with the currently killed user session3627 removes the lookup entry3628 removes the devise session3629 .destroy_with_public_id3630 receives a user and public id and destroys the associated session3631 handles invalid input for public id3632 does not attempt to destroy session when given invalid input for public id3633 .cleanup3634 removes obsolete lookup entries3635 does not bail if there are no lookup entries3636 cleaning up old sessions3637 removes obsolete active sessions entries3638 removes obsolete lookup entries3639 removes obsolete lookup entries even without active session3640 when the number of active sessions is lower than the limit3641 does not remove active session entries, but removes lookup entries3642HashedStorage::ProjectMigrateWorker3643 #perform3644 skips when project no longer exists3645 skips when project is pending delete3646 skips when project is already migrated3647 with exclusive lease available3648 delegates migration to service class3649 delegates migration to service class with correct path in a partially migrated project3650 with exclusive lease taken3651 skips when it cant acquire the exclusive lease3652Gitlab::HealthChecks::UnicornCheck3653 when Unicorn is not loaded3654 does not provide readiness and metrics3655 when Unicorn is loaded3656 when no servers are running3657 behaves like with state3658 does provide readiness3659 does provide metrics3660 when servers without workers are running3661 behaves like with state3662 does provide readiness3663 does provide metrics3664 when servers with workers are running3665 behaves like with state3666 does provide readiness3667 does provide metrics3668DeploymentSerializer3669 #represent3670 behaves like json schema3671 matches deployment entity schema3672 #represent_concise3673 behaves like json schema3674 matches deployment entity schema3675Gitlab::LoopHelpers3676 #loop_until3677 when limit is not given3678 raises an error3679 when timeout is specified3680 returns false after it's expired3681 executes the block at least once3682 when iteration limit is specified3683 returns false after it's expired3684 executes the block once3685ErrorTracking::ListIssuesService3686 #execute3687 with authorized user3688 returns the issues with resolved issue_status3689 returns the issues with unresolved issue_status3690 returns the issues with ignored issue_status3691 returns the issues with no issue_status3692 returns bad request for an issue_status not on the whitelist3693 when list_sentry_issues returns nil3694 result is not ready3695 when list_sentry_issues returns error3696 returns the error3697 when list_sentry_issues returns error with http_status3698 returns the error with correct http_status3699 with unauthorized user3700 returns error3701 with error tracking disabled3702 raises error3703 #external_url3704 calls the project setting sentry_external_url3705Tags::CreateService3706 #execute3707 creates the tag and returns success3708 when target is invalid3709 returns an error3710 when tag already exists3711 returns an error3712 when pre-receive hook fails3713 returns an error3714Gitlab::BitbucketImport::WikiFormatter3715 #disk_path3716 appends .wiki to disk path3717 #full_path3718 appends .wiki to project path3719 #import_url3720 returns URL of the wiki repository3721Ci::CreatePipelineService#execute3722 child pipeline triggers3723DEPRECATION 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)3724DEPRECATION 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)3725 creates bridge jobs correctly3726 child pipeline triggers3727 when YAML is valid3728DEPRECATION 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)3729DEPRECATION 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)3730 creates bridge jobs correctly3731 when YAML is invalid3732 returns errors3733Banzai::Filter::CommitTrailersFilter3734 detects3735 trailers in the form of *-by and replace users with links3736 trailers prefixed with whitespaces3737 GitLab users via a secondary email3738 multiple trailers in the same message3739 non GitLab users3740 when Gravatar is disabled3741 behaves like mailto links3742 replaces them with mailto links3743 when Gravatar is enabled3744 behaves like mailto links3745 replaces them with mailto links3746 special names3747 name: "John S. Doe"3748 is expected to match "deserunt\\-by:\\ John\\ S\\.\\ Doe\\ <theodore_kris@casper\\.com>"3749 name: "L33t H@x0r"3750 is expected to match "ut\\-by:\\ L33t\\ H@x0r\\ <mayme\\.hermiston@wildermanbarton\\.us>"3751 ignores3752 commit messages without trailers3753 trailers that are inline the commit message body3754 structure3755 preserves the commit trailer structure3756 preserves the original name used in the commit message3757 preserves the original email used in the commit message3758 only replaces trailer lines not the full commit message3759 with Gitlab-hosted avatars in commit trailers3760 returns a full path for avatar urls3761projects/settings/ci_cd/_autodevops_form3762 shows a warning message about Kubernetes cluster3763 when the project has an available kubernetes cluster3764 does not show a warning message about Kubernetes cluster3765 shows a warning message about base domain3766Resolvers::TreeResolver3767 #resolve3768 resolves to a tree3769 resolve to a recursive tree3770 when repository does not exist3771 returns nil3772AuditEventService3773 #security_event3774 creates an event and logs to a file3775 formats from and to fields3776 #log_security_event_to_file3777 logs security event to file3778Gitlab::SlashCommands::Presenters::IssueSearch3779 formats the message correct3780 shows a list of results3781NewNoteWorker3782 when Note found3783 calls NotificationService#new_note3784 calls Notes::PostProcessService#execute3785 when Note not found3786 logs NewNoteWorker process skipping3787 does not raise errors3788 does not call NotificationService3789 does not call Notes::PostProcessService3790Gitlab::Ci::Status::Build::Action3791 #label3792 when status has action3793 does not append text3794 when status does not have action3795 appends text about action not allowed3796 .matches?3797 when build is playable action3798 is a correct match3799 when build is not playable action3800 does not match3801 #badge_tooltip3802 returns the status3803Gitlab::Import::SetAsyncJid3804 .set_jid3805 sets the JID in Redis3806 updates the import JID of the project3807Users::LastPushEventService3808 #cache_last_push_event3809 caches the event for the event's project and current user3810 caches the event for the origin project when pushing to a fork3811 #last_event_for_user3812 returns the last push event for the current user3813 returns nil when no push event could be found3814 #last_event_for_project3815 returns the last push event for the given project3816 returns nil when no push event could be found3817 #find_cached_event3818 with a non-existing cache key3819 returns nil3820 with an existing cache key3821 returns a PushEvent when no merge requests exist for the event3822 removes the cache key when no event could be found and returns nil3823Gitlab::Analytics::CycleAnalytics::StageEvents::CodeStageStart3824 needs connection with an issue via merge_requests_closing_issues table3825 behaves like cycle analytics event3826 is expected to be a kind of String3827 is expected to be a kind of Symbol3828 is expected to include ApplicationRecord(abstract)3829 is expected to respond to #timestamp_projection3830 #apply_query_customization3831 expects an ActiveRecord::Relation object as argument and returns a modified version of it3832ImportExportCleanUpService3833 #execute3834 when the import/export directory does not exist3835 does not remove any archives3836 when the import/export directory exists3837 removes old files3838 does not remove new files3839 with uploader exports3840 removes old files3841 does not remove new files3842Gitlab::Ci::Build::Prerequisite::Factory3843 .for_build3844 prerequisite is unmet3845 is expected to eq [#<InstanceDouble(Gitlab::Ci::Build::Prerequisite::KubernetesNamespace) (anonymous)>]3846 prerequisite is met3847 is expected to be empty3848Import::GithubController routing3849 to #personal_access_token3850 behaves like importer routing3851 to #create3852 to #new3853 to #status3854 to #callback3855 to #jobs3856 to #realtime_changes3857Import::GiteaController routing3858 to #personal_access_token3859 behaves like importer routing3860 to #create3861 to #new3862 to #status3863 to #callback3864 to #jobs3865 to #realtime_changes3866Import::GitlabController routing3867 behaves like importer routing3868 to #create3869 to #new3870 to #status3871 to #callback3872 to #jobs3873 to #realtime_changes3874Import::BitbucketController routing3875 behaves like importer routing3876 to #create3877 to #new3878 to #status3879 to #callback3880 to #jobs3881 to #realtime_changes3882Import::GoogleCodeController routing3883 to #callback3884 to #new_user_map3885 to #create_user_map3886 behaves like importer routing3887 to #create3888 to #new3889 to #status3890 to #callback3891 to #jobs3892 to #realtime_changes3893Import::FogbugzController routing3894 to #callback3895 to #new_user_map3896 to #create_user_map3897 behaves like importer routing3898 to #create3899 to #new3900 to #status3901 to #callback3902 to #jobs3903 to #realtime_changes3904Import::GitlabProjectsController routing3905 to #create3906 to #new3907Import::PhabricatorController routing3908 to #create3909 to #new3910Banzai::Filter::WikiLinkFilter3911 doesn't rewrite absolute links3912 doesn't rewrite links to project uploads3913 when links point to the uploads folder3914 with an "a" html tag3915 rewrites links3916 with "img" html tag3917 inside an "a" html tag3918 rewrites links3919 outside an "a" html tag3920 rewrites links3921 with "video" html tag3922 rewrites links3923 with "audio" html tag3924 rewrites links3925 invalid links3926 doesn't rewrite invalid invalid_links like http://:80803927 doesn't rewrite invalid invalid_links like http://3928 doesn't rewrite invalid invalid_links like http://:8080/path3929WikiHelper3930 #breadcrumb3931 when the page is at the root level3932 returns the capitalized page name3933 when the page is inside a directory3934 returns the capitalized name of each directory and of the page itself3935 #wiki_sort_controls3936 initial call3937 renders with default values3938 sort by title3939 renders a link with opposite direction3940 sort by created_at3941 renders a link with opposite direction3942 #wiki_sort_title3943 returns a title corresponding to a key3944 defaults to Title if a key is unknown3945LabelPriority3946 relationships3947 is expected to belong to project required:3948 is expected to belong to label required:3949 validations3950 is expected to validate that :project cannot be empty/falsy3951 is expected to validate that :label cannot be empty/falsy3952 is expected to validate that :priority looks like an integer greater than or equal to 03953 validates uniqueness of label_id scoped to project_id3954Gitlab::HTTP3955 when allow_local_requests3956 sends the request to the correct URI3957 when not allow_local_requests3958 sends the request to the correct URI3959 allow_local_requests_from_web_hooks_and_services is3960 disabled3961 deny requests to localhost3962 deny requests to private network3963 if allow_local_requests set to true3964 override the global value and allow requests to localhost or private network3965 enabled3966 allow requests to localhost3967 allow requests to private network3968 if allow_local_requests set to false3969 override the global value and ban requests to localhost or private network3970 handle redirect loops3971 handles GET requests3972 handles POST requests3973 handles PUT requests3974 handles DELETE requests3975 handles HEAD requests3976Gitlab::Middleware::ReadOnly3977 normal requests to a read-only GitLab instance3978 expects PATCH requests to be disallowed3979 expects PUT requests to be disallowed3980 expects POST requests to be disallowed3981 expects a internal POST request to be allowed after a disallowed request3982 expects DELETE requests to be disallowed3983 expects POST of new file that looks like an LFS batch url to be disallowed3984 returns last_vistited_url for disallowed request3985 whitelisted requests3986 expects a POST internal request to be allowed3987 expects a graphql request to be allowed3988 sidekiq admin requests3989 mounted_at: ""3990 allows requests3991 mounted_at: "/"3992 allows requests3993 mounted_at: "/gitlab"3994 allows requests3995 mounted_at: "/gitlab/"3996 allows requests3997 mounted_at: "/gitlab/gitlab"3998 allows requests3999 mounted_at: "/gitlab/gitlab/"4000 allows requests4001 description: "LFS request to batch", path: "/root/rouge.git/info/lfs/objects/batch"4002 expects a POST description: "LFS request to batch", path: "/root/rouge.git/info/lfs/objects/batch" URL to be allowed4003 description: "LFS request to locks verify", path: "/root/rouge.git/info/lfs/locks/verify"4004 expects a POST description: "LFS request to locks verify", path: "/root/rouge.git/info/lfs/locks/verify" URL to be allowed4005 description: "LFS request to locks create", path: "/root/rouge.git/info/lfs/locks"4006 expects a POST description: "LFS request to locks create", path: "/root/rouge.git/info/lfs/locks" URL to be allowed4007 description: "LFS request to locks unlock", path: "/root/rouge.git/info/lfs/locks/1/unlock"4008 expects a POST description: "LFS request to locks unlock", path: "/root/rouge.git/info/lfs/locks/1/unlock" URL to be allowed4009 description: "request to git-upload-pack", path: "/root/rouge.git/git-upload-pack"4010 expects a POST description: "request to git-upload-pack", path: "/root/rouge.git/git-upload-pack" URL to be allowed4011 description: "request to git-receive-pack", path: "/root/rouge.git/git-receive-pack"4012 expects a POST description: "request to git-receive-pack", path: "/root/rouge.git/git-receive-pack" URL to be allowed4013 json requests to a read-only GitLab instance4014 expects PATCH requests to be disallowed4015 expects PUT requests to be disallowed4016 expects POST requests to be disallowed4017 expects DELETE requests to be disallowed4018UpdateMergeRequestsWorker4019 #perform4020 executes MergeRequests::RefreshService with expected values4021 when slow4022 logs debug info4023profiles/show4024 when the profile page is opened4025 displays the correct elements4026ProjectBadge4027 associations4028 is expected to belong to project required:4029 validations4030 is expected to validate that :project cannot be empty/falsy4031 methods4032 #rendered_link_url4033 behaves like rendered_links4034 uses the badge project information to populate the url placeholders4035 #rendered_image_url4036 behaves like rendered_links4037 uses the badge project information to populate the url placeholders4038PagesDomainSslRenewalWorker4039 #perform4040 delegates to ObtainLetsEncryptCertificateService4041 when domain was deleted4042 does nothing4043 when domain is disabled4044 does nothing4045shared/projects/_project.html.haml4046 renders creator avatar if project has a creator4047 renders a generic avatar if project does not have a creator4048Gitlab::Graphql::Representation::TreeEntry4049 .decorate4050 returns NilClass when given nil4051 returns array of TreeEntry4052PushoverService4053 Associations4054 is expected to belong to project required:4055 is expected to have one service_hook4056 Validations4057 when service is active4058 is expected to validate that :api_key cannot be empty/falsy4059 is expected to validate that :user_key cannot be empty/falsy4060 is expected to validate that :priority cannot be empty/falsy4061 when service is inactive4062 is expected not to validate that :api_key cannot be empty/falsy4063 is expected not to validate that :user_key cannot be empty/falsy4064 is expected not to validate that :priority cannot be empty/falsy4065 Execute4066 calls Pushover API4067Clusters::Applications::WaitForUninstallAppWorker#perform4068 app exists4069 calls the check service4070 app does not exist4071 does not call the check service4072PackagistService4073 Associations4074 is expected to belong to project required:4075 is expected to have one service_hook4076 #execute4077 calls Packagist API4078Clusters::Cleanup::ServiceAccountWorker4079 #perform4080 when cluster.cleanup_status is cleanup_removing_service_account4081 calls Clusters::Cleanup::ServiceAccountService4082 when cluster.cleanup_status is not cleanup_removing_service_account4083 does not call Clusters::Cleanup::ServiceAccountService4084Gitlab::GitlabImport::Importer4085 #execute4086 persists issues4087Gitlab::Ci::Config::External::File::Base4088 #matching?4089 when a location is present4090 returns true4091 with a location is missing4092 returns false4093 #valid?4094 when location is not a string4095 is expected not to be valid4096 when location is not a YAML file4097 is expected not to be valid4098 when location has not a valid naming scheme4099 is expected not to be valid4100 when location is a valid .yml extension4101 is expected to be valid4102 when location is a valid .yaml extension4103 is expected to be valid4104 when there are YAML syntax errors4105 is not a valid file4106 #to_hash4107 with includes4108 does expand hash to include the template4109Sentry::Client::IssueLink4110 #create_issue_link4111 is expected to be present4112 behaves like calls sentry api4113 calls sentry api4114 redirects4115 behaves like no Sentry redirects4116 does not follow redirects4117 when exception is raised4118 behaves like maps Sentry exceptions4119 HTTParty::Error4120 is expected to raise Sentry::Client::Error with "Error when connecting to Sentry"4121 Net::OpenTimeout4122 is expected to raise Sentry::Client::Error with "Connection to Sentry timed out"4123 SocketError4124 is expected to raise Sentry::Client::Error with "Received SocketError when trying to connect to Sentry"4125 OpenSSL::SSL::SSLError4126 is expected to raise Sentry::Client::Error with "Sentry returned invalid SSL data"4127 Errno::ECONNREFUSED4128 is expected to raise Sentry::Client::Error with "Connection refused"4129 StandardError4130 is expected to raise Sentry::Client::Error with "Sentry request failed due to StandardError"4131 when integration_id is not provided4132 is expected to be present4133 behaves like calls sentry api4134 calls sentry api4135 redirects4136 behaves like no Sentry redirects4137 does not follow redirects4138 when exception is raised4139 behaves like maps Sentry exceptions4140 HTTParty::Error4141 is expected to raise Sentry::Client::Error with "Error when connecting to Sentry"4142 Net::OpenTimeout4143 is expected to raise Sentry::Client::Error with "Connection to Sentry timed out"4144 SocketError4145 is expected to raise Sentry::Client::Error with "Received SocketError when trying to connect to Sentry"4146 OpenSSL::SSL::SSLError4147 is expected to raise Sentry::Client::Error with "Sentry returned invalid SSL data"4148 Errno::ECONNREFUSED4149 is expected to raise Sentry::Client::Error with "Connection refused"4150 StandardError4151 is expected to raise Sentry::Client::Error with "Sentry request failed due to StandardError"4152Gitlab::Database4153 .config4154 returns a Hash4155 .adapter_name4156 returns the name of the adapter4157 returns Unknown when using anything else4158 .human_adapter_name4159 returns PostgreSQL when using PostgreSQL4160 .postgresql?4161 is expected to satisfy expression `val == true || val == false`4162 .version4163 memoizes the result4164 on postgresql4165 extracts the version number4166 .postgresql_9_or_less?4167 returns true when using postgresql 8.44168 returns true when using PostgreSQL 9.64169 returns false when using PostgreSQL 10 or newer4170 .postgresql_minimum_supported_version?4171 returns false when using PostgreSQL 9.54172 returns true when using PostgreSQL 9.64173 returns true when using PostgreSQL 10 or newer4174 .replication_slots_supported?4175 returns false when using PostgreSQL 9.34176 returns true when using PostgreSQL 9.4.0 or newer4177 .pg_wal_lsn_diff4178 returns old name when using PostgreSQL 9.64179 returns new name when using PostgreSQL 10 or newer4180 .pg_current_wal_insert_lsn4181 returns old name when using PostgreSQL 9.64182 returns new name when using PostgreSQL 10 or newer4183 .pg_last_wal_receive_lsn4184 returns old name when using PostgreSQL 9.64185 returns new name when using PostgreSQL 10 or newer4186 .pg_last_wal_replay_lsn4187 returns old name when using PostgreSQL 9.64188 returns new name when using PostgreSQL 10 or newer4189 .pg_last_xact_replay_timestamp4190 returns pg_last_xact_replay_timestamp4191 .nulls_last_order4192 is expected to eq "column ASC NULLS LAST"4193 is expected to eq "column DESC NULLS LAST"4194 .nulls_first_order4195 is expected to eq "column ASC NULLS FIRST"4196 is expected to eq "column DESC NULLS FIRST"4197 .with_connection_pool4198 creates a new connection pool and disconnect it after used4199 disconnects the pool even an exception was raised4200 .bulk_insert4201 does nothing with empty rows4202 uses the ordering from the first row4203 quotes column names4204 quotes values4205 does not quote values of a column in the disable_quote option4206 does not quote values of columns in the disable_quote option4207 handles non-UTF-8 data4208 when using PostgreSQL4209 allows the returning of the IDs of the inserted rows4210 with version >= 9.54211 allows setting the upsert to do nothing4212 with version < 9.54213 refuses setting the upsert4214 .create_connection_pool4215 creates a new connection pool with specific pool size4216 allows setting of a custom hostname4217 allows setting of a custom hostname and port4218 .cached_column_exists?4219 only retrieves data once4220 .cached_table_exists?4221 only retrieves data once per table4222 returns false when database does not exist4223 .exists?4224 returns true if `ActiveRecord::Base.connection` succeeds4225 returns false if `ActiveRecord::Base.connection` fails4226 #true_value4227 returns correct value4228 #false_value4229 returns correct value4230 .read_only?4231 returns false4232 .db_read_only?4233 detects a read only database4234 detects a read only database4235 detects a read write database4236 detects a read write database4237 #sanitize_timestamp4238 with a timestamp smaller than MAX_TIMESTAMP_VALUE4239 returns the given timestamp4240 with a timestamp larger than MAX_TIMESTAMP_VALUE4241 returns MAX_TIMESTAMP_VALUE4242Gitlab::Ci::Pipeline::Expression::Statement4243 .new4244 when variables are not provided4245 allows to properly initializes the statement4246 #evaluate4247 expression: "$PRESENT_VARIABLE == \"my variable\"", value: true4248 evaluates to `true`4249 expression: "\"my variable\" == $PRESENT_VARIABLE", value: true4250 evaluates to `true`4251 expression: "$PRESENT_VARIABLE == null", value: false4252 evaluates to `false`4253 expression: "$EMPTY_VARIABLE == null", value: false4254 evaluates to `false`4255 expression: "\"\" == $EMPTY_VARIABLE", value: true4256 evaluates to `true`4257 expression: "$EMPTY_VARIABLE", value: ""4258 evaluates to `""`4259 expression: "$UNDEFINED_VARIABLE == null", value: true4260 evaluates to `true`4261 expression: "null == $UNDEFINED_VARIABLE", value: true4262 evaluates to `true`4263 expression: "$PRESENT_VARIABLE", value: "my variable"4264 evaluates to `"my variable"`4265 expression: "$UNDEFINED_VARIABLE", value: nil4266 evaluates to `nil`4267 expression: "$PRESENT_VARIABLE =~ /var.*e$/", value: true4268 evaluates to `true`4269 expression: "$PRESENT_VARIABLE =~ /va\\r.*e$/", value: false4270 evaluates to `false`4271 expression: "$PRESENT_VARIABLE =~ /va\\/r.*e$/", value: false4272 evaluates to `false`4273 expression: "$PRESENT_VARIABLE =~ /var.*e$/", value: true4274 evaluates to `true`4275 expression: "$PRESENT_VARIABLE =~ /^var.*/", value: false4276 evaluates to `false`4277 expression: "$EMPTY_VARIABLE =~ /var.*/", value: false4278 evaluates to `false`4279 expression: "$UNDEFINED_VARIABLE =~ /var.*/", value: false4280 evaluates to `false`4281 expression: "$PRESENT_VARIABLE =~ /VAR.*/i", value: true4282 evaluates to `true`4283 expression: "$PATH_VARIABLE =~ /path\\/variable/", value: true4284 evaluates to `true`4285 expression: "$FULL_PATH_VARIABLE =~ /^\\/a\\/full\\/path\\/variable\\/value$/", value: true4286 evaluates to `true`4287 expression: "$FULL_PATH_VARIABLE =~ /\\/path\\/variable\\/value$/", value: true4288 evaluates to `true`4289 expression: "$PRESENT_VARIABLE != \"my variable\"", value: false4290 evaluates to `false`4291 expression: "\"my variable\" != $PRESENT_VARIABLE", value: false4292 evaluates to `false`4293 expression: "$PRESENT_VARIABLE != null", value: true4294 evaluates to `true`4295 expression: "$EMPTY_VARIABLE != null", value: true4296 evaluates to `true`4297 expression: "\"\" != $EMPTY_VARIABLE", value: false4298 evaluates to `false`4299 expression: "$UNDEFINED_VARIABLE != null", value: false4300 evaluates to `false`4301 expression: "null != $UNDEFINED_VARIABLE", value: false4302 evaluates to `false`4303 expression: "$PRESENT_VARIABLE !~ /var.*e$/", value: false4304 evaluates to `false`4305 expression: "$PRESENT_VARIABLE !~ /^var.*/", value: true4306 evaluates to `true`4307 expression: "$PRESENT_VARIABLE !~ /^v\\ar.*/", value: true4308 evaluates to `true`4309 expression: "$PRESENT_VARIABLE !~ /^v\\/ar.*/", value: true4310 evaluates to `true`4311 expression: "$EMPTY_VARIABLE !~ /var.*/", value: true4312 evaluates to `true`4313 expression: "$UNDEFINED_VARIABLE !~ /var.*/", value: true4314 evaluates to `true`4315 expression: "$PRESENT_VARIABLE !~ /VAR.*/i", value: false4316 evaluates to `false`4317 expression: "$PRESENT_VARIABLE && \"string\"", value: "string"4318 evaluates to `"string"`4319 expression: "$PRESENT_VARIABLE && $PRESENT_VARIABLE", value: "my variable"4320 evaluates to `"my variable"`4321 expression: "$PRESENT_VARIABLE && $EMPTY_VARIABLE", value: ""4322 evaluates to `""`4323 expression: "$PRESENT_VARIABLE && null", value: nil4324 evaluates to `nil`4325 expression: "\"string\" && $PRESENT_VARIABLE", value: "my variable"4326 evaluates to `"my variable"`4327 expression: "$EMPTY_VARIABLE && $PRESENT_VARIABLE", value: "my variable"4328 evaluates to `"my variable"`4329 expression: "null && $PRESENT_VARIABLE", value: nil4330 evaluates to `nil`4331 expression: "$EMPTY_VARIABLE && \"string\"", value: "string"4332 evaluates to `"string"`4333 expression: "$EMPTY_VARIABLE && $EMPTY_VARIABLE", value: ""4334 evaluates to `""`4335 expression: "\"string\" && $EMPTY_VARIABLE", value: ""4336 evaluates to `""`4337 expression: "\"string\" && null", value: nil4338 evaluates to `nil`4339 expression: "null && \"string\"", value: nil4340 evaluates to `nil`4341 expression: "\"string\" && \"string\"", value: "string"4342 evaluates to `"string"`4343 expression: "null && null", value: nil4344 evaluates to `nil`4345 expression: "$PRESENT_VARIABLE =~ /my var/ && $EMPTY_VARIABLE =~ /nope/", value: false4346 evaluates to `false`4347 expression: "$EMPTY_VARIABLE == \"\" && $PRESENT_VARIABLE", value: "my variable"4348 evaluates to `"my variable"`4349 expression: "$EMPTY_VARIABLE == \"\" && $PRESENT_VARIABLE != \"nope\"", value: true4350 evaluates to `true`4351 expression: "$PRESENT_VARIABLE && $EMPTY_VARIABLE", value: ""4352 evaluates to `""`4353 expression: "$PRESENT_VARIABLE && $UNDEFINED_VARIABLE", value: nil4354 evaluates to `nil`4355 expression: "$UNDEFINED_VARIABLE && $EMPTY_VARIABLE", value: nil4356 evaluates to `nil`4357 expression: "$UNDEFINED_VARIABLE && $PRESENT_VARIABLE", value: nil4358 evaluates to `nil`4359 expression: "$FULL_PATH_VARIABLE =~ /^\\/a\\/full\\/path\\/variable\\/value$/ && $PATH_VARIABLE =~ /path\\/variable/", value: true4360 evaluates to `true`4361 expression: "$FULL_PATH_VARIABLE =~ /^\\/a\\/bad\\/path\\/variable\\/value$/ && $PATH_VARIABLE =~ /path\\/variable/", value: false4362 evaluates to `false`4363 expression: "$FULL_PATH_VARIABLE =~ /^\\/a\\/full\\/path\\/variable\\/value$/ && $PATH_VARIABLE =~ /bad\\/path\\/variable/", value: false4364 evaluates to `false`4365 expression: "$FULL_PATH_VARIABLE =~ /^\\/a\\/bad\\/path\\/variable\\/value$/ && $PATH_VARIABLE =~ /bad\\/path\\/variable/", value: false4366 evaluates to `false`4367 expression: "$FULL_PATH_VARIABLE =~ /^\\/a\\/full\\/path\\/variable\\/value$/ || $PATH_VARIABLE =~ /path\\/variable/", value: true4368 evaluates to `true`4369 expression: "$FULL_PATH_VARIABLE =~ /^\\/a\\/bad\\/path\\/variable\\/value$/ || $PATH_VARIABLE =~ /path\\/variable/", value: true4370 evaluates to `true`4371 expression: "$FULL_PATH_VARIABLE =~ /^\\/a\\/full\\/path\\/variable\\/value$/ || $PATH_VARIABLE =~ /bad\\/path\\/variable/", value: true4372 evaluates to `true`4373 expression: "$FULL_PATH_VARIABLE =~ /^\\/a\\/bad\\/path\\/variable\\/value$/ || $PATH_VARIABLE =~ /bad\\/path\\/variable/", value: false4374 evaluates to `false`4375 expression: "$PRESENT_VARIABLE =~ /my var/ || $EMPTY_VARIABLE =~ /nope/", value: true4376 evaluates to `true`4377 expression: "$EMPTY_VARIABLE == \"\" || $PRESENT_VARIABLE", value: true4378 evaluates to `true`4379 expression: "$PRESENT_VARIABLE != \"nope\" || $EMPTY_VARIABLE == \"\"", value: true4380 evaluates to `true`4381 expression: "$PRESENT_VARIABLE && null || $EMPTY_VARIABLE == \"\"", value: true4382 evaluates to `true`4383 expression: "$PRESENT_VARIABLE || $UNDEFINED_VARIABLE", value: "my variable"4384 evaluates to `"my variable"`4385 expression: "$UNDEFINED_VARIABLE || $PRESENT_VARIABLE", value: "my variable"4386 evaluates to `"my variable"`4387 expression: "$UNDEFINED_VARIABLE == null || $PRESENT_VARIABLE", value: true4388 evaluates to `true`4389 expression: "$PRESENT_VARIABLE || $UNDEFINED_VARIABLE == null", value: "my variable"4390 evaluates to `"my variable"`4391 #truthful?4392 expression: "$PRESENT_VARIABLE == \"my variable\"", value: true4393 returns `true`4394 expression: "$PRESENT_VARIABLE == 'no match'", value: false4395 returns `false`4396 expression: "$UNDEFINED_VARIABLE == null", value: true4397 returns `true`4398 expression: "$PRESENT_VARIABLE", value: true4399 returns `true`4400 expression: "$UNDEFINED_VARIABLE", value: false4401 returns `false`4402 expression: "$EMPTY_VARIABLE", value: false4403 returns `false`4404 expression: "$INVALID = 1", value: false4405 returns `false`4406 expression: "$PRESENT_VARIABLE =~ /var.*/", value: true4407 returns `true`4408 expression: "$UNDEFINED_VARIABLE =~ /var.*/", value: false4409 returns `false`4410 expression: "$PRESENT_VARIABLE !~ /var.*/", value: false4411 returns `false`4412 expression: "$UNDEFINED_VARIABLE !~ /var.*/", value: true4413 returns `true`4414 when evaluating expression raises an error4415 returns false4416RepositoryCheck::ClearWorker4417 clears repository check columns4418NewReleaseWorker4419 sends a new release notification4420Evidences::EvidenceEntity4421 exposes the expected fields4422Mutations::ResolvesProject4423 uses the ProjectsResolver to resolve projects by path4424API::Helpers::LabelHelpers4425 create_service_params4426 when a project is given4427 returns the expected params4428 when a group is given4429 returns the expected params4430 when something else is given4431 raises a type error4432Gitlab::Tracking4433 .snowplow_options4434 returns useful client options4435 enables features using feature flags4436 tracking events4437 .event4438 can track events4439 behaves like events not tracked4440 does not track events4441 .self_describing_event4442 can track self describing events4443 behaves like events not tracked4444 does not track events4445Projects::UpdateStatisticsService4446 #execute4447 with a non-existing project4448 does nothing4449 with an existing project4450 refreshes the project statistics4451Gitlab::GithubImport::Stage::ImportPullRequestsWorker4452 #import4453 imports all the pull requests4454gitlab:gitaly namespace rake task4455 install4456 no dir given4457 aborts and display a help message4458 no storage path given4459 aborts and display a help message4460 when an underlying Git command fail4461 aborts and display a help message4462 checkout or clone4463 calls checkout_or_clone_version with the right arguments4464 gmake/make4465 gmake is available4466 calls gmake in the gitaly directory4467 gmake is not available4468 calls make in the gitaly directory4469 when Rails.env is test4470 calls make in the gitaly directory with --no-deployment flag for bundle4471BroadcastMessagesHelper4472 current_broadcast_notification_message4473 with available broadcast notification messages4474 is expected to eq #<BroadcastMessage id: 2, message: "MyText", starts_at: "2020-03-05 04:44:22", ends_at: "2020-03-06 0...ached_markdown_version: 1310720, target_path: nil, broadcast_type: "notification", dismissable: nil>4475 when last broadcast message is hidden4476 is expected to eq #<BroadcastMessage id: 3, message: "MyText", starts_at: "2020-03-04 04:44:23", ends_at: "2020-03-06 0...ached_markdown_version: 1310720, target_path: nil, broadcast_type: "notification", dismissable: nil>4477 without broadcast notification messages4478 is expected to be nil4479 broadcast_message4480 returns nil when no current message4481 includes the current message4482 includes custom style4483 broadcast_message_style4484 defaults to no style4485 allows custom style for banner messages4486 does not add style for notification messages4487 broadcast_message_status4488 returns Active4489 returns Expired4490 returns Pending4491Gitlab::ImportExport::CommandLineUtil4492 has the right mask for project.json4493 has the right mask for uploads4494Gitlab::DependencyLinker::ComposerJsonLinker4495 .support?4496 supports composer.json4497 does not support other files4498 #link4499 does not link the module name4500 links the homepage4501 links the repository URL4502 links the license4503 links dependencies4504 does not link core dependencies4505Gitlab::SlashCommands::Presenters::Access4506 #access_denied4507 is expected to be a kind of Hash4508 behaves like displays an error message4509 is expected to equal :ephemeral4510 #generic_access_denied4511 is expected to be a kind of Hash4512 behaves like displays an error message4513 is expected to equal :ephemeral4514 #deactivated4515 is expected to be a kind of Hash4516 behaves like displays an error message4517 is expected to equal :ephemeral4518 #not_found4519 is expected to be a kind of Hash4520 tells the user the resource was not found4521 #authorize4522 with an authorization URL4523 is expected to be a kind of Hash4524 tells the user to authorize4525 without authorization url4526 is expected to be a kind of Hash4527 tells the user to authorize4528Gitlab::GithubImport::Importer::RepositoryImporter4529 #import_wiki?4530 returns true if the wiki should be imported4531 returns false if the GitHub wiki is disabled4532 returns false if the wiki has already been imported4533 #execute4534 imports the repository and wiki4535 does not import the repository if it already exists4536 does not import the wiki if it is disabled4537 does not import the wiki if the repository could not be imported4538 #import_repository4539 imports the repository4540 marks the import as failed when an error was raised4541 #import_wiki_repository4542 imports the wiki repository4543 marks the import as failed and creates an empty repo if an error was raised4544 #fail_import4545 marks the import as failed4546 #update_clone_time4547 sets the timestamp for when the cloning process finished4548Gitlab::Ci::Config::Entry::Cache4549 validations4550 when entry config value is correct4551 #value4552 behaves like hash key value4553 returns hash value4554 with files4555 behaves like hash key value4556 returns hash value4557 with files and prefix4558 behaves like hash key value4559 returns hash value4560 with prefix4561 key is nil4562 #valid?4563 is expected to be valid4564 with files4565 is expected to be valid4566 policy is pull-push4567 is expected to be valid4568 is expected to include {:policy => "pull-push"}4569 policy is push4570 is expected to be valid4571 is expected to include {:policy => "push"}4572 policy is pull4573 is expected to be valid4574 is expected to include {:policy => "pull"}4575 when key is missing4576 #value4577 sets key with the default4578 when entry value is not correct4579 #errors4580 when is not a hash4581 reports errors with config value4582 when policy is unknown4583 reports error4584 when descendants are invalid4585 with invalid keys4586 reports error with descendants4587 with empty key4588 reports error with descendants4589 with invalid files4590 reports error with descendants4591 with prefix without files4592 reports error with descendants4593 when there is an unknown key present4594 reports error with descendants4595 when there is an unknown key present4596 reports error with descendants4597Gitlab::Metrics::RequestsRackMiddleware4598 #call4599 @app.call succeeds with 2004600 increments requests count4601 measures execution time4602 @app.call throws exception4603 increments exceptions count4604 increments requests count4605 does't measure request execution time4606 .initialize_http_request_duration_seconds4607 sets labels4608AlertsService4609 #url4610 is expected to eq "http://localhost/namespace1348/project1299/alerts/notify.json"4611 #json_fields4612 is expected to eq ["active", "token"]4613 #as_json4614 is expected to eq {"active"=>true, "token"=>nil}4615 #token4616 when active4617 when resetting4618 is expected not to eq nil4619 behaves like valid token4620 is expected to match /\A\h{32}\z/4621 when assigning4622 behaves like valid token4623 is expected to match /\A\h{32}\z/4624 when inactive4625 when resetting4626 behaves like no token4627 is expected to be blank4628 when persisted4629 behaves like valid token4630 is expected to match /\A\h{32}\z/4631Gitlab::VersionInfo4632 >4633 is expected to be > 1.1.04634 is expected to be > 1.0.14635 is expected to be > 1.0.04636 is expected to be > 0.1.04637 is expected to be > 0.0.14638 >=4639 is expected to be >= 2.0.04640 is expected to be >= 1.1.04641 <4642 is expected to be < 0.1.04643 is expected to be < 1.0.04644 is expected to be < 1.0.14645 is expected to be < 1.1.04646 is expected to be < 2.0.04647 <=4648 is expected to be <= 0.0.14649 is expected to be <= 0.1.04650 ==4651 is expected to eq #<Gitlab::VersionInfo:0x0000557353ef7ad8 @major=0, @minor=0, @patch=1>4652 is expected to eq #<Gitlab::VersionInfo:0x00005573543e3790 @major=0, @minor=1, @patch=0>4653 is expected to eq #<Gitlab::VersionInfo:0x000055735462ca10 @major=1, @minor=0, @patch=0>4654 !=4655 is expected not to eq #<Gitlab::VersionInfo:0x0000557354760670 @major=0, @minor=1, @patch=0>4656 unknown4657 is expected not to equal #<Gitlab::VersionInfo:0x00005573548882f0 @major=0, @minor=0, @patch=1>4658 is expected not to equal #<Gitlab::VersionInfo:0x0000557354966fa0 @major=0, @minor=0, @patch=0>4659 is expected to raise ArgumentError4660 is expected to raise ArgumentError4661 parse4662 is expected to eq #<Gitlab::VersionInfo:0x0000557354b5b400 @major=1, @minor=0, @patch=0>4663 is expected to eq #<Gitlab::VersionInfo:0x0000557354bae970 @major=1, @minor=0, @patch=0>4664 is expected to eq #<Gitlab::VersionInfo:0x0000557354c04fa0 @major=1, @minor=0, @patch=0>4665 is expected to eq #<Gitlab::VersionInfo:0x0000557354c73f40 @major=1, @minor=0, @patch=0>4666 is expected to eq #<Gitlab::VersionInfo:0x0000557354cbbf20 @major=1, @minor=0, @patch=0>4667 is expected to eq #<Gitlab::VersionInfo:0x0000557354d17258 @major=1, @minor=0, @patch=0>4668 is expected not to be valid4669 to_s4670 is expected to eq "1.0.0"4671 is expected to eq "Unknown"4672AnalyticsSummarySerializer4673 generates payload for single object4674 contains important elements of AnalyticsStage4675X509SerialNumberAttribute4676 #x509_serial_number_attribute4677 when in non-production4678 when the table exists4679 defines a x509 serial number attribute for a binary column4680 raises ArgumentError when the column type is not :binary4681 when the table does not exist4682 allows the attribute to be added and issues a warning4683 when the column does not exist4684 allows the attribute to be added and issues a warning4685 when other execeptions are raised4686 logs and re-rasises the error4687 when in production4688 defines a x509 serial number attribute4689Gitlab::GithubImport4690 .new_client_for4691 returns a new Client with a custom token4692 returns a new Client with a token stored in the import data4693 .ghost_user_id4694 returns the ID of the ghost user4695 caches the ghost user ID4696EntityDateHelper4697 converts 0 seconds4698 converts 40 seconds4699 converts 60 seconds4700 converts 70 seconds4701 converts 3600 seconds4702 converts 3750 seconds4703 converts 86400 seconds4704 converts 86560 seconds4705 converts 86760 seconds4706 converts 986760 seconds4707 #remaining_days_in_words4708 when less than 31 days remaining4709 returns days remaining4710 when milestone due date is today4711 returns today4712 when milestone due date is tomorrow4713 returns 1 day remaining4714 returns 1 day remaining when queried mid-day4715 when less than 1 year and more than 30 days remaining4716 returns months remaining4717 when more than 1 year remaining4718 returns years remaining4719 when milestone is expired4720 returns "Past due"4721 when milestone has start_date in the future4722 returns "Upcoming"4723 when milestone has start_date in the past4724 returns days elapsed4725Guest4726 .can_pull?4727 when project is private4728 does not allow to pull the repo4729 when project is internal4730 does not allow to pull the repo4731 when project is public4732 when repository is disabled4733 does not allow to pull the repo4734 when repository is accessible only by team members4735 does not allow to pull the repo4736 when repository is enabled4737 allows to pull the repo4738Gitlab::Email::Hook::DisableEmailInterceptor4739 does not send emails4740Gitlab::Ci::Config::Entry::Artifacts4741 validation4742 when entry config value is correct4743 #value4744 returns artifacts configuration4745 #valid?4746 is valid4747 when value includes 'reports' keyword4748 returns general artifact and report-type artifacts configuration4749 when value includes 'expose_as' keyword4750 returns general artifact and report-type artifacts configuration4751 when entry value is not correct4752 #errors4753 when value of attribute is invalid4754 reports error4755 when there is an unknown key present4756 reports error4757 when 'reports' keyword is not hash4758 reports error4759 when 'expose_as' is not a string4760 reports error4761 when 'expose_as' is too long4762 reports error4763 when 'expose_as' is an empty string4764 reports error4765 when 'expose_as' contains invalid characters4766 reports error4767 when 'expose_as' is used without 'paths'4768 reports error4769 when 'paths' includes '*' and 'expose_as' is defined4770 reports error4771 when feature flag :ci_expose_arbitrary_artifacts_in_mr is disabled4772 when syntax is correct4773 is valid4774 when syntax for :expose_as is incorrect4775 is valid4776Gitlab::Auth::OAuth::AuthHash4777 defaults4778 is expected to eq "ldap"4779 is expected to eql "CN=Onur Küçük,OU=Test,DC=example,DC=net"4780 is expected to eql "onur.küçük_ABC-123@example.net"4781 is expected to eql "oküçük"4782 is expected to eql "Onur Küçük"4783 is expected not to be empty4784 is expected to eq "some locality, some country"4785 email not provided4786 generates a temp email4787 username not provided4788DEPRECATION WARNING: ActiveSupport::Multibyte::Chars#normalize is deprecated and will be removed from Rails 6.1. Use #unicode_normalize(:nfkd) instead. (called from generate_username at /builds/gitlab-org/gitlab/lib/gitlab/auth/o_auth/auth_hash.rb:86)4789 takes the first part of the email as username4790 name not provided4791 concats first and lastname as the name4792 auth_hash constructed with ASCII-8BIT encoding4793 forces utf8 encoding on uid4794 forces utf8 encoding on provider4795 forces utf8 encoding on name4796 forces utf8 encoding on username4797 forces utf8 encoding on email4798 forces utf8 encoding on password4799Marginalia spec4800 For rails web requests4801 when the feature is enabled4802 generates a query that includes the component and value4803 when the feature is disabled4804 excludes annotations in generated queries4805 for Sidekiq worker jobs4806 when the feature is enabled4807 generates a query that includes the component and value4808 for ActionMailer delivery jobs4809DEPRECATION 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 (6 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/lib/marginalia_spec.rb:139)4810 generates a query that includes the component and value4811 when the feature is disabled4812 excludes annotations in generated queries4813NamedEcdsaKeyValidator4814 with empty value4815 does not add any error if value is empty4816 when key is not EC4817 does not add any error4818 with ECDSA certificate with named curve4819 does not add any error4820 with ECDSA certificate with explicit curve params4821 adds errors4822Gitlab::PhabricatorImport::Conduit::Client4823 #get4824 performs and parses a request4825 wraps request errors in an `ApiError`4826 raises response error4827LicenseTemplateFinder4828 #execute4829 popular: true4830 only returns popular licenses4831 popular: false4832 only returns unpopular licenses4833 popular: nil4834 returns all licenses known by the Licensee gem4835 correctly copies all attributes4836Gitlab::UsageDataCounters::SnippetCounter4837 behaves like a redis usage counter4838 .count(create)4839 increments the Snippet create counter by 14840 .read(create)4841 returns the total number of create events4842 behaves like a redis usage counter4843 .count(update)4844 increments the Snippet update counter by 14845 .read(update)4846 returns the total number of update events4847 behaves like a redis usage counter with totals4848 totals4849 can report all totals4850 unknown events4851 cannot increment4852 cannot read4853Settings4854 omniauth4855 defaults to enabled4856 .load_dynamic_cron_schedules!4857 generates a valid cron schedule4858 .attr_encrypted_db_key_base_truncated4859 is a string with maximum 32 bytes size4860 .attr_encrypted_db_key_base_124861 when db key base secret is less than 12 bytes4862 expands db key base secret to 12 bytes4863 when key has multiple multi-byte UTF chars exceeding 12 bytes4864 does not use more than 32 bytes4865 .attr_encrypted_db_key_base_324866 when db key base secret is less than 32 bytes4867 expands db key base secret to 32 bytes4868 when db key base secret is 32 bytes4869 returns original value4870 when db key base contains multi-byte UTF character4871 does not use more than 32 bytes4872 when db key base multi-byte UTF chars exceeding 32 bytes4873 does not use more than 32 bytes4874Gitlab::HealthChecks::Redis::RedisCheck4875 #metrics4876 Check is passing4877 is expected to include (have attributes {:name => "redis_ping_success", :value => 1})4878 is expected to include (have attributes {:name => "redis_ping_timeout", :value => 0})4879 is expected to include (have attributes {:name => "redis_ping_latency_seconds", :value => (be >= 0)})4880 Check is misbehaving4881 is expected to include (have attributes {:name => "redis_ping_success", :value => 0})4882 is expected to include (have attributes {:name => "redis_ping_timeout", :value => 0})4883 is expected to include (have attributes {:name => "redis_ping_latency_seconds", :value => (be >= 0)})4884 Check is timeouting4885 is expected to include (have attributes {:name => "redis_ping_success", :value => 0})4886 is expected to include (have attributes {:name => "redis_ping_timeout", :value => 1})4887 is expected to include (have attributes {:name => "redis_ping_latency_seconds", :value => (be >= 0)})4888 #readiness4889 Check returns ok4890 is expected to have attributes {:success => true}4891 Check is misbehaving4892 is expected to have attributes {:message => "unexpected Redis check result: error!", :success => false}4893 Check is timeouting4894 is expected to have attributes {:message => "Redis check timed out", :success => false}4895 Check is raising an unhandled exception4896 is expected to have attributes {:message => "unexpected Redis check result: unexpected error", :success => false}4897Ci::PipelineConfig4898 is expected to belong to pipeline required:4899 is expected to validate that :pipeline cannot be empty/falsy4900 is expected to validate that :content cannot be empty/falsy4901TestReportsComparerSerializer4902 #to_json4903 when head and base reports include two test suites4904 when the status of head report is success4905 matches the schema4906 when the status of head report is failed4907 matches the schema4908 when the status of head report is resolved4909 matches the schema4910GroupVariableEntity4911 #as_json4912 contains required fields4913BitbucketServer::Representation::Comment4914 #id4915 is expected to eq 94916 #author_username4917 is expected to eq "root"4918 #author_email4919 is expected to eq "test.user@example.com"4920 #note4921 is expected to eq "is this a new line?"4922 #created_at4923 is expected to be a kind of Time4924 #updated_at4925 is expected to be a kind of Time4926 #comments4927 is expected to eq 44928 is expected to all be a kind of BitbucketServer::Representation::Comment4929 is expected to contain exactly "Hello world", "Ok", "hello", and "hi"4930 comments have the right parent4931Gitlab::Metrics::System4932 .memory_usage4933 returns the process' memory usage in bytes4934 .file_descriptor_count4935 returns the amount of open file descriptors4936 .max_open_file_descriptors4937 returns the max allowed open file descriptors4938 .cpu_time4939 returns a Float4940 .real_time4941 returns a Float4942 .monotonic_time4943 returns a Float4944 .thread_cpu_time4945 returns cpu_time on supported platform4946 returns nil on unsupported platform4947 .thread_cpu_duration4948 returns difference between start and current time4949 returns nil on unsupported platform4950RspecFlaky::Report4951 delegates to #flaky_examples using SimpleDelegator4952 .load4953 loads the report file4954 .load_json4955 loads the report file4956 #initialize4957 accepts a RspecFlaky::FlakyExamplesCollection4958 does not accept anything else4959 #write4960 when RspecFlaky::Config.generate_report? is false4961 does not write any report file4962 when RspecFlaky::Config.generate_report? is true4963 delegates the writes to RspecFlaky::Report4964 #prune_outdated4965 returns a new collection without the examples older than 30 days by default4966 accepts a given number of days4967Gitlab::GithubImport::Importer::IssuesImporter4968 #parallel?4969 returns true when running in parallel mode4970 returns false when running in sequential mode4971 #execute4972 when running in parallel mode4973 imports issues in parallel4974 when running in sequential mode4975 imports issues in sequence4976 #sequential_import4977 imports each issue in sequence4978 #parallel_import4979 imports each issue in parallel4980 #id_for_already_imported_cache4981 returns the issue number of the given issue4982Gitlab::Ci::Config::Entry::Hidden4983 .matching?4984 when name starts with dot4985 is expected to be truthy4986 when name does not start with dot4987 is expected to be falsey4988 .new4989 validations4990 when entry config value is correct4991 #value4992 returns key value4993 #valid?4994 is valid4995 when entry value is not correct4996 when config is empty4997 #valid4998 is invalid4999 #leaf?5000 is a leaf5001 #relevant?5002 is not a relevant entry5003Banzai::CrossProjectReference5004 #parent_from_ref5005 when no project was referenced5006 returns the project from context5007 when no project was referenced in group context5008 returns the group from context5009 when referenced project does not exist5010 returns nil5011 when referenced project exists5012 returns the referenced project5013Gitlab::Throttle5014 .protected_paths_enabled?5015 when omnibus protected paths throttle should be used5016 is expected to be falsey5017 when omnibus protected paths throttle should not be used5018 returns Application Settings throttle_protected_paths_enabled?5019 .should_use_omnibus_protected_paths?5020 when rack_attack.admin_area_protected_paths_enabled config is unspecified5021 when the omnibus protected paths throttle has been recently used (it has data)5022 is expected to be truthy5023 when the omnibus protected paths throttle has not been recently used5024 is expected to be falsey5025 when rack_attack.admin_area_protected_paths_enabled config is false5026 when the omnibus protected paths throttle has been recently used (it has data)5027 is expected to be truthy5028 when the omnibus protected paths throttle has not been recently used5029 is expected to be falsey5030 when rack_attack.admin_area_protected_paths_enabled config is true5031 is expected to be falsey5032ChatMessage::WikiPageMessage5033 without markdown5034 #pretext5035 when :action == "create"5036 returns a message that a new wiki page was created5037 when :action == "update"5038 returns a message that a wiki page was updated5039 #attachments5040 when :action == "create"5041 returns the commit message for a new wiki page5042 when :action == "update"5043 returns the commit message for an updated wiki page5044 with markdown5045 #pretext5046 when :action == "create"5047 returns a message that a new wiki page was created5048 when :action == "update"5049 returns a message that a wiki page was updated5050 #attachments5051 when :action == "create"5052 returns the commit message for a new wiki page5053 when :action == "update"5054 returns the commit message for an updated wiki page5055 #activity5056 when :action == "create"5057 returns the attachment for a new wiki page5058 when :action == "update"5059 returns the attachment for an updated wiki page5060Gitlab::Themes5061 .body_classes5062 returns a space-separated list of class names5063 .by_id5064 returns a Theme by its ID5065 .default5066 returns the default application theme5067 prevents an infinite loop when configuration default is invalid5068 .each5069 passes the block to the THEMES Array5070Gitlab::Ci::Status::Running5071 #text5072 is expected to eq "running"5073 #label5074 is expected to eq "running"5075 #icon5076 is expected to eq "status_running"5077 #favicon5078 is expected to eq "favicon_status_running"5079 #group5080 is expected to eq "running"5081Peek::Views::RedisDetailed5082 returns aggregated results5083 cmd: [:auth, "test"], expected: "auth <redacted>"5084 scrubs Redis commands5085 cmd: [:set, "key", "value"], expected: "set key <redacted>"5086 scrubs Redis commands5087 cmd: [:set, "bad"], expected: "set bad"5088 scrubs Redis commands5089 cmd: [:hmset, "key1", "value1", "key2", "value2"], expected: "hmset key1 <redacted>"5090 scrubs Redis commands5091 cmd: [:get, "key"], expected: "get key"5092 scrubs Redis commands5093Gitlab::GitalyClient::StorageSettings5094 #initialize5095 when the storage contains no path5096 raises an error5097 when the argument isn't a hash5098 raises an error5099 when the storage is valid5100 raises no error5101 .gitaly_address5102 when the storage settings have no gitaly address but one is requested5103 raises an error5104 when the storage settings have a gitaly address and one is requested5105 returns the setting value5106 when the storage settings have a gitaly address keyed symbolically5107 raises no error5108 when the storage settings have a gitaly address keyed with a string5109 raises no error5110 .disk_access_denied?5111 when Rugged is enabled5112 returns false5113 when Rugged is disabled5114 returns true5115Gitlab::SQL::Glob5116 .to_like5117 matches * as %5118 matches % literally5119 matches _ literally5120Gitlab::Asciidoc::IncludeProcessor5121 #include_allowed?5122 allows the first include5123 allows the Nth + 1 include5124 disallows the Nth + 1 include5125RuboCop::Cop::Gitlab::PredicateMemoization5126 when source is a predicate method memoizing via ivar5127 behaves like registering offense5128 registers an offense when a predicate method is memoizing via ivar5129 behaves like registering offense5130 registers an offense when a predicate method is memoizing via ivar5131 when source is a predicate method using ivar with assignment5132 behaves like not registering offense5133 does not register offenses5134 when source is a predicate method using local with ||=5135 behaves like not registering offense5136 does not register offenses5137 when source is a regular method memoizing via ivar5138 behaves like not registering offense5139 does not register offenses5140RuboCop::Cop::Gitlab::RailsLogger5141 flags the use of Rails.logger.error with a constant receiver5142 flags the use of Rails.logger.info with a constant receiver5143 flags the use of Rails.logger.warn with a constant receiver5144 does not flag the use of Rails.logger with a constant that is not Rails5145 does not flag the use of logger with a send receiver5146Gitlab::Kubernetes::Helm::DeleteCommand5147 behaves like helm commands5148 #generate_script5149 returns appropriate command5150 tillerless feature disabled5151 behaves like helm commands5152 #generate_script5153 returns appropriate command5154 when there is a ca.pem file5155 behaves like helm commands5156 #generate_script5157 returns appropriate command5158 #pod_resource5159 rbac is enabled5160 generates a pod that uses the tiller serviceAccountName5161 rbac is not enabled5162 generates a pod that uses the default serviceAccountName5163 #pod_name5164 is expected to eq "uninstall-app-name"5165Bitbucket::Representation::Comment5166 #author5167 is expected to eq "Ben"5168 is expected to be nil5169 #note5170 is expected to eq "Text"5171 is expected to be nil5172 #created_at5173 is expected to eq Thu, 05 Mar 20205174 #updated_at5175 is expected to eq Thu, 05 Mar 20205176 is expected to eq Thu, 05 Mar 20205177Query5178 is called Query5179 has the expected fields5180 namespace field5181 finds namespaces by full path5182 project field5183 finds projects by full path5184 metadata field5185 returns metadata5186Gitlab::IssuablesCountForState5187 #for_state_or_opened5188 returns the number of issuables for the given state5189 returns the number of open issuables when no state is given5190 returns the number of open issuables when a nil value is given5191 #[]5192 returns the number of issuables for the given state5193 casts valid states from Strings to Symbols5194 returns 0 when using an invalid state name as a String5195Gitlab::Analytics::CycleAnalytics::StageEvents::MergeRequestMerged5196 behaves like cycle analytics event5197 is expected to be a kind of String5198 is expected to be a kind of Symbol5199 is expected to include ApplicationRecord(abstract)5200 is expected to respond to #timestamp_projection5201 #apply_query_customization5202 expects an ActiveRecord::Relation object as argument and returns a modified version of it5203Gitlab::Ci::Status::Failed5204 #text5205 is expected to eq "failed"5206 #label5207 is expected to eq "failed"5208 #icon5209 is expected to eq "status_failed"5210 #favicon5211 is expected to eq "favicon_status_failed"5212 #group5213 is expected to eq "failed"5214TestReportsComparerEntity5215 #as_json5216 when head and base reports include two test suites5217 when the status of head report is success5218 contains correct compared test reports details5219 when the status of head report is failed5220 contains correct compared test reports details5221 when the status of head report is resolved5222 contains correct compared test reports details5223SentryErrorCollection5224 is expected to eq "SentryErrorCollection"5225 is expected to require graphql authorizations :read_sentry_issue5226 exposes the expected fields5227 errors field5228 returns errors5229Gitlab::Auth::Saml::OriginValidator5230 #store_origin5231 stores the SAML request ID5232 #gitlab_initiated?5233 returns false if InResponseTo is not present5234 returns false if InResponseTo does not match stored value5235 returns true if InResponseTo matches stored value5236Gitlab::Ci::Ansi2json::Parser5237 bold?5238 returns true if style mask matches bold format5239 returns false if style mask does not match bold format5240 matching_formats5241 returns matching formats given a style mask5242 returns an empty array if no formats match the style mask5243Gitlab::LegacyGithubImport::IssuableFormatter5244 #project_association5245 is expected to raise NotImplementedError5246 #number5247 is expected to eq 425248 #find_condition5249 is expected to eq {:iid=>42}5250Gitlab::Lograge::CustomOptions5251 .call5252 ignores some parameters5253 formats the parameters5254 adds the current time5255 adds the user id5256TokenAuthenticatableStrategies::Base5257 .fabricate5258 when digest stragegy is specified5259 fabricates digest strategy object5260 when encrypted strategy is specified5261 fabricates encrypted strategy object5262 when no strategy is specified5263 fabricates insecure strategy object5264 when incompatible options are provided5265 raises an error5266Gitlab::Kubernetes::ServiceAccount5267 is expected to eq "a_service_account"5268 is expected to eq "a_namespace"5269 #generate5270 builds a Kubeclient Resource5271SessionsHelper5272 #unconfirmed_email?5273 returns true when the flash alert contains a devise failure unconfirmed message5274 returns false when the flash alert does not contain a devise failure unconfirmed message5275Gitlab::Metrics::Dashboard::Defaults5276 is expected to be const defined :DEFAULT_PANEL_TYPE5277 is expected to be const defined :DEFAULT_PANEL_WEIGHT5278Gitlab::GithubImport::Stage::ImportRepositoryWorker5279 #import5280 when the import succeeds5281 schedules the importing of the base data5282 when the import fails5283 does not schedule the importing of the base data5284Gitlab::SidekiqMiddleware::DuplicateJobs::Server5285 #call5286 removes the stored job from redis5287Gitlab::Diff::InlineDiffMarker5288 #mark5289 when the rich text is html safe5290 marks the range5291 when the text is not html safe5292 marks the range5293Gitlab::Utils::MergeHash5294 .crush5295 can flatten a hash to each element5296 .elements5297 deep merges an array of elements5298SentryErrorStackTraceEntry5299 is expected to eq "SentryErrorStackTraceEntry"5300 exposes the expected fields5301Projects::ImportErrorFilter5302 filters any full paths5303 filters any relative paths ignoring single slash ones5304Gitlab::GithubImport::Importer::IssueAndLabelLinksImporter5305 #execute5306 imports an issue and its labels5307Gitlab::PumaLogging::JSONFormatter5308 generate json format with timestamp and pid5309Gitlab::GitalyClient::Util5310 .repository5311 creates a Gitaly::Repository with the given data5312Banzai::Filter::HtmlEntityFilter5313 converts common entities to their HTML-escaped equivalents5314Gitlab::Kubernetes::ClusterRoleBinding5315 #generate5316 builds a Kubeclient Resource5317Pending: (Failures listed here are expected and do not affect your suite's status)5318 1) AvatarUploader behaves like builds correct paths #cache_dir behaves like matches the method pattern 5319 # No pattern provided, skipping.5320 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:85321 2) AvatarUploader behaves like builds correct paths #work_dir behaves like matches the method pattern 5322 # No pattern provided, skipping.5323 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:85324 3) AvatarUploader behaves like builds correct paths #relative_path is relative5325 # Path not set, skipping.5326 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:395327 4) AvatarUploader behaves like builds correct paths .base_dir behaves like matches the method pattern 5328 # No pattern provided, skipping.5329 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:85330 5) AvatarUploader object_store is REMOTE behaves like builds correct paths #cache_dir behaves like matches the method pattern 5331 # No pattern provided, skipping.5332 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:85333 6) AvatarUploader object_store is REMOTE behaves like builds correct paths #work_dir behaves like matches the method pattern 5334 # No pattern provided, skipping.5335 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:85336 7) AvatarUploader object_store is REMOTE behaves like builds correct paths #relative_path is relative5337 # Path not set, skipping.5338 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:395339 8) AvatarUploader object_store is REMOTE behaves like builds correct paths .absolute_path behaves like matches the method pattern 5340 # No pattern provided, skipping.5341 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:85342 9) AvatarUploader object_store is REMOTE behaves like builds correct paths .base_dir behaves like matches the method pattern 5343 # No pattern provided, skipping.5344 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:85345Finished in 17 minutes 57 seconds (files took 41.19 seconds to load)53462638 examples, 0 failures, 9 pending5347Thu Mar 5 04:45:41 UTC 20205350coverage/: found 5 matching files 5351knapsack/: found 6 matching files 5352rspec_flaky/: found 2 matching files 5353rspec_profiling/: found 2 matching files 5354WARNING: tmp/capybara/: no matching files 5355tmp/memory_test/: found 2 matching files 5356junit_rspec.xml: found 1 matching files 5357Uploading artifacts to coordinator... ok id=460116771 responseStatus=201 Created token=xCv9KfjX5358Uploading artifacts...5359junit_rspec.xml: found 1 matching files 5360Uploading artifacts to coordinator... ok id=460116771 responseStatus=201 Created token=xCv9KfjX5361Job succeeded