rspec-ee unit pg14 13/18
Passed Started
by
@dstull
Doug Stull
2 * [new ref] refs/pipelines/972262671 -> refs/pipelines/9722626713Checking out 3f92a6c3 as detached HEAD (ref is refs/merge-requests/129383/merge)...4Skipping Git submodules setup5$ git remote set-url origin "${CI_REPOSITORY_URL}"7Checking cache for ruby-gems-debian-bullseye-ruby-3.0-16...8cache.zip is up to date 9Successfully extracted cache11Downloading artifacts for compile-test-assets (4900739220)...12Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4900739220 responseStatus=200 OK token=64_PyZtL13Downloading artifacts for detect-tests (4900739241)...14Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4900739241 responseStatus=200 OK token=64_PyZtL15Downloading artifacts for retrieve-tests-metadata (4900739253)...16Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4900739253 responseStatus=200 OK token=64_PyZtL17Downloading artifacts for setup-test-env (4900739227)...18Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4900739227 responseStatus=200 OK token=64_PyZtL20Using docker image sha256:3e6c24d49ca804019e2cfcf4951ed994b550043ce6af3757cb550e8c78892a99 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.20-rust-1.65-node-18.17-postgresql-14:rubygems-3.4-git-2.36-lfs-2.9-chrome-113-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.20-rust-1.65-node-18.17-postgresql-14@sha256:50215d6eb4fdf053dfc39bc8a540c94a214139ba2a583092099c9eac46201eee ...21$ echo $FOSS_ONLY22$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb23$ export GOPATH=$CI_PROJECT_DIR/.go24$ mkdir -p $GOPATH25$ source scripts/utils.sh26$ source scripts/prepare_build.sh58Using decomposed database config (config/database.yml.decomposed-postgresql)59Geo DB will be set up.60Embedding DB will be set up.76$ source ./scripts/rspec_helpers.sh77$ run_timed_command "gem install knapsack --no-document"78$ gem install knapsack --no-document79Successfully installed knapsack-4.0.0801 gem installed81==> 'gem install knapsack --no-document' succeeded in 0 seconds.82$ section_start "gitaly-test-spawn" "Spawning Gitaly"; scripts/gitaly-test-spawn; section_end "gitaly-test-spawn"87$ export RSPEC_SKIPPED_TESTS_REPORT_PATH="rspec/skipped_tests-${CI_JOB_ID}.txt"88$ export RSPEC_RETRIED_TESTS_REPORT_PATH="rspec/retried_tests-${CI_JOB_ID}.txt"89$ rspec_paralellized_job "--fail-fast=${RSPEC_FAIL_FAST_THRESHOLD} --tag ~quarantine --tag ~level:background_migration --tag ~click_house"90SKIP_FLAKY_TESTS_AUTOMATICALLY: 91RETRY_FAILED_TESTS_IN_NEW_PROCESS: true92KNAPSACK_GENERATE_REPORT: true93FLAKY_RSPEC_GENERATE_REPORT: true94KNAPSACK_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.rb95KNAPSACK_LOG_LEVEL: debug96KNAPSACK_REPORT_PATH: knapsack/rspec-ee_unit_pg14_13_18_report.json97FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json98FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec-ee_unit_pg14_13_18_report.json99NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec-ee_unit_pg14_13_18_report.json100RSPEC_SKIPPED_TESTS_REPORT_PATH: rspec/skipped_tests-4900739645.txt101CRYSTALBALL: 102RSPEC_TESTS_MAPPING_ENABLED: 103RSPEC_TESTS_FILTER_FILE: 104Shell set options (set -o) enabled:105braceexpand on106hashall on107interactive-comments on108pipefail on109Running command: bundle exec rspec -Ispec -rspec_helper --color --failure-exit-code 1 --error-exit-code 2 --format documentation --format Support::Formatters::JsonFormatter --out rspec/rspec-4900739645.json --format RspecJunitFormatter --out rspec/rspec-4900739645.xml --fail-fast=20 --tag ~quarantine --tag ~level:background_migration --tag ~click_house -- ee/spec/services/ee/auth/container_registry_authentication_service_spec.rb ee/spec/services/quick_actions/interpret_service_spec.rb ee/spec/models/ee/group_spec.rb ee/spec/services/vulnerabilities/revert_to_detected_service_spec.rb ee/spec/services/vulnerability_feedback/create_service_spec.rb ee/spec/models/ci/pipeline_spec.rb ee/spec/replicators/geo/project_wiki_repository_replicator_spec.rb ee/spec/services/epic_issues/create_service_spec.rb ee/spec/models/geo/package_file_registry_spec.rb ee/spec/models/geo/job_artifact_registry_spec.rb ee/spec/services/ee/boards/issues/move_service_spec.rb ee/spec/elastic/migrate/20230702000000_backfill_existing_group_wiki_spec.rb ee/spec/models/geo/ci_secure_file_registry_spec.rb ee/spec/models/project_member_spec.rb ee/spec/finders/security/scan_result_policies/findings_finder_spec.rb ee/spec/models/ee/ci/runner_spec.rb ee/spec/lib/gitlab/usage/metrics/instrumentations/count_users_creating_ci_builds_metric_spec.rb ee/spec/frontend/fixtures/analytics/contributions_spec.rb ee/spec/lib/analytics/devops_adoption/snapshot_calculator_spec.rb ee/spec/graphql/resolvers/epics_resolver_spec.rb ee/spec/workers/geo/verification_state_backfill_worker_spec.rb ee/spec/models/concerns/ee/issuable_spec.rb ee/spec/services/elastic/cluster_reindexing_service_spec.rb ee/spec/policies/requirements_management/requirement_policy_spec.rb ee/spec/lib/elastic/latest/note_class_proxy_spec.rb ee/spec/lib/ee/gitlab/checks/push_rule_check_spec.rb ee/spec/graphql/resolvers/geo/pipeline_artifact_registries_resolver_spec.rb ee/spec/lib/gitlab/ci/parsers/license_compliance/license_scanning_spec.rb ee/spec/services/app_sec/dast/site_profiles/create_service_spec.rb ee/spec/presenters/merge_request_approver_presenter_spec.rb ee/spec/lib/elastic/latest/git_class_proxy_add_suffix_project_in_wiki_rid_running_wiki_search_spec.rb ee/spec/models/vulnerabilities/identifier_spec.rb ee/spec/services/ee/git/wiki_push_service_spec.rb ee/spec/finders/snippets_finder_spec.rb ee/spec/lib/compliance_management/compliance_report/commit_loader_spec.rb ee/spec/services/epics/update_dates_service_spec.rb ee/spec/models/concerns/elastic/snippet_spec.rb ee/spec/lib/ee/gitlab/checks/push_rules/branch_check_spec.rb ee/spec/graphql/types/issue_type_spec.rb ee/spec/services/software_license_policies/create_service_spec.rb ee/spec/models/ee/dependency_proxy/blob_spec.rb ee/spec/services/groups/destroy_service_spec.rb ee/spec/models/project_feature_spec.rb ee/spec/models/ci/minutes/project_monthly_usage_spec.rb ee/spec/workers/security/process_scan_result_policy_worker_spec.rb ee/spec/workers/system_access/saml_microsoft_group_sync_worker_spec.rb ee/spec/tasks/gitlab/geo_rake_spec.rb ee/spec/models/package_metadata/affected_package_spec.rb ee/spec/lib/banzai/reference_parser/iteration_parser_spec.rb ee/spec/models/projects/compliance_standards/adherence_spec.rb ee/spec/services/releases/update_service_spec.rb ee/spec/workers/system_access/group_saml_microsoft_group_sync_worker_spec.rb ee/spec/finders/clusters/environments_finder_spec.rb ee/spec/services/app_sec/dast/sites/find_or_create_service_spec.rb ee/spec/services/geo/metrics_update_service_spec.rb ee/spec/lib/gitlab/ci/templates/api_security_gitlab_ci_yaml_spec.rb ee/spec/workers/geo/repository_verification/secondary/shard_worker_spec.rb ee/spec/services/group_saml/identity/destroy_service_spec.rb ee/spec/serializers/ee/deployment_entity_spec.rb ee/spec/graphql/mutations/issues/set_escalation_policy_spec.rb ee/spec/finders/incident_management/escalation_policies_finder_spec.rb ee/spec/views/shared/_mirror_update_button.html.haml_spec.rb ee/spec/lib/ee/gitlab/checks/push_rules/file_size_check_spec.rb ee/spec/graphql/resolvers/user_discussions_count_resolver_spec.rb ee/spec/lib/ee/gitlab/analytics/cycle_analytics/base_query_builder_spec.rb ee/spec/services/security/security_orchestration_policies/operational_vulnerabilities_configuration_service_spec.rb ee/spec/lib/ee/gitlab/checks/push_rules/tag_check_spec.rb ee/spec/serializers/dependency_entity_spec.rb ee/spec/graphql/resolvers/vulnerabilities_grade_resolver_spec.rb ee/spec/lib/gitlab/graphql/aggregations/epics/lazy_epic_aggregate_spec.rb ee/spec/services/geo/rename_repository_service_spec.rb ee/spec/models/ee/label_spec.rb ee/spec/helpers/ee/groups/group_members_helper_spec.rb ee/spec/serializers/integrations/jira_serializers/issue_detail_entity_spec.rb ee/spec/models/ee/namespaces/storage/limit_exclusion_spec.rb ee/spec/routing/group_routing_spec.rb ee/spec/services/vulnerabilities/statistics/adjustment_service_spec.rb ee/spec/models/concerns/ee/project_security_scanners_information_spec.rb ee/spec/models/vulnerabilities/finding_signature_spec.rb ee/spec/workers/search/zoekt/namespace_indexer_worker_spec.rb ee/spec/graphql/types/vulnerability_request_response_header_type_spec.rb ee/spec/services/app_sec/dast/site_validations/find_or_create_service_spec.rb ee/spec/finders/boards/boards_finder_spec.rb ee/spec/serializers/user_analytics_entity_spec.rb ee/spec/graphql/types/alert_management/payload_alert_field_path_segment_type_spec.rb ee/spec/lib/gitlab/vulnerabilities/container_scanning_vulnerability_spec.rb ee/spec/services/search/index_repair_service_spec.rb ee/spec/models/user_permission_export_upload_spec.rb ee/spec/lib/system_check/geo/geo_database_configured_check_spec.rb ee/spec/routing/webhook_routes_spec.rb ee/spec/models/incident_management/oncall_participant_spec.rb ee/spec/models/sbom/source_spec.rb ee/spec/lib/gitlab/auth/group_saml/xml_response_spec.rb ee/spec/services/projects/group_links/update_service_spec.rb ee/spec/models/remote_development/remote_development_agent_config_spec.rb ee/spec/models/product_analytics/funnel_spec.rb ee/spec/lib/gitlab/graphql/aggregations/epics/lazy_links_aggregate_spec.rb ee/spec/presenters/project_member_presenter_spec.rb ee/spec/graphql/resolvers/vulnerabilities/container_images_resolver_spec.rb ee/spec/services/security/ingestion/finding_map_collection_spec.rb ee/spec/services/audit_events/register_runner_audit_event_service_spec.rb ee/spec/helpers/license_helper_spec.rb ee/spec/lib/elastic/latest/note_instance_proxy_spec.rb ee/spec/lib/gitlab/ingestion/bulk_insertable_task_spec.rb ee/spec/helpers/markup_helper_spec.rb ee/spec/graphql/mutations/boards/epic_boards/epic_move_list_spec.rb ee/spec/lib/gitlab/usage/metrics/instrumentations/count_user_merge_requests_with_applied_scan_result_policies_metric_spec.rb ee/spec/services/llm/generate_commit_message_service_spec.rb ee/spec/finders/status_page/incident_comments_finder_spec.rb ee/spec/workers/ci/llm/generate_config_worker_spec.rb ee/spec/views/registrations/groups/new.html.haml_spec.rb ee/spec/services/app_sec/dast/site_validations/runner_service_spec.rb ee/spec/workers/ci/initial_pipeline_process_worker_spec.rb ee/spec/models/iteration_note_spec.rb ee/spec/models/elasticsearch_indexed_project_spec.rb ee/spec/lib/gitlab/geo/log_cursor/events/hashed_storage_attachments_event_spec.rb ee/spec/services/audit_events/runners_token_audit_event_service_spec.rb ee/spec/services/ee/clusters/agents/authorize_proxy_user_service_spec.rb ee/spec/graphql/types/incident_management/oncall_rotation_date_input_type_spec.rb ee/spec/services/audit_events/streaming/headers/create_service_spec.rb ee/spec/services/security/track_scan_service_spec.rb ee/spec/helpers/manual_quarterly_co_term_banner_helper_spec.rb ee/spec/models/scim_identity_spec.rb ee/spec/models/ee/preloaders/group_policy_preloader_spec.rb ee/spec/graphql/ee/types/clusters/agent_type_spec.rb ee/spec/lib/gitlab/ci/templates/container_scanning_gitlab_ci_yaml_spec.rb ee/spec/workers/project_cache_worker_spec.rb ee/spec/services/ee/users/deactivate_service_spec.rb ee/spec/services/group_saml/saml_provider/update_service_spec.rb ee/spec/workers/geo/repository_verification/primary/single_worker_spec.rb ee/spec/graphql/types/audit_events/exterrnal_audit_event_destination_type_spec.rb ee/spec/finders/incident_management/issuable_resource_links_finder_spec.rb ee/spec/workers/namespaces/sync_namespace_name_worker_spec.rb ee/spec/components/namespaces/free_user_cap/enforcement_alert_component_spec.rb ee/spec/graphql/types/asset_type_spec.rb ee/spec/lib/gitlab/usage/metrics/instrumentations/advanced_search/distribution_metric_spec.rb ee/spec/graphql/resolvers/instance_security_dashboard/projects_resolver_spec.rb ee/spec/lib/gitlab/llm/chain/gitlab_context_spec.rb ee/spec/services/audit_events/user_impersonation_group_audit_event_service_spec.rb ee/spec/components/namespaces/free_user_cap/usage_quota_trial_alert_component_spec.rb ee/spec/services/geo/node_create_service_spec.rb ee/spec/services/status_page/unpublish_details_service_spec.rb ee/spec/lib/gitlab/llm/open_ai/completions/generate_commit_message_spec.rb ee/spec/graphql/types/prompt/explain_vulnerability_prompt_type_spec.rb ee/spec/lib/ee/service_ping/permit_data_categories_spec.rb ee/spec/models/dora/time_to_restore_service_metric_spec.rb ee/spec/views/shared/issuable/_health_status_dropdown.html.haml_spec.rb ee/spec/workers/compliance_management/standards/gitlab/prevent_approval_by_author_group_worker_spec.rb ee/spec/policies/ee/ci/runner_policy_spec.rb ee/spec/models/audit_events/streaming/instance_header_spec.rb ee/spec/lib/gitlab/contribution_analytics/data_collector_spec.rb ee/spec/lib/gitlab/tree_summary_spec.rb ee/spec/workers/personal_access_tokens/instance/policy_worker_spec.rb ee/spec/workers/app_sec/dast/scans/consistency_worker_spec.rb ee/spec/views/subscriptions/new.html.haml_spec.rb ee/spec/services/ee/resource_events/change_labels_service_spec.rb ee/spec/workers/gitlab_subscriptions/schedule_refresh_seats_worker_spec.rb ee/spec/services/groups/schedule_bulk_repository_shard_moves_service_spec.rb ee/spec/lib/gitlab/status_page/filter/image_filter_spec.rb ee/spec/lib/system_check/rake_task/geo_task_spec.rb ee/spec/graphql/types/incident_management/escalation_rule_input_type_spec.rb ee/spec/helpers/ee/import_helper_spec.rb ee/spec/serializers/linked_feature_flag_issue_entity_spec.rb ee/spec/services/external_status_checks/dispatch_service_spec.rb ee/spec/models/work_items/widgets/health_status_spec.rb ee/spec/services/ee/incident_management/issuable_escalation_statuses/create_service_spec.rb ee/spec/services/web_hook_service_spec.rb ee/spec/workers/ldap_sync_worker_spec.rb ee/spec/presenters/ee/instance_clusterable_presenter_spec.rb ee/spec/lib/api/entities/deployments/approval_summary_spec.rb ee/spec/elastic/migrate/20221018125700_create_user_index_spec.rb ee/spec/models/board_label_spec.rb ee/spec/serializers/vulnerabilities/scanner_entity_spec.rb ee/spec/lib/ee/api/entities/scim/user_name_spec.rb ee/spec/lib/gitlab/llm/chain/agents/zero_shot/prompts/anthropic_spec.rb ee/spec/lib/elastic/latest/config_spec.rb ee/spec/graphql/types/geo/merge_request_diff_registry_type_spec.rb ee/spec/lib/sidebars/search/panel_spec.rb ee/spec/lib/gitlab/search/client_spec.rb ee/spec/graphql/types/requirements_management/requirement_state_enum_spec.rb ee/spec/views/groups/_compliance_frameworks.html.haml_spec.rb ee/spec/services/ee/admin/set_feature_flag_service_spec.rb ee/spec/helpers/projects/settings/branch_rules_helper_spec.rb ee/spec/services/gitlab_subscriptions/create_hand_raise_lead_service_spec.rb ee/spec/graphql/types/ci/code_coverage_summary_spec.rb ee/spec/graphql/ee/types/branch_protections/unprotect_access_level_type_spec.rb ee/spec/graphql/types/work_items/widgets/requirement_legacy_type_spec.rb ee/spec/graphql/types/audit_events/streaming/instance_header_type_spec.rb ee/spec/graphql/types/boards/epic_user_preferences_type_spec.rb ee/spec/graphql/ee/types/todoable_interface_spec.rb ee/spec/services/users/update_highest_member_role_service_spec.rb ee/spec/graphql/types/requirements_management/test_report_state_enum_spec.rb ee/spec/graphql/types/ai/cached_message_role_enum_spec.rb ee/spec/lib/gitlab/llm/chain/agents/zero_shot/prompts/vertex_ai_spec.rb ee/spec/elastic/docs_spec.rb ee/spec/services/audit_events/streaming/headers/base_spec.rb ee/spec/models/geo/cache_invalidation_event_spec.rb ee/spec/serializers/security/vulnerability_report_data_serializer_spec.rb ee/spec/graphql/types/network_policy_kind_enum_spec.rb ee/spec/lib/gitlab/llm/chain/tools/issue_identifier/prompts/vertex_ai_spec.rbKnapsack report generator started!110/builds/gitlab-org/gitlab/ee/app/services/remote_development/service_response_factory.rb:41: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!111/builds/gitlab-org/gitlab/ee/app/services/remote_development/workspaces/create_service.rb:28: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!112/builds/gitlab-org/gitlab/ee/app/services/remote_development/workspaces/reconcile_service.rb:38: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!113/builds/gitlab-org/gitlab/ee/app/services/remote_development/workspaces/update_service.rb:28: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!114/builds/gitlab-org/gitlab/ee/lib/remote_development/agent_config/main.rb:32: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!115/builds/gitlab-org/gitlab/ee/lib/remote_development/agent_config/updater.rb:11: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!116/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/authorizer.rb:12: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!117/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/authorizer.rb:13: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!118/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/creator.rb:17: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!119/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/creator.rb:24: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!120/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/creator.rb:25: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!121/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/creator.rb:28: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!122/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/devfile_fetcher.rb:15: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!123/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/devfile_fetcher.rb:16: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!124/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/devfile_flattener.rb:12: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!125/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/editor_component_injector.rb:12: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!126/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/editor_component_injector.rb:17: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!127/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/editor_component_injector.rb:18: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!128/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/post_flatten_devfile_validator.rb:43: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!129/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/post_flatten_devfile_validator.rb:54: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!130/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/post_flatten_devfile_validator.rb:102: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!131/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/post_flatten_devfile_validator.rb:126: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!132/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/post_flatten_devfile_validator.rb:159: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!133/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/post_flatten_devfile_validator.rb:202: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!134/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/post_flatten_devfile_validator.rb:235: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!135/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/pre_flatten_devfile_validator.rb:24: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!136/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/pre_flatten_devfile_validator.rb:52: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!137/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/project_cloner_component_injector.rb:12: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!138/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/project_cloner_component_injector.rb:17: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!139/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/project_cloner_component_injector.rb:18: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!140/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/project_cloner_component_injector.rb:23: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!141/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/volume_component_injector.rb:12: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!142/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/volume_component_injector.rb:13: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!143/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/volume_component_injector.rb:14: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!144/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/main.rb:43: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!145/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/update/authorizer.rb:12: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!146/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/update/updater.rb:12: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!147/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/input/agent_infos_observer.rb:15: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!148/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/input/params_extractor.rb:14: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!149/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/input/params_extractor.rb:16: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!150/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/input/params_to_infos_converter.rb:14: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!151/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/input/params_validator.rb:15: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!152/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/output/rails_infos_observer.rb:11: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!153/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/output/workspaces_to_rails_infos_converter.rb:15: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!154/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/persistence/orphaned_workspaces_observer.rb:12: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!155/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/persistence/workspaces_from_agent_infos_updater.rb:15: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!156/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/persistence/workspaces_to_be_returned_finder.rb:16: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!157/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/persistence/workspaces_to_be_returned_updater.rb:11: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!158Run options: exclude {:quarantine=>true, :level=>"background_migration", :click_house=>true}159Test environment set up in 0.742676153 seconds160Auth::ContainerRegistryAuthenticationService161 with deploy keys162 with IP restriction163 group with restriction164 address is within the range165 behaves like a container registry auth service166 .full_access_token167 behaves like an accessible168 has the correct scope169 behaves like a valid token170 is expected to include :token171 is expected to include "access"172 a expirable173 for default configuration174 is expected not to be within 2 of 2023-08-18 13:09:10.455081521 +0000175 for changed configuration176 is expected to be within 2 of 2023-08-18 13:09:10.510183058 +0000177 behaves like not a container repository factory178 does not create a new container repository resource179 .import_access_token180 has the correct scope181 behaves like a valid token182 is expected to include :token183 is expected to include "access"184 a expirable185 for default configuration186 is expected not to be within 2 of 2023-08-18 13:09:10.735748167 +0000187 for changed configuration188 is expected to be within 2 of 2023-08-18 13:09:10.785004175 +0000189 behaves like not a container repository factory190 does not create a new container repository resource191 .pull_access_token192 behaves like an accessible193 has the correct scope194 behaves like a valid token195 is expected to include :token196 is expected to include "access"197 a expirable198 for default configuration199 is expected not to be within 2 of 2023-08-18 13:09:11.223852444 +0000200 for changed configuration201 is expected to be within 2 of 2023-08-18 13:09:11.278373431 +0000202 behaves like not a container repository factory203 does not create a new container repository resource204 .pull_nested_repositories_access_token205 has the correct scope206 behaves like a valid token207 is expected to include :token208 is expected to include "access"209 a expirable210 for default configuration211 is expected not to be within 2 of 2023-08-18 13:09:11.753202908 +0000212 for changed configuration213 is expected to be within 2 of 2023-08-18 13:09:11.945889258 +0000214 behaves like not a container repository factory215 does not create a new container repository resource216 with path ending with a slash217 has the correct scope218 behaves like a valid token219 is expected to include :token220 is expected to include "access"221 a expirable222 for default configuration223 is expected not to be within 2 of 2023-08-18 13:09:12.977429598 +0000224 for changed configuration225 is expected to be within 2 of 2023-08-18 13:09:13.034948155 +0000226 behaves like not a container repository factory227 does not create a new container repository resource228 user authorization229 for registry catalog230 disallow browsing for users without GitLab admin rights231 behaves like an inaccessible232 is expected to include {"access" => []}233 behaves like a valid token234 is expected to include :token235 is expected to include "access"236 a expirable237 for default configuration238 is expected not to be within 2 of 2023-08-18 13:09:13.326577980 +0000239 for changed configuration240 is expected to be within 2 of 2023-08-18 13:09:13.376447668 +0000241 behaves like not a container repository factory242 does not create a new container repository resource243 for private project244 behaves like private project245 allow to use scope-less authentication246 behaves like a valid token247 is expected to include :token248 is expected to include "access"249 a expirable250 for default configuration251 is expected not to be within 2 of 2023-08-18 13:09:13.754449719 +0000252 for changed configuration253 is expected to be within 2 of 2023-08-18 13:09:13.802256137 +0000254 behaves like with auth_type255 is expected to eq "foo"256 contains the auth_type as part of the encoded user information in the payload257 allow developer to push images258 behaves like a pushable259 behaves like an accessible260 has the correct scope261 behaves like a valid token262 is expected to include :token263 is expected to include "access"264 a expirable265 for default configuration266 is expected not to be within 2 of 2023-08-18 13:09:14.310217252 +0000267 for changed configuration268 is expected to be within 2 of 2023-08-18 13:09:14.395227898 +0000269 behaves like container repository factory270 creates a new container repository resource271 behaves like with auth_type272 is expected to eq "foo"273 contains the auth_type as part of the encoded user information in the payload274 disallow developer to delete images275 behaves like an inaccessible276 is expected to include {"access" => []}277 behaves like a valid token278 is expected to include :token279 is expected to include "access"280 a expirable281 for default configuration282 is expected not to be within 2 of 2023-08-18 13:09:15.051907165 +0000283 for changed configuration284 is expected to be within 2 of 2023-08-18 13:09:15.134483321 +0000285 behaves like not a container repository factory286 does not create a new container repository resource287 behaves like logs an auth warning288 is expected to receive warn({:authorized_actions=>[], :message=>"Denied container registry permissions", :requested_actions=>["*"...ed_project_path=>"namespace5/project-5", :scope_type=>"repository", :user_id=>6, :username=>"user2"}) 1 time289 disallow developer to delete images since registry 2.7290 behaves like an inaccessible291 is expected to include {"access" => []}292 behaves like a valid token293 is expected to include :token294 is expected to include "access"295 a expirable296 for default configuration297 is expected not to be within 2 of 2023-08-18 13:09:15.672271455 +0000298 for changed configuration299 is expected to be within 2 of 2023-08-18 13:09:15.754218091 +0000300 behaves like not a container repository factory301 does not create a new container repository resource302 allow reporter to pull images303 when pulling from root level repository304 behaves like a pullable305 behaves like an accessible306 has the correct scope307 behaves like a valid token308 is expected to include :token309 is expected to include "access"310 a expirable311 for default configuration312 is expected not to be within 2 of 2023-08-18 13:09:16.169169900 +0000313 for changed configuration314 is expected to be within 2 of 2023-08-18 13:09:16.245370116 +0000315 behaves like not a container repository factory316 does not create a new container repository resource317 behaves like with auth_type318 is expected to eq "foo"319 contains the auth_type as part of the encoded user information in the payload320 disallow reporter to delete images321 behaves like an inaccessible322 is expected to include {"access" => []}323 behaves like a valid token324 is expected to include :token325 is expected to include "access"326 a expirable327 for default configuration328 is expected not to be within 2 of 2023-08-18 13:09:16.838292887 +0000329 for changed configuration330 is expected to be within 2 of 2023-08-18 13:09:16.918472863 +0000331 behaves like not a container repository factory332 does not create a new container repository resource333 disallow reporter to delete images since registry 2.7334 behaves like an inaccessible335 is expected to include {"access" => []}336 behaves like a valid token337 is expected to include :token338 is expected to include "access"339 a expirable340 for default configuration341 is expected not to be within 2 of 2023-08-18 13:09:17.409712169 +0000342 for changed configuration343 is expected to be within 2 of 2023-08-18 13:09:17.490620575 +0000344 behaves like not a container repository factory345 does not create a new container repository resource346 return a least of privileges347 behaves like a pullable348 behaves like an accessible349 has the correct scope350 behaves like a valid token351 is expected to include :token352 is expected to include "access"353 a expirable354 for default configuration355 is expected not to be within 2 of 2023-08-18 13:09:17.980002851 +0000356 for changed configuration357 is expected to be within 2 of 2023-08-18 13:09:18.083508646 +0000358 behaves like not a container repository factory359 does not create a new container repository resource360 behaves like with auth_type361 is expected to eq "foo"362 contains the auth_type as part of the encoded user information in the payload363 disallow guest to pull or push images364 behaves like an inaccessible365 is expected to include {"access" => []}366 behaves like a valid token367 is expected to include :token368 is expected to include "access"369 a expirable370 for default configuration371 is expected not to be within 2 of 2023-08-18 13:09:18.767726672 +0000372 for changed configuration373 is expected to be within 2 of 2023-08-18 13:09:18.857957318 +0000374 behaves like not a container repository factory375 does not create a new container repository resource376 disallow guest to delete images377 behaves like an inaccessible378 is expected to include {"access" => []}379 behaves like a valid token380 is expected to include :token381 is expected to include "access"382 a expirable383 for default configuration384 is expected not to be within 2 of 2023-08-18 13:09:19.369857703 +0000385 for changed configuration386 is expected to be within 2 of 2023-08-18 13:09:19.456576678 +0000387 behaves like not a container repository factory388 does not create a new container repository resource389 disallow guest to delete images since registry 2.7390 behaves like an inaccessible391 is expected to include {"access" => []}392 behaves like a valid token393 is expected to include :token394 is expected to include "access"395 a expirable396 for default configuration397 is expected not to be within 2 of 2023-08-18 13:09:19.939132235 +0000398 for changed configuration399 is expected to be within 2 of 2023-08-18 13:09:20.019550831 +0000400 behaves like not a container repository factory401 does not create a new container repository resource402 for public project with private container registry403 behaves like private project404 allow to use scope-less authentication405 behaves like a valid token406 is expected to include :token407 is expected to include "access"408 a expirable409 for default configuration410 is expected not to be within 2 of 2023-08-18 13:09:20.460587719 +0000411 for changed configuration412 is expected to be within 2 of 2023-08-18 13:09:20.508470377 +0000413 behaves like with auth_type414 is expected to eq "foo"415 contains the auth_type as part of the encoded user information in the payload416 allow developer to push images417 behaves like a pushable418 behaves like an accessible419 has the correct scope420 behaves like a valid token421 is expected to include :token422 is expected to include "access"423 a expirable424 for default configuration425 is expected not to be within 2 of 2023-08-18 13:09:21.015581062 +0000426 for changed configuration427 is expected to be within 2 of 2023-08-18 13:09:21.115501617 +0000428 behaves like container repository factory429 creates a new container repository resource430 behaves like with auth_type431 is expected to eq "foo"432 contains the auth_type as part of the encoded user information in the payload433 disallow developer to delete images434 behaves like an inaccessible435 is expected to include {"access" => []}436 behaves like a valid token437 is expected to include :token438 is expected to include "access"439 a expirable440 for default configuration441 is expected not to be within 2 of 2023-08-18 13:09:21.839732521 +0000442 for changed configuration443 is expected to be within 2 of 2023-08-18 13:09:21.928769007 +0000444 behaves like not a container repository factory445 does not create a new container repository resource446 behaves like logs an auth warning447 is expected to receive warn({:authorized_actions=>[], :message=>"Denied container registry permissions", :requested_actions=>["*"...ed_project_path=>"namespace6/project-6", :scope_type=>"repository", :user_id=>6, :username=>"user2"}) 1 time448 disallow developer to delete images since registry 2.7449 behaves like an inaccessible450 is expected to include {"access" => []}451 behaves like a valid token452 is expected to include :token453 is expected to include "access"454 a expirable455 for default configuration456 is expected not to be within 2 of 2023-08-18 13:09:22.505896918 +0000457 for changed configuration458 is expected to be within 2 of 2023-08-18 13:09:22.590878654 +0000459 behaves like not a container repository factory460 does not create a new container repository resource461 allow reporter to pull images462 when pulling from root level repository463 behaves like a pullable464 behaves like an accessible465 has the correct scope466 behaves like a valid token467 is expected to include :token468 is expected to include "access"469 a expirable470 for default configuration471 is expected not to be within 2 of 2023-08-18 13:09:23.038545552 +0000472 for changed configuration473 is expected to be within 2 of 2023-08-18 13:09:23.122240068 +0000474 behaves like not a container repository factory475 does not create a new container repository resource476 behaves like with auth_type477 is expected to eq "foo"478 contains the auth_type as part of the encoded user information in the payload479 disallow reporter to delete images480 behaves like an inaccessible481 is expected to include {"access" => []}482 behaves like a valid token483 is expected to include :token484 is expected to include "access"485 a expirable486 for default configuration487 is expected not to be within 2 of 2023-08-18 13:09:23.821948594 +0000488 for changed configuration489 is expected to be within 2 of 2023-08-18 13:09:23.963551667 +0000490 behaves like not a container repository factory491 does not create a new container repository resource492 disallow reporter to delete images since registry 2.7493 behaves like an inaccessible494 is expected to include {"access" => []}495 behaves like a valid token496 is expected to include :token497 is expected to include "access"498 a expirable499 for default configuration500 is expected not to be within 2 of 2023-08-18 13:09:24.530956899 +0000501 for changed configuration502 is expected to be within 2 of 2023-08-18 13:09:24.616205894 +0000503 behaves like not a container repository factory504 does not create a new container repository resource505 return a least of privileges506 behaves like a pullable507 behaves like an accessible508 has the correct scope509 behaves like a valid token510 is expected to include :token511 is expected to include "access"512 a expirable513 for default configuration514 is expected not to be within 2 of 2023-08-18 13:09:25.182125196 +0000515 for changed configuration516 is expected to be within 2 of 2023-08-18 13:09:25.281704342 +0000517 behaves like not a container repository factory518 does not create a new container repository resource519 behaves like with auth_type520 is expected to eq "foo"521 contains the auth_type as part of the encoded user information in the payload522 disallow guest to pull or push images523 behaves like an inaccessible524 is expected to include {"access" => []}525 behaves like a valid token526 is expected to include :token527 is expected to include "access"528 a expirable529 for default configuration530 is expected not to be within 2 of 2023-08-18 13:09:25.951085869 +0000531 for changed configuration532 is expected to be within 2 of 2023-08-18 13:09:26.043489954 +0000533 behaves like not a container repository factory534 does not create a new container repository resource535 disallow guest to delete images536 behaves like an inaccessible537 is expected to include {"access" => []}538 behaves like a valid token539 is expected to include :token540 is expected to include "access"541 a expirable542 for default configuration543 is expected not to be within 2 of 2023-08-18 13:09:26.547858709 +0000544 for changed configuration545 is expected to be within 2 of 2023-08-18 13:09:26.628530216 +0000546 behaves like not a container repository factory547 does not create a new container repository resource548 disallow guest to delete images since registry 2.7549 behaves like an inaccessible550 is expected to include {"access" => []}551 behaves like a valid token552 is expected to include :token553 is expected to include "access"554 a expirable555 for default configuration556 is expected not to be within 2 of 2023-08-18 13:09:27.088749163 +0000557 for changed configuration558 is expected to be within 2 of 2023-08-18 13:09:27.175867198 +0000559 behaves like not a container repository factory560 does not create a new container repository resource561 for public project with container_registry `enabled`562 allow anyone to pull images563 behaves like a pullable564 behaves like an accessible565 has the correct scope566 behaves like a valid token567 is expected to include :token568 is expected to include "access"569 a expirable570 for default configuration571 is expected not to be within 2 of 2023-08-18 13:09:27.757392900 +0000572 for changed configuration573 is expected to be within 2 of 2023-08-18 13:09:27.833931786 +0000574 behaves like not a container repository factory575 does not create a new container repository resource576 behaves like with auth_type577 is expected to eq "foo"578 contains the auth_type as part of the encoded user information in the payload579 disallow anyone to push images580 behaves like an inaccessible581 is expected to include {"access" => []}582 behaves like a valid token583 is expected to include :token584 is expected to include "access"585 a expirable586 for default configuration587 is expected not to be within 2 of 2023-08-18 13:09:28.337154871 +0000588 for changed configuration589 is expected to be within 2 of 2023-08-18 13:09:28.418417177 +0000590 behaves like not a container repository factory591 does not create a new container repository resource592 disallow anyone to delete images593 behaves like an inaccessible594 is expected to include {"access" => []}595 behaves like a valid token596 is expected to include :token597 is expected to include "access"598 a expirable599 for default configuration600 is expected not to be within 2 of 2023-08-18 13:09:28.803332928 +0000601 for changed configuration602 is expected to be within 2 of 2023-08-18 13:09:28.884043394 +0000603 behaves like not a container repository factory604 does not create a new container repository resource605 disallow anyone to delete images since registry 2.7606 behaves like an inaccessible607 is expected to include {"access" => []}608 behaves like a valid token609 is expected to include :token610 is expected to include "access"611 a expirable612 for default configuration613 is expected not to be within 2 of 2023-08-18 13:09:29.254733516 +0000614 for changed configuration615 is expected to be within 2 of 2023-08-18 13:09:29.331605452 +0000616 behaves like not a container repository factory617 does not create a new container repository resource618 when repository name is invalid619 behaves like an inaccessible620 is expected to include {"access" => []}621 behaves like a valid token622 is expected to include :token623 is expected to include "access"624 a expirable625 for default configuration626 is expected not to be within 2 of 2023-08-18 13:09:29.580213170 +0000627 for changed configuration628 is expected to be within 2 of 2023-08-18 13:09:29.631590018 +0000629 behaves like not a container repository factory630 does not create a new container repository resource631 for internal project with container_registry `enabled`632 for internal user633 allow anyone to pull images634 behaves like a pullable635 behaves like an accessible636 has the correct scope637 behaves like a valid token638 is expected to include :token639 is expected to include "access"640 a expirable641 for default configuration642 is expected not to be within 2 of 2023-08-18 13:09:30.207128359 +0000643 for changed configuration644 is expected to be within 2 of 2023-08-18 13:09:30.470688036 +0000645 behaves like not a container repository factory646 does not create a new container repository resource647 behaves like with auth_type648 is expected to eq "foo"649 contains the auth_type as part of the encoded user information in the payload650 disallow anyone to push images651 behaves like an inaccessible652 is expected to include {"access" => []}653 behaves like a valid token654 is expected to include :token655 is expected to include "access"656 a expirable657 for default configuration658 is expected not to be within 2 of 2023-08-18 13:09:31.024034769 +0000659 for changed configuration660 is expected to be within 2 of 2023-08-18 13:09:31.099279295 +0000661 behaves like not a container repository factory662 does not create a new container repository resource663 disallow anyone to delete images664 behaves like an inaccessible665 is expected to include {"access" => []}666 behaves like a valid token667 is expected to include :token668 is expected to include "access"669 a expirable670 for default configuration671 is expected not to be within 2 of 2023-08-18 13:09:31.445352788 +0000672 for changed configuration673 is expected to be within 2 of 2023-08-18 13:09:31.519491415 +0000674 behaves like not a container repository factory675 does not create a new container repository resource676 disallow anyone to delete images since registry 2.7677 behaves like an inaccessible678 is expected to include {"access" => []}679 behaves like a valid token680 is expected to include :token681 is expected to include "access"682 a expirable683 for default configuration684 is expected not to be within 2 of 2023-08-18 13:09:31.860102348 +0000685 for changed configuration686 is expected to be within 2 of 2023-08-18 13:09:31.934719334 +0000687 behaves like not a container repository factory688 does not create a new container repository resource689 for external user690 disallow anyone to pull or push images691 behaves like an inaccessible692 is expected to include {"access" => []}693 behaves like a valid token694 is expected to include :token695 is expected to include "access"696 a expirable697 for default configuration698 is expected not to be within 2 of 2023-08-18 13:09:32.410125301 +0000699 for changed configuration700 is expected to be within 2 of 2023-08-18 13:09:32.499160206 +0000701 behaves like not a container repository factory702 does not create a new container repository resource703 disallow anyone to delete images704 behaves like an inaccessible705 is expected to include {"access" => []}706 behaves like a valid token707 is expected to include :token708 is expected to include "access"709 a expirable710 for default configuration711 is expected not to be within 2 of 2023-08-18 13:09:32.963591813 +0000712 for changed configuration713 is expected to be within 2 of 2023-08-18 13:09:33.046160009 +0000714 behaves like not a container repository factory715 does not create a new container repository resource716 disallow anyone to delete images since registry 2.7717 behaves like an inaccessible718 is expected to include {"access" => []}719 behaves like a valid token720 is expected to include :token721 is expected to include "access"722 a expirable723 for default configuration724 is expected not to be within 2 of 2023-08-18 13:09:33.454922179 +0000725 for changed configuration726 is expected to be within 2 of 2023-08-18 13:09:33.529085456 +0000727 behaves like not a container repository factory728 does not create a new container repository resource729 for internal project with private container registry730 behaves like private project731 allow to use scope-less authentication732 behaves like a valid token733 is expected to include :token734 is expected to include "access"735 a expirable736 for default configuration737 is expected not to be within 2 of 2023-08-18 13:09:33.962436084 +0000738 for changed configuration739 is expected to be within 2 of 2023-08-18 13:09:34.012304742 +0000740 behaves like with auth_type741 is expected to eq "foo"742 contains the auth_type as part of the encoded user information in the payload743 allow developer to push images744 behaves like a pushable745 behaves like an accessible746 has the correct scope747 behaves like a valid token748 is expected to include :token749 is expected to include "access"750 a expirable751 for default configuration752 is expected not to be within 2 of 2023-08-18 13:09:34.500529578 +0000753 for changed configuration754 is expected to be within 2 of 2023-08-18 13:09:34.594165243 +0000755 behaves like container repository factory756 creates a new container repository resource757 behaves like with auth_type758 is expected to eq "foo"759 contains the auth_type as part of the encoded user information in the payload760 disallow developer to delete images761 behaves like an inaccessible762 is expected to include {"access" => []}763 behaves like a valid token764 is expected to include :token765 is expected to include "access"766 a expirable767 for default configuration768 is expected not to be within 2 of 2023-08-18 13:09:35.286160699 +0000769 for changed configuration770 is expected to be within 2 of 2023-08-18 13:09:35.370607705 +0000771 behaves like not a container repository factory772 does not create a new container repository resource773 behaves like logs an auth warning774 is expected to receive warn({:authorized_actions=>[], :message=>"Denied container registry permissions", :requested_actions=>["*"...ed_project_path=>"namespace9/project-9", :scope_type=>"repository", :user_id=>6, :username=>"user2"}) 1 time775 disallow developer to delete images since registry 2.7776 behaves like an inaccessible777 is expected to include {"access" => []}778 behaves like a valid token779 is expected to include :token780 is expected to include "access"781 a expirable782 for default configuration783 is expected not to be within 2 of 2023-08-18 13:09:35.933370767 +0000784 for changed configuration785 is expected to be within 2 of 2023-08-18 13:09:36.023167293 +0000786 behaves like not a container repository factory787 does not create a new container repository resource788 allow reporter to pull images789 when pulling from root level repository790 behaves like a pullable791 behaves like an accessible792 has the correct scope793 behaves like a valid token794 is expected to include :token795 is expected to include "access"796 a expirable797 for default configuration798 is expected not to be within 2 of 2023-08-18 13:09:36.477855490 +0000799 for changed configuration800 is expected to be within 2 of 2023-08-18 13:09:36.556767767 +0000801 behaves like not a container repository factory802 does not create a new container repository resource803 behaves like with auth_type804 is expected to eq "foo"805 contains the auth_type as part of the encoded user information in the payload806 disallow reporter to delete images807 behaves like an inaccessible808 is expected to include {"access" => []}809 behaves like a valid token810 is expected to include :token811 is expected to include "access"812 a expirable813 for default configuration814 is expected not to be within 2 of 2023-08-18 13:09:37.203442555 +0000815 for changed configuration816 is expected to be within 2 of 2023-08-18 13:09:37.292250540 +0000817 behaves like not a container repository factory818 does not create a new container repository resource819 disallow reporter to delete images since registry 2.7820 behaves like an inaccessible821 is expected to include {"access" => []}822 behaves like a valid token823 is expected to include :token824 is expected to include "access"825 a expirable826 for default configuration827 is expected not to be within 2 of 2023-08-18 13:09:37.783493086 +0000828 for changed configuration829 is expected to be within 2 of 2023-08-18 13:09:37.872257442 +0000830 behaves like not a container repository factory831 does not create a new container repository resource832 return a least of privileges833 behaves like a pullable834 behaves like an accessible835 has the correct scope836 behaves like a valid token837 is expected to include :token838 is expected to include "access"839 a expirable840 for default configuration841 is expected not to be within 2 of 2023-08-18 13:09:38.385791597 +0000842 for changed configuration843 is expected to be within 2 of 2023-08-18 13:09:38.476418972 +0000844 behaves like not a container repository factory845 does not create a new container repository resource846 behaves like with auth_type847 is expected to eq "foo"848 contains the auth_type as part of the encoded user information in the payload849 disallow guest to pull or push images850 behaves like an inaccessible851 is expected to include {"access" => []}852 behaves like a valid token853 is expected to include :token854 is expected to include "access"855 a expirable856 for default configuration857 is expected not to be within 2 of 2023-08-18 13:09:39.106676501 +0000858 for changed configuration859 is expected to be within 2 of 2023-08-18 13:09:39.192253177 +0000860 behaves like not a container repository factory861 does not create a new container repository resource862 disallow guest to delete images863 behaves like an inaccessible864 is expected to include {"access" => []}865 behaves like a valid token866 is expected to include :token867 is expected to include "access"868 a expirable869 for default configuration870 is expected not to be within 2 of 2023-08-18 13:09:39.658703224 +0000871 for changed configuration872 is expected to be within 2 of 2023-08-18 13:09:39.734534550 +0000873 behaves like not a container repository factory874 does not create a new container repository resource875 disallow guest to delete images since registry 2.7876 behaves like an inaccessible877 is expected to include {"access" => []}878 behaves like a valid token879 is expected to include :token880 is expected to include "access"881 a expirable882 for default configuration883 is expected not to be within 2 of 2023-08-18 13:09:40.165803099 +0000884 for changed configuration885 is expected to be within 2 of 2023-08-18 13:09:40.238065225 +0000886 behaves like not a container repository factory887 does not create a new container repository resource888 delete authorized as maintainer889 behaves like allowed to delete container repository images890 behaves like a valid token891 is expected to include :token892 is expected to include "access"893 a expirable894 for default configuration895 is expected not to be within 2 of 2023-08-18 13:09:40.759056840 +0000896 for changed configuration897 is expected to be within 2 of 2023-08-18 13:09:40.810116787 +0000898 allow to delete images899 behaves like a deletable900 behaves like an accessible901 has the correct scope902 behaves like a valid token903 is expected to include :token904 is expected to include "access"905 a expirable906 for default configuration907 is expected not to be within 2 of 2023-08-18 13:09:41.084338594 +0000908 for changed configuration909 is expected to be within 2 of 2023-08-18 13:09:41.158292770 +0000910 allow to delete images since registry 2.7911 behaves like a deletable since registry 2.7912 behaves like an accessible913 has the correct scope914 behaves like a valid token915 is expected to include :token916 is expected to include "access"917 a expirable918 for default configuration919 is expected not to be within 2 of 2023-08-18 13:09:41.474124795 +0000920 for changed configuration921 is expected to be within 2 of 2023-08-18 13:09:41.553680361 +0000922 build authorized as user923 allow to use offline_token924 behaves like an authenticated925 is expected to include :token926 is expected to include "access"927 behaves like a valid token928 is expected to include :token929 is expected to include "access"930 a expirable931 for default configuration932 is expected not to be within 2 of 2023-08-18 13:09:42.104233124 +0000933 for changed configuration934 is expected to be within 2 of 2023-08-18 13:09:42.156927121 +0000935 behaves like with auth_type936 is expected to eq "foo"937 contains the auth_type as part of the encoded user information in the payload938 allow to pull and push images939 behaves like a pullable and pushable940 behaves like an accessible941 has the correct scope942 behaves like a valid token943 is expected to include :token944 is expected to include "access"945 a expirable946 for default configuration947 is expected not to be within 2 of 2023-08-18 13:09:42.542083972 +0000948 for changed configuration949 is expected to be within 2 of 2023-08-18 13:09:42.617673708 +0000950 behaves like container repository factory951 creates a new container repository resource952 allow to delete images since registry 2.7953 behaves like a deletable since registry 2.7954 behaves like an accessible955 has the correct scope956 behaves like a valid token957 is expected to include :token958 is expected to include "access"959 a expirable960 for default configuration961 is expected not to be within 2 of 2023-08-18 13:09:42.932034623 +0000962 for changed configuration963 is expected to be within 2 of 2023-08-18 13:09:42.993702150 +0000964 disallow to delete images965 behaves like an inaccessible966 is expected to include {"access" => []}967 behaves like a valid token968 is expected to include :token969 is expected to include "access"970 a expirable971 for default configuration972 is expected not to be within 2 of 2023-08-18 13:09:43.214922299 +0000973 for changed configuration974 is expected to be within 2 of 2023-08-18 13:09:43.302985305 +0000975 for other projects976 when pulling977 allow for public978 behaves like a pullable979 behaves like an accessible980 has the correct scope981 behaves like a valid token982 is expected to include :token983 is expected to include "access"984 a expirable985 for default configuration986 is expected not to be within 2 of 2023-08-18 13:09:43.773958182 +0000987 for changed configuration988 is expected to be within 2 of 2023-08-18 13:09:43.840680338 +0000989 behaves like not a container repository factory990 does not create a new container repository resource991 for private992 behaves like pullable for being team member993 when you are not member994 behaves like an inaccessible995 is expected to include {"access" => []}996 behaves like a valid token997 is expected to include :token998 is expected to include "access"999 a expirable1000 for default configuration1001 is expected not to be within 2 of 2023-08-18 13:09:44.358430383 +00001002 for changed configuration1003 is expected to be within 2 of 2023-08-18 13:09:44.424413009 +00001004 behaves like not a container repository factory1005 does not create a new container repository resource1006 when you are member1007 behaves like a pullable1008 behaves like an accessible1009 has the correct scope1010 behaves like a valid token1011 is expected to include :token1012 is expected to include "access"1013 a expirable1014 for default configuration1015 is expected not to be within 2 of 2023-08-18 13:09:44.817274400 +00001016 for changed configuration1017 is expected to be within 2 of 2023-08-18 13:09:44.891625206 +00001018 behaves like not a container repository factory1019 does not create a new container repository resource1020 when you are owner1021 behaves like a pullable1022 behaves like an accessible1023 has the correct scope1024 behaves like a valid token1025 is expected to include :token1026 is expected to include "access"1027 a expirable1028 for default configuration1029 is expected not to be within 2 of 2023-08-18 13:09:45.432087910 +00001030 for changed configuration1031 is expected to be within 2 of 2023-08-18 13:09:45.542551175 +00001032 behaves like not a container repository factory1033 does not create a new container repository resource1034 when you are admin1035 when you are not member1036 behaves like an inaccessible1037 is expected to include {"access" => []}1038 behaves like a valid token1039 is expected to include :token1040 is expected to include "access"1041 a expirable1042 for default configuration1043 is expected not to be within 2 of 2023-08-18 13:09:45.931975365 +00001044 for changed configuration1045 is expected to be within 2 of 2023-08-18 13:09:46.000505732 +00001046 behaves like not a container repository factory1047 does not create a new container repository resource1048 when you are member1049 behaves like a pullable1050 behaves like an accessible1051 has the correct scope1052 behaves like a valid token1053 is expected to include :token1054 is expected to include "access"1055 a expirable1056 for default configuration1057 is expected not to be within 2 of 2023-08-18 13:09:46.406062942 +00001058 for changed configuration1059 is expected to be within 2 of 2023-08-18 13:09:46.479175828 +00001060 behaves like not a container repository factory1061 does not create a new container repository resource1062 when you are owner1063 behaves like a pullable1064 behaves like an accessible1065 has the correct scope1066 behaves like a valid token1067 is expected to include :token1068 is expected to include "access"1069 a expirable1070 for default configuration1071 is expected not to be within 2 of 2023-08-18 13:09:46.970601764 +00001072 for changed configuration1073 is expected to be within 2 of 2023-08-18 13:09:47.043241700 +00001074 behaves like not a container repository factory1075 does not create a new container repository resource1076 for public project with private container registry1077 behaves like pullable for being team member1078 when you are not member1079 behaves like an inaccessible1080 is expected to include {"access" => []}1081 behaves like a valid token1082 is expected to include :token1083 is expected to include "access"1084 a expirable1085 for default configuration1086 is expected not to be within 2 of 2023-08-18 13:09:47.661683040 +00001087 for changed configuration1088 is expected to be within 2 of 2023-08-18 13:09:47.737747726 +00001089 behaves like not a container repository factory1090 does not create a new container repository resource1091 when you are member1092 behaves like a pullable1093 behaves like an accessible1094 has the correct scope1095 behaves like a valid token1096 is expected to include :token1097 is expected to include "access"1098 a expirable1099 for default configuration1100 is expected not to be within 2 of 2023-08-18 13:09:48.184431774 +00001101 for changed configuration1102 is expected to be within 2 of 2023-08-18 13:09:48.266812180 +00001103 behaves like not a container repository factory1104 does not create a new container repository resource1105 when you are owner1106 behaves like a pullable1107 behaves like an accessible1108 has the correct scope1109 behaves like a valid token1110 is expected to include :token1111 is expected to include "access"1112 a expirable1113 for default configuration1114 is expected not to be within 2 of 2023-08-18 13:09:48.774690205 +00001115 for changed configuration1116 is expected to be within 2 of 2023-08-18 13:09:48.851359581 +00001117 behaves like not a container repository factory1118 does not create a new container repository resource1119 when you are admin1120 behaves like pullable for being team member1121 when you are not member1122 behaves like an inaccessible1123 is expected to include {"access" => []}1124 behaves like a valid token1125 is expected to include :token1126 is expected to include "access"1127 a expirable1128 for default configuration1129 is expected not to be within 2 of 2023-08-18 13:09:49.280254110 +00001130 for changed configuration1131 is expected to be within 2 of 2023-08-18 13:09:49.354749937 +00001132 behaves like not a container repository factory1133 does not create a new container repository resource1134 when you are member1135 behaves like a pullable1136 behaves like an accessible1137 has the correct scope1138 behaves like a valid token1139 is expected to include :token1140 is expected to include "access"1141 a expirable1142 for default configuration1143 is expected not to be within 2 of 2023-08-18 13:09:49.862115072 +00001144 for changed configuration1145 is expected to be within 2 of 2023-08-18 13:09:49.955686057 +00001146 behaves like not a container repository factory1147 does not create a new container repository resource1148 when you are owner1149 behaves like a pullable1150 behaves like an accessible1151 has the correct scope1152 behaves like a valid token1153 is expected to include :token1154 is expected to include "access"1155 a expirable1156 for default configuration1157 is expected not to be within 2 of 2023-08-18 13:09:50.495326120 +00001158 for changed configuration1159 is expected to be within 2 of 2023-08-18 13:09:50.576876977 +00001160 behaves like not a container repository factory1161 does not create a new container repository resource1162 when pushing1163 disallow for all1164 when you are member1165 behaves like an inaccessible1166 is expected to include {"access" => []}1167 behaves like a valid token1168 is expected to include :token1169 is expected to include "access"1170 a expirable1171 for default configuration1172 is expected not to be within 2 of 2023-08-18 13:09:51.155475028 +00001173 for changed configuration1174 is expected to be within 2 of 2023-08-18 13:09:51.216964085 +00001175 behaves like not a container repository factory1176 does not create a new container repository resource1177 when you are owner1178 behaves like an inaccessible1179 is expected to include {"access" => []}1180 behaves like a valid token1181 is expected to include :token1182 is expected to include "access"1183 a expirable1184 for default configuration1185 is expected not to be within 2 of 2023-08-18 13:09:51.678824242 +00001186 for changed configuration1187 is expected to be within 2 of 2023-08-18 13:09:51.743535749 +00001188 behaves like not a container repository factory1189 does not create a new container repository resource1190 for project without container registry1191 disallow when pulling1192 behaves like an inaccessible1193 is expected to include {"access" => []}1194 behaves like a valid token1195 is expected to include :token1196 is expected to include "access"1197 a expirable1198 for default configuration1199 is expected not to be within 2 of 2023-08-18 13:09:52.311843481 +00001200 for changed configuration1201 is expected to be within 2 of 2023-08-18 13:09:52.381126678 +00001202 behaves like not a container repository factory1203 does not create a new container repository resource1204 for project that disables repository1205 disallow when pulling1206 behaves like an inaccessible1207 is expected to include {"access" => []}1208 behaves like a valid token1209 is expected to include :token1210 is expected to include "access"1211 a expirable1212 for default configuration1213 is expected not to be within 2 of 2023-08-18 13:09:52.880960383 +00001214 for changed configuration1215 is expected to be within 2 of 2023-08-18 13:09:52.940109250 +00001216 behaves like not a container repository factory1217 does not create a new container repository resource1218 registry catalog browsing authorized as admin1219 behaves like a browsable1220 has the correct scope1221 behaves like a valid token1222 is expected to include :token1223 is expected to include "access"1224 a expirable1225 for default configuration1226 is expected not to be within 2 of 2023-08-18 13:09:53.443675375 +00001227 for changed configuration1228 is expected to be within 2 of 2023-08-18 13:09:53.493585703 +00001229 behaves like not a container repository factory1230 does not create a new container repository resource1231 support for multiple scopes1232 user has access to all projects1233 behaves like a browsable1234 has the correct scope1235 behaves like a valid token1236 is expected to include :token1237 is expected to include "access"1238 a expirable1239 for default configuration1240 is expected not to be within 2 of 2023-08-18 13:09:54.924578312 +00001241 for changed configuration1242 is expected to be within 2 of 2023-08-18 13:09:55.045773537 +00001243 behaves like not a container repository factory1244 does not create a new container repository resource1245 user only has access to internal and public projects1246 behaves like a browsable1247 has the correct scope1248 behaves like a valid token1249 is expected to include :token1250 is expected to include "access"1251 a expirable1252 for default configuration1253 is expected not to be within 2 of 2023-08-18 13:09:55.715290214 +00001254 for changed configuration1255 is expected to be within 2 of 2023-08-18 13:09:55.838443538 +00001256 behaves like not a container repository factory1257 does not create a new container repository resource1258 anonymous user has access only to public project1259 behaves like a browsable1260 has the correct scope1261 behaves like a valid token1262 is expected to include :token1263 is expected to include "access"1264 a expirable1265 for default configuration1266 is expected not to be within 2 of 2023-08-18 13:09:56.334918973 +00001267 for changed configuration1268 is expected to be within 2 of 2023-08-18 13:09:56.470680547 +00001269 behaves like not a container repository factory1270 does not create a new container repository resource1271 with no public container registry1272 behaves like a forbidden1273 is expected to include {:http_status => 403}1274 is expected not to include :token1275 unauthorized1276 disallow to use scope-less authentication1277 behaves like a forbidden1278 is expected to include {:http_status => 403}1279 is expected not to include :token1280 behaves like not a container repository factory1281 does not create a new container repository resource1282 for invalid scope1283 behaves like a forbidden1284 is expected to include {:http_status => 403}1285 is expected not to include :token1286 behaves like not a container repository factory1287 does not create a new container repository resource1288 for private project1289 behaves like a forbidden1290 is expected to include {:http_status => 403}1291 is expected not to include :token1292 for public project with container registry `enabled`1293 when pulling and pushing1294 behaves like a pullable1295 behaves like an accessible1296 has the correct scope1297 behaves like a valid token1298 is expected to include :token1299 is expected to include "access"1300 a expirable1301 for default configuration1302 is expected not to be within 2 of 2023-08-18 13:09:57.908452906 +00001303 for changed configuration1304 is expected to be within 2 of 2023-08-18 13:09:58.004671101 +00001305 behaves like not a container repository factory1306 does not create a new container repository resource1307 when pushing1308 behaves like a forbidden1309 is expected to include {:http_status => 403}1310 is expected not to include :token1311 behaves like not a container repository factory1312 does not create a new container repository resource1313 for public project with container registry `private`1314 when pulling and pushing1315 behaves like a forbidden1316 is expected to include {:http_status => 403}1317 is expected not to include :token1318 behaves like not a container repository factory1319 does not create a new container repository resource1320 for registry catalog1321 behaves like a forbidden1322 is expected to include {:http_status => 403}1323 is expected not to include :token1324 behaves like not a container repository factory1325 does not create a new container repository resource1326 for deploy tokens1327 when deploy token has read and write registry as scopes1328 for public project1329 when pulling1330 behaves like a pullable1331 behaves like an accessible1332 has the correct scope1333 behaves like a valid token1334 is expected to include :token1335 is expected to include "access"1336 a expirable1337 for default configuration1338 is expected not to be within 2 of 2023-08-18 13:09:59.565175284 +00001339 for changed configuration1340 is expected to be within 2 of 2023-08-18 13:09:59.672587239 +00001341 when pushing1342 behaves like a pushable1343 behaves like an accessible1344 has the correct scope1345 behaves like a valid token1346 is expected to include :token1347 is expected to include "access"1348 a expirable1349 for default configuration1350 is expected not to be within 2 of 2023-08-18 13:10:00.148956705 +00001351 for changed configuration1352 is expected to be within 2 of 2023-08-18 13:10:00.273208789 +00001353 behaves like able to login1354 registry provides read_container_image authentication_abilities1355 is expected to eq "deploy_token"1356 has encoded user information in the payload1357 behaves like an authenticated1358 is expected to include :token1359 is expected to include "access"1360 for internal project1361 when pulling1362 behaves like a pullable1363 behaves like an accessible1364 has the correct scope1365 behaves like a valid token1366 is expected to include :token1367 is expected to include "access"1368 a expirable1369 for default configuration1370 is expected not to be within 2 of 2023-08-18 13:10:01.242571562 +00001371 for changed configuration1372 is expected to be within 2 of 2023-08-18 13:10:01.363082526 +00001373 when pushing1374 behaves like a pushable1375 behaves like an accessible1376 has the correct scope1377 behaves like a valid token1378 is expected to include :token1379 is expected to include "access"1380 a expirable1381 for default configuration1382 is expected not to be within 2 of 2023-08-18 13:10:01.820721293 +00001383 for changed configuration1384 is expected to be within 2 of 2023-08-18 13:10:01.938362927 +00001385 behaves like able to login1386 registry provides read_container_image authentication_abilities1387 is expected to eq "deploy_token"1388 has encoded user information in the payload1389 behaves like an authenticated1390 is expected to include :token1391 is expected to include "access"1392 for private project1393 when pulling1394 behaves like a pullable1395 behaves like an accessible1396 has the correct scope1397 behaves like a valid token1398 is expected to include :token1399 is expected to include "access"1400 a expirable1401 for default configuration1402 is expected not to be within 2 of 2023-08-18 13:10:02.892147130 +00001403 for changed configuration1404 is expected to be within 2 of 2023-08-18 13:10:03.007432935 +00001405 when pushing1406 behaves like a pushable1407 behaves like an accessible1408 has the correct scope1409 behaves like a valid token1410 is expected to include :token1411 is expected to include "access"1412 a expirable1413 for default configuration1414 is expected not to be within 2 of 2023-08-18 13:10:03.485805841 +00001415 for changed configuration1416 is expected to be within 2 of 2023-08-18 13:10:03.608710925 +00001417 behaves like able to login1418 registry provides read_container_image authentication_abilities1419 is expected to eq "deploy_token"1420 has encoded user information in the payload1421 behaves like an authenticated1422 is expected to include :token1423 is expected to include "access"1424 for public project with private container registry1425 when pulling1426 behaves like a pullable1427 behaves like an accessible1428 has the correct scope1429 behaves like a valid token1430 is expected to include :token1431 is expected to include "access"1432 a expirable1433 for default configuration1434 is expected not to be within 2 of 2023-08-18 13:10:04.621711825 +00001435 for changed configuration1436 is expected to be within 2 of 2023-08-18 13:10:04.779017438 +00001437 when pushing1438 behaves like a pushable1439 behaves like an accessible1440 has the correct scope1441 behaves like a valid token1442 is expected to include :token1443 is expected to include "access"1444 a expirable1445 for default configuration1446 is expected not to be within 2 of 2023-08-18 13:10:05.312621551 +00001447 for changed configuration1448 is expected to be within 2 of 2023-08-18 13:10:05.451436104 +00001449 behaves like able to login1450 registry provides read_container_image authentication_abilities1451 is expected to eq "deploy_token"1452 has encoded user information in the payload1453 behaves like an authenticated1454 is expected to include :token1455 is expected to include "access"1456 when deploy token does not have read_registry scope1457 for public project with container registry `enabled`1458 when pulling1459 behaves like a pullable1460 behaves like an accessible1461 has the correct scope1462 behaves like a valid token1463 is expected to include :token1464 is expected to include "access"1465 a expirable1466 for default configuration1467 is expected not to be within 2 of 2023-08-18 13:10:06.598295508 +00001468 for changed configuration1469 is expected to be within 2 of 2023-08-18 13:10:06.727254872 +00001470 behaves like unable to login1471 registry provides no container authentication_abilities1472 behaves like a forbidden1473 is expected to include {:http_status => 403}1474 is expected not to include :token1475 registry provides inapplicable container authentication_abilities1476 behaves like a forbidden1477 is expected to include {:http_status => 403}1478 is expected not to include :token1479 for public project with container registry `private`1480 when pulling1481 behaves like an inaccessible1482 is expected to include {"access" => []}1483 behaves like a valid token1484 is expected to include :token1485 is expected to include "access"1486 a expirable1487 for default configuration1488 is expected not to be within 2 of 2023-08-18 13:10:07.853894146 +00001489 for changed configuration1490 is expected to be within 2 of 2023-08-18 13:10:07.984935780 +00001491 behaves like unable to login1492 registry provides no container authentication_abilities1493 behaves like a forbidden1494 is expected to include {:http_status => 403}1495 is expected not to include :token1496 registry provides inapplicable container authentication_abilities1497 behaves like a forbidden1498 is expected to include {:http_status => 403}1499 is expected not to include :token1500 for internal project1501 when pulling1502 behaves like an inaccessible1503 is expected to include {"access" => []}1504 behaves like a valid token1505 is expected to include :token1506 is expected to include "access"1507 a expirable1508 for default configuration1509 is expected not to be within 2 of 2023-08-18 13:10:09.020655359 +00001510 for changed configuration1511 is expected to be within 2 of 2023-08-18 13:10:09.159960382 +00001512 behaves like unable to login1513 registry provides no container authentication_abilities1514 behaves like a forbidden1515 is expected to include {:http_status => 403}1516 is expected not to include :token1517 registry provides inapplicable container authentication_abilities1518 behaves like a forbidden1519 is expected to include {:http_status => 403}1520 is expected not to include :token1521 for private project1522 when pulling1523 behaves like an inaccessible1524 is expected to include {"access" => []}1525 behaves like a valid token1526 is expected to include :token1527 is expected to include "access"1528 a expirable1529 for default configuration1530 is expected not to be within 2 of 2023-08-18 13:10:10.082155456 +00001531 for changed configuration1532 is expected to be within 2 of 2023-08-18 13:10:10.174216842 +00001533 when logging in1534 behaves like a forbidden1535 is expected to include {:http_status => 403}1536 is expected not to include :token1537 behaves like unable to login1538 registry provides no container authentication_abilities1539 behaves like a forbidden1540 is expected to include {:http_status => 403}1541 is expected not to include :token1542 registry provides inapplicable container authentication_abilities1543 behaves like a forbidden1544 is expected to include {:http_status => 403}1545 is expected not to include :token1546 when deploy token is not related to the project1547 for public project with container registry `enabled`1548 when pulling1549 behaves like a pullable1550 behaves like an accessible1551 has the correct scope1552 behaves like a valid token1553 is expected to include :token1554 is expected to include "access"1555 a expirable1556 for default configuration1557 is expected not to be within 2 of 2023-08-18 13:10:11.132262725 +00001558 for changed configuration1559 is expected to be within 2 of 2023-08-18 13:10:11.254033769 +00001560 for public project with container registry `private`1561 when pulling1562 behaves like an inaccessible1563 is expected to include {"access" => []}1564 behaves like a valid token1565 is expected to include :token1566 is expected to include "access"1567 a expirable1568 for default configuration1569 is expected not to be within 2 of 2023-08-18 13:10:11.933967765 +00001570 for changed configuration1571 is expected to be within 2 of 2023-08-18 13:10:12.049218240 +00001572 for internal project1573 when pulling1574 behaves like an inaccessible1575 is expected to include {"access" => []}1576 behaves like a valid token1577 is expected to include :token1578 is expected to include "access"1579 a expirable1580 for default configuration1581 is expected not to be within 2 of 2023-08-18 13:10:12.623590401 +00001582 for changed configuration1583 is expected to be within 2 of 2023-08-18 13:10:12.698699398 +00001584 for private project1585 when pulling1586 behaves like an inaccessible1587 is expected to include {"access" => []}1588 behaves like a valid token1589 is expected to include :token1590 is expected to include "access"1591 a expirable1592 for default configuration1593 is expected not to be within 2 of 2023-08-18 13:10:13.232172402 +00001594 for changed configuration1595 is expected to be within 2 of 2023-08-18 13:10:13.305774408 +00001596 when deploy token has been revoked1597 for public project with container registry `enabled`1598 behaves like a pullable1599 behaves like an accessible1600 has the correct scope1601 behaves like a valid token1602 is expected to include :token1603 is expected to include "access"1604 a expirable1605 for default configuration1606 is expected not to be within 2 of 2023-08-18 13:10:14.035228432 +00001607 for changed configuration1608 is expected to be within 2 of 2023-08-18 13:10:14.150212446 +00001609 for public project with container registry `private`1610 behaves like an inaccessible1611 is expected to include {"access" => []}1612 behaves like a valid token1613 is expected to include :token1614 is expected to include "access"1615 a expirable1616 for default configuration1617 is expected not to be within 2 of 2023-08-18 13:10:14.781362265 +00001618 for changed configuration1619 is expected to be within 2 of 2023-08-18 13:10:14.873877771 +00001620 for internal project1621 behaves like an inaccessible1622 is expected to include {"access" => []}1623 behaves like a valid token1624 is expected to include :token1625 is expected to include "access"1626 a expirable1627 for default configuration1628 is expected not to be within 2 of 2023-08-18 13:10:15.494058790 +00001629 for changed configuration1630 is expected to be within 2 of 2023-08-18 13:10:15.590301655 +00001631 for private project1632 behaves like an inaccessible1633 is expected to include {"access" => []}1634 behaves like a valid token1635 is expected to include :token1636 is expected to include "access"1637 a expirable1638 for default configuration1639 is expected not to be within 2 of 2023-08-18 13:10:16.214471815 +00001640 for changed configuration1641 is expected to be within 2 of 2023-08-18 13:10:16.315433729 +00001642 user authorization1643 with multiple scopes1644 has encoded user information in the payload1645 allow developer to push images1646 behaves like a pushable1647 behaves like an accessible1648 has the correct scope1649 behaves like a valid token1650 is expected to include :token1651 is expected to include "access"1652 a expirable1653 for default configuration1654 is expected not to be within 2 of 2023-08-18 13:10:17.073151032 +00001655 for changed configuration1656 is expected to be within 2 of 2023-08-18 13:10:17.164206948 +00001657 behaves like container repository factory1658 creates a new container repository resource1659 behaves like with auth_type1660 is expected to eq "foo"1661 contains the auth_type as part of the encoded user information in the payload1662 when importing1663 push request1664 behaves like a forbidden1665 is expected to include {:http_status => 403}1666 is expected not to include :token1667 behaves like containing the import error1668 includes a helpful error message1669 delete request1670 behaves like a forbidden1671 is expected to include {:http_status => 403}1672 is expected not to include :token1673 behaves like containing the import error1674 includes a helpful error message1675 * request1676 behaves like a forbidden1677 is expected to include {:http_status => 403}1678 is expected not to include :token1679 behaves like containing the import error1680 includes a helpful error message1681 pull request1682 behaves like a pullable1683 behaves like an accessible1684 has the correct scope1685 behaves like a valid token1686 is expected to include :token1687 is expected to include "access"1688 a expirable1689 for default configuration1690 is expected not to be within 2 of 2023-08-18 13:10:19.739826421 +00001691 for changed configuration1692 is expected to be within 2 of 2023-08-18 13:10:19.919168242 +00001693 mixed request1694 behaves like a forbidden1695 is expected to include {:http_status => 403}1696 is expected not to include :token1697 behaves like containing the import error1698 includes a helpful error message1699 with a project with a path containing special characters1700 #access_token1701 has the correct scope1702 behaves like a valid token1703 is expected to include :token1704 is expected to include "access"1705 a expirable1706 for default configuration1707 is expected not to be within 2 of 2023-08-18 13:10:21.025157098 +00001708 for changed configuration1709 is expected to be within 2 of 2023-08-18 13:10:21.110979634 +00001710 address is outside the range1711 when actor is a deploy token with read access1712 behaves like an inaccessible1713 is expected to include {"access" => []}1714 behaves like a valid token1715 is expected to include :token1716 is expected to include "access"1717 a expirable1718 for default configuration1719 is expected not to be within 2 of 2023-08-18 13:10:21.585884110 +00001720 for changed configuration1721 is expected to be within 2 of 2023-08-18 13:10:21.710779784 +00001722 behaves like not a container repository factory1723 does not create a new container repository resource1724 behaves like logs an auth warning1725 is expected to receive warn({:authorized_actions=>[], :message=>"Denied container registry permissions", :requested_actions=>["push", "pull"], :requested_project_path=>"group1/project-1", :scope_type=>"repository"}) 1 time1726 in maintenance mode1727 allows developer to pull images1728 behaves like a pullable1729 behaves like an accessible1730 has the correct scope1731 behaves like a valid token1732 is expected to include :token1733 is expected to include "access"1734 a expirable1735 for default configuration1736 is expected not to be within 2 of 2023-08-18 13:10:23.012540130 +00001737 for changed configuration1738 is expected to be within 2 of 2023-08-18 13:10:23.176314472 +00001739 does not allow developer to push images1740 behaves like not a container repository factory1741 does not create a new container repository resource1742 behaves like logs an auth warning1743 is expected to receive warn({:authorized_actions=>[], :message=>"Write access denied in maintenance mode", :requested_actions=>["...pe=>"repository", :user_id=>59, :username=>"user15", :write_access_denied_in_maintenance_mode=>true}) 1 time1744 does not allow developer to delete images1745 behaves like not a container repository factory1746 does not create a new container repository resource1747 behaves like logs an auth warning1748 is expected to receive warn({:authorized_actions=>[], :message=>"Write access denied in maintenance mode", :requested_actions=>["...pe=>"repository", :user_id=>59, :username=>"user15", :write_access_denied_in_maintenance_mode=>true}) 1 time1749 when not in maintenance mode1750 behaves like a container registry auth service1751 .full_access_token1752 behaves like an accessible1753 has the correct scope1754 behaves like a valid token1755 is expected to include :token1756 is expected to include "access"1757 a expirable1758 for default configuration1759 is expected not to be within 2 of 2023-08-18 13:10:24.315973556 +00001760 for changed configuration1761 is expected to be within 2 of 2023-08-18 13:10:24.364628733 +00001762 behaves like not a container repository factory1763 does not create a new container repository resource1764 .import_access_token1765 has the correct scope1766 behaves like a valid token1767 is expected to include :token1768 is expected to include "access"1769 a expirable1770 for default configuration1771 is expected not to be within 2 of 2023-08-18 13:10:24.575729663 +00001772 for changed configuration1773 is expected to be within 2 of 2023-08-18 13:10:24.621274151 +00001774 behaves like not a container repository factory1775 does not create a new container repository resource1776 .pull_access_token1777 behaves like an accessible1778 has the correct scope1779 behaves like a valid token1780 is expected to include :token1781 is expected to include "access"1782 a expirable1783 for default configuration1784 is expected not to be within 2 of 2023-08-18 13:10:25.121097096 +00001785 for changed configuration1786 is expected to be within 2 of 2023-08-18 13:10:25.173480754 +00001787 behaves like not a container repository factory1788 does not create a new container repository resource1789 .pull_nested_repositories_access_token1790 has the correct scope1791 behaves like a valid token1792 is expected to include :token1793 is expected to include "access"1794 a expirable1795 for default configuration1796 is expected not to be within 2 of 2023-08-18 13:10:25.676732989 +00001797 for changed configuration1798 is expected to be within 2 of 2023-08-18 13:10:25.731317976 +00001799 behaves like not a container repository factory1800 does not create a new container repository resource1801 with path ending with a slash1802 has the correct scope1803 behaves like a valid token1804 is expected to include :token1805 is expected to include "access"1806 a expirable1807 for default configuration1808 is expected not to be within 2 of 2023-08-18 13:10:25.993703603 +00001809 for changed configuration1810 is expected to be within 2 of 2023-08-18 13:10:26.050686440 +00001811 behaves like not a container repository factory1812 does not create a new container repository resource1813 user authorization1814 for registry catalog1815 disallow browsing for users without GitLab admin rights1816 behaves like an inaccessible1817 is expected to include {"access" => []}1818 behaves like a valid token1819 is expected to include :token1820 is expected to include "access"1821 a expirable1822 for default configuration1823 is expected not to be within 2 of 2023-08-18 13:10:26.338285056 +00001824 for changed configuration1825 is expected to be within 2 of 2023-08-18 13:10:26.383783884 +00001826 behaves like not a container repository factory1827 does not create a new container repository resource1828 for private project1829 behaves like private project1830 allow to use scope-less authentication1831 behaves like a valid token1832 is expected to include :token1833 is expected to include "access"1834 a expirable1835 for default configuration1836 is expected not to be within 2 of 2023-08-18 13:10:26.808411513 +00001837 for changed configuration1838 is expected to be within 2 of 2023-08-18 13:10:26.854598901 +00001839 behaves like with auth_type1840 is expected to eq "foo"1841 contains the auth_type as part of the encoded user information in the payload1842 allow developer to push images1843 behaves like a pushable1844 behaves like an accessible1845 has the correct scope1846 behaves like a valid token1847 is expected to include :token1848 is expected to include "access"1849 a expirable1850 for default configuration1851 is expected not to be within 2 of 2023-08-18 13:10:27.358544076 +00001852 for changed configuration1853 is expected to be within 2 of 2023-08-18 13:10:27.449687922 +00001854 behaves like container repository factory1855 creates a new container repository resource1856 behaves like with auth_type1857 is expected to eq "foo"1858 contains the auth_type as part of the encoded user information in the payload1859 disallow developer to delete images1860 behaves like an inaccessible1861 is expected to include {"access" => []}1862 behaves like a valid token1863 is expected to include :token1864 is expected to include "access"1865 a expirable1866 for default configuration1867 is expected not to be within 2 of 2023-08-18 13:10:28.076379731 +00001868 for changed configuration1869 is expected to be within 2 of 2023-08-18 13:10:28.155959657 +00001870 behaves like not a container repository factory1871 does not create a new container repository resource1872 behaves like logs an auth warning1873 is expected to receive warn({:authorized_actions=>[], :message=>"Denied container registry permissions", :requested_actions=>["*"...roject_path=>"namespace49/project-54", :scope_type=>"repository", :user_id=>64, :username=>"user16"}) 1 time1874 disallow developer to delete images since registry 2.71875 behaves like an inaccessible1876 is expected to include {"access" => []}1877 behaves like a valid token1878 is expected to include :token1879 is expected to include "access"1880 a expirable1881 for default configuration1882 is expected not to be within 2 of 2023-08-18 13:10:28.725246069 +00001883 for changed configuration1884 is expected to be within 2 of 2023-08-18 13:10:28.808567724 +00001885 behaves like not a container repository factory1886 does not create a new container repository resource1887 allow reporter to pull images1888 when pulling from root level repository1889 behaves like a pullable1890 behaves like an accessible1891 has the correct scope1892 behaves like a valid token1893 is expected to include :token1894 is expected to include "access"1895 a expirable1896 for default configuration1897 is expected not to be within 2 of 2023-08-18 13:10:29.263038192 +00001898 for changed configuration1899 is expected to be within 2 of 2023-08-18 13:10:29.345700848 +00001900 behaves like not a container repository factory1901 does not create a new container repository resource1902 behaves like with auth_type1903 is expected to eq "foo"1904 contains the auth_type as part of the encoded user information in the payload1905 disallow reporter to delete images1906 behaves like an inaccessible1907 is expected to include {"access" => []}1908 behaves like a valid token1909 is expected to include :token1910 is expected to include "access"1911 a expirable1912 for default configuration1913 is expected not to be within 2 of 2023-08-18 13:10:29.943757799 +00001914 for changed configuration1915 is expected to be within 2 of 2023-08-18 13:10:30.022446065 +00001916 behaves like not a container repository factory1917 does not create a new container repository resource1918 disallow reporter to delete images since registry 2.71919 behaves like an inaccessible1920 is expected to include {"access" => []}1921 behaves like a valid token1922 is expected to include :token1923 is expected to include "access"1924 a expirable1925 for default configuration1926 is expected not to be within 2 of 2023-08-18 13:10:30.522927020 +00001927 for changed configuration1928 is expected to be within 2 of 2023-08-18 13:10:30.616108706 +00001929 behaves like not a container repository factory1930 does not create a new container repository resource1931 return a least of privileges1932 behaves like a pullable1933 behaves like an accessible1934 has the correct scope1935 behaves like a valid token1936 is expected to include :token1937 is expected to include "access"1938 a expirable1939 for default configuration1940 is expected not to be within 2 of 2023-08-18 13:10:31.109572431 +00001941 for changed configuration1942 is expected to be within 2 of 2023-08-18 13:10:31.194579747 +00001943 behaves like not a container repository factory1944 does not create a new container repository resource1945 behaves like with auth_type1946 is expected to eq "foo"1947 contains the auth_type as part of the encoded user information in the payload1948 disallow guest to pull or push images1949 behaves like an inaccessible1950 is expected to include {"access" => []}1951 behaves like a valid token1952 is expected to include :token1953 is expected to include "access"1954 a expirable1955 for default configuration1956 is expected not to be within 2 of 2023-08-18 13:10:31.834657726 +00001957 for changed configuration1958 is expected to be within 2 of 2023-08-18 13:10:31.925682252 +00001959 behaves like not a container repository factory1960 does not create a new container repository resource1961 disallow guest to delete images1962 behaves like an inaccessible1963 is expected to include {"access" => []}1964 behaves like a valid token1965 is expected to include :token1966 is expected to include "access"1967 a expirable1968 for default configuration1969 is expected not to be within 2 of 2023-08-18 13:10:32.422067507 +00001970 for changed configuration1971 is expected to be within 2 of 2023-08-18 13:10:32.508567752 +00001972 behaves like not a container repository factory1973 does not create a new container repository resource1974 disallow guest to delete images since registry 2.71975 behaves like an inaccessible1976 is expected to include {"access" => []}1977 behaves like a valid token1978 is expected to include :token1979 is expected to include "access"1980 a expirable1981 for default configuration1982 is expected not to be within 2 of 2023-08-18 13:10:32.968179420 +00001983 for changed configuration1984 is expected to be within 2 of 2023-08-18 13:10:33.051901036 +00001985 behaves like not a container repository factory1986 does not create a new container repository resource1987 for public project with private container registry1988 behaves like private project1989 allow to use scope-less authentication1990 behaves like a valid token1991 is expected to include :token1992 is expected to include "access"1993 a expirable1994 for default configuration1995 is expected not to be within 2 of 2023-08-18 13:10:33.468917685 +00001996 for changed configuration1997 is expected to be within 2 of 2023-08-18 13:10:33.518530313 +00001998 behaves like with auth_type1999 is expected to eq "foo"2000 contains the auth_type as part of the encoded user information in the payload2001 allow developer to push images2002 behaves like a pushable2003 behaves like an accessible2004 has the correct scope2005 behaves like a valid token2006 is expected to include :token2007 is expected to include "access"2008 a expirable2009 for default configuration2010 is expected not to be within 2 of 2023-08-18 13:10:34.074000975 +00002011 for changed configuration2012 is expected to be within 2 of 2023-08-18 13:10:34.173691131 +00002013 behaves like container repository factory2014 creates a new container repository resource2015 behaves like with auth_type2016 is expected to eq "foo"2017 contains the auth_type as part of the encoded user information in the payload2018 disallow developer to delete images2019 behaves like an inaccessible2020 is expected to include {"access" => []}2021 behaves like a valid token2022 is expected to include :token2023 is expected to include "access"2024 a expirable2025 for default configuration2026 is expected not to be within 2 of 2023-08-18 13:10:34.832374528 +00002027 for changed configuration2028 is expected to be within 2 of 2023-08-18 13:10:34.917778684 +00002029 behaves like not a container repository factory2030 does not create a new container repository resource2031 behaves like logs an auth warning2032 is expected to receive warn({:authorized_actions=>[], :message=>"Denied container registry permissions", :requested_actions=>["*"...roject_path=>"namespace50/project-55", :scope_type=>"repository", :user_id=>64, :username=>"user16"}) 1 time2033 disallow developer to delete images since registry 2.72034 behaves like an inaccessible2035 is expected to include {"access" => []}2036 behaves like a valid token2037 is expected to include :token2038 is expected to include "access"2039 a expirable2040 for default configuration2041 is expected not to be within 2 of 2023-08-18 13:10:35.457929087 +00002042 for changed configuration2043 is expected to be within 2 of 2023-08-18 13:10:35.545241893 +00002044 behaves like not a container repository factory2045 does not create a new container repository resource2046 allow reporter to pull images2047 when pulling from root level repository2048 behaves like a pullable2049 behaves like an accessible2050 has the correct scope2051 behaves like a valid token2052 is expected to include :token2053 is expected to include "access"2054 a expirable2055 for default configuration2056 is expected not to be within 2 of 2023-08-18 13:10:36.046428529 +00002057 for changed configuration2058 is expected to be within 2 of 2023-08-18 13:10:36.130767444 +00002059 behaves like not a container repository factory2060 does not create a new container repository resource2061 behaves like with auth_type2062 is expected to eq "foo"2063 contains the auth_type as part of the encoded user information in the payload2064 disallow reporter to delete images2065 behaves like an inaccessible2066 is expected to include {"access" => []}2067 behaves like a valid token2068 is expected to include :token2069 is expected to include "access"2070 a expirable2071 for default configuration2072 is expected not to be within 2 of 2023-08-18 13:10:36.760932703 +00002073 for changed configuration2074 is expected to be within 2 of 2023-08-18 13:10:36.844367879 +00002075 behaves like not a container repository factory2076 does not create a new container repository resource2077 disallow reporter to delete images since registry 2.72078 behaves like an inaccessible2079 is expected to include {"access" => []}2080 behaves like a valid token2081 is expected to include :token2082 is expected to include "access"2083 a expirable2084 for default configuration2085 is expected not to be within 2 of 2023-08-18 13:10:37.306410506 +00002086 for changed configuration2087 is expected to be within 2 of 2023-08-18 13:10:37.388712663 +00002088 behaves like not a container repository factory2089 does not create a new container repository resource2090 return a least of privileges2091 behaves like a pullable2092 behaves like an accessible2093 has the correct scope2094 behaves like a valid token2095 is expected to include :token2096 is expected to include "access"2097 a expirable2098 for default configuration2099 is expected not to be within 2 of 2023-08-18 13:10:37.911942816 +00002100 for changed configuration2101 is expected to be within 2 of 2023-08-18 13:10:38.005608742 +00002102 behaves like not a container repository factory2103 does not create a new container repository resource2104 behaves like with auth_type2105 is expected to eq "foo"2106 contains the auth_type as part of the encoded user information in the payload2107 disallow guest to pull or push images2108 behaves like an inaccessible2109 is expected to include {"access" => []}2110 behaves like a valid token2111 is expected to include :token2112 is expected to include "access"2113 a expirable2114 for default configuration2115 is expected not to be within 2 of 2023-08-18 13:10:38.634861471 +00002116 for changed configuration2117 is expected to be within 2 of 2023-08-18 13:10:38.714989537 +00002118 behaves like not a container repository factory2119 does not create a new container repository resource2120 disallow guest to delete images2121 behaves like an inaccessible2122 is expected to include {"access" => []}2123 behaves like a valid token2124 is expected to include :token2125 is expected to include "access"2126 a expirable2127 for default configuration2128 is expected not to be within 2 of 2023-08-18 13:10:39.132528637 +00002129 for changed configuration2130 is expected to be within 2 of 2023-08-18 13:10:39.210086673 +00002131 behaves like not a container repository factory2132 does not create a new container repository resource2133 disallow guest to delete images since registry 2.72134 behaves like an inaccessible2135 is expected to include {"access" => []}2136 behaves like a valid token2137 is expected to include :token2138 is expected to include "access"2139 a expirable2140 for default configuration2141 is expected not to be within 2 of 2023-08-18 13:10:39.671403920 +00002142 for changed configuration2143 is expected to be within 2 of 2023-08-18 13:10:39.744659776 +00002144 behaves like not a container repository factory2145 does not create a new container repository resource2146 for public project with container_registry `enabled`2147 allow anyone to pull images2148 behaves like a pullable2149 behaves like an accessible2150 has the correct scope2151 behaves like a valid token2152 is expected to include :token2153 is expected to include "access"2154 a expirable2155 for default configuration2156 is expected not to be within 2 of 2023-08-18 13:10:40.299760809 +00002157 for changed configuration2158 is expected to be within 2 of 2023-08-18 13:10:40.367478046 +00002159 behaves like not a container repository factory2160 does not create a new container repository resource2161 behaves like with auth_type2162 is expected to eq "foo"2163 contains the auth_type as part of the encoded user information in the payload2164 disallow anyone to push images2165 behaves like an inaccessible2166 is expected to include {"access" => []}2167 behaves like a valid token2168 is expected to include :token2169 is expected to include "access"2170 a expirable2171 for default configuration2172 is expected not to be within 2 of 2023-08-18 13:10:40.816572093 +00002173 for changed configuration2174 is expected to be within 2 of 2023-08-18 13:10:40.888599530 +00002175 behaves like not a container repository factory2176 does not create a new container repository resource2177 disallow anyone to delete images2178 behaves like an inaccessible2179 is expected to include {"access" => []}2180 behaves like a valid token2181 is expected to include :token2182 is expected to include "access"2183 a expirable2184 for default configuration2185 is expected not to be within 2 of 2023-08-18 13:10:41.260367102 +00002186 for changed configuration2187 is expected to be within 2 of 2023-08-18 13:10:41.334522658 +00002188 behaves like not a container repository factory2189 does not create a new container repository resource2190 disallow anyone to delete images since registry 2.72191 behaves like an inaccessible2192 is expected to include {"access" => []}2193 behaves like a valid token2194 is expected to include :token2195 is expected to include "access"2196 a expirable2197 for default configuration2198 is expected not to be within 2 of 2023-08-18 13:10:41.678696101 +00002199 for changed configuration2200 is expected to be within 2 of 2023-08-18 13:10:41.751682978 +00002201 behaves like not a container repository factory2202 does not create a new container repository resource2203 when repository name is invalid2204 behaves like an inaccessible2205 is expected to include {"access" => []}2206 behaves like a valid token2207 is expected to include :token2208 is expected to include "access"2209 a expirable2210 for default configuration2211 is expected not to be within 2 of 2023-08-18 13:10:41.982915086 +00002212 for changed configuration2213 is expected to be within 2 of 2023-08-18 13:10:42.028938044 +00002214 behaves like not a container repository factory2215 does not create a new container repository resource2216 for internal project with container_registry `enabled`2217 for internal user2218 allow anyone to pull images2219 behaves like a pullable2220 behaves like an accessible2221 has the correct scope2222 behaves like a valid token2223 is expected to include :token2224 is expected to include "access"2225 a expirable2226 for default configuration2227 is expected not to be within 2 of 2023-08-18 13:10:42.533347939 +00002228 for changed configuration2229 is expected to be within 2 of 2023-08-18 13:10:42.600621386 +00002230 behaves like not a container repository factory2231 does not create a new container repository resource2232 behaves like with auth_type2233 is expected to eq "foo"2234 contains the auth_type as part of the encoded user information in the payload2235 disallow anyone to push images2236 behaves like an inaccessible2237 is expected to include {"access" => []}2238 behaves like a valid token2239 is expected to include :token2240 is expected to include "access"2241 a expirable2242 for default configuration2243 is expected not to be within 2 of 2023-08-18 13:10:43.081877492 +00002244 for changed configuration2245 is expected to be within 2 of 2023-08-18 13:10:43.151282339 +00002246 behaves like not a container repository factory2247 does not create a new container repository resource2248 disallow anyone to delete images2249 behaves like an inaccessible2250 is expected to include {"access" => []}2251 behaves like a valid token2252 is expected to include :token2253 is expected to include "access"2254 a expirable2255 for default configuration2256 is expected not to be within 2 of 2023-08-18 13:10:43.479527622 +00002257 for changed configuration2258 is expected to be within 2 of 2023-08-18 13:10:43.550860559 +00002259 behaves like not a container repository factory2260 does not create a new container repository resource2261 disallow anyone to delete images since registry 2.72262 behaves like an inaccessible2263 is expected to include {"access" => []}2264 behaves like a valid token2265 is expected to include :token2266 is expected to include "access"2267 a expirable2268 for default configuration2269 is expected not to be within 2 of 2023-08-18 13:10:43.863501863 +00002270 for changed configuration2271 is expected to be within 2 of 2023-08-18 13:10:43.936248890 +00002272 behaves like not a container repository factory2273 does not create a new container repository resource2274 for external user2275 disallow anyone to pull or push images2276 behaves like an inaccessible2277 is expected to include {"access" => []}2278 behaves like a valid token2279 is expected to include :token2280 is expected to include "access"2281 a expirable2282 for default configuration2283 is expected not to be within 2 of 2023-08-18 13:10:44.395210338 +00002284 for changed configuration2285 is expected to be within 2 of 2023-08-18 13:10:44.476688843 +00002286 behaves like not a container repository factory2287 does not create a new container repository resource2288 disallow anyone to delete images2289 behaves like an inaccessible2290 is expected to include {"access" => []}2291 behaves like a valid token2292 is expected to include :token2293 is expected to include "access"2294 a expirable2295 for default configuration2296 is expected not to be within 2 of 2023-08-18 13:10:44.887695473 +00002297 for changed configuration2298 is expected to be within 2 of 2023-08-18 13:10:44.962196859 +00002299 behaves like not a container repository factory2300 does not create a new container repository resource2301 disallow anyone to delete images since registry 2.72302 behaves like an inaccessible2303 is expected to include {"access" => []}2304 behaves like a valid token2305 is expected to include :token2306 is expected to include "access"2307 a expirable2308 for default configuration2309 is expected not to be within 2 of 2023-08-18 13:10:45.375943519 +00002310 for changed configuration2311 is expected to be within 2 of 2023-08-18 13:10:45.451028686 +00002312 behaves like not a container repository factory2313 does not create a new container repository resource2314 for internal project with private container registry2315 behaves like private project2316 allow to use scope-less authentication2317 behaves like a valid token2318 is expected to include :token2319 is expected to include "access"2320 a expirable2321 for default configuration2322 is expected not to be within 2 of 2023-08-18 13:10:45.854643966 +00002323 for changed configuration2324 is expected to be within 2 of 2023-08-18 13:10:45.927476802 +00002325 behaves like with auth_type2326 is expected to eq "foo"2327 contains the auth_type as part of the encoded user information in the payload2328 allow developer to push images2329 behaves like a pushable2330 behaves like an accessible2331 has the correct scope2332 behaves like a valid token2333 is expected to include :token2334 is expected to include "access"2335 a expirable2336 for default configuration2337 is expected not to be within 2 of 2023-08-18 13:10:46.423802758 +00002338 for changed configuration2339 is expected to be within 2 of 2023-08-18 13:10:46.518112013 +00002340 behaves like container repository factory2341 creates a new container repository resource2342 behaves like with auth_type2343 is expected to eq "foo"2344 contains the auth_type as part of the encoded user information in the payload2345 disallow developer to delete images2346 behaves like an inaccessible2347 is expected to include {"access" => []}2348 behaves like a valid token2349 is expected to include :token2350 is expected to include "access"2351 a expirable2352 for default configuration2353 is expected not to be within 2 of 2023-08-18 13:10:47.126006743 +00002354 for changed configuration2355 is expected to be within 2 of 2023-08-18 13:10:47.203710319 +00002356 behaves like not a container repository factory2357 does not create a new container repository resource2358 behaves like logs an auth warning2359 is expected to receive warn({:authorized_actions=>[], :message=>"Denied container registry permissions", :requested_actions=>["*"...roject_path=>"namespace53/project-58", :scope_type=>"repository", :user_id=>64, :username=>"user16"}) 1 time2360 disallow developer to delete images since registry 2.72361 behaves like an inaccessible2362 is expected to include {"access" => []}2363 behaves like a valid token2364 is expected to include :token2365 is expected to include "access"2366 a expirable2367 for default configuration2368 is expected not to be within 2 of 2023-08-18 13:10:47.733209663 +00002369 for changed configuration2370 is expected to be within 2 of 2023-08-18 13:10:47.815267849 +00002371 behaves like not a container repository factory2372 does not create a new container repository resource2373 allow reporter to pull images2374 when pulling from root level repository2375 behaves like a pullable2376 behaves like an accessible2377 has the correct scope2378 behaves like a valid token2379 is expected to include :token2380 is expected to include "access"2381 a expirable2382 for default configuration2383 is expected not to be within 2 of 2023-08-18 13:10:48.274551997 +00002384 for changed configuration2385 is expected to be within 2 of 2023-08-18 13:10:48.362172552 +00002386 behaves like not a container repository factory2387 does not create a new container repository resource2388 behaves like with auth_type2389 is expected to eq "foo"2390 contains the auth_type as part of the encoded user information in the payload2391 disallow reporter to delete images2392 behaves like an inaccessible2393 is expected to include {"access" => []}2394 behaves like a valid token2395 is expected to include :token2396 is expected to include "access"2397 a expirable2398 for default configuration2399 is expected not to be within 2 of 2023-08-18 13:10:48.986607422 +00002400 for changed configuration2401 is expected to be within 2 of 2023-08-18 13:10:49.083409476 +00002402 behaves like not a container repository factory2403 does not create a new container repository resource2404 disallow reporter to delete images since registry 2.72405 behaves like an inaccessible2406 is expected to include {"access" => []}2407 behaves like a valid token2408 is expected to include :token2409 is expected to include "access"2410 a expirable2411 for default configuration2412 is expected not to be within 2 of 2023-08-18 13:10:49.581426112 +00002413 for changed configuration2414 is expected to be within 2 of 2023-08-18 13:10:49.669758298 +00002415 behaves like not a container repository factory2416 does not create a new container repository resource2417 return a least of privileges2418 behaves like a pullable2419 behaves like an accessible2420 has the correct scope2421 behaves like a valid token2422 is expected to include :token2423 is expected to include "access"2424 a expirable2425 for default configuration2426 is expected not to be within 2 of 2023-08-18 13:10:50.169598383 +00002427 for changed configuration2428 is expected to be within 2 of 2023-08-18 13:10:50.264011569 +00002429 behaves like not a container repository factory2430 does not create a new container repository resource2431 behaves like with auth_type2432 is expected to eq "foo"2433 contains the auth_type as part of the encoded user information in the payload2434 disallow guest to pull or push images2435 behaves like an inaccessible2436 is expected to include {"access" => []}2437 behaves like a valid token2438 is expected to include :token2439 is expected to include "access"2440 a expirable2441 for default configuration2442 is expected not to be within 2 of 2023-08-18 13:10:50.906667547 +00002443 for changed configuration2444 is expected to be within 2 of 2023-08-18 13:10:51.020654891 +00002445 behaves like not a container repository factory2446 does not create a new container repository resource2447 disallow guest to delete images2448 behaves like an inaccessible2449 is expected to include {"access" => []}2450 behaves like a valid token2451 is expected to include :token2452 is expected to include "access"2453 a expirable2454 for default configuration2455 is expected not to be within 2 of 2023-08-18 13:10:51.438704381 +00002456 for changed configuration2457 is expected to be within 2 of 2023-08-18 13:10:51.506388297 +00002458 behaves like not a container repository factory2459 does not create a new container repository resource2460 disallow guest to delete images since registry 2.72461 behaves like an inaccessible2462 is expected to include {"access" => []}2463 behaves like a valid token2464 is expected to include :token2465 is expected to include "access"2466 a expirable2467 for default configuration2468 is expected not to be within 2 of 2023-08-18 13:10:51.921065477 +00002469 for changed configuration2470 is expected to be within 2 of 2023-08-18 13:10:52.001105903 +00002471 behaves like not a container repository factory2472 does not create a new container repository resource2473 delete authorized as maintainer2474 behaves like allowed to delete container repository images2475 behaves like a valid token2476 is expected to include :token2477 is expected to include "access"2478 a expirable2479 for default configuration2480 is expected not to be within 2 of 2023-08-18 13:10:52.548647556 +00002481 for changed configuration2482 is expected to be within 2 of 2023-08-18 13:10:52.596301614 +00002483 allow to delete images2484 behaves like a deletable2485 behaves like an accessible2486 has the correct scope2487 behaves like a valid token2488 is expected to include :token2489 is expected to include "access"2490 a expirable2491 for default configuration2492 is expected not to be within 2 of 2023-08-18 13:10:52.903627289 +00002493 for changed configuration2494 is expected to be within 2 of 2023-08-18 13:10:52.977649895 +00002495 allow to delete images since registry 2.72496 behaves like a deletable since registry 2.72497 behaves like an accessible2498 has the correct scope2499 behaves like a valid token2500 is expected to include :token2501 is expected to include "access"2502 a expirable2503 for default configuration2504 is expected not to be within 2 of 2023-08-18 13:10:53.246920462 +00002505 for changed configuration2506 is expected to be within 2 of 2023-08-18 13:10:53.317948458 +00002507 build authorized as user2508 allow to use offline_token2509 behaves like an authenticated2510 is expected to include :token2511 is expected to include "access"2512 behaves like a valid token2513 is expected to include :token2514 is expected to include "access"2515 a expirable2516 for default configuration2517 is expected not to be within 2 of 2023-08-18 13:10:53.862998741 +00002518 for changed configuration2519 is expected to be within 2 of 2023-08-18 13:10:53.908603369 +00002520 behaves like with auth_type2521 is expected to eq "foo"2522 contains the auth_type as part of the encoded user information in the payload2523 allow to pull and push images2524 behaves like a pullable and pushable2525 behaves like an accessible2526 has the correct scope2527 behaves like a valid token2528 is expected to include :token2529 is expected to include "access"2530 a expirable2531 for default configuration2532 is expected not to be within 2 of 2023-08-18 13:10:54.292031800 +00002533 for changed configuration2534 is expected to be within 2 of 2023-08-18 13:10:54.373323496 +00002535 behaves like container repository factory2536 creates a new container repository resource2537 allow to delete images since registry 2.72538 behaves like a deletable since registry 2.72539 behaves like an accessible2540 has the correct scope2541 behaves like a valid token2542 is expected to include :token2543 is expected to include "access"2544 a expirable2545 for default configuration2546 is expected not to be within 2 of 2023-08-18 13:10:54.669142852 +00002547 for changed configuration2548 is expected to be within 2 of 2023-08-18 13:10:54.731379579 +00002549 disallow to delete images2550 behaves like an inaccessible2551 is expected to include {"access" => []}2552 behaves like a valid token2553 is expected to include :token2554 is expected to include "access"2555 a expirable2556 for default configuration2557 is expected not to be within 2 of 2023-08-18 13:10:54.950185018 +00002558 for changed configuration2559 is expected to be within 2 of 2023-08-18 13:10:55.011061565 +00002560 for other projects2561 when pulling2562 allow for public2563 behaves like a pullable2564 behaves like an accessible2565 has the correct scope2566 behaves like a valid token2567 is expected to include :token2568 is expected to include "access"2569 a expirable2570 for default configuration2571 is expected not to be within 2 of 2023-08-18 13:10:55.463679923 +00002572 for changed configuration2573 is expected to be within 2 of 2023-08-18 13:10:55.539359189 +00002574 behaves like not a container repository factory2575 does not create a new container repository resource2576 for private2577 behaves like pullable for being team member2578 when you are not member2579 behaves like an inaccessible2580 is expected to include {"access" => []}2581 behaves like a valid token2582 is expected to include :token2583 is expected to include "access"2584 a expirable2585 for default configuration2586 is expected not to be within 2 of 2023-08-18 13:10:56.121318320 +00002587 for changed configuration2588 is expected to be within 2 of 2023-08-18 13:10:56.191189837 +00002589 behaves like not a container repository factory2590 does not create a new container repository resource2591 when you are member2592 behaves like a pullable2593 behaves like an accessible2594 has the correct scope2595 behaves like a valid token2596 is expected to include :token2597 is expected to include "access"2598 a expirable2599 for default configuration2600 is expected not to be within 2 of 2023-08-18 13:10:56.591716677 +00002601 for changed configuration2602 is expected to be within 2 of 2023-08-18 13:10:56.662102354 +00002603 behaves like not a container repository factory2604 does not create a new container repository resource2605 when you are owner2606 behaves like a pullable2607 behaves like an accessible2608 has the correct scope2609 behaves like a valid token2610 is expected to include :token2611 is expected to include "access"2612 a expirable2613 for default configuration2614 is expected not to be within 2 of 2023-08-18 13:10:57.192113098 +00002615 for changed configuration2616 is expected to be within 2 of 2023-08-18 13:10:57.265896944 +00002617 behaves like not a container repository factory2618 does not create a new container repository resource2619 when you are admin2620 when you are not member2621 behaves like an inaccessible2622 is expected to include {"access" => []}2623 behaves like a valid token2624 is expected to include :token2625 is expected to include "access"2626 a expirable2627 for default configuration2628 is expected not to be within 2 of 2023-08-18 13:10:57.691081573 +00002629 for changed configuration2630 is expected to be within 2 of 2023-08-18 13:10:57.760419109 +00002631 behaves like not a container repository factory2632 does not create a new container repository resource2633 when you are member2634 behaves like a pullable2635 behaves like an accessible2636 has the correct scope2637 behaves like a valid token2638 is expected to include :token2639 is expected to include "access"2640 a expirable2641 for default configuration2642 is expected not to be within 2 of 2023-08-18 13:10:58.192748848 +00002643 for changed configuration2644 is expected to be within 2 of 2023-08-18 13:10:58.277387144 +00002645 behaves like not a container repository factory2646 does not create a new container repository resource2647 when you are owner2648 behaves like a pullable2649 behaves like an accessible2650 has the correct scope2651 behaves like a valid token2652 is expected to include :token2653 is expected to include "access"2654 a expirable2655 for default configuration2656 is expected not to be within 2 of 2023-08-18 13:10:58.801742659 +00002657 for changed configuration2658 is expected to be within 2 of 2023-08-18 13:10:58.877174885 +00002659 behaves like not a container repository factory2660 does not create a new container repository resource2661 for public project with private container registry2662 behaves like pullable for being team member2663 when you are not member2664 behaves like an inaccessible2665 is expected to include {"access" => []}2666 behaves like a valid token2667 is expected to include :token2668 is expected to include "access"2669 a expirable2670 for default configuration2671 is expected not to be within 2 of 2023-08-18 13:10:59.502707144 +00002672 for changed configuration2673 is expected to be within 2 of 2023-08-18 13:10:59.596202559 +00002674 behaves like not a container repository factory2675 does not create a new container repository resource2676 when you are member2677 behaves like a pullable2678 behaves like an accessible2679 has the correct scope2680 behaves like a valid token2681 is expected to include :token2682 is expected to include "access"2683 a expirable2684 for default configuration2685 is expected not to be within 2 of 2023-08-18 13:11:00.093583075 +00002686 for changed configuration2687 is expected to be within 2 of 2023-08-18 13:11:00.174890781 +00002688 behaves like not a container repository factory2689 does not create a new container repository resource2690 when you are owner2691 behaves like a pullable2692 behaves like an accessible2693 has the correct scope2694 behaves like a valid token2695 is expected to include :token2696 is expected to include "access"2697 a expirable2698 for default configuration2699 is expected not to be within 2 of 2023-08-18 13:11:00.710075005 +00002700 for changed configuration2701 is expected to be within 2 of 2023-08-18 13:11:00.789296711 +00002702 behaves like not a container repository factory2703 does not create a new container repository resource2704 when you are admin2705 behaves like pullable for being team member2706 when you are not member2707 behaves like an inaccessible2708 is expected to include {"access" => []}2709 behaves like a valid token2710 is expected to include :token2711 is expected to include "access"2712 a expirable2713 for default configuration2714 is expected not to be within 2 of 2023-08-18 13:11:01.276031307 +00002715 for changed configuration2716 is expected to be within 2 of 2023-08-18 13:11:01.352225183 +00002717 behaves like not a container repository factory2718 does not create a new container repository resource2719 when you are member2720 behaves like a pullable2721 behaves like an accessible2722 has the correct scope2723 behaves like a valid token2724 is expected to include :token2725 is expected to include "access"2726 a expirable2727 for default configuration2728 is expected not to be within 2 of 2023-08-18 13:11:01.826891399 +00002729 for changed configuration2730 is expected to be within 2 of 2023-08-18 13:11:01.911069435 +00002731 behaves like not a container repository factory2732 does not create a new container repository resource2733 when you are owner2734 behaves like a pullable2735 behaves like an accessible2736 has the correct scope2737 behaves like a valid token2738 is expected to include :token2739 is expected to include "access"2740 a expirable2741 for default configuration2742 is expected not to be within 2 of 2023-08-18 13:11:02.448899139 +00002743 for changed configuration2744 is expected to be within 2 of 2023-08-18 13:11:02.522535725 +00002745 behaves like not a container repository factory2746 does not create a new container repository resource2747 when pushing2748 disallow for all2749 when you are member2750 behaves like an inaccessible2751 is expected to include {"access" => []}2752 behaves like a valid token2753 is expected to include :token2754 is expected to include "access"2755 a expirable2756 for default configuration2757 is expected not to be within 2 of 2023-08-18 13:11:03.165379204 +00002758 for changed configuration2759 is expected to be within 2 of 2023-08-18 13:11:03.232708660 +00002760 behaves like not a container repository factory2761 does not create a new container repository resource2762 when you are owner2763 behaves like an inaccessible2764 is expected to include {"access" => []}2765 behaves like a valid token2766 is expected to include :token2767 is expected to include "access"2768 a expirable2769 for default configuration2770 is expected not to be within 2 of 2023-08-18 13:11:03.716790147 +00002771 for changed configuration2772 is expected to be within 2 of 2023-08-18 13:11:03.786306153 +00002773 behaves like not a container repository factory2774 does not create a new container repository resource2775 for project without container registry2776 disallow when pulling2777 behaves like an inaccessible2778 is expected to include {"access" => []}2779 behaves like a valid token2780 is expected to include :token2781 is expected to include "access"2782 a expirable2783 for default configuration2784 is expected not to be within 2 of 2023-08-18 13:11:04.346968755 +00002785 for changed configuration2786 is expected to be within 2 of 2023-08-18 13:11:04.416408312 +00002787 behaves like not a container repository factory2788 does not create a new container repository resource2789 for project that disables repository2790 disallow when pulling2791 behaves like an inaccessible2792 is expected to include {"access" => []}2793 behaves like a valid token2794 is expected to include :token2795 is expected to include "access"2796 a expirable2797 for default configuration2798 is expected not to be within 2 of 2023-08-18 13:11:04.949818266 +00002799 for changed configuration2800 is expected to be within 2 of 2023-08-18 13:11:05.012687422 +00002801 behaves like not a container repository factory2802 does not create a new container repository resource2803 registry catalog browsing authorized as admin2804 behaves like a browsable2805 has the correct scope2806 behaves like a valid token2807 is expected to include :token2808 is expected to include "access"2809 a expirable2810 for default configuration2811 is expected not to be within 2 of 2023-08-18 13:11:05.543451057 +00002812 for changed configuration2813 is expected to be within 2 of 2023-08-18 13:11:05.593230864 +00002814 behaves like not a container repository factory2815 does not create a new container repository resource2816 support for multiple scopes2817 user has access to all projects2818 behaves like a browsable2819 has the correct scope2820 behaves like a valid token2821 is expected to include :token2822 is expected to include "access"2823 a expirable2824 for default configuration2825 is expected not to be within 2 of 2023-08-18 13:11:07.200540215 +00002826 for changed configuration2827 is expected to be within 2 of 2023-08-18 13:11:07.333509779 +00002828 behaves like not a container repository factory2829 does not create a new container repository resource2830 user only has access to internal and public projects2831 behaves like a browsable2832 has the correct scope2833 behaves like a valid token2834 is expected to include :token2835 is expected to include "access"2836 a expirable2837 for default configuration2838 is expected not to be within 2 of 2023-08-18 13:11:08.003372826 +00002839 for changed configuration2840 is expected to be within 2 of 2023-08-18 13:11:08.135383999 +00002841 behaves like not a container repository factory2842 does not create a new container repository resource2843 anonymous user has access only to public project2844 behaves like a browsable2845 has the correct scope2846 behaves like a valid token2847 is expected to include :token2848 is expected to include "access"2849 a expirable2850 for default configuration2851 is expected not to be within 2 of 2023-08-18 13:11:08.686771062 +00002852 for changed configuration2853 is expected to be within 2 of 2023-08-18 13:11:08.792933096 +00002854 behaves like not a container repository factory2855 does not create a new container repository resource2856 with no public container registry2857 behaves like a forbidden2858 is expected to include {:http_status => 403}2859 is expected not to include :token2860 unauthorized2861 disallow to use scope-less authentication2862 behaves like a forbidden2863 is expected to include {:http_status => 403}2864 is expected not to include :token2865 behaves like not a container repository factory2866 does not create a new container repository resource2867 for invalid scope2868 behaves like a forbidden2869 is expected to include {:http_status => 403}2870 is expected not to include :token2871 behaves like not a container repository factory2872 does not create a new container repository resource2873 for private project2874 behaves like a forbidden2875 is expected to include {:http_status => 403}2876 is expected not to include :token2877 for public project with container registry `enabled`2878 when pulling and pushing2879 behaves like a pullable2880 behaves like an accessible2881 has the correct scope2882 behaves like a valid token2883 is expected to include :token2884 is expected to include "access"2885 a expirable2886 for default configuration2887 is expected not to be within 2 of 2023-08-18 13:11:11.222925777 +00002888 for changed configuration2889 is expected to be within 2 of 2023-08-18 13:11:11.314620722 +00002890 behaves like not a container repository factory2891 does not create a new container repository resource2892 when pushing2893 behaves like a forbidden2894 is expected to include {:http_status => 403}2895 is expected not to include :token2896 behaves like not a container repository factory2897 does not create a new container repository resource2898 for public project with container registry `private`2899 when pulling and pushing2900 behaves like a forbidden2901 is expected to include {:http_status => 403}2902 is expected not to include :token2903 behaves like not a container repository factory2904 does not create a new container repository resource2905 for registry catalog2906 behaves like a forbidden2907 is expected to include {:http_status => 403}2908 is expected not to include :token2909 behaves like not a container repository factory2910 does not create a new container repository resource2911 for deploy tokens2912 when deploy token has read and write registry as scopes2913 for public project2914 when pulling2915 behaves like a pullable2916 behaves like an accessible2917 has the correct scope2918 behaves like a valid token2919 is expected to include :token2920 is expected to include "access"2921 a expirable2922 for default configuration2923 is expected not to be within 2 of 2023-08-18 13:11:12.860313396 +00002924 for changed configuration2925 is expected to be within 2 of 2023-08-18 13:11:12.964702081 +00002926 when pushing2927 behaves like a pushable2928 behaves like an accessible2929 has the correct scope2930 behaves like a valid token2931 is expected to include :token2932 is expected to include "access"2933 a expirable2934 for default configuration2935 is expected not to be within 2 of 2023-08-18 13:11:13.456761597 +00002936 for changed configuration2937 is expected to be within 2 of 2023-08-18 13:11:13.586322131 +00002938 behaves like able to login2939 registry provides read_container_image authentication_abilities2940 is expected to eq "deploy_token"2941 has encoded user information in the payload2942 behaves like an authenticated2943 is expected to include :token2944 is expected to include "access"2945 for internal project2946 when pulling2947 behaves like a pullable2948 behaves like an accessible2949 has the correct scope2950 behaves like a valid token2951 is expected to include :token2952 is expected to include "access"2953 a expirable2954 for default configuration2955 is expected not to be within 2 of 2023-08-18 13:11:14.606737100 +00002956 for changed configuration2957 is expected to be within 2 of 2023-08-18 13:11:14.710909686 +00002958 when pushing2959 behaves like a pushable2960 behaves like an accessible2961 has the correct scope2962 behaves like a valid token2963 is expected to include :token2964 is expected to include "access"2965 a expirable2966 for default configuration2967 is expected not to be within 2 of 2023-08-18 13:11:15.194704972 +00002968 for changed configuration2969 is expected to be within 2 of 2023-08-18 13:11:15.326378275 +00002970 behaves like able to login2971 registry provides read_container_image authentication_abilities2972 is expected to eq "deploy_token"2973 has encoded user information in the payload2974 behaves like an authenticated2975 is expected to include :token2976 is expected to include "access"2977 for private project2978 when pulling2979 behaves like a pullable2980 behaves like an accessible2981 has the correct scope2982 behaves like a valid token2983 is expected to include :token2984 is expected to include "access"2985 a expirable2986 for default configuration2987 is expected not to be within 2 of 2023-08-18 13:11:16.388365213 +00002988 for changed configuration2989 is expected to be within 2 of 2023-08-18 13:11:16.503668857 +00002990 when pushing2991 behaves like a pushable2992 behaves like an accessible2993 has the correct scope2994 behaves like a valid token2995 is expected to include :token2996 is expected to include "access"2997 a expirable2998 for default configuration2999 is expected not to be within 2 of 2023-08-18 13:11:16.998196693 +00003000 for changed configuration3001 is expected to be within 2 of 2023-08-18 13:11:17.126758466 +00003002 behaves like able to login3003 registry provides read_container_image authentication_abilities3004 is expected to eq "deploy_token"3005 has encoded user information in the payload3006 behaves like an authenticated3007 is expected to include :token3008 is expected to include "access"3009 for public project with private container registry3010 when pulling3011 behaves like a pullable3012 behaves like an accessible3013 has the correct scope3014 behaves like a valid token3015 is expected to include :token3016 is expected to include "access"3017 a expirable3018 for default configuration3019 is expected not to be within 2 of 2023-08-18 13:11:18.194945584 +00003020 for changed configuration3021 is expected to be within 2 of 2023-08-18 13:11:18.336794847 +00003022 when pushing3023 behaves like a pushable3024 behaves like an accessible3025 has the correct scope3026 behaves like a valid token3027 is expected to include :token3028 is expected to include "access"3029 a expirable3030 for default configuration3031 is expected not to be within 2 of 2023-08-18 13:11:18.957066886 +00003032 for changed configuration3033 is expected to be within 2 of 2023-08-18 13:11:19.111391439 +00003034 behaves like able to login3035 registry provides read_container_image authentication_abilities3036 is expected to eq "deploy_token"3037 has encoded user information in the payload3038 behaves like an authenticated3039 is expected to include :token3040 is expected to include "access"3041 when deploy token does not have read_registry scope3042 for public project with container registry `enabled`3043 when pulling3044 behaves like a pullable3045 behaves like an accessible3046 has the correct scope3047 behaves like a valid token3048 is expected to include :token3049 is expected to include "access"3050 a expirable3051 for default configuration3052 is expected not to be within 2 of 2023-08-18 13:11:20.220131764 +00003053 for changed configuration3054 is expected to be within 2 of 2023-08-18 13:11:20.344595308 +00003055 behaves like unable to login3056 registry provides no container authentication_abilities3057 behaves like a forbidden3058 is expected to include {:http_status => 403}3059 is expected not to include :token3060 registry provides inapplicable container authentication_abilities3061 behaves like a forbidden3062 is expected to include {:http_status => 403}3063 is expected not to include :token3064 for public project with container registry `private`3065 when pulling3066 behaves like an inaccessible3067 is expected to include {"access" => []}3068 behaves like a valid token3069 is expected to include :token3070 is expected to include "access"3071 a expirable3072 for default configuration3073 is expected not to be within 2 of 2023-08-18 13:11:21.449552354 +00003074 for changed configuration3075 is expected to be within 2 of 2023-08-18 13:11:21.573046608 +00003076 behaves like unable to login3077 registry provides no container authentication_abilities3078 behaves like a forbidden3079 is expected to include {:http_status => 403}3080 is expected not to include :token3081 registry provides inapplicable container authentication_abilities3082 behaves like a forbidden3083 is expected to include {:http_status => 403}3084 is expected not to include :token3085 for internal project3086 when pulling3087 behaves like an inaccessible3088 is expected to include {"access" => []}3089 behaves like a valid token3090 is expected to include :token3091 is expected to include "access"3092 a expirable3093 for default configuration3094 is expected not to be within 2 of 2023-08-18 13:11:22.554280589 +00003095 for changed configuration3096 is expected to be within 2 of 2023-08-18 13:11:22.649765334 +00003097 behaves like unable to login3098 registry provides no container authentication_abilities3099 behaves like a forbidden3100 is expected to include {:http_status => 403}3101 is expected not to include :token3102 registry provides inapplicable container authentication_abilities3103 behaves like a forbidden3104 is expected to include {:http_status => 403}3105 is expected not to include :token3106 for private project3107 when pulling3108 behaves like an inaccessible3109 is expected to include {"access" => []}3110 behaves like a valid token3111 is expected to include :token3112 is expected to include "access"3113 a expirable3114 for default configuration3115 is expected not to be within 2 of 2023-08-18 13:11:23.568420199 +00003116 for changed configuration3117 is expected to be within 2 of 2023-08-18 13:11:23.705064543 +00003118 when logging in3119 behaves like a forbidden3120 is expected to include {:http_status => 403}3121 is expected not to include :token3122 behaves like unable to login3123 registry provides no container authentication_abilities3124 behaves like a forbidden3125 is expected to include {:http_status => 403}3126 is expected not to include :token3127 registry provides inapplicable container authentication_abilities3128 behaves like a forbidden3129 is expected to include {:http_status => 403}3130 is expected not to include :token3131 when deploy token is not related to the project3132 for public project with container registry `enabled`3133 when pulling3134 behaves like a pullable3135 behaves like an accessible3136 has the correct scope3137 behaves like a valid token3138 is expected to include :token3139 is expected to include "access"3140 a expirable3141 for default configuration3142 is expected not to be within 2 of 2023-08-18 13:11:24.584583339 +00003143 for changed configuration3144 is expected to be within 2 of 2023-08-18 13:11:24.658000326 +00003145 for public project with container registry `private`3146 when pulling3147 behaves like an inaccessible3148 is expected to include {"access" => []}3149 behaves like a valid token3150 is expected to include :token3151 is expected to include "access"3152 a expirable3153 for default configuration3154 is expected not to be within 2 of 2023-08-18 13:11:25.145075262 +00003155 for changed configuration3156 is expected to be within 2 of 2023-08-18 13:11:25.216281598 +00003157 for internal project3158 when pulling3159 behaves like an inaccessible3160 is expected to include {"access" => []}3161 behaves like a valid token3162 is expected to include :token3163 is expected to include "access"3164 a expirable3165 for default configuration3166 is expected not to be within 2 of 2023-08-18 13:11:25.687186165 +00003167 for changed configuration3168 is expected to be within 2 of 2023-08-18 13:11:25.752619332 +00003169 for private project3170 when pulling3171 behaves like an inaccessible3172 is expected to include {"access" => []}3173 behaves like a valid token3174 is expected to include :token3175 is expected to include "access"3176 a expirable3177 for default configuration3178 is expected not to be within 2 of 2023-08-18 13:11:26.253806627 +00003179 for changed configuration3180 is expected to be within 2 of 2023-08-18 13:11:26.321016374 +00003181 when deploy token has been revoked3182 for public project with container registry `enabled`3183 behaves like a pullable3184 behaves like an accessible3185 has the correct scope3186 behaves like a valid token3187 is expected to include :token3188 is expected to include "access"3189 a expirable3190 for default configuration3191 is expected not to be within 2 of 2023-08-18 13:11:26.932540164 +00003192 for changed configuration3193 is expected to be within 2 of 2023-08-18 13:11:27.033741038 +00003194 for public project with container registry `private`3195 behaves like an inaccessible3196 is expected to include {"access" => []}3197 behaves like a valid token3198 is expected to include :token3199 is expected to include "access"3200 a expirable3201 for default configuration3202 is expected not to be within 2 of 2023-08-18 13:11:27.636553769 +00003203 for changed configuration3204 is expected to be within 2 of 2023-08-18 13:11:27.732145384 +00003205 for internal project3206 behaves like an inaccessible3207 is expected to include {"access" => []}3208 behaves like a valid token3209 is expected to include :token3210 is expected to include "access"3211 a expirable3212 for default configuration3213 is expected not to be within 2 of 2023-08-18 13:11:28.316718906 +00003214 for changed configuration3215 is expected to be within 2 of 2023-08-18 13:11:28.437382039 +00003216 for private project3217 behaves like an inaccessible3218 is expected to include {"access" => []}3219 behaves like a valid token3220 is expected to include :token3221 is expected to include "access"3222 a expirable3223 for default configuration3224 is expected not to be within 2 of 2023-08-18 13:11:29.040871770 +00003225 for changed configuration3226 is expected to be within 2 of 2023-08-18 13:11:29.138525025 +00003227 user authorization3228 with multiple scopes3229 has encoded user information in the payload3230 allow developer to push images3231 behaves like a pushable3232 behaves like an accessible3233 has the correct scope3234 behaves like a valid token3235 is expected to include :token3236 is expected to include "access"3237 a expirable3238 for default configuration3239 is expected not to be within 2 of 2023-08-18 13:11:29.852962010 +00003240 for changed configuration3241 is expected to be within 2 of 2023-08-18 13:11:29.937187066 +00003242 behaves like container repository factory3243 creates a new container repository resource3244 behaves like with auth_type3245 is expected to eq "foo"3246 contains the auth_type as part of the encoded user information in the payload3247 when importing3248 push request3249 behaves like a forbidden3250 is expected to include {:http_status => 403}3251 is expected not to include :token3252 behaves like containing the import error3253 includes a helpful error message3254 delete request3255 behaves like a forbidden3256 is expected to include {:http_status => 403}3257 is expected not to include :token3258 behaves like containing the import error3259 includes a helpful error message3260 * request3261 behaves like a forbidden3262 is expected to include {:http_status => 403}3263 is expected not to include :token3264 behaves like containing the import error3265 includes a helpful error message3266 pull request3267 behaves like a pullable3268 behaves like an accessible3269 has the correct scope3270 behaves like a valid token3271 is expected to include :token3272 is expected to include "access"3273 a expirable3274 for default configuration3275 is expected not to be within 2 of 2023-08-18 13:11:32.368873306 +00003276 for changed configuration3277 is expected to be within 2 of 2023-08-18 13:11:32.530688598 +00003278 mixed request3279 behaves like a forbidden3280 is expected to include {:http_status => 403}3281 is expected not to include :token3282 behaves like containing the import error3283 includes a helpful error message3284 with a project with a path containing special characters3285 #access_token3286 has the correct scope3287 behaves like a valid token3288 is expected to include :token3289 is expected to include "access"3290 a expirable3291 for default configuration3292 is expected not to be within 2 of 2023-08-18 13:11:33.510752660 +00003293 for changed configuration3294 is expected to be within 2 of 2023-08-18 13:11:33.592037306 +00003295 when over storage limit3296 when there is a project3297 does not allow developer to push images3298 when only pushing an image3299 behaves like not a container repository factory3300 does not create a new container repository resource3301 behaves like storage error3302 returns an appropriate response3303 when performing multiple actions including push3304 behaves like not a container repository factory3305 does not create a new container repository resource3306 behaves like storage error3307 returns an appropriate response3308 allows developers to pull images3309 behaves like a pullable3310 behaves like an accessible3311 has the correct scope3312 behaves like a valid token3313 is expected to include :token3314 is expected to include "access"3315 a expirable3316 for default configuration3317 is expected not to be within 2 of 2023-08-18 13:11:35.374916328 +00003318 for changed configuration3319 is expected to be within 2 of 2023-08-18 13:11:35.578430268 +00003320 allows maintainers to delete images3321 behaves like allowed to delete container repository images3322 behaves like a valid token3323 is expected to include :token3324 is expected to include "access"3325 a expirable3326 for default configuration3327 is expected not to be within 2 of 2023-08-18 13:11:36.372049719 +00003328 for changed configuration3329 is expected to be within 2 of 2023-08-18 13:11:36.628902446 +00003330 allow to delete images3331 behaves like a deletable3332 behaves like an accessible3333 has the correct scope3334 behaves like a valid token3335 is expected to include :token3336 is expected to include "access"3337 a expirable3338 for default configuration3339 is expected not to be within 2 of 2023-08-18 13:11:37.717267173 +00003340 for changed configuration3341 is expected to be within 2 of 2023-08-18 13:11:37.980423750 +00003342 allow to delete images since registry 2.73343 behaves like a deletable since registry 2.73344 behaves like an accessible3345 has the correct scope3346 behaves like a valid token3347 is expected to include :token3348 is expected to include "access"3349 a expirable3350 for default configuration3351 is expected not to be within 2 of 2023-08-18 13:11:39.145380522 +00003352 for changed configuration3353 is expected to be within 2 of 2023-08-18 13:11:39.452434098 +00003354 when there is no project3355 does not return a storage error3356QuickActions::InterpretService3357 #execute3358 assign command3359 there is a group3360 assigns to group members3361 does not assign to more than QuickActions::UsersFinder::MAX_QUICK_ACTION_USERS3362 Issue3363 fetches assignees and populates them if content contains /assign3364 with test_case issue type3365 does not mark to update assignee3366 assign command with multiple assignees3367 fetches assignee and populates assignee_ids if content contains /assign3368 Merge Request3369 fetches assignees and populates them if content contains /assign3370 assign command with a group of users3371 adds group members3372 assign command with multiple assignees3373 fetches assignee and populates assignee_ids if content contains /assign3374 unlicensed3375 does not recognize /assign with multiple user references3376 assign_reviewer command3377 with a merge request3378 fetches reviewers and populates them if content contains /assign_reviewer3379 assign command with multiple reviewers3380 assigns multiple reviewers while respecting previous assignments3381 unassign_reviewer command3382 unassign_reviewer command with multiple assignees3383 unassigns both reviewers if content contains /unassign_reviewer @user @user13384 does not unassign reviewers if the content cannot be parsed3385 unassign command3386 Issue3387 unassigns user if content contains /unassign @user3388 unassigns both users if content contains /unassign @user @user13389 unassigns all the users if content contains /unassign3390 does not apply command if the argument cannot be parsed3391 with a Merge Request3392 unassigns user if content contains /unassign @user3393 applying unassign command with multiple assignees3394 unassigns both users if content contains /unassign @user @user13395 when unlicensed3396 does not recognize /unassign @user3397 reassign command3398 Merge Request3399 reassigns user if content contains /reassign @user3400 unlicensed3401 does not recognize /reassign @user3402 it reassigns multiple users3403 reassigns user if content contains /reassign @user3404 Issue3405 reassigns user if content contains /reassign @user3406 unlicensed3407 does not recognize /reassign @user3408 with test_case issue type3409 does not mark to update assignee3410 it reassigns multiple users3411 reassigns user if content contains /reassign @user3412 reassign_reviewer command3413 reassigns reviewer if content contains /reassign_reviewer @user3414 unlicensed3415 does not recognize /reassign_reviewer @user3416 iteration command3417 when iterations are enabled3418 when iteration exists3419 with permissions3420 assigns an iteration to an issue3421 when iteration is started3422 assigns an iteration to an issue3423 when the user does not have enough permissions3424 returns an error message3425 when iteration does not exist3426 returns empty message3427 when iterations are disabled3428 does not recognize /iteration3429 when issuable does not support iterations3430 does not assign an iteration to an incident3431 remove_iteration command3432 when iterations are enabled3433 removes an assigned iteration from an issue3434 when the user does not have enough permissions3435 returns an error message3436 when iterations are disabled3437 does not recognize /remove_iteration3438 when issuable does not support iterations3439 does not assign an iteration to an incident3440 epic command3441 when epics are enabled3442 when epic exists3443 assigns an issue to an epic3444 when an issue belongs to a project without group3445 does not assign an issue to an epic3446 when issue is already added to epic3447 returns error message3448 when issuable does not support epics3449 does not assign an incident to an epic3450 when epic does not exist3451 does not assign an issue to an epic3452 when user has no permissions to read epic3453 does not assign an issue to an epic3454 when user has no access to the issue3455 returns error3456 when epics are disabled3457 does not recognize /epic3458 parent_epic command3459 behaves like adds quick action parameter3460 adds parameter to updates array3461 when target epic is not persisted yet3462 behaves like adds quick action parameter3463 adds parameter to updates array3464 child_epic command3465 when subepics are enabled3466 when a user does not have permissions to add epic relations3467 behaves like does not add quick action parameter3468 does not add parameter to updates array3469 behaves like quick action is unavailable3470 does not recognize action3471 when a user has permissions to add epic relations3472 behaves like adds quick action parameter3473 adds parameter to updates array3474 behaves like quick action is available3475 does recognize action3476 behaves like quick action is unavailable3477 does not recognize action3478 behaves like quick action is unavailable3479 does not recognize action3480 when target epic is not persisted yet3481 behaves like adds quick action parameter3482 adds parameter to updates array3483 when passed child epic is nil3484 does not raise error3485 behaves like does not add quick action parameter3486 does not add parameter to updates array3487 when child_epic is already linked to an epic3488 behaves like quick action is available3489 does recognize action3490 when child epic is in a subgroup of parent epic3491 behaves like quick action is available3492 does recognize action3493 when child epic is in a parent group of the parent epic3494 behaves like quick action is available3495 does recognize action3496 when child epic is in a different group than parent epic3497 behaves like quick action is available3498 does recognize action3499 when epics are disabled3500 behaves like does not add quick action parameter3501 does not add parameter to updates array3502 behaves like quick action is unavailable3503 does not recognize action3504 remove_child_epic command3505 when subepics are enabled3506 when a user does not have permissions to remove epic relations3507 does not remove child_epic from epic3508 behaves like epic relation is not removed3509 does not remove child_epic from epic3510 behaves like quick action is unavailable3511 does not recognize action3512 when a user has permissions to remove epic relations3513 behaves like quick action is available3514 does recognize action3515 behaves like quick action is unavailable3516 does not recognize action3517 behaves like quick action is unavailable3518 does not recognize action3519 when target epic is not persisted yet3520 behaves like quick action is unavailable3521 does not recognize action3522 behaves like epic relation is removed3523 does not remove child_epic from epic3524 when trying to remove child epic from a different epic3525 behaves like epic relation is not removed3526 does not remove child_epic from epic3527 when child epic is in a subgroup of parent epic3528 behaves like epic relation is removed3529 does not remove child_epic from epic3530 behaves like quick action is available3531 does recognize action3532 when child and parent epics are in different groups3533 when child epic is in a parent group of the parent epic3534 behaves like epic relation is removed3535 does not remove child_epic from epic3536 behaves like quick action is available3537 does recognize action3538 when child epic is in a different group than parent epic3539 behaves like epic relation is removed3540 does not remove child_epic from epic3541 behaves like quick action is available3542 does recognize action3543 when subepics are disabled3544 behaves like epic relation is not removed3545 does not remove child_epic from epic3546 behaves like quick action is unavailable3547 does not recognize action3548 remove_parent_epic command3549 when subepics are enabled3550 when a user does not have permissions to manage child epic3551 behaves like epic relation is not removed3552 does not remove parent_epic from epic3553 behaves like quick action is unavailable3554 does not recognize action3555 when a user does not have permissions to manage parent epic3556 behaves like epic relation is not removed3557 does not remove parent_epic from epic3558 behaves like quick action is available3559 does recognize action3560 when a user has permissions to remove epic relations3561 behaves like epic relation is removed3562 removed parent_epic from epic3563 behaves like quick action is available3564 does recognize action3565 behaves like quick action is unavailable3566 does not recognize action3567 behaves like quick action is unavailable3568 does not recognize action3569 when target epic is not persisted yet3570 behaves like quick action is unavailable3571 does not recognize action3572 when subepics are disabled3573 behaves like epic relation is not removed3574 does not remove parent_epic from epic3575 behaves like quick action is unavailable3576 does not recognize action3577 label command for epics3578 when epics are enabled3579 when a user has permissions to label an epic3580 populates valid label ids3581 when a user does not have permissions to label an epic3582 does not populate any labels3583 when epics are disabled3584 does not populate any labels3585 remove_epic command3586 when epics are disabled3587 does not recognize /remove_epic3588 when subepics are enabled3589 unassigns an issue from an epic3590 when issuable does not support epics3591 does not recognize /remove_epic3592 when user has no access to the issue3593 returns error3594 issuable weights licensed3595 weight3596 behaves like weight command3597 populates weight specified by the /weight command3598 behaves like weight command3599 populates weight specified by the /weight command3600 when weight is negative3601 does not populate weight3602 clear_weight3603 behaves like clear weight command3604 populates weight: nil if content contains /clear_weight3605 issuable weights unlicensed3606 does not recognise /weight X3607 does not recognise /clear_weight3608 issuable weights not supported by type3609 does not recognise /weight X3610 does not recognise /clear_weight3611 issuable health statuses licensed3612 health_status3613 behaves like health_status command3614 populates health_status specified by the /health_status command3615 behaves like health_status command3616 populates health_status specified by the /health_status command3617 when health_status is invalid3618 does not populate health_status3619 when the user does not have enough permissions3620 returns an error message3621 clear_health_status3622 behaves like clear_health_status command3623 populates health_status: nil if content contains /clear_health_status3624 when the user does not have enough permissions3625 returns an error message3626 issuable health_status unlicensed3627 does not recognise /health_status X3628 does not recognise /clear_health_status3629 issuable health_status not supported by type3630 does not recognise /health_status X3631 does not recognise /clear_health_status3632 not persisted merge request can not be merged3633 behaves like empty command3634 populates {} if content contains an unsupported command3635 not approved merge request can not be merged3636 behaves like empty command3637 populates {} if content contains an unsupported command3638 when the merge request is not approved3639 when "merge_when_checks_pass" is enabled3640 runs merge command and returns merge message3641 when "merge_when_checks_pass" is disabled3642 behaves like failed command3643 populates {} if content contains an unsupported command3644 returns Could not apply merge command. message3645 when the merge request is blocked3646 behaves like failed command3647 populates {} if content contains an unsupported command3648 returns Could not apply merge command. message3649 when merge request has denied policies3650 behaves like failed command3651 populates {} if content contains an unsupported command3652 returns Could not apply merge command. message3653 approved merge request can be merged3654 behaves like empty command3655 populates {} if content contains an unsupported command3656 confidential command3657 for test cases3658 does mark to update confidential attribute3659 for requirements3660 fails supports confidentiality condition3661 for epics3662 returns correct explain message3663 returns successful execution message3664 when epic has non-confidential issues3665 behaves like command not applied3666 returns unsuccessful execution message3667 when epic has non-confidential epics3668 behaves like command not applied3669 returns unsuccessful execution message3670 when a user has no permissions to set confidentiality3671 does not update epic confidentiality3672 blocking issues commands3673 behaves like issues link quick action3674 when user is member of group3675 when linking a single issue3676 behaves like link command3677 links issues3678 when linking multiple issues at once3679 behaves like link command3680 links issues3681 when quick action target is unpersisted3682 links the issues after the issue is persisted3683 with empty link command3684 behaves like link command3685 links issues3686 with already having linked issues3687 behaves like link command3688 links issues3689 with cross project3690 when linking a cross project issue3691 behaves like link command3692 links issues3693 when linking multiple cross projects issues at once3694 behaves like link command3695 links issues3696 when linking a non-existing issue3697 behaves like link command3698 links issues3699 when linking a private issue3700 behaves like link command3701 links issues3702 behaves like issues link quick action3703 when user is member of group3704 when linking a single issue3705 behaves like link command3706 links issues3707 when linking multiple issues at once3708 behaves like link command3709 links issues3710 when quick action target is unpersisted3711 links the issues after the issue is persisted3712 with empty link command3713 behaves like link command3714 links issues3715 with already having linked issues3716 behaves like link command3717 links issues3718 with cross project3719 when linking a cross project issue3720 behaves like link command3721 links issues3722 when linking multiple cross projects issues at once3723 behaves like link command3724 links issues3725 when linking a non-existing issue3726 behaves like link command3727 links issues3728 when linking a private issue3729 behaves like link command3730 links issues3731 unlink command3732 when command includes blocking issue3733 behaves like command applied successfully3734 executes command successfully3735 when command includes blocked issue3736 behaves like command applied successfully3737 executes command successfully3738 when provided issue is not linked3739 fails to execute command3740 behaves like quick actions that change work item type ee3741 promote_to command3742 with key result3743 populates :issue_type: and :work_item_type3744 when new type is not supported3745 behaves like quick command error3746 returns error3747 when user has insufficient permissions to create new type3748 behaves like quick command error3749 returns error3750 #explain3751 health_status command3752 issuable health statuses licensed3753 includes the value3754 unassign command3755 includes all assignees' references3756 unassign command with assignee references3757 includes only selected assignee references3758 weight command3759 includes the number3760 epic commands3761 child_epic command3762 behaves like returns execution messages3763 when correct epic reference3764 returns explain message with epic reference3765 returns successful execution message3766 when epic reference is wrong3767 returns empty explain message3768 when epic is already a child epic3769 behaves like epics are already related3770 returns unsuccessful execution message3771 when epic is the parent epic3772 behaves like epics are already related3773 returns unsuccessful execution message3774 when epic does not exist3775 behaves like target epic does not exist3776 returns unsuccessful execution message3777 when user has no permissions to relate the child epic3778 behaves like without permissions for action3779 returns unsuccessful execution message3780 remove_child_epic command3781 when correct epic reference3782 returns explain message with epic reference3783 returns successful execution message3784 when epic reference is wrong3785 returns empty explain message3786 when child epic does not exist3787 returns unsuccessful execution message3788 when user has no permissions to remove child epic3789 behaves like without permissions for action3790 returns unsuccessful execution message3791 parent_epic command3792 behaves like returns execution messages3793 when correct epic reference3794 returns explain message with epic reference3795 returns successful execution message3796 when epic reference is wrong3797 returns empty explain message3798 when epic is already a parent epic3799 behaves like epics are already related3800 returns unsuccessful execution message3801 when epic is a an existing child epic3802 behaves like epics are already related3803 returns unsuccessful execution message3804 when epic does not exist3805 behaves like target epic does not exist3806 returns unsuccessful execution message3807 when user has no permissions to relate the parent epic3808 behaves like without permissions for action3809 returns unsuccessful execution message3810 remove_parent_epic command3811 when parent is present3812 returns explain message with epic reference3813 returns successful execution message3814 when target epic is not persisted yet3815 behaves like quick action is unavailable3816 does not recognize action3817 when parent is not present3818 returns empty explain message3819 returns unsuccessful execution message3820 when user has no permissions to remove parent epic3821 behaves like without permissions for action3822 returns unsuccessful execution message3823 blocking issues commands3824 with /blocks3825 with sufficient permissions3826 /blocks is available3827 when licensed feature is not available3828 behaves like quick action is unavailable3829 does not recognize action3830 when target is not an issue3831 behaves like quick action is unavailable3832 does not recognize action3833 with insufficient permissions3834 behaves like quick action is unavailable3835 does not recognize action3836 with /blocked_by3837 with sufficient permissions3838 /blocked_by is available3839 when licensed feature is not available3840 behaves like quick action is unavailable3841 does not recognize action3842 when target is not an issue3843 behaves like quick action is unavailable3844 does not recognize action3845 with insufficient permissions3846 behaves like quick action is unavailable3847 does not recognize action3848 promote_to command3849 when work item supports promotion3850 includes the value3851 when work item does not support promotion3852 does not include the value3853Group3854 is expected to includes the EE::Group module3855 is expected to be a kind of ReactiveCaching3856 associations3857 is expected to have many audit_events dependent => false3858 is expected to belong to file_template_project class_name => Project3859 is expected to have many ip_restrictions3860 is expected to have many allowed_email_domains3861 is expected to have many compliance_management_frameworks3862 is expected to have one deletion_schedule3863 is expected to have one group_wiki_repository3864 is expected to belong to push_rule required: false inverse_of => group3865 is expected to have many saml_group_links3866 is expected to have many epics3867 is expected to have many epic_boards inverse_of => group3868 is expected to have many provisioned_user_details inverse_of => provisioned_by_group3869 is expected to have many provisioned_users3870 is expected to have one group_merge_request_approval_setting3871 is expected to have many repository_storage_moves3872 is expected to have many iterations3873 is expected to have many iterations_cadences3874 is expected to have many epic_board_recent_visits inverse_of => group3875 is expected to have many external_audit_event_destinations3876 is expected to have many google_cloud_logging_configurations3877 is expected to have one analytics_dashboards_pointer3878 is expected to have one analytics_dashboards_configuration_project3879 is expected to have one value_stream_dashboard_aggregation3880 is expected to have one index_status class_name => Elastic::GroupIndexStatus dependent => destroy3881 is expected to have many ssh_certificates class_name => Groups::SshCertificate inverse_of => group3882 behaves like model with wiki3883 #create_wiki3884 returns true if the wiki repository already exists3885 returns true if the wiki repository was created3886 when the repository cannot be created3887 returns false and adds a validation error3888 #wiki_repository_exists?3889 returns true when the wiki repository exists3890 returns false when the wiki repository does not exist3891 wiki path conflict3892 when the new path has been used by the wiki of other Project3893 has an error on the name attribute3894 when the new wiki path has been used by the path of other Project3895 has an error on the name attribute3896 when the new path has been used by the wiki of other Group3897 has an error on the name attribute3898 when the new wiki path has been used by the path of other Group3899 has an error on the name attribute3900 scopes3901 .with_custom_file_templates3902 is expected to contain exactly #<Group id:910 @group90>3903 preloads everything needed to show a valid checked_file_template_project3904 .with_saml_provider3905 preloads saml_providers3906 .aimed_for_deletion3907 only includes groups that are marked for deletion on or before the specified date3908 .for_epics3909 returns groups only for selected epics3910 .with_managed_accounts_enabled3911 includes the groups that has managed accounts enabled3912 .with_no_pat_expiry_policy3913 includes the groups that has no PAT expiry policy set3914 .user_is_member3915 returns only groups where user is direct or indirect member ignoring inheritance and minimal access level3916 .invited_groups_in_groups_for_hierarchy3917 with guests3918 includes all groups from group invites3919 without guests3920 includes all groups from group invites3921 .invited_groups_in_projects_for_hierarchy3922 with guests3923 includes all groups from group invites3924 without guests3925 includes all groups from group invites3926 .with_trial_started_on3927 returns correct group3928 .by_repository_storage3929 filters group by repository storage name3930 validations3931 max_personal_access_token_lifetime3932 is expected to allow :max_personal_access_token_lifetime to be ‹1›3933 is expected to allow :max_personal_access_token_lifetime to be ‹nil›3934 is expected to allow :max_personal_access_token_lifetime to be ‹10›3935 is expected to allow :max_personal_access_token_lifetime to be ‹365›3936 is expected not to allow :max_personal_access_token_lifetime to be ‹"value"›3937 is expected not to allow :max_personal_access_token_lifetime to be ‹2.5›3938 is expected not to allow :max_personal_access_token_lifetime to be ‹-5›3939 is expected not to allow :max_personal_access_token_lifetime to be ‹366›3940 validates if custom_project_templates_group_id is allowed3941 rejects change if the assigned group is not a subgroup3942 allows value if the assigned value is from a subgroup3943 rejects change if the assigned value is from a subgroup's descendant group3944 allows value when it is blank3945 delegations3946 is expected to delegate #code_suggestions to the #namespace_settings object, allowing #namespace_settings to return nil3947 is expected to delegate #code_suggestions= to the #namespace_settings object passing arguments [true], allowing #namespace_settings to return nil3948 is expected to delegate #wiki_access_level to the #group_feature object3949 is expected to delegate #wiki_access_level= to the #group_feature object passing arguments [:args]3950 states3951 is expected to be ldap sync ready3952 after the start transition3953 sets the last sync timestamp3954 after the finish transition3955 sets the state to started3956 sets last update and last successful update to the same timestamp3957 clears previous error message on success3958 after the fail transition3959 sets the state to failed3960 sets last update timestamp but not last successful update timestamp3961 .groups_user_can3962 for :read_epic permission3963 when user has minimal access to group3964 behaves like a filter for permissioned groups3965 with epics enabled3966 uses filter optmization to return groups with access3967 when groups array is empty3968 does not use filter optimization3969 when use_traversal_ids is disabled3970 does not use filter optimization3971 when same_root is false3972 does not use filter optimization3973 with epics disabled3974 returns an empty list3975 when user is a group member3976 behaves like a filter for permissioned groups3977 with epics enabled3978 uses filter optmization to return groups with access3979 when groups array is empty3980 does not use filter optimization3981 when use_traversal_ids is disabled3982 does not use filter optimization3983 when same_root is false3984 does not use filter optimization3985 with epics disabled3986 returns an empty list3987 when user is not member of any group3988 behaves like a filter for permissioned groups3989 with epics enabled3990 uses filter optmization to return groups with access3991 when groups array is empty3992 does not use filter optimization3993 when use_traversal_ids is disabled3994 does not use filter optimization3995 when same_root is false3996 does not use filter optimization3997 with epics disabled3998 returns an empty list3999 when user has membership from a group share4000 behaves like a filter for permissioned groups4001 with epics enabled4002 uses filter optmization to return groups with access4003 when groups array is empty4004 does not use filter optimization4005 when use_traversal_ids is disabled4006 does not use filter optimization4007 when same_root is false4008 does not use filter optimization4009 with epics disabled4010 returns an empty list4011 when user is member of a project in the hierarchy4012 behaves like a filter for permissioned groups4013 with epics enabled4014 uses filter optmization to return groups with access4015 when groups array is empty4016 does not use filter optimization4017 when use_traversal_ids is disabled4018 does not use filter optimization4019 when same_root is false4020 does not use filter optimization4021 with epics disabled4022 returns an empty list4023 when user is member of a child group that has a project4024 behaves like a filter for permissioned groups4025 with epics enabled4026 uses filter optmization to return groups with access4027 when groups array is empty4028 does not use filter optimization4029 when use_traversal_ids is disabled4030 does not use filter optimization4031 when same_root is false4032 does not use filter optimization4033 with epics disabled4034 returns an empty list4035 for :read_confidential_epic permission4036 when user is guest4037 behaves like a filter for permissioned groups4038 with epics enabled4039 uses filter optmization to return groups with access4040 when groups array is empty4041 does not use filter optimization4042 when use_traversal_ids is disabled4043 does not use filter optimization4044 when same_root is false4045 does not use filter optimization4046 with epics disabled4047 returns an empty list4048 when user is reporter4049 behaves like a filter for permissioned groups4050 with epics enabled4051 uses filter optmization to return groups with access4052 when groups array is empty4053 does not use filter optimization4054 when use_traversal_ids is disabled4055 does not use filter optimization4056 when same_root is false4057 does not use filter optimization4058 with epics disabled4059 returns an empty list4060 when user is reporter via shared group4061 behaves like a filter for permissioned groups4062 with epics enabled4063 uses filter optmization to return groups with access4064 when groups array is empty4065 does not use filter optimization4066 when use_traversal_ids is disabled4067 does not use filter optimization4068 when same_root is false4069 does not use filter optimization4070 with epics disabled4071 returns an empty list4072 when user is member of a project in the hierarchy4073 behaves like a filter for permissioned groups4074 with epics enabled4075 uses filter optmization to return groups with access4076 when groups array is empty4077 does not use filter optimization4078 when use_traversal_ids is disabled4079 does not use filter optimization4080 when same_root is false4081 does not use filter optimization4082 with epics disabled4083 returns an empty list4084 when action is not allowed to use filtering optmization4085 returns an empty list4086 getting group root ancestor4087 when same_root is false4088 behaves like group root ancestor4089 does not exceed SQL queries count4090 when same_root is true4091 behaves like group root ancestor4092 does not exceed SQL queries count4093 .preload_root_saml_providers4094 sets root_saml_provider for given groups4095 #vulnerabilities4096 returns vulnerabilities for all non-archived, non-deleted projects in the group and its subgroups4097 #vulnerability_reads4098 returns vulnerabilities for projects in the group and its subgroups4099 #vulnerability_scanners4100 returns vulnerability scanners for all non-archived, non-deleted projects in the group and its subgroups4101 #vulnerability_historical_statistics4102 returns vulnerability scanners for all non-archived, non-deleted projects in the group and its subgroups4103 #mark_ldap_sync_as_failed4104 sets the state to failed4105 sets the error message4106 is graceful when current state is not valid for the fail transition4107 #repository_size_limit column4108 support values up to 8 exabytes4109 #file_template_project4110 is expected to include :file_template_project4111 validation4112 is cleared if invalid4113 is permitted if valid4114 #ip_restriction_ranges4115 group with no associated ip_restriction records4116 returns nil4117 group with associated ip_restriction records4118 returns a comma separated string of ranges of its ip_restriction records4119 #root_ancestor_ip_restrictions4120 returns the ip restrictions configured for the root group4121 #allowed_email_domains_list4122 group with no associated allowed_email_domains records4123 returns nil4124 group with associated allowed_email_domains records4125 returns a comma separated string of domains of its allowed_email_domains records4126 #root_ancestor_allowed_email_domains4127 returns the email domain restrictions configured for the root group4128 #owner_of_email?4129 when domain_verification feature is licensed4130 returns true for email with verified domain4131 returns false for email with unverified domain4132 returns false for email with unverified subdomain of verified domain4133 ignores case sensitivity4134 returns false when the receiver is subgroup4135 when domain_verification feature is not licensed4136 returns false for email with verified domain4137 #predefined_push_rule4138 group with no associated push_rules record4139 returns instance push rule4140 group with associated push_rules record4141 with its own push rule4142 returns its own push rule4143 with push rule from ancestor4144 returns push rule from closest ancestor4145 there are no push rules4146 returns nil4147 #checked_file_template_project4148 licensed4149 returns nil for an invalid project4150 returns a valid project4151 unlicensed4152 returns nil for a valid project4153 #checked_file_template_project_id4154 licensed4155 returns nil for an invalid project4156 returns the ID for a valid project4157 unlicensed4158 returns nil for a valid project4159 #group_project_template_available?4160 licensed4161 returns true for licensed instance4162 when in need of checking plan4163 returns true for groups in proper plan4164 returns false for groups with group template already set but not in proper plan4165 unlicensed4166 returns false for unlicensed instance4167 #scoped_variables_available?4168 licensed feature is available4169 is expected to equal true4170 licensed feature is not available4171 is expected to equal false4172 #minimal_access_role_allowed?4173 licensed4174 returns true for licensed instance4175 returns false for subgroup in licensed instance4176 unlicensed4177 returns false unlicensed instance4178 #member?4179 with `minimal_access_role` not licensed4180 is expected to be falsey4181 with `minimal_access_role` licensed4182 when group is a subgroup4183 is expected to be falsey4184 when group is a top-level group4185 is expected to be truthy4186 accepts higher level as argument4187 with anonymous user4188 is expected to be falsey4189 #billed_user_ids4190 with guests4191 includes distinct active users4192 excludes banned members4193 without guests4194 includes distinct active users4195 #billable_members_count4196 with guests4197 provides count of users4198 without guests4199 provides count of users4200 #billed_group_users4201 with guests4202 includes active users4203 without guests4204 includes active users4205 with member roles4206 includes guests with elevating role assigned4207 with banned members4208 excludes banned members4209 when member is banned in one namespace but not another4210 excludes banned member in the namespace it is banned in4211 includes member in the namespace it isn't banned in4212 #billed_project_users4213 with guests4214 includes active users4215 without guests4216 includes active users4217 with member roles4218 includes guests with elevating role assigned4219 with banned members4220 excludes banned members4221 #billed_shared_group_users4222 with guests4223 includes active users from the other group4224 without guests4225 includes active users from the other group4226 with banned members4227 includes members that are banned in invited group4228 excludes members that are banned in group4229 #billed_invited_group_to_project_users4230 with guests4231 includes active users from the other group4232 without guests4233 includes active users from the other group4234 with banned members4235 includes members that are banned in invited group4236 excludes members that are banned in group4237 #billed_group_user?4238 user: developer, exclude_guests: false, result: true4239 is expected to eq true4240 user: sub_developer, exclude_guests: false, result: true4241 is expected to eq true4242 user: guest, exclude_guests: false, result: true4243 is expected to eq true4244 user: developer, exclude_guests: true, result: true4245 is expected to eq true4246 user: sub_developer, exclude_guests: true, result: true4247 is expected to eq true4248 user: guest, exclude_guests: true, result: false4249 is expected to eq false4250 #billed_project_user?4251 user: developer, exclude_guests: false, result: true4252 is expected to eq true4253 user: sub_developer, exclude_guests: false, result: true4254 is expected to eq true4255 user: guest, exclude_guests: false, result: true4256 is expected to eq true4257 user: developer, exclude_guests: true, result: true4258 is expected to eq true4259 user: sub_developer, exclude_guests: true, result: true4260 is expected to eq true4261 user: guest, exclude_guests: true, result: false4262 is expected to eq false4263 #billed_shared_group_user?4264 user: ancestor_invited_developer, exclude_guests: false, result: true4265 is expected to eq true4266 user: invited_developer, exclude_guests: false, result: true4267 is expected to eq true4268 user: invited_guest, exclude_guests: false, result: true4269 is expected to eq true4270 user: ancestor_invited_developer, exclude_guests: true, result: true4271 is expected to eq true4272 user: invited_developer, exclude_guests: true, result: true4273 is expected to eq true4274 user: invited_guest, exclude_guests: true, result: false4275 is expected to eq false4276 #billed_shared_project_user?4277 user: ancestor_invited_developer, exclude_guests: false, result: true4278 is expected to eq true4279 user: invited_developer, exclude_guests: false, result: true4280 is expected to eq true4281 user: invited_guest, exclude_guests: false, result: true4282 is expected to eq true4283 user: ancestor_invited_developer, exclude_guests: true, result: true4284 is expected to eq true4285 user: invited_developer, exclude_guests: true, result: true4286 is expected to eq true4287 user: invited_guest, exclude_guests: true, result: false4288 is expected to eq false4289 #capacity_left_for_user?4290 user_cap_available: false, user_cap_reached: false, existing_membership: false, result: true4291 is expected to eq true4292 user_cap_available: false, user_cap_reached: false, existing_membership: true, result: true4293 is expected to eq true4294 user_cap_available: false, user_cap_reached: true, existing_membership: true, result: true4295 is expected to eq true4296 user_cap_available: true, user_cap_reached: false, existing_membership: false, result: true4297 is expected to eq true4298 user_cap_available: true, user_cap_reached: false, existing_membership: true, result: true4299 is expected to eq true4300 user_cap_available: true, user_cap_reached: true, existing_membership: true, result: true4301 is expected to eq true4302 user_cap_available: true, user_cap_reached: true, existing_membership: false, result: false4303 is expected to eq false4304 #has_free_or_no_subscription?4305 returns true with a free plan4306 returns false when the plan is not free4307 returns true when there is no plan4308 returns true when there is a subscription with no plan4309 when it is a subgroup4310 with a free plan4311 returns true4312 with a plan that is not free4313 returns false4314 when there is no plan4315 returns true4316 when there is a subscription with no plan4317 returns true4318 #enforce_free_user_cap?4319 enforce_free_cap: false, result: false4320 is expected to eq false4321 enforce_free_cap: true, result: true4322 is expected to eq true4323 #exclude_guests?4324 actual_plan_name: :free, requested_plan_name: nil, result: false4325 returns the expected result4326 actual_plan_name: :premium, requested_plan_name: nil, result: false4327 returns the expected result4328 actual_plan_name: :ultimate, requested_plan_name: nil, result: true4329 returns the expected result4330 actual_plan_name: :ultimate_trial, requested_plan_name: nil, result: true4331 returns the expected result4332 actual_plan_name: :gold, requested_plan_name: nil, result: true4333 returns the expected result4334 actual_plan_name: :free, requested_plan_name: "premium", result: false4335 returns the expected result4336 actual_plan_name: :free, requested_plan_name: "ultimate", result: true4337 returns the expected result4338 actual_plan_name: :premium, requested_plan_name: "ultimate", result: true4339 returns the expected result4340 actual_plan_name: :ultimate, requested_plan_name: "ultimate", result: true4341 returns the expected result4342 #actual_plan_name4343 when parent group has a subscription associated4344 returns an associated plan name4345 when parent group does not have subscription associated4346 returns a free plan name4347 #users_count4348 with `minimal_access_role` not licensed4349 does not count the minimal access user4350 with `minimal_access_role` licensed4351 counts the minimal access user4352 #saml_discovery_token4353 returns existing tokens4354 when missing on read4355 generates a token4356 saves the generated token4357 in read-only mode4358 doesn't raise an error as that could expose group existance4359 returns a random value to prevent access4360 #saml_enabled?4361 when a SAML provider does not exist4362 is expected to eq false4363 when a SAML provider exists and is persisted4364 is expected to eq true4365 when a SAML provider is not persisted4366 is expected to eq false4367 when global SAML is enabled4368 is expected to eq true4369 #saml_group_sync_available?4370 is expected to eq false4371 with group_saml_group_sync feature licensed4372 is expected to eq false4373 with saml enabled4374 is expected to eq true4375 when the group is a subgroup4376 is expected to eq true4377 #saml_group_links_enabled?4378 with group saml disabled4379 is expected to eq false4380 with group saml enabled4381 without saml group links4382 is expected to eq false4383 with saml group links4384 is expected to eq true4385 #insights_config4386 when group has no Insights project configured4387 returns the default config4388 when group has an Insights project configured without a config file4389 returns the default config4390 when group has an Insights project configured4391 with a valid config file4392 returns the insights config data4393 with an invalid config file4394 returns nil4395 when group has an Insights project configured which is in a nested group4396 returns the insights config data4397 #any_hook_failed?4398 is expected to eq false4399 #execute_hooks4400 group_webhooks4401 when group_webhooks feature is enabled4402 execution4403 executes the hook for self and ancestor groups by default4404 when group_webhooks feature is disabled4405 does not execute the hook4406 subgroup hooks4407 when a subgroup is added to the parent group4408 executes the webhook4409 when a subgroup is removed from the parent group4410 executes the webhook4411 when the subgroup has subgroup webhooks enabled4412 does not execute the webhook on itself4413 ancestor groups4414 fires webhook twice when both parent & grandparent group has subgroup_events enabled4415 when parent group does not have subgroup_events enabled4416 fires webhook once for the grandparent group when it has subgroup_events enabled4417 when the group is not a subgroup4418 does not proceed to firing any webhooks4419 when group webhooks are unlicensed4420 does not execute the webhook4421 #self_or_ancestor_marked_for_deletion4422 delayed deletion feature is not available4423 returns nil4424 delayed deletion feature is available4425 the group has been marked for deletion4426 returns the group4427 the parent group has been marked for deletion4428 returns the parent group4429 no group has been marked for deletion4430 returns nil4431 ordering4432 returns the first group that is marked for deletion, up its ancestry chain4433 #marked_for_deletion?4434 delayed deletion feature is available4435 when the group is marked for delayed deletion4436 is expected to be truthy4437 when the group is not marked for delayed deletion4438 is expected to be falsey4439 delayed deletion feature is not available4440 when the group is marked for delayed deletion4441 is expected to be falsey4442 when the group is not marked for delayed deletion4443 is expected to be falsey4444 #adjourned_deletion?4445 delayed deletion feature is available4446 adjourned_period: 0, delayed_group_deletion: true, expected: false4447 is expected to be falsey4448 adjourned_period: 0, delayed_group_deletion: false, expected: false4449 is expected to be falsey4450 adjourned_period: 1, delayed_group_deletion: true, expected: true4451 is expected to be truthy4452 adjourned_period: 1, delayed_group_deletion: false, expected: true4453 is expected to be truthy4454 delayed deletion feature is not available4455 when delayed deletion period is set to more than 04456 behaves like returns false4457 is expected to be falsey4458 #personal_access_token_expiration_policy_available?4459 when the group does not enforce managed accounts4460 is expected to be falsey4461 when the group enforces managed accounts4462 with `personal_access_token_expiration_policy` licensed4463 is expected to be truthy4464 with `personal_access_token_expiration_policy` not licensed4465 is expected to be falsey4466 #update_personal_access_tokens_lifetime4467 when the group does not enforce managed accounts4468 behaves like it does not call the update lifetime service4469 doesn not call the update lifetime service4470 when the group enforces managed accounts4471 with `personal_access_token_expiration_policy` not licensed4472 behaves like it does not call the update lifetime service4473 doesn not call the update lifetime service4474 with `personal_access_token_expiration_policy` licensed4475 when the group does not enforce a PAT expiry policy4476 behaves like it does not call the update lifetime service4477 doesn not call the update lifetime service4478 when the group enforces a PAT expiry policy4479 executes the update lifetime service4480 #max_personal_access_token_lifetime_from_now4481 when max_personal_access_token_lifetime is defined4482 is a date4483 is in the future4484 is in days_from_now4485 when max_personal_access_token_lifetime is nil4486 is nil4487 #owners_emails4488 is expected to match ["bob@example.com"]4489 #access_level_roles4490 returns the correct roles4491 Releases Stats4492 when there are no releases4493 #releases_count4494 returns 04495 #releases_percentage4496 returns 0 and does not attempt to divide by 04497 when there are some releases4498 #releases_count4499 counts all releases for group and descendants4500 #releases_percentage4501 calculates projects with releases percentage for group and descendants4502 #repository_storage4503 when wiki does not have a tracked repository storage4504 returns the default shard4505 when wiki has a tracked repository storage4506 returns the persisted shard4507 #user_cap_reached?4508 when user cap feature is not available4509 is expected to be falsey4510 when user cap feature is available4511 when the :saas_user_caps feature flag is not enabled4512 is expected to be falsey4513 when the :saas_user_caps feature flag is enabled4514 when this group has no root ancestor4515 behaves like returning the right value for user_cap_reached?4516 when no user cap has been set to that root ancestor4517 is expected to be falsey4518 when a user cap has been set to that root ancestor4519 when this cap is higher than the number of billable members4520 is expected to be falsey4521 when this cap is the same as the number of billable members4522 is expected to be truthy4523 when this cap is lower than the number of billable members4524 is expected to be truthy4525 when this group has a root ancestor4526 behaves like returning the right value for user_cap_reached?4527 when no user cap has been set to that root ancestor4528 is expected to be falsey4529 when a user cap has been set to that root ancestor4530 when this cap is higher than the number of billable members4531 is expected to be falsey4532 when this cap is the same as the number of billable members4533 is expected to be truthy4534 when this cap is lower than the number of billable members4535 is expected to be truthy4536 #calculate_reactive_cache4537 returns cache data for the free plan members count4538 #shared_externally?4539 returns false when the group is not shared outside of the namespace hierarchy4540 returns true when the group is shared outside of the namespace hierarchy4541 returns false when the group is shared internally within the namespace hierarchy4542 returns true when a subgroup is shared outside of the namespace hierarchy4543 returns false when the only shared groups are outside of the namespace hierarchy4544 returns true when the group project is shared outside of the namespace hierarchy4545 returns false when the group project is only shared internally within the namespace hierarchy4546 behaves like can move repository storage4547 #set_repository_read_only!4548 makes the repository read-only4549 raises an error if the project is already read-only4550 raises an error when there is an existing git transfer in progress4551 skip_git_transfer_check is true4552 makes the project read-only when git transfers are in progress4553 #set_repository_writable!4554 sets repository_read_only to false4555 #reference_counter4556 returns a Gitlab::ReferenceCounter object4557 #cluster_agents4558 is expected to contain exactly #<Clusters::Agent id: 2, created_at: "2023-08-18 13:06:36.501700386 +0000", updated_at: "2023-08-18 1...0386 +0000", project_id: 211, name: "agent-2", created_by_user_id: 1020, has_vulnerabilities: false> and #<Clusters::Agent id: 3, created_at: "2023-08-18 13:06:36.566185673 +0000", updated_at: "2023-08-18 1...5673 +0000", project_id: 212, name: "agent-3", created_by_user_id: 1021, has_vulnerabilities: false>4559 #unique_project_download_limit_enabled?4560 is expected to eq true4561 when feature flag is disabled4562 is expected to eq false4563 when licensed feature is not available4564 is expected to eq false4565 when sub-group4566 is expected to eq false4567 #parent_epic_ids_in_ancestor_groups4568 returns parent ids of epics of the given group that belongs to ancestor groups4569 #usage_quotas_enabled?4570 feature_available: false, feature_enabled: true, root_group: true, result: true4571 returns the expected result4572 feature_available: true, feature_enabled: true, root_group: true, result: true4573 returns the expected result4574 feature_available: true, feature_enabled: false, root_group: true, result: true4575 returns the expected result4576 feature_available: false, feature_enabled: false, root_group: true, result: false4577 returns the expected result4578 feature_available: false, feature_enabled: false, root_group: false, result: false4579 returns the expected result4580 feature_available: false, feature_enabled: true, root_group: false, result: false4581 returns the expected result4582 feature_available: true, feature_enabled: false, root_group: false, result: false4583 returns the expected result4584 feature_available: true, feature_enabled: true, root_group: false, result: false4585 returns the expected result4586 #sbom_occurrences4587 is expected to be empty4588 with project4589 is expected to be empty4590 with occurrences4591 returns occurrences with aggregated ids4592 #reached_project_access_token_limit?4593 when not in a saas environment4594 returns false when group project has a token4595 when in a saas environment4596 returns false when the limit has not been reached4597 returns true when the limit has been reached4598 returns true for a subgroup when a root group project has a token4599 returns true for the root group when a subgroup project has a token4600 returns true for a subgroup when another subgroup project has a token4601 does not count group tokens4602 does not count personal tokens4603 does not count expired tokens4604 .pending_delete?4605 when deletion_schedule is not present4606 returns false4607 when deletion_schedule is present4608 when marked_for_deletion_on is from past4609 returns false4610 when marked_for_deletion_on is in future4611 returns true4612Vulnerabilities::RevertToDetectedService4613 with an authorized user with proper permissions4614 when vulnerability state is different from the requested state4615 when vulnerability is dismissed4616 reverts a vulnerability and its associated findings to detected state4617 creates note4618 creates state transition entry to `detected`4619 behaves like calls vulnerability statistics utility services in order4620 when updating the vulnerability fails4621 does not call the service classes4622 when updating the vulnerability succeeds4623 calls the service classes in order4624 behaves like removes dismissal feedback from associated findings4625 when there is no error4626 removes dismissal feedback from associated findings4627 when there is an error4628 does not remove any feedback4629 responds with error4630 when vulnerability is confirmed4631 reverts a vulnerability and its associated findings to detected state4632 creates note4633 creates state transition entry to `detected`4634 behaves like calls vulnerability statistics utility services in order4635 when updating the vulnerability fails4636 does not call the service classes4637 when updating the vulnerability succeeds4638 calls the service classes in order4639 behaves like removes dismissal feedback from associated findings4640 when there is no error4641 removes dismissal feedback from associated findings4642 when there is an error4643 does not remove any feedback4644 responds with error4645 when vulnerability is resolved4646 reverts a vulnerability and its associated findings to detected state4647 creates note4648 creates state transition entry to `detected`4649 behaves like calls vulnerability statistics utility services in order4650 when updating the vulnerability fails4651 does not call the service classes4652 when updating the vulnerability succeeds4653 calls the service classes in order4654 behaves like removes dismissal feedback from associated findings4655 when there is no error4656 removes dismissal feedback from associated findings4657 when there is an error4658 does not remove any feedback4659 responds with error4660 when security dashboard feature is disabled4661 raises an "access denied" error4662 when vulnerability state is not different from the requested state4663 behaves like does not create state transition for same state4664 when vulnerability state is not different from the requested state4665 with an authorized user with proper permissions4666 does not create a state transition entry4667 permissions4668 is expected to be allowed for :owner4669 is expected to be allowed for :maintainer4670 is expected to be allowed for :developer4671 is expected to be denied for :auditor4672 is expected to be denied for :reporter4673 is expected to be denied for :guest4674 is expected to be denied for :anonymous4675 when admin mode is enabled4676 is expected to be allowed for :admin4677 when admin mode is disabled4678 is expected to be denied for :admin4679VulnerabilityFeedback::CreateService#execute4680 when params are valid4681 when user is not authorized4682 raise error if permission is denied4683 when feedback_type is dismissal4684 when vulnerability does not exist for finding4685 creates a new Vulnerability4686 sets dismissal info based on current time and user4687 creates a state transition entry4688 when vulnerability exists for finding4689 creates the feedback with the given params4690 when pipeline was updated more than 5 minutes ago4691 touches pipeline related to feedback4692 when pipeline was updated less than 5 minutes ago4693 does not touch pipeline related to feedback4694 when feedback params has a comment4695 sets the comment attributes4696 when feedback params does not have a comment4697 does not set comment attributes4698 when the `dismiss_vulnerability` argument is true4699 when the security_dashboard is not enabled4700 does not dismiss the existing vulnerability4701 when the security_dashboard is enabled4702 dismisses the existing vulnerability4703 when the `dismiss_vulnerability` argument is false4704 when the security_dashboard is not enabled4705 does not dismiss the existing vulnerability4706 when the security_dashboard is enabled4707 dismisses the existing vulnerability4708 when we already have persisted feedback4709 does not update the feedback4710 when feedback_type is issue4711 creates the feedback with the given params4712 updates the feedback when it already exists4713 creates a new issue when feedback already exists and issue has been deleted4714 delegates the Issue creation to CreateFromVulnerabilityDataService4715 when the id of the vulnerability is provided in vulnerability_data params4716 when id is missing4717 creates new Vulnerabilities::IssueLink4718 creates the feedback4719 creates a new Vulnerability4720 responds with an error when vulnerability creation fails4721 when the security finding has been dismissed4722 keeps the dismissed state4723 when not authorized to create a vulnerability4724 raises an error4725 when id is invalid4726 raises Gitlab::Access::AccessDeniedError4727 when id belongs to other project4728 raises Gitlab::Access::AccessDeniedError4729 when id is valid4730 delegates issue link creation to VulnerabilityIssueLinks::CreateService4731 delegates work to VulnerabilityIssueLinks::CreateService4732 issue link has correctly set vulnerability and link type4733 creates the feedback4734 when issue link is already created4735 when feedback does not exist4736 does not create new issue link4737 does not create new issue4738 does not create a feedback4739 when feedback already exists4740 does not create new issue link4741 does not create new issue4742 returns the feedback4743 when a previously created issue is provided4744 does not create a new issue4745 sets the feedback issue to the created issue4746 when feedback_type is merge_request4747 creates the feedback with the given params4748 delegates the MergeRequest creation to CreateFromVulnerabilityDataService4749 destroys merge_request and branch if feedback fails to persist4750 creates a new Vulnerability4751 does not create a state transition entry4752 creates new Vulnerabilities::MergeRequestLink4753 when finding_uuid is provided4754 sets the finding_uuid4755 when feedback exists4756 returns error when params are invalid4757 when params are invalid4758 when vulnerability_data params is missing and feedback_type is issue4759 returns error with correct message4760 when feedback_type is invalid4761 returns error with correct message4762 when category is invalid4763 returns error with correct message4764Ci::Pipeline4765 associations4766 is expected to have many security_scans class_name => Security::Scan4767 is expected to have many security_findings class_name => Security::Finding through security_scans source => findings4768 is expected to have many downstream_bridges4769 is expected to have many vulnerability_findings class_name => Vulnerabilities::Finding through vulnerabilities_finding_pipelines4770 is expected to have many vulnerabilities_finding_pipelines class_name => Vulnerabilities::FindingPipeline4771 is expected to have one dast_profiles_pipeline class_name => Dast::ProfilesPipeline4772 is expected to have one dast_profile class_name => Dast::Profile through dast_profiles_pipeline4773 .failure_reasons4774 contains failure reasons about exceeded limits4775 .latest_completed_pipeline_ids_per_source4776 returns expected pipeline ids4777 #batch_lookup_report_artifact_for_file_type4778 with security report artifact4779 when feature is available4780 returns the dependency_scanning artifact4781 when feature is not available4782 doesn't return the dependency_scanning artifact4783 with license scanning artifact4784 when feature is available4785 returns the license_scanning artifact4786 when feature is not available4787 doesn't return the license_scanning artifact4788 with browser performance artifact4789 when feature is available4790 returns the browser_performance artifact4791 when feature is not available4792 doesn't return the browser_performance artifact4793 with load performance artifact4794 when feature is available4795 returns the load_performance artifact4796 when feature is not available4797 doesn't return the load_performance artifact4798 #security_reports4799 when pipeline has multiple builds with security reports4800 assigns pipeline to the reports4801 returns security reports with collected data grouped as expected4802 when builds are retried4803 does not take retried builds into account4804 when the `report_types` parameter is provided4805 returns only the reports which are requested4806 when pipeline is a child pipeline4807 the reports should be accessible from the parent pipeline4808 when pipeline does not have any builds with security reports4809 returns empty security reports4810 ::Security::StoreScansWorker4811 when pipeline is succeeded4812 behaves like storing the security scans4813 when the security scans can be stored for the pipeline4814 schedules store security scans job4815 when the security scans can not be stored for the pipeline4816 does not schedule store security scans job4817 when pipeline is dropped4818 behaves like storing the security scans4819 when the security scans can be stored for the pipeline4820 schedules store security scans job4821 when the security scans can not be stored for the pipeline4822 does not schedule store security scans job4823 when pipeline is skipped4824 behaves like storing the security scans4825 when the security scans can be stored for the pipeline4826 schedules store security scans job4827 when the security scans can not be stored for the pipeline4828 does not schedule store security scans job4829 when pipeline is canceled4830 behaves like storing the security scans4831 when the security scans can be stored for the pipeline4832 schedules store security scans job4833 when the security scans can not be stored for the pipeline4834 does not schedule store security scans job4835 ::Sbom::IngestReportsWorker4836 when transitioning to a completed status4837 transition: :succeed4838 behaves like ingesting sbom reports4839 when sbom reports can be ingested for the pipeline4840 on the default branch4841 schedules ingest sbom reports job4842 if pipeline is a child4843 does not schedule ingest sbom reports job4844 on a non-default branch4845 does not schedule ingest sbom reports job4846 when sbom reports can not be ingested for the pipeline4847 on the default branch4848 does not schedule ingest sbom reports job4849 on a non-default branch4850 does not schedule ingest sbom reports job4851 transition: :drop4852 behaves like ingesting sbom reports4853 when sbom reports can be ingested for the pipeline4854 on the default branch4855 schedules ingest sbom reports job4856 if pipeline is a child4857 does not schedule ingest sbom reports job4858 on a non-default branch4859 does not schedule ingest sbom reports job4860 when sbom reports can not be ingested for the pipeline4861 on the default branch4862 does not schedule ingest sbom reports job4863 on a non-default branch4864 does not schedule ingest sbom reports job4865 transition: :skip4866 behaves like ingesting sbom reports4867 when sbom reports can be ingested for the pipeline4868 on the default branch4869 schedules ingest sbom reports job4870 if pipeline is a child4871 does not schedule ingest sbom reports job4872 on a non-default branch4873 does not schedule ingest sbom reports job4874 when sbom reports can not be ingested for the pipeline4875 on the default branch4876 does not schedule ingest sbom reports job4877 on a non-default branch4878 does not schedule ingest sbom reports job4879 transition: :cancel4880 behaves like ingesting sbom reports4881 when sbom reports can be ingested for the pipeline4882 on the default branch4883 schedules ingest sbom reports job4884 if pipeline is a child4885 does not schedule ingest sbom reports job4886 on a non-default branch4887 does not schedule ingest sbom reports job4888 when sbom reports can not be ingested for the pipeline4889 on the default branch4890 does not schedule ingest sbom reports job4891 on a non-default branch4892 does not schedule ingest sbom reports job4893 when transitioning to a non-completed status4894 transition: :enqueue4895 does not ingest sbom reports4896 transition: :request_resource4897 does not ingest sbom reports4898 transition: :prepare4899 does not ingest sbom reports4900 transition: :run4901 does not ingest sbom reports4902 transition: :block4903 does not ingest sbom reports4904 transition: :delay4905 does not ingest sbom reports4906 #license_scanning_report4907 when pipeline has multiple builds with license scanning reports4908 returns a license scanning report with collected data4909 when builds are retried4910 does not take retried builds into account4911 when pipeline does not have any builds with license scanning reports4912 returns an empty license scanning report4913 #dependency_list_reports4914 when pipeline has a build with dependency list reports4915 returns a dependency list report with collected data4916 when builds are retried4917 does not take retried builds into account4918 with failed builds4919 does not runs queries on failed builds4920 when pipeline does not have any builds with dependency_list reports4921 returns an empty dependency_list report4922 #metrics_report4923 when pipeline has multiple builds with metrics reports4924 returns a metrics report with collected data4925 when pipeline has multiple builds with metrics reports that are retried4926 does not take retried builds into account4927 when pipeline does not have any builds with metrics reports4928 returns an empty metrics report4929 #sbom_reports4930 when pipeline has a build with sbom reports4931 returns a list of sbom reports belonging to the artifact4932 when pipeline has multiple builds with sbom reports4933 returns a list of sbom reports belonging to the artifact4934 when pipeline does not have any builds with sbom reports4935 returns an empty reports list4936 state machine transitions4937 on pipeline complete4938 from waiting_for_resource4939 schedules Ci::SyncReportsToReportApprovalRulesWorker4940 from preparing4941 schedules Ci::SyncReportsToReportApprovalRulesWorker4942 from pending4943 schedules Ci::SyncReportsToReportApprovalRulesWorker4944 from running4945 schedules Ci::SyncReportsToReportApprovalRulesWorker4946 when pipeline has downstream bridges4947 when transitioning to success4948 schedules the pipeline bridge worker4949 when transitioning to blocked4950 schedules the pipeline bridge worker4951 when pipeline project has downstream subscriptions4952 when pipeline runs on a tag4953 when feature is not available4954 does not schedule the trigger downstream subscriptions worker4955 when feature is available4956 schedules the trigger downstream subscriptions worker4957 #latest_merged_result_pipeline?4958 is expected to be truthy4959 when pipeline is not merge request pipeline4960 is expected to be falsy4961 when source sha is outdated4962 is expected to be falsy4963 when target sha is outdated4964 is expected to be falsy4965 #retryable?4966 with pipeline for merged results4967 is expected to equal true4968 #merge_train_pipeline?4969 is expected to be truthy4970 when ref is merge ref4971 is expected to be falsy4972 #ensure_persistent_ref4973 when the persistent ref does not exist4974 logs a pipeline ref created event4975 when the persistent ref exists4976 does not log a pipeline ref created event4977 #merge_request_event_type4978 when pipeline is merge train pipeline4979 is expected to eq :merge_train4980 when pipeline is merge request pipeline4981 is expected to eq :merged_result4982 when pipeline is detached merge request pipeline4983 is expected to eq :detached4984 #latest_failed_security_builds4985 is expected to contain exactly #<Ci::Build status: "failed", finished_at: "2023-08-18 08:53:29.000000000 +0000", created_at: "2023-0... processed: false, scheduling_type: "stage", id: 65, stage_id: 18, partition_id: 100, tag_list: nil>4986 #license_scan_completed?4987 pipeline_status: :blocked, build_types: [:container_scanning], expected_status: false4988 is expected to eq false4989 pipeline_status: :blocked, build_types: [:cluster_image_scanning], expected_status: false4990 is expected to eq false4991 pipeline_status: :blocked, build_types: [:license_scan_v2_1, :container_scanning], expected_status: true4992 is expected to eq true4993 pipeline_status: :blocked, build_types: [:license_scan_v2_1], expected_status: true4994 is expected to eq true4995 pipeline_status: :blocked, build_types: [], expected_status: false4996 is expected to eq false4997 pipeline_status: :failed, build_types: [:container_scanning], expected_status: false4998 is expected to eq false4999 pipeline_status: :failed, build_types: [:cluster_image_scanning], expected_status: false5000 is expected to eq false5001 pipeline_status: :failed, build_types: [:license_scan_v2_1, :container_scanning], expected_status: true5002 is expected to eq true5003 pipeline_status: :failed, build_types: [:license_scan_v2_1], expected_status: true5004 is expected to eq true5005 pipeline_status: :failed, build_types: [], expected_status: false5006 is expected to eq false5007 pipeline_status: :running, build_types: [:container_scanning], expected_status: false5008 is expected to eq false5009 pipeline_status: :running, build_types: [:cluster_image_scanning], expected_status: false5010 is expected to eq false5011 pipeline_status: :running, build_types: [:license_scan_v2_1, :container_scanning], expected_status: true5012 is expected to eq true5013 pipeline_status: :running, build_types: [:license_scan_v2_1], expected_status: true5014 is expected to eq true5015 pipeline_status: :running, build_types: [], expected_status: false5016 is expected to eq false5017 pipeline_status: :success, build_types: [:container_scanning], expected_status: false5018 is expected to eq false5019 pipeline_status: :success, build_types: [:cluster_image_scanning], expected_status: false5020 is expected to eq false5021 pipeline_status: :success, build_types: [:license_scan_v2_1, :container_scanning], expected_status: true5022 is expected to eq true5023 pipeline_status: :success, build_types: [:license_scan_v2_1], expected_status: true5024 is expected to eq true5025 pipeline_status: :success, build_types: [], expected_status: false5026 is expected to eq false5027 #can_store_security_reports?5028 when the security reports can not be stored for the project5029 when the pipeline does not have security reports5030 is expected to be falsy5031 when the pipeline has security reports5032 is expected to be falsy5033 when the security reports can be stored for the project5034 when the pipeline does not have security reports5035 is expected to be falsy5036 when the pipeline has security reports5037 is expected to be truthy5038 #can_ingest_sbom_reports?5039 when pipeline has sbom_reports5040 when sbom report ingestion is available5041 is expected to equal true5042 when sbom report ingestion is not available5043 is expected to equal false5044 when pipeline does not have sbom_reports5045 when sbom report ingestion is available5046 is expected to equal false5047 when sbom report ingestion is not available5048 is expected to equal false5049 #security_findings_partition_number5050 when the pipeline already has associated `security_scans`5051 is expected to eq 205052 when the pipeline does not have associated `security_scans`5053 is expected to eq 5555054 #has_security_findings?5055 when the pipeline has security_findings5056 is expected to be truthy5057 when the pipeline does not have security_findings5058 is expected to be falsey5059 #triggered_for_ondemand_dast_scan?5060 when the feature flag is enabled5061 is expected to be truthy5062 when the pipeline only has the correct source5063 is expected to be falsey5064 when the pipeline only has the correct config_source5065 is expected to be falsey5066 #needs_touch?5067 when pipeline was updated less than 5 minutes ago5068 is expected to eq false5069 when pipeline was updated more than 5 minutes ago5070 is expected to eq true5071 #has_security_report_ingestion_warnings?5072 when there are no associated security scans with warnings5073 is expected to be falsey5074 when there is an associated security scan with warnings5075 is expected to be truthy5076 #has_security_report_ingestion_errors?5077 when there are no associated security scans with errors5078 is expected to be falsey5079 when there is an associated security scan with errors5080 is expected to be truthy5081 #total_ci_minutes_consumed5082 returns calculated ci_minutes5083 #security_scan_types5084 returns security_scan_types5085 .self_and_descendant_security_scans5086 returns the security scan from the parent and each child pipeline5087Geo::ProjectWikiRepositoryReplicator5088 # order random5089 invokes replicator.handle_after_create_commit on create5090 behaves like a verifiable replicator5091 events5092 has checksum_succeeded event5093 .verification_enabled?5094 when replication is enabled5095 when verification_feature_flag_enabled? returns true5096 returns true5097 when verification_feature_flag_enabled? returns false5098 returns false5099 when replication is disabled5100 returns false5101 .checksummed_count5102 when verification is enabled5103 when batch count feature flag is enabled5104 behaves like a counter of succeeded available verifiables5105 is expected to eq 15106 excludes other verification states5107 when batch count feature flag is disabled5108 behaves like a counter of succeeded available verifiables5109 is expected to eq 15110 excludes other verification states5111 when verification is disabled5112 returns nil5113 .verified_count5114 when verification is enabled5115 when batch count feature flag is enabled5116 behaves like a counter of succeeded available verifiables5117 is expected to eq 15118 excludes other verification states5119 when batch count feature flag is disabled5120 behaves like a counter of succeeded available verifiables5121 is expected to eq 15122 excludes other verification states5123 when verification is disabled5124 returns nil5125 .checksum_failed_count5126 when verification is enabled5127 when batch count feature flag is enabled5128 behaves like a counter of failed available verifiables5129 is expected to eq 15130 excludes other verification states5131 when batch count feature flag is disabled5132 behaves like a counter of failed available verifiables5133 is expected to eq 15134 excludes other verification states5135 when verification is disabled5136 returns nil5137 .verification_failed_count5138 when verification is enabled5139 when batch count feature flag is enabled5140 behaves like a counter of failed available verifiables5141 is expected to eq 15142 excludes other verification states5143 when batch count feature flag is disabled5144 behaves like a counter of failed available verifiables5145 is expected to eq 15146 excludes other verification states5147 when verification is disabled5148 returns nil5149 .verification_total_count5150 when verification is enabled5151 when batch count feature flag is enabled5152 when the verification_state is disabled5153 is expected to eq 05154 when the verification_state is not disabled5155 is expected to eq 15156 when batch count feature flag is disabled5157 when the verification_state is disabled5158 is expected to eq 05159 when the verification_state is not disabled5160 is expected to eq 15161 when verification is disabled5162 returns nil5163 .trigger_background_verification5164 when verification is enabled5165 for a Geo secondary5166 does not enqueue ReverificationBatchWorker5167 enqueues VerificationBatchWorker5168 enqueues VerificationTimeoutWorker5169 for a Geo primary5170 enqueues ReverificationBatchWorker5171 enqueues VerificationStateBackfillWorker5172 enqueues VerificationBatchWorker5173 enqueues VerificationTimeoutWorker5174 when verification is disabled5175 does not enqueue VerificationBatchWorker5176 does not enqueue VerificationTimeoutWorker5177 .backfill_verification_state_table5178 calls VerificationStateBackfillService5179 when on secondary5180 returns false5181 .verify_batch5182 when there are records needing verification5183 calls #verify on each replicator5184 .remaining_verification_batch_count5185 converts needs_verification_count to number of batches5186 .remaining_reverification_batch_count5187 converts needs_reverification_count to number of batches5188 .reverify_batch!5189 calls #reverify_batch5190 .replicator_batch_to_verify5191 returns usable Replicator instances5192 .model_record_id_batch_to_verify5193 when the batch is filled by pending rows5194 returns IDs of pending rows5195 does not call .verification_failed_batch5196 when that batch is not filled by pending rows5197 includes IDs of failed rows5198 .verification_pending_batch5199 when current node is a primary5200 delegates to the model class of the replicator5201 when current node is a secondary5202 delegates to the registry class of the replicator5203 .verification_failed_batch5204 when current node is a primary5205 delegates to the model class of the replicator5206 when current node is a secondary5207 delegates to the registry class of the replicator5208 .fail_verification_timeouts5209 when current node is a primary5210 delegates to the model class of the replicator5211 when current node is a secondary5212 delegates to the registry class of the replicator5213 #after_verifiable_update5214 verification_enabled: true, immutable: true, checksum: nil, checksummable: true, expect_verify_async: true5215 calls verify_async only if needed5216 verification_enabled: true, immutable: true, checksum: nil, checksummable: false, expect_verify_async: false5217 calls verify_async only if needed5218 verification_enabled: true, immutable: true, checksum: "abc123", checksummable: true, expect_verify_async: false5219 calls verify_async only if needed5220 verification_enabled: true, immutable: true, checksum: "abc123", checksummable: false, expect_verify_async: false5221 calls verify_async only if needed5222 verification_enabled: true, immutable: false, checksum: nil, checksummable: true, expect_verify_async: true5223 calls verify_async only if needed5224 verification_enabled: true, immutable: false, checksum: nil, checksummable: false, expect_verify_async: false5225 calls verify_async only if needed5226 verification_enabled: true, immutable: false, checksum: "abc123", checksummable: true, expect_verify_async: true5227 calls verify_async only if needed5228 verification_enabled: true, immutable: false, checksum: "abc123", checksummable: false, expect_verify_async: false5229 calls verify_async only if needed5230 verification_enabled: false, immutable: true, checksum: nil, checksummable: true, expect_verify_async: false5231 calls verify_async only if needed5232 verification_enabled: false, immutable: true, checksum: nil, checksummable: false, expect_verify_async: false5233 calls verify_async only if needed5234 verification_enabled: false, immutable: true, checksum: "abc123", checksummable: true, expect_verify_async: false5235 calls verify_async only if needed5236 verification_enabled: false, immutable: true, checksum: "abc123", checksummable: false, expect_verify_async: false5237 calls verify_async only if needed5238 verification_enabled: false, immutable: false, checksum: nil, checksummable: true, expect_verify_async: false5239 calls verify_async only if needed5240 verification_enabled: false, immutable: false, checksum: nil, checksummable: false, expect_verify_async: false5241 calls verify_async only if needed5242 verification_enabled: false, immutable: false, checksum: "abc123", checksummable: true, expect_verify_async: false5243 calls verify_async only if needed5244 verification_enabled: false, immutable: false, checksum: "abc123", checksummable: false, expect_verify_async: false5245 calls verify_async only if needed5246 #verify_async5247 on a Geo primary5248 calls verification_started! and enqueues VerificationWorker5249 #verify5250 wraps the checksum calculation in track_checksum_attempt!5251 #verification_state_tracker5252 on a Geo primary5253 returns model_record5254 on a Geo secondary5255 returns registry5256 #handle_after_checksum_succeeded5257 on a Geo primary5258 creates checksum_succeeded event5259 is called on verification success5260 on a Geo secondary5261 does not create an event5262 #consume_event_checksum_succeeded5263 with a persisted model_record5264 on a Geo primary5265 does nothing5266 on a Geo secondary5267 with a persisted registry5268 with a registry which is verified5269 sets state to verification_pending5270 with a registry which is pending verification5271 does not change state from verification_pending5272 with an unpersisted registry5273 does not persist the registry5274 #primary_verification_succeeded?5275 when the model record is verification_succeeded5276 returns true5277 when the model record is verification_succeeded5278 returns false5279 integration tests5280 on a primary5281 background backfill5282 verifies model records5283 triggered by events5284 verifies model records5285 on a secondary5286 background backfill5287 verifies registries5288 triggered by events5289 verifies registries5290 updated event consumption5291 in replicables_for_current_secondary list5292 runs Geo::FrameworkRepositorySyncService service5293 not in replicables_for_current_secondary list5294 does not run Geo::FrameworkRepositorySyncService service5295 when a sync is currently running5296 moves registry state to pending5297 deleted event consumption5298 runs Geo::RepositoryRegistryRemovalService service5299 .replicables_for_current_secondary5300 when syncing object storage is enabled5301 behaves like is implemented and returns a valid relation5302 is implemented5303 when syncing object storage is disabled5304 behaves like is implemented and returns a valid relation5305 is implemented5306 with selective sync disabled5307 behaves like is implemented and returns a valid relation5308 is implemented5309 with selective sync enabled for namespaces5310 behaves like is implemented and returns a valid relation5311 is implemented5312 with selective sync enabled for shards5313 behaves like is implemented and returns a valid relation5314 is implemented5315 #snapshot_url5316 returns snapshot URL based on the primary node URI5317 #verify5318 when wiki git repository does not exist5319 creates an empty git repository5320 #geo_handle_after_update5321 creates a Geo::Event5322 when replication feature flag is disabled5323 does not publish5324 #geo_handle_after_destroy5325 creates a Geo::Event5326 when replication feature flag is disabled5327 does not publish5328 #housekeeping_model_record5329 is implemented5330 .no_repo_message5331 is implemented5332 #snapshot_enabled?5333 returns true5334 .housekeeping_enabled?5335 is implemented5336 #model5337 is implemented5338 is a Class5339 .git_access_class5340 is implemented5341 #mutable?5342 is true5343 #replicator5344 is defined and does not raise error5345 behaves like a replicator5346 Geo node status5347 on a primary site5348 .primary_total_count5349 when batch count feature flag is enabled5350 returns the number of available replicables on primary5351 when batch count feature flag is disabled5352 returns the number of available replicables on primary5353 on a secondary site5354 .registry_count5355 when batch count feature flag is enabled5356 returns the number of registries on secondary5357 when batch count feature flag is disabled5358 returns the number of registries on secondary5359 .synced_count5360 when batch count feature flag is enabled5361 returns the number of synced items on secondary5362 when batch count feature flag is disabled5363 returns the number of synced items on secondary5364 .failed_count5365 when batch count feature flag is enabled5366 returns the number of failed items on secondary5367 when batch count feature flag is disabled5368 returns the number of failed items on secondary5369 when replicator is Geo::RegistrySyncWorker compatible5370 has "created" and "deleted" events5371 when replicator enqueues a sync event5372 is expected to receive perform_async("project_wiki_repository", "updated", {"model_record_id"=>101}) 1 time5373EpicIssues::CreateService5374 #execute5375 when epics feature is disabled5376 returns an error5377 no relationship is created5378 does not trigger issuableEpicUpdated5379 when epics feature is enabled5380 when user has permissions to link the issue5381 when the reference list is empty5382 returns an error5383 no relationship is created5384 does not trigger issuableEpicUpdated5385 does not create a system note5386 when there is an issue to relate5387 when shortcut for Issue is given5388 returns an error5389 no relationship is created5390 does not trigger issuableEpicUpdated5391 when a full reference is given5392 creates a new relationship and updates epic5393 orders the epic issue to the first place and moves the existing ones down5394 returns success status and created links5395 triggers issuableEpicUpdated5396 does not perform N + 1 queries5397 async actions5398 creates 1 system note for epic and 1 system note for issue5399 creates a note for epic correctly5400 creates a note for issue correctly5401 records action on usage ping5402 when an issue link is given5403 creates a new relationship and updates epic5404 orders the epic issue to the first place and moves the existing ones down5405 returns success status and created links5406 triggers issuableEpicUpdated5407 async actions5408 creates 1 system note for epic and 1 system note for issue5409 creates a note for epic correctly5410 creates a note for issue correctly5411 records action on usage ping5412 when a link of an issue in a subgroup is given5413 creates a new relationship and updates epic5414 orders the epic issue to the first place and moves the existing ones down5415 returns success status and created links5416 triggers issuableEpicUpdated5417 async actions5418 creates 1 system note for epic and 1 system note for issue5419 creates a note for epic correctly5420 creates a note for issue correctly5421 records action on usage ping5422 when multiple valid issues are given5423 creates new relationships5424 places each issue at the start5425 orders the epic issues to the first place and moves the existing ones down5426 returns success status and created links5427 creates 2 system notes for each issue5428 when there are invalid references5429 creates links only for valid references5430 returns error status5431 when assigning issuable which don't support epics5432 returns an error5433 no relationship is created5434 does not trigger issuableEpicUpdated5435 when user does not have permissions to link the issue5436 returns an error5437 no relationship is created5438 does not trigger issuableEpicUpdated5439 when assigning issue(s) to the same epic5440 no relationship is created5441 does not create notes5442 returns an error5443 when at least one of the issues is still not assigned to the epic5444 creates a new relationship and updates epic5445 orders the epic issue to the first place and moves the existing ones down5446 returns success status and created links5447 triggers issuableEpicUpdated5448 async actions5449 creates 1 system note for epic and 1 system note for issue5450 creates a note for epic correctly5451 creates a note for issue correctly5452 records action on usage ping5453 when an issue is already assigned to another epic5454 does not create a new association5455 updates the existing association5456 returns success status and created links5457 creates 3 system notes5458 updates both old and new epic milestone dates5459 creates a note correctly for the original epic5460 creates a note correctly for the new epic5461 creates a note correctly for the issue5462 when issue from non group project is given5463 returns an error5464 no relationship is created5465 does not trigger issuableEpicUpdated5466Geo::PackageFileRegistry5467 behaves like a BulkInsertSafe model5468 when calling class methods directly5469 raises an error when method is not bulk-insert safe5470 does not raise an error when method is bulk-insert safe5471 .bulk_insert!5472 when all items are valid5473 inserts them all5474 returns an empty array5475 when some items are invalid5476 does not insert any of them and raises an error5477 inserts them anyway when bypassing validations5478 behaves like a Geo verifiable registry5479 state machine5480 when transitioning to synced5481 marks verification as pending5482 when the model_record cannot be verified5483 when the registry is already verification_disabled5484 changes verification to disabled5485 when the registry is verification_pending5486 changes verification to disabled5487 verification_state machine5488 when transitioning to verification_failed5489 changes state from synced to failed5490 .verification_pending_batch5491 returns IDs of rows which are synced and pending verification5492 excludes rows which are not synced or are not pending verification5493 marks verification as started5494 .verification_failed_batch5495 with a failed record with retry due5496 returns IDs of rows which are synced and have failed verification5497 excludes rows which are not synced or have not failed verification5498 marks verification as started5499 when verification_retry_at is in the future5500 does not return the row which failed verification5501 .needs_verification_count5502 returns the number of rows which are synced and pending verification5503 includes rows which are synced and failed verification and are due for retry5504 excludes rows which are synced and failed verification and have a future retry time5505 excludes rows which are not synced or are not (pending or failed) verification5506 #verification_succeeded!5507 clears checksum mismatch fields5508 #track_checksum_attempt!5509 yields to the checksum calculation5510 when verification was not yet started5511 starts verification5512 when the model record cannot be verified5513 when the registry is already verification_disabled5514 leaves verification as disabled5515 when the registry is verification_pending5516 changes verification to disabled5517 when the primary site is expected to checksum the model record5518 comparison with primary checksum5519 when the calculated checksum matches the primary checksum5520 transitions to verification_succeeded and updates the checksum5521 when the calculated checksum does not match the primary checksum5522 transitions to verification_failed and updates mismatch fields5523 when verification was started5524 does not update verification_started_at5525 when an error occurs while yielding5526 sets verification_failed5527 obligatory fields check5528 has expected fields or methods5529 scopes5530 sync_timed_out5531 return correct records5532 not_pending5533 returns registries that are not pending5534 finders5535 .find_registries_never_attempted_sync5536 returns unsynced items5537 returns items that never have an attempt to sync except some specific item ID5538 .find_registries_needs_sync_again5539 returns failed items5540 returns failed items except some specific item ID5541 orders records according to retry_at5542 .fail_sync_timeouts5543 marks started records as failed if they are expired5544 #failed!5545 sets last_sync_failure with message5546 truncates a long last_sync_failure5547 increments retry_count5548 sets retry_at to a time in the future5549 when an error is given5550 includes error.message in last_sync_failure5551 when missing_on_primary is not given5552 caps retry_at to default 1 hour5553 when missing_on_primary is falsey5554 caps retry_at to default 1 hour5555 when missing_on_primary is truthy5556 caps retry_at to 4 hours5557 #synced!5558 mark as synced5559 when a sync was scheduled after the last sync finishes5560 does not reset state5561 resets the other sync state fields5562 #pending!5563 when a sync is currently running5564 successfully moves state to pending5565 when the registry has recorded a failure5566 clears failure retry fields5567 .with_search5568 when query is empty5569 returns all registries5570 when query is not empty5571 calls model_class search method5572 .find_registry_differences5573 with selective sync disabled5574 finds unused and untracked items5575 with selective sync by shard5576 finds unused and untracked items5577 with selective sync by namespace5578 finds unused and untracked items5579Geo::JobArtifactRegistry5580 factory is valid5581 behaves like a Geo verifiable registry5582 state machine5583 when transitioning to synced5584 marks verification as pending5585 when the model_record cannot be verified5586 when the registry is already verification_disabled5587 changes verification to disabled5588 when the registry is verification_pending5589 changes verification to disabled5590 verification_state machine5591 when transitioning to verification_failed5592 changes state from synced to failed5593 .verification_pending_batch5594 returns IDs of rows which are synced and pending verification5595 excludes rows which are not synced or are not pending verification5596 marks verification as started5597 .verification_failed_batch5598 with a failed record with retry due5599 returns IDs of rows which are synced and have failed verification5600 excludes rows which are not synced or have not failed verification5601 marks verification as started5602 when verification_retry_at is in the future5603 does not return the row which failed verification5604 .needs_verification_count5605 returns the number of rows which are synced and pending verification5606 includes rows which are synced and failed verification and are due for retry5607 excludes rows which are synced and failed verification and have a future retry time5608 excludes rows which are not synced or are not (pending or failed) verification5609 #verification_succeeded!5610 clears checksum mismatch fields5611 #track_checksum_attempt!5612 yields to the checksum calculation5613 when verification was not yet started5614 starts verification5615 when the model record cannot be verified5616 when the registry is already verification_disabled5617 leaves verification as disabled5618 when the registry is verification_pending5619 changes verification to disabled5620 when the primary site is expected to checksum the model record5621 comparison with primary checksum5622 when the calculated checksum matches the primary checksum5623 transitions to verification_succeeded and updates the checksum5624 when the calculated checksum does not match the primary checksum5625 transitions to verification_failed and updates mismatch fields5626 when verification was started5627 does not update verification_started_at5628 when an error occurs while yielding5629 sets verification_failed5630 obligatory fields check5631 has expected fields or methods5632 scopes5633 sync_timed_out5634 return correct records5635 not_pending5636 returns registries that are not pending5637 finders5638 .find_registries_never_attempted_sync5639 returns unsynced items5640 returns items that never have an attempt to sync except some specific item ID5641 .find_registries_needs_sync_again5642 returns failed items5643 returns failed items except some specific item ID5644 orders records according to retry_at5645 .fail_sync_timeouts5646 marks started records as failed if they are expired5647 #failed!5648 sets last_sync_failure with message5649 truncates a long last_sync_failure5650 increments retry_count5651 sets retry_at to a time in the future5652 when an error is given5653 includes error.message in last_sync_failure5654 when missing_on_primary is not given5655 caps retry_at to default 1 hour5656 when missing_on_primary is falsey5657 caps retry_at to default 1 hour5658 when missing_on_primary is truthy5659 caps retry_at to 4 hours5660 #synced!5661 mark as synced5662 when a sync was scheduled after the last sync finishes5663 does not reset state5664 resets the other sync state fields5665 #pending!5666 when a sync is currently running5667 successfully moves state to pending5668 when the registry has recorded a failure5669 clears failure retry fields5670 .with_search5671 when query is empty5672 returns all registries5673 when query is not empty5674 calls model_class search method5675Boards::Issues::MoveService5676 #execute5677 when parent is a project5678 behaves like moving an issue to/from assignee lists5679 from assignee to label list5680 does not unassign and adds label5681 from assignee to backlog5682 removes assignment and keeps milestone5683 from assignee to closed list5684 keeps assignment and closes the issue5685 from label list to assignee5686 assigns and does not remove label5687 between two assignee lists5688 unassigns removal and assigns addition5689 when cannot assign to target list user5690 returns error5691 behaves like moving an issue to/from milestone lists5692 from backlog to milestone list5693 assigns the milestone5694 from milestone to backlog list5695 removes the milestone5696 from label to milestone list5697 assigns the milestone and keeps labels5698 from milestone to label list5699 adds labels and keeps milestone5700 from assignee to milestone list5701 assigns the milestone and keeps assignees5702 from milestone to assignee list5703 assigns the user and keeps milestone5704 between milestone lists5705 replaces previous list milestone to targeting list milestone5706 behaves like moving an issue to/from iteration lists5707 from backlog to iteration list5708 assigns the iteration5709 from iteration to backlog list5710 removes the iteration5711 from label to iteration list5712 assigns the iteration and keeps labels5713 from iteration to label list5714 adds labels and keeps iteration5715 between iteration lists5716 replaces previous list iteration to targeting list iteration5717 when parent is a group5718 behaves like moving an issue to/from assignee lists5719 from assignee to label list5720 does not unassign and adds label5721 from assignee to backlog5722 removes assignment and keeps milestone5723 from assignee to closed list5724 keeps assignment and closes the issue5725 from label list to assignee5726 assigns and does not remove label5727 between two assignee lists5728 unassigns removal and assigns addition5729 when cannot assign to target list user5730 returns error5731 behaves like moving an issue to/from milestone lists5732 from backlog to milestone list5733 assigns the milestone5734 from milestone to backlog list5735 removes the milestone5736 from label to milestone list5737 assigns the milestone and keeps labels5738 from milestone to label list5739 adds labels and keeps milestone5740 from assignee to milestone list5741 assigns the milestone and keeps assignees5742 from milestone to assignee list5743 assigns the user and keeps milestone5744 between milestone lists5745 replaces previous list milestone to targeting list milestone5746 behaves like moving an issue to/from iteration lists5747 from backlog to iteration list5748 assigns the iteration5749 from iteration to backlog list5750 removes the iteration5751 from label to iteration list5752 assigns the iteration and keeps labels5753 from iteration to label list5754 adds labels and keeps iteration5755 between iteration lists5756 replaces previous list iteration to targeting list iteration5757 when moving to same list5758 sorts issues included in subgroups5759BackfillExistingGroupWiki5760 # order random5761 .migrate5762 indexes all the groups5763 when completed? is true5764 makes an early return5765 migration_options5766 has migration options set5767 .completed?5768 when all the group wikis have been indexed5769 returns true with a log5770 when there are no GroupWikiRepository record5771 returns true with a log5772 when max_processed_group_id is less than maximum_group_id5773 returns false with a log5774Geo::CiSecureFileRegistry5775 factory is valid5776 behaves like a Geo verifiable registry5777 state machine5778 when transitioning to synced5779 marks verification as pending5780 when the model_record cannot be verified5781 when the registry is already verification_disabled5782 changes verification to disabled5783 when the registry is verification_pending5784 changes verification to disabled5785 verification_state machine5786 when transitioning to verification_failed5787 changes state from synced to failed5788 .verification_pending_batch5789 returns IDs of rows which are synced and pending verification5790 excludes rows which are not synced or are not pending verification5791 marks verification as started5792 .verification_failed_batch5793 with a failed record with retry due5794 returns IDs of rows which are synced and have failed verification5795 excludes rows which are not synced or have not failed verification5796 marks verification as started5797 when verification_retry_at is in the future5798 does not return the row which failed verification5799 .needs_verification_count5800 returns the number of rows which are synced and pending verification5801 includes rows which are synced and failed verification and are due for retry5802 excludes rows which are synced and failed verification and have a future retry time5803 excludes rows which are not synced or are not (pending or failed) verification5804 #verification_succeeded!5805 clears checksum mismatch fields5806 #track_checksum_attempt!5807 yields to the checksum calculation5808 when verification was not yet started5809 starts verification5810 when the model record cannot be verified5811 when the registry is already verification_disabled5812 leaves verification as disabled5813 when the registry is verification_pending5814 changes verification to disabled5815 when the primary site is expected to checksum the model record5816 comparison with primary checksum5817 when the calculated checksum matches the primary checksum5818 transitions to verification_succeeded and updates the checksum5819 when the calculated checksum does not match the primary checksum5820 transitions to verification_failed and updates mismatch fields5821 when verification was started5822 does not update verification_started_at5823 when an error occurs while yielding5824 sets verification_failed5825 obligatory fields check5826 has expected fields or methods5827 scopes5828 sync_timed_out5829 return correct records5830 not_pending5831 returns registries that are not pending5832 finders5833 .find_registries_never_attempted_sync5834 returns unsynced items5835 returns items that never have an attempt to sync except some specific item ID5836 .find_registries_needs_sync_again5837 returns failed items5838 returns failed items except some specific item ID5839 orders records according to retry_at5840 .fail_sync_timeouts5841 marks started records as failed if they are expired5842 #failed!5843 sets last_sync_failure with message5844 truncates a long last_sync_failure5845 increments retry_count5846 sets retry_at to a time in the future5847 when an error is given5848 includes error.message in last_sync_failure5849 when missing_on_primary is not given5850 caps retry_at to default 1 hour5851 when missing_on_primary is falsey5852 caps retry_at to default 1 hour5853 when missing_on_primary is truthy5854 caps retry_at to 4 hours5855 #synced!5856 mark as synced5857 when a sync was scheduled after the last sync finishes5858 does not reset state5859 resets the other sync state fields5860 #pending!5861 when a sync is currently running5862 successfully moves state to pending5863 when the registry has recorded a failure5864 clears failure retry fields5865 .with_search5866 when query is empty5867 returns all registries5868 when query is not empty5869 calls model_class search method5870ProjectMember5871 is expected to includes the EE::ProjectMember module5872 behaves like member validations5873 validations5874 validates SSO enforcement5875 enforced SSO enabled5876 allows adding a user linked to the SAML account as member5877 does not allow adding a user not linked to the SAML account as member5878 allows adding a project bot as member5879 subgroups5880 does not allow adding a group member with SSO enforced on subgroup5881 enforced SSO disabled5882 allows adding the group member5883 validates GMA enforcement5884 enforced group managed account enabled5885 allows adding a user linked to the GMA account as project member5886 does not allow adding a user not linked to the GMA account as project member5887 allows adding a project bot5888 enforced group managed account disabled5889 allows adding any user as project member5890 #group_domain_validations5891 does not validate personal projects5892 behaves like member group domain validations5893 validates group domain limitations5894 when group_allowed_email_domains is turned on5895 users email must match at least one of the allowed domain emails5896 shows proper error message when not invited by admin5897 shows proper error message when invited by admin5898 shows proper error message for single domain limitation5899 invited email must match at least one of the allowed domain emails5900 user email must be verified5901 with project bot users5902 bot user email does not match5903 allows the project bot user5904 with group SAML users5905 user emails does not have to be verified5906 with group SCIM users5907 user emails does not have to be verified5908 when group is subgroup5909 users email must match at least one of the allowed domain emails5910 invited email must match at least one of the allowed domain emails5911 user email must be verified5912 with group SCIM users5913 user emails does not have to be verified5914 with group SAML users5915 user emails does not have to be verified5916 when group_allowed_email_domains is turned off5917 users email need not match allowed domain emails5918 invited email need not match allowed domain emails5919 user emails does not have to be verified5920 only one security policy bot validation5921 allows only one member of type security_policy_bot5922 does not throw an error if user is nil5923 #provisioned_by_this_group?5924 is expected to eq false5925 #state5926 #activate!5927 refreshes the user's authorized projects5928 #wait!5929 refreshes the user's authorized projects5930 delete protected environment acceses cascadingly5931 deletes associated protected environment access cascadingly5932 when the user is assiged to multiple protected environments in the same project5933 deletes all associated protected environment accesses in the project5934 when the user is assiged to multiple protected environments across different projects5935 deletes all associated protected environment accesses in the project5936 post create hooks5937 when a new personal project is created5938 does not send notifications or create events for the creator of the project5939 when a different user is added to a personal project as OWNER5940 sends notifications and creates events for the newly added OWNER5941 #accept_invite!5942 does not accept invite if group locks memberships for projects5943Security::ScanResultPolicies::FindingsFinder5944 # order random5945 #execute5946 with severity_levels5947 is expected to contain exactly #<Security::Finding id: 7, scan_id: 29, scanner_id: 234, severity: "high", confidence: "high", projec..."db66d5b7-b585-4eb9-88c8-f80e29d55ce9", overridden_uuid: nil, partition_number: 1, finding_data: {}>5948 when it is an empty array5949 is expected to contain exactly #<Security::Finding id: 7, scan_id: 29, scanner_id: 234, severity: "high", confidence: "high", projec..."db66d5b7-b585-4eb9-88c8-f80e29d55ce9", overridden_uuid: nil, partition_number: 1, finding_data: {}>, #<Security::Finding id: 8, scan_id: 30, scanner_id: 235, severity: "critical", confidence: "high", pr..."11d9972d-a156-4a90-80c1-3d2f52bc08a7", overridden_uuid: nil, partition_number: 1, finding_data: {}>, #<Security::Finding id: 9, scan_id: 29, scanner_id: 236, severity: "critical", confidence: "high", pr..."44b38ea4-e970-497a-bfc3-aef7399be262", overridden_uuid: nil, partition_number: 1, finding_data: {}>, #<Security::Finding id: 10, scan_id: 29, scanner_id: 237, severity: "critical", confidence: "high", p...ract"=>"AES/ECB/NoPadding", "remediation_byte_offsets"=>[{"end_byte"=>13602, "start_byte"=>12719}]}>, #<Security::Finding id: 11, scan_id: 29, scanner_id: 238, severity: "critical", confidence: "high", p...ract"=>"AES/ECB/NoPadding", "remediation_byte_offsets"=>[{"end_byte"=>13602, "start_byte"=>12719}]}>, #<Security::Finding id: 12, scan_id: 29, scanner_id: 239, severity: "critical", confidence: "high", p...ract"=>"AES/ECB/NoPadding", "remediation_byte_offsets"=>[{"end_byte"=>13602, "start_byte"=>12719}]}>, and #<Security::Finding id: 13, scan_id: 29, scanner_id: 240, severity: "critical", confidence: "high", p..._positive?"=>false, "raw_source_code_extract"=>"AES/ECB/NoPadding", "remediation_byte_offsets"=>[]}>5950 with scanners5951 is expected to contain exactly #<Security::Finding id: 8, scan_id: 30, scanner_id: 235, severity: "critical", confidence: "high", pr..."11d9972d-a156-4a90-80c1-3d2f52bc08a7", overridden_uuid: nil, partition_number: 1, finding_data: {}>5952 with undismissed findings5953 when check_dismissed is true5954 is expected to contain exactly #<Security::Finding id: 7, scan_id: 29, scanner_id: 234, severity: "high", confidence: "high", projec..."db66d5b7-b585-4eb9-88c8-f80e29d55ce9", overridden_uuid: nil, partition_number: 1, finding_data: {}>, #<Security::Finding id: 8, scan_id: 30, scanner_id: 235, severity: "critical", confidence: "high", pr..."11d9972d-a156-4a90-80c1-3d2f52bc08a7", overridden_uuid: nil, partition_number: 1, finding_data: {}>, #<Security::Finding id: 10, scan_id: 29, scanner_id: 237, severity: "critical", confidence: "high", p...ract"=>"AES/ECB/NoPadding", "remediation_byte_offsets"=>[{"end_byte"=>13602, "start_byte"=>12719}]}>, #<Security::Finding id: 11, scan_id: 29, scanner_id: 238, severity: "critical", confidence: "high", p...ract"=>"AES/ECB/NoPadding", "remediation_byte_offsets"=>[{"end_byte"=>13602, "start_byte"=>12719}]}>, #<Security::Finding id: 12, scan_id: 29, scanner_id: 239, severity: "critical", confidence: "high", p...ract"=>"AES/ECB/NoPadding", "remediation_byte_offsets"=>[{"end_byte"=>13602, "start_byte"=>12719}]}>, and #<Security::Finding id: 13, scan_id: 29, scanner_id: 240, severity: "critical", confidence: "high", p..._positive?"=>false, "raw_source_code_extract"=>"AES/ECB/NoPadding", "remediation_byte_offsets"=>[]}>5955 when check_dismissed is false5956 is expected to contain exactly #<Security::Finding id: 7, scan_id: 29, scanner_id: 234, severity: "high", confidence: "high", projec..."db66d5b7-b585-4eb9-88c8-f80e29d55ce9", overridden_uuid: nil, partition_number: 1, finding_data: {}>, #<Security::Finding id: 8, scan_id: 30, scanner_id: 235, severity: "critical", confidence: "high", pr..."11d9972d-a156-4a90-80c1-3d2f52bc08a7", overridden_uuid: nil, partition_number: 1, finding_data: {}>, #<Security::Finding id: 9, scan_id: 29, scanner_id: 236, severity: "critical", confidence: "high", pr..."44b38ea4-e970-497a-bfc3-aef7399be262", overridden_uuid: nil, partition_number: 1, finding_data: {}>, #<Security::Finding id: 10, scan_id: 29, scanner_id: 237, severity: "critical", confidence: "high", p...ract"=>"AES/ECB/NoPadding", "remediation_byte_offsets"=>[{"end_byte"=>13602, "start_byte"=>12719}]}>, #<Security::Finding id: 11, scan_id: 29, scanner_id: 238, severity: "critical", confidence: "high", p...ract"=>"AES/ECB/NoPadding", "remediation_byte_offsets"=>[{"end_byte"=>13602, "start_byte"=>12719}]}>, #<Security::Finding id: 12, scan_id: 29, scanner_id: 239, severity: "critical", confidence: "high", p...ract"=>"AES/ECB/NoPadding", "remediation_byte_offsets"=>[{"end_byte"=>13602, "start_byte"=>12719}]}>, and #<Security::Finding id: 13, scan_id: 29, scanner_id: 240, severity: "critical", confidence: "high", p..._positive?"=>false, "raw_source_code_extract"=>"AES/ECB/NoPadding", "remediation_byte_offsets"=>[]}>5957 with dismissed findings5958 when check_dismissed is true5959 is expected to contain exactly #<Security::Finding id: 9, scan_id: 29, scanner_id: 236, severity: "critical", confidence: "high", pr..."44b38ea4-e970-497a-bfc3-aef7399be262", overridden_uuid: nil, partition_number: 1, finding_data: {}>5960 when check_dismissed is false5961 is expected to contain exactly #<Security::Finding id: 7, scan_id: 29, scanner_id: 234, severity: "high", confidence: "high", projec..."db66d5b7-b585-4eb9-88c8-f80e29d55ce9", overridden_uuid: nil, partition_number: 1, finding_data: {}>, #<Security::Finding id: 8, scan_id: 30, scanner_id: 235, severity: "critical", confidence: "high", pr..."11d9972d-a156-4a90-80c1-3d2f52bc08a7", overridden_uuid: nil, partition_number: 1, finding_data: {}>, #<Security::Finding id: 9, scan_id: 29, scanner_id: 236, severity: "critical", confidence: "high", pr..."44b38ea4-e970-497a-bfc3-aef7399be262", overridden_uuid: nil, partition_number: 1, finding_data: {}>, #<Security::Finding id: 10, scan_id: 29, scanner_id: 237, severity: "critical", confidence: "high", p...ract"=>"AES/ECB/NoPadding", "remediation_byte_offsets"=>[{"end_byte"=>13602, "start_byte"=>12719}]}>, #<Security::Finding id: 11, scan_id: 29, scanner_id: 238, severity: "critical", confidence: "high", p...ract"=>"AES/ECB/NoPadding", "remediation_byte_offsets"=>[{"end_byte"=>13602, "start_byte"=>12719}]}>, #<Security::Finding id: 12, scan_id: 29, scanner_id: 239, severity: "critical", confidence: "high", p...ract"=>"AES/ECB/NoPadding", "remediation_byte_offsets"=>[{"end_byte"=>13602, "start_byte"=>12719}]}>, and #<Security::Finding id: 13, scan_id: 29, scanner_id: 240, severity: "critical", confidence: "high", p..._positive?"=>false, "raw_source_code_extract"=>"AES/ECB/NoPadding", "remediation_byte_offsets"=>[]}>5962 with false_positives true5963 is expected to contain exactly #<Security::Finding id: 10, scan_id: 29, scanner_id: 237, severity: "critical", confidence: "high", p...ract"=>"AES/ECB/NoPadding", "remediation_byte_offsets"=>[{"end_byte"=>13602, "start_byte"=>12719}]}>5964 behaves like disabled vulnerability attribute rules5965 is expected to contain exactly #<Security::Finding id: 7, scan_id: 29, scanner_id: 234, severity: "high", confidence: "high", projec..."db66d5b7-b585-4eb9-88c8-f80e29d55ce9", overridden_uuid: nil, partition_number: 1, finding_data: {}>, #<Security::Finding id: 8, scan_id: 30, scanner_id: 235, severity: "critical", confidence: "high", pr..."11d9972d-a156-4a90-80c1-3d2f52bc08a7", overridden_uuid: nil, partition_number: 1, finding_data: {}>, #<Security::Finding id: 9, scan_id: 29, scanner_id: 236, severity: "critical", confidence: "high", pr..."44b38ea4-e970-497a-bfc3-aef7399be262", overridden_uuid: nil, partition_number: 1, finding_data: {}>, #<Security::Finding id: 10, scan_id: 29, scanner_id: 237, severity: "critical", confidence: "high", p...ract"=>"AES/ECB/NoPadding", "remediation_byte_offsets"=>[{"end_byte"=>13602, "start_byte"=>12719}]}>, #<Security::Finding id: 11, scan_id: 29, scanner_id: 238, severity: "critical", confidence: "high", p...ract"=>"AES/ECB/NoPadding", "remediation_byte_offsets"=>[{"end_byte"=>13602, "start_byte"=>12719}]}>, #<Security::Finding id: 12, scan_id: 29, scanner_id: 239, severity: "critical", confidence: "high", p...ract"=>"AES/ECB/NoPadding", "remediation_byte_offsets"=>[{"end_byte"=>13602, "start_byte"=>12719}]}>, and #<Security::Finding id: 13, scan_id: 29, scanner_id: 240, severity: "critical", confidence: "high", p..._positive?"=>false, "raw_source_code_extract"=>"AES/ECB/NoPadding", "remediation_byte_offsets"=>[]}>5966 with false_positives false5967 is expected to contain exactly #<Security::Finding id: 7, scan_id: 29, scanner_id: 234, severity: "high", confidence: "high", projec..."db66d5b7-b585-4eb9-88c8-f80e29d55ce9", overridden_uuid: nil, partition_number: 1, finding_data: {}>, #<Security::Finding id: 8, scan_id: 30, scanner_id: 235, severity: "critical", confidence: "high", pr..."11d9972d-a156-4a90-80c1-3d2f52bc08a7", overridden_uuid: nil, partition_number: 1, finding_data: {}>, #<Security::Finding id: 9, scan_id: 29, scanner_id: 236, severity: "critical", confidence: "high", pr..."44b38ea4-e970-497a-bfc3-aef7399be262", overridden_uuid: nil, partition_number: 1, finding_data: {}>, #<Security::Finding id: 11, scan_id: 29, scanner_id: 238, severity: "critical", confidence: "high", p...ract"=>"AES/ECB/NoPadding", "remediation_byte_offsets"=>[{"end_byte"=>13602, "start_byte"=>12719}]}>, #<Security::Finding id: 12, scan_id: 29, scanner_id: 239, severity: "critical", confidence: "high", p...ract"=>"AES/ECB/NoPadding", "remediation_byte_offsets"=>[{"end_byte"=>13602, "start_byte"=>12719}]}>, and #<Security::Finding id: 13, scan_id: 29, scanner_id: 240, severity: "critical", confidence: "high", p..._positive?"=>false, "raw_source_code_extract"=>"AES/ECB/NoPadding", "remediation_byte_offsets"=>[]}>5968 behaves like disabled vulnerability attribute rules5969 is expected to contain exactly #<Security::Finding id: 7, scan_id: 29, scanner_id: 234, severity: "high", confidence: "high", projec..."db66d5b7-b585-4eb9-88c8-f80e29d55ce9", overridden_uuid: nil, partition_number: 1, finding_data: {}>, #<Security::Finding id: 8, scan_id: 30, scanner_id: 235, severity: "critical", confidence: "high", pr..."11d9972d-a156-4a90-80c1-3d2f52bc08a7", overridden_uuid: nil, partition_number: 1, finding_data: {}>, #<Security::Finding id: 9, scan_id: 29, scanner_id: 236, severity: "critical", confidence: "high", pr..."44b38ea4-e970-497a-bfc3-aef7399be262", overridden_uuid: nil, partition_number: 1, finding_data: {}>, #<Security::Finding id: 10, scan_id: 29, scanner_id: 237, severity: "critical", confidence: "high", p...ract"=>"AES/ECB/NoPadding", "remediation_byte_offsets"=>[{"end_byte"=>13602, "start_byte"=>12719}]}>, #<Security::Finding id: 11, scan_id: 29, scanner_id: 238, severity: "critical", confidence: "high", p...ract"=>"AES/ECB/NoPadding", "remediation_byte_offsets"=>[{"end_byte"=>13602, "start_byte"=>12719}]}>, #<Security::Finding id: 12, scan_id: 29, scanner_id: 239, severity: "critical", confidence: "high", p...ract"=>"AES/ECB/NoPadding", "remediation_byte_offsets"=>[{"end_byte"=>13602, "start_byte"=>12719}]}>, and #<Security::Finding id: 13, scan_id: 29, scanner_id: 240, severity: "critical", confidence: "high", p..._positive?"=>false, "raw_source_code_extract"=>"AES/ECB/NoPadding", "remediation_byte_offsets"=>[]}>5970 with fix_available true5971 is expected to contain exactly #<Security::Finding id: 12, scan_id: 29, scanner_id: 239, severity: "critical", confidence: "high", p...ract"=>"AES/ECB/NoPadding", "remediation_byte_offsets"=>[{"end_byte"=>13602, "start_byte"=>12719}]}>, #<Security::Finding id: 10, scan_id: 29, scanner_id: 237, severity: "critical", confidence: "high", p...ract"=>"AES/ECB/NoPadding", "remediation_byte_offsets"=>[{"end_byte"=>13602, "start_byte"=>12719}]}>, and #<Security::Finding id: 11, scan_id: 29, scanner_id: 238, severity: "critical", confidence: "high", p...ract"=>"AES/ECB/NoPadding", "remediation_byte_offsets"=>[{"end_byte"=>13602, "start_byte"=>12719}]}>5972 behaves like disabled vulnerability attribute rules5973 is expected to contain exactly #<Security::Finding id: 7, scan_id: 29, scanner_id: 234, severity: "high", confidence: "high", projec..."db66d5b7-b585-4eb9-88c8-f80e29d55ce9", overridden_uuid: nil, partition_number: 1, finding_data: {}>, #<Security::Finding id: 8, scan_id: 30, scanner_id: 235, severity: "critical", confidence: "high", pr..."11d9972d-a156-4a90-80c1-3d2f52bc08a7", overridden_uuid: nil, partition_number: 1, finding_data: {}>, #<Security::Finding id: 9, scan_id: 29, scanner_id: 236, severity: "critical", confidence: "high", pr..."44b38ea4-e970-497a-bfc3-aef7399be262", overridden_uuid: nil, partition_number: 1, finding_data: {}>, #<Security::Finding id: 10, scan_id: 29, scanner_id: 237, severity: "critical", confidence: "high", p...ract"=>"AES/ECB/NoPadding", "remediation_byte_offsets"=>[{"end_byte"=>13602, "start_byte"=>12719}]}>, #<Security::Finding id: 11, scan_id: 29, scanner_id: 238, severity: "critical", confidence: "high", p...ract"=>"AES/ECB/NoPadding", "remediation_byte_offsets"=>[{"end_byte"=>13602, "start_byte"=>12719}]}>, #<Security::Finding id: 12, scan_id: 29, scanner_id: 239, severity: "critical", confidence: "high", p...ract"=>"AES/ECB/NoPadding", "remediation_byte_offsets"=>[{"end_byte"=>13602, "start_byte"=>12719}]}>, and #<Security::Finding id: 13, scan_id: 29, scanner_id: 240, severity: "critical", confidence: "high", p..._positive?"=>false, "raw_source_code_extract"=>"AES/ECB/NoPadding", "remediation_byte_offsets"=>[]}>5974 with fix_available false5975 is expected to contain exactly #<Security::Finding id: 13, scan_id: 29, scanner_id: 240, severity: "critical", confidence: "high", p...>[], "details"=>{}, "raw_source_code_extract"=>"AES/ECB/NoPadding", "remediation_byte_offsets"=>[]}>, #<Security::Finding id: 7, scan_id: 29, scanner_id: 234, severity: "high", confidence: "high", projec..."db66d5b7-b585-4eb9-88c8-f80e29d55ce9", overridden_uuid: nil, partition_number: 1, finding_data: {}>, #<Security::Finding id: 8, scan_id: 30, scanner_id: 235, severity: "critical", confidence: "high", pr..."11d9972d-a156-4a90-80c1-3d2f52bc08a7", overridden_uuid: nil, partition_number: 1, finding_data: {}>, and #<Security::Finding id: 9, scan_id: 29, scanner_id: 236, severity: "critical", confidence: "high", pr..."44b38ea4-e970-497a-bfc3-aef7399be262", overridden_uuid: nil, partition_number: 1, finding_data: {}>5976 behaves like disabled vulnerability attribute rules5977 is expected to contain exactly #<Security::Finding id: 7, scan_id: 29, scanner_id: 234, severity: "high", confidence: "high", projec..."db66d5b7-b585-4eb9-88c8-f80e29d55ce9", overridden_uuid: nil, partition_number: 1, finding_data: {}>, #<Security::Finding id: 8, scan_id: 30, scanner_id: 235, severity: "critical", confidence: "high", pr..."11d9972d-a156-4a90-80c1-3d2f52bc08a7", overridden_uuid: nil, partition_number: 1, finding_data: {}>, #<Security::Finding id: 9, scan_id: 29, scanner_id: 236, severity: "critical", confidence: "high", pr..."44b38ea4-e970-497a-bfc3-aef7399be262", overridden_uuid: nil, partition_number: 1, finding_data: {}>, #<Security::Finding id: 10, scan_id: 29, scanner_id: 237, severity: "critical", confidence: "high", p...ract"=>"AES/ECB/NoPadding", "remediation_byte_offsets"=>[{"end_byte"=>13602, "start_byte"=>12719}]}>, #<Security::Finding id: 11, scan_id: 29, scanner_id: 238, severity: "critical", confidence: "high", p...ract"=>"AES/ECB/NoPadding", "remediation_byte_offsets"=>[{"end_byte"=>13602, "start_byte"=>12719}]}>, #<Security::Finding id: 12, scan_id: 29, scanner_id: 239, severity: "critical", confidence: "high", p...ract"=>"AES/ECB/NoPadding", "remediation_byte_offsets"=>[{"end_byte"=>13602, "start_byte"=>12719}]}>, and #<Security::Finding id: 13, scan_id: 29, scanner_id: 240, severity: "critical", confidence: "high", p..._positive?"=>false, "raw_source_code_extract"=>"AES/ECB/NoPadding", "remediation_byte_offsets"=>[]}>5978 when pipeline is empty5979 is expected to be empty5980 with related_pipeline_ids5981 is expected to contain exactly #<Security::Finding id: 14, scan_id: 31, scanner_id: 257, severity: "critical", confidence: "high", p..."cce49006-2063-40ef-9a70-34fab2181f4d", overridden_uuid: nil, partition_number: 1, finding_data: {}>, #<Security::Finding id: 15, scan_id: 31, scanner_id: 258, severity: "critical", confidence: "high", p..."d570b037-4e0d-4aac-8b70-e6739934d13a", overridden_uuid: nil, partition_number: 1, finding_data: {}>, #<Security::Finding id: 16, scan_id: 31, scanner_id: 259, severity: "critical", confidence: "high", p..."e1bbb0ea-e3e6-42c4-89f5-5d119e65f9a9", overridden_uuid: nil, partition_number: 1, finding_data: {}>, #<Security::Finding id: 17, scan_id: 31, scanner_id: 260, severity: "critical", confidence: "high", p..."7b453185-0a15-44de-a474-91a9a773f09c", overridden_uuid: nil, partition_number: 1, finding_data: {}>, and #<Security::Finding id: 18, scan_id: 31, scanner_id: 261, severity: "critical", confidence: "high", p..."54b0b8ff-aead-42c7-b8f0-ca4d8c042628", overridden_uuid: nil, partition_number: 1, finding_data: {}>5982 when pipeline is empty5983 is expected to be empty5984Ci::Runner5985 ci associations5986 has one cost setting5987 #cost_factor_for_project5988 with group type runner5989 with Private5990 is expected to eq 0.05991 with Internal5992 is expected to eq 0.05993 with Public5994 is expected to eq 0.05995 with project type runner5996 with Private5997 is expected to eq 0.05998 with Internal5999 is expected to eq 0.06000 with Public6001 is expected to eq 0.06002 with instance type runner6003 with private visibility level6004 is expected to eq 1.16005 with unlimited minutes6006 is expected to eq 06007 with public visibility level6008 is expected to eq 0.0086009 with internal visibility level6010 is expected to eq 1.16011 #cost_factor_enabled?6012 when the project has any cost factor6013 is expected to be truthy6014 with unlimited minutes6015 is expected to be falsy6016 when the project has no cost factor6017 returns false6018 .any_shared_runners_with_enabled_cost_factor6019 when project is public6020 when public cost factor is greater than zero6021 returns true6022 when public cost factor is zero6023 returns false6024 when project is private6025 when private cost factor is greater than zero6026 returns true6027 when private cost factor is zero6028 returns false6029 #allowed_for_plans?6030 when allowed plans are not defined6031 is expected to be truthy6032 when allowed_plans are defined6033 when plans match allowed plans6034 is expected to be truthy6035 when plans do not match allowed plans6036 is expected to be falsey6037 when ci_runner_separation_by_plan feature flag is disabled6038 is expected to be truthy6039 .order_most_active_desc6040 returns runners sorted by running builds6041 limits the number of running builds counted and sorts by id desc6042 .order_by6043 when sort_key is most_active_desc6044 with no running builds6045 is expected to be empty6046 with running builds6047 contains the runners in the correct order6048Gitlab::Usage::Metrics::Instrumentations::CountUsersCreatingCiBuildsMetric6049 raises an exception if secure_type option is not present6050 raises an exception if secure_type option is invalid6051 with time_frame all6052 behaves like a correct secure type instrumented metric value6053 with secure_type all6054 behaves like a correct instrumented metric value and query6055 behaves like a correct instrumented metric value6056 has correct value6057 behaves like a correct instrumented metric query6058 has correct generate query6059 with secure_type container_scanning6060 behaves like a correct instrumented metric value and query6061 behaves like a correct instrumented metric value6062 has correct value6063 behaves like a correct instrumented metric query6064 has correct generate query6065 with secure_type dast6066 behaves like a correct instrumented metric value and query6067 behaves like a correct instrumented metric value6068 has correct value6069 behaves like a correct instrumented metric query6070 has correct generate query6071 with secure_type dependency_scanning6072 behaves like a correct instrumented metric value and query6073 behaves like a correct instrumented metric value6074 has correct value6075 behaves like a correct instrumented metric query6076 has correct generate query6077 with secure_type license_management6078 behaves like a correct instrumented metric value and query6079 behaves like a correct instrumented metric value6080 has correct value6081 behaves like a correct instrumented metric query6082 has correct generate query6083 with secure_type license_scanning6084 behaves like a correct instrumented metric value and query6085 behaves like a correct instrumented metric value6086 has correct value6087 behaves like a correct instrumented metric query6088 has correct generate query6089 with secure_type sast6090 behaves like a correct instrumented metric value and query6091 behaves like a correct instrumented metric value6092 has correct value6093 behaves like a correct instrumented metric query6094 has correct generate query6095 with secure_type secret_detection6096 behaves like a correct instrumented metric value and query6097 behaves like a correct instrumented metric value6098 has correct value6099 behaves like a correct instrumented metric query6100 has correct generate query6101 with secure_type coverage_fuzzing6102 behaves like a correct instrumented metric value and query6103 behaves like a correct instrumented metric value6104 has correct value6105 behaves like a correct instrumented metric query6106 has correct generate query6107 with secure_type apifuzzer_fuzz6108 behaves like a correct instrumented metric value and query6109 behaves like a correct instrumented metric value6110 has correct value6111 behaves like a correct instrumented metric query6112 has correct generate query6113 with secure_type apifuzzer_fuzz_dnd6114 behaves like a correct instrumented metric value and query6115 behaves like a correct instrumented metric value6116 has correct value6117 behaves like a correct instrumented metric query6118 has correct generate query6119 with time_frame 28d6120 behaves like a correct secure type instrumented metric value6121 with secure_type all6122 behaves like a correct instrumented metric value and query6123 behaves like a correct instrumented metric value6124 has correct value6125 behaves like a correct instrumented metric query6126 has correct generate query6127 with secure_type container_scanning6128 behaves like a correct instrumented metric value and query6129 behaves like a correct instrumented metric value6130 has correct value6131 behaves like a correct instrumented metric query6132 has correct generate query6133 with secure_type dast6134 behaves like a correct instrumented metric value and query6135 behaves like a correct instrumented metric value6136 has correct value6137 behaves like a correct instrumented metric query6138 has correct generate query6139 with secure_type dependency_scanning6140 behaves like a correct instrumented metric value and query6141 behaves like a correct instrumented metric value6142 has correct value6143 behaves like a correct instrumented metric query6144 has correct generate query6145 with secure_type license_management6146 behaves like a correct instrumented metric value and query6147 behaves like a correct instrumented metric value6148 has correct value6149 behaves like a correct instrumented metric query6150 has correct generate query6151 with secure_type license_scanning6152 behaves like a correct instrumented metric value and query6153 behaves like a correct instrumented metric value6154 has correct value6155 behaves like a correct instrumented metric query6156 has correct generate query6157 with secure_type sast6158 behaves like a correct instrumented metric value and query6159 behaves like a correct instrumented metric value6160 has correct value6161 behaves like a correct instrumented metric query6162 has correct generate query6163 with secure_type secret_detection6164 behaves like a correct instrumented metric value and query6165 behaves like a correct instrumented metric value6166 has correct value6167 behaves like a correct instrumented metric query6168 has correct generate query6169 with secure_type coverage_fuzzing6170 behaves like a correct instrumented metric value and query6171 behaves like a correct instrumented metric value6172 has correct value6173 behaves like a correct instrumented metric query6174 has correct generate query6175 with secure_type apifuzzer_fuzz6176 behaves like a correct instrumented metric value and query6177 behaves like a correct instrumented metric value6178 has correct value6179 behaves like a correct instrumented metric query6180 has correct generate query6181 with secure_type apifuzzer_fuzz_dnd6182 behaves like a correct instrumented metric value and query6183 behaves like a correct instrumented metric value6184 has correct value6185 behaves like a correct instrumented metric query6186 has correct generate query6187 with cache_start_and_finish_as called6188 caches using the key name passed6189Contribution Analytics (GraphQL fixtures)6190 # order random6191 GraphQL::Query6192 graphql/analytics/contribution_analytics/graphql/contributions.query.graphql.json6193Analytics::DevopsAdoption::SnapshotCalculator6194 end_time6195 equals to range_end6196 issue_opened6197 is expected to eq false6198 with an issue opened within month6199 is expected to eq true6200 merge_request_opened6201 is expected to eq false6202 with a merge request opened within month6203 is expected to eq true6204 merge_request_approved6205 is expected to eq false6206 with a merge request approved within month6207 is expected to eq true6208 runner_configured6209 is expected to eq false6210 with active runner present6211 is expected to eq true6212 pipeline_succeeded6213 is expected to eq false6214 with successful pipeline within month6215 is expected to eq true6216 deploy_succeeded6217 is expected to eq false6218 with successful deployment within month6219 is expected to eq true6220 total_projects_count6221 is expected to eq 26222 code_owners_used_count6223 is expected to eq 16224 when there is no default branch6225 uses HEAD as default value6226 sast_enabled_count6227 returns number of projects with at least 1 sast CI artifact created in given period6228 dast_enabled_count6229 returns number of projects with at least 1 dast CI artifact created in given period6230 dependency_scanning_enabled_count6231 returns number of projects with at least 1 dependency_scanning CI artifact created in given period6232 coverage_fuzzing_enabled_count6233 returns number of projects with at least 1 coverage_fuzzing CI artifact created in given period6234 vulnerability_management_used_count6235 returns number of projects with at least 1 vulnerability acted upon6236 when snapshot already exists6237 for boolean metrics6238 calculates metrics which are not true yet6239 doesn't change metrics which are true already6240 for numeric metrics6241 always recalculates metric6242Resolvers::EpicsResolver6243 with a group6244 #resolve6245 returns nothing when feature disabled6246 finds all epics6247 with iid6248 finds a specific epic with iid6249 does not inflate the complexity6250 with iids6251 finds a specific epic with iids6252 finds multiple epics with iids6253 increases the complexity based on child_complexity and number of iids6254 within timeframe6255 when timeframe start and end are present6256 returns epics within timeframe6257 with milestone6258 filters epics by timeframe and issues milestone6259 with state6260 lists epics with opened state6261 lists epics with closed state6262 behaves like graphql query for searching issuables6263 uses search optimization6264 filters issuables by title6265 filters issuables by description6266 with in param6267 generates an error if param search is missing6268 filters issuables by title and description6269 filters issuables by description only6270 filters issuables by title only6271 with author_username6272 filters epics by author6273 with label_name6274 filters epics by labels6275 with my_reaction_emoji6276 filters epics by reaction emoji6277 with milestone_title6278 filters epics by issues milestone6279 returns empty result if milestone is not assigned to any epic issues6280 with sort6281 orders epics by start date in descending order6282 orders epics by start date in ascending order6283 orders epics by end date in descending order6284 orders epics by end date in ascending order6285 orders epics by title in descending order6286 orders epics by title in ascending order6287 with subgroups6288 finds only the epics within the group we are looking at6289 returns all epics6290 does not return subgroup epics when include_descendant_groups is false6291 filters by milestones in subgroups6292 when the resolved group is a subgroup6293 returns only the epics belonging to the subgroup by default6294 returns the epics belonging to the ancestor groups when include_ancestor_groups is true6295 with partial iids6296 returns the expected epics if just the first number of iid is requested6297 returns the expected epics if first two numbers of iid are requested6298 returns the expected epics if last two numbers of iid are given6299 returns the expected epics if exact number of iid is given6300 with `top_level_hierarchy_only` param set as `true`6301 is expected to contain exactly #<Epic id:125 group471&1> and #<Epic id:126 group471&2>6302 when a parent epic is present6303 ignores `top_level_hierarchy_only` param and return all children of the given epic6304 with negated filters6305 for label6306 is expected to contain exactly #<Epic id:181 group482&2> and #<Epic id:182 group482&3>6307 for author6308 is expected to contain exactly #<Epic id:180 group482&1> and #<Epic id:182 group482&3>6309 for emoji6310 is expected to contain exactly #<Epic id:180 group482&1> and #<Epic id:181 group482&2>6311 when passing a non existent, batch loaded group6312 returns nil without breaking6313Geo::VerificationStateBackfillWorker6314 uses a geo queue6315 #perform6316 behaves like reenqueuer6317 implements lease_timeout6318 uses the :none deduplication strategy6319 #perform6320 tries to obtain a lease6321 behaves like #perform is rate limited to 1 call per6322 when the work finishes in 0 seconds6323 sleeps exactly the minimum duration6324 when the work finishes in 10% of minimum duration6325 sleeps 90% of minimum duration6326 when the work finishes in 90% of minimum duration6327 sleeps 10% of minimum duration6328 when the work finishes exactly at minimum duration6329 does not sleep6330 when the work takes 10% longer than minimum duration6331 does not sleep6332 when the work takes twice as long as minimum duration6333 does not sleep6334 when service is executed6335 when Geo::VerificationStateBackfillService#execute returns true6336 returns true6337 worker gets reenqueued6338 when VerificationStateBackfillService#execute returns false6339 returns false6340 worker does not get reenqueued (we will wait until next cronjob)6341EE::Issuable6342 Validation6343 general validations6344 is expected to validate that :author cannot be empty/falsy6345 is expected to validate that :title cannot be empty/falsy6346 is expected to validate that the length of :title is at most 2556347 behaves like validates description length with custom validation6348 when Issuable is a new record6349 when description exceeds the maximum size6350 adds a description too long error6351 when description is within the allowed limits6352 does not add a validation error6353 when Issuable is an existing record6354 when record already had a valid description6355 when new description exceeds the maximum size6356 adds a description too long error6357 when new description is within the allowed limits6358 does not add a validation error6359 when record existed with an invalid description6360 when description is not changed6361 does not add a validation error6362 when new description exceeds the maximum size6363 allows updating descriptions that already existed above the limit6364 when new description is within the allowed limits6365 does not add a validation error6366 behaves like truncates the description to its allowed maximum length on import6367 truncates the description to its allowed maximum length6368 #matches_cross_reference_regex?6369 epic description with long path string6370 behaves like matches_cross_reference_regex? fails fast6371 fails fast for long strings6372 #supports_epic?6373 issuable_type: :issue, project: :project_with_group, supports_epic: true6374 is expected to eq true6375 issuable_type: :issue, project: :project_without_group, supports_epic: false6376 is expected to eq false6377 issuable_type: :incident, project: :project_with_group, supports_epic: false6378 is expected to eq false6379 issuable_type: :incident, project: :project_without_group, supports_epic: false6380 is expected to eq false6381 issuable_type: :merge_request, project: :project_with_group, supports_epic: false6382 is expected to eq false6383 issuable_type: :merge_request, project: :project_without_group, supports_epic: false6384 is expected to eq false6385 #weight_available?6386 issuable_type: :issue, project: :project_with_group, weight_available: true6387 is expected to eq true6388 issuable_type: :issue, project: :project_without_group, weight_available: true6389 is expected to eq true6390 issuable_type: :incident, project: :project_with_group, weight_available: false6391 is expected to eq false6392 issuable_type: :incident, project: :project_without_group, weight_available: false6393 is expected to eq false6394 issuable_type: :merge_request, project: :project_with_group, weight_available: false6395 is expected to eq false6396 issuable_type: :merge_request, project: :project_without_group, weight_available: false6397 is expected to eq false6398 #supports_iterations?6399 issuable_type: :issue, project: :project_with_group, supports_iterations: true6400 is expected to eq true6401 issuable_type: :issue, project: :project_without_group, supports_iterations: true6402 is expected to eq true6403 issuable_type: :incident, project: :project_with_group, supports_iterations: false6404 is expected to eq false6405 issuable_type: :incident, project: :project_without_group, supports_iterations: false6406 is expected to eq false6407 issuable_type: :merge_request, project: :project_with_group, supports_iterations: false6408 is expected to eq false6409 issuable_type: :merge_request, project: :project_without_group, supports_iterations: false6410 is expected to eq false6411 #supports_confidentiality?6412 is expected to be truthy6413 #escalation_policies_available?6414 issuable_type: :issue, oncall_schedules_enabled: true, escalation_policies_enabled: true, available: false6415 is expected to eq false6416 issuable_type: :incident, oncall_schedules_enabled: false, escalation_policies_enabled: false, available: false6417 is expected to eq false6418 issuable_type: :incident, oncall_schedules_enabled: true, escalation_policies_enabled: false, available: false6419 is expected to eq false6420 issuable_type: :incident, oncall_schedules_enabled: false, escalation_policies_enabled: true, available: false6421 is expected to eq false6422 issuable_type: :incident, oncall_schedules_enabled: true, escalation_policies_enabled: true, available: true6423 is expected to eq true6424 #to_hook_data6425 escalation status is updated6426 delegates to Gitlab::DataBuilder::Issuable#build6427 with policy and status changes6428 includes both status and policy fields simultaneously6429 #allows_scoped_labels?6430 allows scoped labels with licensed project6431 allows scoped labels with licensed group6432 does not allow scoped labels without license6433 #issuable_resource_links_available?6434 returns false for issuable type as issue6435 returns true for issuable type as incident6436 returns false when feature is not avaiable6437 with exportable associations6438 for issues6439 behaves like an exportable6440 #exportable_association?6441 is expected to be falsey6442 when user can only read resource6443 is expected to be falsey6444 when user can read resource's association6445 is expected to be truthy6446 for an unknown association6447 is expected to be falsey6448 #to_authorized_json6449 when association not supported6450 is expected not to include "foo"6451 when association is `:notes`6452 is expected to include "\"notes\":[{\"id\":148}]"6453 when user have access to all notes6454 string includes all notes6455Elastic::ClusterReindexingService6456 state: initial6457 aborts if the main index does not use aliases6458 aborts if there are pending ES migrations6459 errors when there is not enough space6460 pauses elasticsearch indexing6461 state: indexing_paused6462 when targets are empty6463 creates subtasks and slices6464 when targets are provided6465 targets set to issue and repository6466 creates multiple indices6467 targets do not include repository6468 does not create the main index6469 state: reindexing6470 errors are raised6471 errors if task is not found6472 enqueues another job6473 documents count6474 errors if documents count is different6475 reindexing slice failed6476 when retry limit is reached on a slice6477 errors and changes task state from reindexing to failed6478 before retry limit reached6479 increases retry_attempt and reindexes the slice again6480 slice totals do not match6481 when retry limit is reached on a slice6482 errors and changes task state from reindexing to failed6483 before retry limit reached6484 increases retry_attempt and reindexes the slice again6485 slice batching6486 kicks off the next set of slices if the current slice is finished6487 task finishes correctly6488 refresh_interval: nil, current_settings: {}6489 launches all state steps6490 refresh_interval: "60s", current_settings: {:refresh_interval=>"60s"}6491 launches all state steps6492RequirementsManagement::RequirementPolicy6493 behaves like resource with requirement permissions6494 when requirements feature is enabled6495 with admin6496 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements6497 with owner6498 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements6499 with maintainer6500 behaves like user with manage permissions6501 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :create_requirement_test_report, and :export_requirements6502 is expected to be disallowed :destroy_requirement6503 with developer6504 behaves like user with manage permissions6505 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :create_requirement_test_report, and :export_requirements6506 is expected to be disallowed :destroy_requirement6507 with reporter6508 behaves like user with manage permissions6509 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :create_requirement_test_report, and :export_requirements6510 is expected to be disallowed :destroy_requirement6511 with guest6512 behaves like user with read-only permissions6513 is expected to be allowed :read_requirement6514 is expected to be disallowed :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements6515 with non member6516 behaves like user with read-only permissions6517 is expected to be allowed :read_requirement6518 is expected to be disallowed :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements6519 with private resource parent6520 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements6521 when access level is disabled6522 with owner6523 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements6524 with admin6525 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements6526 when access level is private6527 with admin user6528 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements6529 with admin mode enabled6530 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements6531 with owner6532 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements6533 with maintainer6534 behaves like user with manage permissions6535 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :create_requirement_test_report, and :export_requirements6536 is expected to be disallowed :destroy_requirement6537 with developer6538 behaves like user with manage permissions6539 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :create_requirement_test_report, and :export_requirements6540 is expected to be disallowed :destroy_requirement6541 with reporter6542 behaves like user with manage permissions6543 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :create_requirement_test_report, and :export_requirements6544 is expected to be disallowed :destroy_requirement6545 with guest6546 behaves like user with read-only permissions6547 is expected to be allowed :read_requirement6548 is expected to be disallowed :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements6549 with non member6550 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements6551 when requirements feature is disabled6552 with owner6553 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements6554 with admin6555 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements6556Elastic::Latest::NoteClassProxy6557 # order random6558 #es_type6559 returns notes6560 #elastic_search6561 when performing a global search6562 adds archived filter query and does not includes the archived notes in the search results6563 when migration backfill_archived_on_notes is not finished6564 does not add archived filter query and includes the archived notes with results from all projects6565 when feature_flag search_notes_hide_archived_projects is disabled6566 does not add archived filter query and includes the archived notes with results from all projects6567 when options contains include_archived as true6568 does not add archived filter query and includes the archived notes with results from all projects6569EE::Gitlab::Checks::PushRuleCheck6570 #validate!6571 parallel push checks6572 sets the git env correctly for all hooks6573 behaves like push checks6574 returns nil on success6575 raises an error on failure6576 behaves like use predefined push rules6577 calls Project#predefined_push_rule6578 when tag name exists6579 validates tags push rules6580 when branch name exists6581 validates branches push rules6582 when changes are from notes ref6583 does not validate push rules for tags or branches6584 when tag and branch exist6585 validates tag and branch push rules6586 :parallel_push_checks feature is disabled6587 behaves like push checks6588 returns nil on success6589 raises an error on failure6590 behaves like use predefined push rules6591 calls Project#predefined_push_rule6592 when tag name exists6593 validates tags push rules6594 when branch name exists6595 validates branches push rules6596 when changes are from notes ref6597 does not validate push rules for tags or branches6598 when tag and branch exist6599 validates tag and branch push rules6600Resolvers::Geo::PipelineArtifactRegistriesResolver6601 behaves like a Geo registries resolver6602 #resolve6603 when the parent object is the current node6604 when the user has permission to view Geo data6605 when admin mode is enabled6606 when the ids argument is null6607 returns registries, in order6608 when the ids argument is present6609 returns the requested registries, in order6610 when the replication_state argument is present6611 returns registries with requested replication state, in order6612 with verification enabled6613 when the verification_state argument is present6614 returns registries with requested verification state, in order6615 with verification disabled6616 when the verification_state argument is present6617 raises ArgumentError (PENDING: Skipping because verification is enabled for Ci::PipelineArtifact)6618 when admin mode is disabled6619 returns nothing6620 when the user does not have permission to view Geo data6621 returns nothing6622 when the parent object is not the current node6623 when the user has permission to view Geo data6624 returns nothing, because we can't query other nodes' tracking databases6625Gitlab::Ci::Parsers::LicenseCompliance::LicenseScanning6626 #parse!6627 when parsing a valid v1 report6628 is expected to eql "1.0"6629 is expected to eq 46630 is expected to eql "Apache 2.0"6631 is expected to eql "http://www.apache.org/licenses/LICENSE-2.0.txt"6632 is expected to equal 16633 is expected to equal 16634 is expected to eql "thread_safe"6635 is expected to eql "MIT"6636 is expected to eql "http://opensource.org/licenses/mit-license"6637 is expected to equal 526638 is expected to equal 526639 is expected to eql "actioncable"6640 is expected to eql "New BSD"6641 is expected to eql "http://opensource.org/licenses/BSD-3-Clause"6642 is expected to equal 36643 is expected to equal 36644 is expected to contain exactly "ffi", "puma", and "sqlite3"6645 is expected to eql "unknown"6646 is expected to be nil6647 is expected to equal 16648 is expected to equal 16649 is expected to eql "ruby-bundler-rails"6650 when parsing a valid v1.1 report6651 is expected to eql "1.1"6652 is expected to eq 36653 is expected to eql "BSD-4-Clause"6654 is expected to eql "BSD"6655 is expected to eql "http://spdx.org/licenses/BSD-4-Clause.json"6656 is expected to equal 26657 is expected to equal 26658 is expected to contain exactly "b" and "c"6659 is expected to eql "MIT"6660 is expected to eql "MIT"6661 is expected to eql "http://opensource.org/licenses/mit-license"6662 is expected to equal 26663 is expected to equal 26664 is expected to contain exactly "a" and "c"6665 is expected to be nil6666 is expected to eql "unknown"6667 is expected to be nil6668 is expected to equal 16669 is expected to equal 16670 is expected to contain exactly "d"6671 when parsing a valid v2 report6672 is expected to eql "2.0"6673 is expected to eq 36674 is expected to eql "BSD-3-Clause"6675 is expected to eql "BSD 3-Clause \"New\" or \"Revised\" License"6676 is expected to eql "http://spdx.org/licenses/BSD-3-Clause.json"6677 is expected to equal 26678 is expected to equal 26679 is expected to contain exactly "b" and "c"6680 is expected to eql "MIT"6681 is expected to eql "MIT License"6682 is expected to eql "http://spdx.org/licenses/MIT.json"6683 is expected to equal 26684 is expected to equal 26685 is expected to contain exactly "a" and "c"6686 is expected to be nil6687 is expected to eql "unknown"6688 is expected to be nil6689 is expected to equal 16690 is expected to equal 16691 is expected to contain exactly "d"6692 when parsing a valid v2.1 report6693 is expected to eql "2.1"6694 is expected to eq 36695 parses the BSD license6696 parses the MIT license6697 parses an unknown license6698 when parsing a v2 report with a missing license definition6699 is expected to equal 16700 is expected to eql "MIT"6701 is expected to eql "unknown"6702 is expected to equal 16703 is expected to eql "saml-kit"6704 when the report version is not recognized6705 is expected to raise KeyError6706 when the report version is missing6707 is expected to eq "1.0"6708 is expected to be empty6709 when the report version is nil6710 is expected to eq "1.0"6711 is expected to be empty6712 when the report version is blank6713 is expected to eq "1.0"6714 is expected to be empty6715 when the report is structured as an array6716 is expected to be empty6717 when the report is not a valid JSON document6718 is expected to eql "1.0"6719 is expected to be empty6720AppSec::Dast::SiteProfiles::CreateService6721 #execute6722 when a user does not have access to the project6723 returns an error status6724 populates message6725 when the user can run a dast scan6726 returns a success status6727 creates a dast_site_profile6728 creates a dast_site6729 sets attributes correctly6730 returns a dast_site_profile payload6731 audits the creation6732 when the dast_site already exists6733 returns a success status6734 does not create a new dast_site6735 when excluded_urls is nil6736 defaults to an empty array6737 when excluded_urls is not supplied6738 defaults to an empty array6739 when auth values are not supplied6740 uses sensible defaults6741 when request_headers are supplied6742 behaves like it handles secret variable creation6743 correctly sets the value6744 behaves like it handles secret variable creation failure6745 returns an error response6746 when auth_password is supplied6747 behaves like it handles secret variable creation6748 correctly sets the value6749 behaves like it handles secret variable creation failure6750 returns an error response6751 when the auth_password size is smaller than 8 characters6752 returns an error response6753 when the request headers size is smaller than 8 characters6754 returns an error response6755 when an existing dast_site_validation does not exist6756 does not create a dast_site_validation association6757 when an existing dast_site_validation exists6758 gets associated with the dast_site6759 when on demand scan licensed feature is not available6760 returns an error status6761 populates message6762MergeRequestApproverPresenter6763 #render6764 displays committers6765 approvals_required is low6766 returns the top n committers6767 #any?6768 returns true if any user exists6769 returns false if no user exists6770 caches loaded users6771 #render_user6772 renders link6773 #show_code_owner_tips?6774 when code_owner feature enabled and code owner is empty6775 returns true6776 when code_owner feature enabled and code owner is not empty6777 returns false6778 when code_owner feature is disabled6779 returns false6780Elastic::Latest::GitClassProxy6781 # order random6782 fetches the results considering new and old format of rid6783Vulnerabilities::Identifier6784 associations6785 is expected to have many finding_identifiers class_name => Vulnerabilities::FindingIdentifier6786 is expected to have many findings class_name => Vulnerabilities::Finding6787 is expected to have many primary_findings class_name => Vulnerabilities::Finding6788 is expected to belong to project required: false6789 validations6790 is expected to validate that :name cannot be empty/falsy6791 is expected to validate that :project cannot be empty/falsy6792 is expected to validate that :external_type cannot be empty/falsy6793 is expected to validate that :external_id cannot be empty/falsy6794 is expected to validate that :fingerprint cannot be empty/falsy6795 #url6796 with allowed schemas6797 is valid6798 with scheme other than HTTP(S)6799 is not valid6800 with invalid url6801 is not valid6802 without URL6803 is valid6804 .with_fingerprint6805 when identifier has the corresponding fingerprint6806 selects the identifier6807 when identifier does not have the corresponding fingerprint6808 does not select the identifier6809 .with_external_type6810 when identifier has the corresponding external_type6811 selects the identifier6812 when identifier does not have the corresponding external_type6813 does not select the identifier6814 type check methods6815 #cve?6816 behaves like type check method6817 external_type: "CVE", expected_value: true6818 is expected to equal true6819 external_type: "cve", expected_value: true6820 is expected to equal true6821 external_type: "CWE", expected_value: false6822 is expected to equal false6823 external_type: "cwe", expected_value: false6824 is expected to equal false6825 external_type: "foo", expected_value: false6826 is expected to equal false6827 #cwe?6828 behaves like type check method6829 external_type: "CWE", expected_value: true6830 is expected to equal true6831 external_type: "cwe", expected_value: true6832 is expected to equal true6833 external_type: "CVE", expected_value: false6834 is expected to equal false6835 external_type: "cve", expected_value: false6836 is expected to equal false6837 external_type: "foo", expected_value: false6838 is expected to equal false6839 #other?6840 behaves like type check method6841 external_type: "CWE", expected_value: false6842 is expected to equal false6843 external_type: "cwe", expected_value: false6844 is expected to equal false6845 external_type: "CVE", expected_value: false6846 is expected to equal false6847 external_type: "cve", expected_value: false6848 is expected to equal false6849 external_type: "foo", expected_value: true6850 is expected to equal true6851Git::WikiPushService6852 #process_changes6853 with a group wiki6854 does not create any events6855 when elasticsearch is enabled6856 when changes include master ref6857 triggers a wiki update for project6858 with a group wiki6859 triggers a wiki update6860 when changes do not include master ref6861 does not trigger a wiki update6862 when elasticsearch is disabled6863 when changes include master ref6864 does nothing even if changes include master ref6865SnippetsFinder6866 filter by project6867 returns all snippets for auditor users6868 filter by authorized snippet projects and authored personal6869 when no user6870 returns only public personal snippets6871 when user is not a member of any project6872 returns only user personal snippets6873 when the user is a member of a project6874 returns all the authorized project snippets and authored personal ones6875 returns all the authorized project snippets and authored personal ones6876 returns all the authorized project snippets and authored personal ones6877 returns all the authorized project snippets and authored personal ones6878 returns all the authorized project snippets and authored personal ones6879 returns all the authorized project snippets and authored personal ones6880 returns all the authorized project snippets and authored personal ones6881 returns all the authorized project snippets and authored personal ones6882 when user cannot read_cross_project6883 returns only user personal snippets6884 when the user is a member of a group6885 returns all the authorized project snippets and authored personal ones6886 returns all the authorized project snippets and authored personal ones6887 returns all the authorized project snippets and authored personal ones6888 returns all the authorized project snippets and authored personal ones6889 when param author is passed6890 when user is not a member of any project6891 returns only the author visible personal snippets to the user6892 when user is a member of a project6893 returns all the authorized project and personal snippets authored by the author6894 returns all the authorized project and personal snippets authored by the author6895 returns all the authorized project and personal snippets authored by the author6896 returns all the authorized project and personal snippets authored by the author6897 when user is an auditor6898 returns all snippets (everything) for an auditor when all_available="true" passed in6899 when only_personal is passed6900 returns only personal snippets6901 when only_project is passed6902 returns only project snippets6903 when no personal snippets are visible6904 does not return any record6905 for a user6906 when repository storage name is given6907 the repository storage filter is ignored6908 for an admin6909 when repository storage name is given6910 filters by the repository storage name6911 when repository storage name is not given6912 returns all snippets6913ComplianceManagement::ComplianceReport::CommitLoader6914 # order random6915 when user is missing6916 raises an ArgumentError6917 when group is missing6918 raises an ArgumentError6919 #find_each6920 when an MR exists6921 is expected to contain exactly "ba88a2aefd3eacc249a14982a055c050abff4fd4"6922 when a project has more than the max commits6923 only returns the max commits6924 with a subgroup project6925 returns group and subgroup commits6926 with commits that span the 1 month window6927 returns only the commits within 1 month6928 when a project does not have a repository6929 does not throw a NoRepository error6930 returns an empty array6931 when given a commit sha to filter by6932 when the sha is a merge commit sha6933 is expected to contain exactly "d34b8806e94bb08f06ac262f8b901edc1eb21c46"6934 when the commit is a non-merge commit6935 is expected to contain exactly "9667ebdcaf93c86a0f77c0cb741a9f419ff63fa8"6936Epics::UpdateDatesService6937 #execute6938 fixed date is set6939 updates to fixed date6940 fixed date is not set6941 multiple milestones6942 complete start and due dates6943 updates to milestone dates6944 without due date6945 updates to milestone dates6946 without any dates6947 updates to milestone dates6948 without milestone6949 updates to milestone dates6950 single milestone6951 complete start and due dates6952 updates to milestone dates6953 without due date6954 updates to milestone dates6955 without any dates6956 updates to milestone dates6957 #when updating multiple epics6958 updates in bulk6959 query count check6960 does not increase query count when adding epics without milestones6961 does not increase query count when adding epics belongs to same milestones6962 when epic dates are inherited6963 when epic has no issues6964 epic dates are nil6965 when epic has issues assigned to milestones6966 returns inherited milestone dates6967 when epic has child epics6968 returns inherited dates from child epics and milestones6969 when epic dates are propagated upwards6970 propagates date changes to parent epics6971Snippet6972 always returns global result for Elasticsearch indexing for #use_elasticsearch?6973 searches snippets by title and description6974 names elasticsearch queries6975 returns json with all needed elements6976 uses same index for Snippet subclasses6977EE::Gitlab::Checks::PushRules::BranchCheck6978 #validate!6979 rejects the branch that is not allowed6980 returns an error if the regex is invalid6981 behaves like check ignored when push rule unlicensed6982 is expected to be truthy6983 behaves like use predefined push rules6984 calls Project#predefined_push_rule6985 when the ref is not a branch ref6986 allows the creation6987 when no commits are present6988 rejects the branch that is not allowed6989 when the default branch does not match the push rules6990 allows the default branch even if it does not match push rule6991Types::IssueType6992 is expected to have graphql field :epic6993 is expected to have graphql field :has_epic6994 is expected to have graphql field :iteration6995 is expected to have graphql field :weight6996 is expected to have graphql field :health_status6997 is expected to have graphql field :blocking_count6998 is expected to have graphql field :blocked6999 is expected to have graphql field :blocked_by_count7000 is expected to have graphql field :blocked_by_issues7001 is expected to have graphql field :sla_due_at7002 is expected to have graphql field :metric_images7003 is expected to have graphql field :escalation_policy7004 is expected to have graphql field :issuable_resource_links7005 N+1 queries7006 group issues7007 behaves like avoids N+1 queries on blocked7008 is expected not to exceed query limit 77009 project issues7010 behaves like avoids N+1 queries on blocked7011 is expected not to exceed query limit 87012 related vulnerabilities7013 when user signed in7014 and user is not a member of the project7015 behaves like does not include related vulnerabilities7016 does not return related vulnerabilities7017 and user is a member of the project7018 behaves like includes related vulnerabilities7019 returns related vulnerabilities7020 and the issue does not have any related vulnerabilities7021 behaves like does not include related vulnerabilities7022 does not return related vulnerabilities7023 when user is not signed in7024 behaves like does not include related vulnerabilities7025 does not return related vulnerabilities7026SoftwareLicensePolicies::CreateService7027 #execute7028 with license management unavailable7029 does not creates a software license policy7030 with a user who is allowed to admin7031 when valid parameters are specified7032 creates one software license policy correctly7033 when name contains whitespaces7034 creates one software license policy with stripped name7035 when an argument error is raised7036 is expected to equal :error7037 is expected to be present7038 is expected to equal 4007039 when invalid input is provided7040 is expected to equal :error7041 is expected to be present7042 is expected to equal 4007043 with a user not allowed to admin7044 does not create a software license policy7045 when is_scan_result_policy is set7046 creates software license policy7047 calls unsafe_create_policy_for7048DependencyProxy::Blob7049 # order random7050 on a primary node7051 .with_verification_state7052 returns records with given scope7053 .checksummed7054 returns records with given scope7055 .not_checksummed7056 returns records with given scope7057 #save_verification_details7058 when model record is not part of verifiables scope7059 does not create verification details7060 when model_record is part of verifiables scope7061 creates verification details7062 #replicables_for_current_secondary7063 object_storage_sync_enabled: true7064 without selective sync7065 includes everything7066 with selective sync7067 with namespaces7068 sync blobs in the group7069 does not sync blobs in other groups7070 with shards7071 syncs blobs associated with projects contained in the group7072 does not sync blobs not associated with projects outside the group7073 object_storage_sync_enabled: false7074 without selective sync7075 includes everything7076 with selective sync7077 with namespaces7078 sync blobs in the group7079 does not sync blobs in other groups7080 with shards7081 syncs blobs associated with projects contained in the group7082 does not sync blobs not associated with projects outside the group7083 when Geo is disabled7084 #save_verification_details7085 when model_record is part of verifiables scope7086 doesn't create verification details7087Groups::DestroyService7088 audit events7089 when licensed7090 does not log audit event if operation fails7091 does not log audit event if operation results in no change7092 when operation succeeds7093 logs an audit event7094 logs the audit event info7095 calls the audit method with the event type7096 when not licensed7097 does not log audit event7098 streaming audit event for sub group7099 sends the audit streaming event with json format7100 dependency_proxy_blobs7101 destroys the dependency proxy blobs7102 when on a Geo primary node7103 calls replicator to update Geo7104 when group_wiki_repository does not exist7105 does not call replicator to update Geo7106 when not on a Geo primary node7107 does not call replicator to update Geo7108 when group epics have parent epic outside of group7109 schedules cache update for associated epics in batches7110ProjectFeature7111 default values7112 is expected to eq 207113 #feature_available?7114 when features are enabled only for team members7115 returns true if user is an auditor7116 project visibility changes7117 feature: "issues", worker_expected: true, associations: ["issues", "notes", "milestones"]7118 re-indexes project and project associations on update7119 feature: "wiki", worker_expected: false, associations: nil7120 re-indexes project and project associations on update7121 feature: "builds", worker_expected: false, associations: nil7122 re-indexes project and project associations on update7123 feature: "merge_requests", worker_expected: true, associations: ["merge_requests", "notes", "milestones"]7124 re-indexes project and project associations on update7125 feature: "repository", worker_expected: true, associations: ["notes"]7126 re-indexes project and project associations on update7127 feature: "snippets", worker_expected: true, associations: ["notes"]7128 re-indexes project and project associations on update7129 feature: "operations", worker_expected: false, associations: nil7130 re-indexes project and project associations on update7131 feature: "security_and_compliance", worker_expected: false, associations: nil7132 re-indexes project and project associations on update7133 feature: "pages", worker_expected: false, associations: nil7134 re-indexes project and project associations on update7135 behaves like access level validation7136 does not allow public access level for requirements7137Ci::Minutes::ProjectMonthlyUsage7138 unique index7139 raises unique index violation7140 does not raise exception if unique index is not violated7141 .find_or_create_current7142 when project usage does not exist7143 behaves like creates usage record7144 creates new record and resets minutes consumption7145 when project usage exists for previous months7146 behaves like creates usage record7147 creates new record and resets minutes consumption7148 when project usage exists for the current month7149 returns the existing usage7150 when a usage for another project exists for the current month7151 behaves like creates usage record7152 creates new record and resets minutes consumption7153 #increase_usage7154 behaves like CI minutes increase usage7155 when amount is greater than 07156 updates the current month usage7157 when amount is less or equal to 07158 does not update the current month usage7159 when shared_runners_duration is incremented7160 when duration is positive7161 updates the duration and amount used7162 when amount_used is zero7163 updates only the duration7164 when duration is zero7165 updates only the amount used7166 when amount_used is zero7167 does not perform updates7168 .for_namespace_monthly_usage7169 fetches project monthly usages matching the namespace monthly usage's date and namespace7170 does not join across databases7171 fetches project monthly usages with more than 0 minutes used7172 fetches project monthly usages sorted by amount used in descending order7173 fetches project monthly usages in namespace and descendants7174 loose foreign key on ci_project_monthly_usages.project_id7175 behaves like cleanup by a loose foreign key7176 cleans up (delete or nullify) the model7177Security::ProcessScanResultPolicyWorker7178 # order random7179 behaves like an idempotent worker7180 is labeled as idempotent7181 performs multiple times sequentially without raising an exception7182 #perform7183 when sync_mr_approval_rules_security_policies FF is disabled7184 calls two services to general merge request approval rules from the policy YAML7185 when sync_mr_approval_rules_security_policies is enabled7186 calls process scan result policy service and invokes the sync open mr worker7187 without transaction7188 does not wrap the execution within transaction7189 when policies are inactive7190 returns prior to triggering service7191 when policy is linked to a project level7192 deletes software_license_policies associated to the project7193 with existing scan_result_policy_reads7194 with matching project_id7195 re-creates scan_result_policy_reads7196 with mismatching project_id7197 does not delete scan_result_policy_reads7198 when policy is linked to a group level7199 deletes software_license_policies associated to the project7200 with existing scan_result_policy_reads7201 with matching project_id7202 re-creates scan_result_policy_reads7203 with mismatching project_id7204 does not delete scan_result_policy_reads7205 with non existing project7206 returns prior to triggering service7207 with non existing configuration7208 returns prior to triggering service7209 when no scan result policies are configured7210 returns prior to triggering service7211SystemAccess::SamlMicrosoftGroupSyncWorker7212 # order random7213 #perform7214 sync_enabled: false, app_enabled: false, user: user_no_identity, microsoft_groups: no_groups, expect_sync_service_called_times: 07215 calls the sync service the appropriate number of times7216 sync_enabled: false, app_enabled: true, user: user_no_identity, microsoft_groups: no_groups, expect_sync_service_called_times: 07217 calls the sync service the appropriate number of times7218 sync_enabled: true, app_enabled: false, user: user_no_identity, microsoft_groups: no_groups, expect_sync_service_called_times: 07219 calls the sync service the appropriate number of times7220 sync_enabled: true, app_enabled: true, user: user_no_identity, microsoft_groups: no_groups, expect_sync_service_called_times: 07221 calls the sync service the appropriate number of times7222 sync_enabled: false, app_enabled: false, user: user_no_identity, microsoft_groups: all_groups, expect_sync_service_called_times: 07223 calls the sync service the appropriate number of times7224 sync_enabled: true, app_enabled: false, user: user_no_identity, microsoft_groups: all_groups, expect_sync_service_called_times: 07225 calls the sync service the appropriate number of times7226 sync_enabled: false, app_enabled: true, user: user_no_identity, microsoft_groups: all_groups, expect_sync_service_called_times: 07227 calls the sync service the appropriate number of times7228 sync_enabled: true, app_enabled: true, user: user_no_identity, microsoft_groups: all_groups, expect_sync_service_called_times: 07229 calls the sync service the appropriate number of times7230 sync_enabled: false, app_enabled: false, user: user_with_identity, microsoft_groups: no_groups, expect_sync_service_called_times: 07231 calls the sync service the appropriate number of times7232 sync_enabled: false, app_enabled: true, user: user_with_identity, microsoft_groups: no_groups, expect_sync_service_called_times: 07233 calls the sync service the appropriate number of times7234 sync_enabled: true, app_enabled: false, user: user_with_identity, microsoft_groups: no_groups, expect_sync_service_called_times: 07235 calls the sync service the appropriate number of times7236 sync_enabled: true, app_enabled: true, user: user_with_identity, microsoft_groups: no_groups, expect_sync_service_called_times: 07237 calls the sync service the appropriate number of times7238 sync_enabled: false, app_enabled: false, user: user_with_identity, microsoft_groups: all_groups, expect_sync_service_called_times: 07239 calls the sync service the appropriate number of times7240 sync_enabled: true, app_enabled: false, user: user_with_identity, microsoft_groups: all_groups, expect_sync_service_called_times: 07241 calls the sync service the appropriate number of times7242 sync_enabled: false, app_enabled: true, user: user_with_identity, microsoft_groups: all_groups, expect_sync_service_called_times: 07243 calls the sync service the appropriate number of times7244 sync_enabled: true, app_enabled: true, user: user_with_identity, microsoft_groups: all_groups, expect_sync_service_called_times: 27245 calls the sync service the appropriate number of times7246 when all preconditions are met and sync executes7247 when group links exist in hierarchies which the user should not be a member of7248 calls the service for all top-level groups with any groups links in the hierarchy7249 with a group in the hierarchy that has no group links7250 is not included in manage_group_ids7251gitlab:geo rake tasks7252 gitlab:geo:check_replication_verification_status7253 when replication is up-to-date7254 prints a success message7255 when replication is not up-to-date7256 prints an error message7257 exits with a 17258 gitlab:geo:check_database_replication_working7259 when DB replication is enabled7260 when DB replication is working7261 prints a success message7262 when DB replication is not working7263 exits with non-success code7264 when DB replication is not enabled7265 exits with non-success code7266PackageMetadata::AffectedPackage7267 # order random7268 validations7269 is expected to validate that :purl_type cannot be empty/falsy7270 is expected to validate that :package_name cannot be empty/falsy7271 is expected to validate that :affected_range cannot be empty/falsy7272 is expected to allow :fixed_versions to be ‹["x", "x", "x", "x", "x", "x", "x", "x", "x", "x"]›7273 is expected not to allow :fixed_versions to be ‹["x", "x", "x", "x", "x", "x", "x", "x", "x", "x", "x"]›7274 length validation7275 attribute: :affected_range, max_length: 5127276 is expected to validate that the length of :affected_range is at most 5127277 attribute: :solution, max_length: 20487278 is expected to validate that the length of :solution is at most 20487279 overridden_advisory_fields7280 when empty7281 is expected to be valid7282 when attribute is well formed7283 field_name: :published_date, field_value: "2023-04-25"7284 is expected to be valid7285 field_name: :title, field_value: "Information exposure"7286 is expected to be valid7287 field_name: :description, field_value: "A description with `markdown`"7288 is expected to be valid7289 field_name: :cvss_v2, field_value: "AV:N/AC:M/Au:N/C:N/I:P/A:P"7290 is expected to be valid7291 field_name: :cvss_v3, field_value: "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:N/I:L/A:L"7292 is expected to be valid7293 field_name: :identifiers, field_value: [{:type=>"foo", :name=>"bar", :value=>"baz"}]7294 is expected to be valid7295 field_name: :urls, field_value: ["https://nvd.nist.gov/vuln/detail/CVE-2019-3888", "https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2019-3888"]7296 is expected to be valid7297 when attribute is not well formed7298 field_name: :published_date, field_value: "1927374"7299 is expected not to be valid7300 field_name: :title, field_value: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"7301 is expected not to be valid7302 field_name: :description, field_value: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"7303 is expected not to be valid7304 field_name: :cvss_v2, field_value: "foo"7305 is expected not to be valid7306 field_name: :cvss_v3, field_value: "bar"7307 is expected not to be valid7308 field_name: :identifiers, field_value: [{:type=>"foo", :name=>"bar"}]7309 is expected not to be valid7310 field_name: :urls, field_value: [123]7311 is expected not to be valid7312 field_name: :urls, field_value: ["aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"]7313 is expected not to be valid7314 versions7315 number: valid_number, tags: valid_tags, sha: valid_sha, timestamp: valid_timestamp, num_versions: 0, is_valid: true7316 is expected to eq true7317 number: valid_number, tags: valid_tags, sha: valid_sha, timestamp: valid_timestamp, num_versions: 32, is_valid: true7318 is expected to eq true7319 number: valid_number, tags: valid_tags, sha: valid_sha, timestamp: valid_timestamp, num_versions: 33, is_valid: false7320 is expected to eq false7321 number: valid_number, tags: [""], sha: valid_sha, timestamp: valid_timestamp, num_versions: valid_num_versions, is_valid: true7322 is expected to eq true7323 number: valid_number, tags: ["aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"], sha: valid_sha, timestamp: valid_timestamp, num_versions: valid_num_versions, is_valid: true7324 is expected to eq true7325 number: valid_number, tags: [], sha: valid_sha, timestamp: valid_timestamp, num_versions: valid_num_versions, is_valid: true7326 is expected to eq true7327 number: valid_number, tags: ["a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a"], sha: valid_sha, timestamp: valid_timestamp, num_versions: valid_num_versions, is_valid: true7328 is expected to eq true7329 number: valid_number, tags: ["a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a"], sha: valid_sha, timestamp: valid_timestamp, num_versions: valid_num_versions, is_valid: false7330 is expected to eq false7331 number: valid_number, tags: ["aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"], sha: valid_sha, timestamp: valid_timestamp, num_versions: valid_num_versions, is_valid: false7332 is expected to eq false7333 number: "", tags: valid_tags, sha: valid_sha, timestamp: valid_timestamp, num_versions: valid_num_versions, is_valid: false7334 is expected to eq false7335 number: valid_number, tags: valid_tags, sha: "aaaa", timestamp: valid_timestamp, num_versions: valid_num_versions, is_valid: false7336 is expected to eq false7337 number: valid_number, tags: valid_tags, sha: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", timestamp: valid_timestamp, num_versions: valid_num_versions, is_valid: false7338 is expected to eq false7339 number: valid_number, tags: valid_tags, sha: valid_sha, timestamp: "2019062616270", num_versions: valid_num_versions, is_valid: false7340 is expected to eq false7341 number: valid_number, tags: valid_tags, sha: valid_sha, timestamp: "2019062616270a", num_versions: valid_num_versions, is_valid: false7342 is expected to eq false7343 number: valid_number, tags: valid_tags, sha: valid_sha, timestamp: "201906261627001", num_versions: valid_num_versions, is_valid: false7344 is expected to eq false7345Banzai::ReferenceParser::IterationParser7346 in project context7347 behaves like parses iteration references7348 #nodes_visible_to_user7349 when the link has a data-iteration attribute7350 behaves like referenced feature visibility7351 when feature is disabled7352 does not create reference7353 when feature is enabled only for team members7354 does not create reference for non member7355 creates reference for member7356 when feature is enabled7357 creates reference7358 when the link references an iteration in parent group7359 behaves like referenced feature visibility7360 when feature is disabled7361 does not create reference7362 when feature is enabled only for team members7363 does not create reference for non member7364 creates reference for member7365 when feature is enabled7366 creates reference7367 #referenced_by7368 when the link has a data-iteration attribute7369 using an existing iteration ID7370 returns an Array of iterations7371 using an iteration from parent group7372 returns an Array of iterations7373 using a non-existing iteration ID7374 returns an empty Array7375 in group context7376 behaves like parses iteration references7377 #nodes_visible_to_user7378 when the link has a data-iteration attribute7379 behaves like referenced feature visibility7380 when feature is disabled7381 does not create reference7382 when feature is enabled only for team members7383 does not create reference for non member7384 creates reference for member7385 when feature is enabled7386 creates reference7387 when the link references an iteration in parent group7388 behaves like referenced feature visibility7389 when feature is disabled7390 does not create reference7391 when feature is enabled only for team members7392 does not create reference for non member7393 creates reference for member7394 when feature is enabled7395 creates reference7396 #referenced_by7397 when the link has a data-iteration attribute7398 using an existing iteration ID7399 returns an Array of iterations7400 using an iteration from parent group7401 returns an Array of iterations7402 using a non-existing iteration ID7403 returns an empty Array7404Projects::ComplianceStandards::Adherence7405 # order random7406 associations7407 is expected to belong to project required: false7408 is expected to belong to namespace required: false7409 scopes7410 .for_projects7411 returns the adherence records for the specified projects7412 .for_check_name7413 returns the adherence records for the specified check_name7414 .for_standard7415 returns the adherence records for the specified standard7416 .for_group7417 returns the adherence records for the specified group7418 .for_group_and_its_subgroups7419 returns the adherence records for the specified group and its subgroups7420 enums7421 is expected to define :status as an enum backed by an integer with values ‹{success: 0, fail: 1}›7422 is expected to define :check_name as an enum backed by an integer with values ‹{prevent_approval_by_merge_request_author: 0, prevent_approval_by_merge_request_committers: 1, at_least_two_approvals: 2}›7423 is expected to define :standard as an enum backed by an integer with values ‹{gitlab: 0}›7424 validations7425 is expected to validate that :project is case-sensitively unique within the scope of :check_name and :standard, producing a custom validation error on failure7426 is expected to validate that :namespace cannot be empty/falsy7427 is expected to validate that :check_name cannot be empty/falsy7428 is expected to validate that :standard cannot be empty/falsy7429 is expected to validate that :status cannot be empty/falsy7430 namespace_is_group7431 when project belongs to a group7432 is valid7433 when project belongs to a user namespace7434 is invalid7435 when namespace is a subgroup7436 is valid7437Releases::UpdateService7438 group milestones7439 when a group milestone is passed7440 when there is no project milestone7441 when licenced7442 adds the group milestone7443 when unlicensed7444 returns an error7445 when there is an existing project milestone7446 when licenced7447 replaces the project milestone with the group milestone7448 when unlicensed7449 returns an error7450 when an empty milestone array is passed7451 clears the milestone array7452 when a supergroup milestone is passed7453 ignores the milestone7454SystemAccess::GroupSamlMicrosoftGroupSyncWorker7455 # order random7456 #perform7457 when group SAML is not enabled7458 behaves like sync unavailable7459 does not call the sync service7460 when group SAML is enabled7461 behaves like sync unavailable7462 does not call the sync service7463 when microsoft_group_sync feature is not licensed7464 behaves like sync unavailable7465 does not call the sync service7466 when microsoft_group_sync feature is licensed7467 behaves like sync unavailable7468 does not call the sync service7469 when the Microsoft application is not enabled7470 behaves like sync unavailable7471 does not call the sync service7472 when the Microsoft application is enabled7473 behaves like sync unavailable7474 does not call the sync service7475 when the user has a SAML identity7476 when the Microsoft API returns no groups7477 behaves like sync unavailable7478 does not call the sync service7479 when no group links match7480 behaves like sync unavailable7481 does not call the sync service7482 when group links match7483 adds the users as members7484 for SAML provider default_membership_role behavior7485 when matching group links do not include the top-level group7486 adds the member to the subgroup and retains the top-level group default membership role7487 does not touch the member record when the access level matches the default membership role7488 when the member is the last owner7489 does not change the access level to the default membership role7490 when the access level does not match the default membership role7491 reverts to the default membership role7492 does not update the access level when the top level group has no group links7493Clusters::EnvironmentsFinder#execute7494 current_user can read cluster environments7495 is expected to include #<Environment id: 4, project_id: 1624, name: "environment4", created_at: "2023-08-18 13:23:02.4464026...", merge_request_id: nil, cluster_agent_id: nil, kubernetes_namespace: nil, flux_resource_path: nil>7496 environment is not available7497 is expected not to include #<Environment id: 6, project_id: 1626, name: "environment6", created_at: "2023-08-18 13:23:04.4258457...", merge_request_id: nil, cluster_agent_id: nil, kubernetes_namespace: nil, flux_resource_path: nil>7498 current_user cannot read cluster environments7499 is expected to be empty7500AppSec::Dast::Sites::FindOrCreateService7501 #execute!7502 when a user does not have access to the project7503 raises an exception7504 when the user can run a dast scan7505 returns a dast_site7506 creates a dast_site7507 when the dast_site already exists7508 returns the existing dast_site7509 does not create a new dast_site7510 when the record is invalid7511 raises an exception7512 when on demand scan licensed feature is not available7513 raises an exception7514Geo::MetricsUpdateService7515 #execute7516 when current node is nil7517 skips posting the status7518 when node is the primary7519 updates the cache7520 updates metrics for all sites7521 updates the GeoNodeStatus entry7522 when node is a secondary7523 updates the cache7524 adds gauges for various metrics7525 increments a counter when metrics fail to retrieve7526 does not create GeoNodeStatus entries7527API-Fuzzing.gitlab-ci.yml7528 is expected not to be nil7529 the template file7530 uses the production repository7531 doesn't use the staging repository7532 the created pipeline7533 when no stages7534 when project has no stages7535 includes no jobs7536 when stages includes fuzz7537 when project has no license7538 includes job to display error7539 when project has Ultimate license7540 by default7541 includes a job7542 when configured with HAR7543 includes job7544 when configured with OpenAPI7545 includes job7546 when configured with Postman7547 includes job7548 when API_FUZZING_DISABLED=17549 includes no jobs7550 when CI_GITLAB_FIPS_MODE=false7551 sets FUZZAPI_IMAGE_SUFFIX to ""7552 when CI_GITLAB_FIPS_MODE=true7553 sets FUZZAPI_IMAGE_SUFFIX to "-fips"7554Geo::RepositoryVerification::Secondary::ShardWorker7555 #perform7556 does not schedule jobs when shard becomes unhealthy7557 does not schedule jobs when no geo database is configured7558 does not schedule jobs when not running on a secondary7559 does not schedule jobs when number of scheduled jobs exceeds capacity7560 schedule a job for each project7561 schedule jobs for projects missing repository verification7562 does not schedule jobs for projects missing wiki verification7563 does not schedule jobs for projects on other shards7564 does not schedule jobs for projects missing repositories on primary7565 shard worker scheduler7566 acquires lock namespacing it per shard name7567 backoff time7568 sets the back off time when there are no pending items7569 does not perform Geo::RepositoryVerification::Secondary::SingleWorker when the backoff time is set7570 resource loading7571 handles multiple batches of projects needing verification7572 handles multiple batches of projects needing verification, skipping repositories not verified on primary7573GroupSaml::Identity::DestroyService7574 prevents future Group SAML logins7575 does not use a transaction7576 uses a transaction when transactional is set7577 removes access to the group7578 doesn't remove the last group owner7579 logs an audit event7580DeploymentEntity7581 #pending_approval_count7582 exposes pending_approval_count7583 #approvals7584 exposes approvals7585 #can_approve_deployment7586 when user has permission to update deployment7587 returns true7588 when user does not have permission to update deployment7589 returns false7590 #has_approval_rules7591 when configured with unified rules7592 returns false7593 when configured with approval rules7594 returns true7595Mutations::Issues::SetEscalationPolicy7596 #resolve7597 behaves like permission level for issue mutation is correctly verified7598 when the user is not a project member7599 behaves like when the user does not have access to the resource7600 raises an error7601 even if assigned to the issue7602 does not modify issue7603 even if author of the issue7604 does not modify issue7605 when the user is a project member7606 with guest role7607 behaves like when the user does not have access to the resource7608 raises an error7609 even if assigned to the issue7610 does not modify issue7611 even if author of the issue7612 does not modify issue7613 when the user can update the issue7614 behaves like permission level for issue mutation is correctly verified7615 when the user is not a project member7616 behaves like when the user does not have access to the resource7617 raises an error7618 even if assigned to the issue7619 does not modify issue7620 even if author of the issue7621 does not modify issue7622 when the user is a project member7623 with guest role7624 behaves like when the user does not have access to the resource7625 raises an error7626 even if assigned to the issue7627 does not modify issue7628 even if author of the issue7629 does not modify issue7630 when the user can update the escalation status7631 returns the issue with the escalation policy7632 returns errors when issue update fails7633 with non-incident issue is provided7634 raises an error7635 when passing escalation_policy_id as nil7636 removes the iteration7637IncidentManagement::EscalationPoliciesFinder7638 # order random7639 #execute7640 when feature is available7641 when user has permissions7642 returns project escalation policies7643 when id given7644 is expected to contain exactly #<IncidentManagement::EscalationPolicy id: 3, project_id: 1650, name: "unique identifier", description: [FILTERED]>7645 when exact_name is given7646 is expected to contain exactly #<IncidentManagement::EscalationPolicy id: 3, project_id: 1650, name: "unique identifier", description: [FILTERED]>7647 when the name does not match7648 is expected to eq #<ActiveRecord::Relation []>7649 when search_name is given7650 is expected to contain exactly #<IncidentManagement::EscalationPolicy id: 3, project_id: 1650, name: "unique identifier", description: [FILTERED]>7651 when the name does not match7652 is expected to eq #<ActiveRecord::Relation []>7653 when no params are given7654 is expected to contain exactly #<IncidentManagement::EscalationPolicy id: 3, project_id: 1650, name: "unique identifier", description: [FILTERED]>7655 when user has no permissions7656 is expected to eq #<ActiveRecord::Relation []>7657 when feature is not avaiable7658 is expected to eq #<ActiveRecord::Relation []>7659shared/mirror_update_button7660 renders a notification if the last update succeeded7661 renders no notification if the last update did not succeed7662 renders nothing if the user can't push code7663 mirror update can be triggered7664 user is owner7665 renders a working update button7666 user is developer7667 renders a disabled update button7668 user is anonymous7669 renders nothing7670 mirror update due7671 renders a disabled update button7672 mirror is currently updating7673 renders a disabled update button7674 project is not a mirror7675 renders nothing7676EE::Gitlab::Checks::PushRules::FileSizeCheck7677 #validate!7678 delegates to AnyOversizedBlobs7679 behaves like check ignored when push rule unlicensed7680 is expected to be truthy7681 behaves like use predefined push rules7682 calls Project#predefined_push_rule7683 when the file size limit is exceeded7684 returns an error if file exceeds the maximum file size7685Resolvers::UserDiscussionsCountResolver7686 #resolve7687 is expected to have nullable GraphQL type Int7688 when counting discussions from an epic7689 when counting discussions from a public epic7690 returns the number of non-system discussions for the epic7691 when a user has permission to view discussions7692 returns the number of discussions for the issue7693 when a user does not have permission to view discussions7694 generates an error7695Gitlab::Analytics::CycleAnalytics::BaseQueryBuilder7696 when the subject is `Issue`7697 loads Issue records within the given Group7698 when the subject is `MergeRequest`7699 loads MergeRequest records within the given Group7700Security::SecurityOrchestrationPolicies::OperationalVulnerabilitiesConfigurationService7701 #execute7702 when feature is not licensed7703 returns empty collection7704 when feature is licensed7705 when agent project has security_orchestration_policy project7706 when policy is not applicable for agent7707 returns empty response7708 when policy is applicable for agent7709 returns matching configuration7710 when policy is configured on the group level7711 when policy is applicable for agent7712 returns matching configuration7713 when agent project is different from security_orchestration_policy project7714 returns empty response7715EE::Gitlab::Checks::PushRules::TagCheck7716 #validate!7717 returns an error if the rule denies tag deletion7718 behaves like check ignored when push rule unlicensed7719 is expected to be truthy7720 behaves like use predefined push rules7721 calls Project#predefined_push_rule7722 when tag is deleted in web UI7723 ignores the push rule7724DependencyEntity7725 #as_json7726 when all required features available7727 with developer7728 includes license info and vulnerabilities7729 does not include component_id7730 with reporter7731 includes license info and not vulnerabilities7732 with project7733 includes project name and full_path7734 includes component_id7735 when all required features are unavailable7736 does not include licenses and vulnerabilities7737 when there is no dependency path attributes7738 correctly represent location7739Resolvers::VulnerabilitiesGradeResolver7740 #resolve7741 when security_dashboards are disabled7742 when user is not logged in7743 is expected to be blank7744 when user is logged in7745 when user does not have permissions7746 is expected to be blank7747 when user has permission to access vulnerabilities7748 when include_subgroups is set to true7749 is expected to be blank7750 when the letter grade is given7751 is expected to be blank7752 when include_subgroups is set to true7753 is expected to be blank7754 when the letter grade is given7755 is expected to be blank7756 when security_dashboards are enabled7757 when user is not logged in7758 is expected to be blank7759 when user is logged in7760 when user does not have permissions7761 is expected to be blank7762 when user has permission to access vulnerabilities7763 when include_subgroups is set to true7764 returns project grades for projects in group and its subgroups7765 when the letter grade is given7766 returns only the requested grade7767 when include_subgroups is set to true7768 returns project grades for projects in group only7769 when the letter grade is given7770 returns only the requested grade7771Gitlab::Graphql::Aggregations::Epics::LazyEpicAggregate7772 #initialize7773 requires either :weight_sum, :health_status_sum or :count as a facet7774 adds the epic_id to lazy state7775 adds facets to lazy state7776 with valid facets :weight_sum, :health_status_sum or :count7777 as a symbol7778 as a string7779 #epic_aggregate7780 if the record has already been loaded7781 does not make the query again7782 if the record has not been loaded7783 clears the pending IDs7784 creates the parent-child associations7785 when different facets are passed7786 when health_status_sum facet is requested7787 forwards count_health_status true to aggregate loader7788 when count and weight sum facets are requested7789 forwards negative count_health_status to aggregate loader7790 if a block is provided7791 calls the block7792 for a parent-child relationship7793 assembles recursive sums for the parent7794 for a standalone epic with no issues7795 assembles recursive sums7796 when checking cached counts7797 behaves like no logged mismatch7798 does not log an error if cached counts match7799 when cached count does not match aggregate count7800 does log an error if cached counts do not match7801 when check_epic_cached_values is disabled7802 behaves like no logged mismatch7803 does not log an error if cached counts match7804 when epic is not set7805 behaves like no logged mismatch7806 does not log an error if cached counts match7807Geo::RenameRepositoryService7808 #execute7809 does not move project backed by hashed storage7810 project backed by legacy storage7811 moves the project repositories7812 raises an error when project repository can not be moved7813 raises an error when wiki repository can not be moved7814 #async_execute7815 starts the worker7816 returns job id7817Label7818 associations7819 is expected to have many epic_board_labels inverse_of => label7820 is expected to have many epic_lists inverse_of => label7821 scopes7822 .on_epic_board7823 returns only the board labels7824 #ids_on_epic_board7825 returns only the board label ids7826 #scoped_label?7827 with scoped_labels available7828 returns false for unscoped labels7829 returns true for scoped labels7830 splitting scoped labels7831 title: "key1::key 2::some value", key: "key1::key 2", value: "some value"7832 #scoped_label_key returns key for scoped labels7833 #scoped_label_value returns title without the key7834 title: "key1::some value", key: "key1", value: "some value"7835 #scoped_label_key returns key for scoped labels7836 #scoped_label_value returns title without the key7837 title: "::some value", key: "", value: "some value"7838 #scoped_label_key returns key for scoped labels7839 #scoped_label_value returns title without the key7840 title: "some value", key: nil, value: "some value"7841 #scoped_label_key returns key for scoped labels7842 #scoped_label_value returns title without the key7843Groups::GroupMembersHelper7844 #group_members_app_data7845 adds `ldap_override_path`7846 adds `can_export_members`7847 adds `export_csv_path`7848 adds `can_filter_by_enterprise`7849 banned members7850 returns `members` property that matches json schema7851 sets `member_path` property7852 #group_member_header_subtext7853 can_admin_member: true, enforce_free_user_cap: true, subtext: enforcement_subtext7854 contains expected text7855 can_admin_member: true, enforce_free_user_cap: false, subtext: standard_subtext7856 contains expected text7857 can_admin_member: false, enforce_free_user_cap: true, subtext: standard_subtext7858 contains expected text7859 can_admin_member: false, enforce_free_user_cap: false, subtext: standard_subtext7860 contains expected text7861Integrations::JiraSerializers::IssueDetailEntity7862 returns the Jira issues attributes7863 when the description needs redaction7864 when the user is anonymous7865 redacts the first issue7866 when the user is logged in7867 when the user does not have access to the first issue7868 redacts the first issue7869 when the user does have access to the first issue7870 renders the first issue7871 with Jira Server configuration7872 returns the Jira Server profile URL7873 with only url7874 returns URLs with the web url7875 with Jira Cloud configuration7876 returns the Jira Cloud profile URL7877 without assignee7878 returns an empty array7879 without labels7880 returns an empty array7881 without resolution date7882 returns 'Open' state7883Namespaces::Storage::LimitExclusion7884 # order random7885 associations7886 is expected to belong to namespace required: true7887 validations7888 is expected to belong to namespace optional: false7889 is expected to validate that :reason cannot be empty/falsy7890 is expected to validate that the length of :reason is at most 2557891 is expected to validate that :namespace is case-sensitively unique7892 check constraints7893 enforces the reason and namespace NOT NULL constraint7894 dependent destroy7895 destroys the excluded namespace when the namespace is destroyed7896Group routing routing7897 subgroup "boards"7898 shows group show page7899 shows boards index page7900 security7901 shows group dashboard7902 shows vulnerability list7903 packages7904 routes to packages index page7905 issues7906 routes post to #bulk_update7907 merge_requests7908 routes post to #bulk_update7909 epics7910 routes post to #bulk_update7911 Groups::WikisController routing7912 behaves like wiki routing7913 redirects the base path to the home page7914 behaves like resource routing7915 routes resource actions7916 Groups::HooksController routing7917 to #test7918 behaves like resource routing7919 routes resource actions7920 Groups::HookLogsController routing7921 to #retry7922 to #show7923 service accounts7924 routes to the new service account7925Vulnerabilities::Statistics::AdjustmentService7926 .execute7927 instantiates the service object for given project ids and calls `execute` on them7928 #execute7929 when more than 1000 projects is provided7930 raises error7931 when there is no vulnerability_statistic record for project7932 creates a new record7933 sets the correct values for the record7934 when there is already a vulnerability_statistic record for project7935 does not create a new record in database7936 sets the correct values for the record7937EE::ProjectSecurityScannersInformation7938 #available_scanners7939 returns a list of all scanners available for the project7940 #enabled_scanners7941 returns a list of all scanners enabled for the project7942 #scanners_run_by_last_pipeline7943 returns a list of all scanners which were run successfully in the latest pipeline7944 does not include non-security scanners7945 when pipeline has no build reports7946 is expected to be empty7947Vulnerabilities::FindingSignature7948 associations7949 is expected to belong to finding class_name => Vulnerabilities::Finding required: false7950 validations7951 is expected to validate that :finding cannot be empty/falsy7952 .by_project7953 is expected to eq [#<Vulnerabilities::FindingSignature id: 2, finding_id: 262, created_at: "2023-08-18 13:24:30.7082300...000", algorithm_type: "hash", signature_sha: "[\xE1\xA0x\t5\xADR \x05>\xD6E\xC1kr\xBF\xD5\xFA\x16">]7954 .by_signature_sha7955 is expected to eq [#<Vulnerabilities::FindingSignature id: 3, finding_id: 263, created_at: "2023-08-18 13:24:31.7141982... algorithm_type: "hash", signature_sha: "\xE3\xAC\xCD\x84\x86=\x96\xCBzP0Y\xDC\xC4K\xE9\xB8}\xE7c">]7956 #eql?7957 when the other is also a FindingSignature7958 when algorithm_type and signature_sha are the same7959 returns true7960 when algorithm_type is different7961 returns false7962 when signature_sha is different7963 returns false7964 when the other is not a FindingSignature7965 returns false7966Search::Zoekt::NamespaceIndexerWorker7967 # order random7968 #perform7969 for index operation7970 indexes all projects belonging to the namespace7971 when zoekt indexing is disabled7972 does nothing7973 when zoekt indexing is not enabled for the namespace7974 does nothing7975 for delete operation7976 deletes all projects belonging to the namespace7977 when zoekt indexing is disabled7978 does nothing7979 when zoekt indexing is not enabled for the namespace7980 deletes index files7981Types::VulnerabilityRequestResponseHeaderType7982 is expected to eq "VulnerabilityRequestResponseHeader"7983 is expected to have graphql fields :name and :value7984 checking field contents7985 evidence.request.headers fields7986 checks the contents of the fields7987 evidence.response.headers fields7988 checks the contents of the fields7989 evidence.supportingMessages[].request.headers fields7990 checks the contents of the fields7991 evidence.supportingMessages[].response.headers fields7992 checks the contents of the fields7993AppSec::Dast::SiteValidations::FindOrCreateService7994 execute7995 when the licensed feature is available7996 communicates failure7997 when the licensed feature is available7998 communicates success7999 creates a new record in the database8000 associates the dast_site_validation with the dast_site8001 attempts to validate8002 when a param is missing8003 communicates failure8004 when the dast_site_token.project and container do not match8005 communicates failure8006 when the dast_site_token does not have a related dast_site via its url8007 communicates failure8008 when the site has already passed validation8009 returns the existing dast_site_validation8010 does not create a new record in the database8011 does not attempt to re-validate8012 associates the dast_site_validation with the dast_site8013Boards::BoardsFinder8014 behaves like multiple boards list service8015 #execute8016 returns all issue boards8017 returns boards ordered by name8018 when wanting a specific board8019 returns board specified by id8020 raises exception when board is not found8021 behaves like multiple boards list service8022 returns the first issue board when multiple issue boards is disabled8023 #execute8024 returns all issue boards8025 returns boards ordered by name8026 when wanting a specific board8027 returns board specified by id8028 raises exception when board is not found8029UserAnalyticsEntity8030 has all the user attributes8031 fetches push events for the user from the request8032 fetches issues_created events for the user from the request8033 fetches issues_closed events for the user from the request8034 fetches merge_requests_created events for the user from the request8035 fetches merge_requests_merged events for the user from the request8036 fetches merge_requests_approved events for the user from the request8037 fetches total_events events for the user from the request8038 sets 0 as the total when there were no events for a type8039Types::AlertManagement::PayloadAlertFieldPathSegmentType8040 is expected to eq "PayloadAlertFieldPathSegment"8041 .coerce_input8042 with string8043 is expected to eq "string"8044 with integer8045 is expected to eq 168046 with non-string or integer8047 is expected to eq nil8048 .coerce_result8049 with string8050 is expected to eq "string"8051 with integer8052 is expected to eq 168053 with non-string or integer8054 is expected to eq "[1, 2, 3]"8055Gitlab::Vulnerabilities::ContainerScanningVulnerability8056 #title8057 when there is a name8058 returns the provided name8059 when there is no featurename8060 formats title using the vulnerability only8061 when there is a featurename8062 formats title using the featurename8063 #description8064 when there is a description8065 returns the provided description8066 when there is no featurename8067 formats description using the namespace8068 when there is no featureversion8069 formats description using the featurename only8070 when featurename and featureversion are present8071 formats description using the featurename and featureversion8072 #solution8073 when there is a solution8074 returns the provided solution8075 when there is no fixedby8076 returns nil8077 when there is no featurename8078 formats solution using the fixedby only8079 when there is no featureversion8080 formats solution using the featurename only8081 when featurename and featureversion are present8082 formats solution using the featurename and featureversion8083Search::IndexRepairService8084 # order random8085 .execute8086 when search_index_integrity feature flag is disabled8087 behaves like a service that does not call the search client8088 does not call the search client8089 when project.should_check_index_integrity? is false8090 behaves like a service that does not call the search client8091 does not call the search client8092 when project and blobs exist in the index8093 does not log anything8094 when blobs are missing from the index8095 when index_status does not exist8096 behaves like a service that repairs the blobs index8097 queues the blobs for indexing and logs a warning8098 when index_status exists8099 when index_status last_commit does not match last project commit8100 behaves like a service that repairs the blobs index8101 queues the blobs for indexing and logs a warning8102 when index_status last_commit matches the repository head_commit8103 behaves like a service that does no repair work for the blobs index8104 does not queue blobs for indexing8105 when project has a null commit8106 behaves like a service that does no repair work for the blobs index8107 does not queue blobs for indexing8108 when project is missing from the index8109 enqueues the project for indexing and logs a warning8110UserPermissionExportUpload8111 associations8112 is expected to belong to user required: false8113 validations8114 is expected to validate that :status cannot be empty/falsy8115 when status is finished8116 validates file presence8117 state transitions8118 status: 0, can_start: true, can_finish: false, can_fail: true8119 adheres to state machine rules8120 status: 1, can_start: false, can_finish: true, can_fail: true8121 adheres to state machine rules8122 status: 2, can_start: false, can_finish: false, can_fail: false8123 adheres to state machine rules8124 status: 3, can_start: false, can_finish: false, can_fail: false8125 adheres to state machine rules8126SystemCheck::Geo::GeoDatabaseConfiguredCheck8127 #multi_check8128 checks database configuration8129 checks database configuration8130 checks table existence8131 checks if existing database is being reused8132 returns true when all checks passed8133routes to the proper webhooks controller8134 with a project context8135 routes the test action8136 routes a single record8137 with a group context8138 routes the test action8139 routes a single record8140IncidentManagement::OncallParticipant8141 # order random8142 is expected to be valid8143 scopes8144 .not_removed8145 is expected to contain exactly #<IncidentManagement::OncallParticipant id: 1, oncall_rotation_id: 1, user_id: 3247, color_palette: "blue", color_weight: "50", is_removed: false>8146 .removed8147 is expected to contain exactly #<IncidentManagement::OncallParticipant id: 2, oncall_rotation_id: 1, user_id: 3248, color_palette: "blue", color_weight: "50", is_removed: true>8148 .for_user8149 is expected to contain exactly #<IncidentManagement::OncallParticipant id: 1, oncall_rotation_id: 1, user_id: 3247, color_palette: "blue", color_weight: "50", is_removed: false>8150 validations8151 is expected to validate that :rotation cannot be empty/falsy8152 is expected to validate that :user cannot be empty/falsy8153 is expected to validate that :color_weight cannot be empty/falsy8154 is expected to validate that :color_palette cannot be empty/falsy8155 when the participant already exists in the rotation8156 has validation errors8157 associations8158 is expected to belong to rotation required: false8159 is expected to belong to user required: false8160 is expected to have many shifts8161Sbom::Source8162 enums8163 is expected to define :source_type as an enum backed by an integer with values ‹{dependency_scanning: 0, container_scanning: 1}›8164 validations8165 is expected to validate that :source_type cannot be empty/falsy8166 is expected to validate that :source cannot be empty/falsy8167 source validation8168 when source is valid8169 is expected to be valid8170 when optional attributes are missing8171 is expected to be valid8172 when input_file is missing8173 is expected to be invalid8174 when attributes have wrong type8175 is expected to be invalid8176 readers8177 #packager8178 is expected to eq "npm"8179 #input_file_path8180 is expected to eq "package-lock.json"8181Gitlab::Auth::GroupSaml::XmlResponse8182 configures ruby-saml using configured settings8183 validates xml according to SAML spec8184 correctly detects fingerprint mismatch8185 attributes from encoded XML8186 retrieves NameID from XML8187 retrieves NameID Format from XML8188 provides decoded XML8189Projects::GroupLinks::UpdateService8190 audit events8191 sends the audit streaming event8192 when only expires_at is updated8193 sends the audit streaming event8194 when expires_at is already same8195 does not send audit streaming event8196 when only access_level is updated8197 sends the audit streaming event8198 when access_level is already same8199 does not send audit streaming event8200RemoteDevelopment::RemoteDevelopmentAgentConfig8201 # order random8202 associations8203 is expected to belong to agent required: false8204 is expected to have many workspaces8205 with associated workspaces8206 has correct associations from factory8207 #after_update8208 prevents dns_zone from being updated8209 validations8210 when config has an invalid dns_zone8211 prevents config from being created8212ProductAnalytics::Funnel8213 # order random8214 is expected to validate that :seconds_to_convert looks like a number8215 #to_sql8216 is expected to eq " SELECT\n (SELECT max(derived_tstamp) FROM snowplow_events) as x,\n windowFunnel(...e1.html', page_urlpath = '/page2.html') as step\n FROM gitlab_project_1749.snowplow_events\n"8217 .for_project8218 returns a collection of funnels8219 has a collection of steps8220 when the funnel directory includes a file that is not a yaml file8221 does not include the file in the collection8222 when the project does not have a funnels directory8223 is expected to be empty8224Gitlab::Graphql::Aggregations::Epics::LazyLinksAggregate8225 behaves like issuable lazy links aggregate8226 #initialize8227 adds the issuable_id to the `blocked` lazy state by default8228 #links_aggregate8229 when link_type is `blocked`8230 behaves like block provided8231WARNING: An expectation of `:do_thing` 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/support/shared_examples/lib/gitlab/graphql/issuables_lazy_links_aggregate_shared_examples.rb:39:in `block (4 levels) in <top (required)>'.8232 calls the block8233 behaves like the record has already been loaded8234 does not make the query again8235 behaves like the record has not been loaded8236 clears the pending IDs8237 when link_type is `blocking`8238 behaves like block provided8239WARNING: An expectation of `:do_thing` 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/support/shared_examples/lib/gitlab/graphql/issuables_lazy_links_aggregate_shared_examples.rb:39:in `block (4 levels) in <top (required)>'.8240 calls the block8241 behaves like the record has already been loaded8242 does not make the query again8243 behaves like the record has not been loaded8244 clears the pending IDs8245ProjectMemberPresenter8246 #group_sso?8247 returns `false`8248 #group_managed_account?8249 returns `false`8250 #can_update?8251 when user cannot update project_member8252 when user can override_project_member8253 is expected to eq true8254 when user cannot override_project_member8255 is expected to eq false8256 #can_ban?8257 is expected to eq false8258 #can_unban?8259 is expected to eq false8260Resolvers::Vulnerabilities::ContainerImagesResolver8261 #resolve8262 when resolved for project8263 behaves like fetches vulnerability container images8264 when user is not logged in8265 is expected to be blank8266 when user is logged in8267 when user does not have permissions8268 is expected to be blank8269 when user have permissions to access vulnerabilities8270 returns related container images8271Security::Ingestion::FindingMapCollection8272 #each_slice8273 when the size argument given8274 calls the given block for each slice by the given size argument8275AuditEvents::RegisterRunnerAuditEventService8276 #track_event8277 for instance runner8278 on runner that failed to create8279 returns audit event attributes of a failed runner registration8280 on persisted runner8281 behaves like expected audit event8282 returns audit event attributes8283 with registration token prefixed with RUNNERS_TOKEN_PREFIX8284 behaves like expected audit event8285 returns audit event attributes8286 for group runner8287 on runner that failed to create8288 returns audit event attributes of a failed runner registration8289 on persisted runner8290 behaves like expected audit event8291 returns audit event attributes8292 for project runner8293 on runner that failed to create8294 returns audit event attributes of a failed runner registration8295 on persisted runner8296 behaves like expected audit event8297 returns audit event attributes8298LicenseHelper8299 #current_license_title8300 when there is a current license8301 returns the plan titleized if it has a plan associated to it8302 returns the default title if it does not have a plan associated to it8303 when there is NOT a current license8304 returns the default title8305 #seats_calculation_message8306 and guest are excluded from the active count8307 returns the message8308 and guest are NOT excluded from the active count8309 returns nil8310 #licensed_users8311 with a restricted license count8312 returns a number as string8313 without a restricted license count8314 returns Unlimited8315 #cloud_license_view_data8316 when there is a current license8317 returns the data for the view8318 when there is no current license8319 returns the data for the view8320 #show_promotions?8321 without a user8322 is expected to eq false8323 with a user8324 on saas8325 is expected to eq true8326 when gitlabdotcom returns false8327 is expected to eq false8328 on EE8329 with hide on self managed true8330 is expected to eq false8331 without a valid license8332 is expected to eq true8333 with a valid license8334 expired license8335 is expected to eq true8336 non expired license8337 is expected to eq false8338Elastic::Latest::NoteInstanceProxy8339 # order random8340 #as_indexed_json8341 when note is on Issue8342 serializes the object as a hash with issue properties8343 when migration add_archived_to_notes is not finished8344 serializes the object as a hash without archived field8345 when note is on Snippet8346 serializes the object as a hash with snippet properties8347 when note is on Commit8348 serializes the object as a hash with commit properties8349 when note is on MergeRequest8350 serializes the object as a hash with merge request properties8351Gitlab::Ingestion::BulkInsertableTask8352 .unique_by8353 does not try to create/update duplicate records8354MarkupHelper8355 #render_wiki_content8356 when file is Markdown8357 when content has labels8358 when wiki is a group wiki8359 behaves like renders label8360 is expected not to be empty8361 when wiki is a project wiki8362 behaves like renders label8363 is expected not to be empty8364Mutations::Boards::EpicBoards::EpicMoveList8365 arguments8366 has the correct arguments8367 #resolve8368 when user does not have permissions8369 does not allow the move8370 when everything is ok8371 moves the epic to another list8372Gitlab::Usage::Metrics::Instrumentations::CountUserMergeRequestsWithAppliedScanResultPoliciesMetric8373 # order random8374 behaves like a correct instrumented metric value and query8375 behaves like a correct instrumented metric value8376 has correct value8377 behaves like a correct instrumented metric query8378 has correct generate query8379 behaves like a correct instrumented metric value and query8380 behaves like a correct instrumented metric value8381 has correct value8382 behaves like a correct instrumented metric query8383 has correct generate query8384Llm::GenerateCommitMessageService8385 # order random8386#<Thread:0x00007dc5ccf5d1f0 /builds/gitlab-org/gitlab/vendor/ruby/3.0.0/gems/snowplow-tracker-0.8.0/lib/snowplow-tracker/emitters.rb:417 run> terminated with exception (report_on_exception is true):8387/builds/gitlab-org/gitlab/vendor/ruby/3.0.0/gems/webmock-3.18.1/lib/webmock/http_lib_adapters/net_http.rb:104:in `request': Real HTTP connections are disabled. Unregistered request: GET https://db-snowplow.trx.gitlab.net/i?cx=eyJzY2hlbWEiOiJpZ2x1OmNvbS5zbm93cGxvd2FuYWx5dGljcy5zbm93cGxvdy9jb250ZXh0cy9qc29uc2NoZW1hLzEtMC0xIiwiZGF0YSI6W3sic2NoZW1hIjoiaWdsdTpjb20uZ2l0bGFiL2dpdGxhYl9zdGFuZGFyZC9qc29uc2NoZW1hLzEtMC05IiwiZGF0YSI6eyJlbnZpcm9ubWVudCI6InByb2R1Y3Rpb24iLCJzb3VyY2UiOiJnaXRsYWItcmFpbHMiLCJwbGFuIjpudWxsLCJleHRyYSI6eyJpZCI6MTIwLCJtZXJnZV9yZXF1ZXN0X2lkIjo5OCwibGF0ZXN0X2J1aWxkX3N0YXJ0ZWRfYXQiOm51bGwsImxhdGVzdF9idWlsZF9maW5pc2hlZF9hdCI6bnVsbCwiZmlyc3RfZGVwbG95ZWRfdG9fcHJvZHVjdGlvbl9hdCI6bnVsbCwibWVyZ2VkX2F0IjpudWxsLCJjcmVhdGVkX2F0IjoiMjAyMy0wOC0xOCAxMzoyNToxMyBVVEMiLCJ1cGRhdGVkX2F0IjoiMjAyMy0wOC0xOCAxMzoyNToxMyBVVEMiLCJwaXBlbGluZV9pZCI6bnVsbCwibWVyZ2VkX2J5X2lkIjpudWxsLCJsYXRlc3RfY2xvc2VkX2J5X2lkIjpudWxsLCJsYXRlc3RfY2xvc2VkX2F0IjpudWxsLCJmaXJzdF9jb21tZW50X2F0IjpudWxsLCJmaXJzdF9jb21taXRfYXQiOm51bGwsImxhc3RfY29tbWl0X2F0IjpudWxsLCJkaWZmX3NpemUiOm51bGwsIm1vZGlmaWVkX3BhdGhzX3NpemUiOm51bGwsImNvbW1pdHNfY291bnQiOm51bGwsImZpcnN0X2FwcHJvdmVkX2F0IjpudWxsLCJmaXJzdF9yZWFzc2lnbmVkX2F0IjpudWxsLCJhZGRlZF9saW5lcyI6bnVsbCwicmVtb3ZlZF9saW5lcyI6bnVsbH0sInVzZXJfaWQiOm51bGwsIm5hbWVzcGFjZV9pZCI6bnVsbCwicHJvamVjdF9pZCI6bnVsbCwiY29udGV4dF9nZW5lcmF0ZWRfYXQiOiIyMDIzLTA4LTE4IDEzOjI1OjEzIFVUQyJ9fV19&dtm=1692365113904&e=se&eid=eab11d76-0bbd-4f29-a47b-bec6f43e373e&p=srv&se_ac=database_event_create&se_ca=MergeRequest::Metrics&se_la=merge_request_metrics&se_pr=create&stm=1692365113906&tna=gl&tv=rb-0.8.0 with headers {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'User-Agent'=>'Ruby'} (WebMock::NetConnectNotAllowedError)8388You can stub this request with the following snippet:8389stub_request(:get, "https://db-snowplow.trx.gitlab.net/i?cx=eyJzY2hlbWEiOiJpZ2x1OmNvbS5zbm93cGxvd2FuYWx5dGljcy5zbm93cGxvdy9jb250ZXh0cy9qc29uc2NoZW1hLzEtMC0xIiwiZGF0YSI6W3sic2NoZW1hIjoiaWdsdTpjb20uZ2l0bGFiL2dpdGxhYl9zdGFuZGFyZC9qc29uc2NoZW1hLzEtMC05IiwiZGF0YSI6eyJlbnZpcm9ubWVudCI6InByb2R1Y3Rpb24iLCJzb3VyY2UiOiJnaXRsYWItcmFpbHMiLCJwbGFuIjpudWxsLCJleHRyYSI6eyJpZCI6MTIwLCJtZXJnZV9yZXF1ZXN0X2lkIjo5OCwibGF0ZXN0X2J1aWxkX3N0YXJ0ZWRfYXQiOm51bGwsImxhdGVzdF9idWlsZF9maW5pc2hlZF9hdCI6bnVsbCwiZmlyc3RfZGVwbG95ZWRfdG9fcHJvZHVjdGlvbl9hdCI6bnVsbCwibWVyZ2VkX2F0IjpudWxsLCJjcmVhdGVkX2F0IjoiMjAyMy0wOC0xOCAxMzoyNToxMyBVVEMiLCJ1cGRhdGVkX2F0IjoiMjAyMy0wOC0xOCAxMzoyNToxMyBVVEMiLCJwaXBlbGluZV9pZCI6bnVsbCwibWVyZ2VkX2J5X2lkIjpudWxsLCJsYXRlc3RfY2xvc2VkX2J5X2lkIjpudWxsLCJsYXRlc3RfY2xvc2VkX2F0IjpudWxsLCJmaXJzdF9jb21tZW50X2F0IjpudWxsLCJmaXJzdF9jb21taXRfYXQiOm51bGwsImxhc3RfY29tbWl0X2F0IjpudWxsLCJkaWZmX3NpemUiOm51bGwsIm1vZGlmaWVkX3BhdGhzX3NpemUiOm51bGwsImNvbW1pdHNfY291bnQiOm51bGwsImZpcnN0X2FwcHJvdmVkX2F0IjpudWxsLCJmaXJzdF9yZWFzc2lnbmVkX2F0IjpudWxsLCJhZGRlZF9saW5lcyI6bnVsbCwicmVtb3ZlZF9saW5lcyI6bnVsbH0sInVzZXJfaWQiOm51bGwsIm5hbWVzcGFjZV9pZCI6bnVsbCwicHJvamVjdF9pZCI6bnVsbCwiY29udGV4dF9nZW5lcmF0ZWRfYXQiOiIyMDIzLTA4LTE4IDEzOjI1OjEzIFVUQyJ9fV19&dtm=1692365113904&e=se&eid=eab11d76-0bbd-4f29-a47b-bec6f43e373e&p=srv&se_ac=database_event_create&se_ca=MergeRequest::Metrics&se_la=merge_request_metrics&se_pr=create&stm=1692365113906&tna=gl&tv=rb-0.8.0").8390 with(8391 headers: {8392 'Accept'=>'*/*',8393 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',8394 'User-Agent'=>'Ruby'8395 }).8396 to_return(status: 200, body: "", headers: {})8397============================================================8398 from /builds/gitlab-org/gitlab/vendor/ruby/3.0.0/gems/snowplow-tracker-0.8.0/lib/snowplow-tracker/emitters.rb:307:in `http_get'8399 from /builds/gitlab-org/gitlab/vendor/ruby/3.0.0/gems/snowplow-tracker-0.8.0/lib/snowplow-tracker/emitters.rb:290:in `process_get_event'8400 from /builds/gitlab-org/gitlab/vendor/ruby/3.0.0/gems/snowplow-tracker-0.8.0/lib/snowplow-tracker/emitters.rb:272:in `block in send_requests_with_get'8401 from /builds/gitlab-org/gitlab/vendor/ruby/3.0.0/gems/snowplow-tracker-0.8.0/lib/snowplow-tracker/emitters.rb:271:in `each'8402 from /builds/gitlab-org/gitlab/vendor/ruby/3.0.0/gems/snowplow-tracker-0.8.0/lib/snowplow-tracker/emitters.rb:271:in `send_requests_with_get'8403 from /builds/gitlab-org/gitlab/vendor/ruby/3.0.0/gems/snowplow-tracker-0.8.0/lib/snowplow-tracker/emitters.rb:236:in `send_requests'8404 from /builds/gitlab-org/gitlab/vendor/ruby/3.0.0/gems/snowplow-tracker-0.8.0/lib/snowplow-tracker/emitters.rb:427:in `block in consume'8405 from /builds/gitlab-org/gitlab/vendor/ruby/3.0.0/gems/snowplow-tracker-0.8.0/lib/snowplow-tracker/emitters.rb:425:in `loop'8406 from /builds/gitlab-org/gitlab/vendor/ruby/3.0.0/gems/snowplow-tracker-0.8.0/lib/snowplow-tracker/emitters.rb:425:in `consume'8407 from /builds/gitlab-org/gitlab/vendor/ruby/3.0.0/gems/snowplow-tracker-0.8.0/lib/snowplow-tracker/emitters.rb:417:in `block (2 levels) in initialize'8408 #valid?8409 experiment_features_enabled: true, third_party_ai_features_enabled: true, result: true8410 is expected to eq true8411 experiment_features_enabled: false, third_party_ai_features_enabled: true, result: false8412 is expected to eq false8413 experiment_features_enabled: true, third_party_ai_features_enabled: false, result: false8414 is expected to eq false8415 experiment_features_enabled: false, third_party_ai_features_enabled: false, result: false8416 is expected to eq false8417 #execute8418 when the user is permitted to view the merge request8419 schedules a job8420 when the user is not permitted to view the merge request8421 returns an error8422 when feature flag is disabled8423 returns an error8424StatusPage::IncidentCommentsFinder8425 # order random8426 #all8427 when limit is higher than the colletion size8428 is expected to eq [#<Note note: [FILTERED], noteable_type: "Issue", author_id: 3304, created_at: "2023-08-18 13:25:15.9...last_edited_at: "2023-08-18 13:25:16.068918374 +0000", internal: false, id: 165, namespace_id: nil>]8429 when limit is lower than the colletion size8430 is expected to eq [#<Note note: [FILTERED], noteable_type: "Issue", author_id: 3304, created_at: "2023-08-18 13:25:15.9...last_edited_at: "2023-08-18 13:25:15.959857188 +0000", internal: false, id: 164, namespace_id: nil>]8431 award emoji8432 ensures that emoji exists8433Ci::Llm::GenerateConfigWorker8434 # order random8435 #perform8436 calls the generate config service8437 when no ai message8438 is expected to eq nil8439 .sidekiq_retries_exhausted8440 updates status to failed8441registrations/groups/new8442 when Google Tag Manager is enabled8443 contains a Google Tag Manager tag8444 when Google Tag Manager is disabled8445 does not contain a Google Tag Manager tag8446 with expected DOM elements8447 contains js-groups-projects-form class8448 has project creation form tabs8449AppSec::Dast::SiteValidations::RunnerService8450 execute8451 when on demand scan licensed feature is not available8452 behaves like a failure8453 communicates failure8454 when the feature is enabled8455 communicates success8456 creates a ci_pipeline with an appropriate source8457 makes the correct variables available to the ci_build8458 when pipeline creation fails8459 transitions the dast_site_validation to a failure state8460Ci::InitialPipelineProcessWorker8461 #perform8462 is labeled as idempotent8463 performs multiple times sequentially without raising an exception8464 when the project is out of CI minutes8465 marks the pipeline as failed8466IterationNote8467 .from_event8468 behaves like a synthetic note8469 behaves like a system note8470 has the correct attributes8471 #discussion_id8472 returns the expected discussion id8473 with a remove iteration event8474 creates the expected note8475ElasticsearchIndexedProject8476 behaves like an elasticsearch indexed container8477 validations8478 validates uniqueness of main attribute8479 callbacks8480 on save8481 triggers index_project8482 performs the expected action8483 on destroy8484 triggers delete_from_index8485 performs the expected action8486Gitlab::Geo::LogCursor::Events::HashedStorageAttachmentsEvent8487 #process8488 does not create a new project registry8489 schedules a Geo::HashedStorageAttachmentsMigrationWorker8490 behaves like logs event source info8491 logs `job_id` and `event_id8492AuditEvents::RunnersTokenAuditEventService8493 #security_event8494 for instance8495 behaves like logs the event to file8496 logs the event to file8497 for group8498 behaves like logs the event to file8499 logs the event to file8500 for project8501 behaves like logs the event to file8502 logs the event to file8503 with runners_token_prefix set to RUNNERS_TOKEN_PREFIX8504 behaves like logs the event to file8505 logs the event to file8506Clusters::Agents::AuthorizeProxyUserService8507 # order random8508 returns forbidden when user has no access to any project8509 returns the user's authorizations when they have access8510 when the agent configuration project does not have EEP license8511 returns an error8512Types::IncidentManagement::OncallRotationDateInputType8513 # order random8514 accepts date and time8515 behaves like invalid time format8516 like 00:0008517 raises an argument error8518 behaves like invalid time format8519 like 99:998520 raises an argument error8521 behaves like invalid date format8522 like 1923-2-028523 raises an argument error8524 behaves like invalid time format8525 like 07258526 raises an argument error8527 behaves like invalid time format8528 like 23:608529 raises an argument error8530 behaves like invalid date format8531 like 1923-02-28532 raises an argument error8533 behaves like invalid parsed datetime8534 like 1923-39-028535 raises an argument error8536 behaves like invalid date format8537 like YYYY-MM-DD8538 raises an argument error8539 behaves like invalid date format8540 like 20000-12-038541 raises an argument error8542 behaves like invalid time format8543 like 24:598544 raises an argument error8545 behaves like invalid time format8546 like 123:008547 raises an argument error8548 behaves like invalid parsed datetime8549 like 2021-02-308550 raises an argument error8551 behaves like invalid time format8552 like 00:998553 raises an argument error8554 behaves like invalid date format8555 like 192312028556 raises an argument error8557AuditEvents::Streaming::Headers::CreateService8558 #execute8559 behaves like header creation validation errors8560 has an array of errors in the response8561 when the header is created successfully8562 sends the audit streaming event8563 behaves like header creation successful8564 has the header in the response payload8565 creates header for destination8566 with license feature external_audit_events8567 sends correct event type in audit event stream8568Security::TrackScanService8569 #execute8570 report has all metadata8571 tracks the scan event8572 report is missing metadata8573 tracks the scan event8574ManualQuarterlyCoTermBannerHelper8575 #manual_quarterly_co_term_banner8576 when current user is empty8577 does not return a banner payload8578 when current user cannot admin all resources8579 does not return a banner payload8580 when current user can admin all resources8581 returns a banner payload8582ScimIdentity8583 relations8584 is expected to belong to group required: false8585 is expected to belong to user required: false8586 validations8587 with existing user and group8588 returns false for a duplicate identity with the same extern_uid8589 returns false for a duplicate identity with different extern_uid8590 returns true when a different group is used8591 returns false for a duplicate extern_uid with different case8592 with existing user and not associated with group8593 returns false for a duplicate identity with the same extern_uid8594 .with_extern_uid8595 finds identity regardless of case8596 .for_instance8597 finds identities not associated with a group8598Preloaders::GroupPolicyPreloader8599 when ip_restrictions feature is enabled8600 avoids N+1 queries when authorizing a list of groups8601 when check_namespace_plan setting is disabled8602 does not preload group plans8603 when check_namespace_plan setting is enabled8604 preloads group plans8605Types::Clusters::AgentType8606 # order random8607 includes the ee specific fields8608 vulnerability_images8609 when user is not logged in8610 is expected to be nil8611 when user is logged in8612 returns a list of container images reported for vulnerabilities8613Container-Scanning.gitlab-ci.yml8614 the created pipeline8615 when project has no license8616 when branch pipeline8617 includes job8618 with CS_MAJOR_VERSION greater than 38619 includes job8620 when CONTAINER_SCANNING_DISABLED=18621 includes no jobs8622ProjectCacheWorker8623 #perform8624 with an existing project8625 when in Geo secondary node8626 updates only non database cache8627 is idempotent8628Users::DeactivateService8629 # order random8630 #execute8631 for audit events8632 when licensed8633 does not log audit event if operation fails8634 does not log audit event if operation results in no change8635 when operation succeeds8636 logs an audit event8637 logs the audit event info8638 calls the audit method with the event type8639 when not licensed8640 does not log audit event8641GroupSaml::SamlProvider::UpdateService8642 updates SAML provider with given params8643 when enabling enforced_group_managed_accounts8644 updates enforced_group_managed_accounts boolean8645 when owner has not linked SAML yet8646 adds an error warning that the owner must first link SAML8647Geo::RepositoryVerification::Primary::SingleWorker8648 disables retrying of failed jobs8649 #perform8650 does not calculate the checksum when not running on a primary8651 does not calculate the checksum when project is pending deletion8652 does not raise an error when project could not be found8653 delegates the checksum calculation to Geo::RepositoryVerificationPrimaryService8654Types::AuditEvents::ExternalAuditEventDestinationType8655 is expected to eq "ExternalAuditEventDestination"8656 is expected to have graphql fields :id, :destination_url, :group, :verification_token, :headers, :event_type_filters, and :name8657 is expected to require graphql authorizations :admin_external_audit_events8658IncidentManagement::IssuableResourceLinksFinder8659 # order random8660 #execute8661 when feature is available8662 when user has permissions8663 returns issuable resource links8664 when incident is nil8665 is expected to eq #<ActiveRecord::Relation []>8666 when user has no permissions8667 is expected to eq #<ActiveRecord::Relation []>8668 when feature is not available8669 is expected to eq #<ActiveRecord::Relation []>8670Namespaces::SyncNamespaceNameWorker8671 #perform8672 triggers a sync for the namespace name to CustomersDot8673 when the namespace is not found8674 does not trigger a sync for the namespace name to CustomersDot8675 does not raise an error8676 when the sync fails8677 raises a RequestError8678Namespaces::FreeUserCap::EnforcementAlertComponent8679 # order random8680 when user does not exist8681 does not render the alert8682 when user is authorized to see alert8683 when over the limit8684 has content for the alert8685 renders all the expected tracking items8686 when limit has not been reached8687 does not render the alert8688 when user is not authorized to see alert8689 does not render the alert8690Types::Vulnerabilities::AssetType8691 is expected to eq "AssetType"8692 is expected to have graphql fields :name, :type, and :url8693 checking field contents8694 checks the contents of the assets field8695Gitlab::Usage::Metrics::Instrumentations::AdvancedSearch::DistributionMetric8696 behaves like a correct instrumented metric value8697 has correct value8698 elasticsearch_indexing is enabled8699 behaves like a correct instrumented metric value8700 has correct value8701Resolvers::InstanceSecurityDashboard::ProjectsResolver8702 #resolve8703 when provided object is InstanceSecurityDashboard8704 is expected to contain exactly #<Project id:1803 namespace1746/project-1877>> and #<Project id:1804 namespace1747/project-1878>>8705 when object is not provided8706 is expected to be nil8707 when search filter is provided8708 search by name8709 returns matching project8710 search by path8711 returns matching project8712 search by description8713 returns matching project8714Gitlab::Llm::Chain::GitlabContext8715 # order random8716 #initialize8717 initializes8718AuditEvents::UserImpersonationGroupAuditEventService8719 when user belongs to a single group8720 creates audit events for both the instance and group level8721 when user belongs to multiple groups8722 creates audit events for both the instance and group level8723 when user does not belong to any group8724 creates audit events at the instance level8725Namespaces::FreeUserCap::UsageQuotaTrialAlertComponent8726 when on trial8727 renders the banner8728 when group is public8729 does not have banner content8730 when not on trial8731 does not have banner content8732Geo::NodeCreateService8733 #execute8734 creates a new node with valid params8735 does not create a node with invalid params8736 returns true when creation succeeds8737 returns false when creation fails8738 parses the namespace_ids when node have namespace restrictions8739StatusPage::UnpublishDetailsService8740 # order random8741 #execute8742 when deletion succeeds8743 removes files from the CDN (incident first)8744 returns service success8745 untracks the issue8746 when delete fails due to exception8747 when json delete fails8748 propagates the exception8749 when image delete fails8750 propagates the exception8751 when status page setting is not enabled8752 returns feature not available error8753Gitlab::Llm::OpenAi::Completions::GenerateCommitMessage8754 # order random8755 #execute8756 when the chat client returns an unsuccessful response8757 publishes the error to the graphql subscription8758 when the chat client returns a successful response8759 publishes the content field from the AI response8760 when an unexpected error is raised8761 records the error8762 publishes a generic error to the graphql subscription8763Types::Ai::Prompt::ExplainVulnerabilityPromptType8764 # order random8765 is expected to eq "ExplainVulnerabilityPrompt"8766 is expected to have graphql fields :promptWithCode, :promptWithoutCode, and :presubmissionChecks8767ServicePing::PermitDataCategories8768 #execute8769 with out current license8770 when usage ping setting is set to true8771 returns all categories8772 when usage ping setting is set to false8773 returns all categories8774 with current license8775 when usage ping setting is set to true8776 and license has operational_metrics_enabled set to true8777 returns all categories8778 when User.single_user&.requires_usage_stats_consent? is required8779 returns all categories8780 and license has operational_metrics_enabled set to false8781 returns all categories8782 when usage ping setting is set to false8783 and license has operational_metrics_enabled set to true8784 returns all categories8785 and license has operational_metrics_enabled set to false8786 returns all categories8787Dora::TimeToRestoreServiceMetric8788 #data_queries8789 for production environment8790 returns median of incidents duration closed at given date8791 for non-production environment8792 does not calculate time_to_restore_service daily metric8793shared/issuable/_health_status_dropdown.html.haml8794 behaves like issuable bulk dropdown8795 renders hidden input8796 renders vue root8797 without parent8798 is nil8799 without feature8800 is nil8801ComplianceManagement::Standards::Gitlab::PreventApprovalByAuthorGroupWorker8802 # order random8803 #perform8804 for non existent group8805 does not enqueue PreventApprovalByAuthorWorker8806 for non existent user8807 enqueues PreventApprovalByAuthorWorker8808 behaves like an idempotent worker8809 is labeled as idempotent8810 performs multiple times sequentially without raising an exception8811Ci::RunnerPolicy8812 cicd runners8813 with auditor access8814 with instance runner8815 allows only read permissions8816 with group runner8817 allows only read permissions8818 with project runner8819 allows only read permissions8820AuditEvents::Streaming::InstanceHeader8821 # order random8822 Validations8823 is expected to belong to instance_external_audit_event_destination required: false8824 is expected to validate that :key is case-sensitively unique within the scope of :instance_external_audit_event_destination_id8825 #to_hash8826 returns the correct hash8827 validations8828 is expected to validate that :key cannot be empty/falsy8829 is expected to validate that :value cannot be empty/falsy8830 is expected to validate that the length of :key is at most 2558831 is expected to validate that the length of :value is at most 2558832Gitlab::ContributionAnalytics::DataCollector8833 delegated methods8834 is expected to delegate #totals to the #data_formatter object8835 is expected to delegate #users to the #data_formatter object8836Gitlab::TreeSummary8837 #summarize (entries)8838 includes path locks in entries8839 when file_locks feature is unavailable8840 does not fill lock labels8841PersonalAccessTokens::Instance::PolicyWorker8842 #perform8843 when a token is valid8844 doesn't revoked valid tokens8845 when limit is nil8846 doesn't revoked valid tokens8847 doesn't call the revoke invalid service8848 invalid tokens8849 when a token expires after the limit8850 enforces the policy on tokens8851AppSec::Dast::Scans::ConsistencyWorker8852 #perform8853 ensures cross database association is created8854 behaves like an idempotent worker8855 is labeled as idempotent8856 performs multiple times sequentially without raising an exception8857subscriptions/new8858 behaves like subscription form data8859 is expected to have visible css "#js-new-subscription[data-setup-for-company='true']"8860 is expected to have visible css "#js-new-subscription[data-full-name='First Last']"8861 is expected to have visible css "#js-new-subscription[data-plan-data='[{\"id\":\"bronze_id\",\"code\":\"bronze\",\"price_per_year\":48.0}]']"8862 is expected to have visible css "#js-new-subscription[data-plan-id='bronze_id']"8863 is expected to have visible css "#js-new-subscription[data-source='some_source']"8864ResourceEvents::ChangeLabelsService8865 .execute8866 when adding a label8867 tracks the label change8868 when removing a label8869 tracks the label change8870 when both adding and removing labels8871 tracks the label change8872GitlabSubscriptions::ScheduleRefreshSeatsWorker8873 # order random8874 #perform8875 is labeled as idempotent8876 performs multiple times sequentially without raising an exception8877 schedules GitlabSubscriptions::RefreshSeatsWorker to be performed with capacity8878 when not on GitLab.com8879 does not schedule a worker to perform with capacity8880Groups::ScheduleBulkRepositoryShardMovesService8881 behaves like moves repository shard in bulk8882 #execute8883 schedules container repository storage moves8884 read-only repository8885 does not get scheduled8886 .enqueue8887 defers to the worker8888Gitlab::StatusPage::Filter::ImageFilter8889 # order random8890 .call8891 is expected to eq "data/incident/1/50b7a196557cf72a98e86a7ab4b1ac3b/tanuki.png"8892 is expected to eq "gl-image"8893 is expected to eq "data/incident/1/50b7a196557cf72a98e86a7ab4b1ac3b/tanuki.png"8894 when no issue_iid key8895 raises error8896 when issue_iid is nil8897 raises error8898 no image tags in original html8899 is expected to eq "<a href=\"hello/world\"></a>"8900SystemCheck::RakeTask::GeoTask8901 .checks8902 primary node8903 secondary checks is skipped8904 secondary node8905 secondary checks is called8906 Geo disabled8907 secondary checks is skipped8908 Geo is enabled but node is not identified8909 secondary checks is called8910Types::IncidentManagement::EscalationRuleInputType8911 # order random8912 has specific fields8913 mutually exclusive arguments8914 with neither username nor schedule provided8915 is expected to raise Gitlab::Graphql::Errors::ArgumentError with "One of oncall_schedule_iid or username must be provided"8916 with both username and schedule provided8917 is expected to raise Gitlab::Graphql::Errors::ArgumentError with "One of oncall_schedule_iid or username must be provided"8918 with only on-call schedule provided8919 is expected to eq {:elapsed_time_seconds=>0, :oncall_schedule_iid=>"3", :status=>"resolved", :username=>nil}8920 with only user schedule provided8921 is expected to eq {:elapsed_time_seconds=>0, :oncall_schedule_iid=>nil, :status=>"resolved", :username=>"username"}8922ImportHelper8923 # order random8924 #import_configure_github_admin_message8925 has_ci_cd_only_params: true, can_admin_all_resources: true, expected_text: /Note: As an administrator .* connecting/8926 returns correct note8927 has_ci_cd_only_params: true, can_admin_all_resources: false, expected_text: /Note: Consider asking your GitLab administrator .* connecting/8928 returns correct note8929 has_ci_cd_only_params: false, can_admin_all_resources: true, expected_text: /Note: As an administrator .* importing/8930 returns correct note8931 has_ci_cd_only_params: false, can_admin_all_resources: false, expected_text: /Note: Consider asking your GitLab administrator .* importing/8932 returns correct note8933LinkedFeatureFlagIssueEntity8934 #as_json8935 returns json8936ExternalStatusChecks::DispatchService8937 #execute8938 service responds with success8939 is successful8940 passes back the http status code8941 service responds with error8942 is unsuccessful8943 passes back the http status code8944WorkItems::Widgets::HealthStatus8945 # order random8946 .quick_action_params8947 is expected to include :health_status8948 #health_status8949 is expected to eq "on_track"8950IncidentManagement::IssuableEscalationStatuses::CreateService8951 # order random8952 creates an escalation status for the incident with no policy set8953WebHookService8954 #async_execute8955 when hook has custom context attributes8956 includes the subscription plan in the worker context8957LdapSyncWorker8958 #perform8959 with the default license key8960 syncs all LDAP users8961 without a license key8962 does not sync LDAP users8963InstanceClusterablePresenter8964 #metrics_cluster_path8965 is expected to eq "/admin/clusters/12/metrics"8966API::Entities::Deployments::ApprovalSummary8967 exposes correct attributes8968CreateUserIndex8969 # order random8970 behaves like a deprecated Advanced Search migration8971 #migrate8972 logs a message and halts the migration8973 #completed?8974 returns false8975 #obsolete?8976 returns true8977BoardLabel8978 validations8979 is expected to validate that :board cannot be empty/falsy8980 is expected to validate that :label cannot be empty/falsy8981 associations8982 is expected to belong to label required: false8983Vulnerabilities::ScannerEntity8984 #as_json8985 contains required fields8986EE::API::Entities::Scim::UserName8987 contains the name8988 contains the first name8989 contains the last name8990Gitlab::Llm::Chain::Agents::ZeroShot::Prompts::Anthropic8991 # order random8992 .prompt8993 returns prompt8994 includes conversation history8995 when conversation history does not fit prompt limit8996 includes truncated conversation history8997Elastic::Latest::Config8998 .settings8999 behaves like config settings return correct values9000 returns config9001 sets correct shard/replica settings9002 .mappings9003 returns config9004Types::Geo::MergeRequestDiffRegistryType9005 has the expected fields (other than those included in RegistryType)9006 behaves like a Geo registry type9007 is expected to require graphql authorizations :read_geo_registry9008 has the expected fields9009Sidebars::Search::Panel9010 # order random9011 behaves like a panel with uniquely identifiable menu items9012 all menu_items have unique item_id9013 all menu_items have an item_id9014 behaves like a panel without placeholders9015 has no Sidebars::NilMenuItem9016Gitlab::Search::Client9017 # order random9018 delegates to adapter9019Types::RequirementsManagement::RequirementStateEnum9020 is expected to eq "RequirementState"9021 exposes all the existing requirement states9022groups/_compliance_frameworks.html.haml9023 when the compliance frameworks should show9024 shows the compliance frameworks list9025 when the compliance frameworks should not show9026 hides the compliance frameworks list9027Admin::SetFeatureFlagService9028 # order random9029 #execute9030 when enabling the feature flag that is a licensed feature9031 returns an error9032 when force: true9033 enables the feature flag9034Projects::Settings::BranchRulesHelper9035 # order random9036 #branch_rules_data9037 returns branch rules data9038 when licensed features are disabled9039 returns the correct data9040GitlabSubscriptions::CreateHandRaiseLeadService9041 #execute9042 hand raise lead call is made successfully9043 returns success: true9044 error while creating hand raise lead call is made successful9045 returns success: false with errors9046Types::Ci::CodeCoverageSummaryType9047 is expected to eq "CodeCoverageSummary"9048 fields9049 is expected to have graphql fields :average_coverage, :coverage_count, and :last_updated_on9050Types::BranchProtections::UnprotectAccessLevelType9051 # order random9052 is expected to have graphql fields :access_level, :access_level_description, :user, and :group9053 is expected to require graphql authorizations :read_protected_branch9054Types::WorkItems::Widgets::RequirementLegacyType9055 # order random9056 is expected to eq "WorkItemWidgetRequirementLegacy"9057 is expected to have graphql fields :type and :legacy_iid9058Types::AuditEvents::Streaming::InstanceHeaderType9059 # order random9060 is expected to eq "AuditEventsStreamingInstanceHeader"9061 is expected to have graphql fields :id, :key, and :value9062Types::Boards::EpicUserPreferencesType9063 is expected to eq "BoardEpicUserPreferences"9064 has specific fields9065Types::TodoableInterface9066 .resolve_type9067 knows the correct type for EE-only objects9068Users::UpdateHighestMemberRoleService9069 #execute9070 with an EE-only access level9071 updates the highest access level9072Types::RequirementsManagement::TestReportStateEnum9073 exposes all the possible test report states9074Types::Ai::CachedMessageRoleEnum9075 # order random9076 is expected to contain exactly "USER" and "ASSISTANT"9077Gitlab::Llm::Chain::Agents::ZeroShot::Prompts::VertexAi9078 # order random9079 .prompt9080 returns prompt9081Elastic migration documentation9082 # order random9083 has a dictionary record for every migration file9084AuditEvents::Streaming::Headers::Base9085 #execute9086 when destination is missing9087 returns an error9088Geo::CacheInvalidationEvent9089 validations9090 is expected to validate that :key cannot be empty/falsy9091Security::VulnerabilityReportDataSerializer9092 represents VulnerabilityReportDataEntity9093Types::NetworkPolicyKindEnum9094 exposes all kinds of network policies9095Gitlab::Llm::Chain::Tools::IssueIdentifier::Prompts::VertexAi9096 # order random9097 .prompt9098 returns prompt9099Knapsack report was generated. Preview:9100{9101 "ee/spec/services/ee/auth/container_registry_authentication_service_spec.rb": 153.0979872429998,9102 "ee/spec/services/quick_actions/interpret_service_spec.rb": 180.86649545799992,9103 "ee/spec/models/ee/group_spec.rb": 125.30214037299993,9104 "ee/spec/services/vulnerabilities/revert_to_detected_service_spec.rb": 136.63581656400038,9105 "ee/spec/services/vulnerability_feedback/create_service_spec.rb": 96.01455551400068,9106 "ee/spec/models/ci/pipeline_spec.rb": 56.39593306000006,9107 "ee/spec/replicators/geo/project_wiki_repository_replicator_spec.rb": 53.96278339200035,9108 "ee/spec/services/epic_issues/create_service_spec.rb": 44.65088399900014,9109 "ee/spec/models/geo/package_file_registry_spec.rb": 40.21123666099993,9110 "ee/spec/models/geo/job_artifact_registry_spec.rb": 39.149188796999624,9111 "ee/spec/services/ee/boards/issues/move_service_spec.rb": 34.50808411499929,9112 "ee/spec/elastic/migrate/20230702000000_backfill_existing_group_wiki_spec.rb": 47.94389280699943,9113 "ee/spec/models/geo/ci_secure_file_registry_spec.rb": 30.855110259999492,9114 "ee/spec/models/project_member_spec.rb": 20.85062491000008,9115 "ee/spec/finders/security/scan_result_policies/findings_finder_spec.rb": 22.203941493000457,9116 "ee/spec/models/ee/ci/runner_spec.rb": 19.785068237000814,9117 "ee/spec/lib/gitlab/usage/metrics/instrumentations/count_users_creating_ci_builds_metric_spec.rb": 18.907657856000696,9118 "ee/spec/frontend/fixtures/analytics/contributions_spec.rb": 23.64080015700074,9119 "ee/spec/lib/analytics/devops_adoption/snapshot_calculator_spec.rb": 15.439936488999592,9120 "ee/spec/graphql/resolvers/epics_resolver_spec.rb": 12.656421989000592,9121 "ee/spec/workers/geo/verification_state_backfill_worker_spec.rb": 20.88372757599973,9122 "ee/spec/models/concerns/ee/issuable_spec.rb": 9.861120413000208,9123 "ee/spec/services/elastic/cluster_reindexing_service_spec.rb": 17.85706681099964,9124 "ee/spec/policies/requirements_management/requirement_policy_spec.rb": 14.133472688999973,9125 "ee/spec/lib/elastic/latest/note_class_proxy_spec.rb": 12.413669996999488,9126 "ee/spec/lib/ee/gitlab/checks/push_rule_check_spec.rb": 13.93588209599966,9127 "ee/spec/graphql/resolvers/geo/pipeline_artifact_registries_resolver_spec.rb": 14.304337272999874,9128 "ee/spec/lib/gitlab/ci/parsers/license_compliance/license_scanning_spec.rb": 3.1349604730003193,9129 "ee/spec/services/app_sec/dast/site_profiles/create_service_spec.rb": 6.671074601999862,9130 "ee/spec/presenters/merge_request_approver_presenter_spec.rb": 10.533436341999732,9131 "ee/spec/lib/elastic/latest/git_class_proxy_add_suffix_project_in_wiki_rid_running_wiki_search_spec.rb": 12.045884439000474,9132 "ee/spec/models/vulnerabilities/identifier_spec.rb": 4.917978522999874,9133 "ee/spec/services/ee/git/wiki_push_service_spec.rb": 10.14643552400048,9134 "ee/spec/finders/snippets_finder_spec.rb": 5.551175451000745,9135 "ee/spec/lib/compliance_management/compliance_report/commit_loader_spec.rb": 12.618342069999926,9136 "ee/spec/services/epics/update_dates_service_spec.rb": 8.460058740999557,9137 "ee/spec/models/concerns/elastic/snippet_spec.rb": 10.571588699999666,9138 "ee/spec/lib/ee/gitlab/checks/push_rules/branch_check_spec.rb": 7.232195963999402,9139 "ee/spec/graphql/types/issue_type_spec.rb": 4.336043901999801,9140 "ee/spec/services/software_license_policies/create_service_spec.rb": 6.00729582599979,9141 "ee/spec/models/ee/dependency_proxy/blob_spec.rb": 5.155790124000305,9142 "ee/spec/services/groups/destroy_service_spec.rb": 5.497817862999909,9143 "ee/spec/models/project_feature_spec.rb": 5.263506209999832,9144 "ee/spec/models/ci/minutes/project_monthly_usage_spec.rb": 4.907306011999935,9145 "ee/spec/workers/security/process_scan_result_policy_worker_spec.rb": 3.556500018999941,9146 "ee/spec/workers/system_access/saml_microsoft_group_sync_worker_spec.rb": 4.269743254999412,9147 "ee/spec/tasks/gitlab/geo_rake_spec.rb": 8.725653792999765,9148 "ee/spec/models/package_metadata/affected_package_spec.rb": 2.0001407519994245,9149 "ee/spec/lib/banzai/reference_parser/iteration_parser_spec.rb": 3.081148383999789,9150 "ee/spec/models/projects/compliance_standards/adherence_spec.rb": 2.677485768999759,9151 "ee/spec/services/releases/update_service_spec.rb": 6.294947505999517,9152 "ee/spec/workers/system_access/group_saml_microsoft_group_sync_worker_spec.rb": 5.135997684999893,9153 "ee/spec/finders/clusters/environments_finder_spec.rb": 5.504186062999906,9154 "ee/spec/services/app_sec/dast/sites/find_or_create_service_spec.rb": 5.060249926999859,9155 "ee/spec/services/geo/metrics_update_service_spec.rb": 5.010040989999652,9156 "ee/spec/lib/gitlab/ci/templates/api_security_gitlab_ci_yaml_spec.rb": 4.475445948000015,9157 "ee/spec/workers/geo/repository_verification/secondary/shard_worker_spec.rb": 4.265461265999875,9158 "ee/spec/services/group_saml/identity/destroy_service_spec.rb": 3.424793533999946,9159 "ee/spec/serializers/ee/deployment_entity_spec.rb": 5.388280846000271,9160 "ee/spec/graphql/mutations/issues/set_escalation_policy_spec.rb": 3.9445700759997635,9161 "ee/spec/finders/incident_management/escalation_policies_finder_spec.rb": 1.910758965000241,9162 "ee/spec/views/shared/_mirror_update_button.html.haml_spec.rb": 3.8049385499998607,9163 "ee/spec/lib/ee/gitlab/checks/push_rules/file_size_check_spec.rb": 3.9544940760006284,9164 "ee/spec/graphql/resolvers/user_discussions_count_resolver_spec.rb": 4.16800572899956,9165 "ee/spec/lib/ee/gitlab/analytics/cycle_analytics/base_query_builder_spec.rb": 3.139977412999542,9166 "ee/spec/services/security/security_orchestration_policies/operational_vulnerabilities_configuration_service_spec.rb": 3.979447863999667,9167 "ee/spec/lib/ee/gitlab/checks/push_rules/tag_check_spec.rb": 3.938341205999677,9168 "ee/spec/serializers/dependency_entity_spec.rb": 3.997978833999696,9169 "ee/spec/graphql/resolvers/vulnerabilities_grade_resolver_spec.rb": 3.2272196100002475,9170 "ee/spec/lib/gitlab/graphql/aggregations/epics/lazy_epic_aggregate_spec.rb": 0.9286069279996809,9171 "ee/spec/services/geo/rename_repository_service_spec.rb": 4.173453508000421,9172 "ee/spec/models/ee/label_spec.rb": 0.8652140910007802,9173 "ee/spec/helpers/ee/groups/group_members_helper_spec.rb": 2.242589733999921,9174 "ee/spec/serializers/integrations/jira_serializers/issue_detail_entity_spec.rb": 2.0638629089999085,9175 "ee/spec/models/ee/namespaces/storage/limit_exclusion_spec.rb": 0.6493961480000507,9176 "ee/spec/routing/group_routing_spec.rb": 0.8167919820007228,9177 "ee/spec/services/vulnerabilities/statistics/adjustment_service_spec.rb": 2.107842797999183,9178 "ee/spec/models/concerns/ee/project_security_scanners_information_spec.rb": 3.837536369999725,9179 "ee/spec/models/vulnerabilities/finding_signature_spec.rb": 3.3412193860003754,9180 "ee/spec/workers/search/zoekt/namespace_indexer_worker_spec.rb": 2.2536044429998583,9181 "ee/spec/graphql/types/vulnerability_request_response_header_type_spec.rb": 2.9900438880004003,9182 "ee/spec/services/app_sec/dast/site_validations/find_or_create_service_spec.rb": 3.3958711940003923,9183 "ee/spec/finders/boards/boards_finder_spec.rb": 3.469497222999962,9184 "ee/spec/serializers/user_analytics_entity_spec.rb": 0.5525327800005471,9185 "ee/spec/graphql/types/alert_management/payload_alert_field_path_segment_type_spec.rb": 0.39698689700071554,9186 "ee/spec/lib/gitlab/vulnerabilities/container_scanning_vulnerability_spec.rb": 0.5827258099998289,9187 "ee/spec/services/search/index_repair_service_spec.rb": 1.2399269380002806,9188 "ee/spec/models/user_permission_export_upload_spec.rb": 0.44293529500009754,9189 "ee/spec/lib/system_check/geo/geo_database_configured_check_spec.rb": 0.5476153210001939,9190 "ee/spec/routing/webhook_routes_spec.rb": 2.113574458000585,9191 "ee/spec/models/incident_management/oncall_participant_spec.rb": 1.141671891000442,9192 "ee/spec/models/sbom/source_spec.rb": 0.5257805230003214,9193 "ee/spec/lib/gitlab/auth/group_saml/xml_response_spec.rb": 1.3554612739999357,9194 "ee/spec/services/projects/group_links/update_service_spec.rb": 1.5860147459998188,9195 "ee/spec/models/remote_development/remote_development_agent_config_spec.rb": 2.190189356000701,9196 "ee/spec/models/product_analytics/funnel_spec.rb": 1.4801021089997448,9197 "ee/spec/lib/gitlab/graphql/aggregations/epics/lazy_links_aggregate_spec.rb": 0.3999730069999714,9198 "ee/spec/presenters/project_member_presenter_spec.rb": 0.34856224800023483,9199 "ee/spec/graphql/resolvers/vulnerabilities/container_images_resolver_spec.rb": 1.4904305889995157,9200 "ee/spec/services/security/ingestion/finding_map_collection_spec.rb": 1.4525538009993397,9201 "ee/spec/services/audit_events/register_runner_audit_event_service_spec.rb": 0.9475401780000539,9202 "ee/spec/helpers/license_helper_spec.rb": 0.8421421110006122,9203 "ee/spec/lib/elastic/latest/note_instance_proxy_spec.rb": 2.028690310999991,9204 "ee/spec/lib/gitlab/ingestion/bulk_insertable_task_spec.rb": 2.8737909129995387,9205 "ee/spec/helpers/markup_helper_spec.rb": 1.2061123699995733,9206 "ee/spec/graphql/mutations/boards/epic_boards/epic_move_list_spec.rb": 1.0155258159993537,9207 "ee/spec/lib/gitlab/usage/metrics/instrumentations/count_user_merge_requests_with_applied_scan_result_policies_metric_spec.rb": 2.463719255999422,9208 "ee/spec/services/llm/generate_commit_message_service_spec.rb": 2.1321300570007224,9209 "ee/spec/finders/status_page/incident_comments_finder_spec.rb": 0.9438764269998501,9210 "ee/spec/workers/ci/llm/generate_config_worker_spec.rb": 0.8635624810012814,9211 "ee/spec/views/registrations/groups/new.html.haml_spec.rb": 0.7457036040013918,9212 "ee/spec/services/app_sec/dast/site_validations/runner_service_spec.rb": 2.19690494599854,9213 "ee/spec/workers/ci/initial_pipeline_process_worker_spec.rb": 1.8880431659999886,9214 "ee/spec/models/iteration_note_spec.rb": 2.636600460999034,9215 "ee/spec/models/elasticsearch_indexed_project_spec.rb": 0.8950544990002527,9216 "ee/spec/lib/gitlab/geo/log_cursor/events/hashed_storage_attachments_event_spec.rb": 1.7729403899993486,9217 "ee/spec/services/audit_events/runners_token_audit_event_service_spec.rb": 1.6784802729998773,9218 "ee/spec/services/ee/clusters/agents/authorize_proxy_user_service_spec.rb": 1.7769830289998936,9219 "ee/spec/graphql/types/incident_management/oncall_rotation_date_input_type_spec.rb": 0.7797376039998198,9220 "ee/spec/services/audit_events/streaming/headers/create_service_spec.rb": 0.6627054770015093,9221 "ee/spec/services/security/track_scan_service_spec.rb": 0.7515604439995514,9222 "ee/spec/helpers/manual_quarterly_co_term_banner_helper_spec.rb": 0.3522257679996983,9223 "ee/spec/models/scim_identity_spec.rb": 1.2647712769994541,9224 "ee/spec/models/ee/preloaders/group_policy_preloader_spec.rb": 1.6418210940009885,9225 "ee/spec/graphql/ee/types/clusters/agent_type_spec.rb": 1.450247570999636,9226 "ee/spec/lib/gitlab/ci/templates/container_scanning_gitlab_ci_yaml_spec.rb": 1.6043301749996317,9227 "ee/spec/workers/project_cache_worker_spec.rb": 0.6945615770000586,9228 "ee/spec/services/ee/users/deactivate_service_spec.rb": 1.080900812999971,9229 "ee/spec/services/group_saml/saml_provider/update_service_spec.rb": 1.2074686180003482,9230 "ee/spec/workers/geo/repository_verification/primary/single_worker_spec.rb": 1.2492034869992494,9231 "ee/spec/graphql/types/audit_events/exterrnal_audit_event_destination_type_spec.rb": 0.22348845299893583,9232 "ee/spec/finders/incident_management/issuable_resource_links_finder_spec.rb": 1.0334007849996851,9233 "ee/spec/workers/namespaces/sync_namespace_name_worker_spec.rb": 0.29107769100119185,9234 "ee/spec/components/namespaces/free_user_cap/enforcement_alert_component_spec.rb": 1.2122140579995175,9235 "ee/spec/graphql/types/asset_type_spec.rb": 1.4842425599999842,9236 "ee/spec/lib/gitlab/usage/metrics/instrumentations/advanced_search/distribution_metric_spec.rb": 0.17744267399939417,9237 "ee/spec/graphql/resolvers/instance_security_dashboard/projects_resolver_spec.rb": 1.032744845999332,9238 "ee/spec/lib/gitlab/llm/chain/gitlab_context_spec.rb": 0.14082067600065784,9239 "ee/spec/services/audit_events/user_impersonation_group_audit_event_service_spec.rb": 1.2586311269988073,9240 "ee/spec/components/namespaces/free_user_cap/usage_quota_trial_alert_component_spec.rb": 1.198015628999201,9241 "ee/spec/services/geo/node_create_service_spec.rb": 1.057802064000498,9242 "ee/spec/services/status_page/unpublish_details_service_spec.rb": 0.6182436590006546,9243 "ee/spec/lib/gitlab/llm/open_ai/completions/generate_commit_message_spec.rb": 1.0303895050001302,9244 "ee/spec/graphql/types/prompt/explain_vulnerability_prompt_type_spec.rb": 1.3642080830013583,9245 "ee/spec/lib/ee/service_ping/permit_data_categories_spec.rb": 0.4779434339998261,9246 "ee/spec/models/dora/time_to_restore_service_metric_spec.rb": 1.2870739259997208,9247 "ee/spec/views/shared/issuable/_health_status_dropdown.html.haml_spec.rb": 0.6128926800010959,9248 "ee/spec/workers/compliance_management/standards/gitlab/prevent_approval_by_author_group_worker_spec.rb": 0.6079820390004897,9249 "ee/spec/policies/ee/ci/runner_policy_spec.rb": 0.674504397000419,9250 "ee/spec/models/audit_events/streaming/instance_header_spec.rb": 0.5189168920005613,9251 "ee/spec/lib/gitlab/contribution_analytics/data_collector_spec.rb": 0.7603808739986562,9252 "ee/spec/lib/gitlab/tree_summary_spec.rb": 0.7552267249993747,9253 "ee/spec/workers/personal_access_tokens/instance/policy_worker_spec.rb": 0.6551917770011642,9254 "ee/spec/workers/app_sec/dast/scans/consistency_worker_spec.rb": 0.7064698559988756,9255 "ee/spec/views/subscriptions/new.html.haml_spec.rb": 0.41273318599996855,9256 "ee/spec/services/ee/resource_events/change_labels_service_spec.rb": 0.8018347430006543,9257 "ee/spec/workers/gitlab_subscriptions/schedule_refresh_seats_worker_spec.rb": 0.46094981399983226,9258 "ee/spec/services/groups/schedule_bulk_repository_shard_moves_service_spec.rb": 0.46871671400003834,9259 "ee/spec/lib/gitlab/status_page/filter/image_filter_spec.rb": 0.3261727389999578,9260 "ee/spec/lib/system_check/rake_task/geo_task_spec.rb": 0.599487618999774,9261 "ee/spec/graphql/types/incident_management/escalation_rule_input_type_spec.rb": 0.2984580399988772,9262 "ee/spec/helpers/ee/import_helper_spec.rb": 0.28280190999976185,9263 "ee/spec/serializers/linked_feature_flag_issue_entity_spec.rb": 0.6504258570003003,9264 "ee/spec/services/external_status_checks/dispatch_service_spec.rb": 0.43471821599996474,9265 "ee/spec/models/work_items/widgets/health_status_spec.rb": 0.471531323999443,9266 "ee/spec/services/ee/incident_management/issuable_escalation_statuses/create_service_spec.rb": 0.4727715539993369,9267 "ee/spec/services/web_hook_service_spec.rb": 0.49721999400026107,9268 "ee/spec/workers/ldap_sync_worker_spec.rb": 0.38815157700082636,9269 "ee/spec/presenters/ee/instance_clusterable_presenter_spec.rb": 0.5259165919997031,9270 "ee/spec/lib/api/entities/deployments/approval_summary_spec.rb": 0.46659916400130896,9271 "ee/spec/elastic/migrate/20221018125700_create_user_index_spec.rb": 0.21112098200137552,9272 "ee/spec/models/board_label_spec.rb": 0.23512249200030055,9273 "ee/spec/serializers/vulnerabilities/scanner_entity_spec.rb": 0.43414528599896585,9274 "ee/spec/lib/ee/api/entities/scim/user_name_spec.rb": 0.28848406999895815,9275 "ee/spec/lib/gitlab/llm/chain/agents/zero_shot/prompts/anthropic_spec.rb": 0.228515012000571,9276 "ee/spec/lib/elastic/latest/config_spec.rb": 0.22290259200053697,9277 "ee/spec/graphql/types/geo/merge_request_diff_registry_type_spec.rb": 0.2516178320001927,9278 "ee/spec/lib/sidebars/search/panel_spec.rb": 0.3096442189998925,9279 "ee/spec/lib/gitlab/search/client_spec.rb": 0.15474993499992706,9280 "ee/spec/graphql/types/requirements_management/requirement_state_enum_spec.rb": 0.18054804299936222,9281 "ee/spec/views/groups/_compliance_frameworks.html.haml_spec.rb": 0.229342982000162,9282 "ee/spec/services/ee/admin/set_feature_flag_service_spec.rb": 0.1842132940000738,9283 "ee/spec/helpers/projects/settings/branch_rules_helper_spec.rb": 0.22439537299942458,9284 "ee/spec/services/gitlab_subscriptions/create_hand_raise_lead_service_spec.rb": 0.18973124300100608,9285 "ee/spec/graphql/types/ci/code_coverage_summary_spec.rb": 0.18043896400013182,9286 "ee/spec/graphql/ee/types/branch_protections/unprotect_access_level_type_spec.rb": 0.17964588399991044,9287 "ee/spec/graphql/types/work_items/widgets/requirement_legacy_type_spec.rb": 0.17379446400082088,9288 "ee/spec/graphql/types/audit_events/streaming/instance_header_type_spec.rb": 0.17775267400065786,9289 "ee/spec/graphql/types/boards/epic_user_preferences_type_spec.rb": 0.17714743400028965,9290 "ee/spec/graphql/ee/types/todoable_interface_spec.rb": 0.15504287499970815,9291 "ee/spec/services/users/update_highest_member_role_service_spec.rb": 0.24091871200107562,9292 "ee/spec/graphql/types/requirements_management/test_report_state_enum_spec.rb": 0.14369039499979408,9293 "ee/spec/graphql/types/ai/cached_message_role_enum_spec.rb": 0.14668003500082705,9294 "ee/spec/lib/gitlab/llm/chain/agents/zero_shot/prompts/vertex_ai_spec.rb": 0.14094179499988968,9295 "ee/spec/elastic/docs_spec.rb": 0.20899290299894346,9296 "ee/spec/services/audit_events/streaming/headers/base_spec.rb": 0.14992781399996602,9297 "ee/spec/models/geo/cache_invalidation_event_spec.rb": 0.1586790649998875,9298 "ee/spec/serializers/security/vulnerability_report_data_serializer_spec.rb": 0.14017244500064407,9299 "ee/spec/graphql/types/network_policy_kind_enum_spec.rb": 0.13964118600051734,9300 "ee/spec/lib/gitlab/llm/chain/tools/issue_identifier/prompts/vertex_ai_spec.rb": 0.141005715000574139301}9302Knapsack global time execution for tests: 27m 09s9303Pending: (Failures listed here are expected and do not affect your suite's status)9304 1) Resolvers::Geo::PipelineArtifactRegistriesResolver 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 ArgumentError9305 # Skipping because verification is enabled for Ci::PipelineArtifact9306 # ./ee/spec/support/shared_examples/graphql/geo/geo_registries_resolver_shared_examples.rb:779307Finished in 27 minutes 12 seconds (files took 1 minute 25.35 seconds to load)93084067 examples, 0 failures, 1 pending9309Randomized with seed 119799310[TEST PROF INFO] Time spent in factories: 14:40.255 (52.62% of total time)9311RSpec exited with 0.9312No examples to retry, congrats!9314Running after script...9315$ echo -e "\e[0Ksection_start:`date +%s`:report_results_section[collapsed=true]\r\e[0KReport results"9320Not uploading cache ruby-gems-debian-bullseye-ruby-3.0-16 due to policy9322Uploading artifacts...9323WARNING: auto_explain/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 9324coverage/: found 5 matching artifact files and directories 9325crystalball/: found 2 matching artifact files and directories 9326WARNING: deprecations/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 9327knapsack/: found 4 matching artifact files and directories 9328rspec/: found 16 matching artifact files and directories 9329WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 9330log/*.log: found 17 matching artifact files and directories 9331WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4900739645/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com9332WARNING: Retrying... context=artifacts-uploader error=request redirected9333Uploading artifacts as "archive" to coordinator... 201 Created id=4900739645 responseStatus=201 Created token=64_PyZtL9334Uploading artifacts...9335rspec/rspec-*.xml: found 1 matching artifact files and directories 9336WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4900739645/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com9337WARNING: Retrying... context=artifacts-uploader error=request redirected9338Uploading artifacts as "junit" to coordinator... 201 Created id=4900739645 responseStatus=201 Created token=64_PyZtL9340Job succeeded