rspec-ee unit pg11 10/10
Passed Started
by
@nfriend
Nathan Friend
1Running with gitlab-runner 13.1.0-rc1 (b9d289ed)2 on docker-auto-scale-com 1d6b581d4Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.6.6-golang-1.14-git-2.27-lfs-2.9-chrome-83-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:alpine ...9Pulling docker image redis:alpine ...10Using docker image sha256:b546e82a6d0eceb411b424487643c8d5224cb12a74b6175469991ce2e78c42d1 for redis: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.27-lfs-2.9-chrome-83-node-12.x-yarn-1.21-postgresql-11-graphicsmagick-1.3.34 ...17Using docker image sha256:55544d55bdb13be6afb83ab069b8b15d9eed014ac57db466e7586e070f0cebff for registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.6.6-golang-1.14-git-2.27-lfs-2.9-chrome-83-node-12.x-yarn-1.21-postgresql-11-graphicsmagick-1.3.34 ...19Running on runner-1d6b581d-project-278964-concurrent-0 via runner-1d6b581d-gsrm-1592410932-29dd067d...21$ eval "$CI_PRE_CLONE_SCRIPT"22Downloading archived master...23Connecting to storage.googleapis.com (172.217.204.128:443)24gitlab.tar.gz 11% |*** | 111M 0:00:07 ETA25gitlab.tar.gz 47% |*************** | 443M 0:00:02 ETA26gitlab.tar.gz 83% |************************** | 780M 0:00:00 ETA27gitlab.tar.gz 100% |********************************| 939M 0:00:00 ETA28Extracting tarball into /builds/gitlab-org/gitlab...29Fetching changes with git depth set to 20...30Reinitialized existing Git repository in /builds/gitlab-org/gitlab/.git/31Created fresh repository.32Checking out 2d057e7a as refs/merge-requests/25668/merge...33Skipping Git submodules setup35Checking cache for rails-v1-3...36Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/rails-v1-3 37Successfully extracted cache39Downloading artifacts for compile-test-assets (599847029)...40Downloading artifacts from coordinator... ok id=599847029 responseStatus=200 OK token=Nm4Zox-E41Downloading artifacts for retrieve-tests-metadata (599847034)...42Downloading artifacts from coordinator... ok id=599847034 responseStatus=200 OK token=GZ748fBo43Downloading artifacts for setup-test-env (599847031)...44Downloading artifacts from coordinator... ok id=599847031 responseStatus=200 OK token=LPfzdszg45WARNING: tmp/tests/gitlab-shell/.gitlab_shell_secret: chmod tmp/tests/gitlab-shell/.gitlab_shell_secret: no such file or directory (suppressing repeats) 47$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb48$ export GOPATH=$CI_PROJECT_DIR/.go49$ mkdir -p $GOPATH50$ source scripts/utils.sh51$ source scripts/prepare_build.sh52Bundler version 1.17.253$ bundle install --clean --without=production --jobs=2 --path=vendor --retry=3 --quiet54==> 'bundle install --clean --without=production --jobs=2 --path=vendor --retry=3 --quiet' succeeded in 1 seconds.55$ bundle check56Warning: 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`.57The Gemfile's dependencies are satisfied58==> 'bundle check' succeeded in 1 seconds.59$ gem install knapsack --no-document60Successfully installed knapsack-1.18.0611 gem installed62==> 'gem install knapsack --no-document' succeeded in 0 seconds.63$ setup_db_user_only64CREATE ROLE65GRANT66==> 'setup_db_user_only' succeeded in 1 seconds.67$ bundle exec rake db:drop db:create db:structure:load db:migrate gitlab:db:setup_ee68Dropped database 'gitlabhq_test'69Created database 'gitlabhq_test'70Dropped database 'gitlabhq_geo_test'71Created database 'gitlabhq_geo_test'72==> 'bundle exec rake db:drop db:create db:structure:load db:migrate gitlab:db:setup_ee' succeeded in 26 seconds.73$ run_timed_command "scripts/gitaly-test-build"74$ scripts/gitaly-test-build75cd _build && ./makegen > Makefile76fatal: No names found, cannot describe anything.772020/06/17 17:05:02 error obtaining version from git: git describe: exit status 128782020/06/17 17:05:02 Attempting to get the version from file79cd _build && make install INSTALL_DEST_DIR=/builds/gitlab-org/gitlab/tmp/tests/gitaly80make[1]: Entering directory '/builds/gitlab-org/gitlab/tmp/tests/gitaly/_build'81cd /builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby && bundle config # for debugging82Settings are listed in order of priority. The top value will be used.83retry84Set for your local app (/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config/config): 385path86Set for your local app (/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config/config): "/builds/gitlab-org/gitlab/vendor/gitaly-ruby"87jobs88Set for your local app (/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config/config): 489app_config90Set via BUNDLE_APP_CONFIG: "/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config"91gemfile92Set via BUNDLE_GEMFILE: "/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/Gemfile"93flags94Set via BUNDLE_FLAGS: "--jobs=4 --retry=3 --quiet --path=/builds/gitlab-org/gitlab/vendor/gitaly-ruby"95silence_root_warning96Set via BUNDLE_SILENCE_ROOT_WARNING: true97cd /builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby && bundle install --jobs=4 --retry=3 --quiet --path=/builds/gitlab-org/gitlab/vendor/gitaly-ruby98touch ../.ruby-bundle99# go install100mkdir -p /builds/gitlab-org/gitlab/tmp/tests/gitaly101cd bin && install gitaly gitaly-blackbox gitaly-debug gitaly-hooks gitaly-ssh gitaly-wrapper praefect /builds/gitlab-org/gitlab/tmp/tests/gitaly102make[1]: Leaving directory '/builds/gitlab-org/gitlab/tmp/tests/gitaly/_build'103Checking gitaly-ruby Gemfile...104Checking gitaly-ruby bundle...105Warning: 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`.106The Gemfile's dependencies are satisfied107Trying to connect to gitaly: ........ OK108Trying to connect to praefect: ........ OK109==> 'scripts/gitaly-test-build' succeeded in 45 seconds.110$ run_timed_command "scripts/gitaly-test-spawn"111$ scripts/gitaly-test-spawn112Checking gitaly-ruby Gemfile...113Checking gitaly-ruby bundle...114Warning: 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`.115The Gemfile's dependencies are satisfied116Trying to connect to gitaly: ........ OK117Trying to connect to praefect: ....... OK118==> 'scripts/gitaly-test-spawn' succeeded in 2 seconds.119$ source scripts/rspec_helpers.sh120$ rspec_paralellized_job "--tag ~quarantine --tag ~geo --tag ~level:migration"121KNAPSACK_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.rb122Report specs:123ee/spec/lib/gitlab/geo/log_cursor/daemon_spec.rb124ee/spec/services/quick_actions/interpret_service_spec.rb125ee/spec/helpers/ee/groups_helper_spec.rb126ee/spec/services/vulnerability_feedback/create_service_spec.rb127ee/spec/models/user_spec.rb128ee/spec/views/layouts/nav/sidebar/_project.html.haml_spec.rb129ee/spec/lib/gitlab/analytics/cycle_analytics/summary/group/stage_summary_spec.rb130ee/spec/models/concerns/elastic/repository_spec.rb131ee/spec/lib/gitlab/analytics/type_of_work/tasks_by_type_spec.rb132ee/spec/services/ee/issues/create_service_spec.rb133ee/spec/models/concerns/elastic/project_spec.rb134ee/spec/models/ci/pipeline_spec.rb135ee/spec/models/approval_project_rule_spec.rb136ee/spec/lib/gitlab/checks/diff_check_spec.rb137ee/spec/services/ci/compare_sast_reports_service_spec.rb138ee/spec/models/repository_spec.rb139ee/spec/services/merge_trains/refresh_merge_request_service_spec.rb140ee/spec/services/vulnerabilities/create_service_spec.rb141ee/spec/models/geo_node_spec.rb142ee/spec/services/epic_links/update_service_spec.rb143ee/spec/finders/geo/project_registry_pending_verification_finder_spec.rb144ee/spec/lib/gitlab/legacy_github_import/project_creator_spec.rb145ee/spec/workers/geo/repository_sync_worker_spec.rb146ee/spec/finders/security/security_jobs_finder_spec.rb147ee/spec/models/gitlab_subscription_spec.rb148ee/spec/finders/groups_with_templates_finder_spec.rb149ee/spec/serializers/status_page/incident_entity_spec.rb150ee/spec/models/license_spec.rb151ee/spec/models/concerns/elastic/issue_spec.rb152ee/spec/lib/gitlab/ci/parsers/security/dast_spec.rb153ee/spec/services/merge_trains/refresh_merge_requests_service_spec.rb154ee/spec/presenters/merge_request_approver_presenter_spec.rb155ee/spec/lib/analytics/refresh_comments_data_spec.rb156ee/spec/models/packages/package_file_spec.rb157ee/spec/lib/ee/gitlab/ci/templates/templates_spec.rb158ee/spec/lib/gitlab/vulnerabilities/history_cache_spec.rb159ee/spec/models/concerns/elastic/milestone_spec.rb160ee/spec/finders/geo/project_updated_recently_finder_spec.rb161ee/spec/services/protected_environments/create_service_spec.rb162ee/spec/services/ee/issuable/common_system_notes_service_spec.rb163ee/spec/services/projects/import_service_spec.rb164ee/spec/services/feature_flags/enable_service_spec.rb165ee/spec/lib/ee/gitlab/import_export/group/legacy_tree_saver_spec.rb166ee/spec/services/merge_requests/remove_approval_service_spec.rb167ee/spec/services/geo/repository_destroy_service_spec.rb168ee/spec/tasks/gitlab/elastic_rake_spec.rb169ee/spec/services/geo/repository_verification_reset_spec.rb170ee/spec/lib/ee/gitlab/elastic/helper_spec.rb171ee/spec/models/software_license_policy_spec.rb172ee/spec/models/concerns/geo/eventable_spec.rb173ee/spec/services/ci/create_pipeline_service/needs_spec.rb174ee/spec/services/protected_environments/update_service_spec.rb175ee/spec/models/users_security_dashboard_project_spec.rb176ee/spec/services/ee/boards/lists/list_service_spec.rb177ee/spec/models/packages/tag_spec.rb178ee/spec/services/vulnerability_exports/export_service_spec.rb179ee/spec/services/ee/allowed_email_domains/update_service_spec.rb180ee/spec/models/software_license_spec.rb181ee/spec/finders/packages/tags_finder_spec.rb182ee/spec/services/packages/nuget/metadata_extraction_service_spec.rb183ee/spec/serializers/clusters/deployment_entity_spec.rb184ee/spec/policies/global_policy_spec.rb185ee/spec/helpers/ee/lock_helper_spec.rb186ee/spec/services/geo/file_upload_service_spec.rb187ee/spec/services/packages/create_dependency_service_spec.rb188ee/spec/lib/gitlab/elastic/document_reference_spec.rb189ee/spec/services/ee/merge_requests/base_service_spec.rb190ee/spec/workers/packages/nuget/extraction_worker_spec.rb191ee/spec/finders/geo/package_file_registry_finder_spec.rb192ee/spec/workers/ee/repository_check/batch_worker_spec.rb193ee/spec/lib/gitlab/code_owners/groups_loader_spec.rb194ee/spec/models/scoped_label_set_spec.rb195ee/spec/serializers/licenses_list_entity_spec.rb196ee/spec/models/commit_spec.rb197ee/spec/finders/ee/fork_targets_finder_spec.rb198ee/spec/services/geo/job_artifact_deleted_event_store_spec.rb199ee/spec/models/vulnerabilities/scanner_spec.rb200ee/spec/workers/clear_shared_runners_minutes_worker_spec.rb201ee/spec/services/security/store_scans_service_spec.rb202ee/spec/lib/banzai/reference_parser/iteration_parser_spec.rb203ee/spec/lib/gitlab/prometheus/queries/additional_metrics_deployment_query_spec.rb204ee/spec/services/protected_environments/destroy_service_spec.rb205ee/spec/services/geo/rename_repository_service_spec.rb206ee/spec/lib/gitlab/auth/saml/user_spec.rb207ee/spec/lib/gitlab/ci/pipeline/chain/limit/job_activity_spec.rb208ee/spec/presenters/ci/pipeline_presenter_spec.rb209ee/spec/services/geo/container_repository_sync_service_spec.rb210ee/spec/workers/elastic_delete_project_worker_spec.rb211ee/spec/finders/boards/milestones_finder_spec.rb212ee/spec/services/groups/restore_service_spec.rb213ee/spec/lib/gitlab/auth/auth_finders_spec.rb214ee/spec/services/merge_requests/build_service_spec.rb215ee/spec/services/projects/update_service_spec.rb216ee/spec/models/compliance_management/compliance_framework/project_settings_spec.rb217ee/spec/services/projects/restore_service_spec.rb218ee/spec/services/projects/group_links/destroy_service_spec.rb219ee/spec/lib/ee/gitlab/cleanup/orphan_job_artifact_files_spec.rb220ee/spec/services/users_ops_dashboard_projects/destroy_service_spec.rb221ee/spec/finders/requirements_management/requirements_finder_spec.rb222ee/spec/helpers/users_helper_spec.rb223ee/spec/policies/vulnerabilities/issue_link_policy_spec.rb224ee/spec/services/ci/retry_build_service_spec.rb225ee/spec/lib/gitlab/geo/replication/job_artifact_retriever_spec.rb226ee/spec/lib/gitlab/geo/log_cursor/events/container_repository_updated_event_spec.rb227ee/spec/services/metrics/dashboard/cluster_metrics_embed_service_spec.rb228ee/spec/lib/gitlab/auth/group_saml/dynamic_settings_spec.rb229ee/spec/lib/banzai/filter/label_reference_filter_spec.rb230ee/spec/lib/ee/api/entities/analytics/code_review/merge_request_spec.rb231ee/spec/lib/gitlab/geo/replication/blob_retriever_spec.rb232ee/spec/serializers/issue_serializer_spec.rb233ee/spec/services/geo/files_expire_service_spec.rb234ee/spec/lib/gitlab/geo/fdw/upload_registry_query_builder_spec.rb235ee/spec/lib/gitlab/ci/parsers/security/secret_detection_spec.rb236ee/spec/services/geo/hashed_storage_attachments_event_store_spec.rb237ee/spec/helpers/ee/runners_helper_spec.rb238ee/spec/services/ee/merge_requests/post_merge_service_spec.rb239ee/spec/serializers/vulnerabilities/response_entity_spec.rb240ee/spec/finders/autocomplete/project_invited_groups_finder_spec.rb241ee/spec/views/layouts/nav/sidebar/_analytics.html.haml_spec.rb242ee/spec/lib/gitlab/geo/event_gap_tracking_spec.rb243ee/spec/lib/ee/api/helpers/members_helpers_spec.rb244ee/spec/lib/gitlab/auth/group_saml/sso_enforcer_spec.rb245ee/spec/lib/gitlab/geo/replication/file_transfer_spec.rb246ee/spec/serializers/dashboard_environments_project_entity_spec.rb247ee/spec/lib/status_page/storage/s3_client_spec.rb248ee/spec/models/packages/maven/metadatum_spec.rb249ee/spec/services/milestones/promote_service_spec.rb250ee/spec/models/project_team_spec.rb251ee/spec/services/boards/user_preferences/update_service_spec.rb252ee/spec/lib/gitlab/geo/replication/lfs_downloader_spec.rb253ee/spec/models/ee/appearance_spec.rb254ee/spec/workers/jira_connect/sync_merge_request_worker_spec.rb255ee/spec/finders/ee/group_members_finder_spec.rb256ee/spec/models/packages/nuget/dependency_link_metadatum_spec.rb257ee/spec/lib/ee/api/entities/scim/user_name_spec.rb258ee/spec/models/ee/project_wiki_spec.rb259ee/spec/lib/gitlab/auth_spec.rb260ee/spec/views/projects/on_demand_scans/index.html.haml_spec.rb261ee/spec/workers/geo/blob_verification_primary_worker_spec.rb262ee/spec/lib/ee/api/entities/vulnerability_export_spec.rb263ee/spec/workers/geo/batch/project_registry_worker_spec.rb264ee/spec/models/remote_mirror_spec.rb265ee/spec/serializers/feature_flag_entity_spec.rb266ee/spec/services/ee/design_management/delete_designs_service_spec.rb267ee/spec/models/audit_event_spec.rb268ee/spec/helpers/ee/auth_helper_spec.rb269ee/spec/lib/peek/views/elasticsearch_spec.rb270ee/spec/helpers/epics_helper_spec.rb271ee/spec/routing/group_routing_spec.rb272ee/spec/services/ee/users/build_service_spec.rb273ee/spec/lib/ee/gitlab/ci/config_spec.rb274ee/spec/graphql/types/vulnerability_type_spec.rb275Knapsack report generator started!276Run options:277 include {:focus=>true}278 exclude {:quarantine=>true, :geo=>true, :level=>"migration"}279All examples were filtered out; ignoring {:focus=>true}280==> Setting up Gitaly...281 Gitaly set up in 0.043314214 seconds...282==> Setting up GitLab Workhorse...283 GitLab Workhorse set up in 0.000224047 seconds...284==> Setting up gitlab-test bare repository in /builds/gitlab-org/gitlab/tmp/tests/gitlab-test_bare...285 /builds/gitlab-org/gitlab/tmp/tests/gitlab-test_bare set up in 0.040005266 seconds...286==> Setting up GitLab Elasticsearch Indexer...287 GitLab Elasticsearch Indexer set up in 0.000168082 seconds...288QuickActions::InterpretService289 #execute290 assign command291 Issue292 fetches assignees and populates them if content contains /assign293 assign command with multiple assignees294 fetches assignee and populates assignee_ids if content contains /assign295 Merge Request296 fetches assignees and populates them if content contains /assign297 assign command with multiple assignees298 fetches assignee and populates assignee_ids if content contains /assign299 unlicensed300 does not recognize /assign with multiple user references301 unassign command302 Issue303 unassigns user if content contains /unassign @user304 unassigns both users if content contains /unassign @user @user1305 unassigns all the users if content contains /unassign306 Merge Request307 unassigns user if content contains /unassign @user308 unassign command with multiple assignees309 unassigns both users if content contains /unassign @user @user1310 unlicensed311 does not recognize /unassign @user312 reassign command313 Merge Request314 reassigns user if content contains /reassign @user315 unlicensed316 does not recognize /reassign @user317 Issue318 reassigns user if content contains /reassign @user319 unlicensed320 does not recognize /reassign @user321 iteration command322 when iterations are enabled323 when iteration exists324 assigns an iteration to an issue325 when the user does not have enough permissions326 returns empty message327 when iteration does not exist328 returns empty message329 when iterations are disabled330 does not recognize /iteration331 remove_iteration command332 when iterations are enabled333 removes an assigned iteration from an issue334 when the user does not have enough permissions335 returns empty message336 when iterations are disabled337 does not recognize /remove_iteration338 epic command339 when epics are enabled340 when epic exists341 assigns an issue to an epic342 when an issue belongs to a project without group343 does not assign an issue to an epic344 when issue is already added to epic345 returns error message346 when epic does not exist347 does not assign an issue to an epic348 when user has no permissions to read epic349 does not assign an issue to an epic350 when epics are disabled351 does not recognize /epic352 child_epic command353 when subepics are enabled354 when a user does not have permissions to add epic relations355 behaves like epic relation is not added356 does not add child epic to epic357 behaves like quick action is unavailable358 does not recognize action359 when a user has permissions to add epic relations360 behaves like epic relation is added361 adds child epic relation to the epic362 behaves like quick action is available363 does recognize action364 behaves like quick action is unavailable365 does not recognize action366 behaves like quick action is unavailable367 does not recognize action368 when passed child epic is nil369 does not add child epic to epic370 does not raise error371 when child_epic is already linked to an epic372 behaves like epic relation is added373 adds child epic relation to the epic374 behaves like quick action is available375 does recognize action376 when child epic is in a subgroup of parent epic377 behaves like epic relation is added378 adds child epic relation to the epic379 behaves like quick action is available380 does recognize action381 when child epic is in a parent group of the parent epic382 behaves like epic relation is not added383 does not add child epic to epic384 behaves like quick action is available385 does recognize action386 when child epic is in a different group than parent epic387 behaves like epic relation is not added388 does not add child epic to epic389 behaves like quick action is available390 does recognize action391 when epics are disabled392 behaves like epic relation is not added393 does not add child epic to epic394 behaves like quick action is unavailable395 does not recognize action396 remove_child_epic command397 when subepics are enabled398 when a user does not have permissions to remove epic relations399 does not remove child_epic from epic400 behaves like epic relation is not removed401 does not remove child_epic from epic402 behaves like quick action is unavailable403 does not recognize action404 when a user has permissions to remove epic relations405 behaves like quick action is available406 does recognize action407 behaves like quick action is unavailable408 does not recognize action409 behaves like quick action is unavailable410 does not recognize action411 behaves like epic relation is removed412 does not remove child_epic from epic413 when trying to remove child epic from a different epic414 behaves like epic relation is not removed415 does not remove child_epic from epic416 when child epic is in a subgroup of parent epic417 behaves like epic relation is removed418 does not remove child_epic from epic419 behaves like quick action is available420 does recognize action421 when child and parent epics are in different groups422 when child epic is in a parent group of the parent epic423 behaves like epic relation is removed424 does not remove child_epic from epic425 behaves like quick action is available426 does recognize action427 when child epic is in a different group than parent epic428 behaves like epic relation is removed429 does not remove child_epic from epic430 behaves like quick action is available431 does recognize action432 when subepics are disabled433 behaves like epic relation is not removed434 does not remove child_epic from epic435 behaves like quick action is unavailable436 does not recognize action437 label command for epics438 when epics are enabled439 when a user has permissions to label an epic440 populates valid label ids441 when a user does not have permissions to label an epic442 does not populate any labels443 when epics are disabled444 does not populate any labels445 remove_epic command446 when epics are disabled447 does not recognize /remove_epic448 when subepics are enabled449 unassigns an issue from an epic450 approve command451 approves the current merge request452 when the user can't approve453 does not approve the MR454 issuable weights licensed455 weight456 behaves like weight command457 populates weight specified by the /weight command458 behaves like weight command459 populates weight specified by the /weight command460 when weight is negative461 does not populate weight462 clear_weight463 behaves like clear weight command464 populates weight: nil if content contains /clear_weight465 issuable weights unlicensed466 does not recognise /weight X467 does not recognise /clear_weight468 not persisted merge request can not be merged469 behaves like empty command470 populates {} if content contains an unsupported command471 not approved merge request can not be merged472 behaves like empty command473 populates {} if content contains an unsupported command474 approved merge request can be merged475 behaves like empty command476 populates {} if content contains an unsupported command477 relate command478 user is member of group479 relate a single issue480 behaves like relate command481 relates issues482 relate multiple issues at once483 behaves like relate command484 relates issues485 empty relate command486 behaves like relate command487 relates issues488 already having related issues489 behaves like relate command490 relates issues491 cross project492 relate a cross project issue493 behaves like relate command494 relates issues495 relate multiple cross projects issues at once496 behaves like relate command497 relates issues498 relate a non-existing issue499 behaves like relate command500 relates issues501 relate a private issue502 behaves like relate command503 relates issues504 #explain505 unassign command506 includes all assignees' references507 unassign command with assignee references508 includes only selected assignee references509 weight command510 includes the number511 epic commands512 child_epic command513 behaves like adds epic relation514 when correct epic reference515 returns explain message with epic reference516 returns successful execution message517 when epic reference is wrong518 returns empty explain message519 when epic is already a child epic520 behaves like epics are already related521 returns unsuccessful execution message522 when epic is the parent epic523 behaves like epics are already related524 returns unsuccessful execution message525 when epic does not exist526 behaves like target epic does not exist527 returns unsuccessful execution message528 when user has no permission to read epic529 behaves like without permissions for action530 returns unsuccessful execution message531 remove_child_epic command532 when correct epic reference533 returns explain message with epic reference534 returns successful execution message535 when epic reference is wrong536 returns empty explain message537 when child epic does not exist538 returns unsuccessful execution message539 parent_epic command540 behaves like adds epic relation541 when correct epic reference542 returns explain message with epic reference543 returns successful execution message544 when epic reference is wrong545 returns empty explain message546 when epic is already a parent epic547 behaves like epics are already related548 returns unsuccessful execution message549 when epic is a an existing child epic550 behaves like epics are already related551 returns unsuccessful execution message552 when epic does not exist553 behaves like target epic does not exist554 returns unsuccessful execution message555 when user has no permission to read epic556 behaves like without permissions for action557 returns unsuccessful execution message558 remove_parent_epic command559 when parent is present560 returns explain message with epic reference561 returns successful execution message562 when parent is not present563 returns empty explain message564 returns unsuccessful execution message565GroupsHelper566 #group_epics_count567 returns open epics count568 returns closed epics count569 #group_sidebar_links570 shows the licensed features when they are available571 hides the licensed features when they are not available572 when contribution analytics is available573 signed in user is a project member but not a member of the group574 hides Contribution Analytics575 #permanent_deletion_date576 returns the sum of the date passed as argument and the deletion_adjourned_period set in application setting577 #remove_group_message578 adjourned deletion feature is available579 returns the message related to adjourned deletion580 adjourned deletion feature is not available581 returns the message related to permanent deletion582 #show_discover_group_security?583 ab_feature_enabled?: true, gitlab_com?: true, user?: true, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: true, can_admin_group?: true584 returns the expected value585 ab_feature_enabled?: true, gitlab_com?: true, user?: true, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: true, can_admin_group?: false586 returns the expected value587 ab_feature_enabled?: true, gitlab_com?: true, user?: true, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: false, can_admin_group?: true588 returns the expected value589 ab_feature_enabled?: true, gitlab_com?: true, user?: true, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: false, can_admin_group?: false590 returns the expected value591 ab_feature_enabled?: true, gitlab_com?: true, user?: true, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: true, can_admin_group?: true592 returns the expected value593 ab_feature_enabled?: true, gitlab_com?: true, user?: true, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: true, can_admin_group?: false594 returns the expected value595 ab_feature_enabled?: true, gitlab_com?: true, user?: true, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: false, can_admin_group?: true596 returns the expected value597 ab_feature_enabled?: true, gitlab_com?: true, user?: true, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: false, can_admin_group?: false598 returns the expected value599 ab_feature_enabled?: true, gitlab_com?: true, user?: true, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: true, can_admin_group?: true600 returns the expected value601 ab_feature_enabled?: true, gitlab_com?: true, user?: true, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: true, can_admin_group?: false602 returns the expected value603 ab_feature_enabled?: true, gitlab_com?: true, user?: true, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: false, can_admin_group?: true604 returns the expected value605 ab_feature_enabled?: true, gitlab_com?: true, user?: true, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: false, can_admin_group?: false606 returns the expected value607 ab_feature_enabled?: true, gitlab_com?: true, user?: true, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: true, can_admin_group?: true608 returns the expected value609 ab_feature_enabled?: true, gitlab_com?: true, user?: true, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: true, can_admin_group?: false610 returns the expected value611 ab_feature_enabled?: true, gitlab_com?: true, user?: true, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: false, can_admin_group?: true612 returns the expected value613 ab_feature_enabled?: true, gitlab_com?: true, user?: true, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: false, can_admin_group?: false614 returns the expected value615 ab_feature_enabled?: true, gitlab_com?: true, user?: false, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: true, can_admin_group?: true616 returns the expected value617 ab_feature_enabled?: true, gitlab_com?: true, user?: false, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: true, can_admin_group?: false618 returns the expected value619 ab_feature_enabled?: true, gitlab_com?: true, user?: false, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: false, can_admin_group?: true620 returns the expected value621 ab_feature_enabled?: true, gitlab_com?: true, user?: false, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: false, can_admin_group?: false622 returns the expected value623 ab_feature_enabled?: true, gitlab_com?: true, user?: false, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: true, can_admin_group?: true624 returns the expected value625 ab_feature_enabled?: true, gitlab_com?: true, user?: false, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: true, can_admin_group?: false626 returns the expected value627 ab_feature_enabled?: true, gitlab_com?: true, user?: false, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: false, can_admin_group?: true628 returns the expected value629 ab_feature_enabled?: true, gitlab_com?: true, user?: false, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: false, can_admin_group?: false630 returns the expected value631 ab_feature_enabled?: true, gitlab_com?: true, user?: false, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: true, can_admin_group?: true632 returns the expected value633 ab_feature_enabled?: true, gitlab_com?: true, user?: false, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: true, can_admin_group?: false634 returns the expected value635 ab_feature_enabled?: true, gitlab_com?: true, user?: false, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: false, can_admin_group?: true636 returns the expected value637 ab_feature_enabled?: true, gitlab_com?: true, user?: false, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: false, can_admin_group?: false638 returns the expected value639 ab_feature_enabled?: true, gitlab_com?: true, user?: false, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: true, can_admin_group?: true640 returns the expected value641 ab_feature_enabled?: true, gitlab_com?: true, user?: false, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: true, can_admin_group?: false642 returns the expected value643 ab_feature_enabled?: true, gitlab_com?: true, user?: false, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: false, can_admin_group?: true644 returns the expected value645 ab_feature_enabled?: true, gitlab_com?: true, user?: false, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: false, can_admin_group?: false646 returns the expected value647 ab_feature_enabled?: true, gitlab_com?: false, user?: true, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: true, can_admin_group?: true648 returns the expected value649 ab_feature_enabled?: true, gitlab_com?: false, user?: true, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: true, can_admin_group?: false650 returns the expected value651 ab_feature_enabled?: true, gitlab_com?: false, user?: true, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: false, can_admin_group?: true652 returns the expected value653 ab_feature_enabled?: true, gitlab_com?: false, user?: true, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: false, can_admin_group?: false654 returns the expected value655 ab_feature_enabled?: true, gitlab_com?: false, user?: true, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: true, can_admin_group?: true656 returns the expected value657 ab_feature_enabled?: true, gitlab_com?: false, user?: true, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: true, can_admin_group?: false658 returns the expected value659 ab_feature_enabled?: true, gitlab_com?: false, user?: true, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: false, can_admin_group?: true660 returns the expected value661 ab_feature_enabled?: true, gitlab_com?: false, user?: true, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: false, can_admin_group?: false662 returns the expected value663 ab_feature_enabled?: true, gitlab_com?: false, user?: true, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: true, can_admin_group?: true664 returns the expected value665 ab_feature_enabled?: true, gitlab_com?: false, user?: true, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: true, can_admin_group?: false666 returns the expected value667 ab_feature_enabled?: true, gitlab_com?: false, user?: true, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: false, can_admin_group?: true668 returns the expected value669 ab_feature_enabled?: true, gitlab_com?: false, user?: true, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: false, can_admin_group?: false670 returns the expected value671 ab_feature_enabled?: true, gitlab_com?: false, user?: true, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: true, can_admin_group?: true672 returns the expected value673 ab_feature_enabled?: true, gitlab_com?: false, user?: true, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: true, can_admin_group?: false674 returns the expected value675 ab_feature_enabled?: true, gitlab_com?: false, user?: true, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: false, can_admin_group?: true676 returns the expected value677 ab_feature_enabled?: true, gitlab_com?: false, user?: true, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: false, can_admin_group?: false678 returns the expected value679 ab_feature_enabled?: true, gitlab_com?: false, user?: false, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: true, can_admin_group?: true680 returns the expected value681 ab_feature_enabled?: true, gitlab_com?: false, user?: false, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: true, can_admin_group?: false682 returns the expected value683 ab_feature_enabled?: true, gitlab_com?: false, user?: false, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: false, can_admin_group?: true684 returns the expected value685 ab_feature_enabled?: true, gitlab_com?: false, user?: false, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: false, can_admin_group?: false686 returns the expected value687 ab_feature_enabled?: true, gitlab_com?: false, user?: false, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: true, can_admin_group?: true688 returns the expected value689 ab_feature_enabled?: true, gitlab_com?: false, user?: false, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: true, can_admin_group?: false690 returns the expected value691 ab_feature_enabled?: true, gitlab_com?: false, user?: false, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: false, can_admin_group?: true692 returns the expected value693 ab_feature_enabled?: true, gitlab_com?: false, user?: false, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: false, can_admin_group?: false694 returns the expected value695 ab_feature_enabled?: true, gitlab_com?: false, user?: false, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: true, can_admin_group?: true696 returns the expected value697 ab_feature_enabled?: true, gitlab_com?: false, user?: false, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: true, can_admin_group?: false698 returns the expected value699 ab_feature_enabled?: true, gitlab_com?: false, user?: false, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: false, can_admin_group?: true700 returns the expected value701 ab_feature_enabled?: true, gitlab_com?: false, user?: false, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: false, can_admin_group?: false702 returns the expected value703 ab_feature_enabled?: true, gitlab_com?: false, user?: false, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: true, can_admin_group?: true704 returns the expected value705 ab_feature_enabled?: true, gitlab_com?: false, user?: false, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: true, can_admin_group?: false706 returns the expected value707 ab_feature_enabled?: true, gitlab_com?: false, user?: false, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: false, can_admin_group?: true708 returns the expected value709 ab_feature_enabled?: true, gitlab_com?: false, user?: false, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: false, can_admin_group?: false710 returns the expected value711 ab_feature_enabled?: false, gitlab_com?: true, user?: true, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: true, can_admin_group?: true712 returns the expected value713 ab_feature_enabled?: false, gitlab_com?: true, user?: true, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: true, can_admin_group?: false714 returns the expected value715 ab_feature_enabled?: false, gitlab_com?: true, user?: true, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: false, can_admin_group?: true716 returns the expected value717 ab_feature_enabled?: false, gitlab_com?: true, user?: true, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: false, can_admin_group?: false718 returns the expected value719 ab_feature_enabled?: false, gitlab_com?: true, user?: true, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: true, can_admin_group?: true720 returns the expected value721 ab_feature_enabled?: false, gitlab_com?: true, user?: true, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: true, can_admin_group?: false722 returns the expected value723 ab_feature_enabled?: false, gitlab_com?: true, user?: true, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: false, can_admin_group?: true724 returns the expected value725 ab_feature_enabled?: false, gitlab_com?: true, user?: true, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: false, can_admin_group?: false726 returns the expected value727 ab_feature_enabled?: false, gitlab_com?: true, user?: true, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: true, can_admin_group?: true728 returns the expected value729 ab_feature_enabled?: false, gitlab_com?: true, user?: true, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: true, can_admin_group?: false730 returns the expected value731 ab_feature_enabled?: false, gitlab_com?: true, user?: true, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: false, can_admin_group?: true732 returns the expected value733 ab_feature_enabled?: false, gitlab_com?: true, user?: true, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: false, can_admin_group?: false734 returns the expected value735 ab_feature_enabled?: false, gitlab_com?: true, user?: true, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: true, can_admin_group?: true736 returns the expected value737 ab_feature_enabled?: false, gitlab_com?: true, user?: true, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: true, can_admin_group?: false738 returns the expected value739 ab_feature_enabled?: false, gitlab_com?: true, user?: true, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: false, can_admin_group?: true740 returns the expected value741 ab_feature_enabled?: false, gitlab_com?: true, user?: true, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: false, can_admin_group?: false742 returns the expected value743 ab_feature_enabled?: false, gitlab_com?: true, user?: false, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: true, can_admin_group?: true744 returns the expected value745 ab_feature_enabled?: false, gitlab_com?: true, user?: false, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: true, can_admin_group?: false746 returns the expected value747 ab_feature_enabled?: false, gitlab_com?: true, user?: false, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: false, can_admin_group?: true748 returns the expected value749 ab_feature_enabled?: false, gitlab_com?: true, user?: false, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: false, can_admin_group?: false750 returns the expected value751 ab_feature_enabled?: false, gitlab_com?: true, user?: false, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: true, can_admin_group?: true752 returns the expected value753 ab_feature_enabled?: false, gitlab_com?: true, user?: false, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: true, can_admin_group?: false754 returns the expected value755 ab_feature_enabled?: false, gitlab_com?: true, user?: false, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: false, can_admin_group?: true756 returns the expected value757 ab_feature_enabled?: false, gitlab_com?: true, user?: false, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: false, can_admin_group?: false758 returns the expected value759 ab_feature_enabled?: false, gitlab_com?: true, user?: false, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: true, can_admin_group?: true760 returns the expected value761 ab_feature_enabled?: false, gitlab_com?: true, user?: false, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: true, can_admin_group?: false762 returns the expected value763 ab_feature_enabled?: false, gitlab_com?: true, user?: false, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: false, can_admin_group?: true764 returns the expected value765 ab_feature_enabled?: false, gitlab_com?: true, user?: false, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: false, can_admin_group?: false766 returns the expected value767 ab_feature_enabled?: false, gitlab_com?: true, user?: false, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: true, can_admin_group?: true768 returns the expected value769 ab_feature_enabled?: false, gitlab_com?: true, user?: false, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: true, can_admin_group?: false770 returns the expected value771 ab_feature_enabled?: false, gitlab_com?: true, user?: false, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: false, can_admin_group?: true772 returns the expected value773 ab_feature_enabled?: false, gitlab_com?: true, user?: false, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: false, can_admin_group?: false774 returns the expected value775 ab_feature_enabled?: false, gitlab_com?: false, user?: true, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: true, can_admin_group?: true776 returns the expected value777 ab_feature_enabled?: false, gitlab_com?: false, user?: true, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: true, can_admin_group?: false778 returns the expected value779 ab_feature_enabled?: false, gitlab_com?: false, user?: true, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: false, can_admin_group?: true780 returns the expected value781 ab_feature_enabled?: false, gitlab_com?: false, user?: true, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: false, can_admin_group?: false782 returns the expected value783 ab_feature_enabled?: false, gitlab_com?: false, user?: true, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: true, can_admin_group?: true784 returns the expected value785 ab_feature_enabled?: false, gitlab_com?: false, user?: true, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: true, can_admin_group?: false786 returns the expected value787 ab_feature_enabled?: false, gitlab_com?: false, user?: true, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: false, can_admin_group?: true788 returns the expected value789 ab_feature_enabled?: false, gitlab_com?: false, user?: true, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: false, can_admin_group?: false790 returns the expected value791 ab_feature_enabled?: false, gitlab_com?: false, user?: true, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: true, can_admin_group?: true792 returns the expected value793 ab_feature_enabled?: false, gitlab_com?: false, user?: true, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: true, can_admin_group?: false794 returns the expected value795 ab_feature_enabled?: false, gitlab_com?: false, user?: true, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: false, can_admin_group?: true796 returns the expected value797 ab_feature_enabled?: false, gitlab_com?: false, user?: true, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: false, can_admin_group?: false798 returns the expected value799 ab_feature_enabled?: false, gitlab_com?: false, user?: true, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: true, can_admin_group?: true800 returns the expected value801 ab_feature_enabled?: false, gitlab_com?: false, user?: true, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: true, can_admin_group?: false802 returns the expected value803 ab_feature_enabled?: false, gitlab_com?: false, user?: true, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: false, can_admin_group?: true804 returns the expected value805 ab_feature_enabled?: false, gitlab_com?: false, user?: true, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: false, can_admin_group?: false806 returns the expected value807 ab_feature_enabled?: false, gitlab_com?: false, user?: false, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: true, can_admin_group?: true808 returns the expected value809 ab_feature_enabled?: false, gitlab_com?: false, user?: false, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: true, can_admin_group?: false810 returns the expected value811 ab_feature_enabled?: false, gitlab_com?: false, user?: false, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: false, can_admin_group?: true812 returns the expected value813 ab_feature_enabled?: false, gitlab_com?: false, user?: false, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: false, can_admin_group?: false814 returns the expected value815 ab_feature_enabled?: false, gitlab_com?: false, user?: false, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: true, can_admin_group?: true816 returns the expected value817 ab_feature_enabled?: false, gitlab_com?: false, user?: false, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: true, can_admin_group?: false818 returns the expected value819 ab_feature_enabled?: false, gitlab_com?: false, user?: false, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: false, can_admin_group?: true820 returns the expected value821 ab_feature_enabled?: false, gitlab_com?: false, user?: false, created_at: 2010-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: false, can_admin_group?: false822 returns the expected value823 ab_feature_enabled?: false, gitlab_com?: false, user?: false, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: true, can_admin_group?: true824 returns the expected value825 ab_feature_enabled?: false, gitlab_com?: false, user?: false, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: true, can_admin_group?: false826 returns the expected value827 ab_feature_enabled?: false, gitlab_com?: false, user?: false, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: false, can_admin_group?: true828 returns the expected value829 ab_feature_enabled?: false, gitlab_com?: false, user?: false, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: true, security_dashboard_feature_available?: false, can_admin_group?: false830 returns the expected value831 ab_feature_enabled?: false, gitlab_com?: false, user?: false, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: true, can_admin_group?: true832 returns the expected value833 ab_feature_enabled?: false, gitlab_com?: false, user?: false, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: true, can_admin_group?: false834 returns the expected value835 ab_feature_enabled?: false, gitlab_com?: false, user?: false, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: false, can_admin_group?: true836 returns the expected value837 ab_feature_enabled?: false, gitlab_com?: false, user?: false, created_at: 2030-01-20 00:00:00 +0000, discover_security_feature_enabled?: false, security_dashboard_feature_available?: false, can_admin_group?: false838 returns the expected value839 #show_group_activity_analytics?840 when feature is not available for group841 returns false842 when current user does not have access to the group843 returns false844 when feature is available and user has access to it845 returns true846 #show_usage_quotas_in_sidebar?847 usage_quotas_feature_available?: true, expected: true848 is expected to eq true849 usage_quotas_feature_available?: false, expected: false850 is expected to eq false851 #show_billing_in_sidebar?852 should_check_namespace_plan_return_value: true, expected: true853 is expected to eq true854 should_check_namespace_plan_return_value: false, expected: false855 is expected to eq false856 #show_administration_nav?857 when user does not have admin_group permissions858 returns false859 when user has admin_group permissions860 returns true861 returns false for a subgroup862 when `group_administration_nav_item` feature flag is enabled for another group863 returns false864 #administration_nav_path865 when SAML providers feature is available866 returns path to SAML providers867 when SAML providers feature is not available868 and usage quotas feature is available869 returns path to usage quotas870 and usage quotas feature is not available871 and billing feature is available872 returns path to billing873VulnerabilityFeedback::CreateService#execute874 when params are valid875 when user is not authorized876 raise error if permission is denied877 when feedback_type is dismissal878 creates the feedback with the given params879 when feedback params has a comment880 sets the comment attributes881 when feedback params does not have a comment882 does not set comment attributes883 when feedback_type is issue884 creates the feedback with the given params885 updates the feedback when it already exists886 creates a new issue when feedback already exists and issue has been deleted887 delegates the Issue creation to CreateFromVulnerabilityDataService888 id of vulnerability is provided in vulnerability_data params889 when id is missing890 does not create new Vulnerabilities::IssueLink891 creates the feedback892 when id is invalid893 raises Gitlab::Access::AccessDeniedError894 when id belongs to other project895 raises Gitlab::Access::AccessDeniedError896 when id is valid897 delegates issue link creation to VulnerabilityIssueLinks::CreateService898 delegates work to VulnerabilityIssueLinks::CreateService899 issue link has correctly set vulnerability and link type900 creates the feedback901 when issue link is already created902 when feedback does not exist903 does not create new issue link904 does not create new issue905 does not create a feedback906 when feedback already exists907 does not create new issue link908 does not create new issue909 returns the feedback910 when feedback_type is merge_request911DEPRECATION WARNING: ActionView::Base instances should be constructed with a lookup context, assignments, and a controller. (called from new at /builds/gitlab-org/gitlab/ee/app/services/merge_requests/create_from_vulnerability_data_service.rb:88)912DEPRECATION WARNING: render file: should be given the absolute path to a file (called from render_template at /builds/gitlab-org/gitlab/ee/app/services/merge_requests/create_from_vulnerability_data_service.rb:89)913DEPRECATION WARNING: ActionView::Base instances must implement `compiled_method_container` or use the class method `with_empty_template_cache` for constructing an ActionView::Base instance that has an empty cache. (called from render_template at /builds/gitlab-org/gitlab/ee/app/services/merge_requests/create_from_vulnerability_data_service.rb:89)914DEPRECATION WARNING: ActionView::Base instances should be constructed with a lookup context, assignments, and a controller. (called from new at /builds/gitlab-org/gitlab/ee/app/services/merge_requests/create_from_vulnerability_data_service.rb:88)915DEPRECATION WARNING: render file: should be given the absolute path to a file (called from render_template at /builds/gitlab-org/gitlab/ee/app/services/merge_requests/create_from_vulnerability_data_service.rb:89)916DEPRECATION WARNING: ActionView::Base instances must implement `compiled_method_container` or use the class method `with_empty_template_cache` for constructing an ActionView::Base instance that has an empty cache. (called from render_template at /builds/gitlab-org/gitlab/ee/app/services/merge_requests/create_from_vulnerability_data_service.rb:89)917 creates the feedback with the given params918DEPRECATION WARNING: ActionView::Base instances should be constructed with a lookup context, assignments, and a controller. (called from new at /builds/gitlab-org/gitlab/ee/app/services/merge_requests/create_from_vulnerability_data_service.rb:88)919DEPRECATION WARNING: render file: should be given the absolute path to a file (called from render_template at /builds/gitlab-org/gitlab/ee/app/services/merge_requests/create_from_vulnerability_data_service.rb:89)920DEPRECATION WARNING: ActionView::Base instances should be constructed with a lookup context, assignments, and a controller. (called from new at /builds/gitlab-org/gitlab/ee/app/services/merge_requests/create_from_vulnerability_data_service.rb:88)921DEPRECATION WARNING: render file: should be given the absolute path to a file (called from render_template at /builds/gitlab-org/gitlab/ee/app/services/merge_requests/create_from_vulnerability_data_service.rb:89)922 delegates the MergeRequest creation to CreateFromVulnerabilityDataService923DEPRECATION WARNING: ActionView::Base instances should be constructed with a lookup context, assignments, and a controller. (called from new at /builds/gitlab-org/gitlab/ee/app/services/merge_requests/create_from_vulnerability_data_service.rb:88)924DEPRECATION WARNING: render file: should be given the absolute path to a file (called from render_template at /builds/gitlab-org/gitlab/ee/app/services/merge_requests/create_from_vulnerability_data_service.rb:89)925DEPRECATION WARNING: ActionView::Base instances should be constructed with a lookup context, assignments, and a controller. (called from new at /builds/gitlab-org/gitlab/ee/app/services/merge_requests/create_from_vulnerability_data_service.rb:88)926DEPRECATION WARNING: render file: should be given the absolute path to a file (called from render_template at /builds/gitlab-org/gitlab/ee/app/services/merge_requests/create_from_vulnerability_data_service.rb:89)927 destroys merge_request and branch if feedback fails to persist928 when feedback exists929 returns error when params are invalid930 when params are invalid931 when vulnerability_data params is missing and feedback_type is issue932 returns error with correct message933 when feedback_type is invalid934 returns error with correct message935 when category is invalid936 returns error with correct message937User938 user creation939 with defaults940 applies defaults to user941 delegations942 is expected to delegate #shared_runners_minutes_limit to the #namespace object943 is expected to delegate #shared_runners_minutes_limit= to the #namespace object passing arguments [133]944 associations945 is expected to have many vulnerability_feedback946 is expected to have many path_locks dependent => destroy947 is expected to have many users_security_dashboard_projects948 is expected to have many security_dashboard_projects949 is expected to have many board_preferences950 nested attributes951 is expected to respond to #namespace_attributes=952 validations953 does not allow a user to be both an auditor and an admin954 scopes955 .non_ldap956 retuns non-ldap user957 .excluding_guests958 exclude users with a Guest role in a Project/Group959 with_invalid_expires_at_tokens960 only includes users with invalid tokens961 .managed_by962 returns users managed by the specified group963 .find_by_smartcard_identity964 returns the user965 the GitLab_Auditor_User add-on966 creating an auditor user967 does not allow creating an auditor user if the addon isn't enabled968 does not allow creating an auditor user if no license is present969 allows creating an auditor user if the addon is enabled970 allows creating a regular user if the addon isn't enabled971 #auditor?972 returns true for an auditor user if the addon is enabled973 returns false for an auditor user if the addon is not enabled974 returns false for an auditor user if a license is not present975 returns false for a non-auditor user even if the addon is present976 #access_level=977 does not set 'auditor' for an invalid access level978 does not set 'auditor' for admin level979 assigns the 'auditor' access level980 assigns the 'auditor' access level981 clears the 'admin' access level when a user is made an auditor982 clears the 'auditor' access level when a user is made an admin983 doesn't clear existing 'auditor' access levels when an invalid access level is passed in984 #can_read_all_resources?985 returns true for auditor user986 #forget_me!987 clears remember_created_at988 does not clear remember_created_at when in a GitLab read-only instance989 #remember_me!990 updates remember_created_at991 does not update remember_created_at when in a Geo read-only instance992 #email_opted_in_source993 for GitLab.com994 returns GitLab.com995 for nil source id996 returns blank997 for non-existent source id998 returns blank999 #available_custom_project_templates1000 returns an empty relation if group is not set1001 when group with custom project templates is set1002 returns an empty relation if group has no available project templates1003 when group has custom project templates1004 returns public projects1005 returns internal projects1006 allows to search available project templates by name1007 filters by project ID1008 does not return inaccessible projects1009 returns private projects if user1010 is a member of the project1011 is a member of the group1012 #available_subgroups_with_custom_project_templates1013 without Groups with custom project templates1014 returns an empty collection1015 with Groups with custom project templates1016 when the access level of the user is below the required one1017 returns an empty collection1018 when the access level of the user is the correct1019 when a Group ID is passed1020 returns a single Group1021 when a Group ID is not passed1022 returns all available Groups1023 excludes Groups with the configured setting but without projects1024 when namespace plan is checked1025 returns groups on gold or silver plans1026 #roadmap_layout1027 not set1028 returns default value1029 set1030 returns set value1031 #group_sso?1032 is false without a saml_provider1033 with linked identity1034 without preloading1035 returns true1036 does not cause ActiveRecord to loop through identites1037 when identities and saml_providers pre-loaded1038 returns true1039 does not trigger additional database queries1040 .limit_to_saml_provider1041 returns all users when SAML provider is nil1042 returns only the users who have an identity that belongs to the given SAML provider1043 #group_managed_account?1044 when user has managing group linked1045 is expected to eq true1046 when user has no linked managing group1047 is expected to eq false1048 #managed_by?1049 when a normal user account1050 returns false1051 when a group managed account1052 returns true with group managed account owner1053 returns false with a regular user account1054 #password_required?1055 when user has managing group linked1056 does not require password to be present1057 #allow_password_authentication_for_web?1058 when user has managing group linked1059 is false1060 #allow_password_authentication_for_git?1061 when user has managing group linked1062 is false1063 #using_license_seat?1064 when user is inactive1065 returns false1066 when user is active1067 when user is internal1068 internal_user_type: "support_bot"1069 when user has internal user type1070 returns false1071 internal_user_type: "alert_bot"1072 when user has internal user type1073 returns false1074 internal_user_type: "visual_review_bot"1075 when user has internal user type1076 returns false1077 internal_user_type: "ghost"1078 when user has internal user type1079 returns false1080 internal_user_type: "migration_bot"1081 when user has internal user type1082 returns false1083 when user is not internal1084 when license is nil (core/free/default)1085 returns false if license is nil (core/free/default)1086 user is guest1087 returns false if license is ultimate1088 returns true if license is not ultimate and not nil1089 user is admin without projects1090 returns false if license is ultimate1091 returns true if license is not ultimate and not nil1092 #using_gitlab_com_seat?1093 when Gitlab.com? is false1094 is expected to be falsey1095 when user is not active1096 is expected to be falsey1097 when Gitlab.com? is true1098 when namespace is nil1099 is expected to be falsey1100 when namespace is on a free plan1101 is expected to be falsey1102 when namespace is on a gold plan1103 user is a guest1104 is expected to be falsey1105 user is not a guest1106 is expected to be truthy1107 when user is within project1108 is expected to be truthy1109 when user is within subgroup1110 is expected to be truthy1111 when namespace is on a plan that is not free or gold1112 user is a guest1113 is expected to be truthy1114 user is not a guest1115 is expected to be truthy1116 .username_suggestion1117 namespace with input name does not exist1118 returns the parameterized name1119 namespace with input name exists1120 returns the parameterized name with a suffix1121 namespace with input name and suffix exists1122 loops through parameterized name with suffixes, until it finds one that does not exist1123 when max attempts for suggestion is exceeded1124 returns an empty response1125 #ab_feature_enabled?1126 when not on Gitlab.com1127 returns false1128 when on Gitlab.com1129 when on a secondary Geo1130 returns false1131 when not on a secondary Geo1132 for any feature except discover_security1133 raises runtime error1134 when discover_security feature flag is disabled1135 returns false1136 when discover_security feature flag is enabled1137 returns false when in control group1138 returns true for experiment group1139 assigns to control or experiment group when feature_filter_type is nil1140 assigns to control or experiment group when feature_filter_type is zero1141 returns false for zero percentage1142 returns false when no percentage is provided1143 returns true when 100% control percentage is provided1144 returns false if flipper returns nil for non-existing feature1145 #managed_free_namespaces1146 user with no groups1147 is expected to eq []1148 owner of a licensed group1149 is expected not to include #<Group id:1050 @group251>1150 guest of a free group1151 is expected not to include #<Group id:1054 @a>1152 developer of a free group1153 is expected not to include #<Group id:1054 @a>1154 maintainer of a free group1155 is expected to include #<Group id:1054 @a>1156 owner of 2 free groups1157 is expected to eq [#<Group id:1054 @a>, #<Group id:1052 @z>]1158 #active_for_authentication?1159 based on user type1160 user_type: "service_user", expected_result: true1161 is expected to equal true1162 user_type: "support_bot", expected_result: false1163 is expected to equal false1164 user_type: "visual_review_bot", expected_result: false1165 is expected to equal false1166 paid namespaces1167 #has_paid_namespace?1168 when the user has Reporter or higher on at least one paid group1169 returns true1170 when the user is only a Guest on paid groups1171 returns false1172 when the user is not a member of any groups with plans1173 returns false1174 #owns_paid_namespace?1175 when the user is an owner of at least one paid group1176 returns true1177 when the user is only a Maintainer on paid groups1178 returns false1179 when the user is not a member of any groups with plans1180 returns false1181 #gitlab_employee?1182 based on group membership1183 when user belongs to gitlab-com group1184 is_com: true, expected_result: true1185 is expected to equal true1186 is_com: false, expected_result: false1187 is expected to equal false1188 when user does not belongs to gitlab-com group1189 is_com: true, expected_result: false1190 is expected to equal false1191 is_com: false, expected_result: false1192 is expected to equal false1193 based on user type1194 when user is a bot1195 is expected to equal false1196 when user is ghost1197 is expected to equal false1198 when `:gitlab_employee_badge` feature flag is disabled1199 is expected to equal false1200 #security_dashboard1201 returns an instance of InstanceSecurityDashboard for the user1202 #owns_upgradeable_namespace?1203 returns false when there is no subscription for the personal namespace1204 returns false when the user has multiple groups and any group has gold1205 hosted_plan: :bronze_plan, result: true1206 returns the correct result for each plan on a personal namespace1207 returns the correct result for each plan on a group owned by the user1208 hosted_plan: :silver_plan, result: true1209 returns the correct result for each plan on a personal namespace1210 returns the correct result for each plan on a group owned by the user1211 hosted_plan: :gold_plan, result: false1212 returns the correct result for each plan on a personal namespace1213 returns the correct result for each plan on a group owned by the user1214 hosted_plan: :free_plan, result: false1215 returns the correct result for each plan on a personal namespace1216 returns the correct result for each plan on a group owned by the user1217 hosted_plan: :default_plan, result: false1218 returns the correct result for each plan on a personal namespace1219 returns the correct result for each plan on a group owned by the user1220layouts/nav/sidebar/_project1221 issue boards1222 has boards tab1223 Operations main link1224 when ci/cd is disabled1225 links to feature flags page1226 when ci/cd is enabled1227 links to metrics page1228 Operations > Tracing1229 is not visible when no valid license1230 is not visible to unauthorized user1231 links to Tracing page1232 without project.tracing_external_url1233 links to Tracing page1234 Operations > Pod logs1235 when the user can read environments and logs1236 link is visible1237 when the user cannot read environment or logs1238 link is not visible1239 when the user can read environment but not logs1240 link is not visible1241 Security and Compliance1242 when the user has full permissions1243 top level navigation link is visible1244 security dashboard link is visible1245 security configuration link is visible1246 dependency list link is visible1247 when the user can view only security dashboard1248 top level navigation link is visible1249 security dashboard link is visible1250 security configuration link is visible1251 dependency list link is not visible1252 when the user can view only dependency list1253 top level navigation link is visible1254 security dashboard link is not visible1255 security configuration link is not visible1256 dependency list link is visible1257 when the user has no permissions1258 top level navigation link is visible1259 security dashboard link is not visible1260 security configuration link is not visible1261 dependency list link is not visible1262 Packages1263 when packages is enabled1264 packages link is visible1265 packages list link is visible1266 container registry link is visible1267 when packages are disabled1268 packages list link is not visible1269 top level packages link links to container registry1270 packages top level and container registry links are visible1271 when container registry is disabled1272 packages top level and list link are visible1273 container registry link is not visible1274 when both packages and container registry are disabled1275 packages top level item is not visible1276 Settings > Operations1277 is not visible when no valid license1278 is not visible to unauthorized user1279 links to settings page1280Gitlab::Analytics::CycleAnalytics::Summary::Group::StageSummary1281 #new_issues1282 with from date1283 finds the number of issues created after it1284 returns the localized title1285 with subgroups1286 finds issues from them1287 with projects specified in options1288 finds issues from those projects1289 with `assignee_username` filter1290 finds issues from those projects1291 with `author_username` filter1292 finds issues from those projects1293 when `from` and `to` parameters are provided1294 finds issues from 5 days ago1295 with other projects1296 doesn't find issues from them1297 #deploys1298 with from date1299 finds the number of deploys made created after it1300 returns the localized title1301 with subgroups1302 finds deploys from them1303 with projects specified in options1304 shows deploys from those projects1305 when `from` and `to` parameters are provided1306 finds deployments from 5 days ago1307 with other projects1308 doesn't find deploys from them1309 #deployment_frequency1310 includes the unit: `per day`1311 when `to` is nil1312 includes range until now1313 when `to` is given1314 returns deployment frequency within `from` and `to` range1315Repository1316 searches blobs and commits1317 can filter blobs1318 filters commits from blobs, and vice-versa1319 class method find_commits_by_message_with_elastic1320 returns commits1321 with a deleted project1322 skips its commits1323 with a project pending deletion1324 skips its commits1325 find_commits_by_message_with_elastic1326 returns commits1327Gitlab::Analytics::TypeOfWork::TasksByType1328 when subject is `Issue`1329 behaves like #counts_by_labels1330 counts the records by label and date1331 counts should include subgroups1332 does not include count from outside of the group1333 when group without any record is given1334 is expected to be empty1335 when no labels are given1336 is expected to be empty1337 when records are outside of the given time range1338 is expected to be empty1339 when filtering by `project_ids`1340 is expected to eq 11341 behaves like #top_labels1342 sorts by descending order1343 limits the the size of the results1344 when subject is `MergeRequest`1345 behaves like #counts_by_labels1346 counts the records by label and date1347 counts should include subgroups1348 does not include count from outside of the group1349 when group without any record is given1350 is expected to be empty1351 when no labels are given1352 is expected to be empty1353 when records are outside of the given time range1354 is expected to be empty1355 when filtering by `project_ids`1356 is expected to eq 11357 behaves like #top_labels1358 sorts by descending order1359 limits the the size of the results1360 when unknown `subject` is given1361 falls back to `MergeRequestFinder`1362Issues::CreateService1363 #execute1364 when current user cannot admin issues in the project1365 filters out params that cannot be set without the :admin_issue permission1366 when current user can admin issues in the project1367 sets permitted params correctly1368 when epics are enabled1369 behaves like issue with epic_id parameter1370 when epic_id does not exist1371 raises an exception1372 when user can not add issues to the epic1373 raises an exception1374 when user can add issues to the epic1375 when a project is a direct child of the epic group1376 creates epic issue link1377 when a project is from a subgroup of the epic group1378 creates epic issue link1379 when using quick actions1380 /epic action1381 adds an issue to the passed epic1382 with epic and milestone in commands only1383 sets epic and milestone to issuable and update epic start and due date1384 when adding a public issue to confidential epic1385 creates confidential child issue1386 when adding a confidential issue to public epic1387 creates a confidential child issue1388 behaves like new issuable with scoped labels1389 when scoped labels are available1390 when using label_ids parameter1391 adds only last selected exclusive scoped label1392 when using labels parameter1393 adds only last selected exclusive scoped label1394 when scoped labels are not available1395 adds all scoped labels1396Project1397 finds projects1398 finds partial matches in project names1399 returns json with all needed elements1400 when limited indexing is on1401 when the project is not enabled specifically1402 #searchable?1403 returns false1404 #use_elasticsearch?1405 returns false1406 when a project is enabled specifically1407 only indexes enabled projects1408 #searchable?1409 returns true1410 #use_elasticsearch?1411 returns true1412 when a group is enabled1413 indexes only projects under the group1414 #searchable?1415 returns true1416 when projects and snippets co-exist1417 when searching with a wildcard1418 only returns projects1419Ci::Pipeline1420 is expected to have many security_scans class_name => Security::Scan through builds1421 is expected to have many downstream_bridges1422 is expected to have many vulnerability_findings class_name => Vulnerabilities::Occurrence through vulnerabilities_occurrence_pipelines1423 is expected to have many vulnerabilities_occurrence_pipelines class_name => Vulnerabilities::OccurrencePipeline1424 .failure_reasons1425 contains failure reasons about exceeded limits1426 .ci_sources1427 contains pipelines having CI only config sources1428 #with_vulnerabilities scope1429 returns pipeline with vulnerabilities1430 #batch_lookup_report_artifact_for_file_type1431 with security report artifact1432 returns right kind of artifacts1433 when looking for other type of artifact1434 returns nothing1435 with license compliance artifact1436 when looking for license_scanning1437 returns artifact1438 when looking for license_management1439 returns artifact1440 when looking for license_scanning1441 returns artifact1442 when looking for license_management1443 returns artifact1444 #expose_license_scanning_data?1445 is expected to be truthy1446 is expected to be truthy1447 #security_reports1448 when pipeline has multiple builds with security reports1449 assigns pipeline commit_sha to the reports1450 returns security reports with collected data grouped as expected1451 when builds are retried1452 does not take retried builds into account1453 when pipeline does not have any builds with security reports1454 returns empty security reports1455 Store security reports worker1456 state: :success, transition: :succeed1457 when pipeline has security reports and ref is the default branch of project1458 when transitioning to success1459 schedules store security report worker1460 when pipeline does NOT have security reports1461 when transitioning to success1462 does NOT schedule store security report worker1463 when pipeline ref is not the project's default branch1464 when transitioning to success1465 does NOT schedule store security report worker1466 state: :failed, transition: :drop1467 when pipeline has security reports and ref is the default branch of project1468 when transitioning to failed1469 schedules store security report worker1470 when pipeline does NOT have security reports1471 when transitioning to failed1472 does NOT schedule store security report worker1473 when pipeline ref is not the project's default branch1474 when transitioning to failed1475 does NOT schedule store security report worker1476 state: :skipped, transition: :skip1477 when pipeline has security reports and ref is the default branch of project1478 when transitioning to skipped1479 schedules store security report worker1480 when pipeline does NOT have security reports1481 when transitioning to skipped1482 does NOT schedule store security report worker1483 when pipeline ref is not the project's default branch1484 when transitioning to skipped1485 does NOT schedule store security report worker1486 state: :cancelled, transition: :cancel1487 when pipeline has security reports and ref is the default branch of project1488 when transitioning to cancelled1489 schedules store security report worker1490 when pipeline does NOT have security reports1491 when transitioning to cancelled1492 does NOT schedule store security report worker1493 when pipeline ref is not the project's default branch1494 when transitioning to cancelled1495 does NOT schedule store security report worker1496 #license_scanning_reports1497 when pipeline has multiple builds with license scanning reports1498 returns a license scanning report with collected data1499 when builds are retried1500 does not take retried builds into account1501 when pipeline does not have any builds with license scanning reports1502 returns an empty license scanning report1503 #dependency_list_reports1504 when pipeline has a build with dependency list reports1505 returns a dependency list report with collected data1506 when builds are retried1507 does not take retried builds into account1508 when pipeline does not have any builds with dependency_list reports1509 returns an empty dependency_list report1510 #metrics_report1511 when pipeline has multiple builds with metrics reports1512 returns a metrics report with collected data1513 when pipeline has multiple builds with metrics reports that are retried1514 does not take retried builds into account1515 when pipeline does not have any builds with metrics reports1516 returns an empty metrics report1517 state machine transitions1518 when pipeline has downstream bridges1519 when transitioning to success1520 schedules the pipeline bridge worker1521 when transitioning to blocked1522 schedules the pipeline bridge worker1523 when pipeline is web terminal triggered1524 does not schedule the pipeline cache worker1525 when pipeline project has downstream subscriptions1526 when pipeline runs on a tag1527 when feature is not available1528 does not schedule the trigger downstream subscriptions worker1529 when feature is available1530 schedules the trigger downstream subscriptions worker1531 #latest_merge_request_pipeline?1532 is expected to be truthy1533 when pipeline is not merge request pipeline1534 is expected to be falsy1535 when source sha is outdated1536 is expected to be falsy1537 when target sha is outdated1538 is expected to be falsy1539 #retryable?1540 with pipeline for merged results1541 is expected to equal true1542 with pipeline for merge train1543 is expected to equal false1544 #merge_train_pipeline?1545 is expected to be truthy1546 when ref is merge ref1547 is expected to be falsy1548 #merge_request_event_type1549 when pipeline is merge train pipeline1550 is expected to eq :merge_train1551 when pipeline is merge request pipeline1552 is expected to eq :merged_result1553 when pipeline is detached merge request pipeline1554 is expected to eq :detached1555ApprovalProjectRule1556 validations1557 is invalid when name not unique within rule type and project1558 .regular1559 returns non-report_approver records1560 .regular_or_any_approver scope1561 returns regular or any-approver rules1562 .code_owner scope1563 returns nothing1564 #regular?1565 returns true for regular rules1566 returns false for report_approver rules1567 #code_owner?1568 returns false1569 #report_approver?1570 returns false for regular rules1571 returns true for report_approver rules1572 #rule_type1573 returns the regular type for regular rules1574 returns the report_approver type for security report approvers rules1575 #apply_report_approver_rules_to1576 when the project rule is for a `License-Check`1577 is expected to contain exactly #<ApprovalMergeRequestRule id: 2, created_at: "2020-06-17 17:11:02", updated_at: "2020-06-17 17:11:02... name: "License-Check", rule_type: "report_approver", report_type: "license_scanning", section: nil>1578 is expected to contain exactly #<User id:1158 @user1192>1579 is expected to contain exactly #<Group id:1490 @group296>1580 when the project rule is for a `Vulnerability-Check`1581 is expected to contain exactly #<ApprovalMergeRequestRule id: 5, created_at: "2020-06-17 17:11:04", updated_at: "2020-06-17 17:11:04...e, name: "Vulnerability-Check", rule_type: "report_approver", report_type: "security", section: nil>1582 is expected to contain exactly #<User id:1164 @user1198>1583 is expected to contain exactly #<Group id:1499 @group299>1584 validation1585 when creating a new rule1586 is expected to be valid1587 is expected to be valid1588 is expected to be valid1589 when attempting to edit the name of the rule1590 is expected to be valid1591 with a `License-Check` rule1592 is expected not to be valid1593 is expected to change `subject.errors[:name].present?`1594 with a `Vulnerability-Check` rule1595 is expected to be valid1596 any_approver rules1597 creating only one any_approver rule is allowed1598 .applicable_to_branch1599 when there are no associated protected branches1600 is expected to eq [#<ApprovalProjectRule id: 29, created_at: "2020-06-17 17:11:07", updated_at: "2020-06-17 17:11:07", project_id: 449, approvals_required: 0, name: "Default-16", rule_type: "regular">]1601 when there are associated protected branches1602 and branch matches1603 is expected to eq [#<ApprovalProjectRule id: 30, created_at: "2020-06-17 17:11:07", updated_at: "2020-06-17 17:11:07", project_id: 450, approvals_required: 0, name: "Default-17", rule_type: "regular">]1604 but branch does not match anything1605 is expected to be empty1606 .inapplicable_to_branch1607 when there are no associated protected branches1608 is expected to be empty1609 when there are associated protected branches1610 and branch does not match anything1611 is expected to eq [#<ApprovalProjectRule id: 33, created_at: "2020-06-17 17:11:08", updated_at: "2020-06-17 17:11:08", project_id: 455, approvals_required: 0, name: "Default-20", rule_type: "regular">]1612 but branch matches1613 is expected to be empty1614Gitlab::Checks::DiffCheck1615 #validate!1616 no push rules active1617 does not attempt to check commits1618 #validate_code_owners1619 the MR contains a renamed file matching a file path1620 returns an error message1621 the MR contains a matching file path1622 behaves like returns codeowners validation message1623 returns an error message1624 the MR doesn't contain a matching file path1625 returns nil1626 #path_validations1627 when the feature isn't enabled on the project1628 returns an empty array1629 when the feature is enabled on the project1630 updated_from_web? == false1631 returns an array of Proc(s)1632 updated_from_web? == true1633 when skip_web_ui_code_owner_validations is disabled1634 returns an array of Proc(s)1635 when skip_web_ui_code_owner_validations is enabled1636 returns an empty array1637 file name rules1638 file name regex check1639 returns an error if a new or renamed filed doesn't match the file name regex1640 returns an error if the regex is invalid1641 behaves like check ignored when push rule unlicensed1642 is expected to be truthy1643 blacklisted files check1644 returns true if there is no blacklisted files1645 returns an error if a new or renamed filed doesn't match the file name regex1646 behaves like check ignored when push rule unlicensed1647 is expected to be truthy1648 file lock rules1649 memoizes the validate_path_locks? call1650 when file has changes1651 behaves like a locked file1652 and path is locked by another user1653 returns an error1654 and path is locked by current user1655 is allows changes1656 when file is renamed1657 behaves like a locked file1658 and path is locked by another user1659 returns an error1660 and path is locked by current user1661 is allows changes1662 when file is deleted1663 behaves like a locked file1664 and path is locked by another user1665 returns an error1666 and path is locked by current user1667 is allows changes1668 when the branch is being deleted1669 does not run1670 when there is no valid change1671 does not run1672Ci::CompareSastReportsService1673 #execute1674 when head pipeline has sast reports1675 reports new vulnerabilities1676 when base and head pipelines have sast reports1677 reports status as parsed1678 populates fields based on current_user1679 reports new vulnerability1680 reports existing sast vulnerabilities1681 reports fixed sast vulnerabilities1682 #build_comparer1683 when the head_pipeline is nil1684 is expected not to raise Exception1685 is expected to be empty1686Repository1687 delegated methods1688 is expected to delegate #checksum to the #raw_repository object1689 is expected to delegate #find_remote_root_ref to the #raw_repository object1690 is expected to delegate #pull_mirror_branch_prefix to the #project object1691 #after_sync1692 expires repository cache1693 does not call expire_branch_cache if repository does not exist1694 #with_config1695 sets config only during the block1696 Elastic search1697 class method find_commits_by_message_with_elastic1698 returns commits1699 find_commits_by_message_with_elastic1700 returns commits1701 #upstream_branches1702 returns branches from the upstream remote1703 #keep_around1704 on a Geo primary1705 when a single SHA is passed1706 creates a RepositoryUpdatedEvent1707 when multiple SHAs are passed1708 creates exactly one RepositoryUpdatedEvent1709 on a Geo secondary1710 does not create a RepositoryUpdatedEvent1711 #code_owners_blob1712 returns nil if there is no codeowners file1713 returns the content of the codeowners file when it is found1714 requests the CODOWNER blobs in batch in the correct order1715 #after_change_head1716 creates a RepositoryUpdatedEvent on a Geo primary1717 does not create a RepositoryUpdatedEvent on a Geo secondary1718 #insights_config_for1719 returns nil for an empty repository1720 returns a valid Insights config file1721 when no config file exists1722 returns nil if does not exist1723 #upstream_branch_name1724 is expected to eq "master"1725 when the branch is local (not mirrored)1726 is expected to be nil1727 when pull_mirror_branch_prefix is nil1728 is expected to eq "upstream/master"1729 when pull_mirror_branch_prefix is empty1730 is expected to eq "upstream/master"1731 when pull_mirror_branch_prefix feature flag is disabled1732 is expected to eq "upstream/master"1733 when the branch is local (not mirrored)1734 is expected to eq "a-local-branch"1735 when pull_mirror_branch_prefix is nil1736 is expected to eq "upstream/master"1737 when pull_mirror_branch_prefix is empty1738 is expected to eq "upstream/master"1739MergeTrains::RefreshMergeRequestService1740 #execute1741 when merge pipelines project configuration is disabled1742 behaves like drops the merge request from the merge train1743 is expected to receive abort(#<MergeRequest id:67 namespace423/project484!1>, "project disabled merge trains", hash_including(:process_next=>false)) 1 time1744 when merge request is not under a mergeable state1745 behaves like drops the merge request from the merge train1746 is expected to receive abort(#<MergeRequest id:68 namespace423/project484!1>, "merge request is not mergeable", hash_including(:process_next=>false)) 1 time1747 when pipeline for merge train failed1748 behaves like drops the merge request from the merge train1749 is expected to receive abort(#<MergeRequest id:69 namespace423/project484!1>, "pipeline did not succeed", hash_including(:process_next=>false)) 1 time1750 when merge request is to be squashed1751 behaves like creates a pipeline for merge train1752 is expected to be fresh1753 when previous ref is not found1754 behaves like drops the merge request from the merge train1755 is expected to receive abort(#<MergeRequest id:71 namespace423/project484!1>, "previous ref does not exist", hash_including(:process_next=>false)) 1 time1756 when pipeline has not been created yet1757 when the merge request is the first queue1758 behaves like creates a pipeline for merge train1759 is expected to be fresh1760 when it failed to create a pipeline1761 behaves like drops the merge request from the merge train1762 is expected to receive abort(#<MergeRequest id:73 namespace423/project484!1>, "failed to create pipeline", hash_including(:process_next=>false)) 1 time1763 when pipeline for merge train is running1764 when the pipeline is not stale1765 behaves like does not create a pipeline1766 is expected to be falsy1767 when the pipeline is stale1768 behaves like cancels and recreates a pipeline for the merge train1769 cancels and recreates a pipeline for the merge train1770 when the pipeline is required to be recreated1771 behaves like cancels and recreates a pipeline for the merge train1772 cancels and recreates a pipeline for the merge train1773 when pipeline for merge train succeeded1774 when the merge request is the first queue1775 merges the merge request1776 when it failed to merge the merge request1777 does not finish merge and drops the merge request from train1778 behaves like drops the merge request from the merge train1779 is expected to receive abort(#<MergeRequest id:79 namespace423/project484!1>, "failed to merge. Branch has been updated since the merge was requested.", hash_including(:process_next=>false)) 1 time1780 when the merge request is not the first queue1781 does not merge the merge request1782Vulnerabilities::CreateService1783 with an authorized user with proper permissions1784 creates a vulnerability from finding and attaches it to the vulnerability1785 starts a new transaction for the create sequence1786 and finding is dismissed1787 creates a vulnerability in a dismissed state1788 when finding id is unknown1789 adds expected error to the response1790 when finding does not belong to the vulnerability project1791 adds expected error to the response1792 when a vulnerability already exists for a specific finding1793 rejects creation of a new vulnerability from this finding1794 when security dashboard feature is disabled1795 raises an "access denied" error1796 when user does not have rights to dismiss a vulnerability1797 raises an "access denied" error1798EpicLinks::UpdateService1799 #execute1800 when subepics feature is not available1801 returns an error1802 when subepics feature is available1803 when params are nil1804 does not change order of child epics1805 when moving to start1806 reorders child epics1807 behaves like updating timestamps1808 does not update moved epic1809 does not update parent epic1810 when moving to end1811 reorders child epics1812 behaves like updating timestamps1813 does not update moved epic1814 does not update parent epic1815 when moving between siblings1816 reorders child epics1817 behaves like updating timestamps1818 does not update moved epic1819 does not update parent epic1820 when params are invalid1821 when move_before_id is not a child of parent epic1822 behaves like returns error1823 does not change order of child epics and returns error1824 when move_after_id is not a child of parent epic1825 behaves like returns error1826 does not change order of child epics and returns error1827Gitlab::LegacyGithubImport::ProjectCreator1828 #execute1829 creating a CI/CD only project1830 creates a project1831 calls the service to set up the project1832 creating a regular project1833 creates a project1834 doesn't apply any special setup1835Security::SecurityJobsFinder1836 behaves like Security::JobsFinder1837 #new1838 does not get initialized for unsupported job types1839 #execute1840 when using legacy CI build metadata config storage1841 behaves like JobsFinder core functionality1842 when the pipeline has no jobs1843 is expected to be empty1844 when the pipeline has no Secure jobs1845 is expected to be empty1846 when the pipeline only has jobs without report artifacts1847 is expected to be empty1848 when the pipeline only has jobs with reports unrelated to Secure products1849 is expected to be empty1850 when the pipeline only has jobs with reports with paths similar but not identical to Secure reports1851 is expected to be empty1852 when there is more than one pipeline1853 returns jobs associated with provided pipeline1854 when using the new CI build metadata config storage1855 behaves like JobsFinder core functionality1856 when the pipeline has no jobs1857 is expected to be empty1858 when the pipeline has no Secure jobs1859 is expected to be empty1860 when the pipeline only has jobs without report artifacts1861 is expected to be empty1862 when the pipeline only has jobs with reports unrelated to Secure products1863 is expected to be empty1864 when the pipeline only has jobs with reports with paths similar but not identical to Secure reports1865 is expected to be empty1866 when there is more than one pipeline1867 returns jobs associated with provided pipeline1868 #execute1869 with specific secure job types1870 returns only those requested1871 with combination of security jobs and license management jobs1872 returns only the security jobs1873GitlabSubscription1874 default values1875 is expected to eq Fri, 17 Jul 20201876 validations1877 is expected to validate that :seats cannot be empty/falsy1878 is expected to validate that :start_date cannot be empty/falsy1879 is expected to validate that :namespace_id is case-sensitively unique1880 associations1881 is expected to belong to namespace required:1882 is expected to belong to hosted_plan required:1883 scopes1884 .with_hosted_plan1885 scopes to the plan1886 #seats_in_use1887 returns count of members1888 also counts users from subgroups1889 does not count duplicated members1890 does not count blocked members1891 with guest members1892 with a gold plan1893 excludes these members1894 with other plans1895 excludes these members1896 excludes these members1897 when subscription is for a User1898 always returns 1 seat1899 #seats_owed1900 with a free plan1901 does not update max_seats_used1902 with a trial plan1903 does not update max_seats_used1904 with an early adopter plan1905 does not update max_seats_used1906 with a paid plan1907 calculates the number of owed seats1908 #expired?1909 when end_date is expired1910 is expected to equal true1911 when end_date is not expired1912 is expected to equal false1913 when end_date is nil1914 is expected to equal false1915 #has_a_paid_hosted_plan?1916 plan_name: "bronze", seats: 0, hosted: true, result: false1917 returns true if subscription has a paid hosted plan1918 plan_name: "bronze", seats: 1, hosted: true, result: true1919 returns true if subscription has a paid hosted plan1920 plan_name: "bronze", seats: 1, hosted: false, result: false1921 returns true if subscription has a paid hosted plan1922 plan_name: "silver", seats: 1, hosted: true, result: true1923 returns true if subscription has a paid hosted plan1924 plan_name: "early_adopter", seats: 1, hosted: true, result: false1925 returns true if subscription has a paid hosted plan1926 #upgradable?1927 plan_name: "bronze", paid_hosted_plan: true, expired: false, result: true1928 returns true if subscription is upgradable1929 plan_name: "bronze", paid_hosted_plan: true, expired: true, result: false1930 returns true if subscription is upgradable1931 plan_name: "silver", paid_hosted_plan: true, expired: false, result: true1932 returns true if subscription is upgradable1933 plan_name: "gold", paid_hosted_plan: true, expired: false, result: false1934 returns true if subscription is upgradable1935 callbacks1936 gitlab_subscription columns are contained in gitlab_subscription_history columns1937 gitlab_subscription_history columns have some extra columns over gitlab_subscription1938 before_update1939 logs previous state to gitlab subscription history1940 after_destroy_commit1941 logs previous state to gitlab subscription history1942GroupsWithTemplatesFinder1943 without group id1944 returns all groups1945 when namespace checked1946 returns groups on gold/silver plan1947 with subgroup with template1948 returns groups on gold/silver plan1949 with group id1950 returns given group with it descendants1951 with subgroup with template1952 returns only chosen group1953 when namespace checked1954 does not return the group1955 with subgroup with template1956 returns only chosen group1957 returns only chosen subgroup1958StatusPage::IncidentEntity1959 exposes JSON fields1960 exposes correct data types1961 field #title1962 behaves like reference links for status page1963 with public project1964 with public issue1965 shows link anchor with HTML data attributes1966 with confidential issue1967 redacts link anchor and HTML data attributes1968 with private project1969 with public issue1970 redacts link anchor and HTML data attributes1971 mentions1972 with username1973 anonymizes mention1974 with arbitrary username1975 shows the mention1976 with @all1977 anonymizes mention1978 with groups1979 group_visibility: :public1980 anonymizes mention1981 group_visibility: :internal1982 anonymizes mention1983 group_visibility: :private1984 anonymizes mention1985 field #description1986 behaves like reference links for status page1987 with public project1988 with public issue1989 shows link anchor with HTML data attributes1990 with confidential issue1991 redacts link anchor and HTML data attributes1992 with private project1993 with public issue1994 redacts link anchor and HTML data attributes1995 mentions1996 with username1997 anonymizes mention1998 with arbitrary username1999 shows the mention2000 with @all2001 anonymizes mention2002 with groups2003 group_visibility: :public2004 anonymizes mention2005 group_visibility: :internal2006 anonymizes mention2007 group_visibility: :private2008 anonymizes mention2009 behaves like img upload tags for status page2010 converts to html2011 with user notes2012 exposes comments2013License2014 Validation2015 Valid license2016 when the license is provided2017 is valid2018 when no license is provided2019 is invalid2020 #check_users_limit2021 gl_plan: "starter", valid: false2022 when license has restricted users2023 is expected to eq false2024 when license has unlimited users2025 is always valid2026 gl_plan: "premium", valid: false2027 when license has restricted users2028 is expected to eq false2029 when license has unlimited users2030 is always valid2031 gl_plan: "ultimate", valid: true2032 when license has restricted users2033 is expected to eq true2034 when license has unlimited users2035 is always valid2036 Historical active user count2037 when there is no active user count restriction2038 is valid2039 without historical data2040 with previous_user_count and active users above of license limit2041 is invalid2042 shows the proper error message2043 when the active user count restriction is exceeded2044 when the license started2045 is invalid2046 after the license started2047 is valid2048 in the year before the license started2049 is invalid2050 earlier than a year before the license started2051 is valid2052 when the active user count restriction is not exceeded2053 is valid2054 when the active user count is met exactly2055 is valid2056 with true-up info2057 when quantity is ok2058 is valid2059 but active users exceeds restricted user count2060 is invalid2061 when quantity is wrong2062 is invalid2063 when previous user count is not present2064 uses current active user count to calculate the expected true-up2065 with wrong true-up quantity2066 is invalid2067 when previous user count is present2068 uses it to calculate the expected true-up2069 Not expired2070 when the license doesn't expire2071 is valid2072 when the license has expired2073 is invalid2074 when the license has yet to expire2075 is valid2076 downgrade2077 when more users were added in previous period2078 is invalid without a true-up2079 when no users were added in the previous period2080 is valid2081 Callbacks2082 #reset_future_dated2083 when a license is created2084 deletes the future_dated_license value in Gitlab::SafeRequestStore2085 when a license is destroyed2086 deletes the future_dated_license value in Gitlab::SafeRequestStore2087 Class methods2088 .features_for_plan2089 returns features for starter plan2090 returns features for premium plan2091 returns features for early adopter plan2092 returns empty array if no features for given plan2093 .plan_includes_feature?2094 when addon included2095 returns true2096 when addon not included2097 returns false2098 when plan is not set2099 returns false2100 when feature does not exists2101 returns false2102 .current2103 when licenses table does not exist2104 returns nil2105 when there is no license2106 returns nil2107 when the license is invalid2108 returns nil2109 when the license is valid2110 returns the license2111 .future_dated_only?2112 when licenses table does not exist2113 returns false2114 when there is no license2115 returns false2116 when the license is invalid2117 returns false2118 when the license is valid2119 when there is a current license2120 returns the false2121 when the license is future-dated2122 returns the true2123 .future_dated2124 when licenses table does not exist2125 returns nil2126 when there is no license2127 returns nil2128 when the license is invalid2129 returns false2130 when the license is valid2131 returns the true2132 .block_changes?2133 when there is no current license2134 returns false2135 with an expired trial license2136 returns false2137 with an expired normal license2138 returns true2139 when the current license is set to block changes2140 returns true2141 when the current license doesn't block changes2142 returns false2143 .global_feature?2144 when it is a global feature2145 is expected to equal true2146 when it is not a global feature2147 is expected to equal false2148 #md52149 returns the same MD5 for licenses with carriage returns and those without2150 returns the same MD5 for licenses with trailing newlines and those without2151 returns the same MD5 for licenses with multiple trailing newlines and those with a single trailing newline2152 #license2153 when no data is provided2154 returns nil2155 when corrupt license data is provided2156 returns nil2157 when valid license data is provided2158 returns the license2159 reading add-ons2160 #plan2161 {:restrictions=>{}, :plan=>"starter"}2162 is expected to eq "starter"2163 {:restrictions=>{:plan=>nil}, :plan=>"starter"}2164 is expected to eq "starter"2165 {:restrictions=>{:plan=>""}, :plan=>"starter"}2166 is expected to eq "starter"2167 {:restrictions=>{:plan=>"unknown"}, :plan=>"unknown"}2168 is expected to eq "unknown"2169 #features_from_add_ons2170 without add-ons2171 returns an empty array2172 with add-ons2173 returns all available add-ons2174 with nil add-ons2175 returns an empty array2176 #feature_available?2177 returns true if add-on exists and have a quantity greater than 02178 returns true if the feature is included in the plan do2179 returns false if add-on exists but have a quantity of 02180 returns false if add-on does not exists2181 with an expired trial license2182 returns false for audit_events2183 returns false for burndown_charts2184 returns false for code_owners2185 returns false for code_review_analytics2186 returns false for contribution_analytics2187 returns false for description_diffs2188 returns false for elastic_search2189 returns false for group_activity_analytics2190 returns false for group_bulk_edit2191 returns false for group_burndown_charts2192 returns false for group_webhooks2193 returns false for issuable_default_templates2194 returns false for issue_weights2195 returns false for iterations2196 returns false for jenkins_integration2197 returns false for ldap_group_sync2198 returns false for member_lock2199 returns false for merge_request_approvers2200 returns false for multiple_issue_assignees2201 returns false for multiple_ldap_servers2202 returns false for multiple_merge_request_assignees2203 returns false for protected_refs_for_users2204 returns false for push_rules2205 returns false for related_issues2206 returns false for repository_mirrors2207 returns false for repository_size_limit2208 returns false for seat_link2209 returns false for send_emails_from_admin_area2210 returns false for service_desk2211 returns false for scoped_issue_board2212 returns false for usage_quotas2213 returns false for visual_review_app2214 returns false for wip_limits2215 when feature is disabled by a feature flag2216 returns false2217 when feature is enabled by a feature flag2218 returns true2219 #overage2220 returns 0 if restricted_user_count is nil2221 returns the difference between user_count and restricted_user_count2222 returns the difference using current_active_users_count as user_count if no user_count argument provided2223 returns 0 if the difference is a negative number2224 #maximum_user_count2225 current_active_users_count: 100, historical_max: 50, expected: 1002226 is expected to eq 1002227 current_active_users_count: 50, historical_max: 100, expected: 1002228 is expected to eq 1002229 current_active_users_count: 50, historical_max: 50, expected: 502230 is expected to eq 502231 Trial Licenses2232 Update trial setting2233 when the license is not trial2234 returns nil2235 when the license is the very first trial2236 is eligible for trial2237 updates the trial setting2238 when the license is a repeated trial2239 does not update existing trial setting2240 is not eligible for trial2241 #promo_feature_available?2242 with promo_container_scanning disabled2243 is expected to be falsey2244 with promo_container_scanning enabled2245 is expected to be truthy2246 .history2247 returns the licenses sorted by created_at, starts_at and expires_at descending2248 #edition2249 have expected values2250 #paid?2251 plan: "starter", paid_result: true2252 is expected to eq true2253 plan: "premium", paid_result: true2254 is expected to eq true2255 plan: "ultimate", paid_result: true2256 is expected to eq true2257 plan: nil, paid_result: true2258 is expected to eq true2259 #started?2260 starts_at: Sun, 17 May 2020, result: true2261 is expected to eq true2262 starts_at: Wed, 17 Jun 2020, result: true2263 is expected to eq true2264 starts_at: Fri, 17 Jul 2020, result: false2265 is expected to eq false2266 #future_dated?2267 starts_at: Sun, 17 May 2020, result: false2268 is expected to eq false2269 starts_at: Wed, 17 Jun 2020, result: false2270 is expected to eq false2271 starts_at: Fri, 17 Jul 2020, result: true2272 is expected to eq true2273Issue2274 searches issues2275 searches by iid and scopes to type: issue only2276 returns json with all needed elements2277 when limited indexing is on2278 when the project is not enabled specifically2279 #searchable?2280 returns false2281 when a project is enabled specifically2282 #searchable?2283 returns true2284 when a group is enabled2285 #searchable?2286 returns true2287 field length limits2288 when there is an elasticsearch_indexed_field_length limit2289 truncates to the default plan limit2290 when the elasticsearch_indexed_field_length limit is 02291 does not truncate the fields2292 behaves like no results when the user cannot read cross project2293 returns the record if a single project was passed2294 does not return anything when trying to search cross project2295Gitlab::Ci::Parsers::Security::Dast2296 #parse!2297 report_format: :dast, occurrence_count: 24, identifier_count: 15, scanner_count: 1, last_occurrence_hostname: "http://goat:8080", last_occurrence_method_name: "GET", last_occurrence_path: "/WebGoat/plugins/bootstrap/css/bootstrap.min.css", last_occurrence_severity: "info", last_occurrence_confidence: "low"2298 parses all identifiers and occurrences2299 generates expected location2300 occurrence properties2301 attribute: :report_type, value: "dast"2302 saves properly occurrence2303 attribute: :severity, value: "info"2304 saves properly occurrence2305 attribute: :confidence, value: "low"2306 saves properly occurrence2307 report_format: :dast_multiple_sites, occurrence_count: 25, identifier_count: 15, scanner_count: 1, last_occurrence_hostname: "http://goat:8080", last_occurrence_method_name: "GET", last_occurrence_path: "/WebGoat/plugins/bootstrap/css/bootstrap.min.css", last_occurrence_severity: "info", last_occurrence_confidence: "low"2308 parses all identifiers and occurrences2309 generates expected location2310 occurrence properties2311 attribute: :report_type, value: "dast"2312 saves properly occurrence2313 attribute: :severity, value: "info"2314 saves properly occurrence2315 attribute: :confidence, value: "low"2316 saves properly occurrence2317 report_format: :dast_deprecated_no_spider, occurrence_count: 2, identifier_count: 3, scanner_count: 1, last_occurrence_hostname: "http://bikebilly-spring-auto-devops-review-feature-br-3y2gpb.35.192.176.43.xip.io", last_occurrence_method_name: "GET", last_occurrence_path: "/", last_occurrence_severity: "low", last_occurrence_confidence: "medium"2318 parses all identifiers and occurrences2319 generates expected location2320 occurrence properties2321 attribute: :report_type, value: "dast"2322 saves properly occurrence2323 attribute: :severity, value: "low"2324 saves properly occurrence2325 attribute: :confidence, value: "medium"2326 saves properly occurrence2327 report_format: :dast_deprecated_no_common_fields, occurrence_count: 24, identifier_count: 15, scanner_count: 1, last_occurrence_hostname: "http://goat:8080", last_occurrence_method_name: "GET", last_occurrence_path: "/WebGoat/plugins/bootstrap/css/bootstrap.min.css", last_occurrence_severity: "info", last_occurrence_confidence: "low"2328 parses all identifiers and occurrences2329 generates expected location2330 occurrence properties2331 attribute: :report_type, value: "dast"2332 saves properly occurrence2333 attribute: :severity, value: "info"2334 saves properly occurrence2335 attribute: :confidence, value: "low"2336 saves properly occurrence2337MergeTrains::RefreshMergeRequestsService2338 #execute2339 when merge request 1 is passed2340 executes RefreshMergeRequestService to all the following merge requests2341 when refresh service 1 returns error status2342 specifies require_recreate to refresh service 22343 when refresh service 1 returns success status and did not create a pipeline2344 does not specify require_recreate to refresh service 22345 when refresh service 1 returns success status and created a pipeline2346 specifies require_recreate to refresh service 22347 when merge request 1 is not on a merge train2348 does not refresh2349 when merge request 1 was on a merge train2350 does not refresh2351 when the other thread has already been processing the merge train2352 does not refresh2353 enqueues the merge request id to BatchPopQueueing2354 when merge request 2 is passed2355 executes RefreshMergeRequestService to all the following merge requests2356 when merge request 1 was tried to be refreshed while the system is refreshing merge request 22357 refreshes the merge request 1 later with AutoMergeProcessWorker2358 when merge request 1 has already been merged2359 does not refresh the merge request 12360MergeRequestApproverPresenter2361 #render2362 displays committers2363 approvals_required is low2364 returns the top n committers2365 #any?2366 returns true if any user exists2367 returns false if no user exists2368 caches loaded users2369 #render_user2370 renders link2371 #show_code_owner_tips?2372 when code_owner feature enabled and code owner is empty2373 returns true2374 when code_owner feature enabled and code owner is not empty2375 returns false2376 when code_owner feature is disabled2377 returns false2378Analytics::RefreshCommentsData2379 .for_note2380 for non-commit, non-mr note2381 is expected to be nil2382 for MR note2383 returns refresh comments instance for note MR2384 for commit note2385 returns refresh comments instance for commit MR2386 #execute2387 updates first_comment_at2388 when first_comment_at is already present2389 does not change first_comment_at2390 updates first_comment_at if forced2391 when no merge request metric is present2392 creates one2393Packages::PackageFile2394 relationships2395 is expected to belong to package required:2396 is expected to have one conan_file_metadatum2397 validations2398 is expected to validate that :package cannot be empty/falsy2399 with package filenames2400 .with_file_name2401 is expected to contain exactly #<Packages::PackageFile id: 1, package_id: 1, created_at: "2020-06-17 17:13:11", updated_at: "2020-06...ified_at: nil, verification_failure: nil, verification_retry_count: nil, verification_checksum: nil>2402 .with_file_name_like2403 is expected to contain exactly #<Packages::PackageFile id: 1, package_id: 1, created_at: "2020-06-17 17:13:11", updated_at: "2020-06...ified_at: nil, verification_failure: nil, verification_retry_count: nil, verification_checksum: nil>2404 behaves like UpdateProjectStatistics2405 is expected to be a new record2406 when creating2407 updates the project statistics2408 schedules a namespace statistics worker2409 when updating2410 updates project statistics2411 schedules a namespace statistics worker2412 avoids N + 1 queries2413 when destroying2414 updates the project statistics2415 schedules a namespace statistics worker2416 when it is destroyed from the project level2417 does not update the project statistics2418 does not schedule a namespace statistics worker2419 .with_conan_package_reference2420 returns matching packages2421 #update_file_metadata callback2422 updates metadata columns2423 #calculate_checksum!2424 sets `verification_checksum` to SHA256 sum of the file2425 sets `checksum` to nil for a non-existent file2426 new file2427 calls checksum worker2428CI YML Templates2429 template_name: "Android.gitlab-ci.yml"2430 is valid2431 require default stages to be included2432 template_name: "Android-Fastlane.gitlab-ci.yml"2433 is valid2434 require default stages to be included2435 template_name: "Auto-DevOps.gitlab-ci.yml"2436 is valid2437 require default stages to be included2438 template_name: "Bash.gitlab-ci.yml"2439 is valid2440 require default stages to be included2441 template_name: "C++.gitlab-ci.yml"2442 is valid2443 require default stages to be included2444 template_name: "Chef.gitlab-ci.yml"2445 is valid2446 require default stages to be included2447 template_name: "Clojure.gitlab-ci.yml"2448 is valid2449 require default stages to be included2450 template_name: "Code-Quality.gitlab-ci.yml"2451 is valid2452 require default stages to be included2453 template_name: "Crystal.gitlab-ci.yml"2454 is valid2455 require default stages to be included2456 template_name: "Deploy-ECS.gitlab-ci.yml"2457 is valid2458 require default stages to be included2459 template_name: "Django.gitlab-ci.yml"2460 is valid2461 require default stages to be included2462 template_name: "Docker.gitlab-ci.yml"2463 is valid2464 require default stages to be included2465 template_name: "Elixir.gitlab-ci.yml"2466 is valid2467 require default stages to be included2468 template_name: "Go.gitlab-ci.yml"2469 is valid2470 require default stages to be included2471 template_name: "Gradle.gitlab-ci.yml"2472 is valid2473 require default stages to be included2474 template_name: "Grails.gitlab-ci.yml"2475 is valid2476 require default stages to be included2477 template_name: "Julia.gitlab-ci.yml"2478 is valid2479 require default stages to be included2480 template_name: "LaTeX.gitlab-ci.yml"2481 is valid2482 require default stages to be included2483 template_name: "Laravel.gitlab-ci.yml"2484 is valid2485 require default stages to be included2486 template_name: "Managed-Cluster-Applications.gitlab-ci.yml"2487 is valid2488 require default stages to be included2489 template_name: "Maven.gitlab-ci.yml"2490 is valid2491 require default stages to be included2492 template_name: "Mono.gitlab-ci.yml"2493 is valid2494 require default stages to be included2495 template_name: "Nodejs.gitlab-ci.yml"2496 is valid2497 require default stages to be included2498 template_name: "OpenShift.gitlab-ci.yml"2499 is valid2500 require default stages to be included2501 template_name: "PHP.gitlab-ci.yml"2502 is valid2503 require default stages to be included2504 template_name: "Packer.gitlab-ci.yml"2505 is valid2506 require default stages to be included2507 template_name: "Python.gitlab-ci.yml"2508 is valid2509 require default stages to be included2510 template_name: "Ruby.gitlab-ci.yml"2511 is valid2512 require default stages to be included2513 template_name: "Rust.gitlab-ci.yml"2514 is valid2515 require default stages to be included2516 template_name: "Scala.gitlab-ci.yml"2517 is valid2518 require default stages to be included2519 template_name: "Serverless.gitlab-ci.yml"2520 is valid2521 require default stages to be included2522 template_name: "Swift.gitlab-ci.yml"2523 is valid2524 require default stages to be included2525 template_name: "Terraform.gitlab-ci.yml"2526 is valid2527 require default stages to be included2528 template_name: "dotNET.gitlab-ci.yml"2529 is valid2530 require default stages to be included2531 template_name: "iOS-Fastlane.gitlab-ci.yml"2532 is valid2533 require default stages to be included2534 template_name: "npm.gitlab-ci.yml"2535 is valid2536 require default stages to be included2537 template_name: "Pages/Brunch.gitlab-ci.yml"2538 is valid2539 require default stages to be included2540 template_name: "Pages/Doxygen.gitlab-ci.yml"2541 is valid2542 require default stages to be included2543 template_name: "Pages/Gatsby.gitlab-ci.yml"2544 is valid2545 require default stages to be included2546 template_name: "Pages/HTML.gitlab-ci.yml"2547 is valid2548 require default stages to be included2549 template_name: "Pages/Harp.gitlab-ci.yml"2550 is valid2551 require default stages to be included2552 template_name: "Pages/Hexo.gitlab-ci.yml"2553 is valid2554 require default stages to be included2555 template_name: "Pages/Hugo.gitlab-ci.yml"2556 is valid2557 require default stages to be included2558 template_name: "Pages/Hyde.gitlab-ci.yml"2559 is valid2560 require default stages to be included2561 template_name: "Pages/JBake.gitlab-ci.yml"2562 is valid2563 require default stages to be included2564 template_name: "Pages/Jekyll.gitlab-ci.yml"2565 is valid2566 require default stages to be included2567 template_name: "Pages/Jigsaw.gitlab-ci.yml"2568 is valid2569 require default stages to be included2570 template_name: "Pages/Lektor.gitlab-ci.yml"2571 is valid2572 require default stages to be included2573 template_name: "Pages/Metalsmith.gitlab-ci.yml"2574 is valid2575 require default stages to be included2576 template_name: "Pages/Middleman.gitlab-ci.yml"2577 is valid2578 require default stages to be included2579 template_name: "Pages/Nanoc.gitlab-ci.yml"2580 is valid2581 require default stages to be included2582 template_name: "Pages/Octopress.gitlab-ci.yml"2583 is valid2584 require default stages to be included2585 template_name: "Pages/Pelican.gitlab-ci.yml"2586 is valid2587 require default stages to be included2588 template_name: "Pages/SwaggerUI.gitlab-ci.yml"2589 is valid2590 require default stages to be included2591 template_name: "Verify/Accessibility.gitlab-ci.yml"2592 is valid2593 require default stages to be included2594 template_name: "Verify/Browser-Performance.gitlab-ci.yml"2595 is valid2596 require default stages to be included2597 template_name: "Verify/FailFast.gitlab-ci.yml"2598 is valid2599 require default stages to be included2600 template_name: "Security/Container-Scanning.gitlab-ci.yml"2601 is valid2602 require default stages to be included2603 template_name: "Security/DAST.gitlab-ci.yml"2604 is valid2605 require default stages to be included2606 template_name: "Security/Dependency-Scanning.gitlab-ci.yml"2607 is valid2608 require default stages to be included2609 template_name: "Security/License-Management.gitlab-ci.yml"2610 is valid2611 require default stages to be included2612 template_name: "Security/License-Scanning.gitlab-ci.yml"2613 is valid2614 require default stages to be included2615 template_name: "Security/SAST.gitlab-ci.yml"2616 is valid2617 require default stages to be included2618 template_name: "Security/Secret-Detection.gitlab-ci.yml"2619 is valid2620 require default stages to be included2621 template_name: "Security/Secure-Binaries.gitlab-ci.yml"2622 is valid2623 require default stages to be included2624Gitlab::Vulnerabilities::HistoryCache2625 #fetch2626 when given a Group2627 behaves like the history cache when given an expected Vulnerable2628 reads from cache when records are cached2629 returns the proper format for uncached history2630 returns the proper format for cached history2631 when given an InstanceSecurityDashboard2632 behaves like the history cache when given an expected Vulnerable2633 reads from cache when records are cached2634 returns the proper format for uncached history2635 returns the proper format for cached history2636Milestone2637 searches milestones2638 returns json with all needed elements2639 behaves like limited indexing is enabled2640 when the project is not enabled specifically2641 #searchable?2642 returns false2643 when a project is enabled specifically2644 #searchable?2645 returns true2646 when a group is enabled2647 #searchable?2648 returns true2649 behaves like no results when the user cannot read cross project2650 returns the record if a single project was passed2651 does not return anything when trying to search cross project2652ProtectedEnvironments::CreateService#execute2653 with valid params2654 is expected to be truthy2655 creates a record on ProtectedEnvironment2656 creates a record on ProtectedEnvironment record2657 with invalid params2658 returns a non-persisted Protected Environment record2659 multiple deploy access levels2660 behaves like invalid multiple deployment access levels2661 does not create deploy access level2662 does not create protected environment2663 deploy access level by group2664 behaves like invalid protected environment group2665 does not create deploy access level2666 does not create protected environment2667 behaves like valid protected environment group2668 creates deploy access level2669 creates protected environment2670 deploy access level by user2671 behaves like invalid protected environment user2672 does not create deploy access level2673 does not create protected environment2674 behaves like valid protected environment user2675 creates deploy access level2676 creates protected environment2677Issuable::CommonSystemNotesService2678 on issuable update2679 when weight is changed2680 creates a resource label event2681 when health status is updated2682 when setting a health_status2683 creates system note2684 when health status is removed2685 creates system note2686 when issuable is an epic2687 creates 2 system notes with the correct content2688 on issuable create2689 does not create common system notes2690 when resource weight event tracking is enabled2691 does not create a resource weight event2692 does not create a system note2693 when resource weight event tracking is disabled2694 does not created a resource weight event2695 does create a system note2696Projects::ImportService2697 when imported in to a group2698 when audit_events is licensed2699 does audit2700 when audit_events is unlicensed2701 does not audit2702 when not imported in to a group2703 when audit_events is licensed2704 does not audit2705 when audit_events is unlicensed2706 does not audit2707FeatureFlags::EnableService2708 #execute2709 with params to enable default strategy on prd scope2710 when there is no persisted feature flag2711 creates a new feature flag with scope2712 when params include default scope2713 create a new feature flag with an active default scope with the specified strategy2714 when there is a persisted feature flag2715 when there is no persisted scope2716 creates a new scope for the persisted feature flag2717 when there is a persisted scope2718 when the persisted scope does not have the specified strategy yet2719 adds the specified strategy to the scope2720 when the persisted scope is inactive2721 reactivates the scope2722 when the persisted scope has the specified strategy already2723 does not add a duplicated strategy to the scope2724 when strategy is not specified in params2725 returns error2726 when environment scope is not specified in params2727 returns error2728 when name is not specified in params2729 returns error2730Gitlab::ImportExport::Group::LegacyTreeSaver2731 saves the group tree into a json object2732 saves successfully2733 epics relation2734 saves top level epics2735 saves parent of epic2736 saves epic notes2737 saves epic events2738 saves epic's note events2739 saves epic's award emojis2740 saves epic's note award emojis2741 boards relation2742 saves top level boards2743 saves board assignee2744 saves board labels2745 saves board lists2746 when there are boards with predefined milestones2747 saves the milestone data2748 when there are boards with persisted milestones2749 saves the milestone data2750MergeRequests::RemoveApprovalService2751 #execute2752 with a user who has approved2753 removes the approval2754 creates an unapproval note2755 fires an unapproval webhook2756 does not send a notification2757 resets the cache for approvals2758 with an approved merge request2759 fires an unapproved webhook2760 sends a notification2761gitlab:elastic namespace rake tasks2762 index2763 calls all indexing tasks in order2764 index_projects2765 queues jobs for each project batch2766 with limited indexing enabled2767 does not queue jobs for projects that should not be indexed2768 index_snippets2769I, [2020-06-17T17:14:03.132533 #1624] INFO -- : Indexing snippets...2770I, [2020-06-17T17:14:03.133059 #1624] INFO -- : Indexing snippets... done2771 indexes snippets2772 recreate_index2773 calls all related subtasks in order2774Gitlab::Elastic::Helper2775 .new2776 has the proper default values2777 with a custom `index_name`2778 has the proper `index_name`2779 #create_empty_index2780 with an empty cluster2781 creates index and alias2782 creates the index only2783 when there is an alias2784 raises an error2785 when there is a legacy index2786 raises an error2787 #delete_index2788 without an existing index2789 fails gracefully2790 when there is an alias2791 is expected to be truthy2792 when there is a legacy index2793 is expected to be truthy2794 #index_exists?2795 without an existing index2796 is expected to be falsy2797 when there is a legacy index2798 is expected to be truthy2799 when there is an alias2800 is expected to be truthy2801 #alias_exists?2802 without an existing index2803 is expected to be falsy2804 when there is a legacy index2805 is expected to be falsy2806 when there is an alias2807 is expected to be truthy2808SoftwareLicensePolicy2809 validations2810 is expected to includes the Presentable module2811 is expected to validate that :software_license cannot be empty/falsy2812 is expected to validate that :project cannot be empty/falsy2813 is expected to validate that :classification cannot be empty/falsy2814 is expected to validate that :software_license is case-sensitively unique within the scope of :project_id, producing a custom validation error on failure2815 .with_license_by_name2816 finds a license by an exact match2817 finds a license by a case insensitive match2818 finds multiple licenses2819 .by_spdx2820 is expected to contain exactly #<SoftwareLicensePolicy id: 8, project_id: 801, software_license_id: 12, classification: "allowed", created_at: "2020-06-17 17:14:09", updated_at: "2020-06-17 17:14:09">2821 is expected to contain exactly #<SoftwareLicensePolicy id: 8, project_id: 801, software_license_id: 12, classification: "allowed", created_at: "2020-06-17 17:14:09", updated_at: "2020-06-17 17:14:09"> and #<SoftwareLicensePolicy id: 9, project_id: 802, software_license_id: 13, classification: "allowed", created_at: "2020-06-17 17:14:09", updated_at: "2020-06-17 17:14:09">2822 is expected to be empty2823 #name2824 is expected to eql "SOFTWARE-LICENSE-2.7/example_6"2825 #approval_status2826 classification: "allowed", approval_status: "approved"2827 is expected to eql "approved"2828 classification: "denied", approval_status: "blacklisted"2829 is expected to eql "blacklisted"2830 .to_classification2831 approval_status: "approved", classification: "allowed"2832 is expected to eql "allowed"2833 approval_status: "blacklisted", classification: "denied"2834 is expected to eql "denied"2835Ci::CreatePipelineService2836 persists pipeline2837 persists both jobs2838 persists bridge needs2839 persists bridge target project2840 sets scheduling_type of bridge_dag_job as 'dag'2841 when needs is empty array2842 creates a pipeline with regular_job and bridge_dag_job pending2843ProtectedEnvironments::UpdateService#execute2844 with valid params2845 is expected to be truthy2846 updates the deploy access levels2847 with invalid params2848 is expected to be falsy2849 does not update the deploy access levels2850 multiple deploy access levels2851 behaves like invalid multiple deployment access levels2852 does not create deploy access level2853 deploy access level by group2854 behaves like invalid protected environment group2855 does not create deploy access level2856 behaves like valid protected environment group2857 creates deploy access level2858 deploy access level by user2859 behaves like invalid protected environment user2860 does not create deploy access level2861 behaves like valid protected environment user2862 creates deploy access level2863UsersSecurityDashboardProject2864 associations2865 is expected to belong to project required:2866 is expected to belong to user required:2867 validations2868 is expected to validate that :user cannot be empty/falsy2869 is expected to validate that :project cannot be empty/falsy2870 is expected to validate that :project_id is case-sensitively unique within the scope of :user_id2871 when validating the number of projects a user can add to their dashboard2872 limits the number of projects per user2873 allows a user to add a project if they are under the limit2874 .delete_by_project_id2875 deletes all entries for the given project ID2876 when there is no record with the given project ID2877 fails silently2878Boards::Lists::ListService2879 #execute2880 when board parent is a project2881 behaves like list service for board with assignee lists2882 when the feature is enabled2883 returns all lists2884 when the feature is disabled2885 filters out assignee lists that might have been created while subscribed2886 behaves like list service for board with milestone lists2887 when the feature is enabled2888 returns all lists2889 when the feature is disabled2890 filters out assignee lists that might have been created while subscribed2891 when board parent is a group2892 behaves like list service for board with assignee lists2893 when the feature is enabled2894 returns all lists2895 when the feature is disabled2896 filters out assignee lists that might have been created while subscribed2897 behaves like list service for board with milestone lists2898 when the feature is enabled2899 returns all lists2900 when the feature is disabled2901 filters out assignee lists that might have been created while subscribed2902Packages::Tag2903 relationships2904 is expected to belong to package required: inverse_of => tags2905 validations2906 is expected to validate that :package cannot be empty/falsy2907 is expected to validate that :name cannot be empty/falsy2908 .for_packages2909 is expected to contain exactly #<Packages::Tag id: 3, package_id: 28, name: "tag-3", created_at: "2020-06-17 17:14:25", updated_at: "2020-06-17 17:14:25">, #<Packages::Tag id: 4, package_id: 29, name: "tag-4", created_at: "2020-06-17 17:14:25", updated_at: "2020-06-17 17:14:25">, and #<Packages::Tag id: 5, package_id: 30, name: "tag-5", created_at: "2020-06-17 17:14:25", updated_at: "2020-06-17 17:14:25">2910 with too many tags2911 is expected to contain exactly #<Packages::Tag id: 7, package_id: 32, name: "tag-7", created_at: "2020-06-17 17:14:25", updated_at: "2020-06-17 17:14:25"> and #<Packages::Tag id: 8, package_id: 33, name: "tag-8", created_at: "2020-06-17 17:14:25", updated_at: "2020-06-17 17:14:25">2912 .with_name2913 is expected to contain exactly #<Packages::Tag id: 9, package_id: 34, name: "tag1", created_at: "2020-06-17 17:14:26", updated_at: "2020-06-17 17:14:26">2914 with nil name2915 is expected to eq []2916 with multiple names2917 is expected to contain exactly #<Packages::Tag id: 9, package_id: 34, name: "tag1", created_at: "2020-06-17 17:14:26", updated_at: "2020-06-17 17:14:26"> and #<Packages::Tag id: 11, package_id: 34, name: "tag3", created_at: "2020-06-17 17:14:26", updated_at: "2020-06-17 17:14:26">2918VulnerabilityExports::ExportService2919 ::export2920 instantiates a new instance of the service class and sends export message to it2921 #export2922 generating the export file2923 runs synchronized with distributed semaphore2924 when the vulnerability_export is not in `created` state2925 does not execute export file generation logic2926 when the vulnerability_export is in `created` state2927 when the export generation fails2928 sets the state of export back to `created`2929 schedules the export deletion background job2930 when the export generation succeeds2931 marks the state of export object as `started` and then `finished`2932 schedules the export deletion background job2933 when the export format is csv2934 calls the VulnerabilityExports::Exporters::CsvService which sets the file and filename2935EE::AllowedEmailDomains::UpdateService2936 #execute2937 as a normal user2938 for a group that has no email domain restriction2939 with valid domains2940 does not build new allowed_email_domain records2941 registers an error2942 as a group owner2943 for a group that has no email domain restriction2944 with valid domains2945 builds new allowed_email_domain records2946 builds new allowed_email_domain records with the provided domains2947 for a group that already has email domain restriction2948 with empty domain2949 marks all existing allowed_email_domain records for destruction2950 with valid domains2951 with an entirely new set of domains2952 each domain in the list is unique2953 builds new allowed_email_domain records with all of the specified domains2954 behaves like removes all existing allowed_email_domain records2955 marks all the existing allowed_email_domain records for destruction2956 list has space around the names of domains2957 builds new allowed_email_domain records with all of the specified domains without spaces around them2958 behaves like removes all existing allowed_email_domain records2959 marks all the existing allowed_email_domain records for destruction2960 domains in the list repeats2961 builds new allowed_email_domain records with only the unique domains among the specified domains2962 behaves like removes all existing allowed_email_domain records2963 marks all the existing allowed_email_domain records for destruction2964 replacing one of the existing domains with another2965 marks the allowed_email_domain record of the replaced domain for destruction2966 retains the allowed_email_domain record of the other existing domain2967 builds a new allowed_email_domain record with the newly specified domain2968SoftwareLicense2969 validations2970 is expected to includes the Presentable module2971 is expected to validate that :name cannot be empty/falsy2972 is expected to validate that the length of :spdx_identifier is at most 2552973 is expected to validate that :name is case-sensitively unique2974 .create_policy_for!2975 when a software license with a given name has already been created2976 is expected to be persisted2977 is expected to be allowed2978 is expected to eql #<SoftwareLicense id: 20, name: "MIT", spdx_identifier: "MIT">2979 when a software license with a given name has NOT been created2980 is expected to be persisted2981 is expected to be denied2982 is expected to be persisted2983 is expected to eql "adc1b314-bbb2-436e-bb9e-9cd8bd886e44"2984 scopes2985 .by_spdx2986 is expected to contain exactly #<SoftwareLicense id: 25, name: "MIT", spdx_identifier: "MIT">2987 .spdx2988 is expected to contain exactly #<SoftwareLicense id: 25, name: "MIT", spdx_identifier: "MIT">2989 .by_spdx2990 is expected to contain exactly #<SoftwareLicense id: 25, name: "MIT", spdx_identifier: "MIT">2991 .spdx2992 is expected to contain exactly #<SoftwareLicense id: 25, name: "MIT", spdx_identifier: "MIT">2993 .by_name2994 is expected to contain exactly #<SoftwareLicense id: 25, name: "MIT", spdx_identifier: "MIT">2995 .unknown2996 is expected to contain exactly #<SoftwareLicense id: 26, name: "Apache 2.0 License", spdx_identifier: nil>2997 .grouped_by_name2998 is expected to eql ["MIT", 1] and ["Apache 2.0 License", 1]2999 .ordered3000 is expected to eql "Apache 2.0 License" and "MIT"3001 #canonical_id3002 when an SPDX identifier is available3003 is expected to eq "MIT"3004 when an SPDX identifier is not available3005 is expected to eq "mit license"3006Packages::TagsFinder3007 #execute3008 is expected to contain exactly #<Packages::Tag id: 12, package_id: 35, name: "tag-9", created_at: "2020-06-17 17:14:34", updated_at: "2020-06-17 17:14:34"> and #<Packages::Tag id: 13, package_id: 35, name: "tag-10", created_at: "2020-06-17 17:14:34", updated_at: "2020-06-17 17:14:34">3009 with package type3010 is expected to contain exactly #<Packages::Tag id: 16, package_id: 38, name: "tag-13", created_at: "2020-06-17 17:14:35", updated_at: "2020-06-17 17:14:35">3011 with blank package type3012 is expected to contain exactly #<Packages::Tag id: 17, package_id: 39, name: "tag-14", created_at: "2020-06-17 17:14:35", updated_at: "2020-06-17 17:14:35"> and #<Packages::Tag id: 18, package_id: 39, name: "tag-15", created_at: "2020-06-17 17:14:35", updated_at: "2020-06-17 17:14:35">3013 with nil package type3014 is expected to contain exactly #<Packages::Tag id: 19, package_id: 40, name: "tag-16", created_at: "2020-06-17 17:14:35", updated_at: "2020-06-17 17:14:35"> and #<Packages::Tag id: 20, package_id: 40, name: "tag-17", created_at: "2020-06-17 17:14:35", updated_at: "2020-06-17 17:14:35">3015 with unknown package name3016 is expected to be empty3017 #find_by_name3018 is expected to eq #<Packages::Tag id: 23, package_id: 42, name: "tag-20", created_at: "2020-06-17 17:14:36", updated_at: "2020-06-17 17:14:36">3019 with package type3020 is expected to eq #<Packages::Tag id: 27, package_id: 45, name: "tag-24", created_at: "2020-06-17 17:14:36", updated_at: "2020-06-17 17:14:36">3021 with unknown tag_name3022 is expected to be nil3023Packages::Nuget::MetadataExtractionService3024 #execute3025 with valid package file id3026 is expected to eq {:package_dependencies=>[{:name=>"Newtonsoft.Json", :target_framework=>".NETCoreApp3.0", :version=>"1...12.0.3"}], :package_name=>"DummyProject.DummyPackage", :package_tags=>[], :package_version=>"1.0.0"}3027 with nuspec file3028 with dependencies3029 is expected to have key :package_dependencies3030 extracts dependencies3031 with a nuspec file with metadata3032 is expected to eq ["bar", "foo", "tag1", "tag2", "tag3", "tag4", "tag5", "test"]3033 with a nuspec file with metadata3034 is expected to eq "https://opensource.org/licenses/MIT"3035 is expected to eq "https://gitlab.com/gitlab-org/gitlab"3036 is expected to eq "https://opensource.org/files/osi_keyhole_300X300_90ppi_0.png"3037 with invalid package file id3038 is expected to raise Packages::Nuget::MetadataExtractionService::ExtractionError with "invalid package file"3039 linked to a non nuget package3040 is expected to raise Packages::Nuget::MetadataExtractionService::ExtractionError with "invalid package file"3041 with a 0 byte package file id3042 is expected to raise Packages::Nuget::MetadataExtractionService::ExtractionError with "invalid package file"3043 without the nuspec file3044 is expected to raise Packages::Nuget::MetadataExtractionService::ExtractionError with "nuspec file not found"3045 with a too big nuspec file3046 is expected to raise Packages::Nuget::MetadataExtractionService::ExtractionError with "nuspec file too big"3047Clusters::DeploymentEntity3048 exposes id3049 exposes iid3050 exposes deployable name3051GlobalPolicy3052 is expected to be disallowed :read_licenses3053 is expected to be disallowed :destroy_licenses3054 is expected to be disallowed :read_all_geo3055 reading operations dashboard3056 when licensed3057 is expected to be allowed :read_operations_dashboard3058 and the user is not logged in3059 is expected not to be allowed :read_operations_dashboard3060 when unlicensed3061 is expected not to be allowed :read_operations_dashboard3062 when admin mode enabled3063 is expected to be allowed :read_licenses3064 is expected to be allowed :destroy_licenses3065 is expected to be allowed :read_all_geo3066 when admin mode disabled3067 is expected to be disallowed :read_licenses3068 is expected to be disallowed :destroy_licenses3069 is expected to be disallowed :read_all_geo3070 view_productivity_analytics3071 anonymous user3072 is not allowed3073 authenticated user3074 is allowed3075 update_max_pages_size3076 is expected to be disallowed :update_max_pages_size3077 when feature is enabled3078 is expected to be disallowed :update_max_pages_size3079 when admin mode enabled3080 is expected to be allowed :update_max_pages_size3081 when admin mode disabled3082 is expected to be disallowed :update_max_pages_size3083 create_group_with_default_branch_protection3084 for an admin3085 when the `default_branch_protection_restriction_in_groups` feature is available3086 when the setting `group_owners_can_manage_default_branch_protection` is enabled3087 is expected to be allowed :create_group_with_default_branch_protection3088 when the setting `group_owners_can_manage_default_branch_protection` is disabled3089 when admin mode is enabled3090 is expected to be allowed :create_group_with_default_branch_protection3091 when admin mode is disabled3092 is expected to be disallowed :create_group_with_default_branch_protection3093 when the `default_branch_protection_restriction_in_groups` feature is not available3094 when the setting `group_owners_can_manage_default_branch_protection` is enabled3095 is expected to be allowed :create_group_with_default_branch_protection3096 when the setting `group_owners_can_manage_default_branch_protection` is disabled3097 is expected to be allowed :create_group_with_default_branch_protection3098 for a normal user3099 when the `default_branch_protection_restriction_in_groups` feature is available3100 when the setting `group_owners_can_manage_default_branch_protection` is enabled3101 is expected to be allowed :create_group_with_default_branch_protection3102 when the setting `group_owners_can_manage_default_branch_protection` is disabled3103 is expected to be disallowed :create_group_with_default_branch_protection3104 when the `default_branch_protection_restriction_in_groups` feature is not available3105 when the setting `group_owners_can_manage_default_branch_protection` is enabled3106 is expected to be allowed :create_group_with_default_branch_protection3107 when the setting `group_owners_can_manage_default_branch_protection` is disabled3108 is expected to be allowed :create_group_with_default_branch_protection3109EE::LockHelper3110 #lock_file_link3111 there is no locks3112 returns Lock with no toltip3113 returns Lock button with tooltip3114 exact lock3115 returns Unlock with no toltip3116 returns Lock button with tooltip3117 upstream lock3118 returns Lock with no toltip3119 returns Lock button with tooltip3120 downstream lock3121 returns Lock with no toltip3122 returns Lock button with tooltip3123Packages::CreateDependencyService3124 #execute3125 when packages are published3126 creates dependencies and links3127 with repeated packages3128 creates dependencies and links3129 with dependencies bulk insert conflicts3130 creates dependences and links3131 with existing dependencies3132 reuses them3133 with a dependency not described with a hash3134 creates dependencies and links3135Gitlab::Elastic::DocumentReference3136 .build3137 builds a document for an issue3138 builds a document for a project3139 .serialize3140 does nothing to a string3141 serializes a DocumentReference3142 defers to serialize_record for ApplicationRecord instances3143 defers to serialize_array for Array instances3144 fails to serialize an unrecognised value3145 .serialize_record3146 serializes an issue3147 serializes a project3148 .serialize_array3149 serializes a project array3150 serializes an issue array3151 fails to serialize a too-small array3152 fails to serialize a too-large array3153 .deserialize3154 deserializes an issue string3155 deserializes a project string3156 #initialize3157 creates an issue reference3158 creates a project reference3159 #==3160 is equal to itself3161 is equal to another ref when all elements match3162 is not equal unless the other instance class matches3163 is not equal unless db_id matches3164 is not equal unless es_id matches3165 is not equal unless es_parent matches3166 #klass_name3167 is expected to eq "Issue"3168 #database_record3169 returns an issue3170 returns a project3171 returns nil if the record cannot be found3172 raises if the class is bad3173 #serialize3174 serializes an issue3175 serializes a project3176 ::Collection3177 contains a collection of DocumentReference3178 #preload_database_records3179 preloads database records in one query per type3180MergeRequests::BaseService3181 #execute_hooks3182 has Jira dev panel integration license3183 with a Jira subscription3184 MR contains Jira issue key3185 behaves like enqueues Jira sync worker3186 is expected to change `Array#size` by 13187 MR does not contain Jira issue key3188 behaves like does not enqueue Jira sync worker3189 is expected not to change `Array#size`3190 without a Jira subscription3191 behaves like does not enqueue Jira sync worker3192 is expected not to change `Array#size`3193 does not have Jira dev panel integration license3194 behaves like does not enqueue Jira sync worker3195 is expected not to change `Array#size`3196 #filter_params3197 filter users and groups3198 calls ParamsFilteringService3199Packages::Nuget::ExtractionWorker3200 #perform3201 with valid package file3202 updates package and package file3203 with exisiting package3204 reuses existing package and updates package file3205 with invalid package file id3206 doesn't update package and package file3207 with package file not containing a nuspec file3208 removes the package and the package file3209 with package file with a blank package name3210 removes the package and the package file3211 with package file with a blank package version3212 removes the package and the package file3213EE::RepositoryCheck::BatchWorker3214 Geo primary3215 loads project ids from main database3216 Geo secondary3217 loads project ids from tracking database3218 loads project ids that were checked more than a month ago from tracking database3219Gitlab::CodeOwners::GroupsLoader3220 #load_to3221 input has no matching group paths3222 returns an empty list of groups3223 nil input3224 returns an empty relation when nil was passed3225 input matches group paths3226 returns the groups case insensitive for names3227 input matches project.group3228 returns the project's group3229 input as array of strings3230 is treated as one string3231 nested groups3232 returns nested groups by mentioned full paths3233ScopedLabelSet3234 .from_label_ids3235 groups labels by their key3236 #valid?3237 returns true for not scoped labels3238 returns true for scoped labels with single label3239 returns false for scoped labels with multiple labels3240 #add3241 adds a label to the set3242 #contains_any?3243 returns true if any of label ids is in set3244 returns false if certain label ids is not in set3245 #last_id_by_order3246 returns last label present in the set ordered by custom order of superset of label ids3247 returns last label present in the set ordered by custom order if there is single item3248LicensesListEntity3249 behaves like report list3250 #as_json3251 with success build3252 with provided items3253 has array of items with status ok3254 with no items3255 has empty array of items with status no_items3256 with failed build3257 with authorized user3258 has job_path with status failed_job3259 without authorized user3260 has only status failed_job3261 with no build3262 has status job_not_set_up and no job_path3263Commit3264 behaves like a mentionable with EE-specific mentions3265 extracts references from its reference property3266 creates cross-reference notes3267ForkTargetsFinder3268 #execute3269 when project root group prohibits outer forks3270 returns namespaces with the same root group as project one only3271 when project root does not prohibit outer forks3272 returns outer namespaces as well as inner3273Vulnerabilities::Scanner3274 associations3275 is expected to have many occurrences class_name => Vulnerabilities::Occurrence3276 is expected to belong to project required:3277 validations3278 is expected to validate that :name cannot be empty/falsy3279 is expected to validate that :project cannot be empty/falsy3280 is expected to validate that :external_id cannot be empty/falsy3281 is expected to validate that :external_id is case-sensitively unique within the scope of :project_id3282 .with_external_id3283 when scanner has the corresponding external_id3284 selects the scanner3285 when scanner does not have the corresponding external_id3286 does not select the scanner3287ClearSharedRunnersMinutesWorker3288 #perform3289 when ci_parallel_minutes_reset feature flag is disabled3290 when project statistics are defined3291 clears counters3292 resets timer3293 when there are namespaces that were not reset after the reset steps3294 raises an exception3295 when namespace statistics are defined3296 clears counters3297 resets timer3298 when namespace has extra shared runner minutes3299 when consumption is below the default quota3300 does not modify the extra minutes quota3301 when consumption is above the default quota3302 when all extra minutes are used3303 sets extra minutes to 03304 when some extra minutes are used3305 discounts the extra minutes used3306 when last_ci_minutes_notification_at is present3307 nullifies the field3308 when last_ci_minutes_usage_notification_level is present3309 nullifies the field3310 when ci_parallel_minutes_reset feature flag is enabled3311 runs a worker per batch3312Security::StoreScansService3313 build has security reports3314 saves security scans3315 stores the scanned resources count on the scan3316 scan already exists3317 does not save3318 artifact file does not exist3319 stores 0 scanned resources on the scan3320Banzai::ReferenceParser::IterationParser3321 #nodes_visible_to_user3322 when the link has a data-iteration attribute3323 behaves like referenced feature visibility3324 when feature is disabled3325 does not create reference3326 when feature is enabled only for team members3327 does not create reference for non member3328 creates reference for member3329 when feature is enabled3330 creates reference3331 #referenced_by3332 when the link has a data-iteration attribute3333 using an existing iteration ID3334 returns an Array of iterations3335 using a non-existing iteration ID3336 returns an empty Array3337Gitlab::Prometheus::Queries::AdditionalMetricsDeploymentQuery3338 queries using specific time3339 with custom metrics3340 without common metrics3341 return group data for custom metric3342 with common metrics3343 return group data for custom metric3344ProtectedEnvironments::DestroyService#execute3345 when the Protected Environment is deleted3346 is expected to be truthy3347 deletes the requested ProtectedEnvironment3348 deletes the related DeployAccessLevel3349 when the Protected Environment can not be deleted3350 is expected to be falsy3351Gitlab::Auth::Saml::User3352 #save3353 account exists on server3354 admin/auditor groups3355DEPRECATION WARNING: ActiveSupport::Multibyte::Chars#normalize is deprecated and will be removed from Rails 6.1. Use #unicode_normalize(:nfkd) instead. (called from generate_username at /builds/gitlab-org/gitlab/lib/gitlab/auth/o_auth/auth_hash.rb:84)3356 marks the user as admin when the user is in the configured group3357DEPRECATION WARNING: ActiveSupport::Multibyte::Chars#normalize is deprecated and will be removed from Rails 6.1. Use #unicode_normalize(:nfkd) instead. (called from generate_username at /builds/gitlab-org/gitlab/lib/gitlab/auth/o_auth/auth_hash.rb:84)3358 does not mark the user as admin when the user is not in the configured group3359DEPRECATION WARNING: ActiveSupport::Multibyte::Chars#normalize is deprecated and will be removed from Rails 6.1. Use #unicode_normalize(:nfkd) instead. (called from generate_username at /builds/gitlab-org/gitlab/lib/gitlab/auth/o_auth/auth_hash.rb:84)3360 demotes from admin if not in the configured group3361DEPRECATION WARNING: ActiveSupport::Multibyte::Chars#normalize is deprecated and will be removed from Rails 6.1. Use #unicode_normalize(:nfkd) instead. (called from generate_username at /builds/gitlab-org/gitlab/lib/gitlab/auth/o_auth/auth_hash.rb:84)3362 does not demote from admin if not configured3363DEPRECATION WARNING: ActiveSupport::Multibyte::Chars#normalize is deprecated and will be removed from Rails 6.1. Use #unicode_normalize(:nfkd) instead. (called from generate_username at /builds/gitlab-org/gitlab/lib/gitlab/auth/o_auth/auth_hash.rb:84)3364 skips admin if not configured3365DEPRECATION WARNING: ActiveSupport::Multibyte::Chars#normalize is deprecated and will be removed from Rails 6.1. Use #unicode_normalize(:nfkd) instead. (called from generate_username at /builds/gitlab-org/gitlab/lib/gitlab/auth/o_auth/auth_hash.rb:84)3366 marks the user as auditor when the user is in the configured group3367DEPRECATION WARNING: ActiveSupport::Multibyte::Chars#normalize is deprecated and will be removed from Rails 6.1. Use #unicode_normalize(:nfkd) instead. (called from generate_username at /builds/gitlab-org/gitlab/lib/gitlab/auth/o_auth/auth_hash.rb:84)3368 does not mark the user as auditor when the user is not in the configured group3369DEPRECATION WARNING: ActiveSupport::Multibyte::Chars#normalize is deprecated and will be removed from Rails 6.1. Use #unicode_normalize(:nfkd) instead. (called from generate_username at /builds/gitlab-org/gitlab/lib/gitlab/auth/o_auth/auth_hash.rb:84)3370 demotes from auditor if not in the configured group3371DEPRECATION WARNING: ActiveSupport::Multibyte::Chars#normalize is deprecated and will be removed from Rails 6.1. Use #unicode_normalize(:nfkd) instead. (called from generate_username at /builds/gitlab-org/gitlab/lib/gitlab/auth/o_auth/auth_hash.rb:84)3372 does not demote from auditor if not configured3373DEPRECATION WARNING: ActiveSupport::Multibyte::Chars#normalize is deprecated and will be removed from Rails 6.1. Use #unicode_normalize(:nfkd) instead. (called from generate_username at /builds/gitlab-org/gitlab/lib/gitlab/auth/o_auth/auth_hash.rb:84)3374 skips auditor if not configured3375 no account exists on server3376 required groups3377 not defined3378DEPRECATION WARNING: ActiveSupport::Multibyte::Chars#normalize is deprecated and will be removed from Rails 6.1. Use #unicode_normalize(:nfkd) instead. (called from generate_username at /builds/gitlab-org/gitlab/lib/gitlab/auth/o_auth/auth_hash.rb:84)3379 lets anyone in3380 are defined3381DEPRECATION WARNING: ActiveSupport::Multibyte::Chars#normalize is deprecated and will be removed from Rails 6.1. Use #unicode_normalize(:nfkd) instead. (called from generate_username at /builds/gitlab-org/gitlab/lib/gitlab/auth/o_auth/auth_hash.rb:84)3382 lets members in3383DEPRECATION WARNING: ActiveSupport::Multibyte::Chars#normalize is deprecated and will be removed from Rails 6.1. Use #unicode_normalize(:nfkd) instead. (called from generate_username at /builds/gitlab-org/gitlab/lib/gitlab/auth/o_auth/auth_hash.rb:84)3384 unblocks already blocked members3385DEPRECATION WARNING: ActiveSupport::Multibyte::Chars#normalize is deprecated and will be removed from Rails 6.1. Use #unicode_normalize(:nfkd) instead. (called from generate_username at /builds/gitlab-org/gitlab/lib/gitlab/auth/o_auth/auth_hash.rb:84)3386 does not unblock manually blocked members3387DEPRECATION WARNING: ActiveSupport::Multibyte::Chars#normalize is deprecated and will be removed from Rails 6.1. Use #unicode_normalize(:nfkd) instead. (called from generate_username at /builds/gitlab-org/gitlab/lib/gitlab/auth/o_auth/auth_hash.rb:84)3388 does not allow non-members3389DEPRECATION WARNING: ActiveSupport::Multibyte::Chars#normalize is deprecated and will be removed from Rails 6.1. Use #unicode_normalize(:nfkd) instead. (called from generate_username at /builds/gitlab-org/gitlab/lib/gitlab/auth/o_auth/auth_hash.rb:84)3390 blocks non-members3391Gitlab::Ci::Pipeline::Chain::Limit::JobActivity3392 when active jobs limit is exceeded3393 drops the pipeline3394 persists the pipeline3395 breaks the chain3396 sets a valid failure reason3397 logs the error3398 when job activity limit is not exceeded3399 does not break the chain3400 does not invalidate the pipeline3401 does not log any error3402Ci::PipelinePresenter3403 #failure_reason3404 when pipeline has failure reason3405 represents a failure reason sentence3406 when pipeline does not have failure reason3407 returns nil3408 #expose_security_dashboard?3409 with developer3410 when features are available3411 when there is an artifact of a right type3412 is expected to be truthy3413 when there is an artifact of a wrong type3414 is expected to be falsey3415 when there is no found artifact3416 is expected to be falsey3417 when features are disabled3418 when there is an artifact of a right type3419 is expected to be falsey3420 with reporter3421 is expected to be falsey3422ElasticDeleteProjectWorker3423 deletes a project with all nested objects3424Boards::MilestonesFinder3425 #execute3426 when project board3427 returns milestones from board project and ancestors groups3428 when group board3429 returns milestones from board group and its ancestors3430Groups::RestoreService3431 restoring the group3432 with a user that can admin the group3433 for a group that has been marked for deletion3434 removes the mark for deletion3435 returns success3436 restoring fails3437 returns error3438 for a group that has not been marked for deletion3439 does not change the attributes associated with adjourned deletion3440 returns error3441 audit events3442 logs audit event3443 with a user that cannot admin the group3444 does not restore the group3445 returns error3446 audit events3447 does not log audit event3448Gitlab::Auth::AuthFinders3449 #validate_access_token!3450 with a job token3451 does not raise an error3452 without a job token3453 delegates the logic to super3454 #find_user_from_bearer_token3455 when the token is passed as an oauth token3456 with a job token3457 behaves like find user from job token3458 when route is allowed to be authenticated3459 returns an Unauthorized exception for an invalid token3460 return user if token is valid3461 with oauth token3462 is expected to eq #<User id:2164 @user2190>3463 with a personal access token3464 is expected to eq #<User id:2165 @user2191>3465MergeRequests::BuildService3466 project default template configured3467 issuable default templates feature not available3468 does not set the MR description from template3469 issuable default templates feature available3470 sets the MR description from template3471Projects::UpdateService#execute3472 returns an error result when record cannot be updated3473 calls remove_import_data if mirror was disabled in previous change3474 repository mirror3475 sets mirror attributes3476 does not touch mirror_user_id for non-mirror changes3477 forbids non-admins from setting mirror_user_id explicitly3478 allows admins to set mirror_user_id3479 forces an import job3480 audit events3481 #name3482 when licensed3483 does not log audit event if operation fails3484 when operation succeeds3485 logs an audit event3486 logs the audit event info3487 when not licensed3488 does not log audit event3489 #path3490 when licensed3491 does not log audit event if operation fails3492 when operation succeeds3493 logs an audit event3494 logs the audit event info3495 when not licensed3496 does not log audit event3497 #visibility3498 when licensed3499 does not log audit event if operation fails3500 when operation succeeds3501 logs an audit event3502 logs the audit event info3503 when not licensed3504 does not log audit event3505 repository_size_limit assignment as Bytes3506 when param present3507 converts from MB to Bytes3508 when param not present3509 assign nil value3510 when there are merge requests in merge train3511 when merge pipelines option is disabled3512 drops all merge request in the train3513 when merge pipelines option stays enabled3514 does not drop all merge request in the train3515 when compliance frameworks is set3516 when framework is not blank3517 saves the framework3518 when framework is blank3519 removes the framework record3520 when compliance framework feature is disabled3521 the project had the feature before3522 does not save the new framework and retains the old setting3523 the project never had the feature3524 does not save the framework3525ComplianceManagement::ComplianceFramework::ProjectSettings3526 Associations3527 belongs to project3528 Validations3529 confirms the presence of project3530 confirms that the framework is unique for the project3531 allows all known frameworks3532 invalidates an unknown framework3533Projects::RestoreService3534 restoring project3535 marks project as unarchived and not marked for deletion3536 restoring project already in process of removal3537 does not allow to restore3538 audit events3539 saves audit event3540Projects::GroupLinks::DestroyService3541 audit events3542 when licensed3543 does not log audit event if operation fails3544 when operation succeeds3545 logs an audit event3546 logs the audit event info3547 when not licensed3548 does not log audit event3549Gitlab::Cleanup::OrphanJobArtifactFiles3550 not a Geo secondary3551 does not print cleaning Geo registries message3552UsersOpsDashboardProjects::DestroyService3553 #execute3554 with an added project3555 removes the project3556 returns the removed project3557 without projects added3558 does not remove the project3559 returns nil3560RequirementsManagement::RequirementsFinder3561 #execute3562 when requirements are enabled3563 when project is not set3564 does not return any requirements3565 when project is set3566 returns all requirements in the project3567 when state is set3568 returns matched requirements3569 when iid is set3570 returns matched requirements3571 when user can not read requirements in the project3572 does not return any requirements3573 filter by author3574 author_username: "projectusername", filtered_requirements: [:requirement1, :requirement2]3575 returns the requirements filtered3576 author_username: "nonexistent_user", filtered_requirements: []3577 returns the requirements filtered3578 author_username: nil, filtered_requirements: [:requirement3, :requirement2, :requirement1]3579 returns the requirements filtered3580 author_username: ["projectusername", "otheruser123"], filtered_requirements: [:requirement3, :requirement2, :requirement1]3581 returns the requirements filtered3582 author_username: ["nonexistentuser", "nonsense"], filtered_requirements: []3583 returns the requirements filtered3584 filter by search3585 query: "nonsense", filtered_requirements: []3586 returns the requirements filtered3587 query: "serverless", filtered_requirements: [:requirement1]3588 returns the requirements filtered3589 query: "with", filtered_requirements: [:requirement1, :requirement3]3590 returns the requirements filtered3591 query: nil, filtered_requirements: [:requirement3, :requirement2, :requirement1]3592 returns the requirements filtered3593 query: "", filtered_requirements: [:requirement3, :requirement2, :requirement1]3594 returns the requirements filtered3595 ordering3596 sort: "id_asc", ordered_requirements: [:requirement1, :requirement2, :requirement3]3597 returns the requirements ordered3598 sort: "id_desc", ordered_requirements: [:requirement3, :requirement2, :requirement1]3599 returns the requirements ordered3600 sort: "updated_at_asc", ordered_requirements: [:requirement1, :requirement3, :requirement2]3601 returns the requirements ordered3602 sort: "updated_at_desc", ordered_requirements: [:requirement2, :requirement3, :requirement1]3603 returns the requirements ordered3604 sort: "err", ordered_requirements: [:requirement3, :requirement2, :requirement1]3605 returns the requirements ordered3606 when requirements are disabled3607 when project is set3608 does not return any requirements3609UsersHelper3610 #current_user_menu_items3611 has_paid_namespace?: true, user?: true, gitlab_com?: true, user_eligible?: true3612 is expected to eq false3613 has_paid_namespace?: true, user?: true, gitlab_com?: true, user_eligible?: false3614 is expected to eq false3615 has_paid_namespace?: true, user?: true, gitlab_com?: false, user_eligible?: true3616 is expected to eq false3617 has_paid_namespace?: true, user?: true, gitlab_com?: false, user_eligible?: false3618 is expected to eq false3619 has_paid_namespace?: true, user?: false, gitlab_com?: true, user_eligible?: true3620 is expected to eq false3621 has_paid_namespace?: true, user?: false, gitlab_com?: true, user_eligible?: false3622 is expected to eq false3623 has_paid_namespace?: true, user?: false, gitlab_com?: false, user_eligible?: true3624 is expected to eq false3625 has_paid_namespace?: true, user?: false, gitlab_com?: false, user_eligible?: false3626 is expected to eq false3627 has_paid_namespace?: false, user?: true, gitlab_com?: true, user_eligible?: true3628 is expected to eq true3629 has_paid_namespace?: false, user?: true, gitlab_com?: true, user_eligible?: false3630 is expected to eq false3631 has_paid_namespace?: false, user?: true, gitlab_com?: false, user_eligible?: true3632 is expected to eq false3633 has_paid_namespace?: false, user?: true, gitlab_com?: false, user_eligible?: false3634 is expected to eq false3635 has_paid_namespace?: false, user?: false, gitlab_com?: true, user_eligible?: true3636 is expected to eq false3637 has_paid_namespace?: false, user?: false, gitlab_com?: true, user_eligible?: false3638 is expected to eq false3639 has_paid_namespace?: false, user?: false, gitlab_com?: false, user_eligible?: true3640 is expected to eq false3641 has_paid_namespace?: false, user?: false, gitlab_com?: false, user_eligible?: false3642 is expected to eq false3643 #user_badges_in_admin_section3644 when Gitlab.com? is true3645 is expected not to eq [{:text=>"Is using seat", :variant=>"light"}]3646 when user is an admin and the current_user3647 is expected to eq [{:text=>"Admin", :variant=>"success"}, {:text=>"It's you!", :variant=>nil}]3648 when Gitlab.com? is false3649 when user uses a license seat3650 is expected to eq [{:text=>"Is using seat", :variant=>"light"}]3651 when user is an admin and the current_user3652 is expected to eq [{:text=>"Admin", :variant=>"success"}, {:text=>"Is using seat", :variant=>"light"}, {:text=>"It's you!", :variant=>nil}]3653 when user does not use a license seat3654 is expected to eq []3655Vulnerabilities::IssueLinkPolicy3656 with a user authorized to admin vulnerability-issue links3657 with missing vulnerability3658 is expected to be disallowed :admin_vulnerability_issue_link3659 with missing issue3660 is expected to be disallowed :admin_vulnerability_issue_link3661 when issue and link belong to the same project3662 is expected to be allowed :admin_vulnerability_issue_link3663 when issue and link don't belong to the same project3664 is expected to be disallowed :admin_vulnerability_issue_link3665Ci::RetryBuildService3666 behaves like restricts access to protected environments3667 when build is related to a protected environment3668 when user does not have access to the environment3669 raises Gitlab::Access::DeniedError3670 when user has access to the environment3671 enqueues the build3672Metrics::Dashboard::ClusterMetricsEmbedService3673 .valid_params?3674 is expected to be truthy3675 returns false with missing param3676 returns false with missing param3677 returns false with missing param3678 returns false with missing param3679 returns false with missing param3680 missing all params3681 is expected to be falsy3682 #get_dashboard3683 returns one panel3684 returns panel by title and y_label3685 behaves like valid embedded dashboard service response3686 behaves like valid dashboard service response for schema3687 returns a json representation of the dashboard3688 behaves like caches the unprocessed dashboard for subsequent calls3689 is expected to receive safe_load(*(any args)) 1 time3690Gitlab::Auth::GroupSaml::DynamicSettings3691 exposes a settings hash3692 behaves like an enumerator for settings3693 configures requests to transfrom redirect_to to RelayState3694 sets settings from saml_provider3695 assertion_consumer_service_url3696 issuer3697 idp_cert_fingerprint3698 idp_sso_target_url3699 name_identifier_format3700 sets default settings without saml_provider3701 assertion_consumer_service_url3702 issuer3703 name_identifier_format3704 excludes configured keys3705Banzai::Filter::LabelReferenceFilter3706 with scoped labels enabled3707 renders scoped label with link to documentation3708 renders common label3709 with scoped labels disabled3710 renders scoped label as a common label3711EE::API::Entities::Analytics::CodeReview::MergeRequest3712 exposes mr attributes3713IssueSerializer3714 sidebar issue serialization3715 matches issue_sidebar json schema3716 sidebar extras issue serialization3717 matches issue_sidebar_extras json schema3718Gitlab::Ci::Parsers::Security::SecretDetection3719 #parse!3720 when parsing valid reports3721 report_format: :secret_detection3722 parses all identifiers and occurrences3723 generates expected location3724 generates expected metadata_version3725 when parsing an empty report3726 is expected to be empty3727EE::RunnersHelper3728 with notifications3729 .show_buy_pipeline_minutes?3730 when experiment is "ci_notification_dot"3731 behaves like minutes notification3732 with a project and namespace3733 when experiment is disabled3734 is expected to be falsey3735 when experiment is enabled3736 is expected to be truthy3737 without a persisted project passed3738 is expected to be truthy3739 without a persisted namespace passed3740 is expected to be truthy3741 with neither a project nor a namespace3742 is expected to be falsey3743 when show_pipeline_minutes_notification_dot? has been called before3744 does not do all the notification and query work again3745 when show notification is falsey3746 is expected to be falsey3747 when show_pipeline_minutes_notification_dot? has been called before3748 does not do all the notification and query work again3749 when experiment is "ci_minutes_version_a"3750 behaves like minutes notification3751 with a project and namespace3752 when experiment is disabled3753 is expected to be falsey3754 when experiment is enabled3755 is expected to be truthy3756 without a persisted project passed3757 is expected to be truthy3758 without a persisted namespace passed3759 is expected to be truthy3760 with neither a project nor a namespace3761 is expected to be falsey3762 when show_pipeline_minutes_notification_dot? has been called before3763 does not do all the notification and query work again3764 when show notification is falsey3765 is expected to be falsey3766 when show_pipeline_minutes_notification_dot? has been called before3767 does not do all the notification and query work again3768 .show_pipeline_minutes_notification_dot?3769 behaves like minutes notification3770 with a project and namespace3771 when experiment is disabled3772 is expected to be falsey3773 when experiment is enabled3774 is expected to be truthy3775 without a persisted project passed3776 is expected to be truthy3777 without a persisted namespace passed3778 is expected to be truthy3779 with neither a project nor a namespace3780 is expected to be falsey3781 when show_pipeline_minutes_notification_dot? has been called before3782 does not do all the notification and query work again3783 when show notification is falsey3784 is expected to be falsey3785 when show_pipeline_minutes_notification_dot? has been called before3786 does not do all the notification and query work again3787MergeRequests::PostMergeService3788 #execute3789 finalize approvals3790 executes ApprovalRules::FinalizeService3791Vulnerabilities::ResponseEntity3792 #as_json3793 contains required fields3794Autocomplete::ProjectInvitedGroupsFinder3795 #execute3796 without a project ID3797 returns an empty relation3798 with a project ID3799 returns the groups invited to the project3800layouts/nav/sidebar/_analytics3801 behaves like has nav sidebar3802 has collapsed nav sidebar on mobile3803 top-level items3804 when feature flags are enabled3805 has `Analytics` link3806 and user has access to instance statistics features3807 has `DevOps Score` link3808 has `Cohorts` link3809 and user does not have access to instance statistics features3810 no instance statistics links are rendered3811 when user has access to instance statistics features3812 has `DevOps Score` link3813 has `Cohorts` link3814 and user does not have access to instance statistics features3815 no instance statistics links are rendered3816EE::API::Helpers::MembersHelpers3817 #log_audit_event3818 behaves like creates security_event3819 with :source_type == groups3820 creates security_event3821 behaves like creates security_event3822 with :source_type == projects3823 creates security_event3824Gitlab::Auth::GroupSaml::SsoEnforcer3825 #update_session3826 stores that a session is active for the given provider3827 stores the current time for later comparison3828 #active_session?3829 returns false if nothing has been stored3830 returns true if a sign in has been recorded3831 enforced sso expiry3832 returns true if a sign in is recently recorded3833 returns false if the sign in predates the session timeout3834 #allows_access?3835 allows access when saml_provider is nil3836 prevents access when sso enforcement active but there is no session3837 allows access when sso is enforced but a saml session is active3838 when sso enforcement is disabled3839 allows access when sso enforcement is disabled3840 when saml_provider is disabled3841 allows access when saml_provider is disabled3842 .group_access_restricted?3843 is restricted3844 for a group3845 for a subgroup3846 for a project3847 for a group without a saml_provider configured3848 is not restricted3849DashboardEnvironmentsProjectEntity3850 .as_json3851 includes project attributes3852StatusPage::Storage::S3Client3853 #upload_object3854 when successful3855 returns true3856 when failed3857 raises an error3858 #delete_object3859 returns true3860 when failed3861 raises an error3862 #recursive_delete3863 when successful3864 sends keys for batch delete3865 returns true3866 list_object exeeds upload limit3867 respects upload limit3868 when list_object returns no objects3869 does not attempt to delete3870 when failed3871 raises an error3872 #list_object_keys3873 when successful3874 returns keys from bucket3875 when exceeds upload limits3876 returns result at max size3877 when list_object returns no objects3878 returns an empty set3879 when failed3880 raises an error3881Packages::Maven::Metadatum3882 relationships3883 is expected to belong to package required:3884 validations3885 is expected to validate that :package cannot be empty/falsy3886 #app_name3887 is expected to allow :app_name to be ‹"my-app"›3888 is expected not to allow :app_name to be ‹"my/app"›3889 is expected not to allow :app_name to be ‹"my(app)"›3890 #app_group3891 is expected to allow :app_group to be ‹"my.domain.com"›3892 is expected not to allow :app_group to be ‹"my/domain/com"›3893 is expected not to allow :app_group to be ‹"my(domain)"›3894 #path3895 is expected to allow :path to be ‹"my/domain/com/my-app"›3896 is expected to allow :path to be ‹"my/domain/com/my-app/1.0-SNAPSHOT"›3897 is expected not to allow :path to be ‹"my(domain)com.my-app"›3898 #maven_package_type3899 will not allow a package with a different package_type3900Milestones::PromoteService3901 #execute3902 updates board with new milestone3903ProjectTeam3904 #add_users3905 when group membership is locked3906 does not add the given users to the team3907 #add_user3908 when group membership is locked3909 does not add the given user to the team3910Boards::UserPreferences::UpdateService3911 #execute3912 when user is not present3913 does not create user preference record3914 when user is present3915 when there is no user preference3916 creates user preference3917 when there is an user preference3918 does not duplicate user preference3919 does not update user_id3920 does not update board_id3921Appearance3922 validations3923 is expected to allow :message_background_color to be ‹nil›3924 is expected to allow :message_background_color to be ‹"#000"›3925 is expected to allow :message_background_color to be ‹"#AABBCC"›3926 is expected not to allow :message_background_color to be ‹"000"›3927 is expected to allow :message_font_color to be ‹nil›3928 is expected to allow :message_font_color to be ‹"#000"›3929 is expected to allow :message_font_color to be ‹"#AABBCC"›3930 is expected not to allow :message_font_color to be ‹"000"›3931 object storage with background upload3932 when running in a Geo primary node3933 creates a Geo deleted log event for logo3934 creates a Geo deleted log event for header logo3935 creates only a Geo deleted log event for the migrated header logo3936JiraConnect::SyncMergeRequestWorker3937 #perform3938 calls JiraConnect::SyncService#execute3939 when MR no longer exists3940 does not call JiraConnect::SyncService3941GroupMembersFinder3942 #not_managed3943 returns non-owners without group managed accounts3944Packages::Nuget::DependencyLinkMetadatum3945 relationships3946 is expected to belong to dependency_link required:3947 validations3948 is expected to validate that :dependency_link cannot be empty/falsy3949 is expected to validate that :target_framework cannot be empty/falsy3950 #ensure_nuget_package_type3951 validates package of type nuget3952 validates package of type nuget with nil dependency_link3953EE::API::Entities::Scim::UserName3954 contains the name3955 contains the first name3956 contains the last name3957ProjectWiki3958 behaves like EE wiki model3959 uses Elasticsearch3960 #kerberos_url_to_repo3961 returns valid kerberos url for this repo3962Gitlab::Auth3963 with kerberos3964 finds user3965 #build_access_token_check3966 for running build3967 executes query using primary database3968projects/on_demand_scans/index3969 renders Vue app root3970 passes on-demand scans docs page URL3971EE::API::Entities::VulnerabilityExport3972 contains vulnerability export properties3973RemoteMirror3974 #sync3975 as a Geo secondary3976 returns nil3977FeatureFlagEntity3978 has feature flag attributes3979DesignManagement::DeleteDesignsService3980 #execute3981 when service is successful3982 calls repository#log_geo_updated_event3983 when service errors3984 does not call repository#log_geo_updated_event3985AuditEvent3986 relationships3987 is expected to belong to user required:3988 validations3989 is expected to validate that :author_id cannot be empty/falsy3990 is expected to validate that :entity_id cannot be empty/falsy3991 is expected to validate that :entity_type cannot be empty/falsy3992 .by_entity3993 returns the correct audit events3994 .order_by3995 when sort by created_at in ascending order3996 sorts results by id in ascending order3997 when it is default3998 sorts results by id in descending order3999 #author_name4000 when user exists4001 returns user name4002 when user does not exist anymore4003 when details contains author_name4004 returns author_name4005 when details does not contains author_name4006 returns nil4007 when authored by an unauthenticated user4008 returns `An unauthenticated user`4009 #entity4010 when entity exists4011 returns the entity object4012 when entity does not exist4013 returns a NullEntity4014 #present4015 returns a presenter4016 #formatted_details4017 converts value of `to` and `from` in `details` to string4018EE::AuthHelper4019 button_based_providers4020 excludes group_saml4021 providers_for_base_controller4022 excludes group_saml4023 form_based_providers4024 includes kerberos provider4025 form_based_auth_provider_has_active_class?4026 selects main LDAP server4027 form_based_providers4028 with smartcard_auth feature flag off4029 does not include smartcard provider4030 with smartcard_auth feature flag on4031 includes smartcard provider4032 smartcard_enabled_for_ldap?4033 LDAP server with optional smartcard auth4034 returns true4035 returns false with required flag4036 LDAP server with required smartcard auth4037 returns true4038 returns true with required flag4039 LDAP server with disabled smartcard auth4040 returns false4041 returns false with required flag4042 no matching LDAP server4043 returns false4044 smartcard_login_button_classes4045 when smartcard auth is optional4046 returns the correct CSS classes4047 when smartcard auth is required4048 returns the correct CSS classes4049Peek::Views::Elasticsearch4050 #results4051 includes performance details4052EpicsHelper4053 #epic_endpoint_query_params4054 includes Epic specific options in JSON format4055 includes data provided in param4056 #epic_state_dropdown_link4057 returns the active link when selected state is same as the link4058 returns the non-active link when selected state is different from the link4059 #epic_state_title4060 returns "Open" when the state is opened4061 returns humanized string when the state is other than opened4062 #epic_timeframe4063 when both dates are from the same year4064 returns start date with year omitted and end date with year4065 when both dates are from different years4066 returns start date with year omitted and end date with year4067 when only start date is present4068 returns start date with year4069 when only end date is present4070 returns end date with year4071Group routing routing4072 subgroup "boards"4073 shows group show page4074 shows boards index page4075 security4076 shows group dashboard4077 lists vulnerabilities4078 shows vulnerability summary4079 shows vulnerability history4080 dependency proxy for containers4081 image name without namespace4082 routes to #manifest4083 routes to #blob4084 does not route to #blob with an invalid sha4085 does not route to #blob with an invalid image4086 image name with namespace4087 routes to #manifest4088 routes to #blob4089 hooks4090 routes to hooks edit page4091 packages4092 routes to packages index page4093 issues4094 routes post to #bulk_update4095 merge_requests4096 routes post to #bulk_update4097 epics4098 routes post to #bulk_update4099Users::BuildService4100 #execute4101 with an admin user4102 allowed params4103 with identity4104 sets all allowed attributes4105 with scim identity4106 passes allowed attributes to both scim and saml identity4107 smartcard authentication enabled4108 smartcard params4109 sets smartcard identity attributes4110 missing smartcard params4111 works as expected4112Gitlab::Ci::Config4113 processes the required includes4114Types::VulnerabilityType4115 is expected to have graphql fields :userPermissions, :id, :title, :description, :user_notes_count, :state, :severity, :report_type, :vulnerability_path, :location, :project, and :issueLinks4116 is expected to require graphql authorizations :read_vulnerability4117 vulnerability_path4118 is the path to the vulnerability's detail page4119Analytics::CycleAnalytics::Stages::ListService4120 returns only the default stages4121 provides the default stages as non-persisted objects4122 behaves like permission check for cycle analytics stage services4123 when user has no access4124 is expected to be error4125 is expected to eq :forbidden4126 when license is missing4127 is expected to be error4128 is expected to eq :forbidden4129 when there are persisted stages4130 returns the persisted stages in order4131Ci::ExternalPullRequests::ProcessGithubEventService4132 #execute4133 when project is not a mirror4134 does nothing4135 when project is a mirror4136 when the pull request record does not exist4137 when the pull request webhook occurs after mirror update4138 creates a pipeline and the external pull request4139 when the pull request webhook occurs before mirror update4140 only saves pull request info4141 when the pull request record already exists4142 when pull request webhook action is "synchronize"4143 behaves like updates pull request4144 updates the pull request without creating any pipeline4145 when pull request webhook action is "closed"4146 behaves like updates pull request4147 updates the pull request without creating any pipeline4148 when pull request webhook action is "reopened"4149 behaves like updates pull request4150 updates the pull request without creating any pipeline4151 when pull request webhook action is unsupported4152 returns nil4153 when pull request webhook any missing params4154 returns a pull request with errors4155 without license4156 does nothing4157Upload4158 #destroy4159 when running in a Geo primary node4160 logs an event to the Geo event log4161Integrations::Test::ProjectService4162 #execute4163 without event specified4164 GitHubService4165 behaves like tests for integration with pipeline data4166 tests the integration with pipeline data4167Resolvers::IssuesResolver4168 with a project4169 #resolve4170 sorting4171 when sorting by weight4172 sorts issues ascending4173 sorts issues descending4174Packages::Pypi::CreatePackageService4175 #execute4176 without an existing package4177 creates the package4178 with an existing package4179 with an existing file4180 replaces the file4181 without an existing file4182 adds the file4183UserPreference4184 roadmap_epics_state4185 when set to open epics4186 behaves like updates roadmap_epics_state4187 saves roadmap_epics_state in user_preference4188 when set to closed epics4189 behaves like updates roadmap_epics_state4190 saves roadmap_epics_state in user_preference4191 when reset to all epics4192 behaves like updates roadmap_epics_state4193 saves roadmap_epics_state in user_preference4194UserAnalyticsEntity4195 has all the user attributes4196 fetches push events for the user from the request4197 fetches issues_created events for the user from the request4198 fetches issues_closed events for the user from the request4199 fetches merge_requests_created events for the user from the request4200 fetches merge_requests_merged events for the user from the request4201 fetches merge_requests_approved events for the user from the request4202 fetches total_events events for the user from the request4203 sets 0 as the total when there were no events for a type4204Gitlab::Auth::GroupSaml::TokenActor4205 valid token4206 is valid for the group4207 invalid token4208 is invalid for the group4209 missing token4210 is invalid for the group4211 when geo prevents saml_provider from having a token4212 prevents nil token from allowing access4213Gitlab::Auth::Smartcard::Session4214 #active?4215 with a smartcard session4216 is expected to be truthy4217 without any session4218 is expected to be falsey4219 #update_active4220 stores the time of last sign-in4221Packages::Go::ModuleVersion4222 #name4223 with ref and name specified4224 returns that name4225 with ref specified and name unspecified4226 returns the name of the ref4227 with ref and name unspecified4228 returns nil4229 #gomod4230 with go.mod missing4231 returns nil4232 with go.mod present4233 returns the contents of go.mod4234 #files4235 with a root module4236 with an empty module path4237 behaves like #files4238 returns all the files4239 with a root module and a submodule4240 with an empty module path4241 behaves like #files4242 returns files excluding the submodule4243 with the submodule's path4244 behaves like #files4245 returns the submodule's files4246 #archive4247 with a root module4248 with an empty module path4249 behaves like #archive4250 returns an archive of all the files4251 with a root module and a submodule4252 with an empty module path4253 behaves like #archive4254 returns an archive of files excluding the submodule4255 with the submodule's path4256 behaves like #archive4257 returns an archive of the submodule's files4258layouts/nav/sidebar/_push_rules_link4259 license includes push rules feature4260 shows the link4261 license does not include push rules feature4262 hides the link4263ContainerRegistry::Client4264 #push_blob4265 PUT /v2/:name/blobs/uploads/url?digest=mytag4266 raises error if response status is not 2004267 #push_manifest4268 PUT v2/:name/manifests/:tag4269 raises error if response status is not 2004270 #blob_exists?4271 returns true4272 returns false4273 #repository_raw_manifest4274 GET "/v2/:name/manifests/:reference4275 #pull_blob4276 downloads file successfully when4277 raises error when it can not download blob4278 raises error when request is not authenticated4279 when primary_api_url is specified with trailing slash4280 builds correct URL4281 direct link to download, no redirect4282 downloads blob successfully4283OnboardingExperimentHelper4284 .allow_access_to_onboarding?4285 when we're not gitlab.com4286 returns false4287 when we're gitlab.com4288 and the :user_onboarding feature is not enabled4289 returns false4290 and the :user_onboarding feature is enabled4291 but there is no current_user4292 returns true4293 and there is a current_user4294 but experiment_growth_onboarding has not been set4295 returns true4296 and experiment_growth_onboarding has been set4297 checks if feature is enabled for current_user4298Security::MergeReportsService#execute4299 copies scanners into target report and eliminates duplicates4300 copies identifiers into target report and eliminates duplicates4301 deduplicates (except cwe and wasc) and sorts the vulnerabilities by severity (desc) then by compare key4302 ordering reports for dependency scanning analyzers4303 when reports are gathered in an unprioritized order4304 is expected to eql #<Gitlab::Ci::Reports::Security::Scanner:0x0000556b40a7dbf8 @external_id="bundler_audit", @name="bundler-audit">, #<Gitlab::Ci::Reports::Security::Scanner:0x0000556b4055abf8 @external_id="retire.js", @name="Retire.js">, and #<Gitlab::Ci::Reports::Security::Scanner:0x0000556b3ff54f88 @external_id="gemnasium", @name="gemnasium">4305 is expected to eq 24306 is expected to contain exactly #<Gitlab::Ci::Reports::Security::Identifier:0x0000556b420ba880 @external_id="CVE-2019-123", @external...="cve", @name="cve-CVE-2019-123", @url=nil, @fingerprint="6d834ff5767ac7544bef36b0e9996a9a3d6da5f1">4307 is expected to contain exactly #<Gitlab::Ci::Reports::Security::Identifier:0x0000556b42171558 @external_id="NPM-13", @external_type="npm", @name="npm-NPM-13", @url=nil, @fingerprint="ca12d3bf327f69eb5ccc69dc5c164630b1f4fd36">4308 when a custom analyzer is completed before the known analyzers4309 is expected to eql #<Gitlab::Ci::Reports::Security::Scanner:0x0000556b422c08f0 @external_id="bundler_audit", @name="bundler-audit">, #<Gitlab::Ci::Reports::Security::Scanner:0x0000556b4229db98 @external_id="retire.js", @name="Retire.js">, and #<Gitlab::Ci::Reports::Security::Scanner:0x0000556b4226b9e0 @external_id="scanner-2", @name="Scanner 2">4310 is expected to eq 34311 is expected to contain exactly #<Gitlab::Ci::Reports::Security::Identifier:0x0000556b425567b8 @external_id="VULN-2", @external_type=...ner-2", @name="scanner-2-VULN-2", @url=nil, @fingerprint="8e683704c05c3d223f7572623a39cdf39ecc5f15"> and #<Gitlab::Ci::Reports::Security::Identifier:0x0000556b425639b8 @external_id="CVE-2019-456", @external...="cve", @name="cve-CVE-2019-456", @url=nil, @fingerprint="47c8c718e4355e29c0b8e87fd62c2c7da65911dd">4312Gitlab::Vulnerabilities::ContainerScanningVulnerability4313 getters4314 getter: :severity4315 returns right value4316 getter: :confidence4317 returns right value4318 getter: :identifiers4319 returns right value4320 getter: :links4321 returns right value4322 getter: :target_branch4323 returns right value4324 getter: :remediations4325 returns right value4326 #title4327 when there is a name4328 returns the provided name4329 when there is no featurename4330 formats title using the vulnerability only4331 when there is a featurename4332 formats title using the featurename4333 #description4334 when there is a description4335 returns the provided description4336 when there is no featurename4337 formats description using the namespace4338 when there is no featureversion4339 formats description using the featurename only4340 when featurename and featureversion are present4341 formats description using the featurename and featureversion4342 #solution4343 when there is a solution4344 returns the provided solution4345 when there is no fixedby4346 returns nil4347 when there is no featurename4348 formats solution using the fixedby only4349 when there is no featureversion4350 formats solution using the featurename only4351 when featurename and featureversion are present4352 formats solution using the featurename and featureversion4353Gitlab::ExpiringSubscriptionMessage4354 message4355 subscribable installed4356 subscribable should not notify admins4357 returns nil4358 subscribable should notify admins4359 admin signed in4360 subscribable expired4361 when it blocks changes4362 when it is currently blocking changes4363 has a nice subject4364 no namespace4365 has an expiration blocking message4366 with namespace4367 has an expiration blocking message4368 is auto_renew4369 has a nice subject4370 has an expiration blocking message4371 when it is not currently blocking changes4372 has a nice subject4373 has an expiration blocking message4374 subscribable is expiring soon4375 has a nice subject4376 without namespace4377 has an expiration blocking message4378 with namespace4379 has gold plan specific messaging4380 has silver plan specific messaging4381 has bronze plan specific messaging4382 is auto_renew4383 has a nice subject4384 has an expiration blocking message4385 no subscribable installed4386 is expected to be blank4387Gitlab::Database::LoadBalancing::SrvResolver4388 #address_for4389 when additional section contains an A record4390 returns an IP4 address4391 when additional section contains an AAAA record4392Net::DNS unsupported record type: uninitialized constant Net::DNS::RR::OPT4393Did you mean? Net::DNS::OPT4394 returns an IP6 address4395 when additional section does not contain A nor AAAA records4396 when host resolves to an A record4397 returns an IP4 address4398 when host does resolves to an AAAA record4399Net::DNS unsupported record type: uninitialized constant Net::DNS::RR::OPT4400Did you mean? Net::DNS::OPT4401 returns an IP6 address4402Gitlab::Vulnerabilities::StandardVulnerability4403 inherits from Gitlab::Vulnerabilities::BaseVulnerability4404 #severity4405 when severity is present4406 returns severity4407 when severity is not set4408 returns nil4409 #confidence4410 when confidence is present4411 returns confidence4412 when confidence is not set4413 returns nil4414 #solution4415 when solution is present4416 returns solution4417 when solution is not set4418 returns nil4419 #identifiers4420 when identifiers is present4421 returns identifiers4422 when identifiers is not set4423 returns nil4424 #links4425 when links is present4426 returns links4427 when links is not set4428 returns nil4429 #title4430 when title is present4431 returns title4432 when title is not set4433 fallbacks to name4434 when title and name are not set4435 returns nil4436 #description4437 when description is present4438 returns description4439 when description is not set4440 fallbacks to title4441 when description and title are not set4442 fallbacks to name4443 when title, name and description are not set4444 returns nil4445 #file4446 when file is present4447 returns file4448 when file is not set4449 fallbacks to location4450 when file and location are not set4451 returns nil4452 #line4453 when line is present4454 returns line4455 when line is not set4456 fallbacks to location4457 when line and location are not set4458 returns nil4459 #location_text4460 when line is nil4461 returns a string with file4462 when line is present4463 returns a string with file and line4464 #location_link4465 when blob_path is nil4466 returns file path4467 when line is present4468 returns a string with file and line4469SystemCheck::App::ElasticsearchCheck4470 #skip?4471 with elasticsearch disabled4472 returns true4473 with elasticsearch enabled4474 returns false4475 #check?4476 version: "2.3.0", result: false4477 is expected to eq false4478 version: "5.3.1", result: false4479 is expected to eq false4480 version: "5.6.0", result: false4481 is expected to eq false4482 version: "5.6.6", result: false4483 is expected to eq false4484 version: "6.0.0", result: true4485 is expected to eq true4486 version: "6.4.2", result: true4487 is expected to eq true4488 version: "7.1.0", result: true4489 is expected to eq true4490 version: "7.5.1", result: true4491 is expected to eq true4492Gitlab::Database::LoadBalancing::Sticking4493 .stick_if_necessary4494 when sticking is disabled4495 does not perform any sticking4496 when sticking is enabled4497 does not stick if no write was performed4498 sticks to the primary if a write was performed4499 .all_caught_up?4500 returns true if no write location could be found4501 returns true, and unsticks if all secondaries have caught up4502 return false if the secondaries have not yet caught up4503 .unstick_or_continue_sticking4504 simply returns if no write location could be found4505 unsticks if all secondaries have caught up4506 continues using the primary if the secondaries have not yet caught up4507 .stick4508 when sticking is disabled4509 does not perform any sticking4510 when sticking is enabled4511 sticks an entity to the primary4512 .unstick4513 removes the sticking data from Redis4514 .last_write_location_for4515 returns the last WAL write location for a user4516 .redis_key_for4517 returns a String4518 .load_balancer4519 returns a the load balancer4520Gitlab::Ci::YamlProcessor4521 Bridge Needs4522 needs upstream pipeline4523 creates jobs with valid specification4524 needs both job and pipeline4525 creates jobs with valid specification4526 needs cross projects artifacts4527 creates jobs with valid specification4528 needs cross projects artifacts and pipelines4529 returns errors4530 with invalid needs cross projects artifacts4531 returns errors4532LdapFilterValidator4533 #validates_each4534 adds a message when the filter is not valid4535 has no errors when is valid4536Gitlab::Graphql::Aggregations::Epics::EpicNode4537 #initialize4538 behaves like setting attributes based on the first record4539 sets epic attributes based on the first record4540 behaves like setting attributes based on the first record4541 sets epic attributes based on the first record4542 recursive totals4543 an epic with no child epics4544 with no child issues4545 has the correct aggregates4546 behaves like has_issues?4547 returns false4548 with an issue with 0 weight4549 has the correct aggregates4550 behaves like has_issues?4551 returns true4552 with an open issue with nonzero weight4553 has the correct aggregates4554 behaves like has_issues?4555 returns true4556 with a closed issue with nonzero weight4557 behaves like has_issues?4558 returns true4559 an epic with child epics4560 with a child that has issues of nonzero weight4561 has the correct aggregates4562 behaves like has_issues?4563 returns false4564Gitlab::SPDX::Catalogue4565 #version4566 is expected to eql "99363145-6006-44b1-937b-4b1969200618"4567 #each4568 is expected to eql 3964569 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"4570 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"4571 is expected to be truthy4572 is expected to be falsey4573 when some of the licenses are missing an identifier4574 is expected to equal 14575 is expected to contain exactly "valid"4576 when the schema of each license changes4577 is expected to be zero4578 when the schema of the catalogue changes4579 is expected to be zero4580 .latest4581 when the licenses.json endpoint is healthy4582 is expected to equal #<InstanceDouble(Gitlab::SPDX::Catalogue) (anonymous)>4583Gitlab::Elastic::Client4584 .build4585 without credentials4586 makes unsigned requests4587 with AWS IAM static credentials4588 signs_requests4589 .resolve_aws_credentials4590 when the AWS IAM static credentials are valid4591 returns credentials from static credentials without making an HTTP request4592 when the AWS IAM static credentials are invalid4593 with AWS ec2 instance profile4594 returns credentials from ec2 instance profile4595 with AWS no credentials4596 returns nil4597AdjournedGroupDeletionWorker4598 #perform4599 only schedules to delete groups marked for deletion on or before the specified `deletion_adjourned_period`4600 does not schedule to delete a group not marked for deletion4601 does not schedule to delete a group that is marked for deletion after the specified `deletion_adjourned_period`4602GroupSaml::SamlProvider::CreateService4603 updates SAML provider with given params4604World4605 .all_countries4606 does not return countries that are in the denied list4607 .countries_for_select4608 returns list of country name and iso_code in alphabetical format4609 .states_for_country4610 returns a list of state names for a country in alphabetical order4611 returns nil when given country cannot be found4612 .alpha3_from_alpha24613 returns the three letter abbreviated country name4614 returns nil when given country cannot be found4615LicenseTemplateFinder4616 #execute4617 custom templates enabled4618 returns custom templates4619 popular_only requested4620 does not return any custom templates4621 a custom template is specified by name4622 returns the custom template if its name is specified4623 custom templates disabled4624 does not return any custom templates4625ProjectsFinder4626 #execute4627 filter by plans4628 with gold plan4629 is expected to contain exactly #<Project id:1100 namespace973/project1058>> and #<Project id:1101 namespace974/project1059>>4630 with multiple plans4631 is expected to contain exactly #<Project id:1100 namespace973/project1058>>, #<Project id:1101 namespace974/project1059>>, and #<Project id:1102 namespace975/project1060>>4632 with other plans4633 is expected to be empty4634 without plans4635 is expected to contain exactly #<Project id:1100 namespace973/project1058>>, #<Project id:1101 namespace974/project1059>>, #<Project id:1102 namespace975/project1060>>, and #<Project id:1103 namespace976/project1061>>4636 with empty plans4637 is expected to contain exactly #<Project id:1100 namespace973/project1058>>, #<Project id:1101 namespace974/project1059>>, #<Project id:1102 namespace975/project1060>>, and #<Project id:1103 namespace976/project1061>>4638Security::Scan4639 associations4640 is expected to belong to build required:4641 is expected to have one pipeline class_name => Ci::Pipeline through build4642 validations4643 is expected to validate that :build_id cannot be empty/falsy4644 is expected to validate that :scan_type cannot be empty/falsy4645 behaves like having unique enum values4646 has unique values in "scan_type"4647Gitlab::Ci::Config::Entry::Needs4648 validations4649 when entry config value is correct4650 #valid?4651 is expected to be valid4652 when wrong needs type is used4653 #valid?4654 is expected not to be valid4655 #errors4656 returns error about incorrect type4657 when bridge needs has wrong attributes4658 #valid?4659 is expected not to be valid4660 with too many cross dependencies4661 #valid?4662 is expected not to be valid4663 #errors4664 returns error about incorrect type4665 .compose!4666 when valid job entries composed4667 is valid4668 #value4669 returns key value4670 #descendants4671 creates valid descendant nodes4672Packages::Go::Module4673 #path_valid?4674 with root path4675 with major version 04676 returns true4677 with major version 14678 returns true4679 with major version 24680 returns false4681 with path ./v24682 with major version 04683 returns false4684 with major version 14685 returns false4686 with major version 24687 returns true4688 #gomod_valid?4689 with good gomod4690 returns true4691 with bad gomod4692 returns false4693 with empty gomod4694 returns false4695Gitlab::CIDR4696 validation4697 raises an exception when an octet is invalid4698 raises an exception when a bitmask is invalid4699 raises an exception when one IP from a set is invalid4700 matching4701 values: "192.1.1.1", ip: "192.1.1.1", match: true4702 is expected to eq true4703 values: "192.1.1.1, 192.1.2.1", ip: "192.1.2.1", match: true4704 is expected to eq true4705 values: "192.1.1.0/24", ip: "192.1.1.223", match: true4706 is expected to eq true4707 values: "192.1.0.0/16", ip: "192.1.223.223", match: true4708 is expected to eq true4709 values: "192.1.0.0/16, 192.1.2.0/24", ip: "192.1.2.223", match: true4710 is expected to eq true4711 values: "192.1.0.0/16", ip: "192.2.1.1", match: false4712 is expected to eq false4713 values: "192.1.0.1", ip: "192.2.1.1", match: false4714 is expected to eq false4715VulnerabilityExports::ExportDeletionWorker4716 #perform4717 when vulnerability export does not exist4718 does not raise exception4719 does not delete any vulnerability export from database4720 when vulnerability export exists4721 when destroy can be performed successfully4722 destroys vulnerability export4723 when destroy fails4724 raises exception4725Gitlab::UsageDataCounters::LicensesList4726 behaves like a redis usage counter4727 .count(views)4728 increments the LicensesList views counter by 14729 .read(views)4730 returns the total number of views events4731 behaves like a redis usage counter with totals4732 totals4733 can report all totals4734 unknown events4735 cannot increment4736 cannot read4737Gitlab::Middleware::IpRestrictor4738 #call4739 calls ip address state to set the address4740 calls ip address state to nullify the address4741WARNING: 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)>'.4742 calls ip address state to nullify the address when app raises an error4743 when it is internal endpoint4744 does not call ip address state to set the address4745StatusPage::IncidentCommentsFinder4746 #all4747 when limit is higher than the colletion size4748 is expected to eq [#<Note id: 76, note: [FILTERED], noteable_type: "Issue", author_id: 2402, created_at: "2020-06-17 17...n_version: 1376256, change_position: nil, resolved_by_push: nil, review_id: nil, confidential: nil>]4749 when limit is lower than the colletion size4750 is expected to eq [#<Note id: 76, note: [FILTERED], noteable_type: "Issue", author_id: 2402, created_at: "2020-06-17 17...n_version: 1376256, change_position: nil, resolved_by_push: nil, review_id: nil, confidential: nil>]4751 award emoji4752 ensures that emoji exists4753Gitlab::SeatLinkData4754 #initialize4755 when passing no params4756 returns object with default attributes set4757 when passing params4758 returns object with given attributes set4759 when passing date param only4760 returns object with attributes set using given date4761 .to_json4762 is expected to delegate #to_json to the #data object4763 returns payload data as a JSON string4764Security::ScannedResourcesCountingService#execute4765 The Pipeline has security builds4766 All report types are requested4767 is expected to match (a hash including {"sast" => 12, "dast" => 34, "container_scanning" => 0, "dependency_scanning" => 0})4768 Only the report type dast is requested4769 is expected to eq {"dast"=>34}4770 The Pipeline has no security builds4771 is expected to match (a hash including {"sast" => 0, "dast" => 0, "container_scanning" => 0, "dependency_scanning" => 0})4772 performance4773 performs only one query4774trials/_skip_trial.html.haml4775 without glm_source4776 displays skip trial4777 with glm_source4778 displays skip trial when using about.gitlab.com4779 displays go back to GitLab when using GitLab.com4780Gitlab::Auth::GroupSaml::ResponseCheck4781 validations4782 with blank NameID4783 adds an error4784 when NameID doesn't match the stored value4785 warns that NameID has changed and will break sign in4786 with non-persistent NameID Format4787 adds a warning4788 with email for NameID and format4789 only warns on the NameID but not the format4790 with a stored NameID4791 doesn't warn because making changes will break SSO4792 with an invalid XML response4793 reuses the validation errors from ruby-saml4794Gitlab::Ci::Reports::Security::Scanner4795 #initialize4796 when all params are given4797 initializes an instance4798 when attribute external_id is missing4799 raises an error4800 when attribute name is missing4801 raises an error4802 #key4803 returns external_id4804 #to_hash4805 returns expected hash4806 #==4807 when external_id is equal4808 returns true4809 when external_id is different4810 returns false4811Gitlab::Prometheus::Queries::ClusterQuery4812 load cluster metrics from yaml4813 sends queries to prometheus4814RoadmapsHelper4815 #roadmap_layout4816 guest4817 is sourced from params if exists4818 returns default if params do not exist4819 logged in4820 is sourced from User#roadmap_layout4821 #roadmap_sort_order4822 guest4823WARNING: 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)>'.4824 returns default sort order4825 user without preferences set4826 returns default sort order4827 user with preference set4828 returns saved user preference4829Elastic::IndexProjectsByRangeService4830 #execute4831 when without project4832 does not err4833 when range not specified4834 schedules for all projects4835 respects batch_size setting4836 when range specified4837 schedules for projects within range4838 respects batch_size setting4839DependencyProxy::Registry4840 image name without namespace4841 #auth_url4842 returns a correct auth url4843 #manifest_url4844 returns a correct manifest url4845 #blob_url4846 returns a correct blob url4847 image name with namespace4848 #auth_url4849 returns a correct auth url4850 #manifest_url4851 returns a correct manifest url4852 #blob_url4853 returns a correct blob url4854DependencyProxy::GroupSetting4855 relationships4856 is expected to belong to group required:4857 validations4858 is expected to validate that :group cannot be empty/falsy4859Gitlab::Ci::Reports::Security::Locations::DependencyScanning4860 behaves like vulnerability location4861 #initialize4862 when all params are given4863 initializes an instance4864 param: :file_path4865 when param file_path is missing4866 raises an error4867 param: :package_name4868 when param package_name is missing4869 raises an error4870 #fingerprint4871 generates expected fingerprint4872 #==4873 returns true when fingerprints are equal4874 returns false when fingerprints are different4875Resolvers::PackagesResolver4876 #resolve4877 when the package feature is enabled4878 when the project has the package feature enabled4879 is expected to contain exactly #<Packages::Package id: 76, project_id: 1111, created_at: "2020-06-17 17:17:12", updated_at: "2020-06-17 17:17:12", name: "my/company/app/my-app", version: "1.26-SNAPSHOT", package_type: "maven">4880 when the project has the package feature disabled4881 is expected to be nil4882 when the package feature is not enabled4883 is expected to be nil4884Gitlab::Jira::Middleware4885 .jira_dvcs_connector?4886 returns true when DVCS connector4887 returns true if user agent starts with "Jira DVCS Connector"4888 returns false when not DVCS connector4889 #call4890 adjusts HTTP_AUTHORIZATION env when request from Jira DVCS user agent4891 does not change HTTP_AUTHORIZATION env when request is not from Jira DVCS user agent4892Gitlab::UsageCounters::DependencyList4893 behaves like a usage counter4894 .increment4895 intializes and increments the counter for the project by 14896 .usage_totals4897 when the feature has not been used4898 returns the total counts and counts per project4899 when the feature has been used in multiple projects4900 returns the total counts and counts per project4901Types::TimelogType4902 is expected to eq "Timelog"4903 is expected to have graphql fields :date, :spent_at, :time_spent, :user, and :issue4904 is expected to require graphql authorizations :read_group_timelogs4905 user field4906 returns user4907 issue field4908 returns issue4909Gitlab::Audit::Levels::Group4910 #apply4911 when audit_log_group_level feature enabled4912 finds all group and project events4913 when audit_log_group_level feature disabled4914 finds all group events4915Gitlab::Ci::Reports::Security::AggregatedReport4916 #created_at4917 no reports4918 has no created date4919 report with no created date4920 has no created date4921 has reports4922 has oldest created date4923Gitlab::Analytics::CycleAnalytics::StageEvents::IssueFirstMentionedInCommit4924 behaves like cycle analytics event4925 is expected to be a kind of String4926 is expected to be a kind of Symbol4927 is expected to include ApplicationRecord(abstract)4928 is expected to respond to #timestamp_projection4929 #apply_query_customization4930 expects an ActiveRecord::Relation object as argument and returns a modified version of it4931Elastic::Latest::Config4932 .document_type4933 returns config4934 .settings4935 returns config4936 .mappings4937 returns config4938Admin::EmailService4939 #execute4940 when we can obtain the lease4941 schedules the worker4942 when we can't obtain the lease4943 does not schedule the worker4944Packages::Nuget::ServiceIndexPresenter4945 #version4946 is expected to eq "3.0.0"4947 #resources4948 has valid resources4949Gitlab::Vulnerabilities::Parser4950 .fabricate4951 with standard categories4952 returns a Standard Vulnerability4953 with container scanning as category4954 returns a Scanning Vulnerability4955 with an invalid category4956 raises an exception4957EE::API::Entities::Scim::Error4958 contains the schemas4959 contains the detail4960 contains the status4961EE::Gitlab::Auth::Ldap::AccessLevels4962 #set4963 when access_levels is empty4964 is expected to eq {"uid=janedoe,ou=users,dc=example,dc=com"=>30, "uid=johndoe,ou=users,dc=example,dc=com"=>30}4965 when access_hash has existing entries4966 keeps the higher of all access values4967EE::API::Entities::Scim::Conflict4968 contains the schemas4969 contains the detail4970 contains the status4971EE::API::Entities::Scim::NotFound4972 contains the schemas4973 contains the detail4974 contains the status4975FlipperSession4976 #flipper_id4977 without passing in an ID4978 returns a flipper_session:UUID4979 passing in an ID4980 returns a flipper_session:def4564981Types::EpicStateEnum4982 is expected to eq "EpicState"4983 exposes all the existing epic states4984Security::JobsFinder4985 is an abstract class that does not permit instantiation4986 .allowed_job_types4987 must be implemented by child classes4988Types::RequirementsManagement::RequirementStatesCountType4989 is expected to eq "RequirementStatesCount"4990 has specific fields4991SortingHelper4992 #sort_direction_icon4993 returns lowest for weight4994 behaves like non-ee for other sort values4995Types::HealthStatusEnum4996 is expected to eq "HealthStatus"4997 exposes all the existing epic sort orders4998EE::API::Entities::Nuget::PackageMetadataCatalogEntry4999 is expected to eq {:@id=>"http://sandbox.com/json/package", :authors=>"Authors", :dependencyGroups=>[], :iconUrl=>"http...tUrl=>"http://sandbox.com/project", :summary=>"Summary", :tags=>"tag1 tag2 tag3", :version=>"1.2.3"}5000EE::ShaAttribute5001 #sha_attribute5002 when in non-production5003 when Geo database is not configured5004 allows the attribute to be added5005EE::API::Entities::Nuget::Dependency5006 is expected to eq {:@id=>"http://gitlab.com/Sandbox.App/1.0.0.json#dependency", :@type=>"PackageDependency", :id=>"Dependency", :range=>"2.0.0"}5007Types::VulnerabilityLocation::DastType5008 is expected to have graphql fields :hostname, :param, :path, and :request_method5009Types::VulnerabilityReportTypeEnum5010 exposes all vulnerability report types5011Service5012 Available services5013 is expected to include "github" and "jenkins"5014admin/push_rules/_merge_request_approvals5015 shows settings form5016 when show compliance merge request approval settings5017 shows compliance framework content5018 when not show compliance merge request approval settings5019 shows non-compliance framework content5020Knapsack report was generated. Preview:5021{5022 "ee/spec/services/quick_actions/interpret_service_spec.rb": 47.816181659698486,5023 "ee/spec/helpers/ee/groups_helper_spec.rb": 29.15752601623535,5024 "ee/spec/services/vulnerability_feedback/create_service_spec.rb": 35.19109916687012,5025 "ee/spec/models/user_spec.rb": 20.538106679916382,5026 "ee/spec/views/layouts/nav/sidebar/_project.html.haml_spec.rb": 17.440492153167725,5027 "ee/spec/lib/gitlab/analytics/cycle_analytics/summary/group/stage_summary_spec.rb": 22.393146276474,5028 "ee/spec/models/concerns/elastic/repository_spec.rb": 17.176061630249023,5029 "ee/spec/lib/gitlab/analytics/type_of_work/tasks_by_type_spec.rb": 16.635286808013916,5030 "ee/spec/services/ee/issues/create_service_spec.rb": 9.10553526878357,5031 "ee/spec/models/concerns/elastic/project_spec.rb": 8.228581428527832,5032 "ee/spec/models/ci/pipeline_spec.rb": 12.475669384002686,5033 "ee/spec/models/approval_project_rule_spec.rb": 9.92563533782959,5034 "ee/spec/lib/gitlab/checks/diff_check_spec.rb": 11.203453063964844,5035 "ee/spec/services/ci/compare_sast_reports_service_spec.rb": 10.283827781677246,5036 "ee/spec/models/repository_spec.rb": 9.773653984069824,5037 "ee/spec/services/merge_trains/refresh_merge_request_service_spec.rb": 7.982208728790283,5038 "ee/spec/services/vulnerabilities/create_service_spec.rb": 5.964813947677612,5039 "ee/spec/services/epic_links/update_service_spec.rb": 6.116056203842163,5040 "ee/spec/lib/gitlab/legacy_github_import/project_creator_spec.rb": 6.2113518714904785,5041 "ee/spec/finders/security/security_jobs_finder_spec.rb": 4.335503816604614,5042 "ee/spec/models/gitlab_subscription_spec.rb": 5.780348777770996,5043 "ee/spec/finders/groups_with_templates_finder_spec.rb": 4.844013452529907,5044 "ee/spec/serializers/status_page/incident_entity_spec.rb": 4.750300407409668,5045 "ee/spec/models/license_spec.rb": 3.868791103363037,5046 "ee/spec/models/concerns/elastic/issue_spec.rb": 6.992019891738892,5047 "ee/spec/lib/gitlab/ci/parsers/security/dast_spec.rb": 5.875152111053467,5048 "ee/spec/services/merge_trains/refresh_merge_requests_service_spec.rb": 6.5139265060424805,5049 "ee/spec/presenters/merge_request_approver_presenter_spec.rb": 5.624084949493408,5050 "ee/spec/lib/analytics/refresh_comments_data_spec.rb": 2.951230049133301,5051 "ee/spec/models/packages/package_file_spec.rb": 4.163306474685669,5052 "ee/spec/lib/ee/gitlab/ci/templates/templates_spec.rb": 4.27332878112793,5053 "ee/spec/lib/gitlab/vulnerabilities/history_cache_spec.rb": 4.463420391082764,5054 "ee/spec/models/concerns/elastic/milestone_spec.rb": 4.308997869491577,5055 "ee/spec/services/protected_environments/create_service_spec.rb": 4.309807300567627,5056 "ee/spec/services/ee/issuable/common_system_notes_service_spec.rb": 4.484577417373657,5057 "ee/spec/services/projects/import_service_spec.rb": 4.5351667404174805,5058 "ee/spec/services/feature_flags/enable_service_spec.rb": 2.8073174953460693,5059 "ee/spec/lib/ee/gitlab/import_export/group/legacy_tree_saver_spec.rb": 3.8114097118377686,5060 "ee/spec/services/merge_requests/remove_approval_service_spec.rb": 3.6747958660125732,5061 "ee/spec/tasks/gitlab/elastic_rake_spec.rb": 2.4366455078125,5062 "ee/spec/lib/ee/gitlab/elastic/helper_spec.rb": 2.6593456268310547,5063 "ee/spec/models/software_license_policy_spec.rb": 3.327845811843872,5064 "ee/spec/services/ci/create_pipeline_service/needs_spec.rb": 3.024960517883301,5065 "ee/spec/services/protected_environments/update_service_spec.rb": 2.890960454940796,5066 "ee/spec/models/users_security_dashboard_project_spec.rb": 2.193631887435913,5067 "ee/spec/services/ee/boards/lists/list_service_spec.rb": 2.9337706565856934,5068 "ee/spec/models/packages/tag_spec.rb": 2.0943737030029297,5069 "ee/spec/services/vulnerability_exports/export_service_spec.rb": 1.868722677230835,5070 "ee/spec/services/ee/allowed_email_domains/update_service_spec.rb": 2.3251616954803467,5071 "ee/spec/models/software_license_spec.rb": 1.7582478523254395,5072 "ee/spec/finders/packages/tags_finder_spec.rb": 2.411597490310669,5073 "ee/spec/services/packages/nuget/metadata_extraction_service_spec.rb": 2.425945997238159,5074 "ee/spec/serializers/clusters/deployment_entity_spec.rb": 1.5761001110076904,5075 "ee/spec/policies/global_policy_spec.rb": 1.6115858554840088,5076 "ee/spec/helpers/ee/lock_helper_spec.rb": 1.9917840957641602,5077 "ee/spec/services/packages/create_dependency_service_spec.rb": 1.436812400817871,5078 "ee/spec/lib/gitlab/elastic/document_reference_spec.rb": 1.2831752300262451,5079 "ee/spec/services/ee/merge_requests/base_service_spec.rb": 1.8054754734039307,5080 "ee/spec/workers/packages/nuget/extraction_worker_spec.rb": 1.7625231742858887,5081 "ee/spec/workers/ee/repository_check/batch_worker_spec.rb": 2.1304898262023926,5082 "ee/spec/lib/gitlab/code_owners/groups_loader_spec.rb": 1.5096919536590576,5083 "ee/spec/models/scoped_label_set_spec.rb": 1.4578771591186523,5084 "ee/spec/serializers/licenses_list_entity_spec.rb": 1.8166897296905518,5085 "ee/spec/models/commit_spec.rb": 1.722771167755127,5086 "ee/spec/finders/ee/fork_targets_finder_spec.rb": 1.1941545009613037,5087 "ee/spec/models/vulnerabilities/scanner_spec.rb": 1.2583286762237549,5088 "ee/spec/workers/clear_shared_runners_minutes_worker_spec.rb": 1.3719463348388672,5089 "ee/spec/services/security/store_scans_service_spec.rb": 1.1303250789642334,5090 "ee/spec/lib/banzai/reference_parser/iteration_parser_spec.rb": 1.9221019744873047,5091 "ee/spec/lib/gitlab/prometheus/queries/additional_metrics_deployment_query_spec.rb": 1.6094706058502197,5092 "ee/spec/services/protected_environments/destroy_service_spec.rb": 1.440324306488037,5093 "ee/spec/lib/gitlab/auth/saml/user_spec.rb": 1.3853213787078857,5094 "ee/spec/lib/gitlab/ci/pipeline/chain/limit/job_activity_spec.rb": 1.012763500213623,5095 "ee/spec/presenters/ci/pipeline_presenter_spec.rb": 0.969867467880249,5096 "ee/spec/workers/elastic_delete_project_worker_spec.rb": 1.2419908046722412,5097 "ee/spec/finders/boards/milestones_finder_spec.rb": 1.6254141330718994,5098 "ee/spec/services/groups/restore_service_spec.rb": 1.3260273933410645,5099 "ee/spec/lib/gitlab/auth/auth_finders_spec.rb": 1.1580016613006592,5100 "ee/spec/services/merge_requests/build_service_spec.rb": 0.8054730892181396,5101 "ee/spec/services/projects/update_service_spec.rb": 9.22225832939148,5102 "ee/spec/models/compliance_management/compliance_framework/project_settings_spec.rb": 1.0095171928405762,5103 "ee/spec/services/projects/restore_service_spec.rb": 0.6899833679199219,5104 "ee/spec/services/projects/group_links/destroy_service_spec.rb": 1.142338752746582,5105 "ee/spec/lib/ee/gitlab/cleanup/orphan_job_artifact_files_spec.rb": 0.054009199142456055,5106 "ee/spec/services/users_ops_dashboard_projects/destroy_service_spec.rb": 0.964836835861206,5107 "ee/spec/finders/requirements_management/requirements_finder_spec.rb": 0.7518019676208496,5108 "ee/spec/helpers/users_helper_spec.rb": 1.3261604309082031,5109 "ee/spec/policies/vulnerabilities/issue_link_policy_spec.rb": 0.9202935695648193,5110 "ee/spec/services/ci/retry_build_service_spec.rb": 1.1831016540527344,5111 "ee/spec/services/metrics/dashboard/cluster_metrics_embed_service_spec.rb": 0.8888423442840576,5112 "ee/spec/lib/gitlab/auth/group_saml/dynamic_settings_spec.rb": 0.4763600826263428,5113 "ee/spec/lib/banzai/filter/label_reference_filter_spec.rb": 0.6421639919281006,5114 "ee/spec/lib/ee/api/entities/analytics/code_review/merge_request_spec.rb": 0.4985690116882324,5115 "ee/spec/serializers/issue_serializer_spec.rb": 1.0129520893096924,5116 "ee/spec/lib/gitlab/ci/parsers/security/secret_detection_spec.rb": 0.8191640377044678,5117 "ee/spec/helpers/ee/runners_helper_spec.rb": 0.6770665645599365,5118 "ee/spec/services/ee/merge_requests/post_merge_service_spec.rb": 0.617053747177124,5119 "ee/spec/serializers/vulnerabilities/response_entity_spec.rb": 0.5963611602783203,5120 "ee/spec/finders/autocomplete/project_invited_groups_finder_spec.rb": 0.3399369716644287,5121 "ee/spec/views/layouts/nav/sidebar/_analytics.html.haml_spec.rb": 0.6099591255187988,5122 "ee/spec/lib/ee/api/helpers/members_helpers_spec.rb": 0.5690443515777588,5123 "ee/spec/lib/gitlab/auth/group_saml/sso_enforcer_spec.rb": 0.5529377460479736,5124 "ee/spec/serializers/dashboard_environments_project_entity_spec.rb": 0.4463825225830078,5125 "ee/spec/lib/status_page/storage/s3_client_spec.rb": 0.22938251495361328,5126 "ee/spec/models/packages/maven/metadatum_spec.rb": 0.648371696472168,5127 "ee/spec/services/milestones/promote_service_spec.rb": 0.42420005798339844,5128 "ee/spec/models/project_team_spec.rb": 0.5366990566253662,5129 "ee/spec/services/boards/user_preferences/update_service_spec.rb": 0.3555448055267334,5130 "ee/spec/models/ee/appearance_spec.rb": 0.7922971248626709,5131 "ee/spec/workers/jira_connect/sync_merge_request_worker_spec.rb": 0.42621898651123047,5132 "ee/spec/finders/ee/group_members_finder_spec.rb": 0.3862771987915039,5133 "ee/spec/models/packages/nuget/dependency_link_metadatum_spec.rb": 0.41956233978271484,5134 "ee/spec/lib/ee/api/entities/scim/user_name_spec.rb": 0.12771940231323242,5135 "ee/spec/models/ee/project_wiki_spec.rb": 0.3430159091949463,5136 "ee/spec/lib/gitlab/auth_spec.rb": 0.35645413398742676,5137 "ee/spec/views/projects/on_demand_scans/index.html.haml_spec.rb": 0.40073227882385254,5138 "ee/spec/lib/ee/api/entities/vulnerability_export_spec.rb": 0.24484920501708984,5139 "ee/spec/models/remote_mirror_spec.rb": 0.23974299430847168,5140 "ee/spec/serializers/feature_flag_entity_spec.rb": 0.33939146995544434,5141 "ee/spec/services/ee/design_management/delete_designs_service_spec.rb": 0.35950255393981934,5142 "ee/spec/models/audit_event_spec.rb": 0.2486896514892578,5143 "ee/spec/helpers/ee/auth_helper_spec.rb": 0.06361007690429688,5144 "ee/spec/lib/peek/views/elasticsearch_spec.rb": 0.27825355529785156,5145 "ee/spec/helpers/epics_helper_spec.rb": 0.30628156661987305,5146 "ee/spec/routing/group_routing_spec.rb": 0.2959756851196289,5147 "ee/spec/services/ee/users/build_service_spec.rb": 0.6620607376098633,5148 "ee/spec/lib/ee/gitlab/ci/config_spec.rb": 0.3356454372406006,5149 "ee/spec/graphql/types/vulnerability_type_spec.rb": 0.29849886894226074,5150 "ee/spec/services/analytics/cycle_analytics/stages/list_service_spec.rb": 0.3230106830596924,5151 "ee/spec/services/ci/external_pull_requests/process_github_event_service_spec.rb": 0.31501173973083496,5152 "ee/spec/models/upload_spec.rb": 0.2240428924560547,5153 "ee/spec/services/ee/integrations/test/project_service_spec.rb": 0.2715287208557129,5154 "ee/spec/graphql/ee/resolvers/issues_resolver_spec.rb": 0.18964743614196777,5155 "ee/spec/services/packages/pypi/create_package_service_spec.rb": 0.14046454429626465,5156 "ee/spec/models/user_preference_spec.rb": 0.16292047500610352,5157 "ee/spec/serializers/user_analytics_entity_spec.rb": 0.13335347175598145,5158 "ee/spec/lib/gitlab/auth/group_saml/token_actor_spec.rb": 0.18215155601501465,5159 "ee/spec/lib/gitlab/auth/smartcard/session_spec.rb": 0.09983682632446289,5160 "ee/spec/models/packages/go/module_version_spec.rb": 0.14307045936584473,5161 "ee/spec/views/layouts/nav/sidebar/_push_rules_link.html.haml_spec.rb": 0.13594365119934082,5162 "ee/spec/lib/container_registry/client_spec.rb": 0.1105508804321289,5163 "ee/spec/helpers/ee/onboarding_experiment_helper_spec.rb": 0.12779903411865234,5164 "ee/spec/services/security/merge_reports_service_spec.rb": 0.11334013938903809,5165 "ee/spec/lib/gitlab/vulnerabilities/container_scanning_vulnerability_spec.rb": 0.0648188591003418,5166 "ee/spec/lib/gitlab/expiring_subscription_message_spec.rb": 0.09312987327575684,5167 "ee/spec/lib/gitlab/database/load_balancing/srv_resolver_spec.rb": 0.10910320281982422,5168 "ee/spec/lib/gitlab/vulnerabilities/standard_vulnerability_spec.rb": 0.09178423881530762,5169 "ee/spec/lib/system_check/app/elasticsearch_check_spec.rb": 0.09986400604248047,5170 "ee/spec/lib/gitlab/database/load_balancing/sticking_spec.rb": 0.06503486633300781,5171 "ee/spec/lib/gitlab/ci/yaml_processor_spec.rb": 0.09203982353210449,5172 "ee/spec/validators/ldap_filter_validator_spec.rb": 0.08865118026733398,5173 "ee/spec/lib/gitlab/graphql/aggregations/epics/epic_node_spec.rb": 0.03686165809631348,5174 "ee/spec/lib/gitlab/spdx/catalogue_spec.rb": 0.07339072227478027,5175 "ee/spec/lib/gitlab/elastic/client_spec.rb": 0.05426311492919922,5176 "ee/spec/workers/adjourned_group_deletion_worker_spec.rb": 0.07084298133850098,5177 "ee/spec/services/group_saml/saml_provider/create_service_spec.rb": 0.05705881118774414,5178 "ee/spec/lib/world_spec.rb": 0.04873967170715332,5179 "ee/spec/finders/license_template_finder_spec.rb": 0.041437387466430664,5180 "ee/spec/finders/ee/projects_finder_spec.rb": 0.04898858070373535,5181 "ee/spec/models/security/scan_spec.rb": 0.0232236385345459,5182 "ee/spec/lib/ee/gitlab/ci/config/entry/needs_spec.rb": 0.04196786880493164,5183 "ee/spec/models/packages/go/module_spec.rb": 0.02648782730102539,5184 "ee/spec/lib/gitlab/cidr_spec.rb": 0.03489518165588379,5185 "ee/spec/workers/vulnerability_exports/export_deletion_worker_spec.rb": 0.03582644462585449,5186 "ee/spec/lib/gitlab/usage_data_counters/licenses_list_spec.rb": 0.04088020324707031,5187 "ee/spec/lib/gitlab/middleware/ip_restrictor_spec.rb": 0.01810932159423828,5188 "ee/spec/finders/status_page/incident_comments_finder_spec.rb": 0.0366976261138916,5189 "ee/spec/models/gitlab/seat_link_data_spec.rb": 0.047254323959350586,5190 "ee/spec/services/security/scanned_resources_counting_service_spec.rb": 0.0330812931060791,5191 "ee/spec/views/trials/_skip_trial.html.haml_spec.rb": 0.031215667724609375,5192 "ee/spec/lib/gitlab/auth/group_saml/response_check_spec.rb": 0.024853944778442383,5193 "ee/spec/lib/gitlab/ci/reports/security/scanner_spec.rb": 0.026575088500976562,5194 "ee/spec/lib/gitlab/prometheus/queries/cluster_query_spec.rb": 0.014351844787597656,5195 "ee/spec/helpers/roadmaps_helper_spec.rb": 0.026303529739379883,5196 "ee/spec/services/elastic/index_projects_by_range_service_spec.rb": 0.022662878036499023,5197 "ee/spec/models/dependency_proxy/registry_spec.rb": 0.017261266708374023,5198 "ee/spec/models/dependency_proxy/group_setting_spec.rb": 0.1134796142578125,5199 "ee/spec/lib/gitlab/ci/reports/security/locations/dependency_scanning_spec.rb": 0.01934528350830078,5200 "ee/spec/graphql/resolvers/packages_resolver_spec.rb": 0.02009868621826172,5201 "ee/spec/lib/gitlab/jira/middleware_spec.rb": 0.0156710147857666,5202 "ee/spec/lib/gitlab/usage_counters/dependency_list_spec.rb": 0.010761499404907227,5203 "ee/spec/graphql/types/timelog_type_spec.rb": 0.017183303833007812,5204 "ee/spec/lib/gitlab/audit/levels/group_spec.rb": 0.016801118850708008,5205 "ee/spec/lib/gitlab/ci/reports/security/aggregated_report_spec.rb": 0.013129949569702148,5206 "ee/spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_first_mentioned_in_commit_spec.rb": 0.013529300689697266,5207 "ee/spec/lib/elastic/latest/config_spec.rb": 0.008388519287109375,5208 "ee/spec/services/admin/email_service_spec.rb": 0.01021432876586914,5209 "ee/spec/presenters/packages/nuget/service_index_presenter_spec.rb": 0.011201620101928711,5210 "ee/spec/lib/gitlab/vulnerabilities/parser_spec.rb": 0.009090900421142578,5211 "ee/spec/lib/ee/api/entities/scim/error_spec.rb": 0.00913095474243164,5212 "ee/spec/lib/ee/gitlab/auth/ldap/access_levels_spec.rb": 0.006268024444580078,5213 "ee/spec/lib/ee/api/entities/scim/conflict_spec.rb": 0.00889277458190918,5214 "ee/spec/lib/ee/api/entities/scim/not_found_spec.rb": 0.011553525924682617,5215 "ee/spec/lib/flipper_session_spec.rb": 0.006402730941772461,5216 "ee/spec/graphql/types/epic_state_enum_spec.rb": 0.007254838943481445,5217 "ee/spec/finders/security/jobs_finder_spec.rb": 0.007751941680908203,5218 "ee/spec/graphql/types/requirements_management/requirement_states_count_type_spec.rb": 0.006618976593017578,5219 "ee/spec/helpers/ee/sorting_helper_spec.rb": 0.007081747055053711,5220 "ee/spec/graphql/types/health_status_enum_spec.rb": 0.006365537643432617,5221 "ee/spec/lib/ee/api/entities/nuget/package_metadata_catalog_entry_spec.rb": 0.004838466644287109,5222 "ee/spec/models/concerns/ee/sha_attribute_spec.rb": 0.005290985107421875,5223 "ee/spec/lib/ee/api/entities/nuget/dependency_spec.rb": 0.004224061965942383,5224 "ee/spec/graphql/types/vulnerability_location/dast_type_spec.rb": 0.0038466453552246094,5225 "ee/spec/graphql/types/vulnerability_report_type_enum_spec.rb": 0.003412485122680664,5226 "ee/spec/models/service_spec.rb": 0.00356292724609375,5227 "ee/spec/views/admin/push_rules/_merge_request_approvals.html.haml_spec.rb": 0.074114322662353525228}5229Knapsack global time execution for tests: 08m 27s5230Finished in 10 minutes 36 seconds (files took 58.65 seconds to load)52312260 examples, 0 failures5232Wed Jun 17 17:17:37 UTC 20205234Not uploading cache rails-v1-3 due to policy5236Uploading artifacts...5237coverage/: found 5 matching files and directories 5238knapsack/: found 3 matching files and directories 5239rspec_flaky/: found 4 matching files and directories 5240rspec_profiling/: found 1 matching files and directories 5241WARNING: tmp/capybara/: no matching files 5242tmp/memory_test/: found 2 matching files and directories 5243log/*.log: found 14 matching files and directories 5244Uploading artifacts as "archive" to coordinator... ok id=599847204 responseStatus=201 Created token=j-XzvWzp5245Uploading artifacts...5246junit_rspec.xml: found 1 matching files and directories 5247Uploading artifacts as "junit" to coordinator... ok id=599847204 responseStatus=201 Created token=j-XzvWzp5248Job succeeded