rspec-ee unit pg13 11/18
Passed Started
by
@dskim_gitlab
Sincheol (David) Kim
1Running with gitlab-runner 15.9.0~beta.212.g8ccc65e7 (8ccc65e7)2 on green-4.private.runners-manager.gitlab.com/gitlab.com/gitlab-org rpvz2FF9, system ID: s_d704414ba02a3 feature flags: FF_NETWORK_PER_BUILD:true, FF_USE_FASTZIP:true, FF_USE_IMPROVED_URL_MASKING:true6Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-16.14-postgresql-13:rubygems-3.4-git-2.36-lfs-2.9-chrome-109-yarn-1.22-graphicsmagick-1.3.36 ...7Starting service registry.gitlab.com/gitlab-org/gitlab-build-images:postgres-13-pgvector-0.4.1 ...8Authenticating with credentials from job payload (GitLab Registry)9Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:postgres-13-pgvector-0.4.1 ...10Using docker image sha256:b643610fd4d2fbdd55447ceb5a6cba0c3d1a26945817741d73e1b51a1ec07d01 for registry.gitlab.com/gitlab-org/gitlab-build-images:postgres-13-pgvector-0.4.1 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:dfccb5b5ddadf4f1a3b9cb72cf21f5b99a28a55c217de34d9fa6b7a45a910031 ...11Starting service redis:6.2-alpine ...12Pulling docker image redis:6.2-alpine ...13Using docker image sha256:a9a47a706682d445577bb5da7328f0faaa0863a5742a315c829faa461dfc23ae for redis:6.2-alpine with digest redis@sha256:317575f05099ea47b1f2855b1bb6e068b52847bfa19b87014d88d57f82d4b8f0 ...14Starting service elasticsearch:7.17.6 ...15Pulling docker image elasticsearch:7.17.6 ...16Using docker image sha256:5fad10241ffd65d817ed0ddfaf6e87eee1f7dc2a7db33db1047835560ea71fda for elasticsearch:7.17.6 with digest elasticsearch@sha256:6c128de5d01c0c130a806022d6bd99b3e4c27a9af5bfc33b6b81861ae117d028 ...17WARNING: Service registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.0 is already created. Ignoring.18WARNING: Service registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.0 is already created. Ignoring.19Starting service registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.0 ...20Authenticating with credentials from job payload (GitLab Registry)21Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.0 ...22Using docker image sha256:4777ec1fa89def7d692d4979d05cb05234df25da1c6a3f67a564a433ec5ba1c8 for registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.0 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:80c0cee4566aefe4f1f287e1091263e08b0ebc41ed3dc4e76930df3634ccb9aa ...23Waiting for services to be up and running (timeout 30 seconds)...24Authenticating with credentials from job payload (GitLab Registry)25Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-16.14-postgresql-13:rubygems-3.4-git-2.36-lfs-2.9-chrome-109-yarn-1.22-graphicsmagick-1.3.36 ...26Using docker image sha256:552b81110cdd830e05d17c8e7365f72e1dd96842217d7225636cb55a75777ea7 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-16.14-postgresql-13:rubygems-3.4-git-2.36-lfs-2.9-chrome-109-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-16.14-postgresql-13@sha256:a386dd1acb1341f710f3c3c320984f70512694bcfec8cb1c771365058ac7c475 ...28Running on runner-rpvz2ff9-project-278964-concurrent-0 via runner-rpvz2ff9-private-1682565649-62e733ed...30$ eval "$CI_PRE_CLONE_SCRIPT"31Fetching changes with git depth set to 20...32Initialized empty Git repository in /builds/gitlab-org/gitlab/.git/33Created fresh repository.34remote: Enumerating objects: 162343, done. 35remote: Counting objects: 100% (162343/162343), done. 36remote: Compressing objects: 100% (98373/98373), done. 37remote: Total 162343 (delta 79431), reused 115388 (delta 58038), pack-reused 0 38Receiving objects: 100% (162343/162343), 129.51 MiB | 30.01 MiB/s, done.39Resolving deltas: 100% (79431/79431), done.41 * [new ref] refs/pipelines/850455016 -> refs/pipelines/85045501642Checking out 997198e5 as detached HEAD (ref is refs/merge-requests/118423/merge)...43Skipping Git submodules setup44$ git remote set-url origin "${CI_REPOSITORY_URL}"46Checking cache for ruby-gems-debian-bullseye-ruby-3.0-16...47cache.zip is up to date 48Successfully extracted cache50Downloading artifacts for compile-test-assets (4187655852)...51Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4187655852 responseStatus=200 OK token=64_DBLeT52Downloading artifacts for detect-tests (4187655860)...53Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4187655860 responseStatus=200 OK token=64_DBLeT54Downloading artifacts for retrieve-tests-metadata (4187655863)...55Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4187655863 responseStatus=200 OK token=64_DBLeT56Downloading artifacts for setup-test-env (4187655855)...57Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4187655855 responseStatus=200 OK token=64_DBLeT59Using docker image sha256:552b81110cdd830e05d17c8e7365f72e1dd96842217d7225636cb55a75777ea7 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-16.14-postgresql-13:rubygems-3.4-git-2.36-lfs-2.9-chrome-109-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-16.14-postgresql-13@sha256:a386dd1acb1341f710f3c3c320984f70512694bcfec8cb1c771365058ac7c475 ...60$ echo $FOSS_ONLY61$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb62$ export GOPATH=$CI_PROJECT_DIR/.go63$ mkdir -p $GOPATH64$ source scripts/utils.sh65$ source scripts/prepare_build.sh721Using decomposed database config (config/database.yml.decomposed-postgresql)722Geo DB will be set up.723Embedding DB will be set up.747$ source ./scripts/rspec_helpers.sh748$ run_timed_command "gem install knapsack --no-document"749$ gem install knapsack --no-document750Successfully installed knapsack-4.0.07511 gem installed752$ echo -e "\e[0Ksection_start:`date +%s`:gitaly-test-spawn[collapsed=true]\r\e[0KStarting Gitaly"753==> 'gem install knapsack --no-document' succeeded in 1 seconds.755$ section_start "gitaly-test-spawn" "Spawning Gitaly"; scripts/gitaly-test-spawn; section_end "gitaly-test-spawn"760$ echo -e "\e[0Ksection_end:`date +%s`:gitaly-test-spawn\r\e[0K"761$ rspec_paralellized_job "--tag ~quarantine --tag ~level:background_migration"762SKIP_FLAKY_TESTS_AUTOMATICALLY: false763RETRY_FAILED_TESTS_IN_NEW_PROCESS: true764KNAPSACK_GENERATE_REPORT: true765FLAKY_RSPEC_GENERATE_REPORT: true766KNAPSACK_TEST_FILE_PATTERN: {ee/}spec/{bin,channels,components,config,contracts,db,dependencies,elastic,elastic_integration,experiments,factories,finders,frontend,graphql,haml_lint,helpers,initializers,lib,metrics_server,models,policies,presenters,rack_servers,replicators,routing,rubocop,scripts,serializers,services,sidekiq,sidekiq_cluster,spam,support_specs,tasks,uploaders,validators,views,workers,tooling}{,/**/}*_spec.rb767KNAPSACK_LOG_LEVEL: debug768KNAPSACK_REPORT_PATH: knapsack/rspec-ee_unit_pg13_11_18_report.json769FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json770FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec-ee_unit_pg13_11_18_report.json771NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec-ee_unit_pg13_11_18_report.json772SKIPPED_FLAKY_TESTS_REPORT_PATH: rspec/flaky/skipped_flaky_tests_rspec-ee_unit_pg13_11_18_report.txt773CRYSTALBALL: 774RSPEC_TESTS_MAPPING_ENABLED: 775RSPEC_TESTS_FILTER_FILE: 776Running command: bundle exec rspec -Ispec -rspec_helper --color --failure-exit-code 1 --error-exit-code 2 --format documentation --format RspecJunitFormatter --out rspec/junit_rspec.xml --tag ~quarantine --tag ~level:background_migration -- ee/spec/services/ee/auth/container_registry_authentication_service_spec.rb ee/spec/models/ee/group_spec.rb ee/spec/models/boards/epic_board_position_spec.rb ee/spec/models/geo/terraform_state_version_registry_spec.rb ee/spec/lib/gitlab/elastic/indexer_spec.rb ee/spec/services/epics/epic_links/create_service_spec.rb ee/spec/services/vulnerabilities/confirm_service_spec.rb ee/spec/models/iteration_spec.rb ee/spec/models/security/scan_spec.rb ee/spec/services/ee/boards/issues/move_service_spec.rb ee/spec/models/merge_request/blocking_spec.rb ee/spec/elastic/migrate/20230321202400_backfill_hashed_root_namespace_id_on_merge_requests_spec.rb ee/spec/lib/ee/gitlab/auth/ldap/sync/group_spec.rb ee/spec/models/geo/design_registry_spec.rb ee/spec/elastic/migrate/20220825102900_backfill_label_ids_for_issues_spec.rb ee/spec/models/concerns/ee/issuable_spec.rb ee/spec/finders/geo/project_wiki_repository_registry_finder_spec.rb ee/spec/models/geo/dependency_proxy_blob_registry_spec.rb ee/spec/lib/gitlab/geo_spec.rb ee/spec/lib/gitlab/vulnerabilities/findings_preloader_spec.rb ee/spec/serializers/member_entity_spec.rb ee/spec/models/requirements_management/test_report_spec.rb ee/spec/elastic/migrate/20230307102400_backfill_hashed_root_namespace_id_on_notes_spec.rb ee/spec/models/concerns/elastic/project_wiki_spec.rb ee/spec/workers/elastic/project_transfer_worker_spec.rb ee/spec/lib/gitlab/ci/templates/Jobs/dast_default_branch_gitlab_ci_yaml_spec.rb ee/spec/lib/gitlab/insights/reducers/count_per_period_reducer_spec.rb ee/spec/graphql/resolvers/geo/container_repository_registries_resolver_spec.rb ee/spec/lib/gitlab/package_metadata/connector/offline_spec.rb ee/spec/services/vulnerability_feedback/destroy_service_spec.rb ee/spec/models/dora/daily_metrics_spec.rb ee/spec/lib/ee/gitlab/ci/reports/security/reports_spec.rb ee/spec/lib/gem_extensions/elasticsearch/model/adapter/active_record/records_spec.rb ee/spec/serializers/vulnerabilities/finding_entity_spec.rb ee/spec/lib/audit/details_spec.rb ee/spec/models/ee/pages_deployment_spec.rb ee/spec/helpers/ee/issues_helper_spec.rb ee/spec/services/epics/update_dates_service_spec.rb ee/spec/workers/group_saml_group_sync_worker_spec.rb ee/spec/lib/gitlab/auth/smartcard/certificate_spec.rb ee/spec/workers/sync_seat_link_request_worker_spec.rb ee/spec/models/container_repository_spec.rb ee/spec/finders/users_finder_spec.rb ee/spec/services/ci/retry_job_service_spec.rb ee/spec/services/incident_management/oncall_schedules/update_service_spec.rb ee/spec/services/merge_request_approval_settings/update_service_spec.rb ee/spec/lib/gitlab/ci/templates/license_scanning_latest_gitlab_ci_yaml_spec.rb ee/spec/services/security/ingestion/tasks/ingest_vulnerabilities/mark_resolved_as_detected_spec.rb ee/spec/models/members/member_role_spec.rb ee/spec/serializers/ee/build_details_entity_spec.rb ee/spec/lib/gitlab/ci/project_config_spec.rb ee/spec/services/geo/rename_repository_service_spec.rb ee/spec/services/registrations/import_namespace_create_service_spec.rb ee/spec/models/milestone_release_spec.rb ee/spec/services/work_items/widgets/status_service/update_service_spec.rb ee/spec/models/ee/ci/pending_build_spec.rb ee/spec/services/security/ingestion/schedule_mark_dropped_as_resolved_service_spec.rb ee/spec/lib/banzai/reference_parser/epic_parser_spec.rb ee/spec/lib/ee/api/entities/geo_site_status_spec.rb ee/spec/graphql/mutations/instance_security_dashboard/add_project_spec.rb ee/spec/services/groups/mark_for_deletion_service_spec.rb ee/spec/graphql/resolvers/ci/code_coverage_activities_resolver_spec.rb ee/spec/models/incident_management/issuable_resource_link_spec.rb ee/spec/lib/gitlab/ci/templates/Jobs/load_performance_testing_gitlab_ci_yaml_spec.rb ee/spec/components/namespaces/storage/limit_alert_component_spec.rb ee/spec/lib/ee/api/entities/billable_member_spec.rb ee/spec/models/dast/profiles_pipeline_spec.rb ee/spec/workers/epics/new_epic_issue_worker_spec.rb ee/spec/helpers/ee/ci/runners_helper_spec.rb ee/spec/services/security/ingestion/tasks/ingest_finding_pipelines_spec.rb ee/spec/services/security/token_revocation_service_spec.rb ee/spec/services/ee/members/invite_service_spec.rb ee/spec/graphql/types/ci/pipeline_type_spec.rb ee/spec/services/personal_access_tokens/rotation_verifier_service_spec.rb ee/spec/services/auto_merge/merge_when_pipeline_succeeds_service_spec.rb ee/spec/graphql/mutations/vulnerabilities/revert_to_detected_spec.rb ee/spec/lib/gitlab/ci/templates/container_scanning_latest_gitlab_ci_yaml_spec.rb ee/spec/finders/work_items/widgets/filters/status_spec.rb ee/spec/lib/gitlab/import_export/group/group_and_descendants_repo_restorer_spec.rb ee/spec/services/ci/minutes/additional_packs/change_namespace_service_spec.rb ee/spec/models/security/training_provider_spec.rb ee/spec/graphql/resolvers/incident_management/oncall_schedule_resolver_spec.rb ee/spec/workers/integrations/slack_event_worker_spec.rb ee/spec/models/board_user_preference_spec.rb ee/spec/lib/gitlab/license_scanning/branch_components_spec.rb ee/spec/lib/ee/gitlab/scim/group/reprovisioning_service_spec.rb ee/spec/workers/geo/repository_cleanup_worker_spec.rb ee/spec/lib/gitlab/search/aggregation_parser_spec.rb ee/spec/services/ee/quick_actions/target_service_spec.rb ee/spec/lib/gitlab/ci/templates/Verify/load_performance_testing_gitlab_ci_yaml_spec.rb ee/spec/services/geo/cache_invalidation_event_store_spec.rb ee/spec/graphql/types/vulnerability_request_type_spec.rb ee/spec/graphql/mutations/requirements_management/update_requirement_spec.rb ee/spec/helpers/ee/trial_registration_helper_spec.rb ee/spec/graphql/resolvers/incident_management/escalation_policies_resolver_spec.rb ee/spec/services/ci/minutes/batch_reset_service_spec.rb ee/spec/lib/gitlab/ci/reports/security/locations/dependency_scanning_spec.rb ee/spec/services/work_items/export_csv_service_spec.rb ee/spec/services/lfs/unlock_file_service_spec.rb ee/spec/services/app_sec/dast/site_profile_secret_variables/create_or_update_service_spec.rb ee/spec/services/geo/hashed_storage_attachments_event_store_spec.rb ee/spec/services/jira/jql_builder_service_spec.rb ee/spec/finders/boards/users_finder_spec.rb ee/spec/finders/security/training_providers/kontra_url_finder_spec.rb ee/spec/graphql/resolvers/admin/cloud_licenses/license_history_entries_resolver_spec.rb ee/spec/services/ee/users/unblock_service_spec.rb ee/spec/lib/gitlab/email/message/account_validation_spec.rb ee/spec/lib/gitlab/auth/group_saml/xml_response_spec.rb ee/spec/lib/gitlab/ci/config/entry/dast_configuration_spec.rb ee/spec/graphql/types/incident_management/issuable_resource_link_type_enum_spec.rb ee/spec/services/projects/import_service_spec.rb ee/spec/lib/gitlab/usage/metrics/instrumentations/approval_project_rules_with_user_metric_spec.rb ee/spec/services/geo/replication_toggle_request_service_spec.rb ee/spec/presenters/ee/projects/security/configuration_presenter_spec.rb ee/spec/lib/ee/api/entities/user_with_admin_spec.rb ee/spec/models/dora/time_to_restore_service_metric_spec.rb ee/spec/helpers/ee/ci/catalog/resources_helper_spec.rb ee/spec/services/ee/alert_management/alerts/update_service_spec.rb ee/spec/views/groups/billings/index.html.haml_spec.rb ee/spec/views/projects/security/dast_site_profiles/new.html.haml_spec.rb ee/spec/views/shared/billings/_billing_plan_actions.html.haml_spec.rb ee/spec/graphql/types/group_stats_type_spec.rb ee/spec/serializers/ee/issue_entity_spec.rb ee/spec/workers/ee/namespaces/in_product_marketing_emails_worker_spec.rb ee/spec/finders/incident_management/oncall_rotations_finder_spec.rb ee/spec/services/analytics/devops_adoption/enabled_namespaces/bulk_delete_service_spec.rb ee/spec/workers/analytics/devops_adoption/create_snapshot_worker_spec.rb ee/spec/views/layouts/project.html.haml_spec.rb ee/spec/models/alert_management/alert_payload_field_spec.rb ee/spec/lib/ee/gitlab/auth/ldap/group_spec.rb ee/spec/models/work_items/widgets/requirement_legacy_spec.rb ee/spec/graphql/types/alert_management/payload_alert_field_path_segment_type_spec.rb ee/spec/routing/operations_routing_spec.rb ee/spec/helpers/markup_helper_spec.rb ee/spec/lib/ee/gitlab/import_export/repo_restorer_spec.rb ee/spec/lib/ee/gitlab/ci/pipeline/chain/validate/security_orchestration_policy_spec.rb ee/spec/graphql/mutations/boards/epic_boards/destroy_spec.rb ee/spec/lib/ee/gitlab/usage_data_counters/work_item_activity_unique_counter_spec.rb ee/spec/services/projects/disable_deploy_key_service_spec.rb ee/spec/services/ee/users/reject_service_spec.rb ee/spec/lib/analytics/dora_metrics_aggregator_spec.rb ee/spec/helpers/projects/security/discover_helper_spec.rb ee/spec/db/production/license_spec.rb ee/spec/lib/gitlab/return_to_location_spec.rb ee/spec/views/devise/registrations/new.html.haml_spec.rb ee/spec/services/status_page/publish_list_service_spec.rb ee/spec/workers/incident_management/pending_escalations/issue_check_worker_spec.rb ee/spec/serializers/vulnerabilities/scanner_entity_spec.rb ee/spec/serializers/metrics_report_metric_entity_spec.rb ee/spec/graphql/types/protected_environments/approval_rule_for_summary_type_spec.rb ee/spec/graphql/types/security_orchestration/security_policy_relation_type_enum_spec.rb ee/spec/graphql/types/projects/services_enum_spec.rb ee/spec/workers/groups/create_event_worker_spec.rb ee/spec/lib/gitlab/ci/reports/metrics/reports_comparer_spec.rb ee/spec/lib/ee/api/entities/member_role_spec.rb ee/spec/services/web_hook_service_spec.rb ee/spec/graphql/ee/types/issue_sort_enum_spec.rb ee/spec/serializers/test_reports_comparer_entity_spec.rb ee/spec/models/dora/watchers_spec.rb ee/spec/graphql/types/dora_metric_type_spec.rb ee/spec/elastic/migrate/20210112165500_delete_issues_from_original_index_spec.rb ee/spec/lib/gitlab/usage/metrics/instrumentations/historical_max_users_metrics_spec.rb ee/spec/graphql/ee/mutations/ci/runner/update_spec.rb ee/spec/lib/gitlab/patch/database_config_spec.rb ee/spec/models/geo/repositories_changed_event_spec.rb ee/spec/graphql/types/dast/profile_schedule_input_type_spec.rb ee/spec/graphql/types/boards/epic_user_preferences_type_spec.rb ee/spec/graphql/types/permission_types/project_spec.rb ee/spec/graphql/types/vulnerability_location/secret_detection_type_spec.rb ee/spec/graphql/types/security_scanner_type_enum_spec.rb ee/spec/views/admin/application_settings/_ee_package_registry.html.haml_spec.rb ee/spec/graphql/types/vulnerability_details/diff_type_spec.rb ee/spec/lib/gitlab/insights/serializers/chartjs/line_serializer_spec.rb ee/spec/lib/ee/api/entities/ci/minutes/additional_pack_spec.rb ee/spec/helpers/epics_helper_spec.rb ee/spec/graphql/types/requirements_management/test_report_state_enum_spec.rb ee/spec/workers/vulnerabilities/historical_statistics/deletion_worker_spec.rbKnapsack report generator started!777warning: parser/current is loading parser/ruby30, which recognizes 3.0.5-compliant syntax, but you are running 3.0.6.779Run options: exclude {:quarantine=>true, :level=>"background_migration"}780Test environment set up in 0.615836762 seconds781Auth::ContainerRegistryAuthenticationService782 with deploy keys783 with IP restriction784 group with restriction785 address is within the range786 behaves like a container registry auth service787 .full_access_token788 behaves like an accessible789 has the correct scope790 behaves like a valid token791 is expected to include :token792 is expected to include "access"793 a expirable794 for default configuration795 is expected not to be within 2 of 2023-04-27 06:10:19.718585582 +0000796 for changed configuration797 is expected to be within 2 of 2023-04-27 06:10:19.773923398 +0000798 behaves like not a container repository factory799 does not create a new container repository resource800 .import_access_token801 has the correct scope802 behaves like a valid token803 is expected to include :token804 is expected to include "access"805 a expirable806 for default configuration807 is expected not to be within 2 of 2023-04-27 06:10:20.033095928 +0000808 for changed configuration809 is expected to be within 2 of 2023-04-27 06:10:20.087286253 +0000810 behaves like not a container repository factory811 does not create a new container repository resource812 .pull_access_token813 behaves like an accessible814 has the correct scope815 behaves like a valid token816 is expected to include :token817 is expected to include "access"818 a expirable819 for default configuration820 is expected not to be within 2 of 2023-04-27 06:10:20.530419669 +0000821 for changed configuration822 is expected to be within 2 of 2023-04-27 06:10:20.583509635 +0000823 behaves like not a container repository factory824 does not create a new container repository resource825 .pull_nested_repositories_access_token826 has the correct scope827 behaves like a valid token828 is expected to include :token829 is expected to include "access"830 a expirable831 for default configuration832 is expected not to be within 2 of 2023-04-27 06:10:21.096131064 +0000833 for changed configuration834 is expected to be within 2 of 2023-04-27 06:10:21.152216950 +0000835 behaves like not a container repository factory836 does not create a new container repository resource837 with path ending with a slash838 has the correct scope839 behaves like a valid token840 is expected to include :token841 is expected to include "access"842 a expirable843 for default configuration844 is expected not to be within 2 of 2023-04-27 06:10:21.401288661 +0000845 for changed configuration846 is expected to be within 2 of 2023-04-27 06:10:21.457609807 +0000847 behaves like not a container repository factory848 does not create a new container repository resource849 user authorization850 for registry catalog851 disallow browsing for users without GitLab admin rights852 behaves like an inaccessible853 is expected to include {"access" => []}854 behaves like a valid token855 is expected to include :token856 is expected to include "access"857 a expirable858 for default configuration859 is expected not to be within 2 of 2023-04-27 06:10:21.786614591 +0000860 for changed configuration861 is expected to be within 2 of 2023-04-27 06:10:21.839274217 +0000862 behaves like not a container repository factory863 does not create a new container repository resource864 for private project865 behaves like private project866 allow to use scope-less authentication867 behaves like a valid token868 is expected to include :token869 is expected to include "access"870 a expirable871 for default configuration872 is expected not to be within 2 of 2023-04-27 06:10:22.271343903 +0000873 for changed configuration874 is expected to be within 2 of 2023-04-27 06:10:22.330582178 +0000875 behaves like with auth_type876 is expected to eq "foo"877 allow developer to push images878 behaves like a pushable879 behaves like an accessible880 has the correct scope881 behaves like a valid token882 is expected to include :token883 is expected to include "access"884 a expirable885 for default configuration886 is expected not to be within 2 of 2023-04-27 06:10:23.019713005 +0000887 for changed configuration888 is expected to be within 2 of 2023-04-27 06:10:23.151550864 +0000889 behaves like container repository factory890 creates a new container repository resource891 behaves like with auth_type892 is expected to eq "foo"893 disallow developer to delete images894 behaves like an inaccessible895 is expected to include {"access" => []}896 behaves like a valid token897 is expected to include :token898 is expected to include "access"899 a expirable900 for default configuration901 is expected not to be within 2 of 2023-04-27 06:10:23.770333056 +0000902 for changed configuration903 is expected to be within 2 of 2023-04-27 06:10:23.868235708 +0000904 behaves like not a container repository factory905 does not create a new container repository resource906 behaves like logs an auth warning907 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 time908 disallow developer to delete images since registry 2.7909 behaves like an inaccessible910 is expected to include {"access" => []}911 behaves like a valid token912 is expected to include :token913 is expected to include "access"914 a expirable915 for default configuration916 is expected not to be within 2 of 2023-04-27 06:10:24.529739707 +0000917 for changed configuration918 is expected to be within 2 of 2023-04-27 06:10:24.629192169 +0000919 behaves like not a container repository factory920 does not create a new container repository resource921 allow reporter to pull images922 when pulling from root level repository923 behaves like a pullable924 behaves like an accessible925 has the correct scope926 behaves like a valid token927 is expected to include :token928 is expected to include "access"929 a expirable930 for default configuration931 is expected not to be within 2 of 2023-04-27 06:10:25.082796683 +0000932 for changed configuration933 is expected to be within 2 of 2023-04-27 06:10:25.162405518 +0000934 behaves like not a container repository factory935 does not create a new container repository resource936 behaves like with auth_type937 is expected to eq "foo"938 disallow reporter to delete images939 behaves like an inaccessible940 is expected to include {"access" => []}941 behaves like a valid token942 is expected to include :token943 is expected to include "access"944 a expirable945 for default configuration946 is expected not to be within 2 of 2023-04-27 06:10:25.765494790 +0000947 for changed configuration948 is expected to be within 2 of 2023-04-27 06:10:25.874723542 +0000949 behaves like not a container repository factory950 does not create a new container repository resource951 disallow reporter to delete images since registry 2.7952 behaves like an inaccessible953 is expected to include {"access" => []}954 behaves like a valid token955 is expected to include :token956 is expected to include "access"957 a expirable958 for default configuration959 is expected not to be within 2 of 2023-04-27 06:10:26.506331932 +0000960 for changed configuration961 is expected to be within 2 of 2023-04-27 06:10:26.602730495 +0000962 behaves like not a container repository factory963 does not create a new container repository resource964 return a least of privileges965 behaves like a pullable966 behaves like an accessible967 has the correct scope968 behaves like a valid token969 is expected to include :token970 is expected to include "access"971 a expirable972 for default configuration973 is expected not to be within 2 of 2023-04-27 06:10:27.161876181 +0000974 for changed configuration975 is expected to be within 2 of 2023-04-27 06:10:27.268448093 +0000976 behaves like not a container repository factory977 does not create a new container repository resource978 behaves like with auth_type979 is expected to eq "foo"980 disallow guest to pull or push images981 behaves like an inaccessible982 is expected to include {"access" => []}983 behaves like a valid token984 is expected to include :token985 is expected to include "access"986 a expirable987 for default configuration988 is expected not to be within 2 of 2023-04-27 06:10:28.018348605 +0000989 for changed configuration990 is expected to be within 2 of 2023-04-27 06:10:28.125033136 +0000991 behaves like not a container repository factory992 does not create a new container repository resource993 disallow guest to delete images994 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-04-27 06:10:28.723377989 +00001002 for changed configuration1003 is expected to be within 2 of 2023-04-27 06:10:28.826784311 +00001004 behaves like not a container repository factory1005 does not create a new container repository resource1006 disallow guest to delete images since registry 2.71007 behaves like an inaccessible1008 is expected to include {"access" => []}1009 behaves like a valid token1010 is expected to include :token1011 is expected to include "access"1012 a expirable1013 for default configuration1014 is expected not to be within 2 of 2023-04-27 06:10:29.384607148 +00001015 for changed configuration1016 is expected to be within 2 of 2023-04-27 06:10:29.481862030 +00001017 behaves like not a container repository factory1018 does not create a new container repository resource1019 for public project with private container registry1020 behaves like private project1021 allow to use scope-less authentication1022 behaves like a valid token1023 is expected to include :token1024 is expected to include "access"1025 a expirable1026 for default configuration1027 is expected not to be within 2 of 2023-04-27 06:10:30.022493138 +00001028 for changed configuration1029 is expected to be within 2 of 2023-04-27 06:10:30.080628984 +00001030 behaves like with auth_type1031 is expected to eq "foo"1032 allow developer to push images1033 behaves like a pushable1034 behaves like an accessible1035 has the correct scope1036 behaves like a valid token1037 is expected to include :token1038 is expected to include "access"1039 a expirable1040 for default configuration1041 is expected not to be within 2 of 2023-04-27 06:10:30.632750770 +00001042 for changed configuration1043 is expected to be within 2 of 2023-04-27 06:10:30.761546900 +00001044 behaves like container repository factory1045 creates a new container repository resource1046 behaves like with auth_type1047 is expected to eq "foo"1048 disallow developer to delete images1049 behaves like an inaccessible1050 is expected to include {"access" => []}1051 behaves like a valid token1052 is expected to include :token1053 is expected to include "access"1054 a expirable1055 for default configuration1056 is expected not to be within 2 of 2023-04-27 06:10:31.494946833 +00001057 for changed configuration1058 is expected to be within 2 of 2023-04-27 06:10:31.627785463 +00001059 behaves like not a container repository factory1060 does not create a new container repository resource1061 behaves like logs an auth warning1062 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 time1063 disallow developer to delete images since registry 2.71064 behaves like an inaccessible1065 is expected to include {"access" => []}1066 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-04-27 06:10:32.302618890 +00001072 for changed configuration1073 is expected to be within 2 of 2023-04-27 06:10:32.409376642 +00001074 behaves like not a container repository factory1075 does not create a new container repository resource1076 allow reporter to pull images1077 when pulling from root level repository1078 behaves like a pullable1079 behaves like an accessible1080 has the correct scope1081 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-04-27 06:10:32.892334014 +00001087 for changed configuration1088 is expected to be within 2 of 2023-04-27 06:10:32.984402277 +00001089 behaves like not a container repository factory1090 does not create a new container repository resource1091 behaves like with auth_type1092 is expected to eq "foo"1093 disallow reporter to delete images1094 behaves like an inaccessible1095 is expected to include {"access" => []}1096 behaves like a valid token1097 is expected to include :token1098 is expected to include "access"1099 a expirable1100 for default configuration1101 is expected not to be within 2 of 2023-04-27 06:10:33.646446585 +00001102 for changed configuration1103 is expected to be within 2 of 2023-04-27 06:10:33.747171187 +00001104 behaves like not a container repository factory1105 does not create a new container repository resource1106 disallow reporter to delete images since registry 2.71107 behaves like an inaccessible1108 is expected to include {"access" => []}1109 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-04-27 06:10:34.275189516 +00001115 for changed configuration1116 is expected to be within 2 of 2023-04-27 06:10:34.381860168 +00001117 behaves like not a container repository factory1118 does not create a new container repository resource1119 return a least of privileges1120 behaves like a pullable1121 behaves like an accessible1122 has the correct scope1123 behaves like a valid token1124 is expected to include :token1125 is expected to include "access"1126 a expirable1127 for default configuration1128 is expected not to be within 2 of 2023-04-27 06:10:34.986024711 +00001129 for changed configuration1130 is expected to be within 2 of 2023-04-27 06:10:35.093872362 +00001131 behaves like not a container repository factory1132 does not create a new container repository resource1133 behaves like with auth_type1134 is expected to eq "foo"1135 disallow guest to pull or push images1136 behaves like an inaccessible1137 is expected to include {"access" => []}1138 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-04-27 06:10:35.717353344 +00001144 for changed configuration1145 is expected to be within 2 of 2023-04-27 06:10:35.819419055 +00001146 behaves like not a container repository factory1147 does not create a new container repository resource1148 disallow guest to delete images1149 behaves like an inaccessible1150 is expected to include {"access" => []}1151 behaves like a valid token1152 is expected to include :token1153 is expected to include "access"1154 a expirable1155 for default configuration1156 is expected not to be within 2 of 2023-04-27 06:10:36.336057755 +00001157 for changed configuration1158 is expected to be within 2 of 2023-04-27 06:10:36.434911717 +00001159 behaves like not a container repository factory1160 does not create a new container repository resource1161 disallow guest to delete images since registry 2.71162 behaves like an inaccessible1163 is expected to include {"access" => []}1164 behaves like a valid token1165 is expected to include :token1166 is expected to include "access"1167 a expirable1168 for default configuration1169 is expected not to be within 2 of 2023-04-27 06:10:36.983493545 +00001170 for changed configuration1171 is expected to be within 2 of 2023-04-27 06:10:37.078729817 +00001172 behaves like not a container repository factory1173 does not create a new container repository resource1174 for public project with container_registry `enabled`1175 allow anyone to pull images1176 behaves like a pullable1177 behaves like an accessible1178 has the correct scope1179 behaves like a valid token1180 is expected to include :token1181 is expected to include "access"1182 a expirable1183 for default configuration1184 is expected not to be within 2 of 2023-04-27 06:10:37.726633697 +00001185 for changed configuration1186 is expected to be within 2 of 2023-04-27 06:10:37.807438110 +00001187 behaves like not a container repository factory1188 does not create a new container repository resource1189 behaves like with auth_type1190 is expected to eq "foo"1191 disallow anyone to push images1192 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-04-27 06:10:38.353127298 +00001200 for changed configuration1201 is expected to be within 2 of 2023-04-27 06:10:38.452753920 +00001202 behaves like not a container repository factory1203 does not create a new container repository resource1204 disallow anyone to delete images1205 behaves like an inaccessible1206 is expected to include {"access" => []}1207 behaves like a valid token1208 is expected to include :token1209 is expected to include "access"1210 a expirable1211 for default configuration1212 is expected not to be within 2 of 2023-04-27 06:10:38.887088866 +00001213 for changed configuration1214 is expected to be within 2 of 2023-04-27 06:10:38.978447239 +00001215 behaves like not a container repository factory1216 does not create a new container repository resource1217 disallow anyone to delete images since registry 2.71218 behaves like an inaccessible1219 is expected to include {"access" => []}1220 behaves like a valid token1221 is expected to include :token1222 is expected to include "access"1223 a expirable1224 for default configuration1225 is expected not to be within 2 of 2023-04-27 06:10:39.396445966 +00001226 for changed configuration1227 is expected to be within 2 of 2023-04-27 06:10:39.489010739 +00001228 behaves like not a container repository factory1229 does not create a new container repository resource1230 when repository name is invalid1231 behaves like an inaccessible1232 is expected to include {"access" => []}1233 behaves like a valid token1234 is expected to include :token1235 is expected to include "access"1236 a expirable1237 for default configuration1238 is expected not to be within 2 of 2023-04-27 06:10:39.812553534 +00001239 for changed configuration1240 is expected to be within 2 of 2023-04-27 06:10:39.875281869 +00001241 behaves like not a container repository factory1242 does not create a new container repository resource1243 for internal project with container_registry `enabled`1244 for internal user1245 allow anyone to pull images1246 behaves like a pullable1247 behaves like an accessible1248 has the correct scope1249 behaves like a valid token1250 is expected to include :token1251 is expected to include "access"1252 a expirable1253 for default configuration1254 is expected not to be within 2 of 2023-04-27 06:10:40.502042840 +00001255 for changed configuration1256 is expected to be within 2 of 2023-04-27 06:10:40.586083944 +00001257 behaves like not a container repository factory1258 does not create a new container repository resource1259 behaves like with auth_type1260 is expected to eq "foo"1261 disallow anyone to push images1262 behaves like an inaccessible1263 is expected to include {"access" => []}1264 behaves like a valid token1265 is expected to include :token1266 is expected to include "access"1267 a expirable1268 for default configuration1269 is expected not to be within 2 of 2023-04-27 06:10:41.096967193 +00001270 for changed configuration1271 is expected to be within 2 of 2023-04-27 06:10:41.189061776 +00001272 behaves like not a container repository factory1273 does not create a new container repository resource1274 disallow anyone to delete images1275 behaves like an inaccessible1276 is expected to include {"access" => []}1277 behaves like a valid token1278 is expected to include :token1279 is expected to include "access"1280 a expirable1281 for default configuration1282 is expected not to be within 2 of 2023-04-27 06:10:41.670667569 +00001283 for changed configuration1284 is expected to be within 2 of 2023-04-27 06:10:41.759650842 +00001285 behaves like not a container repository factory1286 does not create a new container repository resource1287 disallow anyone to delete images since registry 2.71288 behaves like an inaccessible1289 is expected to include {"access" => []}1290 behaves like a valid token1291 is expected to include :token1292 is expected to include "access"1293 a expirable1294 for default configuration1295 is expected not to be within 2 of 2023-04-27 06:10:42.202143967 +00001296 for changed configuration1297 is expected to be within 2 of 2023-04-27 06:10:42.293722880 +00001298 behaves like not a container repository factory1299 does not create a new container repository resource1300 for external user1301 disallow anyone to pull or push images1302 behaves like an inaccessible1303 is expected to include {"access" => []}1304 behaves like a valid token1305 is expected to include :token1306 is expected to include "access"1307 a expirable1308 for default configuration1309 is expected not to be within 2 of 2023-04-27 06:10:42.840067317 +00001310 for changed configuration1311 is expected to be within 2 of 2023-04-27 06:10:42.971360417 +00001312 behaves like not a container repository factory1313 does not create a new container repository resource1314 disallow anyone to delete images1315 behaves like an inaccessible1316 is expected to include {"access" => []}1317 behaves like a valid token1318 is expected to include :token1319 is expected to include "access"1320 a expirable1321 for default configuration1322 is expected not to be within 2 of 2023-04-27 06:10:43.506306985 +00001323 for changed configuration1324 is expected to be within 2 of 2023-04-27 06:10:43.601612548 +00001325 behaves like not a container repository factory1326 does not create a new container repository resource1327 disallow anyone to delete images since registry 2.71328 behaves like an inaccessible1329 is expected to include {"access" => []}1330 behaves like a valid token1331 is expected to include :token1332 is expected to include "access"1333 a expirable1334 for default configuration1335 is expected not to be within 2 of 2023-04-27 06:10:44.131885557 +00001336 for changed configuration1337 is expected to be within 2 of 2023-04-27 06:10:44.229249329 +00001338 behaves like not a container repository factory1339 does not create a new container repository resource1340 for internal project with private container registry1341 behaves like private project1342 allow to use scope-less authentication1343 behaves like a valid token1344 is expected to include :token1345 is expected to include "access"1346 a expirable1347 for default configuration1348 is expected not to be within 2 of 2023-04-27 06:10:44.751945878 +00001349 for changed configuration1350 is expected to be within 2 of 2023-04-27 06:10:44.802782944 +00001351 behaves like with auth_type1352 is expected to eq "foo"1353 allow developer to push images1354 behaves like a pushable1355 behaves like an accessible1356 has the correct scope1357 behaves like a valid token1358 is expected to include :token1359 is expected to include "access"1360 a expirable1361 for default configuration1362 is expected not to be within 2 of 2023-04-27 06:10:45.413635237 +00001363 for changed configuration1364 is expected to be within 2 of 2023-04-27 06:10:45.534424057 +00001365 behaves like container repository factory1366 creates a new container repository resource1367 behaves like with auth_type1368 is expected to eq "foo"1369 disallow developer to delete images1370 behaves like an inaccessible1371 is expected to include {"access" => []}1372 behaves like a valid token1373 is expected to include :token1374 is expected to include "access"1375 a expirable1376 for default configuration1377 is expected not to be within 2 of 2023-04-27 06:10:46.265501270 +00001378 for changed configuration1379 is expected to be within 2 of 2023-04-27 06:10:46.405508189 +00001380 behaves like not a container repository factory1381 does not create a new container repository resource1382 behaves like logs an auth warning1383 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 time1384 disallow developer to delete images since registry 2.71385 behaves like an inaccessible1386 is expected to include {"access" => []}1387 behaves like a valid token1388 is expected to include :token1389 is expected to include "access"1390 a expirable1391 for default configuration1392 is expected not to be within 2 of 2023-04-27 06:10:47.084911806 +00001393 for changed configuration1394 is expected to be within 2 of 2023-04-27 06:10:47.189333488 +00001395 behaves like not a container repository factory1396 does not create a new container repository resource1397 allow reporter to pull images1398 when pulling from root level repository1399 behaves like a pullable1400 behaves like an accessible1401 has the correct scope1402 behaves like a valid token1403 is expected to include :token1404 is expected to include "access"1405 a expirable1406 for default configuration1407 is expected not to be within 2 of 2023-04-27 06:10:47.731039256 +00001408 for changed configuration1409 is expected to be within 2 of 2023-04-27 06:10:47.852510236 +00001410 behaves like not a container repository factory1411 does not create a new container repository resource1412 behaves like with auth_type1413 is expected to eq "foo"1414 disallow reporter to delete images1415 behaves like an inaccessible1416 is expected to include {"access" => []}1417 behaves like a valid token1418 is expected to include :token1419 is expected to include "access"1420 a expirable1421 for default configuration1422 is expected not to be within 2 of 2023-04-27 06:10:48.567629490 +00001423 for changed configuration1424 is expected to be within 2 of 2023-04-27 06:10:48.670101302 +00001425 behaves like not a container repository factory1426 does not create a new container repository resource1427 disallow reporter to delete images since registry 2.71428 behaves like an inaccessible1429 is expected to include {"access" => []}1430 behaves like a valid token1431 is expected to include :token1432 is expected to include "access"1433 a expirable1434 for default configuration1435 is expected not to be within 2 of 2023-04-27 06:10:49.240843198 +00001436 for changed configuration1437 is expected to be within 2 of 2023-04-27 06:10:49.339836430 +00001438 behaves like not a container repository factory1439 does not create a new container repository resource1440 return a least of privileges1441 behaves like a pullable1442 behaves like an accessible1443 has the correct scope1444 behaves like a valid token1445 is expected to include :token1446 is expected to include "access"1447 a expirable1448 for default configuration1449 is expected not to be within 2 of 2023-04-27 06:10:49.962016462 +00001450 for changed configuration1451 is expected to be within 2 of 2023-04-27 06:10:50.077707203 +00001452 behaves like not a container repository factory1453 does not create a new container repository resource1454 behaves like with auth_type1455 is expected to eq "foo"1456 disallow guest to pull or push images1457 behaves like an inaccessible1458 is expected to include {"access" => []}1459 behaves like a valid token1460 is expected to include :token1461 is expected to include "access"1462 a expirable1463 for default configuration1464 is expected not to be within 2 of 2023-04-27 06:10:50.779481638 +00001465 for changed configuration1466 is expected to be within 2 of 2023-04-27 06:10:50.883274050 +00001467 behaves like not a container repository factory1468 does not create a new container repository resource1469 disallow guest to delete images1470 behaves like an inaccessible1471 is expected to include {"access" => []}1472 behaves like a valid token1473 is expected to include :token1474 is expected to include "access"1475 a expirable1476 for default configuration1477 is expected not to be within 2 of 2023-04-27 06:10:51.404146699 +00001478 for changed configuration1479 is expected to be within 2 of 2023-04-27 06:10:51.481002323 +00001480 behaves like not a container repository factory1481 does not create a new container repository resource1482 disallow guest to delete images since registry 2.71483 behaves like an inaccessible1484 is expected to include {"access" => []}1485 behaves like a valid token1486 is expected to include :token1487 is expected to include "access"1488 a expirable1489 for default configuration1490 is expected not to be within 2 of 2023-04-27 06:10:51.975305864 +00001491 for changed configuration1492 is expected to be within 2 of 2023-04-27 06:10:52.063768068 +00001493 behaves like not a container repository factory1494 does not create a new container repository resource1495 delete authorized as maintainer1496 behaves like allowed to delete container repository images1497 behaves like a valid token1498 is expected to include :token1499 is expected to include "access"1500 a expirable1501 for default configuration1502 is expected not to be within 2 of 2023-04-27 06:10:52.718400277 +00001503 for changed configuration1504 is expected to be within 2 of 2023-04-27 06:10:52.778332272 +00001505 allow to delete images1506 behaves like a deletable1507 behaves like an accessible1508 has the correct scope1509 behaves like a valid token1510 is expected to include :token1511 is expected to include "access"1512 a expirable1513 for default configuration1514 is expected not to be within 2 of 2023-04-27 06:10:53.139587574 +00001515 for changed configuration1516 is expected to be within 2 of 2023-04-27 06:10:53.226944497 +00001517 allow to delete images since registry 2.71518 behaves like a deletable since registry 2.71519 behaves like an accessible1520 has the correct scope1521 behaves like a valid token1522 is expected to include :token1523 is expected to include "access"1524 a expirable1525 for default configuration1526 is expected not to be within 2 of 2023-04-27 06:10:53.549619302 +00001527 for changed configuration1528 is expected to be within 2 of 2023-04-27 06:10:53.628924365 +00001529 build authorized as user1530 allow to use offline_token1531 behaves like an authenticated1532 is expected to include :token1533 is expected to include "access"1534 behaves like a valid token1535 is expected to include :token1536 is expected to include "access"1537 a expirable1538 for default configuration1539 is expected not to be within 2 of 2023-04-27 06:10:54.311940512 +00001540 for changed configuration1541 is expected to be within 2 of 2023-04-27 06:10:54.370266737 +00001542 behaves like with auth_type1543 is expected to eq "foo"1544 allow to pull and push images1545 behaves like a pullable and pushable1546 behaves like an accessible1547 has the correct scope1548 behaves like a valid token1549 is expected to include :token1550 is expected to include "access"1551 a expirable1552 for default configuration1553 is expected not to be within 2 of 2023-04-27 06:10:54.829082212 +00001554 for changed configuration1555 is expected to be within 2 of 2023-04-27 06:10:54.925694854 +00001556 behaves like container repository factory1557 creates a new container repository resource1558 allow to delete images since registry 2.71559 behaves like a deletable since registry 2.71560 behaves like an accessible1561 has the correct scope1562 behaves like a valid token1563 is expected to include :token1564 is expected to include "access"1565 a expirable1566 for default configuration1567 is expected not to be within 2 of 2023-04-27 06:10:55.277302187 +00001568 for changed configuration1569 is expected to be within 2 of 2023-04-27 06:10:55.347189161 +00001570 disallow to delete images1571 behaves like an inaccessible1572 is expected to include {"access" => []}1573 behaves like a valid token1574 is expected to include :token1575 is expected to include "access"1576 a expirable1577 for default configuration1578 is expected not to be within 2 of 2023-04-27 06:10:55.601684151 +00001579 for changed configuration1580 is expected to be within 2 of 2023-04-27 06:10:55.674851556 +00001581 for other projects1582 when pulling1583 allow for public1584 behaves like a pullable1585 behaves like an accessible1586 has the correct scope1587 behaves like a valid token1588 is expected to include :token1589 is expected to include "access"1590 a expirable1591 for default configuration1592 is expected not to be within 2 of 2023-04-27 06:10:56.265200530 +00001593 for changed configuration1594 is expected to be within 2 of 2023-04-27 06:10:56.348168113 +00001595 behaves like not a container repository factory1596 does not create a new container repository resource1597 for private1598 behaves like pullable for being team member1599 when you are not member1600 behaves like an inaccessible1601 is expected to include {"access" => []}1602 behaves like a valid token1603 is expected to include :token1604 is expected to include "access"1605 a expirable1606 for default configuration1607 is expected not to be within 2 of 2023-04-27 06:10:56.947379436 +00001608 for changed configuration1609 is expected to be within 2 of 2023-04-27 06:10:57.023345940 +00001610 behaves like not a container repository factory1611 does not create a new container repository resource1612 when you are member1613 behaves like a pullable1614 behaves like an accessible1615 has the correct scope1616 behaves like a valid token1617 is expected to include :token1618 is expected to include "access"1619 a expirable1620 for default configuration1621 is expected not to be within 2 of 2023-04-27 06:10:58.374183355 +00001622 for changed configuration1623 is expected to be within 2 of 2023-04-27 06:10:58.451373549 +00001624 behaves like not a container repository factory1625 does not create a new container repository resource1626 when you are owner1627 behaves like a pullable1628 behaves like an accessible1629 has the correct scope1630 behaves like a valid token1631 is expected to include :token1632 is expected to include "access"1633 a expirable1634 for default configuration1635 is expected not to be within 2 of 2023-04-27 06:10:58.991397817 +00001636 for changed configuration1637 is expected to be within 2 of 2023-04-27 06:10:59.085018300 +00001638 behaves like not a container repository factory1639 does not create a new container repository resource1640 when you are admin1641 when you are not member1642 behaves like an inaccessible1643 is expected to include {"access" => []}1644 behaves like a valid token1645 is expected to include :token1646 is expected to include "access"1647 a expirable1648 for default configuration1649 is expected not to be within 2 of 2023-04-27 06:10:59.583229081 +00001650 for changed configuration1651 is expected to be within 2 of 2023-04-27 06:10:59.668925054 +00001652 behaves like not a container repository factory1653 does not create a new container repository resource1654 when you are member1655 behaves like a pullable1656 behaves like an accessible1657 has the correct scope1658 behaves like a valid token1659 is expected to include :token1660 is expected to include "access"1661 a expirable1662 for default configuration1663 is expected not to be within 2 of 2023-04-27 06:11:00.162159856 +00001664 for changed configuration1665 is expected to be within 2 of 2023-04-27 06:11:00.247912439 +00001666 behaves like not a container repository factory1667 does not create a new container repository resource1668 when you are owner1669 behaves like a pullable1670 behaves like an accessible1671 has the correct scope1672 behaves like a valid token1673 is expected to include :token1674 is expected to include "access"1675 a expirable1676 for default configuration1677 is expected not to be within 2 of 2023-04-27 06:11:00.820115884 +00001678 for changed configuration1679 is expected to be within 2 of 2023-04-27 06:11:00.917533777 +00001680 behaves like not a container repository factory1681 does not create a new container repository resource1682 for public project with private container registry1683 behaves like pullable for being team member1684 when you are not member1685 behaves like an inaccessible1686 is expected to include {"access" => []}1687 behaves like a valid token1688 is expected to include :token1689 is expected to include "access"1690 a expirable1691 for default configuration1692 is expected not to be within 2 of 2023-04-27 06:11:01.593775914 +00001693 for changed configuration1694 is expected to be within 2 of 2023-04-27 06:11:01.682966117 +00001695 behaves like not a container repository factory1696 does not create a new container repository resource1697 when you are member1698 behaves like a pullable1699 behaves like an accessible1700 has the correct scope1701 behaves like a valid token1702 is expected to include :token1703 is expected to include "access"1704 a expirable1705 for default configuration1706 is expected not to be within 2 of 2023-04-27 06:11:02.243921973 +00001707 for changed configuration1708 is expected to be within 2 of 2023-04-27 06:11:02.335818706 +00001709 behaves like not a container repository factory1710 does not create a new container repository resource1711 when you are owner1712 behaves like a pullable1713 behaves like an accessible1714 has the correct scope1715 behaves like a valid token1716 is expected to include :token1717 is expected to include "access"1718 a expirable1719 for default configuration1720 is expected not to be within 2 of 2023-04-27 06:11:02.879547124 +00001721 for changed configuration1722 is expected to be within 2 of 2023-04-27 06:11:02.958116417 +00001723 behaves like not a container repository factory1724 does not create a new container repository resource1725 when you are admin1726 behaves like pullable for being team member1727 when you are not member1728 behaves like an inaccessible1729 is expected to include {"access" => []}1730 behaves like a valid token1731 is expected to include :token1732 is expected to include "access"1733 a expirable1734 for default configuration1735 is expected not to be within 2 of 2023-04-27 06:11:03.452897449 +00001736 for changed configuration1737 is expected to be within 2 of 2023-04-27 06:11:03.549904551 +00001738 behaves like not a container repository factory1739 does not create a new container repository resource1740 when you are member1741 behaves like a pullable1742 behaves like an accessible1743 has the correct scope1744 behaves like a valid token1745 is expected to include :token1746 is expected to include "access"1747 a expirable1748 for default configuration1749 is expected not to be within 2 of 2023-04-27 06:11:04.063674021 +00001750 for changed configuration1751 is expected to be within 2 of 2023-04-27 06:11:04.147043264 +00001752 behaves like not a container repository factory1753 does not create a new container repository resource1754 when you are owner1755 behaves like a pullable1756 behaves like an accessible1757 has the correct scope1758 behaves like a valid token1759 is expected to include :token1760 is expected to include "access"1761 a expirable1762 for default configuration1763 is expected not to be within 2 of 2023-04-27 06:11:04.716188900 +00001764 for changed configuration1765 is expected to be within 2 of 2023-04-27 06:11:04.809549573 +00001766 behaves like not a container repository factory1767 does not create a new container repository resource1768 when pushing1769 disallow for all1770 when you are member1771 behaves like an inaccessible1772 is expected to include {"access" => []}1773 behaves like a valid token1774 is expected to include :token1775 is expected to include "access"1776 a expirable1777 for default configuration1778 is expected not to be within 2 of 2023-04-27 06:11:05.524039807 +00001779 for changed configuration1780 is expected to be within 2 of 2023-04-27 06:11:05.598851281 +00001781 behaves like not a container repository factory1782 does not create a new container repository resource1783 when you are owner1784 behaves like an inaccessible1785 is expected to include {"access" => []}1786 behaves like a valid token1787 is expected to include :token1788 is expected to include "access"1789 a expirable1790 for default configuration1791 is expected not to be within 2 of 2023-04-27 06:11:06.098249652 +00001792 for changed configuration1793 is expected to be within 2 of 2023-04-27 06:11:06.178004906 +00001794 behaves like not a container repository factory1795 does not create a new container repository resource1796 for project without container registry1797 disallow when pulling1798 behaves like an inaccessible1799 is expected to include {"access" => []}1800 behaves like a valid token1801 is expected to include :token1802 is expected to include "access"1803 a expirable1804 for default configuration1805 is expected not to be within 2 of 2023-04-27 06:11:06.721559054 +00001806 for changed configuration1807 is expected to be within 2 of 2023-04-27 06:11:06.819429026 +00001808 behaves like not a container repository factory1809 does not create a new container repository resource1810 for project that disables repository1811 disallow when pulling1812 behaves like an inaccessible1813 is expected to include {"access" => []}1814 behaves like a valid token1815 is expected to include :token1816 is expected to include "access"1817 a expirable1818 for default configuration1819 is expected not to be within 2 of 2023-04-27 06:11:07.399479780 +00001820 for changed configuration1821 is expected to be within 2 of 2023-04-27 06:11:07.475137185 +00001822 behaves like not a container repository factory1823 does not create a new container repository resource1824 registry catalog browsing authorized as admin1825 behaves like a browsable1826 has the correct scope1827 behaves like a valid token1828 is expected to include :token1829 is expected to include "access"1830 a expirable1831 for default configuration1832 is expected not to be within 2 of 2023-04-27 06:11:08.018884412 +00001833 for changed configuration1834 is expected to be within 2 of 2023-04-27 06:11:08.076089348 +00001835 behaves like not a container repository factory1836 does not create a new container repository resource1837 support for multiple scopes1838 user has access to all projects1839 behaves like a browsable1840 has the correct scope1841 behaves like a valid token1842 is expected to include :token1843 is expected to include "access"1844 a expirable1845 for default configuration1846 is expected not to be within 2 of 2023-04-27 06:11:09.591662350 +00001847 for changed configuration1848 is expected to be within 2 of 2023-04-27 06:11:09.724405509 +00001849 behaves like not a container repository factory1850 does not create a new container repository resource1851 user only has access to internal and public projects1852 behaves like a browsable1853 has the correct scope1854 behaves like a valid token1855 is expected to include :token1856 is expected to include "access"1857 a expirable1858 for default configuration1859 is expected not to be within 2 of 2023-04-27 06:11:10.473887021 +00001860 for changed configuration1861 is expected to be within 2 of 2023-04-27 06:11:10.684759024 +00001862 behaves like not a container repository factory1863 does not create a new container repository resource1864 anonymous user has access only to public project1865 behaves like a browsable1866 has the correct scope1867 behaves like a valid token1868 is expected to include :token1869 is expected to include "access"1870 a expirable1871 for default configuration1872 is expected not to be within 2 of 2023-04-27 06:11:11.288669317 +00001873 for changed configuration1874 is expected to be within 2 of 2023-04-27 06:11:11.425522446 +00001875 behaves like not a container repository factory1876 does not create a new container repository resource1877 with no public container registry1878 behaves like a forbidden1879 is expected to include {:http_status => 403}1880 is expected not to include :token1881 unauthorized1882 disallow to use scope-less authentication1883 behaves like a forbidden1884 is expected to include {:http_status => 403}1885 is expected not to include :token1886 behaves like not a container repository factory1887 does not create a new container repository resource1888 for invalid scope1889 behaves like a forbidden1890 is expected to include {:http_status => 403}1891 is expected not to include :token1892 behaves like not a container repository factory1893 does not create a new container repository resource1894 for private project1895 behaves like a forbidden1896 is expected to include {:http_status => 403}1897 is expected not to include :token1898 for public project with container registry `enabled`1899 when pulling and pushing1900 behaves like a pullable1901 behaves like an accessible1902 has the correct scope1903 behaves like a valid token1904 is expected to include :token1905 is expected to include "access"1906 a expirable1907 for default configuration1908 is expected not to be within 2 of 2023-04-27 06:11:13.045688040 +00001909 for changed configuration1910 is expected to be within 2 of 2023-04-27 06:11:13.154052761 +00001911 behaves like not a container repository factory1912 does not create a new container repository resource1913 when pushing1914 behaves like a forbidden1915 is expected to include {:http_status => 403}1916 is expected not to include :token1917 behaves like not a container repository factory1918 does not create a new container repository resource1919 for public project with container registry `private`1920 when pulling and pushing1921 behaves like a forbidden1922 is expected to include {:http_status => 403}1923 is expected not to include :token1924 behaves like not a container repository factory1925 does not create a new container repository resource1926 for registry catalog1927 behaves like a forbidden1928 is expected to include {:http_status => 403}1929 is expected not to include :token1930 behaves like not a container repository factory1931 does not create a new container repository resource1932 for deploy tokens1933 when deploy token has read and write registry as scopes1934 for public project1935 when pulling1936 behaves like a pullable1937 behaves like an accessible1938 has the correct scope1939 behaves like a valid token1940 is expected to include :token1941 is expected to include "access"1942 a expirable1943 for default configuration1944 is expected not to be within 2 of 2023-04-27 06:11:14.921204754 +00001945 for changed configuration1946 is expected to be within 2 of 2023-04-27 06:11:15.044000744 +00001947 when pushing1948 behaves like a pushable1949 behaves like an accessible1950 has the correct scope1951 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-04-27 06:11:15.733247090 +00001957 for changed configuration1958 is expected to be within 2 of 2023-04-27 06:11:15.891064168 +00001959 behaves like able to login1960 registry provides read_container_image authentication_abilities1961 is expected to eq "deploy_token"1962 behaves like an authenticated1963 is expected to include :token1964 is expected to include "access"1965 for internal project1966 when pulling1967 behaves like a pullable1968 behaves like an accessible1969 has the correct scope1970 behaves like a valid token1971 is expected to include :token1972 is expected to include "access"1973 a expirable1974 for default configuration1975 is expected not to be within 2 of 2023-04-27 06:11:16.860806862 +00001976 for changed configuration1977 is expected to be within 2 of 2023-04-27 06:11:16.990908482 +00001978 when pushing1979 behaves like a pushable1980 behaves like an accessible1981 has the correct scope1982 behaves like a valid token1983 is expected to include :token1984 is expected to include "access"1985 a expirable1986 for default configuration1987 is expected not to be within 2 of 2023-04-27 06:11:17.704894667 +00001988 for changed configuration1989 is expected to be within 2 of 2023-04-27 06:11:17.863631454 +00001990 behaves like able to login1991 registry provides read_container_image authentication_abilities1992 is expected to eq "deploy_token"1993 behaves like an authenticated1994 is expected to include :token1995 is expected to include "access"1996 for private project1997 when pulling1998 behaves like a pullable1999 behaves like an accessible2000 has the correct scope2001 behaves like a valid token2002 is expected to include :token2003 is expected to include "access"2004 a expirable2005 for default configuration2006 is expected not to be within 2 of 2023-04-27 06:11:18.888294114 +00002007 for changed configuration2008 is expected to be within 2 of 2023-04-27 06:11:19.023922703 +00002009 when pushing2010 behaves like a pushable2011 behaves like an accessible2012 has the correct scope2013 behaves like a valid token2014 is expected to include :token2015 is expected to include "access"2016 a expirable2017 for default configuration2018 is expected not to be within 2 of 2023-04-27 06:11:19.750275907 +00002019 for changed configuration2020 is expected to be within 2 of 2023-04-27 06:11:19.911794534 +00002021 behaves like able to login2022 registry provides read_container_image authentication_abilities2023 is expected to eq "deploy_token"2024 behaves like an authenticated2025 is expected to include :token2026 is expected to include "access"2027 for public project with private container registry2028 when pulling2029 behaves like a pullable2030 behaves like an accessible2031 has the correct scope2032 behaves like a valid token2033 is expected to include :token2034 is expected to include "access"2035 a expirable2036 for default configuration2037 is expected not to be within 2 of 2023-04-27 06:11:21.030859237 +00002038 for changed configuration2039 is expected to be within 2 of 2023-04-27 06:11:21.226018912 +00002040 when pushing2041 behaves like a pushable2042 behaves like an accessible2043 has the correct scope2044 behaves like a valid token2045 is expected to include :token2046 is expected to include "access"2047 a expirable2048 for default configuration2049 is expected not to be within 2 of 2023-04-27 06:11:21.891135859 +00002050 for changed configuration2051 is expected to be within 2 of 2023-04-27 06:11:22.064315086 +00002052 behaves like able to login2053 registry provides read_container_image authentication_abilities2054 is expected to eq "deploy_token"2055 behaves like an authenticated2056 is expected to include :token2057 is expected to include "access"2058 when deploy token does not have read_registry scope2059 for public project with container registry `enabled`2060 when pulling2061 behaves like a pullable2062 behaves like an accessible2063 has the correct scope2064 behaves like a valid token2065 is expected to include :token2066 is expected to include "access"2067 a expirable2068 for default configuration2069 is expected not to be within 2 of 2023-04-27 06:11:23.138565452 +00002070 for changed configuration2071 is expected to be within 2 of 2023-04-27 06:11:23.280426131 +00002072 behaves like unable to login2073 registry provides no container authentication_abilities2074 behaves like a forbidden2075 is expected to include {:http_status => 403}2076 is expected not to include :token2077 registry provides inapplicable container authentication_abilities2078 behaves like a forbidden2079 is expected to include {:http_status => 403}2080 is expected not to include :token2081 for public project with container registry `private`2082 when pulling2083 behaves like an inaccessible2084 is expected to include {"access" => []}2085 behaves like a valid token2086 is expected to include :token2087 is expected to include "access"2088 a expirable2089 for default configuration2090 is expected not to be within 2 of 2023-04-27 06:11:24.480502168 +00002091 for changed configuration2092 is expected to be within 2 of 2023-04-27 06:11:24.621653536 +00002093 behaves like unable to login2094 registry provides no container authentication_abilities2095 behaves like a forbidden2096 is expected to include {:http_status => 403}2097 is expected not to include :token2098 registry provides inapplicable container authentication_abilities2099 behaves like a forbidden2100 is expected to include {:http_status => 403}2101 is expected not to include :token2102 for internal project2103 when pulling2104 behaves like an inaccessible2105 is expected to include {"access" => []}2106 behaves like a valid token2107 is expected to include :token2108 is expected to include "access"2109 a expirable2110 for default configuration2111 is expected not to be within 2 of 2023-04-27 06:11:25.646257077 +00002112 for changed configuration2113 is expected to be within 2 of 2023-04-27 06:11:25.761253987 +00002114 behaves like unable to login2115 registry provides no container authentication_abilities2116 behaves like a forbidden2117 is expected to include {:http_status => 403}2118 is expected not to include :token2119 registry provides inapplicable container authentication_abilities2120 behaves like a forbidden2121 is expected to include {:http_status => 403}2122 is expected not to include :token2123 for private project2124 when pulling2125 behaves like an inaccessible2126 is expected to include {"access" => []}2127 behaves like a valid token2128 is expected to include :token2129 is expected to include "access"2130 a expirable2131 for default configuration2132 is expected not to be within 2 of 2023-04-27 06:11:26.759702319 +00002133 for changed configuration2134 is expected to be within 2 of 2023-04-27 06:11:26.857413052 +00002135 when logging in2136 behaves like a forbidden2137 is expected to include {:http_status => 403}2138 is expected not to include :token2139 behaves like unable to login2140 registry provides no container authentication_abilities2141 behaves like a forbidden2142 is expected to include {:http_status => 403}2143 is expected not to include :token2144 registry provides inapplicable container authentication_abilities2145 behaves like a forbidden2146 is expected to include {:http_status => 403}2147 is expected not to include :token2148 when deploy token is not related to the project2149 for public project with container registry `enabled`2150 when pulling2151 behaves like a pullable2152 behaves like an accessible2153 has the correct scope2154 behaves like a valid token2155 is expected to include :token2156 is expected to include "access"2157 a expirable2158 for default configuration2159 is expected not to be within 2 of 2023-04-27 06:11:27.868928913 +00002160 for changed configuration2161 is expected to be within 2 of 2023-04-27 06:11:27.966600956 +00002162 for public project with container registry `private`2163 when pulling2164 behaves like an inaccessible2165 is expected to include {"access" => []}2166 behaves like a valid token2167 is expected to include :token2168 is expected to include "access"2169 a expirable2170 for default configuration2171 is expected not to be within 2 of 2023-04-27 06:11:28.555254280 +00002172 for changed configuration2173 is expected to be within 2 of 2023-04-27 06:11:28.641570143 +00002174 for internal project2175 when pulling2176 behaves like an inaccessible2177 is expected to include {"access" => []}2178 behaves like a valid token2179 is expected to include :token2180 is expected to include "access"2181 a expirable2182 for default configuration2183 is expected not to be within 2 of 2023-04-27 06:11:29.152040643 +00002184 for changed configuration2185 is expected to be within 2 of 2023-04-27 06:11:29.230353967 +00002186 for private project2187 when pulling2188 behaves like an inaccessible2189 is expected to include {"access" => []}2190 behaves like a valid token2191 is expected to include :token2192 is expected to include "access"2193 a expirable2194 for default configuration2195 is expected not to be within 2 of 2023-04-27 06:11:29.773274965 +00002196 for changed configuration2197 is expected to be within 2 of 2023-04-27 06:11:29.847999478 +00002198 when deploy token has been revoked2199 for public project with container registry `enabled`2200 behaves like a pullable2201 behaves like an accessible2202 has the correct scope2203 behaves like a valid token2204 is expected to include :token2205 is expected to include "access"2206 a expirable2207 for default configuration2208 is expected not to be within 2 of 2023-04-27 06:11:30.573692972 +00002209 for changed configuration2210 is expected to be within 2 of 2023-04-27 06:11:30.724636590 +00002211 for public project with container registry `private`2212 behaves like an inaccessible2213 is expected to include {"access" => []}2214 behaves like a valid token2215 is expected to include :token2216 is expected to include "access"2217 a expirable2218 for default configuration2219 is expected not to be within 2 of 2023-04-27 06:11:31.408845706 +00002220 for changed configuration2221 is expected to be within 2 of 2023-04-27 06:11:31.528062867 +00002222 for internal project2223 behaves like an inaccessible2224 is expected to include {"access" => []}2225 behaves like a valid token2226 is expected to include :token2227 is expected to include "access"2228 a expirable2229 for default configuration2230 is expected not to be within 2 of 2023-04-27 06:11:32.208932394 +00002231 for changed configuration2232 is expected to be within 2 of 2023-04-27 06:11:33.086829666 +00002233 for private project2234 behaves like an inaccessible2235 is expected to include {"access" => []}2236 behaves like a valid token2237 is expected to include :token2238 is expected to include "access"2239 a expirable2240 for default configuration2241 is expected not to be within 2 of 2023-04-27 06:11:33.985891056 +00002242 for changed configuration2243 is expected to be within 2 of 2023-04-27 06:11:34.102834196 +00002244 user authorization2245 with multiple scopes2246 allow developer to push images2247 behaves like a pushable2248 behaves like an accessible2249 has the correct scope2250 behaves like a valid token2251 is expected to include :token2252 is expected to include "access"2253 a expirable2254 for default configuration2255 is expected not to be within 2 of 2023-04-27 06:11:34.892863445 +00002256 for changed configuration2257 is expected to be within 2 of 2023-04-27 06:11:35.010151736 +00002258 behaves like container repository factory2259 creates a new container repository resource2260 when importing2261 push request2262 behaves like a forbidden2263 is expected to include {:http_status => 403}2264 is expected not to include :token2265 behaves like containing the import error2266 includes a helpful error message2267 delete request2268 behaves like a forbidden2269 is expected to include {:http_status => 403}2270 is expected not to include :token2271 behaves like containing the import error2272 includes a helpful error message2273 * request2274 behaves like a forbidden2275 is expected to include {:http_status => 403}2276 is expected not to include :token2277 behaves like containing the import error2278 includes a helpful error message2279 pull request2280 behaves like a pullable2281 behaves like an accessible2282 has the correct scope2283 behaves like a valid token2284 is expected to include :token2285 is expected to include "access"2286 a expirable2287 for default configuration2288 is expected not to be within 2 of 2023-04-27 06:11:37.740194603 +00002289 for changed configuration2290 is expected to be within 2 of 2023-04-27 06:11:37.954751336 +00002291 mixed request2292 behaves like a forbidden2293 is expected to include {:http_status => 403}2294 is expected not to include :token2295 behaves like containing the import error2296 includes a helpful error message2297 address is outside the range2298 when actor is a deploy token with read access2299 behaves like an inaccessible2300 is expected to include {"access" => []}2301 behaves like a valid token2302 is expected to include :token2303 is expected to include "access"2304 a expirable2305 for default configuration2306 is expected not to be within 2 of 2023-04-27 06:11:38.964636597 +00002307 for changed configuration2308 is expected to be within 2 of 2023-04-27 06:11:39.090371587 +00002309 behaves like not a container repository factory2310 does not create a new container repository resource2311 behaves like logs an auth warning2312 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 time2313 in maintenance mode2314 allows developer to pull images2315 behaves like a pullable2316 behaves like an accessible2317 has the correct scope2318 behaves like a valid token2319 is expected to include :token2320 is expected to include "access"2321 a expirable2322 for default configuration2323 is expected not to be within 2 of 2023-04-27 06:11:40.607837209 +00002324 for changed configuration2325 is expected to be within 2 of 2023-04-27 06:11:40.780338085 +00002326 does not allow developer to push images2327 behaves like not a container repository factory2328 does not create a new container repository resource2329 behaves like logs an auth warning2330 is expected to receive warn({:authorized_actions=>[], :message=>"Write access denied in maintenance mode", :requested_actions=>["...pe=>"repository", :user_id=>58, :username=>"user15", :write_access_denied_in_maintenance_mode=>true}) 1 time2331 does not allow developer to delete images2332 behaves like not a container repository factory2333 does not create a new container repository resource2334 behaves like logs an auth warning2335 is expected to receive warn({:authorized_actions=>[], :message=>"Write access denied in maintenance mode", :requested_actions=>["...pe=>"repository", :user_id=>58, :username=>"user15", :write_access_denied_in_maintenance_mode=>true}) 1 time2336 when not in maintenance mode2337 behaves like a container registry auth service2338 .full_access_token2339 behaves like an accessible2340 has the correct scope2341 behaves like a valid token2342 is expected to include :token2343 is expected to include "access"2344 a expirable2345 for default configuration2346 is expected not to be within 2 of 2023-04-27 06:11:42.056181116 +00002347 for changed configuration2348 is expected to be within 2 of 2023-04-27 06:11:42.107809882 +00002349 behaves like not a container repository factory2350 does not create a new container repository resource2351 .import_access_token2352 has the correct scope2353 behaves like a valid token2354 is expected to include :token2355 is expected to include "access"2356 a expirable2357 for default configuration2358 is expected not to be within 2 of 2023-04-27 06:11:42.314405135 +00002359 for changed configuration2360 is expected to be within 2 of 2023-04-27 06:11:42.361676172 +00002361 behaves like not a container repository factory2362 does not create a new container repository resource2363 .pull_access_token2364 behaves like an accessible2365 has the correct scope2366 behaves like a valid token2367 is expected to include :token2368 is expected to include "access"2369 a expirable2370 for default configuration2371 is expected not to be within 2 of 2023-04-27 06:11:42.808853697 +00002372 for changed configuration2373 is expected to be within 2 of 2023-04-27 06:11:42.886436061 +00002374 behaves like not a container repository factory2375 does not create a new container repository resource2376 .pull_nested_repositories_access_token2377 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-04-27 06:11:43.381755042 +00002384 for changed configuration2385 is expected to be within 2 of 2023-04-27 06:11:43.432735008 +00002386 behaves like not a container repository factory2387 does not create a new container repository resource2388 with path ending with a slash2389 has the correct scope2390 behaves like a valid token2391 is expected to include :token2392 is expected to include "access"2393 a expirable2394 for default configuration2395 is expected not to be within 2 of 2023-04-27 06:11:43.647331701 +00002396 for changed configuration2397 is expected to be within 2 of 2023-04-27 06:11:43.692958338 +00002398 behaves like not a container repository factory2399 does not create a new container repository resource2400 user authorization2401 for registry catalog2402 disallow browsing for users without GitLab admin rights2403 behaves like an inaccessible2404 is expected to include {"access" => []}2405 behaves like a valid token2406 is expected to include :token2407 is expected to include "access"2408 a expirable2409 for default configuration2410 is expected not to be within 2 of 2023-04-27 06:11:43.964349217 +00002411 for changed configuration2412 is expected to be within 2 of 2023-04-27 06:11:44.005542823 +00002413 behaves like not a container repository factory2414 does not create a new container repository resource2415 for private project2416 behaves like private project2417 allow to use scope-less authentication2418 behaves like a valid token2419 is expected to include :token2420 is expected to include "access"2421 a expirable2422 for default configuration2423 is expected not to be within 2 of 2023-04-27 06:11:44.369121555 +00002424 for changed configuration2425 is expected to be within 2 of 2023-04-27 06:11:44.413077962 +00002426 behaves like with auth_type2427 is expected to eq "foo"2428 allow developer to push images2429 behaves like a pushable2430 behaves like an accessible2431 has the correct scope2432 behaves like a valid token2433 is expected to include :token2434 is expected to include "access"2435 a expirable2436 for default configuration2437 is expected not to be within 2 of 2023-04-27 06:11:44.899642984 +00002438 for changed configuration2439 is expected to be within 2 of 2023-04-27 06:11:44.997118876 +00002440 behaves like container repository factory2441 creates a new container repository resource2442 behaves like with auth_type2443 is expected to eq "foo"2444 disallow developer to delete images2445 behaves like an inaccessible2446 is expected to include {"access" => []}2447 behaves like a valid token2448 is expected to include :token2449 is expected to include "access"2450 a expirable2451 for default configuration2452 is expected not to be within 2 of 2023-04-27 06:11:45.599943429 +00002453 for changed configuration2454 is expected to be within 2 of 2023-04-27 06:11:45.689129342 +00002455 behaves like not a container repository factory2456 does not create a new container repository resource2457 behaves like logs an auth warning2458 is expected to receive warn({:authorized_actions=>[], :message=>"Denied container registry permissions", :requested_actions=>["*"...roject_path=>"namespace48/project-53", :scope_type=>"repository", :user_id=>63, :username=>"user16"}) 1 time2459 disallow developer to delete images since registry 2.72460 behaves like an inaccessible2461 is expected to include {"access" => []}2462 behaves like a valid token2463 is expected to include :token2464 is expected to include "access"2465 a expirable2466 for default configuration2467 is expected not to be within 2 of 2023-04-27 06:11:46.297297135 +00002468 for changed configuration2469 is expected to be within 2 of 2023-04-27 06:11:46.381508688 +00002470 behaves like not a container repository factory2471 does not create a new container repository resource2472 allow reporter to pull images2473 when pulling from root level repository2474 behaves like a pullable2475 behaves like an accessible2476 has the correct scope2477 behaves like a valid token2478 is expected to include :token2479 is expected to include "access"2480 a expirable2481 for default configuration2482 is expected not to be within 2 of 2023-04-27 06:11:46.830501573 +00002483 for changed configuration2484 is expected to be within 2 of 2023-04-27 06:11:46.901719397 +00002485 behaves like not a container repository factory2486 does not create a new container repository resource2487 behaves like with auth_type2488 is expected to eq "foo"2489 disallow reporter to delete images2490 behaves like an inaccessible2491 is expected to include {"access" => []}2492 behaves like a valid token2493 is expected to include :token2494 is expected to include "access"2495 a expirable2496 for default configuration2497 is expected not to be within 2 of 2023-04-27 06:11:47.455674994 +00002498 for changed configuration2499 is expected to be within 2 of 2023-04-27 06:11:47.540552558 +00002500 behaves like not a container repository factory2501 does not create a new container repository resource2502 disallow reporter to delete images since registry 2.72503 behaves like an inaccessible2504 is expected to include {"access" => []}2505 behaves like a valid token2506 is expected to include :token2507 is expected to include "access"2508 a expirable2509 for default configuration2510 is expected not to be within 2 of 2023-04-27 06:11:48.042611308 +00002511 for changed configuration2512 is expected to be within 2 of 2023-04-27 06:11:48.131602571 +00002513 behaves like not a container repository factory2514 does not create a new container repository resource2515 return a least of privileges2516 behaves like a pullable2517 behaves like an accessible2518 has the correct scope2519 behaves like a valid token2520 is expected to include :token2521 is expected to include "access"2522 a expirable2523 for default configuration2524 is expected not to be within 2 of 2023-04-27 06:11:48.673793019 +00002525 for changed configuration2526 is expected to be within 2 of 2023-04-27 06:11:48.773711621 +00002527 behaves like not a container repository factory2528 does not create a new container repository resource2529 behaves like with auth_type2530 is expected to eq "foo"2531 disallow guest to pull or push images2532 behaves like an inaccessible2533 is expected to include {"access" => []}2534 behaves like a valid token2535 is expected to include :token2536 is expected to include "access"2537 a expirable2538 for default configuration2539 is expected not to be within 2 of 2023-04-27 06:11:49.439117559 +00002540 for changed configuration2541 is expected to be within 2 of 2023-04-27 06:11:49.543420011 +00002542 behaves like not a container repository factory2543 does not create a new container repository resource2544 disallow guest to delete images2545 behaves like an inaccessible2546 is expected to include {"access" => []}2547 behaves like a valid token2548 is expected to include :token2549 is expected to include "access"2550 a expirable2551 for default configuration2552 is expected not to be within 2 of 2023-04-27 06:11:50.035707633 +00002553 for changed configuration2554 is expected to be within 2 of 2023-04-27 06:11:50.132107205 +00002555 behaves like not a container repository factory2556 does not create a new container repository resource2557 disallow guest to delete images since registry 2.72558 behaves like an inaccessible2559 is expected to include {"access" => []}2560 behaves like a valid token2561 is expected to include :token2562 is expected to include "access"2563 a expirable2564 for default configuration2565 is expected not to be within 2 of 2023-04-27 06:11:50.690831702 +00002566 for changed configuration2567 is expected to be within 2 of 2023-04-27 06:11:50.777794405 +00002568 behaves like not a container repository factory2569 does not create a new container repository resource2570 for public project with private container registry2571 behaves like private project2572 allow to use scope-less authentication2573 behaves like a valid token2574 is expected to include :token2575 is expected to include "access"2576 a expirable2577 for default configuration2578 is expected not to be within 2 of 2023-04-27 06:11:51.196339402 +00002579 for changed configuration2580 is expected to be within 2 of 2023-04-27 06:11:51.245241888 +00002581 behaves like with auth_type2582 is expected to eq "foo"2583 allow developer to push images2584 behaves like a pushable2585 behaves like an accessible2586 has the correct scope2587 behaves like a valid token2588 is expected to include :token2589 is expected to include "access"2590 a expirable2591 for default configuration2592 is expected not to be within 2 of 2023-04-27 06:11:51.768652948 +00002593 for changed configuration2594 is expected to be within 2 of 2023-04-27 06:11:51.873876480 +00002595 behaves like container repository factory2596 creates a new container repository resource2597 behaves like with auth_type2598 is expected to eq "foo"2599 disallow developer to delete images2600 behaves like an inaccessible2601 is expected to include {"access" => []}2602 behaves like a valid token2603 is expected to include :token2604 is expected to include "access"2605 a expirable2606 for default configuration2607 is expected not to be within 2 of 2023-04-27 06:11:52.480947002 +00002608 for changed configuration2609 is expected to be within 2 of 2023-04-27 06:11:52.571231675 +00002610 behaves like not a container repository factory2611 does not create a new container repository resource2612 behaves like logs an auth warning2613 is expected to receive warn({:authorized_actions=>[], :message=>"Denied container registry permissions", :requested_actions=>["*"...roject_path=>"namespace49/project-54", :scope_type=>"repository", :user_id=>63, :username=>"user16"}) 1 time2614 disallow developer to delete images since registry 2.72615 behaves like an inaccessible2616 is expected to include {"access" => []}2617 behaves like a valid token2618 is expected to include :token2619 is expected to include "access"2620 a expirable2621 for default configuration2622 is expected not to be within 2 of 2023-04-27 06:11:53.151340540 +00002623 for changed configuration2624 is expected to be within 2 of 2023-04-27 06:11:53.245784352 +00002625 behaves like not a container repository factory2626 does not create a new container repository resource2627 allow reporter to pull images2628 when pulling from root level repository2629 behaves like a pullable2630 behaves like an accessible2631 has the correct scope2632 behaves like a valid token2633 is expected to include :token2634 is expected to include "access"2635 a expirable2636 for default configuration2637 is expected not to be within 2 of 2023-04-27 06:11:53.724090365 +00002638 for changed configuration2639 is expected to be within 2 of 2023-04-27 06:11:53.805444899 +00002640 behaves like not a container repository factory2641 does not create a new container repository resource2642 behaves like with auth_type2643 is expected to eq "foo"2644 disallow reporter to delete images2645 behaves like an inaccessible2646 is expected to include {"access" => []}2647 behaves like a valid token2648 is expected to include :token2649 is expected to include "access"2650 a expirable2651 for default configuration2652 is expected not to be within 2 of 2023-04-27 06:11:54.336825017 +00002653 for changed configuration2654 is expected to be within 2 of 2023-04-27 06:11:54.416280161 +00002655 behaves like not a container repository factory2656 does not create a new container repository resource2657 disallow reporter to delete images since registry 2.72658 behaves like an inaccessible2659 is expected to include {"access" => []}2660 behaves like a valid token2661 is expected to include :token2662 is expected to include "access"2663 a expirable2664 for default configuration2665 is expected not to be within 2 of 2023-04-27 06:11:54.862059596 +00002666 for changed configuration2667 is expected to be within 2 of 2023-04-27 06:11:54.966240838 +00002668 behaves like not a container repository factory2669 does not create a new container repository resource2670 return a least of privileges2671 behaves like a pullable2672 behaves like an accessible2673 has the correct scope2674 behaves like a valid token2675 is expected to include :token2676 is expected to include "access"2677 a expirable2678 for default configuration2679 is expected not to be within 2 of 2023-04-27 06:11:55.484391187 +00002680 for changed configuration2681 is expected to be within 2 of 2023-04-27 06:11:55.581161890 +00002682 behaves like not a container repository factory2683 does not create a new container repository resource2684 behaves like with auth_type2685 is expected to eq "foo"2686 disallow guest to pull or push images2687 behaves like an inaccessible2688 is expected to include {"access" => []}2689 behaves like a valid token2690 is expected to include :token2691 is expected to include "access"2692 a expirable2693 for default configuration2694 is expected not to be within 2 of 2023-04-27 06:11:56.146678996 +00002695 for changed configuration2696 is expected to be within 2 of 2023-04-27 06:11:56.228814250 +00002697 behaves like not a container repository factory2698 does not create a new container repository resource2699 disallow guest to delete images2700 behaves like an inaccessible2701 is expected to include {"access" => []}2702 behaves like a valid token2703 is expected to include :token2704 is expected to include "access"2705 a expirable2706 for default configuration2707 is expected not to be within 2 of 2023-04-27 06:11:56.717159811 +00002708 for changed configuration2709 is expected to be within 2 of 2023-04-27 06:11:56.788339406 +00002710 behaves like not a container repository factory2711 does not create a new container repository resource2712 disallow guest to delete images since registry 2.72713 behaves like an inaccessible2714 is expected to include {"access" => []}2715 behaves like a valid token2716 is expected to include :token2717 is expected to include "access"2718 a expirable2719 for default configuration2720 is expected not to be within 2 of 2023-04-27 06:11:57.189359894 +00002721 for changed configuration2722 is expected to be within 2 of 2023-04-27 06:11:57.261364039 +00002723 behaves like not a container repository factory2724 does not create a new container repository resource2725 for public project with container_registry `enabled`2726 allow anyone to pull images2727 behaves like a pullable2728 behaves like an accessible2729 has the correct scope2730 behaves like a valid token2731 is expected to include :token2732 is expected to include "access"2733 a expirable2734 for default configuration2735 is expected not to be within 2 of 2023-04-27 06:11:57.841889374 +00002736 for changed configuration2737 is expected to be within 2 of 2023-04-27 06:11:57.943382466 +00002738 behaves like not a container repository factory2739 does not create a new container repository resource2740 behaves like with auth_type2741 is expected to eq "foo"2742 disallow anyone to push images2743 behaves like an inaccessible2744 is expected to include {"access" => []}2745 behaves like a valid token2746 is expected to include :token2747 is expected to include "access"2748 a expirable2749 for default configuration2750 is expected not to be within 2 of 2023-04-27 06:11:58.370324172 +00002751 for changed configuration2752 is expected to be within 2 of 2023-04-27 06:11:58.442093347 +00002753 behaves like not a container repository factory2754 does not create a new container repository resource2755 disallow anyone to delete images2756 behaves like an inaccessible2757 is expected to include {"access" => []}2758 behaves like a valid token2759 is expected to include :token2760 is expected to include "access"2761 a expirable2762 for default configuration2763 is expected not to be within 2 of 2023-04-27 06:11:58.782955060 +00002764 for changed configuration2765 is expected to be within 2 of 2023-04-27 06:11:58.854450394 +00002766 behaves like not a container repository factory2767 does not create a new container repository resource2768 disallow anyone to delete images since registry 2.72769 behaves like an inaccessible2770 is expected to include {"access" => []}2771 behaves like a valid token2772 is expected to include :token2773 is expected to include "access"2774 a expirable2775 for default configuration2776 is expected not to be within 2 of 2023-04-27 06:11:59.218006096 +00002777 for changed configuration2778 is expected to be within 2 of 2023-04-27 06:11:59.300847840 +00002779 behaves like not a container repository factory2780 does not create a new container repository resource2781 when repository name is invalid2782 behaves like an inaccessible2783 is expected to include {"access" => []}2784 behaves like a valid token2785 is expected to include :token2786 is expected to include "access"2787 a expirable2788 for default configuration2789 is expected not to be within 2 of 2023-04-27 06:11:59.544140071 +00002790 for changed configuration2791 is expected to be within 2 of 2023-04-27 06:11:59.590221947 +00002792 behaves like not a container repository factory2793 does not create a new container repository resource2794 for internal project with container_registry `enabled`2795 for internal user2796 allow anyone to pull images2797 behaves like a pullable2798 behaves like an accessible2799 has the correct scope2800 behaves like a valid token2801 is expected to include :token2802 is expected to include "access"2803 a expirable2804 for default configuration2805 is expected not to be within 2 of 2023-04-27 06:12:00.130513685 +00002806 for changed configuration2807 is expected to be within 2 of 2023-04-27 06:12:00.205394339 +00002808 behaves like not a container repository factory2809 does not create a new container repository resource2810 behaves like with auth_type2811 is expected to eq "foo"2812 disallow anyone to push images2813 behaves like an inaccessible2814 is expected to include {"access" => []}2815 behaves like a valid token2816 is expected to include :token2817 is expected to include "access"2818 a expirable2819 for default configuration2820 is expected not to be within 2 of 2023-04-27 06:12:01.592544361 +00002821 for changed configuration2822 is expected to be within 2 of 2023-04-27 06:12:01.671436595 +00002823 behaves like not a container repository factory2824 does not create a new container repository resource2825 disallow anyone to delete images2826 behaves like an inaccessible2827 is expected to include {"access" => []}2828 behaves like a valid token2829 is expected to include :token2830 is expected to include "access"2831 a expirable2832 for default configuration2833 is expected not to be within 2 of 2023-04-27 06:12:02.046865915 +00002834 for changed configuration2835 is expected to be within 2 of 2023-04-27 06:12:02.125001829 +00002836 behaves like not a container repository factory2837 does not create a new container repository resource2838 disallow anyone to delete images since registry 2.72839 behaves like an inaccessible2840 is expected to include {"access" => []}2841 behaves like a valid token2842 is expected to include :token2843 is expected to include "access"2844 a expirable2845 for default configuration2846 is expected not to be within 2 of 2023-04-27 06:12:02.524313538 +00002847 for changed configuration2848 is expected to be within 2 of 2023-04-27 06:12:02.610593892 +00002849 behaves like not a container repository factory2850 does not create a new container repository resource2851 for external user2852 disallow anyone to pull or push images2853 behaves like an inaccessible2854 is expected to include {"access" => []}2855 behaves like a valid token2856 is expected to include :token2857 is expected to include "access"2858 a expirable2859 for default configuration2860 is expected not to be within 2 of 2023-04-27 06:12:03.117698752 +00002861 for changed configuration2862 is expected to be within 2 of 2023-04-27 06:12:03.206950965 +00002863 behaves like not a container repository factory2864 does not create a new container repository resource2865 disallow anyone to delete images2866 behaves like an inaccessible2867 is expected to include {"access" => []}2868 behaves like a valid token2869 is expected to include :token2870 is expected to include "access"2871 a expirable2872 for default configuration2873 is expected not to be within 2 of 2023-04-27 06:12:03.682555278 +00002874 for changed configuration2875 is expected to be within 2 of 2023-04-27 06:12:03.762992251 +00002876 behaves like not a container repository factory2877 does not create a new container repository resource2878 disallow anyone to delete images since registry 2.72879 behaves like an inaccessible2880 is expected to include {"access" => []}2881 behaves like a valid token2882 is expected to include :token2883 is expected to include "access"2884 a expirable2885 for default configuration2886 is expected not to be within 2 of 2023-04-27 06:12:04.203133857 +00002887 for changed configuration2888 is expected to be within 2 of 2023-04-27 06:12:04.284379051 +00002889 behaves like not a container repository factory2890 does not create a new container repository resource2891 for internal project with private container registry2892 behaves like private project2893 allow to use scope-less authentication2894 behaves like a valid token2895 is expected to include :token2896 is expected to include "access"2897 a expirable2898 for default configuration2899 is expected not to be within 2 of 2023-04-27 06:12:04.719991607 +00002900 for changed configuration2901 is expected to be within 2 of 2023-04-27 06:12:04.766843543 +00002902 behaves like with auth_type2903 is expected to eq "foo"2904 allow developer to push images2905 behaves like a pushable2906 behaves like an accessible2907 has the correct scope2908 behaves like a valid token2909 is expected to include :token2910 is expected to include "access"2911 a expirable2912 for default configuration2913 is expected not to be within 2 of 2023-04-27 06:12:05.296325211 +00002914 for changed configuration2915 is expected to be within 2 of 2023-04-27 06:12:05.401824134 +00002916 behaves like container repository factory2917 creates a new container repository resource2918 behaves like with auth_type2919 is expected to eq "foo"2920 disallow developer to delete images2921 behaves like an inaccessible2922 is expected to include {"access" => []}2923 behaves like a valid token2924 is expected to include :token2925 is expected to include "access"2926 a expirable2927 for default configuration2928 is expected not to be within 2 of 2023-04-27 06:12:06.011750016 +00002929 for changed configuration2930 is expected to be within 2 of 2023-04-27 06:12:06.102513189 +00002931 behaves like not a container repository factory2932 does not create a new container repository resource2933 behaves like logs an auth warning2934 is expected to receive warn({:authorized_actions=>[], :message=>"Denied container registry permissions", :requested_actions=>["*"...roject_path=>"namespace52/project-57", :scope_type=>"repository", :user_id=>63, :username=>"user16"}) 1 time2935 disallow developer to delete images since registry 2.72936 behaves like an inaccessible2937 is expected to include {"access" => []}2938 behaves like a valid token2939 is expected to include :token2940 is expected to include "access"2941 a expirable2942 for default configuration2943 is expected not to be within 2 of 2023-04-27 06:12:06.678991864 +00002944 for changed configuration2945 is expected to be within 2 of 2023-04-27 06:12:06.769015577 +00002946 behaves like not a container repository factory2947 does not create a new container repository resource2948 allow reporter to pull images2949 when pulling from root level repository2950 behaves like a pullable2951 behaves like an accessible2952 has the correct scope2953 behaves like a valid token2954 is expected to include :token2955 is expected to include "access"2956 a expirable2957 for default configuration2958 is expected not to be within 2 of 2023-04-27 06:12:07.191847574 +00002959 for changed configuration2960 is expected to be within 2 of 2023-04-27 06:12:07.264219288 +00002961 behaves like not a container repository factory2962 does not create a new container repository resource2963 behaves like with auth_type2964 is expected to eq "foo"2965 disallow reporter to delete images2966 behaves like an inaccessible2967 is expected to include {"access" => []}2968 behaves like a valid token2969 is expected to include :token2970 is expected to include "access"2971 a expirable2972 for default configuration2973 is expected not to be within 2 of 2023-04-27 06:12:07.853422492 +00002974 for changed configuration2975 is expected to be within 2 of 2023-04-27 06:12:07.933027356 +00002976 behaves like not a container repository factory2977 does not create a new container repository resource2978 disallow reporter to delete images since registry 2.72979 behaves like an inaccessible2980 is expected to include {"access" => []}2981 behaves like a valid token2982 is expected to include :token2983 is expected to include "access"2984 a expirable2985 for default configuration2986 is expected not to be within 2 of 2023-04-27 06:12:08.376699811 +00002987 for changed configuration2988 is expected to be within 2 of 2023-04-27 06:12:08.453993665 +00002989 behaves like not a container repository factory2990 does not create a new container repository resource2991 return a least of privileges2992 behaves like a pullable2993 behaves like an accessible2994 has the correct scope2995 behaves like a valid token2996 is expected to include :token2997 is expected to include "access"2998 a expirable2999 for default configuration3000 is expected not to be within 2 of 2023-04-27 06:12:08.948968017 +00003001 for changed configuration3002 is expected to be within 2 of 2023-04-27 06:12:09.037096980 +00003003 behaves like not a container repository factory3004 does not create a new container repository resource3005 behaves like with auth_type3006 is expected to eq "foo"3007 disallow guest to pull or push images3008 behaves like an inaccessible3009 is expected to include {"access" => []}3010 behaves like a valid token3011 is expected to include :token3012 is expected to include "access"3013 a expirable3014 for default configuration3015 is expected not to be within 2 of 2023-04-27 06:12:09.634056913 +00003016 for changed configuration3017 is expected to be within 2 of 2023-04-27 06:12:09.722469176 +00003018 behaves like not a container repository factory3019 does not create a new container repository resource3020 disallow guest to delete images3021 behaves like an inaccessible3022 is expected to include {"access" => []}3023 behaves like a valid token3024 is expected to include :token3025 is expected to include "access"3026 a expirable3027 for default configuration3028 is expected not to be within 2 of 2023-04-27 06:12:10.169660081 +00003029 for changed configuration3030 is expected to be within 2 of 2023-04-27 06:12:10.243942706 +00003031 behaves like not a container repository factory3032 does not create a new container repository resource3033 disallow guest to delete images since registry 2.73034 behaves like an inaccessible3035 is expected to include {"access" => []}3036 behaves like a valid token3037 is expected to include :token3038 is expected to include "access"3039 a expirable3040 for default configuration3041 is expected not to be within 2 of 2023-04-27 06:12:10.652052684 +00003042 for changed configuration3043 is expected to be within 2 of 2023-04-27 06:12:10.750328906 +00003044 behaves like not a container repository factory3045 does not create a new container repository resource3046 delete authorized as maintainer3047 behaves like allowed to delete container repository images3048 behaves like a valid token3049 is expected to include :token3050 is expected to include "access"3051 a expirable3052 for default configuration3053 is expected not to be within 2 of 2023-04-27 06:12:11.273768825 +00003054 for changed configuration3055 is expected to be within 2 of 2023-04-27 06:12:11.321482932 +00003056 allow to delete images3057 behaves like a deletable3058 behaves like an accessible3059 has the correct scope3060 behaves like a valid token3061 is expected to include :token3062 is expected to include "access"3063 a expirable3064 for default configuration3065 is expected not to be within 2 of 2023-04-27 06:12:11.612297499 +00003066 for changed configuration3067 is expected to be within 2 of 2023-04-27 06:12:11.687856983 +00003068 allow to delete images since registry 2.73069 behaves like a deletable since registry 2.73070 behaves like an accessible3071 has the correct scope3072 behaves like a valid token3073 is expected to include :token3074 is expected to include "access"3075 a expirable3076 for default configuration3077 is expected not to be within 2 of 2023-04-27 06:12:11.974918300 +00003078 for changed configuration3079 is expected to be within 2 of 2023-04-27 06:12:12.056137764 +00003080 build authorized as user3081 allow to use offline_token3082 behaves like an authenticated3083 is expected to include :token3084 is expected to include "access"3085 behaves like a valid token3086 is expected to include :token3087 is expected to include "access"3088 a expirable3089 for default configuration3090 is expected not to be within 2 of 2023-04-27 06:12:12.659187857 +00003091 for changed configuration3092 is expected to be within 2 of 2023-04-27 06:12:12.707361063 +00003093 behaves like with auth_type3094 is expected to eq "foo"3095 allow to pull and push images3096 behaves like a pullable and pushable3097 behaves like an accessible3098 has the correct scope3099 behaves like a valid token3100 is expected to include :token3101 is expected to include "access"3102 a expirable3103 for default configuration3104 is expected not to be within 2 of 2023-04-27 06:12:13.041359017 +00003105 for changed configuration3106 is expected to be within 2 of 2023-04-27 06:12:13.125144841 +00003107 behaves like container repository factory3108 creates a new container repository resource3109 allow to delete images since registry 2.73110 behaves like a deletable since registry 2.73111 behaves like an accessible3112 has the correct scope3113 behaves like a valid token3114 is expected to include :token3115 is expected to include "access"3116 a expirable3117 for default configuration3118 is expected not to be within 2 of 2023-04-27 06:12:13.456717815 +00003119 for changed configuration3120 is expected to be within 2 of 2023-04-27 06:12:13.523154350 +00003121 disallow to delete images3122 behaves like an inaccessible3123 is expected to include {"access" => []}3124 behaves like a valid token3125 is expected to include :token3126 is expected to include "access"3127 a expirable3128 for default configuration3129 is expected not to be within 2 of 2023-04-27 06:12:13.783934789 +00003130 for changed configuration3131 is expected to be within 2 of 2023-04-27 06:12:13.847663904 +00003132 for other projects3133 when pulling3134 allow for public3135 behaves like a pullable3136 behaves like an accessible3137 has the correct scope3138 behaves like a valid token3139 is expected to include :token3140 is expected to include "access"3141 a expirable3142 for default configuration3143 is expected not to be within 2 of 2023-04-27 06:12:14.343382726 +00003144 for changed configuration3145 is expected to be within 2 of 2023-04-27 06:12:14.413481290 +00003146 behaves like not a container repository factory3147 does not create a new container repository resource3148 for private3149 behaves like pullable for being team member3150 when you are not member3151 behaves like an inaccessible3152 is expected to include {"access" => []}3153 behaves like a valid token3154 is expected to include :token3155 is expected to include "access"3156 a expirable3157 for default configuration3158 is expected not to be within 2 of 2023-04-27 06:12:14.962084408 +00003159 for changed configuration3160 is expected to be within 2 of 2023-04-27 06:12:15.031149392 +00003161 behaves like not a container repository factory3162 does not create a new container repository resource3163 when you are member3164 behaves like a pullable3165 behaves like an accessible3166 has the correct scope3167 behaves like a valid token3168 is expected to include :token3169 is expected to include "access"3170 a expirable3171 for default configuration3172 is expected not to be within 2 of 2023-04-27 06:12:15.476345057 +00003173 for changed configuration3174 is expected to be within 2 of 2023-04-27 06:12:15.554348801 +00003175 behaves like not a container repository factory3176 does not create a new container repository resource3177 when you are owner3178 behaves like a pullable3179 behaves like an accessible3180 has the correct scope3181 behaves like a valid token3182 is expected to include :token3183 is expected to include "access"3184 a expirable3185 for default configuration3186 is expected not to be within 2 of 2023-04-27 06:12:16.043684123 +00003187 for changed configuration3188 is expected to be within 2 of 2023-04-27 06:12:16.112915367 +00003189 behaves like not a container repository factory3190 does not create a new container repository resource3191 when you are admin3192 when you are not member3193 behaves like an inaccessible3194 is expected to include {"access" => []}3195 behaves like a valid token3196 is expected to include :token3197 is expected to include "access"3198 a expirable3199 for default configuration3200 is expected not to be within 2 of 2023-04-27 06:12:16.491807458 +00003201 for changed configuration3202 is expected to be within 2 of 2023-04-27 06:12:16.556247653 +00003203 behaves like not a container repository factory3204 does not create a new container repository resource3205 when you are member3206 behaves like a pullable3207 behaves like an accessible3208 has the correct scope3209 behaves like a valid token3210 is expected to include :token3211 is expected to include "access"3212 a expirable3213 for default configuration3214 is expected not to be within 2 of 2023-04-27 06:12:16.975293080 +00003215 for changed configuration3216 is expected to be within 2 of 2023-04-27 06:12:17.045054935 +00003217 behaves like not a container repository factory3218 does not create a new container repository resource3219 when you are owner3220 behaves like a pullable3221 behaves like an accessible3222 has the correct scope3223 behaves like a valid token3224 is expected to include :token3225 is expected to include "access"3226 a expirable3227 for default configuration3228 is expected not to be within 2 of 2023-04-27 06:12:17.517055768 +00003229 for changed configuration3230 is expected to be within 2 of 2023-04-27 06:12:17.594514752 +00003231 behaves like not a container repository factory3232 does not create a new container repository resource3233 for public project with private container registry3234 behaves like pullable for being team member3235 when you are not member3236 behaves like an inaccessible3237 is expected to include {"access" => []}3238 behaves like a valid token3239 is expected to include :token3240 is expected to include "access"3241 a expirable3242 for default configuration3243 is expected not to be within 2 of 2023-04-27 06:12:18.227195642 +00003244 for changed configuration3245 is expected to be within 2 of 2023-04-27 06:12:18.301792707 +00003246 behaves like not a container repository factory3247 does not create a new container repository resource3248 when you are member3249 behaves like a pullable3250 behaves like an accessible3251 has the correct scope3252 behaves like a valid token3253 is expected to include :token3254 is expected to include "access"3255 a expirable3256 for default configuration3257 is expected not to be within 2 of 2023-04-27 06:12:18.732588873 +00003258 for changed configuration3259 is expected to be within 2 of 2023-04-27 06:12:18.823772306 +00003260 behaves like not a container repository factory3261 does not create a new container repository resource3262 when you are owner3263 behaves like a pullable3264 behaves like an accessible3265 has the correct scope3266 behaves like a valid token3267 is expected to include :token3268 is expected to include "access"3269 a expirable3270 for default configuration3271 is expected not to be within 2 of 2023-04-27 06:12:19.386641312 +00003272 for changed configuration3273 is expected to be within 2 of 2023-04-27 06:12:19.480685894 +00003274 behaves like not a container repository factory3275 does not create a new container repository resource3276 when you are admin3277 behaves like pullable for being team member3278 when you are not member3279 behaves like an inaccessible3280 is expected to include {"access" => []}3281 behaves like a valid token3282 is expected to include :token3283 is expected to include "access"3284 a expirable3285 for default configuration3286 is expected not to be within 2 of 2023-04-27 06:12:20.000330634 +00003287 for changed configuration3288 is expected to be within 2 of 2023-04-27 06:12:20.069183599 +00003289 behaves like not a container repository factory3290 does not create a new container repository resource3291 when you are member3292 behaves like a pullable3293 behaves like an accessible3294 has the correct scope3295 behaves like a valid token3296 is expected to include :token3297 is expected to include "access"3298 a expirable3299 for default configuration3300 is expected not to be within 2 of 2023-04-27 06:12:20.506813785 +00003301 for changed configuration3302 is expected to be within 2 of 2023-04-27 06:12:20.587279328 +00003303 behaves like not a container repository factory3304 does not create a new container repository resource3305 when you are owner3306 behaves like a pullable3307 behaves like an accessible3308 has the correct scope3309 behaves like a valid token3310 is expected to include :token3311 is expected to include "access"3312 a expirable3313 for default configuration3314 is expected not to be within 2 of 2023-04-27 06:12:21.112306447 +00003315 for changed configuration3316 is expected to be within 2 of 2023-04-27 06:12:21.217927589 +00003317 behaves like not a container repository factory3318 does not create a new container repository resource3319 when pushing3320 disallow for all3321 when you are member3322 behaves like an inaccessible3323 is expected to include {"access" => []}3324 behaves like a valid token3325 is expected to include :token3326 is expected to include "access"3327 a expirable3328 for default configuration3329 is expected not to be within 2 of 2023-04-27 06:12:21.856840519 +00003330 for changed configuration3331 is expected to be within 2 of 2023-04-27 06:12:21.925132974 +00003332 behaves like not a container repository factory3333 does not create a new container repository resource3334 when you are owner3335 behaves like an inaccessible3336 is expected to include {"access" => []}3337 behaves like a valid token3338 is expected to include :token3339 is expected to include "access"3340 a expirable3341 for default configuration3342 is expected not to be within 2 of 2023-04-27 06:12:22.396691467 +00003343 for changed configuration3344 is expected to be within 2 of 2023-04-27 06:12:22.464577592 +00003345 behaves like not a container repository factory3346 does not create a new container repository resource3347 for project without container registry3348 disallow when pulling3349 behaves like an inaccessible3350 is expected to include {"access" => []}3351 behaves like a valid token3352 is expected to include :token3353 is expected to include "access"3354 a expirable3355 for default configuration3356 is expected not to be within 2 of 2023-04-27 06:12:23.041918207 +00003357 for changed configuration3358 is expected to be within 2 of 2023-04-27 06:12:23.111595661 +00003359 behaves like not a container repository factory3360 does not create a new container repository resource3361 for project that disables repository3362 disallow when pulling3363 behaves like an inaccessible3364 is expected to include {"access" => []}3365 behaves like a valid token3366 is expected to include :token3367 is expected to include "access"3368 a expirable3369 for default configuration3370 is expected not to be within 2 of 2023-04-27 06:12:23.596375804 +00003371 for changed configuration3372 is expected to be within 2 of 2023-04-27 06:12:23.658082138 +00003373 behaves like not a container repository factory3374 does not create a new container repository resource3375 registry catalog browsing authorized as admin3376 behaves like a browsable3377 has the correct scope3378 behaves like a valid token3379 is expected to include :token3380 is expected to include "access"3381 a expirable3382 for default configuration3383 is expected not to be within 2 of 2023-04-27 06:12:24.166692049 +00003384 for changed configuration3385 is expected to be within 2 of 2023-04-27 06:12:24.209451586 +00003386 behaves like not a container repository factory3387 does not create a new container repository resource3388 support for multiple scopes3389 user has access to all projects3390 behaves like a browsable3391 has the correct scope3392 behaves like a valid token3393 is expected to include :token3394 is expected to include "access"3395 a expirable3396 for default configuration3397 is expected not to be within 2 of 2023-04-27 06:12:25.617266266 +00003398 for changed configuration3399 is expected to be within 2 of 2023-04-27 06:12:25.730011197 +00003400 behaves like not a container repository factory3401 does not create a new container repository resource3402 user only has access to internal and public projects3403 behaves like a browsable3404 has the correct scope3405 behaves like a valid token3406 is expected to include :token3407 is expected to include "access"3408 a expirable3409 for default configuration3410 is expected not to be within 2 of 2023-04-27 06:12:26.453637210 +00003411 for changed configuration3412 is expected to be within 2 of 2023-04-27 06:12:26.611177868 +00003413 behaves like not a container repository factory3414 does not create a new container repository resource3415 anonymous user has access only to public project3416 behaves like a browsable3417 has the correct scope3418 behaves like a valid token3419 is expected to include :token3420 is expected to include "access"3421 a expirable3422 for default configuration3423 is expected not to be within 2 of 2023-04-27 06:12:27.222352651 +00003424 for changed configuration3425 is expected to be within 2 of 2023-04-27 06:12:27.338526411 +00003426 behaves like not a container repository factory3427 does not create a new container repository resource3428 with no public container registry3429 behaves like a forbidden3430 is expected to include {:http_status => 403}3431 is expected not to include :token3432 unauthorized3433 disallow to use scope-less authentication3434 behaves like a forbidden3435 is expected to include {:http_status => 403}3436 is expected not to include :token3437 behaves like not a container repository factory3438 does not create a new container repository resource3439 for invalid scope3440 behaves like a forbidden3441 is expected to include {:http_status => 403}3442 is expected not to include :token3443 behaves like not a container repository factory3444 does not create a new container repository resource3445 for private project3446 behaves like a forbidden3447 is expected to include {:http_status => 403}3448 is expected not to include :token3449 for public project with container registry `enabled`3450 when pulling and pushing3451 behaves like a pullable3452 behaves like an accessible3453 has the correct scope3454 behaves like a valid token3455 is expected to include :token3456 is expected to include "access"3457 a expirable3458 for default configuration3459 is expected not to be within 2 of 2023-04-27 06:12:29.883855443 +00003460 for changed configuration3461 is expected to be within 2 of 2023-04-27 06:12:29.985343725 +00003462 behaves like not a container repository factory3463 does not create a new container repository resource3464 when pushing3465 behaves like a forbidden3466 is expected to include {:http_status => 403}3467 is expected not to include :token3468 behaves like not a container repository factory3469 does not create a new container repository resource3470 for public project with container registry `private`3471 when pulling and pushing3472 behaves like a forbidden3473 is expected to include {:http_status => 403}3474 is expected not to include :token3475 behaves like not a container repository factory3476 does not create a new container repository resource3477 for registry catalog3478 behaves like a forbidden3479 is expected to include {:http_status => 403}3480 is expected not to include :token3481 behaves like not a container repository factory3482 does not create a new container repository resource3483 for deploy tokens3484 when deploy token has read and write registry as scopes3485 for public project3486 when pulling3487 behaves like a pullable3488 behaves like an accessible3489 has the correct scope3490 behaves like a valid token3491 is expected to include :token3492 is expected to include "access"3493 a expirable3494 for default configuration3495 is expected not to be within 2 of 2023-04-27 06:12:31.520109935 +00003496 for changed configuration3497 is expected to be within 2 of 2023-04-27 06:12:31.630340756 +00003498 when pushing3499 behaves like a pushable3500 behaves like an accessible3501 has the correct scope3502 behaves like a valid token3503 is expected to include :token3504 is expected to include "access"3505 a expirable3506 for default configuration3507 is expected not to be within 2 of 2023-04-27 06:12:32.176292374 +00003508 for changed configuration3509 is expected to be within 2 of 2023-04-27 06:12:32.309529573 +00003510 behaves like able to login3511 registry provides read_container_image authentication_abilities3512 is expected to eq "deploy_token"3513 behaves like an authenticated3514 is expected to include :token3515 is expected to include "access"3516 for internal project3517 when pulling3518 behaves like a pullable3519 behaves like an accessible3520 has the correct scope3521 behaves like a valid token3522 is expected to include :token3523 is expected to include "access"3524 a expirable3525 for default configuration3526 is expected not to be within 2 of 2023-04-27 06:12:33.160514137 +00003527 for changed configuration3528 is expected to be within 2 of 2023-04-27 06:12:33.273965188 +00003529 when pushing3530 behaves like a pushable3531 behaves like an accessible3532 has the correct scope3533 behaves like a valid token3534 is expected to include :token3535 is expected to include "access"3536 a expirable3537 for default configuration3538 is expected not to be within 2 of 2023-04-27 06:12:33.835201564 +00003539 for changed configuration3540 is expected to be within 2 of 2023-04-27 06:12:33.968844184 +00003541 behaves like able to login3542 registry provides read_container_image authentication_abilities3543 is expected to eq "deploy_token"3544 behaves like an authenticated3545 is expected to include :token3546 is expected to include "access"3547 for private project3548 when pulling3549 behaves like a pullable3550 behaves like an accessible3551 has the correct scope3552 behaves like a valid token3553 is expected to include :token3554 is expected to include "access"3555 a expirable3556 for default configuration3557 is expected not to be within 2 of 2023-04-27 06:12:34.820727147 +00003558 for changed configuration3559 is expected to be within 2 of 2023-04-27 06:12:34.941579288 +00003560 when pushing3561 behaves like a pushable3562 behaves like an accessible3563 has the correct scope3564 behaves like a valid token3565 is expected to include :token3566 is expected to include "access"3567 a expirable3568 for default configuration3569 is expected not to be within 2 of 2023-04-27 06:12:35.535462272 +00003570 for changed configuration3571 is expected to be within 2 of 2023-04-27 06:12:35.688601280 +00003572 behaves like able to login3573 registry provides read_container_image authentication_abilities3574 is expected to eq "deploy_token"3575 behaves like an authenticated3576 is expected to include :token3577 is expected to include "access"3578 for public project with private container registry3579 when pulling3580 behaves like a pullable3581 behaves like an accessible3582 has the correct scope3583 behaves like a valid token3584 is expected to include :token3585 is expected to include "access"3586 a expirable3587 for default configuration3588 is expected not to be within 2 of 2023-04-27 06:12:36.747814917 +00003589 for changed configuration3590 is expected to be within 2 of 2023-04-27 06:12:36.925273063 +00003591 when pushing3592 behaves like a pushable3593 behaves like an accessible3594 has the correct scope3595 behaves like a valid token3596 is expected to include :token3597 is expected to include "access"3598 a expirable3599 for default configuration3600 is expected not to be within 2 of 2023-04-27 06:12:37.619765389 +00003601 for changed configuration3602 is expected to be within 2 of 2023-04-27 06:12:37.761855798 +00003603 behaves like able to login3604 registry provides read_container_image authentication_abilities3605 is expected to eq "deploy_token"3606 behaves like an authenticated3607 is expected to include :token3608 is expected to include "access"3609 when deploy token does not have read_registry scope3610 for public project with container registry `enabled`3611 when pulling3612 behaves like a pullable3613 behaves like an accessible3614 has the correct scope3615 behaves like a valid token3616 is expected to include :token3617 is expected to include "access"3618 a expirable3619 for default configuration3620 is expected not to be within 2 of 2023-04-27 06:12:38.701462604 +00003621 for changed configuration3622 is expected to be within 2 of 2023-04-27 06:12:38.823648065 +00003623 behaves like unable to login3624 registry provides no container authentication_abilities3625 behaves like a forbidden3626 is expected to include {:http_status => 403}3627 is expected not to include :token3628 registry provides inapplicable container authentication_abilities3629 behaves like a forbidden3630 is expected to include {:http_status => 403}3631 is expected not to include :token3632 for public project with container registry `private`3633 when pulling3634 behaves like an inaccessible3635 is expected to include {"access" => []}3636 behaves like a valid token3637 is expected to include :token3638 is expected to include "access"3639 a expirable3640 for default configuration3641 is expected not to be within 2 of 2023-04-27 06:12:39.886107212 +00003642 for changed configuration3643 is expected to be within 2 of 2023-04-27 06:12:40.010102502 +00003644 behaves like unable to login3645 registry provides no container authentication_abilities3646 behaves like a forbidden3647 is expected to include {:http_status => 403}3648 is expected not to include :token3649 registry provides inapplicable container authentication_abilities3650 behaves like a forbidden3651 is expected to include {:http_status => 403}3652 is expected not to include :token3653 for internal project3654 when pulling3655 behaves like an inaccessible3656 is expected to include {"access" => []}3657 behaves like a valid token3658 is expected to include :token3659 is expected to include "access"3660 a expirable3661 for default configuration3662 is expected not to be within 2 of 2023-04-27 06:12:41.020125633 +00003663 for changed configuration3664 is expected to be within 2 of 2023-04-27 06:12:41.125365075 +00003665 behaves like unable to login3666 registry provides no container authentication_abilities3667 behaves like a forbidden3668 is expected to include {:http_status => 403}3669 is expected not to include :token3670 registry provides inapplicable container authentication_abilities3671 behaves like a forbidden3672 is expected to include {:http_status => 403}3673 is expected not to include :token3674 for private project3675 when pulling3676 behaves like an inaccessible3677 is expected to include {"access" => []}3678 behaves like a valid token3679 is expected to include :token3680 is expected to include "access"3681 a expirable3682 for default configuration3683 is expected not to be within 2 of 2023-04-27 06:12:42.031826395 +00003684 for changed configuration3685 is expected to be within 2 of 2023-04-27 06:12:42.139087666 +00003686 when logging in3687 behaves like a forbidden3688 is expected to include {:http_status => 403}3689 is expected not to include :token3690 behaves like unable to login3691 registry provides no container authentication_abilities3692 behaves like a forbidden3693 is expected to include {:http_status => 403}3694 is expected not to include :token3695 registry provides inapplicable container authentication_abilities3696 behaves like a forbidden3697 is expected to include {:http_status => 403}3698 is expected not to include :token3699 when deploy token is not related to the project3700 for public project with container registry `enabled`3701 when pulling3702 behaves like a pullable3703 behaves like an accessible3704 has the correct scope3705 behaves like a valid token3706 is expected to include :token3707 is expected to include "access"3708 a expirable3709 for default configuration3710 is expected not to be within 2 of 2023-04-27 06:12:43.034574756 +00003711 for changed configuration3712 is expected to be within 2 of 2023-04-27 06:12:43.131176209 +00003713 for public project with container registry `private`3714 when pulling3715 behaves like an inaccessible3716 is expected to include {"access" => []}3717 behaves like a valid token3718 is expected to include :token3719 is expected to include "access"3720 a expirable3721 for default configuration3722 is expected not to be within 2 of 2023-04-27 06:12:43.626338650 +00003723 for changed configuration3724 is expected to be within 2 of 2023-04-27 06:12:43.698651574 +00003725 for internal project3726 when pulling3727 behaves like an inaccessible3728 is expected to include {"access" => []}3729 behaves like a valid token3730 is expected to include :token3731 is expected to include "access"3732 a expirable3733 for default configuration3734 is expected not to be within 2 of 2023-04-27 06:12:44.118217961 +00003735 for changed configuration3736 is expected to be within 2 of 2023-04-27 06:12:44.176560687 +00003737 for private project3738 when pulling3739 behaves like an inaccessible3740 is expected to include {"access" => []}3741 behaves like a valid token3742 is expected to include :token3743 is expected to include "access"3744 a expirable3745 for default configuration3746 is expected not to be within 2 of 2023-04-27 06:12:44.690254887 +00003747 for changed configuration3748 is expected to be within 2 of 2023-04-27 06:12:44.760607202 +00003749 when deploy token has been revoked3750 for public project with container registry `enabled`3751 behaves like a pullable3752 behaves like an accessible3753 has the correct scope3754 behaves like a valid token3755 is expected to include :token3756 is expected to include "access"3757 a expirable3758 for default configuration3759 is expected not to be within 2 of 2023-04-27 06:12:45.404219081 +00003760 for changed configuration3761 is expected to be within 2 of 2023-04-27 06:12:45.508281433 +00003762 for public project with container registry `private`3763 behaves like an inaccessible3764 is expected to include {"access" => []}3765 behaves like a valid token3766 is expected to include :token3767 is expected to include "access"3768 a expirable3769 for default configuration3770 is expected not to be within 2 of 2023-04-27 06:12:46.087443118 +00003771 for changed configuration3772 is expected to be within 2 of 2023-04-27 06:12:46.199384049 +00003773 for internal project3774 behaves like an inaccessible3775 is expected to include {"access" => []}3776 behaves like a valid token3777 is expected to include :token3778 is expected to include "access"3779 a expirable3780 for default configuration3781 is expected not to be within 2 of 2023-04-27 06:12:46.880426956 +00003782 for changed configuration3783 is expected to be within 2 of 2023-04-27 06:12:46.978395778 +00003784 for private project3785 behaves like an inaccessible3786 is expected to include {"access" => []}3787 behaves like a valid token3788 is expected to include :token3789 is expected to include "access"3790 a expirable3791 for default configuration3792 is expected not to be within 2 of 2023-04-27 06:12:47.540665145 +00003793 for changed configuration3794 is expected to be within 2 of 2023-04-27 06:12:47.661626405 +00003795 user authorization3796 with multiple scopes3797 allow developer to push images3798 behaves like a pushable3799 behaves like an accessible3800 has the correct scope3801 behaves like a valid token3802 is expected to include :token3803 is expected to include "access"3804 a expirable3805 for default configuration3806 is expected not to be within 2 of 2023-04-27 06:12:48.425378825 +00003807 for changed configuration3808 is expected to be within 2 of 2023-04-27 06:12:48.514103759 +00003809 behaves like container repository factory3810 creates a new container repository resource3811 when importing3812 push request3813 behaves like a forbidden3814 is expected to include {:http_status => 403}3815 is expected not to include :token3816 behaves like containing the import error3817 includes a helpful error message3818 delete request3819 behaves like a forbidden3820 is expected to include {:http_status => 403}3821 is expected not to include :token3822 behaves like containing the import error3823 includes a helpful error message3824 * request3825 behaves like a forbidden3826 is expected to include {:http_status => 403}3827 is expected not to include :token3828 behaves like containing the import error3829 includes a helpful error message3830 pull request3831 behaves like a pullable3832 behaves like an accessible3833 has the correct scope3834 behaves like a valid token3835 is expected to include :token3836 is expected to include "access"3837 a expirable3838 for default configuration3839 is expected not to be within 2 of 2023-04-27 06:12:50.883606703 +00003840 for changed configuration3841 is expected to be within 2 of 2023-04-27 06:12:51.234885586 +00003842 mixed request3843 behaves like a forbidden3844 is expected to include {:http_status => 403}3845 is expected not to include :token3846 behaves like containing the import error3847 includes a helpful error message3848 when over storage limit3849 when there is a project3850 does not allow developer to push images3851 when only pushing an image3852 behaves like not a container repository factory3853 does not create a new container repository resource3854 behaves like storage error3855 returns an appropriate response3856 when performing multiple actions including push3857 behaves like not a container repository factory3858 does not create a new container repository resource3859 behaves like storage error3860 returns an appropriate response3861 allows developers to pull images3862 behaves like a pullable3863 behaves like an accessible3864 has the correct scope3865 behaves like a valid token3866 is expected to include :token3867 is expected to include "access"3868 a expirable3869 for default configuration3870 is expected not to be within 2 of 2023-04-27 06:12:54.550961347 +00003871 for changed configuration3872 is expected to be within 2 of 2023-04-27 06:12:54.781969539 +00003873 allows maintainers to delete images3874 behaves like allowed to delete container repository images3875 behaves like a valid token3876 is expected to include :token3877 is expected to include "access"3878 a expirable3879 for default configuration3880 is expected not to be within 2 of 2023-04-27 06:12:55.677433390 +00003881 for changed configuration3882 is expected to be within 2 of 2023-04-27 06:12:55.932052469 +00003883 allow to delete images3884 behaves like a deletable3885 behaves like an accessible3886 has the correct scope3887 behaves like a valid token3888 is expected to include :token3889 is expected to include "access"3890 a expirable3891 for default configuration3892 is expected not to be within 2 of 2023-04-27 06:12:57.227274939 +00003893 for changed configuration3894 is expected to be within 2 of 2023-04-27 06:12:57.508144067 +00003895 allow to delete images since registry 2.73896 behaves like a deletable since registry 2.73897 behaves like an accessible3898 has the correct scope3899 behaves like a valid token3900 is expected to include :token3901 is expected to include "access"3902 a expirable3903 for default configuration3904 is expected not to be within 2 of 2023-04-27 06:12:58.641755148 +00003905 for changed configuration3906 is expected to be within 2 of 2023-04-27 06:12:58.962590083 +00003907 when there is no project3908 does not return a storage error3909Group3910 is expected to includes the EE::Group module3911 is expected to be a kind of ReactiveCaching3912 associations3913 is expected to have many audit_events dependent => false3914 is expected to belong to file_template_project class_name => Project3915 is expected to have many ip_restrictions3916 is expected to have many allowed_email_domains3917 is expected to have many compliance_management_frameworks3918 is expected to have one deletion_schedule3919 is expected to have one group_wiki_repository3920 is expected to belong to push_rule required: false inverse_of => group3921 is expected to have many saml_group_links3922 is expected to have many epics3923 is expected to have many epic_boards inverse_of => group3924 is expected to have many provisioned_user_details inverse_of => provisioned_by_group3925 is expected to have many provisioned_users3926 is expected to have one group_merge_request_approval_setting3927 is expected to have many repository_storage_moves3928 is expected to have many iterations3929 is expected to have many iterations_cadences3930 is expected to have many epic_board_recent_visits inverse_of => group3931 is expected to have many external_audit_event_destinations3932 is expected to have one analytics_dashboards_pointer3933 is expected to have one analytics_dashboards_configuration_project3934 behaves like model with wiki3935 #create_wiki3936 returns true if the wiki repository already exists3937 returns true if the wiki repository was created3938 when the repository cannot be created3939 returns false and adds a validation error3940 #wiki_repository_exists?3941 returns true when the wiki repository exists3942 returns false when the wiki repository does not exist3943 wiki path conflict3944 when the new path has been used by the wiki of other Project3945 has an error on the name attribute3946 when the new wiki path has been used by the path of other Project3947 has an error on the name attribute3948 when the new path has been used by the wiki of other Group3949 has an error on the name attribute3950 when the new wiki path has been used by the path of other Group3951 has an error on the name attribute3952 scopes3953 .with_custom_file_templates3954 is expected to contain exactly #<Group id:241 @group24>3955 preloads everything needed to show a valid checked_file_template_project3956 .with_saml_provider3957 preloads saml_providers3958 .aimed_for_deletion3959 only includes groups that are marked for deletion on or before the specified date3960 .for_epics3961 returns groups only for selected epics3962 .with_managed_accounts_enabled3963 includes the groups that has managed accounts enabled3964 .with_no_pat_expiry_policy3965 includes the groups that has no PAT expiry policy set3966 .user_is_member3967 returns only groups where user is direct or indirect member ignoring inheritance and minimal access level3968 .invited_groups_in_groups_for_hierarchy3969 with guests3970 includes all groups from group invites3971 without guests3972 includes all groups from group invites3973 .invited_groups_in_projects_for_hierarchy3974 with guests3975 includes all groups from group invites3976 without guests3977 includes all groups from group invites3978 .with_trial_started_on3979 returns correct group3980 validations3981 max_personal_access_token_lifetime3982 is expected to allow :max_personal_access_token_lifetime to be ‹1›3983 is expected to allow :max_personal_access_token_lifetime to be ‹nil›3984 is expected to allow :max_personal_access_token_lifetime to be ‹10›3985 is expected to allow :max_personal_access_token_lifetime to be ‹365›3986 is expected not to allow :max_personal_access_token_lifetime to be ‹"value"›3987 is expected not to allow :max_personal_access_token_lifetime to be ‹2.5›3988 is expected not to allow :max_personal_access_token_lifetime to be ‹-5›3989 is expected not to allow :max_personal_access_token_lifetime to be ‹366›3990 validates if custom_project_templates_group_id is allowed3991 rejects change if the assigned group is not a subgroup3992 allows value if the assigned value is from a subgroup3993 rejects change if the assigned value is from a subgroup's descendant group3994 allows value when it is blank3995 delegations3996 is expected to delegate #code_suggestions to the #namespace_settings object, allowing #namespace_settings to return nil3997 is expected to delegate #code_suggestions= to the #namespace_settings object passing arguments [true], allowing #namespace_settings to return nil3998 states3999 is expected to be ldap sync ready4000 after the start transition4001 sets the last sync timestamp4002 after the finish transition4003 sets the state to started4004 sets last update and last successful update to the same timestamp4005 clears previous error message on success4006 after the fail transition4007 sets the state to failed4008 sets last update timestamp but not last successful update timestamp4009 .groups_user_can4010 for :read_epic permission4011 when user has minimal access to group4012 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 a group member4024 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 when user is not member of any group4036 behaves like a filter for permissioned groups4037 with epics enabled4038 uses filter optmization to return groups with access4039 when groups array is empty4040 does not use filter optimization4041 when use_traversal_ids is disabled4042 does not use filter optimization4043 when same_root is false4044 does not use filter optimization4045 with epics disabled4046 returns an empty list4047 when user has membership from a group share4048 behaves like a filter for permissioned groups4049 with epics enabled4050 uses filter optmization to return groups with access4051 when groups array is empty4052 does not use filter optimization4053 when use_traversal_ids is disabled4054 does not use filter optimization4055 when same_root is false4056 does not use filter optimization4057 with epics disabled4058 returns an empty list4059 when user is member of a project in the hierarchy4060 behaves like a filter for permissioned groups4061 with epics enabled4062 uses filter optmization to return groups with access4063 when groups array is empty4064 does not use filter optimization4065 when use_traversal_ids is disabled4066 does not use filter optimization4067 when same_root is false4068 does not use filter optimization4069 with epics disabled4070 returns an empty list4071 when user is member of a child group that has a project4072 behaves like a filter for permissioned groups4073 with epics enabled4074 uses filter optmization to return groups with access4075 when groups array is empty4076 does not use filter optimization4077 when use_traversal_ids is disabled4078 does not use filter optimization4079 when same_root is false4080 does not use filter optimization4081 with epics disabled4082 returns an empty list4083 for :read_confidential_epic permission4084 when user is guest4085 behaves like a filter for permissioned groups4086 with epics enabled4087 uses filter optmization to return groups with access4088 when groups array is empty4089 does not use filter optimization4090 when use_traversal_ids is disabled4091 does not use filter optimization4092 when same_root is false4093 does not use filter optimization4094 with epics disabled4095 returns an empty list4096 when user is reporter4097 behaves like a filter for permissioned groups4098 with epics enabled4099 uses filter optmization to return groups with access4100 when groups array is empty4101 does not use filter optimization4102 when use_traversal_ids is disabled4103 does not use filter optimization4104 when same_root is false4105 does not use filter optimization4106 with epics disabled4107 returns an empty list4108 when user is reporter via shared group4109 behaves like a filter for permissioned groups4110 with epics enabled4111 uses filter optmization to return groups with access4112 when groups array is empty4113 does not use filter optimization4114 when use_traversal_ids is disabled4115 does not use filter optimization4116 when same_root is false4117 does not use filter optimization4118 with epics disabled4119 returns an empty list4120 when user is member of a project in the hierarchy4121 behaves like a filter for permissioned groups4122 with epics enabled4123 uses filter optmization to return groups with access4124 when groups array is empty4125 does not use filter optimization4126 when use_traversal_ids is disabled4127 does not use filter optimization4128 when same_root is false4129 does not use filter optimization4130 with epics disabled4131 returns an empty list4132 when action is not allowed to use filtering optmization4133 returns an empty list4134 getting group root ancestor4135 when same_root is false4136 behaves like group root ancestor4137 does not exceed SQL queries count4138 when same_root is true4139 behaves like group root ancestor4140 does not exceed SQL queries count4141 #vulnerabilities4142 returns vulnerabilities for all non-archived, non-deleted projects in the group and its subgroups4143 #vulnerability_reads4144 returns vulnerabilities for projects in the group and its subgroups4145 #vulnerability_scanners4146 returns vulnerability scanners for all non-archived, non-deleted projects in the group and its subgroups4147 #vulnerability_historical_statistics4148 returns vulnerability scanners for all non-archived, non-deleted projects in the group and its subgroups4149 #mark_ldap_sync_as_failed4150 sets the state to failed4151 sets the error message4152 is graceful when current state is not valid for the fail transition4153 #code_suggestions_enabled?4154 feature_ai_assist_flag: true, code_suggestions: true, result: true4155 is expected to eq true4156 feature_ai_assist_flag: true, code_suggestions: false, result: false4157 is expected to eq false4158 feature_ai_assist_flag: false, code_suggestions: true, result: false4159 is expected to eq false4160 feature_ai_assist_flag: false, code_suggestions: false, result: false4161 is expected to eq false4162 #actual_size_limit4163 returns the value set globally4164 returns the value set locally4165 #repository_size_limit column4166 support values up to 8 exabytes4167 #file_template_project4168 is expected to include :file_template_project4169 validation4170 is cleared if invalid4171 is permitted if valid4172 #ip_restriction_ranges4173 group with no associated ip_restriction records4174 returns nil4175 group with associated ip_restriction records4176 returns a comma separated string of ranges of its ip_restriction records4177 #root_ancestor_ip_restrictions4178 returns the ip restrictions configured for the root group4179 #allowed_email_domains_list4180 group with no associated allowed_email_domains records4181 returns nil4182 group with associated allowed_email_domains records4183 returns a comma separated string of domains of its allowed_email_domains records4184 #root_ancestor_allowed_email_domains4185 returns the email domain restrictions configured for the root group4186 #owner_of_email?4187 when domain_verification feature is licensed4188 returns true for email with verified domain4189 returns false for email with unverified domain4190 ignores case sensitivity4191 returns false when the receiver is subgroup4192 when domain_verification feature is not licensed4193 returns false for email with verified domain4194 #predefined_push_rule4195 group with no associated push_rules record4196 returns instance push rule4197 group with associated push_rules record4198 with its own push rule4199 returns its own push rule4200 with push rule from ancestor4201 returns push rule from closest ancestor4202 there are no push rules4203 returns nil4204 #checked_file_template_project4205 licensed4206 returns nil for an invalid project4207 returns a valid project4208 unlicensed4209 returns nil for a valid project4210 #checked_file_template_project_id4211 licensed4212 returns nil for an invalid project4213 returns the ID for a valid project4214 unlicensed4215 returns nil for a valid project4216 #group_project_template_available?4217 licensed4218 returns true for licensed instance4219 when in need of checking plan4220 returns true for groups in proper plan4221 returns false for groups with group template already set but not in proper plan4222 unlicensed4223 returns false for unlicensed instance4224 #scoped_variables_available?4225 licensed feature is available4226 is expected to equal true4227 licensed feature is not available4228 is expected to equal false4229 #minimal_access_role_allowed?4230 licensed4231 returns true for licensed instance4232 returns false for subgroup in licensed instance4233 unlicensed4234 returns false unlicensed instance4235 #member?4236 with `minimal_access_role` not licensed4237 is expected to be falsey4238 with `minimal_access_role` licensed4239 when group is a subgroup4240 is expected to be falsey4241 when group is a top-level group4242 is expected to be truthy4243 accepts higher level as argument4244 with anonymous user4245 is expected to be falsey4246 #billed_user_ids4247 with guests4248 includes distinct active users4249 excludes banned members4250 without guests4251 includes distinct active users4252 #billable_members_count4253 with guests4254 provides count of users4255 without guests4256 provides count of users4257 #billed_group_users4258 with guests4259 includes active users4260 without guests4261 includes active users4262 with member roles4263 includes guests with elevating role assigned4264 with banned members4265 excludes banned members4266 when member is banned in one namespace but not another4267 excludes banned member in the namespace it is banned in4268 includes member in the namespace it isn't banned in4269 #billed_project_users4270 with guests4271 includes active users4272 without guests4273 includes active users4274 with member roles4275 includes guests with elevating role assigned4276 with banned members4277 excludes banned members4278 #billed_shared_group_users4279 with guests4280 includes active users from the other group4281 without guests4282 includes active users from the other group4283 with banned members4284 includes members that are banned in invited group4285 excludes members that are banned in group4286 #billed_invited_group_to_project_users4287 with guests4288 includes active users from the other group4289 without guests4290 includes active users from the other group4291 with banned members4292 includes members that are banned in invited group4293 excludes members that are banned in group4294 #capacity_left_for_user?4295 user_cap_available: false, user_cap_reached: false, existing_membership: false, result: true4296 is expected to eq true4297 user_cap_available: false, user_cap_reached: false, existing_membership: true, result: true4298 is expected to eq true4299 user_cap_available: false, user_cap_reached: true, existing_membership: true, result: true4300 is expected to eq true4301 user_cap_available: true, user_cap_reached: false, existing_membership: false, result: true4302 is expected to eq true4303 user_cap_available: true, user_cap_reached: false, existing_membership: true, result: true4304 is expected to eq true4305 user_cap_available: true, user_cap_reached: true, existing_membership: true, result: true4306 is expected to eq true4307 user_cap_available: true, user_cap_reached: true, existing_membership: false, result: false4308 is expected to eq false4309 #has_free_or_no_subscription?4310 returns true with a free plan4311 returns false when the plan is not free4312 returns true when there is no plan4313 returns true when there is a subscription with no plan4314 when it is a subgroup4315 with a free plan4316 returns true4317 with a plan that is not free4318 returns false4319 when there is no plan4320 returns true4321 when there is a subscription with no plan4322 returns true4323 #enforce_free_user_cap?4324 enforce_free_cap: false, result: false4325 is expected to eq false4326 enforce_free_cap: true, result: true4327 is expected to eq true4328 #exclude_guests?4329 actual_plan_name: :free, requested_plan_name: nil, result: false4330 returns the expected result4331 actual_plan_name: :premium, requested_plan_name: nil, result: false4332 returns the expected result4333 actual_plan_name: :ultimate, requested_plan_name: nil, result: true4334 returns the expected result4335 actual_plan_name: :ultimate_trial, requested_plan_name: nil, result: true4336 returns the expected result4337 actual_plan_name: :gold, requested_plan_name: nil, result: true4338 returns the expected result4339 actual_plan_name: :free, requested_plan_name: "premium", result: false4340 returns the expected result4341 actual_plan_name: :free, requested_plan_name: "ultimate", result: true4342 returns the expected result4343 actual_plan_name: :premium, requested_plan_name: "ultimate", result: true4344 returns the expected result4345 actual_plan_name: :ultimate, requested_plan_name: "ultimate", result: true4346 returns the expected result4347 #actual_plan_name4348 when parent group has a subscription associated4349 returns an associated plan name4350 when parent group does not have subscription associated4351 returns a free plan name4352 #users_count4353 with `minimal_access_role` not licensed4354 does not count the minimal access user4355 with `minimal_access_role` licensed4356 counts the minimal access user4357 #saml_discovery_token4358 returns existing tokens4359 when missing on read4360 generates a token4361 saves the generated token4362 in read-only mode4363 doesn't raise an error as that could expose group existance4364 returns a random value to prevent access4365 #saml_enabled?4366 when a SAML provider does not exist4367 is expected to eq false4368 when a SAML provider exists and is persisted4369 is expected to eq true4370 when a SAML provider is not persisted4371 is expected to eq false4372 when global SAML is enabled4373 is expected to eq true4374 #saml_group_sync_available?4375 is expected to eq false4376 with group_saml_group_sync feature licensed4377 is expected to eq false4378 with saml enabled4379 is expected to eq true4380 when the group is a subgroup4381 is expected to eq true4382 #saml_group_links_enabled?4383 with group saml disabled4384 is expected to eq false4385 with group saml enabled4386 without saml group links4387 is expected to eq false4388 with saml group links4389 is expected to eq true4390 #insights_config4391 when group has no Insights project configured4392 returns the default config4393 when group has an Insights project configured without a config file4394 returns the default config4395 when group has an Insights project configured4396 with a valid config file4397 returns the insights config data4398 with an invalid config file4399 returns nil4400 when group has an Insights project configured which is in a nested group4401 returns the insights config data4402 #any_hook_failed?4403 is expected to eq false4404 #execute_hooks4405 group_webhooks4406 when group_webhooks feature is enabled4407 execution4408 executes the hook for self and ancestor groups by default4409 when a hook has recent failures4410 is still executed44121st Try error in ./ee/spec/models/ee/group_spec.rb:1938:4413(WebHookService (class)).new(#<GroupHook id: 1, project_id: nil, created_at: "2023-04-27 06:04:34.078428818 +0000", updated_at: "2..., integration_id: nil, branch_filter_strategy: "wildcard", token: nil, url: nil, url_variables: nil>, {:some=>"info"}, "member_hooks")4414 expected: 1 time with arguments: (#<GroupHook id: 1, project_id: nil, created_at: "2023-04-27 06:04:34.078428818 +0000", updated_at: "2..., integration_id: nil, branch_filter_strategy: "wildcard", token: nil, url: nil, url_variables: nil>, {:some=>"info"}, "member_hooks")4415 received: 0 times4417RSpec::Retry: 2nd try ./ee/spec/models/ee/group_spec.rb:19384418 when group_webhooks feature is disabled4419 does not execute the hook4420 subgroup hooks4421 when a subgroup is added to the parent group4422 executes the webhook4423 when a subgroup is removed from the parent group4424 executes the webhook4425 when the subgroup has subgroup webhooks enabled4426 does not execute the webhook on itself4427 ancestor groups4428 fires webhook twice when both parent & grandparent group has subgroup_events enabled4429 when parent group does not have subgroup_events enabled4430 fires webhook once for the grandparent group when it has subgroup_events enabled4431 when the group is not a subgroup4432 does not proceed to firing any webhooks4433 when group webhooks are unlicensed4434 does not execute the webhook4435 #self_or_ancestor_marked_for_deletion4436 delayed deletion feature is not available4437 returns nil4438 delayed deletion feature is available4439 the group has been marked for deletion4440 returns the group4441 the parent group has been marked for deletion4442 returns the parent group4443 no group has been marked for deletion4444 returns nil4445 ordering4446 returns the first group that is marked for deletion, up its ancestry chain4447 #marked_for_deletion?4448 delayed deletion feature is available4449 when the group is marked for delayed deletion4450 is expected to be truthy4451 when the group is not marked for delayed deletion4452 is expected to be falsey4453 delayed deletion feature is not available4454 when the group is marked for delayed deletion4455 is expected to be falsey4456 when the group is not marked for delayed deletion4457 is expected to be falsey4458 #adjourned_deletion?4459 delayed deletion feature is available4460 adjourned_period: 0, delayed_group_deletion: true, always_perform_delayed_deletion: true, expected: false4461 is expected to be falsey4462 adjourned_period: 0, delayed_group_deletion: false, always_perform_delayed_deletion: true, expected: false4463 is expected to be falsey4464 adjourned_period: 1, delayed_group_deletion: true, always_perform_delayed_deletion: true, expected: true4465 is expected to be truthy4466 adjourned_period: 1, delayed_group_deletion: false, always_perform_delayed_deletion: true, expected: true4467 is expected to be truthy4468 adjourned_period: 0, delayed_group_deletion: true, always_perform_delayed_deletion: false, expected: false4469 is expected to be falsey4470 adjourned_period: 0, delayed_group_deletion: false, always_perform_delayed_deletion: false, expected: false4471 is expected to be falsey4472 adjourned_period: 1, delayed_group_deletion: true, always_perform_delayed_deletion: false, expected: true4473 is expected to be truthy4474 adjourned_period: 1, delayed_group_deletion: false, always_perform_delayed_deletion: false, expected: false4475 is expected to be falsey4476 delayed deletion feature is not available4477 when delayed deletion period is set to more than 04478 behaves like returns false4479 is expected to be falsey4480 #personal_access_token_expiration_policy_available?4481 when the group does not enforce managed accounts4482 is expected to be falsey4483 when the group enforces managed accounts4484 with `personal_access_token_expiration_policy` licensed4485 is expected to be truthy4486 with `personal_access_token_expiration_policy` not licensed4487 is expected to be falsey4488 #update_personal_access_tokens_lifetime4489 when the group does not enforce managed accounts4490 behaves like it does not call the update lifetime service4491 doesn not call the update lifetime service4492 when the group enforces managed accounts4493 with `personal_access_token_expiration_policy` not licensed4494 behaves like it does not call the update lifetime service4495 doesn not call the update lifetime service4496 with `personal_access_token_expiration_policy` licensed4497 when the group does not enforce a PAT expiry policy4498 behaves like it does not call the update lifetime service4499 doesn not call the update lifetime service4500 when the group enforces a PAT expiry policy4501 executes the update lifetime service4502 #max_personal_access_token_lifetime_from_now4503 when max_personal_access_token_lifetime is defined4504 is a date time4505 is in the future4506 is in days_from_now4507 when max_personal_access_token_lifetime is nil4508 is nil4509 #owners_emails4510 is expected to match ["bob@example.com"]4511 #access_level_roles4512 returns the correct roles4513 Releases Stats4514 when there are no releases4515 #releases_count4516 returns 04517 #releases_percentage4518 returns 0 and does not attempt to divide by 04519 when there are some releases4520 #releases_count4521 counts all releases for group and descendants4522 #releases_percentage4523 calculates projects with releases percentage for group and descendants4524 #repository_storage4525 when wiki does not have a tracked repository storage4526 returns the default shard4527 when wiki has a tracked repository storage4528 returns the persisted shard4529 #user_cap_reached?4530 when user cap feature is not available4531 is expected to be falsey4532 when user cap feature is available4533 when the :saas_user_caps feature flag is not enabled4534 is expected to be falsey4535 when the :saas_user_caps feature flag is enabled4536 when this group has no root ancestor4537 behaves like returning the right value for user_cap_reached?4538 when no user cap has been set to that root ancestor4539 is expected to be falsey4540 when a user cap has been set to that root ancestor4541 when this cap is higher than the number of billable members4542 is expected to be falsey4543 when this cap is the same as the number of billable members4544 is expected to be truthy4545 when this cap is lower than the number of billable members4546 is expected to be truthy4547 when this group has a root ancestor4548 behaves like returning the right value for user_cap_reached?4549 when no user cap has been set to that root ancestor4550 is expected to be falsey4551 when a user cap has been set to that root ancestor4552 when this cap is higher than the number of billable members4553 is expected to be falsey4554 when this cap is the same as the number of billable members4555 is expected to be truthy4556 when this cap is lower than the number of billable members4557 is expected to be truthy4558 #calculate_reactive_cache4559 returns cache data for the free plan members count4560 #shared_externally?4561 returns false when the group is not shared outside of the namespace hierarchy4562 returns true when the group is shared outside of the namespace hierarchy4563 returns false when the group is shared internally within the namespace hierarchy4564 returns true when a subgroup is shared outside of the namespace hierarchy4565 returns false when the only shared groups are outside of the namespace hierarchy4566 returns true when the group project is shared outside of the namespace hierarchy4567 returns false when the group project is only shared internally within the namespace hierarchy4568 behaves like can move repository storage4569 #set_repository_read_only!4570 makes the repository read-only4571 raises an error if the project is already read-only4572 raises an error when there is an existing git transfer in progress4573 skip_git_transfer_check is true4574 makes the project read-only when git transfers are in progress4575 #set_repository_writable!4576 sets repository_read_only to false4577 #reference_counter4578 returns a Gitlab::ReferenceCounter object4579 #cluster_agents4580 is expected to contain exactly #<Clusters::Agent id: 2, created_at: "2023-04-27 06:04:52.035647216 +0000", updated_at: "2023-04-27 0...47216 +0000", project_id: 192, name: "agent-2", created_by_user_id: 418, has_vulnerabilities: false> and #<Clusters::Agent id: 3, created_at: "2023-04-27 06:04:52.120822340 +0000", updated_at: "2023-04-27 0...22340 +0000", project_id: 193, name: "agent-3", created_by_user_id: 419, has_vulnerabilities: false>4581 #unique_project_download_limit_enabled?4582 is expected to eq true4583 when feature flag is disabled4584 is expected to eq false4585 when licensed feature is not available4586 is expected to eq false4587 when sub-group4588 is expected to eq false4589 #parent_epic_ids_in_ancestor_groups4590 returns parent ids of epics of the given group that belongs to ancestor groups4591 #usage_quotas_enabled?4592 feature_available: false, feature_enabled: true, root_group: true, result: true4593 returns the expected result4594 feature_available: true, feature_enabled: true, root_group: true, result: true4595 returns the expected result4596 feature_available: true, feature_enabled: false, root_group: true, result: true4597 returns the expected result4598 feature_available: false, feature_enabled: false, root_group: true, result: false4599 returns the expected result4600 feature_available: false, feature_enabled: false, root_group: false, result: false4601 returns the expected result4602 feature_available: false, feature_enabled: true, root_group: false, result: false4603 returns the expected result4604 feature_available: true, feature_enabled: false, root_group: false, result: false4605 returns the expected result4606 feature_available: true, feature_enabled: true, root_group: false, result: false4607 returns the expected result4608Boards::EpicBoardPosition4609 associations4610 is expected to belong to epic required: true4611 is expected to belong to epic_board required: true inverse_of => epic_board_positions4612 validations4613 is expected to be valid4614 is valid with nil relative position4615 disallows a record with same epic and board4616 scopes4617 .order_relative_position4618 returns epic_board_positions in order4619 .last_for_board_id4620 returns highest not null position4621 relative positioning4622 behaves like a class that supports relative positioning4623 #scoped_items4624 includes all items with the same scope4625 #relative_siblings4626 includes all items with the same scope, except self4627 .move_nulls_to_end4628 moves items with null relative_position to the end4629 preserves relative position4630 moves the item near the start position when there are no existing positions4631 does not perform any moves if all items have their relative_position set4632 manages to move nulls to the end even if there is a sequence at the end4633 manages to move nulls to the end even if there is not enough space4634 manages to move nulls to the end, stacking if we cannot create enough space4635 manages to move nulls found in the relative scope4636 can move many nulls4637 does not have an N+1 issue4638 .move_nulls_to_start4639 moves items with null relative_position to the start4640 moves the item near the start position when there are no existing positions4641 preserves relative position4642 does not perform any moves if all items have their relative_position set4643 manages to move nulls to the start even if there is not enough space4644 manages to move nulls to the end, stacking if we cannot create enough space4645 #move_before4646 moves item before4647 can move the item before an item at the start4648 can move the item before an item at MIN_POSITION4649 can move the item before an item bunched up at MIN_POSITION4650 when there is no space4651 moves items correctly4652 leap-frogging to the left4653 can leap-frog STEPS times before needing to rebalance4654 there is no space to the left after moving STEPS times4655 rebalances to the right4656 #move_after4657 moves item after4658 can move the item after an item bunched up at MAX_POSITION4659 when there is no space4660 can move the item after an item at MAX_POSITION4661 moves items correctly4662 leap-frogging4663 rebalances after STEPS jumps4664 #move_to_start4665 places items at most IDEAL_DISTANCE from the start when the range is open4666 moves item to the end4667 positions the item at MIN_POSITION when there is only one space left4668 rebalances when there is already an item at the MIN_POSITION4669 deals with a run of elements at the start4670 #move_to_end4671 places items at most IDEAL_DISTANCE from the start when the range is open4672 moves item to the end4673 positions the item at MAX_POSITION when there is only one space left4674 rebalances when there is already an item at the MAX_POSITION4675 deals with a run of elements at the end4676 #move_between4677 positions item between two other4678 positions item between on top4679 positions item between to end4680 positions items even when after and before positions are the same4681 positions item in the middle of other two if distance is big enough4682 positions item closer to the middle if we are at the very top4683 positions item closer to the middle if we are at the very bottom4684 positions item in the middle of other two4685 positions item right if we pass non-sequential parameters4686 avoids N+1 queries when rebalancing other items4687 the two items are next to each other4688 behaves like moves item between4689 moves the middle item to between left and right4690 there is no space4691 behaves like moves item between4692 moves the middle item to between left and right4693 there is a bunch of items4694 handles bunches correctly4695 behaves like moves item between4696 moves the middle item to between left and right4697Geo::TerraformStateVersionRegistry4698 factory is valid4699 obligatory fields check4700 has expected fields or methods4701 scopes4702 sync_timed_out4703 return correct records4704 finders4705 .find_registries_never_attempted_sync4706 returns unsynced items4707 returns items that never have an attempt to sync except some specific item ID4708 .find_registries_needs_sync_again4709 returns failed items4710 returns failed items except some specific item ID4711 orders records according to retry_at4712 .fail_sync_timeouts4713 marks started records as failed if they are expired4714 #failed!4715 sets last_sync_failure with message4716 truncates a long last_sync_failure4717 increments retry_count4718 sets retry_at to a time in the future4719 when an error is given4720 includes error.message in last_sync_failure4721 when missing_on_primary is not given4722 caps retry_at to default 1 hour4723 when missing_on_primary is falsey4724 caps retry_at to default 1 hour4725 when missing_on_primary is truthy4726 caps retry_at to 4 hours4727 #synced!4728 mark as synced4729 when a sync was scheduled after the last sync finishes4730 does not reset state4731 resets the other sync state fields4732 #pending!4733 when a sync is currently running4734 successfully moves state to pending4735 when the registry has recorded a failure4736 clears failure retry fields4737 state machine4738 when transitioning to synced4739 marks verification as pending4740 when the model_record cannot be verified4741 when the registry is already verification_disabled4742 changes verification to disabled4743 when the registry is verification_pending4744 changes verification to disabled4745 verification_state machine4746 when transitioning to verification_failed4747 changes state from synced to failed4748 .verification_pending_batch4749 returns IDs of rows which are synced and pending verification4750 excludes rows which are not synced or are not pending verification4751 marks verification as started4752 .verification_failed_batch4753 with a failed record with retry due4754 returns IDs of rows which are synced and have failed verification4755 excludes rows which are not synced or have not failed verification4756 marks verification as started4757 when verification_retry_at is in the future4758 does not return the row which failed verification4759 .needs_verification_count4760 returns the number of rows which are synced and pending verification4761 includes rows which are synced and failed verification and are due for retry4762 excludes rows which are synced and failed verification and have a future retry time4763 excludes rows which are not synced or are not (pending or failed) verification4764 #verification_succeeded!4765 clears checksum mismatch fields4766 #track_checksum_attempt!4767 yields to the checksum calculation4768 when verification was not yet started4769 starts verification4770 when the model record cannot be verified4771 when the registry is already verification_disabled4772 leaves verification as disabled4773 when the registry is verification_pending4774 changes verification to disabled4775 when the primary site is expected to checksum the model record4776 comparison with primary checksum4777 when the calculated checksum matches the primary checksum4778 transitions to verification_succeeded and updates the checksum4779 when the calculated checksum does not match the primary checksum4780 transitions to verification_failed and updates mismatch fields4781 when verification was started4782 does not update verification_started_at4783 when an error occurs while yielding4784 sets verification_failed4785 .with_search4786 when query is empty4787 returns all registries4788 when query is not empty4789 calls model_class search method4790Gitlab::Elastic::Indexer4791 empty project4792 updates the index status without running the indexing command4793 when indexing a project with no repository4794 updates the index status without running the indexing command4795 .timeout4796 when advanced_search_decrease_indexing_timeout feature flag is enabled4797 returns correct value4798 when advanced_search_decrease_indexing_timeout feature flag is disabled4799 returns correct value4800 #find_indexable_commit4801 is truthy for reachable commits4802 is falsey for unreachable commits4803 #purge_unreachable_commits_from_index?4804 force_reindexing: true, ancestor_of: false, result: true4805 returns correct result4806 force_reindexing: false, ancestor_of: false, result: true4807 returns correct result4808 force_reindexing: false, ancestor_of: true, result: false4809 returns correct result4810 force_reindexing: true, ancestor_of: true, result: true4811 returns correct result4812 with an indexed project4813 when indexing a HEAD commit4814 runs the indexing command4815 behaves like index up to the specified commit4816 updates the index status when the indexing is a success4817 leaves the index status untouched when the indexing fails4818 when search curation is disabled4819 runs the indexing command without --search-curation flag4820 when traversal_ids migration is not applied4821 runs the indexer with the right flags without --traversal-ids flag4822 when add_hashed_root_namespace_id_to_commits migration is not complete4823 runs the indexer without --hashed-root-namespace-id flag4824 when IndexStatus exists4825 when last_commit exists4826 uses last_commit as from_sha4827 when indexing a non-HEAD commit4828 behaves like index up to the specified commit4829 updates the index status when the indexing is a success4830 leaves the index status untouched when the indexing fails4831 after reverting a change4832 when IndexStatus#last_commit is no longer in repository4833 reindexes from scratch4834 when branch is reset to an earlier commit4835 reverses already indexed commits4836 when indexing a project's wiki4837 runs the indexer with the right flags4838 when search curation is disabled4839 runs the indexer with the right flags without --search-curation4840 when IndexStatus#last_wiki_commit is no longer in repository4841 reindexes from scratch4842 when SSL env vars are not set explicitly4843 they will be set to default values determined by Ruby4844 when SSL env vars are set4845 when building env vars for child process4846 SSL env vars will be included4847 when no aws credentials available4848 credentials env vars will not be included4849 when aws credentials are available4850 when AWS config is not enabled4851 credentials env vars will not be included4852 when AWS config is enabled4853 credentials env vars will be included4854 when a file is larger than elasticsearch_indexed_file_size_limit_kb4855 indexes the file with empty content4856 when a file path is larger than elasticsearch max size of 512 bytes4857 indexes the file4858 when project no longer exists in database4859 does not raise an exception and prints log message4860 when IndexStatus.safe_find_or_create_by! throws an InvalidForeignKey exception4861 does not raise an exception and prints a log message4862 when purge_unreachable_commits_from_index? is true4863 when deleting index raise BadRequest4864 calls track_exception on Gitlab::ErrorTracking4865Epics::EpicLinks::CreateService4866 #execute4867 when subepics feature is disabled4868 returns an error4869 no relationship is created4870 when subepics feature is enabled4871 when an error occurs4872 when a single epic is given4873 when a user does not have permissions to add an epic4874 returns an error4875 no relationship is created4876 when a user has permissions to add an epic4877 when an epic from another group is given4878 when user has no permission to admin_epic_tree_relation4879 returns an error4880 no relationship is created4881 when subepics feature is not available for child group4882 returns an error4883 no relationship is created4884 when hierarchy is cyclic4885 when given child epic is the same as given parent4886 returns an error4887 no relationship is created4888 when given child epic is parent of the given parent4889 returns an error4890 no relationship is created4891 when new child epic is an ancestor of the given parent4892 returns an error4893 no relationship is created4894 when adding an epic that is already a child of the parent epic4895 returns an error4896 no relationship is created4897 when adding to an Epic that is already at maximum depth4898 returns an error4899 no relationship is created4900 when total depth after adding would exceed depth limit4901 returns an error4902 no relationship is created4903 when total children count after adding would exceed limit4904 returns an error4905 no relationship is created4906 when multiple epics are given4907 when a user dos not have permissions to add an epic4908 returns an error4909 no relationship is created4910 when a user has permissions to add an epic4911 when adding epics that are already a child of the parent epic4912 returns an error4913 no relationship is created4914 when total depth after adding would exceed limit4915 returns an error4916 no relationship is created4917 when an epic from a another group is given4918 when user has insufficient permissions4919 returns an error4920 no relationship is created4921 when subepics feature is not available for child group4922 returns an error4923 no relationship is created4924 when hierarchy is cyclic4925 when given child epic is the same as given parent4926 returns an error4927 no relationship is created4928 when given child epic is parent of the given parent4929 returns an error4930 no relationship is created4931 when the reference list is empty4932 returns an error4933 no relationship is created4934 when there are invalid references4935 adds only valid references4936 returns error status4937 when everything is ok4938 when a correct reference is given4939 creates a new relationship and updates epic4940 moves the new child epic to the top and moves the existing ones down4941 returns success status and created links4942 creates system notes4943 when an epic from a subgroup is given4944 creates a new relationship and updates epic4945 moves the new child epic to the top and moves the existing ones down4946 returns success status and created links4947 creates system notes4948 when an epic from another group is given4949 creates a new relationship and updates epic4950 moves the new child epic to the top and moves the existing ones down4951 returns success status and created links4952 creates system notes4953 when an epic from ancestor group is given4954 creates a new relationship and updates epic4955 moves the new child epic to the top and moves the existing ones down4956 returns success status and created links4957 creates system notes4958 when multiple valid epics are given4959 creates new relationships4960 creates system notes4961 returns success status and created links4962 avoids un-necessary database queries4963 when at least one epic is still not assigned to the parent epic4964 creates new relationships4965 creates system notes4966 returns success status and created links4967 when adding an Epic that has existing children4968 when Epic to add has more than 5 children4969 creates a new relationship and updates epic4970 moves the new child epic to the top and moves the existing ones down4971 returns success status and created links4972 creates system notes4973 when an epic is already assigned to another epic4974 creates system notes4975 creates a new relationship and updates epic4976 moves the new child epic to the top and moves the existing ones down4977 returns success status and created links4978Vulnerabilities::ConfirmService4979 with an authorized user with proper permissions4980 when vulnerability state is different from the requested state4981 confirms a vulnerability4982 creates note4983 creates state transition entry to `confirmed`4984 behaves like calls vulnerability statistics utility services in order4985 when updating the vulnerability fails4986 does not call the service classes4987 when updating the vulnerability succeeds4988 calls the service classes in order4989 behaves like removes dismissal feedback from associated findings4990 when there is no error4991 removes dismissal feedback from associated findings4992 when there is an error4993 does not remove any feedback4994 responds with error4995 when security dashboard feature is disabled4996 raises an "access denied" error4997 when vulnerability state is not different from the requested state4998 behaves like does not create state transition for same state4999 when vulnerability state is not different from the requested state5000 with an authorized user with proper permissions5001 does not create a state transition entry5002 permissions5003 is expected to be allowed for :owner5004 is expected to be allowed for :maintainer5005 is expected to be allowed for :developer5006 is expected to be denied for :auditor5007 is expected to be denied for :reporter5008 is expected to be denied for :guest5009 is expected to be denied for :anonymous5010 when admin mode is enabled5011 is expected to be allowed for :admin5012 when admin mode is disabled5013 is expected to be denied for :admin5014Iteration5015 # order random5016 behaves like AtomicInternalId5017 .has_internal_id5018 Module inclusion5019 is expected to includes the AtomicInternalId module5020 Validation5021 when presence validation is required5022 when creating an object5023 raises an error if the internal id is blank5024 when updating an object5025 raises an error if the internal id is blank5026 when presence validation is not required5027 when creating an object5028 does not raise an error if the internal id is blank (PENDING: No reason given)5029 when updating an object5030 does not raise an error if the internal id is blank (PENDING: No reason given)5031 Creating an instance5032 saves a new instance properly5033 internal id generation5034 calls InternalId.generate_next and sets internal id attribute5035 does not overwrite an existing internal id5036 when the instance has an internal ID set5037 calls InternalId.update_last_value and sets the `last_value` to that of the instance5038 unsetting the instance internal id on rollback5039 when the internal id has been changed5040 when the internal id is automatically set5041 clears it on the instance5042 when the internal id is manually set5043 does not clear it on the instance5044 when the internal id has not been changed5045 preserves the value on the instance5046 supply of internal ids5047 provides a persistent supply of IID values, sensitive to the current state5048 #reset_scope_internal_id_attribute5049 rewinds the allocated IID5050 allocates the same IID5051 .within_timeframe5052 returns iterations with start_date and/or end_date between timeframe5053 returns iterations which starts before the timeframe5054 returns iterations which ends after the timeframe5055 behaves like a timebox5056 Validation5057 start_date5058 adds an error when start_date is greater then due_date5059 adds an error when start_date is greater than 9999-12-315060 due_date5061 adds an error when due_date is greater than 9999-12-315062 Associations5063 is expected to have many issues5064 is expected to have many merge_requests5065 is expected to have many labels through issues5066 #timebox_name5067 returns the name of the model5068 #safe_title5069 normalizes the title for use as a slug5070 #title5071 sanitizes title5072 #to_ability_name5073 returns timebox5074 .within_timeframe5075 can find overlapping timeboxes5076 relations5077 deferrable uniqueness constraint on iterations_cadence_id and sequence5078 create5079WARNING: there is no transaction in progress5080 raises an error on creation with a duplicate sequence number within a cadence5081 does not raise an error on creation with a unique sequence number within a cadence5082 update5083WARNING: there is no transaction in progress5084 raises an error on update with a duplicate sequence number within a cadence5085 deferrable exclusion constraint on start_date, due_date and iterations_cadence_id5086 with invalid dates5087 when start_date overlaps5088 behaves like invalid dates raise PG exclusion error5089WARNING: there is no transaction in progress5090 prevents invalid dates with a PG exclusion constraint at the end of a transaction5091 when due_date overlaps5092 behaves like invalid dates raise PG exclusion error5093WARNING: there is no transaction in progress5094 prevents invalid dates with a PG exclusion constraint at the end of a transaction5095 when both overlap5096 behaves like invalid dates raise PG exclusion error5097WARNING: there is no transaction in progress5098 prevents invalid dates with a PG exclusion constraint at the end of a transaction5099 with valid dates5100 can be updated in bulk without triggering the exclusion violation5101 when closing iteration5102 when cadence roll-over flag enabled5103 triggers roll-over issues worker5104 when cadence roll-over flag disabled5105 triggers roll-over issues worker5106 Validations5107 #uniqueness_of_title5108 per group5109 accepts the same title in the same group with different cadence5110 does not accept the same title when in the same cadence5111 #dates_do_not_overlap5112 when no Iteration dates overlap5113 is expected to be valid5114 when updated iteration dates overlap with its own dates5115 is valid5116 when dates overlap5117 group5118 behaves like overlapping dates5119 when start_date overlaps5120 behaves like invalid dates5121 is not valid5122 when due_date overlaps5123 behaves like invalid dates5124 is not valid5125 when both overlap5126 behaves like invalid dates5127 is not valid5128 different group5129 is expected to be valid5130 does not trigger exclusion constraints5131 sub-group5132 is expected to be valid5133 #future_date5134 when dates are in the future5135 is expected to be valid5136 when start_date is in the past5137 is expected to be valid5138 when due_date is in the past5139 is expected to be valid5140 when due_date is before start date5141 is not valid5142 when start_date is over 500 years in the future5143 is not valid5144 when due_date is over 500 years in the future5145 is not valid5146 title5147 sanitizes user intput5148 .reference_pattern5149 when iteration id is provided5150 correctly detects the iteration5151 when iteration name is provided5152 correctly detects the iteration5153 when reference includes tags5154 correctly detects the iteration5155 #validate_group5156 when the iteration and iteration cadence groups are same5157 is valid5158 when the iteration and iteration cadence groups are different5159 is invalid5160 #display_text5161 is expected to eq "Plan cadence Sep 30, 2022 - Oct 4, 2022"5162 .filter_by_state5163 filtering by closed iterations5164 behaves like filter_by_state5165 filters by the given state5166 filtering by started iterations5167 behaves like filter_by_state5168 filters by the given state5169 filtering by opened iterations5170 behaves like filter_by_state5171 filters by the given state5172 filtering by upcoming iterations5173 behaves like filter_by_state5174 filters by the given state5175 filtering by "all"5176 behaves like filter_by_state5177 filters by the given state5178 filtering by nonexistent filter5179 raises ArgumentError5180 search and sorting scopes5181 .search_title5182 query: "iter 1", expected_iterations: lazy { [plan_iteration1] }5183 behaves like search returns correct records5184 is expected to contain exactly #<Iteration id:56 *iteration:"Iteration 1">5185 query: "iteration", expected_iterations: lazy { [plan_iteration1, plan_iteration2, product_iteration] }5186 behaves like search returns correct records5187 is expected to contain exactly #<Iteration id:56 *iteration:"Iteration 1">, #<Iteration id:57 *iteration:"My iteration">, and #<Iteration id:58 *iteration:"Iteration 2">5188 query: "iteration 1", expected_iterations: lazy { [plan_iteration1] }5189 behaves like search returns correct records5190 is expected to contain exactly #<Iteration id:56 *iteration:"Iteration 1">5191 query: "my iteration 1", expected_iterations: lazy { [] }5192 behaves like search returns correct records5193 is expected to contain exactly5194 .search_cadence_title5195 query: "plan", expected_iterations: lazy { [plan_iteration1, plan_iteration2] }5196 behaves like search returns correct records5197 is expected to contain exactly #<Iteration id:56 *iteration:"Iteration 1"> and #<Iteration id:57 *iteration:"My iteration">5198 query: "plan cadence", expected_iterations: lazy { [plan_iteration1, plan_iteration2] }5199 behaves like search returns correct records5200 is expected to contain exactly #<Iteration id:56 *iteration:"Iteration 1"> and #<Iteration id:57 *iteration:"My iteration">5201 query: "product cadence", expected_iterations: lazy { [] }5202 behaves like search returns correct records5203 is expected to contain exactly5204 query: "cadence", expected_iterations: lazy { [plan_iteration1, plan_iteration2, cadence_iteration] }5205 behaves like search returns correct records5206 is expected to contain exactly #<Iteration id:56 *iteration:"Iteration 1">, #<Iteration id:57 *iteration:"My iteration">, and #<Iteration id:59 *iteration:59>5207 .search_title_or_cadence_title5208 query: "iter 1", expected_iterations: lazy { [plan_iteration1] }5209 behaves like search returns correct records5210 is expected to contain exactly #<Iteration id:56 *iteration:"Iteration 1">5211 query: "iteration", expected_iterations: lazy { [plan_iteration1, plan_iteration2, product_iteration] }5212 behaves like search returns correct records5213 is expected to contain exactly #<Iteration id:56 *iteration:"Iteration 1">, #<Iteration id:57 *iteration:"My iteration">, and #<Iteration id:58 *iteration:"Iteration 2">5214 query: "iteration 1", expected_iterations: lazy { [plan_iteration1] }5215 behaves like search returns correct records5216 is expected to contain exactly #<Iteration id:56 *iteration:"Iteration 1">5217 query: "my iteration 1", expected_iterations: lazy { [] }5218 behaves like search returns correct records5219 is expected to contain exactly5220 query: "plan", expected_iterations: lazy { [plan_iteration1, plan_iteration2] }5221 behaves like search returns correct records5222 is expected to contain exactly #<Iteration id:56 *iteration:"Iteration 1"> and #<Iteration id:57 *iteration:"My iteration">5223 query: "plan cadence", expected_iterations: lazy { [plan_iteration1, plan_iteration2] }5224 behaves like search returns correct records5225 is expected to contain exactly #<Iteration id:56 *iteration:"Iteration 1"> and #<Iteration id:57 *iteration:"My iteration">5226 query: "product cadence", expected_iterations: lazy { [] }5227 behaves like search returns correct records5228 is expected to contain exactly5229 query: "cadence", expected_iterations: lazy { [plan_iteration1, plan_iteration2, cadence_iteration] }5230 behaves like search returns correct records5231 is expected to contain exactly #<Iteration id:56 *iteration:"Iteration 1">, #<Iteration id:57 *iteration:"My iteration">, and #<Iteration id:59 *iteration:59>5232 query: "plan iteration", expected_iterations: lazy { [] }5233 behaves like search returns correct records5234 is expected to contain exactly5235 .sort_by_cadence_id_and_due_date_asc5236 is expected to eq [#<Iteration id:57 *iteration:"My iteration">, #<Iteration id:56 *iteration:"Iteration 1">, #<Iteration id:58 *iteration:"Iteration 2">, #<Iteration id:59 *iteration:59>]5237 sets correct state based on iteration dates5238 start_date is in the future5239 sets state to started5240 start_date is today5241 sets state to started5242 start_date is in the past and due date is still in the future5243 sets state to started5244 start_date is in the past and due date is also in the past5245 sets state to started5246 when dates for an existing iteration change5247 when iteration dates go from future to past5248 sets state to closed5249 when iteration dates go from past to future5250 sets state to upcoming5251 and today is between iteration start and due dates5252 sets state to started5253 callbacks5254 after_save :update_iteration_sequences5255 updates a new iteration with a correct iteration sequence number5256 when start_date or due_date is not changed after save5257 the callback is not triggered5258 when iterations exist in the cadence5259 creating5260 new_start_date: Thu, 20 Apr 2023 06:00:11.019967581 UTC +00:00, expected_iteration_order: lazy { [new_iteration.id, iteration1.id, iteration2.id] }5261 behaves like sequence numbers are correctly updated5262 triggers sequence number updates5263 new_start_date: Thu, 27 Apr 2023, expected_iteration_order: lazy { [new_iteration.id, iteration1.id, iteration2.id] }5264 behaves like sequence numbers are correctly updated5265 triggers sequence number updates5266 new_start_date: Thu, 11 May 2023 06:00:11.020499981 UTC +00:00, expected_iteration_order: lazy { [iteration1.id, new_iteration.id, iteration2.id] }5267 behaves like sequence numbers are correctly updated5268 triggers sequence number updates5269 new_start_date: Thu, 25 May 2023 06:00:11.020638321 UTC +00:00, expected_iteration_order: lazy { [iteration1.id, iteration2.id, new_iteration.id] }5270 behaves like sequence numbers are correctly updated5271 triggers sequence number updates5272 updating5273 start_date: Thu, 25 May 2023 06:00:11.030588260 UTC +00:00, new_start_date: Thu, 20 Apr 2023 06:00:11.030671140 UTC +00:00, expected_iteration_order: lazy { [target_iteration.id, iteration1.id, iteration2.id] }5274 behaves like sequence numbers are correctly updated5275 triggers sequence number updates5276 start_date: Thu, 11 May 2023 06:00:11.030824960 UTC +00:00, new_start_date: Thu, 27 Apr 2023, expected_iteration_order: lazy { [target_iteration.id, iteration1.id, iteration2.id] }5277 behaves like sequence numbers are correctly updated5278 triggers sequence number updates5279 start_date: Thu, 27 Apr 2023, new_start_date: Thu, 11 May 2023 06:00:11.031005860 UTC +00:00, expected_iteration_order: lazy { [iteration1.id, target_iteration.id, iteration2.id] }5280 behaves like sequence numbers are correctly updated5281 triggers sequence number updates5282 start_date: Thu, 20 Apr 2023 06:00:11.031123000 UTC +00:00, new_start_date: Thu, 25 May 2023 06:00:11.031162580 UTC +00:00, expected_iteration_order: lazy { [iteration1.id, iteration2.id, target_iteration.id] }5283 behaves like sequence numbers are correctly updated5284 triggers sequence number updates5285 after_destroy :update_iteration_sequences5286 destroying a past iteration5287 behaves like sequence numbers are correctly updated5288 triggers sequence number updates5289 destroying an upcoming iteration5290 behaves like sequence numbers are correctly updated5291 triggers sequence number updates5292 before_destroy :check_if_can_be_destroyed5293 current iteration is the last iteration in a cadence5294 destroys the current iteration5295 current iteration is not the last iteration in a cadence5296 throws an error when attempting to destroy the current iteration5297 upcoming iteration5298 throws an error when attempting to destroy an upcoming iteration that is not the last iteration in a cadence5299 destroys an upcoming iteration when it is the last iteration in a cadence5300 .by_iteration_cadence_ids5301 returns iterations by cadence5302 returns iterations by multiple cadences5303 #period5304 is expected to eq "Sep 30, 2022 - Oct 4, 2022"5305 time scopes5306 start_date_passed5307 returns iterations where start_date is in the past but due_date is in the future5308 due_date_passed5309 returns iterations where due date is in the past5310 #title5311 updates title to a blank value5312 #merge_requests_enabled?5313 returns false5314Security::Scan5315 sets `project_id` and `pipeline_id` before save5316 behaves like cleanup by a loose foreign key5317 cleans up (delete or nullify) the model5318 associations5319 is expected to belong to build required: false5320 is expected to belong to project required: false5321 is expected to belong to pipeline required: false5322 is expected to have many findings5323 validations5324 is expected to validate that :build_id cannot be empty/falsy5325 is expected to validate that :scan_type cannot be empty/falsy5326 info5327 when the value for info field is valid5328 is expected to be empty5329 when the value for info field is invalid5330 is expected not to be empty5331 #name5332 is expected to delegate #name to the #build object5333 #findings_can_be_purged?5334 when the record is created in less than 3 months ago5335 when the record is not purged5336 is expected to be falsey5337 when the record is purged5338 is expected to be falsey5339 when the record is created in more than 3 months ago5340 when the record is not purged5341 is expected to be falsey5342 when the record is purged5343 is expected to be truthy5344 #has_warnings?5345 when the info attribute is nil5346 is not valid5347 when the info attribute is present5348 when there is no warnings5349 is expected to eq false5350 when there are warnings5351 is expected to eq true5352 #processing_warnings5353 when there are warnings5354 returns all warnings5355 when there are no warnings5356 returns []5357 #processing_warnings=5358 sets the warnings5359 #has_warnings?5360 when there are warnings5361 returns true5362 when there are no warnings5363 returns false5364 #has_errors?5365 when the info attribute is nil5366 is not valid5367 when the info attribute presents5368 when there is no error5369 is expected to eq false5370 when there are errors5371 is expected to eq true5372 .by_scan_types5373 is expected to contain exactly #<Security::Scan id: 8, created_at: "2023-04-27 06:12:34.850896203 +0000", updated_at: "2023-04-27 06...{}, project_id: 594, pipeline_id: 98, latest: true, status: "created", findings_partition_number: 1>5374 when an invalid enum value is given5375 is expected to contain exactly #<Security::Scan id: 8, created_at: "2023-04-27 06:12:34.850896203 +0000", updated_at: "2023-04-27 06...{}, project_id: 594, pipeline_id: 98, latest: true, status: "created", findings_partition_number: 1>5376 .by_project5377 is expected to contain exactly #<Security::Scan id: 10, created_at: "2023-04-27 06:12:36.070733846 +0000", updated_at: "2023-04-27 0...}, project_id: 596, pipeline_id: 100, latest: true, status: "created", findings_partition_number: 1>5378 .distinct_scan_types5379 is expected to contain exactly "sast" and "dast"5380 .latest_successful5381 is expected to contain exactly #<Security::Scan id: 16, created_at: "2023-04-27 06:12:38.156199769 +0000", updated_at: "2023-04-27 0... project_id: 604, pipeline_id: 106, latest: true, status: "succeeded", findings_partition_number: 1>5382 .by_build_ids5383 is expected to contain exactly #<Security::Scan id: 18, created_at: "2023-04-27 06:12:39.075890406 +0000", updated_at: "2023-04-27 0...}, project_id: 606, pipeline_id: 108, latest: true, status: "created", findings_partition_number: 1> and #<Security::Scan id: 19, created_at: "2023-04-27 06:12:39.080666946 +0000", updated_at: "2023-04-27 0...}, project_id: 606, pipeline_id: 108, latest: true, status: "created", findings_partition_number: 1>5384 .has_dismissal_feedback5385 is expected to contain exactly #<Security::Scan id: 20, created_at: "2023-04-27 06:12:39.901201500 +0000", updated_at: "2023-04-27 0...}, project_id: 607, pipeline_id: 109, latest: true, status: "created", findings_partition_number: 1>5386 .without_errors5387 is expected to contain exactly #<Security::Scan id: 23, created_at: "2023-04-27 06:12:42.033237971 +0000", updated_at: "2023-04-27 0...}, project_id: 612, pipeline_id: 114, latest: true, status: "created", findings_partition_number: 1>5388 .latest5389 is expected to contain exactly #<Security::Scan id: 24, created_at: "2023-04-27 06:12:42.484724995 +0000", updated_at: "2023-04-27 0...}, project_id: 613, pipeline_id: 115, latest: true, status: "created", findings_partition_number: 1>5390 .stale5391 is expected to contain exactly #<Security::Scan id: 26, created_at: "2023-01-26 06:12:42.950836418 +0000", updated_at: "2023-04-27 0... project_id: 615, pipeline_id: 117, latest: true, status: "succeeded", findings_partition_number: 1>, #<Security::Scan id: 27, created_at: "2023-01-26 06:12:43.374153884 +0000", updated_at: "2023-04-27 0...id: 616, pipeline_id: 118, latest: true, status: "preparation_failed", findings_partition_number: 1>, #<Security::Scan id: 28, created_at: "2023-01-26 06:12:43.802573230 +0000", updated_at: "2023-04-27 0...}, project_id: 617, pipeline_id: 119, latest: true, status: "created", findings_partition_number: 1>, #<Security::Scan id: 29, created_at: "2023-01-26 06:12:44.225427256 +0000", updated_at: "2023-04-27 0...project_id: 618, pipeline_id: 120, latest: true, status: "job_failed", findings_partition_number: 1>, #<Security::Scan id: 30, created_at: "2023-01-26 06:12:44.631618614 +0000", updated_at: "2023-04-27 0...oject_id: 619, pipeline_id: 121, latest: true, status: "report_error", findings_partition_number: 1>, and #<Security::Scan id: 31, created_at: "2023-01-26 06:12:45.059705630 +0000", updated_at: "2023-04-27 0... project_id: 620, pipeline_id: 122, latest: true, status: "preparing", findings_partition_number: 1>5392 .ordered_by_created_at_and_id5393 is expected to eq [#<Security::Scan id: 37, created_at: "2023-04-27 06:11:46.640607384 +0000", updated_at: "2023-04-27 ..., project_id: 625, pipeline_id: 127, latest: true, status: "created", findings_partition_number: 1>]5394 .with_warnings5395 is expected to contain exactly #<Security::Scan id: 39, created_at: "2023-04-27 06:12:49.030950873 +0000", updated_at: "2023-04-27 0...}, project_id: 628, pipeline_id: 130, latest: true, status: "created", findings_partition_number: 1>5396 .with_errors5397 is expected to contain exactly #<Security::Scan id: 40, created_at: "2023-04-27 06:12:49.564535401 +0000", updated_at: "2023-04-27 0...}, project_id: 629, pipeline_id: 131, latest: true, status: "created", findings_partition_number: 1>5398 #report_findings5399 is expected to contain exactly "25f07ac5-26aa-5b32-9d2c-26e29a7fcee1", "d1d474ac-3327-5b39-9288-25cc4c4e6479", "c3c499b8-5826-5d9b-8a25-fe7a36e5130a", "eb880783-55f4-56c5-b28b-61f7e1b6ac09", "afd0e8a2-68f3-5f92-b937-4b2ea67a3c39", "9dbaef27-8f32-5d3b-a231-796b71ba6144", "ef8986c5-48af-5083-89a1-e80ff51eaaf4", "f894b809-456c-51c8-bd49-b4c3a0615165", "8880ac2a-6c9f-5f27-9c6b-bb021f57bb8c", "6bcde122-0302-57bf-9b27-1bbf8aa6033c", "96d7578e-39e9-51cd-9d5f-012b4021c3be", "f13f2433-2126-5a02-aa0d-2aab9b626211", "05f22b70-2900-531c-aef3-2dc9ddd6637d", "75037ed4-9e53-50fd-bf77-45fab09d7356", "c042cf2f-1759-5546-8a66-29e010545fbc", "cebc7929-49d5-587e-a3eb-fada4285c722", "1aeb9641-a3fc-5acf-8023-4df4d3d94ce2", "37403980-b536-5574-a91e-96fde8f0478a", "d150e283-a1fa-571b-bb83-b0fbdc0fee11", and "b8df05a2-25ca-5898-a129-ffde2d0403fb"5400 #report_primary_identifiers5401 returns the matching primary_identifiers5402 #processing_errors5403 is expected to eq [{"message"=>"Unknown error happened", "type"=>"ParsingError"}]5404 #processing_errors=5405 sets the processing errors5406 #add_processing_error!5407 when the scan does not have any errors5408 persists the error5409 when the scan already has some errors5410 persists the new error with the existing ones5411 #remediations_proxy5412 when the artifact exists5413 is expected to be an instance of Security::RemediationsProxy and have attributes {:file => #<InstanceDouble(JobArtifactUploader) (anonymous)>}5414 when the artifact is removed5415 is expected to be an instance of Security::RemediationsProxy and have attributes {:file => nil}5416 behaves like having unique enum values5417 has unique values in "scan_type"5418 has unique values in "status"5419 #scanners5420 returns the matching vulnerability scanner5421Boards::Issues::MoveService5422 #execute5423 when parent is a project5424 behaves like moving an issue to/from assignee lists5425 from assignee to label list5426 does not unassign and adds label5427 from assignee to backlog5428 removes assignment and keeps milestone5429 from assignee to closed list5430 keeps assignment and closes the issue5431 from label list to assignee5432 assigns and does not remove label5433 between two assignee lists5434 unassigns removal and assigns addition5435 when cannot assign to target list user5436 returns error5437 behaves like moving an issue to/from milestone lists5438 from backlog to milestone list5439 assigns the milestone5440 from milestone to backlog list5441 removes the milestone5442 from label to milestone list5443 assigns the milestone and keeps labels5444 from milestone to label list5445 adds labels and keeps milestone5446 from assignee to milestone list5447 assigns the milestone and keeps assignees5448 from milestone to assignee list5449 assigns the user and keeps milestone5450 between milestone lists5451 replaces previous list milestone to targeting list milestone5452 behaves like moving an issue to/from iteration lists5453 from backlog to iteration list5454 assigns the iteration5455 from iteration to backlog list5456 removes the iteration5457 from label to iteration list5458 assigns the iteration and keeps labels5459 from iteration to label list5460 adds labels and keeps iteration5461 between iteration lists5462 replaces previous list iteration to targeting list iteration5463 when parent is a group5464 behaves like moving an issue to/from assignee lists5465 from assignee to label list5466 does not unassign and adds label5467 from assignee to backlog5468 removes assignment and keeps milestone5469 from assignee to closed list5470 keeps assignment and closes the issue5471 from label list to assignee5472 assigns and does not remove label5473 between two assignee lists5474 unassigns removal and assigns addition5475 when cannot assign to target list user5476 returns error5477 behaves like moving an issue to/from milestone lists5478 from backlog to milestone list5479 assigns the milestone5480 from milestone to backlog list5481 removes the milestone5482 from label to milestone list5483 assigns the milestone and keeps labels5484 from milestone to label list5485 adds labels and keeps milestone5486 from assignee to milestone list5487 assigns the milestone and keeps assignees5488 from milestone to assignee list5489 assigns the user and keeps milestone5490 between milestone lists5491 replaces previous list milestone to targeting list milestone5492 behaves like moving an issue to/from iteration lists5493 from backlog to iteration list5494 assigns the iteration5495 from iteration to backlog list5496 removes the iteration5497 from label to iteration list5498 assigns the iteration and keeps labels5499 from iteration to label list5500 adds labels and keeps iteration5501 between iteration lists5502 replaces previous list iteration to targeting list iteration5503 when moving to same list5504 sorts issues included in subgroups5505MergeRequest5506 associations5507 is expected to contain exactly #<MergeRequestBlock id: 1, blocking_merge_request_id: 1, blocked_merge_request_id: 2, created_at: "2023-04-27 06:13:50.938683340 +0000", updated_at: "2023-04-27 06:13:50.938683340 +0000">5508 is expected to be empty5509 is expected to be empty5510 is expected to contain exactly #<MergeRequestBlock id: 4, blocking_merge_request_id: 7, blocked_merge_request_id: 8, created_at: "2023-04-27 06:13:57.451085641 +0000", updated_at: "2023-04-27 06:13:57.451085641 +0000">5511 is expected to be empty5512 is expected to contain exactly #<MergeRequest id:12 namespace647/project-691!1>5513 is expected to contain exactly #<MergeRequest id:13 namespace648/project-692!1>5514 is expected to be empty5515 #merge_blocked_by_other_mrs?5516 licensed5517 is false for the blocking MR5518 is true for the blocked MR when the blocking MR is open5519 is true for the blocked MR when the blocking MR is closed5520 is false for the blocked MR when the blocking MR is merged5521 unlicensed5522 is false for the blocked MR5523 #visible_blocking_merge_requests5524 shows blocking MR to developer5525 hides block from guest5526 hides block from anonymous user5527 #visible_blocking_merge_request_refs5528 returns the references for the result of #visible_blocking_merge_requests5529 #hidden_blocking_merge_requests_count5530 returns 0 when all MRs are visible5531 MR is hidden5532 returns 1 when MR is unmerged by default5533 MR is merged5534 returns 0 by default5535 returns 1 when include_merged: true5536BackfillHashedRootNamespaceIdOnMergeRequests5537 # order random5538 .migrate5539 when migration is already completed5540 does not modify data5541 migration process5542 updates all documents5543 only updates documents missing a field5544 processes in batches5545 .completed?5546 when documents are missing field5547 is expected not to be completed5548 when no documents are missing field5549 is expected to be completed5550 migration_options5551 has migration options set5552EE::Gitlab::Auth::Ldap::Sync::Group5553 .execute_all_providers5554 uses the ldap sync state machine5555 fails a stuck group older than 1 hour5556 when the group ldap sync has already started5557 logs a debug message5558 does not update permissions5559 when ldap connection fails5560 logs a debug message5561 ensures group state returns to failed_ldap_sync5562 .execute5563 uses the ldap sync state machine5564 fails a stuck group older than 1 hour5565 when the group ldap sync has already started5566 logs a debug message5567 does not update permissions5568 when ldap connection fails5569 logs a debug message5570 ensures group state returns to failed_ldap_sync5571 .fail_stuck_group5572 handles nil ldap_sync_last_sync_at5573 .ldap_sync_ready?5574 returns false when ldap sync started5575 returns true when ldap sync pending5576 #update_permissions5577 with all functionality against one LDAP group type5578 with basic add/update actions5579 does not update permissions unless ldap sync status is started5580 adds new members and sets ldap attribute to true5581 converts an existing membership access request to a real member5582 downgrades existing member access5583 upgrades existing member access5584 sets an existing member ldap attribute to true5585 does not alter an ldap member that has a permission override5586 when existing user is no longer in LDAP group5587 removes the user from the group5588 refuses to delete the last owner5589 updates projects authorizations5590 when the user is the last owner5591 downgrades one user but not the other5592 when user inherits higher permissions from parent5593 adds member with the inherited higher permission5594 upgrades existing member to the inherited higher permission5595 does not alter an ldap member that has a permission override5596 when user inherits lower permissions from parent5597 adds member with the ldap group link's access level5598 downgrades existing member access to the ldap group link's access level5599 does not alter an ldap member that has a permission override5600 when user has a pending access request in a parent group5601 does not propagate the access level of the pending access request5602 when user inherits permissions from parent and user is no longer in LDAP group5603 removes existing member5604 when permissions are inherited from a complex ancestry5605 applies the permission inherited from the closest ancestor when it's higher5606 when the extern_uid and group member DNs have different case5607 does not revert the overrides5608 does not update permissions when group base is missing5609 with different LDAP group types5610 with groupOfNames style LDAP group5611 adds the user to the group5612 with posixGroup style LDAP group5613 adds the user to the group5614 with groupOfUniqueNames style LDAP group5615 adds the user to the group5616 with an empty LDAP group5617 does nothing, without failure5618 filter5619 #update_permissions5620 with all functionality against one LDAP group type5621 with basic add/update actions5622 does not update permissions unless ldap sync status is started5623 adds new members and sets ldap attribute to true5624 updates permissions when group base is missing5625Geo::DesignRegistry5626 behaves like a BulkInsertSafe model5627 when calling class methods directly5628 raises an error when method is not bulk-insert safe5629 does not raise an error when method is bulk-insert safe5630 .bulk_insert!5631 when all items are valid5632 inserts them all5633 returns an empty array5634 when some items are invalid5635 does not insert any of them and raises an error5636 inserts them anyway when bypassing validations5637 relationships5638 is expected to belong to project required: false5639 behaves like a Geo registry5640 #start_sync!5641 updates last_synced_at5642 #fail_sync!5643 fails registry record5644 #repository_updated!5645 resets the state of the sync5646 .find_registry_differences5647 untracked IDs5648 includes project IDs without an entry on the tracking database5649 excludes projects outside the ID range5650 excludes projects without designs5651 with selective sync by namespace5652 excludes project IDs that are not in selectively synced projects5653 with selective sync by shard5654 excludes project IDs that are not in selectively synced projects5655 unused tracked IDs5656 with an orphaned registry5657 includes tracked IDs that do not exist in the model table5658 excludes IDs outside the ID range5659 with selective sync by namespace5660 with a tracked project5661 excluded from selective sync5662 includes tracked project IDs that exist but are not in a selectively synced project5663 included in selective sync5664 excludes tracked project IDs that are in selectively synced projects5665 with selective sync by shard5666 with a tracked project5667 excluded from selective sync5668 includes tracked project IDs that exist but are not in a selectively synced project5669 included in selective sync5670 excludes tracked project IDs that are in selectively synced projects5671 #search5672 all the registries5673 finds by state5674 finds by name5675 #finish_sync!5676 finishes registry record5677 when a design sync was scheduled after the last sync began5678 does not reset state5679 resets the other sync state fields5680 #should_be_redownloaded?5681 force_to_redownload: false, retry_count: nil, expected: false5682 returns the expected boolean5683 force_to_redownload: false, retry_count: 0, expected: false5684 returns the expected boolean5685 force_to_redownload: false, retry_count: 1, expected: false5686 returns the expected boolean5687 force_to_redownload: false, retry_count: 10, expected: false5688 returns the expected boolean5689 force_to_redownload: false, retry_count: 11, expected: true5690 returns the expected boolean5691 force_to_redownload: false, retry_count: 12, expected: false5692 returns the expected boolean5693 force_to_redownload: false, retry_count: 13, expected: true5694 returns the expected boolean5695 force_to_redownload: false, retry_count: 14, expected: false5696 returns the expected boolean5697 force_to_redownload: false, retry_count: 101, expected: true5698 returns the expected boolean5699 force_to_redownload: false, retry_count: 102, expected: false5700 returns the expected boolean5701 force_to_redownload: true, retry_count: nil, expected: true5702 returns the expected boolean5703 force_to_redownload: true, retry_count: 0, expected: true5704 returns the expected boolean5705 force_to_redownload: true, retry_count: 11, expected: true5706 returns the expected boolean5707BackfillLabelIdsForIssues5708 # order random5709 .migrate5710 when migration is already completed5711 does not modify data5712 migration process5713 updates all documents5714 only updates documents missing a field5715 processes in batches5716 .completed?5717 when documents are missing field5718 is expected not to be completed5719 when no documents are missing field5720 is expected to be completed5721 migration_options5722 has migration options set5723EE::Issuable5724 Validation5725 general validations5726 is expected to validate that :author cannot be empty/falsy5727 is expected to validate that :title cannot be empty/falsy5728 is expected to validate that the length of :title is at most 2555729 behaves like validates description length with custom validation5730 when Issuable is a new record5731 when description exceeds the maximum size5732 adds a description too long error5733 when description is within the allowed limits5734 does not add a validation error5735 when Issuable is an existing record5736 when record already had a valid description5737 when new description exceeds the maximum size5738 adds a description too long error5739 when new description is within the allowed limits5740 does not add a validation error5741 when record existed with an invalid description5742 when description is not changed5743 does not add a validation error5744 when new description exceeds the maximum size5745 allows updating descriptions that already existed above the limit5746 when new description is within the allowed limits5747 does not add a validation error5748 behaves like truncates the description to its allowed maximum length on import5749 truncates the description to its allowed maximum length5750 #matches_cross_reference_regex?5751 epic description with long path string5752 behaves like matches_cross_reference_regex? fails fast5753 fails fast for long strings5754 #supports_epic?5755 issuable_type: :issue, project: :project_with_group, supports_epic: true5756 is expected to eq true5757 issuable_type: :issue, project: :project_without_group, supports_epic: false5758 is expected to eq false5759 issuable_type: :incident, project: :project_with_group, supports_epic: false5760 is expected to eq false5761 issuable_type: :incident, project: :project_without_group, supports_epic: false5762 is expected to eq false5763 issuable_type: :merge_request, project: :project_with_group, supports_epic: false5764 is expected to eq false5765 issuable_type: :merge_request, project: :project_without_group, supports_epic: false5766 is expected to eq false5767 #weight_available?5768 issuable_type: :issue, project: :project_with_group, weight_available: true5769 is expected to eq true5770 issuable_type: :issue, project: :project_without_group, weight_available: true5771 is expected to eq true5772 issuable_type: :incident, project: :project_with_group, weight_available: false5773 is expected to eq false5774 issuable_type: :incident, project: :project_without_group, weight_available: false5775 is expected to eq false5776 issuable_type: :merge_request, project: :project_with_group, weight_available: false5777 is expected to eq false5778 issuable_type: :merge_request, project: :project_without_group, weight_available: false5779 is expected to eq false5780 #supports_iterations?5781 issuable_type: :issue, project: :project_with_group, supports_iterations: true5782 is expected to eq true5783 issuable_type: :issue, project: :project_without_group, supports_iterations: true5784 is expected to eq true5785 issuable_type: :incident, project: :project_with_group, supports_iterations: false5786 is expected to eq false5787 issuable_type: :incident, project: :project_without_group, supports_iterations: false5788 is expected to eq false5789 issuable_type: :merge_request, project: :project_with_group, supports_iterations: false5790 is expected to eq false5791 issuable_type: :merge_request, project: :project_without_group, supports_iterations: false5792 is expected to eq false5793 #send_to_ai?5794 for issues5795 confidentiality: true, visibility: :public, send_to_ai: false5796 is expected to eq false5797 confidentiality: true, visibility: :private, send_to_ai: false5798 is expected to eq false5799 confidentiality: false, visibility: :public, send_to_ai: true5800 is expected to eq true5801 confidentiality: false, visibility: :private, send_to_ai: false5802 is expected to eq false5803 for epics5804 confidentiality: true, visibility: :public, send_to_ai: false5805 is expected to eq false5806 confidentiality: true, visibility: :private, send_to_ai: false5807 is expected to eq false5808 confidentiality: false, visibility: :public, send_to_ai: true5809 is expected to eq true5810 confidentiality: false, visibility: :private, send_to_ai: false5811 is expected to eq false5812 for merge requests5813 visibility: 20, send_to_ai: true5814 is expected to eq true5815 visibility: 10, send_to_ai: false5816 is expected to eq false5817 visibility: 0, send_to_ai: false5818 is expected to eq false5819 #supports_confidentiality?5820 is expected to be truthy5821 #escalation_policies_available?5822 issuable_type: :issue, oncall_schedules_enabled: true, escalation_policies_enabled: true, available: false5823 is expected to eq false5824 issuable_type: :incident, oncall_schedules_enabled: false, escalation_policies_enabled: false, available: false5825 is expected to eq false5826 issuable_type: :incident, oncall_schedules_enabled: true, escalation_policies_enabled: false, available: false5827 is expected to eq false5828 issuable_type: :incident, oncall_schedules_enabled: false, escalation_policies_enabled: true, available: false5829 is expected to eq false5830 issuable_type: :incident, oncall_schedules_enabled: true, escalation_policies_enabled: true, available: true5831 is expected to eq true5832 #to_hook_data5833 escalation status is updated5834 delegates to Gitlab::DataBuilder::Issuable#build5835 with policy and status changes5836 includes both status and policy fields simultaneously5837 #allows_scoped_labels?5838 allows scoped labels with licensed project5839 allows scoped labels with licensed group5840 does not allow scoped labels without license5841 #issuable_resource_links_available?5842 returns false for issuable type as issue5843 returns true for issuable type as incident5844 returns false when feature is not avaiable5845Geo::ProjectWikiRepositoryRegistryFinder5846 # order random5847 behaves like a framework registry finder5848 #execute5849 when user cannot read all Geo5850 is expected to be empty5851 when user can read all Geo5852 when admin mode is disabled5853 is expected to be empty5854 when admin mode is enabled5855 with an ids param5856 returns specified registries5857 with an ids param empty5858 returns all registries5859 with a replication_state param5860 returns registries with requested replication state5861 with a replication_state param empty5862 returns all registries5863 with verification enabled5864 with a verification_state param5865 returns registries with requested verification state5866 with a verification_state param empty5867 returns all registries5868 with verification disabled5869 with a verification_state param5870 raises ArgumentError (PENDING: Skipping because verification is enabled for Projects::WikiRepository)5871 with a verification_state param empty5872 raises ArgumentError (PENDING: Skipping because verification is enabled for Projects::WikiRepository)5873 when search method is not implemented in the registry model5874 raises ArgumentError5875 when search method is implemented in the registry model5876 returns a registry filtered by keyword (PENDING: Skipping because search method is not implemented5877 for Projects::WikiRepository or searchable attributes are not defined.)5878 with no params5879 returns all registries5880Geo::DependencyProxyBlobRegistry5881 # order random5882 factory is valid5883 scopes5884 sync_timed_out5885 return correct records5886 .verification_failed_batch5887 with a failed record with retry due5888 returns IDs of rows which are synced and have failed verification5889 excludes rows which are not synced or have not failed verification5890 marks verification as started5891 when verification_retry_at is in the future5892 does not return the row which failed verification5893 .fail_sync_timeouts5894 marks started records as failed if they are expired5895 obligatory fields check5896 has expected fields or methods5897 state machine5898 when transitioning to synced5899 marks verification as pending5900 when the model_record cannot be verified5901 when the registry is already verification_disabled5902 changes verification to disabled5903 when the registry is verification_pending5904 changes verification to disabled5905 finders5906 .find_registries_never_attempted_sync5907 returns unsynced items5908 returns items that never have an attempt to sync except some specific item ID5909 .find_registries_needs_sync_again5910 returns failed items5911 returns failed items except some specific item ID5912 orders records according to retry_at5913 .needs_verification_count5914 returns the number of rows which are synced and pending verification5915 includes rows which are synced and failed verification and are due for retry5916 excludes rows which are synced and failed verification and have a future retry time5917 excludes rows which are not synced or are not (pending or failed) verification5918 .verification_pending_batch5919 returns IDs of rows which are synced and pending verification5920 excludes rows which are not synced or are not pending verification5921 marks verification as started5922 verification_state machine5923 when transitioning to verification_failed5924 changes state from synced to failed5925 #failed!5926 sets last_sync_failure with message5927 truncates a long last_sync_failure5928 increments retry_count5929 sets retry_at to a time in the future5930 when an error is given5931 includes error.message in last_sync_failure5932 when missing_on_primary is not given5933 caps retry_at to default 1 hour5934 when missing_on_primary is falsey5935 caps retry_at to default 1 hour5936 when missing_on_primary is truthy5937 caps retry_at to 4 hours5938 #pending!5939 when a sync is currently running5940 successfully moves state to pending5941 when the registry has recorded a failure5942 clears failure retry fields5943 #synced!5944 mark as synced5945 when a sync was scheduled after the last sync finishes5946 does not reset state5947 resets the other sync state fields5948 #track_checksum_attempt!5949 yields to the checksum calculation5950 when verification was not yet started5951 starts verification5952 when the model record cannot be verified5953 when the registry is already verification_disabled5954 leaves verification as disabled5955 when the registry is verification_pending5956 changes verification to disabled5957 when the primary site is expected to checksum the model record5958 comparison with primary checksum5959 when the calculated checksum matches the primary checksum5960 transitions to verification_succeeded and updates the checksum5961 when the calculated checksum does not match the primary checksum5962 transitions to verification_failed and updates mismatch fields5963 when verification was started5964 does not update verification_started_at5965 when an error occurs while yielding5966 sets verification_failed5967 #verification_succeeded!5968 clears checksum mismatch fields5969Gitlab::Geo5970 .current_node5971 returns a GeoNode instance5972 .primary_node5973 returns a cached primary url5974 returns a cached internal_url5975 .secondary_nodes5976 returns a list of Geo secondary nodes5977 .proxy_extra_data5978 caches the result of .uncached_proxy_extra_data5979 behaves like a Geo cached value5980 includes GitLab version and Rails.version in the cache key5981 .uncached_proxy_extra_data5982 without a geo node5983 is expected to be nil5984 with an existing Geo node5985 generates a valid JWT5986 sets the expected expiration time5987 when signing the JWT token raises errors5988 error: Gitlab::Geo::GeoNodeNotFoundError5989 is expected to be nil5990 error: OpenSSL::Cipher::CipherError5991 is expected to be nil5992 .primary?5993 when current node is a primary node5994 returns true5995 returns false when GeoNode is disabled5996 .primary_node_configured?5997 when current node is a primary node5998 returns true5999 returns false when primary does not exist6000 .current_node_misconfigured?6001 returns true when current node is not set6002 returns false when primary6003 returns false when secondary6004 returns false when Geo is disabled6005 .secondary?6006 when infer_without_database is not set6007 when current node is a secondary node6008 is expected to be truthy6009 when GeoNode is disabled6010 is expected to be falsey6011 when current node is a primary node6012 is expected to be falsey6013 when infer_without_database is true6014 is_secondary: true6015 is expected to equal true6016 is_secondary: false6017 is expected to equal false6018 .secondary_check_without_db_connection6019 when in a test environment6020 is expected to be falsey6021 geo_database_configured: true, is_dev: true, is_gdk_geo_secondary: false, expected_secondary: false6022 is expected to equal false6023 geo_database_configured: true, is_dev: true, is_gdk_geo_secondary: true, expected_secondary: true6024 is expected to equal true6025 geo_database_configured: true, is_dev: false, is_gdk_geo_secondary: false, expected_secondary: true6026 is expected to equal true6027 geo_database_configured: true, is_dev: false, is_gdk_geo_secondary: true, expected_secondary: true6028 is expected to equal true6029 geo_database_configured: false, is_dev: true, is_gdk_geo_secondary: false, expected_secondary: false6030 is expected to equal false6031 geo_database_configured: false, is_dev: true, is_gdk_geo_secondary: true, expected_secondary: false6032 is expected to equal false6033 geo_database_configured: false, is_dev: false, is_gdk_geo_secondary: false, expected_secondary: false6034 is expected to equal false6035 geo_database_configured: false, is_dev: false, is_gdk_geo_secondary: true, expected_secondary: false6036 is expected to equal false6037 .gdk_geo_secondary?6038 when GDK_GEO_SECONDARY environment variable is not set6039 is expected to be falsey6040 when GDK_GEO_SECONDARY environment variable is 16041 is expected to be truthy6042 when GDK_GEO_SECONDARY environment variable is 06043 is expected to be falsey6044 when GDK_GEO_SECONDARY environment variable is true6045 is expected to be truthy6046 .secondary_with_primary?6047 when current node is a primary node6048 returns false6049 when current node is a secondary node6050 returns true6051 when a primary does not exist6052 returns false6053 .secondary_with_unified_url?6054 when current node is a primary node6055 returns false6056 when current node is a secondary node6057 when a primary does not exist6058 returns false6059 when the secondary node has different URLs6060 returns false6061 when the secondary node has unified URL6062 returns true6063 .proxied_request?6064 returns true when the header is set6065 returns false when the header is not present or set to an invalid value6066 .proxied_site6067 for a non-proxied request6068 is expected to be nil6069 without Geo enabled6070 is expected to be nil6071 on a secondary6072 is expected to be nil6073 on a primary6074 for a proxied request6075 with an absent proxied site ID header6076 is expected to be nil6077 with a proxy extra data header6078 for an invalid header6079 is expected to be nil6080 for an existing site6081 is expected to eq #<GeoNode id: 9, primary: false, oauth_application_id: 8, enabled: true, access_key: [FILTERED], encr...pdated_at: "2023-04-27 06:17:22.091180949 +0000", sync_object_storage: true, secret_access_key: nil> (FAILED - 1)60831st Try error in ./ee/spec/lib/gitlab/geo_spec.rb:417:6084expected: #<GeoNode id: 9, primary: false, oauth_application_id: 8, enabled: true, access_key: [FILTERED], encr...pdated_at: "2023-04-27 06:17:22.091180949 +0000", sync_object_storage: true, secret_access_key: nil>6085 got: nil6086(compared using ==)6088RSpec::Retry: 2nd try ./ee/spec/lib/gitlab/geo_spec.rb:4176089 .enabled?6090 behaves like a Geo cached value6091 includes GitLab version and Rails.version in the cache key6092 when any GeoNode exists6093 returns true6094 when no GeoNode exists6095 returns false6096 .oauth_authentication6097 for Geo secondary6098 returns a cached uid6099 returns a cached secret6100 for Geo primary6101 returns nil6102 .connected?6103 when there is a database issue6104 returns false when it cannot open an active database connection6105 returns false when the table does not exist6106 .expire_cache!6107 clears the Geo cache keys6108 .expire_cache_keys!6109 clears specified keys6110 .license_allows?6111 returns true if license has Geo addon6112 returns false if license doesnt have Geo addon6113 returns false if no license is present6114 .generate_access_keys6115 returns a public and secret access key6116 .configure_cron_jobs!6117 creates a cron watcher6118 runs the cron manager6119 .repository_verification_enabled?6120 when the feature flag hasn't been set6121 returns true6122 when the feature flag has been set6123 when the feature flag is set to enabled6124 returns true6125 when the feature flag is set to disabled6126 returns false6127 .allowed_ip?6128 allowed_ips: "192.1.1.1", ip: "192.1.1.1", allowed: true6129 is expected to eq true6130 allowed_ips: "192.1.1.1, 192.1.2.1", ip: "192.1.2.1", allowed: true6131 is expected to eq true6132 allowed_ips: "192.1.1.0/24", ip: "192.1.1.223", allowed: true6133 is expected to eq true6134 allowed_ips: "192.1.0.0/16", ip: "192.1.223.223", allowed: true6135 is expected to eq true6136 allowed_ips: "192.1.0.0/16, 192.1.2.0/24", ip: "192.1.2.223", allowed: true6137 is expected to eq true6138 allowed_ips: "192.1.0.0/16", ip: "192.2.1.1", allowed: false6139 is expected to eq false6140 allowed_ips: "192.1.0.1", ip: "192.2.1.1", allowed: false6141 is expected to eq false6142 .proxying_to_primary_message6143 returns a message as a string6144 .redirecting_to_primary_message6145 returns a message as a string6146 .enabled_replicator_classes6147 returns an Array of replicator classes6148 when replication is disabled6149 does not return the replicator class6150 .blob_replicator_classes6151 returns an Array of blob replicator classes6152 does not return repository replicator classes6153 when replication is disabled6154 does not return the replicator class6155 .repository_replicator_classes6156 returns an Array of repository replicator classes6157 does not return a blob replicator class6158 when replication is disabled6159 does not return the replicator class6160 .verification_enabled_replicator_classes6161 returns an Array of replicator classes6162 when replication is disabled6163 does not return the replicator class6164 .verification_max_capacity_per_replicator_class6165 when there are no Replicator classes with verification enabled6166 returns the total capacity6167 when there is 1 Replicator class with verification enabled6168 returns half capacity6169 when there are 2 Replicator classes with verification enabled6170 returns a third of total capacity6171 when total capacity is set lower than the number of Replicators6172 returns 16173 .uncached_queries6174 when no block is given6175 raises error6176 when the current node is a primary6177 wraps the block in an ApplicationRecord.uncached block6178 when the current node is a secondary6179 wraps the block in a Geo::TrackingBase.uncached block and an ApplicationRecord.uncached block6180 when there is no current node6181 wraps the block in an ApplicationRecord.uncached block6182Gitlab::Vulnerabilities::FindingsPreloader6183 .preload!6184 does not preload data if not called6185 preloads scanner data6186 preloads identifier data6187 preloads project data6188 calls .preload_feedback!6189 .preload_feedback!6190 preloads project data6191MemberEntity6192 group member6193 behaves like member.json6194 matches json schema6195 correctly exposes `using_license`6196 correctly exposes `group_sso`6197 correctly exposes `group_managed_account`6198 correctly exposes `can_override`6199 correctly exposes `provisioned_by_this_group`6200 correctly exposes `banned`6201 correctly exposes `can_ban`6202 correctly exposes `can_unban`6203 correctly exposes `can_disable_two_factor`6204 always returns boolean value for `can_disable_two_factor`6205 project member6206 behaves like member.json6207 matches json schema6208 correctly exposes `using_license`6209 correctly exposes `group_sso`6210 correctly exposes `group_managed_account`6211 correctly exposes `can_override`6212 correctly exposes `provisioned_by_this_group`6213 correctly exposes `banned`6214 correctly exposes `can_ban`6215 correctly exposes `can_unban`6216 correctly exposes `can_disable_two_factor`6217 always returns boolean value for `can_disable_two_factor`6218RequirementsManagement::TestReport6219 associations6220 is expected to belong to author class_name => User required: false6221 is expected to belong to requirement_issue required: false6222 is expected to belong to build required: false6223 validations6224 is expected to validate that :state cannot be empty/falsy6225 is expected to validate that :requirement_issue cannot be empty/falsy6226 requirements associations6227 when only requirement issue is set6228 behaves like a model with a requirement issue association6229 requirement issue association6230 when the requirement issue is of type requirement6231 is expected to be valid6232 when requirement issue is not of requirement type6233 is expected to include /must be a `requirement`/6234 when requirement issue is invalid but the type field is not dirty6235 is expected to be valid6236 is expected to be valid6237 scopes6238 .for_user_build6239 returns only test reports matching build's user and pipeline6240 .with_build6241 returns only test reports which reference a CI build6242 .without_build6243 returns only test reports which do not refer any CI build6244 .persist_requirement_reports6245 if the CI report contains no entries6246 does not create any test reports6247 if the CI report contains some entries6248 and the entries are valid6249 and legacy is false6250 creates test report with expected status for each open requirement6251 when legacy is true6252 creates test report with expected status for each open requirement6253 and the entries are not valid6254 does not create any test reports6255 .build_report6256 behaves like builds the expected reports6257 when build is passed as argument6258 builds test report with correct attributes6259 when build is not passed as argument6260 builds test report with correct attributes6261 when legacy is true6262 behaves like builds the expected reports6263 when build is passed as argument6264 builds test report with correct attributes6265 when build is not passed as argument6266 builds test report with correct attributes6267 when state param is invalid6268 when state is nil6269 test report is not valid6270 when state is a non-nil invalid value6271 raises ArgumentError6272 behaves like cleanup by a loose foreign key6273 cleans up (delete or nullify) the model6274BackfillHashedRootNamespaceIdOnNotes6275 # order random6276 .completed?6277 when documents are missing field6278 is expected not to be completed6279 when no documents are missing field6280 is expected to be completed6281 .migrate6282 when migration is already completed6283 does not modify data6284 migration process6285 updates all documents6286 only updates documents missing a field6287 processes in batches6288 migration_options6289 has migration options set6290ProjectWiki6291 searches wiki page6292 indexes6293 can delete wiki pages6294 #use_elasticsearch?6295 delegates to Project#use_elasticsearch?6296Elastic::ProjectTransferWorker6297 is labeled as idempotent6298 performs multiple times sequentially without raising an exception6299 #perform6300 when elasticsearch_limit_indexing is on6301 when transferring from a non-existent namespace to an indexed namespace6302 invalidates cache when an namespace is not found6303 when transferring from a non-indexed namespace to an indexed namespace6304 invalidates the cache and indexes the project and all associated data6305 when transferring between an indexed namespace to a non-indexed namespace6306 invalidates the cache and removes the project from the index6307 when both namespaces are indexed6308 does not invalidate the cache and indexes the project and associated data6309 when elasticsearch_limit_indexing is off6310 does not invalidate the cache and indexes the project and all associated data6311Jobs/DAST-Default-Branch-Deploy.gitlab-ci.yml6312 DAST_AUTO_DEPLOY_IMAGE_VERSION6313 corresponds to a published image in the registry6314 the created pipeline6315 when deploying to kubernetes6316 has no errors6317 when project has no license6318 does not include DAST environment jobs6319 when project has Ultimate license6320 default branch6321 includes the DAST environment jobs by default6322 when DAST_DISABLED is set6323 does not include DAST environment jobs6324 when DAST_DISABLED_FOR_DEFAULT_BRANCH is set6325 does not include DAST environment jobs6326 when DAST_WEBSITE is set6327 does not include DAST environment jobs6328 when KUBECONFIG and not CI_KUBERNETES_ACTIVE6329 includes the DAST environment jobs6330 on another branch6331 does not include DAST environment jobs6332 when deploying to ECS6333 has no errors6334 when project has no license6335 does not include DAST environment jobs6336 when project has Ultimate license6337 default branch6338 includes the DAST environment jobs by default6339 when DAST_DISABLED is set6340 does not include DAST environment jobs6341 when DAST_DISABLED_FOR_DEFAULT_BRANCH is set6342 does not include DAST environment jobs6343 when DAST_WEBSITE is set6344 does not include DAST environment jobs6345 on another branch6346 does not include DAST environment jobs6347 when deploying to other infrastructure6348 has no errors6349 when project has Ultimate license6350 default branch6351 does not include DAST environment jobs6352Gitlab::Insights::Reducers::CountPerPeriodReducer6353 with no issues6354 returns no issuables6355 with open issues6356 raises an error for an unknown :period option6357 raises an error for an unknown :period_field option6358 raises an error for an unknown :period_limit option6359 returns issuables with only the needed fields6360 avoids N + 1 queries6361 with closed issues6362 returns issuables with only the needed fields6363 works when string `period_field` is passed6364 with opened merge requests6365 raises an error for an unknown :period_field option6366 returns issuables with only the needed fields6367 with merged merge requests6368 returns issuables with only the needed fields6369 with closed merge requests6370 returns issuables with only the needed fields6371Resolvers::Geo::ContainerRepositoryRegistriesResolver6372 # order random6373 behaves like a Geo registries resolver6374 #resolve6375 when the parent object is the current node6376 when the user has permission to view Geo data6377 when admin mode is enabled6378 when the ids argument is null6379 returns registries, in order6380 when the ids argument is present6381 returns the requested registries, in order6382 when the replication_state argument is present6383 returns registries with requested replication state, in order6384 with verification enabled6385 when the verification_state argument is present6386 returns registries with requested verification state, in order (PENDING: Skipping because verification is not enabled for ContainerRepository)6387 with verification disabled6388 when the verification_state argument is present6389 raises ArgumentError6390 when admin mode is disabled6391 returns nothing6392 when the user does not have permission to view Geo data6393 returns nothing6394 when the parent object is not the current node6395 when the user has permission to view Geo data6396 returns nothing, because we can't query other nodes' tracking databases6397Gitlab::PackageMetadata::Connector::Offline6398 # order random6399 #data_after6400 when no checkpoint is given6401 behaves like full offline license-db sync6402 processes all sequences and chunks6403 extracts package metadata correctly6404 purl_type: :composer, registry_id: "packagist"6405 correctly lists the archive directory contents6406 purl_type: :conan, registry_id: "conan"6407 correctly lists the archive directory contents6408 purl_type: :gem, registry_id: "rubygem"6409 correctly lists the archive directory contents6410 purl_type: :golang, registry_id: "go"6411 correctly lists the archive directory contents6412 purl_type: :maven, registry_id: "maven"6413 correctly lists the archive directory contents6414 purl_type: :npm, registry_id: "npm"6415 correctly lists the archive directory contents6416 purl_type: :nuget, registry_id: "nuget"6417 correctly lists the archive directory contents6418 purl_type: :pypi, registry_id: "pypi"6419 correctly lists the archive directory contents6420 purl_type: :apk, registry_id: "apk"6421 correctly lists the archive directory contents6422 purl_type: :rpm, registry_id: "rpm"6423 correctly lists the archive directory contents6424 purl_type: :deb, registry_id: "deb"6425 correctly lists the archive directory contents6426 purl_type: :cbl_mariner, registry_id: "cbl-mariner"6427 correctly lists the archive directory contents6428 when a checkpoint is given6429 when sequence exists and chunk do not6430 behaves like full offline license-db sync6431 processes all sequences and chunks6432 extracts package metadata correctly6433 purl_type: :composer, registry_id: "packagist"6434 correctly lists the archive directory contents6435 purl_type: :conan, registry_id: "conan"6436 correctly lists the archive directory contents6437 purl_type: :gem, registry_id: "rubygem"6438 correctly lists the archive directory contents6439 purl_type: :golang, registry_id: "go"6440 correctly lists the archive directory contents6441 purl_type: :maven, registry_id: "maven"6442 correctly lists the archive directory contents6443 purl_type: :npm, registry_id: "npm"6444 correctly lists the archive directory contents6445 purl_type: :nuget, registry_id: "nuget"6446 correctly lists the archive directory contents6447 purl_type: :pypi, registry_id: "pypi"6448 correctly lists the archive directory contents6449 purl_type: :apk, registry_id: "apk"6450 correctly lists the archive directory contents6451 purl_type: :rpm, registry_id: "rpm"6452 correctly lists the archive directory contents6453 purl_type: :deb, registry_id: "deb"6454 correctly lists the archive directory contents6455 purl_type: :cbl_mariner, registry_id: "cbl-mariner"6456 correctly lists the archive directory contents6457 when sequence and chunk do not exist6458 behaves like full offline license-db sync6459 processes all sequences and chunks6460 extracts package metadata correctly6461 purl_type: :composer, registry_id: "packagist"6462 correctly lists the archive directory contents6463 purl_type: :conan, registry_id: "conan"6464 correctly lists the archive directory contents6465 purl_type: :gem, registry_id: "rubygem"6466 correctly lists the archive directory contents6467 purl_type: :golang, registry_id: "go"6468 correctly lists the archive directory contents6469 purl_type: :maven, registry_id: "maven"6470 correctly lists the archive directory contents6471 purl_type: :npm, registry_id: "npm"6472 correctly lists the archive directory contents6473 purl_type: :nuget, registry_id: "nuget"6474 correctly lists the archive directory contents6475 purl_type: :pypi, registry_id: "pypi"6476 correctly lists the archive directory contents6477 purl_type: :apk, registry_id: "apk"6478 correctly lists the archive directory contents6479 purl_type: :rpm, registry_id: "rpm"6480 correctly lists the archive directory contents6481 purl_type: :deb, registry_id: "deb"6482 correctly lists the archive directory contents6483 purl_type: :cbl_mariner, registry_id: "cbl-mariner"6484 correctly lists the archive directory contents6485 when sequence and chunk both exist6486 processes only newer sequences and chunks6487 extracts package metadata correctly6488VulnerabilityFeedback::DestroyService#execute6489 when feedback_type is dismissal6490 when the user is authorized6491 when the `revert_vulnerability_state` argument is set as true6492 when the finding is not associated with a vulnerability6493 destroys the feedback6494 when the finding is associated with a vulnerability6495 changes the state of the vulnerability to `detected`6496 when the `revert_vulnerability_state` argument is set as false6497 when the finding is not associated with a vulnerability6498 destroys the feedback6499 when the finding is associated with a vulnerability6500 does not change the state of the vulnerability to `detected`6501 when user is not authorized6502 raise error if permission is denied6503 when feedback_type is issue6504 raise error as this type of feedback can not be destroyed6505 when feedback_type is merge_request6506 raise error as this type of feedback can not be destroyed6507Dora::DailyMetrics6508 associations6509 is expected to belong to environment required: false6510 .in_range_of6511 when between 2 days ago and 1 day ago6512 returns the correct metrics6513 when between 3 days ago and 2 days ago6514 returns the correct metrics6515 .for_environments6516 when targeting environment A only6517 returns the entry of environment A6518 when targeting environment B only6519 returns the entry of environment B6520 .refresh!6521 refreshes with whatever metrics return6522 when there is an existing metric already overwrites data6523 for production environment6524 recalculates performance scores6525 for non-production environment6526 does not for scores recalculation6527 .aggregate_for!6528 when metric is deployment frequency6529 when interval is all6530 aggregates the rows6531 when interval is monthly6532 aggregates the rows6533 when interval is daily6534 aggregates the rows6535 when interval is unknown6536 is expected to raise ArgumentError with "Unknown interval"6537 when metric is change_failure_rate6538 when interval is all6539 aggregates the rows6540 when interval is monthly6541 aggregates the rows6542 when interval is daily6543 aggregates the rows6544 when interval is unknown6545 is expected to raise ArgumentError with "Unknown interval"6546 when metric is lead time for changes6547 when interval is all6548 calculates the median6549 when interval is monthly6550 calculates the median6551 when interval is daily6552 calculates the median6553 when interval is unknown6554 is expected to raise ArgumentError with "Unknown interval"6555 when metric is time_to_restore_service6556 when interval is all6557 calculates the median6558 when interval is monthly6559 calculates the median6560 when interval is daily6561 calculates the median6562 when interval is unknown6563 is expected to raise ArgumentError with "Unknown interval"6564 when metric is unknown6565 is expected to raise ArgumentError with "Unknown metric"6566 with multiple metrics6567 when interval is all6568 aggregates the rows6569 when interval is monthly6570 aggregates the rows6571 when interval is daily6572 aggregates the rows6573Gitlab::Ci::Reports::Security::Reports6574 #violates_default_policy_against?6575 when the target_reports is `nil`6576 is expected to equal true6577 with existing vulnerabilities6578 is expected to equal true6579 with vulnerability states matching existing vulnerabilities6580 is expected to equal true6581 with vulnerability states not matching existing vulnerabilities6582 is expected to equal false6583 when the target_reports is not `nil`6584 when a report has a new unsafe vulnerability6585 with severity levels matching the existing vulnerabilities6586 is expected to equal true6587 with vulnerabilities_allowed higher than the number of new vulnerabilities6588 is expected to equal false6589 without any severity levels matching the existing vulnerabilities6590 is expected to equal false6591 when none of the reports have a new unsafe vulnerability6592 is expected to equal false6593 with existing vulnerabilities6594 is expected to equal false6595 with vulnerability states matching existing vulnerability6596 is expected to equal true6597 with vulnerability states not matching existing vulnerabilities6598 is expected to equal false6599 with related report_types6600 is expected to equal true6601 with unrelated report_types6602 is expected to equal false6603 when target_reports is not nil and reports is empty6604 is expected to equal true6605 when existing vulnerabilities violate rule6606 is expected to equal true6607 runs in batches6608Elasticsearch::Model::Adapter::ActiveRecord::Records6609 #records6610 returns results in the same sorted order as they come back from Elasticsearch6611Vulnerabilities::FindingEntity6612 #as_json6613 contains required fields6614 false-positive6615 finds the vulnerability_finding as false_positive6616 does not contain false_positive field if license is not available6617 when not allowed to admin vulnerability feedback6618 does not contain vulnerability feedback paths6619 when allowed to admin vulnerability feedback6620 does not contain create jira issue path6621 contains vulnerability feedback dismissal path6622 contains vulnerability feedback issue path6623 contains vulnerability feedback merge_request path6624 when jira service is configured6625 does contains create jira issue path6626 when disallowed to create issue6627 does not contain create jira issue path6628 does not contain vulnerability feedback issue path6629 contains vulnerability feedback dismissal path6630 contains vulnerability feedback merge_request path6631 when disallowed to create merge_request6632 does not contain create jira issue path6633 does not contain vulnerability feedback merge_request path6634 contains vulnerability feedback issue path6635 contains vulnerability feedback dismissal path6636 found_by_pipeline6637 when the serialized object is a vulnerability finding6638 is expected to have key :found_by_pipeline6639 when the serialized object is a security finding6640 is expected not to have key :found_by_pipeline6641Audit::Details6642 .humanize6643 an impersonated event6644 includes impersonation details6645 user6646 humanizes user login action6647 project6648 add project member6649 humanizes add project member access action6650 update project member6651 access expiry6652 when expiry details are present6653 when old expiry date is not equal to new expiry date6654 includes information about change in expiry date6655 when old expiry date is equal to new expiry date6656 includes information about expiry date remaining unchanged6657 when the expiry is set to `never expires`6658 includes information about expiry date being set to never expires6659 when the expiry is changed from `never expires`6660 includes information about expiry date being changed from never expires6661 when expiry details are not present6662 does not include any information about expiry date6663 update merge request approval permissions6664 humanizes merge request approval permissions action6665 group6666 when the target_type is not Operations::FeatureFlag6667 humanizes add group member access action6668 failed_login6669 shows the correct failed login meessage6670 deploy key6671 humanizes the removal action6672 change email6673 humanizes the removal action6674 updated ref6675 humanizes the action6676 system event6677 humanizes system event6678PagesDeployment6679 #save_verification_details6680 when model_record is part of available_verifiables scope6681 creates verification details6682 .replicables_for_current_secondary6683 selective_sync_enabled: true, object_storage_sync_enabled: true, pages_object_storage_enabled: true, synced_pages: 56684 returns the proper number of pages deployments6685 selective_sync_enabled: true, object_storage_sync_enabled: true, pages_object_storage_enabled: false, synced_pages: 56686 returns the proper number of pages deployments6687 selective_sync_enabled: true, object_storage_sync_enabled: false, pages_object_storage_enabled: true, synced_pages: 06688 returns the proper number of pages deployments6689 selective_sync_enabled: true, object_storage_sync_enabled: false, pages_object_storage_enabled: false, synced_pages: 56690 returns the proper number of pages deployments6691 selective_sync_enabled: false, object_storage_sync_enabled: true, pages_object_storage_enabled: true, synced_pages: 106692 returns the proper number of pages deployments6693 selective_sync_enabled: false, object_storage_sync_enabled: true, pages_object_storage_enabled: false, synced_pages: 106694 returns the proper number of pages deployments6695 selective_sync_enabled: false, object_storage_sync_enabled: false, pages_object_storage_enabled: true, synced_pages: 06696 returns the proper number of pages deployments6697 selective_sync_enabled: false, object_storage_sync_enabled: false, pages_object_storage_enabled: false, synced_pages: 106698 returns the proper number of pages deployments6699 .search6700 when search query is empty6701 returns all records6702 when search query is not empty6703 without matches6704 filters all records6705 with matches by attributes6706 searchable_attribute: :file6707 is expected to contain exactly #<PagesDeployment id: 82, created_at: "2023-04-27 06:20:26.543248922 +0000", updated_at: "2023-04-27 ...30439fc2029c9fbaa2bb62485fa9e...", size: 2338, root_directory: "public", verification_checksum: nil>6708EE::IssuesHelper6709 #issue_closed_link6710 with linked issue6711 with promoted issue6712 when user has permission to see new epic6713 returns link6714 when user has no permission to see new epic6715 returns nil6716 #issue_in_subepic?6717 returns false if epic_id parameter is not set or is wildcard6718 returns false if epic_id parameter is the same as issue epic_id6719 returns false if the issue is not part of an epic6720 returns true if epic_id parameter is not the same as issue epic_id6721 #show_timeline_view_toggle?6722 is expected to be falsy6723 issue is an incident6724 is expected to be falsy6725 with license6726 is expected to be truthy6727 #scoped_labels_available?6728 project6729 behaves like without license6730 is expected to be falsy6731 behaves like with license6732 is expected to be truthy6733 group6734 behaves like without license6735 is expected to be falsy6736 behaves like with license6737 is expected to be truthy6738 #project_issues_list_data6739 when features are enabled6740 returns data with licensed features enabled6741 when project does not have group6742 does not return group_path6743 when features are disabled6744 returns data with licensed features disabled6745 #group_issues_list_data6746 when features are enabled6747 returns data with licensed features enabled6748 when features are disabled6749 returns data with licensed features disabled6750 #dashboard_issues_list_data6751 when features are enabled6752 returns data with licensed features enabled6753 when features are disabled6754 returns data with licensed features disabled6755Epics::UpdateDatesService6756 #execute6757 fixed date is set6758 updates to fixed date6759 fixed date is not set6760 multiple milestones6761 complete start and due dates6762 updates to milestone dates6763 without due date6764 updates to milestone dates6765 without any dates6766 updates to milestone dates6767 without milestone6768 updates to milestone dates6769 single milestone6770 complete start and due dates6771 updates to milestone dates6772 without due date6773 updates to milestone dates6774 without any dates6775 updates to milestone dates6776 #when updating multiple epics6777 updates in bulk6778 query count check6779 does not increase query count when adding epics without milestones6780 does not increase query count when adding epics belongs to same milestones6781 when epic dates are inherited6782 when epic has no issues6783 epic dates are nil6784 when epic has issues assigned to milestones6785 returns inherited milestone dates6786 when epic has child epics6787 returns inherited dates from child epics and milestones6788 when epic dates are propagated upwards6789 propagates date changes to parent epics6790GroupSamlGroupSyncWorker6791 #perform6792 when the group does not have group_saml_group_sync feature licensed6793 does not call the sync service6794 when the group has group_saml_group_sync feature licensed6795 when SAML is not enabled6796 does not call the sync service6797 when SAML is enabled6798 calls the sync service with the group links6799 does not call the sync service when the user does not exist6800 includes groups with links in manage_group_ids6801 default membership6802 when group link ids do not include the top level group6803 does not pass the top level group to the sync service as group to manage6804 retains user default membership role6805 does not update the membership role when it does not deviate from the default6806 when the member is the last owner6807 does not update the member when the member is the last owner6808 when the membership role deviates from the default6809 reverts to the default membership role6810 does not update the default membership when the top level group has no group links6811 when group link ids include the top level group6812 does not revert to the default membership role6813 when a group link falls outside the top-level group6814 drops group links outside the top level group6815 with a group in the hierarchy that has no group links6816 is not included in manage_group_ids6817 when the worker receives no group link ids6818 calls the sync service, updates default membership and removes existing users6819Gitlab::Auth::Smartcard::Certificate6820 #find_or_create_user6821 user and smartcard identity already exist6822 behaves like an existing user6823 finds existing user6824 does not create new user6825 user exists but smartcard identity does not6826 associates the new smartcard identity with the user6827 behaves like an existing user6828 finds existing user6829 does not create new user6830 behaves like a new smartcard identity6831 creates smartcard identity6832 user exists but it is using a new smartcard6833 keeps both identities for the user6834 behaves like an existing user6835 finds existing user6836 does not create new user6837 behaves like a new smartcard identity6838 creates smartcard identity6839 user and smartcard identity do not exist6840 calls Users::BuildService with correct params6841 behaves like creates user6842 is expected to eql "gitlab-user@random-corp.org"6843 when the current minimum password length is different from the default minimum password length6844 behaves like creates user6845 is expected to eql "gitlab-user@random-corp.org"6846 behaves like a new smartcard identity6847 creates smartcard identity6848 username generation6849 uses CN from certificate6850 creates user with correct username6851 avoids conflicting namespaces6852 creates user with correct usnername6853 san email defined6854 creates user6855 behaves like a valid certificate is required6856 invalid certificate6857 returns nil6858 incorrect certificate6859 returns nil6860 behaves like a certificate store6861 .store6862 loads CA bundle6863 uses correct method6864 without valid CA file6865 raises error6866SyncSeatLinkRequestWorker6867 #perform6868 makes an HTTP POST request with passed params6869 when response contains a license6870 when there is no previous license6871 behaves like successful license creation6872 persists the new license6873 when there is a previous license6874 when it is a cloud license6875 when the current license key does not match the one returned from sync6876 creates a new license6877 when the current license key matches the one returned from sync6878 reuses the current license and updates the last_synced_at6879 when persisting fails6880 does not delete the current license and logs error6881 when it is not a cloud license6882 behaves like successful license creation6883 persists the new license6884 when response contains reconciliation dates6885 saves the reconciliation dates6886 when an upcoming_reconciliation already exists6887 updates the upcoming_reconciliation6888 when response contains future subscription information6889 when future subscription information is present in the response6890 and no future subscriptions are saved in the current settings6891 persists future subscription information6892 and future subscriptions are saved in the current settings6893 replaces future subscription information6894 when future subscription information is not present in the response6895 and no future subscriptions are saved in the current settings6896 does not change the settings6897 and future subscription are saved in the current settings6898 clears future subscription information6899 when saving fails6900 logs error6901 when the response does not contain reconciliation dates6902 destroys the existing upcoming reconciliation record for the instance6903 does not change anything when there is no existing record6904 behaves like unsuccessful request6905 when the request is not successful6906 raises an error with the expected message6907 sidekiq_retry_in_block6908 is at least 30 minutes in the first retry6909ContainerRepository6910 .with_verification_state6911 returns records with given scope6912 .checksummed6913 returns records with given scope6914 .not_checksummed6915 returns records with given scope6916 #save_verification_details6917 when model record is not part of verifiables scope6918 does not create verification details (PENDING: Skipping because all Container Repositories are records that can be checksummed)6919 when model_record is part of verifiables scope6920 creates verification details6921 .with_target_import_tier6922 all_plans disabled6923 limit_gitlab_org enabled6924 is expected to contain exactly #<ContainerRepository id: 146, project_id: 1123, name: "test_image_39", created_at: "2023-04-27 06:21...deleted_tags_count: nil, delete_started_at: nil, status_updated_at: nil, verification_checksum: nil>6925 with sub group named gitlab-org6926 is expected to contain exactly #<ContainerRepository id: 146, project_id: 1123, name: "test_image_39", created_at: "2023-04-27 06:21...deleted_tags_count: nil, delete_started_at: nil, status_updated_at: nil, verification_checksum: nil>6927 with no gitlab root namespace6928 is expected to be empty6929 limit_gitlab_org disabled6930 is expected to contain exactly #<ContainerRepository id: 145, project_id: 1122, name: "test_image_38", created_at: "2023-04-27 06:20...deleted_tags_count: nil, delete_started_at: nil, status_updated_at: nil, verification_checksum: nil> and #<ContainerRepository id: 146, project_id: 1123, name: "test_image_39", created_at: "2023-04-27 06:21...deleted_tags_count: nil, delete_started_at: nil, status_updated_at: nil, verification_checksum: nil>6931 all_plans and limit_gitlab_org enabled6932 is expected to contain exactly #<ContainerRepository id: 145, project_id: 1122, name: "test_image_38", created_at: "2023-04-27 06:20...deleted_tags_count: nil, delete_started_at: nil, status_updated_at: nil, verification_checksum: nil>, #<ContainerRepository id: 147, project_id: 1124, name: "test_image_40", created_at: "2023-04-27 06:21...deleted_tags_count: nil, delete_started_at: nil, status_updated_at: nil, verification_checksum: nil>, and #<ContainerRepository id: 146, project_id: 1123, name: "test_image_39", created_at: "2023-04-27 06:21...deleted_tags_count: nil, delete_started_at: nil, status_updated_at: nil, verification_checksum: nil>6933 .ready_for_import6934 is expected to contain exactly #<ContainerRepository id: 149, project_id: 1126, name: "test_image_42", created_at: "2023-04-25 06:21...deleted_tags_count: nil, delete_started_at: nil, status_updated_at: nil, verification_checksum: nil> and #<ContainerRepository id: 150, project_id: 1127, name: "test_image_43", created_at: "2022-04-27 06:21...deleted_tags_count: nil, delete_started_at: nil, status_updated_at: nil, verification_checksum: nil>6935 #push_blob6936 calls client's push blob with path passed6937 .search6938 when search query is empty6939 returns all records6940 when search query is not empty6941 without matches6942 filters all container repositories6943 with matches6944 with matches by attributes6945 searchable_attributes: :name6946 is expected to contain exactly #<ContainerRepository id: 156, project_id: 1133, name: "any_keyword", created_at: "2023-04-27 06:21:0...deleted_tags_count: nil, delete_started_at: nil, status_updated_at: nil, verification_checksum: nil>6947UsersFinder6948 #execute6949 with a normal user6950 behaves like executes users finder6951 with LDAP users6952 returns ldap users by default6953 returns only non-ldap users with skip_ldap: true6954 with SAML users6955 returns all users by default6956 returns only saml users from the provided saml_provider_id6957 with an admin user6958 when admin mode setting is disabled6959 behaves like executes users finder6960 with LDAP users6961 returns ldap users by default6962 returns only non-ldap users with skip_ldap: true6963 with SAML users6964 returns all users by default6965 returns only saml users from the provided saml_provider_id6966 when admin mode setting is enabled6967 when in admin mode6968 behaves like executes users finder6969 with LDAP users6970 returns ldap users by default6971 returns only non-ldap users with skip_ldap: true6972 with SAML users6973 returns all users by default6974 returns only saml users from the provided saml_provider_id6975 when not in admin mode6976 behaves like executes users finder6977 with LDAP users6978 returns ldap users by default6979 returns only non-ldap users with skip_ldap: true6980 with SAML users6981 returns all users by default6982 returns only saml users from the provided saml_provider_id6983Ci::RetryJobService6984 behaves like restricts access to protected environments6985 when build is related to a protected environment6986 when user does not have access to the environment6987 raises Gitlab::Access::DeniedError6988 when user has access to the environment6989 enqueues the build6990 #clone!6991 when user has ability to execute build6992 dast6993 clones the profile associations6994 when build has secrets6995 clones secrets6996 credit card requirement6997 when credit card is required6998 when project is on free plan6999 when user has credit card7000 behaves like creates a retried build7001 creates a retried build7002 when user does not have credit card7003 raises an exception7004 when feature flag is disabled7005 behaves like creates a retried build7006 creates a retried build7007 when credit card is not required7008 behaves like creates a retried build7009 creates a retried build7010 #execute7011 when the CI quota is exceeded7012 when there are no runners available7013 is expected not to be failed7014 when shared runners are available7015 fails the build7016 with private runners7017 is expected not to be failed7018IncidentManagement::OncallSchedules::UpdateService7019 # order random7020 #execute7021 when the current_user is anonymous7022 behaves like error response7023 has an informative message7024 when the current_user does not have permissions to update on-call schedules7025 behaves like error response7026 has an informative message7027 when feature is not available7028 behaves like error response7029 has an informative message7030 when an on-call schedule witht the same name already exists7031 behaves like error response7032 has an informative message7033 with valid params7034 successfully creates an on-call schedule7035 schedule has a rotation7036 behaves like updates the rotation active periods7037 updates the rotation active periods with new timezone7038 from non-overnight shifts to overnight7039 behaves like updates the rotation active periods7040 updates the rotation active periods with new timezone7041 from overnight shifts to non-overnight7042 behaves like updates the rotation active periods7043 updates the rotation active periods with new timezone7044 new timezone has non-whole-hour change7045 behaves like updates the rotation active periods7046 updates the rotation active periods with new timezone7047 new timezone but same offset7048 updates the timezone7049 does not update the active period times7050 timezone is not changed7051 does not update rotations7052 error updating7053 behaves like error response7054 has an informative message7055MergeRequestApprovalSettings::UpdateService7056 execute with a Project as container7057 user does not have permissions7058 responds with an error response7059 does not change any of the approval settings7060 user has permissions7061 responds with a successful service response7062 execute with a Group as container7063 user does not have permissions7064 responds with an error response7065 user has permissions7066 creates a new setting7067 responds with a successful service response7068 behaves like call audit changes service7069 executes GroupMergeRequestApprovalSettingChangesAuditor7070 when group has an existing setting7071 does not create a new setting7072 responds with a successful service response7073 behaves like call audit changes service7074 executes GroupMergeRequestApprovalSettingChangesAuditor7075 when saving fails7076 responds with an error service response7077License-Scanning.gitlab-ci.yml7078 # order random7079 the created pipeline7080 when project has no license7081 includes no jobs7082 when project has Ultimate license7083 when branch pipeline7084 includes job7085 when MR pipeline7086 includes job7087 when LICENSE_MANAGEMENT_DISABLED=17088 includes no jobs7089 when LICENSE_MANAGEMENT_DISABLED="true"7090 includes no jobs7091 when LICENSE_MANAGEMENT_DISABLED="false"7092 includes job7093Security::Ingestion::Tasks::IngestVulnerabilities::MarkResolvedAsDetected7094 changes state of resolved Vulnerabilities back to detected7095 creates state transition entry for each vulnerability7096MemberRole7097 # order random7098 associations7099 is expected to belong to namespace required: false7100 is expected to have many members7101 validation7102 is expected to validate that :namespace cannot be empty/falsy7103 is expected to validate that :base_access_level cannot be empty/falsy7104 for attributes_locked_after_member_associated7105 when assigned to member7106 cannot be changed7107 when not assigned to member7108 can be changed7109 for max_count_per_group_hierarchy7110 when number of member roles is below limit7111 is valid7112 when number of member roles is above limit7113 is invalid7114 when for namespace7115 when namespace is a subgroup7116 is invalid7117 when namespace is a root group7118 is valid7119 when namespace is not present7120 is invalid with a different error message7121 when namespace is outside hierarchy of member7122 creates a validation error7123 scopes7124 .elevating7125 creates proper query7126 creates proper query with multiple permissions7127 returns nothing when there are no elevating permissions7128 covering all permissions columns7129 has all attributes listed in the member_roles table7130 callbacks7131 for preventing deletion after member is associated7132 allows deletion without any member associated7133 prevent deletion when member is associated7134BuildDetailsEntity7135 when namespace has CI minutes limit enabled7136 contains CI minutes quota details7137 when namespace does not qualify for CI minutes7138 does not contain CI minutes quota details7139Gitlab::Ci::ProjectConfig7140 # order random7141 when project has compliance label defined7142 when feature is available7143 when compliance pipeline configuration is defined7144 includes compliance pipeline configuration content7145 when pipeline is downstream of a bridge7146 does include compliance pipeline configuration7147 when pipeline source is parent pipeline7148 behaves like does not include compliance pipeline configuration content7149 is expected not to eq "---\ninclude:\n- project: compliance/hippa\n file: \".compliance-gitlab-ci.yml\"\n"7150 when compliance pipeline configuration is not defined7151 behaves like does not include compliance pipeline configuration content7152 is expected not to eq "---\ninclude:\n- project: compliance/hippa\n file: \".compliance-gitlab-ci.yml\"\n"7153 when compliance pipeline configuration is empty7154 behaves like does not include compliance pipeline configuration content7155 is expected not to eq "---\ninclude:\n- project: compliance/hippa\n file: \".compliance-gitlab-ci.yml\"\n"7156 when feature is not licensed7157 behaves like does not include compliance pipeline configuration content7158 is expected not to eq "---\ninclude:\n- project: compliance/hippa\n file: \".compliance-gitlab-ci.yml\"\n"7159 when project does not have compliance label defined7160 when feature is available7161 behaves like does not include compliance pipeline configuration content7162 is expected not to eq "---\ninclude:\n- project: compliance/hippa\n file: \".compliance-gitlab-ci.yml\"\n"7163Geo::RenameRepositoryService7164 #execute7165 does not move project backed by hashed storage7166 project backed by legacy storage7167 moves the project repositories7168 raises an error when project repository can not be moved7169 raises an error when wiki repository can not be moved7170 #async_execute7171 starts the worker7172 returns job id7173Registrations::ImportNamespaceCreateService7174 # order random7175 #execute7176 when group can be created7177 creates a group7178 passes create_event: true to the Groups::CreateService7179 tracks group creation events7180 does not attempt to create a trial7181 when the group cannot be created7182 does not create a group7183 does not track events for group creation7184 the project is not disregarded completely7185 with trial concerns7186 does not attempt to create a trial7187 with applying for a trial7188 applies a trial7189MilestoneRelease7190 validations7191 when it is a project milestone7192 when milestone and release have the same project7193 is expected to be valid7194 when milestone and release do not have the same project7195 is expected not to be valid7196 when it is a group milestone7197 when group and release have the same project7198 when it is licenced7199 is expected to be valid7200 when it is not licensed7201 is expected not to be valid7202 when milestone and group do not have the same project7203 is expected not to be valid7204 when it is licenced7205 is expected not to be valid7206 when it is a supergroup milestone7207 is expected not to be valid7208 when it is licenced7209 is expected not to be valid7210WorkItems::Widgets::StatusService::UpdateService7211 # order random7212 #update7213 when status feature is licensed7214 when user cannot update work item7215 behaves like work item and status is unchanged7216 does not change work item status value7217 when user can update work item7218 when status param is present7219 when status param is valid7220 behaves like status is updated7221 updates work item status value7222 when status param is equivalent7223 behaves like status is updated7224 updates work item status value7225 when status param is invalid7226 new_status: "unverified"7227 errors7228 new_status: "nonsense"7229 errors7230 new_status: "satisfied"7231 errors7232 when widget does not exist in new type7233 deletes the associated test report and requirement7234 when status param is not present7235 behaves like work item and status is unchanged7236 does not change work item status value7237 when status param is nil7238 behaves like work item and status is unchanged7239 does not change work item status value7240Ci::PendingBuild7241 scopes7242 .with_ci_minutes_available7243 when pending builds does not have ci minutes available7244 returns an empty collection of pending builds7245 when pending builds have ci minutes available7246 returns matching pending builds7247 .upsert_from_build!7248 when ci minutes are not available7249 when project matches shared runners with cost factor enabled7250 behaves like ci minutes not available7251 sets minutes_exceeded to true7252 when project does not matches shared runners with cost factor enabled7253 behaves like ci minutes available7254 sets minutes_exceeded to false7255 when ci minutes are available7256 behaves like ci minutes available7257 sets minutes_exceeded to false7258 when using shared runners with cost factor disabled7259 with new project7260 behaves like ci minutes available7261 sets minutes_exceeded to false7262Security::Ingestion::ScheduleMarkDroppedAsResolvedService7263 # order random7264 when flag is enabled7265 schedules MarkDroppedAsResolvedWorker7266 when primary_identifiers is empty7267 wont schedule MarkDroppedAsResolvedWorker7268 when primary_identifiers do not reference existing types7269 will not schedule a MarkDroppedAsResolvedWorker7270 when flag is disabled7271 wont schedule MarkDroppedAsResolvedWorker7272Banzai::ReferenceParser::EpicParser7273 #nodes_visible_to_user7274 when the epics feature is enabled7275 returns the nodes the user can read for valid epic nodes7276 returns an empty array for nodes without required data-attributes7277 when the epics feature is disabled7278 returns an empty array7279 #referenced_by7280 when using an existing epics IDs7281 returns an Array of epics7282 returns an empty Array for empty list of nodes7283 when epic with given ID does not exist7284 returns an empty Array7285 #records_for_nodes7286 returns a Hash containing the epics for a list of nodes7287EE::API::Entities::GeoSiteStatus7288 # order random7289 #storage_shards7290 returns the config7291 #replication_slots_used_in_percentage7292 formats as percentage7293 #repositories_synced_in_percentage7294 formats as percentage7295 #namespaces7296 returns empty array when full sync is active7297 returns array of namespace ids and paths for selective sync7298 #health7299 when site is healthy7300 exposes the health message7301 when site is unhealthy7302 exposes the error message7303 #job_artifacts_synced_in_percentage7304 formats as percentage7305 #design_repositories_synced_in_percentage7306 formats as percentage7307 #healthy7308 when site is healthy7309 returns true7310 when site is unhealthy7311 returns false7312 when secondary Geo site7313 is expected to have key :storage_shards7314 is expected to have key :storage_shards_match7315 #container_repositories_synced_in_percentage7316 formats as percentage7317Mutations::InstanceSecurityDashboard::AddProject7318 #resolve7319 when user is not logged_in7320 raises Gitlab::Graphql::Errors::ResourceNotAvailable error7321 when user is logged_in7322 when security_dashboard is not enabled7323 raises Gitlab::Graphql::Errors::ResourceNotAvailable error7324 when security_dashboard is disabled for my project7325 when project is not licensed to be added to the security dashboard7326 does not add project to the security dashboard7327 when security_dashboard is enabled7328 when project is available to the user and can be added to the security dashboard7329 adds project to the security dashboard7330 when user is auditor and project is not available to the user explicitly7331 adds project to the security dashboard7332 when project is not available to the user and user is not auditor7333 raises Gitlab::Graphql::Errors::ResourceNotAvailable error7334 when project is already added to the security dashboard7335 does not add project to the security dashboard7336Groups::MarkForDeletionService7337 marking the group for deletion7338 with user that can admin the group7339 for a group that has not been marked for deletion7340 marks the group for deletion7341 returns success7342 marking for deletion fails7343 returns error7344 for a group that has been marked for deletion7345 does not change the attributes associated with delayed deletion7346 returns error7347 audit events7348 logs audit event7349 with a user that cannot admin the group7350 does not mark the group for deletion7351 returns error7352 audit events7353 does not log audit event7354Resolvers::Ci::CodeCoverageActivitiesResolver7355 is expected to eq Types::Ci::CodeCoverageActivityType7356 is expected to be truthy7357 #resolve7358 when group has projects with coverage7359 returns coverage activity for the group7360 when group has projects without coverage7361 returns an empty collection7362 when coverage is included within start date7363 returns coverage from the start_date7364 when coverage is not included within start date7365 returns an empty collection7366IncidentManagement::IssuableResourceLink7367 # order random7368 enums7369 is expected to define :link_type as an enum backed by an integer with values ‹{general: 0, zoom: 1, slack: 2, pagerduty: 3}›7370 scopes7371 returns slack links for slack_links7372 returns zoom links for zoom_links7373 returns slack links for slack_links7374 validations7375 is expected to validate that :issue cannot be empty/falsy7376 is expected to validate that :link cannot be empty/falsy7377 is expected to validate that the length of :link is at most 22007378 is expected to validate that the length of :link_text is at most 2557379 when link is invalid7380 will be invalid7381 associations7382 is expected to belong to issue required: false7383 link protocols7384 protocol: "http", result: #<RSpec::Rails::Matchers::BeValid:0x00007f10bb22c5b8 @args=[]>7385 is expected to be valid7386 protocol: "https", result: #<RSpec::Rails::Matchers::BeValid:0x00007f10bb201520 @args=[]>7387 is expected to be valid7388 protocol: "ftp", result: #<RSpec::Matchers::BuiltIn::BePredicate:0x00007f10bb136488 @method_name=:be_invalid, @args=[], @block=nil>7389 is expected to be invalid7390Jobs/Load-Performance-Testing.gitlab-ci.yml7391 the created pipeline7392 has no errors7393 on master7394 behaves like load_performance job on tag or branch7395 by default7396 when LOAD_PERFORMANCE_DISABLED7397 on another branch7398 behaves like load_performance job on tag or branch7399 by default7400 when LOAD_PERFORMANCE_DISABLED7401 on tag7402 behaves like load_performance job on tag or branch7403 by default7404 when LOAD_PERFORMANCE_DISABLED7405 on merge request7406 has no jobs7407Namespaces::Storage::LimitAlertComponent7408 renders the alert title7409 renders Usage Quotas link7410 for namespace type enforcement7411 renders the alert main part7412 renders the alert footer part7413 for repository type enforcement7414 renders the alert message7415 purchase more storage link7416 does not render link if user is not an owner of root group7417 renders link if user is an owner of root group7418 alert callout data7419 alert_level: :info, user_namespace: true7420 renders the correct callout data7421 alert_level: :warning, user_namespace: false7422 renders the correct callout data7423 alert_level: :error, user_namespace: true7424 renders the correct callout data7425 alert_level: :alert, user_namespace: false7426 renders the correct callout data7427 icon and alert variant7428 alert_level: :info, variant: "info", icon: "information-o"7429 renders the correct icon and variant7430 alert_level: :warning, variant: "warning", icon: "warning"7431 renders the correct icon and variant7432 alert_level: :error, variant: "danger", icon: "error"7433 renders the correct icon and variant7434 alert_level: :alert, variant: "danger", icon: "error"7435 renders the correct icon and variant7436 when user has dismissed banner7437 does not render7438EE::API::Entities::BillableMember7439 returns the last_activity_on attribute7440 exposes the last_login_at field7441 exposes the created_at field7442 exposes the is_last_owner field7443 when the user has a public_email assigned7444 exposes public_email instead of email7445 when the user has no public_email assigned7446 returns a nil value for email7447 with different group membership types7448 user_ids: :group_member_user_ids, membership_type: "group_member", removable: true7449 returns the expected membership_type value7450 returns the expected removable value7451 user_ids: :project_member_user_ids, membership_type: "project_member", removable: true7452 returns the expected membership_type value7453 returns the expected removable value7454 user_ids: :shared_group_user_ids, membership_type: "group_invite", removable: false7455 returns the expected membership_type value7456 returns the expected removable value7457 user_ids: :shared_project_user_ids, membership_type: "project_invite", removable: false7458 returns the expected membership_type value7459 returns the expected removable value7460 with a missing membership type7461 does not raise an error7462Dast::ProfilesPipeline7463 associations7464 is expected to belong to ci_pipeline class_name => Ci::Pipeline required: true7465 is expected to belong to dast_profile class_name => Dast::Profile required: true7466 loose foreign key on dast_profiles_pipelines.ci_pipeline_id7467 behaves like cleanup by a loose foreign key7468 cleans up (delete or nullify) the model7469Epics::NewEpicIssueWorker7470 #perform7471 behaves like performs successfully7472 creates system notes7473 updates usage data7474 when reassinging an issue7475 behaves like performs successfully7476 creates system notes7477 updates usage data7478 when original epic does not exist7479 behaves like does nothing7480 does not create system notes7481 does not update usage data7482 when epic does not exist7483 behaves like does nothing7484 does not create system notes7485 does not update usage data7486 when issue does not exist7487 behaves like does nothing7488 does not create system notes7489 does not update usage data7490 when user does not exist7491 behaves like does nothing7492 does not create system notes7493 does not update usage data7494EE::Ci::RunnersHelper7495 #toggle_shared_runners_settings_data7496 when user has a valid credit card7497 return is_credit_card_validation_required as "false"7498 when user does not have a valid credit card7499 return is_credit_card_validation_required as "true"7500 with notifications7501 .show_buy_pipeline_minutes?7502 when on dot com7503 behaves like minutes notification7504 with a project and namespace7505 when not on dot com7506 is expected to be falsey7507 when on dot com7508 is expected to be truthy7509 without a persisted project passed7510 is expected to be truthy7511 without a persisted namespace passed7512 is expected to be truthy7513 with neither a project nor a namespace7514 is expected to be falsey7515 when show_pipeline_minutes_notification_dot? has been called before7516 does not do all the notification and query work again7517 when show notification is falsey7518 is expected to be falsey7519 when show_pipeline_minutes_notification_dot? has been called before7520 does not do all the notification and query work again7521 .show_pipeline_minutes_notification_dot?7522 behaves like minutes notification7523 with a project and namespace7524 when not on dot com7525 is expected to be falsey7526 when on dot com7527 is expected to be truthy7528 without a persisted project passed7529 is expected to be truthy7530 without a persisted namespace passed7531 is expected to be truthy7532 with neither a project nor a namespace7533 is expected to be falsey7534 when show_pipeline_minutes_notification_dot? has been called before7535 does not do all the notification and query work again7536 when show notification is falsey7537 is expected to be falsey7538 when show_pipeline_minutes_notification_dot? has been called before7539 does not do all the notification and query work again7540 when the notification dot has been acknowledged7541 is expected to be falsy7542 when the notification dot has not been acknowledged7543 is expected to be truthy7544 .show_buy_pipeline_with_subtext?7545 when the notification dot has not been acknowledged7546 is expected to be falsey7547 when the notification dot has been acknowledged7548 is expected to be truthy7549 .root_ancestor_namespace7550 with a project7551 returns the project root ancestor7552 with only a namespace7553 returns the namespace root ancestor7554Security::Ingestion::Tasks::IngestFindingPipelines7555 #execute7556 associates the findings with pipeline7557 behaves like bulk insertable task7558 when the validation fails7559 can generate error messages correctly7560Security::TokenRevocationService#execute7561 when revoking a glpat token7562 returns success7563 when vulnerability is missing7564 does not call `SystemNoteService`7565 when revocation token API returns a response with failure7566 returns error7567 when revocation token types API returns empty list of types7568 is expected to eql {:status=>:success}7569 when external revocation service is disabled7570 is expected to eql {:status=>:success}7571 when external revocation service is enabled7572 with a list of valid token types7573 when there is a list of tokens to be revoked7574 is expected to equal :success7575 when token_revocation_url is missing7576 is expected to eql {:message=>"Missing revocation token data", :status=>:error}7577 when token_types_url is missing7578 is expected to eql {:message=>"Missing revocation token data", :status=>:error}7579 when revocation_api_token is missing7580 is expected to eql {:message=>"Missing revocation token data", :status=>:error}7581 when there is no token to be revoked7582 is expected to eql {:status=>:success}7583 when revocation token types API returns an unsuccessful response7584 is expected to eql {:message=>"Failed to get revocation token types", :status=>:error}7585Members::InviteService7586 #execute7587 with group plan observing quota limits7588 already exceeded invite quota limit7589 behaves like quota limit exceeded7590 limits the number of daily invites allowed7591 will exceed invite quota limit7592 behaves like quota limit exceeded7593 limits the number of daily invites allowed7594 within invite quota limit7595 successfully creates members7596 infinite invite quota limit7597 successfully creates members7598 without a plan7599 successfully creates members7600 with Audit Event logging7601 when there are valid members created7602 creates Audit Events7603 when there are some invalid members7604 only creates Audit Events for valid members7605Types::Ci::PipelineType7606 is expected to eq "Pipeline"7607 includes the ee specific fields7608 security_report_finding7609 when no security findings exist for the pipeline7610 returns null7611 when security findings exist for the pipeline7612 when the specified security finding is not found for the pipeline7613 returns null7614 when the security finding is found7615 returns the security finding7616PersonalAccessTokens::RotationVerifierService7617 #expired?7618 when no new token was created after notification for expired token started7619 behaves like rotation required7620 is expected to equal true7621 cache7622 behaves like stores in cache7623 is expected to eq true7624 when token was created after notification for expired token started7625 behaves like rotation NOT required7626 is expected to equal false7627 cache7628 behaves like stores in cache7629 is expected to eq false7630 with multiple expired tokens7631 when no new token was created after notification for expired token started7632 behaves like rotation required7633 is expected to equal true7634 when new token was created after notification for ONLY first expired token started7635 behaves like rotation required7636 is expected to equal true7637 when new token was created after notification for most recent expired token started7638 behaves like rotation NOT required7639 is expected to equal false7640 For user with no PATs7641 behaves like rotation NOT required7642 is expected to equal false7643 #expiring_soon?7644 when no new token was created after notification for recent expiring token started7645 behaves like rotation required7646 is expected to equal true7647 cache7648 behaves like stores in cache7649 is expected to eq true7650 when token was created after notification for recent expiring token started7651 behaves like rotation NOT required7652 is expected to equal false7653 cache7654 behaves like stores in cache7655 is expected to eq false7656 with multiple expiring tokens7657 when no new token was created after notification for expiring token started7658 behaves like rotation required7659 is expected to equal true7660 when new token was created after notification for ONLY first expiring token started7661 behaves like rotation required7662 is expected to equal true7663 when new token was created after notification for most recent expiring token started7664 behaves like rotation NOT required7665 is expected to equal false7666 For user with no PATs7667 behaves like rotation NOT required7668 is expected to equal false7669 #clear_cache7670 clears cache7671AutoMerge::MergeWhenPipelineSucceedsService7672 #available_for?7673 when there is an open MR dependency7674 is expected to be falsy7675Mutations::Vulnerabilities::RevertToDetected7676 is expected to require graphql authorizations :admin_vulnerability7677 #resolve7678 when the user can revert the vulnerability to detected7679 when user does not have access to the project7680 raises an error7681 when user has access to the project7682 returns the vulnerability back in detected state7683 and no comment is provided7684 returns the vulnerability back in detected state7685Container-Scanning.latest.gitlab-ci.yml7686 # order random7687 the created pipeline7688 when project has no license7689 when branch pipeline7690 includes job7691 when MR pipeline7692 creates a pipeline with the expected jobs7693 with CS_MAJOR_VERSION greater than 37694 includes job7695 when CONTAINER_SCANNING_DISABLED=17696 includes no jobs7697 when CONTAINER_SCANNING_DISABLED="true"7698 includes no jobs7699 when CONTAINER_SCANNING_DISABLED="false"7700 includes job7701WorkItems::Widgets::Filters::Status7702 # order random7703 .filter7704 for passing status7705 is expected to contain exactly #<WorkItem id:224 namespace1454/project-1494#1>7706 for failed status7707 is expected to contain exactly #<WorkItem id:225 namespace1456/project-1496#1>7708 for missing status7709 is expected to contain exactly #<WorkItem id:226 namespace1458/project-1498#1> and #<WorkItem id:223 namespace1453/project-1493#1>7710 when status parameter is nil7711 is expected to contain exactly #<WorkItem id:223 namespace1453/project-1493#1>, #<WorkItem id:224 namespace1454/project-1494#1>, #<WorkItem id:225 namespace1456/project-1496#1>, and #<WorkItem id:226 namespace1458/project-1498#1>7712Gitlab::ImportExport::Group::GroupAndDescendantsRepoRestorer7713 when group wiki license feature is enabled7714 imports the group and subgroups wiki repo and returns true7715 if any of the wiki imports fails7716 returns false and stops importing other groups7717 when group is not inside group mappings7718 avoids calling the restorer, continue importing, and returns true7719 when group mapping is empty7720 does not try to import wikis and returns true7721 when group wiki license feature is not enabled7722 does not try to import wikis and returns true7723Ci::Minutes::AdditionalPacks::ChangeNamespaceService7724 #execute7725 with a non-admin user7726 raises an error7727 with an admin user7728 with valid namespace and target namespace7729 when both namespaces are groups7730 when updating is successful7731 moves all existing packs to the target namespace7732 kicks off refresh ci minutes service for namespace and target7733 when updating packs fails7734 rolls back updates for all packs7735 when the namespace has no additional packs to move7736 returns success7737 when a namespace is a kind of user7738 when updating is successful7739 moves all existing packs to the target namespace7740 kicks off refresh ci minutes service for namespace and target7741 when updating packs fails7742 rolls back updates for all packs7743 when the namespace has no additional packs to move7744 returns success7745 when a target is a kind of user7746 when updating is successful7747 moves all existing packs to the target namespace7748 kicks off refresh ci minutes service for namespace and target7749 when updating packs fails7750 rolls back updates for all packs7751 when the namespace has no additional packs to move7752 returns success7753 when the namespace is not provided7754 returns an error7755 when the target namespace is not provided7756 returns an error7757 when the namespace is not a top-level namespace7758 returns an error7759 when the target namespace is not a top-level namespace7760 returns an error7761 when the namespace is the same as the target7762 returns an error7763Security::TrainingProvider7764 associations7765 is expected to have many trainings7766 validations7767 is expected to validate that :name cannot be empty/falsy7768 is expected to validate that the length of :name is at most 2567769 is expected to validate that the length of :description is at most 5127770 is expected to validate that :url cannot be empty/falsy7771 is expected to validate that the length of :url is at most 5127772 is expected to validate that the length of :logo_url is at most 5127773 .for_project7774 when the `only_enabled` flag is provided as `false`7775 is expected to contain exactly #<Security::TrainingProvider id: 1, name: "Training Provider #1", description: nil, url: "example.com...3999482 +0000", updated_at: "2023-04-27 06:23:27.623999482 +0000", is_enabled: nil, is_primary: nil>, #<Security::TrainingProvider id: 2, name: "Training Provider #2", description: nil, url: "example.com...7804081 +0000", updated_at: "2023-04-27 06:23:27.627804081 +0000", is_enabled: nil, is_primary: nil>, and #<Security::TrainingProvider id: 3, name: "Training Provider #3", description: nil, url: "example.com...0920141 +0000", updated_at: "2023-04-27 06:23:27.630920141 +0000", is_enabled: nil, is_primary: nil>7776 when the `only_enabled` flag is provided as `true`7777 is expected to contain exactly #<Security::TrainingProvider id: 1, name: "Training Provider #1", description: nil, url: "example.com...3999482 +0000", updated_at: "2023-04-27 06:23:27.623999482 +0000", is_enabled: nil, is_primary: nil> and #<Security::TrainingProvider id: 2, name: "Training Provider #2", description: nil, url: "example.com...7804081 +0000", updated_at: "2023-04-27 06:23:27.627804081 +0000", is_enabled: nil, is_primary: nil>7778 virtual attributes7779 sets the virtual attributes correctly7780 .ordered_by_is_primary_desc7781 returns primary providers first7782Resolvers::IncidentManagement::OncallScheduleResolver7783 # order random7784 returns on-call schedules7785 is expected to have nullable GraphQL type IncidentManagementOncallScheduleConnection7786 finding by iid7787 by single iid7788 by multiple iids7789 by no iids7790Integrations::SlackEventWorker7791 # order random7792 #perform7793 executes the correct service7794 ensures idempotency when called twice by only executing service once7795 executes service twice if service returned an error7796 executes service twice if service raised an error7797 executes service twice when event_id is different7798 behaves like logs extra metadata on done7799 is expected to receive log_extra_metadata_on_done(:slack_workspace_id, "T0123A456BC") 1 time7800 behaves like an idempotent worker7801 is labeled as idempotent7802 performs multiple times sequentially without raising an exception7803 when event is not known7804 does not execute the service class7805 logs an error7806 behaves like logs extra metadata on done7807 is expected to receive log_extra_metadata_on_done(:slack_workspace_id, "T0123A456BC") 1 time7808 .event?7809 when event is known7810 is expected to eq true7811 when event is not known7812 is expected to eq false7813BoardUserPreference7814 relationships7815 is expected to belong to board required: false7816 is expected to belong to user required: false7817 is expected to validate that :user_id is case-sensitively unique within the scope of :board_id, producing a custom validation error on failure7818Gitlab::LicenseScanning::BranchComponents7819 # order random7820 #fetch7821 fetches the latest pipeline for the given ref with sbom reports7822 when there is a pipeline with an sbom report7823 fetches components for the sbom pipeline7824 when the pipeline does not have an sbom report7825 behaves like does not fetch pipeline components7826 is expected not to receive new(*(any args)) 0 times7827 when the pipeline does not have any reports7828 behaves like does not fetch pipeline components7829 is expected not to receive new(*(any args)) 0 times7830 when no pipeline exists for the given ref7831 behaves like does not fetch pipeline components7832 is expected not to receive new(*(any args)) 0 times7833EE::Gitlab::Scim::Group::ReprovisioningService7834 # order random7835 #execute7836 activates scim identity7837 creates the member7838 creates the member with the access level as specified in saml_provider7839 does not change group membership when the user is already a member7840 with minimal access user7841 does not change group membership when the user is already a member7842Geo::RepositoryCleanupWorker7843 #perform7844 skips repository clean up if the current node is a primary7845 when node does not have selective sync restriction7846 does not delegate project removal7847 when node has selective sync restriction7848 does not delegate project removal for projects that belong to selected namespaces to replicate7849 delegates project removal for projects that do not belong to selected namespaces to replicate7850Gitlab::Search::AggregationParser7851 .call7852 when elasticsearch buckets are provided7853 code search7854 parses the results7855 issue search with labels aggregations7856 adds label-specific fields7857 aggregations are not present7858 parses the results7859QuickActions::TargetService7860 #execute7861 for epic7862 finds target with valid iid7863 builds a new target if iid from a different group passed7864 for nil type7865 does not raise error7866Verify/Load-Performance-Testing.gitlab-ci.yml7867 the created pipeline7868 has no errors7869 on master7870 behaves like load_performance job on tag or branch7871 by default7872 on another branch7873 behaves like load_performance job on tag or branch7874 by default7875 on tag7876 behaves like load_performance job on tag or branch7877 by default7878 on merge request7879 has no jobs7880Geo::CacheInvalidationEventStore7881 #initialize7882 when the key is a String7883 does not modify the key7884 when the key is an Array7885 expands the key7886 #create7887 behaves like a Geo event store7888 when running on a secondary node7889 does not create an event7890 when running on a primary node7891 does not create an event if there are no secondary nodes7892 creates an event7893 when file subject is not on local store7894 creates an event (PENDING: No file subject defined, skipping)7895 when running on a primary node7896 tracks the cache key that should be invalidated7897 logs an error message when event creation fail7898Types::VulnerabilityRequestType7899 is expected to eq "VulnerabilityRequest"7900 is expected to have graphql fields :body, :method, :url, and :headers7901 checking field contents7902 evidence.request fields7903 checks the contents of the fields7904 evidence.supportingMessages[].request fields7905 checks the contents of the fields7906Mutations::RequirementsManagement::UpdateRequirement7907 #resolve7908 behaves like requirements not available7909 raises a not accessible error7910 when user cannot update requirements7911 behaves like requirements not available7912 raises a not accessible error7913 when the user can update the requirement7914 when requirements feature is available7915 updates new requirement7916 when test report is not created7917 returns errors and does not update requirement7918 when requirements feature is disabled7919 behaves like requirements not available7920 raises a not accessible error7921EE::TrialRegistrationHelper7922 #social_signin_enabled?7923 com: true, omniauth_enabled: true, omniauthable: true, button_based_providers_enabled: true7924 is expected to eq true7925 com: true, omniauth_enabled: true, omniauthable: true, button_based_providers_enabled: false7926 is expected to eq false7927 com: true, omniauth_enabled: true, omniauthable: false, button_based_providers_enabled: true7928 is expected to eq false7929 com: true, omniauth_enabled: true, omniauthable: false, button_based_providers_enabled: false7930 is expected to eq false7931 com: true, omniauth_enabled: false, omniauthable: true, button_based_providers_enabled: true7932 is expected to eq false7933 com: true, omniauth_enabled: false, omniauthable: true, button_based_providers_enabled: false7934 is expected to eq false7935 com: true, omniauth_enabled: false, omniauthable: false, button_based_providers_enabled: true7936 is expected to eq false7937 com: true, omniauth_enabled: false, omniauthable: false, button_based_providers_enabled: false7938 is expected to eq false7939 com: false, omniauth_enabled: true, omniauthable: true, button_based_providers_enabled: true7940 is expected to eq false7941 com: false, omniauth_enabled: true, omniauthable: true, button_based_providers_enabled: false7942 is expected to eq false7943 com: false, omniauth_enabled: true, omniauthable: false, button_based_providers_enabled: true7944 is expected to eq false7945 com: false, omniauth_enabled: true, omniauthable: false, button_based_providers_enabled: false7946 is expected to eq false7947 com: false, omniauth_enabled: false, omniauthable: true, button_based_providers_enabled: true7948 is expected to eq false7949 com: false, omniauth_enabled: false, omniauthable: true, button_based_providers_enabled: false7950 is expected to eq false7951 com: false, omniauth_enabled: false, omniauthable: false, button_based_providers_enabled: true7952 is expected to eq false7953 com: false, omniauth_enabled: false, omniauthable: false, button_based_providers_enabled: false7954 is expected to eq false7955Resolvers::IncidentManagement::EscalationPoliciesResolver7956 # order random7957 returns escalation policies7958 is expected to have nullable GraphQL type EscalationPolicyTypeConnection7959 with name param provided7960 returns escalation policies matching the name search7961 when resolving a single item7962 when id given7963 returns the policy7964 when user does not have permissions7965 returns no policies7966Ci::Minutes::BatchResetService7967 #execute!7968 when global shared_runners_minutes is enabled7969 resets minutes in batches for the given range and ignores project namespaces7970 resets CI minutes but does not recalculate purchased minutes for the namespace exceeding the monthly minutes7971 when an ActiveRecordError is raised7972 continues its progress and raises exception at the end7973Gitlab::Ci::Reports::Security::Locations::DependencyScanning7974 behaves like vulnerability location7975 #initialize7976 when all params are given7977 initializes an instance7978 param: :file_path7979 when param file_path is missing7980 raises an error7981 param: :package_name7982 when param package_name is missing7983 raises an error7984 #fingerprint7985 generates expected fingerprint7986 #fingerprint_path7987 generates expected fingerprint7988 #==7989 returns true when fingerprints are equal7990 returns false when fingerprints are different7991WorkItems::ExportCsvService7992 # order random7993 when importing an exported file7994 for work item of type requirement7995 behaves like a exported file that can be imported7996 imports work item with correct attributes7997Lfs::UnlockFileService7998 #execute7999 when authorized8000 File Locking integraction8001 when File Locking is available8002 deletes the Path Lock8003 when File Locking is not available8004 does not delete the Path Lock8005AppSec::Dast::SiteProfileSecretVariables::CreateOrUpdateService8006 execute8007 when on demand scan licensed feature is not available8008 communicates failure8009 when the feature is enabled8010 communicates success8011 creates a dast_site_profile_secret_variable8012 behaves like it errors when a required param is missing8013 when dast_site_profile param is missing8014 communicates failure8015 behaves like it errors when a required param is missing8016 when key param is missing8017 communicates failure8018 behaves like it errors when a required param is missing8019 when raw_value param is missing8020 communicates failure8021 behaves like it errors when there is a validation failure8022 communicates failure8023 when a variable already exists8024 does not create a dast_site_profile_secret_variable8025 updates the existing dast_site_profile_secret_variable8026 behaves like it errors when there is a validation failure8027 communicates failure8028Geo::HashedStorageAttachmentsEventStore8029 #create!8030 behaves like a Geo event store8031 when running on a secondary node8032 does not create an event8033 when running on a primary node8034 does not create an event if there are no secondary nodes8035 creates an event8036 when file subject is not on local store8037 creates an event (PENDING: No file subject defined, skipping)8038 when running on a primary node8039 tracks project attributes8040Jira::JqlBuilderService8041 #execute8042 when no params8043 builds jql with default ordering8044 with special characters in project key8045 escapes quotes and backslashes8046 with search param8047 builds jql8048 search param with single qoutes8049 builds jql8050 search param with single double qoutes8051 builds jql8052 search param with special characters8053 builds jql8054 with labels param8055 builds jql8056 with status param8057 builds jql8058 with author_username param8059 builds jql8060 with assignee_username param8061 builds jql8062 with sort params8063 builds jql8064 with opened state param8065 builds jql8066 with closed state param8067 builds jql8068 with any other state param8069 builds jql8070 with vulnerability_ids params8071 builds jql8072 with issue_ids params8073 builds jql8074Boards::UsersFinder8075 #execute8076 when parent is a project8077 requests correct relations8078 finds ProjectMembers with MemberFinder8079 when parent is a group8080 requests correct relations8081 finds GroupMembers with GroupMemberFinder8082Security::TrainingProviders::KontraUrlFinder8083 #calculate_reactive_cache8084 when response is nil8085 returns nil8086 when response is not nil8087 returns content url hash8088 when external_type is not present in allowed list8089 returns nil8090 #full_url8091 when external_type is present in allowed list8092 returns full url path8093 when identifier contains CWE-{number} format8094 returns full url path with proper mapping key8095 when a language is provided8096 returns full url path with the language parameter mapped8097 #allowed_identifier_list8098 returns allowed identifiers8099Resolvers::Admin::CloudLicenses::LicenseHistoryEntriesResolver8100 #resolve8101 returns the license history entries8102 when current user is unauthorized8103 generates an error8104 when no licenses exist8105 returns an empty array8106Users::UnblockService8107 # order random8108 #execute8109 audit events8110 when licensed8111 when user unblock operation succeeds8112 logs an audit event8113 logs the audit event info8114 when user unblock operation fails8115 does not log any audit event8116 when not licensed8117 does not log any audit event8118Gitlab::Email::Message::AccountValidation8119 contains the correct message8120Gitlab::Auth::GroupSaml::XmlResponse8121 configures ruby-saml using configured settings8122 validates xml according to SAML spec8123 correctly detects fingerprint mismatch8124 attributes from encoded XML8125 retrieves NameID from XML8126 retrieves NameID Format from XML8127 provides decoded XML8128Gitlab::Ci::Config::Entry::DastConfiguration8129 validation8130 when both site and scanner configuration are present8131 behaves like a valid entry8132 #value8133 returns configuration8134 #valid?8135 is valid8136 when only the site profile is present8137 behaves like a valid entry8138 #value8139 returns configuration8140 #valid?8141 is valid8142 when only the scanner profile is present8143 behaves like a valid entry8144 #value8145 returns configuration8146 #valid?8147 is valid8148 when no keys are present8149 behaves like a valid entry8150 #value8151 returns configuration8152 #valid?8153 is valid8154 when entry value is not correct8155 #errors8156 when there is an unknown key present8157 reports error8158Types::IncidentManagement::IssuableResourceLinkTypeEnum8159 # order random8160 is expected to eq "IssuableResourceLinkType"8161 exposes all the existing issuable resource link types values8162Projects::ImportService8163 when imported in to a group8164 when audit_events is licensed8165 does audit8166 when audit_events is unlicensed8167 does not audit8168 when not imported in to a group8169 when audit_events is licensed8170 does not audit8171 when audit_events is unlicensed8172 does not audit8173Gitlab::Usage::Metrics::Instrumentations::ApprovalProjectRulesWithUserMetric8174 for more approvers than required8175 behaves like a correct instrumented metric value and query8176 behaves like a correct instrumented metric value8177 has correct value8178 behaves like a correct instrumented metric query8179 has correct generate query8180 for more approvers than required8181 behaves like a correct instrumented metric value and query8182 behaves like a correct instrumented metric value8183 has correct value8184 behaves like a correct instrumented metric query8185 has correct generate query8186 for more approvers than required8187 behaves like a correct instrumented metric value and query8188 behaves like a correct instrumented metric value8189 has correct value8190 behaves like a correct instrumented metric query8191 has correct generate query8192Geo::ReplicationToggleRequestService8193 expires the geo cache on success8194 does not expire the geo cache on failure8195 behaves like a geo RequestService8196 #execute8197 parses a 401 response8198 alerts on bad SSL certficate8199 handles connection refused8200 returns meaningful error message when primary uses incorrect db key8201 gracefully handles case when primary is deleted8202Projects::Security::ConfigurationPresenter8203 #to_h8204 includes settings for auto_fix feature8205 reports auto_fix permissions8206 reports security_training_enabled8207 #to_html_data_attribute8208 includes feature meta information for dast scanner8209 does not include feature meta information for other scanner8210EE::API::Entities::UserWithAdmin8211 using_license_seat8212 when user is using seat8213 returns true8214 when user is not using seat8215 returns false8216 is_auditor8217 when auditor_user is available8218 returns false when user is not an auditor8219 when user is an auditor8220 returns true8221 when auditor_user is not available8222 does not have the is_auditor param8223 provisioned_by_group_id8224 group_saml is available8225 returns false when user is not provisioned by group8226 when user is provisioned by group8227 returns group_id8228 when group_saml is not available8229 does not have the provisioned_by_group_id param8230Dora::TimeToRestoreServiceMetric8231 #data_queries8232 for production environment8233 returns median of incidents duration closed at given date8234 for non-production environment8235 does not calculate time_to_restore_service daily metric8236Ci::Catalog::ResourcesHelper8237 # order random8238 #can_view_namespace_catalog?8239 when FF `ci_private_catalog_beta` is disabled8240 returns false8241 when user has no permissions to collaborate8242 returns false8243 when user has permissions to collaborate8244 when license for namespace catalog is enabled8245 returns true8246 when license for namespace catalog is not enabled8247 returns false8248 #js_ci_catalog_data8249 without the right permissions8250 does not return the EE specific attributes8251 with the right permissions8252 returns both the super and EE specific properties8253AlertManagement::Alerts::UpdateService8254 #execute8255 when a status is included8256 when moving from a closed status to an open status8257 creates an escalation8258 moving from an open status to closed status8259 deletes the target's escalations8260 moving from a status of the same group8261 does not create or delete escalations8262groups/billings/index8263 when the group is the top level8264 with free plan8265 renders the billing page8266 has tracking items set as expected8267 with a paid plan8268 renders the billing plans8269 when purchasing a plan8270 tracks purchase banner8271 with a single user8272 displays the correct notification for 1 user8273 with multiple users8274 displays the correct notification for 2 users8275projects/security/dast_site_profiles/new8276 renders Vue app root8277 passes project's full path8278 passes DAST profiles library URL8279shared/billings/_billing_plan_actions.html.haml8280 contains the hand raise lead selector and tracking8281Types::GroupStatsType8282 is expected to require graphql authorizations :read_group8283 has the expected fields8284IssueEntity8285 when with_blocking_issues option is not present8286 exposes blocking issues8287 when with_blocking_issues option is present8288 exposes blocking issues8289 exposes only iid and web_url8290Namespaces::InProductMarketingEmailsWorker#perform8291 in_product_marketing_emails_enabled: true, on_gitlab_dot_com: true, paid_license: true, executes_service: true8292 executes the email service8293 in_product_marketing_emails_enabled: true, on_gitlab_dot_com: true, paid_license: false, executes_service: true8294 executes the email service8295 in_product_marketing_emails_enabled: true, on_gitlab_dot_com: false, paid_license: true, executes_service: false8296 executes the email service8297 in_product_marketing_emails_enabled: true, on_gitlab_dot_com: false, paid_license: false, executes_service: true8298 executes the email service8299 in_product_marketing_emails_enabled: false, on_gitlab_dot_com: true, paid_license: true, executes_service: false8300 executes the email service8301 in_product_marketing_emails_enabled: false, on_gitlab_dot_com: true, paid_license: false, executes_service: false8302 executes the email service8303 in_product_marketing_emails_enabled: false, on_gitlab_dot_com: false, paid_license: true, executes_service: false8304 executes the email service8305 in_product_marketing_emails_enabled: false, on_gitlab_dot_com: false, paid_license: false, executes_service: false8306 executes the email service8307IncidentManagement::OncallRotationsFinder8308 # order random8309 #execute8310 when feature is available8311 when user has permissions8312 returns project on-call rotations8313 when id given8314 returns an on-call rotation for id8315 schedule is nil8316 is expected to eq #<ActiveRecord::Relation []>8317 when user has no permissions8318 is expected to eq #<ActiveRecord::Relation []>8319 when feature is not available8320 is expected to eq #<ActiveRecord::Relation []>8321Analytics::DevopsAdoption::EnabledNamespaces::BulkDeleteService8322 deletes the enabled_namespaces8323 authorizes for manage_devops_adoption8324 when deletion fails8325 keeps records and returns error response8326Analytics::DevopsAdoption::CreateSnapshotWorker8327 #perform8328 updates metrics for all not finalized snapshots and previous month8329 when pending metric for previous month already exists8330 calls for previous month calculation only once8331 when metric for previous month already finalized8332 does not call for previous month calculation8333layouts/project8334 # order random8335 when free plan limit alert is present8336 renders the alert partial8337AlertManagement::AlertPayloadField8338 validations8339 is expected to validate that :project cannot be empty/falsy8340 is expected to validate that :label cannot be empty/falsy8341 is expected to validate that :type is either ‹"array"›, ‹"datetime"›, or ‹"string"›8342 validates path8343 when path is nil8344 behaves like has invalid path8345 is invalid8346 when path is empty array8347 behaves like has invalid path8348 is invalid8349 when path does not contain only strings or integers8350 behaves like has invalid path8351 is invalid8352 when path contains only strings and integers8353 is expected to be valid8354EE::Gitlab::Auth::Ldap::Group8355 #member_dns8356 resolves the correct member_dns when member has a range8357 removes extraneous spaces from DNs8358 when there are nested groups8359 resolves the correct member_dns when there are nested groups8360 skips duplicate nested groups8361 does not include group dns or users outside of the base8362 logs an error when the LDAP base is invalid8363 logs a warning when an invalid member DN is found in an LDAP group8364 resolves the correct member_dns when the LDAP base is not normalized8365WorkItems::Widgets::RequirementLegacy8366 # order random8367 .type8368 is expected to eq :requirement_legacy8369 #legacy_iid8370 is expected to eq 18371 #type8372 is expected to eq :requirement_legacy8373Types::AlertManagement::PayloadAlertFieldPathSegmentType8374 is expected to eq "PayloadAlertFieldPathSegment"8375 .coerce_input8376 with string8377 is expected to eq "string"8378 with integer8379 is expected to eq 168380 with non-string or integer8381 is expected to eq nil8382 .coerce_result8383 with string8384 is expected to eq "string"8385 with integer8386 is expected to eq 168387 with non-string or integer8388 is expected to eq "[1, 2, 3]"8389Operations routing routing8390 /-/operations8391 routes to the operations index action8392 routes to the operations create action8393 routes to operations destroy action8394 /-/operations/environments8395 routes to the environments list action8396 routes to the environments create action8397 routes to environments destroy action8398MarkupHelper8399 #render_wiki_content8400 when file is Markdown8401 when content has labels8402 when wiki is a group wiki8403 behaves like renders label8404 is expected not to be empty8405 when wiki is a project wiki8406 behaves like renders label8407 is expected not to be empty8408Gitlab::ImportExport::RepoRestorer8409 restores group wiki bundles8410 when group wiki in bundle8411 restores the repo successfully8412 when no group wiki in the bundle8413 does not creates an empty wiki8414Gitlab::Ci::Pipeline::Chain::Validate::SecurityOrchestrationPolicy8415 #perform8416 when security policies feature is not licensed8417 does not return warning8418 when security policies feature is licensed8419 when policy file is missing8420 returns warning8421 when policy file is present8422 when policy file is invalid8423 returns warning8424 when policy file is valid8425 does not return warning8426Mutations::Boards::EpicBoards::Destroy8427 raises error when user does not have permission to destroy the board8428 field tests8429 is expected to have graphql arguments :id8430 is expected to have graphql fields :epic_board8431 when user has permission to destroy the board8432 destroys the epic board8433Gitlab::UsageDataCounters::WorkItemActivityUniqueCounter8434 .track_work_item_weight_changed_action8435 behaves like work item unique counter8436 when track_work_items_activity FF is enabled8437 tracks a unique event only once8438 when author is nil8439 behaves like counter that does not track the event8440 does not track the event8441 when track_work_items_activity FF is disabled8442 behaves like counter that does not track the event8443 does not track the event8444 .track_work_item_iteration_changed_action8445 behaves like work item unique counter8446 when track_work_items_activity FF is enabled8447 tracks a unique event only once8448 when author is nil8449 behaves like counter that does not track the event8450 does not track the event8451 when track_work_items_activity FF is disabled8452 behaves like counter that does not track the event8453 does not track the event8454Projects::DisableDeployKeyService8455 records an audit event8456 behaves like sends correct event type in audit event stream8457 sends correct event type in audit event stream8458Users::RejectService8459 #execute8460 audit events8461 when licensed8462 when user is successfully rejected8463 logs an audit event8464 logs the audit event info8465 when user does not have permission to reject another user8466 does not log any audit event8467Analytics::DoraMetricsAggregator8468 # order random8469 .aggregate_for8470 returns the aggregated data8471 when interval is monthly8472 returns the aggregated data8473 when interval is all8474 returns the aggregated data8475 when environment tiers are changed8476 returns the aggregated data8477Projects::Security::DiscoverHelper8478 #project_security_showcase_data8479 builds correct hash8480 #project_security_discover_data8481 builds correct hash8482 candidate for pql_three_cta_test8483 renders a hash with pqltest content8484Automated License Installation8485 executes the gitlab:license:load task8486Gitlab::ReturnToLocation8487 #full_path8488 returns nil when location nil8489 returns an empty string when location is empty8490 removes the domain from location8491 keeps the query string from location8492 keeps the fragments from location8493devise/registrations/new8494 # order random8495 renders challenge container with the correct data attributes8496 when the feature is disabled8497 does not render challenge container8498StatusPage::PublishListService8499 # order random8500 #execute8501 when json upload succeeds8502 publishes details as JSON8503 when upload fails due to exception8504 propagates the exception8505 when limits exceeded8506 returns limit exceeded error8507 when status page setting is not enabled8508 returns feature not available error8509IncidentManagement::PendingEscalations::IssueCheckWorker8510 # order random8511 #perform8512 with valid escalation8513 processes the escalation8514 without valid escalation8515 does nothing8516Vulnerabilities::ScannerEntity8517 #as_json8518 contains required fields8519MetricsReportMetricEntity8520 #as_json8521 contains the correct metric8522 when the metric did not change8523 does not expose previous_value8524 when the metric changed8525 exposes the previous_value8526Types::ProtectedEnvironments::ApprovalRuleForSummaryType8527 # order random8528 includes the expected fields8529 is expected to eq "ProtectedEnvironmentApprovalRuleForSummary"8530Types::SecurityOrchestration::SecurityPolicyRelationTypeEnum8531 is expected to eq "SecurityPolicyRelationType"8532 exposes all policy relation types8533Types::Projects::ServiceTypeEnum8534 exposes all the EE project services8535 coerces values correctly8536Groups::CreateEventWorker8537 creats an event8538 passes the correct arguments8539Gitlab::Ci::Reports::Metrics::ReportsComparer8540 #new_metrics8541 reports new metrics8542 #existing_metrics8543 reports existing metrics8544 when existing metric changes8545 sets previous value8546 #removed_metrics8547 reports removed metrics8548EE::API::Entities::MemberRole8549 # order random8550 exposes expected fields8551 exposes the attributes8552WebHookService8553 #async_execute8554 when hook has custom context attributes8555 includes the subscription plan in the worker context8556Types::IssueSortEnum8557 is expected to eq "IssueSort"8558 exposes all the existing EE issue sort values8559 behaves like common sort values8560 exposes all the existing common sort values8561TestReportsComparerEntity8562 #as_json8563 when head and base reports include two test suites8564 when the status of head report is success8565 contains correct compared test reports details8566 when the status of head report is failed8567 contains correct compared test reports details8568 when the status of head report is resolved8569 contains correct compared test reports details8570Dora::Watchers8571 # order random8572 for issue8573 .mount8574 mounts IssueWatcher8575 .process_event8576 delegates to IssueWatcher8577Types::DoraMetricType8578 has the expected fields8579 fields8580 have proper types8581DeleteIssuesFromOriginalIndex8582 behaves like a deprecated Advanced Search migration8583 #migrate8584 logs a message and halts the migration8585 #completed?8586 returns false8587 #obsolete?8588 returns true8589Gitlab::Usage::Metrics::Instrumentations::HistoricalMaxUsersMetric8590 behaves like a correct instrumented metric value8591 has correct value8592Mutations::Ci::Runner::Update8593 #resolve8594 when user can update runner8595 when mutation includes cost factor arguments8596 updates cost factors to specified values8597Gitlab::Patch::DatabaseConfig8598 #database_configuration8599 when config/database.yml does not contain Geo settings8600 returns a hash containing only main:8601 when config/database.yml contains Geo settings8602 returns a hash containing both main: and geo:8603 when SKIP_POST_DEPLOYMENT_MIGRATIONS environment variable set8604 does not include Geo post deployment migrations path8605Geo::RepositoriesChangedEvent8606 relationships8607 is expected to belong to geo_node required: false8608 validations8609 is expected to validate that :geo_node cannot be empty/falsy8610Types::Dast::ProfileScheduleInputType8611 is expected to eq "DastProfileScheduleInput"8612 has the correct arguments8613Types::Boards::EpicUserPreferencesType8614 is expected to eq "BoardEpicUserPreferences"8615 has specific fields8616Types::PermissionTypes::Project8617 is expected to have graphql field :admin_path_locks8618Types::VulnerabilityLocation::SecretDetectionType8619 is expected to have graphql fields :end_line, :file, :start_line, :vulnerable_class, :vulnerable_method, and :blob_path8620Types::SecurityScannerTypeEnum8621 exposes all security scanner types8622admin/application_settings/_ee_package_registry.html.haml8623 # order random8624 package registry settings8625 renders right description8626Types::VulnerabilityDetails::DiffType8627 is expected to have graphql fields :name, :description, :fieldName, :before, and :after8628Gitlab::Insights::Serializers::Chartjs::LineSerializer8629 returns the correct format8630EE::API::Entities::Ci::Minutes::AdditionalPack8631 contains the correct attributes8632EpicsHelper8633 #epic_new_app_data8634 returns the correct data for a new epic8635Types::RequirementsManagement::TestReportStateEnum8636 exposes all the possible test report states8637Vulnerabilities::HistoricalStatistics::DeletionWorker8638 #perform8639 calls `Vulnerabilities::HistoricalStatistics::DeletionService`8640Knapsack report was generated. Preview:8641{8642 "ee/spec/services/ee/auth/container_registry_authentication_service_spec.rb": 162.2586178849997,8643 "ee/spec/models/ee/group_spec.rb": 115.43302360900088,8644 "ee/spec/models/boards/epic_board_position_spec.rb": 144.5505998840017,8645 "ee/spec/models/geo/terraform_state_version_registry_spec.rb": 81.17253296200033,8646 "ee/spec/lib/gitlab/elastic/indexer_spec.rb": 77.14951268200093,8647 "ee/spec/services/epics/epic_links/create_service_spec.rb": 55.145004165999126,8648 "ee/spec/services/vulnerabilities/confirm_service_spec.rb": 57.196802462998676,8649 "ee/spec/models/iteration_spec.rb": 36.67216344699955,8650 "ee/spec/models/security/scan_spec.rb": 42.325374717998784,8651 "ee/spec/services/ee/boards/issues/move_service_spec.rb": 39.47390131500106,8652 "ee/spec/models/merge_request/blocking_spec.rb": 48.65079472300022,8653 "ee/spec/elastic/migrate/20230321202400_backfill_hashed_root_namespace_id_on_merge_requests_spec.rb": 36.593609953999476,8654 "ee/spec/lib/ee/gitlab/auth/ldap/sync/group_spec.rb": 29.512031618000037,8655 "ee/spec/models/geo/design_registry_spec.rb": 24.486918839000282,8656 "ee/spec/elastic/migrate/20220825102900_backfill_label_ids_for_issues_spec.rb": 24.756668826999885,8657 "ee/spec/models/concerns/ee/issuable_spec.rb": 15.926458501000525,8658 "ee/spec/finders/geo/project_wiki_repository_registry_finder_spec.rb": 20.572247840000273,8659 "ee/spec/models/geo/dependency_proxy_blob_registry_spec.rb": 12.544307348000075,8660 "ee/spec/lib/gitlab/geo_spec.rb": 5.430586637001397,8661 "ee/spec/lib/gitlab/vulnerabilities/findings_preloader_spec.rb": 17.058393261000674,8662 "ee/spec/serializers/member_entity_spec.rb": 17.06872834999922,8663 "ee/spec/models/requirements_management/test_report_spec.rb": 11.283614560999922,8664 "ee/spec/elastic/migrate/20230307102400_backfill_hashed_root_namespace_id_on_notes_spec.rb": 14.241606845000206,8665 "ee/spec/models/concerns/elastic/project_wiki_spec.rb": 12.923227659999611,8666 "ee/spec/workers/elastic/project_transfer_worker_spec.rb": 8.949032626998815,8667 "ee/spec/lib/gitlab/ci/templates/Jobs/dast_default_branch_gitlab_ci_yaml_spec.rb": 13.335256008000215,8668 "ee/spec/lib/gitlab/insights/reducers/count_per_period_reducer_spec.rb": 11.198437507000563,8669 "ee/spec/graphql/resolvers/geo/container_repository_registries_resolver_spec.rb": 13.55517861000044,8670 "ee/spec/lib/gitlab/package_metadata/connector/offline_spec.rb": 2.276212769000267,8671 "ee/spec/services/vulnerability_feedback/destroy_service_spec.rb": 10.245941343000595,8672 "ee/spec/models/dora/daily_metrics_spec.rb": 5.881506402000014,8673 "ee/spec/lib/ee/gitlab/ci/reports/security/reports_spec.rb": 7.343167895000079,8674 "ee/spec/lib/gem_extensions/elasticsearch/model/adapter/active_record/records_spec.rb": 9.004985252999177,8675 "ee/spec/serializers/vulnerabilities/finding_entity_spec.rb": 7.726277773999755,8676 "ee/spec/lib/audit/details_spec.rb": 9.665621730000566,8677 "ee/spec/models/ee/pages_deployment_spec.rb": 8.689099277999048,8678 "ee/spec/helpers/ee/issues_helper_spec.rb": 7.534368849999737,8679 "ee/spec/services/epics/update_dates_service_spec.rb": 8.326527986999281,8680 "ee/spec/workers/group_saml_group_sync_worker_spec.rb": 5.4892397219991835,8681 "ee/spec/lib/gitlab/auth/smartcard/certificate_spec.rb": 3.1928862360000494,8682 "ee/spec/workers/sync_seat_link_request_worker_spec.rb": 5.954670674998852,8683 "ee/spec/models/container_repository_spec.rb": 6.369685282001228,8684 "ee/spec/finders/users_finder_spec.rb": 3.3490743830006977,8685 "ee/spec/services/ci/retry_job_service_spec.rb": 9.806362379000348,8686 "ee/spec/services/incident_management/oncall_schedules/update_service_spec.rb": 3.731864321998728,8687 "ee/spec/services/merge_request_approval_settings/update_service_spec.rb": 5.912418248999529,8688 "ee/spec/lib/gitlab/ci/templates/license_scanning_latest_gitlab_ci_yaml_spec.rb": 3.742222901999412,8689 "ee/spec/services/security/ingestion/tasks/ingest_vulnerabilities/mark_resolved_as_detected_spec.rb": 8.004874321999523,8690 "ee/spec/models/members/member_role_spec.rb": 3.104949773000044,8691 "ee/spec/serializers/ee/build_details_entity_spec.rb": 5.132781840000462,8692 "ee/spec/lib/gitlab/ci/project_config_spec.rb": 4.8271268459993735,8693 "ee/spec/services/geo/rename_repository_service_spec.rb": 6.330537865000224,8694 "ee/spec/services/registrations/import_namespace_create_service_spec.rb": 2.250418070998421,8695 "ee/spec/models/milestone_release_spec.rb": 7.787279608999597,8696 "ee/spec/services/work_items/widgets/status_service/update_service_spec.rb": 4.034628138999324,8697 "ee/spec/models/ee/ci/pending_build_spec.rb": 2.6964496660002624,8698 "ee/spec/services/security/ingestion/schedule_mark_dropped_as_resolved_service_spec.rb": 6.165325896001377,8699 "ee/spec/lib/banzai/reference_parser/epic_parser_spec.rb": 4.794050249000065,8700 "ee/spec/lib/ee/api/entities/geo_site_status_spec.rb": 1.716733948998808,8701 "ee/spec/graphql/mutations/instance_security_dashboard/add_project_spec.rb": 3.4250977510000666,8702 "ee/spec/services/groups/mark_for_deletion_service_spec.rb": 3.8871071320008923,8703 "ee/spec/graphql/resolvers/ci/code_coverage_activities_resolver_spec.rb": 4.095996296000521,8704 "ee/spec/models/incident_management/issuable_resource_link_spec.rb": 3.35809476599934,8705 "ee/spec/lib/gitlab/ci/templates/Jobs/load_performance_testing_gitlab_ci_yaml_spec.rb": 4.365997633000006,8706 "ee/spec/components/namespaces/storage/limit_alert_component_spec.rb": 2.078176101000281,8707 "ee/spec/lib/ee/api/entities/billable_member_spec.rb": 1.8224208109986648,8708 "ee/spec/models/dast/profiles_pipeline_spec.rb": 2.9961056649990496,8709 "ee/spec/workers/epics/new_epic_issue_worker_spec.rb": 2.421831892999762,8710 "ee/spec/helpers/ee/ci/runners_helper_spec.rb": 2.288189003000298,8711 "ee/spec/services/security/ingestion/tasks/ingest_finding_pipelines_spec.rb": 2.889661213999716,8712 "ee/spec/services/security/token_revocation_service_spec.rb": 1.8390051200003654,8713 "ee/spec/services/ee/members/invite_service_spec.rb": 3.782220140999925,8714 "ee/spec/graphql/types/ci/pipeline_type_spec.rb": 3.800196730000607,8715 "ee/spec/services/personal_access_tokens/rotation_verifier_service_spec.rb": 1.7732261550008843,8716 "ee/spec/services/auto_merge/merge_when_pipeline_succeeds_service_spec.rb": 2.5687813599997753,8717 "ee/spec/graphql/mutations/vulnerabilities/revert_to_detected_spec.rb": 2.8074140609987808,8718 "ee/spec/lib/gitlab/ci/templates/container_scanning_latest_gitlab_ci_yaml_spec.rb": 3.4659857469996496,8719 "ee/spec/finders/work_items/widgets/filters/status_spec.rb": 2.8465722580003785,8720 "ee/spec/lib/gitlab/import_export/group/group_and_descendants_repo_restorer_spec.rb": 0.7666628169990872,8721 "ee/spec/services/ci/minutes/additional_packs/change_namespace_service_spec.rb": 2.108852208000826,8722 "ee/spec/models/security/training_provider_spec.rb": 1.130549957999392,8723 "ee/spec/graphql/resolvers/incident_management/oncall_schedule_resolver_spec.rb": 1.5350593639996077,8724 "ee/spec/workers/integrations/slack_event_worker_spec.rb": 1.0114529579986993,8725 "ee/spec/models/board_user_preference_spec.rb": 1.9011417550009355,8726 "ee/spec/lib/gitlab/license_scanning/branch_components_spec.rb": 1.8499692490004236,8727 "ee/spec/lib/ee/gitlab/scim/group/reprovisioning_service_spec.rb": 1.5447921539998788,8728 "ee/spec/workers/geo/repository_cleanup_worker_spec.rb": 1.9971612170011213,8729 "ee/spec/lib/gitlab/search/aggregation_parser_spec.rb": 1.1692830749998393,8730 "ee/spec/services/ee/quick_actions/target_service_spec.rb": 2.797252080999897,8731 "ee/spec/lib/gitlab/ci/templates/Verify/load_performance_testing_gitlab_ci_yaml_spec.rb": 2.7854167229997984,8732 "ee/spec/services/geo/cache_invalidation_event_store_spec.rb": 0.8204135729993141,8733 "ee/spec/graphql/types/vulnerability_request_type_spec.rb": 2.340491679000479,8734 "ee/spec/graphql/mutations/requirements_management/update_requirement_spec.rb": 2.2087090900004114,8735 "ee/spec/helpers/ee/trial_registration_helper_spec.rb": 1.0724930520009366,8736 "ee/spec/graphql/resolvers/incident_management/escalation_policies_resolver_spec.rb": 1.698408191999988,8737 "ee/spec/services/ci/minutes/batch_reset_service_spec.rb": 2.090074129000641,8738 "ee/spec/lib/gitlab/ci/reports/security/locations/dependency_scanning_spec.rb": 0.6283708290011418,8739 "ee/spec/services/work_items/export_csv_service_spec.rb": 1.9456369720010116,8740 "ee/spec/services/lfs/unlock_file_service_spec.rb": 1.5368863650001003,8741 "ee/spec/services/app_sec/dast/site_profile_secret_variables/create_or_update_service_spec.rb": 1.427908904001015,8742 "ee/spec/services/geo/hashed_storage_attachments_event_store_spec.rb": 2.015896814998996,8743 "ee/spec/services/jira/jql_builder_service_spec.rb": 1.1331378380000388,8744 "ee/spec/finders/boards/users_finder_spec.rb": 1.7804989340002066,8745 "ee/spec/finders/security/training_providers/kontra_url_finder_spec.rb": 1.3851506869996228,8746 "ee/spec/graphql/resolvers/admin/cloud_licenses/license_history_entries_resolver_spec.rb": 0.7161407320018043,8747 "ee/spec/services/ee/users/unblock_service_spec.rb": 1.0752478319991496,8748 "ee/spec/lib/gitlab/email/message/account_validation_spec.rb": 1.1908155229994009,8749 "ee/spec/lib/gitlab/auth/group_saml/xml_response_spec.rb": 1.5736862909998308,8750 "ee/spec/lib/gitlab/ci/config/entry/dast_configuration_spec.rb": 0.7088521920013591,8751 "ee/spec/graphql/types/incident_management/issuable_resource_link_type_enum_spec.rb": 0.35075569200125756,8752 "ee/spec/services/projects/import_service_spec.rb": 1.6504447250008525,8753 "ee/spec/lib/gitlab/usage/metrics/instrumentations/approval_project_rules_with_user_metric_spec.rb": 1.6430013359986333,8754 "ee/spec/services/geo/replication_toggle_request_service_spec.rb": 0.8997644959999889,8755 "ee/spec/presenters/ee/projects/security/configuration_presenter_spec.rb": 1.8217191209987504,8756 "ee/spec/lib/ee/api/entities/user_with_admin_spec.rb": 1.3636819290004496,8757 "ee/spec/models/dora/time_to_restore_service_metric_spec.rb": 2.049288012998659,8758 "ee/spec/helpers/ee/ci/catalog/resources_helper_spec.rb": 1.269871686001352,8759 "ee/spec/services/ee/alert_management/alerts/update_service_spec.rb": 1.4987131580001005,8760 "ee/spec/views/groups/billings/index.html.haml_spec.rb": 1.3839992969988089,8761 "ee/spec/views/projects/security/dast_site_profiles/new.html.haml_spec.rb": 1.5458882230013842,8762 "ee/spec/views/shared/billings/_billing_plan_actions.html.haml_spec.rb": 0.5780854229997203,8763 "ee/spec/graphql/types/group_stats_type_spec.rb": 0.6482228770000802,8764 "ee/spec/serializers/ee/issue_entity_spec.rb": 1.432196022999051,8765 "ee/spec/workers/ee/namespaces/in_product_marketing_emails_worker_spec.rb": 0.7604779779994715,8766 "ee/spec/finders/incident_management/oncall_rotations_finder_spec.rb": 1.212484231000417,8767 "ee/spec/services/analytics/devops_adoption/enabled_namespaces/bulk_delete_service_spec.rb": 1.8444733289998112,8768 "ee/spec/workers/analytics/devops_adoption/create_snapshot_worker_spec.rb": 1.1508499060000759,8769 "ee/spec/views/layouts/project.html.haml_spec.rb": 1.7777129550013342,8770 "ee/spec/models/alert_management/alert_payload_field_spec.rb": 0.8474323810005444,8771 "ee/spec/lib/ee/gitlab/auth/ldap/group_spec.rb": 0.6988379129998066,8772 "ee/spec/models/work_items/widgets/requirement_legacy_spec.rb": 0.9064616960004059,8773 "ee/spec/graphql/types/alert_management/payload_alert_field_path_segment_type_spec.rb": 0.8101586940010748,8774 "ee/spec/routing/operations_routing_spec.rb": 0.5811319519998506,8775 "ee/spec/helpers/markup_helper_spec.rb": 1.352466620000996,8776 "ee/spec/lib/ee/gitlab/import_export/repo_restorer_spec.rb": 1.3455966599995008,8777 "ee/spec/lib/ee/gitlab/ci/pipeline/chain/validate/security_orchestration_policy_spec.rb": 1.5472047040002508,8778 "ee/spec/graphql/mutations/boards/epic_boards/destroy_spec.rb": 0.855153540000174,8779 "ee/spec/lib/ee/gitlab/usage_data_counters/work_item_activity_unique_counter_spec.rb": 0.6856473940006254,8780 "ee/spec/services/projects/disable_deploy_key_service_spec.rb": 1.2565673979988787,8781 "ee/spec/services/ee/users/reject_service_spec.rb": 0.8382500719999371,8782 "ee/spec/lib/analytics/dora_metrics_aggregator_spec.rb": 0.7785672959998919,8783 "ee/spec/helpers/projects/security/discover_helper_spec.rb": 0.9887723900010315,8784 "ee/spec/db/production/license_spec.rb": 0.566849603999799,8785 "ee/spec/lib/gitlab/return_to_location_spec.rb": 0.5776496830003452,8786 "ee/spec/views/devise/registrations/new.html.haml_spec.rb": 0.8536609300008422,8787 "ee/spec/services/status_page/publish_list_service_spec.rb": 0.6377544179995311,8788 "ee/spec/workers/incident_management/pending_escalations/issue_check_worker_spec.rb": 1.1058975600008125,8789 "ee/spec/serializers/vulnerabilities/scanner_entity_spec.rb": 1.6407348459997593,8790 "ee/spec/serializers/metrics_report_metric_entity_spec.rb": 0.4353757640001277,8791 "ee/spec/graphql/types/protected_environments/approval_rule_for_summary_type_spec.rb": 0.5983523020004213,8792 "ee/spec/graphql/types/security_orchestration/security_policy_relation_type_enum_spec.rb": 0.6558988269989641,8793 "ee/spec/graphql/types/projects/services_enum_spec.rb": 0.4461901430004218,8794 "ee/spec/workers/groups/create_event_worker_spec.rb": 0.5859619019993261,8795 "ee/spec/lib/gitlab/ci/reports/metrics/reports_comparer_spec.rb": 0.5752306040012627,8796 "ee/spec/lib/ee/api/entities/member_role_spec.rb": 0.7973193950001587,8797 "ee/spec/services/web_hook_service_spec.rb": 0.7914540660003695,8798 "ee/spec/graphql/ee/types/issue_sort_enum_spec.rb": 0.3929050980004831,8799 "ee/spec/serializers/test_reports_comparer_entity_spec.rb": 0.7758948760001658,8800 "ee/spec/models/dora/watchers_spec.rb": 0.5523218349990202,8801 "ee/spec/graphql/types/dora_metric_type_spec.rb": 0.7306423709997034,8802 "ee/spec/elastic/migrate/20210112165500_delete_issues_from_original_index_spec.rb": 0.4395656630003941,8803 "ee/spec/lib/gitlab/usage/metrics/instrumentations/historical_max_users_metrics_spec.rb": 0.3479077909996704,8804 "ee/spec/graphql/ee/mutations/ci/runner/update_spec.rb": 0.5775894430007611,8805 "ee/spec/lib/gitlab/patch/database_config_spec.rb": 0.41033321599934425,8806 "ee/spec/models/geo/repositories_changed_event_spec.rb": 0.4757835799991881,8807 "ee/spec/graphql/types/dast/profile_schedule_input_type_spec.rb": 0.46391421199950855,8808 "ee/spec/graphql/types/boards/epic_user_preferences_type_spec.rb": 0.4049587669996981,8809 "ee/spec/graphql/types/permission_types/project_spec.rb": 0.3632308699998248,8810 "ee/spec/graphql/types/vulnerability_location/secret_detection_type_spec.rb": 0.4782460309997987,8811 "ee/spec/graphql/types/security_scanner_type_enum_spec.rb": 0.3359528920009325,8812 "ee/spec/views/admin/application_settings/_ee_package_registry.html.haml_spec.rb": 0.6449153569992632,8813 "ee/spec/graphql/types/vulnerability_details/diff_type_spec.rb": 0.5325511760001973,8814 "ee/spec/lib/gitlab/insights/serializers/chartjs/line_serializer_spec.rb": 0.3158154039992951,8815 "ee/spec/lib/ee/api/entities/ci/minutes/additional_pack_spec.rb": 0.5460473859984631,8816 "ee/spec/helpers/epics_helper_spec.rb": 0.5362070959999983,8817 "ee/spec/graphql/types/requirements_management/test_report_state_enum_spec.rb": 0.3968677779994323,8818 "ee/spec/workers/vulnerabilities/historical_statistics/deletion_worker_spec.rb": 0.52789529700021388819}8820Knapsack global time execution for tests: 24m 53s8821Pending: (Failures listed here are expected and do not affect your suite's status)8822 1) Iteration behaves like AtomicInternalId .has_internal_id Validation when presence validation is not required when creating an object does not raise an error if the internal id is blank8823 # No reason given8824 # ./spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb:498825 2) Iteration behaves like AtomicInternalId .has_internal_id Validation when presence validation is not required when updating an object does not raise an error if the internal id is blank8826 # No reason given8827 # ./spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb:578828 3) Geo::ProjectWikiRepositoryRegistryFinder behaves like a framework registry finder #execute when user can read all Geo when admin mode is enabled with verification disabled with a verification_state param raises ArgumentError8829 # Skipping because verification is enabled for Projects::WikiRepository8830 # ./ee/spec/support/shared_examples/finders/geo/framework_registry_finder_shared_examples.rb:988831 4) Geo::ProjectWikiRepositoryRegistryFinder behaves like a framework registry finder #execute when user can read all Geo when admin mode is enabled with verification disabled with a verification_state param empty raises ArgumentError8832 # Skipping because verification is enabled for Projects::WikiRepository8833 # ./ee/spec/support/shared_examples/finders/geo/framework_registry_finder_shared_examples.rb:1068834 5) Geo::ProjectWikiRepositoryRegistryFinder behaves like a framework registry finder #execute when user can read all Geo when admin mode is enabled when search method is implemented in the registry model returns a registry filtered by keyword8835 # Skipping because search method is not implemented8836 for Projects::WikiRepository or searchable attributes are not defined.8837 # ./ee/spec/support/shared_examples/finders/geo/framework_registry_finder_shared_examples.rb:1538838 6) Resolvers::Geo::ContainerRepositoryRegistriesResolver 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 enabled when the verification_state argument is present returns registries with requested verification state, in order8839 # Skipping because verification is not enabled for ContainerRepository8840 # ./ee/spec/support/shared_examples/graphql/geo/geo_registries_resolver_shared_examples.rb:628841 7) ContainerRepository#save_verification_details when model record is not part of verifiables scope does not create verification details8842 # Skipping because all Container Repositories are records that can be checksummed8843 # ./ee/spec/support/shared_examples/models/concerns/replicable_model_with_separate_table_shared_examples.rb:688844 8) Geo::CacheInvalidationEventStore#create behaves like a Geo event store when running on a primary node when file subject is not on local store creates an event8845 # No file subject defined, skipping8846 # ./ee/spec/support/shared_examples/services/geo_event_store_shared_examples.rb:368847 9) Geo::HashedStorageAttachmentsEventStore#create! behaves like a Geo event store when running on a primary node when file subject is not on local store creates an event8848 # No file subject defined, skipping8849 # ./ee/spec/support/shared_examples/services/geo_event_store_shared_examples.rb:368850Failures:8851 1) Gitlab::Geo.proxied_site on a primary for a proxied request with a proxy extra data header for an existing site is expected to eq #<GeoNode id: 9, primary: false, oauth_application_id: 8, enabled: true, access_key: [FILTERED], encr...pdated_at: "2023-04-27 06:17:22.091180949 +0000", sync_object_storage: true, secret_access_key: nil>8852 Failure/Error: it { is_expected.to eq(secondary_node) }8853 expected: #<GeoNode id: 9, primary: false, oauth_application_id: 8, enabled: true, access_key: [FILTERED], encr...pdated_at: "2023-04-27 06:17:22.091180949 +0000", sync_object_storage: true, secret_access_key: nil>8854 got: nil8855 (compared using ==)8856 # ./ee/spec/lib/gitlab/geo_spec.rb:417:in `block (7 levels) in <top (required)>'8857 # ./spec/spec_helper.rb:423:in `block (3 levels) in <top (required)>'8858 # ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'8859 # ./spec/spec_helper.rb:415:in `block (2 levels) in <top (required)>'8860 # ./spec/spec_helper.rb:411:in `block (3 levels) in <top (required)>'8861 # ./lib/gitlab/application_context.rb:61:in `with_raw_context'8862 # ./spec/spec_helper.rb:411:in `block (2 levels) in <top (required)>'8863 # ./spec/spec_helper.rb:378:in `block (3 levels) in <top (required)>'8864 # ./lib/gitlab/with_request_store.rb:17:in `enabling_request_store'8865 # ./lib/gitlab/with_request_store.rb:10:in `with_request_store'8866 # ./spec/spec_helper.rb:378:in `block (2 levels) in <top (required)>'8867 # ./spec/spec_helper.rb:242:in `block (2 levels) in <top (required)>'8868 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'8869 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (3 levels) in <top (required)>'8870 # ./spec/support/database/prevent_cross_joins.rb:62:in `with_cross_joins_prevented'8871 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (2 levels) in <top (required)>'8872Finished in 24 minutes 58 seconds (files took 1 minute 24.85 seconds to load)88733526 examples, 1 failure, 9 pending8874Failed examples:8875rspec ./ee/spec/lib/gitlab/geo_spec.rb:417 # Gitlab::Geo.proxied_site on a primary for a proxied request with a proxy extra data header for an existing site is expected to eq #<GeoNode id: 9, primary: false, oauth_application_id: 8, enabled: true, access_key: [FILTERED], encr...pdated_at: "2023-04-27 06:17:22.091180949 +0000", sync_object_storage: true, secret_access_key: nil>8876Randomized with seed 580068877[TEST PROF INFO] Time spent in factories: 14:50.844 (57.9% of total time)8878Stopped processing SimpleCov as a previous error not related to SimpleCov has been detected8879RSpec exited with 1.8880RETRIED_TESTS_REPORT_PATH: rspec/flaky/retried_tests_rspec-ee_unit_pg13_11_18_report.txt8881Retrying the failing examples in a new RSpec process...8882$ gem install junit_merge --no-document --version 0.1.28883Successfully installed nokogiri-1.14.3-x86_64-linux8884Successfully installed junit_merge-0.1.288852 gems installed8886==> 'gem install junit_merge --no-document --version 0.1.2' succeeded in 1 seconds.8887Running RSpec command: bin/rspec -Ispec -rspec_helper --color --failure-exit-code 1 --error-exit-code 2 --format documentation --format RspecJunitFormatter --out rspec/junit_rspec-retry.xml --only-failures --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.rb"8888warning: parser/current is loading parser/ruby30, which recognizes 3.0.5-compliant syntax, but you are running 3.0.6.8890Run options: include {:last_run_status=>"failed"}8891Test environment set up in 0.49728278 seconds8892Gitlab::Geo8893 .proxied_site8894 on a primary8895 for a proxied request8896 with a proxy extra data header8897 for an existing site8898 is expected to eq #<GeoNode id: 28, primary: false, oauth_application_id: 24, enabled: true, access_key: [FILTERED], en...pdated_at: "2023-04-27 06:26:13.694964935 +0000", sync_object_storage: true, secret_access_key: nil>8899Finished in 4.21 seconds (files took 50.32 seconds to load)89001 example, 0 failures8901[TEST PROF INFO] Time spent in factories: 00:00.599 (9.24% of total time)8902A test was flaky and succeeded after being retried. Checking to see if flaky test is part of this MR...8903Flaky test was not part of this MR.8905Not uploading cache ruby-gems-debian-bullseye-ruby-3.0-16 due to policy8907Uploading artifacts...8908coverage/: found 4 matching artifact files and directories 8909crystalball/: found 2 matching artifact files and directories 8910WARNING: deprecations/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 8911knapsack/: found 4 matching artifact files and directories 8912query_recorder/: found 2 matching artifact files and directories 8913rspec/: found 16 matching artifact files and directories 8914WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 8915log/*.log: found 18 matching artifact files and directories 8916WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4187656305/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com8917WARNING: Retrying... context=artifacts-uploader error=request redirected8918Uploading artifacts as "archive" to coordinator... 201 Created id=4187656305 responseStatus=201 Created token=64_DBLeT8919Uploading artifacts...8920rspec/junit_rspec.xml: found 1 matching artifact files and directories 8921WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4187656305/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com8922WARNING: Retrying... context=artifacts-uploader error=request redirected8923Uploading artifacts as "junit" to coordinator... 201 Created id=4187656305 responseStatus=201 Created token=64_DBLeT8925Job succeeded