rspec-ee unit pg13 16/18
Passed Started
by
@dskim_gitlab
Sincheol (David) Kim
1Running with gitlab-runner 15.9.0~beta.212.g8ccc65e7 (8ccc65e7)2 on green-4.private.runners-manager.gitlab.com/gitlab.com/gitlab-org rpvz2FF9, system ID: s_d704414ba02a3 feature flags: FF_NETWORK_PER_BUILD:true, FF_USE_FASTZIP:true, FF_USE_IMPROVED_URL_MASKING:true6Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-16.14-postgresql-13:rubygems-3.4-git-2.36-lfs-2.9-chrome-109-yarn-1.22-graphicsmagick-1.3.36 ...7Starting service registry.gitlab.com/gitlab-org/gitlab-build-images:postgres-13-pgvector-0.4.1 ...8Authenticating with credentials from job payload (GitLab Registry)9Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:postgres-13-pgvector-0.4.1 ...10Using docker image sha256:b643610fd4d2fbdd55447ceb5a6cba0c3d1a26945817741d73e1b51a1ec07d01 for registry.gitlab.com/gitlab-org/gitlab-build-images:postgres-13-pgvector-0.4.1 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:dfccb5b5ddadf4f1a3b9cb72cf21f5b99a28a55c217de34d9fa6b7a45a910031 ...11Starting service redis:6.2-alpine ...12Pulling docker image redis:6.2-alpine ...13Using docker image sha256:a9a47a706682d445577bb5da7328f0faaa0863a5742a315c829faa461dfc23ae for redis:6.2-alpine with digest redis@sha256:317575f05099ea47b1f2855b1bb6e068b52847bfa19b87014d88d57f82d4b8f0 ...14Starting service elasticsearch:7.17.6 ...15Pulling docker image elasticsearch:7.17.6 ...16Using docker image sha256:5fad10241ffd65d817ed0ddfaf6e87eee1f7dc2a7db33db1047835560ea71fda for elasticsearch:7.17.6 with digest elasticsearch@sha256:6c128de5d01c0c130a806022d6bd99b3e4c27a9af5bfc33b6b81861ae117d028 ...17WARNING: Service registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.0 is already created. Ignoring.18WARNING: Service registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.0 is already created. Ignoring.19Starting service registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.0 ...20Authenticating with credentials from job payload (GitLab Registry)21Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.0 ...22Using docker image sha256:4777ec1fa89def7d692d4979d05cb05234df25da1c6a3f67a564a433ec5ba1c8 for registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.0 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:80c0cee4566aefe4f1f287e1091263e08b0ebc41ed3dc4e76930df3634ccb9aa ...23Waiting for services to be up and running (timeout 30 seconds)...24Authenticating with credentials from job payload (GitLab Registry)25Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-16.14-postgresql-13:rubygems-3.4-git-2.36-lfs-2.9-chrome-109-yarn-1.22-graphicsmagick-1.3.36 ...26Using docker image sha256:552b81110cdd830e05d17c8e7365f72e1dd96842217d7225636cb55a75777ea7 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-16.14-postgresql-13:rubygems-3.4-git-2.36-lfs-2.9-chrome-109-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-16.14-postgresql-13@sha256:a386dd1acb1341f710f3c3c320984f70512694bcfec8cb1c771365058ac7c475 ...28Running on runner-rpvz2ff9-project-278964-concurrent-0 via runner-rpvz2ff9-private-1682565648-de02651d...30$ eval "$CI_PRE_CLONE_SCRIPT"31Fetching changes with git depth set to 20...32Initialized empty Git repository in /builds/gitlab-org/gitlab/.git/33Created fresh repository.34remote: Enumerating objects: 162343, done. 35remote: Counting objects: 100% (162343/162343), done. 36remote: Compressing objects: 100% (98373/98373), done. 37remote: Total 162343 (delta 79431), reused 115388 (delta 58038), pack-reused 0 38Receiving objects: 100% (162343/162343), 129.51 MiB | 20.76 MiB/s, done.39Resolving deltas: 100% (79431/79431), done.41 * [new ref] refs/pipelines/850455016 -> refs/pipelines/85045501642Checking out 997198e5 as detached HEAD (ref is refs/merge-requests/118423/merge)...43Skipping Git submodules setup44$ git remote set-url origin "${CI_REPOSITORY_URL}"46Checking cache for ruby-gems-debian-bullseye-ruby-3.0-16...47cache.zip is up to date 48Successfully extracted cache50Downloading artifacts for compile-test-assets (4187655852)...51Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4187655852 responseStatus=200 OK token=64_B8y9d52Downloading artifacts for detect-tests (4187655860)...53Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4187655860 responseStatus=200 OK token=64_B8y9d54Downloading artifacts for retrieve-tests-metadata (4187655863)...55Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4187655863 responseStatus=200 OK token=64_B8y9d56Downloading artifacts for setup-test-env (4187655855)...57Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4187655855 responseStatus=200 OK token=64_B8y9d59Using docker image sha256:552b81110cdd830e05d17c8e7365f72e1dd96842217d7225636cb55a75777ea7 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-16.14-postgresql-13:rubygems-3.4-git-2.36-lfs-2.9-chrome-109-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-16.14-postgresql-13@sha256:a386dd1acb1341f710f3c3c320984f70512694bcfec8cb1c771365058ac7c475 ...60$ echo $FOSS_ONLY61$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb62$ export GOPATH=$CI_PROJECT_DIR/.go63$ mkdir -p $GOPATH64$ source scripts/utils.sh65$ source scripts/prepare_build.sh721Using decomposed database config (config/database.yml.decomposed-postgresql)722Geo DB will be set up.723Embedding DB will be set up.747$ source ./scripts/rspec_helpers.sh748$ run_timed_command "gem install knapsack --no-document"749$ gem install knapsack --no-document750Successfully installed knapsack-4.0.07511 gem installed752==> 'gem install knapsack --no-document' succeeded in 1 seconds.753$ echo -e "\e[0Ksection_start:`date +%s`:gitaly-test-spawn[collapsed=true]\r\e[0KStarting Gitaly"755$ section_start "gitaly-test-spawn" "Spawning Gitaly"; scripts/gitaly-test-spawn; section_end "gitaly-test-spawn"760$ echo -e "\e[0Ksection_end:`date +%s`:gitaly-test-spawn\r\e[0K"761$ rspec_paralellized_job "--tag ~quarantine --tag ~level:background_migration"762SKIP_FLAKY_TESTS_AUTOMATICALLY: false763RETRY_FAILED_TESTS_IN_NEW_PROCESS: true764KNAPSACK_GENERATE_REPORT: true765FLAKY_RSPEC_GENERATE_REPORT: true766KNAPSACK_TEST_FILE_PATTERN: {ee/}spec/{bin,channels,components,config,contracts,db,dependencies,elastic,elastic_integration,experiments,factories,finders,frontend,graphql,haml_lint,helpers,initializers,lib,metrics_server,models,policies,presenters,rack_servers,replicators,routing,rubocop,scripts,serializers,services,sidekiq,sidekiq_cluster,spam,support_specs,tasks,uploaders,validators,views,workers,tooling}{,/**/}*_spec.rb767KNAPSACK_LOG_LEVEL: debug768KNAPSACK_REPORT_PATH: knapsack/rspec-ee_unit_pg13_16_18_report.json769FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json770FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec-ee_unit_pg13_16_18_report.json771NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec-ee_unit_pg13_16_18_report.json772SKIPPED_FLAKY_TESTS_REPORT_PATH: rspec/flaky/skipped_flaky_tests_rspec-ee_unit_pg13_16_18_report.txt773CRYSTALBALL: 774RSPEC_TESTS_MAPPING_ENABLED: 775RSPEC_TESTS_FILTER_FILE: 776Running command: bundle exec rspec -Ispec -rspec_helper --color --failure-exit-code 1 --error-exit-code 2 --format documentation --format RspecJunitFormatter --out rspec/junit_rspec.xml --tag ~quarantine --tag ~level:background_migration -- ee/spec/models/application_setting_spec.rb ee/spec/models/epic_spec.rb ee/spec/models/security/orchestration_policy_configuration_spec.rb ee/spec/services/vulnerabilities/revert_to_detected_service_spec.rb ee/spec/models/issue_spec.rb ee/spec/elastic_integration/global_search_spec.rb ee/spec/serializers/environment_entity_spec.rb ee/spec/models/gitlab_subscription_spec.rb ee/spec/services/projects/create_from_template_service_spec.rb ee/spec/services/elastic/process_bookkeeping_service_spec.rb ee/spec/models/geo/project_wiki_repository_registry_spec.rb ee/spec/models/ee/ci/secure_file_spec.rb ee/spec/models/dast_site_profile_spec.rb ee/spec/services/deployments/approval_service_spec.rb ee/spec/graphql/resolvers/epics_resolver_spec.rb ee/spec/services/dashboard/projects/list_service_spec.rb ee/spec/services/ee/users/migrate_records_to_ghost_user_service_spec.rb ee/spec/helpers/ee/users/callouts_helper_spec.rb ee/spec/services/merge_requests/merge_to_ref_service_spec.rb ee/spec/models/snippet_repository_spec.rb ee/spec/workers/update_all_mirrors_worker_spec.rb ee/spec/workers/post_receive_spec.rb ee/spec/models/protected_environments/deploy_access_level_spec.rb ee/spec/services/wiki_pages/update_service_spec.rb ee/spec/finders/security/findings_finder_spec.rb ee/spec/graphql/resolvers/geo/package_file_registries_resolver_spec.rb ee/spec/services/approval_rules/project_rule_destroy_service_spec.rb ee/spec/models/concerns/elastic/milestone_spec.rb ee/spec/lib/ee/gitlab/import_export/group/tree_saver_spec.rb ee/spec/policies/global_policy_spec.rb ee/spec/services/ee/boards/lists/list_service_spec.rb ee/spec/services/analytics/cycle_analytics/aggregator_service_spec.rb ee/spec/services/ee/issuable/common_system_notes_service_spec.rb ee/spec/lib/ee/gitlab/ci/parsers/security/validators/schema_validator_spec.rb ee/spec/services/ee/todos/destroy/entity_leave_service_spec.rb ee/spec/services/registrations/standard_namespace_create_service_spec.rb ee/spec/services/ee/members/update_service_spec.rb ee/spec/services/ee/allowed_email_domains/update_service_spec.rb ee/spec/models/vulnerabilities/scanner_spec.rb ee/spec/services/approval_rules/merge_request_rule_destroy_service_spec.rb ee/spec/elastic/migrate/20220824133000_add_hidden_to_issues_spec.rb ee/spec/helpers/ee/gitlab_routing_helper_spec.rb ee/spec/models/dast/site_profiles_build_spec.rb ee/spec/services/app_sec/dast/scans/run_service_spec.rb ee/spec/routing/project_routing_spec.rb ee/spec/lib/ee/gitlab/import_export/importer_spec.rb ee/spec/services/security/orchestration/unassign_service_spec.rb ee/spec/elastic/migrate/20230208100000_reindex_users_spec.rb ee/spec/services/groups/destroy_service_spec.rb ee/spec/services/ee/users/update_service_spec.rb ee/spec/lib/gitlab/ci/pipeline/chain/limit/size_spec.rb ee/spec/graphql/mutations/security/ci_configuration/configure_dependency_scanning_spec.rb ee/spec/lib/gitlab/auth/ldap/user_spec.rb ee/spec/components/namespaces/free_user_cap/usage_quota_alert_component_spec.rb ee/spec/lib/gitlab/ci/templates/dast_api_latest_gitlab_ci_yaml_spec.rb ee/spec/helpers/ee/security_orchestration_helper_spec.rb ee/spec/lib/gitlab/analytics/cycle_analytics_spec.rb ee/spec/helpers/ee/geo_helper_spec.rb ee/spec/services/slash_commands/global_slack_handler_spec.rb ee/spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_closed_spec.rb ee/spec/services/user_permissions/export_service_spec.rb ee/spec/finders/group_saml_identity_finder_spec.rb ee/spec/policies/dast/pre_scan_verification_policy_spec.rb ee/spec/services/incident_management/issuable_resource_links/destroy_service_spec.rb ee/spec/workers/elastic_remove_expired_namespace_subscriptions_from_index_cron_worker_spec.rb ee/spec/services/system_note_service_spec.rb ee/spec/workers/elastic_commit_indexer_worker_spec.rb ee/spec/models/concerns/geo/eventable_spec.rb ee/spec/models/security/training_spec.rb ee/spec/models/dast_site_spec.rb ee/spec/graphql/types/work_items/widget_interface_spec.rb ee/spec/models/geo/event_log_spec.rb ee/spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_first_associated_with_milestone_spec.rb ee/spec/lib/ee/service_ping/permit_data_categories_spec.rb ee/spec/lib/gitlab/geo/jwt_request_decoder_spec.rb ee/spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_label_added_spec.rb ee/spec/workers/llm/completion_worker_spec.rb ee/spec/lib/gitlab/exclusive_lease_spec.rb ee/spec/finders/billed_users_finder_spec.rb ee/spec/services/ee/ci/pipeline_processing/atomic_processing_service_spec.rb ee/spec/lib/gitlab/geo/oauth/logout_state_spec.rb ee/spec/services/app_sec/dast/site_validations/runner_service_spec.rb ee/spec/lib/gitlab/usage/metrics/instrumentations/count_users_with_custom_roles_metric_spec.rb ee/spec/serializers/clusters/deployment_entity_spec.rb ee/spec/lib/ee/gitlab/background_migration/backfill_compliance_violations_spec.rb ee/spec/lib/gitlab/license_scanning/artifact_scanner_spec.rb ee/spec/workers/geo/verification_worker_spec.rb ee/spec/policies/dast/profile_policy_spec.rb ee/spec/lib/gitlab/auth/oidc/user_spec.rb ee/spec/lib/gitlab/insights/loader_spec.rb ee/spec/views/shared/billings/_eoa_bronze_plan_banner.html.haml_spec.rb ee/spec/lib/gitlab/manual_quarterly_co_term_banner_spec.rb ee/spec/lib/bulk_imports/groups/pipelines/iterations_pipeline_spec.rb ee/spec/services/package_metadata/ingestion/tasks/ingest_packages_spec.rb ee/spec/services/app_sec/dast/pre_scan_verification_steps/create_or_update_service_spec.rb ee/spec/models/boards/epic_board_spec.rb ee/spec/models/container_registry/event_spec.rb ee/spec/lib/arkose/settings_spec.rb ee/spec/lib/gitlab/ci/parsers/security/cluster_image_scanning_spec.rb ee/spec/serializers/ee/group_child_entity_spec.rb ee/spec/lib/ee/gitlab/web_ide/config/entry/global_spec.rb ee/spec/finders/epics/with_issues_finder_spec.rb ee/spec/presenters/vulnerabilities/finding_presenter_spec.rb ee/spec/models/package_metadata/package_spec.rb ee/spec/lib/ee/gitlab/database/gitlab_schema_spec.rb ee/spec/lib/gitlab/import_export/project/deploy_keys_restorer_spec.rb ee/spec/graphql/types/incident_management/escalation_rule_input_type_spec.rb ee/spec/graphql/types/scan_type_spec.rb ee/spec/views/vulnerabilities/issue_description.md_spec.rb ee/spec/views/groups/analytics/dashboards/value_streams_dashboard.html.haml_spec.rb ee/spec/helpers/ee/namespace_user_cap_reached_alert_helper_spec.rb ee/spec/services/analytics/cycle_analytics/stages/list_service_spec.rb ee/spec/lib/gitlab/usage/metrics/instrumentations/license_metric_spec.rb ee/spec/graphql/resolvers/dast_site_profile_resolver_spec.rb ee/spec/serializers/dashboard_environment_entity_spec.rb ee/spec/models/project_alias_spec.rb ee/spec/lib/gitlab/graphql/loaders/oncall_participant_loader_spec.rb ee/spec/workers/ee/namespaces/root_statistics_worker_spec.rb ee/spec/policies/approval_state_policy_spec.rb ee/spec/lib/gitlab/usage/metrics/instrumentations/protected_environments_required_approvals_average_metric_spec.rb ee/spec/views/admin/groups/_form.html.haml_spec.rb ee/spec/views/shared/billings/_billing_plans.html.haml_spec.rb ee/spec/services/ci_cd/github_setup_service_spec.rb ee/spec/graphql/resolvers/product_analytics/visualization_resolver_spec.rb ee/spec/services/ee/groups/group_links/destroy_service_spec.rb ee/spec/services/geo/repository_base_sync_service_spec.rb ee/spec/services/ee/design_management/delete_designs_service_spec.rb ee/spec/services/security/security_orchestration_policies/fetch_policy_service_spec.rb ee/spec/services/concerns/epics/related_epic_links/usage_data_helper_spec.rb ee/spec/lib/gitlab/ci/parsers/security/coverage_fuzzing_spec.rb ee/spec/models/integrations/chat_message/vulnerability_message_spec.rb ee/spec/lib/gitlab/usage/metrics/instrumentations/count_slack_app_installations_gbp_metric_spec.rb ee/spec/lib/ee/gitlab/scim/deprovisioning_service_spec.rb ee/spec/services/audit_events/streaming/headers/destroy_service_spec.rb ee/spec/services/personal_access_tokens/create_service_audit_log_spec.rb ee/spec/workers/analytics/cycle_analytics/reaggregation_worker_spec.rb ee/spec/models/geo/push_user_spec.rb ee/spec/lib/gitlab/usage_data_counters/licenses_list_spec.rb ee/spec/models/ee/users/banned_user_spec.rb ee/spec/services/audit_events/release_artifacts_downloaded_audit_event_service_spec.rb ee/spec/workers/ci/trigger_downstream_subscriptions_worker_spec.rb ee/spec/lib/gitlab/instrumentation/zoekt_spec.rb ee/spec/lib/gitlab/auth/saml/membership_updater_spec.rb ee/spec/services/incident_management/escalation_rules/destroy_service_spec.rb ee/spec/lib/gitlab/user_access_spec.rb ee/spec/graphql/types/compliance_management/merge_requests/compliance_violation_sort_enum_spec.rb ee/spec/services/namespaces/free_user_cap/clear_over_limit_notification_service_spec.rb ee/spec/graphql/types/json_string_type_spec.rb ee/spec/lib/gitlab/path_locks_finder_spec.rb ee/spec/lib/ee/api/entities/scim/emails_spec.rb ee/spec/lib/gitlab/auth/smartcard/session_spec.rb ee/spec/components/namespaces/storage/subgroup_pre_enforcement_alert_component_spec.rb ee/spec/graphql/types/vulnerability_severity_enum_spec.rb ee/spec/lib/api/entities/deployments/approval_spec.rb ee/spec/finders/analytics/devops_adoption/snapshots_finder_spec.rb ee/spec/serializers/ee/admin/user_entity_spec.rb ee/spec/serializers/vulnerabilities/identifier_entity_spec.rb ee/spec/models/package_metadata/package_version_spec.rb ee/spec/graphql/types/vulnerability/external_issue_link_type_enum_spec.rb ee/spec/graphql/mutations/namespaces/increase_storage_temporarily_spec.rb ee/spec/lib/gitlab/subscription_portal/client_spec.rb ee/spec/views/groups/_compliance_frameworks.html.haml_spec.rb ee/spec/views/operations/index.html.haml_spec.rb ee/spec/graphql/types/vulnerability_details/code_type_spec.rb ee/spec/graphql/types/geo/dependency_proxy_blob_registry_type_spec.rb ee/spec/graphql/types/permission_types/epic_spec.rb ee/spec/graphql/types/iteration_type_spec.rb ee/spec/graphql/types/approval_rule_type_spec.rb ee/spec/workers/automation/execute_rule_worker_spec.rb ee/spec/graphql/types/epic_state_enum_spec.rb ee/spec/graphql/types/boards/epic_list_type_spec.rb ee/spec/helpers/groups/sso_helper_spec.rb ee/spec/graphql/types/dast/scan_method_type_enum_spec.rb ee/spec/helpers/prevent_forking_helper_spec.rb ee/spec/graphql/types/vulnerability_location/cluster_image_scanning_type_spec.rb ee/spec/models/milestone_spec.rb ee/spec/serializers/autocomplete/group_serializer_spec.rbKnapsack report generator started!777warning: parser/current is loading parser/ruby30, which recognizes 3.0.5-compliant syntax, but you are running 3.0.6.779Run options: exclude {:quarantine=>true, :level=>"background_migration"}780Test environment set up in 0.862125038 seconds781ApplicationSetting782 validations783 mirror784 is expected to allow :mirror_max_delay to be ‹100›785 is expected not to allow :mirror_max_delay to be ‹nil›786 is expected not to allow :mirror_max_delay to be ‹0›787 is expected not to allow :mirror_max_delay to be ‹1.1›788 is expected not to allow :mirror_max_delay to be ‹-1›789 is expected not to allow :mirror_max_delay to be ‹29 seconds›790 is expected to allow :mirror_max_capacity to be ‹10›791 is expected not to allow :mirror_max_capacity to be ‹nil›792 is expected not to allow :mirror_max_capacity to be ‹0›793 is expected not to allow :mirror_max_capacity to be ‹1.1›794 is expected not to allow :mirror_max_capacity to be ‹-1›795 is expected to allow :mirror_capacity_threshold to be ‹10›796 is expected not to allow :mirror_capacity_threshold to be ‹nil›797 is expected not to allow :mirror_capacity_threshold to be ‹0›798 is expected not to allow :mirror_capacity_threshold to be ‹1.1›799 is expected not to allow :mirror_capacity_threshold to be ‹-1›800 is expected not to allow :mirror_capacity_threshold to be ‹31›801 is expected to allow :custom_project_templates_group_id to be ‹nil›802 elasticsearch803 is expected to allow :search_max_shard_size_gb to be ‹10›804 is expected not to allow :search_max_shard_size_gb to be ‹0›805 is expected not to allow :search_max_shard_size_gb to be ‹nil›806 is expected not to allow :search_max_shard_size_gb to be ‹1.1›807 is expected not to allow :search_max_shard_size_gb to be ‹-1›808 is expected to allow :search_max_docs_denominator to be ‹10›809 is expected not to allow :search_max_docs_denominator to be ‹0›810 is expected not to allow :search_max_docs_denominator to be ‹nil›811 is expected not to allow :search_max_docs_denominator to be ‹1.1›812 is expected not to allow :search_max_docs_denominator to be ‹-1›813 is expected to allow :search_min_docs_before_rollover to be ‹10›814 is expected not to allow :search_min_docs_before_rollover to be ‹0›815 is expected not to allow :search_min_docs_before_rollover to be ‹nil›816 is expected not to allow :search_min_docs_before_rollover to be ‹1.1›817 is expected not to allow :search_min_docs_before_rollover to be ‹-1›818 is expected to allow :elasticsearch_indexed_file_size_limit_kb to be ‹10›819 is expected not to allow :elasticsearch_indexed_file_size_limit_kb to be ‹0›820 is expected not to allow :elasticsearch_indexed_file_size_limit_kb to be ‹nil›821 is expected not to allow :elasticsearch_indexed_file_size_limit_kb to be ‹1.1›822 is expected not to allow :elasticsearch_indexed_file_size_limit_kb to be ‹-1›823 is expected to allow :elasticsearch_indexed_field_length_limit to be ‹10›824 is expected to allow :elasticsearch_indexed_field_length_limit to be ‹0›825 is expected not to allow :elasticsearch_indexed_field_length_limit to be ‹nil›826 is expected not to allow :elasticsearch_indexed_field_length_limit to be ‹1.1›827 is expected not to allow :elasticsearch_indexed_field_length_limit to be ‹-1›828 is expected to allow :elasticsearch_max_bulk_size_mb to be ‹25›829 is expected not to allow :elasticsearch_max_bulk_size_mb to be ‹nil›830 is expected not to allow :elasticsearch_max_bulk_size_mb to be ‹0›831 is expected not to allow :elasticsearch_max_bulk_size_mb to be ‹1.1›832 is expected not to allow :elasticsearch_max_bulk_size_mb to be ‹-1›833 is expected to allow :elasticsearch_max_bulk_concurrency to be ‹2›834 is expected not to allow :elasticsearch_max_bulk_concurrency to be ‹nil›835 is expected not to allow :elasticsearch_max_bulk_concurrency to be ‹0›836 is expected not to allow :elasticsearch_max_bulk_concurrency to be ‹1.1›837 is expected not to allow :elasticsearch_max_bulk_concurrency to be ‹-1›838 is expected to allow :elasticsearch_client_request_timeout to be ‹30›839 is expected to allow :elasticsearch_client_request_timeout to be ‹0›840 is expected not to allow :elasticsearch_client_request_timeout to be ‹nil›841 is expected not to allow :elasticsearch_client_request_timeout to be ‹1.1›842 is expected not to allow :elasticsearch_client_request_timeout to be ‹-1›843 is expected to allow :elasticsearch_username to be ‹""›844 is expected to allow :elasticsearch_username to be ‹"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"›845 is expected not to allow :elasticsearch_username to be ‹"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"›846 is expected to allow :security_policy_global_group_approvers_enabled to be ‹true›847 is expected to allow :security_policy_global_group_approvers_enabled to be ‹false›848 is expected not to allow :security_policy_global_group_approvers_enabled to be ‹nil›849 future_subscriptions850 is expected to allow :future_subscriptions to be ‹[{}]›851 is expected not to allow :future_subscriptions to be ‹{}›852 is expected not to allow :future_subscriptions to be ‹nil›853 required_instance854 is expected to allow :required_instance_ci_template to be ‹nil›855 is expected not to allow :required_instance_ci_template to be ‹""›856 is expected not to allow :required_instance_ci_template to be ‹" "›857 is expected to allow :required_instance_ci_template to be ‹"template_name"›858 max_personal_access_token859 is expected to allow :max_personal_access_token_lifetime to be ‹1›860 is expected to allow :max_personal_access_token_lifetime to be ‹nil›861 is expected to allow :max_personal_access_token_lifetime to be ‹10›862 is expected to allow :max_personal_access_token_lifetime to be ‹365›863 is expected not to allow :max_personal_access_token_lifetime to be ‹"value"›864 is expected not to allow :max_personal_access_token_lifetime to be ‹2.5›865 is expected not to allow :max_personal_access_token_lifetime to be ‹-5›866 is expected not to allow :max_personal_access_token_lifetime to be ‹366›867 new_user_signups868 is expected to allow :new_user_signups_cap to be ‹nil›869 is expected to allow :new_user_signups_cap to be ‹1›870 is expected to allow :new_user_signups_cap to be ‹10›871 is expected to allow :new_user_signups_cap to be ‹""›872 is expected not to allow :new_user_signups_cap to be ‹"value"›873 is expected not to allow :new_user_signups_cap to be ‹-1›874 is expected not to allow :new_user_signups_cap to be ‹2.5›875 git_two_factor876 is expected to allow :git_two_factor_session_expiry to be ‹1›877 is expected to allow :git_two_factor_session_expiry to be ‹10›878 is expected to allow :git_two_factor_session_expiry to be ‹10079›879 is expected to allow :git_two_factor_session_expiry to be ‹10080›880 is expected not to allow :git_two_factor_session_expiry to be ‹nil›881 is expected not to allow :git_two_factor_session_expiry to be ‹"value"›882 is expected not to allow :git_two_factor_session_expiry to be ‹2.5›883 is expected not to allow :git_two_factor_session_expiry to be ‹-5›884 is expected not to allow :git_two_factor_session_expiry to be ‹0›885 is expected not to allow :git_two_factor_session_expiry to be ‹10081›886 is expected to validate that :max_ssh_key_lifetime looks like a number greater than 0 and less than or equal to 365 as long as it is not nil887 is expected to validate that :deletion_adjourned_period looks like a number greater than 0 and less than or equal to 90888 dashboard889 is expected to validate that :dashboard_limit looks like an integer greater than or equal to 0890 is expected to validate that :dashboard_notification_limit looks like an integer greater than or equal to 0891 is expected to validate that :dashboard_enforcement_limit looks like an integer greater than or equal to 0892 is expected to allow :dashboard_limit_enabled to be ‹true›893 is expected to allow :dashboard_limit_enabled to be ‹false›894 is expected not to allow :dashboard_limit_enabled to be ‹nil›895 when additional email text is enabled896 is expected to allow :email_additional_text to be ‹"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...›897 is expected not to allow :email_additional_text to be ‹"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...›898 when secret detection token revocation is enabled899 is expected to allow :secret_detection_token_revocation_url to be ‹"http://test.com"›900 is expected to allow :secret_detection_token_revocation_token to be ‹"AKVD34\#$%56"›901 is expected to allow :secret_detection_revocation_token_types_url to be ‹"http://test.com"›902 when validating geo_node_allowed_ips903 allowed_ips: "192.1.1.1", is_valid: true904 is expected to eq true905 allowed_ips: "192.1.1.0/24", is_valid: true906 is expected to eq true907 allowed_ips: "192.1.1.0/24, 192.1.20.23", is_valid: true908 is expected to eq true909 allowed_ips: "192.1.1.0/24, 192.23.0.0/16", is_valid: true910 is expected to eq true911 allowed_ips: "192.1.1.0/34", is_valid: false912 is expected to eq false913 allowed_ips: "192.1.1.257", is_valid: false914 is expected to eq false915 allowed_ips: "192.1.1.257, 192.1.1.1", is_valid: false916 is expected to eq false917 allowed_ips: "300.1.1.0/34", is_valid: false918 is expected to eq false919 when validating globally_allowed_ips920 allowed_ips: "192.1.1.1", is_valid: true921 is expected to eq true922 allowed_ips: "192.1.1.0/24", is_valid: true923 is expected to eq true924 allowed_ips: "192.1.1.0/24, 192.1.20.23", is_valid: true925 is expected to eq true926 allowed_ips: "192.1.1.0/24, 192.23.0.0/16", is_valid: true927 is expected to eq true928 allowed_ips: "192.1.1.0/34", is_valid: false929 is expected to eq false930 allowed_ips: "192.1.1.257", is_valid: false931 is expected to eq false932 allowed_ips: "192.1.1.257, 192.1.1.1", is_valid: false933 is expected to eq false934 allowed_ips: "300.1.1.0/34", is_valid: false935 is expected to eq false936 when validating elasticsearch_url937 elasticsearch_url: "http://es.localdomain", is_valid: true938 is expected to eq true939 elasticsearch_url: "https://es.localdomain", is_valid: true940 is expected to eq true941 elasticsearch_url: "http://es.localdomain, https://es.localdomain ", is_valid: true942 is expected to eq true943 elasticsearch_url: "http://10.0.0.1", is_valid: true944 is expected to eq true945 elasticsearch_url: "https://10.0.0.1", is_valid: true946 is expected to eq true947 elasticsearch_url: "http://10.0.0.1, https://10.0.0.1", is_valid: true948 is expected to eq true949 elasticsearch_url: "http://localhost", is_valid: true950 is expected to eq true951 elasticsearch_url: "http://127.0.0.1", is_valid: true952 is expected to eq true953 elasticsearch_url: "es.localdomain", is_valid: false954 is expected to eq false955 elasticsearch_url: "10.0.0.1", is_valid: false956 is expected to eq false957 elasticsearch_url: "http://es.localdomain, es.localdomain", is_valid: false958 is expected to eq false959 elasticsearch_url: "http://es.localdomain, 10.0.0.1", is_valid: false960 is expected to eq false961 elasticsearch_url: "this_isnt_a_url", is_valid: false962 is expected to eq false963 Sentry validations964 when Sentry is enabled965 is expected to allow :sentry_enabled to be ‹false›966 is expected not to allow :sentry_enabled to be ‹nil›967 is expected to allow :sentry_dsn to be ‹"http://example.com"›968 is expected not to allow :sentry_dsn to be ‹"http://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.com"›969 is expected not to allow :sentry_dsn to be ‹"example"›970 is expected not to allow :sentry_dsn to be ‹nil›971 is expected to allow :sentry_clientside_dsn to be ‹"http://example.com"›972 is expected to allow :sentry_clientside_dsn to be ‹nil›973 is expected not to allow :sentry_clientside_dsn to be ‹"example"›974 is expected not to allow :sentry_clientside_dsn to be ‹"http://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.com"›975 is expected to allow :sentry_environment to be ‹"production"›976 is expected not to allow :sentry_environment to be ‹nil›977 is expected not to allow :sentry_environment to be ‹"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"›978 when Sentry is disabled979 is expected not to allow :sentry_enabled to be ‹nil›980 is expected to allow :sentry_dsn to be ‹nil›981 is expected to allow :sentry_clientside_dsn to be ‹nil›982 is expected to allow :sentry_environment to be ‹nil›983 git abuse rate limit validations984 is expected to validate that :max_number_of_repository_downloads looks like a number greater than or equal to 0 and less than or equal to 10000985 is expected to validate that :max_number_of_repository_downloads_within_time_period looks like a number greater than or equal to 0 and less than or equal to 864000986 git_rate_limit_users_allowlist987 is expected to allow :git_rate_limit_users_allowlist to be ‹[]›988 is expected to allow :git_rate_limit_users_allowlist to be ‹["user1"]›989 is expected not to allow :git_rate_limit_users_allowlist to be ‹nil›990 is expected not to allow :git_rate_limit_users_allowlist to be ‹["unknown_user"]›991 when maximum length is exceeded992 is not valid993 when attr is not changed994 is expected to be valid995 git_rate_limit_users_alertlist996 is expected to allow :git_rate_limit_users_alertlist to be ‹[]›997 is expected to allow :git_rate_limit_users_alertlist to be ‹[2]›998 is expected to allow :git_rate_limit_users_alertlist to be ‹nil›999 is expected not to allow :git_rate_limit_users_alertlist to be ‹[2147483647]›1000 when maximum length is exceeded1001 is not valid1002 when attr is not changed1003 is expected to be valid1004 when empty1005 returns the user ids of the active admins1006 when not empty1007 returns the set user ids1008 unique_project_download_limit_enabled1009 when max_number_of_repository_downloads is 01010 allows project to be indexed1011 when max_number_of_repository_downloads_within_time_period is 01012 allows project to be indexed1013 when neither are 01014 allows project to be indexed1015 when validating product analytics settings1016 when product analytics is enabled1017 is expected to allow :product_analytics_enabled to be ‹false›1018 is expected to allow :product_analytics_enabled to be ‹""›1019 is expected to allow :jitsu_host to be ‹"https://jitsu.gitlab.com"›1020 is expected to allow :jitsu_host to be ‹"http://localhost:8000"›1021 is expected not to allow :jitsu_host to be ‹"invalid.host"›1022 is expected not to allow :jitsu_host to be ‹nil›1023 is expected not to allow :jitsu_host to be ‹""›1024 is expected to allow :jitsu_project_xid to be ‹"g0maofw84gx5sjxgse2k"›1025 is expected not to allow :jitsu_project_xid to be ‹nil›1026 is expected not to allow :jitsu_project_xid to be ‹""›1027 is expected to allow :jitsu_administrator_email to be ‹"jitsu.admin@gitlab.com"›1028 is expected not to allow :jitsu_administrator_email to be ‹"invalid_admin_email.com"›1029 is expected not to allow :jitsu_administrator_email to be ‹nil›1030 is expected not to allow :jitsu_administrator_email to be ‹""›1031 is expected to allow :jitsu_administrator_password to be ‹"xxxxxxxx"›1032 is expected not to allow :jitsu_administrator_password to be ‹nil›1033 is expected not to allow :jitsu_administrator_password to be ‹""›1034 is expected to allow :product_analytics_clickhouse_connection_string to be ‹"https://user:pass@clickhouse.gitlab.com:8123"›1035 is expected not to allow :product_analytics_clickhouse_connection_string to be ‹nil›1036 is expected not to allow :product_analytics_clickhouse_connection_string to be ‹""›1037 is expected to allow :cube_api_base_url to be ‹"https://cube.gitlab.com"›1038 is expected to allow :cube_api_base_url to be ‹"https://localhost:4000"›1039 is expected not to allow :cube_api_base_url to be ‹nil›1040 is expected not to allow :cube_api_base_url to be ‹""›1041 is expected to allow :cube_api_key to be ‹"420d0e1b73b2ad4acd21c92e533be327"›1042 is expected not to allow :cube_api_key to be ‹nil›1043 is expected not to allow :cube_api_key to be ‹""›1044 is expected to allow :product_analytics_data_collector_host to be ‹"https://collector.gitlab.com"›1045 is expected to allow :product_analytics_data_collector_host to be ‹"http://localhost:8000"›1046 is expected not to allow :product_analytics_data_collector_host to be ‹"invalid.host"›1047 is expected not to allow :product_analytics_data_collector_host to be ‹nil›1048 is expected not to allow :product_analytics_data_collector_host to be ‹""›1049 when product analytics is disabled1050 is expected to allow :jitsu_host to be ‹nil›1051 is expected to allow :jitsu_project_xid to be ‹nil›1052 is expected to allow :jitsu_administrator_email to be ‹nil›1053 is expected to allow :jitsu_administrator_password to be ‹nil›1054 is expected to allow :product_analytics_clickhouse_connection_string to be ‹nil›1055 is expected to allow :cube_api_base_url to be ‹nil›1056 is expected to allow :cube_api_key to be ‹nil›1057 is expected to allow :product_analytics_data_collector_host to be ‹nil›1058 package_metadata_purl_types1059 is expected to allow :package_metadata_purl_types to be ‹1›1060 is expected to allow :package_metadata_purl_types to be ‹12›1061 is expected not to allow :package_metadata_purl_types to be ‹13›1062 is expected not to allow :package_metadata_purl_types to be ‹0›1063 search curation settings after .create_from_defaults1064 is expected to eq 11065 is expected to eq 1001066 is expected to eq 501067 in production environments1068 is expected to eq 501069 is expected to eq 50000001070 is expected to eq 1000001071 #should_check_namespace_plan?1072 when check_namespace_plan true AND on GitLab.com1073 returns true1074 when check_namespace_plan true AND NOT on GitLab.com1075 returns false1076 when check_namespace_plan false AND on GitLab.com1077 returns false1078 #repository_size_limit column1079 support values up to 8 exabytes1080 elasticsearch licensing1081 disables elasticsearch when unlicensed1082 enables elasticsearch when licensed1083 #elasticsearch_pause_indexing1084 resumes indexing1085 #elasticsearch_url1086 presents a single URL as a one-element array1087 presents multiple URLs as a many-element array1088 strips whitespace from around URLs1089 strips trailing slashes from URLs1090 #elasticsearch_url_with_credentials1091 when credentials are embedded in url1092 ignores them and uses elasticsearch_username and elasticsearch_password settings1093 when credential settings are blank1094 does not return credential info1095 and url contains credentials1096 returns credentials from url1097 and url contains credentials with special characters1098 returns decoded credentials from url1099 when credentials settings have special characters1100 returns the correct values1101 #elasticsearch_password1102 does not modify password if it is unchanged in the form1103 #elasticsearch_config1104 places all elasticsearch configuration values into a hash1105 limiting namespaces and projects1106 namespaces1107 with personal namespaces1108 tells you if a namespace is allowed to be indexed1109 with groups1110 is expected to contain exactly #<Group id:8 @group2> and #<Group id:9 @group1/group3>1111 #elasticsearch_indexes_project?1112 behaves like whether the project is indexed1113 when project is in a subgroup1114 allows project to be indexed1115 when project is in a namespace1116 allows project to be indexed1117 projects1118 tells you if a project is allowed to be indexed1119 returns projects that are allowed to be indexed1120 uses the ElasticsearchEnabledCache cache1121 #invalidate_elasticsearch_indexes_cache1122 deletes the ElasticsearchEnabledCache for projects and namespaces1123 #invalidate_elasticsearch_indexes_cache_for_project!1124 deletes the ElasticsearchEnabledCache for a single project1125 #invalidate_elasticsearch_indexes_cache_for_namespace!1126 deletes the ElasticsearchEnabledCache for a namespace1127 #search_using_elasticsearch?1128 indexing: true, searching: true, limiting: true, advanced_global_search_for_limited_indexing: true1129 global scope1130 is expected to eq true1131 namespace (in scope)1132 is expected to eq true1133 namespace (not in scope)1134 is expected to eq false1135 project (in scope)1136 is expected to eq true1137 project (not in scope)1138 is expected to eq false1139 array of projects (all in scope)1140 is expected to eq true1141 array of projects (all not in scope)1142 is expected to eq false1143 array of projects (some in scope)1144 is expected to eq true1145 indexing: true, searching: true, limiting: true, advanced_global_search_for_limited_indexing: false1146 global scope1147 is expected to eq false1148 namespace (in scope)1149 is expected to eq true1150 namespace (not in scope)1151 is expected to eq false1152 project (in scope)1153 is expected to eq true1154 project (not in scope)1155 is expected to eq false1156 array of projects (all in scope)1157 is expected to eq true1158 array of projects (all not in scope)1159 is expected to eq false1160 array of projects (some in scope)1161 is expected to eq true1162 indexing: true, searching: true, limiting: false, advanced_global_search_for_limited_indexing: true1163 global scope1164 is expected to eq true1165 namespace (in scope)1166 is expected to eq true1167 namespace (not in scope)1168 is expected to eq true1169 project (in scope)1170 is expected to eq true1171 project (not in scope)1172 is expected to eq true1173 array of projects (all in scope)1174 is expected to eq true1175 array of projects (all not in scope)1176 is expected to eq true1177 array of projects (some in scope)1178 is expected to eq true1179 indexing: true, searching: true, limiting: false, advanced_global_search_for_limited_indexing: false1180 global scope1181 is expected to eq true1182 namespace (in scope)1183 is expected to eq true1184 namespace (not in scope)1185 is expected to eq true1186 project (in scope)1187 is expected to eq true1188 project (not in scope)1189 is expected to eq true1190 array of projects (all in scope)1191 is expected to eq true1192 array of projects (all not in scope)1193 is expected to eq true1194 array of projects (some in scope)1195 is expected to eq true1196 indexing: true, searching: false, limiting: true, advanced_global_search_for_limited_indexing: true1197 global scope1198 is expected to eq false1199 namespace (in scope)1200 is expected to eq false1201 namespace (not in scope)1202 is expected to eq false1203 project (in scope)1204 is expected to eq false1205 project (not in scope)1206 is expected to eq false1207 array of projects (all in scope)1208 is expected to eq false1209 array of projects (all not in scope)1210 is expected to eq false1211 array of projects (some in scope)1212 is expected to eq false1213 indexing: true, searching: false, limiting: true, advanced_global_search_for_limited_indexing: false1214 global scope1215 is expected to eq false1216 namespace (in scope)1217 is expected to eq false1218 namespace (not in scope)1219 is expected to eq false1220 project (in scope)1221 is expected to eq false1222 project (not in scope)1223 is expected to eq false1224 array of projects (all in scope)1225 is expected to eq false1226 array of projects (all not in scope)1227 is expected to eq false1228 array of projects (some in scope)1229 is expected to eq false1230 indexing: true, searching: false, limiting: false, advanced_global_search_for_limited_indexing: true1231 global scope1232 is expected to eq false1233 namespace (in scope)1234 is expected to eq false1235 namespace (not in scope)1236 is expected to eq false1237 project (in scope)1238 is expected to eq false1239 project (not in scope)1240 is expected to eq false1241 array of projects (all in scope)1242 is expected to eq false1243 array of projects (all not in scope)1244 is expected to eq false1245 array of projects (some in scope)1246 is expected to eq false1247 indexing: true, searching: false, limiting: false, advanced_global_search_for_limited_indexing: false1248 global scope1249 is expected to eq false1250 namespace (in scope)1251 is expected to eq false1252 namespace (not in scope)1253 is expected to eq false1254 project (in scope)1255 is expected to eq false1256 project (not in scope)1257 is expected to eq false1258 array of projects (all in scope)1259 is expected to eq false1260 array of projects (all not in scope)1261 is expected to eq false1262 array of projects (some in scope)1263 is expected to eq false1264 indexing: false, searching: true, limiting: true, advanced_global_search_for_limited_indexing: true1265 global scope1266 is expected to eq false1267 namespace (in scope)1268 is expected to eq false1269 namespace (not in scope)1270 is expected to eq false1271 project (in scope)1272 is expected to eq false1273 project (not in scope)1274 is expected to eq false1275 array of projects (all in scope)1276 is expected to eq false1277 array of projects (all not in scope)1278 is expected to eq false1279 array of projects (some in scope)1280 is expected to eq false1281 indexing: false, searching: true, limiting: true, advanced_global_search_for_limited_indexing: false1282 global scope1283 is expected to eq false1284 namespace (in scope)1285 is expected to eq false1286 namespace (not in scope)1287 is expected to eq false1288 project (in scope)1289 is expected to eq false1290 project (not in scope)1291 is expected to eq false1292 array of projects (all in scope)1293 is expected to eq false1294 array of projects (all not in scope)1295 is expected to eq false1296 array of projects (some in scope)1297 is expected to eq false1298 indexing: false, searching: true, limiting: false, advanced_global_search_for_limited_indexing: true1299 global scope1300 is expected to eq false1301 namespace (in scope)1302 is expected to eq false1303 namespace (not in scope)1304 is expected to eq false1305 project (in scope)1306 is expected to eq false1307 project (not in scope)1308 is expected to eq false1309 array of projects (all in scope)1310 is expected to eq false1311 array of projects (all not in scope)1312 is expected to eq false1313 array of projects (some in scope)1314 is expected to eq false1315 indexing: false, searching: true, limiting: false, advanced_global_search_for_limited_indexing: false1316 global scope1317 is expected to eq false1318 namespace (in scope)1319 is expected to eq false1320 namespace (not in scope)1321 is expected to eq false1322 project (in scope)1323 is expected to eq false1324 project (not in scope)1325 is expected to eq false1326 array of projects (all in scope)1327 is expected to eq false1328 array of projects (all not in scope)1329 is expected to eq false1330 array of projects (some in scope)1331 is expected to eq false1332 indexing: false, searching: false, limiting: true, advanced_global_search_for_limited_indexing: true1333 global scope1334 is expected to eq false1335 namespace (in scope)1336 is expected to eq false1337 namespace (not in scope)1338 is expected to eq false1339 project (in scope)1340 is expected to eq false1341 project (not in scope)1342 is expected to eq false1343 array of projects (all in scope)1344 is expected to eq false1345 array of projects (all not in scope)1346 is expected to eq false1347 array of projects (some in scope)1348 is expected to eq false1349 indexing: false, searching: false, limiting: true, advanced_global_search_for_limited_indexing: false1350 global scope1351 is expected to eq false1352 namespace (in scope)1353 is expected to eq false1354 namespace (not in scope)1355 is expected to eq false1356 project (in scope)1357 is expected to eq false1358 project (not in scope)1359 is expected to eq false1360 array of projects (all in scope)1361 is expected to eq false1362 array of projects (all not in scope)1363 is expected to eq false1364 array of projects (some in scope)1365 is expected to eq false1366 indexing: false, searching: false, limiting: false, advanced_global_search_for_limited_indexing: true1367 global scope1368 is expected to eq false1369 namespace (in scope)1370 is expected to eq false1371 namespace (not in scope)1372 is expected to eq false1373 project (in scope)1374 is expected to eq false1375 project (not in scope)1376 is expected to eq false1377 array of projects (all in scope)1378 is expected to eq false1379 array of projects (all not in scope)1380 is expected to eq false1381 array of projects (some in scope)1382 is expected to eq false1383 indexing: false, searching: false, limiting: false, advanced_global_search_for_limited_indexing: false1384 global scope1385 is expected to eq false1386 namespace (in scope)1387 is expected to eq false1388 namespace (not in scope)1389 is expected to eq false1390 project (in scope)1391 is expected to eq false1392 project (not in scope)1393 is expected to eq false1394 array of projects (all in scope)1395 is expected to eq false1396 array of projects (all not in scope)1397 is expected to eq false1398 array of projects (some in scope)1399 is expected to eq false1400 custom project templates1401 when custom_project_templates feature is enabled1402 #custom_project_templates_enabled?1403 returns true1404 #custom_project_template_id1405 returns group id1406 #available_custom_project_templates1407 returns group projects1408 returns an empty array if group is not set1409 when custom_project_templates feature is disabled1410 #custom_project_templates_enabled?1411 returns false1412 #custom_project_template_id1413 returns false1414 #available_custom_project_templates1415 returns an empty relation1416 #instance_review_permitted?1417 for instances with a valid license1418 is not permitted1419 for instances without a valid license1420 users_over_minimum: -11421 is expected to equal false1422 users_over_minimum: 01423 is expected to equal true1424 users_over_minimum: 11425 is expected to equal true1426 #max_personal_access_token_lifetime_from_now1427 when max_personal_access_token_lifetime is defined1428 is a date time1429 is in the future1430 is in days_from_now1431 when max_personal_access_token_lifetime is nil1432 is nil1433 updates to max_personal_access_token_lifetime1434 without personal_access_token_expiration_policy licensed1435 doesn't call the update lifetime service1436 with personal_access_token_expiration_policy licensed1437 executes the update lifetime service1438 #compliance_frameworks1439 sorts the list1440 removes duplicates1441 sets empty values1442 #should_apply_user_signup_cap?1443 when new_user_signups_cap setting is nil1444 is expected to equal false1445 when new_user_signups_cap setting is set to any number1446 is expected to equal true1447 maintenance mode setting1448 defaults to false1449 #max_ssh_key_lifetime_from_now1450 when max_ssh_key_lifetime is defined1451 is a date time1452 is in the future1453 is in days_from_now1454 when max_ssh_key_lifetime is nil1455 is nil1456 delayed deletion1457 when delayed_group_deletion is set to false1458 unlocks the delayed_project_removal setting1459 is expected not to allow :delayed_project_removal to be ‹true›1460 is expected to allow :delayed_project_removal to be ‹false›1461 when delayed_group_deletion is set to true1462 locks the delayed_project_removal setting1463 is expected to allow :delayed_project_removal to be ‹false›1464 is expected to allow :delayed_project_removal to be ‹true›1465 #personal_access_tokens_disabled?1466 when disable_personal_access_tokens feature is available1467 when personal access tokens are disabled1468 is expected to eq true1469 when personal access tokens are not disabled1470 is expected to eq false1471 #disable_feed_token1472 when personal access tokens are disabled1473 is expected to eq true1474 when personal access tokens are enabled1475 is expected to eq false1476 #jitsu_administrator_password1477 does not modify password if it is unchanged in the form1478Epic1479 associations1480 is expected to belong to author class_name => User required: false1481 is expected to belong to assignee class_name => User required: false1482 is expected to belong to group required: false1483 is expected to belong to parent required: false1484 is expected to have many epic_issues1485 is expected to have many children1486 is expected to have many user_mentions class_name => EpicUserMention1487 is expected to have many boards_epic_user_preferences class_name => Boards::EpicUserPreference inverse_of => epic1488 is expected to have many epic_board_positions class_name => Boards::EpicBoardPosition inverse_of => epic_board1489 default values1490 is expected to eq #<Gitlab::Color:0x00007f48359ca638 @value="#1068bf">1491 scopes1492 .public_only1493 only returns public epics1494 .confidential1495 only returns confidential epics1496 .not_confidential_or_in_groups1497 returns only epics which are either not confidential or in the group1498 relative position scopes1499 .order_relative_position_on_board1500 returns epics ordered by position on the board, null last1501 without_board_position1502 returns only epics which do not have position set for the board1503 .join_board_position1504 returns epics with joined position for the board1505 title sort scopes1506 .order_title_asc1507 returns epics ordered by title, ascending1508 .order_title_desc1509 returns epics ordered by title, decending1510 .in_milestone1511 returns epics which have an issue in the milestone1512 from_id1513 returns records with id bigger or equal to the provided param1514 validations1515 is expected to validate that :group cannot be empty/falsy1516 is expected to validate that :author cannot be empty/falsy1517 is expected to validate that :title cannot be empty/falsy1518 is expected to validate that :total_opened_issue_weight cannot be empty/falsy1519 is expected to validate that :total_closed_issue_weight cannot be empty/falsy1520 is expected to validate that :total_opened_issue_count cannot be empty/falsy1521 is expected to validate that :total_closed_issue_count cannot be empty/falsy1522 is expected to validate that :total_opened_issue_weight looks like an integer1523 is expected to validate that :total_closed_issue_weight looks like an integer1524 is expected to validate that :total_opened_issue_count looks like an integer1525 is expected to validate that :total_closed_issue_count looks like an integer1526 is valid with a valid parent1527 is valid if epic is confidential and has only confidential issues1528 is not valid if epic is confidential and has non-confidential issues1529 is valid if epic is confidential and has only confidential subepics1530 is not valid if epic is confidential and has non-confidential subepics1531 children count1532 is expected to be valid1533 when child count limit was reached1534 is not valid1535 already assigned epics are still valid1536 is valid when removing parent1537 is not valid when changing parents1538 maximum hierarchy depth1539 for a new epic1540 when it below maximum depth1541 is expected to be valid1542 when goes above maximum depth1543 is invalid1544 modules1545 behaves like AtomicInternalId1546 .has_internal_id1547 Module inclusion1548 is expected to includes the AtomicInternalId module1549 Validation1550 when presence validation is required1551 when creating an object1552 raises an error if the internal id is blank1553 when updating an object1554 raises an error if the internal id is blank1555 when presence validation is not required1556 when creating an object1557 does not raise an error if the internal id is blank (PENDING: No reason given)1558 when updating an object1559 does not raise an error if the internal id is blank (PENDING: No reason given)1560 Creating an instance1561 saves a new instance properly1562 internal id generation1563 calls InternalId.generate_next and sets internal id attribute1564 does not overwrite an existing internal id1565 when the instance has an internal ID set1566 calls InternalId.update_last_value and sets the `last_value` to that of the instance1567 unsetting the instance internal id on rollback1568 when the internal id has been changed1569 when the internal id is automatically set1570 clears it on the instance1571 when the internal id is manually set1572 does not clear it on the instance1573 when the internal id has not been changed1574 preserves the value on the instance1575 supply of internal ids1576 provides a persistent supply of IID values, sensitive to the current state1577 #reset_scope_internal_id_attribute1578 rewinds the allocated IID1579 allocates the same IID1580 ordering1581 orders by start_or_end_date1582 orders by start_date ASC1583 orders by start_date DESC1584 orders by end_date ASC1585 orders by end_date DESC1586 orders by updated_at ASC1587 orders by updated_at DESC1588 orders by created_at ASC1589 orders by created_at DESC1590 orders by relative_position ASC1591 orders by title ASC1592 orders by title DESC1593 #valid_parent?1594 basic checks1595 returns true without parent1596 returns true with a valid parent1597 returns false when level is too deep1598 with parent in a descendant group1599 returns true1600 with parent from a different group hierarchy1601 returns true1602 when adding an Epic that has existing children1603 returns true when total depth after adding will not exceed limit1604 returns false when total depth after adding would exceed limit1605 when parent has ancestors and epic has children1606 returns true when total depth after adding will not exceed limit1607 returns false when total depth after adding would exceed limit1608 when hierarchy is cyclic1609 returns false when parent is same as the epic1610 returns false when child epic is parent of the given parent1611 returns false when child epic is an ancestor of the given parent1612 hierarchy1613 #ancestors1614 returns all ancestors for an epic ordered correctly1615 returns all ancestors for an epic ordered correctly with the hierarchy_order param1616 returns an empty array if an epic does not have any parent1617 #descendants1618 returns all descendants for an epic1619 returns an empty array if an epic does not have any descendants1620 #upcoming?1621 returns true when start_date is in the future1622 returns false when start_date is in the past1623 #expired?1624 returns true when due_date is in the past1625 returns false when due_date is in the future1626 #elapsed_days1627 returns 0 if there is no start_date1628 returns elapsed_days when start_date is present1629 #start_date1630 is set1631 returns as is1632 behaves like within_timeframe scope1633 .within_timeframe1634 returns resources with start_date and/or end_date between timeframe1635 returns resources which starts before the timeframe1636 returns resources which ends after the timeframe1637 #start_date_from_milestones1638 fixed date1639 returns start date from start date sourcing milestone1640 keeps start date sourcing milestone when switching to fixed dates1641 keeps start date sourcing epic when switching to fixed dates1642 milestone date1643 returns start_date1644 #due_date_from_milestones1645 fixed date1646 returns due date from due date sourcing milestone1647 keeps due date sourcing milestone when switching to fixed dates1648 keeps due date sourcing epic when switching to fixed dates1649 milestone date1650 returns due_date1651 .deepest_relationship_level1652 returns the deepest relationship level between epics1653 when there are no epics1654 returns nil1655 #issues_readable_by1656 returns all issues if a user has access to them1657 does not return issues user can not see1658 #close1659 sets closed_at to Time.current when an epic is closed1660 changes the state to closed1661 #reopen1662 sets closed_at to nil when an epic is reopend1663 sets closed_by to nil when an epic is reopend1664 changes the state to opened1665 #to_reference1666 avoids additional SQL queries1667 when nil argument1668 returns epic id1669 when from argument equals epic group1670 returns epic id1671 when from argument is a group different from epic group1672 returns complete path to the epic1673 when from argument is a project under the epic group1674 returns epic id1675 when from argument is a project under the epic subgroup1676 returns complete path to the epic1677 when from argument is a project in another group1678 returns complete path to the epic1679 when full is true1680 returns complete path to the epic1681 #has_children?1682 has no children1683 has child epics1684 #has_issues?1685 has no issues1686 has child issues1687 #has_parent?1688 has no parent1689 has parent1690 mentioning other objects1691 creates new system notes for cross references1692 relative positioning1693 there is no parent1694 behaves like no-op relative positioning1695 .scoped_items1696 is empty1697 .relative_siblings1698 is empty1699 .move_nulls_to_end1700 does not move any items1701 behaves like a no-op method1702 does not raise errors1703 does not perform any DB queries1704 does not change any relative_position1705 .move_nulls_to_start1706 does not move any items1707 behaves like a no-op method1708 does not raise errors1709 does not perform any DB queries1710 does not change any relative_position1711 instance methods1712 #move_to_start1713 behaves like a no-op method1714 does not raise errors1715 does not perform any DB queries1716 does not change any relative_position1717 #move_to_end1718 behaves like a no-op method1719 does not raise errors1720 does not perform any DB queries1721 does not change any relative_position1722 #move_between1723 behaves like a no-op method1724 does not raise errors1725 does not perform any DB queries1726 does not change any relative_position1727 #move_before1728 behaves like a no-op method1729 does not raise errors1730 does not perform any DB queries1731 does not change any relative_position1732 #move_after1733 behaves like a no-op method1734 does not raise errors1735 does not perform any DB queries1736 does not change any relative_position1737 there is a parent1738 behaves like a class that supports relative positioning1739 #scoped_items1740 includes all items with the same scope1741 #relative_siblings1742 includes all items with the same scope, except self1743 .move_nulls_to_end1744 moves items with null relative_position to the end1745 preserves relative position1746 moves the item near the start position when there are no existing positions1747 does not perform any moves if all items have their relative_position set1748 manages to move nulls to the end even if there is a sequence at the end1749 manages to move nulls to the end even if there is not enough space1750 manages to move nulls to the end, stacking if we cannot create enough space1751 manages to move nulls found in the relative scope1752 can move many nulls1753 does not have an N+1 issue1754 .move_nulls_to_start1755 moves items with null relative_position to the start1756 moves the item near the start position when there are no existing positions1757 preserves relative position1758 does not perform any moves if all items have their relative_position set1759 manages to move nulls to the start even if there is not enough space1760 manages to move nulls to the end, stacking if we cannot create enough space1761 #move_before1762 moves item before1763 can move the item before an item at the start1764 can move the item before an item at MIN_POSITION1765 can move the item before an item bunched up at MIN_POSITION1766 when there is no space1767 moves items correctly1768 leap-frogging to the left1769 can leap-frog STEPS times before needing to rebalance1770 there is no space to the left after moving STEPS times1771 rebalances to the right1772 #move_after1773 moves item after1774 can move the item after an item bunched up at MAX_POSITION1775 when there is no space1776 can move the item after an item at MAX_POSITION1777 moves items correctly1778 leap-frogging1779 rebalances after STEPS jumps1780 #move_to_start1781 places items at most IDEAL_DISTANCE from the start when the range is open1782 moves item to the end1783 positions the item at MIN_POSITION when there is only one space left1784 rebalances when there is already an item at the MIN_POSITION1785 deals with a run of elements at the start1786 #move_to_end1787 places items at most IDEAL_DISTANCE from the start when the range is open1788 moves item to the end1789 positions the item at MAX_POSITION when there is only one space left1790 rebalances when there is already an item at the MAX_POSITION1791 deals with a run of elements at the end1792 #move_between1793 positions item between two other1794 positions item between on top1795 positions item between to end1796 positions items even when after and before positions are the same1797 positions item in the middle of other two if distance is big enough1798 positions item closer to the middle if we are at the very top1799 positions item closer to the middle if we are at the very bottom1800 positions item in the middle of other two1801 positions item right if we pass non-sequential parameters1802 avoids N+1 queries when rebalancing other items1803 the two items are next to each other1804 behaves like moves item between1805 moves the middle item to between left and right1806 there is no space1807 behaves like moves item between1808 moves the middle item to between left and right1809 there is a bunch of items1810 handles bunches correctly1811 behaves like moves item between1812 moves the middle item to between left and right1813 with existing epics and related issues1814 .related_issues1815 returns epic issues ordered by relative position1816 .ids_for_base_and_decendants1817 returns epic ids only for selected epics or its descendant epics1818 .issue_metadata_for_epics1819 returns hash containing epic issues count and weight and epic status1820 with multiple health statuses1821 returns hash containing epic issues count, weight, epic status and epic issues health statuses1822 behaves like versioned description1823 associations1824 is expected to have many description_versions1825 save_description_version1826 when description was changed1827 saves the old and new description for the first update1828 only saves the new description for subsequent updates1829 sets the new description version to `saved_description_version`1830 clears `saved_description_version` after another save that does not change description1831 when description was not changed1832 does not save any description version1833 #usage_ping_record_epic_creation1834 records epic creation after saving1835 with coloured epics1836 epic_color: #<Gitlab::Color:0x00007f48359ca638 @value="#1068bf">, expected_text_color: #<Gitlab::Color:0x00007f48082103e8 @value="#FFFFFF">1837 returns correct text color1838 epic_color: #<Gitlab::Color:0x00007f4808208418 @value="#FFFFFF">, expected_text_color: #<Gitlab::Color:0x00007f4808208008 @value="#333333">1839 returns correct text color1840 epic_color: #<Gitlab::Color:0x00007f48081f0ed0 @value="#000000">, expected_text_color: #<Gitlab::Color:0x00007f48081f0e08 @value="#FFFFFF">1841 returns correct text color1842 .epics_readable_by_user1843 avoids N+1 queries when authorizing a list of epics1844 with an admin when admin mode is enabled1845 is expected to contain exactly #<Epic id:384 group159&1>1846 with an admin when admin mode is disabled1847 returns the epics readable by the admin1848 returns no epics when not given access1849 with a regular user1850 returns the epics readable by the user1851 returns an empty array when no epics are readable1852 without a regular user1853 returns epics that are publicly visible1854 with group hierarchy1855 when user is not a member1856 returns no epic1857 when user is a reporter in the ancestor group1858 returns epics from all groups1859 when user is a reporter in the base group1860 returns epics in main group and its descendants1861 when user is a reporter in the subgroup1862 returns epics in subgroup1863 #related_epics1864 when epics feature is enabled1865 returns readable related epics of the epic1866 when epics feature is disabled1867 returns empty result1868 #epic_link_type1869 returns nil if link_type attributes are not available1870 returns link type value for sources1871 returns inverse link type value for targets1872 #blocked_by_epics_for1873 when user can read epics1874 returns blocked epics1875 when user cannot read epic1876 returns empty array1877 when user cannot read some spics1878 returns only epics that user can read1879 order by closed_at1880 .order_closed_at_asc1881 orders on closed at1882 .order_closed_at_desc1883 orders on closed at1884 #participants1885 behaves like issuable participants1886 when resource parent is public1887 and users are referenced on notes1888 includes the issue author1889 includes the authors of the notes1890 and note is confidential1891 and mentions users1892 only includes users that can read the note as participants1893 #total_issue_weight_and_count1894 returns hash of total issue weight and count including its subepics1895 #update_cached_metadata1896 schedules cache update for parent epic when new subepic is created1897 skips cache update if there is no epic parent1898 when adding existing subepic1899 schedules cache update for parent epic1900 when epic is already assigned to other epic1901 schedules cache update for old parent and new parent epics1902 schedules cache update for parent epic when removing subepic parent1903 schedules cache update for parent epic when subepic is destroyed1904 #confidentiality_errors1905 returns correct message if epic has non-confidential issues1906 returns correct message if epic has non-confidential subepics1907 is empty if epic has only confidential subepics1908 is empty if epic has only confidential issues1909 #expire_etag_cache1910 expires etag cache when epic is changed1911 behaves like resource with exportable associations1912 #exportable_association?1913 is expected to be falsey1914 when user can read resource1915 is expected to be falsey1916 when user can read resource's association1917 is expected to be truthy1918 for an unknown association1919 is expected to be falsey1920 for an unauthenticated user1921 is expected to be falsey1922 #readable_records1923 when association not supported1924 is expected to be nil1925 when association is `:notes`1926 is expected to contain exactly #<Note id: 6, note: [FILTERED], noteable_type: "Epic", author_id: 962, created_at: "2023-04-27 06:07:...nil, resolved_by_push: nil, review_id: nil, confidential: nil, last_edited_at: nil, internal: false>1927 when user have access1928 returns all records1929Security::OrchestrationPolicyConfiguration1930 associations1931 is expected to belong to project required: false inverse_of => security_orchestration_policy_configuration1932 is expected to belong to namespace required: false inverse_of => security_orchestration_policy_configuration1933 is expected to belong to security_policy_management_project class_name => Project required: false1934 is expected to have many rule_schedules class_name => Security::OrchestrationPolicyRuleSchedule inverse_of => security_orchestration_policy_configuration1935 validations1936 is expected to validate that :security_policy_management_project cannot be empty/falsy1937 when created for project1938 is expected not to validate that :namespace cannot be empty/falsy1939 is expected to validate that :project cannot be empty/falsy1940 is expected to validate that :project is case-sensitively unique1941 when created for namespace1942 is expected not to validate that :project cannot be empty/falsy1943 is expected to validate that :namespace cannot be empty/falsy1944 is expected to validate that :namespace is case-sensitively unique1945 .for_project1946 returns configuration for given projects1947 .for_namespace1948 returns configuration for given namespaces1949 .for_management_project1950 returns configuration for given the policy management project1951 .with_outdated_configuration1952 returns configuration with outdated configurations1953 .policy_management_project?1954 returns true when security_policy_management_project with id exists1955 returns false when security_policy_management_project with id does not exist1956 .valid_scan_type?1957 returns true when scan type is valid1958 returns false when scan type is invalid1959 #policy_configuration_exists?1960 when file is missing1961 is expected to eq false1962 when policy is present1963 is expected to eq true1964 #policy_hash1965 when policy is present1966 is expected to eq "Run DAST in every pipeline"1967 when policy has invalid YAML format1968 is expected to be nil1969 when policy is nil1970 is expected to be nil1971 #policy_by_type1972 when policy is present1973 retrieves policy by type1974 when policy is nil1975 returns an empty array1976 #policy_configuration_valid?1977 when file is invalid1978 is expected to eq false1979 when file has invalid name1980 is expected to equal false1981 when file is valid1982 is expected to eq true1983 with license_scanning policy1984 is expected to eq true1985 when policy is passed as argument1986 when scan type is secret_detection1987 returns false if extra fields are present1988 returns true if extra fields are not present1989 for schedule policy rule1990 cadence: "@weekly", is_valid: true1991 is expected to eq true1992 cadence: "@yearly", is_valid: true1993 is expected to eq true1994 cadence: "@annually", is_valid: true1995 is expected to eq true1996 cadence: "@monthly", is_valid: true1997 is expected to eq true1998 cadence: "@weekly", is_valid: true1999 is expected to eq true2000 cadence: "@daily", is_valid: true2001 is expected to eq true2002 cadence: "@midnight", is_valid: true2003 is expected to eq true2004 cadence: "@noon", is_valid: true2005 is expected to eq true2006 cadence: "@hourly", is_valid: true2007 is expected to eq true2008 cadence: "* * * * *", is_valid: true2009 is expected to eq true2010 cadence: "0 0 2 3 *", is_valid: true2011 is expected to eq true2012 cadence: "* * L * *", is_valid: true2013 is expected to eq true2014 cadence: "* * -6 * *", is_valid: true2015 is expected to eq true2016 cadence: "* * -3 * *", is_valid: true2017 is expected to eq true2018 cadence: "* * 12 * *", is_valid: true2019 is expected to eq true2020 cadence: "0 9 -4 * *", is_valid: true2021 is expected to eq true2022 cadence: "0 0 -8 * *", is_valid: true2023 is expected to eq true2024 cadence: "7 10 * * *", is_valid: true2025 is expected to eq true2026 cadence: "00 07 * * *", is_valid: true2027 is expected to eq true2028 cadence: "* * * * tue", is_valid: true2029 is expected to eq true2030 cadence: "* * * * TUE", is_valid: true2031 is expected to eq true2032 cadence: "12 10 0 * *", is_valid: true2033 is expected to eq true2034 cadence: "52 20 * * 2", is_valid: true2035 is expected to eq true2036 cadence: "* * last * *", is_valid: true2037 is expected to eq true2038 cadence: "0 2 last * *", is_valid: true2039 is expected to eq true2040 cadence: "52 9 2-5 * 2", is_valid: true2041 is expected to eq true2042 cadence: "0 0 27 3 1,5", is_valid: true2043 is expected to eq true2044 cadence: "0 0 11 * 3-6", is_valid: true2045 is expected to eq true2046 cadence: "0 0 -7-L * *", is_valid: true2047 is expected to eq true2048 cadence: "0 0 -1,-2 * *", is_valid: true2049 is expected to eq true2050 cadence: "10/30 * * * *", is_valid: true2051 is expected to eq true2052 cadence: "21 37 4,12 * 3", is_valid: true2053 is expected to eq true2054 cadence: "02 07 21 jan *", is_valid: true2055 is expected to eq true2056 cadence: "02 07 21 JAN *", is_valid: true2057 is expected to eq true2058 cadence: "0 1 L * wed-fri", is_valid: true2059 is expected to eq true2060 cadence: "0 1 L * wed-FRI", is_valid: true2061 is expected to eq true2062 cadence: "0 1 L * WED-fri", is_valid: true2063 is expected to eq true2064 cadence: "0 1 L * WED-FRI", is_valid: true2065 is expected to eq true2066 cadence: "0 0 21 4 sat,sun", is_valid: true2067 is expected to eq true2068 cadence: "0 0 21 4 SAT,SUN", is_valid: true2069 is expected to eq true2070 cadence: "10-30/30 * * * *", is_valid: true2071 is expected to eq true2072 cadence: "", is_valid: false2073 is expected to eq false2074 cadence: "1", is_valid: false2075 is expected to eq false2076 cadence: "2 3 4", is_valid: false2077 is expected to eq false2078 cadence: "invalid", is_valid: false2079 is expected to eq false2080 cadence: "@WEEKLY", is_valid: false2081 is expected to eq false2082 cadence: "@YEARLY", is_valid: false2083 is expected to eq false2084 cadence: "@ANNUALLY", is_valid: false2085 is expected to eq false2086 cadence: "@MONTHLY", is_valid: false2087 is expected to eq false2088 cadence: "@WEEKLY", is_valid: false2089 is expected to eq false2090 cadence: "@DAILY", is_valid: false2091 is expected to eq false2092 cadence: "@MIDNIGHT", is_valid: false2093 is expected to eq false2094 cadence: "@NOON", is_valid: false2095 is expected to eq false2096 cadence: "@HOURLY", is_valid: false2097 is expected to eq false2098 with scan result policies2099 is expected to eq true2100 with various approvers2101 user_approvers: [], user_approvers_ids: nil, group_approvers: nil, group_approvers_ids: nil, role_approvers: nil, is_valid: false2102 is expected to eq false2103 user_approvers: ["username"], user_approvers_ids: nil, group_approvers: nil, group_approvers_ids: nil, role_approvers: nil, is_valid: true2104 is expected to eq true2105 user_approvers: nil, user_approvers_ids: [], group_approvers: nil, group_approvers_ids: nil, role_approvers: nil, is_valid: false2106 is expected to eq false2107 user_approvers: nil, user_approvers_ids: [1], group_approvers: nil, group_approvers_ids: nil, role_approvers: nil, is_valid: true2108 is expected to eq true2109 user_approvers: nil, user_approvers_ids: nil, group_approvers: [], group_approvers_ids: nil, role_approvers: nil, is_valid: false2110 is expected to eq false2111 user_approvers: nil, user_approvers_ids: nil, group_approvers: ["group_path"], group_approvers_ids: nil, role_approvers: nil, is_valid: true2112 is expected to eq true2113 user_approvers: nil, user_approvers_ids: nil, group_approvers: nil, group_approvers_ids: [], role_approvers: nil, is_valid: false2114 is expected to eq false2115 user_approvers: nil, user_approvers_ids: nil, group_approvers: nil, group_approvers_ids: [2], role_approvers: nil, is_valid: true2116 is expected to eq true2117 user_approvers: nil, user_approvers_ids: nil, group_approvers: nil, group_approvers_ids: nil, role_approvers: [], is_valid: false2118 is expected to eq false2119 user_approvers: nil, user_approvers_ids: nil, group_approvers: nil, group_approvers_ids: nil, role_approvers: ["developer"], is_valid: true2120 is expected to eq true2121 with various policy names2122 policy_name: "License-Check", expected_to_be_valid: false2123 is expected to eq false2124 policy_name: "Coverage-Check", expected_to_be_valid: false2125 is expected to eq false2126 policy_name: "New License-Check", expected_to_be_valid: true2127 is expected to eq true2128 policy_name: "Coverage-Check through policies", expected_to_be_valid: true2129 is expected to eq true2130 #policy_configuration_validation_errors2131 without policies2132 is expected to contain exactly "root is missing required keys: scan_execution_policy" and "root is missing required keys: scan_result_policy"2133 scan execution policies2134 without name2135 is expected to contain exactly "property '/scan_execution_policy/0' is missing required keys: name"2136 without enabled2137 is expected to contain exactly "property '/scan_execution_policy/0' is missing required keys: enabled"2138 without rules2139 is expected to contain exactly "property '/scan_execution_policy/0' is missing required keys: rules"2140 without actions2141 is expected to contain exactly "property '/scan_execution_policy/0' is missing required keys: actions"2142 name2143 when too short2144 is expected to contain exactly "property '/scan_execution_policy/0/name' is invalid: error_type=minLength"2145 when too long2146 is expected to contain exactly "property '/scan_execution_policy/0/name' is invalid: error_type=maxLength"2147 rules2148 with invalid type2149 is expected to match "property '/scan_execution_policy/0/rules/0/type' is not one of"2150 with schedule type2151 is expected to be empty2152 with invalid cadence2153 is expected to match "property '/scan_execution_policy/0/rules/0/cadence' does not match pattern"2154 with schedule type and agent2155 is expected to be empty2156 with invalid agent name2157 is expected to match "property '/scan_execution_policy/0/rules/0/agents/with spaces' is invalid: error_type=schema"2158 actions2159 is expected to be empty2160 with invalid scan2161 is expected to match "property '/scan_execution_policy/0/actions/0/scan' is not one of"2162 with DAST scan2163 is expected to be empty2164 without site profile2165 is expected to contain exactly "property '/scan_execution_policy/0/actions/0' is missing required keys: site_profile"2166 without scanner profile2167 is expected to be empty2168 with variables2169 is expected to be empty2170 with invalid key2171 is expected to match "property '/scan_execution_policy/0/actions/0/variables/with spaces' is invalid: error_type=schema"2172 scan result policies2173 with scan_finding type2174 is expected to be empty2175 behaves like scan result policy2176 without name2177 is expected to contain exactly "property '/scan_result_policy/0' is missing required keys: name"2178 without enabled2179 is expected to contain exactly "property '/scan_result_policy/0' is missing required keys: enabled"2180 without rules2181 is expected to contain exactly "property '/scan_result_policy/0' is missing required keys: rules"2182 without actions2183 is expected to contain exactly "property '/scan_result_policy/0' is missing required keys: actions"2184 without branches2185 is expected to contain exactly "property '/scan_result_policy/0/rules/0' is missing required keys: branches"2186 without scanners2187 is expected to contain exactly "property '/scan_result_policy/0/rules/0' is missing required keys: scanners"2188 without vulnerabilities_allowed2189 is expected to contain exactly "property '/scan_result_policy/0/rules/0' is missing required keys: vulnerabilities_allowed"2190 without severity_levels2191 is expected to contain exactly "property '/scan_result_policy/0/rules/0' is missing required keys: severity_levels"2192 without vulnerability_states2193 is expected to contain exactly "property '/scan_result_policy/0/rules/0' is missing required keys: vulnerability_states"2194 name2195 when too short2196 is expected to contain exactly "property '/scan_result_policy/0/name' is invalid: error_type=minLength"2197 when too long2198 is expected to contain exactly "property '/scan_result_policy/0/name' is invalid: error_type=maxLength"2199 rules2200 with invalid type2201 is expected to match "property '/scan_result_policy/0/rules/0/type' is not one of"2202 actions2203 without approvers2204 is expected not to be empty2205 with user_approvers2206 is expected to be empty2207 when empty2208 is expected to contain exactly "property '/scan_result_policy/0/actions/0/user_approvers' is invalid: error_type=minItems"2209 with user_approvers_ids2210 is expected to be empty2211 when empty2212 is expected to contain exactly "property '/scan_result_policy/0/actions/0/user_approvers_ids' is invalid: error_type=minItems"2213 with group_approvers2214 is expected to be empty2215 when empty2216 is expected to contain exactly "property '/scan_result_policy/0/actions/0/group_approvers' is invalid: error_type=minItems"2217 with group_approvers_ids2218 is expected to be empty2219 when empty2220 is expected to contain exactly "property '/scan_result_policy/0/actions/0/group_approvers_ids' is invalid: error_type=minItems"2221 with role_approvers2222 is expected to be empty2223 with invalid role2224 is expected to match "property '/scan_result_policy/0/actions/0/role_approvers/0' is not one of"2225 scanners2226 is expected to contain exactly "property '/scan_result_policy/0/rules/0/scanners/0' is invalid: error_type=minLength"2227 severity_levels2228 is expected to match "property '/scan_result_policy/0/rules/0/severity_levels/0' is not one of"2229 vulnerability_states2230 is expected to match "property '/scan_result_policy/0/rules/0/vulnerability_states/0' is not one of"2231 with license_finding type2232 is expected to be empty2233 behaves like scan result policy2234 without name2235 is expected to contain exactly "property '/scan_result_policy/0' is missing required keys: name"2236 without enabled2237 is expected to contain exactly "property '/scan_result_policy/0' is missing required keys: enabled"2238 without rules2239 is expected to contain exactly "property '/scan_result_policy/0' is missing required keys: rules"2240 without actions2241 is expected to contain exactly "property '/scan_result_policy/0' is missing required keys: actions"2242 without branches2243 is expected to contain exactly "property '/scan_result_policy/0/rules/0' is missing required keys: branches"2244 without match_on_inclusion2245 is expected to contain exactly "property '/scan_result_policy/0/rules/0' is missing required keys: match_on_inclusion"2246 without license_types2247 is expected to contain exactly "property '/scan_result_policy/0/rules/0' is missing required keys: license_types"2248 without license_states2249 is expected to contain exactly "property '/scan_result_policy/0/rules/0' is missing required keys: license_states"2250 name2251 when too short2252 is expected to contain exactly "property '/scan_result_policy/0/name' is invalid: error_type=minLength"2253 when too long2254 is expected to contain exactly "property '/scan_result_policy/0/name' is invalid: error_type=maxLength"2255 rules2256 with invalid type2257 is expected to match "property '/scan_result_policy/0/rules/0/type' is not one of"2258 actions2259 without approvers2260 is expected not to be empty2261 with user_approvers2262 is expected to be empty2263 when empty2264 is expected to contain exactly "property '/scan_result_policy/0/actions/0/user_approvers' is invalid: error_type=minItems"2265 with user_approvers_ids2266 is expected to be empty2267 when empty2268 is expected to contain exactly "property '/scan_result_policy/0/actions/0/user_approvers_ids' is invalid: error_type=minItems"2269 with group_approvers2270 is expected to be empty2271 when empty2272 is expected to contain exactly "property '/scan_result_policy/0/actions/0/group_approvers' is invalid: error_type=minItems"2273 with group_approvers_ids2274 is expected to be empty2275 when empty2276 is expected to contain exactly "property '/scan_result_policy/0/actions/0/group_approvers_ids' is invalid: error_type=minItems"2277 with role_approvers2278 is expected to be empty2279 with invalid role2280 is expected to match "property '/scan_result_policy/0/actions/0/role_approvers/0' is not one of"2281 license_types2282 is expected to contain exactly "property '/scan_result_policy/0/rules/0/license_types/0' is invalid: error_type=minLength"2283 license_states2284 without states2285 is expected to contain exactly "property '/scan_result_policy/0/rules/0/license_states' is invalid: error_type=minItems"2286 with invalid state2287 is expected to match "property '/scan_result_policy/0/rules/0/license_states/0' is not one of"2288 when file is valid2289 is expected to eq []2290 when policy is passed as argument2291 when scan type is secret_detection2292 returns false if extra fields are present2293 returns true if extra fields are not present2294 #active_scan_execution_policies2295 returns only enabled policies2296 #active_policy_names_with_dast_site_profile2297 returns list of policy names where site profile is referenced2298 #active_policy_names_with_dast_scanner_profile2299 returns list of policy names where site profile is referenced2300 #policy_last_updated_by2301 when last commit to policy file exists2302 is expected to eq #<User id:964 @namespace300>2303 when last commit to policy file does not exist2304 is expected to be nil2305 #policy_last_updated_at2306 when last commit to policy file exists2307 returns commit's updated date2308 when last commit to policy file does not exist2309 is expected to be nil2310 #delete_all_schedules2311 deletes all schedules belonging to configuration2312 #active_scan_result_policies2313 returns only enabled policies2314 returns only 5 from all active policies2315 when policy configuration is configured for namespace2316 returns only enabled policies2317 returns only 5 from all active policies2318 #scan_result_policies2319 returns all scan result policies2320 #project?2321 when project is assigned to policy configuration2322 is expected to eq true2323 when namespace is assigned to policy configuration2324 is expected to eq false2325 #namespace?2326 when project is assigned to policy configuration2327 is expected to eq false2328 when namespace is assigned to policy configuration2329 is expected to eq true2330 #source2331 when project is assigned to policy configuration2332 is expected to eq #<Project id:476 namespace517/project-476>>2333 when namespace is assigned to policy configuration2334 is expected to eq #<Namespaces::UserNamespace id:1815 @namespace518>2335 #delete_scan_finding_rules2336 when associated to a project2337 behaves like approval rules deletion2338 deletes project approval rules2339 deletes merge request approval rules2340 when associated to namespace2341 behaves like approval rules deletion2342 deletes project approval rules2343 deletes merge request approval rules2344 #delete_scan_finding_rules_for_project2345 deletes project approval rules2346 deletes merge request approval rules2347 with unrelated resources2348 does not delete unrelated project approval rules2349 does not delete unrelated merge request approval rules2350 #delete_software_license_policies2351 deletes project scan_result_policy_reads2352 #active_policies_scan_actions2353 returns active scan policies2354 with disabled scan policies2355 filters2356 with scan policies targeting other branch2357 filters2358Vulnerabilities::RevertToDetectedService2359 with an authorized user with proper permissions2360 when vulnerability state is different from the requested state2361 when vulnerability is dismissed2362 reverts a vulnerability and its associated findings to detected state2363 creates note2364 creates state transition entry to `detected`2365 behaves like calls vulnerability statistics utility services in order2366 when updating the vulnerability fails2367 does not call the service classes2368 when updating the vulnerability succeeds2369 calls the service classes in order2370 behaves like removes dismissal feedback from associated findings2371 when there is no error2372 removes dismissal feedback from associated findings2373 when there is an error2374 does not remove any feedback2375 responds with error2376 when feature flag deprecate_vulnerabilities_feedback is disabled2377 behaves like removes dismissal feedback from associated findings2378 when there is no error2379 removes dismissal feedback from associated findings2380 when there is an error2381 does not remove any feedback2382 responds with error2383 when vulnerability is confirmed2384 reverts a vulnerability and its associated findings to detected state2385 creates note2386 creates state transition entry to `detected`2387 behaves like calls vulnerability statistics utility services in order2388 when updating the vulnerability fails2389 does not call the service classes2390 when updating the vulnerability succeeds2391 calls the service classes in order2392 behaves like removes dismissal feedback from associated findings2393 when there is no error2394 removes dismissal feedback from associated findings2395 when there is an error2396 does not remove any feedback2397 responds with error2398 when vulnerability is resolved2399 reverts a vulnerability and its associated findings to detected state2400 creates note2401 creates state transition entry to `detected`2402 behaves like calls vulnerability statistics utility services in order2403 when updating the vulnerability fails2404 does not call the service classes2405 when updating the vulnerability succeeds2406 calls the service classes in order2407 behaves like removes dismissal feedback from associated findings2408 when there is no error2409 removes dismissal feedback from associated findings2410 when there is an error2411 does not remove any feedback2412 responds with error2413 when security dashboard feature is disabled2414 raises an "access denied" error2415 when vulnerability state is not different from the requested state2416 behaves like does not create state transition for same state2417 when vulnerability state is not different from the requested state2418 with an authorized user with proper permissions2419 does not create a state transition entry2420 permissions2421 is expected to be allowed for :owner2422 is expected to be allowed for :maintainer2423 is expected to be allowed for :developer2424 is expected to be denied for :auditor2425 is expected to be denied for :reporter2426 is expected to be denied for :guest2427 is expected to be denied for :anonymous2428 when admin mode is enabled2429 is expected to be allowed for :admin2430 when admin mode is disabled2431 is expected to be denied for :admin2432Issue2433 associations2434 is expected to belong to iteration required: false2435 is expected to have many resource_weight_events2436 is expected to have many resource_iteration_events2437 is expected to have one issuable_sla2438 is expected to have many metric_images2439 is expected to have many pending_escalations2440 is expected to have one requirement2441 is expected to have many test_reports2442 is expected to have many issuable_resource_links2443 modules2444 is expected to includes the EE::WeightEventable module2445 scopes2446 health status2447 .with_health_status2448 returns the filtered by health issues2449 when using multiple health filter qualifications2450 returns the filtered by health issues2451 .with_any_health_status2452 only returns the issues with a health_status2453 .with_no_health_status2454 only returns issues with no health status2455 .without_health_status2456 returns the filtered by health issues2457 when using multiple health filter qualifications2458 returns the filtered by health issues2459 .order_health_status_asc2460 returns healthy issues first2461 .order_health_status_desc2462 returns non-healthy issues first2463 .for_requirement_iids2464 when issue is of type requirement2465 filters requirement issues by associated requirements iids2466 uses work_item_type_id to filter requirements2467 when issue_type_uses_work_item_types_table feature flag is disabled2468 uses the issue_type column to filter requirements2469 .on_status_page2470 is expected to eq 12471 is expected to eq #<Issue id:235 namespace923/project-879#1>2472 with status page disabled2473 is expected to eq 02474 .with_feature2475 gives issues that support the given feature2476 returns an empty collection when given an unknown feature2477 epics2478 .no_epic2479 returns only issues without an epic assigned2480 .any_epic2481 returns only issues with an epic assigned2482 .in_epics2483 returns only issues in selected epics2484 .not_in_epics2485 returns only issues not in selected epics2486 .distinct_epic_ids2487 returns distinct epic ids2488 when issues are grouped by labels2489 respects query grouping and returns distinct epic ids2490 .sorted_by_epic_position2491 sorts by epic relative position2492 iterations2493 .no_iteration2494 returns only issues without an iteration assigned2495 .any_iteration2496 returns only issues with an iteration assigned2497 .in_iterations2498 returns only issues in selected iterations2499 .not_in_iterations2500 returns issues not in selected iterations2501 .with_iteration_title2502 returns only issues with iterations that match the title2503 .without_iteration_title2504 returns only issues without iterations or have iterations that do not match the title2505 status page published2506 .order_status_page_published_first2507 is expected to eq [#<Issue id:248 namespace934/project-890#1>, #<Issue id:247 namespace933/project-889#1>]2508 .order_status_page_published_last2509 is expected to eq [#<Issue id:247 namespace933/project-889#1>, #<Issue id:248 namespace934/project-890#1>]2510 sla due at2511 .order_sla_due_at_asc2512 is expected to eq [#<Issue id:249 namespace935/project-891#1>, #<Issue id:250 namespace935/project-891#2>, #<Issue id:251 namespace935/project-891#3>]2513 .order_sla_due_at_desc2514 is expected to eq [#<Issue id:250 namespace935/project-891#2>, #<Issue id:249 namespace935/project-891#1>, #<Issue id:251 namespace935/project-891#3>]2515 validations2516 weight2517 is not valid when negative number2518 is valid when non-negative2519 confidential2520 when assigning an epic to a new issue2521 when an issue is not confidential2522 is not valid2523 when an issue is confidential2524 is valid2525 when updating an existing issue2526 when an issue is assigned to the confidential epic2527 when changing issue to public2528 is not valid2529 when assigining a confidential issue2530 is valid2531 when assigining a public issue2532 is not valid2533 when associated to a requirement object2534 when requirement belongs to another project2535 issue is invalid2536 relations2537 is expected to have many vulnerability_links class_name => Vulnerabilities::IssueLink inverse_of => issue2538 is expected to have many related_vulnerabilities through vulnerability_links source => vulnerability2539 is expected to belong to promoted_to_epic class_name => Epic required: false2540 is expected to have many resource_weight_events2541 is expected to have one status_page_published_incident2542 behaves like an editable mentionable with EE-specific mentions2543 creates new cross-reference notes when the mentionable text is edited2544 behaves like a mentionable with EE-specific mentions2545 extracts references from its reference property2546 creates cross-reference notes2547 #allows_multiple_assignees?2548 does not allow multiple assignees without license2549 does not allow multiple assignees without license2550 .simple_sorts2551 includes weight with other base keys2552 #sort2553 by weight2554 sorts desc2555 sorts asc2556 when weight is the same2557 sorting by asc2558 arranges issues with the same weight by their ids2559 sorting by desc2560 arranges issues with the same weight by their ids2561 by blocking issues2562 orders by ascending blocking issues count2563 orders by descending blocking issues count2564 #weight2565 license_value: true, database_value: 5, expected: 52566 is expected to eq 52567 license_value: true, database_value: nil, expected: nil2568 is expected to eq nil2569 license_value: false, database_value: 5, expected: nil2570 is expected to eq nil2571 license_value: false, database_value: nil, expected: nil2572 is expected to eq nil2573 #promoted?2574 issue not promoted2575 is expected to be falsey2576 issue promoted2577 is expected to be truthy2578 #reopen2579 clears promoted_to_epic_id for promoted issues2580 ES related specs2581 when updating an Issue2582 when changing the confidential value2583 updates issue notes excluding system notes2584 when changing the author2585 updates issue notes excluding system notes2586 when changing the title2587 does not update issue notes2588 when changing upvotes2589 calls maintain_elasticsearch_update2590 relative positioning with group boards2591 .relative_positioning_query_base2592 includes cross project issues in the same group2593 #move_before2594 moves issue before2595 #move_after2596 moves issue after2597 #move_to_end2598 moves issue to the end2599 #move_between2600 positions issue between two other2601 positions issue between on top2602 positions issue between to end2603 positions issues even when after and before positions are the same2604 positions issues between other two if distance is 12605 positions issue in the middle of other two if distance is big enough2606 positions issue closer to the middle if we are at the very top2607 positions issue closer to the middle if we are at the very bottom2608 positions issue in the middle of other two if distance is not big enough2609 positions issue in the middle of other two is there is no place2610 uses rebalancing if there is no place2611 positions issue right if we pass non-sequential parameters2612 when an external authentication service2613 #visible_to_user?2614 does not check the external webservice for auditors2615 #issue_link_type2616 returns nil for a regular issue2617 id: 1, issue_link_source_id: 1, issue_link_type_value: 0, expected: "relates_to"2618 is expected to eq "relates_to"2619 id: 1, issue_link_source_id: 1, issue_link_type_value: 1, expected: "blocks"2620 is expected to eq "blocks"2621 id: 1, issue_link_source_id: 2, issue_link_type_value: 2, expected: "relates_to"2622 is expected to eq "relates_to"2623 id: 1, issue_link_source_id: 2, issue_link_type_value: 1, expected: "is_blocked_by"2624 is expected to eq "is_blocked_by"2625 #blocked_by_issues2626 when user can read issues2627 returns blocked issues2628 when user cannot read issues2629 returns empty array2630 when user can read some issues2631 returns issues that user can read2632 behaves like having health status2633 validations2634 is expected to define :health_status as an enum backed by an integer with values ‹{on_track: 1, needs_attention: 2, at_risk: 3}›2635 is expected to allow :health_status to be ‹nil›2636 #can_assign_epic?2637 when epics feature is available2638 when a user is not a project member2639 returns false2640 when a user is a project member2641 is expected to be truthy2642 when epics feature is not available2643 returns false2644 #update_blocking_issues_count2645 updates blocking issues count2646 when changing state of blocking issues2647 when blocked issue is closed2648 updates blocking and blocked issues cache2649 when blocked issue is reopened2650 updates blocking and blocked issues cache2651 #can_be_promoted_to_epic?2652 when project on the issue does not have a parent group2653 is expected to be falsey2654 when project on the issue is in a subgroup2655 is expected to be truthy2656 when project has a parent group2657 when a user is not a project member2658 is expected to be falsey2659 when a user is a project member2660 is expected to be falsey2661 when a user is a group member2662 is expected to be truthy2663 when issue is an incident2664 is expected to be falsey2665 #supports_iterations?2666 issuable_type: :issue, project: :project_with_group, supports_iterations: true2667 is expected to eq true2668 issuable_type: :incident, project: :project_with_group, supports_iterations: false2669 is expected to eq false2670 #issue_type_supports?2671 is expected to equal false2672 #sla_available?2673 incident_type: false, license_available: true, sla_available: false2674 returns the expected value2675 incident_type: true, license_available: false, sla_available: false2676 returns the expected value2677 incident_type: true, license_available: true, sla_available: true2678 returns the expected value2679 #supports_time_tracking?2680 issue_type: :requirement, supports_time_tracking: false2681 is expected to eq false2682 issue_type: :test_case, supports_time_tracking: false2683 is expected to eq false2684 #supports_move_and_clone?2685 issue_type: :requirement, supports_move_and_clone: false2686 is expected to eq false2687 issue_type: :test_case, supports_move_and_clone: true2688 is expected to eq true2689 #related_feature_flags2690 returns only authorized related feature flags for a given user2691 when a user cannot read cross project2692 only returns feature_flags within the same project2693 .with_issue_type2694 gives issues with test case type2695 gives issues with the given issue types list2696 #update_cached_metadata2697 when epic is not assigned2698 does nothing2699 when creating new issue2700 schedules cache update for epic2701 when updating an existing issue2702 schedules cache update for epic if state is changed2703 schedules cache update for epic if weight is changed2704 does nothing when unrelated attributes are changed2705 schedules cache update for epic if issue is destroyed2706 #has_epic?2707 when when there is no associated epic2708 is expected to eq false2709 when when there is an associated epic2710 is expected to eq true2711 #allowed_work_item_type_change2712 when it is part of an epic2713 is not possible to change from issue to incident2714 is possible to change back from incident to issue2715 when it is not part of an epic2716 is possible to change between types2717 behaves like resource with exportable associations2718 #exportable_association?2719 is expected to be falsey2720 when user can read resource2721 is expected to be falsey2722 when user can read resource's association2723 is expected to be truthy2724 for an unknown association2725 is expected to be falsey2726 for an unauthenticated user2727 is expected to be falsey2728 #readable_records2729 when association not supported2730 is expected to be nil2731 when association is `:notes`2732 is expected to contain exactly #<Note id: 27, note: [FILTERED], noteable_type: "Issue", author_id: 1728, created_at: "2023-04-27 06:...nil, resolved_by_push: nil, review_id: nil, confidential: nil, last_edited_at: nil, internal: false>2733 when user have access2734 returns all records2735GlobalSearch2736 Respect feature visibility levels2737 Private projects2738 does not find items if features are disabled2739 shows items to member only if features are enabled2740 Internal projects2741 does not find items if features are disabled2742 shows items to member only if features are enabled2743 shows items to member only if features are private2744 Public projects2745 does not find items if features are disabled2746 finds items if features are enabled2747 shows items to member only if features are private2748EnvironmentEntity2749 #as_json2750 with alert2751 exposes active alert flag2752 when user does not have permission to read alert2753 does not expose active alert flag2754 when license is insufficient2755 does not expose active alert flag2756 when environment has a review app2757 #can_stop2758 behaves like protected environments access2759 when Protected Environments feature is not available in the project2760 access_level: :guest, result: false2761 is expected to eq false2762 access_level: :reporter, result: false2763 is expected to eq false2764 access_level: :developer, result: true2765 is expected to eq true2766 access_level: :maintainer, result: true2767 is expected to eq true2768 access_level: :admin, result: true2769 is expected to eq true2770 when Protected Environments feature is available in the project2771 when environment is protected with project-level protection2772 behaves like authorize correctly per access type2773 when user does not have access to the environment2774 access_level: :guest, result: false2775 is expected to eq false2776 access_level: :reporter, result: false2777 is expected to eq false2778 access_level: :developer, result: false2779 is expected to eq false2780 access_level: :maintainer, result: false2781 is expected to eq false2782 access_level: :admin, result: true2783 is expected to eq true2784 when user has access to the environment2785 access_level: :reporter, result: false2786 is expected to eq false2787 access_level: :developer, result: true2788 is expected to eq true2789 access_level: :maintainer, result: true2790 is expected to eq true2791 access_level: :admin, result: true2792 is expected to eq true2793 when the user has access via a group2794 is expected to eq false2795 when environment is protected with group-level protection2796 behaves like authorize correctly per access type2797 when user does not have access to the environment2798 access_level: :guest, result: false2799 is expected to eq false2800 access_level: :reporter, result: false2801 is expected to eq false2802 access_level: :developer, result: false2803 is expected to eq false2804 access_level: :maintainer, result: false2805 is expected to eq false2806 access_level: :admin, result: true2807 is expected to eq true2808 when user has access to the environment2809 access_level: :reporter, result: false2810 is expected to eq false2811 access_level: :developer, result: true2812 is expected to eq true2813 access_level: :maintainer, result: true2814 is expected to eq true2815 access_level: :admin, result: true2816 is expected to eq true2817 when the user has access via a group2818 is expected to eq false2819 when environment is not protected2820 access_level: :guest, result: false2821 is expected to eq false2822 access_level: :reporter, result: false2823 is expected to eq false2824 access_level: :developer, result: true2825 is expected to eq true2826 access_level: :maintainer, result: true2827 is expected to eq true2828 access_level: :admin, result: true2829 is expected to eq true2830 #terminal_path2831 behaves like protected environments access2832 when Protected Environments feature is not available in the project2833 access_level: :guest, result: false2834 is expected to eq false2835 access_level: :reporter, result: false2836 is expected to eq false2837 access_level: :developer, result: false2838 is expected to eq false2839 access_level: :maintainer, result: true2840 is expected to eq true2841 access_level: :admin, result: true2842 is expected to eq true2843 when Protected Environments feature is available in the project2844 when environment is protected with project-level protection2845 behaves like authorize correctly per access type2846 when user does not have access to the environment2847 access_level: :guest, result: false2848 is expected to eq false2849 access_level: :reporter, result: false2850 is expected to eq false2851 access_level: :developer, result: false2852 is expected to eq false2853 access_level: :maintainer, result: false2854 is expected to eq false2855 access_level: :admin, result: true2856 is expected to eq true2857 when user has access to the environment2858 access_level: :reporter, result: false2859 is expected to eq false2860 access_level: :developer, result: false2861 is expected to eq false2862 access_level: :maintainer, result: true2863 is expected to eq true2864 access_level: :admin, result: true2865 is expected to eq true2866 when the user has access via a group2867 is expected to eq false2868 when environment is protected with group-level protection2869 behaves like authorize correctly per access type2870 when user does not have access to the environment2871 access_level: :guest, result: false2872 is expected to eq false2873 access_level: :reporter, result: false2874 is expected to eq false2875 access_level: :developer, result: false2876 is expected to eq false2877 access_level: :maintainer, result: false2878 is expected to eq false2879 access_level: :admin, result: true2880 is expected to eq true2881 when user has access to the environment2882 access_level: :reporter, result: false2883 is expected to eq false2884 access_level: :developer, result: false2885 is expected to eq false2886 access_level: :maintainer, result: true2887 is expected to eq true2888 access_level: :admin, result: true2889 is expected to eq true2890 when the user has access via a group2891 is expected to eq false2892 when environment is not protected2893 access_level: :guest, result: false2894 is expected to eq false2895 access_level: :reporter, result: false2896 is expected to eq false2897 access_level: :developer, result: false2898 is expected to eq false2899 access_level: :maintainer, result: true2900 is expected to eq true2901 access_level: :admin, result: true2902 is expected to eq true2903 required_approval_count2904 exposes required_approval_count2905GitlabSubscription2906 is expected to delegate #exclude_guests? to the #namespace object2907 default values2908 defaults start_date to the current date2909 validations2910 is expected to validate that :seats cannot be empty/falsy2911 is expected to validate that :start_date cannot be empty/falsy2912 is expected to validate that :namespace_id is case-sensitively unique2913 associations2914 is expected to belong to namespace required: false2915 is expected to belong to hosted_plan required: false2916 scopes2917 .with_hosted_plan2918 scopes to the plan2919 .max_seats_used_changed_between2920 returns relevant subscriptions2921 .requiring_seat_refresh2922 returns relevant subscriptions2923 limits results2924 #calculate_seats_in_use2925 returns count of members2926 also counts users from subgroups2927 does not count duplicated members2928 does not count blocked members2929 with free_user_cap2930 does not count awaiting members2931 with guest members2932 with a ultimate plan2933 excludes these members2934 with other plans2935 excludes these members2936 excludes these members2937 when subscription is for a User2938 always returns 1 seat2939 #calculate_seats_owed2940 with a free plan2941 does not update max_seats_used2942 with a trial plan2943 does not update max_seats_used2944 with a paid plan2945 calculates the number of owed seats2946 #seats_remaining2947 when there are more seats used than available in the subscription2948 returns zero2949 when seats used equals seats in subscription2950 returns zero2951 when there are seats left in the subscription2952 returns the seat count remaining from the max seats used2953 when max seat data has not yet been generated for the subscription2954 returns the seat count of the subscription2955 #refresh_seat_attributes2956 when current seats in use is lower than recorded max_seats_used2957 does not increase max_seats_used2958 when current seats in use is higher than seats and max_seats_used2959 increases seats and max_seats_used2960 when resetting the max seats2961 sets max_seats_used to the current seats in use2962 #seats_in_use2963 with a paid hosted plan2964 returns the previously calculated seats in use2965 when seats in use is 02966 returns 0 too2967 with a trial plan2968 returns the current seats in use2969 behaves like a disabled feature2970 when feature flag is disabled2971 returns the previously calculated seats in use2972 with a free plan2973 returns the current seats in use2974 behaves like a disabled feature2975 when feature flag is disabled2976 returns the previously calculated seats in use2977 #expired?2978 when end_date is expired2979 is expected to equal true2980 when end_date is not expired2981 is expected to equal false2982 when end_date is nil2983 is expected to equal false2984 #has_a_paid_hosted_plan?2985 plan_name: "bronze", seats: 0, result: false2986 returns true if subscription has a paid hosted plan2987 plan_name: "bronze", seats: 1, result: true2988 returns true if subscription has a paid hosted plan2989 plan_name: "premium", seats: 1, result: true2990 returns true if subscription has a paid hosted plan2991 #upgradable?2992 behaves like upgradable lower plan2993 has_a_paid_hosted_plan: false, expired: false, result: false2994 returns true if subscription is upgradable2995 has_a_paid_hosted_plan: true, expired: false, result: true2996 returns true if subscription is upgradable2997 has_a_paid_hosted_plan: true, expired: true, result: false2998 returns true if subscription is upgradable2999 has_a_paid_hosted_plan: false, expired: true, result: false3000 returns true if subscription is upgradable3001 behaves like upgradable lower plan3002 has_a_paid_hosted_plan: false, expired: false, result: false3003 returns true if subscription is upgradable3004 has_a_paid_hosted_plan: true, expired: false, result: true3005 returns true if subscription is upgradable3006 has_a_paid_hosted_plan: true, expired: true, result: false3007 returns true if subscription is upgradable3008 has_a_paid_hosted_plan: false, expired: true, result: false3009 returns true if subscription is upgradable3010 behaves like upgradable lower plan3011 has_a_paid_hosted_plan: false, expired: false, result: false3012 returns true if subscription is upgradable3013 has_a_paid_hosted_plan: true, expired: false, result: true3014 returns true if subscription is upgradable3015 has_a_paid_hosted_plan: true, expired: true, result: false3016 returns true if subscription is upgradable3017 has_a_paid_hosted_plan: false, expired: true, result: false3018 returns true if subscription is upgradable3019 behaves like upgradable lower plan3020 has_a_paid_hosted_plan: false, expired: false, result: false3021 returns true if subscription is upgradable3022 has_a_paid_hosted_plan: true, expired: false, result: true3023 returns true if subscription is upgradable3024 has_a_paid_hosted_plan: true, expired: true, result: false3025 returns true if subscription is upgradable3026 has_a_paid_hosted_plan: false, expired: true, result: false3027 returns true if subscription is upgradable3028 behaves like upgradable lower plan3029 has_a_paid_hosted_plan: false, expired: false, result: false3030 returns true if subscription is upgradable3031 has_a_paid_hosted_plan: true, expired: false, result: true3032 returns true if subscription is upgradable3033 has_a_paid_hosted_plan: true, expired: true, result: false3034 returns true if subscription is upgradable3035 has_a_paid_hosted_plan: false, expired: true, result: false3036 returns true if subscription is upgradable3037 behaves like upgradable lower plan3038 has_a_paid_hosted_plan: false, expired: false, result: false3039 returns true if subscription is upgradable3040 has_a_paid_hosted_plan: true, expired: false, result: true3041 returns true if subscription is upgradable3042 has_a_paid_hosted_plan: true, expired: true, result: false3043 returns true if subscription is upgradable3044 has_a_paid_hosted_plan: false, expired: true, result: false3045 returns true if subscription is upgradable3046 behaves like upgradable lower plan3047 has_a_paid_hosted_plan: false, expired: false, result: false3048 returns true if subscription is upgradable3049 has_a_paid_hosted_plan: true, expired: false, result: true3050 returns true if subscription is upgradable3051 has_a_paid_hosted_plan: true, expired: true, result: false3052 returns true if subscription is upgradable3053 has_a_paid_hosted_plan: false, expired: true, result: false3054 returns true if subscription is upgradable3055 behaves like top plan3056 has_a_paid_hosted_plan: false, expired: false3057 returns false3058 has_a_paid_hosted_plan: true, expired: false3059 returns false3060 has_a_paid_hosted_plan: true, expired: true3061 returns false3062 has_a_paid_hosted_plan: false, expired: true3063 returns false3064 behaves like top plan3065 has_a_paid_hosted_plan: false, expired: false3066 returns false3067 has_a_paid_hosted_plan: true, expired: false3068 returns false3069 has_a_paid_hosted_plan: true, expired: true3070 returns false3071 has_a_paid_hosted_plan: false, expired: true3072 returns false3073 behaves like top plan3074 has_a_paid_hosted_plan: false, expired: false3075 returns false3076 has_a_paid_hosted_plan: true, expired: false3077 returns false3078 has_a_paid_hosted_plan: true, expired: true3079 returns false3080 has_a_paid_hosted_plan: false, expired: true3081 returns false3082 callbacks3083 has all attributes listed in the subscription history table3084 after_commit3085 index_namespace3086 indexes the namespace3087 when seats is 03088 does not index the namespace3089 when it is a trial3090 indexes the namespace3091 when seats is zero3092 indexes the namespace3093 when in free plan3094 does not index the namespace3095 when not ::Gitlab.com?3096 does not index the namespace3097 when the plan has expired3098 does not index the namespace3099 when it is a free plan3100 does not index the namespace3101 before_update3102 when a tracked attribute is updated3103 logs previous state to gitlab subscription history3104 when tracked attributes are not updated3105 does not log previous state to gitlab subscription history3106 when max_seats_used has changed3107 updates the max_seats_used_changed_at3108 when max_seats_used has not changed3109 does not change the max_seats_used_changed_at3110 when starting a new term3111 when start_date is after the old end_date3112 triggers subscription started event3113 behaves like resets seats3114 resets seats attributes3115 when the end_date was nil3116 behaves like resets seats3117 resets seats attributes3118 when the start_date is before the old end_date3119 behaves like resets seats3120 resets seats attributes3121 when max_seats_used_changed_at is not set3122 behaves like resets seats3123 resets seats attributes3124 when dates are changed but not for a new term3125 does not reset seats attributes3126 does not trigger subscription started event3127 when no dates are changed3128 does not reset seats attributes3129 when max_seats_used_changed_at is not set3130 does not reset seats attributes3131 when max_seats_used_changed_at is on the start_date3132 does not reset seats attributes3133 when max_seats_used_changed_at is before the start_date3134 behaves like resets seats3135 resets seats attributes3136 with an active trial3137 resets seats when upgrading to a paid plan3138 does not reset seats when downgrading to a free plan3139 when starting a trial with an expired subscription3140 when max_seats_used_changed_at has never been set3141 behaves like does not reset seat statistics3142 does not reset seat statistics3143 when max_seats_used_changed_at has been set3144 behaves like does not reset seat statistics3145 does not reset seat statistics3146 after_destroy_commit3147 logs previous state to gitlab subscription history3148 .yield_long_expired_indexed_namespaces3149 yields ElasticsearchIndexedNamespace that belong to subscriptions that expired over a week ago3150 #trial_extended_or_reactivated?3151 trial_extension_type: nil, extended_or_reactivated: false3152 is expected to equal false3153 trial_extension_type: 1, extended_or_reactivated: true3154 is expected to equal true3155 trial_extension_type: 2, extended_or_reactivated: true3156 is expected to equal true3157 #legacy?3158 when a subscription was purchased before the EoA rollout date3159 is expected to be truthy3160 when a subscription was purchased on the EoA rollout date3161 is expected to be falsey3162 when a subscription was purchased after the EoA rollout date3163 is expected to be falsey3164Projects::CreateFromTemplateService3165 #execute3166 does not create project from custom template3167 when use_custom_template is not present or false3168 creates an empty project3169 when custom_project_templates feature is not enabled3170 creates an empty project3171 when custom_project_template does not exist3172 does not attempt to import a project3173 use_template_name: true3174 returns the created project3175 the result project3176 overrides template description3177 overrides template visibility_level3178 creating project from a Group project template3179 when the namespace is not a descendant of the Group owning the template3180 when project is created under a group that is outside the hierarchy its root ancestor group3181 behaves like a project that isn't persisted3182 isn't persisted3183 when project is created under a group that is a descendant of its root ancestor group3184 behaves like a project that isn't persisted3185 isn't persisted3186 when project is created under a subgroup that is a descendant of its root ancestor group3187 behaves like a project that isn't persisted3188 isn't persisted3189 when project is created outside of group hierarchy3190 behaves like a project that isn't persisted3191 isn't persisted3192 when the namespace is inside the hierarchy of the Group owning the template3193 when project is created under its parent group3194 behaves like a persisted project3195 is persisted3196 when project is created under the same group3197 behaves like a persisted project3198 is persisted3199 when project is created under its descendant group3200 behaves like a persisted project3201 is persisted3202 when project is created under a group that is a descendant of its parent group3203 behaves like a persisted project3204 is persisted3205 when project is created under a subgroup that is a descendant of its parent group3206 behaves like a persisted project3207 is persisted3208 use_template_name: false3209 returns the created project3210 the result project3211 overrides template description3212 overrides template visibility_level3213 creating project from a Group project template3214 when the namespace is not a descendant of the Group owning the template3215 when project is created under a group that is outside the hierarchy its root ancestor group3216 behaves like a project that isn't persisted3217 isn't persisted3218 when project is created under a group that is a descendant of its root ancestor group3219 behaves like a project that isn't persisted3220 isn't persisted3221 when project is created under a subgroup that is a descendant of its root ancestor group3222 behaves like a project that isn't persisted3223 isn't persisted3224 when project is created outside of group hierarchy3225 behaves like a project that isn't persisted3226 isn't persisted3227 when the namespace is inside the hierarchy of the Group owning the template3228 when project is created under its parent group3229 behaves like a persisted project3230 is persisted3231 when project is created under the same group3232 behaves like a persisted project3233 is persisted3234 when project is created under its descendant group3235 behaves like a persisted project3236 is persisted3237 when project is created under a group that is a descendant of its parent group3238 behaves like a persisted project3239 is persisted3240 when project is created under a subgroup that is a descendant of its parent group3241 behaves like a persisted project3242 is persisted3243Elastic::ProcessBookkeepingService3244 .shard_number3245 returns correct shard number3246 .track3247 enqueues a record3248 enqueues a set of unique records3249 orders items based on when they were added and moves them to the back of the queue if they were added again3250 enqueues 10 identical records as 1 entry3251 deduplicates across multiple inserts3252 .queue_size3253 reports the queue size3254 .queued_items3255 reports queued items3256 .clear_tracking!3257 removes all entries from the queue3258 .maintain_indexed_associations3259 calls track! for each associated object3260 correctly scopes associated note objects to not include system notes3261 #execute3262 submits a batch of documents3263 returns the number of documents processed3264 returns 0 without writing to the index when there are no documents3265 retries failed documents3266 discards malformed documents3267 fails, preserving documents, when processing fails with an exception3268 limit is less than refs count3269 processes only up to limit3270 limited to one shard3271 only processes specified shard3272 logging3273 logs the time it takes to flush the bulk indexer3274 logs model information and indexing duration about each successful indexing3275 does not log about failed indexing3276 increments the custom indexing sli apdex3277 does not increment the custom indexing sli apdex for failed indexing3278 N+1 queries3279 does not have N+1 queries for projects3280 does not have N+1 queries for notes3281 does not have N+1 queries for issues3282 does not have N+1 queries for merge_requests3283 does not have N+1 queries for users3284 when the user is a member of a project in a namespace with a parent group3285 does not have N+1 queries for users3286Geo::ProjectWikiRepositoryRegistry3287 # order random3288 factory is valid3289 state machine3290 when transitioning to synced3291 marks verification as pending3292 when the model_record cannot be verified3293 when the registry is already verification_disabled3294 changes verification to disabled3295 when the registry is verification_pending3296 changes verification to disabled3297 #pending!3298 when a sync is currently running3299 successfully moves state to pending3300 when the registry has recorded a failure3301 clears failure retry fields3302 .needs_verification_count3303 returns the number of rows which are synced and pending verification3304 includes rows which are synced and failed verification and are due for retry3305 excludes rows which are synced and failed verification and have a future retry time3306 excludes rows which are not synced or are not (pending or failed) verification3307 #synced!3308 mark as synced3309 when a sync was scheduled after the last sync finishes3310 does not reset state3311 resets the other sync state fields3312 verification_state machine3313 when transitioning to verification_failed3314 changes state from synced to failed3315 scopes3316 sync_timed_out3317 return correct records3318 #verification_succeeded!3319 clears checksum mismatch fields3320 finders3321 .find_registries_never_attempted_sync3322 returns unsynced items3323 returns items that never have an attempt to sync except some specific item ID3324 .find_registries_needs_sync_again3325 returns failed items3326 returns failed items except some specific item ID3327 orders records according to retry_at3328 .verification_failed_batch3329 with a failed record with retry due3330 returns IDs of rows which are synced and have failed verification3331 excludes rows which are not synced or have not failed verification3332 marks verification as started3333 when verification_retry_at is in the future3334 does not return the row which failed verification3335 .fail_sync_timeouts3336 marks started records as failed if they are expired3337 #failed!3338 sets last_sync_failure with message3339 truncates a long last_sync_failure3340 increments retry_count3341 sets retry_at to a time in the future3342 when an error is given3343 includes error.message in last_sync_failure3344 when missing_on_primary is not given3345 caps retry_at to default 1 hour3346 when missing_on_primary is falsey3347 caps retry_at to default 1 hour3348 when missing_on_primary is truthy3349 caps retry_at to 4 hours3350 #track_checksum_attempt!3351 yields to the checksum calculation3352 when verification was not yet started3353 starts verification3354 when the model record cannot be verified3355 when the registry is already verification_disabled3356 leaves verification as disabled3357 when the registry is verification_pending3358 changes verification to disabled3359 when the primary site is expected to checksum the model record3360 comparison with primary checksum3361 when the calculated checksum matches the primary checksum3362 transitions to verification_succeeded and updates the checksum3363 when the calculated checksum does not match the primary checksum3364 transitions to verification_failed and updates mismatch fields3365 when verification was started3366 does not update verification_started_at3367 when an error occurs while yielding3368 sets verification_failed3369 obligatory fields check3370 has expected fields or methods3371 .verification_pending_batch3372 returns IDs of rows which are synced and pending verification3373 excludes rows which are not synced or are not pending verification3374 marks verification as started3375Ci::SecureFile3376 .with_verification_state3377 returns records with given scope3378 .checksummed3379 returns records with given scope3380 .not_checksummed3381 returns records with given scope3382 #save_verification_details3383 when model record is not part of verifiables scope3384 does not create verification details3385 when model_record is part of verifiables scope3386 creates verification details3387 #replicables_for_current_secondary3388 selective_sync_namespaces: nil, selective_sync_shards: nil, factory: [:ci_secure_file], project_factory: [:project], include_expectation: true3389 when sync object storage is enabled3390 when the ci secure file is locally stored3391 is expected to eq true3392 when the ci secure file is object stored3393 is expected to eq true3394 when sync object storage is disabled3395 when the ci secure file is locally stored3396 is expected to eq true3397 when the ci secure file is object stored3398 is expected to be falsey3399 selective_sync_namespaces: nil, selective_sync_shards: :model, factory: [:ci_secure_file], project_factory: [:project], include_expectation: true3400 when sync object storage is enabled3401 when the ci secure file is locally stored3402 is expected to eq true3403 when the ci secure file is object stored3404 is expected to eq true3405 when sync object storage is disabled3406 when the ci secure file is locally stored3407 is expected to eq true3408 when the ci secure file is object stored3409 is expected to be falsey3410 selective_sync_namespaces: nil, selective_sync_shards: :other, factory: [:ci_secure_file], project_factory: [:project], include_expectation: false3411 when sync object storage is enabled3412 when the ci secure file is locally stored3413 is expected to eq false3414 when the ci secure file is object stored3415 is expected to eq false3416 when sync object storage is disabled3417 when the ci secure file is locally stored3418 is expected to eq false3419 when the ci secure file is object stored3420 is expected to be falsey3421 selective_sync_namespaces: :model_parent, selective_sync_shards: nil, factory: [:ci_secure_file], project_factory: [:project], include_expectation: true3422 when sync object storage is enabled3423 when the ci secure file is locally stored3424 is expected to eq true3425 when the ci secure file is object stored3426 is expected to eq true3427 when sync object storage is disabled3428 when the ci secure file is locally stored3429 is expected to eq true3430 when the ci secure file is object stored3431 is expected to be falsey3432 selective_sync_namespaces: :model_parent_parent, selective_sync_shards: nil, factory: [:ci_secure_file], project_factory: [:project, :in_subgroup], include_expectation: true3433 when sync object storage is enabled3434 when the ci secure file is locally stored3435 is expected to eq true3436 when the ci secure file is object stored3437 is expected to eq true3438 when sync object storage is disabled3439 when the ci secure file is locally stored3440 is expected to eq true3441 when the ci secure file is object stored3442 is expected to be falsey3443 selective_sync_namespaces: :other, selective_sync_shards: nil, factory: [:ci_secure_file], project_factory: [:project], include_expectation: false3444 when sync object storage is enabled3445 when the ci secure file is locally stored3446 is expected to eq false3447 when the ci secure file is object stored3448 is expected to eq false3449 when sync object storage is disabled3450 when the ci secure file is locally stored3451 is expected to eq false3452 when the ci secure file is object stored3453 is expected to be falsey3454 selective_sync_namespaces: :other, selective_sync_shards: nil, factory: [:ci_secure_file], project_factory: [:project, :in_subgroup], include_expectation: false3455 when sync object storage is enabled3456 when the ci secure file is locally stored3457 is expected to eq false3458 when the ci secure file is object stored3459 is expected to eq false3460 when sync object storage is disabled3461 when the ci secure file is locally stored3462 is expected to eq false3463 when the ci secure file is object stored3464 is expected to be falsey3465 .search3466 when search query is empty3467 returns all records3468 when search query is not empty3469 without matches3470 filters all records3471 with matches by attributes3472 searchable_attribute: :name3473 is expected to contain exactly #<Ci::SecureFile id: 34, project_id: 1182, created_at: "2023-04-27 06:18:05.411537080 +0000", updated...e161dfd400e78618304d49cb4b20b35ab21...", metadata: nil, expires_at: nil, verification_checksum: nil>3474DastSiteProfile3475 behaves like sanitizable3476 includes Sanitizable3477 #name3478 when input includes javascript tags3479 gets sanitized3480 #name validation3481 when input contains pre-escaped html entities3482 is not valid3483 when it contains a path component3484 is not valid3485 #scan_file_path3486 when input includes javascript tags3487 gets sanitized3488 #scan_file_path validation3489 when input contains pre-escaped html entities3490 is not valid3491 when it contains a path component3492 is not valid3493 associations3494 is expected to belong to project required: false3495 is expected to belong to dast_site required: false3496 is expected to have many secret_variables class_name => Dast::SiteProfileSecretVariable3497 validations3498 is expected to be valid3499 is expected to validate that the length of :auth_password_field is at most 2553500 is expected to validate that the length of :auth_url is at most 10243501 is expected to validate that the length of :auth_username is at most 2553502 is expected to validate that the length of :auth_username_field is at most 2553503 is expected to validate that the length of :auth_submit_field is at most 2553504 is expected to validate that the length of :name is at most 2553505 is expected to validate that :dast_site_id cannot be empty/falsy3506 is expected to validate that :name cannot be empty/falsy3507 is expected to validate that :project_id cannot be empty/falsy3508 is expected to validate that :name is case-sensitively unique within the scope of :project_id3509 is expected to validate that the length of :scan_file_path is at most 10243510 #auth_url3511 when the auth_uri is nil3512 is valid3513 when the auth_url is not a valid uri3514 is not valid3515 when the auth_url is not public3516 is valid3517 #excluded_urls3518 is expected to allow :excluded_urls to be ‹["http://example40.test", "http://example40.test", "http://example40.test", "http://example40.test", "http://example40.test", "http://example40.test", "http://example40.test", "http://example40.test", "http://example40.test", "http://example40.test", "http://example40.test", "http://example40.test", "http://example40.test", "http://example40.test", "http://example40.test", "http://example40.test", "http://example40.test", "http://example40.test", "http://example40.test", "http://example40.test",...›3519 is expected not to allow :excluded_urls to be ‹["http://example41.test", "http://example41.test", "http://example41.test", "http://example41.test", "http://example41.test", "http://example41.test", "http://example41.test", "http://example41.test", "http://example41.test", "http://example41.test", "http://example41.test", "http://example41.test", "http://example41.test", "http://example41.test", "http://example41.test", "http://example41.test", "http://example41.test", "http://example41.test", "http://example41.test", "http://example41.test",...›3520 when there are some urls that are invalid3521 is not valid3522 #project3523 when the project_id and dast_site.project_id do not match3524 is not valid3525 #scan_file_path3526 when the scan_file_path is nil3527 when the target_type is website3528 is valid3529 when the target_type is api3530 returns the dast_site.url3531 when the scan_file_path is not nil3532 when the target_type is api3533 when the scan_method is openapi3534 behaves like invalid url3535 is not valid3536 when the scan_method is har3537 behaves like invalid url3538 is not valid3539 when the scan_method is postman3540 behaves like invalid url3541 is not valid3542 when the scan_method is graphql3543 when the scan_file_path is an file_path3544 is valid3545 scopes3546 .with_dast_site_and_validation3547 eager loads the association3548 .with_name3549 returns the dast_site_profiles with given name3550 enums3551 is expected to define :target_type as an enum backed by an integer with values ‹{website: 0, api: 1}›3552 is expected to define :scan_method as an enum backed by an integer with values ‹{site: 0, openapi: 1, har: 2, postman: 3, graphql: 4}›, prefix: true3553 .names3554 returns the names for the DAST site profiles with the given IDs3555 when a profile is not found3556 rescues the error and returns an empty array3557 instance methods3558 #destroy!3559 when the associated dast_site has no dast_site_profiles3560 is also destroyed3561 when the associated dast_site has dast_site_profiles3562 is not destroyed3563 #status3564 when dast_site_validation association does not exist3565 is none3566 when dast_site_validation association does exist3567 is dast_site_validation#state3568 #validation_started_at3569 when dast_site_validation association does not exist3570 is none3571 when dast_site_validation association does exist3572 is dast_site_validation#validation_started_at3573 #referenced_in_security_policies3574 there is no security_orchestration_policy_configuration assigned to project3575 returns empty array3576 there is security_orchestration_policy_configuration assigned to project3577 calls security_orchestration_policy_configuration.active_policy_names_with_dast_site_profile with profile name3578 returns the referenced policy name3579 #ci_variables3580 without_dast_submit_field3581 returns a collection of variables3582 with_dast_submit_field3583 returns a collection of variables3584 when target_type=api3585 when scan_method is openapi3586 behaves like an api target3587 has the correct collection of variables3588 when scan_file_path is blank3589 behaves like an api target3590 has the correct collection of variables3591 when scan_method is har3592 behaves like an api target3593 has the correct collection of variables3594 when scan_file_path is blank3595 behaves like an api target3596 has the correct collection of variables3597 when scan_method is postman3598 behaves like an api target3599 has the correct collection of variables3600 when scan_file_path is blank3601 behaves like an api target3602 has the correct collection of variables3603 when scan_method is graphql3604 behaves like an api target3605 has the correct collection of variables3606 when scan_file_path is blank3607 behaves like an api target3608 has the correct collection of variables3609 when auth is disabled3610 returns a collection of variables excluding any auth variables3611 when excluded_urls is empty3612 is removed from the collection3613 when a variable is set to nil3614 is removed from the collection3615 #secret_ci_variables3616 when user can read secrets3617 works with policy3618 checks the policy3619 when there are no secret_variables3620 returns an empty collection3621 when there are secret_variables3622 returns a collection containing that variable3623 when password is configured3624 returns a collection containing api password3625 when request headers are configured3626 returns a collection containing the api request headers3627 when user cannot read secrets3628 returns an empty collection3629 #ensure_scan_file_path3630 when the target_type is website3631 when the scan_file_path is nil3632 does not set the scan_file_path3633 when the scan_file_path is not nil3634 does set the scan_file_path to nil3635 when the target type is api3636 when the scan_file_path is nil3637 does set the scan_file_path to dast_site.url3638 when the scan_file_path is not nil3639 does not set the scan_file_path3640Deployments::ApprovalService3641 #execute3642 when status is approved3643 approves the deployment3644 with a comment3645 saves the comment3646 with approval rule3647 sets an rule to the deployment approval3648 when status is rejected3649 rejects the deployment3650 with a comment3651 saves the comment3652 with approval rule3653 sets an rule to the deployment approval3654 when user already approved3655 and is approving again3656 approves the deployment3657 with a different comment3658 does not change the comment3659 and is rejecting3660 rejects the deployment3661 with a different comment3662 changes the comment3663 processing the build with unified access level3664 when build is nil3665 does not raise an error3666 when deployment was rejected3667 drops the build3668 when no additional approvals are required3669 enqueues the build3670 unblocks the deployment3671 when additional approvals are required3672 does not change the build3673 processing the build with multi access levels3674 when build is nil3675 does not raise an error3676 when deployment was rejected3677 drops the build3678 when no additional approvals are required3679 keeps the build manual3680 unblocks the deployment3681 when additional approvals are required3682 does not change the build3683 validations3684 when status is not recognized3685 returns an error3686 when environment is not protected3687 returns an error3688 when Protected Environments feature is not available3689 returns an error3690 when deployment approval is not configured3691 returns an error3692 when the user does not have permission to update deployment3693 returns an error3694 with approval rule3695 when the user does not have permission to read deployment3696 returns an error3697 when there are no rules for the user3698 returns an error3699 when there are no approval rules that match represented_as3700 returns an error3701 when user is nil3702 returns an error3703 when deployment is not blocked3704 returns an error3705 when the creator of the deployment is approving3706 when allow pipeline triggerer to approve deployment3707 approves the deployment3708 when not allow pipeline triggerer to approve deployment3709 returns an error3710 when the creator of the deployment is rejecting3711 rejects the deployment3712Resolvers::EpicsResolver3713 with a group3714 #resolve3715 returns nothing when feature disabled3716 finds all epics3717 with iid3718 finds a specific epic with iid3719 does not inflate the complexity3720 with iids3721 finds a specific epic with iids3722 finds multiple epics with iids3723 increases the complexity based on child_complexity and number of iids3724 within timeframe3725 when start_date and end_date are present3726 returns epics within timeframe3727 when timeframe start and end are present3728 returns epics within timeframe3729 with milestone3730 filters epics by timeframe and issues milestone3731 with state3732 lists epics with opened state3733 lists epics with closed state3734 behaves like graphql query for searching issuables3735 uses search optimization3736 filters issuables by title3737 filters issuables by description3738 with in param3739 generates an error if param search is missing3740 filters issuables by title and description3741 filters issuables by description only3742 filters issuables by title only3743 with author_username3744 filters epics by author3745 with label_name3746 filters epics by labels3747 with my_reaction_emoji3748 filters epics by reaction emoji3749 with milestone_title3750 filters epics by issues milestone3751 returns empty result if milestone is not assigned to any epic issues3752 with sort3753 orders epics by start date in descending order3754 orders epics by start date in ascending order3755 orders epics by end date in descending order3756 orders epics by end date in ascending order3757 orders epics by title in descending order3758 orders epics by title in ascending order3759 with subgroups3760 finds only the epics within the group we are looking at3761 returns all epics3762 does not return subgroup epics when include_descendant_groups is false3763 filters by milestones in subgroups3764 when the resolved group is a subgroup3765 returns only the epics belonging to the subgroup by default3766 returns the epics belonging to the ancestor groups when include_ancestor_groups is true3767 with partial iids3768 returns the expected epics if just the first number of iid is requested3769 returns the expected epics if first two numbers of iid are requested3770 returns the expected epics if last two numbers of iid are given3771 returns the expected epics if exact number of iid is given3772 with `top_level_hierarchy_only` param set as `true`3773 is expected to contain exactly #<Epic id:446 group398&1> and #<Epic id:447 group398&2>3774 when a parent epic is present3775 ignores `top_level_hierarchy_only` param and return all children of the given epic3776 with negated filters3777 for label3778 is expected to contain exactly #<Epic id:504 group409&2> and #<Epic id:505 group409&3>3779 for author3780 is expected to contain exactly #<Epic id:503 group409&1> and #<Epic id:505 group409&3>3781 for emoji3782 is expected to contain exactly #<Epic id:503 group409&1> and #<Epic id:504 group409&2>3783 when passing a non existent, batch loaded group3784 returns nil without breaking3785Dashboard::Projects::ListService3786 #execute3787 when passing a project id3788 behaves like project found3789 returns the project3790 when passing a project record3791 behaves like project found3792 returns the project3793 when passing invalid project id3794 behaves like project not found3795 returns an empty list3796 with insufficient access3797 behaves like project not found3798 returns an empty list3799 checking license3800 plan: "ultimate", trial: false, expired: false, available: true3801 behaves like project found3802 returns the project3803 plan: "ultimate", trial: false, expired: true, available: true3804 behaves like project found3805 returns the project3806 plan: "ultimate", trial: true, expired: false, available: false3807 behaves like project not found3808 returns an empty list3809 plan: "ultimate", trial: true, expired: true, available: false3810 behaves like project not found3811 returns an empty list3812 plan: "premium", trial: false, expired: false, available: true3813 behaves like project found3814 returns the project3815 plan: nil, trial: false, expired: false, available: false3816 behaves like project not found3817 returns an empty list3818 checking plans3819 check_namespace_plan: true, plan: :gold, available: true3820 behaves like project found3821 returns the project3822 if :include_unavailable option is provided3823 behaves like project found3824 returns the project3825 check_namespace_plan: true, plan: :premium, available: true3826 behaves like project found3827 returns the project3828 if :include_unavailable option is provided3829 behaves like project found3830 returns the project3831 check_namespace_plan: true, plan: :ultimate, available: true3832 behaves like project found3833 returns the project3834 if :include_unavailable option is provided3835 behaves like project found3836 returns the project3837 check_namespace_plan: true, plan: nil, available: false3838 behaves like project not found3839 returns an empty list3840 if :include_unavailable option is provided3841 behaves like project found3842 returns the project3843 check_namespace_plan: false, plan: :gold, available: true3844 behaves like project found3845 returns the project3846 if :include_unavailable option is provided3847 behaves like project found3848 returns the project3849 check_namespace_plan: false, plan: :premium, available: true3850 behaves like project found3851 returns the project3852 if :include_unavailable option is provided3853 behaves like project found3854 returns the project3855 check_namespace_plan: false, plan: :ultimate, available: true3856 behaves like project found3857 returns the project3858 if :include_unavailable option is provided3859 behaves like project found3860 returns the project3861 check_namespace_plan: false, plan: nil, available: true3862 behaves like project found3863 returns the project3864 if :include_unavailable option is provided3865 behaves like project found3866 returns the project3867 checking availability of public projects on GitLab.com3868 check_namespace_plan: true, project_visibility: 20, namespace_visibility: 20, available: true3869 behaves like project found3870 returns the project3871 check_namespace_plan: true, project_visibility: 0, namespace_visibility: 20, available: false3872 behaves like project not found3873 returns an empty list3874 check_namespace_plan: true, project_visibility: 20, namespace_visibility: 0, available: false3875 behaves like project not found3876 returns an empty list3877 check_namespace_plan: true, project_visibility: 0, namespace_visibility: 0, available: false3878 behaves like project not found3879 returns an empty list3880 check_namespace_plan: false, project_visibility: 20, namespace_visibility: 20, available: true3881 behaves like project found3882 returns the project3883 check_namespace_plan: false, project_visibility: 0, namespace_visibility: 20, available: true3884 behaves like project found3885 returns the project3886 check_namespace_plan: false, project_visibility: 20, namespace_visibility: 0, available: true3887 behaves like project found3888 returns the project3889 check_namespace_plan: false, project_visibility: 0, namespace_visibility: 0, available: true3890 behaves like project found3891 returns the project3892 when the user is an auditor3893 behaves like project found3894 returns the project3895Users::MigrateRecordsToGhostUserService3896 # order random3897 on post-migrate cleanups3898 audit events3899 when licensed3900 does not log audit event if operation fails3901 does not log audit event if operation results in no change3902 when operation succeeds3903 logs an audit event3904 logs the audit event info3905 calls the audit method with the event type3906 when not licensed3907 does not log audit event3908 when migrating a user's associated records to the ghost user3909 for epics3910 when deleted user is present as both author and edited_user3911 for a epic the user has created3912 does not delete the epic3913 migrates all associated fields to the "Ghost user"3914 when deleted user is present only as edited_user3915 for a epic the user has created3916 does not delete the epic3917 migrates all associated fields to the "Ghost user"3918 for vulnerability_feedback author3919 for a vulnerabilities/feedback the user has created3920 does not delete the vulnerabilities/feedback3921 migrates all associated fields to the "Ghost user"3922 for vulnerability_feedback comment author3923 for a vulnerabilities/feedback the user has created3924 does not delete the vulnerabilities/feedback3925 migrates all associated fields to the "Ghost user"3926 for vulnerability author3927 for a vulnerability the user has created3928 does not delete the vulnerability3929 migrates all associated fields to the "Ghost user"3930 for vulnerability_external_issue_link author3931 for a vulnerabilities/external issue link the user has created3932 does not delete the vulnerabilities/external issue link3933 migrates all associated fields to the "Ghost user"3934 for resource_iteration_events3935 for a resource iteration event the user has created3936 does not delete the resource iteration event3937 migrates all associated fields to the "Ghost user"3938EE::Users::CalloutsHelper3939 .show_enable_hashed_storage_warning?3940 when hashed storage is disabled3941 when the enable warning has not been dismissed3942 is expected to be truthy3943 when the enable warning was dismissed3944 is expected to be falsy3945 when hashed storage is enabled3946 is expected to be falsy3947 .show_migrate_hashed_storage_warning?3948 when hashed storage is disabled3949 is expected to be falsy3950 when hashed storage is enabled3951 when the enable warning has not been dismissed3952 when there is a project in non-hashed-storage3953 is expected to be truthy3954 when there are NO projects in non-hashed-storage3955 is expected to be falsy3956 when the enable warning was dismissed3957 is expected to be falsy3958 #render_dashboard_ultimate_trial3959 owns_group_without_trial?: true, show_ultimate_trial?: true, user_default_dashboard?: true, has_no_trial_or_paid_plan?: true, should_render?: true3960 is expected to receive render("shared/ultimate_trial_callout_content") 1 time3961 owns_group_without_trial?: true, show_ultimate_trial?: true, user_default_dashboard?: true, has_no_trial_or_paid_plan?: false, should_render?: false3962 is expected not to receive render(*(any args)) 0 times3963 owns_group_without_trial?: true, show_ultimate_trial?: true, user_default_dashboard?: false, has_no_trial_or_paid_plan?: true, should_render?: false3964 is expected not to receive render(*(any args)) 0 times3965 owns_group_without_trial?: true, show_ultimate_trial?: false, user_default_dashboard?: true, has_no_trial_or_paid_plan?: true, should_render?: false3966 is expected not to receive render(*(any args)) 0 times3967 owns_group_without_trial?: true, show_ultimate_trial?: true, user_default_dashboard?: false, has_no_trial_or_paid_plan?: false, should_render?: false3968 is expected not to receive render(*(any args)) 0 times3969 owns_group_without_trial?: true, show_ultimate_trial?: false, user_default_dashboard?: false, has_no_trial_or_paid_plan?: true, should_render?: false3970 is expected not to receive render(*(any args)) 0 times3971 owns_group_without_trial?: true, show_ultimate_trial?: false, user_default_dashboard?: true, has_no_trial_or_paid_plan?: false, should_render?: false3972 is expected not to receive render(*(any args)) 0 times3973 owns_group_without_trial?: true, show_ultimate_trial?: false, user_default_dashboard?: false, has_no_trial_or_paid_plan?: false, should_render?: false3974 is expected not to receive render(*(any args)) 0 times3975 owns_group_without_trial?: false, show_ultimate_trial?: true, user_default_dashboard?: true, has_no_trial_or_paid_plan?: true, should_render?: false3976 is expected not to receive render(*(any args)) 0 times3977 owns_group_without_trial?: false, show_ultimate_trial?: true, user_default_dashboard?: true, has_no_trial_or_paid_plan?: false, should_render?: false3978 is expected not to receive render(*(any args)) 0 times3979 owns_group_without_trial?: false, show_ultimate_trial?: true, user_default_dashboard?: false, has_no_trial_or_paid_plan?: true, should_render?: false3980 is expected not to receive render(*(any args)) 0 times3981 owns_group_without_trial?: false, show_ultimate_trial?: false, user_default_dashboard?: true, has_no_trial_or_paid_plan?: true, should_render?: false3982 is expected not to receive render(*(any args)) 0 times3983 owns_group_without_trial?: false, show_ultimate_trial?: true, user_default_dashboard?: false, has_no_trial_or_paid_plan?: false, should_render?: false3984 is expected not to receive render(*(any args)) 0 times3985 owns_group_without_trial?: false, show_ultimate_trial?: false, user_default_dashboard?: false, has_no_trial_or_paid_plan?: true, should_render?: false3986 is expected not to receive render(*(any args)) 0 times3987 owns_group_without_trial?: false, show_ultimate_trial?: false, user_default_dashboard?: true, has_no_trial_or_paid_plan?: false, should_render?: false3988 is expected not to receive render(*(any args)) 0 times3989 owns_group_without_trial?: false, show_ultimate_trial?: false, user_default_dashboard?: false, has_no_trial_or_paid_plan?: false, should_render?: false3990 is expected not to receive render(*(any args)) 0 times3991 #render_two_factor_auth_recovery_settings_check3992 kind_of_user: :anonymous, is_gitlab_com?: false, dismissed_callout?: false, should_render?: false3993 is expected not to receive render(*(any args)) 0 times3994 kind_of_user: :anonymous, is_gitlab_com?: true, dismissed_callout?: false, should_render?: false3995 is expected not to receive render(*(any args)) 0 times3996 kind_of_user: :user_two_factor_disabled, is_gitlab_com?: false, dismissed_callout?: false, should_render?: false3997 is expected not to receive render(*(any args)) 0 times3998 kind_of_user: :user_two_factor_disabled, is_gitlab_com?: true, dismissed_callout?: false, should_render?: false3999 is expected not to receive render(*(any args)) 0 times4000 kind_of_user: :user_two_factor_disabled, is_gitlab_com?: true, dismissed_callout?: true, should_render?: false4001 is expected not to receive render(*(any args)) 0 times4002 kind_of_user: :user_two_factor_enabled, is_gitlab_com?: false, dismissed_callout?: false, should_render?: false4003 is expected not to receive render(*(any args)) 0 times4004 kind_of_user: :user_two_factor_enabled, is_gitlab_com?: true, dismissed_callout?: false, should_render?: true4005 is expected to receive render("shared/two_factor_auth_recovery_settings_check") 1 time4006 kind_of_user: :user_two_factor_enabled, is_gitlab_com?: true, dismissed_callout?: true, should_render?: false4007 is expected not to receive render(*(any args)) 0 times4008 .show_profile_token_expiry_notification?4009 dismissed_callout?: true, result: false4010 is expected to equal false4011 dismissed_callout?: false, result: true4012 is expected to equal true4013 .show_new_user_signups_cap_reached?4014 when user is anonymous4015 is expected to eq false4016 when user is not an admin4017 is expected to eq false4018 when feature flag is enabled4019 new_user_signups_cap: nil, active_user_count: 10, result: false4020 is expected to eq false4021 new_user_signups_cap: 10, active_user_count: 9, result: false4022 is expected to eq false4023 new_user_signups_cap: 0, active_user_count: 10, result: true4024 is expected to eq true4025 new_user_signups_cap: 1, active_user_count: 1, result: true4026 is expected to eq true4027 #show_eoa_bronze_plan_banner?4028 with group namespace4029 behaves like shows and hides the banner depending on circumstances4030 show_billing_eoa_banner: true, actual_plan_name: "bronze", dismissed_callout: false, travel_to_date: Tue, 25 Jan 2022, result: true4031 is expected to eq true4032 show_billing_eoa_banner: true, actual_plan_name: "bronze", dismissed_callout: false, travel_to_date: Wed, 26 Jan 2022, result: false4033 is expected to eq false4034 show_billing_eoa_banner: true, actual_plan_name: "bronze", dismissed_callout: false, travel_to_date: Thu, 27 Jan 2022, result: false4035 is expected to eq false4036 show_billing_eoa_banner: true, actual_plan_name: "bronze", dismissed_callout: true, travel_to_date: Tue, 25 Jan 2022, result: false4037 is expected to eq false4038 show_billing_eoa_banner: true, actual_plan_name: "silver", dismissed_callout: false, travel_to_date: Tue, 25 Jan 2022, result: false4039 is expected to eq false4040 show_billing_eoa_banner: true, actual_plan_name: "premium", dismissed_callout: false, travel_to_date: Tue, 25 Jan 2022, result: false4041 is expected to eq false4042 show_billing_eoa_banner: true, actual_plan_name: "gold", dismissed_callout: false, travel_to_date: Tue, 25 Jan 2022, result: false4043 is expected to eq false4044 show_billing_eoa_banner: true, actual_plan_name: "ultimate", dismissed_callout: false, travel_to_date: Tue, 25 Jan 2022, result: false4045 is expected to eq false4046 show_billing_eoa_banner: false, actual_plan_name: "bronze", dismissed_callout: false, travel_to_date: Tue, 25 Jan 2022, result: false4047 is expected to eq false4048 with personal namespace4049 behaves like shows and hides the banner depending on circumstances4050 show_billing_eoa_banner: true, actual_plan_name: "bronze", dismissed_callout: false, travel_to_date: Tue, 25 Jan 2022, result: true4051 is expected to eq true4052 show_billing_eoa_banner: true, actual_plan_name: "bronze", dismissed_callout: false, travel_to_date: Wed, 26 Jan 2022, result: false4053 is expected to eq false4054 show_billing_eoa_banner: true, actual_plan_name: "bronze", dismissed_callout: false, travel_to_date: Thu, 27 Jan 2022, result: false4055 is expected to eq false4056 show_billing_eoa_banner: true, actual_plan_name: "bronze", dismissed_callout: true, travel_to_date: Tue, 25 Jan 2022, result: false4057 is expected to eq false4058 show_billing_eoa_banner: true, actual_plan_name: "silver", dismissed_callout: false, travel_to_date: Tue, 25 Jan 2022, result: false4059 is expected to eq false4060 show_billing_eoa_banner: true, actual_plan_name: "premium", dismissed_callout: false, travel_to_date: Tue, 25 Jan 2022, result: false4061 is expected to eq false4062 show_billing_eoa_banner: true, actual_plan_name: "gold", dismissed_callout: false, travel_to_date: Tue, 25 Jan 2022, result: false4063 is expected to eq false4064 show_billing_eoa_banner: true, actual_plan_name: "ultimate", dismissed_callout: false, travel_to_date: Tue, 25 Jan 2022, result: false4065 is expected to eq false4066 show_billing_eoa_banner: false, actual_plan_name: "bronze", dismissed_callout: false, travel_to_date: Tue, 25 Jan 2022, result: false4067 is expected to eq false4068 #eoa_bronze_plan_end_date4069 returns a date type value4070 #dismiss_two_factor_auth_recovery_settings_check4071 dismisses `TWO_FACTOR_AUTH_RECOVERY_SETTINGS_CHECK` callout4072 #show_verification_reminder?4073 on_gitlab_com?: true, logged_in?: true, unverified?: true, failed_pipeline?: true, not_dismissed_callout?: true, flag_enabled?: true, result: true4074 is expected to eq true4075 on_gitlab_com?: false, logged_in?: true, unverified?: true, failed_pipeline?: true, not_dismissed_callout?: true, flag_enabled?: true, result: false4076 is expected to eq false4077 on_gitlab_com?: true, logged_in?: false, unverified?: true, failed_pipeline?: true, not_dismissed_callout?: true, flag_enabled?: true, result: false4078 is expected to eq false4079 on_gitlab_com?: true, logged_in?: true, unverified?: false, failed_pipeline?: true, not_dismissed_callout?: true, flag_enabled?: true, result: false4080 is expected to eq false4081 on_gitlab_com?: true, logged_in?: true, unverified?: true, failed_pipeline?: false, not_dismissed_callout?: true, flag_enabled?: true, result: false4082 is expected to eq false4083 on_gitlab_com?: true, logged_in?: true, unverified?: true, failed_pipeline?: true, not_dismissed_callout?: false, flag_enabled?: true, result: false4084 is expected to eq false4085 on_gitlab_com?: true, logged_in?: true, unverified?: true, failed_pipeline?: true, not_dismissed_callout?: true, flag_enabled?: false, result: false4086 is expected to eq false4087 dismissing the alert timing4088 when failing a pipeline after dismissing the alert4089 is expected to eq true4090 when dismissing the alert after failing a pipeline4091 is expected to eq false4092 #web_hook_disabled_dismissed?4093 with a group4094 when the web-hook failure callout has never been dismissed4095 is false4096 when the web-hook failure callout has been dismissed4097 is true4098 is true when passed as a presenter (PENDING: Does not apply to Group)4099 when there was an older failure4100 is true4101 when there has been a more recent failure4102 is false4103MergeRequests::MergeToRefService4104 #execute4105 does not check the repository size limit4106 when no commit message is explicitly given and push rule is set4107 uses the default commit message4108 behaves like merge validation hooks4109 returns true when valid4110 commit message validation for required characters4111 returns false and matches validation error4112 behaves like hook validations are skipped when push rules unlicensed4113 is expected to be truthy4114 commit message validation for forbidden characters4115 returns false and saves error when invalid4116 behaves like hook validations are skipped when push rules unlicensed4117 is expected to be truthy4118 authors email validation4119 returns false and saves error when invalid4120 validates against the commit email4121 behaves like hook validations are skipped when push rules unlicensed4122 is expected to be truthy4123 DCO signoff validation4124 behaves like hook validations are skipped when push rules unlicensed4125 is expected to be truthy4126 when a non DCO commit message is used4127 returns false and saves error when invalid4128 when a DCO compliant commit message is used4129 accepts the commit message4130 fast forward merge request4131 returns true when fast forward is enabled4132 behaves like squashing commits4133 and the project has a push rule for required characters4134 returns false and saves error when invalid4135 and the project has a push rule for forbidden characters4136 returns false and saves error when invalid4137 when the project uses the fast-forward merge method4138 behaves like squashing commits4139 and the project has a push rule for required characters4140 returns false and saves error when invalid4141 and the project has a push rule for forbidden characters4142 returns false and saves error when invalid4143SnippetRepository4144 with 3 groups, 2 projects, and 5 snippets4145 #in_replicables_for_current_secondary?4146 all returns true if all are replicated4147 with selective sync by namespace4148 returns true for snippets in the namespace4149 returns true for personal snippets4150 returns false for project snippets not in an included namespace4151 with selective sync by shard4152 returns true for snippets in the shard4153 returns false for project snippets not in an included shard4154 #replicables_for_current_secondary4155 returns all snippet_repositories without selective sync4156 returns nothing if an unrecognised selective sync type is used4157 with selective sync by namespace4158 returns snippet_repositories that belong to the namespaces + personal snippets4159 with selective sync by shard4160 returns snippet_repositories that belong to the shards4161 .search4162 when search query is empty4163 returns all records4164 when search query is not empty4165 without matches4166 filters all records4167 with matches by attributes4168 searchable_attribute: :disk_path4169 is expected to contain exactly #<SnippetRepository snippet_id: 51, shard_id: 72, disk_path: "any_keyword", verification_retry_count:...ation_checksum: nil, verification_failure: nil, verification_state: 0, verification_started_at: nil>4170UpdateAllMirrorsWorker4171 behaves like worker with data consistency4172 .get_data_consistency_feature_flag_enabled?4173 returns true4174 .get_data_consistency4175 returns correct data consistency4176 #perform4177 does nothing if the database is read-only4178 does not execute if cannot get the lease4179 removes metadata except correlation_id from the application context before scheduling mirrors4180 schedules mirrors4181 when updates were scheduled4182 waits until ProjectImportScheduleWorker job tracker returns 04183 sleeps a bit after scheduling mirrors4184 if capacity is available4185 reschedules the job4186 if no capacity is available4187 does not reschedule the job4188 when no updates were scheduled4189 does not reschedule the job4190 does not wait4191 #schedule_mirrors!4192 when the instance is unlicensed4193 does not schedule when project does not have repository mirrors available4194 when the instance is licensed4195 when capacity is in excess4196 schedules all available mirrors4197 when the instance checks namespace plans4198 when checking licenses on each record individually4199 when capacity is in excess4200 schedules all available mirrors4201 requests as many batches as necessary4202 does not schedule a mirror of an archived project4203 does not schedule a mirror of an pending_delete project4204 when capacity is exactly sufficient4205 schedules all available mirrors4206 requests as many batches as necessary4207 when capacity is insufficient4208 schedules mirrors by next_execution_timestamp4209 requests as many batches as necessary4210 when capacity is insufficient and the first batch is empty4211 schedules mirrors by next_execution_timestamp4212 requests as many batches as necessary4213PostReceive4214 #process_project_changes4215 after project changes hooks4216 calls Geo::RepositoryUpdatedService when running on a Geo primary site4217 does not call Geo::RepositoryUpdatedService when not running on a Geo primary site4218 #process_wiki_changes4219 calls Git::WikiPushService#execute4220 assuming calls to process_changes are successful4221 with geo_project_wiki_repository_replication feature flag disabled4222 calls Geo::RepositoryUpdatedService when running on a Geo primary site4223 does not call Geo::RepositoryUpdatedService when not running on a Geo primary site4224 with geo_project_wiki_repository_replication feature flag enabled4225 when on a Geo primary site4226 does not call Geo::RepositoryUpdatedService4227 when wiki_repository does not exist4228 does not call replicator to update Geo4229 when wiki_repository exists4230 calls replicator to update Geo4231 when not on a Geo primary site4232 when wiki_repository does not exist4233 does not call replicator to update Geo4234 when wiki_repository exists4235 does not call replicator to update Geo4236 with a group wiki4237 calls Git::WikiPushService#execute4238 when on a Geo primary site4239 does not call Geo::RepositoryUpdatedService4240 when wiki is a project wiki4241 does not call replicator to update Geo4242 when group_wiki_repository does not exist4243 does not call replicator to update Geo4244 when group_wiki_repository exists4245 calls replicator to update Geo4246 when not on a Geo primary site4247 does not call replicator to update Geo4248ProtectedEnvironments::DeployAccessLevel4249 # order random4250 #access_level4251 returns a value when role type4252 returns nil when user type4253 returns nil when group type4254 validations4255 is expected to validate that :group_inheritance_type is either ‹0› or ‹1›4256 gets a validation error when all of the authorizable attributes are missing4257 passes a validation when one of the authorizable attributes is present4258 fails validation when two of the authorizable attributes are present4259 behaves like authorizable for protected environments4260 associations4261 is expected to belong to protected_environment required: false4262 is expected to belong to user required: false4263 is expected to belong to group required: false4264 validations4265 is expected to validate that :access_level is either ‹20›, ‹30›, or ‹40›4266 #check_access4267 anonymous access4268 is expected to be falsy4269 admin user has universal access4270 when admin user does have specific access4271 is expected to be truthy4272 when admin user does not have specific access4273 is expected to be truthy4274 non-admin user access4275 when specific access has been assigned to a user4276 is expected to be truthy4277 when no permissions have been given to a user4278 is expected to be falsy4279 group access4280 when specific access has been assigned to a group4281 is expected to be truthy4282 when no permissions have been given to a group4283 is expected to be falsy4284 when there is an inherited member of a group4285 when group inheritance type is direct4286 is expected to be falsey4287 when group inheritance type is all inheritance4288 is expected to be truthy4289 access level4290 with a permitted access level4291 when user is project member above the permitted access level4292 is expected to be truthy4293 when user is project member below the permitted access level4294 is expected to be falsy4295 when the access level is not permitted4296 does not save the record4297 #humanize4298 when is related to a user4299 is expected to eq "Sidney Jones2942"4300 when is related to a group4301 is expected to eq "group459"4302 when is set to have a role4303 for developer access4304 is expected to eq "Developers + Maintainers"4305 for maintainer access4306 is expected to eq "Maintainers"4307 #type4308 with role type4309 is expected to eq :role4310 with user type4311 is expected to eq :user4312 with group type4313 is expected to eq :group4314 #role?4315 with role type4316 is expected to eq true4317 with user type4318 is expected to eq false4319WikiPages::UpdateService4320 #execute4321 with geo_project_wiki_repository_replication feature flag disabled4322 calls Geo::RepositoryUpdatedService when running on a Geo primary node4323 does not call Geo::RepositoryUpdatedService when not running on a Geo primary node4324 with geo_project_wiki_repository_replication feature flag enabled4325 when on a Geo primary site4326 does not call Geo::RepositoryUpdatedService4327 when wiki_repository does not exist4328WARNING: An expectation of `:replicator` 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/services/wiki_pages/update_service_spec.rb:66:in `block (6 levels) in <top (required)>'.4329 does not call replicator to update Geo4330 when wiki_repository exists4331 calls replicator to update Geo4332 when not on a Geo primary site4333 does not call replicator to update Geo4334 behaves like WikiPages::UpdateService#execute4335 updates the wiki page4336 executes webhooks4337 counts edit events4338 does not call Geo::RepositoryUpdatedService when container is group4339 the page is at the top level4340 adds a new wiki page activity event (PENDING: group wiki support)4341 the page is in a subsection4342 adds a new wiki page activity event (PENDING: group wiki support)4343 when the options are bad4344 does not count an edit event4345 does not record the activity4346 reports the error4347Security::FindingsFinder4348 behaves like security findings finder4349 #execute4350 when the pipeline does not have security findings4351 is expected to be empty4352 when the pipeline has security findings4353 N+1 queries4354 does not cause N+1 queries4355 #current_page4356 when the page is not provided4357 is expected to equal 14358 when the page is provided4359 is expected to equal 24360 #limit_value4361 when the per_page is not provided4362 is expected to equal 204363 when the per_page is provided4364 is expected to equal 1004365 #total_pages4366 when the per_page is not provided4367 is expected to equal 14368 when the per_page is provided4369 is expected to equal 34370 #total_count4371 when the scope is not provided4372 when the `deprecate_vulnerabilities_feedback` feature is enabled4373 is expected to equal 74374 when the `deprecate_vulnerabilities_feedback` feature is disabled4375 is expected to equal 74376 when the scope is provided as `all`4377 is expected to equal 84378 #next_page4379 when the page is not provided4380 is expected to equal 24381 when the page is provided4382 is expected to be nil4383 #prev_page4384 when the page is not provided4385 is expected to be nil4386 when the page is provided4387 is expected to equal 14388 #findings4389 with the default parameters4390 is expected to contain exactly "caa1719b-5de7-5fb8-91f8-24962ea66893", "37b5e627-c738-5251-ab5c-4b75cb3cee82", "d2541772-f99d-56e5-a74f-2e8730b19fd1", "c5ee2688-2a03-5639-9f0b-bc7d00791c61", "62c37827-7d90-5ced-9fe7-f69e1f5c966b", "5cd20c8c-3c52-5fd4-8bc4-c7017183bd51", "29e50743-099f-5bee-b953-7577ca28288e", and "95e89b87-ea96-5e43-8253-90d4edbcc868"4391 when the uuid is provided4392 is expected to contain exactly "caa1719b-5de7-5fb8-91f8-24962ea66893"4393 when the page is provided4394 is expected to contain exactly "62c37827-7d90-5ced-9fe7-f69e1f5c966b" and "5cd20c8c-3c52-5fd4-8bc4-c7017183bd51"4395 when the per_page is provided4396 is expected to contain exactly "caa1719b-5de7-5fb8-91f8-24962ea66893"4397 when the `severity_levels` is provided4398 is expected to contain exactly "c5ee2688-2a03-5639-9f0b-bc7d00791c61", "62c37827-7d90-5ced-9fe7-f69e1f5c966b", "5cd20c8c-3c52-5fd4-8bc4-c7017183bd51", and "29e50743-099f-5bee-b953-7577ca28288e"4399 when the `confidence_levels` is provided4400 is expected to contain exactly "95e89b87-ea96-5e43-8253-90d4edbcc868"4401 when the `report_types` is provided4402 is expected to contain exactly "caa1719b-5de7-5fb8-91f8-24962ea66893", "37b5e627-c738-5251-ab5c-4b75cb3cee82", and "d2541772-f99d-56e5-a74f-2e8730b19fd1"4403 when the `scope` is provided as `all`4404 is expected to contain exactly "caa1719b-5de7-5fb8-91f8-24962ea66893", "37b5e627-c738-5251-ab5c-4b75cb3cee82", "d2541772-f99d-56e5-a74f-2e8730b19fd1", "c5ee2688-2a03-5639-9f0b-bc7d00791c61", "62c37827-7d90-5ced-9fe7-f69e1f5c966b", "5cd20c8c-3c52-5fd4-8bc4-c7017183bd51", "29e50743-099f-5bee-b953-7577ca28288e", and "95e89b87-ea96-5e43-8253-90d4edbcc868"4405 when the `scanner` is provided4406 is expected to contain exactly "c5ee2688-2a03-5639-9f0b-bc7d00791c61", "62c37827-7d90-5ced-9fe7-f69e1f5c966b", "5cd20c8c-3c52-5fd4-8bc4-c7017183bd51", "29e50743-099f-5bee-b953-7577ca28288e", and "95e89b87-ea96-5e43-8253-90d4edbcc868"4407 when the `state` is provided4408 when the `deprecate_vulnerabilities_feedback` FF is disabled4409 is expected to contain exactly "caa1719b-5de7-5fb8-91f8-24962ea66893"4410 when the `deprecate_vulnerabilities_feedback` FF is enabled4411 is expected to be empty4412 when there is a retried build4413 is expected to contain exactly "caa1719b-5de7-5fb8-91f8-24962ea66893", "37b5e627-c738-5251-ab5c-4b75cb3cee82", and "d2541772-f99d-56e5-a74f-2e8730b19fd1"4414 when a build has more than one security report artifacts4415 is expected to contain exactly "702e6145-a67b-57ef-aafd-6f0fa0d42019"4416 when a vulnerability already exist for a security finding4417 the vulnerability is included in results4418 is expected to eq #<Vulnerability id:45 [vulnerability:namespace1510/project-1442/45]>4419 when the `security_findings` records have `overridden_uuid`s4420 is expected to contain exactly "c5ee2688-2a03-5639-9f0b-bc7d00791c61", "62c37827-7d90-5ced-9fe7-f69e1f5c966b", "5cd20c8c-3c52-5fd4-8bc4-c7017183bd51", "29e50743-099f-5bee-b953-7577ca28288e", "95e89b87-ea96-5e43-8253-90d4edbcc868", "caa1719b-5de7-5fb8-91f8-24962ea66893", "37b5e627-c738-5251-ab5c-4b75cb3cee82", and "d2541772-f99d-56e5-a74f-2e8730b19fd1"4421 #vulnerability_flags4422 with no vulnerability flags present4423 does not have any vulnerability flag4424 with some vulnerability flags present4425 has some vulnerability_findings with vulnerability flag4426 does not have any vulnerability_flag if license is not available4427Resolvers::Geo::PackageFileRegistriesResolver4428 behaves like a Geo registries resolver4429 #resolve4430 when the parent object is the current node4431 when the user has permission to view Geo data4432 when admin mode is enabled4433 when the ids argument is null4434 returns registries, in order4435 when the ids argument is present4436 returns the requested registries, in order4437 when the replication_state argument is present4438 returns registries with requested replication state, in order4439 with verification enabled4440 when the verification_state argument is present4441 returns registries with requested verification state, in order4442 with verification disabled4443 when the verification_state argument is present4444 raises ArgumentError (PENDING: Skipping because verification is enabled for Packages::PackageFile)4445 when admin mode is disabled4446 returns nothing4447 when the user does not have permission to view Geo data4448 returns nothing4449 when the parent object is not the current node4450 when the user has permission to view Geo data4451 returns nothing, because we can't query other nodes' tracking databases4452ApprovalRules::ProjectRuleDestroyService4453 #execute4454 when there is no merge request rules4455 destroys project rule4456 adds an audit event4457 behaves like sends correct event type in audit event stream4458 sends correct event type in audit event stream4459 when there is a merge request rule4460 when open4461 destroys merge request rules4462 adds an audit event4463 behaves like sends correct event type in audit event stream4464 sends correct event type in audit event stream4465 when merged4466 does nothing4467 adds an audit event4468 behaves like sends correct event type in audit event stream4469 sends correct event type in audit event stream4470Milestone4471 searches milestones4472 returns json with all needed elements4473 behaves like limited indexing is enabled4474 when the project is not enabled specifically4475 #searchable?4476 returns false4477 when a project is enabled specifically4478 #searchable?4479 returns true4480 when a group is enabled4481 #searchable?4482 returns true4483 behaves like no results when the user cannot read cross project4484 returns the record if a single project was passed4485 does not return anything when trying to search cross project4486Gitlab::ImportExport::Group::TreeSaver4487 saves the group tree into a json object4488 saves successfully4489 saves the milestone data when there are boards with predefined milestones4490 saves the milestone data when there are boards with persisted milestones4491 epics relation4492 saves top level epics4493 saves parent of epic4494 saves epic notes4495 saves epic events4496 saves epic's note events4497 saves epic's award emojis4498 saves epic's note award emojis4499 saves epic labels4500 saves resource state events4501 with inaccessible resources4502 filters out inaccessible epic parent4503 filters out inaccessible epic notes4504 boards relation4505 saves top level boards4506 saves board assignee4507 saves board labels4508 saves board lists4509 iteration cadences relation4510 saves iteration cadences with iterations4511GlobalPolicy4512 is expected to be disallowed :read_licenses4513 is expected to be disallowed :destroy_licenses4514 is expected to be disallowed :read_all_geo4515 is expected to be disallowed :manage_subscription4516 reading operations dashboard4517 when licensed4518 is expected to be allowed :read_operations_dashboard4519 and the user is not logged in4520 is expected to be disallowed :read_operations_dashboard4521 when unlicensed4522 is expected to be disallowed :read_operations_dashboard4523 reading workspaces4524 when feature flag is disabled4525 is expected to be disallowed :read_workspace4526 when licensed4527 is expected to be allowed :read_workspace4528 and the user is not logged in4529 is expected to be disallowed :read_workspace4530 when unlicensed4531 is expected to be disallowed :read_workspace4532 when admin mode enabled4533 is expected to be allowed :read_licenses4534 is expected to be allowed :destroy_licenses4535 is expected to be allowed :read_all_geo4536 is expected to be allowed :manage_subscription4537 when admin mode disabled4538 is expected to be disallowed :read_licenses4539 is expected to be disallowed :destroy_licenses4540 is expected to be disallowed :read_all_geo4541 is expected to be disallowed :manage_subscription4542 view_productivity_analytics4543 anonymous user4544 is not allowed4545 authenticated user4546 is allowed4547 update_max_pages_size4548 is expected to be disallowed :update_max_pages_size4549 when feature is enabled4550 is expected to be disallowed :update_max_pages_size4551 when admin mode enabled4552 is expected to be allowed :update_max_pages_size4553 when admin mode disabled4554 is expected to be disallowed :update_max_pages_size4555 create_group_with_default_branch_protection4556 for an admin4557 when the `default_branch_protection_restriction_in_groups` feature is available4558 when the setting `group_owners_can_manage_default_branch_protection` is enabled4559 is expected to be allowed :create_group_with_default_branch_protection4560 when the setting `group_owners_can_manage_default_branch_protection` is disabled4561 when admin mode is enabled4562 is expected to be allowed :create_group_with_default_branch_protection4563 when admin mode is disabled4564 is expected to be disallowed :create_group_with_default_branch_protection4565 when the `default_branch_protection_restriction_in_groups` feature is not available4566 when the setting `group_owners_can_manage_default_branch_protection` is enabled4567 is expected to be allowed :create_group_with_default_branch_protection4568 when the setting `group_owners_can_manage_default_branch_protection` is disabled4569 is expected to be allowed :create_group_with_default_branch_protection4570 for a normal user4571 when the `default_branch_protection_restriction_in_groups` feature is available4572 when the setting `group_owners_can_manage_default_branch_protection` is enabled4573 is expected to be allowed :create_group_with_default_branch_protection4574 when the setting `group_owners_can_manage_default_branch_protection` is disabled4575 is expected to be disallowed :create_group_with_default_branch_protection4576 when the `default_branch_protection_restriction_in_groups` feature is not available4577 when the setting `group_owners_can_manage_default_branch_protection` is enabled4578 is expected to be allowed :create_group_with_default_branch_protection4579 when the setting `group_owners_can_manage_default_branch_protection` is disabled4580 is expected to be allowed :create_group_with_default_branch_protection4581 list_removable_projects4582 when user is an admin4583 when licensed feature is enabled4584 is expected to be allowed :list_removable_projects4585 when licensed feature is not enabled4586 is expected to be disallowed :list_removable_projects4587 when user is a normal user4588 when licensed feature is enabled4589 is expected to be allowed :list_removable_projects4590 when licensed feature is not enabled4591 is expected to be disallowed :list_removable_projects4592 :export_user_permissions4593 role: :admin, licensed: true, allowed: true4594 is expected to be allowed :export_user_permissions4595 role: :admin, licensed: false, allowed: false4596 is expected to be disallowed :export_user_permissions4597 role: :guest, licensed: true, allowed: false4598 is expected to be disallowed :export_user_permissions4599 role: :guest, licensed: false, allowed: false4600 is expected to be disallowed :export_user_permissions4601 create_group_via_api4602 on .com4603 when feature is enabled4604 is expected to be allowed :create_group_via_api4605 when feature is disabled4606 is expected to be disallowed :create_group_via_api4607 on self-managed4608 when feature is enabled4609 is expected to be allowed :create_group_via_api4610 when feature is disabled4611 is expected to be allowed :create_group_via_api4612 :view_instance_devops_adoption & :manage_devops_adoption_namespaces4613 when license does not include the feature4614 is expected to be disallowed :view_instance_devops_adoption and :manage_devops_adoption_namespaces4615 when feature is enabled and license include the feature4616 is expected to be allowed :view_instance_devops_adoption and :manage_devops_adoption_namespaces4617 for non-admins4618 is expected to be disallowed :view_instance_devops_adoption and :manage_devops_adoption_namespaces4619 read_jobs_statistics4620 when feature is enabled4621 is expected to be disallowed :read_jobs_statistics4622 when admin mode enabled4623 is expected to be allowed :read_jobs_statistics4624 when admin mode disabled4625 is expected to be disallowed :read_jobs_statistics4626 when feature is disabled4627 when admin mode enabled4628 is expected to be disallowed :read_jobs_statistics4629 admin_service_accounts4630 is expected to be disallowed :admin_service_accounts4631 when feature is enabled4632 when admin mode enabled4633 is expected to be allowed :admin_service_accounts4634 when admin mode disabled4635 is expected to be disallowed :admin_service_accounts4636Boards::Lists::ListService4637 #execute4638 when board parent is a project4639 behaves like list service for board with assignee lists4640 when the feature is enabled4641 returns all lists4642 when the feature is disabled4643 filters out assignee lists that might have been created while subscribed4644 behaves like list service for board with milestone lists4645 when the feature is enabled4646 returns all lists4647 when the feature is disabled4648 filters out assignee lists that might have been created while subscribed4649 behaves like list service for board with iteration lists4650 when the feature is enabled4651 returns all lists4652 when feature is disabled4653 filters out iteration lists that might have been created while subscribed4654 when board parent is a group4655 behaves like list service for board with assignee lists4656 when the feature is enabled4657 returns all lists4658 when the feature is disabled4659 filters out assignee lists that might have been created while subscribed4660 behaves like list service for board with milestone lists4661 when the feature is enabled4662 returns all lists4663 when the feature is disabled4664 filters out assignee lists that might have been created while subscribed4665 behaves like list service for board with iteration lists4666 when the feature is enabled4667 returns all lists4668 when feature is disabled4669 filters out iteration lists that might have been created while subscribed4670Analytics::CycleAnalytics::AggregatorService4671 when invalid mode is given4672 raises error4673 when the group is not licensed4674 sets the aggregation record disabled4675 calls the DataLoaderService only once4676 when a subgroup is given4677 sets the aggregation record disabled4678 when the aggregation succeeds4679 when nothing to aggregate4680 updates the aggregation record with metadata4681 when the aggregation already contains metadata about the previous runs4682 updates the statistical columns4683 when merge requests and issues are present for the configured VSA stages4684 updates the aggregation record with record count and the last cursor4685 when running a full aggregation4686 when aggregation is not finished4687 persists the cursor attributes4688 when aggregation is finished during the second run4689 resets the cursor attributes so the aggregation starts from the beginning4690Issuable::CommonSystemNotesService4691 on issuable update4692 when weight is changed4693 creates a resource weight event4694 when health status is updated4695 when setting a health_status4696 creates system note4697 when health status is removed4698 creates system note4699 when issuable is an epic4700 creates 2 system notes with the correct content4701 behaves like issuable iteration changed4702 when iteration is changed4703 creates a resource iteration event4704 on issuable create4705 creates a resource weight event4706 does not create a system note4707 behaves like issuable iteration changed4708 when iteration is changed4709 creates a resource iteration event4710Gitlab::Ci::Parsers::Security::Validators::SchemaValidator4711 report_type: :cluster_image_scanning, expected_errors: expected_error_messages, report_data: valid_data4712 #valid?4713 when given data is invalid according to the schema4714nil versions are discouraged and will be deprecated in Rubygems 44715 is expected to be falsey4716 when given data is valid according to the schema4717 is expected to be truthy4718 #deprecation_warnings4719 when report uses a deprecated version4720 is expected to eq ["version 14.1.0 for report type cluster_image_scanning is deprecated. However, GitLab will still att...rade the security report to one of the following versions: 15.0.0, 15.0.1, 15.0.2, 15.0.4, 15.0.6."]4721 when report uses a supported version4722 is expected to eq []4723 #warnings4724 when given data is valid according to the schema4725 is expected to eq []4726 when given data is invalid according to the schema4727 is expected to be empty4728 #errors4729 is expected to contain exactly "root is missing required keys: vulnerabilities", "Version V2.1.3 for report type cluster_image_scanning is unsupported, supported versions for this re...liest supported versions of this report type, to show all the errors but will not ingest the report", and "property '/version' does not match pattern: ^[0-9]+\\.[0-9]+\\.[0-9]+$"4730 report_type: :container_scanning, expected_errors: expected_error_messages, report_data: valid_data4731 #valid?4732 when given data is invalid according to the schema4733 is expected to be falsey4734 when given data is valid according to the schema4735 is expected to be truthy4736 #deprecation_warnings4737 when report uses a deprecated version4738 is expected to eq ["version 14.1.0 for report type container_scanning is deprecated. However, GitLab will still attempt...rade the security report to one of the following versions: 15.0.0, 15.0.1, 15.0.2, 15.0.4, 15.0.6."]4739 when report uses a supported version4740 is expected to eq []4741 #warnings4742 when given data is valid according to the schema4743 is expected to eq []4744 when given data is invalid according to the schema4745 is expected to be empty4746 #errors4747 is expected to contain exactly "root is missing required keys: vulnerabilities", "Version V2.1.3 for report type container_scanning is unsupported, supported versions for this report...liest supported versions of this report type, to show all the errors but will not ingest the report", and "property '/version' does not match pattern: ^[0-9]+\\.[0-9]+\\.[0-9]+$"4748 report_type: :coverage_fuzzing, expected_errors: expected_error_messages, report_data: valid_data4749 #valid?4750 when given data is invalid according to the schema4751 is expected to be falsey4752 when given data is valid according to the schema4753 is expected to be truthy4754 #deprecation_warnings4755 when report uses a deprecated version4756 is expected to eq ["version 14.1.0 for report type coverage_fuzzing is deprecated. However, GitLab will still attempt t...rade the security report to one of the following versions: 15.0.0, 15.0.1, 15.0.2, 15.0.4, 15.0.6."]4757 when report uses a supported version4758 is expected to eq []4759 #warnings4760 when given data is valid according to the schema4761 is expected to eq []4762 when given data is invalid according to the schema4763 is expected to be empty4764 #errors4765 is expected to contain exactly "root is missing required keys: vulnerabilities", "Version V2.1.3 for report type coverage_fuzzing is unsupported, supported versions for this report t...liest supported versions of this report type, to show all the errors but will not ingest the report", and "property '/version' does not match pattern: ^[0-9]+\\.[0-9]+\\.[0-9]+$"4766 report_type: :dast, expected_errors: expected_error_messages, report_data: valid_data4767 #valid?4768 when given data is invalid according to the schema4769 is expected to be falsey4770 when given data is valid according to the schema4771 is expected to be truthy4772 #deprecation_warnings4773 when report uses a deprecated version4774 is expected to eq ["version 14.1.0 for report type dast is deprecated. However, GitLab will still attempt to parse and ...rade the security report to one of the following versions: 15.0.0, 15.0.1, 15.0.2, 15.0.4, 15.0.6."]4775 when report uses a supported version4776 is expected to eq []4777 #warnings4778 when given data is valid according to the schema4779 is expected to eq []4780 when given data is invalid according to the schema4781 is expected to be empty4782 #errors4783 is expected to contain exactly "root is missing required keys: vulnerabilities", "Version V2.1.3 for report type dast is unsupported, supported versions for this report type are: 15....liest supported versions of this report type, to show all the errors but will not ingest the report", and "property '/version' does not match pattern: ^[0-9]+\\.[0-9]+\\.[0-9]+$"4784 report_type: :dependency_scanning, expected_errors: expected_error_messages_for_dependency_scanning, report_data: valid_data_for_dependency_scanning4785 #valid?4786 when given data is invalid according to the schema4787 is expected to be falsey4788 when given data is valid according to the schema4789 is expected to be truthy4790 #deprecation_warnings4791 when report uses a deprecated version4792 is expected to eq ["version 14.1.0 for report type dependency_scanning is deprecated. However, GitLab will still attemp...rade the security report to one of the following versions: 15.0.0, 15.0.1, 15.0.2, 15.0.4, 15.0.6."]4793 when report uses a supported version4794 is expected to eq []4795 #warnings4796 when given data is valid according to the schema4797 is expected to eq []4798 when given data is invalid according to the schema4799 is expected to be empty4800 #errors4801 is expected to contain exactly "root is missing required keys: dependency_files, vulnerabilities", "Version V2.1.3 for report type dependency_scanning is unsupported, supported versions for this repor...liest supported versions of this report type, to show all the errors but will not ingest the report", and "property '/version' does not match pattern: ^[0-9]+\\.[0-9]+\\.[0-9]+$"4802 report_type: :api_fuzzing, expected_errors: expected_error_messages, report_data: valid_data4803 #valid?4804 when given data is invalid according to the schema4805 is expected to be falsey4806 when given data is valid according to the schema4807 is expected to be truthy4808 #deprecation_warnings4809 when report uses a deprecated version4810 is expected to eq ["version 14.1.0 for report type api_fuzzing is deprecated. However, GitLab will still attempt to par...rade the security report to one of the following versions: 15.0.0, 15.0.1, 15.0.2, 15.0.4, 15.0.6."]4811 when report uses a supported version4812 is expected to eq []4813 #warnings4814 when given data is valid according to the schema4815 is expected to eq []4816 when given data is invalid according to the schema4817 is expected to be empty4818 #errors4819 is expected to contain exactly "root is missing required keys: vulnerabilities", "Version V2.1.3 for report type api_fuzzing is unsupported, supported versions for this report type a...liest supported versions of this report type, to show all the errors but will not ingest the report", and "property '/version' does not match pattern: ^[0-9]+\\.[0-9]+\\.[0-9]+$"4820Todos::Destroy::EntityLeaveService4821 #execute4822 behaves like removes confidential epics and internal notes todos4823 removes todos targeting confidential epics and internal notes in the group4824 when user is still member of ancestor group4825 does not remove todos targeting confidential epics in the group4826 when user was a member of public group with private subgroup4827 removes epic todos from private subgroup4828 when user role is downgraded to guest4829 behaves like removes confidential epics and internal notes todos4830 removes todos targeting confidential epics and internal notes in the group4831Registrations::StandardNamespaceCreateService4832 # order random4833 #execute4834 when group and project can be created4835 creates a group with onboarding and project4836 passes create_event: true to the Groups::CreateService4837 allows for the project to be initialized with a README4838 tracks group and project creation events4839 does not attempt to create a trial4840 when the group cannot be created4841 does not create a group4842 does not track events for group or project creation4843 the project is not disregarded completely4844 with trial concerns4845 does not attempt to create a trial4846 when group can be created but not the project4847 does not create a project4848 selectively tracks events for group and project creation4849 when a group already exists and projects needs to be created4850 creates a project and not another group4851 selectively tracks events group and project creation4852 with applying for a trial4853 applies a trial4854 when a group already exists applying a trial is not attempted4855 creates a project and not another group or trial4856Members::UpdateService4857 when current user can update the given member4858 behaves like logs an audit event4859 is expected to change `AuditEvent.count` by 14860 behaves like logs an audit event4861 is expected to change `AuditEvent.count` by 14862 when the update is a noOp4863 behaves like does not log an audit event4864 is expected not to change `AuditEvent.count`4865 behaves like does not log an audit event4866 is expected not to change `AuditEvent.count`4867 when access_level remains the same and expires_at changes4868 behaves like logs an audit event4869 is expected to change `AuditEvent.count` by 14870 when expires_at remains the same and access_level changes4871 behaves like logs an audit event4872 is expected to change `AuditEvent.count` by 14873EE::AllowedEmailDomains::UpdateService4874 #execute4875 as a normal user4876 for a group that has no email domain restriction4877 with valid domains4878 does not build new allowed_email_domain records4879 registers an error4880 as a group owner4881 for a group that has no email domain restriction4882 with valid domains4883 builds new allowed_email_domain records4884 builds new allowed_email_domain records with the provided domains4885 for a group that already has email domain restriction4886 with empty domain4887 marks all existing allowed_email_domain records for destruction4888 with valid domains4889 with an entirely new set of domains4890 each domain in the list is unique4891 builds new allowed_email_domain records with all of the specified domains4892 behaves like removes all existing allowed_email_domain records4893 marks all the existing allowed_email_domain records for destruction4894 list has space around the names of domains4895 builds new allowed_email_domain records with all of the specified domains without spaces around them4896 behaves like removes all existing allowed_email_domain records4897 marks all the existing allowed_email_domain records for destruction4898 domains in the list repeats4899 builds new allowed_email_domain records with only the unique domains among the specified domains4900 behaves like removes all existing allowed_email_domain records4901 marks all the existing allowed_email_domain records for destruction4902 replacing one of the existing domains with another4903 marks the allowed_email_domain record of the replaced domain for destruction4904 retains the allowed_email_domain record of the other existing domain4905 builds a new allowed_email_domain record with the newly specified domain4906Vulnerabilities::Scanner4907 associations4908 is expected to belong to project required: false4909 is expected to have many findings class_name => Vulnerabilities::Finding4910 is expected to have many security_findings class_name => Security::Finding4911 validations4912 is expected to validate that :name cannot be empty/falsy4913 is expected to validate that :project cannot be empty/falsy4914 is expected to validate that :external_id cannot be empty/falsy4915 is expected to validate that :external_id is case-sensitively unique within the scope of :project_id4916 is expected to validate that the length of :vendor is at most 2554917 .with_external_id4918 when scanner has the corresponding external_id4919 selects the scanner4920 when scanner does not have the corresponding external_id4921 does not select the scanner4922 .report_type4923 when the scanner has a report type attribute4924 returns the attribute value4925 when the scanner does not have a report type attribute4926 returns the scan_type value4927ApprovalRules::MergeRequestRuleDestroyService4928 user cannot edit approval rule4929 returns error status4930 user can edit approval rule4931 when rule successfully deleted4932 returns successful status4933 tracks delete event via a usage counter4934 when rule not successfully deleted4935 returns error status4936 does not track delete event via a usage counter4937AddHiddenToIssues4938 # order random4939 .completed?4940 mapping has been updated4941 is expected to be completed4942 mapping has not been updated4943 is expected not to be completed4944 .migrate4945 when migration is already completed4946 does not modify data4947 migration process4948 updates the issues index mappings4949EE::GitlabRoutingHelper4950 #geo_primary_web_url4951 public / default URL4952 generates a path to the project4953 generates a path to the wiki4954 internal URL4955 generates a path to the project4956 generates a path to the wiki4957 #geo_proxied_http_url_to_repo4958 is expected to eq "http://localhost:123/relative/foo/bar.git"4959 #geo_proxied_ssh_url_to_repo4960 when ssh_port is customized4961 is expected to eq "git@primary:bar.git"4962 when ssh_port is the same as host4963 is expected to eq "ssh://git@proxied-host:123/bar.git"4964 #geo_primary_default_url_to_repo4965 HTTP4966 project4967 is expected to eq "http://localhost:123/relative/foo/bar.git"4968 wiki4969 is expected to eq "http://localhost:123/relative/foo/bar.wiki.git"4970 HTTPS4971 project4972 is expected to eq "https://localhost:123/relative/foo/bar.git"4973 wiki4974 is expected to eq "https://localhost:123/relative/foo/bar.wiki.git"4975 SSH4976 project4977 is expected to eq "git@localhost:foo/bar.git"4978 wiki4979 is expected to eq "git@localhost:foo/bar.wiki.git"4980 #license_management_settings_path4981 generates a path to the license compliance page4982 #user_group_saml_omniauth_metadata_path4983 uses metadata path4984 appends group path and token4985 #user_group_saml_omniauth_metadata_url4986 creates full metadata URL4987 #upgrade_plan_path4988 when the group is present4989 returns the group billing path4990 when the group is blank4991 returns the profile billing path4992 #vulnerability_url4993 returns the full url of the vulnerability4994 #usage_quotas_path4995 returns the group usage quota path for a group namespace4996 returns the profile usage quotas path for any other namespace4997 returns the path with any args supplied4998 #usage_quotas_url4999 returns the group usage quota url for a group namespace5000 returns the profile usage quotas url for any other namespace5001 returns the url with any args supplied5002Dast::SiteProfilesBuild5003 associations5004 is expected to belong to ci_build class_name => Ci::Build required: true5005 is expected to belong to dast_site_profile class_name => DastSiteProfile required: true5006 validations5007 is expected to be valid5008 is expected to validate that :ci_build_id cannot be empty/falsy5009 is expected to validate that :dast_site_profile_id cannot be empty/falsy5010 when the ci_build.project_id and dast_site_profile.project_id do not match5011 is not valid5012 behaves like cleanup by a loose foreign key5013 cleans up (delete or nullify) the model5014AppSec::Dast::Scans::RunService5015 #execute5016 when a user does not have access to the project5017 returns an error status5018 populates message5019 when the user can run a dast scan5020 returns a success status5021 returns a pipeline5022 creates a pipeline5023 associates the dast profile5024 sets the pipeline ref to the branch5025 sets the source to indicate an ondemand scan5026 creates a stage5027 creates a build5028 sets the build name to indicate a DAST scan5029 creates a build with appropriate options5030 creates a build with appropriate variables5031 when the pipeline fails to save5032 returns an error status5033 populates message5034 when on demand scan licensed feature is not available5035 returns an error status5036 populates message5037EE-specific project routing5038 Projects::RequirementsManagement::RequirementsController routing5039 to #index5040 Projects::VulnerabilityFeedbackController routing5041 to #index5042 to #create5043 to #destroy5044 legacy routing5045 behaves like redirecting a legacy path5046 redirects /gitlab/gitlabhq/vulnerability_feedback to /gitlab/gitlabhq/-/vulnerability_feedback5047 Projects::PipelinesController routing5048 to #security5049 Projects::AutocompleteSourcesController routing5050 to #epics5051 Projects::ProtectedEnvironmentsController routing5052 legacy routing5053 behaves like redirecting a legacy path5054 redirects /gitlab/gitlabhq/protected_environments to /gitlab/gitlabhq/-/protected_environments5055 Projects::AuditEventsController routing5056 legacy routing5057 behaves like redirecting a legacy path5058 redirects /gitlab/gitlabhq/audit_events to /gitlab/gitlabhq/-/audit_events5059 Projects::Integrations::Jira::IssuesController routing5060 to #index5061 Projects::Security::PoliciesController routing5062 to #new5063 to #index5064 id: "test.1.2"5065 to #edit5066 id: "test-policy"5067 to #edit5068 id: "test:policy"5069 to #edit5070Gitlab::ImportExport::Importer5071 # order random5072 #execute5073 when all EE restores are executed5074 calls the Gitlab::ImportExport::Project::CustomTemplateRestorer5075 with template_project_id5076 initializes the CustomTemplateRestorer5077 without template_project_id5078 initializes the CustomTemplateRestorer5079Security::Orchestration::UnassignService5080 #execute5081 for project5082 with approval rules5083 with scan_finding rule5084 deletes scan finding approval rules related to the project5085 deletes scan finding approval rules related to the merge requests5086 with other rule5087 does not delete license scanning rules5088 behaves like unassigns policy project5089 when policy project is assigned to a project or namespace5090 unassigns policy project from the project5091 deletes rule schedules related to the project5092 logs audit event5093 when destroy fails5094 is expected not to be success5095 does not delete rule schedules related to the project5096 does not log audit event5097 when policy project is not assigned to a project or namespace5098 respond with an error5099 for namespace5100 behaves like unassigns policy project5101 when policy project is assigned to a project or namespace5102 unassigns policy project from the project5103 deletes rule schedules related to the project5104 logs audit event5105 when destroy fails5106 is expected not to be success5107 does not delete rule schedules related to the project5108 does not log audit event5109 when policy project is not assigned to a project or namespace5110 respond with an error5111ReindexUsers5112 # order random5113 behaves like a deprecated Advanced Search migration5114 #migrate5115 logs a message and halts the migration5116 #completed?5117 returns false5118 #obsolete?5119 returns true5120Groups::DestroyService5121 audit events5122 when licensed5123 does not log audit event if operation fails5124 does not log audit event if operation results in no change5125 when operation succeeds5126 logs an audit event5127 logs the audit event info5128 calls the audit method with the event type5129 when not licensed5130 does not log audit event5131 streaming audit event for sub group5132 sends the audit streaming event with json format5133 dependency_proxy_blobs5134 destroys the dependency proxy blobs5135 when on a Geo primary node5136 calls replicator to update Geo5137 when group_wiki_repository does not exist5138 does not call replicator to update Geo5139 when not on a Geo primary node5140 does not call replicator to update Geo5141 when group epics have parent epic outside of group5142 schedules cache update for associated epics in batches5143Users::UpdateService5144 #execute5145 does not update email if an user has group managed account5146 does not update commit email if an user has group managed account5147 does not update public email if an user has group managed account5148 does not update notification email if an user has group managed account5149 updating name5150 when `disable_name_update_for_users` feature is available5151 when the ability to update their name is not disabled for users5152 behaves like a user can update the name5153 updates the name5154 when admin mode is enabled5155 behaves like a user can update the name5156 updates the name5157 when the ability to update their name is disabled for users5158 as a regular user5159 behaves like a user cannot update the name5160 does not update the name5161 when admin mode is enabled5162 behaves like a user can update the name5163 updates the name5164 when admin mode is disabled5165 behaves like a user cannot update the name5166 does not update the name5167 when force: true parameter is passed to service5168 updates the name5169 when `disable_name_update_for_users` feature is not available5170 behaves like a user can update the name5171 updates the name5172 when admin mode is enabled5173 behaves like a user can update the name5174 updates the name5175 when admin mode is disabled5176 behaves like a user cannot update the name5177 does not update the name5178 audit events5179 licensed5180 updating administrator status5181 logs making a user an administrator5182 logs making an administrator a user5183 updating username5184 logs audit event5185 with an admin user5186 allowed params5187 with identity5188 adds identity to user5189 adds two different identities to user5190Gitlab::Ci::Pipeline::Chain::Limit::Size5191 when pipeline size limit is exceeded5192 when saving incomplete pipelines5193 drops the pipeline5194 persists the pipeline5195 breaks the chain5196 sets a valid failure reason5197 appends validation error5198 logs the error5199 when not saving incomplete pipelines5200 does not drop the pipeline5201 breaks the chain5202 increments the error metric5203 when pipeline size limit is not exceeded5204 does not break the chain5205 does not persist the pipeline5206 does not log any error5207 when pipeline size limit is disabled5208 when global pipeline size limit is exceeded5209 logs the pipeline5210Mutations::Security::CiConfiguration::ConfigureDependencyScanning5211 is expected to require graphql authorizations :push_code5212 #resolve5213 generates an error if the resource is not accessible to the user5214 when user does not have enough permissions5215 generates an error5216 when user is a maintainer of a different project5217 generates an error5218 when the user does not have permission to create a new branch5219 returns an array of errors5220 when the user can create a merge request5221 when service successfully generates a path to create a new merge request5222 returns a success path5223 when service can not generate any path to create a new merge request5224 returns an array of errors5225Gitlab::Auth::Ldap::User5226 includes the EE module5227 #initialize5228 when there is one external group5229 when there is another user in the external group5230 when the user is in the external group5231 sets the user's external flag to true5232 when the user is not in the external group5233 sets the user's external flag to false5234 when there are no other users in the external group5235 when the user is in the external group5236 sets the user's external flag to true5237 when the user is not in the external group5238 sets the user's external flag to false5239 with "user_default_external" application setting5240 user_default_external: true, user_default_internal_regex: nil, user_is_in_external_group: false, expected_to_be_external: false5241 sets the user's external flag appropriately5242 user_default_external: true, user_default_internal_regex: "example.com", user_is_in_external_group: false, expected_to_be_external: false5243 sets the user's external flag appropriately5244 user_default_external: true, user_default_internal_regex: nil, user_is_in_external_group: true, expected_to_be_external: true5245 sets the user's external flag appropriately5246 user_default_external: true, user_default_internal_regex: "example.com", user_is_in_external_group: true, expected_to_be_external: true5247 sets the user's external flag appropriately5248 user_default_external: false, user_default_internal_regex: nil, user_is_in_external_group: false, expected_to_be_external: false5249 sets the user's external flag appropriately5250 user_default_external: false, user_default_internal_regex: "example.com", user_is_in_external_group: false, expected_to_be_external: false5251 sets the user's external flag appropriately5252 user_default_external: false, user_default_internal_regex: nil, user_is_in_external_group: true, expected_to_be_external: true5253 sets the user's external flag appropriately5254 user_default_external: false, user_default_internal_regex: "example.com", user_is_in_external_group: true, expected_to_be_external: true5255 sets the user's external flag appropriately5256 when there is more than one external group5257 when the user is in an external group5258 sets the user's external flag to true5259 when the user is not in an external group5260 sets the user's external flag to false5261 when there are no external groups5262 sets the user's external flag to false5263 when the user_default_external application setting is true5264 does not set the external flag to false5265 #find_user5266 behaves like finding user when user cap is set5267 when a sign-up user cap has been set5268 when the user cap has been reached5269 does not activate the user5270 when the user cap has not been reached5271 when the user can be activated based on user cap5272 activates the user5273 when the query behind .user_cap_reached? times out5274 does not activate the user5275 when the user cannot be activated based on user cap5276 does not activate the user5277Namespaces::FreeUserCap::UsageQuotaAlertComponent5278 when under the limit5279 behaves like does not render the alert5280 does not have the title5281 when over the limit5282 when paid subscription is expired5283 behaves like does not render the alert5284 does not have the title5285 when it is a trial5286 behaves like does not render the alert5287 does not have the title5288 when free subscription5289 when subscription is expired5290 behaves like renders the alert5291 has content for the alert5292 renders all the expected tracking items5293 when trial is expired5294 behaves like renders the alert5295 has content for the alert5296 renders all the expected tracking items5297 when trial is active5298 behaves like does not render the alert5299 does not have the title5300 when group is public5301 behaves like does not render the alert5302 does not have the title5303DAST-API.latest.gitlab-ci.yml5304 is expected not to be nil5305 the template file5306 uses the production repository5307 doesn't use the staging repository5308 the created pipeline5309 when no stages5310 when project has no stages5311 includes no jobs5312 when stages includes dast5313 when project has no license5314 includes job to display error5315 when project has Ultimate license5316 behaves like acts as branch pipeline5317 when branch pipeline5318 includes a job5319 behaves like acts as MR pipeline5320 when MR pipeline5321 includes a job5322 when setting DAST_API_DISABLED5323 when DAST_API_DISABLED=15324 includes no jobs5325 when DAST_API_DISABLED="true"5326 includes no jobs5327 when DAST_API_DISABLED="false"5328 includes jobs5329 when CI_GITLAB_FIPS_MODE=false5330 sets DAST_API_IMAGE_SUFFIX to ""5331 when CI_GITLAB_FIPS_MODE=true5332 sets DAST_API_IMAGE_SUFFIX to "-fips"5333EE::SecurityOrchestrationHelper5334 #can_update_security_orchestration_policy_project?5335 returns false when user cannot update security orchestration policy project5336 returns true when user can update security orchestration policy project5337 #assigned_policy_project5338 for project5339 when a project does have a security policy project5340 include information about policy management project5341 when a project does not have a security policy project5342 is expected to be nil5343 for namespace5344 when a namespace does have a security policy project5345 include information about policy management project5346 when a namespace does not have a security policy project5347 is expected to be nil5348 #orchestration_policy_data5349 for project5350 when a new policy is being created5351 is expected to match {:assigned_policy_project=>"null", :disable_scan_policy_update=>"false", :create_agent_help_path=>#<RSpec::Mocks::ArgumentMatchers::KindOf:0x00007f482e6030d8 @klass=String>, :namespace_id=>1577, :namespace_path=>#<RSpec::Mocks::ArgumentMatchers::KindOf:0x00007f482e602e80 @klass=String>, :policy_editor_empty_state_svg_path=>#<RSpec::Mocks::ArgumentMatchers::KindOf:0x00007f482e602d68 @klass=String>, :policies_path=>#<RSpec::Mocks::ArgumentMatchers::KindOf:0x00007f482e602ca0 @klass=String>, :policy=>nil, :policy_type=>nil, :role_approver_types=>["guest", "reporter", "developer", "maintainer", "owner"], :scan_policy_documentation_path=>#<RSpec::Mocks::ArgumentMatchers::KindOf:0x00007f482e601f08 @klass=String>, :scan_result_approvers=>nil, :software_licenses=>["Apache 2.0 License", "MIT"], :global_group_approvers_enabled=>"true", :root_namespace_path=>"namespace1703"}5352 when an existing policy is being edited5353 is expected to match {:assigned_policy_project=>"null", :disable_scan_policy_update=>"false", :create_agent_help_path=>#<RSpec::Mocks::ArgumentMatchers::KindOf:0x00007f4826d94778 @klass=String>, :namespace_id=>1577, :namespace_path=>#<RSpec::Mocks::ArgumentMatchers::KindOf:0x00007f4826d945e8 @klass=String>, :policy_editor_empty_state_svg_path=>#<RSpec::Mocks::ArgumentMatchers::KindOf:0x00007f4826d944a8 @klass=String>, :policies_path=>#<RSpec::Mocks::ArgumentMatchers::KindOf:0x00007f4826d94368 @klass=String>, :policy=>"{\"name\":\"Run DAST in every pipeline\",\"description\":\"This policy enforces to run DAST for every pipeline within the project\",\"enabled\":true,\"actions\":[{\"scan\":\"dast\",\"site_profile\":\"Site Profile\",\"scanner_profile\":\"Scanner Profile\"}],\"rules\":[{\"type\":\"pipeline\",\"branches\":[\"master\"]}]}", :policy_type=>"scan_execution_policy", :role_approver_types=>["guest", "reporter", "developer", "maintainer", "owner"], :scan_policy_documentation_path=>#<RSpec::Mocks::ArgumentMatchers::KindOf:0x00007f4826d8ca28 @klass=String>, :scan_result_approvers=>"[\"approver1\",\"approver2\"]", :software_licenses=>["Apache 2.0 License", "MIT"], :global_group_approvers_enabled=>"true", :root_namespace_path=>"namespace1703"}5354 when scan policy update is disabled5355 is expected to match {:assigned_policy_project=>"null", :disable_scan_policy_update=>"true", :create_agent_help_path=>#<RSpec::Mocks::ArgumentMatchers::KindOf:0x00007f482b431398 @klass=String>, :namespace_id=>1577, :namespace_path=>#<RSpec::Mocks::ArgumentMatchers::KindOf:0x00007f482b431230 @klass=String>, :policy_editor_empty_state_svg_path=>#<RSpec::Mocks::ArgumentMatchers::KindOf:0x00007f482b431168 @klass=String>, :policies_path=>#<RSpec::Mocks::ArgumentMatchers::KindOf:0x00007f482b431028 @klass=String>, :policy=>nil, :policy_type=>"scan_execution_policy", :role_approver_types=>["guest", "reporter", "developer", "maintainer", "owner"], :scan_policy_documentation_path=>#<RSpec::Mocks::ArgumentMatchers::KindOf:0x00007f482b430c18 @klass=String>, :scan_result_approvers=>"[\"approver1\",\"approver2\"]", :software_licenses=>["Apache 2.0 License", "MIT"], :global_group_approvers_enabled=>"true", :root_namespace_path=>"namespace1703"}5356 when a project does have a security policy project5357 include information about policy management project5358 for namespace5359 when a new policy is being created5360 is expected to match {:assigned_policy_project=>"null", :disable_scan_policy_update=>"false", :policy=>nil, :policy_editor_empty_state_svg_path=>#<RSpec::Mocks::ArgumentMatchers::KindOf:0x00007f481f421620 @klass=String>, :policy_type=>nil, :policies_path=>#<RSpec::Mocks::ArgumentMatchers::KindOf:0x00007f481f4215a8 @klass=String>, :role_approver_types=>["guest", "reporter", "developer", "maintainer", "owner"], :scan_policy_documentation_path=>#<RSpec::Mocks::ArgumentMatchers::KindOf:0x00007f481f421378 @klass=String>, :namespace_path=>"group552", :namespace_id=>5209, :scan_result_approvers=>nil, :software_licenses=>["Apache 2.0 License", "MIT"], :global_group_approvers_enabled=>"true", :root_namespace_path=>"group552"}5361 when an existing policy is being edited5362 is expected to match {:assigned_policy_project=>"null", :disable_scan_policy_update=>"false", :policy=>"{\"name\":\"Run DAST in every pipeline\",\"description\":\"This policy enforces to run DAST for every pipeline within the project\",\"enabled\":true,\"actions\":[{\"scan\":\"dast\",\"site_profile\":\"Site Profile\",\"scanner_profile\":\"Scanner Profile\"}],\"rules\":[{\"type\":\"pipeline\",\"branches\":[\"master\"]}]}", :policy_editor_empty_state_svg_path=>#<RSpec::Mocks::ArgumentMatchers::KindOf:0x00007f48119216b0 @klass=String>, :policy_type=>"scan_execution_policy", :policies_path=>#<RSpec::Mocks::ArgumentMatchers::KindOf:0x00007f4811921660 @klass=String>, :role_approver_types=>["guest", "reporter", "developer", "maintainer", "owner"], :scan_policy_documentation_path=>#<RSpec::Mocks::ArgumentMatchers::KindOf:0x00007f48119213e0 @klass=String>, :namespace_path=>"group552", :namespace_id=>5209, :scan_result_approvers=>"[\"approver1\",\"approver2\"]", :software_licenses=>["Apache 2.0 License", "MIT"], :global_group_approvers_enabled=>"true", :root_namespace_path=>"group552"}5363 when scan policy update is disabled5364 is expected to match {:assigned_policy_project=>"null", :disable_scan_policy_update=>"true", :policy=>nil, :policy_editor_empty_state_svg_path=>#<RSpec::Mocks::ArgumentMatchers::KindOf:0x00007f48153e1480 @klass=String>, :policy_type=>"scan_execution_policy", :policies_path=>#<RSpec::Mocks::ArgumentMatchers::KindOf:0x00007f48153e1430 @klass=String>, :role_approver_types=>["guest", "reporter", "developer", "maintainer", "owner"], :scan_policy_documentation_path=>#<RSpec::Mocks::ArgumentMatchers::KindOf:0x00007f48153e0d28 @klass=String>, :namespace_path=>"group552", :namespace_id=>5209, :scan_result_approvers=>"[\"approver1\",\"approver2\"]", :software_licenses=>["Apache 2.0 License", "MIT"], :global_group_approvers_enabled=>"true", :root_namespace_path=>"group552"}5365 when a namespace does have a security policy project5366 include information about policy management project5367Gitlab::Analytics::CycleAnalytics5368 # order random5369 .allowed?5370 model: :nil, user: :member, outcome: false5371 is expected to eq false5372 model: :issue, user: :member, outcome: false5373 is expected to eq false5374 model: :issue, user: :not_member, outcome: false5375 is expected to eq false5376 model: :project_namespace, user: :nil, outcome: false5377 is expected to eq false5378 model: :project_namespace, user: :member, outcome: true5379 is expected to eq true5380 model: :project_namespace, user: :not_member, outcome: false5381 is expected to eq false5382 model: :group, user: :nil, outcome: false5383 is expected to eq false5384 model: :group, user: :member, outcome: true5385 is expected to eq true5386 model: :group, user: :not_member, outcome: false5387 is expected to eq false5388 .licensed?5389 model: :nil, enabled_license: nil, parity_ff_enabled: false, outcome: false5390 is expected to eq false5391 model: :issue, enabled_license: nil, parity_ff_enabled: false, outcome: false5392 is expected to eq false5393 model: :issue, enabled_license: :cycle_analytics_for_projects, parity_ff_enabled: false, outcome: false5394 is expected to eq false5395 model: :issue, enabled_license: :cycle_analytics_for_groups, parity_ff_enabled: false, outcome: false5396 is expected to eq false5397 model: :project_namespace, enabled_license: nil, parity_ff_enabled: false, outcome: false5398 is expected to eq false5399 model: :project_namespace, enabled_license: :cycle_analytics_for_groups, parity_ff_enabled: true, outcome: false5400 is expected to eq false5401 model: :project_namespace, enabled_license: :cycle_analytics_for_groups, parity_ff_enabled: false, outcome: false5402 is expected to eq false5403 model: :project_namespace, enabled_license: :cycle_analytics_for_projects, parity_ff_enabled: false, outcome: false5404 is expected to eq false5405 model: :project_namespace, enabled_license: :cycle_analytics_for_projects, parity_ff_enabled: true, outcome: true5406 is expected to eq true5407 model: :group, enabled_license: nil, parity_ff_enabled: false, outcome: false5408 is expected to eq false5409 model: :group, enabled_license: :cycle_analytics_for_groups, parity_ff_enabled: false, outcome: true5410 is expected to eq true5411 model: :group, enabled_license: :cycle_analytics_for_projects, parity_ff_enabled: false, outcome: false5412 is expected to eq false5413 when on SaaS5414 when the parent is a group5415 succeeds5416 when the parent is a user namespace5417 returns false5418EE::GeoHelper5419 .current_node_human_status5420 primary: true, secondary: false, result: "primary"5421 returns correct results5422 primary: false, secondary: true, result: "secondary"5423 returns correct results5424 primary: false, secondary: false, result: "misconfigured"5425 returns correct results5426 #resync_all_button5427 when one project5428 returns correct button5429 when ten projects5430 returns correct button5431 when 10,000+ projects5432 returns correct button5433 #reverify_all_button5434 when one project5435 returns correct button5436 when ten projects5437 returns correct button5438 when 10,000+ projects5439 returns correct button5440 #replicable_types5441 includes replicator types5442 includes replicator data types5443 includes replicator data type titles5444 with geo_project_wiki_repository_replication feature flag disabled5445 includes legacy types5446 with geo_project_wiki_repository_replication feature flag enabled5447 includes legacy types5448 #geo_filter_nav_options5449 returns correct urls5450 #geo_registry_status_text5451 synchronization_state: :never, pending_synchronization: false, pending_verification: false, result: "Never"5452 returns the correct result5453 synchronization_state: :failed, pending_synchronization: false, pending_verification: false, result: "Failed"5454 returns the correct result5455 synchronization_state: :pending, pending_synchronization: true, pending_verification: false, result: "Pending synchronization"5456 returns the correct result5457 synchronization_state: :pending, pending_synchronization: false, pending_verification: true, result: "Pending verification"5458 returns the correct result5459 synchronization_state: :pending, pending_synchronization: false, pending_verification: false, result: "Unknown"5460 returns the correct result5461 synchronization_state: :synced, pending_synchronization: false, pending_verification: false, result: "Synced"5462 returns the correct result5463 synchronization_state: :fake, pending_synchronization: false, pending_verification: false, result: "Unknown"5464 returns the correct result5465SlashCommands::GlobalSlackHandler5466 does not serve a request if token is invalid5467 Valid token5468 calls command handler if project alias is valid5469 returns error if project alias not found5470 returns authorization request5471 calls help presenter5472 with incident declare command5473 calls command handler with no project alias5474Gitlab::Analytics::CycleAnalytics::StageEvents::IssueClosed5475 behaves like value stream analytics event5476 is expected to be a kind of String5477 is expected to be a kind of Symbol5478 is expected to include ApplicationRecord(abstract)5479 is expected to respond to #timestamp_projection5480 is expected to respond to #html_description5481 is expected to be a kind of Array5482 #apply_query_customization5483 expects an ActiveRecord::Relation object as argument and returns a modified version of it5484 #hash_code5485 returns a hash that uniquely identifies an event5486 does not differ when the same object is built with the same params5487 behaves like LEFT JOIN-able value stream analytics event5488 can use the event as LEFT JOIN5489 when looking at the record with data5490 contains the timestamp expression5491 when looking at the record without data5492 returns nil for the timestamp expression5493UserPermissions::ExportService5494 access5495 when user is an admin5496 when licensed5497 behaves like allowed to export user permissions5498 is expected to be success5499 when not licensed5500 behaves like not allowed to export user permissions5501 is expected not to be success5502 when user is not an admin5503 when licensed5504 behaves like not allowed to export user permissions5505 is expected not to be success5506 when not licensed5507 behaves like not allowed to export user permissions5508 is expected not to be success5509 data verification5510 includes the appropriate headers5511 Username5512 Email5513 Type5514 Path5515 Access Level5516 Last Activity5517 when user is member of a sub group5518 displays attributes correctly5519 when user is member of a project5520 displays attributes correctly5521GroupSamlIdentityFinder5522 .find_by_group_and_uid5523 finds identity matching user and group5524 returns nil when no saml_provider exists5525 .not_managed_identities5526 returns all identities of users not managed by given group5527 #find_linked5528 finds identity matching user and group5529 returns nil when no saml_provider exists5530 returns nil when group is nil5531 #all5532 finds Group SAML identities for a user5533 avoids N+1 on access to provider and group path5534Dast::PreScanVerificationPolicy5535 # order random5536 behaves like a dast on-demand scan policy5537 dast on-demand policies5538 when a user does not have access to the project5539 is expected to be disallowed :create_on_demand_dast_scan, :edit_on_demand_dast_scan, and :read_on_demand_dast_scan5540 when the user is a guest5541 is expected to be disallowed :create_on_demand_dast_scan, :edit_on_demand_dast_scan, and :read_on_demand_dast_scan5542 when the user is a reporter5543 is expected to be disallowed :create_on_demand_dast_scan, :edit_on_demand_dast_scan, and :read_on_demand_dast_scan5544 when the user is a developer5545 is expected to be allowed :create_on_demand_dast_scan, :edit_on_demand_dast_scan, and :read_on_demand_dast_scan5546 when the user is a maintainer5547 is expected to be allowed :create_on_demand_dast_scan, :edit_on_demand_dast_scan, and :read_on_demand_dast_scan5548 when the user is an owner5549 is expected to be allowed :create_on_demand_dast_scan, :edit_on_demand_dast_scan, and :read_on_demand_dast_scan5550 when the user is an auditor5551 is expected to be disallowed :create_on_demand_dast_scan and :edit_on_demand_dast_scan5552 is expected to be allowed :read_on_demand_dast_scan5553 when the user is allowed5554 when on demand scan licensed feature is not available5555 is expected to be disallowed :create_on_demand_dast_scan, :edit_on_demand_dast_scan, and :read_on_demand_dast_scan5556IncidentManagement::IssuableResourceLinks::DestroyService5557 # order random5558 #execute5559 when current user is anonymous5560 behaves like error response5561 has an informative message5562 behaves like does not track incident management event5563 does not track the event5564 when user does not have permissions to remove issuable_resource_link5565 behaves like error response5566 has an informative message5567 behaves like does not track incident management event5568 does not track the event5569 when feature is not available5570 behaves like error response5571 has an informative message5572 behaves like does not track incident management event5573 does not track the event5574 when an error occurs during removal5575 behaves like error response5576 has an informative message5577 behaves like does not track incident management event5578 does not track the event5579 with success response5580 successfully returns the issuable resource link5581 creates a system note notification5582 behaves like an incident management tracked event5583 .track_event5584 tracks the event using redis5585ElasticRemoveExpiredNamespaceSubscriptionsFromIndexCronWorker5586 behaves like an idempotent worker5587 is labeled as idempotent5588 performs multiple times sequentially without raising an exception5589 finds the subscriptions that expired over a week ago that are in the index and deletes them5590 when not com?5591 does nothing5592 when the exclusive lease is already locked5593 does nothing5594SystemNoteService5595 .change_health_status_note5596 calls IssuableService5597 .change_progress_note5598 calls IssuableService5599 .change_epic_date_note5600 calls EpicsService5601 .epic_issue5602 calls EpicsService5603 .issue_on_epic5604 calls EpicsService5605 .change_epics_relation5606 calls EpicsService5607 .move_child_epic_to_new_parent5608 calls EpicService5609 .merge_train5610 calls MergeTrainService5611 .cancel_merge_train5612 calls MergeTrainService5613 .abort_merge_train5614 calls MergeTrainService5615 .add_to_merge_train_when_pipeline_succeeds5616 calls MergeTrainService5617 .cancel_add_to_merge_train_when_pipeline_succeeds5618 calls MergeTrainService5619 .abort_add_to_merge_train_when_pipeline_succeeds5620 calls MergeTrainService5621 .change_vulnerability_state5622 calls VulnerabilitiesService5623 .publish_issue_to_status_page5624 calls IssuablesService5625 .start_escalation5626 calls EscalationsService5627 .block_issuable5628 calls IssuablesService5629 .blocked_by_issuable5630 calls IssuablesService5631 .issuable_resource_link_added5632 calls IssuableResourceLinksService5633 .issuable_resource_link_removed5634 calls IssuableResourceLinksService5635ElasticCommitIndexerWorker5636 #perform5637 runs indexer5638 logs timing information5639 records the apdex SLI5640 runs indexer in wiki mode if asked to5641 when force is not set5642 does not log extra metadata on done for code5643 does not log extra metadata on done for wiki5644 when force is set5645 logs extra metadata on done when run for code5646 does not log extra metadata on done when run for wiki5647 when ES is disabled5648 returns true5649 does not log anything5650 does not record the apdex SLI5651 when the indexer is locked5652 does not run index5653 does not log anything5654 does not record the apdex SLI5655 does not log extra metadata5656 when the indexer fails5657 does not log anything5658 does not record the apdex SLI5659 does not log extra metadata5660Geo::Eventable5661 .up_to_event5662 finds only events up to the given geo event log id5663 .delete_with_limit5664 deletes a limited amount of rows5665 #consumer_klass_name5666 returns the even class name without the module part5667Security::Training5668 associations5669 is expected to belong to project required: true5670 is expected to belong to provider required: true5671 validations5672 one primary per project5673 when the training is primary5674 is expected to validate that :is_primary is case-sensitively unique within the scope of :project_id5675 when the training is not primary5676 is expected not to validate that :is_primary is case-sensitively unique5677 .not_including scope5678 is expected to contain exactly #<Security::Training id: 4, project_id: 1610, provider_id: 4, is_primary: false, created_at: "2023-04-27 06:26:03.417766469 +0000", updated_at: "2023-04-27 06:26:03.417766469 +0000">5679 deleting a record5680 when the record is not primary5681 is expected to be truthy5682 when the record is primary5683 when there is no other training enabled for the project5684 is expected to be truthy5685 when there is another training enabled for the project5686 is expected to be falsey5687 adds an error5688DastSite5689 associations5690 is expected to belong to project required: false5691 is expected to belong to dast_site_validation required: false5692 is expected to have many dast_site_profiles5693 validations5694 is expected to be valid5695 is expected to validate that the length of :url is at most 2555696 is expected to validate that :url is case-sensitively unique within the scope of :project_id5697 is expected to validate that :project_id cannot be empty/falsy5698 behaves like dast url addressable5699 includes UrlAddressable5700 when the url is not public5701 is valid5702 when the project_id and dast_site_token.project_id do not match5703 is not valid5704 callbacks5705 when there is a related site token5706 ensures it and associated site validations cleaned up on destroy5707Types::WorkItems::WidgetInterface5708 .resolve_type5709 raises an error for an unknown type5710 widget_class: WorkItems::Widgets::Status, widget_type_name: Types::WorkItems::Widgets::StatusType5711 knows the correct type for objects5712 widget_class: WorkItems::Widgets::Weight, widget_type_name: Types::WorkItems::Widgets::WeightType5713 knows the correct type for objects5714 widget_class: WorkItems::Widgets::HealthStatus, widget_type_name: Types::WorkItems::Widgets::HealthStatusType5715 knows the correct type for objects5716 widget_class: WorkItems::Widgets::Progress, widget_type_name: Types::WorkItems::Widgets::ProgressType5717 knows the correct type for objects5718 widget_class: WorkItems::Widgets::RequirementLegacy, widget_type_name: Types::WorkItems::Widgets::RequirementLegacyType5719 knows the correct type for objects5720 widget_class: WorkItems::Widgets::TestReports, widget_type_name: Types::WorkItems::Widgets::TestReportsType5721 knows the correct type for objects5722Geo::EventLog5723 relationships5724 is expected to belong to cache_invalidation_event class_name => Geo::CacheInvalidationEvent required: false5725 is expected to belong to repositories_changed_event class_name => Geo::RepositoriesChangedEvent required: false5726 is expected to belong to repository_created_event class_name => Geo::RepositoryCreatedEvent required: false5727 is expected to belong to repository_deleted_event class_name => Geo::RepositoryDeletedEvent required: false5728 is expected to belong to repository_renamed_event class_name => Geo::RepositoryRenamedEvent required: false5729 is expected to belong to repository_updated_event class_name => Geo::RepositoryUpdatedEvent required: false5730 is expected to belong to reset_checksum_event class_name => Geo::ResetChecksumEvent required: false5731 is expected to belong to hashed_storage_migrated_event class_name => Geo::HashedStorageMigratedEvent required: false5732 is expected to belong to hashed_storage_attachments_event class_name => Geo::HashedStorageAttachmentsEvent required: false5733 .next_unprocessed_event5734 returns next unprocessed event5735 returns the oldest event when there are no processed events yet5736 returns nil when there are no events yet5737 .event_classes5738 returns all event class reflections5739 #event5740 returns nil when having no event associated5741 returns repository_created_event when set5742 returns repository_updated_event when set5743 returns repository_deleted_event when set5744 returns repository_renamed_event when set5745 returns repositories_changed_event when set5746 returns hashed_storage_migrated_event when set5747 returns hashed_storage_attachments_event when set5748 returns reset_checksum_event when set5749 returns cache_invalidation_event when set5750 #project_id5751 returns nil when having no event associated5752 returns nil when an event does not respond to project_id5753 returns event#project_id when an event respond to project_id5754Gitlab::Analytics::CycleAnalytics::StageEvents::IssueFirstAssociatedWithMilestone5755 behaves like value stream analytics event5756 is expected to be a kind of String5757 is expected to be a kind of Symbol5758 is expected to include ApplicationRecord(abstract)5759 is expected to respond to #timestamp_projection5760 is expected to respond to #html_description5761 is expected to be a kind of Array5762 #apply_query_customization5763 expects an ActiveRecord::Relation object as argument and returns a modified version of it5764 #hash_code5765 returns a hash that uniquely identifies an event5766 does not differ when the same object is built with the same params5767 behaves like LEFT JOIN-able value stream analytics event5768 can use the event as LEFT JOIN5769 when looking at the record with data5770 contains the timestamp expression5771 when looking at the record without data5772 returns nil for the timestamp expression5773ServicePing::PermitDataCategories5774 #execute5775 with out current license5776 when usage ping setting is set to true5777 returns all categories5778 when usage ping setting is set to false5779 returns all categories5780 with current license5781 when usage ping setting is set to true5782 and license has operational_metrics_enabled set to true5783 returns all categories5784 when User.single_user&.requires_usage_stats_consent? is required5785 returns all categories5786 and license has operational_metrics_enabled set to false5787 returns all categories5788 when usage ping setting is set to false5789 and license has operational_metrics_enabled set to true5790 returns all categories5791 and license has operational_metrics_enabled set to false5792 returns all categories5793Gitlab::Geo::JwtRequestDecoder5794 #decode5795 decodes correct data5796 fails to decode when node is disabled5797 decodes when node is disabled if `include_disabled!` is called first5798 fails to decode with wrong key5799 successfully decodes when clocks are off5800 raises InvalidSignatureTimeError after expiring5801 raises InvalidSignatureTimeError to decode when clocks are not in sync5802 surfaces raised errors5803 raised_error: Gitlab::Geo::InvalidDecryptionKeyError, expected_error: Gitlab::Geo::InvalidDecryptionKeyError5804 raises expected error5805 raised_error: OpenSSL::Cipher::CipherError, expected_error: Gitlab::Geo::InvalidDecryptionKeyError5806 raises expected error5807 #valid_attributes?5808 returns true when all given attributes and decoded data are all the same5809 returns true when given attributes is a slice of decoded data5810 returns false when one given data doesnt match its corresponding decoded one5811Gitlab::Analytics::CycleAnalytics::StageEvents::MergeRequestLabelAdded5812 behaves like value stream analytics event5813 is expected to be a kind of String5814 is expected to be a kind of Symbol5815 is expected to include ApplicationRecord(abstract)5816 is expected to respond to #timestamp_projection5817 is expected to respond to #html_description5818 is expected to be a kind of Array5819 #apply_query_customization5820 expects an ActiveRecord::Relation object as argument and returns a modified version of it5821 #hash_code5822 returns a hash that uniquely identifies an event5823 does not differ when the same object is built with the same params5824 behaves like LEFT JOIN-able value stream analytics event5825 can use the event as LEFT JOIN5826 when looking at the record with data5827 contains the timestamp expression5828 when looking at the record without data5829 returns nil for the timestamp expression5830Llm::CompletionWorker5831 # order random5832 #perform5833 with valid parameters5834 for an issue5835 behaves like performs successfully5836 calls Gitlab::Llm::OpenAi::Completions::Factory5837 for a work item5838 behaves like performs successfully5839 calls Gitlab::Llm::OpenAi::Completions::Factory5840 for a merge request5841 behaves like performs successfully5842 calls Gitlab::Llm::OpenAi::Completions::Factory5843 for an epic5844 behaves like performs successfully5845 calls Gitlab::Llm::OpenAi::Completions::Factory5846 with invalid parameters5847 when issue type is not supported5848 raises a NameError5849 when issue is confidential5850 does not call Gitlab::Llm::OpenAi::Completions::Factory.completion5851 is expected to be nil5852 when user can read resource5853 does not call Gitlab::Llm::OpenAi::Completions::Factory.completion5854 when project is not public5855 does not call Gitlab::Llm::OpenAi::Completions::Factory.completion5856 is expected to be nil5857 when user can read resource5858 does not call Gitlab::Llm::OpenAi::Completions::Factory.completion5859 behaves like worker with data consistency5860 .get_data_consistency_feature_flag_enabled?5861 returns true5862 .get_data_consistency5863 returns correct data consistency5864Gitlab::ExclusiveLease5865 #try_obtain_with_ttl5866 cannot obtain twice before the lease has expired5867 can obtain after the lease has expired5868 #same_uuid?5869 returns true for an existing lease5870 returns false for a lease that does not exist5871BilledUsersFinder5872 #execute5873 without members5874 returns an empty object5875 with members5876 when a search parameter is provided5877 when a sorting parameter is provided (eg name descending)5878 sorts results accordingly5879 when a sorting parameter is not provided5880 sorts expected results in name_asc order5881 when a search parameter is not present5882 returns expected users in name asc order when a sorting is not provided either5883 and when a sorting parameter is provided (eg name descending)5884 sorts results accordingly5885 with billable group members including shared members5886 returns a hash of users and user ids5887 returns the correct user ids5888Ci::PipelineProcessing::AtomicProcessingService5889 Pipeline Processing Service5890 when protected environments are defined5891 blocks pipeline on stage with first manual action5892Gitlab::Geo::Oauth::LogoutState5893 #encode5894 returns nil when token is nil5895 returns nil when encryption fails5896 returns a string with salt, tag, encrypted access token, and return_to full path colon separated5897 includes a empty value for return_to into state when return_to is nil5898 #decode5899 returns nil when salt is nil5900 returns nil when salt has invalid base645901 returns nil when tag is nil5902 returns nil when encrypted token has invalid base645903 returns nil when encrypted token is nil5904 returns nil when decryption fails5905 returns nil when tag has an invalid byte size5906 returns nil when tag has been modified5907 returns nil when return_to has been modified5908 returns access_token when token is recoverable5909 #return_to5910 returns nil when return_to is nil5911 returns an empty string when return_to is empty5912 returns the full path of the return_to URL5913AppSec::Dast::SiteValidations::RunnerService5914 execute5915 when on demand scan licensed feature is not available5916 behaves like a failure5917 communicates failure5918 when the feature is enabled5919 communicates success5920 creates a ci_pipeline with an appropriate source5921 makes the correct variables available to the ci_build5922 when pipeline creation fails5923 transitions the dast_site_validation to a failure state5924Gitlab::Usage::Metrics::Instrumentations::CountUsersWithCustomRolesMetric5925 # order random5926 behaves like a correct instrumented metric value and query5927 behaves like a correct instrumented metric value5928 has correct value5929 behaves like a correct instrumented metric query5930 has correct generate query5931Clusters::DeploymentEntity5932 exposes id5933 exposes iid5934 exposes deployable name5935Gitlab::LicenseScanning::ArtifactScanner5936 # order random5937 .latest_pipeline5938 when the pipeline contains a license_scanning report5939 returns the latest pipeline with a report for the specified ref5940 when the pipeline does not contain a license_scanning report5941 returns nil5942 #report5943 when pipeline contains a license scanning report5944 returns a non-empty report5945 when pipeline contains no license scanning report5946 returns an empty report5947 #results_available?5948 when pipeline is running5949 is expected to be falsey5950 when pipeline status is success5951 is expected to be truthy5952 #latest_build_for_default_branch5953 when project has license scanning jobs5954 returns build for default branch5955 when project has no license scanning jobs5956 returns a nil result5957 #has_data?5958 when pipeline has a license scanning report5959 returns true5960 when pipeline has no license scanning report5961 returns false5962 when pipeline is nil5963 returns false5964Geo::VerificationWorker5965 #perform5966 calls verify5967 when on a primary node5968 behaves like an idempotent worker5969 is labeled as idempotent5970 performs multiple times sequentially without raising an exception5971 calculates the checksum5972Dast::ProfilePolicy5973 behaves like a dast on-demand scan policy5974 dast on-demand policies5975 when a user does not have access to the project5976 is expected to be disallowed :create_on_demand_dast_scan, :edit_on_demand_dast_scan, and :read_on_demand_dast_scan5977 when the user is a guest5978 is expected to be disallowed :create_on_demand_dast_scan, :edit_on_demand_dast_scan, and :read_on_demand_dast_scan5979 when the user is a reporter5980 is expected to be disallowed :create_on_demand_dast_scan, :edit_on_demand_dast_scan, and :read_on_demand_dast_scan5981 when the user is a developer5982 is expected to be allowed :create_on_demand_dast_scan, :edit_on_demand_dast_scan, and :read_on_demand_dast_scan5983 when the user is a maintainer5984 is expected to be allowed :create_on_demand_dast_scan, :edit_on_demand_dast_scan, and :read_on_demand_dast_scan5985 when the user is an owner5986 is expected to be allowed :create_on_demand_dast_scan, :edit_on_demand_dast_scan, and :read_on_demand_dast_scan5987 when the user is an auditor5988 is expected to be disallowed :create_on_demand_dast_scan and :edit_on_demand_dast_scan5989 is expected to be allowed :read_on_demand_dast_scan5990 when the user is allowed5991 when on demand scan licensed feature is not available5992 is expected to be disallowed :create_on_demand_dast_scan, :edit_on_demand_dast_scan, and :read_on_demand_dast_scan5993Gitlab::Auth::Oidc::User5994 # order random5995 #save5996 for required groups5997 when not defined5998 lets anyone in5999 when defined6000 when user has correct required groups membership6001 lets members in6002 when user is missing required groups membership6003 does not allow non-members6004 for admin groups6005 when not defined6006 does not promote to admin6007 does not demote existing admin user6008 when defined6009 when user has correct admin groups membership6010 promotes to admin6011 when user is missing admin groups membership6012 does not promote to admin6013 when user has admin and external groups membership6014 does not promote to admin6015 for external groups6016 when not defined6017 does not set user as external6018 when defined6019 when user has correct external groups membership6020 promotes to admin6021 when user is missing external groups membership6022 does not promote to admin6023Gitlab::Insights::Loader6024 when issuable data source is requested6025 when loading data for an issuable chart6026 returns the serialized data6027 when the legacy format query params are given6028 returns the serialized data6029 when requesting a different data source6030 raises error6031 when dora data source is requested6032 returns the serialized data6033shared/billings/_eoa_bronze_plan_banner.html.haml6034 with group namespace6035 behaves like current time6036 displays the banner6037 behaves like past eoa date6038 does not display the banner6039 behaves like with show_billing_eoa_banner turned off6040 does not display the banner6041 behaves like with a different plan than Bronze6042 does not display the banner6043 behaves like when user dismissed the banner6044 does not display the banner6045 with personal namespace6046 behaves like current time6047 displays the banner6048 behaves like past eoa date6049 does not display the banner6050 behaves like with show_billing_eoa_banner turned off6051 does not display the banner6052 behaves like with a different plan than Bronze6053 does not display the banner6054 behaves like when user dismissed the banner6055 does not display the banner6056Gitlab::ManualQuarterlyCoTermBanner6057 #display?6058 when on GitLab.com6059 is expected to eq false6060 when current license is not an offline cloud license6061 is expected to eq false6062 when seat reconciliation is false6063 is expected to eq false6064 when upcoming reconciliation is nil6065 is expected to eq false6066 when expiration date is not within the notification window6067 is expected to eq false6068 when reconciliation date is within the notification window6069 when notification window starts today6070 is expected to eq true6071 when notification window is already on going6072 is expected to eq true6073 #title6074 when reconciliation is upcoming but within the notification window6075 when notification date is today6076 behaves like an upcoming reconciliation6077 is expected to eq "A quarterly reconciliation is due on 2023-05-11"6078 when notification date is within the next 14 days6079 behaves like an upcoming reconciliation6080 is expected to eq "A quarterly reconciliation is due on 2023-05-10"6081 when reconciliation is overdue6082 is expected to eq "A quarterly reconciliation is due on 2023-04-27"6083 #body6084 when reconciliation is upcoming and within the notification window6085 when notification date is today6086 behaves like an upcoming reconciliation6087#<RSpec::ExampleGroups::GitlabManualQuarterlyCoTermBanner::Body::WhenReconciliationIsUpcomingAndWithinTheNotificationWindow::WhenNotificationDateIsToday::BehavesLikeAnUpcomingReconciliation:0x00007f482fdd86b8> returns a message for an upcoming reconciliation6088 when notification date is within the next 14 days6089 behaves like an upcoming reconciliation6090#<RSpec::ExampleGroups::GitlabManualQuarterlyCoTermBanner::Body::WhenReconciliationIsUpcomingAndWithinTheNotificationWindow::WhenNotificationDateIsWithinTheNext14Days::BehavesLikeAnUpcomingReconciliation:0x00007f48277e91b0> returns a message for an upcoming reconciliation6091 when reconciliation is overdue6092#<RSpec::ExampleGroups::GitlabManualQuarterlyCoTermBanner::Body::WhenReconciliationIsOverdue:0x00007f482b3ea920> returns a message for an overdue reconciliation6093 display_error_version?6094 when reconciliation is not overdue yet6095 is expected to eq false6096 when reconciliation is overdue6097 is expected to eq true6098BulkImports::Groups::Pipelines::IterationsPipeline6099 #run6100 imports group iterations6101 #load6102 creates the iteration6103 when user is not authorized to create the milestone6104 raises NotAllowedError6105 pipeline parts6106 is expected to includes the BulkImports::Pipeline module6107 is expected to includes the BulkImports::Pipeline::Runner module6108 has extractors6109 has transformers6110PackageMetadata::Ingestion::Tasks::IngestPackages6111 # order random6112 #execute6113 when import data is new6114 adds the new records6115 updates the data map6116 when import data exists6117 does not add records6118 updates the data map6119 when normalizing names6120 with pypi packages6121 treats case variations as non unique6122 normalizes the original package name6123 with non-pypi packages6124 treats case variations as unique6125 keeps the original package names6126AppSec::Dast::PreScanVerificationSteps::CreateOrUpdateService6127 # order random6128 #execute6129 behaves like feature security_on_demand_scans is not available6130 behaves like an error occurred in the execute method of dast service6131 communicates failure6132 behaves like when a user can not create_on_demand_dast_scan because they do not have access to a project6133 behaves like an error occurred in the execute method of dast service6134 communicates failure6135 when the licensed feature is available6136 communicates success6137 does update the pre scan verification step6138 when the verification.project and project does not match6139 behaves like an error occurred in the execute method of dast service6140 communicates failure6141 when an error occurs6142 behaves like an error occurred in the execute method of dast service6143 communicates failure6144Boards::EpicBoard6145 associations6146 is expected to belong to group required: true inverse_of => epic_boards6147 is expected to have many epic_board_labels inverse_of => epic_board6148 is expected to have many epic_board_positions inverse_of => epic_board6149 is expected to have many epic_board_recent_visits inverse_of => epic_board6150 is expected to have many epic_lists order => {:list_type=>:asc, :position=>:asc} inverse_of => epic_board6151 is expected to have many destroyable_lists class_name => EpicList order => {:list_type=>:asc, :position=>:asc} inverse_of => epic_board6152 validations6153 is expected to validate that the length of :name is at most 2556154 scopes6155 .order_by_name_asc6156 returns in case-insensitive alphabetical order and then by ascending ID6157 .for_groups6158 returns boards only in selected groups6159ContainerRegistry::Event6160 #handle!6161 geo event6162 with a respository target6163 repository_path: "group/test/container", action: "push", example_name: "creating a geo event"6164 behaves like creating a geo event6165 creates geo event6166 repository_path: "group/test/container", action: "delete", example_name: "creating a geo event"6167 behaves like creating a geo event6168 creates geo event6169 repository_path: "foo/bar", action: "push", example_name: "not creating a geo event"6170 behaves like not creating a geo event6171 does not create geo event6172 repository_path: "foo/bar", action: "delete", example_name: "not creating a geo event"6173 behaves like not creating a geo event6174 does not create geo event6175 with a tag target6176 repository_path: "group/test/container", action: "push", example_name: "creating a geo event"6177 behaves like creating a geo event6178 creates geo event6179 repository_path: "group/test/container", action: "delete", example_name: "creating a geo event"6180 behaves like creating a geo event6181 creates geo event6182 repository_path: "foo/bar", action: "push", example_name: "not creating a geo event"6183 behaves like not creating a geo event6184 does not create geo event6185 repository_path: "foo/bar", action: "delete", example_name: "not creating a geo event"6186 behaves like not creating a geo event6187 does not create geo event6188 without media type6189 behaves like not creating a geo event6190 does not create geo event6191Arkose::Settings6192 .arkose_public_api_key6193 when set in application settings6194 is expected to eq "setting_public_key"6195 when NOT set in application settings6196 is expected to eq "env_var_public_key"6197 .arkose_private_api_key6198 when set in application settings6199 is expected to eq "setting_value"6200 when NOT set in application settings6201 is expected to eq "env_var_value"6202 .arkose_labs_domain6203 is expected to eq "setting_value-api.arkoselabs.com"6204 .enabled_for_signup?6205 flag_enabled: false, private_key: "private", public_key: "public", namespace: "namespace", result: false6206 is expected to eq false6207 flag_enabled: true, private_key: nil, public_key: "public", namespace: "namespace", result: false6208 is expected to eq false6209 flag_enabled: true, private_key: "private", public_key: nil, namespace: "namespace", result: false6210 is expected to eq false6211 flag_enabled: true, private_key: "private", public_key: "public", namespace: nil, result: false6212 is expected to eq false6213 flag_enabled: true, private_key: "private", public_key: "public", namespace: "namespace", result: true6214 is expected to eq true6215Gitlab::Ci::Parsers::Security::ClusterImageScanning6216 #parse!6217 parses all identifiers and findings for unapproved vulnerabilities6218 generates expected location6219 generates expected metadata_version6220 adds report image's name to raw_metadata6221GroupChildEntity6222 with compliance framework6223 disabled6224 for a project6225 behaves like does not have the compliance framework6226 is expected to be nil6227 for a group6228 behaves like does not have the compliance framework6229 is expected to be nil6230 enabled6231 for a project6232 has the compliance framework6233 for a project without a compliance framework6234 behaves like does not have the compliance framework6235 is expected to be nil6236 for a group6237 behaves like does not have the compliance framework6238 is expected to be nil6239Gitlab::WebIde::Config::Entry::Global6240 .nodes6241 when filtering all the entry/node names6242 contains the expected node names6243 when configuration is valid6244 when some entries defined6245 #compose!6246 creates nodes hash6247 creates node object for each entry6248 creates node object using valid class6249 sets correct description for nodes6250 when not composed6251 #schemas_value6252 returns nil6253 when composed6254 #errors6255 has no errors6256 #schemas_value6257 returns correct value for schemas6258Epics::WithIssuesFinder6259 # order random6260 when filtered by accessible_issues6261 behaves like returns correct epic results6262 returns epics6263 when all epics are accessible6264 behaves like returns correct epic results6265 returns epics6266 when there are no accessible_issues6267 behaves like returns correct epic results6268 returns epics6269 when filtered by accessible_epics6270 behaves like returns correct epic results6271 returns epics6272 when there are no accessible_epics6273 behaves like returns correct epic results6274 returns epics6275Vulnerabilities::FindingPresenter6276 #title6277 is expected to eq "Cipher with no integrity"6278 #blob_path6279 without a sha6280 is expected to be blank6281 with a sha6282 is expected to include "abc"6283 without start_line or end_line6284 is expected to end with "a.txt"6285 with start_line only6286 is expected to end with "#L1"6287 with start_line and end_line6288 is expected to end with "#L1-2"6289 when start_line and end_line are the same6290 is expected to end with "#L1"6291 without file6292 is expected to be blank6293 without location6294 is expected to be blank6295 #links6296 transforms the links to hash with indifferent access6297PackageMetadata::Package6298 # order random6299 validations6300 is expected to validate that :purl_type cannot be empty/falsy6301 is expected to validate that the length of :name is at most 2556302 is expected to validate that :name cannot be empty/falsy6303 enums6304 is expected to define :purl_type as an enum backed by an integer with values ‹{composer: 1, conan: 2, gem: 3, golang: 4, maven: 5, npm: 6, nuget: 7, pypi: 8, apk: 9, rpm: 10, deb: 11, cbl_mariner: 12}›6305Gitlab::Database::GitlabSchema6306 .views_and_tables_to_schema6307 all tables and views are unique6308 for geo using Geo::TrackingBase6309 new data sources are added6310 non-existing data sources are removed6311 .dictionary_path_globs6312 returns an array of path globs6313 .view_path_globs6314 returns an array of path globs6315 .deleted_tables_path_globs6316 returns an array of path globs6317 .deleted_views_path_globs6318 returns an array of path globs6319 .tables_to_schema6320 returns only tables6321 .views_to_schema6322 returns only views6323 .table_schema6324 name: "project_registry", classification: :gitlab_geo6325 is expected to eq :gitlab_geo6326 name: "my_schema.project_registry", classification: :gitlab_geo6327 is expected to eq :gitlab_geo6328Gitlab::ImportExport::Project::DeployKeysRestorer6329 # order random6330 when project deploy keys are present in source project6331 has the same amount of project deploy keys as the source6332 has the same deploy_keys_id values and write access compared to source6333 when the user is unauthorized6334 raises an error and logs user6335 logs the unauthorized user6336 when all hooks are not duplicated6337 reports the failure6338 returns true6339Types::IncidentManagement::EscalationRuleInputType6340 # order random6341 has specific fields6342 mutually exclusive arguments6343 with neither username nor schedule provided6344 is expected to raise Gitlab::Graphql::Errors::ArgumentError with "One of oncall_schedule_iid or username must be provided"6345 with both username and schedule provided6346 is expected to raise Gitlab::Graphql::Errors::ArgumentError with "One of oncall_schedule_iid or username must be provided"6347 with only on-call schedule provided6348 is expected to eq {:elapsed_time_seconds=>0, :oncall_schedule_iid=>"3", :status=>"resolved", :username=>nil}6349 with only user schedule provided6350 is expected to eq {:elapsed_time_seconds=>0, :oncall_schedule_iid=>nil, :status=>"resolved", :username=>"username"}6351Types::ScanType6352 is expected to have graphql fields :name, :errors, :warnings, and :status6353 is expected to require graphql authorizations :read_scan6354 field values6355 name6356 is expected to eq "foo"6357 errors6358 is expected to contain exactly "[foo] bar"6359 warnings6360 is expected to contain exactly "[foo] bar"6361 status6362 is expected to eq "created"6363vulnerabilities/issue_description.md.erb6364 # order random6365 renders markdown suitable for creating an issue description6366 when scan is absent6367 renders the scanner name only6368 when a description is absent on the Vulnerability6369 renders the Finding description6370 when severity is absent6371 does not render the Severity section6372 when identifiers are absent6373 does not render the Identifiers section6374 when confidence is absent6375 does not render the Confidence section6376groups/analytics/dashboards/value_streams_dashboard6377 # order random6378 renders as expected6379 with namespaces set6380 sets the namespaces key6381EE::NamespaceUserCapReachedAlertHelper6382 #display_namespace_user_cap_reached_alert?6383 with a non persisted namespace6384 is expected to eq false6385 with a persisted namespace6386 returns true when the user cap is reached for a user who can admin the namespace6387 returns false when the user cap is reached for a user who cannot admin the namespace6388 does not trigger reactive caching if there is no user cap set6389 returns false when the user cap feature is unavailable6390Analytics::CycleAnalytics::Stages::ListService6391 returns empty array6392 provides the default stages as non-persisted objects6393 does not persist the value stream record6394 permission check6395 when user has no access6396 is expected to be error6397 is expected to eq :forbidden6398 when license is missing6399 is expected to be error6400 is expected to eq :forbidden6401 when there are persisted stages6402 returns the persisted stages in order6403Gitlab::Usage::Metrics::Instrumentations::LicenseMetric6404 behaves like a correct instrumented metric value6405 has correct value6406 behaves like a correct instrumented metric value6407 has correct value6408 behaves like a correct instrumented metric value6409 has correct value6410 when in FIPS mode6411 behaves like a correct instrumented metric value6412 has correct value6413 when not in FIPS mode6414 behaves like a correct instrumented metric value6415 has correct value6416 behaves like a correct instrumented metric value6417 has correct value6418 behaves like a correct instrumented metric value6419 has correct value6420 behaves like a correct instrumented metric value6421 has correct value6422 behaves like a correct instrumented metric value6423 has correct value6424 behaves like a correct instrumented metric value6425 has correct value6426Resolvers::DastSiteProfileResolver6427 is expected to have nullable GraphQL type DastSiteProfileConnection6428 when resolving a single DAST site profile6429 is expected to eq #<DastSiteProfile id: 57, project_id: 1657, dast_site_id: 68, created_at: "2023-04-27 06:27:24.262080...mple.org", target_type: "website", scan_method: "site", auth_submit_field: nil, scan_file_path: nil>6430 when resolving multiple DAST site profiles6431 is expected to contain exactly #<DastSiteProfile id: 57, project_id: 1657, dast_site_id: 68, created_at: "2023-04-27 06:27:24.262080...mple.org", target_type: "website", scan_method: "site", auth_submit_field: nil, scan_file_path: nil>, #<DastSiteProfile id: 58, project_id: 1657, dast_site_id: 69, created_at: "2023-04-27 06:27:24.388412...mple.org", target_type: "website", scan_method: "site", auth_submit_field: nil, scan_file_path: nil>, and #<DastSiteProfile id: 59, project_id: 1657, dast_site_id: 70, created_at: "2023-04-27 06:27:24.498636...mple.org", target_type: "website", scan_method: "site", auth_submit_field: nil, scan_file_path: nil>6432 when the feature is disabled6433 is expected to be empty6434 when the user does not have access6435 is expected to be empty6436DashboardEnvironmentEntity6437 .as_json6438 includes environment attributes6439ProjectAlias6440 is expected to belong to project required: false6441 is expected to validate that :project cannot be empty/falsy6442 is expected to validate that :name cannot be empty/falsy6443 is expected to validate that :name is case-sensitively unique6444 is expected not to allow :name to be ‹"/foo"›6445 is expected not to allow :name to be ‹"foo/foo"›6446 is expected not to allow :name to be ‹"foo.git"›6447Gitlab::Graphql::Loaders::OncallParticipantLoader6448 #find6449 finds a participant by id6450 includes the user association6451Namespaces::RootStatisticsWorker#perform6452 when storage limits are enforced for the namespace6453 when the namespace is running low on storage6454 sends a notification email6455 without a namespace6456 does not send an email notification6457 without an aggregation scheduled6458 does not send an email notification6459 when something goes wrong when updating6460 does not send an email notification6461 when storage limits are not enforced for the namespace6462 when the namespace is running low on storage6463 does not send a notification email6464ApprovalStatePolicy6465 when user does not have access to project6466 is expected to be disallowed :read_merge_request6467 when user does have access to project6468 is expected to be allowed :read_merge_request6469Gitlab::Usage::Metrics::Instrumentations::ProtectedEnvironmentsRequiredApprovalsAverageMetric6470 behaves like a correct instrumented metric value and query6471 behaves like a correct instrumented metric value6472 has correct value6473 behaves like a correct instrumented metric query6474 has correct generate query6475admin/groups/_form6476 when sub group is used6477 does not render shared_runners_minutes_setting6478 when root group is used6479 does not render shared_runners_minutes_setting6480shared/billings/_billing_plans.html.haml6481 contains the feature link and tracking6482CiCd::GithubSetupService6483 #execute6484 creates the webhook in the background6485 sets up Github project integration6486Resolvers::ProductAnalytics::VisualizationResolver6487 # order random6488 #resolve6489 returns the visualization object6490 when the visualization does not exist6491 raises an error6492Groups::GroupLinks::DestroyService#execute6493 # order random6494 with multiple links6495 sends multiple audit events6496 with a single link6497 sends an audit event6498Geo::RepositoryBaseSyncService6499 #lease_key6500 returns a key in the correct pattern6501 #lease_timeout6502 returns a lease timeout value6503 #repository6504 raises a NotImplementedError6505 with a repository defined6506 #fetch_geo_mirror6507 delegates to repository#fetch_as_mirror6508 #clone_geo_mirror6509 delegates to repository#clone_as_mirror6510DesignManagement::DeleteDesignsService6511 #execute6512 when service is successful6513 calls repository#log_geo_updated_event6514 when service errors6515 does not call repository#log_geo_updated_event6516Security::SecurityOrchestrationPolicies::FetchPolicyService6517 #execute6518 when retrieving an existing policy by name6519 returns policy6520 when retrieving an non-existing policy by name6521 returns nil6522Epics::RelatedEpicLinks::UsageDataHelper6523 #track_related_epics_event_for6524 link_type: "relates_to", event_type: :added, tracking_method: :track_linked_epic_with_type_relates_to_added6525 calls correct tracking method on EpicActivityUniqueCounter6526 link_type: "relates_to", event_type: :removed, tracking_method: :track_linked_epic_with_type_relates_to_removed6527 calls correct tracking method on EpicActivityUniqueCounter6528 link_type: "blocks", event_type: :added, tracking_method: :track_linked_epic_with_type_blocks_added6529 calls correct tracking method on EpicActivityUniqueCounter6530 link_type: "blocks", event_type: :removed, tracking_method: :track_linked_epic_with_type_blocks_removed6531 calls correct tracking method on EpicActivityUniqueCounter6532 link_type: "is_blocked_by", event_type: :added, tracking_method: :track_linked_epic_with_type_is_blocked_by_added6533 calls correct tracking method on EpicActivityUniqueCounter6534 link_type: "is_blocked_by", event_type: :removed, tracking_method: :track_linked_epic_with_type_is_blocked_by_removed6535 calls correct tracking method on EpicActivityUniqueCounter6536Gitlab::Ci::Parsers::Security::CoverageFuzzing6537 #parse!6538 parses all identifiers and findings6539 generates expected location6540Integrations::ChatMessage::VulnerabilityMessage6541 behaves like Integrations::ChatMessage6542 when input contains link markup6543 strips all link markup characters6544 #message6545 returns the correct message6546 #attachments6547 returns an array of one6548 contains the correct attributes6549 returns the correct color6550 returns the correct attachment fields6551 returns list of identifiers in correct form6552Gitlab::Usage::Metrics::Instrumentations::CountSlackAppInstallationsGbpMetric6553 behaves like a correct instrumented metric value and query6554 behaves like a correct instrumented metric value6555 has correct value6556 behaves like a correct instrumented metric query6557 has correct generate query6558EE::Gitlab::Scim::DeprovisioningService6559 # order random6560 #execute6561 when user is successfully removed6562 deactivates scim identity6563 blocks the user6564 returns the successful deprovision message6565AuditEvents::Streaming::Headers::DestroyService6566 #execute6567 when no header is provided6568 does not destroy the header6569 has an error response6570 when the header is destroyed successfully6571 destroys the header6572 sends the audit streaming event6573 with license feature external_audit_events6574 sends correct event type in audit event stream6575PersonalAccessTokens::CreateService6576 #execute6577 when non-admin user6578 when user creates their own token6579 creates AuditEvent with success message6580 when user attempts to create a token for a different user6581 creates AuditEvent with failure message6582 when admin6583 with admin mode enabled6584 with admin mode disabled6585 creates audit logs with failure message6586Analytics::CycleAnalytics::ReaggregationWorker6587 behaves like aggregator worker examples6588 invokes the AggregatorService6589 breaks at the second iteration due to overtime6590 behaves like an idempotent worker6591 is labeled as idempotent6592 performs multiple times sequentially without raising an exception6593 when the loaded batch is empty6594 does nothing6595Geo::PushUser6596 #user6597 with a junk gl_id6598 returns nil6599 with an unsupported gl_id type6600 returns nil6601 when the User associated to gl_id matches the User associated to gl_username6602 returns a User6603Gitlab::UsageDataCounters::LicensesList6604 behaves like a redis usage counter6605 .count(views)6606 increments the LicensesList views counter by 16607 .read(views)6608 returns the total number of views events6609 behaves like a redis usage counter with totals6610 totals6611 can report all totals6612 unknown events6613 cannot increment6614 cannot read6615Users::BannedUser6616 # order random6617 #after_commit6618 when add_hidden_to_issues migration is not finished6619 does not call reindex_issues when add_hidden_to_issues migration is not finished6620 when add_hidden_to_issues migration is finished6621 does not call reindex_issues on update6622 calls reindex_issues on create6623 calls reindex_issues on destroy6624AuditEvents::ReleaseArtifactsDownloadedAuditEventService6625 #security_event6626 logs the event to file6627Ci::TriggerDownstreamSubscriptionsWorker6628 #perform6629 when pipeline exists6630 calls the trigger downstream pipeline service6631 when pipeline does not exist6632 does nothing6633Gitlab::Instrumentation::Zoekt6634 # order random6635 .add_duration6636 increases duration6637 does not lose precision while adding6638 .add_call_details6639 adds call details6640 .increment_request_count6641 increases the request count by 16642Gitlab::Auth::Saml::MembershipUpdater6643 when SAML group links exist6644 when group sync is not available6645 does not enqueue group sync6646 when group sync is available6647 enqueues group sync6648 when auth hash contains no groups6649 enqueues group sync6650 when auth hash groups do not match group links6651 enqueues group sync6652IncidentManagement::EscalationRules::DestroyService6653 # order random6654 sends an email for each project and deletes the provided escalation rules6655Gitlab::UserAccess6656 #can_push_to_branch?6657 push to empty project6658 returns false when the external service denies access6659Types::ComplianceManagement::MergeRequests::ComplianceViolationSortEnum6660 is expected to eq "ComplianceViolationSort"6661 is expected to contain exactly "SEVERITY_LEVEL_DESC", "SEVERITY_LEVEL_ASC", "VIOLATION_REASON_DESC", "VIOLATION_REASON_ASC", "MERGE_REQUEST_TITLE_DESC", "MERGE_REQUEST_TITLE_ASC", "MERGED_AT_DESC", and "MERGED_AT_ASC"6662Namespaces::FreeUserCap::ClearOverLimitNotificationService6663 # order random6664 .execute6665 with namespace that is still over limit6666 keeps the flag as is6667 with namespace that is no longer over limit6668 clears the flag6669 for error handling6670 rescues to a ServiceResponse6671Types::JsonStringType6672 is expected to eq "JsonString"6673 .coerce_input6674 when a JSON string is a valid JSON6675 coerces JSON string into a Hash6676 when a JSON string is not a JSON6677 raises an exception6678 .coerce_result6679 coerces a hash to a JSON string6680Gitlab::PathLocksFinder6681 returns correct lock information6682 #preload_for_paths6683 does not perform N + 1 requests6684EE::API::Entities::Scim::Emails6685 contains the email6686 contains the type6687 contains the email6688Gitlab::Auth::Smartcard::Session6689 #active?6690 with a smartcard session6691 is expected to be truthy6692 without any session6693 is expected to be falsey6694 #update_active6695 stores the time of last sign-in6696Namespaces::Storage::SubgroupPreEnforcementAlertComponent6697 # order random6698 when subgroup6699 includes the correct subgroup info in the banner text6700Types::VulnerabilitySeverityEnum6701 exposes all vulnerability severities6702API::Entities::Deployments::Approval6703 exposes correct attributes6704Analytics::DevopsAdoption::SnapshotsFinder6705 #execute6706 with timespan provided6707 returns snapshots in given timespan6708 without timespan provided6709 returns all snapshots ordered by end_time6710Admin::UserEntity6711 #as_json6712 exposes correct attributes6713Vulnerabilities::IdentifierEntity6714 #as_json6715 contains required fields6716PackageMetadata::PackageVersion6717 # order random6718 validations6719 is expected to validate that :version cannot be empty/falsy6720 is expected to validate that the length of :version is at most 2556721 association6722 is expected to belong to package required: true6723Types::Vulnerability::ExternalIssueLinkTypeEnum6724 is expected to contain exactly "CREATED"6725Mutations::Namespaces::IncreaseStorageTemporarily6726 #resolve6727 when user is not the admin of the namespace6728 raises a not accessible error6729 when the user can admin the namespace6730 sets temporary_storage_increase_ends_on6731Gitlab::SubscriptionPortal::Client6732 is expected to includes the Gitlab::SubscriptionPortal::Clients::Graphql module6733 is expected to includes the Gitlab::SubscriptionPortal::Clients::Rest module6734groups/_compliance_frameworks.html.haml6735 when the compliance frameworks should show6736 shows the compliance frameworks list6737 when the compliance frameworks should not show6738 hides the compliance frameworks list6739operations/index.html.haml6740 renders the frontend configuration6741Types::VulnerabilityDetails::CodeType6742 is expected to have graphql fields :name, :description, :fieldName, :lang, and :value6743Types::Geo::DependencyProxyBlobRegistryType6744 # order random6745 has the expected fields (other than those included in RegistryType)6746 behaves like a Geo registry type6747 is expected to require graphql authorizations :read_geo_registry6748 has the expected fields6749Types::PermissionTypes::Epic6750 is expected to have graphql field :award_emoji6751Types::IterationType6752 is expected to eq "Iteration"6753 is expected to require graphql authorizations :read_iteration6754 has the expected fields6755Types::ApprovalRuleType6756 is expected to have graphql fields :id, :name, :type, :approvals_required, :approved, :overridden, :section, :contains_hidden_groups, :source_rule, :eligible_approvers, :users, :approved_by, :groups, :section, :commented_by, :invalid, and :allow_merge_when_invalid6757 is expected to require graphql authorizations :read_approval_rule6758Automation::ExecuteRuleWorker6759 # order random6760 #perform6761 logs placeholder message for now6762Types::EpicStateEnum6763 is expected to eq "EpicState"6764 exposes all the existing epic states6765Types::Boards::EpicListType6766 is expected to eq "EpicList"6767 has specific fields6768Groups::SsoHelper6769 #authorize_gma_conversion_confirm_modal_data6770 returns expected hash6771Types::Dast::ScanMethodTypeEnum6772 exposes all alert field names6773PreventForkingHelper6774 calls proper ability method6775Types::VulnerabilityLocation::ClusterImageScanningType6776 is expected to have graphql fields :dependency, :image, :operating_system, and :kubernetes_resource6777Milestone6778 Associations6779 is expected to have many boards6780Autocomplete::GroupSerializer6781 #represent6782 includes the id, name, and avatar URL6783Knapsack report was generated. Preview:6784{6785 "ee/spec/models/application_setting_spec.rb": 209.62482689399985,6786 "ee/spec/models/epic_spec.rb": 207.47501331700005,6787 "ee/spec/models/security/orchestration_policy_configuration_spec.rb": 98.96607615100038,6788 "ee/spec/services/vulnerabilities/revert_to_detected_service_spec.rb": 117.4068753119991,6789 "ee/spec/models/issue_spec.rb": 63.57878970800084,6790 "ee/spec/elastic_integration/global_search_spec.rb": 81.54145952200088,6791 "ee/spec/serializers/environment_entity_spec.rb": 67.40745400000014,6792 "ee/spec/models/gitlab_subscription_spec.rb": 28.254870224000115,6793 "ee/spec/services/projects/create_from_template_service_spec.rb": 47.82989923700006,6794 "ee/spec/services/elastic/process_bookkeeping_service_spec.rb": 51.09543911400033,6795 "ee/spec/models/geo/project_wiki_repository_registry_spec.rb": 34.68124397599968,6796 "ee/spec/models/ee/ci/secure_file_spec.rb": 22.90513717400063,6797 "ee/spec/models/dast_site_profile_spec.rb": 19.462174051999682,6798 "ee/spec/services/deployments/approval_service_spec.rb": 28.64710444100092,6799 "ee/spec/graphql/resolvers/epics_resolver_spec.rb": 16.86603521199868,6800 "ee/spec/services/dashboard/projects/list_service_spec.rb": 24.908415513000364,6801 "ee/spec/services/ee/users/migrate_records_to_ghost_user_service_spec.rb": 22.888382476001425,6802 "ee/spec/helpers/ee/users/callouts_helper_spec.rb": 12.263379551999606,6803 "ee/spec/services/merge_requests/merge_to_ref_service_spec.rb": 25.138892035000026,6804 "ee/spec/models/snippet_repository_spec.rb": 19.634792767999897,6805 "ee/spec/workers/update_all_mirrors_worker_spec.rb": 16.620111820999227,6806 "ee/spec/workers/post_receive_spec.rb": 16.050448326999685,6807 "ee/spec/models/protected_environments/deploy_access_level_spec.rb": 6.623133367998889,6808 "ee/spec/services/wiki_pages/update_service_spec.rb": 16.03143935299886,6809 "ee/spec/finders/security/findings_finder_spec.rb": 14.833473914000933,6810 "ee/spec/graphql/resolvers/geo/package_file_registries_resolver_spec.rb": 14.185190078000232,6811 "ee/spec/services/approval_rules/project_rule_destroy_service_spec.rb": 14.517609874999835,6812 "ee/spec/models/concerns/elastic/milestone_spec.rb": 15.173379648998889,6813 "ee/spec/lib/ee/gitlab/import_export/group/tree_saver_spec.rb": 10.931935603999591,6814 "ee/spec/policies/global_policy_spec.rb": 3.7694940630008205,6815 "ee/spec/services/ee/boards/lists/list_service_spec.rb": 7.795209948000775,6816 "ee/spec/services/analytics/cycle_analytics/aggregator_service_spec.rb": 10.233627853998769,6817 "ee/spec/services/ee/issuable/common_system_notes_service_spec.rb": 7.687143920000381,6818 "ee/spec/lib/ee/gitlab/ci/parsers/security/validators/schema_validator_spec.rb": 2.811576547999721,6819 "ee/spec/services/ee/todos/destroy/entity_leave_service_spec.rb": 7.280654879999929,6820 "ee/spec/services/registrations/standard_namespace_create_service_spec.rb": 8.04717597400122,6821 "ee/spec/services/ee/members/update_service_spec.rb": 7.986760760000834,6822 "ee/spec/services/ee/allowed_email_domains/update_service_spec.rb": 5.842392524000388,6823 "ee/spec/models/vulnerabilities/scanner_spec.rb": 5.692976599999383,6824 "ee/spec/services/approval_rules/merge_request_rule_destroy_service_spec.rb": 6.685270678999586,6825 "ee/spec/elastic/migrate/20220824133000_add_hidden_to_issues_spec.rb": 8.56207737099976,6826 "ee/spec/helpers/ee/gitlab_routing_helper_spec.rb": 2.984480580998934,6827 "ee/spec/models/dast/site_profiles_build_spec.rb": 6.453000853000049,6828 "ee/spec/services/app_sec/dast/scans/run_service_spec.rb": 7.114474747000713,6829 "ee/spec/routing/project_routing_spec.rb": 2.293717470000047,6830 "ee/spec/lib/ee/gitlab/import_export/importer_spec.rb": 5.978480560999742,6831 "ee/spec/services/security/orchestration/unassign_service_spec.rb": 3.3382708260014624,6832 "ee/spec/elastic/migrate/20230208100000_reindex_users_spec.rb": 7.894297688999359,6833 "ee/spec/services/groups/destroy_service_spec.rb": 6.1921048700005485,6834 "ee/spec/services/ee/users/update_service_spec.rb": 4.85405071400055,6835 "ee/spec/lib/gitlab/ci/pipeline/chain/limit/size_spec.rb": 3.6731938410011935,6836 "ee/spec/graphql/mutations/security/ci_configuration/configure_dependency_scanning_spec.rb": 2.740430665999156,6837 "ee/spec/lib/gitlab/auth/ldap/user_spec.rb": 2.5167867279997154,6838 "ee/spec/components/namespaces/free_user_cap/usage_quota_alert_component_spec.rb": 2.9033519999993587,6839 "ee/spec/lib/gitlab/ci/templates/dast_api_latest_gitlab_ci_yaml_spec.rb": 4.662431452999954,6840 "ee/spec/helpers/ee/security_orchestration_helper_spec.rb": 2.9548979539995344,6841 "ee/spec/lib/gitlab/analytics/cycle_analytics_spec.rb": 3.2815132710002217,6842 "ee/spec/helpers/ee/geo_helper_spec.rb": 1.5340960760004236,6843 "ee/spec/services/slash_commands/global_slack_handler_spec.rb": 2.6507101240003976,6844 "ee/spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_closed_spec.rb": 1.4542306339990319,6845 "ee/spec/services/user_permissions/export_service_spec.rb": 2.3911795999993046,6846 "ee/spec/finders/group_saml_identity_finder_spec.rb": 3.2141551280001295,6847 "ee/spec/policies/dast/pre_scan_verification_policy_spec.rb": 2.7377157259998057,6848 "ee/spec/services/incident_management/issuable_resource_links/destroy_service_spec.rb": 2.4698642729999847,6849 "ee/spec/workers/elastic_remove_expired_namespace_subscriptions_from_index_cron_worker_spec.rb": 4.0052624580002885,6850 "ee/spec/services/system_note_service_spec.rb": 2.3779030719997536,6851 "ee/spec/workers/elastic_commit_indexer_worker_spec.rb": 1.9658938829998078,6852 "ee/spec/models/concerns/geo/eventable_spec.rb": 3.35351490299945,6853 "ee/spec/models/security/training_spec.rb": 4.017038617999788,6854 "ee/spec/models/dast_site_spec.rb": 3.2894155200010573,6855 "ee/spec/graphql/types/work_items/widget_interface_spec.rb": 0.8286147870003333,6856 "ee/spec/models/geo/event_log_spec.rb": 3.8149274030001834,6857 "ee/spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_first_associated_with_milestone_spec.rb": 1.528249165001398,6858 "ee/spec/lib/ee/service_ping/permit_data_categories_spec.rb": 0.9159595779983647,6859 "ee/spec/lib/gitlab/geo/jwt_request_decoder_spec.rb": 2.3924724890002835,6860 "ee/spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_label_added_spec.rb": 3.39062341799945,6861 "ee/spec/workers/llm/completion_worker_spec.rb": 2.3164423469988833,6862 "ee/spec/lib/gitlab/exclusive_lease_spec.rb": 2.429614146998574,6863 "ee/spec/finders/billed_users_finder_spec.rb": 2.6974181679997855,6864 "ee/spec/services/ee/ci/pipeline_processing/atomic_processing_service_spec.rb": 2.036279607000324,6865 "ee/spec/lib/gitlab/geo/oauth/logout_state_spec.rb": 0.8529096349993779,6866 "ee/spec/services/app_sec/dast/site_validations/runner_service_spec.rb": 2.8864871400000993,6867 "ee/spec/lib/gitlab/usage/metrics/instrumentations/count_users_with_custom_roles_metric_spec.rb": 2.362210043000232,6868 "ee/spec/serializers/clusters/deployment_entity_spec.rb": 3.1406764760013175,6869 "ee/spec/lib/gitlab/license_scanning/artifact_scanner_spec.rb": 2.8440599650002696,6870 "ee/spec/workers/geo/verification_worker_spec.rb": 3.2197411170000123,6871 "ee/spec/policies/dast/profile_policy_spec.rb": 2.6585330439993413,6872 "ee/spec/lib/gitlab/auth/oidc/user_spec.rb": 2.0298540870007855,6873 "ee/spec/lib/gitlab/insights/loader_spec.rb": 1.3823190919993067,6874 "ee/spec/views/shared/billings/_eoa_bronze_plan_banner.html.haml_spec.rb": 2.221046238000781,6875 "ee/spec/lib/gitlab/manual_quarterly_co_term_banner_spec.rb": 1.28800129100091,6876 "ee/spec/lib/bulk_imports/groups/pipelines/iterations_pipeline_spec.rb": 1.9570990140000504,6877 "ee/spec/services/package_metadata/ingestion/tasks/ingest_packages_spec.rb": 1.2972424899999169,6878 "ee/spec/services/app_sec/dast/pre_scan_verification_steps/create_or_update_service_spec.rb": 2.4834355210005015,6879 "ee/spec/models/boards/epic_board_spec.rb": 1.0540064340002573,6880 "ee/spec/models/container_registry/event_spec.rb": 1.6271734370002378,6881 "ee/spec/lib/arkose/settings_spec.rb": 1.018374428000243,6882 "ee/spec/lib/gitlab/ci/parsers/security/cluster_image_scanning_spec.rb": 2.1882910109998193,6883 "ee/spec/serializers/ee/group_child_entity_spec.rb": 1.8345003660015209,6884 "ee/spec/lib/ee/gitlab/web_ide/config/entry/global_spec.rb": 0.6477809250009159,6885 "ee/spec/finders/epics/with_issues_finder_spec.rb": 1.3252990470009536,6886 "ee/spec/presenters/vulnerabilities/finding_presenter_spec.rb": 1.1973951399995713,6887 "ee/spec/models/package_metadata/package_spec.rb": 0.46067886399941926,6888 "ee/spec/lib/ee/gitlab/database/gitlab_schema_spec.rb": 1.600668389999555,6889 "ee/spec/lib/gitlab/import_export/project/deploy_keys_restorer_spec.rb": 1.5733285629994498,6890 "ee/spec/graphql/types/incident_management/escalation_rule_input_type_spec.rb": 0.6200440770007845,6891 "ee/spec/graphql/types/scan_type_spec.rb": 1.518453877999491,6892 "ee/spec/views/vulnerabilities/issue_description.md_spec.rb": 1.5272093570001744,6893 "ee/spec/views/groups/analytics/dashboards/value_streams_dashboard.html.haml_spec.rb": 0.5215749979997781,6894 "ee/spec/helpers/ee/namespace_user_cap_reached_alert_helper_spec.rb": 1.1968029199997545,6895 "ee/spec/services/analytics/cycle_analytics/stages/list_service_spec.rb": 1.2236108670003887,6896 "ee/spec/lib/gitlab/usage/metrics/instrumentations/license_metric_spec.rb": 0.8208328079999774,6897 "ee/spec/graphql/resolvers/dast_site_profile_resolver_spec.rb": 1.6194710379986645,6898 "ee/spec/serializers/dashboard_environment_entity_spec.rb": 1.754421163999723,6899 "ee/spec/models/project_alias_spec.rb": 0.9906162909992418,6900 "ee/spec/lib/gitlab/graphql/loaders/oncall_participant_loader_spec.rb": 1.838241346000359,6901 "ee/spec/workers/ee/namespaces/root_statistics_worker_spec.rb": 1.2632104640015314,6902 "ee/spec/policies/approval_state_policy_spec.rb": 1.8642269130014029,6903 "ee/spec/lib/gitlab/usage/metrics/instrumentations/protected_environments_required_approvals_average_metric_spec.rb": 1.711786187999678,6904 "ee/spec/views/admin/groups/_form.html.haml_spec.rb": 1.1989751089986385,6905 "ee/spec/views/shared/billings/_billing_plans.html.haml_spec.rb": 0.45125344500047504,6906 "ee/spec/services/ci_cd/github_setup_service_spec.rb": 1.5282464970005094,6907 "ee/spec/graphql/resolvers/product_analytics/visualization_resolver_spec.rb": 1.4964334099986445,6908 "ee/spec/services/ee/groups/group_links/destroy_service_spec.rb": 1.3975776900006167,6909 "ee/spec/services/geo/repository_base_sync_service_spec.rb": 0.9556205040007626,6910 "ee/spec/services/ee/design_management/delete_designs_service_spec.rb": 1.433488075999776,6911 "ee/spec/services/security/security_orchestration_policies/fetch_policy_service_spec.rb": 1.7004407999993418,6912 "ee/spec/services/concerns/epics/related_epic_links/usage_data_helper_spec.rb": 0.9185801980001997,6913 "ee/spec/lib/gitlab/ci/parsers/security/coverage_fuzzing_spec.rb": 1.3044060200008971,6914 "ee/spec/models/integrations/chat_message/vulnerability_message_spec.rb": 0.7681967230000737,6915 "ee/spec/lib/gitlab/usage/metrics/instrumentations/count_slack_app_installations_gbp_metric_spec.rb": 0.976593112000046,6916 "ee/spec/lib/ee/gitlab/scim/deprovisioning_service_spec.rb": 1.0364716259991837,6917 "ee/spec/services/audit_events/streaming/headers/destroy_service_spec.rb": 0.8459736559998419,6918 "ee/spec/services/personal_access_tokens/create_service_audit_log_spec.rb": 0.9536377450003783,6919 "ee/spec/workers/analytics/cycle_analytics/reaggregation_worker_spec.rb": 0.8996232700010296,6920 "ee/spec/models/geo/push_user_spec.rb": 0.8110705080016487,6921 "ee/spec/lib/gitlab/usage_data_counters/licenses_list_spec.rb": 0.7388381860000663,6922 "ee/spec/models/ee/users/banned_user_spec.rb": 0.5184101680006279,6923 "ee/spec/services/audit_events/release_artifacts_downloaded_audit_event_service_spec.rb": 1.1032373400012148,6924 "ee/spec/workers/ci/trigger_downstream_subscriptions_worker_spec.rb": 0.9169016079995345,6925 "ee/spec/lib/gitlab/instrumentation/zoekt_spec.rb": 0.6206346979997761,6926 "ee/spec/lib/gitlab/auth/saml/membership_updater_spec.rb": 0.7503542939994077,6927 "ee/spec/services/incident_management/escalation_rules/destroy_service_spec.rb": 1.1649355730005482,6928 "ee/spec/lib/gitlab/user_access_spec.rb": 0.9736763029995927,6929 "ee/spec/graphql/types/compliance_management/merge_requests/compliance_violation_sort_enum_spec.rb": 0.4025096699988353,6930 "ee/spec/services/namespaces/free_user_cap/clear_over_limit_notification_service_spec.rb": 0.5782897120006965,6931 "ee/spec/graphql/types/json_string_type_spec.rb": 0.5431027359991276,6932 "ee/spec/lib/gitlab/path_locks_finder_spec.rb": 1.0112556789990776,6933 "ee/spec/lib/ee/api/entities/scim/emails_spec.rb": 0.7440935550002905,6934 "ee/spec/lib/gitlab/auth/smartcard/session_spec.rb": 0.7014895800002705,6935 "ee/spec/components/namespaces/storage/subgroup_pre_enforcement_alert_component_spec.rb": 1.0679434230005427,6936 "ee/spec/graphql/types/vulnerability_severity_enum_spec.rb": 0.37703943199994683,6937 "ee/spec/lib/api/entities/deployments/approval_spec.rb": 0.7194857879985648,6938 "ee/spec/finders/analytics/devops_adoption/snapshots_finder_spec.rb": 0.5588341139991826,6939 "ee/spec/serializers/ee/admin/user_entity_spec.rb": 0.5364260760015895,6940 "ee/spec/serializers/vulnerabilities/identifier_entity_spec.rb": 0.6001762899995811,6941 "ee/spec/models/package_metadata/package_version_spec.rb": 0.5083951489996252,6942 "ee/spec/graphql/types/vulnerability/external_issue_link_type_enum_spec.rb": 0.3888506109997252,6943 "ee/spec/graphql/mutations/namespaces/increase_storage_temporarily_spec.rb": 0.8934047099992313,6944 "ee/spec/lib/gitlab/subscription_portal/client_spec.rb": 0.4872502309990523,6945 "ee/spec/views/groups/_compliance_frameworks.html.haml_spec.rb": 0.39857514000141236,6946 "ee/spec/views/operations/index.html.haml_spec.rb": 0.414623988999665,6947 "ee/spec/graphql/types/vulnerability_details/code_type_spec.rb": 0.5129112880003959,6948 "ee/spec/graphql/types/geo/dependency_proxy_blob_registry_type_spec.rb": 0.5769770320002863,6949 "ee/spec/graphql/types/permission_types/epic_spec.rb": 0.5627349330006837,6950 "ee/spec/graphql/types/iteration_type_spec.rb": 0.49942132999967725,6951 "ee/spec/graphql/types/approval_rule_type_spec.rb": 0.5657001130002755,6952 "ee/spec/workers/automation/execute_rule_worker_spec.rb": 0.5609349740007019,6953 "ee/spec/graphql/types/epic_state_enum_spec.rb": 0.444714635001219,6954 "ee/spec/graphql/types/boards/epic_list_type_spec.rb": 0.4663797439989139,6955 "ee/spec/helpers/groups/sso_helper_spec.rb": 0.2907598309993773,6956 "ee/spec/graphql/types/dast/scan_method_type_enum_spec.rb": 0.44715934499981813,6957 "ee/spec/helpers/prevent_forking_helper_spec.rb": 0.6311307870000746,6958 "ee/spec/graphql/types/vulnerability_location/cluster_image_scanning_type_spec.rb": 0.595022870998946,6959 "ee/spec/models/milestone_spec.rb": 0.7122628379984235,6960 "ee/spec/serializers/autocomplete/group_serializer_spec.rb": 0.45137479499862826961}6962Knapsack global time execution for tests: 27m 22s6963Pending: (Failures listed here are expected and do not affect your suite's status)6964 1) Epic modules behaves like AtomicInternalId .has_internal_id Validation when presence validation is not required when creating an object does not raise an error if the internal id is blank6965 # No reason given6966 # ./spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb:496967 2) Epic modules behaves like AtomicInternalId .has_internal_id Validation when presence validation is not required when updating an object does not raise an error if the internal id is blank6968 # No reason given6969 # ./spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb:576970 3) EE::Users::CalloutsHelper#web_hook_disabled_dismissed? with a group when the web-hook failure callout has been dismissed is true when passed as a presenter6971 # Does not apply to Group6972 # ./spec/support/shared_examples/helpers/callouts_for_web_hooks.rb:236973 4) WikiPages::UpdateService behaves like WikiPages::UpdateService#execute the page is at the top level adds a new wiki page activity event6974 # group wiki support6975 Failure/Error: expect { service.execute(page) }.to change { Event.count }.by 16976 expected `Event.count` to have changed by 1, but was changed by 06977 Shared Example Group: "adds activity event" called from ./spec/support/shared_examples/services/wiki_pages/update_service_shared_examples.rb:636978 Shared Example Group: "WikiPages::UpdateService#execute" called from ./ee/spec/services/wiki_pages/update_service_spec.rb:976979 # ./spec/support/shared_examples/services/wiki_pages/update_service_shared_examples.rb:50:in `block (3 levels) in <top (required)>'6980 # ./spec/spec_helper.rb:423:in `block (3 levels) in <top (required)>'6981 # ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'6982 # ./spec/spec_helper.rb:415:in `block (2 levels) in <top (required)>'6983 # ./spec/spec_helper.rb:411:in `block (3 levels) in <top (required)>'6984 # ./lib/gitlab/application_context.rb:61:in `with_raw_context'6985 # ./spec/spec_helper.rb:411:in `block (2 levels) in <top (required)>'6986 # ./spec/spec_helper.rb:242:in `block (2 levels) in <top (required)>'6987 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'6988 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (3 levels) in <top (required)>'6989 # ./spec/support/database/prevent_cross_joins.rb:62:in `with_cross_joins_prevented'6990 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (2 levels) in <top (required)>'6991 5) WikiPages::UpdateService behaves like WikiPages::UpdateService#execute the page is in a subsection adds a new wiki page activity event6992 # group wiki support6993 Failure/Error: expect { service.execute(page) }.to change { Event.count }.by 16994 expected `Event.count` to have changed by 1, but was changed by 06995 Shared Example Group: "adds activity event" called from ./spec/support/shared_examples/services/wiki_pages/update_service_shared_examples.rb:696996 Shared Example Group: "WikiPages::UpdateService#execute" called from ./ee/spec/services/wiki_pages/update_service_spec.rb:976997 # ./spec/support/shared_examples/services/wiki_pages/update_service_shared_examples.rb:50:in `block (3 levels) in <top (required)>'6998 # ./spec/spec_helper.rb:423:in `block (3 levels) in <top (required)>'6999 # ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'7000 # ./spec/spec_helper.rb:415:in `block (2 levels) in <top (required)>'7001 # ./spec/spec_helper.rb:411:in `block (3 levels) in <top (required)>'7002 # ./lib/gitlab/application_context.rb:61:in `with_raw_context'7003 # ./spec/spec_helper.rb:411:in `block (2 levels) in <top (required)>'7004 # ./spec/spec_helper.rb:242:in `block (2 levels) in <top (required)>'7005 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'7006 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (3 levels) in <top (required)>'7007 # ./spec/support/database/prevent_cross_joins.rb:62:in `with_cross_joins_prevented'7008 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (2 levels) in <top (required)>'7009 6) Resolvers::Geo::PackageFileRegistriesResolver behaves like a Geo registries resolver #resolve when the parent object is the current node when the user has permission to view Geo data when admin mode is enabled with verification disabled when the verification_state argument is present raises ArgumentError7010 # Skipping because verification is enabled for Packages::PackageFile7011 # ./ee/spec/support/shared_examples/graphql/geo/geo_registries_resolver_shared_examples.rb:777012Finished in 27 minutes 29 seconds (files took 1 minute 25.16 seconds to load)70132928 examples, 0 failures, 6 pending7014Randomized with seed 418867015[TEST PROF INFO] Time spent in factories: 15:27.809 (54.93% of total time)7016RSpec exited with 0.7017No examples to retry, congrats!7019Not uploading cache ruby-gems-debian-bullseye-ruby-3.0-16 due to policy7021Uploading artifacts...7022coverage/: found 5 matching artifact files and directories 7023crystalball/: found 2 matching artifact files and directories 7024WARNING: deprecations/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 7025knapsack/: found 4 matching artifact files and directories 7026query_recorder/: found 2 matching artifact files and directories 7027rspec/: found 14 matching artifact files and directories 7028WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 7029log/*.log: found 17 matching artifact files and directories 7030WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4187656310/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com7031WARNING: Retrying... context=artifacts-uploader error=request redirected7032Uploading artifacts as "archive" to coordinator... 201 Created id=4187656310 responseStatus=201 Created token=64_B8y9d7033Uploading artifacts...7034rspec/junit_rspec.xml: found 1 matching artifact files and directories 7035WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4187656310/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com7036WARNING: Retrying... context=artifacts-uploader error=request redirected7037Uploading artifacts as "junit" to coordinator... 201 Created id=4187656310 responseStatus=201 Created token=64_B8y9d7039Job succeeded