rspec-ee unit pg11 9/10
Passed Started
by
@gitlab-bot

🤖 GitLab Bot 🤖
1Running with gitlab-runner 13.3.1 (738bbe5a)2 on prm-com-gitlab-org ae3bfce24Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.6.6-golang-1.14-git-2.28-lfs-2.9-chrome-84-node-12.x-yarn-1.21-postgresql-11-graphicsmagick-1.3.34 ...5Starting service postgres:11.6 ...6Pulling docker image postgres:11.6 ...7Using docker image sha256:2c963c0eb8c6efa49bb8352ea446f248d208d674cfc34fc9ea275b5f99f8dedd for postgres:11.6 ...8Starting service redis:4.0-alpine ...9Pulling docker image redis:4.0-alpine ...10Using docker image sha256:e3dd0e49bca555d559ca2e97f06a1efa108ebd230fddcb17606723994f18ae3b for redis:4.0-alpine ...11Starting service elasticsearch:6.4.2 ...12Pulling docker image elasticsearch:6.4.2 ...13Using docker image sha256:e47ebd7ec3eef5e48746af2ae376f180bbfbd23c7514b5b18a116f8349eb4c34 for elasticsearch:6.4.2 ...14Waiting for services to be up and running...15Authenticating with credentials from job payload (GitLab Registry)16Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.6.6-golang-1.14-git-2.28-lfs-2.9-chrome-84-node-12.x-yarn-1.21-postgresql-11-graphicsmagick-1.3.34 ...17Using docker image sha256:cd688957c9207f55272d81be6d4908692d78233833e3f09a9c0899b2f24eb3ff for registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.6.6-golang-1.14-git-2.28-lfs-2.9-chrome-84-node-12.x-yarn-1.21-postgresql-11-graphicsmagick-1.3.34 ...19Running on runner-ae3bfce2-project-278964-concurrent-0 via runner-ae3bfce2-prm-1598718342-f741e1b6...21$ eval "$CI_PRE_CLONE_SCRIPT"22Downloading archived master...23Connecting to storage.googleapis.com (172.217.204.128:443)24saving to '/tmp/gitlab.tar.gz'25gitlab.tar.gz 15% |***** | 159M 0:00:05 ETA26gitlab.tar.gz 55% |***************** | 556M 0:00:01 ETA27gitlab.tar.gz 94% |****************************** | 951M 0:00:00 ETA28gitlab.tar.gz 100% |********************************| 1007M 0:00:00 ETA29'/tmp/gitlab.tar.gz' saved30Extracting tarball into /builds/gitlab-org/gitlab...31Fetching changes with git depth set to 20...32Reinitialized existing Git repository in /builds/gitlab-org/gitlab/.git/33Created fresh repository.34Checking out 4e12f87c as master...35Skipping Git submodules setup37Checking cache for rails-v2-3...38Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/rails-v2-3 39Successfully extracted cache41Downloading artifacts for compile-test-assets (710020301)...42Downloading artifacts from coordinator... ok id=710020301 responseStatus=200 OK token=dz2RyhAg43Downloading artifacts for retrieve-tests-metadata (710020310)...44Downloading artifacts from coordinator... ok id=710020310 responseStatus=200 OK token=LNgn8mU-45Downloading artifacts for setup-test-env (710020306)...46Downloading artifacts from coordinator... ok id=710020306 responseStatus=200 OK token=wSxhzuKE47WARNING: tmp/tests/gitlab-shell/.gitlab_shell_secret: chmod tmp/tests/gitlab-shell/.gitlab_shell_secret: no such file or directory (suppressing repeats) 49$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb50$ export GOPATH=$CI_PROJECT_DIR/.go51$ mkdir -p $GOPATH52$ source scripts/utils.sh53$ source scripts/prepare_build.sh54Bundler version 1.17.255$ bundle install --clean --without=production --without=development --jobs=2 --path=vendor --retry=3 --quiet56==> 'bundle install --clean --without=production --without=development --jobs=2 --path=vendor --retry=3 --quiet' succeeded in 1 seconds.57$ bundle check58Warning: 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`.59The Gemfile's dependencies are satisfied60==> 'bundle check' succeeded in 0 seconds.61$ bundle pristine pg62Warning: 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`.63Installing pg 1.2.2 with native extensions64==> 'bundle pristine pg' succeeded in 9 seconds.65$ gem install knapsack --no-document66Successfully installed knapsack-1.18.0671 gem installed68==> 'gem install knapsack --no-document' succeeded in 0 seconds.69$ setup_db_user_only70CREATE ROLE71GRANT72==> 'setup_db_user_only' succeeded in 1 seconds.73$ bundle exec rake db:drop db:create db:structure:load db:migrate gitlab:db:setup_ee74Dropped database 'gitlabhq_test'75Created database 'gitlabhq_test'76Dropped database 'gitlabhq_geo_test'77Created database 'gitlabhq_geo_test'78==> 'bundle exec rake db:drop db:create db:structure:load db:migrate gitlab:db:setup_ee' succeeded in 22 seconds.79$ run_timed_command "scripts/gitaly-test-build"80$ scripts/gitaly-test-build81Settings are listed in order of priority. The top value will be used.82retry83Set for your local app (/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config/config): 384path85Set for your local app (/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config/config): "/builds/gitlab-org/gitlab/vendor/gitaly-ruby"86jobs87Set for your local app (/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config/config): 488app_config89Set via BUNDLE_APP_CONFIG: "/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config"90gemfile91Set via BUNDLE_GEMFILE: "/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/Gemfile"92flags93Set via BUNDLE_FLAGS: "--jobs=4 --retry=3 --quiet --path=/builds/gitlab-org/gitlab/vendor/gitaly-ruby"94silence_root_warning95Set via BUNDLE_SILENCE_ROOT_WARNING: true96go install -ldflags '-X gitlab.com/gitlab-org/gitaly/internal/version.version=13.3.0-rc5 -X gitlab.com/gitlab-org/gitaly/internal/version.buildtime=20200829.163430' -tags "tracer_static,tracer_static_jaeger,continuous_profiler_stackdriver" gitlab.com/gitlab-org/gitaly/cmd/praefect gitlab.com/gitlab-org/gitaly/cmd/gitaly-hooks gitlab.com/gitlab-org/gitaly/cmd/gitaly-blackbox gitlab.com/gitlab-org/gitaly/cmd/gitaly gitlab.com/gitlab-org/gitaly/cmd/gitaly-debug gitlab.com/gitlab-org/gitaly/cmd/gitaly-ssh gitlab.com/gitlab-org/gitaly/cmd/gitaly-wrapper97install /builds/gitlab-org/gitlab/tmp/tests/gitaly/_build/bin/praefect /builds/gitlab-org/gitlab/tmp/tests/gitaly/_build/bin/gitaly-hooks /builds/gitlab-org/gitlab/tmp/tests/gitaly/_build/bin/gitaly-blackbox /builds/gitlab-org/gitlab/tmp/tests/gitaly/_build/bin/gitaly /builds/gitlab-org/gitlab/tmp/tests/gitaly/_build/bin/gitaly-debug /builds/gitlab-org/gitlab/tmp/tests/gitaly/_build/bin/gitaly-ssh /builds/gitlab-org/gitlab/tmp/tests/gitaly/_build/bin/gitaly-wrapper /builds/gitlab-org/gitlab/tmp/tests/gitaly98Checking gitaly-ruby Gemfile...99Checking gitaly-ruby bundle...100Warning: 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`.101The Gemfile's dependencies are satisfied102Trying to connect to gitaly: ....... OK103Trying to connect to praefect: ...... OK104==> 'scripts/gitaly-test-build' succeeded in 37 seconds.105$ run_timed_command "scripts/gitaly-test-spawn"106$ scripts/gitaly-test-spawn107Checking gitaly-ruby Gemfile...108Checking gitaly-ruby bundle...109Warning: 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`.110The Gemfile's dependencies are satisfied111Trying to connect to gitaly: ...... OK112Trying to connect to praefect: ...... OK113==> 'scripts/gitaly-test-spawn' succeeded in 1 seconds.114$ source scripts/rspec_helpers.sh115$ rspec_paralellized_job "--tag ~quarantine --tag ~geo --tag ~level:migration"116KNAPSACK_TEST_FILE_PATTERN: ee/spec/{bin,channels,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,tooling}{,/**/}*_spec.rb117Report specs:118ee/spec/models/geo_node_status_spec.rb119ee/spec/tasks/gitlab/seed/group_seed_rake_spec.rb120ee/spec/services/projects/create_from_template_service_spec.rb121ee/spec/services/ee/merge_requests/update_service_spec.rb122ee/spec/models/approval_merge_request_rule_spec.rb123ee/spec/models/push_rule_spec.rb124ee/spec/models/application_setting_spec.rb125ee/spec/models/issue_spec.rb126ee/spec/models/group_wiki_spec.rb127ee/spec/policies/note_policy_spec.rb128ee/spec/services/epics/update_service_spec.rb129ee/spec/lib/banzai/filter/iteration_reference_filter_spec.rb130ee/spec/services/ci/minutes/batch_reset_service_spec.rb131ee/spec/models/project_import_state_spec.rb132ee/spec/services/approval_rules/params_filtering_service_spec.rb133ee/spec/services/ci/run_dast_scan_service_spec.rb134ee/spec/services/groups/autocomplete_service_spec.rb135ee/spec/models/geo_node_spec.rb136ee/spec/finders/ci/daily_build_group_report_results_by_group_finder_spec.rb137ee/spec/lib/ee/gitlab/scim/provisioning_service_spec.rb138ee/spec/models/concerns/approver_migrate_hook_spec.rb139ee/spec/models/gitlab_subscription_spec.rb140ee/spec/services/security/merge_reports_service_spec.rb141ee/spec/presenters/merge_request_presenter_spec.rb142ee/spec/services/protected_environments/create_service_spec.rb143ee/spec/services/wiki_pages/update_service_spec.rb144ee/spec/services/boards/create_service_spec.rb145ee/spec/lib/gitlab/auth/group_saml/gma_membership_enforcer_spec.rb146ee/spec/models/board_spec.rb147ee/spec/models/project_services/jenkins_service_spec.rb148ee/spec/lib/ee/gitlab/background_migration/update_vulnerabilities_from_dismissal_feedback_spec.rb149ee/spec/workers/update_all_mirrors_worker_spec.rb150ee/spec/lib/gitlab/geo/log_cursor/events/repository_updated_event_spec.rb151ee/spec/serializers/vulnerabilities/finding_reports_comparer_entity_spec.rb152ee/spec/services/ee/issuable/bulk_update_service_spec.rb153ee/spec/models/vulnerabilities/export_spec.rb154ee/spec/services/groups/create_service_spec.rb155ee/spec/services/projects/import_service_spec.rb156ee/spec/services/feature_flags/enable_service_spec.rb157ee/spec/models/operations/feature_flags/user_list_spec.rb158ee/spec/graphql/mutations/pipelines/run_dast_scan_spec.rb159ee/spec/services/protected_environments/update_service_spec.rb160ee/spec/lib/gitlab/analytics/cycle_analytics/summary/group/stage_time_summary_spec.rb161ee/spec/lib/gitlab/ci/reports/license_scanning/report_spec.rb162ee/spec/workers/admin_emails_worker_spec.rb163ee/spec/lib/ee/gitlab/elastic/helper_spec.rb164ee/spec/models/ee/event_spec.rb165ee/spec/models/issuables_analytics_spec.rb166ee/spec/services/security/report_summary_service_spec.rb167ee/spec/services/elastic/cluster_reindexing_service_spec.rb168ee/spec/services/ci/process_pipeline_service_spec.rb169ee/spec/services/geo/metrics_update_service_spec.rb170ee/spec/lib/gitlab/ci/templates/api_fuzzing_gitlab_ci_yaml_spec.rb171ee/spec/policies/global_policy_spec.rb172ee/spec/lib/gitlab/geo/replication/blob_downloader_spec.rb173ee/spec/services/wiki_pages/create_service_spec.rb174ee/spec/helpers/search_helper_spec.rb175ee/spec/workers/elastic_namespace_indexer_worker_spec.rb176ee/spec/lib/gitlab/instrumentation/elasticsearch_transport_spec.rb177ee/spec/services/update_build_minutes_service_spec.rb178ee/spec/finders/geo/lfs_object_registry_finder_spec.rb179ee/spec/models/vulnerabilities/identifier_spec.rb180ee/spec/serializers/clusters/deployment_entity_spec.rb181ee/spec/workers/geo/container_repository_sync_dispatch_worker_spec.rb182ee/spec/lib/banzai/reference_parser/iteration_parser_spec.rb183ee/spec/lib/gitlab/ci/pipeline/chain/limit/job_activity_spec.rb184ee/spec/models/project_feature_usage_spec.rb185ee/spec/services/dashboard/environments/list_service_spec.rb186ee/spec/services/ee/merge_requests/base_service_spec.rb187ee/spec/serializers/status_page/incident_comment_entity_spec.rb188ee/spec/services/geo/move_repository_service_spec.rb189ee/spec/workers/elastic_delete_project_worker_spec.rb190ee/spec/graphql/resolvers/iterations_resolver_spec.rb191ee/spec/lib/gitlab/prometheus/queries/additional_metrics_deployment_query_spec.rb192ee/spec/services/ci/audit_variable_change_service_spec.rb193ee/spec/models/project_alias_spec.rb194ee/spec/lib/gitlab/ci/reports/security/aggregated_report_spec.rb195ee/spec/services/projects/restore_service_spec.rb196ee/spec/services/clusters/agents/create_service_spec.rb197ee/spec/lib/gitlab/auth/group_saml/membership_updater_spec.rb198ee/spec/services/ee/issuable/clone/attributes_rewriter_spec.rb199ee/spec/services/iterations/create_service_spec.rb200ee/spec/services/geo/repository_updated_service_spec.rb201ee/spec/finders/group_saml_identity_finder_spec.rb202ee/spec/helpers/ee/issues_helper_spec.rb203ee/spec/helpers/boards_helper_spec.rb204ee/spec/services/boards/destroy_service_spec.rb205ee/spec/models/geo/push_user_spec.rb206ee/spec/models/board_user_preference_spec.rb207ee/spec/lib/ee/gitlab/auth/ldap/sync/external_users_spec.rb208ee/spec/models/elasticsearch_indexed_project_spec.rb209ee/spec/lib/ee/api/helpers/notes_helpers_spec.rb210ee/spec/services/ci/compare_license_scanning_reports_service_spec.rb211ee/spec/services/projects/setup_ci_cd_spec.rb212ee/spec/workers/ci/batch_reset_minutes_worker_spec.rb213ee/spec/lib/gitlab/prometheus/queries/additional_metrics_environment_query_spec.rb214ee/spec/lib/ee/gitlab/search_results_spec.rb215ee/spec/presenters/label_presenter_spec.rb216ee/spec/lib/ee/api/entities/geo_node_status_spec.rb217ee/spec/views/shared/credentials_inventory/personal_access_tokens/_personal_access_token.html.haml_spec.rb218ee/spec/graphql/resolvers/epic_issues_resolver_spec.rb219ee/spec/models/elasticsearch_indexed_namespace_spec.rb220ee/spec/graphql/mutations/instance_security_dashboard/add_project_spec.rb221ee/spec/policies/geo/registry_policy_spec.rb222ee/spec/services/path_locks/unlock_service_spec.rb223ee/spec/graphql/mutations/issues/set_weight_spec.rb224ee/spec/lib/gitlab/import_export/group/relation_factory_spec.rb225ee/spec/services/namespaces/check_storage_size_service_spec.rb226ee/spec/services/security/ci_configuration/sast_parser_service_spec.rb227ee/spec/models/project_services/alerts_service_spec.rb228ee/spec/lib/gitlab/audit/auditor_spec.rb229ee/spec/lib/gitlab/auth/ldap/user_spec.rb230ee/spec/services/ee/audit_events/bulk_insert_service_spec.rb231ee/spec/models/concerns/elastic/projects_search_spec.rb232ee/spec/lib/gitlab/auth/group_saml/dynamic_settings_spec.rb233ee/spec/lib/gitlab/jira/dvcs_spec.rb234ee/spec/lib/ee/gitlab/background_migration/populate_any_approval_rule_for_merge_requests_spec.rb235ee/spec/lib/ee/gitlab/cleanup/orphan_job_artifact_files_batch_spec.rb236ee/spec/presenters/project_clusterable_presenter_spec.rb237ee/spec/services/geo/blob_verification_secondary_service_spec.rb238ee/spec/lib/gitlab/auth_spec.rb239ee/spec/workers/geo/repository_cleanup_worker_spec.rb240ee/spec/lib/banzai/filter/issuable_state_filter_spec.rb241ee/spec/lib/ee/gitlab/url_builder_spec.rb242ee/spec/services/geo/repositories_changed_event_store_spec.rb243ee/spec/lib/ee/api/entities/member_spec.rb244ee/spec/services/status_page/publish_service_spec.rb245ee/spec/lib/ee/gitlab/scim/reprovision_service_spec.rb246ee/spec/services/analytics/cycle_analytics/stages/delete_service_spec.rb247ee/spec/models/remote_mirror_spec.rb248ee/spec/services/milestones/update_service_spec.rb249ee/spec/services/dependency_proxy/request_token_service_spec.rb250ee/spec/serializers/feature_flag_summary_entity_spec.rb251ee/spec/serializers/integrations/jira/issue_entity_spec.rb252ee/spec/graphql/mutations/requirements_management/update_requirement_spec.rb253ee/spec/serializers/ee/blob_entity_spec.rb254ee/spec/views/projects/pipelines/_tabs_content.html.haml_spec.rb255ee/spec/lib/ee/gitlab/scim/deprovision_service_spec.rb256ee/spec/serializers/dashboard_environments_serializer_spec.rb257ee/spec/services/ee/integrations/test/project_service_spec.rb258ee/spec/services/personal_access_tokens/rotation_verifier_service_spec.rb259ee/spec/helpers/ee/hooks_helper_spec.rb260ee/spec/lib/ee/gitlab/ci/pipeline/quota/activity_spec.rb261ee/spec/services/audit_events/build_service_spec.rb262ee/spec/serializers/vulnerability_entity_spec.rb263ee/spec/services/ee/audit_events/custom_audit_event_service_spec.rb264ee/spec/graphql/mutations/boards/update_spec.rb265ee/spec/views/projects/protected_environments/_protected_environment.html.haml_spec.rbKnapsack report generator started!266RSpec'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:12:in `block in <top (required)>')267Run options:268 include {:focus=>true}269 exclude {:quarantine=>true, :geo=>true, :level=>"migration"}270All examples were filtered out; ignoring {:focus=>true}271==> Setting up gitlab-test bare repository in /builds/gitlab-org/gitlab/tmp/tests/gitlab-test_bare...272 /builds/gitlab-org/gitlab/tmp/tests/gitlab-test_bare set up in 0.025965146 seconds...273gitlab:seed:group_seed rake task274 performs group seed successfully275Projects::CreateFromTemplateService276 #execute277 does not create project from custom template278 when use_custom_template is not present or false279 creates an empty project280 when custom_project_templates feature is not enabled281 creates an empty project282 when custom_project_template does not exist283 does not attempt to import a project284 use_template_name: true285 returns the created project286 the result project287 overrides template description288 overrides template visibility_level289 creating project from a Group project template290 when the namespace is not a descendant of the Group owning the template291 when project is created under a group that is outside the hierarchy its root ancestor group292 behaves like a project that isn't persisted293 isn't persisted294 when project is created under a group that is a descendant of its root ancestor group295 behaves like a project that isn't persisted296 isn't persisted297 when project is created under a subgroup that is a descendant of its root ancestor group298 behaves like a project that isn't persisted299 isn't persisted300 when project is created outside of group hierarchy301 behaves like a project that isn't persisted302 isn't persisted303 when the namespace is inside the hierarchy of the Group owning the template304 when project is created under its parent group305 behaves like a persisted project306 is persisted307 when project is created under the same group308 behaves like a persisted project309 is persisted310 when project is created under its descendant group311 behaves like a persisted project312 is persisted313 when project is created under a group that is a descendant of its parent group314 behaves like a persisted project315 is persisted316 when project is created under a subgroup that is a descendant of its parent group317 behaves like a persisted project318 is persisted319 use_template_name: false320 returns the created project321 the result project322 overrides template description323 overrides template visibility_level324 creating project from a Group project template325 when the namespace is not a descendant of the Group owning the template326 when project is created under a group that is outside the hierarchy its root ancestor group327 behaves like a project that isn't persisted328 isn't persisted329 when project is created under a group that is a descendant of its root ancestor group330 behaves like a project that isn't persisted331 isn't persisted332 when project is created under a subgroup that is a descendant of its root ancestor group333 behaves like a project that isn't persisted334 isn't persisted335 when project is created outside of group hierarchy336 behaves like a project that isn't persisted337 isn't persisted338 when the namespace is inside the hierarchy of the Group owning the template339 when project is created under its parent group340 behaves like a persisted project341 is persisted342 when project is created under the same group343 behaves like a persisted project344 is persisted345 when project is created under its descendant group346 behaves like a persisted project347 is persisted348 when project is created under a group that is a descendant of its parent group349 behaves like a persisted project350 is persisted351 when project is created under a subgroup that is a descendant of its parent group352 behaves like a persisted project353 is persisted354MergeRequests::UpdateService355 #execute356 behaves like existing issuable with scoped labels357 when scoped labels are available358 when using label_ids parameter359 adds only last selected exclusive scoped label360 when using label_ids parameter361 adds only last selected exclusive scoped label362 when only removing labels363 preserves multiple exclusive scoped labels364 when scoped labels are not available365 adds all scoped labels366 when code owners changes367 does not create any todos368 does not send any emails369 when approvals_before_merge changes370 project_value: 3, mr_before_value: 4, mr_after_value: 5, result: 5371 does not update372 project_value: 3, mr_before_value: 4, mr_after_value: nil, result: 3373 does not update374 project_value: 3, mr_before_value: nil, mr_after_value: 5, result: 5375 does not update376 merge377 when not approved378 is expected to be valid379 is expected to eq "opened"380 when approved381 is expected to be valid382 is in the "merge" state383 when the approvers change384 when an approver is added and an approver is removed385 adds todos for and sends emails to the new approvers386 does not add todos for or send emails to the existing approvers387 does not add todos for or send emails to the removed approvers388 when the approvers are set to the same values389 does not create any todos390 does not send any emails391 updating target_branch392 resets approvals when target_branch is changed393 creates new todos for the approvers394 updating blocking merge requests395 delegates to MergeRequests::UpdateBlocksService396 when reassigned397 schedules for analytics metric update398 when code_review_analytics is not available399 does not schedule for analytics metric update400 reset_approval_rules_to_defaults param401 when approval rules can be overridden402 when not set403 behaves like undeletable existing approval rules404 does not delete existing approval rules405 when set to false406 behaves like undeletable existing approval rules407 does not delete existing approval rules408 when set to true409 and approval_rules_attributes param is not set410 deletes existing approval rules411 and approval_rules_attributes param is set412 deletes existing approval rules and creates new one413 when approval rules cannot be overridden414 behaves like undeletable existing approval rules415 does not delete existing approval rules416ApprovalMergeRequestRule417 validations418 is valid419 is invalid when the name is missing420 is invalid when name not unique within rule type and merge request421 approval_project_rule is set422 when project of approval_project_rule and merge request matches423 is valid424 when the project of approval_project_rule and merge request does not match425 is invalid426 code owner rules427 is valid428 is invalid when reusing the same name within the same merge request429 allows a regular rule with the same name as the codeowner rule430 report_approver rules431 is valid432 validates presence of report_type433 any_approver rules434 creating only one any_approver rule is allowed435 .regular_or_any_approver scope436 returns regular or any-approver rules437 scopes438 .not_matching_pattern439 returns the correct rules440 .matching_pattern441 returns the correct rules442 .code_owners443 returns the correct rules444 .security_report445 returns the correct rules446 .find_or_create_code_owner_rule447 creates a new rule if it does not exist448 finds an existing rule using rule_type column449 retries when a record was created between the find and the create450 when there is an existing rule451 finds the existing rule452 when the existing rule matches name but not section453 creates a new rule454 when section is present455 creates a new rule and saves section when present456 .applicable_to_branch457 when there are no associated source rules458 behaves like with applicable rules to specified branch459 is expected to eq [#<ApprovalMergeRequestRule id: 67, created_at: "2020-08-29 16:38:17", updated_at: "2020-08-29 16:38:...8, approvals_required: 0, name: "Default-20", rule_type: "regular", report_type: nil, section: nil>]460 when there are associated source rules461 and rule is not overridden462 and there are no associated protected branches to source rule463 behaves like with applicable rules to specified branch464 is expected to eq [#<ApprovalMergeRequestRule id: 68, created_at: "2020-08-29 16:38:17", updated_at: "2020-08-29 16:38:...69, approvals_required: 0, name: "Default-3", rule_type: "regular", report_type: nil, section: nil>]465 and there are associated protected branches to source rule466 and branch matches467 behaves like with applicable rules to specified branch468 is expected to eq [#<ApprovalMergeRequestRule id: 69, created_at: "2020-08-29 16:38:18", updated_at: "2020-08-29 16:38:...70, approvals_required: 0, name: "Default-4", rule_type: "regular", report_type: nil, section: nil>]469 but branch does not match anything470 is expected to be empty471 but rule is overridden472 behaves like with applicable rules to specified branch473 is expected to eq [#<ApprovalMergeRequestRule id: 71, created_at: "2020-08-29 16:38:20", updated_at: "2020-08-29 16:38:...provals_required: 0, name: "Overridden Rule", rule_type: "regular", report_type: nil, section: nil>]474 #project475 returns project of MergeRequest476 #regular477 returns true for regular records478 returns false for code owner records479 returns false for any approver records480 #code_owner?481 rule_type is :code_owner482 returns true483 rule_type is :regular484 returns false485 #approvers486 when project merge_requests_author_approval is true487 contains author488 when project merge_requests_author_approval is false489 does not contain author490 when the rules users have already been loaded491 does not perform any new queries when all users are loaded already492 does not contain the author493 #sync_approved_approvers494 when not merged495 does nothing496 when merged497 records approved approvers as approved_approvers association498 stores all the approvals for any-approver rule499 validations500 approvals_required501 is a natural number502 #refresh_required_approvals!503 when the rule is a `License-Check` rule504 when the latest license report violates the compliance policy505 is expected to equal 3506 when the latest license report adheres to the compliance policy507 is expected to be zero508PushRule509 defaults regexp_uses_re2 to true510 updates regexp_uses_re2 to true on edit511 Associations512 is expected to belong to project required:513 Validation514 is expected to validate that :max_file_size looks like an integer greater than or equal to 0515 validates RE2 regex syntax516 #branch_name_allowed?517 checks branch against regex518 uses RE2 regex engine519 with legacy regex520 attempts to use safe RE2 regex engine521 falls back to ruby regex engine522 #commit_message_allowed?523 uses multiline regex524 #commit_message_blocked?525 uses multiline regex526 #commit_validation?527 setting: :commit_message_regex, value: "regex", result: true528 when rule is enabled at global level529 returns the default value at project level530 setting: :branch_name_regex, value: "regex", result: true531 when rule is enabled at global level532 returns the default value at project level533 setting: :author_email_regex, value: "regex", result: true534 when rule is enabled at global level535 returns the default value at project level536 setting: :file_name_regex, value: "regex", result: true537 when rule is enabled at global level538 returns the default value at project level539 setting: :reject_unsigned_commits, value: true, result: true540 when rule is enabled at global level541 returns the default value at project level542 setting: :commit_committer_check, value: true, result: true543 when rule is enabled at global level544 returns the default value at project level545 setting: :member_check, value: true, result: true546 when rule is enabled at global level547 returns the default value at project level548 setting: :prevent_secrets, value: true, result: true549 when rule is enabled at global level550 returns the default value at project level551 setting: :max_file_size, value: 1, result: false552 when rule is enabled at global level553 returns the default value at project level554 #commit_message_allowed?555 raises a MatchError when the regex is invalid556 #commit_message_blocked?557 raises a MatchError when the regex is invalid558 #branch_name_allowed?559 raises a MatchError when the regex is invalid560 #author_email_allowed?561 raises a MatchError when the regex is invalid562 #filename_denylisted?563 raises a MatchError when the regex is invalid564 #commit_signature_allowed?565 when feature is not licensed and it is enabled566 accepts unsigned commits567 when enabled at a global level568 returns false if commit is not signed569 and disabled at a Project level570 returns true if commit is not signed571 and unset at a Project level572 returns false if commit is not signed573 when disabled at a global level574 returns true if commit is not signed575 but enabled at a Project level576 returns false if commit is not signed577 returns true if commit is signed578 when user has enabled and disabled it at a project level579 and it is enabled globally580 returns false if commit is not signed581 returns true if commit is signed582 with caching583 memoizes the right push rules584 #available?585 reject_unsigned_commits586 with the global push_rule587 with a EE starter license588 behaves like an unavailable push_rule589 is not available590 with a EE premium license591 behaves like an available push_rule592 is available593 with GL.com plans594 with a Bronze plan595 behaves like an unavailable push_rule596 is not available597 with a Silver plan598 behaves like an available push_rule599 is available600 with a Gold plan601 behaves like an available push_rule602 is available603ApplicationSetting604 validations605 is expected to allow :mirror_max_delay to be ‹100›606 is expected not to allow :mirror_max_delay to be ‹nil›607 is expected not to allow :mirror_max_delay to be ‹0›608 is expected not to allow :mirror_max_delay to be ‹1.1›609 is expected not to allow :mirror_max_delay to be ‹-1›610 is expected not to allow :mirror_max_delay to be ‹29 seconds›611 is expected to allow :mirror_max_capacity to be ‹10›612 is expected not to allow :mirror_max_capacity to be ‹nil›613 is expected not to allow :mirror_max_capacity to be ‹0›614 is expected not to allow :mirror_max_capacity to be ‹1.1›615 is expected not to allow :mirror_max_capacity to be ‹-1›616 is expected to allow :mirror_capacity_threshold to be ‹10›617 is expected not to allow :mirror_capacity_threshold to be ‹nil›618 is expected not to allow :mirror_capacity_threshold to be ‹0›619 is expected not to allow :mirror_capacity_threshold to be ‹1.1›620 is expected not to allow :mirror_capacity_threshold to be ‹-1›621 is expected not to allow :mirror_capacity_threshold to be ‹31›622 is expected to allow :custom_project_templates_group_id to be ‹nil›623 is expected to allow :elasticsearch_shards to be ‹10›624 is expected not to allow :elasticsearch_shards to be ‹nil›625 is expected not to allow :elasticsearch_shards to be ‹0›626 is expected not to allow :elasticsearch_shards to be ‹1.1›627 is expected not to allow :elasticsearch_shards to be ‹-1›628 is expected to allow :elasticsearch_replicas to be ‹10›629 is expected to allow :elasticsearch_replicas to be ‹0›630 is expected not to allow :elasticsearch_replicas to be ‹nil›631 is expected not to allow :elasticsearch_replicas to be ‹1.1›632 is expected not to allow :elasticsearch_replicas to be ‹-1›633 is expected to allow :elasticsearch_indexed_file_size_limit_kb to be ‹10›634 is expected not to allow :elasticsearch_indexed_file_size_limit_kb to be ‹0›635 is expected not to allow :elasticsearch_indexed_file_size_limit_kb to be ‹nil›636 is expected not to allow :elasticsearch_indexed_file_size_limit_kb to be ‹1.1›637 is expected not to allow :elasticsearch_indexed_file_size_limit_kb to be ‹-1›638 is expected to allow :elasticsearch_indexed_field_length_limit to be ‹10›639 is expected to allow :elasticsearch_indexed_field_length_limit to be ‹0›640 is expected not to allow :elasticsearch_indexed_field_length_limit to be ‹nil›641 is expected not to allow :elasticsearch_indexed_field_length_limit to be ‹1.1›642 is expected not to allow :elasticsearch_indexed_field_length_limit to be ‹-1›643 is expected to allow :elasticsearch_max_bulk_size_mb to be ‹25›644 is expected not to allow :elasticsearch_max_bulk_size_mb to be ‹nil›645 is expected not to allow :elasticsearch_max_bulk_size_mb to be ‹0›646 is expected not to allow :elasticsearch_max_bulk_size_mb to be ‹1.1›647 is expected not to allow :elasticsearch_max_bulk_size_mb to be ‹-1›648 is expected to allow :elasticsearch_max_bulk_concurrency to be ‹2›649 is expected not to allow :elasticsearch_max_bulk_concurrency to be ‹nil›650 is expected not to allow :elasticsearch_max_bulk_concurrency to be ‹0›651 is expected not to allow :elasticsearch_max_bulk_concurrency to be ‹1.1›652 is expected not to allow :elasticsearch_max_bulk_concurrency to be ‹-1›653 is expected to allow :required_instance_ci_template to be ‹nil›654 is expected not to allow :required_instance_ci_template to be ‹""›655 is expected not to allow :required_instance_ci_template to be ‹" "›656 is expected to allow :required_instance_ci_template to be ‹"template_name"›657 is expected to allow :max_personal_access_token_lifetime to be ‹1›658 is expected to allow :max_personal_access_token_lifetime to be ‹nil›659 is expected to allow :max_personal_access_token_lifetime to be ‹10›660 is expected to allow :max_personal_access_token_lifetime to be ‹365›661 is expected not to allow :max_personal_access_token_lifetime to be ‹"value"›662 is expected not to allow :max_personal_access_token_lifetime to be ‹2.5›663 is expected not to allow :max_personal_access_token_lifetime to be ‹-5›664 is expected not to allow :max_personal_access_token_lifetime to be ‹366›665 when additional email text is enabled666 is expected to allow :email_additional_text to be ‹"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"›667 is expected not to allow :email_additional_text to be ‹"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"›668 when validating allowed_ips669 allowed_ips: "192.1.1.1", is_valid: true670 is expected to eq true671 allowed_ips: "192.1.1.0/24", is_valid: true672 is expected to eq true673 allowed_ips: "192.1.1.0/24, 192.1.20.23", is_valid: true674 is expected to eq true675 allowed_ips: "192.1.1.0/24, 192.23.0.0/16", is_valid: true676 is expected to eq true677 allowed_ips: "192.1.1.0/34", is_valid: false678 is expected to eq false679 allowed_ips: "192.1.1.257", is_valid: false680 is expected to eq false681 allowed_ips: "192.1.1.257, 192.1.1.1", is_valid: false682 is expected to eq false683 allowed_ips: "300.1.1.0/34", is_valid: false684 is expected to eq false685 when validating elasticsearch_url686 elasticsearch_url: "http://es.localdomain", is_valid: true687 is expected to eq true688 elasticsearch_url: "https://es.localdomain", is_valid: true689 is expected to eq true690 elasticsearch_url: "http://es.localdomain, https://es.localdomain ", is_valid: true691 is expected to eq true692 elasticsearch_url: "http://10.0.0.1", is_valid: true693 is expected to eq true694 elasticsearch_url: "https://10.0.0.1", is_valid: true695 is expected to eq true696 elasticsearch_url: "http://10.0.0.1, https://10.0.0.1", is_valid: true697 is expected to eq true698 elasticsearch_url: "http://localhost", is_valid: true699 is expected to eq true700 elasticsearch_url: "http://127.0.0.1", is_valid: true701 is expected to eq true702 elasticsearch_url: "es.localdomain", is_valid: false703 is expected to eq false704 elasticsearch_url: "10.0.0.1", is_valid: false705 is expected to eq false706 elasticsearch_url: "http://es.localdomain, es.localdomain", is_valid: false707 is expected to eq false708 elasticsearch_url: "http://es.localdomain, 10.0.0.1", is_valid: false709 is expected to eq false710 elasticsearch_url: "this_isnt_a_url", is_valid: false711 is expected to eq false712 when validating compliance_frameworks713 compliance_frameworks: [1, 2, 3, 4, 5], is_valid: true714 is expected to eq true715 compliance_frameworks: nil, is_valid: true716 is expected to eq true717 compliance_frameworks: 1, is_valid: true718 is expected to eq true719 compliance_frameworks: [2, 3, 4, 6], is_valid: false720 is expected to eq false721 compliance_frameworks: 6, is_valid: false722 is expected to eq false723 #should_check_namespace_plan?724 when check_namespace_plan true AND on GitLab.com725 returns true726 when check_namespace_plan true AND NOT on GitLab.com727 returns false728 when check_namespace_plan false AND on GitLab.com729 returns false730 #repository_size_limit column731 support values up to 8 exabytes732 elasticsearch licensing733 disables elasticsearch when unlicensed734 enables elasticsearch when licensed735 #elasticsearch_pause_indexing736 resumes indexing737 #elasticsearch_url738 presents a single URL as a one-element array739 presents multiple URLs as a many-element array740 strips whitespace from around URLs741 strips trailing slashes from URLs742 #elasticsearch_config743 places all elasticsearch configuration values into a hash744 limiting namespaces and projects745 namespaces746 tells you if a namespace is allowed to be indexed747 returns namespaces that are allowed to be indexed748 #elasticsearch_indexes_project?749 when project is in a subgroup750 allows project to be indexed751 when project is in a namespace752 allows project to be indexed753 projects754 tells you if a project is allowed to be indexed755 returns projects that are allowed to be indexed756 uses the ElasticsearchEnabledCache cache757 when elasticsearch_indexes_project_cache feature flag is disabled758 does not use the cache759 #invalidate_elasticsearch_indexes_project_cache!760 deletes the ElasticsearchEnabledCache for projects761 #search_using_elasticsearch?762 indexing: true, searching: true, limiting: true763 global scope764 is expected to eq false765 namespace (in scope)766 is expected to eq true767 namespace (not in scope)768 is expected to eq false769 project (in scope)770 is expected to eq true771 project (not in scope)772 is expected to eq false773 indexing: true, searching: true, limiting: false774 global scope775 is expected to eq true776 namespace (in scope)777 is expected to eq true778 namespace (not in scope)779 is expected to eq true780 project (in scope)781 is expected to eq true782 project (not in scope)783 is expected to eq true784 indexing: true, searching: false, limiting: true785 global scope786 is expected to eq false787 namespace (in scope)788 is expected to eq false789 namespace (not in scope)790 is expected to eq false791 project (in scope)792 is expected to eq false793 project (not in scope)794 is expected to eq false795 indexing: true, searching: false, limiting: false796 global scope797 is expected to eq false798 namespace (in scope)799 is expected to eq false800 namespace (not in scope)801 is expected to eq false802 project (in scope)803 is expected to eq false804 project (not in scope)805 is expected to eq false806 indexing: false, searching: true, limiting: true807 global scope808 is expected to eq false809 namespace (in scope)810 is expected to eq false811 namespace (not in scope)812 is expected to eq false813 project (in scope)814 is expected to eq false815 project (not in scope)816 is expected to eq false817 indexing: false, searching: true, limiting: false818 global scope819 is expected to eq false820 namespace (in scope)821 is expected to eq false822 namespace (not in scope)823 is expected to eq false824 project (in scope)825 is expected to eq false826 project (not in scope)827 is expected to eq false828 indexing: false, searching: false, limiting: true829 global scope830 is expected to eq false831 namespace (in scope)832 is expected to eq false833 namespace (not in scope)834 is expected to eq false835 project (in scope)836 is expected to eq false837 project (not in scope)838 is expected to eq false839 indexing: false, searching: false, limiting: false840 global scope841 is expected to eq false842 namespace (in scope)843 is expected to eq false844 namespace (not in scope)845 is expected to eq false846 project (in scope)847 is expected to eq false848 project (not in scope)849 is expected to eq false850 custom project templates851 when custom_project_templates feature is enabled852 #custom_project_templates_enabled?853 returns true854 #custom_project_template_id855 returns group id856 #available_custom_project_templates857 returns group projects858 returns an empty array if group is not set859 when custom_project_templates feature is disabled860 #custom_project_templates_enabled?861 returns false862 #custom_project_template_id863 returns false864 #available_custom_project_templates865 returns an empty relation866 #instance_review_permitted?867 for instances with a valid license868 is not permitted869 for instances without a valid license870 users_over_minimum: -1871 is expected to equal false872 users_over_minimum: 0873 is expected to equal true874 users_over_minimum: 1875 is expected to equal true876 #max_personal_access_token_lifetime_from_now877 when max_personal_access_token_lifetime is defined878 is a date time879 is in the future880 is in days_from_now881 when max_personal_access_token_lifetime is nil882 is nil883 updates to max_personal_access_token_lifetime884 without personal_access_token_expiration_policy licensed885 doesn't call the update lifetime service886 with personal_access_token_expiration_policy licensed887 executes the update lifetime service888 #seat_link_available?889 when the seat_link feature is available890 is expected to eq true891 when the seat_link feature is not available892 is expected to eq false893 #seat_link_can_be_configured?894 when the seat_link_enabled configuration is enabled895 is expected to eq true896 when the seat_link_enabled configuration is disabled897 is expected to eq false898 #seat_link_enabled?899 seat_link_available: true, seat_link_can_be_configured: true, seat_link_enabled: true, result: true900 is expected to eq true901 seat_link_available: false, seat_link_can_be_configured: true, seat_link_enabled: true, result: false902 is expected to eq false903 seat_link_available: true, seat_link_can_be_configured: false, seat_link_enabled: true, result: false904 is expected to eq false905 seat_link_available: true, seat_link_can_be_configured: true, seat_link_enabled: false, result: false906 is expected to eq false907 seat_link_available: false, seat_link_can_be_configured: false, seat_link_enabled: false, result: false908 is expected to eq false909 #compliance_frameworks910 sorts the list911 removes duplicates912 sets empty values913Issue914 associations915 is expected to have many resource_weight_events916 is expected to have many resource_iteration_events917 modules918 is expected to includes the EE::WeightEventable module919 callbacks920 .after_create921 when issue title is "New: Incident"922 when alerts service is active923 when the author is Alert Bot924 updates issue title with the IID925 when the author is not an Alert Bot926 does not change issue title927 when alerts service is not active928 does not change issue title929 when issue title is not "New: Incident"930 does not change issue title931 scopes932 .counts_by_health_status933 returns counts grouped by health_status934 .on_status_page935 is expected to eq 1936 is expected to eq #<Issue id:28 namespace200/project233#1>937 with status page disabled938 is expected to eq 0939 epics940 .no_epic941 returns only issues without an epic assigned942 .any_epic943 returns only issues with an epic assigned944 .in_epics945 returns only issues in selected epics946 .distinct_epic_ids947 returns distinct epic ids948 when issues are grouped by labels949 respects query grouping and returns distinct epic ids950 iterations951 .no_iteration952 returns only issues without an iteration assigned953 .any_iteration954 returns only issues with an iteration assigned955 .in_iterations956 returns only issues in selected iterations957 validations958 weight959 is not valid when negative number960 is valid when non-negative961 confidential962 is valid when changing to non-confidential and is associated with non-confidential epic963 is not valid when changing to non-confidential and is associated with confidential epic964 relations965 is expected to have many vulnerability_links class_name => Vulnerabilities::IssueLink inverse_of => issue966 is expected to have many related_vulnerabilities through vulnerability_links source => vulnerability967 is expected to belong to promoted_to_epic class_name => Epic required:968 is expected to have many resource_weight_events969 is expected to have one status_page_published_incident970 behaves like an editable mentionable with EE-specific mentions971 creates new cross-reference notes when the mentionable text is edited972 behaves like a mentionable with EE-specific mentions973 extracts references from its reference property974 creates cross-reference notes975 #allows_multiple_assignees?976 does not allow multiple assignees without license977 does not allow multiple assignees without license978 .simple_sorts979 includes weight with other base keys980 #sort981 by weight982 sorts desc983 sorts asc984 when weight is the same985 sorting by asc986 arranges issues with the same weight by their ids987 sorting by desc988 arranges issues with the same weight by their ids989 by blocking issues990 orders by descending blocking issues count991 #weight992 license_value: true, database_value: 5, expected: 5993 is expected to eq 5994 license_value: true, database_value: nil, expected: nil995 is expected to eq nil996 license_value: false, database_value: 5, expected: nil997 is expected to eq nil998 license_value: false, database_value: nil, expected: nil999 is expected to eq nil1000 #promoted?1001 issue not promoted1002 is expected to be falsey1003 issue promoted1004 is expected to be truthy1005 ES related specs1006 when updating an Issue1007 when changing the confidential value1008 updates issue notes excluding system notes1009 when changing the title1010 does not update issue notes1011 relative positioning with group boards1012 #max_relative_position1013 returns maximum position1014 #prev_relative_position1015 returns previous position if there is an issue above1016 returns nil if there is no issue above1017 #next_relative_position1018 returns next position if there is an issue below1019 returns nil if there is no issue below1020 #move_before1021 moves issue before1022 #move_after1023 moves issue after1024 #move_to_end1025 moves issue to the end1026 #move_between1027 positions issue between two other1028 positions issue between on top1029 positions issue between to end1030 positions issues even when after and before positions are the same1031 positions issues between other two if distance is 11032 positions issue in the middle of other two if distance is big enough1033 positions issue closer to the middle if we are at the very top1034 positions issue closer to the middle if we are at the very bottom1035 positions issue in the middle of other two if distance is not big enough1036 positions issue in the middle of other two is there is no place1037 uses rebalancing if there is no place1038 positions issue right if we pass non-sequential parameters1039 when an external authentication service1040 #visible_to_user?1041 does not check the external webservice for auditors1042 #issue_link_type1043 returns nil for a regular issue1044 id: 1, issue_link_source_id: 1, issue_link_type_value: 0, expected: "relates_to"1045 is expected to eq "relates_to"1046 id: 1, issue_link_source_id: 1, issue_link_type_value: 1, expected: "blocks"1047 is expected to eq "blocks"1048 id: 1, issue_link_source_id: 2, issue_link_type_value: 3, expected: "relates_to"1049 is expected to eq "relates_to"1050 id: 1, issue_link_source_id: 2, issue_link_type_value: 1, expected: "is_blocked_by"1051 is expected to eq "is_blocked_by"1052 id: 1, issue_link_source_id: 2, issue_link_type_value: 2, expected: "blocks"1053 is expected to eq "blocks"1054 #blocked_by_issues1055 when user can read issues1056 returns blocked issues1057 when user cannot read issues1058 returns empty array1059 when user can read some issues1060 returns issues that user can read1061 behaves like having health status1062 validations1063 is expected to define :health_status as an enum, backed by an integer, with possible values ‹{on_track: 1, needs_attention: 2, at_risk: 3}›1064 is expected to allow :health_status to be ‹nil›1065 #can_assign_epic?1066 when epics feature is available1067 when a user is not a project member1068 returns false1069 when a user is a project member1070 returns false1071 when a user is a group member1072 returns true1073 when epics feature is not available1074 returns false1075 #update_blocking_issues_count1076 updates blocking issues count1077GroupWiki1078 behaves like wiki model1079 behaves like model with repository1080 #commits_by1081 retrieves several commits from the repository by oid1082 #web_url1083 when given the only_path option1084 when only_path is false1085 returns the full web URL for this repo1086 when only_path is true1087 returns the relative web URL for this repo1088 when only_path is nil1089 returns the full web URL for this repo1090 when not given the only_path option1091 returns the full web URL for this repo1092 #url_to_repo1093 returns the SSH URL to the repository1094 #ssh_url_to_repo1095 returns the SSH URL to the repository1096 #http_url_to_repo1097 returns the HTTP URL to the repository1098 #repository1099 returns valid repo1100 #storage1101 returns valid storage1102 #full_path1103 returns valid full_path1104 #empty_repo?1105 when the repo does not exist1106 returns true1107 when the repo exists1108 returns the empty state of the repository1109 #valid_repo?1110 is expected to equal false1111 is expected to equal true1112 #repository_exists?1113 is expected to equal false1114 is expected to equal true1115 #repo_exists?1116 is expected to equal false1117 is expected to equal true1118 #root_ref1119 is expected to equal true1120 is expected to equal false1121 is expected to equal false1122 Respond to1123 is expected to respond to #base_dir1124 is expected to respond to #disk_path1125 is expected to respond to #gitlab_shell1126 .pick_repository_storage1127 picks storage from ApplicationSetting1128 picks from the available storages based on weight1129 #repository1130 returns a wiki repository1131 #full_path1132 returns the container path with the .wiki extension1133 #wiki_base_path1134 returns the wiki base path1135 includes the relative URL root1136 #wiki1137 contains a Gitlab::Git::Wiki instance1138 creates a new wiki repo if one does not yet exist1139 creates a new wiki repo with a default commit message1140 when the repository cannot be created1141 raises CouldNotCreateWikiError1142 #empty?1143 when the wiki repository is empty1144 returns true1145 when the wiki has pages1146 #empty?1147 returns false1148 only instantiates a Wiki page once1149 #list_pages1150 returns an array of WikiPage instances1151 does not load WikiPage content by default1152 returns all pages by default1153 with limit option1154 returns limited set of pages1155 with sorting options1156 returns pages sorted by title by default1157 returns pages sorted by created_at1158 with load_content option1159 loads WikiPage content1160 #sidebar_entries1161 when the number of pages does not exceed the limit1162 returns all pages grouped by directory and limited is false1163 when the number of pages exceeds the limit1164 returns 15 pages grouped by directory and limited is true1165 #find_page1166 returns the latest version of the page if it exists1167 returns nil if the page does not exist1168 can find a page by slug1169 returns a WikiPage instance1170 pages with multibyte-character title1171 can find a page by slug1172 pages with invalidly-encoded content1173 can find the page1174 #find_sidebar1175 finds the page defined as _sidebar1176 #find_file1177 returns the latest version of the file if it exists1178 returns nil if the page does not exist1179 returns a Gitlab::Git::WikiFile instance1180 returns the whole file1181 #create_page1182 creates a new wiki page1183 returns false when a duplicate page exists1184 stores an error message when a duplicate page exists1185 sets the correct commit message1186 sets the correct commit email1187 updates container activity1188 #update_page1189 updates the content of the page1190 sets the correct commit message1191 sets the correct commit email1192 updates container activity1193 #delete_page1194 deletes the page1195 sets the correct commit email1196 updates container activity1197 #ensure_repository1198 if the repository exists1199 does not create the repository1200 if the repository does not exist1201 creates the repository1202 #hook_attrs1203 returns a hash with values1204 #create_wiki_repository1205 when a tracking entry does not exist1206 creates a new entry1207 tracks the storage location1208 when a tracking entry exists1209 does not create a new entry in the database1210 updates the storage location1211 #storage1212 uses the group repository prefix1213 #repository_storage1214 when a tracking entry does not exist1215 returns the default shard1216 when a tracking entry exists1217 returns the persisted shard if the repository is tracked1218 #hashed_storage?1219 returns true1220 #disk_path1221 returns the repository storage path1222 behaves like EE wiki model1223 does not use Elasticsearch1224 #kerberos_url_to_repo1225 returns valid kerberos url for this repo1226NotePolicy1227 #rules1228 for epics in a public group1229 with non-confidential notes1230 allows non members to read notes1231 allows guests only to read notes1232 allows reporters only to read notes1233 allows developers only to read notes1234 allows maintainers to read notes and admin them1235 allows noteable author to read notes1236 with confidential notes1237 does not allow guests to read confidential notes and replies1238 allows noteable author to read all notes1239 behaves like private notes1240 does not allow non members to read notes1241 allows reporter to read notes1242 allows developer to read notes1243 allows maintainers to read notes and admin them1244 for epics in a private group1245 does not allow guests to read notes1246 behaves like private notes1247 does not allow non members to read notes1248 allows reporter to read notes1249 allows developer to read notes1250 allows maintainers to read notes and admin them1251Epics::UpdateService1252 #execute1253 multiple values update1254 updates the epic correctly1255 updates the last_edited_at value1256 when confidential_epics is disabled1257 ignores confidential attribute on update1258 when title has changed1259 creates system note about title change1260 when description has changed1261 creates system note about description change1262 after_save callback to store_mentions1263 when mentionable attributes change1264 saves mentions1265 when mentionable attributes do not change1266 does not call store_mentions!1267 when save fails1268 does not call store_mentions!1269 todos1270 creating todos1271 creates todos for only newly mentioned users1272 adding a label1273 marks todo as done for a user who added a label1274 does not mark todos as done for other users1275 mentioning a group in epic description1276 when the group is public1277 creates todos for only newly mentioned users1278 when the group is private1279 creates todos for only newly mentioned users that are group members1280 when Epic has tasks1281 is expected to eq true1282 behaves like updating a single task1283 when a task is marked as completed1284 creates system note about task status change1285 when a task is marked as incomplete1286 creates system note about task status change1287 when the task position has been modified1288 raises an exception1289 when the content changes but not task line number1290 creates system note about task status change1291 when tasks are marked as completed1292 creates system note about task status change1293 when tasks are marked as incomplete1294 creates system note about task status change1295 filter out start_date and end_date1296 ignores start_date and end_date1297 refresh epic dates1298 date fields are updated1299 calls UpdateDatesService1300 date fields are not updated1301 does not call UpdateDatesService1302 behaves like existing issuable with scoped labels1303 when scoped labels are available1304 when using label_ids parameter1305 adds only last selected exclusive scoped label1306 when using label_ids parameter1307 adds only last selected exclusive scoped label1308 when only removing labels1309 preserves multiple exclusive scoped labels1310 when scoped labels are not available1311 adds all scoped labels1312 with quick actions in the description1313 adds labels to the epic1314Banzai::Filter::IterationReferenceFilter1315 requires project context1316 group context1317 when group iteration1318 for subgroups1319 links to a valid reference of subgroup and group iterations1320 for private subgroups1321 links to a valid reference of subgroup and group iterations1322 when iteration is open1323 group iterations1324 ignores valid references contained inside 'pre' element1325 ignores valid references contained inside 'code' element1326 ignores valid references contained inside 'a' element1327 ignores valid references contained inside 'style' element1328 includes default classes1329 includes a data-project attribute1330 includes a data-iteration attribute1331 supports an :only_path context1332 does not support references by IID1333 does not support references by link1334 does not support cross-project references1335 supports parent group references1336 behaves like String-based single-word references1337 links to a valid reference1338 links with adjacent text1339 ignores invalid iteration names1340 behaves like String-based multi-word references in quotes1341 links to a valid reference1342 links with adjacent text1343 ignores invalid iteration names1344 behaves like referencing a iteration in a link href1345 links to a valid reference1346 links with adjacent text1347 includes a data-project attribute1348 includes a data-iteration attribute1349 behaves like references with HTML entities1350 links to a valid reference1351 ignores invalid iteration names and escapes entities1352 behaves like HTML text with references1353 preserves escaped HTML text and adds valid references1354 preserves escaped HTML text if there are no valid references1355 when iteration is closed1356 group iterations1357 ignores valid references contained inside 'pre' element1358 ignores valid references contained inside 'code' element1359 ignores valid references contained inside 'a' element1360 ignores valid references contained inside 'style' element1361 includes default classes1362 includes a data-project attribute1363 includes a data-iteration attribute1364 supports an :only_path context1365 does not support references by IID1366 does not support references by link1367 does not support cross-project references1368 supports parent group references1369 behaves like String-based single-word references1370 links to a valid reference1371 links with adjacent text1372 ignores invalid iteration names1373 behaves like String-based multi-word references in quotes1374 links to a valid reference1375 links with adjacent text1376 ignores invalid iteration names1377 behaves like referencing a iteration in a link href1378 links to a valid reference1379 links with adjacent text1380 includes a data-project attribute1381 includes a data-iteration attribute1382 behaves like references with HTML entities1383 links to a valid reference1384 ignores invalid iteration names and escapes entities1385 behaves like HTML text with references1386 preserves escaped HTML text and adds valid references1387 preserves escaped HTML text if there are no valid references1388Ci::Minutes::BatchResetService1389 #execute!1390 when global shared_runners_minutes is enabled1391 when ID range is provided1392 resets minutes in batches for the given range1393 resets CI minutes and recalculates purchased minutes for the namespace exceeding the monthly minutes1394 resets CI minutes but does not recalculate purchased minutes for the namespace not exceeding the monthly minutes1395 touches the shared_runners_seconds_last_reset for all namespaces1396 when ID range is not provided1397 resets minutes in batches for all namespaces1398 resets CI minutes and does not recalculate purchased minutes for the namespace having unlimited monthly minutes1399 touches the shared_runners_seconds_last_reset for all namespaces1400 when an ActiveRecordError is raised1401 continues its progress1402 raises exception with namespace details1403 when global shared_runners_minutes setting is nil and namespaces have no limits1404 global_limit: nil, namespace_limit: 01405 does not recalculate purchased minutes for any namespaces1406 global_limit: nil, namespace_limit: nil1407 does not recalculate purchased minutes for any namespaces1408 global_limit: 0, namespace_limit: 01409 does not recalculate purchased minutes for any namespaces1410 global_limit: 0, namespace_limit: nil1411 does not recalculate purchased minutes for any namespaces1412ProjectImportState1413 Project import job1414 with a mirrored project1415 calls RepositoryImportWorker and inserts in front of the mirror scheduler queue1416 transitions1417 state transition: [:started] => [:finished]1418 Geo repository update events1419 calls Geo::RepositoryUpdatedService when running on a Geo primary node1420 does not call Geo::RepositoryUpdatedService when not running on a Geo primary node1421 elasticsearch indexing disabled for this project1422 does not index the repository1423 elasticsearch indexing enabled for this project1424 no index status1425 schedules a full index of the repository1426 with index status1427 schedules a full index of the repository1428 when create1429 sets next execution timestamp to now1430 #in_progress?1431 when import status is scheduled1432 behaves like import in progress1433 when project is not a mirror and repository is empty1434 returns true1435 when project is a mirror1436 when repository is empty1437 returns true1438 when repository is not empty1439 returns true1440 when project is a mirror and repository is not empty1441 returns false1442 when import status is started1443 behaves like import in progress1444 when project is not a mirror and repository is empty1445 returns true1446 when project is a mirror1447 when repository is empty1448 returns true1449 when repository is not empty1450 returns true1451 when project is a mirror and repository is not empty1452 returns false1453 when import status is finished1454 returns false1455 hard failing a mirror1456 sends a notification1457 #mirror_waiting_duration1458 returns nil if not mirror1459 returns in seconds the time spent in the queue1460 #mirror_update_duration1461 returns nil if not mirror1462 returns in seconds the time spent updating1463 #updating_mirror?1464 when scheduled1465 behaves like updating mirror1466 with repository1467 returns false1468 with mirror1469 returns false1470 with mirror and repository1471 returns false1472 when started1473 behaves like updating mirror1474 with repository1475 returns false1476 with mirror1477 returns false1478 with mirror and repository1479 returns false1480 #mirror_update_due?1481 when mirror is expected to run soon1482 returns true1483 when the project is archived1484 returns false1485 when mirror has no content1486 returns false1487 when mirror is hard_failed1488 returns false1489 mirror is updating1490 returns false when scheduled1491 when next_execution_timestamp is nil1492 returns false1493 #last_update_status1494 when not a mirror1495 returns nil1496 when mirror1497 when mirror has not updated1498 returns nil1499 when mirror has updated1500 when last update time equals the time of the last successful update1501 returns success1502 when last update time does not equal the time of the last successful update1503 returns failed1504 #ever_updated_successfully1505 returns false when project is not a mirror1506 when mirror1507 returns false when project never updated1508 returns false when first update failed1509 returns true when a successful update timestamp exists1510 #set_next_execution_timestamp1511 when base delay is lower than mirror_max_delay1512 when retry count is 01513 applies transition successfully1514 when incrementing retry count1515 applies transition successfully1516 when boundaries are surpassed1517 when last_update_started_at is nil1518 applies transition successfully1519 when base delay is lower than mirror min_delay1520 when resetting retry count1521 applies transition successfully1522 when incrementing retry count1523 applies transition successfully1524 when base delay is higher than mirror_max_delay1525 when resetting retry count1526 applies transition successfully1527 when incrementing retry count1528 applies transition successfully1529 #force_import_job!1530 returns nil if mirror is about to update1531 returns nil when mirror is updating1532 sets next execution timestamp to 5 minutes ago and schedules UpdateAllMirrorsWorker1533 when mirror is hard failed1534 resets retry count and schedules a mirroring worker1535 #reset_retry_count1536 resets retry_count to 01537 #increment_retry_count1538 increments retry_count1539ApprovalRules::ParamsFilteringService1540 #execute1541 create1542 behaves like assigning_users_and_groups1543 user can update approvers1544 only assigns eligible users and groups1545 user cannot update approvers1546 deletes the approval_rules_attributes from params1547 inapplicable user defined rules1548 when multiple_approval_rules feature is available1549 adds inapplicable user defined rules1550 when multiple_approval_rules feature is not available1551 does not add inapplicable user defined rules1552 any approver rule1553 sets rule type for the rules attributes1554 any approver rule from a project rule1555 and the project rule has hidden groups1556 sets rule type for the rules attributes1557 update1558 behaves like assigning_users_and_groups1559 user can update approvers1560 only assigns eligible users and groups1561 user cannot update approvers1562 deletes the approval_rules_attributes from params1563 inapplicable user defined rules1564 does not add inapplicable user defined rules1565 when reset_approval_rules_to_defaults is true1566 when multiple_approval_rules feature is available1567 adds inapplicable user defined rules1568 when multiple_approval_rules feature is not available1569 does not add inapplicable user defined rules1570 with remove_hidden_groups being true1571 behaves like assigning_users_and_groups1572 user can update approvers1573 only assigns eligible users and groups1574 user cannot update approvers1575 deletes the approval_rules_attributes from params1576Ci::RunDastScanService1577 .ci_template1578 builds a hash1579 has only one stage1580 has has no rules1581 #execute1582 when a user does not have access to the project1583 returns an error status1584 populates message1585 when the user can run a dast scan1586 returns a success status1587 returns a pipeline1588 creates a pipeline1589 sets the pipeline ref to the branch1590 sets the source to indicate an ondemand scan1591 creates a stage1592 creates a build1593 sets the build name to indicate a DAST scan1594 creates a build with appropriate options1595 creates a build with appropriate variables1596 enqueues a build1597 when the pipeline fails to save1598 returns an error status1599 populates message1600 when on demand scan feature is disabled1601 returns an error status1602 populates message1603 when on demand scan licensed feature is not available1604 returns an error status1605 populates message1606Groups::AutocompleteService1607 #labels_as_hash1608 returns labels from own group and ancestor groups1609 some labels are already assigned1610 marks already assigned as set1611 #issues1612 returns issues in group and subgroups1613 returns only confidential issues if confidential_only is true1614 #merge_requests1615 returns merge requests in group and subgroups1616 #epics1617 returns nothing if not allowed1618 returns epics from group1619 returns only confidential epics if confidential_only is true1620 #commands1621 when target is an epic1622 with subepics feature enabled1623 returns available commands1624 with subepics feature disabled1625 returns available commands1626 #milestones1627 returns milestones from group1628 returns milestones from groups and subgroups1629 returns only milestones that user can read1630 when group is public1631 returns milestones from groups and subgroups1632Ci::DailyBuildGroupReportResultsByGroupFinder1633 #execute1634 when current user is allowed to :read_group_build_report_results1635 returns only coverages belonging to the passed group1636 with a limit below 10001637 uses the provided limit1638 with a limit above 10001639 uses the max constant1640 without a limit1641 uses the max constant1642 without permmissions1643 returns an empty result1644EE::Gitlab::Scim::ProvisioningService1645 #execute1646 when scim_identities is disabled1647 creates the SAML identity1648 does not create the SCIM identity1649 behaves like scim provisioning1650 valid params1651 creates the user1652 creates the group member1653 creates the correct user attributes1654 user record requires confirmation1655 behaves like success response1656 contains a success status1657 contains an identity in the response1658 access level of created group member1659 sets the access level of the member as specified in saml_provider1660 when the current minimum password length is different from the default minimum password length1661 creates the user1662 invalid params1663 fails with error1664 fails with missing params1665 existing user1666 does not create a new user1667 fails with conflict1668 when scim_identities is enabled1669 creates the SCIM identity1670 creates the SAML identity1671 behaves like scim provisioning1672 valid params1673 creates the user1674 creates the group member1675 creates the correct user attributes1676 user record requires confirmation1677 behaves like success response1678 contains a success status1679 contains an identity in the response1680 access level of created group member1681 sets the access level of the member as specified in saml_provider1682 when the current minimum password length is different from the default minimum password length1683 creates the user1684 invalid params1685 fails with error1686 fails with missing params1687 existing user1688 when user is not an existing group member1689 creates the group member1690 behaves like existing user when scim identities are enabled1691 does not create a new user1692 creates the SCIM identity1693 does not create the SAML identity1694 behaves like success response1695 contains a success status1696 contains an identity in the response1697 with enforced SSO1698 does not create the group member1699 does not create the SAML identity1700 does not create the SCIM identity1701 when user is an existing group member1702 does not create the group member1703 behaves like existing user when scim identities are enabled1704 does not create a new user1705 creates the SCIM identity1706 does not create the SAML identity1707 behaves like success response1708 contains a success status1709 contains an identity in the response1710ApproverMigrateHook1711 create rule and member mapping1712 User1713 merge request1714 behaves like migrating approver1715 when approver is created1716 creates rule and member mapping1717 when rule already exists1718 reuses rule1719 when member mapping already exists1720 does nothing1721 when approver is destroyed1722 destroys rule member1723 project1724 behaves like migrating approver1725 when approver is created1726 creates rule and member mapping1727 when rule already exists1728 reuses rule1729 when member mapping already exists1730 does nothing1731 when approver is destroyed1732 destroys rule member1733 Group1734 merge request1735 behaves like migrating approver1736 when approver is created1737 creates rule and member mapping1738 when rule already exists1739 reuses rule1740 when member mapping already exists1741 does nothing1742 when approver is destroyed1743 destroys rule member1744 project1745 behaves like migrating approver1746 when approver is created1747 creates rule and member mapping1748 when rule already exists1749 reuses rule1750 when member mapping already exists1751 does nothing1752 when approver is destroyed1753 destroys rule member1754GitlabSubscription1755 default values1756 is expected to eq Mon, 28 Sep 20201757 validations1758 is expected to validate that :seats cannot be empty/falsy1759 is expected to validate that :start_date cannot be empty/falsy1760 is expected to validate that :namespace_id is case-sensitively unique1761 associations1762 is expected to belong to namespace required:1763 is expected to belong to hosted_plan required:1764 scopes1765 .with_hosted_plan1766 scopes to the plan1767 #calculate_seats_in_use1768 returns count of members1769 also counts users from subgroups1770 does not count duplicated members1771 does not count blocked members1772 with guest members1773 with a gold plan1774 excludes these members1775 with other plans1776 excludes these members1777 excludes these members1778 when subscription is for a User1779 always returns 1 seat1780 #calculate_seats_owed1781 with a free plan1782 does not update max_seats_used1783 with a trial plan1784 does not update max_seats_used1785 with an early adopter plan1786 does not update max_seats_used1787 with a paid plan1788 calculates the number of owed seats1789 #expired?1790 when end_date is expired1791 is expected to equal true1792 when end_date is not expired1793 is expected to equal false1794 when end_date is nil1795 is expected to equal false1796 #has_a_paid_hosted_plan?1797 plan_name: "bronze", seats: 0, hosted: true, result: false1798 returns true if subscription has a paid hosted plan1799 plan_name: "bronze", seats: 1, hosted: true, result: true1800 returns true if subscription has a paid hosted plan1801 plan_name: "bronze", seats: 1, hosted: false, result: false1802 returns true if subscription has a paid hosted plan1803 plan_name: "silver", seats: 1, hosted: true, result: true1804 returns true if subscription has a paid hosted plan1805 plan_name: "early_adopter", seats: 1, hosted: true, result: false1806 returns true if subscription has a paid hosted plan1807 #upgradable?1808 plan_name: "bronze", paid_hosted_plan: true, expired: false, result: true1809 returns true if subscription is upgradable1810 plan_name: "bronze", paid_hosted_plan: true, expired: true, result: false1811 returns true if subscription is upgradable1812 plan_name: "silver", paid_hosted_plan: true, expired: false, result: true1813 returns true if subscription is upgradable1814 plan_name: "gold", paid_hosted_plan: true, expired: false, result: false1815 returns true if subscription is upgradable1816 callbacks1817 gitlab_subscription columns are contained in gitlab_subscription_history columns1818 gitlab_subscription_history columns have some extra columns over gitlab_subscription1819 after_commit :index_namespace1820 indexes the namespace1821 when it is a trial1822 indexes the namespace1823 when not ::Gitlab.dev_env_or_com?1824 does not index the namespace1825 when the plan has expired1826 does not index the namespace1827 when it is not a hosted plan1828 does not index anything1829 when it is a free plan1830 does not index the namespace1831 before_update1832 logs previous state to gitlab subscription history1833 after_destroy_commit1834 logs previous state to gitlab subscription history1835 .yield_long_expired_indexed_namespaces1836 yields ElasticsearchIndexedNamespace that belong to subscriptions that expired over a week ago1837Security::MergeReportsService#execute1838 copies scanners into target report and eliminates duplicates1839 copies identifiers into target report and eliminates duplicates1840 deduplicates (except cwe and wasc) and sorts the vulnerabilities by severity (desc) then by compare key1841 deduplicates scanned resources1842 ordering reports for dependency scanning analyzers1843 when reports are gathered in an unprioritized order1844 is expected to eql #<Gitlab::Ci::Reports::Security::Scanner:0x000055e65d542e20 @external_id="bundler_audit", @name="bundler-audit", @vendor="Security Scanner Vendor">, #<Gitlab::Ci::Reports::Security::Scanner:0x000055e65e231140 @external_id="retire.js", @name="Retire.js", @vendor="Security Scanner Vendor">, and #<Gitlab::Ci::Reports::Security::Scanner:0x000055e65d764500 @external_id="gemnasium", @name="gemnasium", @vendor="Security Scanner Vendor">1845 is expected to eq 21846 is expected to contain exactly #<Gitlab::Ci::Reports::Security::Identifier:0x000055e661e63fa0 @external_id="CVE-2019-123", @external...="cve", @name="cve-CVE-2019-123", @url=nil, @fingerprint="6d834ff5767ac7544bef36b0e9996a9a3d6da5f1">1847 is expected to contain exactly #<Gitlab::Ci::Reports::Security::Identifier:0x000055e645085ee0 @external_id="NPM-13", @external_type="npm", @name="npm-NPM-13", @url=nil, @fingerprint="ca12d3bf327f69eb5ccc69dc5c164630b1f4fd36">1848 when a custom analyzer is completed before the known analyzers1849 is expected to eql #<Gitlab::Ci::Reports::Security::Scanner:0x000055e6546f6ba8 @external_id="bundler_audit", @name="bundler-audit", @vendor="Security Scanner Vendor">, #<Gitlab::Ci::Reports::Security::Scanner:0x000055e654d29548 @external_id="retire.js", @name="Retire.js", @vendor="Security Scanner Vendor">, and #<Gitlab::Ci::Reports::Security::Scanner:0x000055e6538f8a10 @external_id="scanner-2", @name="Scanner 2", @vendor="Security Scanner Vendor">1850 is expected to eq 31851 is expected to contain exactly #<Gitlab::Ci::Reports::Security::Identifier:0x000055e65d071220 @external_id="VULN-2", @external_type=...ner-2", @name="scanner-2-VULN-2", @url=nil, @fingerprint="8e683704c05c3d223f7572623a39cdf39ecc5f15"> and #<Gitlab::Ci::Reports::Security::Identifier:0x000055e65d07a898 @external_id="CVE-2019-456", @external...="cve", @name="cve-CVE-2019-456", @url=nil, @fingerprint="47c8c718e4355e29c0b8e87fd62c2c7da65911dd">1852MergeRequestPresenter1853 #api_approval_settings_path1854 is expected to eq "/gitlab/api/v4/projects/605/merge_requests/1/approval_settings"1855 behaves like is nil when needed1856 approval_feature_available: false, with_iid: false1857 is expected to be nil1858 approval_feature_available: false, with_iid: true1859 is expected to be nil1860 approval_feature_available: true, with_iid: false1861 is expected to be nil1862 #api_project_approval_settings_path1863 is expected to eq "/gitlab/api/v4/projects/609/approval_settings"1864 when approvals not available1865 is expected to be nil1866 #suggested_approvers1867 delegates to the approval state1868 create vulnerability feedback paths1869 create_feedback_path: :create_vulnerability_feedback_issue_path1870 is expected to eq "/namespace560/project581/-/vulnerability_feedback"1871 when not allowed to create vulnerability feedback1872 does not contain1873 create_feedback_path: :create_vulnerability_feedback_merge_request_path1874 is expected to eq "/namespace562/project583/-/vulnerability_feedback"1875 when not allowed to create vulnerability feedback1876 does not contain1877 create_feedback_path: :create_vulnerability_feedback_dismissal_path1878 is expected to eq "/namespace564/project585/-/vulnerability_feedback"1879 when not allowed to create vulnerability feedback1880 does not contain1881 #approvals_widget_type1882 when approvals feature is available for a project1883 returns full1884 when approvals feature is not available for a project1885 returns base1886ProtectedEnvironments::CreateService#execute1887 with valid params1888 is expected to be truthy1889 creates a record on ProtectedEnvironment1890 creates a record on ProtectedEnvironment record1891 with invalid params1892 returns a non-persisted Protected Environment record1893 multiple deploy access levels1894 behaves like invalid multiple deployment access levels1895 does not create deploy access level1896 does not create protected environment1897 deploy access level by group1898 behaves like invalid protected environment group1899 does not create deploy access level1900 does not create protected environment1901 behaves like valid protected environment group1902 creates deploy access level1903 creates protected environment1904 deploy access level by user1905 behaves like invalid protected environment user1906 does not create deploy access level1907 does not create protected environment1908 behaves like valid protected environment user1909 creates deploy access level1910 creates protected environment1911WikiPages::UpdateService1912 #execute1913 calls Geo::RepositoryUpdatedService when running on a Geo primary node1914 does not call Geo::RepositoryUpdatedService when not running on a Geo primary node1915 behaves like WikiPages::UpdateService#execute1916 updates the wiki page1917 executes webhooks1918 counts edit events1919 does not call Geo::RepositoryUpdatedService when container is group1920 the page is at the top level1921 adds a new wiki page activity event (PENDING: group wiki support)1922 the page is in a subsection1923 adds a new wiki page activity event (PENDING: group wiki support)1924 when the options are bad1925 does not count an edit event1926 does not record the activity1927 reports the error1928Boards::CreateService1929 #execute1930 behaves like boards create service1931 With the feature available1932 with valid params1933 creates a new board1934 creates the default lists1935 with invalid params1936 does not create a new parent board1937 does not create board's default lists1938 without params1939 creates a new parent board1940 creates board's default lists1941 behaves like boards create service1942 skips creating a second board when the feature is not available1943 With the feature available1944 with valid params1945 creates a new board1946 creates the default lists1947 with invalid params1948 does not create a new parent board1949 does not create board's default lists1950 without params1951 creates a new parent board1952 creates board's default lists1953 behaves like setting a milestone scope1954 for a group board1955 behaves like an invalid milestone1956 when milestone is from another project / group1957 is expected to be nil1958 behaves like a predefined milestone1959 Upcoming1960 is expected to eq #<struct Timebox::TimeboxStruct title="Upcoming", name="#upcoming", id=-2>1961 Started1962 is expected to eq #<struct Timebox::TimeboxStruct title="Started", name="#started", id=-3>1963 behaves like a group milestone1964 when milestone is a group milestone1965 is expected to eq #<Milestone id:16 %"My title 347">1966 when milestone is an an ancestor group milestone1967 is expected to eq #<Milestone id:17 %"My title 348">1968 for a project board1969 behaves like an invalid milestone1970 when milestone is from another project / group1971 is expected to be nil1972 behaves like a predefined milestone1973 Upcoming1974 is expected to eq #<struct Timebox::TimeboxStruct title="Upcoming", name="#upcoming", id=-2>1975 Started1976 is expected to eq #<struct Timebox::TimeboxStruct title="Started", name="#started", id=-3>1977 behaves like a group milestone1978 when milestone is a group milestone1979 is expected to eq #<Milestone id:19 %"My title 350">1980 when milestone is an an ancestor group milestone1981 is expected to eq #<Milestone id:20 %"My title 351">1982 when milestone is a project milestone1983 is expected to eq #<Milestone id:21 group587/group588/project629%"My title 352">1984Gitlab::Auth::GroupSaml::GmaMembershipEnforcer1985 when user is group-managed1986 allows adding user to project1987 when user is not group-managed1988 does not allow adding user to project1989 when the project is forked1990 when user is group-managed1991 allows adding user to project1992 when user is not group-managed1993 does not allow adding user to project1994 from deleted project1995 when user is group-managed1996 allows adding user to project1997 when user is not group-managed1998 does not allow adding user to project1999 when project is forked from namespace to group2000 when user is group-managed2001 allows adding user to project2002 when user is not group-managed2003 does not allow adding user to project2004Board2005 is expected to includes the EE::Board module2006 relationships2007 is expected to belong to milestone required:2008 is expected to have one board_assignee2009 is expected to have one assignee through board_assignee2010 is expected to have many board_labels2011 is expected to have many labels through board_labels2012 is expected to have many user_preferences2013 validations2014 is expected to validate that :name cannot be empty/falsy2015 validations2016 when group is present2017 is expected not to validate that :project cannot be empty/falsy2018 is expected to validate that :group cannot be empty/falsy2019 when project is present2020 is expected to validate that :project cannot be empty/falsy2021 is expected not to validate that :group cannot be empty/falsy2022 milestone2023 returns nil when the feature is not available2024 when the feature is available2025 returns Milestone::Upcoming for upcoming milestone id2026 returns Milestone::Started for started milestone id2027 returns milestone for valid milestone id2028 returns nil for invalid milestone id2029 #scoped?2030 returns true when milestone is not nil AND is not "Any milestone"2031 returns true when weight is not nil AND is not "Any weight"2032 returns true when any label exists2033 returns true when assignee is present2034 returns false when feature is not available2035 returns false when board is not scoped2036JenkinsService2037 Associations2038 is expected to belong to project required:2039 is expected to have one service_hook2040 username validation2041 when the service is active2042 when password was not touched2043 is expected not to validate that :username cannot be empty/falsy2044 when password was touched2045 is expected to validate that :username cannot be empty/falsy2046 when password is blank2047 does not validate the username2048 when the service is inactive2049 is expected not to validate that :username cannot be empty/falsy2050 #hook_url2051 when the jenkins_url has no relative path2052 is expected to eq "http://jenkins.example.com/project/my_project"2053 when the jenkins_url has relative path2054 is expected to eq "http://organization.example.com/jenkins/project/my_project"2055 userinfo is missing and username and password are set2056 is expected to eq "http://u%24ername:pas%24%20word@organization.example.com/jenkins/project/my_project"2057 userinfo is provided and username and password are set2058 is expected to eq "http://username:password@organization.example.com/jenkins/project/my_project"2059 userinfo is provided username and password are not set2060 is expected to eq "http://u:p@organization.example.com/jenkins/project/my_project"2061 #test2062 returns the right status2063 #execute2064 without a license key2065 behaves like project with disabled Jenkins service2066 does not invoke the Jenkins API2067 with a license key2068 when namespace plan check is not enabled2069 behaves like project with enabled Jenkins service2070 invokes the Jenkins API2071 when namespace plan check is enabled2072 when namespace does not have a plan2073 behaves like project with disabled Jenkins service2074 does not invoke the Jenkins API2075 when namespace has a plan2076 adds default web hook headers to the request2077 request url contains properly serialized username and password2078 Stored password invalidation2079 when a password was previously set2080 resets password if url changed2081 resets password if username is blank2082 does not reset password if username changed2083 does not reset password if new url is set together with password, even if it's the same password2084 resets password if url changed, even if setter called multiple times2085 when no password was previously set2086 saves password if new url is set together with password2087UpdateAllMirrorsWorker2088 #perform2089 does nothing if the database is read-only2090 does not execute if cannot get the lease2091 removes metadata except correlation_id from the application context before scheduling mirrors2092 schedules mirrors2093 when updates were scheduled2094 sleeps a bit after scheduling mirrors2095 if capacity is available2096 reschedules the job2097 if no capacity is available2098 does not reschedule the job2099 when no updates were scheduled2100 does not reschedule the job2101 #schedule_mirrors!2102 when the instance is unlicensed2103 does not schedule when project does not have repository mirrors available2104 when the instance is licensed2105 when capacity is in excess2106 schedules all available mirrors2107 when the instance checks namespace plans2108 when using SQL to filter projects2109 when capacity is in excess2110 schedules all available mirrors2111 when capacity is exactly sufficient2112 does not include unlicensed non-public projects in batches2113 when checking licenses on each record individually2114 when capacity is in excess2115 schedules all available mirrors2116 requests as many batches as necessary2117 does not schedule a mirror of an archived project2118 when capacity is exactly sufficient2119 schedules all available mirrors2120 requests as many batches as necessary2121 when capacity is insufficient2122 schedules mirrors by next_execution_timestamp2123 requests as many batches as necessary2124 when capacity is insufficient and the first batch is empty2125 schedules mirrors by next_execution_timestamp2126 requests as many batches as necessary2127Vulnerabilities::FindingReportsComparerEntity2128 container scanning report comparison2129 #as_json2130 contains the added existing and fixed vulnerabilities for container scanning2131 contains the report out of date fields2132Issuable::BulkUpdateService2133 with issues2134 updating health status and epic2135 when features are enabled2136 succeeds and returns the correct number of issuables updated2137 when params value is '0'2138 succeeds and remove values2139 when epic param is incorrect2140 returns error2141 when feature issuable_health_status is disabled2142 behaves like does not update issuables attribute2143 does not update attribute2144 when user can not update issues2145 behaves like does not update issuables attribute2146 does not update attribute2147 behaves like does not update issuables attribute2148 does not update attribute2149 when user can not admin epic2150 behaves like does not update issuables attribute2151 does not update attribute2152 with epics2153 updating labels2154 when epics are enabled2155 behaves like updates issuables attribute2156 succeeds and returns the correct number of issuables updated2157 when epics are disabled2158 behaves like does not update issuables attribute2159 does not update attribute2160 when issuable_ids contain external epics2161 updates epics that belong to the parent group or descendants2162Vulnerabilities::Export2163 is expected to define :format as an enum, backed by an integer2164 associations2165 is expected to belong to project required:2166 is expected to belong to group required:2167 is expected to belong to author class_name => User required: true2168 validations2169 is expected to validate that :status cannot be empty/falsy2170 is expected to validate that :format cannot be empty/falsy2171 is expected not to validate that :file cannot be empty/falsy2172 when export is finished2173 is expected to validate that :file cannot be empty/falsy2174 presence of both project and group2175 when the project is present2176 when the group is present2177 is expected to include "Project & Group can not be assigned at the same time"2178 when the group is not present2179 is expected not to include "Project & Group can not be assigned at the same time"2180 when the project is not present2181 when the group is present2182 is expected not to include "Project & Group can not be assigned at the same time"2183 when the group is not present2184 is expected not to include "Project & Group can not be assigned at the same time"2185 #status2186 when the export is new2187 is expected to have attributes {:status => "created"}2188 when the export starts2189 is expected to have attributes {:started_at => 2020-08-29 16:43:19.460238589 +0000, :status => "running"}2190 when the export is running2191 and it finishes2192 is expected to have attributes {:finished_at => 2020-08-29 16:43:19.722565734 +0000, :status => "finished"}2193 and it fails2194 is expected to have attributes {:finished_at => 2020-08-29 16:43:19.984527051 +0000, :status => "failed"}2195 #exportable2196 when the export has project assigned2197 is expected to eq #<Project id: namespace682/project721>>2198 when the export does not have project assigned2199 when the export has group assigned2200 is expected to eq #<Group id: @group623>2201 when the export does not have group assigned2202 is expected to eq #<InstanceDouble(InstanceSecurityDashboard) (anonymous)>2203 #exportable=2204 when the exportable is a Project2205 changes the exportable of the export to given project2206 when the exportable is a Group2207 changes the exportable of the export to given group2208 when the exportable is an InstanceSecurityDashboard2209 changes the exportable of the export to security dashboard of the author2210 when the exportable is a String2211 raises an exception2212 #completed?2213 when status is created2214 is expected not to be completed2215 when status is running2216 is expected not to be completed2217 when status is finished2218 is expected to be completed2219 when status is failed2220 is expected to be completed2221Groups::CreateService#execute2222 audit events2223 when licensed2224 does not log audit event if operation fails2225 when operation succeeds2226 logs an audit event2227 logs the audit event info2228 when not licensed2229 does not log audit event2230 repository_size_limit assignment as Bytes2231 when param present2232 assign repository_size_limit as Bytes2233 when param not present2234 assign nil value2235 updating protected params2236 as an admin2237 updates the attributes2238 as a regular user2239 ignores the attributes2240 creating group push rule2241 when feature is available2242 when there are push rules settings2243 uses the configured push rules settings2244 when feature flag is switched off2245 does not create push rule2246 when there are not push rules settings2247 is not creating the group push rule2248 when feature not is available2249 ignores the group push rule2250Projects::ImportService2251 when imported in to a group2252 when audit_events is licensed2253 does audit2254 when audit_events is unlicensed2255 does not audit2256 when not imported in to a group2257 when audit_events is licensed2258 does not audit2259 when audit_events is unlicensed2260 does not audit2261FeatureFlags::EnableService2262 #execute2263 with params to enable default strategy on prd scope2264 when there is no persisted feature flag2265 creates a new feature flag with scope2266 when params include default scope2267 create a new feature flag with an active default scope with the specified strategy2268 when there is a persisted feature flag2269 when there is no persisted scope2270 creates a new scope for the persisted feature flag2271 when there is a persisted scope2272 when the persisted scope does not have the specified strategy yet2273 adds the specified strategy to the scope2274 when the persisted scope is inactive2275 reactivates the scope2276 when the persisted scope has the specified strategy already2277 does not add a duplicated strategy to the scope2278 when strategy is not specified in params2279 returns error2280 when environment scope is not specified in params2281 returns error2282 when name is not specified in params2283 returns error2284Operations::FeatureFlags::UserList2285 validations2286 is expected to validate that :project cannot be empty/falsy2287 is expected to validate that :name cannot be empty/falsy2288 is expected to validate that :name is case-sensitively unique within the scope of :project_id2289 is expected to validate that the length of :name is between 1 and 2552290 user_xids2291 valid_value: ""2292 is valid with a string of comma separated values2293 valid_value: "sam"2294 is valid with a string of comma separated values2295 valid_value: "1"2296 is valid with a string of comma separated values2297 valid_value: "a"2298 is valid with a string of comma separated values2299 valid_value: "uuid-of-some-kind"2300 is valid with a string of comma separated values2301 valid_value: "sam,fred,tom,jane,joe,mike"2302 is valid with a string of comma separated values2303 valid_value: "gitlab@example.com"2304 is valid with a string of comma separated values2305 valid_value: "123,4"2306 is valid with a string of comma separated values2307 valid_value: "UPPER,Case,charActeRS"2308 is valid with a string of comma separated values2309 valid_value: "0"2310 is valid with a string of comma separated values2311 valid_value: "$valid$email#2345\#$%..{}+=-)?\\/@example.com"2312 is valid with a string of comma separated values2313 valid_value: "spaces allowed"2314 is valid with a string of comma separated values2315 valid_value: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"2316 is valid with a string of comma separated values2317 valid_value: "a,bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb,ccc"2318 is valid with a string of comma separated values2319 valid_value: "many spaces"2320 is valid with a string of comma separated values2321 typecast_value: 12322 automatically casts values of other types2323 typecast_value: 2.52324 automatically casts values of other types2325 typecast_value: {}2326 automatically casts values of other types2327 typecast_value: []2328 automatically casts values of other types2329 invalid_value: nil2330 is invalid2331 invalid_value: "123\n456"2332 is invalid2333 invalid_value: "1,2,3,12\t3"2334 is invalid2335 invalid_value: "\n"2336 is invalid2337 invalid_value: "\n\r"2338 is invalid2339 invalid_value: "joe\r,sam"2340 is invalid2341 invalid_value: "1,2,2"2342 is invalid2343 invalid_value: "1,,2"2344 is invalid2345 invalid_value: "1,2,,,,"2346 is invalid2347 invalid_value: "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"2348 is invalid2349 invalid_value: "1, ,2"2350 is invalid2351 invalid_value: "tim, ,7"2352 is invalid2353 invalid_value: " "2354 is invalid2355 invalid_value: " "2356 is invalid2357 invalid_value: " ,1"2358 is invalid2359 invalid_value: "1, "2360 is invalid2361 invalid_value: " leading,1"2362 is invalid2363 invalid_value: "1,trailing "2364 is invalid2365 invalid_value: "1, both ,2"2366 is invalid2367 url_helpers2368 generates paths based on the internal id2369 #destroy2370 deletes the model if it is not associated with any feature flag strategies2371 does not delete the model if it is associated with a feature flag strategy2372 behaves like AtomicInternalId2373 .has_internal_id2374 Module inclusion2375 is expected to includes the AtomicInternalId module2376 Validation2377 when presence validation is required2378 validates presence2379 when presence validation is not required2380 does not validate presence (PENDING: No reason given)2381 Creating an instance2382 saves a new instance properly2383 internal id generation2384 calls InternalId.generate_next and sets internal id attribute2385 does not overwrite an existing internal id2386 when the instance has an internal ID set2387 calls InternalId.update_last_value and sets the `last_value` to that of the instance2388 #reset_scope_internal_id_attribute2389 rewinds the allocated IID2390 allocates the same IID2391Mutations::Pipelines::RunDastScan2392 #resolve2393 when on demand scan feature is not enabled2394 raises an exception2395 when on demand scan feature is enabled2396 when the project does not exist2397 raises an exception2398 when the user is not associated with the project2399 raises an exception2400 when the user is an owner2401 has no errors2402 when the user is a maintainer2403 has no errors2404 when the user is a developer2405 has no errors2406 when the user can run a dast scan2407 returns a pipeline_url containing the correct path2408ProtectedEnvironments::UpdateService#execute2409 with valid params2410 is expected to be truthy2411 updates the deploy access levels2412 with invalid params2413 is expected to be falsy2414 does not update the deploy access levels2415 multiple deploy access levels2416 behaves like invalid multiple deployment access levels2417 does not create deploy access level2418 deploy access level by group2419 behaves like invalid protected environment group2420 does not create deploy access level2421 behaves like valid protected environment group2422 creates deploy access level2423 deploy access level by user2424 behaves like invalid protected environment user2425 does not create deploy access level2426 behaves like valid protected environment user2427 creates deploy access level2428Gitlab::Analytics::CycleAnalytics::Summary::Group::StageTimeSummary2429 #lead_time2430 with `from` date2431 finds the lead time of issues created after it2432 with subgroups2433 finds the lead time of issues from them2434 with projects specified in options2435 finds the lead time of issues from those projects2436 when `from` and `to` parameters are provided2437 finds the lead time of issues from 3 days ago2438 with other projects2439 does not find the lead time of issues from them2440Gitlab::Ci::Reports::LicenseScanning::Report2441 #by_license_name2442 with existing license2443 finds right name2444 without existing license2445 is expected to be nil2446 #merge_dependencies_info!2447 without licensed dependencies2448 does not merge dependency path2449 with licensed dependencies2450 merge path to matched dependencies2451 #violates?2452 when checking for violations using v1 license scan report2453 when a denied license is found in the report2454 is expected to be truthy2455 when a denied license is discovered with a different casing for the name2456 is expected to be truthy2457 when none of the licenses discovered in the report violate the denied policy2458 is expected to be falsey2459 when checking for violations using the v2 license scan reports2460 when a denied license with a SPDX identifier is also in the report2461 is expected to be truthy2462 when a denied license does not have an SPDX identifier because it was provided by an end user2463 is expected to be truthy2464 when none of the licenses discovered match any of the denied software policies2465 is expected to be falsey2466 #diff_with2467 when diffing two v1 reports2468 is expected to contain exactly "Apache 2.0"2469 is expected to contain exactly "MIT" and "BSD"2470 is expected to contain exactly "WTFPL"2471 when diffing two v2 reports2472 is expected to contain exactly "Apache 2.0"2473 is expected to contain exactly "MIT" and "BSD"2474 is expected to contain exactly "WTFPL"2475 when diffing a v1 report with a v2 report2476 is expected to contain exactly "Apache 2.0"2477 is expected to contain exactly "MIT" and "BSD"2478 is expected to contain exactly "WTFPL"2479 when diffing a v2 report with a v1 report2480 is expected to contain exactly "Apache 2.0"2481 is expected to contain exactly "MIT" and "BSD"2482 is expected to contain exactly "WTFPL"2483 #empty?2484 is expected to be empty2485 is expected not to be empty2486 .parse_from2487 when parsing a v1 report2488 is expected to eql "1.0"2489 is expected to eq 42490 when parsing a v2 report2491 is expected to eql "2.0"2492 is expected to eq 32493AdminEmailsWorker2494 recipients2495 sending emails to members of a group only2496 sends email to subscribed users2497 sending emails to members of a project only2498 sends email to subscribed users2499 sending emails to users directly2500 sends email to subscribed users2501Gitlab::Elastic::Helper2502 .new2503 has the proper default values2504 with a custom `index_name`2505 has the proper `index_name`2506 #create_empty_index2507 with an empty cluster2508 creates an index with a custom name2509 with alias and index2510 creates index and alias2511 when there is a legacy index2512 creates the index only2513 when there is an alias2514 raises an error2515 when there is a legacy index2516 raises an error2517 #delete_index2518 without an existing index2519 fails gracefully2520 when there is an alias2521 is expected to be truthy2522 when there is a legacy index2523 is expected to be truthy2524 #index_exists?2525 without an existing index2526 is expected to be falsy2527 when there is a legacy index2528 is expected to be truthy2529 when there is an alias2530 is expected to be truthy2531 #alias_exists?2532 without an existing index2533 is expected to be falsy2534 when there is a legacy index2535 is expected to be falsy2536 when there is an alias2537 is expected to be truthy2538 #cluster_free_size2539 returns valid cluster size2540 #switch_alias2541 switches the alias2542Event2543 #visible_to_user?2544 epic event2545 on public group2546 behaves like visible to everybody2547 is visible to other users2548 on private group2549 behaves like visible to group members only2550 is not visible to other users2551 when admin mode enabled2552 is visible to admin2553 when admin mode disabled2554 is not visible to admin (PENDING: Temporarily skipped with xit)2555 epic note event2556 on public group2557 behaves like visible to everybody2558 is visible to other users2559 private group2560 behaves like visible to group members only2561 is not visible to other users2562 when admin mode enabled2563 is visible to admin2564 when admin mode disabled2565 is not visible to admin (PENDING: Temporarily skipped with xit)2566 #action_name2567 returns the appropriate action name2568 #approved_action?2569 return true only for approved event type2570IssuablesAnalytics2571 #data2572 when issuable relation is ordered by priority2573 generates chart data correctly2574 when months_back parameter is nil2575 returns a hash containing the issues count created in the past 12 months2576 when months_back parameter is present2577 returns a hash containing the issues count created in the past x months2578Security::ReportSummaryService#execute2579 Some fields are requested2580 returns only the request fields2581 When some fields are not requested2582 does not make needless queries2583 All fields are requested2584 returns the scanned_resources_count2585 returns the vulnerability count2586 returns the scanned resources limited to 202587 returns the scanned_resources_csv_path2588 When no security scans ran2589 returns nil2590Elastic::ClusterReindexingService2591 state: initial2592 errors when there is not enough space2593 pauses elasticsearch indexing2594 state: indexing_paused2595 triggers reindexing2596 state: reindexing2597 errors are raised2598 errors if documents count is different2599 errors if reindexing is failed2600 task finishes correctly2601 launches all state steps2602Ci::ProcessPipelineService#execute2603 cross-project pipelines2604 creates a downstream cross-project pipeline2605API-Fuzzing.gitlab-ci.yml2606 the created pipeline2607 when project has no license2608 includes no jobs2609 when project has Ultimate license2610 by default2611 includes no jobs2612 when FUZZAPI_HAR is present2613 includes job2614 when FUZZAPI_OPENAPI is present2615 includes job2616 when API_FUZZING_DISABLED=12617 includes no jobs2618GlobalPolicy2619 is expected to be disallowed :read_licenses2620 is expected to be disallowed :destroy_licenses2621 is expected to be disallowed :read_all_geo2622 reading operations dashboard2623 when licensed2624 is expected to be allowed :read_operations_dashboard2625 and the user is not logged in2626 is expected not to be allowed :read_operations_dashboard2627 when unlicensed2628 is expected not to be allowed :read_operations_dashboard2629 when admin mode enabled2630 is expected to be allowed :read_licenses2631 is expected to be allowed :destroy_licenses2632 is expected to be allowed :read_all_geo2633 when admin mode disabled2634 is expected to be disallowed :read_licenses2635 is expected to be disallowed :destroy_licenses2636 is expected to be disallowed :read_all_geo2637 view_productivity_analytics2638 anonymous user2639 is not allowed2640 authenticated user2641 is allowed2642 update_max_pages_size2643 is expected to be disallowed :update_max_pages_size2644 when feature is enabled2645 is expected to be disallowed :update_max_pages_size2646 when admin mode enabled2647 is expected to be allowed :update_max_pages_size2648 when admin mode disabled2649 is expected to be disallowed :update_max_pages_size2650 create_group_with_default_branch_protection2651 for an admin2652 when the `default_branch_protection_restriction_in_groups` feature is available2653 when the setting `group_owners_can_manage_default_branch_protection` is enabled2654 is expected to be allowed :create_group_with_default_branch_protection2655 when the setting `group_owners_can_manage_default_branch_protection` is disabled2656 when admin mode is enabled2657 is expected to be allowed :create_group_with_default_branch_protection2658 when admin mode is disabled2659 is expected to be disallowed :create_group_with_default_branch_protection2660 when the `default_branch_protection_restriction_in_groups` feature is not available2661 when the setting `group_owners_can_manage_default_branch_protection` is enabled2662 is expected to be allowed :create_group_with_default_branch_protection2663 when the setting `group_owners_can_manage_default_branch_protection` is disabled2664 is expected to be allowed :create_group_with_default_branch_protection2665 for a normal user2666 when the `default_branch_protection_restriction_in_groups` feature is available2667 when the setting `group_owners_can_manage_default_branch_protection` is enabled2668 is expected to be allowed :create_group_with_default_branch_protection2669 when the setting `group_owners_can_manage_default_branch_protection` is disabled2670 is expected to be disallowed :create_group_with_default_branch_protection2671 when the `default_branch_protection_restriction_in_groups` feature is not available2672 when the setting `group_owners_can_manage_default_branch_protection` is enabled2673 is expected to be allowed :create_group_with_default_branch_protection2674 when the setting `group_owners_can_manage_default_branch_protection` is disabled2675 is expected to be allowed :create_group_with_default_branch_protection2676 list_removable_projects2677 when user is an admin2678 when licensed feature is enabled2679 is expected to be allowed :list_removable_projects2680 when licensed feature is enabled2681 is expected to be disallowed :list_removable_projects2682 when user is a normal user2683 when licensed feature is enabled2684 is expected to be disallowed :list_removable_projects2685 when licensed feature is enabled2686 is expected to be disallowed :list_removable_projects2687WikiPages::CreateService2688 #execute2689 calls Geo::RepositoryUpdatedService when running on a Geo primary node2690 does not call Geo::RepositoryUpdatedService when not running on a Geo primary node2691 behaves like WikiPages::CreateService#execute2692 creates wiki page with valid attributes2693 executes webhooks2694 counts wiki page creation2695 does not call Geo::RepositoryUpdatedService when container is group2696 the new page is at the top level2697 creates appropriate events (PENDING: group wiki support)2698 the new page is in a subsection2699 creates appropriate events (PENDING: group wiki support)2700 when the options are bad2701 does not count a creation event2702 does not record the activity2703 reports the error2704SearchHelper2705 #search_filter_input_options2706 with multiple issue assignees feature2707 allows multiple assignees in project context2708 allows multiple assignees in group context2709 allows multiple assignees in dashboard context2710 without multiple issue assignees feature2711 does not allow multiple assignees in project context2712 does not allow multiple assignees in group context2713 allows multiple assignees in dashboard context2714 #project_autocomplete2715 with a licensed user2716 does not include feature flags2717 with a licensed user2718 does include feature flags2719 #search_entries_info_template2720 when all requirements are met2721 returns a custom message2722 when not in Gitlab.com2723 behaves like returns old message2724 is expected to eq "Showing %{count} %{scope} for%{term_element}"2725 when flag restricted_snippet_scope_search is not enabled2726 behaves like returns old message2727 is expected to eq "Showing %{count} %{scope} for%{term_element}"2728 when elastic search is not enabled2729 behaves like returns old message2730 is expected to eq "Showing %{count} %{scope} for%{term_element}"2731 when no user is present2732 behaves like returns old message2733 is expected to eq "Showing %{count} %{scope} for%{term_element}"2734 when not searching for snippets2735 behaves like returns old message2736 is expected to eq "Showing %{count} %{scope} for%{term_element}"2737 #show_switch_to_basic_search?2738 when :switch_to_basic_search feature is disabled2739 is expected to eq false2740 when not currently using elasticsearch2741 is expected to eq false2742 when project scope2743 is expected to eq true2744 when commits tab2745 is expected to eq false2746 when issues tab2747 is expected to eq true2748ElasticNamespaceIndexerWorker2749 when ES is disabled2750 returns true2751 when ES is enabled2752 returns true if limited indexing is not enabled2753 indexing and deleting2754 indexes all projects belonging to the namespace2755 deletes all projects belonging to the namespace2756Gitlab::Instrumentation::ElasticsearchTransport2757 .increment_request_count2758 increases the request count by 12759 .add_duration2760 does not lose precision while adding2761 .add_call_details2762 parses and tracks the call details2763Gitlab::Instrumentation::ElasticsearchTransportInterceptor2764 tracks any requests via the Elasticsearch client2765 adds the labkit correlation id as X-Opaque-Id to all requests2766 does not override the X-Opaque-Id if it is already present2767UpdateBuildMinutesService2768 #perform2769 with shared runner2770 creates a statistics and sets duration with applied cost factor2771 when statistics are created2772 updates statistics and adds duration with applied cost factor2773 when namespace is subgroup2774 creates a statistics in root namespace2775 when cost factor has non-zero fractional part2776 truncates the result product value2777 for specific runner2778 does not create statistics2779Vulnerabilities::Identifier2780 associations2781 is expected to have many finding_identifiers class_name => Vulnerabilities::FindingIdentifier2782 is expected to have many findings class_name => Vulnerabilities::Finding2783 is expected to have many primary_findings class_name => Vulnerabilities::Finding2784 is expected to belong to project required:2785 validations2786 is expected to validate that :name cannot be empty/falsy2787 is expected to validate that :project cannot be empty/falsy2788 is expected to validate that :external_type cannot be empty/falsy2789 is expected to validate that :external_id cannot be empty/falsy2790 is expected to validate that :fingerprint cannot be empty/falsy2791 .with_fingerprint2792 when identifier has the corresponding fingerprint2793 selects the identifier2794 when identifier does not have the corresponding fingerprint2795 does not select the identifier2796Clusters::DeploymentEntity2797 exposes id2798 exposes iid2799 exposes deployable name2800Banzai::ReferenceParser::IterationParser2801 #nodes_visible_to_user2802 when the link has a data-iteration attribute2803 behaves like referenced feature visibility2804 when feature is disabled2805 does not create reference2806 when feature is enabled only for team members2807 does not create reference for non member2808 creates reference for member2809 when feature is enabled2810 creates reference2811 #referenced_by2812 when the link has a data-iteration attribute2813 using an existing iteration ID2814 returns an Array of iterations2815 using a non-existing iteration ID2816 returns an empty Array2817Gitlab::Ci::Pipeline::Chain::Limit::JobActivity2818 when active jobs limit is exceeded2819 drops the pipeline2820 persists the pipeline2821 breaks the chain2822 sets a valid failure reason2823 logs the error2824 when job activity limit is not exceeded2825 does not break the chain2826 does not invalidate the pipeline2827 does not log any error2828ProjectFeatureUsage2829 .jira_dvcs_integrations_enabled_count2830 returns count of projects with Jira DVCS Cloud enabled2831 returns count of projects with Jira DVCS Server enabled2832 #log_jira_dvcs_integration_usage2833 logs Jira DVCS Cloud last sync2834 logs Jira DVCS Server last sync2835 when log_jira_dvcs_integration_usage is called simultaneously for the same project2836 logs the latest call2837Dashboard::Environments::ListService2838 #execute2839 returns a list of projects2840 preloads only relevant ci_builds2841 when unlicensed2842 returns an empty array2843MergeRequests::BaseService2844 #execute_hooks2845 has Jira dev panel integration license2846 with a Jira subscription2847 MR contains Jira issue key2848 behaves like enqueues Jira sync worker2849 is expected to change `Array#size` by 12850 MR does not contain Jira issue key2851 behaves like does not enqueue Jira sync worker2852 is expected not to change `Array#size`2853 without a Jira subscription2854 behaves like does not enqueue Jira sync worker2855 is expected not to change `Array#size`2856 does not have Jira dev panel integration license2857 behaves like does not enqueue Jira sync worker2858 is expected not to change `Array#size`2859 #filter_params2860 filter users and groups2861 calls ParamsFilteringService2862StatusPage::IncidentCommentEntity2863 exposes JSON fields2864 field #note2865 behaves like reference links for status page2866 with public project2867 with public issue2868 shows link anchor with HTML data attributes2869 with confidential issue2870 redacts link anchor and HTML data attributes2871 with private project2872 with public issue2873 redacts link anchor and HTML data attributes2874 mentions2875 with username2876 anonymizes mention2877 with arbitrary username2878 shows the mention2879 with @all2880 anonymizes mention2881 with groups2882 group_visibility: :public2883 anonymizes mention2884 group_visibility: :internal2885 anonymizes mention2886 group_visibility: :private2887 anonymizes mention2888 behaves like img upload tags for status page2889 converts to html2890ElasticDeleteProjectWorker2891 deletes a project with all nested objects2892Resolvers::IterationsResolver2893 #resolve2894 for group iterations2895 calls IterationsFinder#execute2896 without parameters2897 calls IterationsFinder to retrieve all iterations2898 with parameters2899 calls IterationsFinder with correct parameters2900 with subgroup2901 defaults to include_ancestors2902 does not default to include_ancestors if IID is supplied2903 accepts include_ancestors false2904 by timeframe2905 when start_date and end_date are present2906 when start date is after end_date2907 raises error2908 when only start_date is present2909 raises error2910 when only end_date is present2911 raises error2912 when user cannot read iterations2913 raises error2914Gitlab::Prometheus::Queries::AdditionalMetricsDeploymentQuery2915 queries using specific time2916 with custom metrics2917 without common metrics2918 return group data for custom metric2919 with common metrics2920 return group data for custom metric2921Ci::AuditVariableChangeService2922 when audits are available2923 when creating variable2924 logs audit event2925 logs variable creation2926 when updating variable protection2927 logs audit event2928 logs variable protection update2929 when destroying variable2930 logs audit event2931 logs variable destruction2932 when audits are not available2933 when creating variable2934 does not log an audit event2935 when updating variable protection2936 does not log an audit event2937 when destroying variable2938 does not log an audit event2939ProjectAlias2940 is expected to belong to project required:2941 is expected to validate that :project cannot be empty/falsy2942 is expected to validate that :name cannot be empty/falsy2943 is expected to validate that :name is case-sensitively unique2944 is expected not to allow :name to be ‹"/foo"›2945 is expected not to allow :name to be ‹"foo/foo"›2946 is expected not to allow :name to be ‹"foo.git"›2947Gitlab::Ci::Reports::Security::AggregatedReport2948 #created_at2949 no reports2950 has no created date2951 report with no created date2952 has no created date2953 has reports2954 has oldest created date2955Projects::RestoreService2956 restoring project2957 marks project as unarchived and not marked for deletion2958 restoring project already in process of removal2959 does not allow to restore2960 audit events2961 saves audit event2962Clusters::Agents::CreateService2963 #execute2964 without premium plan2965 returns missing plan error2966 without user permissions2967 returns errors when user does not have permissions2968 with premium plan and user permissions2969 creates a new clusters_agent2970 returns success status2971 generates an error message when name is invalid2972Gitlab::Auth::GroupSaml::MembershipUpdater2973 adds the user to the group2974 adds the member with the specified `default_membership_role`2975 doesn't duplicate group membership2976 doesn't overwrite existing membership level2977 logs an audit event2978Issuable::Clone::AttributesRewriter2979 when a new object is a group entity2980 when entity is an epic2981 setting labels2982 keeps group labels and merges project labels where possible2983 setting milestones2984 ignores milestone attribute2985Iterations::CreateService2986 for projects2987 behaves like iterations create service2988 iterations feature enabled2989 #execute2990 valid params2991 creates an iteration2992 invalid params2993 does not create an iteration but returns errors2994 no permissions2995 is not allowed2996 iterations feature disabled2997 #execute2998 is not allowed2999 for groups3000 behaves like iterations create service3001 iterations feature enabled3002 #execute3003 valid params3004 creates an iteration3005 invalid params3006 does not create an iteration but returns errors3007 no permissions3008 is not allowed3009 iterations feature disabled3010 #execute3011 is not allowed3012GroupSamlIdentityFinder3013 .find_by_group_and_uid3014 finds identity matching user and group3015 returns nil when no saml_provider exists3016 .not_managed_identities3017 returns all identities of users not managed by given group3018 #find_linked3019 finds identity matching user and group3020 returns nil when no saml_provider exists3021 returns nil when group is nil3022 #all3023 finds Group SAML identities for a user3024 avoids N+1 on access to provider and group path3025EE::IssuesHelper3026 #issue_closed_link3027 with linked issue3028 with promoted issue3029 when user has permission to see new epic3030 returns link3031 when user has no permission to see new epic3032 returns nil3033 #issue_in_subepic?3034 returns false if epic_id parameter is not set or is wildcard3035 returns false if epic_id parameter is the same as issue epic_id3036 returns false if the issue is not part of an epic3037 returns true if epic_id parameter is not the same as issue epic_id3038BoardsHelper3039 #board_list_data3040 contains an endpoint to get users list3041 #current_board_json3042 serializes with child object attributes3043Boards::DestroyService3044 #execute3045 behaves like remove the board3046 when group have more than one board3047 removes board from group3048 when group have one board3049 does not remove board from group3050 behaves like remove the board3051 when project have more than one board3052 removes board from project3053 when project have one board3054 does not remove board from project3055BoardUserPreference3056 relationships3057 is expected to belong to board required:3058 is expected to belong to user required:3059 is expected to validate that :user_id is case-sensitively unique within the scope of :board_id, producing a custom validation error on failure3060EE::Gitlab::Auth::Ldap::Sync::ExternalUsers3061 #update_permissions3062 adds users from both external LDAP groups as external users3063 removes users that are not in the LDAP group3064 leaves external users that do not have the LDAP provider3065 leaves external users that have a different provider identity3066 when ldap connection fails3067 logs a debug message3068ElasticsearchIndexedProject3069 behaves like an elasticsearch indexed container3070 validations3071 validates uniqueness of main attribute3072 callbacks3073 on save3074 triggers index_project3075 performs the expected action3076 on destroy3077 triggers delete_from_index3078 performs the expected action3079NotesHelpers3080 #find_noteable3081 #find_noteable3082 returns the expected epic3083 raises not found exception when epic does not belong to group3084Ci::CompareLicenseScanningReportsService3085 #execute3086 when head pipeline has license scanning reports3087 reports new licenses3088 when base and head pipelines have test reports3089 reports status as parsed3090 reports new licenses3091 reports existing licenses3092 reports removed licenses3093 when head pipeline has corrupted license scanning reports3094 does not expose parser errors3095 when the base pipeline is nil3096 does not expose parser errors3097Projects::SetupCiCd3098 sets up pull mirroring on the project3099 disables some features3100 when import_url is blank3101 doesn't update the project3102Ci::BatchResetMinutesWorker3103 #perform3104 delegates to Ci::Minutes::BatchResetService3105 behaves like an idempotent worker3106 is labeled as idempotent3107 performs multiple times sequentially without raising an exception3108 recalculates purchased minutes for the namespace exceeding the monthly minutes3109 does not recalculate purchased minutes for the namespace not exceeding the monthly minutes3110 behaves like resets CI minutes and notification3111 resets CI minutes used and notification data3112 behaves like resets CI minutes and notification3113 resets CI minutes used and notification data3114 when feature flag ci_parallel_minutes_reset is disabled3115 does not call Ci::Minutes::BatchResetService3116Gitlab::Prometheus::Queries::AdditionalMetricsEnvironmentQuery3117 queries using specific time3118 with custom metrics3119 without common metrics3120 return group data for custom metric3121 with common metrics3122 return group data for custom metric3123Gitlab::SearchResults3124 #projects3125 avoid N+1 queries3126LabelPresenter3127 #scoped_label?3128 with scoped_labels enabled3129 with project label with context subject set3130 is expected to be truthy3131 with project label without context subject3132 is expected to be truthy3133 with scoped_labels disabled3134 with project label with context subject set3135 is expected to be falsey3136shared/credentials_inventory/personal_access_tokens/_personal_access_token.html.haml3137 shows the users name3138 shows the created on date3139 shows the expiry date3140 revoked date3141 when set3142 shows the last accessed on date3143 when not set3144 shows "Never" for the last accessed on date3145 scopes3146 when set3147 shows the scopes3148 when not set3149 shows "No Scopes"3150Resolvers::EpicIssuesResolver3151 #resolve3152 finds all epic issues3153 finds only epic issues that user can read3154ElasticsearchIndexedNamespace3155 scope3156 .namespace_in3157 returns records of the ids3158 behaves like an elasticsearch indexed container3159 validations3160 validates uniqueness of main attribute3161 callbacks3162 on save3163 triggers index_project3164 performs the expected action3165 on destroy3166 triggers delete_from_index3167 performs the expected action3168 with plans3169 .index_first_n_namespaces_of_plan3170 creates records, scoped by plan and ordered by namespace id3171 .unindex_last_n_namespaces_of_plan3172 creates records, scoped by plan and ordered by namespace id3173Mutations::InstanceSecurityDashboard::AddProject3174 #resolve3175 when user is not logged_in3176 raises Gitlab::Graphql::Errors::ResourceNotAvailable error3177 when user is logged_in3178 when security_dashboard is not enabled3179 raises Gitlab::Graphql::Errors::ResourceNotAvailable error3180 when security_dashboard is enabled3181 when project is available to the user and can be added to the security dashboard3182 adds project to the security dashboard3183 when project is not available to the user3184 raises Gitlab::Graphql::Errors::ResourceNotAvailable error3185 when project is already added to the security dashboard3186 does not add project to the security dashboard3187PathLocks::UnlockService3188 unlocks path3189 raises exception if user has no permissions3190Mutations::Issues::SetWeight3191 #resolve3192 raises an error if the resource is not accessible to the user3193 when the user can update the issue3194 returns the issue with correct weight3195Gitlab::ImportExport::Group::RelationFactory3196 epic object3197 does not have the original ID3198 does not have the original group_id3199 has the new group_id3200 excluded attributes3201 are removed from the imported object3202 overridden model3203 does not raise errors3204 Notes user references3205 maps the right author to the imported note3206Namespaces::CheckStorageSizeService#execute3207 feature flag3208 is successful when disabled3209 errors when enabled3210 is successful when feature flag is activated for another namespace3211 errors when feature flag is activated for the current namespace3212 when limit is set to 03213 is successful and has no payload3214 when current size is below threshold3215 is successful and has no payload3216 when not admin of the namespace3217 errors and has no payload3218 when providing the child namespace3219 uses the root namespace3220 payload alert_level3221 when above info threshold3222 is expected to eq :info3223 when above warning threshold3224 is expected to eq :warning3225 when above alert threshold3226 is expected to eq :alert3227 when above error threshold3228 is expected to eq :error3229 payload explanation_message3230 when above limit3231 returns message with read-only warning3232 when below limit3233 is expected to include "If you reach 100% storage capacity"3234 payload usage_message3235 returns current usage information3236 payload root_namespace3237 is expected to eq #<Namespace id: 1052, name: "namespace931", path: "namespace931", owner_id: nil, created_at: "2020-08...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>3238Security::CiConfiguration::SastParserService3239 #configuration3240 parses the configuration for SAST3241 while populating current values of the entities3242 when .gitlab-ci.yml is present3243 populates the current values from the file3244 when .gitlab-ci.yml is absent3245 populates the current values with the default values3246AlertsService3247 Opsgenie MVC3248 #opsgenie_mvc_target_url3249 when enabled3250 validates presence3251 enforces public urls3252 url: "https://appname.app.opsgenie.com/alert/list", valid: true3253 is expected to be valid3254 url: "https://example.com", valid: true3255 is expected to be valid3256 url: "http://example.com", valid: true3257 is expected to be valid3258 url: "http://0.0.0.0", valid: false3259 is expected to be invalid3260 url: "http://127.0.0.1", valid: false3261 is expected to be invalid3262 url: "ftp://example.com", valid: false3263 is expected to be invalid3264 url: "invalid url", valid: false3265 is expected to be invalid3266 when disabled3267 does not validate presence3268 allows any value3269 #opsgenie_mvc_available?3270 when license is available3271 is expected to eq true3272 when license is not available3273 is expected to eq false3274 when template service3275 is expected to eq false3276 when instance service3277 is expected to eq false3278Gitlab::Audit::Auditor3279 .audit3280 interacts with the event queue in correct order3281 records audit events in correct order3282 bulk-inserts audit events to database3283 logs audit events to database3284 logs audit events to file3285 when audit events are invalid3286 tracks error3287 does not throw exception3288Gitlab::Auth::Ldap::User3289 includes the EE module3290 #initialize3291 when there is one external group3292 when there is another user in the external group3293 when the user is in the external group3294 sets the user's external flag to true3295 when the user is not in the external group3296 sets the user's external flag to false3297 when there are no other users in the external group3298 when the user is in the external group3299 sets the user's external flag to true3300 when the user is not in the external group3301 sets the user's external flag to false3302 with "user_default_external" application setting3303 user_default_external: true, user_default_internal_regex: nil, user_is_in_external_group: false, expected_to_be_external: false3304 sets the user's external flag appropriately3305 user_default_external: true, user_default_internal_regex: "example.com", user_is_in_external_group: false, expected_to_be_external: false3306 sets the user's external flag appropriately3307 user_default_external: true, user_default_internal_regex: nil, user_is_in_external_group: true, expected_to_be_external: true3308 sets the user's external flag appropriately3309 user_default_external: true, user_default_internal_regex: "example.com", user_is_in_external_group: true, expected_to_be_external: true3310 sets the user's external flag appropriately3311 user_default_external: false, user_default_internal_regex: nil, user_is_in_external_group: false, expected_to_be_external: false3312 sets the user's external flag appropriately3313 user_default_external: false, user_default_internal_regex: "example.com", user_is_in_external_group: false, expected_to_be_external: false3314 sets the user's external flag appropriately3315 user_default_external: false, user_default_internal_regex: nil, user_is_in_external_group: true, expected_to_be_external: true3316 sets the user's external flag appropriately3317 user_default_external: false, user_default_internal_regex: "example.com", user_is_in_external_group: true, expected_to_be_external: true3318 sets the user's external flag appropriately3319 when there is more than one external group3320 when the user is in an external group3321 sets the user's external flag to true3322 when the user is not in an external group3323 sets the user's external flag to false3324 when there are no external groups3325 sets the user's external flag to false3326 when the user_default_external application setting is true3327 does not set the external flag to false3328EE::AuditEvents::BulkInsertService3329 #execute3330 persists audit events3331 writes logs3332Elastic::ProjectsSearch3333 #maintain_elasticsearch_create3334 calls track!3335 #maintain_elasticsearch_destroy3336 calls delete worker3337Gitlab::Auth::GroupSaml::DynamicSettings3338 exposes a settings hash3339 behaves like an enumerator for settings3340 configures requests to transfrom redirect_to to RelayState3341 sets settings from saml_provider3342 assertion_consumer_service_url3343 issuer3344 idp_cert_fingerprint3345 idp_sso_target_url3346 name_identifier_format3347 sets default settings without saml_provider3348 assertion_consumer_service_url3349 issuer3350 name_identifier_format3351 excludes configured keys3352Gitlab::Jira::Dvcs3353 .encode_slash3354 replaces slash character3355 ignores path without slash3356 .decode_slash3357 replaces slash character3358 ignores path without slash3359 .encode_project_name3360 root group3361 returns project path3362 nested group3363 returns encoded project full path3364 .restore_full_path3365 project name is an encoded full path3366 returns decoded project path3367 project name is not an encoded full path3368 assumes project belongs to root namespace and returns full project path based on passed in namespace3369Gitlab::Cleanup::OrphanJobArtifactFilesBatch3370 Geo secondary3371 no dry run3372 deletes registries for the found artifacts3373 with dry run3374 does not remove registries3375ProjectClusterablePresenter3376 #metrics_cluster_path3377 is expected to eq "/namespace958/project973/-/clusters/3/metrics"3378Gitlab::Auth3379 with kerberos3380 finds user3381 #build_access_token_check3382 for running build3383 executes query using primary database3384Banzai::Filter::IssuableStateFilter3385 ignores open epic references3386 appends state to closed epic references3387 skips cross references if the user cannot read cross group3388Gitlab::UrlBuilder3389 .build3390 factory: :epic, path_generator: ->(epic) { "/groups/#{epic.group.full_path}/-/epics/#{epic.iid}" }3391 returns the full URL3392 returns only the path if only_path is set3393 factory: :vulnerability, path_generator: ->(vulnerability) { "/#{vulnerability.project.full_path}/-/security/vulnerabilities/#{vulnerability.id}" }3394 returns the full URL3395 returns only the path if only_path is set3396 factory: :note_on_epic, path_generator: ->(note) { "/groups/#{note.noteable.group.full_path}/-/epics/#{note.noteable.iid}#note_#{note.id}" }3397 returns the full URL3398 returns only the path if only_path is set3399 factory: :note_on_vulnerability, path_generator: ->(note) { "/#{note.project.full_path}/-/security/vulnerabilities/#{note.noteable.id}#note_#{note.id}" }3400 returns the full URL3401 returns only the path if only_path is set3402 factory: :group_wiki, path_generator: ->(wiki) { "/groups/#{wiki.container.full_path}/-/wikis/home" }3403 returns the full URL3404 returns only the path if only_path is set3405API::Entities::Member3406 when current user is allowed to read group saml identity3407 exposes group_saml_identity3408 when current user is not allowed to read group saml identity3409 does not expose group saml identity3410 when current user is allowed to manage user3411 exposes email3412 when current user is not allowed to manage user3413 does not expose email3414StatusPage::PublishService3415 #execute3416 publish details3417 when upload succeeds3418 uploads incident details and list3419 when upload fails3420 propagates the exception3421 unpublish details3422 when unpublish succeeds3423 unpublishes incident details and uploads incident list3424 when unpublish service responses with error3425 returns the response3426 publish list3427 when upload fails3428 returns error response3429 with unrelated issue3430 returns error issue not found3431 when user cannot publish3432 returns error missing publish permission3433EE::Gitlab::Scim::ReprovisionService3434 #execute3435 activates scim identity3436 creates the member3437 creates the member with the access level as specified in saml_provider3438 does not change group membership when the user is already a member3439Analytics::CycleAnalytics::Stages::DeleteService3440 behaves like permission check for cycle analytics stage services3441 when user has no access3442 is expected to be error3443 is expected to eq :forbidden3444 when license is missing3445 is expected to be error3446 is expected to eq :forbidden3447 when persisted stage is given3448 is expected to be success3449 deletes the stage3450 disallows deletion when default stage is given3451 is expected not to be success3452 is expected to eq :forbidden3453RemoteMirror3454 #sync3455 as a Geo secondary3456 returns nil3457Milestones::UpdateService3458 #execute3459 refresh related epic dates3460 updates milestone sourced dates3461DependencyProxy::RequestTokenService3462 remote request is successful3463 is expected to eq :success3464 is expected to eq "a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3"3465 remote request is not found3466 is expected to eq :error3467 is expected to eq 4043468 is expected to eq "Expected 200 response code for an access token"3469 failed to parse response body3470 is expected to eq :error3471 is expected to eq 5003472 is expected to eq "Failed to parse a response body for an access token"3473 net timeout exception3474 is expected to eq :error3475 is expected to eq 5993476 is expected to eq "execution expired"3477FeatureFlagSummaryEntity3478 has summary information3479Integrations::Jira::IssueEntity3480 returns the Jira issues attributes3481 with Jira Server configuration3482 returns the Jira Server profile URL3483 with Jira Cloud configuration3484 returns the Jira Cloud profile URL3485 without assignee3486 returns an empty array3487 without labels3488 returns an empty array3489Mutations::RequirementsManagement::UpdateRequirement3490 #resolve3491 behaves like requirements not available3492 raises a not accessible error3493 when the user can update the epic3494 when requirements feature is available3495 updates new requirement3496 when requirements_management flag is disabled3497 behaves like requirements not available3498 raises a not accessible error3499 when requirements feature is disabled3500 behaves like requirements not available3501 raises a not accessible error3502BlobEntity3503 as json3504 exposes needed attributes3505projects/pipelines/_tabs_content3506 rendering the Vulnerability Findings API endpoint path3507EE::Gitlab::Scim::DeprovisionService3508 #execute3509 deactivates scim identity3510 removes group access3511 does not remove the last owner3512 does not change group membership when the user is not a member3513DashboardEnvironmentsSerializer3514 .represent3515 returns an empty array when there are no projects3516 includes project attributes3517Integrations::Test::ProjectService3518 #execute3519 without event specified3520 GitHubService3521 behaves like tests for integration with pipeline data3522 tests the integration with pipeline data3523PersonalAccessTokens::RotationVerifierService3524 #expired?3525 when no new token was created after notification for expired token started3526 behaves like rotation required3527 is expected to equal true3528 cache3529 behaves like stores in cache3530 is expected to eq true3531 when token was created after notification for expired token started3532 behaves like rotation NOT required3533 is expected to equal false3534 cache3535 behaves like stores in cache3536 is expected to eq false3537 with multiple expired tokens3538 when no new token was created after notification for expired token started3539 behaves like rotation required3540 is expected to equal true3541 when new token was created after notification for ONLY first expired token started3542 behaves like rotation required3543 is expected to equal true3544 when new token was created after notification for most recent expired token started3545 behaves like rotation NOT required3546 is expected to equal false3547 For user with no PATs3548 behaves like rotation NOT required3549 is expected to equal false3550 #expiring_soon?3551 when no new token was created after notification for recent expiring token started3552 behaves like rotation required3553 is expected to equal true3554 cache3555 behaves like stores in cache3556 is expected to eq true3557 when token was created after notification for recent expiring token started3558 behaves like rotation NOT required3559 is expected to equal false3560 cache3561 behaves like stores in cache3562 is expected to eq false3563 with multiple expiring tokens3564 when no new token was created after notification for expiring token started3565 behaves like rotation required3566 is expected to equal true3567 when new token was created after notification for ONLY first expiring token started3568 behaves like rotation required3569 is expected to equal true3570 when new token was created after notification for most recent expiring token started3571 behaves like rotation NOT required3572 is expected to equal false3573 For user with no PATs3574 behaves like rotation NOT required3575 is expected to equal false3576 #clear_cache3577 clears cache3578HooksHelper3579 #link_to_test_hook3580 returns group namespaced link3581EE::Gitlab::Ci::Pipeline::Quota::Activity3582 #enabled?3583 when limit is enabled in plan3584 is enabled3585 when limit is not enabled3586 is not enabled3587 when limit does not exist3588 is not enabled3589 #exceeded?3590 when limit is exceeded3591 is exceeded3592 when limit is not exceeded3593 is not exceeded3594 #message3595 when limit is exceeded3596 returns info about pipeline activity limit exceeded3597AuditEvents::BuildService3598 #execute3599 when licensed3600 sets correct attributes3601 when IP address is not provided3602 uses author current_sign_in_ip3603 when not licensed3604 sets correct attributes3605VulnerabilityEntity3606 exposes vulnerability-specific elements3607EE::AuditEvents::CustomAuditEventService3608 #security_event3609 creates an event and logs to a file with the provided details3610Mutations::Boards::Update3611 is expected to require graphql authorizations :admin_board3612 #resolve3613 when the user cannot admin the board3614 raises an error3615 when user can update board3616 updates issue with correct values3617projects/protected_environments/_protected_environment3618 displays protected environments without matching environment as text3619 displays protected environments with matching environment as link3620EventsHelper3621 #event_note_target_url3622 for epic note events3623 returns an epic url3624Gitlab::SidekiqConfig3625 .workers3626 includes EE workers3627 .worker_queues3628 includes EE queues3629 .expand_queues3630 expands queue namespaces to concrete queue names3631 lets concrete queue names pass through3632 lets unknown queues pass through3633 .workers_for_all_queues_yml3634 returns a tuple with EE workers second3635 .all_queues_yml_outdated?3636 returns true if the YAML file does not match the application code3637 returns false if the YAML file matches the application code3638DependencyProxy::PullManifestService3639 remote request is successful3640 is expected to eq :success3641 is expected to eq "{\"foo\":\"bar\"}"3642 remote request is not found3643 is expected to eq :error3644 is expected to eq 4043645 is expected to eq "Not found"3646 net timeout exception3647 is expected to eq :error3648 is expected to eq 5993649 is expected to eq "execution expired"3650LinkedFeatureFlagIssueEntity3651 #as_json3652 returns json3653IssueBoardEntity3654 #weight3655 has `weight` attribute3656 when project does not support issue weights3657 does not have `weight` attribute3658 #blocked3659 the issue is not blocked by default3660 when blocked_issue_ids contains the issue id3661 the issue is blocked3662 when blocked_issue_ids is not set3663 the issue is not blocked3664LdapGroupLink3665 validation3666 cn3667 validates uniqueness based on group_id and provider3668 is invalid when a filter is also present3669 filter3670 validates uniqueness based on group_id and provider3671 validates the LDAP filter3672 provider3673 shows the set value3674 defaults to the first ldap server if empty3675Mutations::Boards::Lists::UpdateLimitMetrics3676 #ready?3677 raises an error if required arguments are missing3678 #resolve3679 with admin rights3680 updates the list as expected3681 without admin rights3682 fails3683Gitlab::Database::LoadBalancing::SrvResolver3684 #address_for3685 when additional section contains an A record3686 returns an IP4 address3687 when additional section contains an AAAA record3688Net::DNS unsupported record type: uninitialized constant Net::DNS::RR::OPT3689Did you mean? Net::DNS::OPT3690 returns an IP6 address3691 when additional section does not contain A nor AAAA records3692 when host resolves to an A record3693 returns an IP4 address3694 when host does resolves to an AAAA record3695Net::DNS unsupported record type: uninitialized constant Net::DNS::RR::OPT3696Did you mean? Net::DNS::OPT3697 returns an IP6 address3698Gitlab::StatusPage::Storage3699 MAX_KEYS_PER_PAGE times MAX_PAGES establishes upload limit3700 .details_path3701 is expected to eq "data/incident/123.json"3702 .details_url3703 when issue is not published3704 is expected to be nil3705 with a published incident3706 without a status page setting3707 is expected to be nil3708 when status page setting is disabled3709 is expected to be nil3710 when status page setting is enabled3711 is expected to eq "https://status.gitlab.com/#/data%2Fincident%2F1.json"3712 when status page setting does not include a url3713 is expected to be nil3714 .list_path3715 is expected to eq "data/list.json"3716 .upload_path3717 is expected to eq "data/incident/2/50b7a196557cf72a98e86a7ab4b1ac3b/screenshot.png"3718 .uploads_path3719 is expected to eq "data/incident/2/"3720ComplianceManagement::ComplianceFramework::ProjectSettingsHelper3721 #compliance_framework_options3722 has all the options3723 #compliance_framework_checkboxes3724 has all the checkboxes3725 #compliance_framework_description3726 framework: :gdpr, description: "GDPR - General Data Protection Regulation"3727 is expected to eq "GDPR - General Data Protection Regulation"3728 framework: :hipaa, description: "HIPAA - Health Insurance Portability and Accountability Act"3729 is expected to eq "HIPAA - Health Insurance Portability and Accountability Act"3730 framework: :pci_dss, description: "PCI-DSS - Payment Card Industry-Data Security Standard"3731 is expected to eq "PCI-DSS - Payment Card Industry-Data Security Standard"3732 framework: :soc_2, description: "SOC 2 - Service Organization Control 2"3733 is expected to eq "SOC 2 - Service Organization Control 2"3734 framework: :sox, description: "SOX - Sarbanes-Oxley"3735 is expected to eq "SOX - Sarbanes-Oxley"3736 #compliance_framework_title3737 framework: :gdpr, title: "GDPR"3738 is expected to eq "GDPR"3739 framework: :hipaa, title: "HIPAA"3740 is expected to eq "HIPAA"3741 framework: :pci_dss, title: "PCI-DSS"3742 is expected to eq "PCI-DSS"3743 framework: :soc_2, title: "SOC 2"3744 is expected to eq "SOC 2"3745 framework: :sox, title: "SOX"3746 is expected to eq "SOX"3747 #compliance_framework_color3748 framework: :gdpr, color: "gl-bg-green-500"3749 is expected to eq "gl-bg-green-500"3750 framework: :hipaa, color: "gl-bg-blue-500"3751 is expected to eq "gl-bg-blue-500"3752 framework: :pci_dss, color: "gl-bg-theme-indigo-500"3753 is expected to eq "gl-bg-theme-indigo-500"3754 framework: :soc_2, color: "gl-bg-red-500"3755 is expected to eq "gl-bg-red-500"3756 framework: :sox, color: "gl-bg-orange-500"3757 is expected to eq "gl-bg-orange-500"3758 #compliance_framework_tooltip3759 framework: :gdpr, tooltip: "This project is regulated by GDPR."3760 is expected to eq "This project is regulated by GDPR."3761 framework: :hipaa, tooltip: "This project is regulated by HIPAA."3762 is expected to eq "This project is regulated by HIPAA."3763 framework: :pci_dss, tooltip: "This project is regulated by PCI-DSS."3764 is expected to eq "This project is regulated by PCI-DSS."3765 framework: :soc_2, tooltip: "This project is regulated by SOC 2."3766 is expected to eq "This project is regulated by SOC 2."3767 framework: :sox, tooltip: "This project is regulated by SOX."3768 is expected to eq "This project is regulated by SOX."3769ContainerRegistry::Client3770 #push_blob3771 PUT /v2/:name/blobs/uploads/url?digest=mytag3772 raises error if response status is not 2003773 #push_manifest3774 PUT v2/:name/manifests/:tag3775 raises error if response status is not 2003776 #blob_exists?3777 returns true3778 returns false3779 #repository_raw_manifest3780 GET "/v2/:name/manifests/:reference3781 #pull_blob3782 downloads file successfully when3783 raises error when it can not download blob3784 raises error when request is not authenticated3785 when primary_api_url is specified with trailing slash3786 builds correct URL3787 direct link to download, no redirect3788 downloads blob successfully3789Projects::AlertManagementHelper3790 #alert_management_data3791 when available3792 is expected to include {"opsgenie_mvc_available" => "true", "opsgenie_mvc_enabled" => "false", "opsgenie_mvc_target_url" => "https://appname.app.opsgenie.com/alert/list"}3793 when not available3794 is expected not to include ["opsgenie_mvc_available", "opsgenie_mvc_enabled", "opsgenie_mvc_target_url"]3795Vulnerabilities::HistoricalStatistics::UpdateService3796 .update_for3797 instantiates an instance of service class and calls execute on it3798 #execute3799 when the statistic is not empty3800 when there is already a record in the database3801 changes the existing historical statistic entity3802 when there is no existing record in the database3803 creates a new record in the database3804 when the statistic is empty3805 does not create any historical statistic entity3806GroupIssuableAutocompleteEntity3807 #represent3808 includes the iid, title, and reference3809Elastic::MultiVersionClassProxy3810 #version3811 returns class proxy in specified version3812 repository3813 returns class proxy in specified version3814 method forwarding3815 forwards methods which should touch all write targets3816 forwards read methods to only reading target3817 does not forward write methods which should touch specific version3818Gitlab::Database::LoadBalancing::Sticking3819 .stick_if_necessary3820 when sticking is disabled3821 does not perform any sticking3822 when sticking is enabled3823 does not stick if no write was performed3824 sticks to the primary if a write was performed3825 .all_caught_up?3826 returns true if no write location could be found3827 returns true, and unsticks if all secondaries have caught up3828 return false if the secondaries have not yet caught up3829 .unstick_or_continue_sticking3830 simply returns if no write location could be found3831 unsticks if all secondaries have caught up3832 continues using the primary if the secondaries have not yet caught up3833 .stick3834 when sticking is disabled3835 does not perform any sticking3836 when sticking is enabled3837 sticks an entity to the primary3838 .unstick3839 removes the sticking data from Redis3840 .last_write_location_for3841 returns the last WAL write location for a user3842 .redis_key_for3843 returns a String3844 .load_balancer3845 returns a the load balancer3846Clusters::EnvironmentSerializer3847 matches clusters/environment json schema3848Gitlab::StatusPage::Storage::S3MultipartUpload3849 #call3850 when sucessful3851 completes3852 with more than one part3853 completes3854 when fails3855 on upload part3856 aborts the upload and raises an error3857 on complete_multipart_upload3858 aborts the upload and raises an error3859Gitlab::Ci::Parsers::Metrics::Generic3860 #parse!3861 when data is sample metrics report3862 parses without error3863 parses all metrics3864 when string data has comments3865 parses without error3866 does not parse comments3867 when string data has metrics with labels3868 parses without error3869 parses the metric with labels3870 stores the labels with the metric name3871 when string data has metrics with multiple values3872 parses without error3873 parses the metric with multiple values3874 stores only the first metric value3875 when string data has an incomplete metric3876 when the incomplete metric does not have a value3877 parses without error3878 does not parse the metric3879 when the incomplete metric is an empty line3880 parses without error3881 does not parse the metric3882Gitlab::SPDX::Catalogue3883 #version3884 is expected to eql "d5e7e47f-8610-4aa3-a5fd-d8ae8255d333"3885 #each3886 is expected to eql 3963887 is expected to contain exactly "0BSD", "AAL", "ADSL", "AFL-1.1", "AFL-1.2", "AFL-2.0", "AFL-2.1", "AFL-3.0", "AGPL-1.0", "AGPL-1.0-only", "AGPL-1.0-or-later", "AGPL-3.0", "AGPL-3.0-only", "AGPL-3.0-or-later", "AMDPLPA", "AML", "AMPAS", "ANTLR-PD", "APAFML", "APL-1.0", "APSL-1.0", "APSL-1.1", "APSL-1.2", "APSL-2.0", "Abstyles", "Adobe-2006", "Adobe-Glyph", "Afmparse", "Aladdin", "Apache-1.0", "Apache-1.1", "Apache-2.0", "Artistic-1.0", "Artistic-1.0-Perl", "Artistic-1.0-cl8", "Artistic-2.0", "BSD-1-Clause", "BSD-2-Clause", "BSD-2-Clause-FreeBSD", "BSD-2-Clause-NetBSD", "BSD-2-Clause-Patent", "BSD-3-Clause", "BSD-3-Clause-Attribution", "BSD-3-Clause-Clear", "BSD-3-Clause-LBNL", "BSD-3-Clause-No-Nuclear-License", "BSD-3-Clause-No-Nuclear-License-2014", "BSD-3-Clause-No-Nuclear-Warranty", "BSD-3-Clause-Open-MPI", "BSD-4-Clause", "BSD-4-Clause-UC", "BSD-Protection", "BSD-Source-Code", "BSL-1.0", "Bahyph", "Barr", "Beerware", "BitTorrent-1.0", "BitTorrent-1.1", "BlueOak-1.0.0", "Borceux", "CATOSL-1.1", "CC-BY-1.0", "CC-BY-2.0", "CC-BY-2.5", "CC-BY-3.0", "CC-BY-4.0", "CC-BY-NC-1.0", "CC-BY-NC-2.0", "CC-BY-NC-2.5", "CC-BY-NC-3.0", "CC-BY-NC-4.0", "CC-BY-NC-ND-1.0", "CC-BY-NC-ND-2.0", "CC-BY-NC-ND-2.5", "CC-BY-NC-ND-3.0", "CC-BY-NC-ND-4.0", "CC-BY-NC-SA-1.0", "CC-BY-NC-SA-2.0", "CC-BY-NC-SA-2.5", "CC-BY-NC-SA-3.0", "CC-BY-NC-SA-4.0", "CC-BY-ND-1.0", "CC-BY-ND-2.0", "CC-BY-ND-2.5", "CC-BY-ND-3.0", "CC-BY-ND-4.0", "CC-BY-SA-1.0", "CC-BY-SA-2.0", "CC-BY-SA-2.5", "CC-BY-SA-3.0", "CC-BY-SA-4.0", "CC-PDDC", "CC0-1.0", "CDDL-1.0", "CDDL-1.1", "CDLA-Permissive-1.0", "CDLA-Sharing-1.0", "CECILL-1.0", "CECILL-1.1", "CECILL-2.0", "CECILL-2.1", "CECILL-B", "CECILL-C", "CERN-OHL-1.1", "CERN-OHL-1.2", "CNRI-Jython", "CNRI-Python", "CNRI-Python-GPL-Compatible", "CPAL-1.0", "CPL-1.0", "CPOL-1.02", "CUA-OPL-1.0", "Caldera", "ClArtistic", "Condor-1.1", "Crossword", "CrystalStacker", "Cube", "D-FSL-1.0", "DOC", "DSDP", "Dotseqn", "ECL-1.0", "ECL-2.0", "EFL-1.0", "EFL-2.0", "EPL-1.0", "EPL-2.0", "EUDatagrid", "EUPL-1.0", "EUPL-1.1", "EUPL-1.2", "Entessa", "ErlPL-1.1", "Eurosym", "FSFAP", "FSFUL", "FSFULLR", "FTL", "Fair", "Frameworx-1.0", "FreeImage", "GFDL-1.1", "GFDL-1.1-only", "GFDL-1.1-or-later", "GFDL-1.2", "GFDL-1.2-only", "GFDL-1.2-or-later", "GFDL-1.3", "GFDL-1.3-only", "GFDL-1.3-or-later", "GL2PS", "GPL-1.0", "GPL-1.0+", "GPL-1.0-only", "GPL-1.0-or-later", "GPL-2.0", "GPL-2.0+", "GPL-2.0-only", "GPL-2.0-or-later", "GPL-2.0-with-GCC-exception", "GPL-2.0-with-autoconf-exception", "GPL-2.0-with-bison-exception", "GPL-2.0-with-classpath-exception", "GPL-2.0-with-font-exception", "GPL-3.0", "GPL-3.0+", "GPL-3.0-only", "GPL-3.0-or-later", "GPL-3.0-with-GCC-exception", "GPL-3.0-with-autoconf-exception", "Giftware", "Glide", "Glulxe", "HPND", "HPND-sell-variant", "HaskellReport", "IBM-pibs", "ICU", "IJG", "IPA", "IPL-1.0", "ISC", "ImageMagick", "Imlib2", "Info-ZIP", "Intel", "Intel-ACPI", "Interbase-1.0", "JPNIC", "JSON", "JasPer-2.0", "LAL-1.2", "LAL-1.3", "LGPL-2.0", "LGPL-2.0+", "LGPL-2.0-only", "LGPL-2.0-or-later", "LGPL-2.1", "LGPL-2.1+", "LGPL-2.1-only", "LGPL-2.1-or-later", "LGPL-3.0", "LGPL-3.0+", "LGPL-3.0-only", "LGPL-3.0-or-later", "LGPLLR", "LPL-1.0", "LPL-1.02", "LPPL-1.0", "LPPL-1.1", "LPPL-1.2", "LPPL-1.3a", "LPPL-1.3c", "Latex2e", "Leptonica", "LiLiQ-P-1.1", "LiLiQ-R-1.1", "LiLiQ-Rplus-1.1", "Libpng", "Linux-OpenIB", "MIT", "MIT-0", "MIT-CMU", "MIT-advertising", "MIT-enna", "MIT-feh", "MITNFA", "MPL-1.0", "MPL-1.1", "MPL-2.0", "MPL-2.0-no-copyleft-exception", "MS-PL", "MS-RL", "MTLL", "MakeIndex", "MirOS", "Motosoto", "Multics", "Mup", "NASA-1.3", "NBPL-1.0", "NCSA", "NGPL", "NLOD-1.0", "NLPL", "NOSL", "NPL-1.0", "NPL-1.1", "NPOSL-3.0", "NRL", "NTP", "Naumen", "Net-SNMP", "NetCDF", "Newsletr", "Nokia", "Noweb", "Nunit", "OCCT-PL", "OCLC-2.0", "ODC-By-1.0", "ODbL-1.0", "OFL-1.0", "OFL-1.1", "OGL-UK-1.0", "OGL-UK-2.0", "OGL-UK-3.0", "OGTSL", "OLDAP-1.1", "OLDAP-1.2", "OLDAP-1.3", "OLDAP-1.4", "OLDAP-2.0", "OLDAP-2.0.1", "OLDAP-2.1", "OLDAP-2.2", "OLDAP-2.2.1", "OLDAP-2.2.2", "OLDAP-2.3", "OLDAP-2.4", "OLDAP-2.5", "OLDAP-2.6", "OLDAP-2.7", "OLDAP-2.8", "OML", "OPL-1.0", "OSET-PL-2.1", "OSL-1.0", "OSL-1.1", "OSL-2.0", "OSL-2.1", "OSL-3.0", "OpenSSL", "PDDL-1.0", "PHP-3.0", "PHP-3.01", "Parity-6.0.0", "Plexus", "PostgreSQL", "Python-2.0", "QPL-1.0", "Qhull", "RHeCos-1.1", "RPL-1.1", "RPL-1.5", "RPSL-1.0", "RSA-MD", "RSCPL", "Rdisc", "Ruby", "SAX-PD", "SCEA", "SGI-B-1.0", "SGI-B-1.1", "SGI-B-2.0", "SHL-0.5", "SHL-0.51", "SISSL", "SISSL-1.2", "SMLNJ", "SMPPL", "SNIA", "SPL-1.0", "SSPL-1.0", "SWL", "Saxpath", "Sendmail", "Sendmail-8.23", "SimPL-2.0", "Sleepycat", "Spencer-86", "Spencer-94", "Spencer-99", "StandardML-NJ", "SugarCRM-1.1.3", "TAPR-OHL-1.0", "TCL", "TCP-wrappers", "TMate", "TORQUE-1.1", "TOSL", "TU-Berlin-1.0", "TU-Berlin-2.0", "UPL-1.0", "Unicode-DFS-2015", "Unicode-DFS-2016", "Unicode-TOU", "Unlicense", "VOSTROM", "VSL-1.0", "Vim", "W3C", "W3C-19980720", "W3C-20150513", "WTFPL", "Watcom-1.0", "Wsuipa", "X11", "XFree86-1.1", "XSkat", "Xerox", "Xnet", "YPL-1.0", "YPL-1.1", "ZPL-1.1", "ZPL-2.0", "ZPL-2.1", "Zed", "Zend-2.0", "Zimbra-1.3", "Zimbra-1.4", "Zlib", "blessing", "bzip2-1.0.5", "bzip2-1.0.6", "copyleft-next-0.3.0", "copyleft-next-0.3.1", "curl", "diffmark", "dvipdfm", "eCos-2.0", "eGenix", "gSOAP-1.3b", "gnuplot", "iMatix", "libpng-2.0", "libtiff", "mpich2", "psfrag", "psutils", "wxWindows", "xinetd", "xpp", and "zlib-acknowledgement"3888 is expected to contain exactly "BSD Zero Clause License", "Attribution Assurance License", "Amazon Digital Services License", "Academic Free License v1.1", "Academic Free License v1.2", "Academic Free License v2.0", "Academic Free License v2.1", "Academic Free License v3.0", "Affero General Public License v1.0", "Affero General Public License v1.0 only", "Affero General Public License v1.0 or later", "GNU Affero General Public License v3.0", "GNU Affero General Public License v3.0 only", "GNU Affero General Public License v3.0 or later", "AMD's plpa_map.c License", "Apple MIT License", "Academy of Motion Picture Arts and Sciences BSD", "ANTLR Software Rights Notice", "Adobe Postscript AFM License", "Adaptive Public License 1.0", "Apple Public Source License 1.0", "Apple Public Source License 1.1", "Apple Public Source License 1.2", "Apple Public Source License 2.0", "Abstyles License", "Adobe Systems Incorporated Source Code License Agreement", "Adobe Glyph List License", "Afmparse License", "Aladdin Free Public License", "Apache License 1.0", "Apache License 1.1", "Apache License 2.0", "Artistic License 1.0", "Artistic License 1.0 (Perl)", "Artistic License 1.0 w/clause 8", "Artistic License 2.0", "BSD 1-Clause License", "BSD 2-Clause \"Simplified\" License", "BSD 2-Clause FreeBSD License", "BSD 2-Clause NetBSD License", "BSD-2-Clause Plus Patent License", "BSD 3-Clause \"New\" or \"Revised\" License", "BSD with attribution", "BSD 3-Clause Clear License", "Lawrence Berkeley National Labs BSD variant license", "BSD 3-Clause No Nuclear License", "BSD 3-Clause No Nuclear License 2014", "BSD 3-Clause No Nuclear Warranty", "BSD 3-Clause Open MPI variant", "BSD 4-Clause \"Original\" or \"Old\" License", "BSD-4-Clause (University of California-Specific)", "BSD Protection License", "BSD Source Code Attribution", "Boost Software License 1.0", "Bahyph License", "Barr License", "Beerware License", "BitTorrent Open Source License v1.0", "BitTorrent Open Source License v1.1", "Blue Oak Model License 1.0.0", "Borceux license", "Computer Associates Trusted Open Source License 1.1", "Creative Commons Attribution 1.0 Generic", "Creative Commons Attribution 2.0 Generic", "Creative Commons Attribution 2.5 Generic", "Creative Commons Attribution 3.0 Unported", "Creative Commons Attribution 4.0 International", "Creative Commons Attribution Non Commercial 1.0 Generic", "Creative Commons Attribution Non Commercial 2.0 Generic", "Creative Commons Attribution Non Commercial 2.5 Generic", "Creative Commons Attribution Non Commercial 3.0 Unported", "Creative Commons Attribution Non Commercial 4.0 International", "Creative Commons Attribution Non Commercial No Derivatives 1.0 Generic", "Creative Commons Attribution Non Commercial No Derivatives 2.0 Generic", "Creative Commons Attribution Non Commercial No Derivatives 2.5 Generic", "Creative Commons Attribution Non Commercial No Derivatives 3.0 Unported", "Creative Commons Attribution Non Commercial No Derivatives 4.0 International", "Creative Commons Attribution Non Commercial Share Alike 1.0 Generic", "Creative Commons Attribution Non Commercial Share Alike 2.0 Generic", "Creative Commons Attribution Non Commercial Share Alike 2.5 Generic", "Creative Commons Attribution Non Commercial Share Alike 3.0 Unported", "Creative Commons Attribution Non Commercial Share Alike 4.0 International", "Creative Commons Attribution No Derivatives 1.0 Generic", "Creative Commons Attribution No Derivatives 2.0 Generic", "Creative Commons Attribution No Derivatives 2.5 Generic", "Creative Commons Attribution No Derivatives 3.0 Unported", "Creative Commons Attribution No Derivatives 4.0 International", "Creative Commons Attribution Share Alike 1.0 Generic", "Creative Commons Attribution Share Alike 2.0 Generic", "Creative Commons Attribution Share Alike 2.5 Generic", "Creative Commons Attribution Share Alike 3.0 Unported", "Creative Commons Attribution Share Alike 4.0 International", "Creative Commons Public Domain Dedication and Certification", "Creative Commons Zero v1.0 Universal", "Common Development and Distribution License 1.0", "Common Development and Distribution License 1.1", "Community Data License Agreement Permissive 1.0", "Community Data License Agreement Sharing 1.0", "CeCILL Free Software License Agreement v1.0", "CeCILL Free Software License Agreement v1.1", "CeCILL Free Software License Agreement v2.0", "CeCILL Free Software License Agreement v2.1", "CeCILL-B Free Software License Agreement", "CeCILL-C Free Software License Agreement", "CERN Open Hardware License v1.1", "CERN Open Hardware Licence v1.2", "CNRI Jython License", "CNRI Python License", "CNRI Python Open Source GPL Compatible License Agreement", "Common Public Attribution License 1.0", "Common Public License 1.0", "Code Project Open License 1.02", "CUA Office Public License v1.0", "Caldera License", "Clarified Artistic License", "Condor Public License v1.1", "Crossword License", "CrystalStacker License", "Cube License", "Deutsche Freie Software Lizenz", "DOC License", "DSDP License", "Dotseqn License", "Educational Community License v1.0", "Educational Community License v2.0", "Eiffel Forum License v1.0", "Eiffel Forum License v2.0", "Eclipse Public License 1.0", "Eclipse Public License 2.0", "EU DataGrid Software License", "European Union Public License 1.0", "European Union Public License 1.1", "European Union Public License 1.2", "Entessa Public License v1.0", "Erlang Public License v1.1", "Eurosym License", "FSF All Permissive License", "FSF Unlimited License", "FSF Unlimited License (with License Retention)", "Freetype Project License", "Fair License", "Frameworx Open License 1.0", "FreeImage Public License v1.0", "GNU Free Documentation License v1.1", "GNU Free Documentation License v1.1 only", "GNU Free Documentation License v1.1 or later", "GNU Free Documentation License v1.2", "GNU Free Documentation License v1.2 only", "GNU Free Documentation License v1.2 or later", "GNU Free Documentation License v1.3", "GNU Free Documentation License v1.3 only", "GNU Free Documentation License v1.3 or later", "GL2PS License", "GNU General Public License v1.0 only", "GNU General Public License v1.0 or later", "GNU General Public License v1.0 only", "GNU General Public License v1.0 or later", "GNU General Public License v2.0 only", "GNU General Public License v2.0 or later", "GNU General Public License v2.0 only", "GNU General Public License v2.0 or later", "GNU General Public License v2.0 w/GCC Runtime Library exception", "GNU General Public License v2.0 w/Autoconf exception", "GNU General Public License v2.0 w/Bison exception", "GNU General Public License v2.0 w/Classpath exception", "GNU General Public License v2.0 w/Font exception", "GNU General Public License v3.0 only", "GNU General Public License v3.0 or later", "GNU General Public License v3.0 only", "GNU General Public License v3.0 or later", "GNU General Public License v3.0 w/GCC Runtime Library exception", "GNU General Public License v3.0 w/Autoconf exception", "Giftware License", "3dfx Glide License", "Glulxe License", "Historical Permission Notice and Disclaimer", "Historical Permission Notice and Disclaimer - sell variant", "Haskell Language Report License", "IBM PowerPC Initialization and Boot Software", "ICU License", "Independent JPEG Group License", "IPA Font License", "IBM Public License v1.0", "ISC License", "ImageMagick License", "Imlib2 License", "Info-ZIP License", "Intel Open Source License", "Intel ACPI Software License Agreement", "Interbase Public License v1.0", "Japan Network Information Center License", "JSON License", "JasPer License", "Licence Art Libre 1.2", "Licence Art Libre 1.3", "GNU Library General Public License v2 only", "GNU Library General Public License v2 or later", "GNU Library General Public License v2 only", "GNU Library General Public License v2 or later", "GNU Lesser General Public License v2.1 only", "GNU Library General Public License v2.1 or later", "GNU Lesser General Public License v2.1 only", "GNU Lesser General Public License v2.1 or later", "GNU Lesser General Public License v3.0 only", "GNU Lesser General Public License v3.0 or later", "GNU Lesser General Public License v3.0 only", "GNU Lesser General Public License v3.0 or later", "Lesser General Public License For Linguistic Resources", "Lucent Public License Version 1.0", "Lucent Public License v1.02", "LaTeX Project Public License v1.0", "LaTeX Project Public License v1.1", "LaTeX Project Public License v1.2", "LaTeX Project Public License v1.3a", "LaTeX Project Public License v1.3c", "Latex2e License", "Leptonica License", "Licence Libre du Québec – Permissive version 1.1", "Licence Libre du Québec – Réciprocité version 1.1", "Licence Libre du Québec – Réciprocité forte version 1.1", "libpng License", "Linux Kernel Variant of OpenIB.org license", "MIT License", "MIT No Attribution", "CMU License", "Enlightenment License (e16)", "enna License", "feh License", "MIT +no-false-attribs license", "Mozilla Public License 1.0", "Mozilla Public License 1.1", "Mozilla Public License 2.0", "Mozilla Public License 2.0 (no copyleft exception)", "Microsoft Public License", "Microsoft Reciprocal License", "Matrix Template Library License", "MakeIndex License", "MirOS License", "Motosoto License", "Multics License", "Mup License", "NASA Open Source Agreement 1.3", "Net Boolean Public License v1", "University of Illinois/NCSA Open Source License", "Nethack General Public License", "Norwegian Licence for Open Government Data", "No Limit Public License", "Netizen Open Source License", "Netscape Public License v1.0", "Netscape Public License v1.1", "Non-Profit Open Software License 3.0", "NRL License", "NTP License", "Naumen Public License", "Net-SNMP License", "NetCDF license", "Newsletr License", "Nokia Open Source License", "Noweb License", "Nunit License", "Open CASCADE Technology Public License", "OCLC Research Public License 2.0", "Open Data Commons Attribution License v1.0", "ODC Open Database License v1.0", "SIL Open Font License 1.0", "SIL Open Font License 1.1", "Open Government Licence v1.0", "Open Government Licence v2.0", "Open Government Licence v3.0", "Open Group Test Suite License", "Open LDAP Public License v1.1", "Open LDAP Public License v1.2", "Open LDAP Public License v1.3", "Open LDAP Public License v1.4", "Open LDAP Public License v2.0 (or possibly 2.0A and 2.0B)", "Open LDAP Public License v2.0.1", "Open LDAP Public License v2.1", "Open LDAP Public License v2.2", "Open LDAP Public License v2.2.1", "Open LDAP Public License 2.2.2", "Open LDAP Public License v2.3", "Open LDAP Public License v2.4", "Open LDAP Public License v2.5", "Open LDAP Public License v2.6", "Open LDAP Public License v2.7", "Open LDAP Public License v2.8", "Open Market License", "Open Public License v1.0", "OSET Public License version 2.1", "Open Software License 1.0", "Open Software License 1.1", "Open Software License 2.0", "Open Software License 2.1", "Open Software License 3.0", "OpenSSL License", "ODC Public Domain Dedication & License 1.0", "PHP License v3.0", "PHP License v3.01", "The Parity Public License 6.0.0", "Plexus Classworlds License", "PostgreSQL License", "Python License 2.0", "Q Public License 1.0", "Qhull License", "Red Hat eCos Public License v1.1", "Reciprocal Public License 1.1", "Reciprocal Public License 1.5", "RealNetworks Public Source License v1.0", "RSA Message-Digest License ", "Ricoh Source Code Public License", "Rdisc License", "Ruby License", "Sax Public Domain Notice", "SCEA Shared Source License", "SGI Free Software License B v1.0", "SGI Free Software License B v1.1", "SGI Free Software License B v2.0", "Solderpad Hardware License v0.5", "Solderpad Hardware License, Version 0.51", "Sun Industry Standards Source License v1.1", "Sun Industry Standards Source License v1.2", "Standard ML of New Jersey License", "Secure Messaging Protocol Public License", "SNIA Public License 1.1", "Sun Public License v1.0", "Server Side Public License, v 1", "Scheme Widget Library (SWL) Software License Agreement", "Saxpath License", "Sendmail License", "Sendmail License 8.23", "Simple Public License 2.0", "Sleepycat License", "Spencer License 86", "Spencer License 94", "Spencer License 99", "Standard ML of New Jersey License", "SugarCRM Public License v1.1.3", "TAPR Open Hardware License v1.0", "TCL/TK License", "TCP Wrappers License", "TMate Open Source License", "TORQUE v2.5+ Software License v1.1", "Trusster Open Source License", "Technische Universitaet Berlin License 1.0", "Technische Universitaet Berlin License 2.0", "Universal Permissive License v1.0", "Unicode License Agreement - Data Files and Software (2015)", "Unicode License Agreement - Data Files and Software (2016)", "Unicode Terms of Use", "The Unlicense", "VOSTROM Public License for Open Source", "Vovida Software License v1.0", "Vim License", "W3C Software Notice and License (2002-12-31)", "W3C Software Notice and License (1998-07-20)", "W3C Software Notice and Document License (2015-05-13)", "Do What The F*ck You Want To Public License", "Sybase Open Watcom Public License 1.0", "Wsuipa License", "X11 License", "XFree86 License 1.1", "XSkat License", "Xerox License", "X.Net License", "Yahoo! Public License v1.0", "Yahoo! Public License v1.1", "Zope Public License 1.1", "Zope Public License 2.0", "Zope Public License 2.1", "Zed License", "Zend License v2.0", "Zimbra Public License v1.3", "Zimbra Public License v1.4", "zlib License", "SQLite Blessing", "bzip2 and libbzip2 License v1.0.5", "bzip2 and libbzip2 License v1.0.6", "copyleft-next 0.3.0", "copyleft-next 0.3.1", "curl License", "diffmark license", "dvipdfm License", "eCos license version 2.0", "eGenix.com Public License 1.1.0", "gSOAP Public License v1.3b", "gnuplot License", "iMatix Standard Function Library Agreement", "PNG Reference Library version 2", "libtiff License", "mpich2 License", "psfrag License", "psutils License", "wxWindows Library License", "xinetd License", "XPP License", and "zlib/libpng License with Acknowledgement"3889 is expected to be truthy3890 is expected to be falsey3891 when some of the licenses are missing an identifier3892 is expected to equal 13893 is expected to contain exactly "valid"3894 when the schema of each license changes3895 is expected to be zero3896 when the schema of the catalogue changes3897 is expected to be zero3898 .latest3899 when the licenses.json endpoint is healthy3900 is expected to equal #<InstanceDouble(Gitlab::SPDX::Catalogue) (anonymous)>3901Gitlab::Database::LoadBalancing::RackMiddleware3902 .stick_or_unstick3903 sticks or unsticks and updates the Rack environment3904 #call3905 handles a request3906 #unstick_or_continue_sticking3907 does not stick if no namespace and identifier could be found3908 sticks to the primary if a sticking namespace and identifier were found3909 #stick_if_necessary3910 does not stick to the primary if not necessary3911 sticks to the primary if necessary3912 #clear3913 clears the currently used host and session3914 .load_balancer3915 returns a the load balancer3916 #sticking_namespace_and_id3917 using a Warden request3918 returns the warden user if present3919 returns an empty Array if no user was present3920 using a request with a manually set sticking object3921 returns the sticking object3922 using a regular request3923 returns an empty Array3924Types::GlobalIDType3925 where we declare an argument as GlobalIDType[a] where a is prepended in EE3926 when the argument is declared by the client as IterationID3927 behaves like a working query3928 works3929 when the argument is declared by the client as EEIterationID3930 behaves like a working query3931 works3932LicenseTemplateFinder3933 #execute3934 custom templates enabled3935 returns custom templates3936 popular_only requested3937 does not return any custom templates3938 a custom template is specified by name3939 returns the custom template if its name is specified3940 custom templates disabled3941 does not return any custom templates3942ElasticIndexerWorker3943 #perform3944 indexing is enabled3945 operation: "index", method: "maintain_elasticsearch_create"3946 calls respective methods3947 operation: "update", method: "maintain_elasticsearch_update"3948 calls respective methods3949 operation: "delete", method: "maintain_elasticsearch_destroy"3950 calls respective methods3951 indexing is disabled3952 returns true if ES disabled3953Gitlab::Ci::Config::Entry::Job3954 validations3955 when entry value is correct3956 when has secrets3957 when ci_secrets_syntax feature flag is enabled3958 is expected to be valid3959 when ci_secrets_syntax feature flag is disabled3960 returns an error3961 when entry value is not correct3962 when has needs3963 when needs is bridge type3964 returns error about invalid needs type3965 when has invalid secrets3966 reports error3967 .nodes3968 when filtering all the entry/node names3969 has "secrets" node3970 secrets3971 includes secrets value3972Clusters::InstancePolicy3973 when cluster deployments is available3974 is expected to be allowed :read_cluster_environments3975 when cluster deployments is unavailable3976 is expected not to be allowed :read_cluster_environments3977Vulnerabilities::UserNotesCountService3978 behaves like a counter caching service3979 #count3980 caches the count3981 #refresh_cache3982 refreshes the cache3983 #delete_cache3984 removes the cache3985 #uncached_count3986 does not cache the count3987Gitlab::Prometheus::Queries::PacketFlowQuery3988 metrics3989 returns ops_rate metric3990 returns ops_total metric3991 query3992 sends ops_rate prometheus query3993 sends ops_total prometheus query3994 ops_rate intervals3995 minute interval3996 uses correct interval3997 hour interval3998 uses correct interval3999 day interval4000 uses correct interval4001 time range4002 ops_rate query4003 sets query time range4004 ops_total query4005 sets query time range and interval4006MergeRequest::Metrics4007 #review_start_at4008 is the earliest date from first_comment_at, first_approved_at or first_reassigned_at4009 when all review start candidates are nil4010 is nil4011 when one of review start candidates is nil4012 is earliest date from non-nil values4013 #review_end_at4014 when MR is merged4015 is merged_at4016 when MR is not merged4017 is Time.current4018 #review_time4019 is nil if there is no review_start_at4020 is review_end_at - review_start_at4021Gitlab::Analytics::CycleAnalytics::StageEvents::IssueLabelAdded4022 behaves like cycle analytics event4023 is expected to be a kind of String4024 is expected to be a kind of Symbol4025 is expected to include ApplicationRecord(abstract)4026 is expected to respond to #timestamp_projection4027 is expected to be a kind of Array4028 #apply_query_customization4029 expects an ActiveRecord::Relation object as argument and returns a modified version of it4030Gitlab::Insights::ProjectInsightsConfig4031 filtering out invalid config entries4032 does not include invalid entry4033 does not show notice text4034 when no projects.only filter present4035 does not change the config4036 clones the original config4037 when not included in the projects.only filter4038 by project id4039 filters out the chart4040 does not have a notice text4041 by project full path4042 filters out the chart4043 when included in projects.only filter4044 by project id4045 includes the chart4046 does not have notice text4047 by project full path4048 filters out the chart4049 when all charts are excluded4050 returns an empty hash4051RoadmapsHelper4052 #roadmap_layout4053 guest4054 is sourced from params if exists4055 returns default if params do not exist4056 logged in4057 is sourced from User#roadmap_layout4058 #roadmap_sort_order4059 guest4060WARNING: An expectation of `:user_preference` was set on `nil`. To allow expectations on `nil` and suppress this message, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `true`. To disallow expectations on `nil`, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `false`. Called from /builds/gitlab-org/gitlab/ee/spec/helpers/roadmaps_helper_spec.rb:42:in `block (3 levels) in <top (required)>'.4061 returns default sort order4062 user without preferences set4063 returns default sort order4064 user with preference set4065 returns saved user preference4066Gitlab::Auth::GroupSaml::SsoState4067 #update_active4068 updates the current sign in state4069 #active?4070 gets the current sign in state4071 #active_since?4072 is always active in a sessionless request4073 is inactive if never signed in4074 is active if signed in since the cut off4075 is inactive if signed in before the cut off4076PgReplicationSlot4077 #max_replication_slots4078 with enough slots available4079 #slots_count4080 #unused_slots_count4081 #max_retained_wal4082 #slots_retained_bytes4083EpicUserMention4084 associations4085 is expected to belong to epic required:4086 is expected to belong to note required:4087 behaves like has user mentions4088 #has_mentions?4089 when no mentions4090 returns false4091 when mentioned_users_ids not null4092 returns true4093 when mentioned projects4094 returns true4095 when mentioned groups4096 returns true4097Resolvers::Vulnerabilities::IssueLinksResolver4098 #resolve4099 when there is no filter given4100 is expected to contain exactly #<Vulnerabilities::IssueLink id: 1, vulnerability_id: 3, issue_id: 183, link_type: "related", created_at: "2020-08-29 16:47:11", updated_at: "2020-08-29 16:47:11"> and #<Vulnerabilities::IssueLink id: 2, vulnerability_id: 3, issue_id: 184, link_type: "created", created_at: "2020-08-29 16:47:11", updated_at: "2020-08-29 16:47:11">4101 when the link_type filter is given4102 when the filter is `CREATED`4103 is expected to contain exactly #<Vulnerabilities::IssueLink id: 2, vulnerability_id: 3, issue_id: 184, link_type: "created", created_at: "2020-08-29 16:47:11", updated_at: "2020-08-29 16:47:11">4104 when the filter is `RELATED`4105 is expected to contain exactly #<Vulnerabilities::IssueLink id: 1, vulnerability_id: 3, issue_id: 183, link_type: "related", created_at: "2020-08-29 16:47:11", updated_at: "2020-08-29 16:47:11">4106Gitlab::Audit::Levels::Group4107 #apply4108 when audit_log_group_level feature enabled4109 finds all group and project events4110 when audit_log_group_level feature disabled4111 finds all group events4112Ci::Minutes::Context4113 delegation4114 is expected to delegate #shared_runners_remaining_minutes_below_threshold? to the #level object4115 is expected to delegate #shared_runners_minutes_used? to the #level object4116 is expected to delegate #shared_runners_minutes_limit_enabled? to the #level object4117 is expected to delegate #namespace_name to the #namespace object as #name4118 is expected to delegate #last_ci_minutes_usage_notification_level to the #namespace object4119Types::TimelogType4120 is expected to eq "Timelog"4121 is expected to have graphql fields :date, :spent_at, :time_spent, :user, and :issue4122 is expected to require graphql authorizations :read_group_timelogs4123 user field4124 returns user4125 issue field4126 returns issue4127Gitlab::Ci::Reports::DependencyList::Dependency4128 initialize4129 is expected to eq {:licenses=>[], :location=>{:blob_path=>"path/File_21.lock", :path=>"File_21.lock"}, :name=>"nokogiri...lnerabilities=>[{:name=>"DDoS", :severity=>"high"}, {:name=>"XSS vulnerability", :severity=>"low"}]}4130 is expected to eq [{:name=>"DDoS", :severity=>"high"}, {:name=>"XSS vulnerability", :severity=>"low"}, {:name=>"problem", :severity=>"high"}]4131 is expected to eq [{:name=>"DDoS", :severity=>"high"}, {:name=>"XSS vulnerability", :severity=>"low"}]4132 update dependency4133 is expected to eq [{:name=>"DDoS", :severity=>"high"}, {:name=>"XSS vulnerability", :severity=>"low"}, {:name=>"problem", :severity=>"high"}]4134TestReportsComparerEntity4135 #as_json4136 when head and base reports include two test suites4137 when the status of head report is success4138 contains correct compared test reports details4139 when the status of head report is failed4140 contains correct compared test reports details4141 when the status of head report is resolved4142 contains correct compared test reports details4143RolloutStatusEntity4144 exposes status4145 exposes has_legacy_app_label4146 when kube deployment is valid4147 exposes deployment data4148 when kube deployment is empty4149 exposes status4150 does not expose deployment data4151ProjectMemberPresenter4152 #group_sso?4153 returns `false`4154 #group_managed_account?4155 returns `false`4156 #can_update?4157 when user cannot update_project_member but can override_project_member4158 is expected to eq true4159 when user cannot update_project_member and cannot override_project_member4160 is expected to eq false4161Gitlab::Middleware::IpRestrictor4162 #call4163 calls ip address state to set the address4164 calls ip address state to nullify the address4165WARNING: Using the `raise_error` matcher without providing a specific error or message risks false positives, since `raise_error` will match when Ruby raises a `NoMethodError`, `NameError` or `ArgumentError`, potentially allowing the expectation to pass without even executing the method you are intending to call. Actual error raised was #<RuntimeError: boom>. Instead consider providing a specific error class or message. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /builds/gitlab-org/gitlab/ee/spec/lib/gitlab/middleware/ip_restrictor_spec.rb:33:in `block (3 levels) in <top (required)>'.4166 calls ip address state to nullify the address when app raises an error4167 when it is internal endpoint4168 does not call ip address state to set the address4169SyncSecurityReportsToReportApprovalRulesWorker4170 #perform4171 when pipeline exists4172 executes SyncReportsToApprovalRulesService for given pipeline4173 when pipeline is missing4174 does not execute SyncReportsToApprovalRulesService4175EE::API::Entities::Scim::Conflict4176 contains the schemas4177 contains the detail4178 contains the status4179Gitlab::Metrics::Samplers::GlobalSearchSampler4180 #interval4181 samples every sixty seconds by default4182 samples at other intervals if requested4183 #sample4184 invokes the Elastic::MetricsUpdateService4185Types::Clusters::AgentType4186 is expected to eq "ClusterAgent"4187 is expected to require graphql authorizations :admin_cluster4188 is expected to have graphql fields :created_at, :id, :name, :project, and :updated_at4189Admin::MergeRequestApprovalSettingsHelper4190 #show_compliance_merge_request_approval_settings?4191 licensed: true, result: true4192 is expected to eq true4193 licensed: false, result: false4194 is expected to eq false4195Types::BoardEpicIssueInputType4196 is expected to eq "BoardEpicIssueInput"4197 exposes negated issue arguments4198Types::CiConfiguration::Sast::Type4199 is expected to eq "SastCiConfiguration"4200 is expected to have graphql fields :global, :pipeline, and :analyzers4201StorageShard4202 .all4203 returns an array of StorageShard objects4204 .build_digest4205 returns SHA1 digest for the current configuration4206EE::NullNotificationService4207 responds to methods implemented by NotificationService4208 raises NoMethodError for methods not implemented by NotificationService4209Types::EpicDescendantWeightSumType4210 is expected to eq "EpicDescendantWeights"4211 has specific fields4212Types::VulnerableProjectsByGradeType4213 is expected to have graphql fields "grade", "count", and "projects"4214 is expected to eq "VulnerableProjectsByGrade"4215FlipperSession4216 #flipper_id4217 without passing in an ID4218 returns a flipper_session:UUID4219 passing in an ID4220 returns a flipper_session:def4564221Types::RequirementsManagement::RequirementStateEnum4222 is expected to eq "RequirementState"4223 exposes all the existing requirement states4224Types::CiConfiguration::Sast::UiComponentSizeEnum4225 is expected to eq "SastUiComponentSize"4226 exposes all sizes of ui components4227Gitlab::Database::LoadBalancing::ActiveRecordProxy4228 #connection4229 returns a connection proxy4230Gitlab::Analytics4231 .productivity_analytics_enabled?4232 is enabled by default4233Types::VulnerabilityLocation::SecretDetectionType4234 is expected to have graphql fields :end_line, :file, :start_line, :vulnerable_class, and :vulnerable_method4235Types::VulnerabilityGradeEnum4236 exposes all vulnerability grades4237Types::VulnerablePackageType4238 is expected to have graphql fields :name4239Knapsack report was generated. Preview:4240{4241 "ee/spec/tasks/gitlab/seed/group_seed_rake_spec.rb": 57.512856245040894,4242 "ee/spec/services/projects/create_from_template_service_spec.rb": 35.53706192970276,4243 "ee/spec/services/ee/merge_requests/update_service_spec.rb": 29.65786647796631,4244 "ee/spec/models/approval_merge_request_rule_spec.rb": 21.805860996246338,4245 "ee/spec/models/push_rule_spec.rb": 17.46804666519165,4246 "ee/spec/models/application_setting_spec.rb": 19.524461030960083,4247 "ee/spec/models/issue_spec.rb": 13.625796794891357,4248 "ee/spec/models/group_wiki_spec.rb": 13.76182508468628,4249 "ee/spec/policies/note_policy_spec.rb": 8.597243309020996,4250 "ee/spec/services/epics/update_service_spec.rb": 10.790387153625488,4251 "ee/spec/lib/banzai/filter/iteration_reference_filter_spec.rb": 12.804689645767212,4252 "ee/spec/services/ci/minutes/batch_reset_service_spec.rb": 8.628888130187988,4253 "ee/spec/models/project_import_state_spec.rb": 9.985807657241821,4254 "ee/spec/services/approval_rules/params_filtering_service_spec.rb": 7.879985809326172,4255 "ee/spec/services/ci/run_dast_scan_service_spec.rb": 7.246670484542847,4256 "ee/spec/services/groups/autocomplete_service_spec.rb": 6.480196475982666,4257 "ee/spec/finders/ci/daily_build_group_report_results_by_group_finder_spec.rb": 4.772321462631226,4258 "ee/spec/lib/ee/gitlab/scim/provisioning_service_spec.rb": 5.986213445663452,4259 "ee/spec/models/concerns/approver_migrate_hook_spec.rb": 4.91524076461792,4260 "ee/spec/models/gitlab_subscription_spec.rb": 4.950619459152222,4261 "ee/spec/services/security/merge_reports_service_spec.rb": 5.7362353801727295,4262 "ee/spec/presenters/merge_request_presenter_spec.rb": 8.386425971984863,4263 "ee/spec/services/protected_environments/create_service_spec.rb": 3.618863105773926,4264 "ee/spec/services/wiki_pages/update_service_spec.rb": 4.008029222488403,4265 "ee/spec/services/boards/create_service_spec.rb": 3.906459331512451,4266 "ee/spec/lib/gitlab/auth/group_saml/gma_membership_enforcer_spec.rb": 4.333963871002197,4267 "ee/spec/models/board_spec.rb": 3.04976749420166,4268 "ee/spec/models/project_services/jenkins_service_spec.rb": 3.9523322582244873,4269 "ee/spec/workers/update_all_mirrors_worker_spec.rb": 3.5252604484558105,4270 "ee/spec/serializers/vulnerabilities/finding_reports_comparer_entity_spec.rb": 3.179602861404419,4271 "ee/spec/services/ee/issuable/bulk_update_service_spec.rb": 3.439412832260132,4272 "ee/spec/models/vulnerabilities/export_spec.rb": 3.543504238128662,4273 "ee/spec/services/groups/create_service_spec.rb": 1.9412405490875244,4274 "ee/spec/services/projects/import_service_spec.rb": 3.717729330062866,4275 "ee/spec/services/feature_flags/enable_service_spec.rb": 2.1288435459136963,4276 "ee/spec/models/operations/feature_flags/user_list_spec.rb": 3.153660535812378,4277 "ee/spec/graphql/mutations/pipelines/run_dast_scan_spec.rb": 2.7869069576263428,4278 "ee/spec/services/protected_environments/update_service_spec.rb": 2.485548496246338,4279 "ee/spec/lib/gitlab/analytics/cycle_analytics/summary/group/stage_time_summary_spec.rb": 2.701995849609375,4280 "ee/spec/lib/gitlab/ci/reports/license_scanning/report_spec.rb": 2.0235915184020996,4281 "ee/spec/workers/admin_emails_worker_spec.rb": 2.2126967906951904,4282 "ee/spec/lib/ee/gitlab/elastic/helper_spec.rb": 4.043380260467529,4283 "ee/spec/models/ee/event_spec.rb": 2.2171242237091064,4284 "ee/spec/models/issuables_analytics_spec.rb": 1.4999024868011475,4285 "ee/spec/services/security/report_summary_service_spec.rb": 2.3030693531036377,4286 "ee/spec/services/elastic/cluster_reindexing_service_spec.rb": 2.246619701385498,4287 "ee/spec/services/ci/process_pipeline_service_spec.rb": 1.6694636344909668,4288 "ee/spec/lib/gitlab/ci/templates/api_fuzzing_gitlab_ci_yaml_spec.rb": 1.9729843139648438,4289 "ee/spec/policies/global_policy_spec.rb": 1.7007226943969727,4290 "ee/spec/services/wiki_pages/create_service_spec.rb": 1.5435717105865479,4291 "ee/spec/helpers/search_helper_spec.rb": 1.2181427478790283,4292 "ee/spec/workers/elastic_namespace_indexer_worker_spec.rb": 1.32655668258667,4293 "ee/spec/lib/gitlab/instrumentation/elasticsearch_transport_spec.rb": 2.168121576309204,4294 "ee/spec/services/update_build_minutes_service_spec.rb": 1.27762770652771,4295 "ee/spec/models/vulnerabilities/identifier_spec.rb": 1.5114059448242188,4296 "ee/spec/serializers/clusters/deployment_entity_spec.rb": 0.7272112369537354,4297 "ee/spec/lib/banzai/reference_parser/iteration_parser_spec.rb": 1.3725056648254395,4298 "ee/spec/lib/gitlab/ci/pipeline/chain/limit/job_activity_spec.rb": 0.8623933792114258,4299 "ee/spec/models/project_feature_usage_spec.rb": 1.2065818309783936,4300 "ee/spec/services/dashboard/environments/list_service_spec.rb": 1.4431557655334473,4301 "ee/spec/services/ee/merge_requests/base_service_spec.rb": 1.5319311618804932,4302 "ee/spec/serializers/status_page/incident_comment_entity_spec.rb": 1.2388057708740234,4303 "ee/spec/workers/elastic_delete_project_worker_spec.rb": 0.9912598133087158,4304 "ee/spec/graphql/resolvers/iterations_resolver_spec.rb": 0.8466577529907227,4305 "ee/spec/lib/gitlab/prometheus/queries/additional_metrics_deployment_query_spec.rb": 0.8812777996063232,4306 "ee/spec/services/ci/audit_variable_change_service_spec.rb": 0.6195085048675537,4307 "ee/spec/models/project_alias_spec.rb": 1.4335079193115234,4308 "ee/spec/lib/gitlab/ci/reports/security/aggregated_report_spec.rb": 0.6928324699401855,4309 "ee/spec/services/projects/restore_service_spec.rb": 0.5602154731750488,4310 "ee/spec/services/clusters/agents/create_service_spec.rb": 1.1040318012237549,4311 "ee/spec/lib/gitlab/auth/group_saml/membership_updater_spec.rb": 0.6862058639526367,4312 "ee/spec/services/ee/issuable/clone/attributes_rewriter_spec.rb": 0.8269507884979248,4313 "ee/spec/services/iterations/create_service_spec.rb": 0.8170650005340576,4314 "ee/spec/finders/group_saml_identity_finder_spec.rb": 1.0362694263458252,4315 "ee/spec/helpers/ee/issues_helper_spec.rb": 0.652787446975708,4316 "ee/spec/helpers/boards_helper_spec.rb": 0.8588559627532959,4317 "ee/spec/services/boards/destroy_service_spec.rb": 0.4257798194885254,4318 "ee/spec/models/board_user_preference_spec.rb": 0.6009054183959961,4319 "ee/spec/lib/ee/gitlab/auth/ldap/sync/external_users_spec.rb": 0.5164568424224854,4320 "ee/spec/models/elasticsearch_indexed_project_spec.rb": 0.9547123908996582,4321 "ee/spec/lib/ee/api/helpers/notes_helpers_spec.rb": 0.6080975532531738,4322 "ee/spec/services/ci/compare_license_scanning_reports_service_spec.rb": 1.2224647998809814,4323 "ee/spec/services/projects/setup_ci_cd_spec.rb": 0.6655921936035156,4324 "ee/spec/workers/ci/batch_reset_minutes_worker_spec.rb": 0.7908697128295898,4325 "ee/spec/lib/gitlab/prometheus/queries/additional_metrics_environment_query_spec.rb": 0.5505735874176025,4326 "ee/spec/lib/ee/gitlab/search_results_spec.rb": 0.5463893413543701,4327 "ee/spec/presenters/label_presenter_spec.rb": 0.45524001121520996,4328 "ee/spec/views/shared/credentials_inventory/personal_access_tokens/_personal_access_token.html.haml_spec.rb": 0.239854097366333,4329 "ee/spec/graphql/resolvers/epic_issues_resolver_spec.rb": 0.2129955291748047,4330 "ee/spec/models/elasticsearch_indexed_namespace_spec.rb": 0.4441194534301758,4331 "ee/spec/graphql/mutations/instance_security_dashboard/add_project_spec.rb": 0.641756534576416,4332 "ee/spec/services/path_locks/unlock_service_spec.rb": 0.43276405334472656,4333 "ee/spec/graphql/mutations/issues/set_weight_spec.rb": 0.6442117691040039,4334 "ee/spec/lib/gitlab/import_export/group/relation_factory_spec.rb": 0.562690258026123,4335 "ee/spec/services/namespaces/check_storage_size_service_spec.rb": 0.3224465847015381,4336 "ee/spec/services/security/ci_configuration/sast_parser_service_spec.rb": 0.3366115093231201,4337 "ee/spec/models/project_services/alerts_service_spec.rb": 0.5862746238708496,4338 "ee/spec/lib/gitlab/audit/auditor_spec.rb": 0.2759847640991211,4339 "ee/spec/lib/gitlab/auth/ldap/user_spec.rb": 0.4972519874572754,4340 "ee/spec/services/ee/audit_events/bulk_insert_service_spec.rb": 0.4336392879486084,4341 "ee/spec/models/concerns/elastic/projects_search_spec.rb": 0.38631415367126465,4342 "ee/spec/lib/gitlab/auth/group_saml/dynamic_settings_spec.rb": 0.45702195167541504,4343 "ee/spec/lib/gitlab/jira/dvcs_spec.rb": 0.35956716537475586,4344 "ee/spec/lib/ee/gitlab/cleanup/orphan_job_artifact_files_batch_spec.rb": 0.4873805046081543,4345 "ee/spec/presenters/project_clusterable_presenter_spec.rb": 0.29468774795532227,4346 "ee/spec/lib/gitlab/auth_spec.rb": 0.2571570873260498,4347 "ee/spec/lib/banzai/filter/issuable_state_filter_spec.rb": 0.35677075386047363,4348 "ee/spec/lib/ee/gitlab/url_builder_spec.rb": 0.30812740325927734,4349 "ee/spec/lib/ee/api/entities/member_spec.rb": 0.09474062919616699,4350 "ee/spec/services/status_page/publish_service_spec.rb": 0.3339507579803467,4351 "ee/spec/lib/ee/gitlab/scim/reprovision_service_spec.rb": 0.2907445430755615,4352 "ee/spec/services/analytics/cycle_analytics/stages/delete_service_spec.rb": 0.2471909523010254,4353 "ee/spec/models/remote_mirror_spec.rb": 0.18312287330627441,4354 "ee/spec/services/milestones/update_service_spec.rb": 0.5618321895599365,4355 "ee/spec/services/dependency_proxy/request_token_service_spec.rb": 0.23754191398620605,4356 "ee/spec/serializers/feature_flag_summary_entity_spec.rb": 0.2604501247406006,4357 "ee/spec/serializers/integrations/jira/issue_entity_spec.rb": 0.26254916191101074,4358 "ee/spec/graphql/mutations/requirements_management/update_requirement_spec.rb": 0.3155953884124756,4359 "ee/spec/serializers/ee/blob_entity_spec.rb": 0.1722874641418457,4360 "ee/spec/views/projects/pipelines/_tabs_content.html.haml_spec.rb": 0.16280484199523926,4361 "ee/spec/lib/ee/gitlab/scim/deprovision_service_spec.rb": 0.24546313285827637,4362 "ee/spec/serializers/dashboard_environments_serializer_spec.rb": 0.23896169662475586,4363 "ee/spec/services/ee/integrations/test/project_service_spec.rb": 0.18845891952514648,4364 "ee/spec/services/personal_access_tokens/rotation_verifier_service_spec.rb": 0.1812889575958252,4365 "ee/spec/helpers/ee/hooks_helper_spec.rb": 0.055655717849731445,4366 "ee/spec/lib/ee/gitlab/ci/pipeline/quota/activity_spec.rb": 0.19399642944335938,4367 "ee/spec/services/audit_events/build_service_spec.rb": 0.35684895515441895,4368 "ee/spec/serializers/vulnerability_entity_spec.rb": 0.21478033065795898,4369 "ee/spec/services/ee/audit_events/custom_audit_event_service_spec.rb": 0.19211792945861816,4370 "ee/spec/graphql/mutations/boards/update_spec.rb": 0.13173675537109375,4371 "ee/spec/views/projects/protected_environments/_protected_environment.html.haml_spec.rb": 0.07560610771179199,4372 "ee/spec/helpers/ee/events_helper_spec.rb": 0.39539265632629395,4373 "ee/spec/lib/gitlab/sidekiq_config_spec.rb": 0.1388721466064453,4374 "ee/spec/services/dependency_proxy/pull_manifest_service_spec.rb": 0.1437387466430664,4375 "ee/spec/serializers/linked_feature_flag_issue_entity_spec.rb": 0.06947946548461914,4376 "ee/spec/serializers/ee/issue_board_entity_spec.rb": 0.11282873153686523,4377 "ee/spec/models/ldap_group_link_spec.rb": 0.08785557746887207,4378 "ee/spec/graphql/mutations/boards/lists/update_limit_metrics_spec.rb": 0.06970930099487305,4379 "ee/spec/lib/gitlab/database/load_balancing/srv_resolver_spec.rb": 0.05371522903442383,4380 "ee/spec/lib/gitlab/status_page/storage_spec.rb": 0.11783528327941895,4381 "ee/spec/helpers/compliance_management/compliance_framework/project_settings_helper_spec.rb": 0.10311365127563477,4382 "ee/spec/lib/container_registry/client_spec.rb": 0.15033912658691406,4383 "ee/spec/helpers/ee/projects/alert_management_helper_spec.rb": 0.0809316635131836,4384 "ee/spec/services/vulnerabilities/historical_statistics/update_service_spec.rb": 0.12437796592712402,4385 "ee/spec/serializers/group_issuable_autocomplete_entity_spec.rb": 0.06555843353271484,4386 "ee/spec/lib/elastic/multi_version_class_proxy_spec.rb": 0.021236181259155273,4387 "ee/spec/lib/gitlab/database/load_balancing/sticking_spec.rb": 0.997028112411499,4388 "ee/spec/serializers/clusters/environment_serializer_spec.rb": 0.07192778587341309,4389 "ee/spec/lib/gitlab/status_page/storage/s3_multipart_upload_spec.rb": 0.06455588340759277,4390 "ee/spec/lib/gitlab/ci/parsers/metrics/generic_spec.rb": 0.04349637031555176,4391 "ee/spec/lib/gitlab/spdx/catalogue_spec.rb": 0.06229448318481445,4392 "ee/spec/lib/gitlab/database/load_balancing/rack_middleware_spec.rb": 0.042200565338134766,4393 "ee/spec/graphql/types/global_id_type_spec.rb": 0.05020260810852051,4394 "ee/spec/finders/license_template_finder_spec.rb": 0.03737926483154297,4395 "ee/spec/workers/elastic_indexer_worker_spec.rb": 0.037703514099121094,4396 "ee/spec/lib/gitlab/ci/config/entry/job_spec.rb": 0.035495758056640625,4397 "ee/spec/policies/clusters/instance_policy_spec.rb": 0.026320457458496094,4398 "ee/spec/services/vulnerabilities/user_notes_count_service_spec.rb": 0.03202390670776367,4399 "ee/spec/lib/gitlab/prometheus/queries/packet_flow_query_spec.rb": 0.034496307373046875,4400 "ee/spec/models/ee/merge_request/metrics_spec.rb": 0.022291183471679688,4401 "ee/spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_label_added_spec.rb": 0.022406578063964844,4402 "ee/spec/lib/gitlab/insights/project_insights_config_spec.rb": 0.031171321868896484,4403 "ee/spec/helpers/roadmaps_helper_spec.rb": 0.024288415908813477,4404 "ee/spec/lib/gitlab/auth/group_saml/sso_state_spec.rb": 0.018239259719848633,4405 "ee/spec/models/pg_replication_slot_spec.rb": 0.017499685287475586,4406 "ee/spec/models/epic_user_mention_spec.rb": 0.01974773406982422,4407 "ee/spec/graphql/resolvers/vulnerabilities/issue_links_resolver_spec.rb": 0.014792919158935547,4408 "ee/spec/lib/gitlab/audit/levels/group_spec.rb": 0.014040946960449219,4409 "ee/spec/models/ci/minutes/context_spec.rb": 0.017548799514770508,4410 "ee/spec/graphql/types/timelog_type_spec.rb": 0.016452550888061523,4411 "ee/spec/lib/gitlab/ci/reports/dependency_list/dependency_spec.rb": 0.01593947410583496,4412 "ee/spec/serializers/test_reports_comparer_entity_spec.rb": 0.011597871780395508,4413 "ee/spec/serializers/rollout_status_entity_spec.rb": 0.014676570892333984,4414 "ee/spec/presenters/project_member_presenter_spec.rb": 0.011561155319213867,4415 "ee/spec/lib/gitlab/middleware/ip_restrictor_spec.rb": 0.014063835144042969,4416 "ee/spec/workers/sync_security_reports_to_report_approval_rules_worker_spec.rb": 0.00802302360534668,4417 "ee/spec/lib/ee/api/entities/scim/conflict_spec.rb": 0.008161783218383789,4418 "ee/spec/lib/gitlab/metrics/samplers/global_search_sampler_spec.rb": 0.008507966995239258,4419 "ee/spec/graphql/types/clusters/agent_type_spec.rb": 0.007989645004272461,4420 "ee/spec/helpers/admin/merge_request_approval_settings_helper_spec.rb": 0.006817340850830078,4421 "ee/spec/graphql/types/board_epic_issue_input_type_spec.rb": 0.004628658294677734,4422 "ee/spec/graphql/types/ci_configuration/sast/type_spec.rb": 0.006430387496948242,4423 "ee/spec/models/storage_shard_spec.rb": 0.005523204803466797,4424 "ee/spec/services/ee/null_notification_service_spec.rb": 0.005363941192626953,4425 "ee/spec/graphql/types/epic_descendant_weight_sum_type_spec.rb": 0.005352497100830078,4426 "ee/spec/graphql/types/vulnerable_projects_by_grade_type_spec.rb": 0.005044460296630859,4427 "ee/spec/lib/flipper_session_spec.rb": 0.00631403923034668,4428 "ee/spec/graphql/types/requirements_management/requirement_state_enum_spec.rb": 0.00805044174194336,4429 "ee/spec/graphql/types/ci_configuration/sast/ui_component_size_enum_spec.rb": 0.006011486053466797,4430 "ee/spec/lib/gitlab/database/load_balancing/active_record_proxy_spec.rb": 0.0029921531677246094,4431 "ee/spec/lib/gitlab/analytics_spec.rb": 0.002916097640991211,4432 "ee/spec/graphql/types/vulnerability_location/secret_detection_type_spec.rb": 0.0028276443481445312,4433 "ee/spec/graphql/types/vulnerability_grade_enum_spec.rb": 0.0023851394653320312,4434 "ee/spec/graphql/types/vulnerable_package_type_spec.rb": 0.0025889873504638674435}4436Knapsack global time execution for tests: 07m 27s4437Pending: (Failures listed here are expected and do not affect your suite's status)4438 1) WikiPages::UpdateService behaves like WikiPages::UpdateService#execute the page is at the top level adds a new wiki page activity event4439 # group wiki support4440 Failure/Error: expect { service.execute(page) }.to change { Event.count }.by 14441 expected `Event.count` to have changed by 1, but was changed by 04442 Shared Example Group: "adds activity event" called from ./spec/support/shared_examples/services/wiki_pages/update_service_shared_examples.rb:634443 Shared Example Group: "WikiPages::UpdateService#execute" called from ./ee/spec/services/wiki_pages/update_service_spec.rb:414444 # ./vendor/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support.rb:97:in `block in <module:Support>'4445 # ./vendor/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support.rb:106:in `notify_failure'4446 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/fail_with.rb:35:in `fail_with'4447 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/handler.rb:40:in `handle_failure'4448 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/handler.rb:50:in `block in handle_matcher'4449 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/handler.rb:27:in `with_matcher'4450 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/handler.rb:48:in `handle_matcher'4451 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/expectation_target.rb:65:in `to'4452 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/expectation_target.rb:101:in `to'4453 # ./spec/support/shared_examples/services/wiki_pages/update_service_shared_examples.rb:50:in `block (3 levels) in <top (required)>'4454 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:257:in `instance_exec'4455 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:257:in `block in run'4456 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:503:in `block in with_around_and_singleton_context_hooks'4457 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:460:in `block in with_around_example_hooks'4458 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:472:in `block in run'4459 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:612:in `block in run_around_example_hooks_for'4460 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:345:in `call'4461 # ./vendor/ruby/2.6.0/gems/rspec-rails-4.0.0/lib/rspec/rails/adapters.rb:75:in `block (2 levels) in <module:MinitestLifecycleAdapter>'4462 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'4463 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'4464 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:381:in `execute_with'4465 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:614:in `block (2 levels) in run_around_example_hooks_for'4466 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:345:in `call'4467 # ./spec/spec_helper.rb:320:in `block (3 levels) in <top (required)>'4468 # ./vendor/ruby/2.6.0/gems/sidekiq-5.2.9/lib/sidekiq/testing.rb:55:in `server_middleware'4469 # ./spec/support/sidekiq_middleware.rb:9:in `with_sidekiq_server_middleware'4470 # ./spec/spec_helper.rb:311:in `block (2 levels) in <top (required)>'4471 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'4472 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'4473 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:381:in `execute_with'4474 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:614:in `block (2 levels) in run_around_example_hooks_for'4475 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:345:in `call'4476 # ./spec/spec_helper.rb:307:in `block (3 levels) in <top (required)>'4477 # ./vendor/ruby/2.6.0/gems/gitlab-labkit-0.12.1/lib/labkit/context.rb:32:in `with_context'4478 # ./spec/spec_helper.rb:307:in `block (2 levels) in <top (required)>'4479 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'4480 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'4481 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:381:in `execute_with'4482 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:614:in `block (2 levels) in run_around_example_hooks_for'4483 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:345:in `call'4484 # ./vendor/ruby/2.6.0/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:123:in `block in run'4485 # ./vendor/ruby/2.6.0/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:110:in `loop'4486 # ./vendor/ruby/2.6.0/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:110:in `run'4487 # ./vendor/ruby/2.6.0/gems/rspec-retry-0.6.1/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry'4488 # ./vendor/ruby/2.6.0/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:37:in `block (2 levels) in setup'4489 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'4490 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'4491 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:381:in `execute_with'4492 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:614:in `block (2 levels) in run_around_example_hooks_for'4493 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:345:in `call'4494 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:615:in `run_around_example_hooks_for'4495 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:472:in `run'4496 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:460:in `with_around_example_hooks'4497 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:503:in `with_around_and_singleton_context_hooks'4498 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:254:in `run'4499 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:633:in `block in run_examples'4500 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:629:in `map'4501 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:629:in `run_examples'4502 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:595:in `run'4503 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:596:in `block in run'4504 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:596:in `map'4505 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:596:in `run'4506 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:596:in `block in run'4507 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:596:in `map'4508 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:596:in `run'4509 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:121:in `block (3 levels) in run_specs'4510 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:121:in `map'4511 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:121:in `block (2 levels) in run_specs'4512 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/configuration.rb:2031:in `with_suite_hooks'4513 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:116:in `block in run_specs'4514 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/reporter.rb:74:in `report'4515 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:115:in `run_specs'4516 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:89:in `run'4517 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:71:in `run'4518 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:45:in `invoke'4519 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/exe/rspec:4:in `<top (required)>'4520 # ./vendor/ruby/2.6.0/bin/rspec:23:in `load'4521 # ./vendor/ruby/2.6.0/bin/rspec:23:in `<top (required)>'4522 # /usr/local/lib/ruby/2.6.0/bundler/cli/exec.rb:74:in `load'4523 # /usr/local/lib/ruby/2.6.0/bundler/cli/exec.rb:74:in `kernel_load'4524 # /usr/local/lib/ruby/2.6.0/bundler/cli/exec.rb:28:in `run'4525 # /usr/local/lib/ruby/2.6.0/bundler/cli.rb:463:in `exec'4526 # /usr/local/lib/ruby/2.6.0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'4527 # /usr/local/lib/ruby/2.6.0/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'4528 # /usr/local/lib/ruby/2.6.0/bundler/vendor/thor/lib/thor.rb:387:in `dispatch'4529 # /usr/local/lib/ruby/2.6.0/bundler/cli.rb:27:in `dispatch'4530 # /usr/local/lib/ruby/2.6.0/bundler/vendor/thor/lib/thor/base.rb:466:in `start'4531 # /usr/local/lib/ruby/2.6.0/bundler/cli.rb:18:in `start'4532 # /usr/local/lib/ruby/gems/2.6.0/gems/bundler-1.17.2/exe/bundle:30:in `block in <top (required)>'4533 # /usr/local/lib/ruby/2.6.0/bundler/friendly_errors.rb:124:in `with_friendly_errors'4534 # /usr/local/lib/ruby/gems/2.6.0/gems/bundler-1.17.2/exe/bundle:22:in `<top (required)>'4535 # /usr/local/bin/bundle:23:in `load'4536 # /usr/local/bin/bundle:23:in `<main>'4537 2) WikiPages::UpdateService behaves like WikiPages::UpdateService#execute the page is in a subsection adds a new wiki page activity event4538 # group wiki support4539 Failure/Error: expect { service.execute(page) }.to change { Event.count }.by 14540 expected `Event.count` to have changed by 1, but was changed by 04541 Shared Example Group: "adds activity event" called from ./spec/support/shared_examples/services/wiki_pages/update_service_shared_examples.rb:694542 Shared Example Group: "WikiPages::UpdateService#execute" called from ./ee/spec/services/wiki_pages/update_service_spec.rb:414543 # ./vendor/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support.rb:97:in `block in <module:Support>'4544 # ./vendor/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support.rb:106:in `notify_failure'4545 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/fail_with.rb:35:in `fail_with'4546 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/handler.rb:40:in `handle_failure'4547 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/handler.rb:50:in `block in handle_matcher'4548 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/handler.rb:27:in `with_matcher'4549 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/handler.rb:48:in `handle_matcher'4550 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/expectation_target.rb:65:in `to'4551 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/expectation_target.rb:101:in `to'4552 # ./spec/support/shared_examples/services/wiki_pages/update_service_shared_examples.rb:50:in `block (3 levels) in <top (required)>'4553 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:257:in `instance_exec'4554 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:257:in `block in run'4555 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:503:in `block in with_around_and_singleton_context_hooks'4556 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:460:in `block in with_around_example_hooks'4557 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:472:in `block in run'4558 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:612:in `block in run_around_example_hooks_for'4559 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:345:in `call'4560 # ./vendor/ruby/2.6.0/gems/rspec-rails-4.0.0/lib/rspec/rails/adapters.rb:75:in `block (2 levels) in <module:MinitestLifecycleAdapter>'4561 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'4562 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'4563 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:381:in `execute_with'4564 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:614:in `block (2 levels) in run_around_example_hooks_for'4565 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:345:in `call'4566 # ./spec/spec_helper.rb:320:in `block (3 levels) in <top (required)>'4567 # ./vendor/ruby/2.6.0/gems/sidekiq-5.2.9/lib/sidekiq/testing.rb:55:in `server_middleware'4568 # ./spec/support/sidekiq_middleware.rb:9:in `with_sidekiq_server_middleware'4569 # ./spec/spec_helper.rb:311:in `block (2 levels) in <top (required)>'4570 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'4571 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'4572 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:381:in `execute_with'4573 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:614:in `block (2 levels) in run_around_example_hooks_for'4574 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:345:in `call'4575 # ./spec/spec_helper.rb:307:in `block (3 levels) in <top (required)>'4576 # ./vendor/ruby/2.6.0/gems/gitlab-labkit-0.12.1/lib/labkit/context.rb:32:in `with_context'4577 # ./spec/spec_helper.rb:307:in `block (2 levels) in <top (required)>'4578 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'4579 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'4580 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:381:in `execute_with'4581 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:614:in `block (2 levels) in run_around_example_hooks_for'4582 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:345:in `call'4583 # ./vendor/ruby/2.6.0/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:123:in `block in run'4584 # ./vendor/ruby/2.6.0/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:110:in `loop'4585 # ./vendor/ruby/2.6.0/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:110:in `run'4586 # ./vendor/ruby/2.6.0/gems/rspec-retry-0.6.1/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry'4587 # ./vendor/ruby/2.6.0/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:37:in `block (2 levels) in setup'4588 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'4589 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'4590 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:381:in `execute_with'4591 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:614:in `block (2 levels) in run_around_example_hooks_for'4592 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:345:in `call'4593 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:615:in `run_around_example_hooks_for'4594 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:472:in `run'4595 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:460:in `with_around_example_hooks'4596 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:503:in `with_around_and_singleton_context_hooks'4597 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:254:in `run'4598 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:633:in `block in run_examples'4599 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:629:in `map'4600 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:629:in `run_examples'4601 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:595:in `run'4602 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:596:in `block in run'4603 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:596:in `map'4604 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:596:in `run'4605 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:596:in `block in run'4606 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:596:in `map'4607 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:596:in `run'4608 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:121:in `block (3 levels) in run_specs'4609 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:121:in `map'4610 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:121:in `block (2 levels) in run_specs'4611 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/configuration.rb:2031:in `with_suite_hooks'4612 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:116:in `block in run_specs'4613 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/reporter.rb:74:in `report'4614 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:115:in `run_specs'4615 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:89:in `run'4616 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:71:in `run'4617 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:45:in `invoke'4618 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/exe/rspec:4:in `<top (required)>'4619 # ./vendor/ruby/2.6.0/bin/rspec:23:in `load'4620 # ./vendor/ruby/2.6.0/bin/rspec:23:in `<top (required)>'4621 # /usr/local/lib/ruby/2.6.0/bundler/cli/exec.rb:74:in `load'4622 # /usr/local/lib/ruby/2.6.0/bundler/cli/exec.rb:74:in `kernel_load'4623 # /usr/local/lib/ruby/2.6.0/bundler/cli/exec.rb:28:in `run'4624 # /usr/local/lib/ruby/2.6.0/bundler/cli.rb:463:in `exec'4625 # /usr/local/lib/ruby/2.6.0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'4626 # /usr/local/lib/ruby/2.6.0/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'4627 # /usr/local/lib/ruby/2.6.0/bundler/vendor/thor/lib/thor.rb:387:in `dispatch'4628 # /usr/local/lib/ruby/2.6.0/bundler/cli.rb:27:in `dispatch'4629 # /usr/local/lib/ruby/2.6.0/bundler/vendor/thor/lib/thor/base.rb:466:in `start'4630 # /usr/local/lib/ruby/2.6.0/bundler/cli.rb:18:in `start'4631 # /usr/local/lib/ruby/gems/2.6.0/gems/bundler-1.17.2/exe/bundle:30:in `block in <top (required)>'4632 # /usr/local/lib/ruby/2.6.0/bundler/friendly_errors.rb:124:in `with_friendly_errors'4633 # /usr/local/lib/ruby/gems/2.6.0/gems/bundler-1.17.2/exe/bundle:22:in `<top (required)>'4634 # /usr/local/bin/bundle:23:in `load'4635 # /usr/local/bin/bundle:23:in `<main>'4636 3) Operations::FeatureFlags::UserList behaves like AtomicInternalId .has_internal_id Validation when presence validation is not required does not validate presence4637 # No reason given4638 # ./spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb:334639 4) Event#visible_to_user? epic event on private group behaves like visible to group members only when admin mode disabled is not visible to admin4640 # Temporarily skipped with xit4641 # ./ee/spec/models/ee/event_spec.rb:804642 5) Event#visible_to_user? epic note event private group behaves like visible to group members only when admin mode disabled is not visible to admin4643 # Temporarily skipped with xit4644 # ./ee/spec/models/ee/event_spec.rb:804645 6) WikiPages::CreateService behaves like WikiPages::CreateService#execute the new page is at the top level creates appropriate events4646 # group wiki support4647 Failure/Error: expect { service.execute }.to change { Event.count }.by 14648 expected `Event.count` to have changed by 1, but was changed by 04649 Shared Example Group: "correct event created" called from ./spec/support/shared_examples/services/wiki_pages/create_service_shared_examples.rb:594650 Shared Example Group: "WikiPages::CreateService#execute" called from ./ee/spec/services/wiki_pages/create_service_spec.rb:404651 # ./vendor/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support.rb:97:in `block in <module:Support>'4652 # ./vendor/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support.rb:106:in `notify_failure'4653 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/fail_with.rb:35:in `fail_with'4654 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/handler.rb:40:in `handle_failure'4655 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/handler.rb:50:in `block in handle_matcher'4656 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/handler.rb:27:in `with_matcher'4657 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/handler.rb:48:in `handle_matcher'4658 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/expectation_target.rb:65:in `to'4659 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/expectation_target.rb:101:in `to'4660 # ./spec/support/shared_examples/services/wiki_pages/create_service_shared_examples.rb:47:in `block (3 levels) in <top (required)>'4661 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:257:in `instance_exec'4662 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:257:in `block in run'4663 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:503:in `block in with_around_and_singleton_context_hooks'4664 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:460:in `block in with_around_example_hooks'4665 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:472:in `block in run'4666 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:612:in `block in run_around_example_hooks_for'4667 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:345:in `call'4668 # ./vendor/ruby/2.6.0/gems/rspec-rails-4.0.0/lib/rspec/rails/adapters.rb:75:in `block (2 levels) in <module:MinitestLifecycleAdapter>'4669 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'4670 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'4671 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:381:in `execute_with'4672 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:614:in `block (2 levels) in run_around_example_hooks_for'4673 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:345:in `call'4674 # ./spec/spec_helper.rb:320:in `block (3 levels) in <top (required)>'4675 # ./vendor/ruby/2.6.0/gems/sidekiq-5.2.9/lib/sidekiq/testing.rb:55:in `server_middleware'4676 # ./spec/support/sidekiq_middleware.rb:9:in `with_sidekiq_server_middleware'4677 # ./spec/spec_helper.rb:311:in `block (2 levels) in <top (required)>'4678 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'4679 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'4680 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:381:in `execute_with'4681 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:614:in `block (2 levels) in run_around_example_hooks_for'4682 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:345:in `call'4683 # ./spec/spec_helper.rb:307:in `block (3 levels) in <top (required)>'4684 # ./vendor/ruby/2.6.0/gems/gitlab-labkit-0.12.1/lib/labkit/context.rb:32:in `with_context'4685 # ./spec/spec_helper.rb:307:in `block (2 levels) in <top (required)>'4686 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'4687 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'4688 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:381:in `execute_with'4689 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:614:in `block (2 levels) in run_around_example_hooks_for'4690 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:345:in `call'4691 # ./vendor/ruby/2.6.0/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:123:in `block in run'4692 # ./vendor/ruby/2.6.0/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:110:in `loop'4693 # ./vendor/ruby/2.6.0/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:110:in `run'4694 # ./vendor/ruby/2.6.0/gems/rspec-retry-0.6.1/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry'4695 # ./vendor/ruby/2.6.0/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:37:in `block (2 levels) in setup'4696 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'4697 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'4698 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:381:in `execute_with'4699 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:614:in `block (2 levels) in run_around_example_hooks_for'4700 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:345:in `call'4701 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:615:in `run_around_example_hooks_for'4702 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:472:in `run'4703 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:460:in `with_around_example_hooks'4704 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:503:in `with_around_and_singleton_context_hooks'4705 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:254:in `run'4706 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:633:in `block in run_examples'4707 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:629:in `map'4708 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:629:in `run_examples'4709 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:595:in `run'4710 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:596:in `block in run'4711 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:596:in `map'4712 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:596:in `run'4713 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:596:in `block in run'4714 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:596:in `map'4715 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:596:in `run'4716 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:121:in `block (3 levels) in run_specs'4717 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:121:in `map'4718 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:121:in `block (2 levels) in run_specs'4719 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/configuration.rb:2031:in `with_suite_hooks'4720 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:116:in `block in run_specs'4721 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/reporter.rb:74:in `report'4722 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:115:in `run_specs'4723 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:89:in `run'4724 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:71:in `run'4725 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:45:in `invoke'4726 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/exe/rspec:4:in `<top (required)>'4727 # ./vendor/ruby/2.6.0/bin/rspec:23:in `load'4728 # ./vendor/ruby/2.6.0/bin/rspec:23:in `<top (required)>'4729 # /usr/local/lib/ruby/2.6.0/bundler/cli/exec.rb:74:in `load'4730 # /usr/local/lib/ruby/2.6.0/bundler/cli/exec.rb:74:in `kernel_load'4731 # /usr/local/lib/ruby/2.6.0/bundler/cli/exec.rb:28:in `run'4732 # /usr/local/lib/ruby/2.6.0/bundler/cli.rb:463:in `exec'4733 # /usr/local/lib/ruby/2.6.0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'4734 # /usr/local/lib/ruby/2.6.0/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'4735 # /usr/local/lib/ruby/2.6.0/bundler/vendor/thor/lib/thor.rb:387:in `dispatch'4736 # /usr/local/lib/ruby/2.6.0/bundler/cli.rb:27:in `dispatch'4737 # /usr/local/lib/ruby/2.6.0/bundler/vendor/thor/lib/thor/base.rb:466:in `start'4738 # /usr/local/lib/ruby/2.6.0/bundler/cli.rb:18:in `start'4739 # /usr/local/lib/ruby/gems/2.6.0/gems/bundler-1.17.2/exe/bundle:30:in `block in <top (required)>'4740 # /usr/local/lib/ruby/2.6.0/bundler/friendly_errors.rb:124:in `with_friendly_errors'4741 # /usr/local/lib/ruby/gems/2.6.0/gems/bundler-1.17.2/exe/bundle:22:in `<top (required)>'4742 # /usr/local/bin/bundle:23:in `load'4743 # /usr/local/bin/bundle:23:in `<main>'4744 7) WikiPages::CreateService behaves like WikiPages::CreateService#execute the new page is in a subsection creates appropriate events4745 # group wiki support4746 Failure/Error: expect { service.execute }.to change { Event.count }.by 14747 expected `Event.count` to have changed by 1, but was changed by 04748 Shared Example Group: "correct event created" called from ./spec/support/shared_examples/services/wiki_pages/create_service_shared_examples.rb:654749 Shared Example Group: "WikiPages::CreateService#execute" called from ./ee/spec/services/wiki_pages/create_service_spec.rb:404750 # ./vendor/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support.rb:97:in `block in <module:Support>'4751 # ./vendor/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support.rb:106:in `notify_failure'4752 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/fail_with.rb:35:in `fail_with'4753 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/handler.rb:40:in `handle_failure'4754 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/handler.rb:50:in `block in handle_matcher'4755 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/handler.rb:27:in `with_matcher'4756 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/handler.rb:48:in `handle_matcher'4757 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/expectation_target.rb:65:in `to'4758 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/expectation_target.rb:101:in `to'4759 # ./spec/support/shared_examples/services/wiki_pages/create_service_shared_examples.rb:47:in `block (3 levels) in <top (required)>'4760 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:257:in `instance_exec'4761 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:257:in `block in run'4762 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:503:in `block in with_around_and_singleton_context_hooks'4763 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:460:in `block in with_around_example_hooks'4764 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:472:in `block in run'4765 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:612:in `block in run_around_example_hooks_for'4766 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:345:in `call'4767 # ./vendor/ruby/2.6.0/gems/rspec-rails-4.0.0/lib/rspec/rails/adapters.rb:75:in `block (2 levels) in <module:MinitestLifecycleAdapter>'4768 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'4769 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'4770 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:381:in `execute_with'4771 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:614:in `block (2 levels) in run_around_example_hooks_for'4772 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:345:in `call'4773 # ./spec/spec_helper.rb:320:in `block (3 levels) in <top (required)>'4774 # ./vendor/ruby/2.6.0/gems/sidekiq-5.2.9/lib/sidekiq/testing.rb:55:in `server_middleware'4775 # ./spec/support/sidekiq_middleware.rb:9:in `with_sidekiq_server_middleware'4776 # ./spec/spec_helper.rb:311:in `block (2 levels) in <top (required)>'4777 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'4778 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'4779 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:381:in `execute_with'4780 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:614:in `block (2 levels) in run_around_example_hooks_for'4781 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:345:in `call'4782 # ./spec/spec_helper.rb:307:in `block (3 levels) in <top (required)>'4783 # ./vendor/ruby/2.6.0/gems/gitlab-labkit-0.12.1/lib/labkit/context.rb:32:in `with_context'4784 # ./spec/spec_helper.rb:307:in `block (2 levels) in <top (required)>'4785 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'4786 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'4787 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:381:in `execute_with'4788 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:614:in `block (2 levels) in run_around_example_hooks_for'4789 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:345:in `call'4790 # ./vendor/ruby/2.6.0/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:123:in `block in run'4791 # ./vendor/ruby/2.6.0/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:110:in `loop'4792 # ./vendor/ruby/2.6.0/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:110:in `run'4793 # ./vendor/ruby/2.6.0/gems/rspec-retry-0.6.1/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry'4794 # ./vendor/ruby/2.6.0/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:37:in `block (2 levels) in setup'4795 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'4796 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'4797 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:381:in `execute_with'4798 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:614:in `block (2 levels) in run_around_example_hooks_for'4799 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:345:in `call'4800 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:615:in `run_around_example_hooks_for'4801 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:472:in `run'4802 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:460:in `with_around_example_hooks'4803 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:503:in `with_around_and_singleton_context_hooks'4804 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:254:in `run'4805 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:633:in `block in run_examples'4806 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:629:in `map'4807 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:629:in `run_examples'4808 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:595:in `run'4809 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:596:in `block in run'4810 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:596:in `map'4811 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:596:in `run'4812 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:596:in `block in run'4813 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:596:in `map'4814 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:596:in `run'4815 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:121:in `block (3 levels) in run_specs'4816 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:121:in `map'4817 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:121:in `block (2 levels) in run_specs'4818 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/configuration.rb:2031:in `with_suite_hooks'4819 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:116:in `block in run_specs'4820 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/reporter.rb:74:in `report'4821 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:115:in `run_specs'4822 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:89:in `run'4823 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:71:in `run'4824 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:45:in `invoke'4825 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/exe/rspec:4:in `<top (required)>'4826 # ./vendor/ruby/2.6.0/bin/rspec:23:in `load'4827 # ./vendor/ruby/2.6.0/bin/rspec:23:in `<top (required)>'4828 # /usr/local/lib/ruby/2.6.0/bundler/cli/exec.rb:74:in `load'4829 # /usr/local/lib/ruby/2.6.0/bundler/cli/exec.rb:74:in `kernel_load'4830 # /usr/local/lib/ruby/2.6.0/bundler/cli/exec.rb:28:in `run'4831 # /usr/local/lib/ruby/2.6.0/bundler/cli.rb:463:in `exec'4832 # /usr/local/lib/ruby/2.6.0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'4833 # /usr/local/lib/ruby/2.6.0/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'4834 # /usr/local/lib/ruby/2.6.0/bundler/vendor/thor/lib/thor.rb:387:in `dispatch'4835 # /usr/local/lib/ruby/2.6.0/bundler/cli.rb:27:in `dispatch'4836 # /usr/local/lib/ruby/2.6.0/bundler/vendor/thor/lib/thor/base.rb:466:in `start'4837 # /usr/local/lib/ruby/2.6.0/bundler/cli.rb:18:in `start'4838 # /usr/local/lib/ruby/gems/2.6.0/gems/bundler-1.17.2/exe/bundle:30:in `block in <top (required)>'4839 # /usr/local/lib/ruby/2.6.0/bundler/friendly_errors.rb:124:in `with_friendly_errors'4840 # /usr/local/lib/ruby/gems/2.6.0/gems/bundler-1.17.2/exe/bundle:22:in `<top (required)>'4841 # /usr/local/bin/bundle:23:in `load'4842 # /usr/local/bin/bundle:23:in `<main>'4843Finished in 11 minutes 35 seconds (files took 42.39 seconds to load)48441938 examples, 0 failures, 7 pending4845Sat Aug 29 16:47:36 UTC 20204847Not uploading cache rails-v2-3 due to policy4849Uploading artifacts...4850coverage/: found 5 matching files and directories 4851knapsack/: found 3 matching files and directories 4852rspec_flaky/: found 4 matching files and directories 4853rspec_profiling/: found 2 matching files and directories 4854WARNING: tmp/capybara/: no matching files 4855tmp/memory_test/: found 2 matching files and directories 4856log/*.log: found 14 matching files and directories 4857Uploading artifacts as "archive" to coordinator... ok id=710020423 responseStatus=201 Created token=6mWayKgp4858Uploading artifacts...4859junit_rspec.xml: found 1 matching files and directories 4860Uploading artifacts as "junit" to coordinator... ok id=710020423 responseStatus=201 Created token=6mWayKgp4861Job succeeded