rspec-ee unit pg12 11/18
Passed Started
by
@DylanGriffith

Dylan Griffith
1Running with gitlab-runner 15.6.0~beta.186.ga889181a (a889181a)2 on green-2.shared-gitlab-org.runners-manager.gitlab.com/default 8zCxmpPt3 feature flags: FF_USE_FASTZIP:true6Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.18-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-103-yarn-1.22-graphicsmagick-1.3.36 ...7Starting service postgres:12 ...8Pulling docker image postgres:12 ...9Using docker image sha256:56e1d6dc77b242b5f4f91e7319f0740f7ab8bdf41023fd5d703f412ac87976f5 for postgres:12 with digest postgres@sha256:93fd73e2322241eec204dac54b316bf429670ff6e5292e16f9e2fd3a3374a713 ...10Starting service redis:6.0-alpine ...11Pulling docker image redis:6.0-alpine ...12Using docker image sha256:83c577984741ab5b2e78640e0524852998d539ea3961e6d56680f336371f5c83 for redis:6.0-alpine with digest redis@sha256:459e91c5fe54134da1601ef85a4d9bc40c953862737fdfbe8f3c2b2a3eb6b20b ...13Starting service elasticsearch:7.17.6 ...14Pulling docker image elasticsearch:7.17.6 ...15Using docker image sha256:5fad10241ffd65d817ed0ddfaf6e87eee1f7dc2a7db33db1047835560ea71fda for elasticsearch:7.17.6 with digest elasticsearch@sha256:6c128de5d01c0c130a806022d6bd99b3e4c27a9af5bfc33b6b81861ae117d028 ...16Waiting for services to be up and running (timeout 30 seconds)...17Authenticating with credentials from job payload (GitLab Registry)18Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.18-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-103-yarn-1.22-graphicsmagick-1.3.36 ...19Using docker image sha256:5c5404ecc69273636c3ef49645be715ef30ea99e51ad146a2efbeac2a1875f9c for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.18-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-103-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.18-node-16.14-postgresql-12@sha256:b032fe79dc0bf3ebfaeb610c82eacc500fbd0ec6e01889444011cf5a72b4135d ...21Running on runner-8zcxmppt-project-278964-concurrent-0 via runner-8zcxmppt-shared-gitlab-org-1667780107-df9455b1...23$ eval "$CI_PRE_CLONE_SCRIPT"24Fetching changes with git depth set to 20...25Initialized empty Git repository in /builds/gitlab-org/gitlab/.git/26Created fresh repository.27remote: Enumerating objects: 119894, done. 28remote: Counting objects: 100% (119894/119894), done. 29remote: Compressing objects: 100% (78952/78952), done. 30remote: Total 119894 (delta 50153), reused 83076 (delta 36611), pack-reused 0 31Receiving objects: 100% (119894/119894), 110.17 MiB | 23.63 MiB/s, done.32Resolving deltas: 100% (50153/50153), done.34 * [new ref] refs/pipelines/687019226 -> refs/pipelines/68701922635 * [new branch] master -> origin/master36Checking out a134b2ce as master...37Skipping Git submodules setup38$ git remote set-url origin "${CI_REPOSITORY_URL}"40Checking cache for ruby-gems-debian-bullseye-ruby-2.7-16...41cache.zip is up to date 42Successfully extracted cache43Checking cache for gitaly-ruby-gems-debian-bullseye-ruby-2.7-16...44Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/gitaly-ruby-gems-debian-bullseye-ruby-2.7-16 45Successfully extracted cache47Downloading artifacts for compile-test-assets (3281613120)...48Downloading artifacts from coordinator... ok id=3281613120 responseStatus=200 OK token=4CKWsS3o49Downloading artifacts for detect-tests (3281613150)...50Downloading artifacts from coordinator... ok id=3281613150 responseStatus=200 OK token=4CKWsS3o51Downloading artifacts for retrieve-tests-metadata (3281613152)...52Downloading artifacts from coordinator... ok id=3281613152 responseStatus=200 OK token=4CKWsS3o53Downloading artifacts for setup-test-env (3281613137)...54Downloading artifacts from coordinator... ok id=3281613137 responseStatus=200 OK token=4CKWsS3o56Using docker image sha256:5c5404ecc69273636c3ef49645be715ef30ea99e51ad146a2efbeac2a1875f9c for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.18-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-103-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.18-node-16.14-postgresql-12@sha256:b032fe79dc0bf3ebfaeb610c82eacc500fbd0ec6e01889444011cf5a72b4135d ...57$ echo $FOSS_ONLY58$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb59$ export GOPATH=$CI_PROJECT_DIR/.go60$ mkdir -p $GOPATH61$ source scripts/utils.sh62$ source scripts/prepare_build.sh679Using decomposed database config (config/database.yml.decomposed-postgresql)680$ setup_db_user_only681CREATE ROLE682GRANT683==> 'setup_db_user_only' succeeded in 1 seconds.684$ bundle exec rake db:drop db:create db:schema:load db:migrate685Dropped database 'gitlabhq_test'686Dropped database 'gitlabhq_test_ci'687Dropped database 'gitlabhq_geo_test'688Created database 'gitlabhq_test'689Created database 'gitlabhq_test_ci'690Created database 'gitlabhq_geo_test'691==> 'bundle exec rake db:drop db:create db:schema:load db:migrate' succeeded in 39 seconds.692$ setup_db_praefect693SELECT pg_catalog.set_config('search_path', '', false);694CREATE DATABASE praefect_test ENCODING 'UTF8';695==> 'setup_db_praefect' succeeded in 0 seconds.696$ source ./scripts/rspec_helpers.sh697$ run_timed_command "gem install knapsack --no-document"698$ gem install knapsack --no-document699Successfully installed knapsack-4.0.07001 gem installed701==> 'gem install knapsack --no-document' succeeded in 1 seconds.702$ echo -e "\e[0Ksection_start:`date +%s`:gitaly-test-spawn[collapsed=true]\r\e[0KStarting Gitaly"816$ rspec_paralellized_job "--tag ~quarantine --tag ~level:migration"817SKIP_FLAKY_TESTS_AUTOMATICALLY: true818RETRY_FAILED_TESTS_IN_NEW_PROCESS: true819KNAPSACK_GENERATE_REPORT: true820FLAKY_RSPEC_GENERATE_REPORT: true821KNAPSACK_TEST_FILE_PATTERN: {ee/}spec/{bin,channels,config,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,components}{,/**/}*_spec.rb822KNAPSACK_LOG_LEVEL: debug823KNAPSACK_REPORT_PATH: knapsack/rspec-ee_unit_pg12_11_18_report.json824FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json825FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec-ee_unit_pg12_11_18_report.json826NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec-ee_unit_pg12_11_18_report.json827SKIPPED_FLAKY_TESTS_REPORT_PATH: rspec/flaky/skipped_flaky_tests_rspec-ee_unit_pg12_11_18_report.txt828RETRIED_TESTS_REPORT_PATH: rspec/flaky/retried_tests_rspec-ee_unit_pg12_11_18_report.txt829CRYSTALBALL: 830Knapsack node specs:831ee/spec/services/ee/auth/container_registry_authentication_service_spec.rb832ee/spec/models/ee/namespace_spec.rb833ee/spec/workers/elastic/migration_worker_spec.rb834ee/spec/serializers/ee/ci/job_entity_spec.rb835ee/spec/finders/merge_requests/by_approvers_finder_spec.rb836ee/spec/replicators/geo/job_artifact_replicator_spec.rb837ee/spec/policies/environment_policy_spec.rb838ee/spec/models/project_import_state_spec.rb839ee/spec/models/gitlab_subscription_spec.rb840ee/spec/models/geo/job_artifact_registry_spec.rb841ee/spec/workers/audit_events/audit_event_streaming_worker_spec.rb842ee/spec/elastic/migrate/20220825102900_backfill_label_ids_for_issues_spec.rb843ee/spec/models/push_rule_spec.rb844ee/spec/services/requirements_management/import_csv_service_spec.rb845ee/spec/models/ee/merge_request_diff_spec.rb846ee/spec/models/project_member_spec.rb847ee/spec/lib/audit/project_changes_auditor_spec.rb848ee/spec/services/projects/destroy_service_spec.rb849ee/spec/services/ci/minutes/track_live_consumption_service_spec.rb850ee/spec/services/security/report_summary_service_spec.rb851ee/spec/services/app_sec/dast/scanner_profiles/create_service_spec.rb852ee/spec/replicators/geo/container_repository_replicator_spec.rb853ee/spec/graphql/resolvers/geo/pages_deployment_registries_resolver_spec.rb854ee/spec/workers/geo/design_repository_shard_sync_worker_spec.rb855ee/spec/services/ldap_group_reset_service_spec.rb856ee/spec/lib/gitlab/geo/log_cursor/events/repository_updated_event_spec.rb857ee/spec/graphql/resolvers/vulnerabilities_resolver_spec.rb858ee/spec/graphql/types/vulnerability_type_spec.rb859ee/spec/helpers/vulnerabilities_helper_spec.rb860ee/spec/graphql/resolvers/vulnerability_severities_count_resolver_spec.rb861ee/spec/helpers/application_helper_spec.rb862ee/spec/services/merge_trains/refresh_service_spec.rb863ee/spec/models/dast/profile_spec.rb864ee/spec/finders/security/scan_execution_policies_finder_spec.rb865ee/spec/finders/group_projects_finder_spec.rb866ee/spec/models/ee/namespace/storage/notification_spec.rb867ee/spec/services/ee/members/update_service_spec.rb868ee/spec/serializers/dashboard_environments_serializer_spec.rb869ee/spec/services/ci/pipeline_trigger_service_spec.rb870ee/spec/helpers/ee/ci/runners_helper_spec.rb871ee/spec/models/deployments/approval_spec.rb872ee/spec/models/vulnerabilities/export_spec.rb873ee/spec/lib/gitlab/geo/oauth/logout_token_spec.rb874ee/spec/services/vulnerability_exports/exporters/csv_service_spec.rb875ee/spec/workers/elastic_namespace_indexer_worker_spec.rb876ee/spec/workers/geo/repository_verification/secondary/shard_worker_spec.rb877ee/spec/lib/gitlab/elastic/document_reference_spec.rb878ee/spec/models/concerns/identity_verifiable_spec.rb879ee/spec/lib/elastic/multi_version_instance_proxy_spec.rb880ee/spec/lib/gitlab/code_owners/validator_spec.rb881ee/spec/serializers/ee/merge_request_poll_cached_widget_entity_spec.rb882ee/spec/serializers/ee/issue_sidebar_basic_entity_spec.rb883ee/spec/lib/gitlab/geo/event_gap_tracking_spec.rb884ee/spec/services/epic_issues/list_service_spec.rb885ee/spec/lib/ee/backup/repositories_spec.rb886ee/spec/services/ci/play_build_service_spec.rb887ee/spec/workers/ci/runners/stale_group_runners_prune_cron_worker_spec.rb888ee/spec/presenters/ee/projects/security/configuration_presenter_spec.rb889ee/spec/finders/ee/ci/daily_build_group_report_results_finder_spec.rb890ee/spec/lib/ee/gitlab/usage_data_counters/hll_redis_counter_spec.rb891ee/spec/lib/gitlab/geo/replicator_spec.rb892ee/spec/lib/gitlab/geo/oauth/login_state_spec.rb893ee/spec/workers/epics/update_cached_metadata_worker_spec.rb894ee/spec/lib/gitlab/geo/log_cursor/events/hashed_storage_migrated_event_spec.rb895ee/spec/lib/gitlab/auth/group_saml/session_enforcer_spec.rb896ee/spec/services/ci/create_pipeline_service/runnable_builds_spec.rb897ee/spec/services/ee/boards/lists/max_limits_spec.rb898ee/spec/lib/ee/gitlab/usage/service_ping/payload_keys_processor_spec.rb899ee/spec/lib/system_check/geo/authorized_keys_check_spec.rb900ee/spec/models/dast/profiles_pipeline_spec.rb901ee/spec/lib/gitlab/ci/templates/Verify/load_performance_testing_gitlab_ci_yaml_spec.rb902ee/spec/lib/gitlab/ingestion/bulk_insertable_task_spec.rb903ee/spec/models/sca/license_policy_spec.rb904ee/spec/models/ip_restriction_spec.rb905ee/spec/services/boards/epic_boards/create_service_spec.rb906ee/spec/graphql/mutations/vulnerabilities/confirm_spec.rb907ee/spec/views/projects/security/dast_profiles/show.html.haml_spec.rb908ee/spec/workers/ee/issuable_export_csv_worker_spec.rb909ee/spec/services/incident_management/oncall_rotations/destroy_service_spec.rb910ee/spec/lib/gitlab/sitemaps/url_extractor_spec.rb911ee/spec/components/billing/plan_component_spec.rb912ee/spec/models/plan_spec.rb913ee/spec/lib/ee/gitlab/application_context_spec.rb914ee/spec/serializers/member_user_entity_spec.rb915ee/spec/policies/instance_security_dashboard_policy_spec.rb916ee/spec/lib/ee/gitlab/auth/ldap/sync/external_users_spec.rb917ee/spec/lib/gitlab/insights/finders/projects_finder_spec.rb918ee/spec/graphql/resolvers/boards/epic_lists_resolvers_spec.rb919ee/spec/services/geo/node_create_service_spec.rb920ee/spec/lib/gitlab/sitemaps/generator_spec.rb921ee/spec/helpers/ee/ci/pipelines_helper_spec.rb922ee/spec/services/ee/merge_requests/base_service_spec.rb923ee/spec/views/shared/issuable/_approver_suggestion.html.haml_spec.rb924ee/spec/graphql/types/admin/cloud_licenses/license_history_entry_type_spec.rb925ee/spec/policies/approval_project_rule_policy_spec.rb926ee/spec/helpers/seat_count_alert_helper_spec.rb927ee/spec/lib/gitlab/auth/group_saml/xml_response_spec.rb928ee/spec/finders/incident_management/issuable_resource_links_finder_spec.rb929ee/spec/views/shared/_clone_panel.html.haml_spec.rb930ee/spec/models/audit_events/streaming/event_type_filter_spec.rb931ee/spec/lib/gitlab/ci/config/entry/job_spec.rb932ee/spec/services/sbom/ingestion/tasks/ingest_component_versions_spec.rb933ee/spec/services/ee/projects/deploy_tokens/destroy_service_spec.rb934ee/spec/lib/gitlab/metrics/samplers/global_search_sampler_spec.rb935ee/spec/workers/analytics/cycle_analytics/incremental_worker_spec.rb936ee/spec/views/admin/users/show.html.haml_spec.rb937ee/spec/services/app_sec/dast/profile_schedules/audit/update_service_spec.rb938ee/spec/components/namespaces/free_user_cap/alert_component_spec.rb939ee/spec/policies/award_emoji_policy_spec.rb940ee/spec/graphql/ee/resolvers/board_lists_resolver_spec.rb941ee/spec/workers/analytics/devops_adoption/create_snapshot_worker_spec.rb942ee/spec/services/feature_flag_issues/destroy_service_spec.rb943ee/spec/routing/git_http_routing_spec.rb944ee/spec/services/gitlab_subscriptions/plan_upgrade_service_spec.rb945ee/spec/views/groups/settings/reporting/show.html.haml_spec.rb946ee/spec/graphql/mutations/boards/epic_boards/create_spec.rb947ee/spec/services/ee/resource_events/change_labels_service_spec.rb948ee/spec/views/layouts/header/help_dropdown/_cross_stage_fdm.html.haml_spec.rb949ee/spec/services/group_saml/saml_group_links/create_service_spec.rb950ee/spec/services/app_sec/fuzzing/api/ci_configuration_create_service_spec.rb951ee/spec/graphql/types/json_string_type_spec.rb952ee/spec/finders/analytics/cycle_analytics/stage_finder_spec.rb953ee/spec/lib/arkose/settings_spec.rb954ee/spec/services/audit_events/release_artifacts_downloaded_audit_event_service_spec.rb955ee/spec/lib/analytics/productivity_analytics_request_params_spec.rb956ee/spec/graphql/resolvers/vulnerabilities_grade_resolver_spec.rb957ee/spec/services/elastic/index_projects_by_range_service_spec.rb958ee/spec/views/admin/users/_credit_card_info.html.haml_spec.rb959ee/spec/views/profiles/preferences/show.html.haml_spec.rb960ee/spec/graphql/resolvers/boards/epic_list_resolver_spec.rb961ee/spec/graphql/types/dast/profile_branch_type_spec.rb962ee/spec/models/project_repository_state_spec.rb963ee/spec/serializers/vulnerabilities/scanner_entity_spec.rb964ee/spec/services/gitlab_subscriptions/create_lead_service_spec.rb965ee/spec/services/ee/issues/after_create_service_spec.rb966ee/spec/graphql/types/projects/services_enum_spec.rb967ee/spec/services/ee/integrations/test/project_service_spec.rb968ee/spec/lib/elastic/latest/merge_request_config_spec.rb969ee/spec/services/sbom/ingestion/occurrence_map_collection_spec.rb970ee/spec/graphql/types/work_items/type_spec.rb971ee/spec/graphql/types/protected_environments/approval_rule_type_spec.rb972ee/spec/models/ci/minutes/context_spec.rb973ee/spec/serializers/test_suite_comparer_entity_spec.rb974ee/spec/graphql/types/requirements_management/test_report_type_spec.rb975ee/spec/lib/gitlab/ci/reports/coverage_fuzzing/report_spec.rb976ee/spec/views/shared/billings/_billing_plans.html.haml_spec.rb977ee/spec/lib/gem_extensions/elasticsearch/model/indexing/instance_methods_spec.rb978ee/spec/workers/geo/event_worker_spec.rb979ee/spec/finders/auth/group_saml_identity_finder_spec.rb980ee/spec/lib/elastic/latest/note_config_spec.rb981ee/spec/uploaders/every_gitlab_uploader_spec.rb982ee/spec/graphql/types/vulnerability_location/generic_type_spec.rb983ee/spec/graphql/types/vulnerability_details/base_type_spec.rb984ee/spec/graphql/types/vulnerability_confidence_enum_spec.rb985ee/spec/graphql/types/vulnerabilities/container_image_type_spec.rb986ee/spec/graphql/types/approval_rule_type_enum_spec.rb987ee/spec/graphql/ee/types/todoable_interface_spec.rb988ee/spec/graphql/types/permission_types/project_spec.rb989ee/spec/graphql/types/vulnerability_details/list_type_spec.rb990Filter specs:991Running specs:992Running all node tests without filter993ee/spec/services/ee/auth/container_registry_authentication_service_spec.rb994ee/spec/models/ee/namespace_spec.rb995ee/spec/workers/elastic/migration_worker_spec.rb996ee/spec/serializers/ee/ci/job_entity_spec.rb997ee/spec/finders/merge_requests/by_approvers_finder_spec.rb998ee/spec/replicators/geo/job_artifact_replicator_spec.rb999ee/spec/policies/environment_policy_spec.rb1000ee/spec/models/project_import_state_spec.rb1001ee/spec/models/gitlab_subscription_spec.rb1002ee/spec/models/geo/job_artifact_registry_spec.rb1003ee/spec/workers/audit_events/audit_event_streaming_worker_spec.rb1004ee/spec/elastic/migrate/20220825102900_backfill_label_ids_for_issues_spec.rb1005ee/spec/models/push_rule_spec.rb1006ee/spec/services/requirements_management/import_csv_service_spec.rb1007ee/spec/models/ee/merge_request_diff_spec.rb1008ee/spec/models/project_member_spec.rb1009ee/spec/lib/audit/project_changes_auditor_spec.rb1010ee/spec/services/projects/destroy_service_spec.rb1011ee/spec/services/ci/minutes/track_live_consumption_service_spec.rb1012ee/spec/services/security/report_summary_service_spec.rb1013ee/spec/services/app_sec/dast/scanner_profiles/create_service_spec.rb1014ee/spec/replicators/geo/container_repository_replicator_spec.rb1015ee/spec/graphql/resolvers/geo/pages_deployment_registries_resolver_spec.rb1016ee/spec/workers/geo/design_repository_shard_sync_worker_spec.rb1017ee/spec/services/ldap_group_reset_service_spec.rb1018ee/spec/lib/gitlab/geo/log_cursor/events/repository_updated_event_spec.rb1019ee/spec/graphql/resolvers/vulnerabilities_resolver_spec.rb1020ee/spec/graphql/types/vulnerability_type_spec.rb1021ee/spec/helpers/vulnerabilities_helper_spec.rb1022ee/spec/graphql/resolvers/vulnerability_severities_count_resolver_spec.rb1023ee/spec/helpers/application_helper_spec.rb1024ee/spec/services/merge_trains/refresh_service_spec.rb1025ee/spec/models/dast/profile_spec.rb1026ee/spec/finders/security/scan_execution_policies_finder_spec.rb1027ee/spec/finders/group_projects_finder_spec.rb1028ee/spec/models/ee/namespace/storage/notification_spec.rb1029ee/spec/services/ee/members/update_service_spec.rb1030ee/spec/serializers/dashboard_environments_serializer_spec.rb1031ee/spec/services/ci/pipeline_trigger_service_spec.rb1032ee/spec/helpers/ee/ci/runners_helper_spec.rb1033ee/spec/models/deployments/approval_spec.rb1034ee/spec/models/vulnerabilities/export_spec.rb1035ee/spec/lib/gitlab/geo/oauth/logout_token_spec.rb1036ee/spec/services/vulnerability_exports/exporters/csv_service_spec.rb1037ee/spec/workers/elastic_namespace_indexer_worker_spec.rb1038ee/spec/workers/geo/repository_verification/secondary/shard_worker_spec.rb1039ee/spec/lib/gitlab/elastic/document_reference_spec.rb1040ee/spec/models/concerns/identity_verifiable_spec.rb1041ee/spec/lib/elastic/multi_version_instance_proxy_spec.rb1042ee/spec/lib/gitlab/code_owners/validator_spec.rb1043ee/spec/serializers/ee/merge_request_poll_cached_widget_entity_spec.rb1044ee/spec/serializers/ee/issue_sidebar_basic_entity_spec.rb1045ee/spec/lib/gitlab/geo/event_gap_tracking_spec.rb1046ee/spec/services/epic_issues/list_service_spec.rb1047ee/spec/lib/ee/backup/repositories_spec.rb1048ee/spec/services/ci/play_build_service_spec.rb1049ee/spec/workers/ci/runners/stale_group_runners_prune_cron_worker_spec.rb1050ee/spec/presenters/ee/projects/security/configuration_presenter_spec.rb1051ee/spec/finders/ee/ci/daily_build_group_report_results_finder_spec.rb1052ee/spec/lib/ee/gitlab/usage_data_counters/hll_redis_counter_spec.rb1053ee/spec/lib/gitlab/geo/replicator_spec.rb1054ee/spec/lib/gitlab/geo/oauth/login_state_spec.rb1055ee/spec/workers/epics/update_cached_metadata_worker_spec.rb1056ee/spec/lib/gitlab/geo/log_cursor/events/hashed_storage_migrated_event_spec.rb1057ee/spec/lib/gitlab/auth/group_saml/session_enforcer_spec.rb1058ee/spec/services/ci/create_pipeline_service/runnable_builds_spec.rb1059ee/spec/services/ee/boards/lists/max_limits_spec.rb1060ee/spec/lib/ee/gitlab/usage/service_ping/payload_keys_processor_spec.rb1061ee/spec/lib/system_check/geo/authorized_keys_check_spec.rb1062ee/spec/models/dast/profiles_pipeline_spec.rb1063ee/spec/lib/gitlab/ci/templates/Verify/load_performance_testing_gitlab_ci_yaml_spec.rb1064ee/spec/lib/gitlab/ingestion/bulk_insertable_task_spec.rb1065ee/spec/models/sca/license_policy_spec.rb1066ee/spec/models/ip_restriction_spec.rb1067ee/spec/services/boards/epic_boards/create_service_spec.rb1068ee/spec/graphql/mutations/vulnerabilities/confirm_spec.rb1069ee/spec/views/projects/security/dast_profiles/show.html.haml_spec.rb1070ee/spec/workers/ee/issuable_export_csv_worker_spec.rb1071ee/spec/services/incident_management/oncall_rotations/destroy_service_spec.rb1072ee/spec/lib/gitlab/sitemaps/url_extractor_spec.rb1073ee/spec/components/billing/plan_component_spec.rb1074ee/spec/models/plan_spec.rb1075ee/spec/lib/ee/gitlab/application_context_spec.rb1076ee/spec/serializers/member_user_entity_spec.rb1077ee/spec/policies/instance_security_dashboard_policy_spec.rb1078ee/spec/lib/ee/gitlab/auth/ldap/sync/external_users_spec.rb1079ee/spec/lib/gitlab/insights/finders/projects_finder_spec.rb1080ee/spec/graphql/resolvers/boards/epic_lists_resolvers_spec.rb1081ee/spec/services/geo/node_create_service_spec.rb1082ee/spec/lib/gitlab/sitemaps/generator_spec.rb1083ee/spec/helpers/ee/ci/pipelines_helper_spec.rb1084ee/spec/services/ee/merge_requests/base_service_spec.rb1085ee/spec/views/shared/issuable/_approver_suggestion.html.haml_spec.rb1086ee/spec/graphql/types/admin/cloud_licenses/license_history_entry_type_spec.rb1087ee/spec/policies/approval_project_rule_policy_spec.rb1088ee/spec/helpers/seat_count_alert_helper_spec.rb1089ee/spec/lib/gitlab/auth/group_saml/xml_response_spec.rb1090ee/spec/finders/incident_management/issuable_resource_links_finder_spec.rb1091ee/spec/views/shared/_clone_panel.html.haml_spec.rb1092ee/spec/models/audit_events/streaming/event_type_filter_spec.rb1093ee/spec/lib/gitlab/ci/config/entry/job_spec.rb1094ee/spec/services/sbom/ingestion/tasks/ingest_component_versions_spec.rb1095ee/spec/services/ee/projects/deploy_tokens/destroy_service_spec.rb1096ee/spec/lib/gitlab/metrics/samplers/global_search_sampler_spec.rb1097ee/spec/workers/analytics/cycle_analytics/incremental_worker_spec.rb1098ee/spec/views/admin/users/show.html.haml_spec.rb1099ee/spec/services/app_sec/dast/profile_schedules/audit/update_service_spec.rb1100ee/spec/components/namespaces/free_user_cap/alert_component_spec.rb1101ee/spec/policies/award_emoji_policy_spec.rb1102ee/spec/graphql/ee/resolvers/board_lists_resolver_spec.rb1103ee/spec/workers/analytics/devops_adoption/create_snapshot_worker_spec.rb1104ee/spec/services/feature_flag_issues/destroy_service_spec.rb1105ee/spec/routing/git_http_routing_spec.rb1106ee/spec/services/gitlab_subscriptions/plan_upgrade_service_spec.rb1107ee/spec/views/groups/settings/reporting/show.html.haml_spec.rb1108ee/spec/graphql/mutations/boards/epic_boards/create_spec.rb1109ee/spec/services/ee/resource_events/change_labels_service_spec.rb1110ee/spec/views/layouts/header/help_dropdown/_cross_stage_fdm.html.haml_spec.rb1111ee/spec/services/group_saml/saml_group_links/create_service_spec.rb1112ee/spec/services/app_sec/fuzzing/api/ci_configuration_create_service_spec.rb1113ee/spec/graphql/types/json_string_type_spec.rb1114ee/spec/finders/analytics/cycle_analytics/stage_finder_spec.rb1115ee/spec/lib/arkose/settings_spec.rb1116ee/spec/services/audit_events/release_artifacts_downloaded_audit_event_service_spec.rbKnapsack report generator started!1117Run options: exclude {:quarantine=>true, :level=>"migration"}1118Test environment set up in 1.550757023 seconds1119Auth::ContainerRegistryAuthenticationService1120 with deploy keys1121 with IP restriction1122 group with restriction1123 address is within the range1124 behaves like a container registry auth service1125 .full_access_token1126 behaves like an accessible1127 has the correct scope1128 behaves like a valid token1129 is expected to include :token1130 is expected to include "access"1131 a expirable1132 for default configuration1133 is expected not to be within 2 of 2022-11-07 01:19:38.452380543 +00001134 for changed configuration1135 is expected to be within 2 of 2022-11-07 01:19:38.550115636 +00001136 behaves like not a container repository factory1137 does not create a new container repository resource1138 .import_access_token1139 has the correct scope1140 behaves like a valid token1141 is expected to include :token1142 is expected to include "access"1143 a expirable1144 for default configuration1145 is expected not to be within 2 of 2022-11-07 01:19:38.959597527 +00001146 for changed configuration1147 is expected to be within 2 of 2022-11-07 01:19:39.046361571 +00001148 behaves like not a container repository factory1149 does not create a new container repository resource1150 .pull_access_token1151 behaves like an accessible1152 has the correct scope1153 behaves like a valid token1154 is expected to include :token1155 is expected to include "access"1156 a expirable1157 for default configuration1158 is expected not to be within 2 of 2022-11-07 01:19:39.894065222 +00001159 for changed configuration1160 is expected to be within 2 of 2022-11-07 01:19:39.940960819 +00001161 behaves like not a container repository factory1162 does not create a new container repository resource1163 .pull_nested_repositories_access_token1164 has the correct scope1165 behaves like a valid token1166 is expected to include :token1167 is expected to include "access"1168 a expirable1169 for default configuration1170 is expected not to be within 2 of 2022-11-07 01:19:40.417253466 +00001171 for changed configuration1172 is expected to be within 2 of 2022-11-07 01:19:40.463383832 +00001173 behaves like not a container repository factory1174 does not create a new container repository resource1175 with path ending with a slash1176 has the correct scope1177 behaves like a valid token1178 is expected to include :token1179 is expected to include "access"1180 a expirable1181 for default configuration1182 is expected not to be within 2 of 2022-11-07 01:19:40.676224007 +00001183 for changed configuration1184 is expected to be within 2 of 2022-11-07 01:19:40.720412365 +00001185 behaves like not a container repository factory1186 does not create a new container repository resource1187 user authorization1188 for registry catalog1189 disallow browsing for users without GitLab admin rights1190 behaves like an inaccessible1191 is expected to include {"access" => []}1192 behaves like a valid token1193 is expected to include :token1194 is expected to include "access"1195 a expirable1196 for default configuration1197 is expected not to be within 2 of 2022-11-07 01:19:41.014579884 +00001198 for changed configuration1199 is expected to be within 2 of 2022-11-07 01:19:41.055101401 +00001200 behaves like not a container repository factory1201 does not create a new container repository resource1202 for private project1203 behaves like private project1204 allow to use scope-less authentication1205 behaves like a valid token1206 is expected to include :token1207 is expected to include "access"1208 a expirable1209 for default configuration1210 is expected not to be within 2 of 2022-11-07 01:19:41.444032924 +00001211 for changed configuration1212 is expected to be within 2 of 2022-11-07 01:19:41.484512701 +00001213 behaves like with auth_type1214 is expected to eq "foo"1215 allow developer to push images1216 behaves like a pushable1217 behaves like an accessible1218 has the correct scope1219 behaves like a valid token1220 is expected to include :token1221 is expected to include "access"1222 a expirable1223 for default configuration1224 is expected not to be within 2 of 2022-11-07 01:19:42.095237128 +00001225 for changed configuration1226 is expected to be within 2 of 2022-11-07 01:19:42.192443502 +00001227 behaves like container repository factory1228 creates a new container repository resource1229 behaves like with auth_type1230 is expected to eq "foo"1231 disallow developer to delete images1232 behaves like an inaccessible1233 is expected to include {"access" => []}1234 behaves like a valid token1235 is expected to include :token1236 is expected to include "access"1237 a expirable1238 for default configuration1239 is expected not to be within 2 of 2022-11-07 01:19:42.862706095 +00001240 for changed configuration1241 is expected to be within 2 of 2022-11-07 01:19:42.945615519 +00001242 behaves like not a container repository factory1243 does not create a new container repository resource1244 behaves like logs an auth warning1245 is expected to receive warn({:authorized_actions=>[], :message=>"Denied container registry permissions", :requested_actions=>["*"...ted_project_path=>"namespace5/project5", :scope_type=>"repository", :user_id=>6, :username=>"user2"}) 1 time1246 disallow developer to delete images since registry 2.71247 behaves like an inaccessible1248 is expected to include {"access" => []}1249 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 2022-11-07 01:19:43.535107608 +00001255 for changed configuration1256 is expected to be within 2 of 2022-11-07 01:19:43.618012092 +00001257 behaves like not a container repository factory1258 does not create a new container repository resource1259 allow reporter to pull images1260 when pulling from root level repository1261 behaves like a pullable1262 behaves like an accessible1263 has the correct scope1264 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 2022-11-07 01:19:44.091190499 +00001270 for changed configuration1271 is expected to be within 2 of 2022-11-07 01:19:44.172281544 +00001272 behaves like not a container repository factory1273 does not create a new container repository resource1274 behaves like with auth_type1275 is expected to eq "foo"1276 disallow reporter to delete images1277 behaves like an inaccessible1278 is expected to include {"access" => []}1279 behaves like a valid token1280 is expected to include :token1281 is expected to include "access"1282 a expirable1283 for default configuration1284 is expected not to be within 2 of 2022-11-07 01:19:44.827785868 +00001285 for changed configuration1286 is expected to be within 2 of 2022-11-07 01:19:44.918374862 +00001287 behaves like not a container repository factory1288 does not create a new container repository resource1289 disallow reporter to delete images since registry 2.71290 behaves like an inaccessible1291 is expected to include {"access" => []}1292 behaves like a valid token1293 is expected to include :token1294 is expected to include "access"1295 a expirable1296 for default configuration1297 is expected not to be within 2 of 2022-11-07 01:19:45.408417888 +00001298 for changed configuration1299 is expected to be within 2 of 2022-11-07 01:19:45.490220622 +00001300 behaves like not a container repository factory1301 does not create a new container repository resource1302 return a least of privileges1303 behaves like a pullable1304 behaves like an accessible1305 has the correct scope1306 behaves like a valid token1307 is expected to include :token1308 is expected to include "access"1309 a expirable1310 for default configuration1311 is expected not to be within 2 of 2022-11-07 01:19:46.037800773 +00001312 for changed configuration1313 is expected to be within 2 of 2022-11-07 01:19:46.134342667 +00001314 behaves like not a container repository factory1315 does not create a new container repository resource1316 behaves like with auth_type1317 is expected to eq "foo"1318 disallow guest to pull or push images1319 behaves like an inaccessible1320 is expected to include {"access" => []}1321 behaves like a valid token1322 is expected to include :token1323 is expected to include "access"1324 a expirable1325 for default configuration1326 is expected not to be within 2 of 2022-11-07 01:19:46.833559468 +00001327 for changed configuration1328 is expected to be within 2 of 2022-11-07 01:19:46.947634810 +00001329 behaves like not a container repository factory1330 does not create a new container repository resource1331 disallow guest to delete images1332 behaves like an inaccessible1333 is expected to include {"access" => []}1334 behaves like a valid token1335 is expected to include :token1336 is expected to include "access"1337 a expirable1338 for default configuration1339 is expected not to be within 2 of 2022-11-07 01:19:47.513810051 +00001340 for changed configuration1341 is expected to be within 2 of 2022-11-07 01:19:47.593936345 +00001342 behaves like not a container repository factory1343 does not create a new container repository resource1344 disallow guest to delete images since registry 2.71345 behaves like an inaccessible1346 is expected to include {"access" => []}1347 behaves like a valid token1348 is expected to include :token1349 is expected to include "access"1350 a expirable1351 for default configuration1352 is expected not to be within 2 of 2022-11-07 01:19:48.166233465 +00001353 for changed configuration1354 is expected to be within 2 of 2022-11-07 01:19:48.263955118 +00001355 behaves like not a container repository factory1356 does not create a new container repository resource1357 for public project with private container registry1358 behaves like private project1359 allow to use scope-less authentication1360 behaves like a valid token1361 is expected to include :token1362 is expected to include "access"1363 a expirable1364 for default configuration1365 is expected not to be within 2 of 2022-11-07 01:19:48.777714652 +00001366 for changed configuration1367 is expected to be within 2 of 2022-11-07 01:19:48.826611069 +00001368 behaves like with auth_type1369 is expected to eq "foo"1370 allow developer to push images1371 behaves like a pushable1372 behaves like an accessible1373 has the correct scope1374 behaves like a valid token1375 is expected to include :token1376 is expected to include "access"1377 a expirable1378 for default configuration1379 is expected not to be within 2 of 2022-11-07 01:19:49.417853308 +00001380 for changed configuration1381 is expected to be within 2 of 2022-11-07 01:19:49.533775300 +00001382 behaves like container repository factory1383 creates a new container repository resource1384 behaves like with auth_type1385 is expected to eq "foo"1386 disallow developer to delete images1387 behaves like an inaccessible1388 is expected to include {"access" => []}1389 behaves like a valid token1390 is expected to include :token1391 is expected to include "access"1392 a expirable1393 for default configuration1394 is expected not to be within 2 of 2022-11-07 01:19:50.216511572 +00001395 for changed configuration1396 is expected to be within 2 of 2022-11-07 01:19:50.298327936 +00001397 behaves like not a container repository factory1398 does not create a new container repository resource1399 behaves like logs an auth warning1400 is expected to receive warn({:authorized_actions=>[], :message=>"Denied container registry permissions", :requested_actions=>["*"...ted_project_path=>"namespace6/project6", :scope_type=>"repository", :user_id=>6, :username=>"user2"}) 1 time1401 disallow developer to delete images since registry 2.71402 behaves like an inaccessible1403 is expected to include {"access" => []}1404 behaves like a valid token1405 is expected to include :token1406 is expected to include "access"1407 a expirable1408 for default configuration1409 is expected not to be within 2 of 2022-11-07 01:19:50.917469743 +00001410 for changed configuration1411 is expected to be within 2 of 2022-11-07 01:19:51.010557187 +00001412 behaves like not a container repository factory1413 does not create a new container repository resource1414 allow reporter to pull images1415 when pulling from root level repository1416 behaves like a pullable1417 behaves like an accessible1418 has the correct scope1419 behaves like a valid token1420 is expected to include :token1421 is expected to include "access"1422 a expirable1423 for default configuration1424 is expected not to be within 2 of 2022-11-07 01:19:51.502389852 +00001425 for changed configuration1426 is expected to be within 2 of 2022-11-07 01:19:51.586800727 +00001427 behaves like not a container repository factory1428 does not create a new container repository resource1429 behaves like with auth_type1430 is expected to eq "foo"1431 disallow reporter to delete images1432 behaves like an inaccessible1433 is expected to include {"access" => []}1434 behaves like a valid token1435 is expected to include :token1436 is expected to include "access"1437 a expirable1438 for default configuration1439 is expected not to be within 2 of 2022-11-07 01:19:52.248410690 +00001440 for changed configuration1441 is expected to be within 2 of 2022-11-07 01:19:52.336903704 +00001442 behaves like not a container repository factory1443 does not create a new container repository resource1444 disallow reporter to delete images since registry 2.71445 behaves like an inaccessible1446 is expected to include {"access" => []}1447 behaves like a valid token1448 is expected to include :token1449 is expected to include "access"1450 a expirable1451 for default configuration1452 is expected not to be within 2 of 2022-11-07 01:19:52.831086149 +00001453 for changed configuration1454 is expected to be within 2 of 2022-11-07 01:19:52.910433254 +00001455 behaves like not a container repository factory1456 does not create a new container repository resource1457 return a least of privileges1458 behaves like a pullable1459 behaves like an accessible1460 has the correct scope1461 behaves like a valid token1462 is expected to include :token1463 is expected to include "access"1464 a expirable1465 for default configuration1466 is expected not to be within 2 of 2022-11-07 01:19:53.428975128 +00001467 for changed configuration1468 is expected to be within 2 of 2022-11-07 01:19:53.518555382 +00001469 behaves like not a container repository factory1470 does not create a new container repository resource1471 behaves like with auth_type1472 is expected to eq "foo"1473 disallow guest to pull or push images1474 behaves like an inaccessible1475 is expected to include {"access" => []}1476 behaves like a valid token1477 is expected to include :token1478 is expected to include "access"1479 a expirable1480 for default configuration1481 is expected not to be within 2 of 2022-11-07 01:19:54.134159639 +00001482 for changed configuration1483 is expected to be within 2 of 2022-11-07 01:19:54.280578188 +00001484 behaves like not a container repository factory1485 does not create a new container repository resource1486 disallow guest to delete images1487 behaves like an inaccessible1488 is expected to include {"access" => []}1489 behaves like a valid token1490 is expected to include :token1491 is expected to include "access"1492 a expirable1493 for default configuration1494 is expected not to be within 2 of 2022-11-07 01:19:54.736547497 +00001495 for changed configuration1496 is expected to be within 2 of 2022-11-07 01:19:54.809171442 +00001497 behaves like not a container repository factory1498 does not create a new container repository resource1499 disallow guest to delete images since registry 2.71500 behaves like an inaccessible1501 is expected to include {"access" => []}1502 behaves like a valid token1503 is expected to include :token1504 is expected to include "access"1505 a expirable1506 for default configuration1507 is expected not to be within 2 of 2022-11-07 01:19:55.245754691 +00001508 for changed configuration1509 is expected to be within 2 of 2022-11-07 01:19:55.325128786 +00001510 behaves like not a container repository factory1511 does not create a new container repository resource1512 for public project with container_registry `enabled`1513 allow anyone to pull images1514 behaves like a pullable1515 behaves like an accessible1516 has the correct scope1517 behaves like a valid token1518 is expected to include :token1519 is expected to include "access"1520 a expirable1521 for default configuration1522 is expected not to be within 2 of 2022-11-07 01:19:55.951400262 +00001523 for changed configuration1524 is expected to be within 2 of 2022-11-07 01:19:56.026654167 +00001525 behaves like not a container repository factory1526 does not create a new container repository resource1527 behaves like with auth_type1528 is expected to eq "foo"1529 disallow anyone to push images1530 behaves like an inaccessible1531 is expected to include {"access" => []}1532 behaves like a valid token1533 is expected to include :token1534 is expected to include "access"1535 a expirable1536 for default configuration1537 is expected not to be within 2 of 2022-11-07 01:19:56.587247677 +00001538 for changed configuration1539 is expected to be within 2 of 2022-11-07 01:19:56.684861941 +00001540 behaves like not a container repository factory1541 does not create a new container repository resource1542 disallow anyone to delete images1543 behaves like an inaccessible1544 is expected to include {"access" => []}1545 behaves like a valid token1546 is expected to include :token1547 is expected to include "access"1548 a expirable1549 for default configuration1550 is expected not to be within 2 of 2022-11-07 01:19:57.096420142 +00001551 for changed configuration1552 is expected to be within 2 of 2022-11-07 01:19:57.173210687 +00001553 behaves like not a container repository factory1554 does not create a new container repository resource1555 disallow anyone to delete images since registry 2.71556 behaves like an inaccessible1557 is expected to include {"access" => []}1558 behaves like a valid token1559 is expected to include :token1560 is expected to include "access"1561 a expirable1562 for default configuration1563 is expected not to be within 2 of 2022-11-07 01:19:57.571021539 +00001564 for changed configuration1565 is expected to be within 2 of 2022-11-07 01:19:57.660869373 +00001566 behaves like not a container repository factory1567 does not create a new container repository resource1568 when repository name is invalid1569 behaves like an inaccessible1570 is expected to include {"access" => []}1571 behaves like a valid token1572 is expected to include :token1573 is expected to include "access"1574 a expirable1575 for default configuration1576 is expected not to be within 2 of 2022-11-07 01:19:57.911702805 +00001577 for changed configuration1578 is expected to be within 2 of 2022-11-07 01:19:57.959511912 +00001579 behaves like not a container repository factory1580 does not create a new container repository resource1581 for internal project with container_registry `enabled`1582 for internal user1583 allow anyone to pull images1584 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 2022-11-07 01:19:58.579482499 +00001593 for changed configuration1594 is expected to be within 2 of 2022-11-07 01:19:58.659578953 +00001595 behaves like not a container repository factory1596 does not create a new container repository resource1597 behaves like with auth_type1598 is expected to eq "foo"1599 disallow anyone to push images1600 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 2022-11-07 01:19:59.161687968 +00001608 for changed configuration1609 is expected to be within 2 of 2022-11-07 01:19:59.241246923 +00001610 behaves like not a container repository factory1611 does not create a new container repository resource1612 disallow anyone to delete images1613 behaves like an inaccessible1614 is expected to include {"access" => []}1615 behaves like a valid token1616 is expected to include :token1617 is expected to include "access"1618 a expirable1619 for default configuration1620 is expected not to be within 2 of 2022-11-07 01:19:59.680944832 +00001621 for changed configuration1622 is expected to be within 2 of 2022-11-07 01:19:59.782377815 +00001623 behaves like not a container repository factory1624 does not create a new container repository resource1625 disallow anyone to delete images since registry 2.71626 behaves like an inaccessible1627 is expected to include {"access" => []}1628 behaves like a valid token1629 is expected to include :token1630 is expected to include "access"1631 a expirable1632 for default configuration1633 is expected not to be within 2 of 2022-11-07 01:20:00.247259382 +00001634 for changed configuration1635 is expected to be within 2 of 2022-11-07 01:20:00.339069116 +00001636 behaves like not a container repository factory1637 does not create a new container repository resource1638 for external user1639 disallow anyone to pull or push images1640 behaves like an inaccessible1641 is expected to include {"access" => []}1642 behaves like a valid token1643 is expected to include :token1644 is expected to include "access"1645 a expirable1646 for default configuration1647 is expected not to be within 2 of 2022-11-07 01:20:00.884134458 +00001648 for changed configuration1649 is expected to be within 2 of 2022-11-07 01:20:00.978113821 +00001650 behaves like not a container repository factory1651 does not create a new container repository resource1652 disallow anyone to delete images1653 behaves like an inaccessible1654 is expected to include {"access" => []}1655 behaves like a valid token1656 is expected to include :token1657 is expected to include "access"1658 a expirable1659 for default configuration1660 is expected not to be within 2 of 2022-11-07 01:20:01.533088653 +00001661 for changed configuration1662 is expected to be within 2 of 2022-11-07 01:20:01.611926737 +00001663 behaves like not a container repository factory1664 does not create a new container repository resource1665 disallow anyone to delete images since registry 2.71666 behaves like an inaccessible1667 is expected to include {"access" => []}1668 behaves like a valid token1669 is expected to include :token1670 is expected to include "access"1671 a expirable1672 for default configuration1673 is expected not to be within 2 of 2022-11-07 01:20:02.139710560 +00001674 for changed configuration1675 is expected to be within 2 of 2022-11-07 01:20:02.229649334 +00001676 behaves like not a container repository factory1677 does not create a new container repository resource1678 for internal project with private container registry1679 behaves like private project1680 allow to use scope-less authentication1681 behaves like a valid token1682 is expected to include :token1683 is expected to include "access"1684 a expirable1685 for default configuration1686 is expected not to be within 2 of 2022-11-07 01:20:02.732833909 +00001687 for changed configuration1688 is expected to be within 2 of 2022-11-07 01:20:02.783437725 +00001689 behaves like with auth_type1690 is expected to eq "foo"1691 allow developer to push images1692 behaves like a pushable1693 behaves like an accessible1694 has the correct scope1695 behaves like a valid token1696 is expected to include :token1697 is expected to include "access"1698 a expirable1699 for default configuration1700 is expected not to be within 2 of 2022-11-07 01:20:03.341195466 +00001701 for changed configuration1702 is expected to be within 2 of 2022-11-07 01:20:03.448033569 +00001703 behaves like container repository factory1704 creates a new container repository resource1705 behaves like with auth_type1706 is expected to eq "foo"1707 disallow developer to delete images1708 behaves like an inaccessible1709 is expected to include {"access" => []}1710 behaves like a valid token1711 is expected to include :token1712 is expected to include "access"1713 a expirable1714 for default configuration1715 is expected not to be within 2 of 2022-11-07 01:20:04.142136380 +00001716 for changed configuration1717 is expected to be within 2 of 2022-11-07 01:20:04.225124535 +00001718 behaves like not a container repository factory1719 does not create a new container repository resource1720 behaves like logs an auth warning1721 is expected to receive warn({:authorized_actions=>[], :message=>"Denied container registry permissions", :requested_actions=>["*"...ted_project_path=>"namespace9/project9", :scope_type=>"repository", :user_id=>6, :username=>"user2"}) 1 time1722 disallow developer to delete images since registry 2.71723 behaves like an inaccessible1724 is expected to include {"access" => []}1725 behaves like a valid token1726 is expected to include :token1727 is expected to include "access"1728 a expirable1729 for default configuration1730 is expected not to be within 2 of 2022-11-07 01:20:04.876533879 +00001731 for changed configuration1732 is expected to be within 2 of 2022-11-07 01:20:04.965853293 +00001733 behaves like not a container repository factory1734 does not create a new container repository resource1735 allow reporter to pull images1736 when pulling from root level repository1737 behaves like a pullable1738 behaves like an accessible1739 has the correct scope1740 behaves like a valid token1741 is expected to include :token1742 is expected to include "access"1743 a expirable1744 for default configuration1745 is expected not to be within 2 of 2022-11-07 01:20:05.451246119 +00001746 for changed configuration1747 is expected to be within 2 of 2022-11-07 01:20:05.542577763 +00001748 behaves like not a container repository factory1749 does not create a new container repository resource1750 behaves like with auth_type1751 is expected to eq "foo"1752 disallow reporter to delete images1753 behaves like an inaccessible1754 is expected to include {"access" => []}1755 behaves like a valid token1756 is expected to include :token1757 is expected to include "access"1758 a expirable1759 for default configuration1760 is expected not to be within 2 of 2022-11-07 01:20:06.282649351 +00001761 for changed configuration1762 is expected to be within 2 of 2022-11-07 01:20:06.384618814 +00001763 behaves like not a container repository factory1764 does not create a new container repository resource1765 disallow reporter to delete images since registry 2.71766 behaves like an inaccessible1767 is expected to include {"access" => []}1768 behaves like a valid token1769 is expected to include :token1770 is expected to include "access"1771 a expirable1772 for default configuration1773 is expected not to be within 2 of 2022-11-07 01:20:06.944077585 +00001774 for changed configuration1775 is expected to be within 2 of 2022-11-07 01:20:07.037728789 +00001776 behaves like not a container repository factory1777 does not create a new container repository resource1778 return a least of privileges1779 behaves like a pullable1780 behaves like an accessible1781 has the correct scope1782 behaves like a valid token1783 is expected to include :token1784 is expected to include "access"1785 a expirable1786 for default configuration1787 is expected not to be within 2 of 2022-11-07 01:20:07.636361147 +00001788 for changed configuration1789 is expected to be within 2 of 2022-11-07 01:20:07.744167279 +00001790 behaves like not a container repository factory1791 does not create a new container repository resource1792 behaves like with auth_type1793 is expected to eq "foo"1794 disallow guest to pull or push images1795 behaves like an inaccessible1796 is expected to include {"access" => []}1797 behaves like a valid token1798 is expected to include :token1799 is expected to include "access"1800 a expirable1801 for default configuration1802 is expected not to be within 2 of 2022-11-07 01:20:08.452309750 +00001803 for changed configuration1804 is expected to be within 2 of 2022-11-07 01:20:08.542665064 +00001805 behaves like not a container repository factory1806 does not create a new container repository resource1807 disallow guest to delete images1808 behaves like an inaccessible1809 is expected to include {"access" => []}1810 behaves like a valid token1811 is expected to include :token1812 is expected to include "access"1813 a expirable1814 for default configuration1815 is expected not to be within 2 of 2022-11-07 01:20:09.032654400 +00001816 for changed configuration1817 is expected to be within 2 of 2022-11-07 01:20:09.112721724 +00001818 behaves like not a container repository factory1819 does not create a new container repository resource1820 disallow guest to delete images since registry 2.71821 behaves like an inaccessible1822 is expected to include {"access" => []}1823 behaves like a valid token1824 is expected to include :token1825 is expected to include "access"1826 a expirable1827 for default configuration1828 is expected not to be within 2 of 2022-11-07 01:20:09.580639691 +00001829 for changed configuration1830 is expected to be within 2 of 2022-11-07 01:20:09.653541526 +00001831 behaves like not a container repository factory1832 does not create a new container repository resource1833 delete authorized as maintainer1834 behaves like allowed to delete container repository images1835 behaves like a valid token1836 is expected to include :token1837 is expected to include "access"1838 a expirable1839 for default configuration1840 is expected not to be within 2 of 2022-11-07 01:20:10.238698945 +00001841 for changed configuration1842 is expected to be within 2 of 2022-11-07 01:20:10.287100852 +00001843 allow to delete images1844 behaves like a deletable1845 behaves like an accessible1846 has the correct scope1847 behaves like a valid token1848 is expected to include :token1849 is expected to include "access"1850 a expirable1851 for default configuration1852 is expected not to be within 2 of 2022-11-07 01:20:10.605026970 +00001853 for changed configuration1854 is expected to be within 2 of 2022-11-07 01:20:10.744081800 +00001855 allow to delete images since registry 2.71856 behaves like a deletable since registry 2.71857 behaves like an accessible1858 has the correct scope1859 behaves like a valid token1860 is expected to include :token1861 is expected to include "access"1862 a expirable1863 for default configuration1864 is expected not to be within 2 of 2022-11-07 01:20:11.071558627 +00001865 for changed configuration1866 is expected to be within 2 of 2022-11-07 01:20:11.157281661 +00001867 build authorized as user1868 allow to use offline_token1869 behaves like an authenticated1870 is expected to include :token1871 is expected to include "access"1872 behaves like a valid token1873 is expected to include :token1874 is expected to include "access"1875 a expirable1876 for default configuration1877 is expected not to be within 2 of 2022-11-07 01:20:11.769481738 +00001878 for changed configuration1879 is expected to be within 2 of 2022-11-07 01:20:11.816812275 +00001880 behaves like with auth_type1881 is expected to eq "foo"1882 allow to pull and push images1883 behaves like a pullable and pushable1884 behaves like an accessible1885 has the correct scope1886 behaves like a valid token1887 is expected to include :token1888 is expected to include "access"1889 a expirable1890 for default configuration1891 is expected not to be within 2 of 2022-11-07 01:20:12.180196940 +00001892 for changed configuration1893 is expected to be within 2 of 2022-11-07 01:20:12.262777514 +00001894 behaves like container repository factory1895 creates a new container repository resource1896 allow to delete images since registry 2.71897 behaves like a deletable since registry 2.71898 behaves like an accessible1899 has the correct scope1900 behaves like a valid token1901 is expected to include :token1902 is expected to include "access"1903 a expirable1904 for default configuration1905 is expected not to be within 2 of 2022-11-07 01:20:12.601080620 +00001906 for changed configuration1907 is expected to be within 2 of 2022-11-07 01:20:12.675167615 +00001908 disallow to delete images1909 behaves like an inaccessible1910 is expected to include {"access" => []}1911 behaves like a valid token1912 is expected to include :token1913 is expected to include "access"1914 a expirable1915 for default configuration1916 is expected not to be within 2 of 2022-11-07 01:20:12.939914907 +00001917 for changed configuration1918 is expected to be within 2 of 2022-11-07 01:20:13.052069349 +00001919 for other projects1920 when pulling1921 allow for public1922 behaves like a pullable1923 behaves like an accessible1924 has the correct scope1925 behaves like a valid token1926 is expected to include :token1927 is expected to include "access"1928 a expirable1929 for default configuration1930 is expected not to be within 2 of 2022-11-07 01:20:13.596088371 +00001931 for changed configuration1932 is expected to be within 2 of 2022-11-07 01:20:13.666760266 +00001933 behaves like not a container repository factory1934 does not create a new container repository resource1935 for private1936 behaves like pullable for being team member1937 when you are not member1938 behaves like an inaccessible1939 is expected to include {"access" => []}1940 behaves like a valid token1941 is expected to include :token1942 is expected to include "access"1943 a expirable1944 for default configuration1945 is expected not to be within 2 of 2022-11-07 01:20:14.271540854 +00001946 for changed configuration1947 is expected to be within 2 of 2022-11-07 01:20:14.348241569 +00001948 behaves like not a container repository factory1949 does not create a new container repository resource1950 when you are member1951 behaves like a pullable1952 behaves like an accessible1953 has the correct scope1954 behaves like a valid token1955 is expected to include :token1956 is expected to include "access"1957 a expirable1958 for default configuration1959 is expected not to be within 2 of 2022-11-07 01:20:14.828194865 +00001960 for changed configuration1961 is expected to be within 2 of 2022-11-07 01:20:14.912700149 +00001962 behaves like not a container repository factory1963 does not create a new container repository resource1964 when you are owner1965 behaves like a pullable1966 behaves like an accessible1967 has the correct scope1968 behaves like a valid token1969 is expected to include :token1970 is expected to include "access"1971 a expirable1972 for default configuration1973 is expected not to be within 2 of 2022-11-07 01:20:15.550648375 +00001974 for changed configuration1975 is expected to be within 2 of 2022-11-07 01:20:15.633481399 +00001976 behaves like not a container repository factory1977 does not create a new container repository resource1978 when you are admin1979 when you are not member1980 behaves like an inaccessible1981 is expected to include {"access" => []}1982 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 2022-11-07 01:20:16.094477917 +00001988 for changed configuration1989 is expected to be within 2 of 2022-11-07 01:20:16.166722381 +00001990 behaves like not a container repository factory1991 does not create a new container repository resource1992 when you are member1993 behaves like a pullable1994 behaves like an accessible1995 has the correct scope1996 behaves like a valid token1997 is expected to include :token1998 is expected to include "access"1999 a expirable2000 for default configuration2001 is expected not to be within 2 of 2022-11-07 01:20:16.598964752 +00002002 for changed configuration2003 is expected to be within 2 of 2022-11-07 01:20:16.678102396 +00002004 behaves like not a container repository factory2005 does not create a new container repository resource2006 when you are owner2007 behaves like a pullable2008 behaves like an accessible2009 has the correct scope2010 behaves like a valid token2011 is expected to include :token2012 is expected to include "access"2013 a expirable2014 for default configuration2015 is expected not to be within 2 of 2022-11-07 01:20:17.203383040 +00002016 for changed configuration2017 is expected to be within 2 of 2022-11-07 01:20:17.282655724 +00002018 behaves like not a container repository factory2019 does not create a new container repository resource2020 for public project with private container registry2021 behaves like pullable for being team member2022 when you are not member2023 behaves like an inaccessible2024 is expected to include {"access" => []}2025 behaves like a valid token2026 is expected to include :token2027 is expected to include "access"2028 a expirable2029 for default configuration2030 is expected not to be within 2 of 2022-11-07 01:20:17.991546724 +00002031 for changed configuration2032 is expected to be within 2 of 2022-11-07 01:20:18.073658559 +00002033 behaves like not a container repository factory2034 does not create a new container repository resource2035 when you are member2036 behaves like a pullable2037 behaves like an accessible2038 has the correct scope2039 behaves like a valid token2040 is expected to include :token2041 is expected to include "access"2042 a expirable2043 for default configuration2044 is expected not to be within 2 of 2022-11-07 01:20:18.557132105 +00002045 for changed configuration2046 is expected to be within 2 of 2022-11-07 01:20:18.640571489 +00002047 behaves like not a container repository factory2048 does not create a new container repository resource2049 when you are owner2050 behaves like a pullable2051 behaves like an accessible2052 has the correct scope2053 behaves like a valid token2054 is expected to include :token2055 is expected to include "access"2056 a expirable2057 for default configuration2058 is expected not to be within 2 of 2022-11-07 01:20:19.219552799 +00002059 for changed configuration2060 is expected to be within 2 of 2022-11-07 01:20:19.305216973 +00002061 behaves like not a container repository factory2062 does not create a new container repository resource2063 when you are admin2064 behaves like pullable for being team member2065 when you are not member2066 behaves like an inaccessible2067 is expected to include {"access" => []}2068 behaves like a valid token2069 is expected to include :token2070 is expected to include "access"2071 a expirable2072 for default configuration2073 is expected not to be within 2 of 2022-11-07 01:20:19.787011519 +00002074 for changed configuration2075 is expected to be within 2 of 2022-11-07 01:20:19.865544714 +00002076 behaves like not a container repository factory2077 does not create a new container repository resource2078 when you are member2079 behaves like a pullable2080 behaves like an accessible2081 has the correct scope2082 behaves like a valid token2083 is expected to include :token2084 is expected to include "access"2085 a expirable2086 for default configuration2087 is expected not to be within 2 of 2022-11-07 01:20:20.408808066 +00002088 for changed configuration2089 is expected to be within 2 of 2022-11-07 01:20:20.509048809 +00002090 behaves like not a container repository factory2091 does not create a new container repository resource2092 when you are owner2093 behaves like a pullable2094 behaves like an accessible2095 has the correct scope2096 behaves like a valid token2097 is expected to include :token2098 is expected to include "access"2099 a expirable2100 for default configuration2101 is expected not to be within 2 of 2022-11-07 01:20:21.103313367 +00002102 for changed configuration2103 is expected to be within 2 of 2022-11-07 01:20:21.185539312 +00002104 behaves like not a container repository factory2105 does not create a new container repository resource2106 when pushing2107 disallow for all2108 when you are member2109 behaves like an inaccessible2110 is expected to include {"access" => []}2111 behaves like a valid token2112 is expected to include :token2113 is expected to include "access"2114 a expirable2115 for default configuration2116 is expected not to be within 2 of 2022-11-07 01:20:21.894881552 +00002117 for changed configuration2118 is expected to be within 2 of 2022-11-07 01:20:21.961824497 +00002119 behaves like not a container repository factory2120 does not create a new container repository resource2121 when you are owner2122 behaves like an inaccessible2123 is expected to include {"access" => []}2124 behaves like a valid token2125 is expected to include :token2126 is expected to include "access"2127 a expirable2128 for default configuration2129 is expected not to be within 2 of 2022-11-07 01:20:22.480743211 +00002130 for changed configuration2131 is expected to be within 2 of 2022-11-07 01:20:22.553167196 +00002132 behaves like not a container repository factory2133 does not create a new container repository resource2134 for project without container registry2135 disallow when pulling2136 behaves like an inaccessible2137 is expected to include {"access" => []}2138 behaves like a valid token2139 is expected to include :token2140 is expected to include "access"2141 a expirable2142 for default configuration2143 is expected not to be within 2 of 2022-11-07 01:20:23.168999853 +00002144 for changed configuration2145 is expected to be within 2 of 2022-11-07 01:20:23.237624698 +00002146 behaves like not a container repository factory2147 does not create a new container repository resource2148 for project that disables repository2149 disallow when pulling2150 behaves like an inaccessible2151 is expected to include {"access" => []}2152 behaves like a valid token2153 is expected to include :token2154 is expected to include "access"2155 a expirable2156 for default configuration2157 is expected not to be within 2 of 2022-11-07 01:20:23.792019370 +00002158 for changed configuration2159 is expected to be within 2 of 2022-11-07 01:20:23.853963975 +00002160 behaves like not a container repository factory2161 does not create a new container repository resource2162 registry catalog browsing authorized as admin2163 behaves like a browsable2164 has the correct scope2165 behaves like a valid token2166 is expected to include :token2167 is expected to include "access"2168 a expirable2169 for default configuration2170 is expected not to be within 2 of 2022-11-07 01:20:24.435185715 +00002171 for changed configuration2172 is expected to be within 2 of 2022-11-07 01:20:24.485946821 +00002173 behaves like not a container repository factory2174 does not create a new container repository resource2175 support for multiple scopes2176 user has access to all projects2177 behaves like a browsable2178 has the correct scope2179 behaves like a valid token2180 is expected to include :token2181 is expected to include "access"2182 a expirable2183 for default configuration2184 is expected not to be within 2 of 2022-11-07 01:20:26.184705163 +00002185 for changed configuration2186 is expected to be within 2 of 2022-11-07 01:20:26.311975094 +00002187 behaves like not a container repository factory2188 does not create a new container repository resource2189 user only has access to internal and public projects2190 behaves like a browsable2191 has the correct scope2192 behaves like a valid token2193 is expected to include :token2194 is expected to include "access"2195 a expirable2196 for default configuration2197 is expected not to be within 2 of 2022-11-07 01:20:27.130332127 +00002198 for changed configuration2199 is expected to be within 2 of 2022-11-07 01:20:27.297828565 +00002200 behaves like not a container repository factory2201 does not create a new container repository resource2202 anonymous user has access only to public project2203 behaves like a browsable2204 has the correct scope2205 behaves like a valid token2206 is expected to include :token2207 is expected to include "access"2208 a expirable2209 for default configuration2210 is expected not to be within 2 of 2022-11-07 01:20:27.968876449 +00002211 for changed configuration2212 is expected to be within 2 of 2022-11-07 01:20:28.081723350 +00002213 behaves like not a container repository factory2214 does not create a new container repository resource2215 with no public container registry2216 behaves like a forbidden2217 is expected to include {:http_status => 403}2218 is expected not to include :token2219 unauthorized2220 disallow to use scope-less authentication2221 behaves like a forbidden2222 is expected to include {:http_status => 403}2223 is expected not to include :token2224 behaves like not a container repository factory2225 does not create a new container repository resource2226 for invalid scope2227 behaves like a forbidden2228 is expected to include {:http_status => 403}2229 is expected not to include :token2230 behaves like not a container repository factory2231 does not create a new container repository resource2232 for private project2233 behaves like a forbidden2234 is expected to include {:http_status => 403}2235 is expected not to include :token2236 for public project with container registry `enabled`2237 when pulling and pushing2238 behaves like a pullable2239 behaves like an accessible2240 has the correct scope2241 behaves like a valid token2242 is expected to include :token2243 is expected to include "access"2244 a expirable2245 for default configuration2246 is expected not to be within 2 of 2022-11-07 01:20:29.695092308 +00002247 for changed configuration2248 is expected to be within 2 of 2022-11-07 01:20:29.790979291 +00002249 behaves like not a container repository factory2250 does not create a new container repository resource2251 when pushing2252 behaves like a forbidden2253 is expected to include {:http_status => 403}2254 is expected not to include :token2255 behaves like not a container repository factory2256 does not create a new container repository resource2257 for public project with container registry `private`2258 when pulling and pushing2259 behaves like a forbidden2260 is expected to include {:http_status => 403}2261 is expected not to include :token2262 behaves like not a container repository factory2263 does not create a new container repository resource2264 for registry catalog2265 behaves like a forbidden2266 is expected to include {:http_status => 403}2267 is expected not to include :token2268 behaves like not a container repository factory2269 does not create a new container repository resource2270 for deploy tokens2271 when deploy token has read and write registry as scopes2272 for public project2273 when pulling2274 behaves like a pullable2275 behaves like an accessible2276 has the correct scope2277 behaves like a valid token2278 is expected to include :token2279 is expected to include "access"2280 a expirable2281 for default configuration2282 is expected not to be within 2 of 2022-11-07 01:20:31.493740793 +00002283 for changed configuration2284 is expected to be within 2 of 2022-11-07 01:20:31.593363206 +00002285 when pushing2286 behaves like a pushable2287 behaves like an accessible2288 has the correct scope2289 behaves like a valid token2290 is expected to include :token2291 is expected to include "access"2292 a expirable2293 for default configuration2294 is expected not to be within 2 of 2022-11-07 01:20:32.122580599 +00002295 for changed configuration2296 is expected to be within 2 of 2022-11-07 01:20:32.264529859 +00002297 behaves like able to login2298 registry provides read_container_image authentication_abilities2299 is expected to eq "deploy_token"2300 behaves like an authenticated2301 is expected to include :token2302 is expected to include "access"2303 for internal project2304 when pulling2305 behaves like a pullable2306 behaves like an accessible2307 has the correct scope2308 behaves like a valid token2309 is expected to include :token2310 is expected to include "access"2311 a expirable2312 for default configuration2313 is expected not to be within 2 of 2022-11-07 01:20:33.205707873 +00002314 for changed configuration2315 is expected to be within 2 of 2022-11-07 01:20:33.319136975 +00002316 when pushing2317 behaves like a pushable2318 behaves like an accessible2319 has the correct scope2320 behaves like a valid token2321 is expected to include :token2322 is expected to include "access"2323 a expirable2324 for default configuration2325 is expected not to be within 2 of 2022-11-07 01:20:33.864304497 +00002326 for changed configuration2327 is expected to be within 2 of 2022-11-07 01:20:34.004827857 +00002328 behaves like able to login2329 registry provides read_container_image authentication_abilities2330 is expected to eq "deploy_token"2331 behaves like an authenticated2332 is expected to include :token2333 is expected to include "access"2334 for private project2335 when pulling2336 behaves like a pullable2337 behaves like an accessible2338 has the correct scope2339 behaves like a valid token2340 is expected to include :token2341 is expected to include "access"2342 a expirable2343 for default configuration2344 is expected not to be within 2 of 2022-11-07 01:20:34.973970900 +00002345 for changed configuration2346 is expected to be within 2 of 2022-11-07 01:20:35.098879631 +00002347 when pushing2348 behaves like a pushable2349 behaves like an accessible2350 has the correct scope2351 behaves like a valid token2352 is expected to include :token2353 is expected to include "access"2354 a expirable2355 for default configuration2356 is expected not to be within 2 of 2022-11-07 01:20:35.630973404 +00002357 for changed configuration2358 is expected to be within 2 of 2022-11-07 01:20:35.767405904 +00002359 behaves like able to login2360 registry provides read_container_image authentication_abilities2361 is expected to eq "deploy_token"2362 behaves like an authenticated2363 is expected to include :token2364 is expected to include "access"2365 for public project with private container registry2366 when pulling2367 behaves like a pullable2368 behaves like an accessible2369 has the correct scope2370 behaves like a valid token2371 is expected to include :token2372 is expected to include "access"2373 a expirable2374 for default configuration2375 is expected not to be within 2 of 2022-11-07 01:20:36.902688205 +00002376 for changed configuration2377 is expected to be within 2 of 2022-11-07 01:20:37.126026440 +00002378 when pushing2379 behaves like a pushable2380 behaves like an accessible2381 has the correct scope2382 behaves like a valid token2383 is expected to include :token2384 is expected to include "access"2385 a expirable2386 for default configuration2387 is expected not to be within 2 of 2022-11-07 01:20:37.864552248 +00002388 for changed configuration2389 is expected to be within 2 of 2022-11-07 01:20:38.053743485 +00002390 behaves like able to login2391 registry provides read_container_image authentication_abilities2392 is expected to eq "deploy_token"2393 behaves like an authenticated2394 is expected to include :token2395 is expected to include "access"2396 when deploy token does not have read_registry scope2397 for public project with container registry `enabled`2398 when pulling2399 behaves like a pullable2400 behaves like an accessible2401 has the correct scope2402 behaves like a valid token2403 is expected to include :token2404 is expected to include "access"2405 a expirable2406 for default configuration2407 is expected not to be within 2 of 2022-11-07 01:20:39.138428849 +00002408 for changed configuration2409 is expected to be within 2 of 2022-11-07 01:20:39.269992990 +00002410 behaves like unable to login2411 registry provides no container authentication_abilities2412 behaves like a forbidden2413 is expected to include {:http_status => 403}2414 is expected not to include :token2415 registry provides inapplicable container authentication_abilities2416 behaves like a forbidden2417 is expected to include {:http_status => 403}2418 is expected not to include :token2419 for public project with container registry `private`2420 when pulling2421 behaves like an inaccessible2422 is expected to include {"access" => []}2423 behaves like a valid token2424 is expected to include :token2425 is expected to include "access"2426 a expirable2427 for default configuration2428 is expected not to be within 2 of 2022-11-07 01:20:40.499587684 +00002429 for changed configuration2430 is expected to be within 2 of 2022-11-07 01:20:40.623684696 +00002431 behaves like unable to login2432 registry provides no container authentication_abilities2433 behaves like a forbidden2434 is expected to include {:http_status => 403}2435 is expected not to include :token2436 registry provides inapplicable container authentication_abilities2437 behaves like a forbidden2438 is expected to include {:http_status => 403}2439 is expected not to include :token2440 for internal project2441 when pulling2442 behaves like an inaccessible2443 is expected to include {"access" => []}2444 behaves like a valid token2445 is expected to include :token2446 is expected to include "access"2447 a expirable2448 for default configuration2449 is expected not to be within 2 of 2022-11-07 01:20:41.664626573 +00002450 for changed configuration2451 is expected to be within 2 of 2022-11-07 01:20:41.819840772 +00002452 behaves like unable to login2453 registry provides no container authentication_abilities2454 behaves like a forbidden2455 is expected to include {:http_status => 403}2456 is expected not to include :token2457 registry provides inapplicable container authentication_abilities2458 behaves like a forbidden2459 is expected to include {:http_status => 403}2460 is expected not to include :token2461 for private project2462 when pulling2463 behaves like an inaccessible2464 is expected to include {"access" => []}2465 behaves like a valid token2466 is expected to include :token2467 is expected to include "access"2468 a expirable2469 for default configuration2470 is expected not to be within 2 of 2022-11-07 01:20:42.724845569 +00002471 for changed configuration2472 is expected to be within 2 of 2022-11-07 01:20:42.832153861 +00002473 when logging in2474 behaves like a forbidden2475 is expected to include {:http_status => 403}2476 is expected not to include :token2477 behaves like unable to login2478 registry provides no container authentication_abilities2479 behaves like a forbidden2480 is expected to include {:http_status => 403}2481 is expected not to include :token2482 registry provides inapplicable container authentication_abilities2483 behaves like a forbidden2484 is expected to include {:http_status => 403}2485 is expected not to include :token2486 when deploy token is not related to the project2487 for public project with container registry `enabled`2488 when pulling2489 behaves like a pullable2490 behaves like an accessible2491 has the correct scope2492 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 2022-11-07 01:20:43.924856705 +00002498 for changed configuration2499 is expected to be within 2 of 2022-11-07 01:20:44.065503305 +00002500 for public project with container registry `private`2501 when pulling2502 behaves like an inaccessible2503 is expected to include {"access" => []}2504 behaves like a valid token2505 is expected to include :token2506 is expected to include "access"2507 a expirable2508 for default configuration2509 is expected not to be within 2 of 2022-11-07 01:20:44.642619255 +00002510 for changed configuration2511 is expected to be within 2 of 2022-11-07 01:20:44.712113621 +00002512 for internal project2513 when pulling2514 behaves like an inaccessible2515 is expected to include {"access" => []}2516 behaves like a valid token2517 is expected to include :token2518 is expected to include "access"2519 a expirable2520 for default configuration2521 is expected not to be within 2 of 2022-11-07 01:20:45.215853825 +00002522 for changed configuration2523 is expected to be within 2 of 2022-11-07 01:20:45.284457221 +00002524 for private project2525 when pulling2526 behaves like an inaccessible2527 is expected to include {"access" => []}2528 behaves like a valid token2529 is expected to include :token2530 is expected to include "access"2531 a expirable2532 for default configuration2533 is expected not to be within 2 of 2022-11-07 01:20:45.794777935 +00002534 for changed configuration2535 is expected to be within 2 of 2022-11-07 01:20:45.862348900 +00002536 when deploy token has been revoked2537 for public project with container registry `enabled`2538 behaves like a pullable2539 behaves like an accessible2540 has the correct scope2541 behaves like a valid token2542 is expected to include :token2543 is expected to include "access"2544 a expirable2545 for default configuration2546 is expected not to be within 2 of 2022-11-07 01:20:46.594134519 +00002547 for changed configuration2548 is expected to be within 2 of 2022-11-07 01:20:46.700368082 +00002549 for public project with container registry `private`2550 behaves like an inaccessible2551 is expected to include {"access" => []}2552 behaves like a valid token2553 is expected to include :token2554 is expected to include "access"2555 a expirable2556 for default configuration2557 is expected not to be within 2 of 2022-11-07 01:20:47.369744765 +00002558 for changed configuration2559 is expected to be within 2 of 2022-11-07 01:20:47.466318638 +00002560 for internal project2561 behaves like an inaccessible2562 is expected to include {"access" => []}2563 behaves like a valid token2564 is expected to include :token2565 is expected to include "access"2566 a expirable2567 for default configuration2568 is expected not to be within 2 of 2022-11-07 01:20:48.111567963 +00002569 for changed configuration2570 is expected to be within 2 of 2022-11-07 01:20:48.204516017 +00002571 for private project2572 behaves like an inaccessible2573 is expected to include {"access" => []}2574 behaves like a valid token2575 is expected to include :token2576 is expected to include "access"2577 a expirable2578 for default configuration2579 is expected not to be within 2 of 2022-11-07 01:20:48.920508137 +00002580 for changed configuration2581 is expected to be within 2 of 2022-11-07 01:20:49.075146936 +00002582 user authorization2583 with multiple scopes2584 allow developer to push images2585 behaves like a pushable2586 behaves like an accessible2587 has the correct scope2588 behaves like a valid token2589 is expected to include :token2590 is expected to include "access"2591 a expirable2592 for default configuration2593 is expected not to be within 2 of 2022-11-07 01:20:49.898864949 +00002594 for changed configuration2595 is expected to be within 2 of 2022-11-07 01:20:49.998613432 +00002596 behaves like container repository factory2597 creates a new container repository resource2598 when importing2599 push request2600 behaves like a forbidden2601 is expected to include {:http_status => 403}2602 is expected not to include :token2603 behaves like containing the import error2604 includes a helpful error message2605 delete request2606 behaves like a forbidden2607 is expected to include {:http_status => 403}2608 is expected not to include :token2609 behaves like containing the import error2610 includes a helpful error message2611 * request2612 behaves like a forbidden2613 is expected to include {:http_status => 403}2614 is expected not to include :token2615 behaves like containing the import error2616 includes a helpful error message2617 pull request2618 behaves like a pullable2619 behaves like an accessible2620 has the correct scope2621 behaves like a valid token2622 is expected to include :token2623 is expected to include "access"2624 a expirable2625 for default configuration2626 is expected not to be within 2 of 2022-11-07 01:20:52.672504395 +00002627 for changed configuration2628 is expected to be within 2 of 2022-11-07 01:20:52.857635292 +00002629 mixed request2630 behaves like a forbidden2631 is expected to include {:http_status => 403}2632 is expected not to include :token2633 behaves like containing the import error2634 includes a helpful error message2635 address is outside the range2636 when actor is a deploy token with read access2637 behaves like an inaccessible2638 is expected to include {"access" => []}2639 behaves like a valid token2640 is expected to include :token2641 is expected to include "access"2642 a expirable2643 for default configuration2644 is expected not to be within 2 of 2022-11-07 01:20:53.926838858 +00002645 for changed configuration2646 is expected to be within 2 of 2022-11-07 01:20:54.056788058 +00002647 behaves like not a container repository factory2648 does not create a new container repository resource2649 behaves like logs an auth warning2650 is expected to receive warn({:authorized_actions=>[], :message=>"Denied container registry permissions", :requested_actions=>["push", "pull"], :requested_project_path=>"group1/project1", :scope_type=>"repository"}) 1 time2651 in maintenance mode2652 allows developer to pull images2653 behaves like a pullable2654 behaves like an accessible2655 has the correct scope2656 behaves like a valid token2657 is expected to include :token2658 is expected to include "access"2659 a expirable2660 for default configuration2661 is expected not to be within 2 of 2022-11-07 01:20:55.444550602 +00002662 for changed configuration2663 is expected to be within 2 of 2022-11-07 01:20:55.640845838 +00002664 does not allow developer to push images2665 behaves like not a container repository factory2666 does not create a new container repository resource2667 behaves like logs an auth warning2668 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 time2669 does not allow developer to delete images2670 behaves like not a container repository factory2671 does not create a new container repository resource2672 behaves like logs an auth warning2673 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 time2674 when not in maintenance mode2675 behaves like a container registry auth service2676 .full_access_token2677 behaves like an accessible2678 has the correct scope2679 behaves like a valid token2680 is expected to include :token2681 is expected to include "access"2682 a expirable2683 for default configuration2684 is expected not to be within 2 of 2022-11-07 01:20:56.899097110 +00002685 for changed configuration2686 is expected to be within 2 of 2022-11-07 01:20:56.940084097 +00002687 behaves like not a container repository factory2688 does not create a new container repository resource2689 .import_access_token2690 has the correct scope2691 behaves like a valid token2692 is expected to include :token2693 is expected to include "access"2694 a expirable2695 for default configuration2696 is expected not to be within 2 of 2022-11-07 01:20:57.121635095 +00002697 for changed configuration2698 is expected to be within 2 of 2022-11-07 01:20:57.162192082 +00002699 behaves like not a container repository factory2700 does not create a new container repository resource2701 .pull_access_token2702 behaves like an accessible2703 has the correct scope2704 behaves like a valid token2705 is expected to include :token2706 is expected to include "access"2707 a expirable2708 for default configuration2709 is expected not to be within 2 of 2022-11-07 01:20:57.610414031 +00002710 for changed configuration2711 is expected to be within 2 of 2022-11-07 01:20:57.648806268 +00002712 behaves like not a container repository factory2713 does not create a new container repository resource2714 .pull_nested_repositories_access_token2715 has the correct scope2716 behaves like a valid token2717 is expected to include :token2718 is expected to include "access"2719 a expirable2720 for default configuration2721 is expected not to be within 2 of 2022-11-07 01:20:58.091707297 +00002722 for changed configuration2723 is expected to be within 2 of 2022-11-07 01:20:58.131470234 +00002724 behaves like not a container repository factory2725 does not create a new container repository resource2726 with path ending with a slash2727 has the correct scope2728 behaves like a valid token2729 is expected to include :token2730 is expected to include "access"2731 a expirable2732 for default configuration2733 is expected not to be within 2 of 2022-11-07 01:20:58.316225761 +00002734 for changed configuration2735 is expected to be within 2 of 2022-11-07 01:20:58.357470848 +00002736 behaves like not a container repository factory2737 does not create a new container repository resource2738 user authorization2739 for registry catalog2740 disallow browsing for users without GitLab admin rights2741 behaves like an inaccessible2742 is expected to include {"access" => []}2743 behaves like a valid token2744 is expected to include :token2745 is expected to include "access"2746 a expirable2747 for default configuration2748 is expected not to be within 2 of 2022-11-07 01:20:58.665334997 +00002749 for changed configuration2750 is expected to be within 2 of 2022-11-07 01:20:58.701553455 +00002751 behaves like not a container repository factory2752 does not create a new container repository resource2753 for private project2754 behaves like private project2755 allow to use scope-less authentication2756 behaves like a valid token2757 is expected to include :token2758 is expected to include "access"2759 a expirable2760 for default configuration2761 is expected not to be within 2 of 2022-11-07 01:20:59.116935285 +00002762 for changed configuration2763 is expected to be within 2 of 2022-11-07 01:20:59.156307093 +00002764 behaves like with auth_type2765 is expected to eq "foo"2766 allow developer to push images2767 behaves like a pushable2768 behaves like an accessible2769 has the correct scope2770 behaves like a valid token2771 is expected to include :token2772 is expected to include "access"2773 a expirable2774 for default configuration2775 is expected not to be within 2 of 2022-11-07 01:20:59.673334047 +00002776 for changed configuration2777 is expected to be within 2 of 2022-11-07 01:20:59.767185140 +00002778 behaves like container repository factory2779 creates a new container repository resource2780 behaves like with auth_type2781 is expected to eq "foo"2782 disallow developer to delete images2783 behaves like an inaccessible2784 is expected to include {"access" => []}2785 behaves like a valid token2786 is expected to include :token2787 is expected to include "access"2788 a expirable2789 for default configuration2790 is expected not to be within 2 of 2022-11-07 01:21:00.347377720 +00002791 for changed configuration2792 is expected to be within 2 of 2022-11-07 01:21:00.431400734 +00002793 behaves like not a container repository factory2794 does not create a new container repository resource2795 behaves like logs an auth warning2796 is expected to receive warn({:authorized_actions=>[], :message=>"Denied container registry permissions", :requested_actions=>["*"...project_path=>"namespace48/project53", :scope_type=>"repository", :user_id=>63, :username=>"user16"}) 1 time2797 disallow developer to delete images since registry 2.72798 behaves like an inaccessible2799 is expected to include {"access" => []}2800 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 2022-11-07 01:21:01.068117849 +00002806 for changed configuration2807 is expected to be within 2 of 2022-11-07 01:21:01.152145744 +00002808 behaves like not a container repository factory2809 does not create a new container repository resource2810 allow reporter to pull images2811 when pulling from root level repository2812 behaves like a pullable2813 behaves like an accessible2814 has the correct scope2815 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 2022-11-07 01:21:01.576936584 +00002821 for changed configuration2822 is expected to be within 2 of 2022-11-07 01:21:01.644909749 +00002823 behaves like not a container repository factory2824 does not create a new container repository resource2825 behaves like with auth_type2826 is expected to eq "foo"2827 disallow reporter to delete images2828 behaves like an inaccessible2829 is expected to include {"access" => []}2830 behaves like a valid token2831 is expected to include :token2832 is expected to include "access"2833 a expirable2834 for default configuration2835 is expected not to be within 2 of 2022-11-07 01:21:02.217751609 +00002836 for changed configuration2837 is expected to be within 2 of 2022-11-07 01:21:02.302205364 +00002838 behaves like not a container repository factory2839 does not create a new container repository resource2840 disallow reporter to delete images since registry 2.72841 behaves like an inaccessible2842 is expected to include {"access" => []}2843 behaves like a valid token2844 is expected to include :token2845 is expected to include "access"2846 a expirable2847 for default configuration2848 is expected not to be within 2 of 2022-11-07 01:21:02.785837499 +00002849 for changed configuration2850 is expected to be within 2 of 2022-11-07 01:21:02.873402164 +00002851 behaves like not a container repository factory2852 does not create a new container repository resource2853 return a least of privileges2854 behaves like a pullable2855 behaves like an accessible2856 has the correct scope2857 behaves like a valid token2858 is expected to include :token2859 is expected to include "access"2860 a expirable2861 for default configuration2862 is expected not to be within 2 of 2022-11-07 01:21:03.471016562 +00002863 for changed configuration2864 is expected to be within 2 of 2022-11-07 01:21:03.563816155 +00002865 behaves like not a container repository factory2866 does not create a new container repository resource2867 behaves like with auth_type2868 is expected to eq "foo"2869 disallow guest to pull or push images2870 behaves like an inaccessible2871 is expected to include {"access" => []}2872 behaves like a valid token2873 is expected to include :token2874 is expected to include "access"2875 a expirable2876 for default configuration2877 is expected not to be within 2 of 2022-11-07 01:21:04.213358320 +00002878 for changed configuration2879 is expected to be within 2 of 2022-11-07 01:21:04.308888484 +00002880 behaves like not a container repository factory2881 does not create a new container repository resource2882 disallow guest to delete images2883 behaves like an inaccessible2884 is expected to include {"access" => []}2885 behaves like a valid token2886 is expected to include :token2887 is expected to include "access"2888 a expirable2889 for default configuration2890 is expected not to be within 2 of 2022-11-07 01:21:04.816522798 +00002891 for changed configuration2892 is expected to be within 2 of 2022-11-07 01:21:04.903395832 +00002893 behaves like not a container repository factory2894 does not create a new container repository resource2895 disallow guest to delete images since registry 2.72896 behaves like an inaccessible2897 is expected to include {"access" => []}2898 behaves like a valid token2899 is expected to include :token2900 is expected to include "access"2901 a expirable2902 for default configuration2903 is expected not to be within 2 of 2022-11-07 01:21:05.438894014 +00002904 for changed configuration2905 is expected to be within 2 of 2022-11-07 01:21:05.531818208 +00002906 behaves like not a container repository factory2907 does not create a new container repository resource2908 for public project with private container registry2909 behaves like private project2910 allow to use scope-less authentication2911 behaves like a valid token2912 is expected to include :token2913 is expected to include "access"2914 a expirable2915 for default configuration2916 is expected not to be within 2 of 2022-11-07 01:21:06.003439135 +00002917 for changed configuration2918 is expected to be within 2 of 2022-11-07 01:21:06.038249793 +00002919 behaves like with auth_type2920 is expected to eq "foo"2921 allow developer to push images2922 behaves like a pushable2923 behaves like an accessible2924 has the correct scope2925 behaves like a valid token2926 is expected to include :token2927 is expected to include "access"2928 a expirable2929 for default configuration2930 is expected not to be within 2 of 2022-11-07 01:21:06.493873131 +00002931 for changed configuration2932 is expected to be within 2 of 2022-11-07 01:21:06.588086914 +00002933 behaves like container repository factory2934 creates a new container repository resource2935 behaves like with auth_type2936 is expected to eq "foo"2937 disallow developer to delete images2938 behaves like an inaccessible2939 is expected to include {"access" => []}2940 behaves like a valid token2941 is expected to include :token2942 is expected to include "access"2943 a expirable2944 for default configuration2945 is expected not to be within 2 of 2022-11-07 01:21:07.214687721 +00002946 for changed configuration2947 is expected to be within 2 of 2022-11-07 01:21:07.311663014 +00002948 behaves like not a container repository factory2949 does not create a new container repository resource2950 behaves like logs an auth warning2951 is expected to receive warn({:authorized_actions=>[], :message=>"Denied container registry permissions", :requested_actions=>["*"...project_path=>"namespace49/project54", :scope_type=>"repository", :user_id=>63, :username=>"user16"}) 1 time2952 disallow developer to delete images since registry 2.72953 behaves like an inaccessible2954 is expected to include {"access" => []}2955 behaves like a valid token2956 is expected to include :token2957 is expected to include "access"2958 a expirable2959 for default configuration2960 is expected not to be within 2 of 2022-11-07 01:21:07.993479216 +00002961 for changed configuration2962 is expected to be within 2 of 2022-11-07 01:21:08.100934289 +00002963 behaves like not a container repository factory2964 does not create a new container repository resource2965 allow reporter to pull images2966 when pulling from root level repository2967 behaves like a pullable2968 behaves like an accessible2969 has the correct scope2970 behaves like a valid token2971 is expected to include :token2972 is expected to include "access"2973 a expirable2974 for default configuration2975 is expected not to be within 2 of 2022-11-07 01:21:08.568737736 +00002976 for changed configuration2977 is expected to be within 2 of 2022-11-07 01:21:08.639466201 +00002978 behaves like not a container repository factory2979 does not create a new container repository resource2980 behaves like with auth_type2981 is expected to eq "foo"2982 disallow reporter to delete images2983 behaves like an inaccessible2984 is expected to include {"access" => []}2985 behaves like a valid token2986 is expected to include :token2987 is expected to include "access"2988 a expirable2989 for default configuration2990 is expected not to be within 2 of 2022-11-07 01:21:09.212955771 +00002991 for changed configuration2992 is expected to be within 2 of 2022-11-07 01:21:09.302309095 +00002993 behaves like not a container repository factory2994 does not create a new container repository resource2995 disallow reporter to delete images since registry 2.72996 behaves like an inaccessible2997 is expected to include {"access" => []}2998 behaves like a valid token2999 is expected to include :token3000 is expected to include "access"3001 a expirable3002 for default configuration3003 is expected not to be within 2 of 2022-11-07 01:21:09.868236695 +00003004 for changed configuration3005 is expected to be within 2 of 2022-11-07 01:21:09.953483399 +00003006 behaves like not a container repository factory3007 does not create a new container repository resource3008 return a least of privileges3009 behaves like a pullable3010 behaves like an accessible3011 has the correct scope3012 behaves like a valid token3013 is expected to include :token3014 is expected to include "access"3015 a expirable3016 for default configuration3017 is expected not to be within 2 of 2022-11-07 01:21:10.511516731 +00003018 for changed configuration3019 is expected to be within 2 of 2022-11-07 01:21:10.607363624 +00003020 behaves like not a container repository factory3021 does not create a new container repository resource3022 behaves like with auth_type3023 is expected to eq "foo"3024 disallow guest to pull or push images3025 behaves like an inaccessible3026 is expected to include {"access" => []}3027 behaves like a valid token3028 is expected to include :token3029 is expected to include "access"3030 a expirable3031 for default configuration3032 is expected not to be within 2 of 2022-11-07 01:21:11.213906542 +00003033 for changed configuration3034 is expected to be within 2 of 2022-11-07 01:21:11.298222746 +00003035 behaves like not a container repository factory3036 does not create a new container repository resource3037 disallow guest to delete images3038 behaves like an inaccessible3039 is expected to include {"access" => []}3040 behaves like a valid token3041 is expected to include :token3042 is expected to include "access"3043 a expirable3044 for default configuration3045 is expected not to be within 2 of 2022-11-07 01:21:11.766024653 +00003046 for changed configuration3047 is expected to be within 2 of 2022-11-07 01:21:11.896192194 +00003048 behaves like not a container repository factory3049 does not create a new container repository resource3050 disallow guest to delete images since registry 2.73051 behaves like an inaccessible3052 is expected to include {"access" => []}3053 behaves like a valid token3054 is expected to include :token3055 is expected to include "access"3056 a expirable3057 for default configuration3058 is expected not to be within 2 of 2022-11-07 01:21:12.381603260 +00003059 for changed configuration3060 is expected to be within 2 of 2022-11-07 01:21:12.457620045 +00003061 behaves like not a container repository factory3062 does not create a new container repository resource3063 for public project with container_registry `enabled`3064 allow anyone to pull images3065 behaves like a pullable3066 behaves like an accessible3067 has the correct scope3068 behaves like a valid token3069 is expected to include :token3070 is expected to include "access"3071 a expirable3072 for default configuration3073 is expected not to be within 2 of 2022-11-07 01:21:13.057868113 +00003074 for changed configuration3075 is expected to be within 2 of 2022-11-07 01:21:13.121140119 +00003076 behaves like not a container repository factory3077 does not create a new container repository resource3078 behaves like with auth_type3079 is expected to eq "foo"3080 disallow anyone to push images3081 behaves like an inaccessible3082 is expected to include {"access" => []}3083 behaves like a valid token3084 is expected to include :token3085 is expected to include "access"3086 a expirable3087 for default configuration3088 is expected not to be within 2 of 2022-11-07 01:21:13.548027269 +00003089 for changed configuration3090 is expected to be within 2 of 2022-11-07 01:21:13.624450373 +00003091 behaves like not a container repository factory3092 does not create a new container repository resource3093 disallow anyone to delete images3094 behaves like an inaccessible3095 is expected to include {"access" => []}3096 behaves like a valid token3097 is expected to include :token3098 is expected to include "access"3099 a expirable3100 for default configuration3101 is expected not to be within 2 of 2022-11-07 01:21:14.055816754 +00003102 for changed configuration3103 is expected to be within 2 of 2022-11-07 01:21:14.132989118 +00003104 behaves like not a container repository factory3105 does not create a new container repository resource3106 disallow anyone to delete images since registry 2.73107 behaves like an inaccessible3108 is expected to include {"access" => []}3109 behaves like a valid token3110 is expected to include :token3111 is expected to include "access"3112 a expirable3113 for default configuration3114 is expected not to be within 2 of 2022-11-07 01:21:14.514201581 +00003115 for changed configuration3116 is expected to be within 2 of 2022-11-07 01:21:14.595042266 +00003117 behaves like not a container repository factory3118 does not create a new container repository resource3119 when repository name is invalid3120 behaves like an inaccessible3121 is expected to include {"access" => []}3122 behaves like a valid token3123 is expected to include :token3124 is expected to include "access"3125 a expirable3126 for default configuration3127 is expected not to be within 2 of 2022-11-07 01:21:14.813985930 +00003128 for changed configuration3129 is expected to be within 2 of 2022-11-07 01:21:14.853104168 +00003130 behaves like not a container repository factory3131 does not create a new container repository resource3132 for internal project with container_registry `enabled`3133 for internal user3134 allow anyone to pull images3135 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 2022-11-07 01:21:15.416137868 +00003144 for changed configuration3145 is expected to be within 2 of 2022-11-07 01:21:15.483098674 +00003146 behaves like not a container repository factory3147 does not create a new container repository resource3148 behaves like with auth_type3149 is expected to eq "foo"3150 disallow anyone to push images3151 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 2022-11-07 01:21:15.951582941 +00003159 for changed configuration3160 is expected to be within 2 of 2022-11-07 01:21:16.083978402 +00003161 behaves like not a container repository factory3162 does not create a new container repository resource3163 disallow anyone to delete images3164 behaves like an inaccessible3165 is expected to include {"access" => []}3166 behaves like a valid token3167 is expected to include :token3168 is expected to include "access"3169 a expirable3170 for default configuration3171 is expected not to be within 2 of 2022-11-07 01:21:16.468047577 +00003172 for changed configuration3173 is expected to be within 2 of 2022-11-07 01:21:16.548169652 +00003174 behaves like not a container repository factory3175 does not create a new container repository resource3176 disallow anyone to delete images since registry 2.73177 behaves like an inaccessible3178 is expected to include {"access" => []}3179 behaves like a valid token3180 is expected to include :token3181 is expected to include "access"3182 a expirable3183 for default configuration3184 is expected not to be within 2 of 2022-11-07 01:21:16.911311990 +00003185 for changed configuration3186 is expected to be within 2 of 2022-11-07 01:21:16.985311406 +00003187 behaves like not a container repository factory3188 does not create a new container repository resource3189 for external user3190 disallow anyone to pull or push images3191 behaves like an inaccessible3192 is expected to include {"access" => []}3193 behaves like a valid token3194 is expected to include :token3195 is expected to include "access"3196 a expirable3197 for default configuration3198 is expected not to be within 2 of 2022-11-07 01:21:17.477391156 +00003199 for changed configuration3200 is expected to be within 2 of 2022-11-07 01:21:17.579498780 +00003201 behaves like not a container repository factory3202 does not create a new container repository resource3203 disallow anyone to delete images3204 behaves like an inaccessible3205 is expected to include {"access" => []}3206 behaves like a valid token3207 is expected to include :token3208 is expected to include "access"3209 a expirable3210 for default configuration3211 is expected not to be within 2 of 2022-11-07 01:21:18.119487317 +00003212 for changed configuration3213 is expected to be within 2 of 2022-11-07 01:21:18.249722510 +00003214 behaves like not a container repository factory3215 does not create a new container repository resource3216 disallow anyone to delete images since registry 2.73217 behaves like an inaccessible3218 is expected to include {"access" => []}3219 behaves like a valid token3220 is expected to include :token3221 is expected to include "access"3222 a expirable3223 for default configuration3224 is expected not to be within 2 of 2022-11-07 01:21:18.723240391 +00003225 for changed configuration3226 is expected to be within 2 of 2022-11-07 01:21:18.807150586 +00003227 behaves like not a container repository factory3228 does not create a new container repository resource3229 for internal project with private container registry3230 behaves like private project3231 allow to use scope-less authentication3232 behaves like a valid token3233 is expected to include :token3234 is expected to include "access"3235 a expirable3236 for default configuration3237 is expected not to be within 2 of 2022-11-07 01:21:19.318774676 +00003238 for changed configuration3239 is expected to be within 2 of 2022-11-07 01:21:19.362916563 +00003240 behaves like with auth_type3241 is expected to eq "foo"3242 allow developer to push images3243 behaves like a pushable3244 behaves like an accessible3245 has the correct scope3246 behaves like a valid token3247 is expected to include :token3248 is expected to include "access"3249 a expirable3250 for default configuration3251 is expected not to be within 2 of 2022-11-07 01:21:19.910366490 +00003252 for changed configuration3253 is expected to be within 2 of 2022-11-07 01:21:20.013646304 +00003254 behaves like container repository factory3255 creates a new container repository resource3256 behaves like with auth_type3257 is expected to eq "foo"3258 disallow developer to delete images3259 behaves like an inaccessible3260 is expected to include {"access" => []}3261 behaves like a valid token3262 is expected to include :token3263 is expected to include "access"3264 a expirable3265 for default configuration3266 is expected not to be within 2 of 2022-11-07 01:21:20.646140636 +00003267 for changed configuration3268 is expected to be within 2 of 2022-11-07 01:21:20.734691281 +00003269 behaves like not a container repository factory3270 does not create a new container repository resource3271 behaves like logs an auth warning3272 is expected to receive warn({:authorized_actions=>[], :message=>"Denied container registry permissions", :requested_actions=>["*"...project_path=>"namespace52/project57", :scope_type=>"repository", :user_id=>63, :username=>"user16"}) 1 time3273 disallow developer to delete images since registry 2.73274 behaves like an inaccessible3275 is expected to include {"access" => []}3276 behaves like a valid token3277 is expected to include :token3278 is expected to include "access"3279 a expirable3280 for default configuration3281 is expected not to be within 2 of 2022-11-07 01:21:21.309688336 +00003282 for changed configuration3283 is expected to be within 2 of 2022-11-07 01:21:21.396971401 +00003284 behaves like not a container repository factory3285 does not create a new container repository resource3286 allow reporter to pull images3287 when pulling from root level repository3288 behaves like a pullable3289 behaves like an accessible3290 has the correct scope3291 behaves like a valid token3292 is expected to include :token3293 is expected to include "access"3294 a expirable3295 for default configuration3296 is expected not to be within 2 of 2022-11-07 01:21:21.843863144 +00003297 for changed configuration3298 is expected to be within 2 of 2022-11-07 01:21:21.918764390 +00003299 behaves like not a container repository factory3300 does not create a new container repository resource3301 behaves like with auth_type3302 is expected to eq "foo"3303 disallow reporter to delete images3304 behaves like an inaccessible3305 is expected to include {"access" => []}3306 behaves like a valid token3307 is expected to include :token3308 is expected to include "access"3309 a expirable3310 for default configuration3311 is expected not to be within 2 of 2022-11-07 01:21:22.550988662 +00003312 for changed configuration3313 is expected to be within 2 of 2022-11-07 01:21:22.637833847 +00003314 behaves like not a container repository factory3315 does not create a new container repository resource3316 disallow reporter to delete images since registry 2.73317 behaves like an inaccessible3318 is expected to include {"access" => []}3319 behaves like a valid token3320 is expected to include :token3321 is expected to include "access"3322 a expirable3323 for default configuration3324 is expected not to be within 2 of 2022-11-07 01:21:23.172824855 +00003325 for changed configuration3326 is expected to be within 2 of 2022-11-07 01:21:23.263497199 +00003327 behaves like not a container repository factory3328 does not create a new container repository resource3329 return a least of privileges3330 behaves like a pullable3331 behaves like an accessible3332 has the correct scope3333 behaves like a valid token3334 is expected to include :token3335 is expected to include "access"3336 a expirable3337 for default configuration3338 is expected not to be within 2 of 2022-11-07 01:21:23.815990056 +00003339 for changed configuration3340 is expected to be within 2 of 2022-11-07 01:21:23.908798771 +00003341 behaves like not a container repository factory3342 does not create a new container repository resource3343 behaves like with auth_type3344 is expected to eq "foo"3345 disallow guest to pull or push images3346 behaves like an inaccessible3347 is expected to include {"access" => []}3348 behaves like a valid token3349 is expected to include :token3350 is expected to include "access"3351 a expirable3352 for default configuration3353 is expected not to be within 2 of 2022-11-07 01:21:24.534366583 +00003354 for changed configuration3355 is expected to be within 2 of 2022-11-07 01:21:24.627027408 +00003356 behaves like not a container repository factory3357 does not create a new container repository resource3358 disallow guest to delete images3359 behaves like an inaccessible3360 is expected to include {"access" => []}3361 behaves like a valid token3362 is expected to include :token3363 is expected to include "access"3364 a expirable3365 for default configuration3366 is expected not to be within 2 of 2022-11-07 01:21:25.143551396 +00003367 for changed configuration3368 is expected to be within 2 of 2022-11-07 01:21:25.211052512 +00003369 behaves like not a container repository factory3370 does not create a new container repository resource3371 disallow guest to delete images since registry 2.73372 behaves like an inaccessible3373 is expected to include {"access" => []}3374 behaves like a valid token3375 is expected to include :token3376 is expected to include "access"3377 a expirable3378 for default configuration3379 is expected not to be within 2 of 2022-11-07 01:21:25.623077668 +00003380 for changed configuration3381 is expected to be within 2 of 2022-11-07 01:21:25.690174454 +00003382 behaves like not a container repository factory3383 does not create a new container repository resource3384 delete authorized as maintainer3385 behaves like allowed to delete container repository images3386 behaves like a valid token3387 is expected to include :token3388 is expected to include "access"3389 a expirable3390 for default configuration3391 is expected not to be within 2 of 2022-11-07 01:21:26.348728564 +00003392 for changed configuration3393 is expected to be within 2 of 2022-11-07 01:21:26.390276312 +00003394 allow to delete images3395 behaves like a deletable3396 behaves like an accessible3397 has the correct scope3398 behaves like a valid token3399 is expected to include :token3400 is expected to include "access"3401 a expirable3402 for default configuration3403 is expected not to be within 2 of 2022-11-07 01:21:26.694500574 +00003404 for changed configuration3405 is expected to be within 2 of 2022-11-07 01:21:26.769683989 +00003406 allow to delete images since registry 2.73407 behaves like a deletable since registry 2.73408 behaves like an accessible3409 has the correct scope3410 behaves like a valid token3411 is expected to include :token3412 is expected to include "access"3413 a expirable3414 for default configuration3415 is expected not to be within 2 of 2022-11-07 01:21:27.082403010 +00003416 for changed configuration3417 is expected to be within 2 of 2022-11-07 01:21:27.150457146 +00003418 build authorized as user3419 allow to use offline_token3420 behaves like an authenticated3421 is expected to include :token3422 is expected to include "access"3423 behaves like a valid token3424 is expected to include :token3425 is expected to include "access"3426 a expirable3427 for default configuration3428 is expected not to be within 2 of 2022-11-07 01:21:27.685407034 +00003429 for changed configuration3430 is expected to be within 2 of 2022-11-07 01:21:27.723912172 +00003431 behaves like with auth_type3432 is expected to eq "foo"3433 allow to pull and push images3434 behaves like a pullable and pushable3435 behaves like an accessible3436 has the correct scope3437 behaves like a valid token3438 is expected to include :token3439 is expected to include "access"3440 a expirable3441 for default configuration3442 is expected not to be within 2 of 2022-11-07 01:21:28.054942392 +00003443 for changed configuration3444 is expected to be within 2 of 2022-11-07 01:21:28.130039077 +00003445 behaves like container repository factory3446 creates a new container repository resource3447 allow to delete images since registry 2.73448 behaves like a deletable since registry 2.73449 behaves like an accessible3450 has the correct scope3451 behaves like a valid token3452 is expected to include :token3453 is expected to include "access"3454 a expirable3455 for default configuration3456 is expected not to be within 2 of 2022-11-07 01:21:28.429567130 +00003457 for changed configuration3458 is expected to be within 2 of 2022-11-07 01:21:28.490395556 +00003459 disallow to delete images3460 behaves like an inaccessible3461 is expected to include {"access" => []}3462 behaves like a valid token3463 is expected to include :token3464 is expected to include "access"3465 a expirable3466 for default configuration3467 is expected not to be within 2 of 2022-11-07 01:21:28.722962192 +00003468 for changed configuration3469 is expected to be within 2 of 2022-11-07 01:21:28.826402885 +00003470 for other projects3471 when pulling3472 allow for public3473 behaves like a pullable3474 behaves like an accessible3475 has the correct scope3476 behaves like a valid token3477 is expected to include :token3478 is expected to include "access"3479 a expirable3480 for default configuration3481 is expected not to be within 2 of 2022-11-07 01:21:29.317596246 +00003482 for changed configuration3483 is expected to be within 2 of 2022-11-07 01:21:29.374485203 +00003484 behaves like not a container repository factory3485 does not create a new container repository resource3486 for private3487 behaves like pullable for being team member3488 when you are not member3489 behaves like an inaccessible3490 is expected to include {"access" => []}3491 behaves like a valid token3492 is expected to include :token3493 is expected to include "access"3494 a expirable3495 for default configuration3496 is expected not to be within 2 of 2022-11-07 01:21:29.932780199 +00003497 for changed configuration3498 is expected to be within 2 of 2022-11-07 01:21:29.999540705 +00003499 behaves like not a container repository factory3500 does not create a new container repository resource3501 when you are member3502 behaves like a pullable3503 behaves like an accessible3504 has the correct scope3505 behaves like a valid token3506 is expected to include :token3507 is expected to include "access"3508 a expirable3509 for default configuration3510 is expected not to be within 2 of 2022-11-07 01:21:30.417729140 +00003511 for changed configuration3512 is expected to be within 2 of 2022-11-07 01:21:30.494028706 +00003513 behaves like not a container repository factory3514 does not create a new container repository resource3515 when you are owner3516 behaves like a pullable3517 behaves like an accessible3518 has the correct scope3519 behaves like a valid token3520 is expected to include :token3521 is expected to include "access"3522 a expirable3523 for default configuration3524 is expected not to be within 2 of 2022-11-07 01:21:31.072967061 +00003525 for changed configuration3526 is expected to be within 2 of 2022-11-07 01:21:31.144174427 +00003527 behaves like not a container repository factory3528 does not create a new container repository resource3529 when you are admin3530 when you are not member3531 behaves like an inaccessible3532 is expected to include {"access" => []}3533 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 2022-11-07 01:21:31.540377703 +00003539 for changed configuration3540 is expected to be within 2 of 2022-11-07 01:21:31.605710889 +00003541 behaves like not a container repository factory3542 does not create a new container repository resource3543 when you are member3544 behaves like a pullable3545 behaves like an accessible3546 has the correct scope3547 behaves like a valid token3548 is expected to include :token3549 is expected to include "access"3550 a expirable3551 for default configuration3552 is expected not to be within 2 of 2022-11-07 01:21:32.034432963 +00003553 for changed configuration3554 is expected to be within 2 of 2022-11-07 01:21:32.106713649 +00003555 behaves like not a container repository factory3556 does not create a new container repository resource3557 when you are owner3558 behaves like a pullable3559 behaves like an accessible3560 has the correct scope3561 behaves like a valid token3562 is expected to include :token3563 is expected to include "access"3564 a expirable3565 for default configuration3566 is expected not to be within 2 of 2022-11-07 01:21:32.635445427 +00003567 for changed configuration3568 is expected to be within 2 of 2022-11-07 01:21:32.710781033 +00003569 behaves like not a container repository factory3570 does not create a new container repository resource3571 for public project with private container registry3572 behaves like pullable for being team member3573 when you are not member3574 behaves like an inaccessible3575 is expected to include {"access" => []}3576 behaves like a valid token3577 is expected to include :token3578 is expected to include "access"3579 a expirable3580 for default configuration3581 is expected not to be within 2 of 2022-11-07 01:21:33.373695033 +00003582 for changed configuration3583 is expected to be within 2 of 2022-11-07 01:21:33.442902629 +00003584 behaves like not a container repository factory3585 does not create a new container repository resource3586 when you are member3587 behaves like a pullable3588 behaves like an accessible3589 has the correct scope3590 behaves like a valid token3591 is expected to include :token3592 is expected to include "access"3593 a expirable3594 for default configuration3595 is expected not to be within 2 of 2022-11-07 01:21:33.894239552 +00003596 for changed configuration3597 is expected to be within 2 of 2022-11-07 01:21:33.976101897 +00003598 behaves like not a container repository factory3599 does not create a new container repository resource3600 when you are owner3601 behaves like a pullable3602 behaves like an accessible3603 has the correct scope3604 behaves like a valid token3605 is expected to include :token3606 is expected to include "access"3607 a expirable3608 for default configuration3609 is expected not to be within 2 of 2022-11-07 01:21:34.494711636 +00003610 for changed configuration3611 is expected to be within 2 of 2022-11-07 01:21:34.566171802 +00003612 behaves like not a container repository factory3613 does not create a new container repository resource3614 when you are admin3615 behaves like pullable for being team member3616 when you are not member3617 behaves like an inaccessible3618 is expected to include {"access" => []}3619 behaves like a valid token3620 is expected to include :token3621 is expected to include "access"3622 a expirable3623 for default configuration3624 is expected not to be within 2 of 2022-11-07 01:21:35.019985804 +00003625 for changed configuration3626 is expected to be within 2 of 2022-11-07 01:21:35.095250490 +00003627 behaves like not a container repository factory3628 does not create a new container repository resource3629 when you are member3630 behaves like a pullable3631 behaves like an accessible3632 has the correct scope3633 behaves like a valid token3634 is expected to include :token3635 is expected to include "access"3636 a expirable3637 for default configuration3638 is expected not to be within 2 of 2022-11-07 01:21:35.599884040 +00003639 for changed configuration3640 is expected to be within 2 of 2022-11-07 01:21:35.681803375 +00003641 behaves like not a container repository factory3642 does not create a new container repository resource3643 when you are owner3644 behaves like a pullable3645 behaves like an accessible3646 has the correct scope3647 behaves like a valid token3648 is expected to include :token3649 is expected to include "access"3650 a expirable3651 for default configuration3652 is expected not to be within 2 of 2022-11-07 01:21:36.223397622 +00003653 for changed configuration3654 is expected to be within 2 of 2022-11-07 01:21:36.295131718 +00003655 behaves like not a container repository factory3656 does not create a new container repository resource3657 when pushing3658 disallow for all3659 when you are member3660 behaves like an inaccessible3661 is expected to include {"access" => []}3662 behaves like a valid token3663 is expected to include :token3664 is expected to include "access"3665 a expirable3666 for default configuration3667 is expected not to be within 2 of 2022-11-07 01:21:36.948054389 +00003668 for changed configuration3669 is expected to be within 2 of 2022-11-07 01:21:37.018868545 +00003670 behaves like not a container repository factory3671 does not create a new container repository resource3672 when you are owner3673 behaves like an inaccessible3674 is expected to include {"access" => []}3675 behaves like a valid token3676 is expected to include :token3677 is expected to include "access"3678 a expirable3679 for default configuration3680 is expected not to be within 2 of 2022-11-07 01:21:37.560334222 +00003681 for changed configuration3682 is expected to be within 2 of 2022-11-07 01:21:37.624270608 +00003683 behaves like not a container repository factory3684 does not create a new container repository resource3685 for project without container registry3686 disallow when pulling3687 behaves like an inaccessible3688 is expected to include {"access" => []}3689 behaves like a valid token3690 is expected to include :token3691 is expected to include "access"3692 a expirable3693 for default configuration3694 is expected not to be within 2 of 2022-11-07 01:21:38.183286395 +00003695 for changed configuration3696 is expected to be within 2 of 2022-11-07 01:21:38.237974481 +00003697 behaves like not a container repository factory3698 does not create a new container repository resource3699 for project that disables repository3700 disallow when pulling3701 behaves like an inaccessible3702 is expected to include {"access" => []}3703 behaves like a valid token3704 is expected to include :token3705 is expected to include "access"3706 a expirable3707 for default configuration3708 is expected not to be within 2 of 2022-11-07 01:21:38.768020570 +00003709 for changed configuration3710 is expected to be within 2 of 2022-11-07 01:21:38.820411167 +00003711 behaves like not a container repository factory3712 does not create a new container repository resource3713 registry catalog browsing authorized as admin3714 behaves like a browsable3715 has the correct scope3716 behaves like a valid token3717 is expected to include :token3718 is expected to include "access"3719 a expirable3720 for default configuration3721 is expected not to be within 2 of 2022-11-07 01:21:39.330098606 +00003722 for changed configuration3723 is expected to be within 2 of 2022-11-07 01:21:39.368345644 +00003724 behaves like not a container repository factory3725 does not create a new container repository resource3726 support for multiple scopes3727 user has access to all projects3728 behaves like a browsable3729 has the correct scope3730 behaves like a valid token3731 is expected to include :token3732 is expected to include "access"3733 a expirable3734 for default configuration3735 is expected not to be within 2 of 2022-11-07 01:21:40.984640837 +00003736 for changed configuration3737 is expected to be within 2 of 2022-11-07 01:21:41.109835199 +00003738 behaves like not a container repository factory3739 does not create a new container repository resource3740 user only has access to internal and public projects3741 behaves like a browsable3742 has the correct scope3743 behaves like a valid token3744 is expected to include :token3745 is expected to include "access"3746 a expirable3747 for default configuration3748 is expected not to be within 2 of 2022-11-07 01:21:41.918163981 +00003749 for changed configuration3750 is expected to be within 2 of 2022-11-07 01:21:42.124098138 +00003751 behaves like not a container repository factory3752 does not create a new container repository resource3753 anonymous user has access only to public project3754 behaves like a browsable3755 has the correct scope3756 behaves like a valid token3757 is expected to include :token3758 is expected to include "access"3759 a expirable3760 for default configuration3761 is expected not to be within 2 of 2022-11-07 01:21:42.663226436 +00003762 for changed configuration3763 is expected to be within 2 of 2022-11-07 01:21:42.765973640 +00003764 behaves like not a container repository factory3765 does not create a new container repository resource3766 with no public container registry3767 behaves like a forbidden3768 is expected to include {:http_status => 403}3769 is expected not to include :token3770 unauthorized3771 disallow to use scope-less authentication3772 behaves like a forbidden3773 is expected to include {:http_status => 403}3774 is expected not to include :token3775 behaves like not a container repository factory3776 does not create a new container repository resource3777 for invalid scope3778 behaves like a forbidden3779 is expected to include {:http_status => 403}3780 is expected not to include :token3781 behaves like not a container repository factory3782 does not create a new container repository resource3783 for private project3784 behaves like a forbidden3785 is expected to include {:http_status => 403}3786 is expected not to include :token3787 for public project with container registry `enabled`3788 when pulling and pushing3789 behaves like a pullable3790 behaves like an accessible3791 has the correct scope3792 behaves like a valid token3793 is expected to include :token3794 is expected to include "access"3795 a expirable3796 for default configuration3797 is expected not to be within 2 of 2022-11-07 01:21:44.404410982 +00003798 for changed configuration3799 is expected to be within 2 of 2022-11-07 01:21:44.501784786 +00003800 behaves like not a container repository factory3801 does not create a new container repository resource3802 when pushing3803 behaves like a forbidden3804 is expected to include {:http_status => 403}3805 is expected not to include :token3806 behaves like not a container repository factory3807 does not create a new container repository resource3808 for public project with container registry `private`3809 when pulling and pushing3810 behaves like a forbidden3811 is expected to include {:http_status => 403}3812 is expected not to include :token3813 behaves like not a container repository factory3814 does not create a new container repository resource3815 for registry catalog3816 behaves like a forbidden3817 is expected to include {:http_status => 403}3818 is expected not to include :token3819 behaves like not a container repository factory3820 does not create a new container repository resource3821 for deploy tokens3822 when deploy token has read and write registry as scopes3823 for public project3824 when pulling3825 behaves like a pullable3826 behaves like an accessible3827 has the correct scope3828 behaves like a valid token3829 is expected to include :token3830 is expected to include "access"3831 a expirable3832 for default configuration3833 is expected not to be within 2 of 2022-11-07 01:21:46.063994012 +00003834 for changed configuration3835 is expected to be within 2 of 2022-11-07 01:21:46.178054966 +00003836 when pushing3837 behaves like a pushable3838 behaves like an accessible3839 has the correct scope3840 behaves like a valid token3841 is expected to include :token3842 is expected to include "access"3843 a expirable3844 for default configuration3845 is expected not to be within 2 of 2022-11-07 01:21:46.734258002 +00003846 for changed configuration3847 is expected to be within 2 of 2022-11-07 01:21:46.868892964 +00003848 behaves like able to login3849 registry provides read_container_image authentication_abilities3850 is expected to eq "deploy_token"3851 behaves like an authenticated3852 is expected to include :token3853 is expected to include "access"3854 for internal project3855 when pulling3856 behaves like a pullable3857 behaves like an accessible3858 has the correct scope3859 behaves like a valid token3860 is expected to include :token3861 is expected to include "access"3862 a expirable3863 for default configuration3864 is expected not to be within 2 of 2022-11-07 01:21:47.758113631 +00003865 for changed configuration3866 is expected to be within 2 of 2022-11-07 01:21:47.865853014 +00003867 when pushing3868 behaves like a pushable3869 behaves like an accessible3870 has the correct scope3871 behaves like a valid token3872 is expected to include :token3873 is expected to include "access"3874 a expirable3875 for default configuration3876 is expected not to be within 2 of 2022-11-07 01:21:48.439288840 +00003877 for changed configuration3878 is expected to be within 2 of 2022-11-07 01:21:48.573710132 +00003879 behaves like able to login3880 registry provides read_container_image authentication_abilities3881 is expected to eq "deploy_token"3882 behaves like an authenticated3883 is expected to include :token3884 is expected to include "access"3885 for private project3886 when pulling3887 behaves like a pullable3888 behaves like an accessible3889 has the correct scope3890 behaves like a valid token3891 is expected to include :token3892 is expected to include "access"3893 a expirable3894 for default configuration3895 is expected not to be within 2 of 2022-11-07 01:21:49.483836957 +00003896 for changed configuration3897 is expected to be within 2 of 2022-11-07 01:21:49.589132221 +00003898 when pushing3899 behaves like a pushable3900 behaves like an accessible3901 has the correct scope3902 behaves like a valid token3903 is expected to include :token3904 is expected to include "access"3905 a expirable3906 for default configuration3907 is expected not to be within 2 of 2022-11-07 01:21:50.064849303 +00003908 for changed configuration3909 is expected to be within 2 of 2022-11-07 01:21:50.188086295 +00003910 behaves like able to login3911 registry provides read_container_image authentication_abilities3912 is expected to eq "deploy_token"3913 behaves like an authenticated3914 is expected to include :token3915 is expected to include "access"3916 for public project with private container registry3917 when pulling3918 behaves like a pullable3919 behaves like an accessible3920 has the correct scope3921 behaves like a valid token3922 is expected to include :token3923 is expected to include "access"3924 a expirable3925 for default configuration3926 is expected not to be within 2 of 2022-11-07 01:21:51.209033814 +00003927 for changed configuration3928 is expected to be within 2 of 2022-11-07 01:21:51.342408716 +00003929 when pushing3930 behaves like a pushable3931 behaves like an accessible3932 has the correct scope3933 behaves like a valid token3934 is expected to include :token3935 is expected to include "access"3936 a expirable3937 for default configuration3938 is expected not to be within 2 of 2022-11-07 01:21:51.958222869 +00003939 for changed configuration3940 is expected to be within 2 of 2022-11-07 01:21:52.118060030 +00003941 behaves like able to login3942 registry provides read_container_image authentication_abilities3943 is expected to eq "deploy_token"3944 behaves like an authenticated3945 is expected to include :token3946 is expected to include "access"3947 when deploy token does not have read_registry scope3948 for public project with container registry `enabled`3949 when pulling3950 behaves like a pullable3951 behaves like an accessible3952 has the correct scope3953 behaves like a valid token3954 is expected to include :token3955 is expected to include "access"3956 a expirable3957 for default configuration3958 is expected not to be within 2 of 2022-11-07 01:21:53.159854267 +00003959 for changed configuration3960 is expected to be within 2 of 2022-11-07 01:21:53.275223550 +00003961 behaves like unable to login3962 registry provides no container authentication_abilities3963 behaves like a forbidden3964 is expected to include {:http_status => 403}3965 is expected not to include :token3966 registry provides inapplicable container authentication_abilities3967 behaves like a forbidden3968 is expected to include {:http_status => 403}3969 is expected not to include :token3970 for public project with container registry `private`3971 when pulling3972 behaves like an inaccessible3973 is expected to include {"access" => []}3974 behaves like a valid token3975 is expected to include :token3976 is expected to include "access"3977 a expirable3978 for default configuration3979 is expected not to be within 2 of 2022-11-07 01:21:54.306814778 +00003980 for changed configuration3981 is expected to be within 2 of 2022-11-07 01:21:54.457935059 +00003982 behaves like unable to login3983 registry provides no container authentication_abilities3984 behaves like a forbidden3985 is expected to include {:http_status => 403}3986 is expected not to include :token3987 registry provides inapplicable container authentication_abilities3988 behaves like a forbidden3989 is expected to include {:http_status => 403}3990 is expected not to include :token3991 for internal project3992 when pulling3993 behaves like an inaccessible3994 is expected to include {"access" => []}3995 behaves like a valid token3996 is expected to include :token3997 is expected to include "access"3998 a expirable3999 for default configuration4000 is expected not to be within 2 of 2022-11-07 01:21:55.415709712 +00004001 for changed configuration4002 is expected to be within 2 of 2022-11-07 01:21:55.515112026 +00004003 behaves like unable to login4004 registry provides no container authentication_abilities4005 behaves like a forbidden4006 is expected to include {:http_status => 403}4007 is expected not to include :token4008 registry provides inapplicable container authentication_abilities4009 behaves like a forbidden4010 is expected to include {:http_status => 403}4011 is expected not to include :token4012 for private project4013 when pulling4014 behaves like an inaccessible4015 is expected to include {"access" => []}4016 behaves like a valid token4017 is expected to include :token4018 is expected to include "access"4019 a expirable4020 for default configuration4021 is expected not to be within 2 of 2022-11-07 01:21:56.499247867 +00004022 for changed configuration4023 is expected to be within 2 of 2022-11-07 01:21:56.583720272 +00004024 when logging in4025 behaves like a forbidden4026 is expected to include {:http_status => 403}4027 is expected not to include :token4028 behaves like unable to login4029 registry provides no container authentication_abilities4030 behaves like a forbidden4031 is expected to include {:http_status => 403}4032 is expected not to include :token4033 registry provides inapplicable container authentication_abilities4034 behaves like a forbidden4035 is expected to include {:http_status => 403}4036 is expected not to include :token4037 when deploy token is not related to the project4038 for public project with container registry `enabled`4039 when pulling4040 behaves like a pullable4041 behaves like an accessible4042 has the correct scope4043 behaves like a valid token4044 is expected to include :token4045 is expected to include "access"4046 a expirable4047 for default configuration4048 is expected not to be within 2 of 2022-11-07 01:21:57.451544310 +00004049 for changed configuration4050 is expected to be within 2 of 2022-11-07 01:21:57.523497725 +00004051 for public project with container registry `private`4052 when pulling4053 behaves like an inaccessible4054 is expected to include {"access" => []}4055 behaves like a valid token4056 is expected to include :token4057 is expected to include "access"4058 a expirable4059 for default configuration4060 is expected not to be within 2 of 2022-11-07 01:21:58.022226296 +00004061 for changed configuration4062 is expected to be within 2 of 2022-11-07 01:21:58.086289311 +00004063 for internal project4064 when pulling4065 behaves like an inaccessible4066 is expected to include {"access" => []}4067 behaves like a valid token4068 is expected to include :token4069 is expected to include "access"4070 a expirable4071 for default configuration4072 is expected not to be within 2 of 2022-11-07 01:21:58.613172330 +00004073 for changed configuration4074 is expected to be within 2 of 2022-11-07 01:21:58.678109546 +00004075 for private project4076 when pulling4077 behaves like an inaccessible4078 is expected to include {"access" => []}4079 behaves like a valid token4080 is expected to include :token4081 is expected to include "access"4082 a expirable4083 for default configuration4084 is expected not to be within 2 of 2022-11-07 01:21:59.122684850 +00004085 for changed configuration4086 is expected to be within 2 of 2022-11-07 01:21:59.180315936 +00004087 when deploy token has been revoked4088 for public project with container registry `enabled`4089 behaves like a pullable4090 behaves like an accessible4091 has the correct scope4092 behaves like a valid token4093 is expected to include :token4094 is expected to include "access"4095 a expirable4096 for default configuration4097 is expected not to be within 2 of 2022-11-07 01:21:59.837946037 +00004098 for changed configuration4099 is expected to be within 2 of 2022-11-07 01:21:59.929473531 +00004100 for public project with container registry `private`4101 behaves like an inaccessible4102 is expected to include {"access" => []}4103 behaves like a valid token4104 is expected to include :token4105 is expected to include "access"4106 a expirable4107 for default configuration4108 is expected not to be within 2 of 2022-11-07 01:22:00.563322993 +00004109 for changed configuration4110 is expected to be within 2 of 2022-11-07 01:22:00.650061688 +00004111 for internal project4112 behaves like an inaccessible4113 is expected to include {"access" => []}4114 behaves like a valid token4115 is expected to include :token4116 is expected to include "access"4117 a expirable4118 for default configuration4119 is expected not to be within 2 of 2022-11-07 01:22:01.195003395 +00004120 for changed configuration4121 is expected to be within 2 of 2022-11-07 01:22:01.277745091 +00004122 for private project4123 behaves like an inaccessible4124 is expected to include {"access" => []}4125 behaves like a valid token4126 is expected to include :token4127 is expected to include "access"4128 a expirable4129 for default configuration4130 is expected not to be within 2 of 2022-11-07 01:22:01.862873135 +00004131 for changed configuration4132 is expected to be within 2 of 2022-11-07 01:22:01.959022290 +00004133 user authorization4134 with multiple scopes4135 allow developer to push images4136 behaves like a pushable4137 behaves like an accessible4138 has the correct scope4139 behaves like a valid token4140 is expected to include :token4141 is expected to include "access"4142 a expirable4143 for default configuration4144 is expected not to be within 2 of 2022-11-07 01:22:02.756738981 +00004145 for changed configuration4146 is expected to be within 2 of 2022-11-07 01:22:02.841239397 +00004147 behaves like container repository factory4148 creates a new container repository resource4149 when importing4150 push request4151 behaves like a forbidden4152 is expected to include {:http_status => 403}4153 is expected not to include :token4154 behaves like containing the import error4155 includes a helpful error message4156 delete request4157 behaves like a forbidden4158 is expected to include {:http_status => 403}4159 is expected not to include :token4160 behaves like containing the import error4161 includes a helpful error message4162 * request4163 behaves like a forbidden4164 is expected to include {:http_status => 403}4165 is expected not to include :token4166 behaves like containing the import error4167 includes a helpful error message4168 pull request4169 behaves like a pullable4170 behaves like an accessible4171 has the correct scope4172 behaves like a valid token4173 is expected to include :token4174 is expected to include "access"4175 a expirable4176 for default configuration4177 is expected not to be within 2 of 2022-11-07 01:22:05.511656646 +00004178 for changed configuration4179 is expected to be within 2 of 2022-11-07 01:22:05.700586295 +00004180 mixed request4181 behaves like a forbidden4182 is expected to include {:http_status => 403}4183 is expected not to include :token4184 behaves like containing the import error4185 includes a helpful error message4186 when over storage limit4187 when there is a project4188 does not allow developer to push images4189 when only pushing an image4190 behaves like not a container repository factory4191 does not create a new container repository resource4192 behaves like storage error4193 returns an appropriate response4194 when performing multiple actions including push4195 behaves like not a container repository factory4196 does not create a new container repository resource4197 behaves like storage error4198 returns an appropriate response4199 allows developers to pull images4200 behaves like a pullable4201 behaves like an accessible4202 has the correct scope4203 behaves like a valid token4204 is expected to include :token4205 is expected to include "access"4206 a expirable4207 for default configuration4208 is expected not to be within 2 of 2022-11-07 01:22:08.222833964 +00004209 for changed configuration4210 is expected to be within 2 of 2022-11-07 01:22:08.424478292 +00004211 allows maintainers to delete images4212 behaves like allowed to delete container repository images4213 behaves like a valid token4214 is expected to include :token4215 is expected to include "access"4216 a expirable4217 for default configuration4218 is expected not to be within 2 of 2022-11-07 01:22:09.263790271 +00004219 for changed configuration4220 is expected to be within 2 of 2022-11-07 01:22:09.535442094 +00004221 allow to delete images4222 behaves like a deletable4223 behaves like an accessible4224 has the correct scope4225 behaves like a valid token4226 is expected to include :token4227 is expected to include "access"4228 a expirable4229 for default configuration4230 is expected not to be within 2 of 2022-11-07 01:22:10.798393088 +00004231 for changed configuration4232 is expected to be within 2 of 2022-11-07 01:22:11.107457379 +00004233 allow to delete images since registry 2.74234 behaves like a deletable since registry 2.74235 behaves like an accessible4236 has the correct scope4237 behaves like a valid token4238 is expected to include :token4239 is expected to include "access"4240 a expirable4241 for default configuration4242 is expected not to be within 2 of 2022-11-07 01:22:12.389229181 +00004243 for changed configuration4244 is expected to be within 2 of 2022-11-07 01:22:12.743192479 +00004245 when there is no project4246 does not return a storage error4247Namespace4248 is expected to have one namespace_limit4249 is expected to have one elasticsearch_indexed_namespace4250 is expected to have one security_orchestration_policy_configuration class_name => Security::OrchestrationPolicyConfiguration4251 is expected to have one upcoming_reconciliation4252 is expected to have many ci_minutes_additional_packs4253 is expected to delegate #trial? to the #gitlab_subscription object4254 is expected to delegate #trial_ends_on to the #gitlab_subscription object4255 is expected to delegate #trial_starts_on to the #gitlab_subscription object4256 is expected to delegate #trial_days_remaining to the #gitlab_subscription object4257 is expected to delegate #trial_percentage_complete to the #gitlab_subscription object4258 is expected to delegate #upgradable? to the #gitlab_subscription object4259 is expected to delegate #trial_extended_or_reactivated? to the #gitlab_subscription object4260 is expected to delegate #owner_email to the #owner object as #email, allowing #owner to return nil4261 is expected to delegate #additional_purchased_storage_size to the #namespace_limit object4262 is expected to delegate #additional_purchased_storage_size= to the #namespace_limit object passing arguments [:args]4263 is expected to delegate #additional_purchased_storage_ends_on to the #namespace_limit object4264 is expected to delegate #additional_purchased_storage_ends_on= to the #namespace_limit object passing arguments [:args]4265 is expected to delegate #temporary_storage_increase_ends_on to the #namespace_limit object4266 is expected to delegate #temporary_storage_increase_ends_on= to the #namespace_limit object passing arguments [:args]4267 is expected to delegate #temporary_storage_increase_enabled? to the #namespace_limit object4268 is expected to delegate #eligible_for_temporary_storage_increase? to the #namespace_limit object4269 default_plan?4270 behaves like plan helper4271 for a default plan4272 is expected to eq true4273 for a plan that isn't default4274 plan_name: "free"4275 is expected to eq false4276 plan_name: "bronze"4277 is expected to eq false4278 plan_name: "silver"4279 is expected to eq false4280 plan_name: "premium"4281 is expected to eq false4282 plan_name: "gold"4283 is expected to eq false4284 plan_name: "ultimate"4285 is expected to eq false4286 plan_name: "ultimate_trial"4287 is expected to eq false4288 plan_name: "premium_trial"4289 is expected to eq false4290 plan_name: "opensource"4291 is expected to eq false4292 free_plan?4293 behaves like plan helper4294 for a free plan4295 is expected to eq true4296 for a plan that isn't free4297 plan_name: "default"4298 is expected to eq false4299 plan_name: "bronze"4300 is expected to eq false4301 plan_name: "silver"4302 is expected to eq false4303 plan_name: "premium"4304 is expected to eq false4305 plan_name: "gold"4306 is expected to eq false4307 plan_name: "ultimate"4308 is expected to eq false4309 plan_name: "ultimate_trial"4310 is expected to eq false4311 plan_name: "premium_trial"4312 is expected to eq false4313 plan_name: "opensource"4314 is expected to eq false4315 bronze_plan?4316 behaves like plan helper4317 for a bronze plan4318 is expected to eq true4319 for a plan that isn't bronze4320 plan_name: "default"4321 is expected to eq false4322 plan_name: "free"4323 is expected to eq false4324 plan_name: "silver"4325 is expected to eq false4326 plan_name: "premium"4327 is expected to eq false4328 plan_name: "gold"4329 is expected to eq false4330 plan_name: "ultimate"4331 is expected to eq false4332 plan_name: "ultimate_trial"4333 is expected to eq false4334 plan_name: "premium_trial"4335 is expected to eq false4336 plan_name: "opensource"4337 is expected to eq false4338 silver_plan?4339 behaves like plan helper4340 for a silver plan4341 is expected to eq true4342 for a plan that isn't silver4343 plan_name: "default"4344 is expected to eq false4345 plan_name: "free"4346 is expected to eq false4347 plan_name: "bronze"4348 is expected to eq false4349 plan_name: "premium"4350 is expected to eq false4351 plan_name: "gold"4352 is expected to eq false4353 plan_name: "ultimate"4354 is expected to eq false4355 plan_name: "ultimate_trial"4356 is expected to eq false4357 plan_name: "premium_trial"4358 is expected to eq false4359 plan_name: "opensource"4360 is expected to eq false4361 premium_plan?4362 behaves like plan helper4363 for a premium plan4364 is expected to eq true4365 for a plan that isn't premium4366 plan_name: "default"4367 is expected to eq false4368 plan_name: "free"4369 is expected to eq false4370 plan_name: "bronze"4371 is expected to eq false4372 plan_name: "silver"4373 is expected to eq false4374 plan_name: "gold"4375 is expected to eq false4376 plan_name: "ultimate"4377 is expected to eq false4378 plan_name: "ultimate_trial"4379 is expected to eq false4380 plan_name: "premium_trial"4381 is expected to eq false4382 plan_name: "opensource"4383 is expected to eq false4384 gold_plan?4385 behaves like plan helper4386 for a gold plan4387 is expected to eq true4388 for a plan that isn't gold4389 plan_name: "default"4390 is expected to eq false4391 plan_name: "free"4392 is expected to eq false4393 plan_name: "bronze"4394 is expected to eq false4395 plan_name: "silver"4396 is expected to eq false4397 plan_name: "premium"4398 is expected to eq false4399 plan_name: "ultimate"4400 is expected to eq false4401 plan_name: "ultimate_trial"4402 is expected to eq false4403 plan_name: "premium_trial"4404 is expected to eq false4405 plan_name: "opensource"4406 is expected to eq false4407 ultimate_plan?4408 behaves like plan helper4409 for a ultimate plan4410 is expected to eq true4411 for a plan that isn't ultimate4412 plan_name: "default"4413 is expected to eq false4414 plan_name: "free"4415 is expected to eq false4416 plan_name: "bronze"4417 is expected to eq false4418 plan_name: "silver"4419 is expected to eq false4420 plan_name: "premium"4421 is expected to eq false4422 plan_name: "gold"4423 is expected to eq false4424 plan_name: "ultimate_trial"4425 is expected to eq false4426 plan_name: "premium_trial"4427 is expected to eq false4428 plan_name: "opensource"4429 is expected to eq false4430 ultimate_trial_plan?4431 behaves like plan helper4432 for a ultimate_trial plan4433 is expected to eq true4434 for a plan that isn't ultimate_trial4435 plan_name: "default"4436 is expected to eq false4437 plan_name: "free"4438 is expected to eq false4439 plan_name: "bronze"4440 is expected to eq false4441 plan_name: "silver"4442 is expected to eq false4443 plan_name: "premium"4444 is expected to eq false4445 plan_name: "gold"4446 is expected to eq false4447 plan_name: "ultimate"4448 is expected to eq false4449 plan_name: "premium_trial"4450 is expected to eq false4451 plan_name: "opensource"4452 is expected to eq false4453 premium_trial_plan?4454 behaves like plan helper4455 for a premium_trial plan4456 is expected to eq true4457 for a plan that isn't premium_trial4458 plan_name: "default"4459 is expected to eq false4460 plan_name: "free"4461 is expected to eq false4462 plan_name: "bronze"4463 is expected to eq false4464 plan_name: "silver"4465 is expected to eq false4466 plan_name: "premium"4467 is expected to eq false4468 plan_name: "gold"4469 is expected to eq false4470 plan_name: "ultimate"4471 is expected to eq false4472 plan_name: "ultimate_trial"4473 is expected to eq false4474 plan_name: "opensource"4475 is expected to eq false4476 opensource_plan?4477 behaves like plan helper4478 for a opensource plan4479 is expected to eq true4480 for a plan that isn't opensource4481 plan_name: "default"4482 is expected to eq false4483 plan_name: "free"4484 is expected to eq false4485 plan_name: "bronze"4486 is expected to eq false4487 plan_name: "silver"4488 is expected to eq false4489 plan_name: "premium"4490 is expected to eq false4491 plan_name: "gold"4492 is expected to eq false4493 plan_name: "ultimate"4494 is expected to eq false4495 plan_name: "ultimate_trial"4496 is expected to eq false4497 plan_name: "premium_trial"4498 is expected to eq false4499 #free_personal?4500 user: true, paid: false, expected: true4501 returns expected boolean value4502 user: false, paid: false, expected: false4503 returns expected boolean value4504 user: false, paid: true, expected: false4505 returns expected boolean value4506 #use_elasticsearch?4507 returns false if elasticsearch indexing is disabled4508 returns true if elasticsearch indexing enabled but limited indexing disabled4509 returns true if it is enabled specifically4510 #invalidate_elasticsearch_indexes_cache!4511 clears the cache for the namespace4512 #actual_plan_name4513 when DB is read-only4514 returns free plan4515 does not create a gitlab_subscription4516 when namespace is not persisted4517 returns free plan4518 does not create a gitlab_subscription4519 when DB is not read-only4520 returns free plan4521 creates a gitlab_subscription4522 scopes4523 .with_feature_available_in_plan4524 Bronze plan has Starter features4525 returns namespaces with plan4526 includes namespace from higher plans4527 Silver, Premium and Premium_trial plans have Premium license features4528 returns namespaces with matching plans4529 includes namespace from higher plans4530 Gold, Ultimate, Ultimate_trial and OpenSource plans have Ultimate license features4531 returns namespaces with matching plans4532 when no namespace matches the feature4533 returns an empty list4534 .join_gitlab_subscription4535 when there is no subscription4536 returns namespace with nil subscription4537 when there is a subscription4538 returns namespace with subscription set4539 .in_active_trial4540 is consistent to trial_active? method4541 .not_in_active_trial4542 is consistent with !trial_active? method4543 .in_default_plan4544 includes namespace with no subscription4545 plan_name: "free", expect_in_default_plan: true4546 returns expected result4547 plan_name: "default", expect_in_default_plan: true4548 returns expected result4549 plan_name: "bronze", expect_in_default_plan: false4550 returns expected result4551 plan_name: "silver", expect_in_default_plan: false4552 returns expected result4553 plan_name: "premium", expect_in_default_plan: false4554 returns expected result4555 plan_name: "gold", expect_in_default_plan: false4556 returns expected result4557 plan_name: "ultimate", expect_in_default_plan: false4558 returns expected result4559 .eligible_for_trial4560 when there is no subscription4561 is expected to eq #<Namespaces::UserNamespace id: 363, name: "Sidney Jones268", path: "namespace236", owner_id: 264, cr...runners_enabled: true, allow_descendants_override_disabled_shared_runners: false, traversal_ids: []>4562 when there is a subscription4563 with a plan that is eligible for a trial4564 plan: "default"4565 and has not yet been trialed4566 is expected to eq #<Namespaces::UserNamespace id: 363, name: "Sidney Jones268", path: "namespace236", owner_id: 264, cr...runners_enabled: true, allow_descendants_override_disabled_shared_runners: false, traversal_ids: []>4567 but has already had a trial4568 is expected to be nil4569 but is currently being trialed4570 is expected to be nil4571 plan: "free"4572 and has not yet been trialed4573 is expected to eq #<Namespaces::UserNamespace id: 363, name: "Sidney Jones268", path: "namespace236", owner_id: 264, cr...runners_enabled: true, allow_descendants_override_disabled_shared_runners: false, traversal_ids: []>4574 but has already had a trial4575 is expected to be nil4576 but is currently being trialed4577 is expected to be nil4578 with a plan that is ineligible for a trial4579 plan: "bronze"4580 is expected to be nil4581 plan: "silver"4582 is expected to be nil4583 plan: "premium"4584 is expected to be nil4585 plan: "gold"4586 is expected to be nil4587 plan: "ultimate"4588 is expected to be nil4589 plan: "ultimate_trial"4590 is expected to be nil4591 plan: "premium_trial"4592 is expected to be nil4593 plan: "opensource"4594 is expected to be nil4595 validation4596 ensures max_pages_size is an integer greater than 0 (or equal to 0 to indicate unlimited/maximum)4597 custom validations4598 #validate_shared_runner_minutes_support4599 when changing :shared_runners_minutes_limit4600 when group is a subgroup4601 is invalid4602 when group is root4603 is valid4604 after_commit :sync_name_with_customers_dot4605 when the name is not updated4606 does not trigger a sync with CustomersDot4607 when the name is updated4608 when not on Gitlab.com?4609 does not trigger a sync with CustomersDot4610 when project namespace4611 when the owner is privatized by abuse automation4612 does not trigger a sync with CustomersDot4613 when the owner is not privatized by abuse automation4614 does not trigger a sync with CustomersDot4615 when group namespace4616 when the owner is privatized by abuse automation4617 triggers a name sync with CustomersDot4618 when the owner is not privatized by abuse automation4619 triggers a name sync with CustomersDot4620 when user namespace4621 when the owner is privatized by abuse automation4622 does not trigger a sync with CustomersDot4623 when the owner is not privatized by abuse automation4624 triggers a name sync with CustomersDot4625 #move_dir4626 when running on a primary node4627 logs the Geo::RepositoryRenamedEvent for each project inside namespace4628 properly builds old_path_with_namespace4629 #feature_available?4630 behaves like feature available4631 uses the global setting when running on premise4632 when checking namespace plan4633 combines the global setting with the group setting when not running on premise4634 when feature available on the plan4635 when feature available for current group4636 returns true4637 when license is applied to parent group4638 child group has feature available4639 when feature not available in the plan4640 returns false4641 #feature_available_non_trial?4642 behaves like feature available4643 uses the global setting when running on premise4644 when checking namespace plan4645 combines the global setting with the group setting when not running on premise4646 when feature available on the plan4647 when feature available for current group4648 returns true4649 when license is applied to parent group4650 child group has feature available4651 when feature not available in the plan4652 returns false4653 when the group has an active trial4654 is expected to be falsey4655 with a subgroup4656 feature is not available for the subgroup4657 #actual_limits4658 when no limits are defined in the system4659 behaves like uses an implied configuration4660 is a non persisted PlanLimits4661 has all limits defined4662 when "default" plan is defined in the system4663 when no limits are set4664 behaves like uses an implied configuration4665 is a non persisted PlanLimits4666 has all limits defined4667 when limits are set for the default plan4668 is expected to eq #<PlanLimits id: 1, plan_id: 341, ci_active_pipelines: 1, ci_pipeline_size: 2, ci_active_jobs: 3, pro...], group_ci_variables: [FILTERED], ci_max_artifact_size_cyclonedx: 1, rpm_max_file_size: 5368709120>4669 when "free" plan is defined in the system4670 when no limits are set4671 behaves like uses an implied configuration4672 is a non persisted PlanLimits4673 has all limits defined4674 when limits are set for the free plan4675 is expected to eq #<PlanLimits id: 2, plan_id: 350, ci_active_pipelines: 3, ci_pipeline_size: 4, ci_active_jobs: 5, pro...], group_ci_variables: [FILTERED], ci_max_artifact_size_cyclonedx: 1, rpm_max_file_size: 5368709120>4676 when subscription plan is defined in the system4677 when limits are not set for the plan4678 behaves like uses an implied configuration4679 is a non persisted PlanLimits4680 has all limits defined4681 when limits are set for the plan4682 is expected to eq #<PlanLimits id: 3, plan_id: 357, ci_active_pipelines: 5, ci_pipeline_size: 6, ci_active_jobs: 7, pro...], group_ci_variables: [FILTERED], ci_max_artifact_size_cyclonedx: 1, rpm_max_file_size: 5368709120>4683 #any_project_with_shared_runners_enabled?4684 without projects4685 is expected to be falsey4686 group with shared runners enabled project4687 is expected to be truthy4688 subgroup with shared runners enabled project4689 is expected to be truthy4690 with project and disabled shared runners4691 is expected to be falsey4692 #shared_runners_minutes_limit_enabled?4693 with project4694 when no limit defined4695 is expected to be falsey4696 when limit is defined4697 is expected to be truthy4698 when is subgroup4699 is expected to be falsey4700 without project4701 is expected to be falsey4702 #paid?4703 returns true for a root namespace with a paid plan4704 returns false for a subgroup of a group with a paid plan4705 #actual_plan4706 when namespace does not have a subscription associated4707 generates a subscription and returns default plan4708 when running on Gitlab.com4709 for personal namespaces4710 when namespace has a subscription associated4711 when this subscription was purchased before EoA rollout (legacy)4712 returns the legacy plan from the subscription4713 when this subscription was purchase after EoA rollout (new plan)4714 returns the new plan from the subscription4715 when namespace does not have a subscription associated4716 generates a subscription and returns free plan4717 when free plan does exist4718 generates a subscription4719 for groups4720 when the group is a subgroup with a parent4721 when free plan does exist4722 does not generates a subscription4723 when parent group has a subscription associated4724 returns the plan from the subscription4725 #actual_plan_name4726 when namespace does not have a subscription associated4727 returns default plan4728 when running on Gitlab.com4729 for personal namespaces4730 when namespace has a subscription associated4731 returns an associated plan name4732 when namespace does not have subscription associated4733 returns a free plan name4734 for groups4735 when the group is a subgroup with a parent4736 when parent group has a subscription associated4737 returns an associated plan name4738 when parent group does not have subscription associated4739 returns a free plan name4740 #billed_user_ids4741 returns 14742 #billable_members_count4743 returns 14744 #eligible_for_trial?4745 on_dot_com: true, has_parent: true, never_had_trial: true, plan_eligible_for_trial: true4746 when on .com4747 and the namespace has a parent namespace4748 and the namespace has not yet been trialed4749 and the namespace is eligible for a trial4750 is expected to eq false4751 on_dot_com: true, has_parent: true, never_had_trial: true, plan_eligible_for_trial: false4752 when on .com4753 and the namespace has a parent namespace4754 and the namespace has not yet been trialed4755 and the namespace is not eligible for a trial4756 is expected to eq false4757 on_dot_com: true, has_parent: true, never_had_trial: false, plan_eligible_for_trial: true4758 when on .com4759 and the namespace has a parent namespace4760 and the namespace has been trialed4761 and the namespace is eligible for a trial4762 is expected to eq false4763 on_dot_com: true, has_parent: true, never_had_trial: false, plan_eligible_for_trial: false4764 when on .com4765 and the namespace has a parent namespace4766 and the namespace has been trialed4767 and the namespace is not eligible for a trial4768 is expected to eq false4769 on_dot_com: true, has_parent: false, never_had_trial: true, plan_eligible_for_trial: true4770 when on .com4771 and the namespace is a parent namespace4772 and the namespace has not yet been trialed4773 and the namespace is eligible for a trial4774 is expected to eq true4775 on_dot_com: true, has_parent: false, never_had_trial: true, plan_eligible_for_trial: false4776 when on .com4777 and the namespace is a parent namespace4778 and the namespace has not yet been trialed4779 and the namespace is not eligible for a trial4780 is expected to eq false4781 on_dot_com: true, has_parent: false, never_had_trial: false, plan_eligible_for_trial: true4782 when on .com4783 and the namespace is a parent namespace4784 and the namespace has been trialed4785 and the namespace is eligible for a trial4786 is expected to eq false4787 on_dot_com: true, has_parent: false, never_had_trial: false, plan_eligible_for_trial: false4788 when on .com4789 and the namespace is a parent namespace4790 and the namespace has been trialed4791 and the namespace is not eligible for a trial4792 is expected to eq false4793 on_dot_com: false, has_parent: true, never_had_trial: true, plan_eligible_for_trial: true4794 when not on .com4795 and the namespace has a parent namespace4796 and the namespace has not yet been trialed4797 and the namespace is eligible for a trial4798 is expected to eq false4799 on_dot_com: false, has_parent: true, never_had_trial: true, plan_eligible_for_trial: false4800 when not on .com4801 and the namespace has a parent namespace4802 and the namespace has not yet been trialed4803 and the namespace is not eligible for a trial4804 is expected to eq false4805 on_dot_com: false, has_parent: true, never_had_trial: false, plan_eligible_for_trial: true4806 when not on .com4807 and the namespace has a parent namespace4808 and the namespace has been trialed4809 and the namespace is eligible for a trial4810 is expected to eq false4811 on_dot_com: false, has_parent: true, never_had_trial: false, plan_eligible_for_trial: false4812 when not on .com4813 and the namespace has a parent namespace4814 and the namespace has been trialed4815 and the namespace is not eligible for a trial4816 is expected to eq false4817 on_dot_com: false, has_parent: false, never_had_trial: true, plan_eligible_for_trial: true4818 when not on .com4819 and the namespace is a parent namespace4820 and the namespace has not yet been trialed4821 and the namespace is eligible for a trial4822 is expected to eq false4823 on_dot_com: false, has_parent: false, never_had_trial: true, plan_eligible_for_trial: false4824 when not on .com4825 and the namespace is a parent namespace4826 and the namespace has not yet been trialed4827 and the namespace is not eligible for a trial4828 is expected to eq false4829 on_dot_com: false, has_parent: false, never_had_trial: false, plan_eligible_for_trial: true4830 when not on .com4831 and the namespace is a parent namespace4832 and the namespace has been trialed4833 and the namespace is eligible for a trial4834 is expected to eq false4835 on_dot_com: false, has_parent: false, never_had_trial: false, plan_eligible_for_trial: false4836 when not on .com4837 and the namespace is a parent namespace4838 and the namespace has been trialed4839 and the namespace is not eligible for a trial4840 is expected to eq false4841 #can_extend_trial?4842 feature flag is disabled4843 is expected to be falsey4844 trial_active: false, trial_extended_or_reactivated: false, can_extend_trial: false4845 is expected to equal false4846 trial_active: false, trial_extended_or_reactivated: true, can_extend_trial: false4847 is expected to equal false4848 trial_active: true, trial_extended_or_reactivated: false, can_extend_trial: true4849 is expected to equal true4850 trial_active: true, trial_extended_or_reactivated: true, can_extend_trial: false4851 is expected to equal false4852 #can_reactivate_trial?4853 when feature flag is disabled4854 is expected to be falsey4855 trial_active: false, never_had_trial: false, trial_extended_or_reactivated: false, free_plan: false, can_reactivate_trial: false4856 is expected to equal false4857 trial_active: false, never_had_trial: false, trial_extended_or_reactivated: false, free_plan: true, can_reactivate_trial: true4858 is expected to equal true4859 trial_active: false, never_had_trial: false, trial_extended_or_reactivated: true, free_plan: false, can_reactivate_trial: false4860 is expected to equal false4861 trial_active: false, never_had_trial: false, trial_extended_or_reactivated: true, free_plan: true, can_reactivate_trial: false4862 is expected to equal false4863 trial_active: false, never_had_trial: true, trial_extended_or_reactivated: false, free_plan: false, can_reactivate_trial: false4864 is expected to equal false4865 trial_active: false, never_had_trial: true, trial_extended_or_reactivated: false, free_plan: true, can_reactivate_trial: false4866 is expected to equal false4867 trial_active: false, never_had_trial: true, trial_extended_or_reactivated: true, free_plan: false, can_reactivate_trial: false4868 is expected to equal false4869 trial_active: false, never_had_trial: true, trial_extended_or_reactivated: true, free_plan: true, can_reactivate_trial: false4870 is expected to equal false4871 trial_active: true, never_had_trial: false, trial_extended_or_reactivated: false, free_plan: false, can_reactivate_trial: false4872 is expected to equal false4873 trial_active: true, never_had_trial: false, trial_extended_or_reactivated: false, free_plan: true, can_reactivate_trial: false4874 is expected to equal false4875 trial_active: true, never_had_trial: false, trial_extended_or_reactivated: true, free_plan: false, can_reactivate_trial: false4876 is expected to equal false4877 trial_active: true, never_had_trial: false, trial_extended_or_reactivated: true, free_plan: true, can_reactivate_trial: false4878 is expected to equal false4879 trial_active: true, never_had_trial: true, trial_extended_or_reactivated: false, free_plan: false, can_reactivate_trial: false4880 is expected to equal false4881 trial_active: true, never_had_trial: true, trial_extended_or_reactivated: false, free_plan: true, can_reactivate_trial: false4882 is expected to equal false4883 trial_active: true, never_had_trial: true, trial_extended_or_reactivated: true, free_plan: false, can_reactivate_trial: false4884 is expected to equal false4885 trial_active: true, never_had_trial: true, trial_extended_or_reactivated: true, free_plan: true, can_reactivate_trial: false4886 is expected to equal false4887 #file_template_project_id4888 is cleared before validation4889 #checked_file_template_project4890 is always nil4891 #checked_file_template_project_id4892 is always nil4893 #store_security_reports_available?4894 when at least one security report feature is enabled4895 report_type: :sast4896 is expected to equal true4897 report_type: :secret_detection4898 is expected to equal true4899 report_type: :dast4900 is expected to equal true4901 report_type: :dependency_scanning4902 is expected to equal true4903 report_type: :container_scanning4904 is expected to equal true4905 report_type: :cluster_image_scanning4906 is expected to equal true4907 when no security report feature is available4908 is expected to equal false4909 #ingest_sbom_reports_available?4910 when at least one sbom-related feature is available4911 feature: :container_scanning4912 is expected to equal true4913 feature: :dependency_scanning4914 is expected to equal true4915 feature: :license_scanning4916 is expected to equal true4917 when sbom-related features are not available4918 is expected to equal false4919 #over_storage_limit?4920 returns true if the namespace is over the storage limit4921 returns false if the namespace storage equals the limit4922 returns false if the namespace is under the storage limit4923 #read_only?4924 over_storage_limit: false, over_free_user_limit: false, result: false4925 is expected to eq false4926 over_storage_limit: false, over_free_user_limit: true, result: true4927 is expected to eq true4928 over_storage_limit: true, over_free_user_limit: false, result: true4929 is expected to eq true4930 over_storage_limit: true, over_free_user_limit: true, result: true4931 is expected to eq true4932 #total_repository_size_excess4933 projects with a variety of repository sizes and limits4934 when namespace-level repository_size_limit is not set4935 returns the total excess size of projects with repositories that exceed the size limit4936 when namespace-level repository_size_limit is 0 (unlimited)4937 returns the total excess size of projects with repositories that exceed the size limit4938 when namespace-level repository_size_limit is a positive number4939 returns the total excess size of projects with repositories that exceed the size limit4940 when all projects have repository_size_limit of 0 (unlimited)4941 returns zero regardless of the namespace or instance-level repository_size_limit4942 #repository_size_excess_project_count4943 projects with a variety of repository sizes and limits4944 when namespace-level repository_size_limit is not set4945 returns the count of projects with repositories that exceed the size limit4946 when namespace-level repository_size_limit is 0 (unlimited)4947 returns the count of projects with repositories that exceed the size limit4948 when namespace-level repository_size_limit is a positive number4949 returns the count of projects with repositories that exceed the size limit4950 when all projects have repository_size_limit of 0 (unlimited)4951 returns zero regardless of the namespace or instance-level repository_size_limit4952 #total_repository_size4953 returns the total size of all project repositories4954 #contains_locked_projects?4955 total_excess: 5242880, result: false4956 returns a boolean indicating whether the root namespace contains locked projects4957 total_excess: 10485760, result: false4958 returns a boolean indicating whether the root namespace contains locked projects4959 total_excess: 15728640, result: true4960 returns a boolean indicating whether the root namespace contains locked projects4961 #actual_size_limit4962 returns the correct size limit4963 #membership_lock with subgroups4964 when creating a subgroup4965 under a parent with "Membership lock" enabled4966 enables "Membership lock" on the subgroup4967 under a parent with "Membership lock" disabled4968 does not enable "Membership lock" on the subgroup4969 when enabling the parent group "Membership lock"4970 the subgroup "Membership lock" not changed4971 when disabling the parent group "Membership lock" (which was already enabled)4972 and the subgroup "Membership lock" is enabled4973 the subgroup "Membership lock" does not change4974 but the subgroup "Membership lock" is disabled4975 the subgroup "Membership lock" does not change4976 when a group is transferred into a root group4977 when the root group "Membership lock" is enabled4978 when the subgroup "Membership lock" is enabled4979 the subgroup "Membership lock" does not change4980 when the subgroup "Membership lock" is disabled4981 the subgroup "Membership lock" not changed4982 when the root group "Membership lock" is disabled4983 when the subgroup "Membership lock" is enabled4984 the subgroup "Membership lock" does not change4985 when the subgroup "Membership lock" is disabled4986 the subgroup "Membership lock" does not change4987 #namespace_limit4988 when there is a parent namespace4989 with a namespace limit4990 returns the parent namespace limit4991 with no namespace limit4992 builds namespace limit4993 when there is no parent ancestor4994 for personal namespaces4995 with a namespace limit4996 returns the namespace limit4997 with no namespace limit4998 builds namespace limit4999 for groups5000 with a namespace limit5001 returns the namespace limit5002 with no namespace limit5003 builds namespace limit5004 #enable_temporary_storage_increase!5005 sets a date5006 is invalid when set twice5007 #additional_repo_storage_by_namespace_enabled?5008 namespace_storage_limit: false, automatic_purchased_storage_allocation: false, result: false5009 is expected to eq false5010 namespace_storage_limit: false, automatic_purchased_storage_allocation: true, result: true5011 is expected to eq true5012 namespace_storage_limit: true, automatic_purchased_storage_allocation: false, result: false5013 is expected to eq false5014 namespace_storage_limit: true, automatic_purchased_storage_allocation: true, result: false5015 is expected to eq false5016 #root_storage_size5017 when namespace storage limits are enabled5018 returns an instance of RootSize5019 when namespace storage limits are disabled5020 returns an instance of RootExcessSize5021 when namespace storage limits are disabled and automatic_purchased_storage_allocation is enabled5022 returns an instance of RootExcessSize5023 when namespace storage limits are enabled for free namespaces and disabled for paid5024 returns an instance of RootSize for a free namespace5025 returns an instance of RootExcessSize for a paid namespace5026 #user_cap_available?5027 when not on Gitlab.com5028 is expected to equal false5029 when :saas_user_caps is disabled5030 is expected to equal false5031 when :saas_user_caps is enabled5032 is expected to equal true5033 when the namespace is not a group5034 is expected to equal false5035 #capacity_left_for_user?5036 is expected to eq true5037 #exclude_guests?5038 returns false5039 #all_security_orchestration_policy_configurations5040 when configuration is invalid5041 returns empty list5042 when configuration is valid5043 returns security policy configurations for all valid parent groups5044 #all_inherited_security_orchestration_policy_configurations5045 when there is no configuration for group ancestors5046 returns empty list5047 when configuration is invalid5048 returns empty list5049 when configuration is valid5050 returns security policy configurations for all valid parent groups5051 #all_projects_pages_domains5052 finds all pages domains by default5053 finds only verified domains when param is true5054 when projects are outside the top-level group hierarchy5055 does not include the outside domain5056 #domain_verification_available?5057 when the feature is not licensed5058 is not available5059 on GitLab.com5060 is not available5061 when the feature is licensed5062 is not available5063 on GitLab.com5064 is available5065 with a subgroup5066 is not available5067 #allow_stale_runner_pruning?5068 is expected to eq false5069 with ci_cd_setting.allow_stale_runner_pruning set to false5070 is expected to eq false5071 with ci_cd_setting.allow_stale_runner_pruning set to true5072 is expected to eq true5073 #allow_stale_runner_pruning=5074 with no existing ci_cd_setting association5075 when value is set to false5076 does not build new association5077 when value is set to true5078 builds association5079 with existing ci_cd_setting association5080 when value is set to true5081 updates association5082Elastic::MigrationWorker5083 #perform5084 Feature Flag `elastic_migration_worker` is disabled5085 returns with no execution5086 indexing is disabled5087 returns without execution5088 unsupported elasticsearch version5089 pauses indexing and does not execute migration5090 indexing is enabled5091 an unexecuted migration present5092 creates an index if it does not exist5093 migration is halted5094 pause_indexing: false, halted_indexing_unpaused: false, unpause: false5095 unpauses indexing5096 pause_indexing: false, halted_indexing_unpaused: true, unpause: false5097 unpauses indexing5098 pause_indexing: true, halted_indexing_unpaused: false, unpause: true5099 unpauses indexing5100 pause_indexing: true, halted_indexing_unpaused: true, unpause: false5101 unpauses indexing5102 executing migration with retry_on_failure set5103 increases previous_attempts on failure5104 fails the migration if max_attempts is exceeded5105 migration process5106 started: false, completed: false, execute_migration: true, batched: false5107 calls migration only when needed5108 handles batched migrations5109 started: false, completed: true, execute_migration: true, batched: false5110 calls migration only when needed5111 handles batched migrations5112 started: false, completed: false, execute_migration: true, batched: true5113 calls migration only when needed5114 handles batched migrations5115 started: false, completed: true, execute_migration: true, batched: true5116 calls migration only when needed5117 handles batched migrations5118 started: true, completed: false, execute_migration: false, batched: false5119 calls migration only when needed5120 handles batched migrations5121 started: true, completed: true, execute_migration: false, batched: false5122 calls migration only when needed5123 handles batched migrations5124 started: true, completed: false, execute_migration: true, batched: true5125 calls migration only when needed5126 handles batched migrations5127 started: true, completed: true, execute_migration: true, batched: true5128 calls migration only when needed5129 handles batched migrations5130 indexing pause5131 started: false, completed: false, expected: false5132 pauses and unpauses indexing5133 started: true, completed: false, expected: false5134 pauses and unpauses indexing5135 started: true, completed: true, expected: true5136 pauses and unpauses indexing5137 checks space required5138 halts the migration if there is not enough space5139 runs the migration if there is enough space5140 when migration is already started5141 does not check space requirements5142 no unexecuted migrations5143 skips execution5144 no executed migrations5145 executes the first migration5146Ci::JobEntity5147 #playable?5148 behaves like protected environments access5149 when Protected Environments feature is not available in the project5150 access_level: :guest, result: false5151 is expected to eq false5152 access_level: :reporter, result: false5153 is expected to eq false5154 access_level: :developer, result: true5155 is expected to eq true5156 access_level: :maintainer, result: true5157 is expected to eq true5158 access_level: :admin, result: true5159 is expected to eq true5160 when Protected Environments feature is available in the project5161 when environment is protected with project-level protection5162 behaves like authorize correctly per access type5163 when user does not have access to the environment5164 access_level: :guest, result: false5165 is expected to eq false5166 access_level: :reporter, result: false5167 is expected to eq false5168 access_level: :developer, result: false5169 is expected to eq false5170 access_level: :maintainer, result: false5171 is expected to eq false5172 access_level: :admin, result: true5173 is expected to eq true5174 when user has access to the environment5175 access_level: :reporter, result: true5176 is expected to eq true5177 access_level: :developer, result: true5178 is expected to eq true5179 access_level: :maintainer, result: true5180 is expected to eq true5181 access_level: :admin, result: true5182 is expected to eq true5183 when the user has access via a group5184 is expected to eq true5185 when environment is protected with group-level protection5186 behaves like authorize correctly per access type5187 when user does not have access to the environment5188 access_level: :guest, result: false5189 is expected to eq false5190 access_level: :reporter, result: false5191 is expected to eq false5192 access_level: :developer, result: false5193 is expected to eq false5194 access_level: :maintainer, result: false5195 is expected to eq false5196 access_level: :admin, result: true5197 is expected to eq true5198 when user has access to the environment5199 access_level: :reporter, result: true5200 is expected to eq true5201 access_level: :developer, result: true5202 is expected to eq true5203 access_level: :maintainer, result: true5204 is expected to eq true5205 access_level: :admin, result: true5206 is expected to eq true5207 when the user has access via a group5208 is expected to eq true5209 when environment is not protected5210 access_level: :guest, result: false5211 is expected to eq false5212 access_level: :reporter, result: false5213 is expected to eq false5214 access_level: :developer, result: true5215 is expected to eq true5216 access_level: :maintainer, result: true5217 is expected to eq true5218 access_level: :admin, result: true5219 is expected to eq true5220 #retryable?5221 behaves like protected environments access5222 when Protected Environments feature is not available in the project5223 access_level: :guest, result: false5224 is expected to eq false5225 access_level: :reporter, result: false5226 is expected to eq false5227 access_level: :developer, result: true5228 is expected to eq true5229 access_level: :maintainer, result: true5230 is expected to eq true5231 access_level: :admin, result: true5232 is expected to eq true5233 when Protected Environments feature is available in the project5234 when environment is protected with project-level protection5235 behaves like authorize correctly per access type5236 when user does not have access to the environment5237 access_level: :guest, result: false5238 is expected to eq false5239 access_level: :reporter, result: false5240 is expected to eq false5241 access_level: :developer, result: false5242 is expected to eq false5243 access_level: :maintainer, result: false5244 is expected to eq false5245 access_level: :admin, result: true5246 is expected to eq true5247 when user has access to the environment5248 access_level: :reporter, result: true5249 is expected to eq true5250 access_level: :developer, result: true5251 is expected to eq true5252 access_level: :maintainer, result: true5253 is expected to eq true5254 access_level: :admin, result: true5255 is expected to eq true5256 when the user has access via a group5257 is expected to eq true5258 when environment is protected with group-level protection5259 behaves like authorize correctly per access type5260 when user does not have access to the environment5261 access_level: :guest, result: false5262 is expected to eq false5263 access_level: :reporter, result: false5264 is expected to eq false5265 access_level: :developer, result: false5266 is expected to eq false5267 access_level: :maintainer, result: false5268 is expected to eq false5269 access_level: :admin, result: true5270 is expected to eq true5271 when user has access to the environment5272 access_level: :reporter, result: true5273 is expected to eq true5274 access_level: :developer, result: true5275 is expected to eq true5276 access_level: :maintainer, result: true5277 is expected to eq true5278 access_level: :admin, result: true5279 is expected to eq true5280 when the user has access via a group5281 is expected to eq true5282 when environment is not protected5283 access_level: :guest, result: false5284 is expected to eq false5285 access_level: :reporter, result: false5286 is expected to eq false5287 access_level: :developer, result: true5288 is expected to eq true5289 access_level: :maintainer, result: true5290 is expected to eq true5291 access_level: :admin, result: true5292 is expected to eq true5293MergeRequests::ByApproversFinder5294 filter by no approvers5295 returns merge requests without approvers5296 filter by any approver5297 returns only merge requests with approvers5298 filter by second approver5299 returns only merge requests with the second approver5300 filter by both approvers5301 returns only merge requests with both approvers5302 pass empty params5303 returns all merge requests5304 filter by an approver from group5305 returns only merge requests with the approver from group5306 filter by an overridden approver from project5307 returns only merge requests with the project approver5308 filter by approvers5309 can be ordered by popularity5310 can be ordered by priority5311Geo::JobArtifactReplicator5312 invokes replicator.handle_after_create_commit on create5313 behaves like a replicator5314 Geo node status5315 on a primary site5316 .primary_total_count5317 when batch count feature flag is enabled5318 returns the number of available replicables on primary5319 when batch count feature flag is disabled5320 returns the number of available replicables on primary5321 on a secondary site5322 .synced_count5323 returns the number of synced items on secondary5324 .failed_count5325 returns the number of failed items on secondary5326 when replicator is Geo::RegistrySyncWorker compatible5327 has "created" and "deleted" events5328 #replicator5329 is defined and does not raise error5330 .replicables_for_current_secondary5331 when syncing object storage is enabled5332 behaves like is implemented and returns a valid relation5333 is implemented5334 when syncing object storage is disabled5335 behaves like is implemented and returns a valid relation5336 is implemented5337 with selective sync disabled5338 behaves like is implemented and returns a valid relation5339 is implemented5340 with selective sync enabled for namespaces5341 behaves like is implemented and returns a valid relation5342 is implemented5343 with selective sync enabled for shards5344 behaves like is implemented and returns a valid relation5345 is implemented5346 #handle_after_create_commit5347 creates a Geo::Event5348 calls #after_verifiable_update5349 when replication feature flag is disabled5350 does not call #after_verifiable_update5351 does not publish5352 #handle_after_destroy5353 creates a Geo::Event5354 when replication feature flag is disabled5355 does not publish5356 created event consumption5357 when the blob's project is in replicables for this geo node5358 invokes Geo::BlobDownloadService5359 when the blob's project is not in replicables for this geo node5360 does not invoke Geo::BlobDownloadService5361 deleted event consumption5362 when model_record was deleted from the DB and the replicator only has its ID5363 invokes Geo::FileRegistryRemovalService5364 backward compatibility5365 invokes Geo::FileRegistryRemovalService when delete event is in deprecated format5366 when object storage is enabled5367 when GitLab managed replication is enabled5368 deletes the file from object storage5369 when GitLab managed replication is disabled5370 does not delete the file from object storage5371 #carrierwave_uploader5372 is implemented5373 #model5374 is implemented5375 is a Class5376 responds to primary_key5377 #blob_path5378 when the file is locally stored5379 returns a valid path to a file5380 #calculate_checksum5381 when the file is locally stored5382 when the file exists5383 returns hexdigest of the file5384 when the file does not exist5385 raises an error5386 when the file is remotely stored5387 raises an error5388 #file_exists?5389 is expected to be truthy5390 when the file does not exist5391 is expected to be falsey5392 when the file is nil5393 is expected to be falsey5394 .bulk_create_delete_events_async5395 creates events5396 raises error when model_record_id is nil5397 events5398 has checksum_succeeded event5399 .verification_enabled?5400 when replication is enabled5401 when verification_feature_flag_enabled? returns true5402 returns true5403 when verification_feature_flag_enabled? returns false5404 returns false5405 when replication is disabled5406 returns false5407 .checksummed_count5408 when verification is enabled5409 returns the number of available verifiables where verification succeeded5410 excludes non-success verification states5411 when verification is disabled5412 returns nil5413 .checksum_failed_count5414 when verification is enabled5415 returns the number of available verifiables where verification failed5416 excludes other verification states5417 when verification is disabled5418 returns nil5419 .verification_total_count5420 when verification is enabled5421 returns the number of verification_not_disabled registry rows5422 when verification is disabled5423 returns nil5424 .trigger_background_verification5425 when verification is enabled5426 enqueues VerificationBatchWorker5427 enqueues VerificationTimeoutWorker5428 enqueues VerificationStateBackfillWorker5429 for a Geo secondary5430 does not enqueue ReverificationBatchWorker5431 for a Geo primary5432 enqueues ReverificationBatchWorker5433 when verification is disabled5434 does not enqueue VerificationBatchWorker5435 does not enqueue VerificationTimeoutWorker5436 .backfill_verification_state_table5437 calls VerificationStateBackfillService5438 when on secondary5439 returns false5440 .verify_batch5441 when there are records needing verification5442 calls #verify on each replicator5443 .remaining_verification_batch_count5444 converts needs_verification_count to number of batches5445 .remaining_reverification_batch_count5446 converts needs_reverification_count to number of batches5447 .reverify_batch!5448 calls #reverify_batch5449 .replicator_batch_to_verify5450 returns usable Replicator instances5451 .model_record_id_batch_to_verify5452 when the batch is filled by pending rows5453 returns IDs of pending rows5454 does not call .verification_failed_batch5455 when that batch is not filled by pending rows5456 includes IDs of failed rows5457 .verification_pending_batch5458 when current node is a primary5459 delegates to the model class of the replicator5460 when current node is a secondary5461 delegates to the registry class of the replicator5462 .verification_failed_batch5463 when current node is a primary5464 delegates to the model class of the replicator5465 when current node is a secondary5466 delegates to the registry class of the replicator5467 .fail_verification_timeouts5468 when current node is a primary5469 delegates to the model class of the replicator5470 when current node is a secondary5471 delegates to the registry class of the replicator5472 #after_verifiable_update5473 verification_enabled: true, immutable: true, checksum: nil, checksummable: true, expect_verify_async: true5474 calls verify_async only if needed5475 verification_enabled: true, immutable: true, checksum: nil, checksummable: false, expect_verify_async: false5476 calls verify_async only if needed5477 verification_enabled: true, immutable: true, checksum: "abc123", checksummable: true, expect_verify_async: false5478 calls verify_async only if needed5479 verification_enabled: true, immutable: true, checksum: "abc123", checksummable: false, expect_verify_async: false5480 calls verify_async only if needed5481 verification_enabled: true, immutable: false, checksum: nil, checksummable: true, expect_verify_async: true5482 calls verify_async only if needed5483 verification_enabled: true, immutable: false, checksum: nil, checksummable: false, expect_verify_async: false5484 calls verify_async only if needed5485 verification_enabled: true, immutable: false, checksum: "abc123", checksummable: true, expect_verify_async: true5486 calls verify_async only if needed5487 verification_enabled: true, immutable: false, checksum: "abc123", checksummable: false, expect_verify_async: false5488 calls verify_async only if needed5489 verification_enabled: false, immutable: true, checksum: nil, checksummable: true, expect_verify_async: false5490 calls verify_async only if needed5491 verification_enabled: false, immutable: true, checksum: nil, checksummable: false, expect_verify_async: false5492 calls verify_async only if needed5493 verification_enabled: false, immutable: true, checksum: "abc123", checksummable: true, expect_verify_async: false5494 calls verify_async only if needed5495 verification_enabled: false, immutable: true, checksum: "abc123", checksummable: false, expect_verify_async: false5496 calls verify_async only if needed5497 verification_enabled: false, immutable: false, checksum: nil, checksummable: true, expect_verify_async: false5498 calls verify_async only if needed5499 verification_enabled: false, immutable: false, checksum: nil, checksummable: false, expect_verify_async: false5500 calls verify_async only if needed5501 verification_enabled: false, immutable: false, checksum: "abc123", checksummable: true, expect_verify_async: false5502 calls verify_async only if needed5503 verification_enabled: false, immutable: false, checksum: "abc123", checksummable: false, expect_verify_async: false5504 calls verify_async only if needed5505 #verify_async5506 on a Geo primary5507 calls verification_started! and enqueues VerificationWorker5508 #verify5509 wraps the checksum calculation in track_checksum_attempt!5510 #verification_state_tracker5511 on a Geo primary5512 returns model_record5513 on a Geo secondary5514 returns registry5515 #handle_after_checksum_succeeded5516 on a Geo primary5517 creates checksum_succeeded event5518 is called on verification success5519 on a Geo secondary5520 does not create an event5521 #consume_event_checksum_succeeded5522 with a persisted model_record5523 on a Geo primary5524 does nothing5525 on a Geo secondary5526 with a persisted registry5527 with a registry which is verified5528 sets state to verification_pending5529 with a registry which is pending verification5530 does not change state from verification_pending5531 with an unpersisted registry5532 does not persist the registry5533 #primary_verification_succeeded?5534 when the model record is verification_succeeded5535 returns true5536 when the model record is verification_succeeded5537 returns false5538 integration tests5539 on a primary5540 background backfill5541 verifies model records5542 triggered by events5543 verifies model records5544 on a secondary5545 background backfill5546 verifies registries5547 triggered by events5548 verifies registries5549EnvironmentPolicy5550 #stop_environment5551 behaves like protected environments access5552 when Protected Environments feature is not available in the project5553 access_level: :guest, result: false5554 is expected to eq false5555 access_level: :reporter, result: false5556 is expected to eq false5557 access_level: :developer, result: true5558 is expected to eq true5559 access_level: :maintainer, result: true5560 is expected to eq true5561 access_level: :admin, result: true5562 is expected to eq true5563 when Protected Environments feature is available in the project5564 when environment is protected with project-level protection5565 behaves like authorize correctly per access type5566 when user does not have access to the environment5567 access_level: :guest, result: false5568 is expected to eq false5569 access_level: :reporter, result: false5570 is expected to eq false5571 access_level: :developer, result: false5572 is expected to eq false5573 access_level: :maintainer, result: false5574 is expected to eq false5575 access_level: :admin, result: true5576 is expected to eq true5577 when user has access to the environment5578 access_level: :reporter, result: false5579 is expected to eq false5580 access_level: :developer, result: true5581 is expected to eq true5582 access_level: :maintainer, result: true5583 is expected to eq true5584 access_level: :admin, result: true5585 is expected to eq true5586 when the user has access via a group5587 is expected to eq false5588 when environment is protected with group-level protection5589 behaves like authorize correctly per access type5590 when user does not have access to the environment5591 access_level: :guest, result: false5592 is expected to eq false5593 access_level: :reporter, result: false5594 is expected to eq false5595 access_level: :developer, result: false5596 is expected to eq false5597 access_level: :maintainer, result: false5598 is expected to eq false5599 access_level: :admin, result: true5600 is expected to eq true5601 when user has access to the environment5602 access_level: :reporter, result: false5603 is expected to eq false5604 access_level: :developer, result: true5605 is expected to eq true5606 access_level: :maintainer, result: true5607 is expected to eq true5608 access_level: :admin, result: true5609 is expected to eq true5610 when the user has access via a group5611 is expected to eq false5612 when environment is not protected5613 access_level: :guest, result: false5614 is expected to eq false5615 access_level: :reporter, result: false5616 is expected to eq false5617 access_level: :developer, result: true5618 is expected to eq true5619 access_level: :maintainer, result: true5620 is expected to eq true5621 access_level: :admin, result: true5622 is expected to eq true5623 #destroy_environment5624 behaves like protected environments access5625 when Protected Environments feature is not available in the project5626 access_level: :guest, result: false5627 is expected to eq false5628 access_level: :reporter, result: false5629 is expected to eq false5630 access_level: :developer, result: true5631 is expected to eq true5632 access_level: :maintainer, result: true5633 is expected to eq true5634 access_level: :admin, result: true5635 is expected to eq true5636 when Protected Environments feature is available in the project5637 when environment is protected with project-level protection5638 behaves like authorize correctly per access type5639 when user does not have access to the environment5640 access_level: :guest, result: false5641 is expected to eq false5642 access_level: :reporter, result: false5643 is expected to eq false5644 access_level: :developer, result: false5645 is expected to eq false5646 access_level: :maintainer, result: false5647 is expected to eq false5648 access_level: :admin, result: true5649 is expected to eq true5650 when user has access to the environment5651 access_level: :reporter, result: false5652 is expected to eq false5653 access_level: :developer, result: true5654 is expected to eq true5655 access_level: :maintainer, result: true5656 is expected to eq true5657 access_level: :admin, result: true5658 is expected to eq true5659 when the user has access via a group5660 is expected to eq false5661 when environment is protected with group-level protection5662 behaves like authorize correctly per access type5663 when user does not have access to the environment5664 access_level: :guest, result: false5665 is expected to eq false5666 access_level: :reporter, result: false5667 is expected to eq false5668 access_level: :developer, result: false5669 is expected to eq false5670 access_level: :maintainer, result: false5671 is expected to eq false5672 access_level: :admin, result: true5673 is expected to eq true5674 when user has access to the environment5675 access_level: :reporter, result: false5676 is expected to eq false5677 access_level: :developer, result: true5678 is expected to eq true5679 access_level: :maintainer, result: true5680 is expected to eq true5681 access_level: :admin, result: true5682 is expected to eq true5683 when the user has access via a group5684 is expected to eq false5685 when environment is not protected5686 access_level: :guest, result: false5687 is expected to eq false5688 access_level: :reporter, result: false5689 is expected to eq false5690 access_level: :developer, result: true5691 is expected to eq true5692 access_level: :maintainer, result: true5693 is expected to eq true5694 access_level: :admin, result: true5695 is expected to eq true5696 #create_environment_terminal5697 behaves like protected environments access5698 when Protected Environments feature is not available in the project5699 access_level: :guest, result: false5700 is expected to eq false5701 access_level: :reporter, result: false5702 is expected to eq false5703 access_level: :developer, result: false5704 is expected to eq false5705 access_level: :maintainer, result: true5706 is expected to eq true5707 access_level: :admin, result: true5708 is expected to eq true5709 when Protected Environments feature is available in the project5710 when environment is protected with project-level protection5711 behaves like authorize correctly per access type5712 when user does not have access to the environment5713 access_level: :guest, result: false5714 is expected to eq false5715 access_level: :reporter, result: false5716 is expected to eq false5717 access_level: :developer, result: false5718 is expected to eq false5719 access_level: :maintainer, result: false5720 is expected to eq false5721 access_level: :admin, result: true5722 is expected to eq true5723 when user has access to the environment5724 access_level: :reporter, result: false5725 is expected to eq false5726 access_level: :developer, result: false5727 is expected to eq false5728 access_level: :maintainer, result: true5729 is expected to eq true5730 access_level: :admin, result: true5731 is expected to eq true5732 when the user has access via a group5733 is expected to eq false5734 when environment is protected with group-level protection5735 behaves like authorize correctly per access type5736 when user does not have access to the environment5737 access_level: :guest, result: false5738 is expected to eq false5739 access_level: :reporter, result: false5740 is expected to eq false5741 access_level: :developer, result: false5742 is expected to eq false5743 access_level: :maintainer, result: false5744 is expected to eq false5745 access_level: :admin, result: true5746 is expected to eq true5747 when user has access to the environment5748 access_level: :reporter, result: false5749 is expected to eq false5750 access_level: :developer, result: false5751 is expected to eq false5752 access_level: :maintainer, result: true5753 is expected to eq true5754 access_level: :admin, result: true5755 is expected to eq true5756 when the user has access via a group5757 is expected to eq false5758 when environment is not protected5759 access_level: :guest, result: false5760 is expected to eq false5761 access_level: :reporter, result: false5762 is expected to eq false5763 access_level: :developer, result: false5764 is expected to eq false5765 access_level: :maintainer, result: true5766 is expected to eq true5767 access_level: :admin, result: true5768 is expected to eq true5769ProjectImportState5770 Project import job5771 with a mirrored project5772 calls RepositoryImportWorker and inserts in front of the mirror scheduler queue5773 transitions5774 state transition: [:started] => [:finished]5775 Geo repository update events5776 calls Geo::RepositoryUpdatedService when running on a Geo primary node5777 does not call Geo::RepositoryUpdatedService when not running on a Geo primary node5778 elasticsearch indexing disabled for this project5779 does not index the repository5780 elasticsearch indexing enabled for this project5781 no index status5782 schedules a full index of the repository5783 with index status5784 schedules a full index of the repository5785 when create5786 sets next execution timestamp to now5787 #in_progress?5788 when import status is scheduled5789 behaves like import in progress5790 when project is not a mirror and repository is empty5791 returns true5792 when project is a mirror5793 when repository is empty5794 returns true5795 when repository is not empty5796 returns true5797 when project is a mirror and repository is not empty5798 returns false5799 when import status is started5800 behaves like import in progress5801 when project is not a mirror and repository is empty5802 returns true5803 when project is a mirror5804 when repository is empty5805 returns true5806 when repository is not empty5807 returns true5808 when project is a mirror and repository is not empty5809 returns false5810 when import status is finished5811 returns false5812 hard failing a mirror5813 sends a notification5814 mirror has an unrecoverable failure5815 sends a notification5816 marks import state as hard_failed5817 does not set next execution timestamp5818 #mirror_waiting_duration5819 returns in seconds the time spent in the queue5820 when account does not have a license5821 returns in seconds the time spent in the queue5822 when import state is not mirror5823 is expected to be nil5824 #mirror_update_duration5825 returns in seconds the time spent updating5826 when account does not have a license5827 returns in seconds the time spent in the queue5828 when import state is not mirror5829 is expected to be nil5830 #updating_mirror?5831 when scheduled5832 behaves like updating mirror5833 with repository5834 returns false5835 with mirror5836 returns false5837 with mirror and repository5838 returns false5839 when started5840 behaves like updating mirror5841 with repository5842 returns false5843 with mirror5844 returns false5845 with mirror and repository5846 returns false5847 #mirror_update_due?5848 when mirror is expected to run soon5849 returns true5850 when the project is archived5851 returns false5852 when the project pending_delete5853 returns false5854 when mirror has no content5855 returns false5856 when mirror is hard_failed5857 returns false5858 mirror is updating5859 returns false when scheduled5860 when next_execution_timestamp is nil5861 returns false5862 #last_update_status5863 when not a mirror5864 returns nil5865 when mirror5866 when mirror has not updated5867 returns nil5868 when mirror has updated5869 when last update time equals the time of the last successful update5870 returns success5871 when last update time does not equal the time of the last successful update5872 returns failed5873 #ever_updated_successfully5874 returns false when project is not a mirror5875 when mirror5876 returns false when project never updated5877 returns false when first update failed5878 returns true when a successful update timestamp exists5879 #set_next_execution_timestamp5880 when base delay is lower than mirror_max_delay5881 when retry count is 05882 applies transition successfully5883 when incrementing retry count5884 applies transition successfully5885 when boundaries are surpassed5886 when last_update_started_at is nil5887 applies transition successfully5888 when base delay is lower than mirror min_delay5889 when resetting retry count5890 applies transition successfully5891 when incrementing retry count5892 applies transition successfully5893 when base delay is higher than mirror_max_delay5894 when resetting retry count5895 applies transition successfully5896 when incrementing retry count5897 applies transition successfully5898 #force_import_job!5899 returns nil if mirror is about to update5900 returns nil when mirror is updating5901 sets next execution timestamp to 5 minutes ago and schedules UpdateAllMirrorsWorker5902 when mirror is hard failed5903 resets retry count and schedules a mirroring worker5904 #reset_retry_count5905 resets retry_count to 05906 #increment_retry_count5907 increments retry_count5908 #set_max_retry_count5909 sets retry_count to max5910 #unrecoverable_failure?5911 is expected to be truthy5912 when error is recoverable5913 is expected to be falsey5914 when error is missing5915 is expected to be falsey5916 when import_state is not failed5917 is expected to be falsey5918GitlabSubscription5919 is expected to delegate #exclude_guests? to the #namespace object5920 default values5921 defaults start_date to the current date5922 validations5923 is expected to validate that :seats cannot be empty/falsy5924 is expected to validate that :start_date cannot be empty/falsy5925 is expected to validate that :namespace_id is case-sensitively unique5926 associations5927 is expected to belong to namespace required: false5928 is expected to belong to hosted_plan required: false5929 scopes5930 .with_hosted_plan5931 scopes to the plan5932 #calculate_seats_in_use5933 returns count of members5934 also counts users from subgroups5935 does not count duplicated members5936 does not count blocked members5937 with free_user_cap5938 does not count awaiting members5939 with guest members5940 with a ultimate plan5941 excludes these members5942 with other plans5943 excludes these members5944 excludes these members5945 when subscription is for a User5946 always returns 1 seat5947 #calculate_seats_owed5948 with a free plan5949 does not update max_seats_used5950 with a trial plan5951 does not update max_seats_used5952 with a paid plan5953 calculates the number of owed seats5954 #seats_remaining5955 when there are more seats used than available in the subscription5956 returns zero5957 when seats used equals seats in subscription5958 returns zero5959 when there are seats left in the subscription5960 returns the seat count remaining from the max seats used5961 when max seat data has not yet been generated for the subscription5962 returns the seat count of the subscription5963 #refresh_seat_attributes!5964 when current seats in use is lower than recorded max_seats_used5965 does not increase max_seats_used5966 when current seats in use is higher than seats and max_seats_used5967 increases seats and max_seats_used5968 #seats_in_use5969 with a paid hosted plan5970 returns the previously calculated seats in use5971 when seats in use is 05972 returns 0 too5973 with a trial plan5974 returns the current seats in use5975 behaves like a disabled feature5976 when feature flag is disabled5977 returns the previously calculated seats in use5978 with a free plan5979 returns the current seats in use5980 behaves like a disabled feature5981 when feature flag is disabled5982 returns the previously calculated seats in use5983 #expired?5984 when end_date is expired5985 is expected to equal true5986 when end_date is not expired5987 is expected to equal false5988 when end_date is nil5989 is expected to equal false5990 #has_a_paid_hosted_plan?5991 plan_name: "bronze", seats: 0, result: false5992 returns true if subscription has a paid hosted plan5993 plan_name: "bronze", seats: 1, result: true5994 returns true if subscription has a paid hosted plan5995 plan_name: "premium", seats: 1, result: true5996 returns true if subscription has a paid hosted plan5997 #upgradable?5998 behaves like upgradable lower plan5999 has_a_paid_hosted_plan: false, expired: false, result: false6000 returns true if subscription is upgradable6001 has_a_paid_hosted_plan: true, expired: false, result: true6002 returns true if subscription is upgradable6003 has_a_paid_hosted_plan: true, expired: true, result: false6004 returns true if subscription is upgradable6005 has_a_paid_hosted_plan: false, expired: true, result: false6006 returns true if subscription is upgradable6007 behaves like upgradable lower plan6008 has_a_paid_hosted_plan: false, expired: false, result: false6009 returns true if subscription is upgradable6010 has_a_paid_hosted_plan: true, expired: false, result: true6011 returns true if subscription is upgradable6012 has_a_paid_hosted_plan: true, expired: true, result: false6013 returns true if subscription is upgradable6014 has_a_paid_hosted_plan: false, expired: true, result: false6015 returns true if subscription is upgradable6016 behaves like upgradable lower plan6017 has_a_paid_hosted_plan: false, expired: false, result: false6018 returns true if subscription is upgradable6019 has_a_paid_hosted_plan: true, expired: false, result: true6020 returns true if subscription is upgradable6021 has_a_paid_hosted_plan: true, expired: true, result: false6022 returns true if subscription is upgradable6023 has_a_paid_hosted_plan: false, expired: true, result: false6024 returns true if subscription is upgradable6025 behaves like upgradable lower plan6026 has_a_paid_hosted_plan: false, expired: false, result: false6027 returns true if subscription is upgradable6028 has_a_paid_hosted_plan: true, expired: false, result: true6029 returns true if subscription is upgradable6030 has_a_paid_hosted_plan: true, expired: true, result: false6031 returns true if subscription is upgradable6032 has_a_paid_hosted_plan: false, expired: true, result: false6033 returns true if subscription is upgradable6034 behaves like upgradable lower plan6035 has_a_paid_hosted_plan: false, expired: false, result: false6036 returns true if subscription is upgradable6037 has_a_paid_hosted_plan: true, expired: false, result: true6038 returns true if subscription is upgradable6039 has_a_paid_hosted_plan: true, expired: true, result: false6040 returns true if subscription is upgradable6041 has_a_paid_hosted_plan: false, expired: true, result: false6042 returns true if subscription is upgradable6043 behaves like upgradable lower plan6044 has_a_paid_hosted_plan: false, expired: false, result: false6045 returns true if subscription is upgradable6046 has_a_paid_hosted_plan: true, expired: false, result: true6047 returns true if subscription is upgradable6048 has_a_paid_hosted_plan: true, expired: true, result: false6049 returns true if subscription is upgradable6050 has_a_paid_hosted_plan: false, expired: true, result: false6051 returns true if subscription is upgradable6052 behaves like upgradable lower plan6053 has_a_paid_hosted_plan: false, expired: false, result: false6054 returns true if subscription is upgradable6055 has_a_paid_hosted_plan: true, expired: false, result: true6056 returns true if subscription is upgradable6057 has_a_paid_hosted_plan: true, expired: true, result: false6058 returns true if subscription is upgradable6059 has_a_paid_hosted_plan: false, expired: true, result: false6060 returns true if subscription is upgradable6061 behaves like top plan6062 has_a_paid_hosted_plan: false, expired: false6063 returns false6064 has_a_paid_hosted_plan: true, expired: false6065 returns false6066 has_a_paid_hosted_plan: true, expired: true6067 returns false6068 has_a_paid_hosted_plan: false, expired: true6069 returns false6070 behaves like top plan6071 has_a_paid_hosted_plan: false, expired: false6072 returns false6073 has_a_paid_hosted_plan: true, expired: false6074 returns false6075 has_a_paid_hosted_plan: true, expired: true6076 returns false6077 has_a_paid_hosted_plan: false, expired: true6078 returns false6079 behaves like top plan6080 has_a_paid_hosted_plan: false, expired: false6081 returns false6082 has_a_paid_hosted_plan: true, expired: false6083 returns false6084 has_a_paid_hosted_plan: true, expired: true6085 returns false6086 has_a_paid_hosted_plan: false, expired: true6087 returns false6088 callbacks6089 has all attributes listed in the subscription history table6090 after_commit6091 index_namespace6092 indexes the namespace6093 when seats is 06094 does not index the namespace6095 when it is a trial6096 indexes the namespace6097 when seats is zero6098 indexes the namespace6099 when in free plan6100 does not index the namespace6101 when not ::Gitlab.com?6102 does not index the namespace6103 when the plan has expired6104 does not index the namespace6105 when it is a free plan6106 does not index the namespace6107 before_update6108 logs previous state to gitlab subscription history6109 when max_seats_used has changed6110 updates the max_seats_used_changed_at6111 when max_seats_used has not changed6112 does not change the max_seats_used_changed_at6113 when start and end dates change6114 when start_date is after the old end_date6115 resets seats attributes6116 when the end_date was nil6117 resets seats attributes6118 when start_date is not after the old end_date6119 does not reset seats attributes6120 when only one date is changed6121 does not reset seats attributes6122 when no dates are changed6123 does not reset seats attributes6124 after_destroy_commit6125 logs previous state to gitlab subscription history6126 .yield_long_expired_indexed_namespaces6127 yields ElasticsearchIndexedNamespace that belong to subscriptions that expired over a week ago6128 when in a trial6129 #trial_extended_or_reactivated?6130 trial_extension_type: nil, extended_or_reactivated: false6131 is expected to equal false6132 trial_extension_type: 1, extended_or_reactivated: true6133 is expected to equal true6134 trial_extension_type: 2, extended_or_reactivated: true6135 is expected to equal true6136 #trial_days_remaining6137 at the beginning of a trial6138 is expected to eq 306139 in the middle of a trial6140 is expected to eq 156141 at the end of a trial6142 is expected to eq 06143 #trial_duration6144 for a default trial duration6145 is expected to eq 306146 for a custom trial duration6147 is expected to eq 106148 #trial_days_used6149 at the beginning of a trial6150 is expected to eq 06151 in the middle of a trial6152 is expected to eq 156153 at the end of a trial6154 is expected to eq 306155 #trial_percentage_complete6156 at the beginning of a trial6157 is expected to eq 0.06158 in the middle of a trial6159 is expected to eq 50.06160 at the end of a trial6161 is expected to eq 100.06162 rounding6163 by default6164 rounds to 2 decimal places6165 with custom rounding options6166 rounds to the given number of decimal places6167 #legacy?6168 when a subscription was purchased before the EoA rollout date6169 is expected to be truthy6170 when a subscription was purchased on the EoA rollout date6171 is expected to be falsey6172 when a subscription was purchased after the EoA rollout date6173 is expected to be falsey6174Geo::JobArtifactRegistry6175 factory is valid6176 scopes6177 sync_timed_out6178 return correct records6179 finders6180 .find_registries_never_attempted_sync6181 returns unsynced items6182 returns items that never have an attempt to sync except some specific item ID6183 .find_registries_needs_sync_again6184 returns failed items6185 returns failed items except some specific item ID6186 orders records according to retry_at6187 .fail_sync_timeouts6188 marks started records as failed if they are expired6189 #failed!6190 sets last_sync_failure with message6191 truncates a long last_sync_failure6192 increments retry_count6193 sets retry_at to a time in the future6194 when an error is given6195 includes error.message in last_sync_failure6196 when missing_on_primary is not given6197 caps retry_at to default 1 hour6198 when missing_on_primary is falsey6199 caps retry_at to default 1 hour6200 when missing_on_primary is truthy6201 caps retry_at to 4 hours6202 state machine6203 when transitioning to synced6204 marks verification as pending6205 when the model_record cannot be verified6206 when the registry is already verification_disabled6207 changes verification to disabled6208 when the registry is verification_pending6209 changes verification to disabled6210 verification_state machine6211 when transitioning to verification_failed6212 changes state from synced to failed6213 .verification_pending_batch6214 returns IDs of rows which are synced and pending verification6215 excludes rows which are not synced or are not pending verification6216 marks verification as started6217 .verification_failed_batch6218 with a failed record with retry due6219 returns IDs of rows which are synced and have failed verification6220 excludes rows which are not synced or have not failed verification6221 marks verification as started6222 when verification_retry_at is in the future6223 does not return the row which failed verification6224 .needs_verification_count6225 returns the number of rows which are synced and pending verification6226 includes rows which are synced and failed verification and are due for retry6227 excludes rows which are synced and failed verification and have a future retry time6228 excludes rows which are not synced or are not (pending or failed) verification6229 #verification_succeeded!6230 clears checksum mismatch fields6231 #track_checksum_attempt!6232 yields to the checksum calculation6233 when verification was not yet started6234 starts verification6235 when the model record cannot be verified6236 when the registry is already verification_disabled6237 leaves verification as disabled6238 when the registry is verification_pending6239 changes verification to disabled6240 when the primary site is expected to checksum the model record6241 comparison with primary checksum6242 when the calculated checksum matches the primary checksum6243 transitions to verification_succeeded and updates the checksum6244 when the calculated checksum does not match the primary checksum6245 transitions to verification_failed and updates mismatch fields6246 when verification was started6247 does not update verification_started_at6248 when an error occurs while yielding6249 sets verification_failed6250AuditEvents::AuditEventStreamingWorker6251 #perform6252 when the entity type is a group6253 behaves like a successful audit event stream6254 when audit event id is passed6255 when the group has no destinations6256 makes no HTTP calls6257 when the group has a destination6258 makes one HTTP call6259 sends the correct verification header6260 sends correct event type in request body6261 adds event type only when audit operation is present6262 when the destination has custom headers6263 sends the headers with the payload6264 when feature flag 'allow_audit_event_type_filtering' is enabled6265 when no event type filter is present6266 makes one HTTP call6267 when audit_operation streaming event type filter is not present6268 does not make HTTP call6269 when audit_operation streaming event type filter is present6270 makes one HTTP call6271 when the group has several destinations6272 makes the correct number of HTTP calls6273 when feature is unlicensed6274 makes no HTTP calls6275 when audit event json is passed6276 when the group has no destinations6277 makes no HTTP calls6278 when the group has a destination6279 makes one HTTP call6280 sends the correct verification header6281 sends correct event type in request body6282 adds event type only when audit operation is present6283 when the destination has custom headers6284 sends the headers with the payload6285 when feature flag 'allow_audit_event_type_filtering' is enabled6286 when no event type filter is present6287 makes one HTTP call6288 when audit_operation streaming event type filter is not present6289 does not make HTTP call6290 when audit_operation streaming event type filter is present6291 makes one HTTP call6292 when the group has several destinations6293 makes the correct number of HTTP calls6294 when feature is unlicensed6295 makes no HTTP calls6296 behaves like a error is raised6297 when audit event id is passed6298 when any of Gitlab::HTTP::HTTP_ERRORS is raised6299 does not logs the error6300 does not logs the error6301 does not logs the error6302 does not logs the error6303 does not logs the error6304 does not logs the error6305 does not logs the error6306 does not logs the error6307 does not logs the error6308 does not logs the error6309 does not logs the error6310 does not logs the error6311 does not logs the error6312 does not logs the error6313 when URI::InvalidURIError exception is raised6314 logs the error6315 when audit event json is passed6316 when any of Gitlab::HTTP::HTTP_ERRORS is raised6317 does not logs the error6318 does not logs the error6319 does not logs the error6320 does not logs the error6321 does not logs the error6322 does not logs the error6323 does not logs the error6324 does not logs the error6325 does not logs the error6326 does not logs the error6327 does not logs the error6328 does not logs the error6329 does not logs the error6330 does not logs the error6331 when URI::InvalidURIError exception is raised6332 logs the error6333 when both audit event id and audit event json is passed6334 a argument error is raised6335 when the entity type is a project that belongs to a group6336 behaves like a successful audit event stream6337 when audit event id is passed6338 when the group has no destinations6339 makes no HTTP calls6340 when the group has a destination6341 makes one HTTP call6342 sends the correct verification header6343 sends correct event type in request body6344 adds event type only when audit operation is present6345 when the destination has custom headers6346 sends the headers with the payload6347 when feature flag 'allow_audit_event_type_filtering' is enabled6348 when no event type filter is present6349 makes one HTTP call6350 when audit_operation streaming event type filter is not present6351 does not make HTTP call6352 when audit_operation streaming event type filter is present6353 makes one HTTP call6354 when the group has several destinations6355 makes the correct number of HTTP calls6356 when feature is unlicensed6357 makes no HTTP calls6358 when audit event json is passed6359 when the group has no destinations6360 makes no HTTP calls6361 when the group has a destination6362 makes one HTTP call6363 sends the correct verification header6364 sends correct event type in request body6365 adds event type only when audit operation is present6366 when the destination has custom headers6367 sends the headers with the payload6368 when feature flag 'allow_audit_event_type_filtering' is enabled6369 when no event type filter is present6370 makes one HTTP call6371 when audit_operation streaming event type filter is not present6372 does not make HTTP call6373 when audit_operation streaming event type filter is present6374 makes one HTTP call6375 when the group has several destinations6376 makes the correct number of HTTP calls6377 when feature is unlicensed6378 makes no HTTP calls6379 behaves like a error is raised6380 when audit event id is passed6381 when any of Gitlab::HTTP::HTTP_ERRORS is raised6382 does not logs the error6383 does not logs the error6384 does not logs the error6385 does not logs the error6386 does not logs the error6387 does not logs the error6388 does not logs the error6389 does not logs the error6390 does not logs the error6391 does not logs the error6392 does not logs the error6393 does not logs the error6394 does not logs the error6395 does not logs the error6396 when URI::InvalidURIError exception is raised6397 logs the error6398 when audit event json is passed6399 when any of Gitlab::HTTP::HTTP_ERRORS is raised6400 does not logs the error6401 does not logs the error6402 does not logs the error6403 does not logs the error6404 does not logs the error6405 does not logs the error6406 does not logs the error6407 does not logs the error6408 does not logs the error6409 does not logs the error6410 does not logs the error6411 does not logs the error6412 does not logs the error6413 does not logs the error6414 when URI::InvalidURIError exception is raised6415 logs the error6416 when both audit event id and audit event json is passed6417 a argument error is raised6418 when the entity type is a project at a root namespace level6419 behaves like no HTTP calls are made6420 when audit event id is passed as param6421 makes no HTTP calls6422 when audit event json is passed as param6423 makes no HTTP calls6424 when the entity is a NullEntity6425 behaves like no HTTP calls are made6426 when audit event id is passed as param6427 makes no HTTP calls6428 when audit event json is passed as param6429 makes no HTTP calls6430 when root_group_entity_id is passed in audit event json6431 when the group has no destinations6432 makes no HTTP calls6433 when the group has a destination6434 makes one HTTP call6435 sends the correct verification header6436 sends correct event type in request body6437 adds event type only when audit operation is present6438 when the destination has custom headers6439 sends the headers with the payload6440 when feature flag 'allow_audit_event_type_filtering' is enabled6441 when no event type filter is present6442 makes one HTTP call6443 when audit_operation streaming event type filter is not present6444 does not make HTTP call6445 when audit_operation streaming event type filter is present6446 makes one HTTP call6447 when the group has several destinations6448 makes the correct number of HTTP calls6449 when feature is unlicensed6450 makes no HTTP calls6451BackfillLabelIdsForIssues6452 # order random6453 .migrate6454 when migration is already completed6455 does not modify data6456 migration process6457 updates all documents6458 only updates documents missing a field6459 processes in batches6460 .completed?6461 when documents are missing field6462 is expected not to be completed6463 when no documents are missing field6464 is expected to be completed (FAILED - 1)64661st Try error in ./ee/spec/elastic/migrate/migration_shared_examples.rb:98:6467expected `#<BackfillLabelIdsForIssues:0x00007f3f9f5d3050 @version=20220825102900, @helper=#<Gitlab::Elastic::He...og>, @binmode=false, @mon_data=#<Monitor:0x00007f3f9f260e68>, @mon_data_owner_object_id=198594120>>>.completed?` to be truthy, got false6469RSpec::Retry: 2nd try ./ee/spec/elastic/migrate/migration_shared_examples.rb:986470 migration_options6471 has migration options set6472PushRule6473 defaults regexp_uses_re2 to true6474 updates regexp_uses_re2 to true on edit6475 Associations6476 is expected to belong to project required: false inverse_of => push_rule6477 is expected to have one group inverse_of => push_rule6478 Validation6479 is expected to validate that :max_file_size looks like an integer greater than or equal to 06480 validates RE2 regex syntax6481 #branch_name_allowed?6482 checks branch against regex6483 uses RE2 regex engine6484 with legacy regex6485 attempts to use safe RE2 regex engine6486 when unsafe regexps are available6487 falls back to ruby regex engine6488 when unsafe regexps are disabled6489 raises an exception6490 #commit_message_allowed?6491 uses multiline regex6492 #commit_message_blocked?6493 uses multiline regex6494 when commit message with break line in the last6495 uses multiline regex6496 when commit message without break line in the last6497 uses multiline regex6498 #commit_validation?6499 setting: :commit_message_regex, value: "regex", result: true6500 when rule is enabled at global level6501 returns the default value at project level6502 setting: :branch_name_regex, value: "regex", result: true6503 when rule is enabled at global level6504 returns the default value at project level6505 setting: :author_email_regex, value: "regex", result: true6506 when rule is enabled at global level6507 returns the default value at project level6508 setting: :file_name_regex, value: "regex", result: true6509 when rule is enabled at global level6510 returns the default value at project level6511 setting: :reject_unsigned_commits, value: true, result: true6512 when rule is enabled at global level6513 returns the default value at project level6514 setting: :commit_committer_check, value: true, result: true6515 when rule is enabled at global level6516 returns the default value at project level6517 setting: :member_check, value: true, result: true6518 when rule is enabled at global level6519 returns the default value at project level6520 setting: :prevent_secrets, value: true, result: true6521 when rule is enabled at global level6522 returns the default value at project level6523 setting: :max_file_size, value: 1, result: false6524 when rule is enabled at global level6525 returns the default value at project level6526 #commit_message_allowed?6527 raises a MatchError when the regex is invalid6528 #commit_message_blocked?6529 raises a MatchError when the regex is invalid6530 #branch_name_allowed?6531 raises a MatchError when the regex is invalid6532 #author_email_allowed?6533 raises a MatchError when the regex is invalid6534 #filename_denylisted?6535 raises a MatchError when the regex is invalid6536 #commit_signature_allowed?6537 when feature is not licensed and it is enabled6538 accepts unsigned commits6539 when enabled at a global level6540 returns false if commit is not signed6541 and disabled at a Project level6542 returns true if commit is not signed6543 and unset at a Project level6544 returns false if commit is not signed6545 when disabled at a global level6546 returns true if commit is not signed6547 but enabled at a Project level6548 returns false if commit is not signed6549 returns true if commit is signed6550 when user has enabled and disabled it at a project level6551 and it is enabled globally6552 returns false if commit is not signed6553 returns true if commit is signed6554 with caching6555 memoizes the right push rules6556 #available?6557 reject_unsigned_commits6558 with the global push_rule6559 with a EE starter license6560 behaves like an unavailable push_rule6561 is not available6562 with a EE premium license6563 behaves like an available push_rule6564 is available6565 with GL.com plans6566 with a Bronze plan6567 behaves like an unavailable push_rule6568 is not available6569 with a Premium plan6570 behaves like an available push_rule6571 is available6572 with a Ultimate plan6573 behaves like an available push_rule6574 is available6575RequirementsManagement::ImportCsvService6576 when user can create requirements6577 #execute6578 invalid file extension6579 behaves like invalid file6580 returns invalid file error6581 behaves like importer with email notification6582 notifies user of import result6583 empty file6584 behaves like invalid file6585 returns invalid file error6586 behaves like importer with email notification6587 notifies user of import result6588 file without headers6589 behaves like invalid file6590 returns invalid file error6591 behaves like importer with email notification6592 notifies user of import result6593 with a file generated by Gitlab CSV export6594 imports the CSV without errors6595 correctly sets the issuable attributes6596 behaves like importer with email notification6597 notifies user of import result6598 comma delimited file6599 imports CSV without errors6600 correctly sets the issuable attributes6601 behaves like importer with email notification6602 notifies user of import result6603 tab delimited file with error row6604 imports CSV with some error rows6605 correctly sets the issuable attributes6606 behaves like importer with email notification6607 notifies user of import result6608 semicolon delimited file with CRLF6609 imports CSV with a blank row6610 correctly sets the issuable attributes6611 behaves like importer with email notification6612 notifies user of import result6613 when user cannot create requirements6614 behaves like resource not available6615 raises an error6616 when requirements feature is not available6617 behaves like resource not available6618 raises an error6619MergeRequestDiff6620 is expected to respond to #log_geo_deleted_event6621 .with_verification_state6622 returns records with given scope6623 .checksummed6624 returns records with given scope6625 .not_checksummed6626 returns records with given scope6627 #save_verification_details6628 when model record is not part of available_verifiables scope6629 does not create verification details6630 when model_record is part of available_verifiables scope6631 creates verification details6632 #after_save6633 when diff is stored externally and locally6634 does not create verification details when diff is without files6635 does not create verification details when diff is empty6636 creates verification details6637 for a remote stored diff6638 does not create verification details6639 when diff is not stored externally6640 does not create verification details6641 .with_files_stored_locally6642 includes states with local storage6643 excludes states with local storage6644 .has_external_diffs6645 only includes diffs with files6646 only includes externally stored diffs6647 .project_id_in6648 only includes diffs for the provided projects6649 .replicables_for_current_secondary6650 without selective sync or object storage6651 excludes diffs stored in the database6652 excludes empty diffs6653 selective_sync_enabled: true, object_storage_sync_enabled: true, diff_in_object_storage: true, synced_states: 16654 returns the proper number of merge request diff states6655 selective_sync_enabled: true, object_storage_sync_enabled: true, diff_in_object_storage: false, synced_states: 16656 returns the proper number of merge request diff states6657 selective_sync_enabled: true, object_storage_sync_enabled: false, diff_in_object_storage: true, synced_states: 06658 returns the proper number of merge request diff states6659 selective_sync_enabled: true, object_storage_sync_enabled: false, diff_in_object_storage: false, synced_states: 16660 returns the proper number of merge request diff states6661 selective_sync_enabled: false, object_storage_sync_enabled: false, diff_in_object_storage: false, synced_states: 26662 returns the proper number of merge request diff states6663 selective_sync_enabled: false, object_storage_sync_enabled: false, diff_in_object_storage: true, synced_states: 06664 returns the proper number of merge request diff states6665 selective_sync_enabled: false, object_storage_sync_enabled: true, diff_in_object_storage: true, synced_states: 26666 returns the proper number of merge request diff states6667 selective_sync_enabled: false, object_storage_sync_enabled: true, diff_in_object_storage: false, synced_states: 26668 returns the proper number of merge request diff states6669 selective_sync_enabled: true, object_storage_sync_enabled: true, diff_in_object_storage: false, synced_states: 16670 returns the proper number of merge request diff states6671ProjectMember6672 is expected to includes the EE::ProjectMember module6673 behaves like member validations6674 validations6675 validates SSO enforcement6676 enforced SSO enabled6677 allows adding a user linked to the SAML account as member6678 does not allow adding a user not linked to the SAML account as member6679 allows adding a project bot as member6680 subgroups6681 does not allow adding a group member with SSO enforced on subgroup6682 enforced SSO disabled6683 allows adding the group member6684 validates GMA enforcement6685 enforced group managed account enabled6686 allows adding a user linked to the GMA account as project member6687 does not allow adding a user not linked to the GMA account as project member6688 allows adding a project bot6689 enforced group managed account disabled6690 allows adding any user as project member6691 #group_domain_validations6692 does not validate personal projects6693 behaves like member group domain validations6694 validates group domain limitations6695 when project parent has email domain feature switched on6696 users email must match at least one of the allowed domain emails6697 shows proper error message when not invited by admin6698 shows proper error message when invited by admin6699 shows proper error message for single domain limitation6700 invited email must match at least one of the allowed domain emails6701 user emails matching allowed domain must be verified6702 with project bot users6703 bot user email does not match6704 allows the project bot user6705 with group SAML users6706 user emails does not have to be verified6707 with group SCIM users6708 user emails does not have to be verified6709 when group is subgroup6710 users email must match at least one of the allowed domain emails6711 invited email must match at least one of the allowed domain emails6712 user emails matching allowed domain must be verified6713 with group SCIM users6714 user emails does not have to be verified6715 with group SAML users6716 user emails does not have to be verified6717 when project parent group has email domain feature switched off6718 users email need not match allowed domain emails6719 invited email need not match allowed domain emails6720 user emails does not have to be verified6721 #provisioned_by_this_group?6722 is expected to eq false6723 #state6724 #activate!6725 refreshes the user's authorized projects6726 #wait!6727 refreshes the user's authorized projects6728 delete protected environment acceses cascadingly6729 deletes associated protected environment access cascadingly6730 when the user is assiged to multiple protected environments in the same project6731 deletes all associated protected environment accesses in the project6732 when the user is assiged to multiple protected environments across different projects6733 deletes all associated protected environment accesses in the project6734 post create hooks6735 when a new personal project is created6736 does not send notifications or create events for the creator of the project6737 when a different user is added to a personal project as OWNER6738 sends notifications and creates events for the newly added OWNER6739 #accept_invite!6740 does not accept invite if group locks memberships for projects6741Audit::ProjectChangesAuditor6742 # order random6743 .audit_changes6744 non audit changes6745 does not call the audit event service6746 audit changes6747 creates an event when the visibility change6748 creates an event when the name change6749 creates an event when the namespace change6750 creates an event when the repository size limit changes6751 creates an event when the packages enabled setting changes6752 creates an event when the merge requests template changes6753 creates an event when the merge requests author approval changes6754 creates an event when the merge requests committers approval changes6755 creates an event when the reset approvals on push changes6756 creates an event when the require password to approve changes6757 creates an event when the disable overriding approvers per merge request changes6758 creates an event when suggestion_commit_message change6759 does not create an event when suggestion_commit_message change from nil to empty string6760 when project path is updated6761 logs project_path_updated event6762 when auditable boolean column is changed6763 prev_value: true, new_value: false6764 creates an audit event6765 prev_value: false, new_value: true6766 creates an audit event6767 prev_value: true, new_value: false6768 creates an audit event6769 prev_value: false, new_value: true6770 creates an audit event6771 prev_value: true, new_value: false6772 creates an audit event6773 prev_value: false, new_value: true6774 creates an audit event6775 prev_value: true, new_value: false6776 creates an audit event6777 prev_value: false, new_value: true6778 creates an audit event6779 prev_value: true, new_value: false6780 creates an audit event6781 prev_value: false, new_value: true6782 creates an audit event6783 when merge method is changed from Merge6784 ff: true, rebase: true, method: "Fast-forward"6785 creates an audit event6786 ff: true, rebase: false, method: "Fast-forward"6787 creates an audit event6788 ff: false, rebase: true, method: "Rebase merge"6789 creates an audit event6790 when merge method is changed to Merge6791 ff: true, rebase: true6792 creates an Merge method audit event6793 ff: true, rebase: false6794 creates an Merge method audit event6795 ff: false, rebase: true6796 creates an Merge method audit event6797Projects::DestroyService6798 when project is a mirror6799 decrements capacity if mirror was scheduled6800 when running on a primary node6801 logs an event to the Geo event log6802 does not log event to the Geo log if project deletion fails6803 audit events6804 when licensed6805 does not log audit event if operation fails6806 does not log audit event if operation results in no change6807 when operation succeeds6808 logs an audit event6809 logs the audit event info6810 when not licensed6811 does not log audit event6812 streaming audit event6813 sends the audit streaming event with json format6814 system hooks exception6815 logs an audit event6816 when project has an associated ProjectNamespace6817 destroys the associated ProjectNamespace also6818 when project issues are associated with some epics6819 schedules cache update for associated epics in batches6820Ci::Minutes::TrackLiveConsumptionService6821 #execute6822 when build is not running6823 behaves like returns early6824 returns an error response6825 when runner is not of instance type6826 behaves like returns early6827 returns an error response6828 when cost factor is not enabled for build6829 behaves like returns early6830 returns an error response6831 when namespace has unlimited minutes6832 behaves like returns early6833 returns an error response6834 when build has not been tracked recently6835 considers the current consumption as zero6836 when build has been tracked recently6837 behaves like limit not exceeded6838 does not drop the build6839 when current consumption exceeds the limit but not the grace period6840 behaves like limit not exceeded6841 does not drop the build6842 when current consumption exceeds the limit and the grace period6843 behaves like limit exceeded6844 drops the build6845 logs event6846 when namespace is on a trial hosted plan6847 behaves like limit exceeded6848 drops the build6849 logs event6850 when namespace is on a paid plan6851 behaves like limit exceeded6852 drops the build6853 logs event6854 #live_consumption6855 when build has not been tracked6856 is expected to be zero6857 when build has been tracked once6858 returns the consumption since last update6859 when build has been tracked multiple times6860 accumulates the consumption over different runs6861Security::ReportSummaryService#execute6862 Some fields are requested6863 returns only the request fields6864 When some fields are not requested6865 does not make needless queries6866 when scanned resources are not requested6867 does not download the artifact6868 when the scans is requested6869 responds with the scan information6870 All fields are requested6871 returns the scanned_resources_count6872 returns the vulnerability count6873 returns the scanned resources limited to 206874 returns the scanned_resources_csv_path6875 When no security scans ran6876 returns nil6877 When there is a scan but no findings6878 still returns data for the report ran6879AppSec::Dast::ScannerProfiles::CreateService6880 #execute6881 when a user does not have access to a project6882 returns an error status6883 populates message6884 when the user does not have permission to run a dast scan6885 returns an error status6886 populates message6887 when the user can run a dast scan6888 returns a success status6889 creates a dast_scanner_profile6890 creates a dast_scanner_profile with the given params6891 returns a dast_scanner_profile payload6892 audits the creation6893 when the dast_scanner_profile name exists6894 does not create a new dast_scanner_profile6895 returns an error status6896 populates message6897 when on demand scan licensed feature is not available6898 returns an error status6899 populates message6900Geo::ContainerRepositoryReplicator6901 # order random6902 for base replicator functionality6903 invokes replicator.handle_after_create_commit on create6904 behaves like a replicator6905 Geo node status6906 on a primary site6907 .primary_total_count6908 when batch count feature flag is enabled6909 returns the number of available replicables on primary6910 when batch count feature flag is disabled6911 returns the number of available replicables on primary6912 on a secondary site6913 .synced_count6914 returns the number of synced items on secondary6915 .failed_count6916 returns the number of failed items on secondary6917 when replicator is Geo::RegistrySyncWorker compatible6918 has "created" and "deleted" events6919 #replicator6920 is defined and does not raise error6921 .replicables_for_current_secondary6922 when syncing object storage is enabled6923 behaves like is implemented and returns a valid relation6924 is implemented6925 when syncing object storage is disabled6926 behaves like is implemented and returns a valid relation6927 is implemented6928 with selective sync disabled6929 behaves like is implemented and returns a valid relation6930 is implemented6931 with selective sync enabled for namespaces6932 behaves like is implemented and returns a valid relation6933 is implemented6934 with selective sync enabled for shards6935 behaves like is implemented and returns a valid relation6936 is implemented6937 #handle_after_update6938 creates a Geo::Event6939 when replication feature flag is disabled6940 does not publish6941 #handle_after_destroy6942 creates a Geo::Event6943 when replication feature flag is disabled6944 does not publish6945 updated event consumption6946 when in replicables_for_current_secondary list6947 runs Geo::ContainerRepositorySyncService service6948 when not in replicables_for_current_secondary list6949 does not run Geo::ContainerRepositorySyncService service6950 created event consumption6951 calls update event consumer6952 deleted event consumption6953 runs Geo::ContainerRepositoryRegistryRemovalService service6954 #model6955 is implemented6956 is a Class6957Resolvers::Geo::PagesDeploymentRegistriesResolver6958 behaves like a Geo registries resolver6959 #resolve6960 when the parent object is the current node6961 when the user has permission to view Geo data6962 when admin mode is enabled6963 when the ids argument is null6964 returns registries, in order6965 when the ids argument is present6966 returns the requested registries, in order6967 when the replication_state argument is present6968 returns registries with requested replication state, in order6969 with verification enabled6970 when the verification_state argument is present6971 returns registries with requested verification state, in order6972 with verification disabled6973 when the verification_state argument is present6974 raises ArgumentError (PENDING: Skipping because verification is enabled for PagesDeployment)6975 when admin mode is disabled6976 returns nothing6977 when the user does not have permission to view Geo data6978 returns nothing6979 when the parent object is not the current node6980 when the user has permission to view Geo data6981 returns nothing, because we can't query other nodes' tracking databases6982Geo::DesignRepositoryShardSyncWorker6983 #perform6984 does not perform Geo::DesignRepositorySyncWorker when shard becomes unhealthy6985 does not perform Geo::DesignRepositorySyncWorker when no geo database is configured6986 does not perform Geo::ProjectSyncWorker when not running on a secondary6987 does not perform Geo::DesignRepositorySyncWorker when node is disabled6988 performs Geo::DesignRepositorySyncWorker for each registry6989 performs Geo::DesignRepositorySyncWorker for designs where last attempt to sync failed6990 performs Geo::DesignRepositorySyncWorker for designs updated recently6991 does not schedule a job twice for the same project6992 with multiple shards6993 uses two loops to schedule jobs6994LdapGroupResetService6995 #execute6996 initiated by ldap user6997 is expected to eq 506998 is expected to eq 106999 is expected to eq 507000 is expected to be nil7001 is expected to be nil7002 initiated by regular user7003 is expected to eq 107004 is expected to eq 107005 is expected to eq 507006 is expected to be nil7007 is expected to be nil7008Gitlab::Geo::LogCursor::Events::RepositoryUpdatedEvent7009 #process7010 when the associated shard is healthy7011 schedules a Geo::ProjectSyncWorker7012 behaves like RepositoryUpdatedEvent7013 creates a new project registry if it does not exist7014 when outside selective sync7015 does not create a new project registry7016 when we have an event source7017 when event source is a repository7018 sets resync_repository to true7019 resets the repository verification fields7020 sets resync_repository_was_scheduled_at to the scheduled time7021 when the event source is a wiki7022 sets resync_wiki to true7023 resets the wiki repository verification fields7024 sets resync_wiki_was_scheduled_at to the scheduled time7025 enqueues the job with the proper args7026 enqueues wiki sync7027 passes correct options7028 enqueues repository sync7029 passes correct options7030 behaves like logs event source info7031 logs `job_id` and `event_id7032 when associated shard is unhealthy7033 does not schedule a Geo::ProjectSyncWorker job7034 behaves like RepositoryUpdatedEvent7035 creates a new project registry if it does not exist7036 when outside selective sync7037 does not create a new project registry7038 when we have an event source7039 when event source is a repository7040 sets resync_repository to true7041 resets the repository verification fields7042 sets resync_repository_was_scheduled_at to the scheduled time7043 when the event source is a wiki7044 sets resync_wiki to true7045 resets the wiki repository verification fields7046 sets resync_wiki_was_scheduled_at to the scheduled time7047Resolvers::VulnerabilitiesResolver7048 #resolve7049 when given sort7050 when sorting descending by severity7051 is expected to eq [#<Vulnerability id:2 [vulnerability:namespace1136/project879/2]>, #<Vulnerability id:3 [vulnerability:namespace1136/project879/3]>, #<Vulnerability id:1 [vulnerability:namespace1136/project879/1]>]7052 when sorting ascending by severity7053 is expected to eq [#<Vulnerability id:1 [vulnerability:namespace1136/project879/1]>, #<Vulnerability id:3 [vulnerability:namespace1136/project879/3]>, #<Vulnerability id:2 [vulnerability:namespace1136/project879/2]>]7054 when sorting param is not provided7055 is expected to eq [#<Vulnerability id:2 [vulnerability:namespace1136/project879/2]>, #<Vulnerability id:3 [vulnerability:namespace1136/project879/3]>, #<Vulnerability id:1 [vulnerability:namespace1136/project879/1]>]7056 when sorting by invalid param7057 is expected to eq [#<Vulnerability id:2 [vulnerability:namespace1136/project879/2]>, #<Vulnerability id:3 [vulnerability:namespace1136/project879/3]>, #<Vulnerability id:1 [vulnerability:namespace1136/project879/1]>]7058 when given severities7059 only returns vulnerabilities of the given severities7060 when given states7061 only returns vulnerabilities of the given states7062 when given scanner external IDs7063 only returns vulnerabilities of the given scanner external IDs7064 when given scanner ID7065 only returns vulnerabilities of the given scanner IDs7066 when given report types7067 only returns vulnerabilities of the given report types7068 when given value for hasIssues argument7069 when has_issues is set to true7070 only returns vulnerabilities that have issues7071 when has_issues is set to false7072 only returns vulnerabilities that does not have issues7073 when given value for has_resolution argument7074 when has_resolution is set to true7075 only returns resolution that have resolution7076 when has_resolution is set to false7077 only returns resolution that does not have resolution7078 when given project IDs7079 only returns vulnerabilities belonging to the given projects7080 with multiple project IDs7081 avoids N+1 queries7082 when resolving vulnerabilities for a project7083 returns the project's vulnerabilities7084 when resolving vulnerabilities for an instance security dashboard7085 when there is a current user7086 returns vulnerabilities for all projects on the current user's instance security dashboard7087 and there is no current user7088 returns no vulnerabilities7089 when image is given7090 only returns vulnerabilities with given image7091 when different report_type is given along with image7092 returns empty list7093 when cluster_id is given7094 ignores the filter and returns unmatching vulnerabilities7095 when cluster_agent_id is given7096 only returns vulnerabilities with given cluster7097 when different report_type is given along with cluster7098 returns empty list7099Types::VulnerabilityType7100 is expected to have graphql fields :userPermissions, :id, :title, :description, :descriptionHtml, :message, :user_notes_count, :state, :severity, :report_type, :resolved_on_default_branch, :vulnerability_path, :location, :scanner, :primary_identifier, :identifiers, :project, :issueLinks, :detected_at, :confirmed_at, :resolved_at, :dismissed_at, :notes, :external_issue_links, :links, :has_solutions, :false_positive, :merge_request, :discussions, :confirmed_by, :resolved_by, :dismissed_by, and :details7101 is expected to require graphql authorizations :read_security_resource7102 vulnerability_path7103 is the path to the vulnerability's detail page7104 has_solutions7105 N+1 queries7106 behaves like N+1 queries7107 avoids N+1 database queries7108 false_positive7109 when the license is missing7110 returns nil7111 when the vulnerability does not have any false positive flag7112 returns false for false-positive field7113 #description7114 when the vulnerability description field is populated7115 returns the description for the vulnerability7116 when the vulnerability description field is empty7117 returns the description for the vulnerability finding7118 #descriptionHtml7119 when the vulnerability descriptionHtml field is populated7120 returns the description for the vulnerability7121 when the vulnerability descriptionHtml field is empty7122 returns the descriptionHtml for the vulnerability finding7123VulnerabilitiesHelper7124 #vulnerability_details7125 [:can_modify_related_issues]7126 with security dashboard feature enabled7127 when user can manage related issues7128 is expected to include {:can_modify_related_issues => true}7129 when user cannot manage related issues7130 is expected to include {:can_modify_related_issues => false}7131 with security dashboard feature disabled7132 is expected to include {:can_modify_related_issues => false}7133 when pipeline exists7134 has expected vulnerability properties7135 returns expected pipeline data7136 when the issues are disabled for the project7137 has `new_issue_url` set as nil7138 when pipeline is nil7139 has expected vulnerability properties7140 returns no pipeline data7141 when the issues are disabled for the project7142 has `new_issue_url` set as nil7143 [:has_mr]7144 with existing merge request feedback7145 is expected to be truthy7146 without feedback7147 is expected to be falsey7148 dismissal descriptions7149 includes translated dismissal descriptions7150 #create_jira_issue_url_for7151 with jira vulnerabilities integration enabled7152 when the given object is a vulnerability7153 delegates rendering URL to Integrations::Jira7154 when scan property is empty7155 renders description using dedicated template without raising error7156 when the given object is an unpersisted finding7157 delegates rendering URL to Integrations::Jira7158 with jira vulnerabilities integration disabled7159 is expected to be nil7160 #vulnerability_finding_data7161 returns finding information7162 when there is no file7163 does not have a blob_path if there is no file7164 with existing dismissal feedback7165 returns dismissal feedback information7166 with markdown field for description7167 when vulnerability has no description and finding has description7168 returns finding information7169 when vulnerability has description and finding has description7170 returns finding information7171 #vulnerability_scan_data?7172 scanner present7173 is expected to be truthy7174 scan present7175 is expected to be truthy7176 neither scan nor scanner being present7177 is expected to be falsey7178Resolvers::VulnerabilitySeveritiesCountResolver7179 #resolve7180 when the user does not have access7181 is redacted7182 when the user has access7183 when given severities7184 only returns count for low severity vulnerability7185 when given states7186 only returns count for high severity vulnerability7187 when given scanner7188 only returns count for high severity vulnerability7189 when given image7190 only returns count for medium severity vulnerability7191 when given cluster agent id7192 only returns count for medium severity vulnerability7193 when given scanner ID7194 only returns count for vulnerabilities with scanner ID7195 when given report types7196 only returns count for vulnerabilities of the given report types7197 when resolving vulnerabilities for a project7198 returns the project's vulnerabilities7199 when filtering vulnerabilities with issues7200 only returns count for vulnerabilities with issues7201 when filtering vulnerabilities with issues7202 only returns count for vulnerabilities with issues7203 when filtering resolved vulnerabilities7204 only returns count for resolved vulnerabilities7205 when filtering resolved vulnerabilities7206 only returns count for resolved vulnerabilities7207 when resolving vulnerabilities for an instance security dashboard7208 when there is a current user7209 returns vulnerabilities for all projects on the current user's instance security dashboard7210 without a current user7211 returns no vulnerabilities7212ApplicationHelper7213 #read_only_message7214 when not in a Geo secondary7215 returns a fallback message if database is readonly7216 returns nil when database is not read_only7217 maintenance mode7218 enabled7219 returns default message7220 returns user set custom maintenance mode message7221 disabled7222 returns nil7223 when in a Geo Secondary7224 maintenance mode7225 enabled7226 returns default message7227 returns user set custom maintenance mode message7228 disabled7229 returns nil7230 #read_only_description7231 when not in a Geo secondary7232 maintenance mode7233 enabled7234 returns read-only message7235 disabled7236 returns nil7237 when in a Geo Secondary7238 maintenance mode7239 enabled7240 returns nil7241 disabled7242 returns nil7243 #geo_secondary_read_only_description7244 when not in a Geo secondary7245 returns nil7246 maintenance mode7247 enabled7248 returns nil7249 disabled7250 returns nil7251 when in a Geo Secondary7252 returns a read-only Geo message7253 returns a limited actions message when @limited_actions_message is true7254 includes a warning about database lag7255 event lag7256 includes a lag warning about a node lag7257 does not include a lag warning because the last event is too fresh7258 does not include a lag warning because the last event is processed7259 does not include a lag warning because there are no events yet7260 #autocomplete_data_sources7261 group7262 returns paths for autocomplete_sources_controller7263 when vulnerabilities are enabled7264 returns paths for autocomplete_sources_controller with vulnerabilities7265 project7266 when epics and vulnerabilities are enabled7267 returns paths for autocomplete_sources_controller for personal projects7268 returns paths for autocomplete_sources_controller including epics and vulnerabilities for group projects7269 when epics and vulnerabilities are disabled7270 returns paths for autocomplete_sources_controller7271 when both CE and EE has partials with the same name7272 #render_ce7273 renders the CE partial7274 #find_ce_template7275 finds the CE partial7276 finds the CE view7277MergeTrains::RefreshService7278 #execute7279 when merge request 1 is passed7280 executes RefreshMergeRequestService to all the following merge requests7281 when refresh service 1 returns error status7282 specifies require_recreate to refresh service 27283 when refresh service 1 returns success status and did not create a pipeline7284 does not specify require_recreate to refresh service 27285 when refresh service 1 returns success status and created a pipeline7286 specifies require_recreate to refresh service 27287 when merge request 1 is not on a merge train7288 does not refresh7289 when merge request 1 was on a merge train7290 does not refresh7291 when merge request 2 is passed7292 executes RefreshMergeRequestService to all the merge requests from beginning7293Dast::Profile7294 behaves like sanitizable7295 includes Sanitizable7296 #name7297 when input includes javascript tags7298 gets sanitized7299 #name validation7300 when input contains pre-escaped html entities7301 is not valid7302 #description7303 when input includes javascript tags7304 gets sanitized7305 #description validation7306 when input contains pre-escaped html entities7307 is not valid7308 associations7309 is expected to belong to project required: false7310 is expected to belong to dast_site_profile required: false7311 is expected to belong to dast_scanner_profile required: false7312 is expected to have many secret_variables class_name => Dast::SiteProfileSecretVariable through dast_site_profile7313 is expected to have one dast_profile_schedule class_name => Dast::ProfileSchedule inverse_of => dast_profile7314 validations7315 is expected to be valid7316 is expected to validate that the length of :name is at most 2557317 is expected to validate that the length of :description is at most 2557318 is expected to validate that the length of :branch_name is at most 2557319 is expected to validate that :name is case-sensitively unique within the scope of :project_id7320 is expected to validate that :project_id cannot be empty/falsy7321 is expected to validate that :dast_site_profile_id cannot be empty/falsy7322 is expected to validate that :dast_scanner_profile_id cannot be empty/falsy7323 is expected to validate that :name cannot be empty/falsy7324 when the project_id and dast_site_profile.project_id do not match7325 behaves like the project_id does not match7326 is not valid7327 when the project_id and dast_scanner_profile.project_id do not match7328 behaves like the project_id does not match7329 is not valid7330 when the description is nil7331 is not valid7332 when a branch_name is specified but the project does not have a respository7333 is not valid7334 when a branch_name is specified but the project does not have a respository7335 is not valid7336 scopes7337 by_project_id7338 includes the correct records7339 with_schedule7340 when has_dast_profile_schedule is true7341 includes the dast_profile with schedule7342 when has_dast_profile_schedule is false7343 includes the dast_profile without schedule7344 instance methods7345 #branch7346 when the associated project does not have a repository7347 returns nil7348 when the associated project has a repository7349 returns a Dast::Branch7350 #secret_ci_variables7351 is expected to delegate #secret_ci_variables to the #dast_site_profile object7352Security::ScanExecutionPoliciesFinder7353 when actor is Clusters::Agent7354 when agent project has security_orchestration_policy project7355 returns policy matching the given scan type7356 when action_scan_types is given7357 when there are multiple policies7358 returns policy matching the given scan type7359 when there are no matching policies7360 returns empty response7361 behaves like scan policies finder7362 #execute7363 when execute is not implemented in the subclass7364 raises NotImplementedError7365 when feature is not licensed7366 returns empty collection7367 when feature is licensed7368 when configuration is associated to project7369 returns policies with project7370 when configuration is associated to namespace7371 when relationship argument is not provided7372 returns no policies7373 when relationship argument is provided as INHERITED7374 returns scan policies for groups only7375 when configuration is associated to project and namespace7376 when relationship argument is not provided7377 returns scan policies for project only7378 when relationship argument is provided as INHERITED7379 returns policies defined for both project and namespace7380 when relationship argument is provided as INHERITED_ONLY7381 returns policies defined for namespace only7382 when user is unauthorized7383 returns empty collection7384GroupProjectsFinder7385 with an auditor current user7386 only shared7387 is expected to eq [#<Project id:1028 namespace1257/5>>, #<Project id:1027 namespace1256/4>>, #<Project id:1026 namespace1255/3>>]7388 only owned7389 is expected to eq [#<Project id:1025 group220/group221/2>>, #<Project id:1024 group220/group221/1>>]7390 all7391 is expected to eq [#<Project id:1028 namespace1257/5>>, #<Project id:1027 namespace1256/4>>, #<Project id:1026 namespace1255/3>>, #<Project id:1025 group220/group221/2>>, #<Project id:1024 group220/group221/1>>]7392 group's projects with security scans7393 when security dashboard is enabled for a group7394 is expected to contain exactly #<Project id:1034 group223/project997>>7395 when security dashboard is disabled for a group7396 is expected to include #<Project id:1038 group220/group221/project1001>> and #<Project id:1039 group220/group221/project1002>>7397EE::Namespace::Storage::Notification7398 #show?7399 returns true if all conditions are met7400 when not SaaS7401 is expected to equal false7402 when the user is not provided7403 is expected to equal false7404 when the user does not have at least maintainer access to the group7405 is expected to equal false7406 when alert level is none7407 is expected to equal false7408 for repository limits7409 returns true if all conditions are met7410 when the user does not have at least owner access to the group7411 is expected to equal false7412 #payload7413 with repository usage7414 when additional_purchased_storage_size is 07415 returns proper usage_message7416 returns proper explanation_message7417 when additional_purchased_storage_size exists7418 returns usage_message when there is additional_purchased_storage_size7419 returns usage_message with singular version if its just 1 locked project7420 returns explanation_message when there is additional_purchased_storage_size7421 when namespace does not have locked projects7422 behaves like namespace usage_message7423 returns correct usage_message7424 with namespace usage7425 when above the limit7426 returns above the limit messages7427 behaves like namespace usage_message7428 returns correct usage_message7429 when below the limit7430 returns below the limit messages7431Members::UpdateService7432 when current user can update the given member7433 behaves like logs an audit event7434 is expected to change `AuditEvent.count` by 17435 behaves like logs an audit event7436 is expected to change `AuditEvent.count` by 17437 when the update is a noOp7438 behaves like does not log an audit event7439 is expected not to change `AuditEvent.count`7440 behaves like does not log an audit event7441 is expected not to change `AuditEvent.count`7442 when access_level remains the same and expires_at changes7443 behaves like logs an audit event7444 is expected to change `AuditEvent.count` by 17445 when expires_at remains the same and access_level changes7446 behaves like logs an audit event7447 is expected to change `AuditEvent.count` by 17448DashboardEnvironmentsSerializer7449 .represent7450 returns an empty array when there are no projects7451 includes project attributes7452 preloads only relevant ci_builds and does not result in N+17453Ci::PipelineTriggerService7454 #execute7455 with a trigger token7456 group with restriction7457 address is within the range7458 triggers a pipeline7459 address is outside the range7460 does nothing7461 group without restriction7462 triggers a pipeline7463 with a job token7464 group with restriction7465 address is within the range7466 triggers a pipeline7467 address is outside the range7468 does nothing7469 group without restriction7470 triggers a pipeline7471EE::Ci::RunnersHelper7472 #toggle_shared_runners_settings_data7473 when user has a valid credit card7474 return is_credit_card_validation_required as "false"7475 when user does not have a valid credit card7476 return is_credit_card_validation_required as "true"7477 with notifications7478 .show_buy_pipeline_minutes?7479 when on dot com7480 behaves like minutes notification7481 with a project and namespace7482 when not on dot com7483 is expected to be falsey7484 when on dot com7485 is expected to be truthy7486 without a persisted project passed7487 is expected to be truthy7488 without a persisted namespace passed7489 is expected to be truthy7490 with neither a project nor a namespace7491 is expected to be falsey7492 when show_pipeline_minutes_notification_dot? has been called before7493 does not do all the notification and query work again7494 when show notification is falsey7495 is expected to be falsey7496 when show_pipeline_minutes_notification_dot? has been called before7497 does not do all the notification and query work again7498 .show_pipeline_minutes_notification_dot?7499 behaves like minutes notification7500 with a project and namespace7501 when not on dot com7502 is expected to be falsey7503 when on dot com7504 is expected to be truthy7505 without a persisted project passed7506 is expected to be truthy7507 without a persisted namespace passed7508 is expected to be truthy7509 with neither a project nor a namespace7510 is expected to be falsey7511 when show_pipeline_minutes_notification_dot? has been called before7512 does not do all the notification and query work again7513 when show notification is falsey7514 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 the notification dot has been acknowledged7518 is expected to be falsy7519 when the notification dot has not been acknowledged7520 is expected to be truthy7521 .show_buy_pipeline_with_subtext?7522 when the notification dot has not been acknowledged7523 is expected to be falsey7524 when the notification dot has been acknowledged7525 is expected to be truthy7526 .root_ancestor_namespace7527 with a project7528 returns the project root ancestor7529 with only a namespace7530 returns the namespace root ancestor7531Deployments::Approval7532 associations7533 is expected to belong to user required: false7534 is expected to belong to deployment required: false7535 is expected to belong to approval_rule class_name => ProtectedEnvironments::ApprovalRule required: false inverse_of => deployment_approvals7536 validations7537 is expected to validate that :user cannot be empty/falsy7538 is expected to validate that :user is case-sensitively unique within the scope of :deployment_id7539 is expected to validate that :deployment cannot be empty/falsy7540 is expected to validate that :status cannot be empty/falsy7541 is expected to validate that the length of :comment is at most 2557542Vulnerabilities::Export7543 is expected to define :format as an enum backed by an integer7544 associations7545 is expected to belong to project required: false7546 is expected to belong to group required: false7547 is expected to belong to author class_name => User required: true7548 validations7549 is expected to validate that :status cannot be empty/falsy7550 is expected to validate that :format cannot be empty/falsy7551 is expected not to validate that :file cannot be empty/falsy7552 when export is finished7553 is expected to validate that :file cannot be empty/falsy7554 presence of both project and group7555 when the project is present7556 when the group is present7557 is expected to include "Project & Group can not be assigned at the same time"7558 when the group is not present7559 is expected not to include "Project & Group can not be assigned at the same time"7560 when the project is not present7561 when the group is present7562 is expected not to include "Project & Group can not be assigned at the same time"7563 when the group is not present7564 is expected not to include "Project & Group can not be assigned at the same time"7565 #status7566 when the export is new7567 is expected to have attributes {:status => "created"}7568 when the export starts7569 is expected to have attributes {:started_at => 2022-11-07 01:28:22.000000000 +0000, :status => "running"}7570 when the export is running7571 and it finishes7572 is expected to have attributes {:finished_at => 2022-11-07 01:28:22.000000000 +0000, :status => "finished"}7573 and it fails7574 is expected to have attributes {:finished_at => 2022-11-07 01:28:23.000000000 +0000, :status => "failed"}7575 #exportable7576 when the export has project assigned7577 is expected to eq #<Project id: namespace1308/project1036>>7578 when the export does not have project assigned7579 when the export has group assigned7580 is expected to eq #<Group id: @group235>7581 when the export does not have group assigned7582 is expected to eq #<InstanceDouble(InstanceSecurityDashboard) (anonymous)>7583 #exportable=7584 when the exportable is a Project7585 changes the exportable of the export to given project7586 when the exportable is a Group7587 changes the exportable of the export to given group7588 when the exportable is an InstanceSecurityDashboard7589 changes the exportable of the export to security dashboard of the author7590 when the exportable is a String7591 raises an exception7592 #completed?7593 when status is created7594 is expected not to be completed7595 when status is running7596 is expected not to be completed7597 when status is finished7598 is expected to be completed7599 when status is failed7600 is expected to be completed7601Gitlab::Geo::Oauth::LogoutToken7602 #valid?7603 returns false when current user is nil7604 returns false when state is nil7605 returns false when state is empty7606 returns false when token has an incorrect encoding7607 returns false when token could not be found7608 returns false when token has an invalid status7609 returns false when token does not belong to the user7610 returns true when token is valid7611 #return_to7612 returns nil when token is invalid7613 returns nil when there is no Geo node associated with the OAuth application7614 when state return_to param is nil7615 returns the Geo node URL associated with the OAuth application7616 when state return_to param is empty7617 returns the Geo node URL associated with the OAuth application7618 when state return_to param is set7619 returns the full path to the Geo node URL associated with the OAuth application7620 replaces the host with the Geo node associated with the OAuth application7621 handles leading and trailing slashes correctly7622VulnerabilityExports::Exporters::CsvService7623 includes the columns required for import7624 when block is not given7625 renders csv to string7626 when block is given7627 returns handle to Tempfile7628 CSV content7629 with valid findings7630 when a project belongs to a group7631 includes proper values for each column type7632 when a project belongs to a user7633 includes proper values for each column except group name7634 when a vulnerability is missing a finding7635 includes proper values for each column except Other Identifiers7636ElasticNamespaceIndexerWorker7637 when ES is disabled7638 returns true7639 when ES is enabled7640 returns true if limited indexing is not enabled7641 indexing and deleting7642 indexes all projects belonging to the namespace7643 deletes all projects belonging to the namespace7644Geo::RepositoryVerification::Secondary::ShardWorker7645 #perform7646 does not schedule jobs when shard becomes unhealthy7647 does not schedule jobs when no geo database is configured7648 does not schedule jobs when not running on a secondary7649 does not schedule jobs when number of scheduled jobs exceeds capacity7650 schedule a job for each project7651 schedule jobs for projects missing repository verification7652 schedule jobs for projects missing wiki verification7653 does not schedule jobs for projects on other shards7654 does not schedule jobs for projects missing repositories on primary7655 shard worker scheduler7656 acquires lock namespacing it per shard name7657 backoff time7658 sets the back off time when there are no pending items7659 does not perform Geo::RepositoryVerification::Secondary::SingleWorker when the backoff time is set7660 resource loading7661 handles multiple batches of projects needing verification7662 handles multiple batches of projects needing verification, skipping repositories not verified on primary7663Gitlab::Elastic::DocumentReference7664 .build7665 builds a document for an issue7666 builds a document for a project7667 .serialize7668 does nothing to a string7669 serializes a DocumentReference7670 defers to serialize_record for ApplicationRecord instances7671 defers to serialize_array for Array instances7672 fails to serialize an unrecognised value7673 .serialize_record7674 serializes an issue7675 serializes a project7676 .serialize_array7677 serializes a project array7678 serializes an issue array7679 fails to serialize a too-small array7680 fails to serialize a too-large array7681 .deserialize7682 deserializes an issue string7683 deserializes a project string7684 #initialize7685 creates an issue reference7686 creates a project reference7687 #==7688 is equal to itself7689 is equal to another ref when all elements match7690 is not equal unless the other instance class matches7691 is not equal unless db_id matches7692 is not equal unless es_id matches7693 is not equal unless es_parent matches7694 #klass_name7695 is expected to eq "Issue"7696 #database_record7697 returns an issue7698 returns a project7699 returns nil if the record cannot be found7700 raises if the class is bad7701 #serialize7702 serializes an issue7703 serializes a project7704 ::Collection7705 contains a collection of DocumentReference7706 #preload_database_records7707 preloads database records to avoid N+1 queries7708 batches database records to avoid sql timeouts7709IdentityVerifiable7710 # order random7711 #required_identity_verification_methods7712 risk_band: "High", credit_card: true, phone_number: true, result: ["credit_card", "phone", "email"]7713 is expected to eq ["credit_card", "phone", "email"]7714 risk_band: "High", credit_card: false, phone_number: true, result: ["phone", "email"]7715 is expected to eq ["phone", "email"]7716 risk_band: "High", credit_card: true, phone_number: false, result: ["credit_card", "email"]7717 is expected to eq ["credit_card", "email"]7718 risk_band: "High", credit_card: false, phone_number: false, result: ["email"]7719 is expected to eq ["email"]7720 risk_band: "Medium", credit_card: true, phone_number: true, result: ["phone", "email"]7721 is expected to eq ["phone", "email"]7722 risk_band: "Medium", credit_card: false, phone_number: true, result: ["phone", "email"]7723 is expected to eq ["phone", "email"]7724 risk_band: "Medium", credit_card: true, phone_number: false, result: ["email"]7725 is expected to eq ["email"]7726 risk_band: "Medium", credit_card: false, phone_number: false, result: ["email"]7727 is expected to eq ["email"]7728 risk_band: "Low", credit_card: true, phone_number: true, result: ["email"]7729 is expected to eq ["email"]7730 risk_band: "Low", credit_card: false, phone_number: true, result: ["email"]7731 is expected to eq ["email"]7732 risk_band: "Low", credit_card: true, phone_number: false, result: ["email"]7733 is expected to eq ["email"]7734 risk_band: "Low", credit_card: false, phone_number: false, result: ["email"]7735 is expected to eq ["email"]7736 risk_band: nil, credit_card: true, phone_number: true, result: ["email"]7737 is expected to eq ["email"]7738 risk_band: nil, credit_card: false, phone_number: true, result: ["email"]7739 is expected to eq ["email"]7740 risk_band: nil, credit_card: true, phone_number: false, result: ["email"]7741 is expected to eq ["email"]7742 risk_band: nil, credit_card: false, phone_number: false, result: ["email"]7743 is expected to eq ["email"]7744 #identity_verification_state7745 credit card verification state7746 when user has not verified a credit card7747 is expected to eq false7748 when user has verified a credit card7749 is expected to eq true7750 phone verification state7751 when user has not verified a phone number7752 is expected to eq false7753 when user has verified a phone number7754 is expected to eq true7755 email verification state7756 when user has not verified their email7757 is expected to eq false7758 when user has verified their email7759 is expected to eq true7760 #identity_verified?7761 phone_verified: true, email_verified: true, result: true7762 is expected to eq true7763 phone_verified: true, email_verified: false, result: false7764 is expected to eq false7765 phone_verified: false, email_verified: true, result: false7766 is expected to eq false7767 phone_verified: false, email_verified: false, result: false7768 is expected to eq false7769 when identity_verification feature flag is disabled7770 is expected to eq true7771 #credit_card_verified?7772 when user has not verified a credit card7773 is expected to eq false7774 when user has verified a credit card7775 is expected to eq true7776Elastic::MultiVersionInstanceProxy7777 #version7778 returns instance proxy in specified version7779 repository7780 returns instance proxy in specified version7781 method forwarding7782 forwards methods which should touch all write targets7783 forwards read methods to only reading target7784 does not forward write methods which should touch specific version7785Gitlab::CodeOwners::Validator7786 #execute7787 when the branch does not require code owner approval7788 when paths match entries in the codeowners file7789 behaves like finds no errors7790 returns nil7791 when paths do not match entries in the codeowners file7792 behaves like finds no errors7793 returns nil7794 when the branch requires code owner approval7795 when paths match entries in the codeowners file7796 returns an error message7797 when paths do not match entries in the codeowners file7798 behaves like finds no errors7799 returns nil7800MergeRequestPollCachedWidgetEntity7801 includes policy violation status7802 jira_associations7803 when feature is available7804 is expected to include :jira_associations7805 when jira issue is required for merge7806 is expected to be truthy7807 behaves like contains the issue key specified in MR title / description7808 when Jira issue is provided in MR title7809 is expected to contain exactly "SIGNUP-1234"7810 when Jira issue is provided in MR description7811 is expected to contain exactly "SECURITY-1234"7812 behaves like when issue key is NOT specified in MR title / description7813 is expected to be empty7814 when jira issue is NOT required for merge7815 is expected to be falsey7816 behaves like contains the issue key specified in MR title / description7817 when Jira issue is provided in MR title7818 is expected to contain exactly "SIGNUP-1234"7819 when Jira issue is provided in MR description7820 is expected to contain exactly "SECURITY-1234"7821 behaves like when issue key is NOT specified in MR title / description7822 is expected to be empty7823 when feature is NOT available7824 licensed: true7825 is expected not to include :jira_associations7826 licensed: false7827 is expected not to include :jira_associations7828EE::IssueSidebarBasicEntity7829 contains keys related to issuables7830 contains attributes related to the issue7831 contains attributes related to the available features7832 request_cve_enabled_for_user7833 is_gitlab_com: true, is_public: true, is_admin: true, expected_value: true7834 uses the value from request_cve_enabled_for_user7835 is_gitlab_com: true, is_public: false, is_admin: true, expected_value: false7836 uses the value from request_cve_enabled_for_user7837 is_gitlab_com: true, is_public: false, is_admin: false, expected_value: false7838 uses the value from request_cve_enabled_for_user7839 is_gitlab_com: false, is_public: false, is_admin: true, expected_value: false7840 uses the value from request_cve_enabled_for_user7841 is_gitlab_com: false, is_public: false, is_admin: false, expected_value: false7842 uses the value from request_cve_enabled_for_user7843 can_update_escalation_policy7844 is present and true7845 for a standard issue7846 is not present7847 with escalations policies disabled7848 is not present7849 without permissions7850 is present and false7851Gitlab::Geo::EventGapTracking7852 .min_gap_id7853 returns nil when there are no gaps7854 returns the lowest gap id7855 .gap_count7856 returns 0 when there are no gaps7857 returns the number of gaps7858 #check!7859 does nothing when previous id not valid7860 does nothing when there is no gap7861 tracks the gap if there is one7862 #fill_gaps7863 ignore gaps that are less than 10 minutes old7864 handles gaps that are more than 10 minutes old7865 drops gaps older than 1 hour7866 avoids N+1 queries to fetch event logs and their associated events7867 #track_gaps7868 logs a message7869 saves the gap id in redis7870 saves a range of gaps id in redis7871 saves the gaps in order7872 #gap?7873 returns false when current_id is the previous +17874 returns true when current_id is the previous +27875 returns false when current_id is equal to the previous7876 returns false when current_id less than the previous7877 returns false when previous id is 07878EpicIssues::ListService7879 #execute7880 when epics feature is disabled7881 returns an empty array7882 when epics feature is enabled7883 does not have N+1 queries7884 owner can see all issues and destroy their associations7885 returns related issues JSON7886 user can see only some issues7887 returns related issues JSON7888Backup::Repositories7889 #dump7890DEPRECATION WARNING: Merging ("members"."access_level" != $1) and ("members"."access_level" = $1) no longer maintain both conditions, and will be replaced by the latter in Rails 7.0. To migrate to Rails 7.0's behavior, use `relation.merge(other, rewhere: true)`. (called from block in write_using_load_balancer at /builds/gitlab-org/gitlab/lib/gitlab/database/load_balancing/connection_proxy.rb:120)7891 calls enqueue for each repository type7892DEPRECATION WARNING: Merging ("members"."access_level" != $1) and ("members"."access_level" = $1) no longer maintain both conditions, and will be replaced by the latter in Rails 7.0. To migrate to Rails 7.0's behavior, use `relation.merge(other, rewhere: true)`. (called from block in write_using_load_balancer at /builds/gitlab-org/gitlab/lib/gitlab/database/load_balancing/connection_proxy.rb:120)7893DEPRECATION WARNING: Merging ("members"."access_level" != $1) and ("members"."access_level" = $1) no longer maintain both conditions, and will be replaced by the latter in Rails 7.0. To migrate to Rails 7.0's behavior, use `relation.merge(other, rewhere: true)`. (called from block in write_using_load_balancer at /builds/gitlab-org/gitlab/lib/gitlab/database/load_balancing/connection_proxy.rb:120)7894 avoids N+1 database queries7895 command failure7896DEPRECATION WARNING: Merging ("members"."access_level" != $1) and ("members"."access_level" = $1) no longer maintain both conditions, and will be replaced by the latter in Rails 7.0. To migrate to Rails 7.0's behavior, use `relation.merge(other, rewhere: true)`. (called from block in write_using_load_balancer at /builds/gitlab-org/gitlab/lib/gitlab/database/load_balancing/connection_proxy.rb:120)7897 enqueue_group raises an error7898 group query raises an error7899 storages7900DEPRECATION WARNING: Merging ("members"."access_level" != $1) and ("members"."access_level" = $1) no longer maintain both conditions, and will be replaced by the latter in Rails 7.0. To migrate to Rails 7.0's behavior, use `relation.merge(other, rewhere: true)`. (called from block in write_using_load_balancer at /builds/gitlab-org/gitlab/lib/gitlab/database/load_balancing/connection_proxy.rb:120)7901 calls enqueue for all repositories on the specified storage7902 #restore7903DEPRECATION WARNING: Merging ("members"."access_level" != $1) and ("members"."access_level" = $1) no longer maintain both conditions, and will be replaced by the latter in Rails 7.0. To migrate to Rails 7.0's behavior, use `relation.merge(other, rewhere: true)`. (called from block in write_using_load_balancer at /builds/gitlab-org/gitlab/lib/gitlab/database/load_balancing/connection_proxy.rb:120)7904 calls enqueue for each repository type7905 storages7906DEPRECATION WARNING: Merging ("members"."access_level" != $1) and ("members"."access_level" = $1) no longer maintain both conditions, and will be replaced by the latter in Rails 7.0. To migrate to Rails 7.0's behavior, use `relation.merge(other, rewhere: true)`. (called from block in write_using_load_balancer at /builds/gitlab-org/gitlab/lib/gitlab/database/load_balancing/connection_proxy.rb:120)7907 calls enqueue for all repositories on the specified storage7908 paths7909 calls enqueue for all descendant repositories on the specified group7910Ci::PlayBuildService#execute7911 behaves like restricts access to protected environments7912 when build is related to a protected environment7913 when user does not have access to the environment7914 raises Gitlab::Access::DeniedError7915 when user has access to the environment7916 enqueues the build7917 behaves like prevents playing job when credit card is required7918 when user has required credit card7919 does not raise any exception7920 when user does not have required credit card7921 raises an exception and logs the failure7922Ci::Runners::StaleGroupRunnersPruneCronWorker7923 #perform7924 on saas7925 check_namespace_plan: true, feature_licensed: true, expected_total_pruned: 17926 delegates to Ci::Runners::StaleGroupRunnersPruneService7927 check_namespace_plan: false, feature_licensed: true, expected_total_pruned: 17928 delegates to Ci::Runners::StaleGroupRunnersPruneService7929 check_namespace_plan: true, feature_licensed: false, expected_total_pruned: 07930 delegates to Ci::Runners::StaleGroupRunnersPruneService7931 check_namespace_plan: false, feature_licensed: false, expected_total_pruned: 07932 delegates to Ci::Runners::StaleGroupRunnersPruneService7933 behaves like an idempotent worker7934 is labeled as idempotent7935 performs multiple times sequentially without raising an exception7936 prunes stale runners when group1 is set to allow pruning7937 prunes stale runners7938 does not prune any runners when only group2 is set to allow pruning7939 does not prune runners7940 on non-saas7941 does not prune runners7942Projects::Security::ConfigurationPresenter7943 #to_h7944 includes settings for auto_fix feature7945 reports auto_fix permissions7946 reports security_training_enabled7947 #to_html_data_attribute7948 includes feature meta information for dast scanner7949 does not include feature meta information for other scanner7950Ci::DailyBuildGroupReportResultsFinder7951 #execute7952 with permissions7953 when sort is true7954 returns coverages belonging to the group7955 with a limit below 10007956 uses the provided limit7957 with a limit above 10007958 returns MAX_ITEMS as a limit7959 without a limit7960 returns MAX_ITEMS as a limit7961 with group_activity7962 returns the group activity aggregated data7963 without permmissions7964 returns an empty result7965Gitlab::UsageDataCounters::HLLRedisCounter7966 .categories7967Skipping ./ee/spec/lib/ee/gitlab/usage_data_counters/hll_redis_counter_spec.rb[1:1:1] 'Gitlab::UsageDataCounters::HLLRedisCounter.categories gets all unique category names' because it's flaky.7968 gets all unique category names (PENDING: around hook at ./spec/support/flaky_tests.rb:21 did not execute the example)7969 .known_events7970 returns both ee and ce events79721st Try error in ./ee/spec/lib/ee/gitlab/usage_data_counters/hll_redis_counter_spec.rb:108:7973expected collection contained: [{"aggregation"=>"weekly", "category"=>"analytics", "expiry"=>84, "name"=>"ce_event", "redis_slot"=>"...n"=>"weekly", "category"=>"analytics", "expiry"=>84, "name"=>"ee_event", "redis_slot"=>"analytics"}]7974actual collection contained: [{"aggregation"=>"weekly", "category"=>"ci_users", "feature_flag"=>nil, "name"=>"ci_users_executing_d...activity", "name"=>"g_project_management_epic_blocked_removed", "redis_slot"=>"project_management"}]7975the missing elements were: [{"aggregation"=>"weekly", "category"=>"analytics", "expiry"=>84, "name"=>"ce_event", "redis_slot"=>"...n"=>"weekly", "category"=>"analytics", "expiry"=>84, "name"=>"ee_event", "redis_slot"=>"analytics"}]7976the extra elements were: [{"aggregation"=>"weekly", "category"=>"ci_users", "feature_flag"=>nil, "name"=>"ci_users_executing_d...activity", "name"=>"g_project_management_epic_blocked_removed", "redis_slot"=>"project_management"}]7978RSpec::Retry: 2nd try ./ee/spec/lib/ee/gitlab/usage_data_counters/hll_redis_counter_spec.rb:1087979 .track_event_in_context7980 with valid context7981 entity: "dfb9d2d2-f56c-4c77-8aeb-6cddc4a1f857", event_name: "context_event", context: "default"7982 increments context event counter7983 entity: "dfb9d2d2-f56c-4c77-8aeb-6cddc4a1f857", event_name: "context_event", context: "ultimate"7984 increments context event counter7985 entity: "dfb9d2d2-f56c-4c77-8aeb-6cddc4a1f857", event_name: "context_event", context: "gold"7986 increments context event counter7987 when sending empty context7988 is not incrementing the counter7989 .unique_events7990 does not include instrumented categories7991 with events tracked in context7992 with correct arguments7993 context: default_context, value: 27994 is expected to eq 27995 context: ultimate_context, value: 17996 is expected to eq 17997 context: gold_context, value: 17998 is expected to eq 17999 context: "", value: 08000 is expected to eq 08001 with invalid context8002 raise error8003 .track_event8004 with settings usage ping disabled8005 with license usage ping enabled8006 tracks the event8007Gitlab::Geo::Replicator8008-- create_table(:_test_dummy_models, {:force=>true})8009 -> 0.0057s8010 event DSL8011 .supported_events8012 expects :test event to be supported8013 .event_supported?8014 expects a supported event to return true8015 expect an unsupported event to return false8016 #publish8017 when publishing a supported events with required params8018 creates event with associated event log record8019 when publishing unsupported event8020 raises an argument error8021 #consume8022 accepts valid attributes8023 calls corresponding method with specified named attributes8024 .for_class_name8025 when given a Geo RegistryFinder8026 returns the corresponding Replicator class8027 when given a Geo RegistriesResolver"8028 returns the corresponding Replicator class8029 .for_replicable_name8030 given a valid replicable_name8031 returns the corresponding Replicator class8032 given an invalid replicable_name8033 raises and logs NotImplementedError8034 given nil8035 raises NotImplementedError8036 .for_replicable_params8037 returns the corresponding Replicator instance8038 .replicable_params8039 returns a Hash of data needed to reinstantiate the Replicator8040 .bulk_create_events8041 creates events8042 #initialize8043 given model_record8044 sets model_record8045 sets model_record_id8046 given model_record_id8047 sets model_record8048 sets model_record_id8049 #in_replicables_for_current_secondary?8050 is expected to delegate #in_replicables_for_current_secondary? to the #model_record object8051-- drop_table(:_test_dummy_models, {:force=>true})8052 -> 0.0029s8053Gitlab::Geo::Oauth::LoginState8054 .from_state8055 returns a invalid instance when state is nil8056 returns a invalid instance when state is empty8057 returns a valid instance when state is valid8058 #valid?8059 returns false when return_to is nil8060 returns false when return_to is empty8061 returns false when token is nil8062 returns false when token is empty8063 returns false when salt not match8064 returns false when token does not match8065 returns false when token's expired8066 returns true when token matches8067 #encode8068 does not raise an error when return_to is nil8069 returns a string with salt, token, and return_to colon separated8070 #return_to8071 returns nil when return_to is nil8072 returns an empty string when return_to is empty8073 returns the full path of the return_to URL8074Epics::UpdateCachedMetadataWorker8075 # order random8076 #perform8077 logs extra params8078 is labeled as idempotent8079 performs multiple times sequentially without raising an exception8080 behaves like successful metadata update8081 updates epic issue cached metadata and changes are propagated to ancestors8082 behaves like successful metadata update8083 updates epic issue cached metadata and changes are propagated to ancestors8084 when epic id not found8085 does nothing8086 when multiple epic ids are passed8087 updates epic issue cached metadata for each epic8088 obtains exclusive lock for each epic8089Gitlab::Geo::LogCursor::Events::HashedStorageMigratedEvent8090 #process8091 schedules a Geo::HashedStorageMigrationWorker8092 when a tracking entry does not exist8093 does not create a tracking entry8094 does not schedule a Geo::HashedStorageMigrationWorker8095 behaves like logs event source info8096 logs `job_id` and `event_id8097Gitlab::Auth::GroupSaml::SessionEnforcer8098 #access_restricted8099 when git check is enforced8100 with an active session8101 behaves like not enforced8102 is not enforced8103 with sub-group8104 behaves like not enforced8105 is not enforced8106 with expired session8107 returns true8108 with two active sessions8109 behaves like not enforced8110 is not enforced8111 with two active sessions for the same provider and one pre-sso8112 behaves like not enforced8113 is not enforced8114 without enforced_sso_expiry feature flag8115 behaves like not enforced8116 is not enforced8117 without group8118 behaves like not enforced8119 is not enforced8120 without saml_provider8121 behaves like not enforced8122 is not enforced8123 with admin8124 behaves like not enforced8125 is not enforced8126 with auditor8127 behaves like not enforced8128 is not enforced8129 with group owner8130 behaves like not enforced8131 is not enforced8132 without any session8133 returns true8134 with admin8135 behaves like not enforced8136 is not enforced8137 with auditor8138 behaves like not enforced8139 is not enforced8140 with group owner8141 behaves like not enforced8142 is not enforced8143 when group is a subgroup8144 returns true8145 with project bot8146 behaves like not enforced8147 is not enforced8148 when git check is not enforced8149 with an active session8150 behaves like not enforced8151 is not enforced8152 without any session8153 behaves like not enforced8154 is not enforced8155Ci::CreatePipelineService8156 drops builds that match shared runners8157 with private runners8158 does not drop the builds8159Max Limits Module8160 max limits query methods8161 params: {:max_issue_count=>0}, expected_max_issue_count?: true, expected_max_issue_weight?: false, expected_max_issue_count_by_params: 0, expected_max_issue_weight_by_params: 0, expected_list_attributes: {:max_issue_count=>0}8162 returns the expected values8163 params: {:max_issue_count=>nil}, expected_max_issue_count?: false, expected_max_issue_weight?: false, expected_max_issue_count_by_params: 0, expected_max_issue_weight_by_params: 0, expected_list_attributes: {}8164 returns the expected values8165 params: {:max_issue_count=>-1}, expected_max_issue_count?: true, expected_max_issue_weight?: false, expected_max_issue_count_by_params: -1, expected_max_issue_weight_by_params: 0, expected_list_attributes: {:max_issue_count=>-1}8166 returns the expected values8167 params: {:max_issue_count=>1}, expected_max_issue_count?: true, expected_max_issue_weight?: false, expected_max_issue_count_by_params: 1, expected_max_issue_weight_by_params: 0, expected_list_attributes: {:max_issue_count=>1}8168 returns the expected values8169 params: {:max_issue_count=>"1"}, expected_max_issue_count?: true, expected_max_issue_weight?: false, expected_max_issue_count_by_params: 1, expected_max_issue_weight_by_params: 0, expected_list_attributes: {:max_issue_count=>1}8170 returns the expected values8171 params: {:max_issue_weight=>0}, expected_max_issue_count?: false, expected_max_issue_weight?: true, expected_max_issue_count_by_params: 0, expected_max_issue_weight_by_params: 0, expected_list_attributes: {:max_issue_weight=>0}8172 returns the expected values8173 params: {:max_issue_weight=>nil}, expected_max_issue_count?: false, expected_max_issue_weight?: false, expected_max_issue_count_by_params: 0, expected_max_issue_weight_by_params: 0, expected_list_attributes: {}8174 returns the expected values8175 params: {:max_issue_weight=>-1}, expected_max_issue_count?: false, expected_max_issue_weight?: true, expected_max_issue_count_by_params: 0, expected_max_issue_weight_by_params: -1, expected_list_attributes: {:max_issue_weight=>-1}8176 returns the expected values8177 params: {:max_issue_weight=>1}, expected_max_issue_count?: false, expected_max_issue_weight?: true, expected_max_issue_count_by_params: 0, expected_max_issue_weight_by_params: 1, expected_list_attributes: {:max_issue_weight=>1}8178 returns the expected values8179 params: {:max_issue_weight=>"1"}, expected_max_issue_count?: false, expected_max_issue_weight?: true, expected_max_issue_count_by_params: 0, expected_max_issue_weight_by_params: 1, expected_list_attributes: {:max_issue_weight=>1}8180 returns the expected values8181 params: {:max_issue_count=>1, :max_issue_weight=>1}, expected_max_issue_count?: true, expected_max_issue_weight?: true, expected_max_issue_count_by_params: 1, expected_max_issue_weight_by_params: 1, expected_list_attributes: {:max_issue_count=>1, :max_issue_weight=>1}8182 returns the expected values8183 params: {:max_issue_count=>"1", :max_issue_weight=>1}, expected_max_issue_count?: true, expected_max_issue_weight?: true, expected_max_issue_count_by_params: 1, expected_max_issue_weight_by_params: 1, expected_list_attributes: {:max_issue_count=>1, :max_issue_weight=>1}8184 returns the expected values8185 params: {:max_issue_count=>1, :max_issue_weight=>"1"}, expected_max_issue_count?: true, expected_max_issue_weight?: true, expected_max_issue_count_by_params: 1, expected_max_issue_weight_by_params: 1, expected_list_attributes: {:max_issue_count=>1, :max_issue_weight=>1}8186 returns the expected values8187 params: {:max_issue_count=>nil, :max_issue_weight=>"1"}, expected_max_issue_count?: false, expected_max_issue_weight?: true, expected_max_issue_count_by_params: 0, expected_max_issue_weight_by_params: 1, expected_list_attributes: {:max_issue_weight=>1}8188 returns the expected values8189 params: {:max_issue_count=>1, :max_issue_weight=>2}, expected_max_issue_count?: true, expected_max_issue_weight?: true, expected_max_issue_count_by_params: 1, expected_max_issue_weight_by_params: 2, expected_list_attributes: {:max_issue_count=>1, :max_issue_weight=>2}8190 returns the expected values8191 params: {:max_issue_count=>0, :max_issue_weight=>3}, expected_max_issue_count?: true, expected_max_issue_weight?: true, expected_max_issue_count_by_params: 0, expected_max_issue_weight_by_params: 3, expected_list_attributes: {:max_issue_count=>0, :max_issue_weight=>3}8192 returns the expected values8193 params: {:max_issue_count=>nil, :max_issue_weight=>3}, expected_max_issue_count?: false, expected_max_issue_weight?: true, expected_max_issue_count_by_params: 0, expected_max_issue_weight_by_params: 3, expected_list_attributes: {:max_issue_weight=>3}8194 returns the expected values8195 params: {:max_issue_count=>-1, :max_issue_weight=>3}, expected_max_issue_count?: true, expected_max_issue_weight?: true, expected_max_issue_count_by_params: -1, expected_max_issue_weight_by_params: 3, expected_list_attributes: {:max_issue_count=>-1, :max_issue_weight=>3}8196 returns the expected values8197 params: {:max_issue_count=>nil, :max_issue_weight=>nil}, expected_max_issue_count?: false, expected_max_issue_weight?: false, expected_max_issue_count_by_params: 0, expected_max_issue_weight_by_params: 0, expected_list_attributes: {}8198 returns the expected values8199 params: {:max_issue_count=>-1, :max_issue_weight=>-1}, expected_max_issue_count?: true, expected_max_issue_weight?: true, expected_max_issue_count_by_params: -1, expected_max_issue_weight_by_params: -1, expected_list_attributes: {:max_issue_count=>-1, :max_issue_weight=>-1}8200 returns the expected values8201 params: {:max_issue_count=>1, :max_issue_weight=>"hello"}, expected_max_issue_count?: true, expected_max_issue_weight?: true, expected_max_issue_count_by_params: 1, expected_max_issue_weight_by_params: 0, expected_list_attributes: {:max_issue_count=>1, :max_issue_weight=>0}8202 returns the expected values8203 params: {:max_issue_count=>"2", :max_issue_weight=>"9"}, expected_max_issue_count?: true, expected_max_issue_weight?: true, expected_max_issue_count_by_params: 2, expected_max_issue_weight_by_params: 9, expected_list_attributes: {:max_issue_count=>2, :max_issue_weight=>9}8204 returns the expected values8205 params: {:max_issue_weight=>"9"}, expected_max_issue_count?: false, expected_max_issue_weight?: true, expected_max_issue_count_by_params: 0, expected_max_issue_weight_by_params: 9, expected_list_attributes: {:max_issue_weight=>9}8206 returns the expected values8207 params: {:max_issue_count=>"hello1", :max_issue_weight=>"hello2"}, expected_max_issue_count?: true, expected_max_issue_weight?: true, expected_max_issue_count_by_params: 0, expected_max_issue_weight_by_params: 0, expected_list_attributes: {:max_issue_count=>0, :max_issue_weight=>0}8208 returns the expected values8209Gitlab::Usage::ServicePing::PayloadKeysProcessor8210 missing_instrumented_metrics_key_paths8211 returns the missing keys8212SystemCheck::Geo::AuthorizedKeysCheck8213 #multi_check8214 succeed when all conditions are met8215 OpenSSH config file8216 fails when config file does not exist8217 skips when config file is not readable8218 in docker8219 fails when config file does not exist8220 AuthorizedKeysCommand8221 fails when config file does not contain the AuthorizedKeysCommand8222 warns when config file does not contain the correct AuthorizedKeysCommand8223 fails when cannot find referred authorized keys file on disk8224 AuthorizedKeysCommandUser8225 fails when config file does not contain the AuthorizedKeysCommandUser8226 fails when config file does not contain the correct AuthorizedKeysCommandUser8227 #extract_authorized_keys_command8228 returns false when no command is available8229 returns correct (uncommented) command8230 returns correct (leading whitespace) command8231 returns command without comments and without quotes8232 #extract_authorized_keys_command_user8233 returns false when no command user is available8234 returns correct (uncommented) command8235 returns correct (leading whitespace) command8236 returns command without comments8237 #openssh_config_path8238 when in docker container8239 returns /assets/sshd_config8240 when not in docker container8241 returns /etc/ssh/sshd_config8242Dast::ProfilesPipeline8243 associations8244 is expected to belong to ci_pipeline class_name => Ci::Pipeline required: true8245 is expected to belong to dast_profile class_name => Dast::Profile required: true8246 loose foreign key on dast_profiles_pipelines.ci_pipeline_id8247 behaves like cleanup by a loose foreign key8248 cleans up (delete or nullify) the model8249Verify/Load-Performance-Testing.gitlab-ci.yml8250 the created pipeline8251 has no errors8252 on master8253 behaves like load_performance job on tag or branch8254 by default8255 on another branch8256 behaves like load_performance job on tag or branch8257 by default8258 on tag8259 behaves like load_performance job on tag or branch8260 by default8261 on merge request8262 has no jobs8263Gitlab::Ingestion::BulkInsertableTask8264 .unique_by8265 does not try to create/update duplicate records8266SCA::LicensePolicy8267 #id8268 when a software_policy is provided8269 is expected to eq nil8270 when a software_policy is NOT provided8271 is expected to be nil8272 #name8273 when a software_policy is provided8274 is expected to eq "MIT"8275 when a software_policy is NOT provided8276 is expected to eq "MIT License"8277 when a reported license is NOT provided8278 is expected to eq "MIT"8279 when a reported license and policy NOT provided8280 is expected to be nil8281 #url8282 when a license is provided8283 is expected to eq "https://opensource.org/licenses/MIT"8284 when a license is NOT provided8285 is expected to be nil8286 #dependencies8287 when a license is provided8288 is expected to eq []8289 when a license is NOT provided8290 is expected to be empty8291 #classification8292 when a allowed software_policy is provided8293 is expected to eq "allowed"8294 when a denied software_policy is provided8295 is expected to eq "denied"8296 when a software_policy is NOT provided8297 is expected to eq "unclassified"8298 #spdx_identifier8299 when a software_policy is provided8300 is expected to eq "MIT"8301 when a software_policy is provided but does not have a SPDX Id8302 is expected to eq "MIT"8303 when a software_policy is NOT provided8304 is expected to eq "MIT"8305 when a reported license is NOT provided8306 is expected to eq "MIT"8307IpRestriction8308 relations8309 is expected to belong to group required: false8310 validations8311 is expected to validate that :range cannot be empty/falsy8312 is expected to validate that :group_id cannot be empty/falsy8313 #valid_subnet8314 valid subnet8315 succeeds8316 invalid subnet8317 fails8318 #allow_root_group_only8319 top-level group8320 succeeds8321 subgroup8322 fails8323 #allows_address?8324 address is within the range8325 is expected to be truthy8326 address is outside the range8327 is expected to be falsey8328 range is invalid8329 is expected to be falsey8330 address is invalid8331 is expected to be falsey8332Boards::EpicBoards::CreateService8333 create epic board8334 behaves like create a board8335 with valid params8336 creates a new board8337 returns a successful response8338 creates the default lists8339 with invalid params8340 does not create a new parent board8341 returns an error response8342 does not create board's default lists8343 without params8344 creates a new parent board8345 returns a successful response8346 creates board's default lists8347 when logged in8348 tracks epic board creation8349 when not logged in8350 tracks epic board creation8351Mutations::Vulnerabilities::Confirm8352 #resolve8353 when the user can confirm the vulnerability8354 when user doe not have access to the project8355 raises an error8356 when user has access to the project8357 returns the Confirmed vulnerability8358projects/security/dast_profiles/show8359 renders Vue app root8360 passes new dast site profile path8361 passes new dast scanner profile path8362 passes project's full path8363IssuableExportCsvWorker8364 when issuable type is :requirement8365 emails a CSV8366 calls the Requirements export service8367 calls the Requirements finder8368 with selected fields are present8369 calls the Requirements export service with selected fields8370 with record not found8371 an error is logged if user not found8372 an error is logged if project not found8373 when issuable type is :issue8374 when issuable type is :issue8375 calls Issues::ExportCsvService with specific parameters8376 when issuable type is not :requirement8377 with a valid type8378 does not raise an exception8379 with an invalid type8380 raises an exception with expected message8381IncidentManagement::OncallRotations::DestroyService8382 #execute8383 successfully deletes and returns the rotation8384 when the current_user is anonymous8385 behaves like error response8386 has an informative message8387 when the current_user does not have permissions to remove on-call rotations8388 behaves like error response8389 has an informative message8390 when feature is not available8391 behaves like error response8392 has an informative message8393 when an error occurs during removal8394 behaves like error response8395 has an informative message8396Gitlab::Sitemaps::UrlExtractor8397 .extract8398 when element is a string8399 returns the string without any processing8400 when element is a group8401 calls .extract_from_group8402 when element is a project8403 calls .extract_from_project8404 when element is unknown8405 returns nil8406 .extract_from_group8407 returns several group urls8408 .extract_from_project8409 returns several project urls8410 when wiki access level is8411 disabled8412 does not include wiki url8413 private8414 does not include wiki url8415 when snippets are disabled8416 disabled8417 does not include snippets url8418 private8419 does not include snippets url8420 when issues are disabled8421 disabled8422 does not include issues url8423 private8424 does not include issues url8425 when merge requests are disabled8426 disabled8427 does not include merge requests url8428 private8429 does not include merge requests url8430Billing::PlanComponent8431 with free plan8432DEPRECATION WARNING: `rendered_component` is deprecated and will be removed in v3.0.0. Use `page` instead. (called from block (3 levels) in <top (required)> at /builds/gitlab-org/gitlab/ee/spec/components/billing/plan_component_spec.rb:32)8433DEPRECATION WARNING: `rendered_component` is deprecated and will be removed in v3.0.0. Use `page` instead. (called from block (3 levels) in <top (required)> at /builds/gitlab-org/gitlab/ee/spec/components/billing/plan_component_spec.rb:33)8434 has header for the current plan8435DEPRECATION WARNING: `rendered_component` is deprecated and will be removed in v3.0.0. Use `page` instead. (called from block (3 levels) in <top (required)> at /builds/gitlab-org/gitlab/ee/spec/components/billing/plan_component_spec.rb:37)8436DEPRECATION WARNING: `rendered_component` is deprecated and will be removed in v3.0.0. Use `page` instead. (called from block (3 levels) in <top (required)> at /builds/gitlab-org/gitlab/ee/spec/components/billing/plan_component_spec.rb:38)8437 has pricing info8438DEPRECATION WARNING: `rendered_component` is deprecated and will be removed in v3.0.0. Use `page` instead. (called from block (3 levels) in <top (required)> at /builds/gitlab-org/gitlab/ee/spec/components/billing/plan_component_spec.rb:42)8439 has expected cta_link8440DEPRECATION WARNING: `rendered_component` is deprecated and will be removed in v3.0.0. Use `page` instead. (called from block (3 levels) in <top (required)> at /builds/gitlab-org/gitlab/ee/spec/components/billing/plan_component_spec.rb:49)8441 does not add qa selector to cta link8442 behaves like plan tracking8443DEPRECATION WARNING: `rendered_component` is deprecated and will be removed in v3.0.0. Use `page` instead. (called from block (3 levels) in <top (required)> at /builds/gitlab-org/gitlab/ee/spec/components/billing/plan_component_spec.rb:24)8444 has expected tracking attributes8445 with premium plan8446DEPRECATION WARNING: `rendered_component` is deprecated and will be removed in v3.0.0. Use `page` instead. (called from block (3 levels) in <top (required)> at /builds/gitlab-org/gitlab/ee/spec/components/billing/plan_component_spec.rb:59)8447DEPRECATION WARNING: `rendered_component` is deprecated and will be removed in v3.0.0. Use `page` instead. (called from block (3 levels) in <top (required)> at /builds/gitlab-org/gitlab/ee/spec/components/billing/plan_component_spec.rb:60)8448 has header for the current plan8449DEPRECATION WARNING: `rendered_component` is deprecated and will be removed in v3.0.0. Use `page` instead. (called from block (3 levels) in <top (required)> at /builds/gitlab-org/gitlab/ee/spec/components/billing/plan_component_spec.rb:64)8450DEPRECATION WARNING: `rendered_component` is deprecated and will be removed in v3.0.0. Use `page` instead. (called from block (3 levels) in <top (required)> at /builds/gitlab-org/gitlab/ee/spec/components/billing/plan_component_spec.rb:65)8451 has pricing info8452DEPRECATION WARNING: `rendered_component` is deprecated and will be removed in v3.0.0. Use `page` instead. (called from block (3 levels) in <top (required)> at /builds/gitlab-org/gitlab/ee/spec/components/billing/plan_component_spec.rb:69)8453 has expected cta_link8454DEPRECATION WARNING: `rendered_component` is deprecated and will be removed in v3.0.0. Use `page` instead. (called from block (3 levels) in <top (required)> at /builds/gitlab-org/gitlab/ee/spec/components/billing/plan_component_spec.rb:75)8455 adds qa selector to cta link8456 behaves like plan tracking8457DEPRECATION WARNING: `rendered_component` is deprecated and will be removed in v3.0.0. Use `page` instead. (called from block (3 levels) in <top (required)> at /builds/gitlab-org/gitlab/ee/spec/components/billing/plan_component_spec.rb:24)8458 has expected tracking attributes8459 with ultimate plan8460DEPRECATION WARNING: `rendered_component` is deprecated and will be removed in v3.0.0. Use `page` instead. (called from block (3 levels) in <top (required)> at /builds/gitlab-org/gitlab/ee/spec/components/billing/plan_component_spec.rb:85)8461 has header for the current plan8462DEPRECATION WARNING: `rendered_component` is deprecated and will be removed in v3.0.0. Use `page` instead. (called from block (3 levels) in <top (required)> at /builds/gitlab-org/gitlab/ee/spec/components/billing/plan_component_spec.rb:89)8463DEPRECATION WARNING: `rendered_component` is deprecated and will be removed in v3.0.0. Use `page` instead. (called from block (3 levels) in <top (required)> at /builds/gitlab-org/gitlab/ee/spec/components/billing/plan_component_spec.rb:90)8464 has pricing info8465DEPRECATION WARNING: `rendered_component` is deprecated and will be removed in v3.0.0. Use `page` instead. (called from block (3 levels) in <top (required)> at /builds/gitlab-org/gitlab/ee/spec/components/billing/plan_component_spec.rb:94)8466 has expected cta_link8467DEPRECATION WARNING: `rendered_component` is deprecated and will be removed in v3.0.0. Use `page` instead. (called from block (3 levels) in <top (required)> at /builds/gitlab-org/gitlab/ee/spec/components/billing/plan_component_spec.rb:100)8468 adds qa selector to cta link8469 behaves like plan tracking8470DEPRECATION WARNING: `rendered_component` is deprecated and will be removed in v3.0.0. Use `page` instead. (called from block (3 levels) in <top (required)> at /builds/gitlab-org/gitlab/ee/spec/components/billing/plan_component_spec.rb:24)8471 has expected tracking attributes8472 with unsupported plan8473DEPRECATION WARNING: `rendered_component` is deprecated and will be removed in v3.0.0. Use `page` instead. (called from block (3 levels) in <top (required)> at /builds/gitlab-org/gitlab/ee/spec/components/billing/plan_component_spec.rb:110)8474 does not render8475Plan8476 #paid?8477 when 'default'8478 is expected to be falsey8479 when 'free'8480 is expected to be falsey8481 when 'bronze'8482 is expected to be truthy8483 when 'silver'8484 is expected to be truthy8485 when 'premium'8486 is expected to be truthy8487 when 'gold'8488 is expected to be truthy8489 when 'ultimate'8490 is expected to be truthy8491 when 'ultimate_trial'8492 is expected to be truthy8493 when 'premium_trial'8494 is expected to be truthy8495 when 'opensource'8496 is expected to be truthy8497 ::PLANS_ELIGIBLE_FOR_TRIAL8498 is expected to eq ["default", "free"]8499 #open_source?8500 when is opensource8501 is expected to be truthy8502 when is not opensource8503 is expected to be falsey8504Gitlab::ApplicationContext8505 #to_lazy_hash8506 correctly loads the expected values8507 falls back to a projects namespace plan when a project is passed but no namespace8508 only include values for which an option was specified8509 provided_options: [:user, :namespace, :project], expected_context_keys: [:user, :project, :root_namespace, :client_id, :subscription_plan]8510 is expected to contain exactly :user, :project, :root_namespace, :client_id, and :subscription_plan8511 provided_options: [:user, :project], expected_context_keys: [:user, :project, :root_namespace, :client_id, :subscription_plan]8512 is expected to contain exactly :user, :project, :root_namespace, :client_id, and :subscription_plan8513 provided_options: [:user, :namespace], expected_context_keys: [:user, :root_namespace, :client_id, :subscription_plan]8514 is expected to contain exactly :user, :root_namespace, :client_id, and :subscription_plan8515 provided_options: [:user], expected_context_keys: [:user, :client_id]8516 is expected to contain exactly :user and :client_id8517 provided_options: [:remote_ip], expected_context_keys: [:remote_ip, :client_id]8518 is expected to contain exactly :remote_ip and :client_id8519 provided_options: [:runner], expected_context_keys: [:project, :root_namespace, :client_id, :subscription_plan]8520 is expected to contain exactly :project, :root_namespace, :client_id, and :subscription_plan8521 provided_options: [:caller_id], expected_context_keys: [:caller_id]8522 is expected to contain exactly :caller_id8523 provided_options: [], expected_context_keys: []8524 is expected to contain exactly8525MemberUserEntity8526 matches json schema8527 when using on-call management8528 with oncall schedules8529 with no source given8530 is expected to eq []8531 source is project8532 is expected to contain exactly {:name=>"On-call Schedule #6", :project_name=>"project1171", :project_url=>"http://localhost/group327...7/project1171/-/oncall_schedules", :url=>"http://localhost/group327/project1171/-/oncall_schedules"}8533 source is group8534 is expected to contain exactly {:name=>"On-call Schedule #6", :project_name=>"project1171", :project_url=>"http://localhost/group327...7/project1171/-/oncall_schedules", :url=>"http://localhost/group327/project1171/-/oncall_schedules"} and {:name=>"On-call Schedule #7", :project_name=>"project1172", :project_url=>"http://localhost/group327...7/project1172/-/oncall_schedules", :url=>"http://localhost/group327/project1172/-/oncall_schedules"}8535 with escalation policies8536 with no source given8537 is expected to eq []8538 source is project8539 is expected to contain exactly {:name=>"EscalationPolicy 1", :project_name=>"project1171", :project_url=>"http://localhost/group327/project1171", :url=>"http://localhost/group327/project1171/-/escalation_policies"}8540 source is group8541 is expected to contain exactly {:name=>"EscalationPolicy 1", :project_name=>"project1171", :project_url=>"http://localhost/group327/project1171", :url=>"http://localhost/group327/project1171/-/escalation_policies"} and {:name=>"EscalationPolicy 2", :project_name=>"project1172", :project_url=>"http://localhost/group327/project1172", :url=>"http://localhost/group327/project1172/-/escalation_policies"}8542InstanceSecurityDashboardPolicy8543 read_instance_security_dashboard8544 when the user is not logged in8545 is expected not to be allowed :read_instance_security_dashboard and :read_security_resource8546 when the user is logged in8547 is expected to be allowed :read_instance_security_dashboard and :read_security_resource8548 create_vulnerability_export8549 when the user is not logged in8550 is expected not to be allowed :create_vulnerability_export8551 when the user is logged in8552 is expected to be allowed :create_vulnerability_export8553 read_cluster8554 when the user is not logged in8555 is expected not to be allowed :read_cluster8556 when the user is logged in8557 is expected to be allowed :read_cluster8558EE::Gitlab::Auth::Ldap::Sync::ExternalUsers8559 #update_permissions8560 adds users from both external LDAP groups as external users8561 removes users that are not in the LDAP group8562 leaves external users that do not have the LDAP provider8563 leaves external users that have a different provider identity8564 when ldap connection fails8565 logs a debug message8566Gitlab::Insights::Finders::ProjectsFinder8567 when using ids8568 is expected to contain exactly #<Project id:1175 namespace1436/project1173>> and #<Project id:1177 namespace1438/project1175>>8569 when using paths8570 is expected to contain exactly #<Project id:1175 namespace1436/project1173>> and #<Project id:1176 namespace1437/project1174>>8571 when using mixed types8572 is expected to contain exactly #<Project id:1175 namespace1436/project1173>> and #<Project id:1177 namespace1438/project1175>>8573 when using unknown references8574 is expected to contain exactly #<Project id:1177 namespace1438/project1175>>8575 when empty array is given8576 is expected to eq nil8577Resolvers::Boards::EpicListsResolver8578 is expected to have nullable GraphQL type EpicListConnection8579 #resolve8580 generates an error if user cannot read epic lists8581 when user is member of the group8582 returns epic lists for the board8583 when resolving a single item8584 returns an array with single epic list8585 when the board has hidden lists8586 returns an array with single epic list8587Geo::NodeCreateService8588 #execute8589 creates a new node with valid params8590 does not create a node with invalid params8591 returns true when creation succeeds8592 returns false when creation fails8593 parses the namespace_ids when node have namespace restrictions8594Gitlab::Sitemaps::Generator8595 returns error if the env is not .com8596 when env is .com8597 returns error if group gitlab-org is not found8598 when group gitlab-org is present and public8599 and it is not public8600 returns and error8601 and it is public8602 includes default explore routes and gitlab-org group routes8603EE::Ci::PipelinesHelper8604 #show_cc_validation_alert?8605 user_not_verified?: true, has_required_cc?: false, result: true8606 is expected to eq true8607 user_not_verified?: false, has_required_cc?: true, result: false8608 is expected to eq false8609 user_not_verified?: true, has_required_cc?: true, result: false8610 is expected to eq false8611 user_not_verified?: false, has_required_cc?: false, result: false8612 is expected to eq false8613 without current user8614 is expected to be falsy8615 when not in dev env or com8616 is expected to be falsy8617MergeRequests::BaseService8618 fires the correct number of compliance hooks8619 #filter_params8620 filter users and groups8621 calls ParamsFilteringService8622shared/issuable/_approver_suggestion.html.haml8623 when the approval feature is enabled8624 renders the MR approvals promo8625 when the approval feature is not enabled8626 when the check_namespace_plan setting is on8627 when the user is an owner of the root group8628 renders the MR approvals promo8629 when the user is not an owner of the root group8630 renders nothing8631 when the check_namespace_plan setting is off8632 renders nothing8633Types::Admin::CloudLicenses::LicenseHistoryEntryType8634 is expected to eq "LicenseHistoryEntry"8635 with license type fields8636 is expected to include graphql fields "id", "type", "plan", "name", "email", "company", "starts_at", "expires_at", "block_changes_at", "activated_at", and "users_in_license_count"8637 field values8638 id8639 is expected to include "5"8640 type8641 is expected to eq "online_cloud"8642 plan8643 is expected to eq "ultimate"8644 name8645 is expected to eq "User Example"8646 email8647 is expected to eq "user@example.com"8648 company8649 is expected to eq "Example Inc."8650 starts_at8651 is expected to eq Sun, 07 Aug 20228652 expires_at8653 is expected to eq Mon, 07 Aug 20238654 block_changes_at8655 is expected to eq Thu, 07 Sep 20238656 activated_at8657 is expected to eq Wed, 07 Sep 2022 01:30:53.000000000 +00008658 users_in_license_count8659 is expected to eq 258660 created_at8661 is expected to eq 2022-11-07 01:30:53.519252599 +00008662ApprovalProjectRulePolicy8663 when user can admin project8664 allows updating approval rule8665 when user cannot admin project8666 disallow updating approval rule8667SeatCountAlertHelper8668 #remaining_seat_count8669 sets remaining seats count to the correct number8670 #show_seat_count_alert?8671 with no seat count data8672 does not show the alert8673 with seat count data8674 does show the alert8675 #total_seat_count8676 when the namespace is nil8677 returns nil8678 when the namespace is present8679 sets total seats count to the correct number8680Gitlab::Auth::GroupSaml::XmlResponse8681 configures ruby-saml using configured settings8682 validates xml according to SAML spec8683 correctly detects fingerprint mismatch8684 attributes from encoded XML8685 retrieves NameID from XML8686 retrieves NameID Format from XML8687 provides decoded XML8688IncidentManagement::IssuableResourceLinksFinder8689 #execute8690 when feature is available8691 when user has permissions8692 returns issuable resource links8693 when incident is nil8694 is expected to eq #<ActiveRecord::Relation []>8695 when user has no permissions8696 is expected to eq #<ActiveRecord::Relation []>8697 when feature is not available8698 is expected to eq #<ActiveRecord::Relation []>8699shared/_clone_panel8700 without Geo enabled8701 behaves like has no geo-specific instructions8702 has no geo-specific instructions8703 On a Geo primary node8704 behaves like has no geo-specific instructions8705 has no geo-specific instructions8706 On a Geo secondary node8707 behaves like has no geo-specific instructions8708 has no geo-specific instructions8709AuditEvents::Streaming::EventTypeFilter8710 # order random8711 .audit_event_type_in8712 returns the correct audit events8713 Associations8714 belongs to a external audit event destination8715 Validations8716 is expected to validate that :audit_event_type cannot be empty/falsy8717 is expected to validate that the length of :audit_event_type is at most 2558718 is expected to belong to external_audit_event_destination required: false8719 is expected to validate that :audit_event_type is case-sensitively unique within the scope of :external_audit_event_destination_id8720Gitlab::Ci::Config::Entry::Job8721 .nodes8722 when filtering all the entry/node names8723 is expected to include :dast_configuration and :secrets8724 validations8725 when entry value is correct8726 when has secrets8727 behaves like a valid entry8728 #valid?8729 is valid8730 when has dast_configuration8731 behaves like a valid entry8732 #valid?8733 is valid8734 when entry value is not correct8735 when has needs8736 when needs is bridge type8737 behaves like an invalid entry8738 reports error8739 when has invalid dast_configuration8740 behaves like an invalid entry8741 reports error8742 when has invalid secrets8743 behaves like an invalid entry8744 reports error8745 dast_configuration8746 includes dast_profile value8747 secrets8748 includes secrets value8749Sbom::Ingestion::Tasks::IngestComponentVersions8750 # order random8751 #execute8752 is idempotent8753 behaves like bulk insertable task8754 when the validation fails8755 can generate error messages correctly8756 when there is an existing version8757 does not create a new record for the existing version8758 sets the component_id8759 when there is no version attribute8760 skips creation for missing version8761 does not set component_version_id when skipped8762 when occurrence maps contains two of the same component_version8763 fills in both ids8764Projects::DeployTokens::DestroyService8765 #execute8766 destroys a token record and it's associated DeployToken8767 creates an audit event8768 behaves like sends correct event type in audit event stream8769 sends correct event type in audit event stream8770Gitlab::Metrics::Samplers::GlobalSearchSampler8771 behaves like metrics sampler8772 when sampling interval is passed explicitly8773 is expected to eq 428774 when sampling interval is passed through the environment8775 is expected to eq 428776 when no sampling interval is passed anywhere8777 uses the hardcoded default8778 #start8779 calls the sample method on the sampler thread8780 with warmup set to true8781 calls the sample method first on the caller thread8782 #safe_sample8783 calls #sample once8784 when sampling fails with error8785 recovers from errors8786 with logger8787 logs errors8788 #sample8789 invokes the Elastic::MetricsUpdateService8790Analytics::CycleAnalytics::IncrementalWorker8791 behaves like aggregator worker examples8792 invokes the AggregatorService8793 breaks at the second iteration due to overtime8794 behaves like an idempotent worker8795 is labeled as idempotent8796 performs multiple times sequentially without raising an exception8797 when the loaded batch is empty8798 does nothing8799admin/users/show.html.haml8800 does not include credit card validation status8801 does not show primary email as secondary email - lists primary email only once8802 Gitlab.com8803 includes credit card validation status8804 when user is validated8805 includes credit card validation status8806AppSec::Dast::ProfileSchedules::Audit::UpdateService8807 #execute8808 creates audit events for the changed properties8809Namespaces::FreeUserCap::AlertComponent8810 when user is authorized to see alert8811 when limit has been reached8812DEPRECATION WARNING: `rendered_component` is deprecated and will be removed in v3.0.0. Use `page` instead. (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/ee/spec/components/namespaces/free_user_cap/alert_component_spec.rb:27)8813DEPRECATION WARNING: `rendered_component` is deprecated and will be removed in v3.0.0. Use `page` instead. (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/ee/spec/components/namespaces/free_user_cap/alert_component_spec.rb:28)8814DEPRECATION WARNING: `rendered_component` is deprecated and will be removed in v3.0.0. Use `page` instead. (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/ee/spec/components/namespaces/free_user_cap/alert_component_spec.rb:29)8815DEPRECATION WARNING: `rendered_component` is deprecated and will be removed in v3.0.0. Use `page` instead. (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/ee/spec/components/namespaces/free_user_cap/alert_component_spec.rb:30)8816DEPRECATION WARNING: `rendered_component` is deprecated and will be removed in v3.0.0. Use `page` instead. (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/ee/spec/components/namespaces/free_user_cap/alert_component_spec.rb:32)8817DEPRECATION WARNING: `rendered_component` is deprecated and will be removed in v3.0.0. Use `page` instead. (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/ee/spec/components/namespaces/free_user_cap/alert_component_spec.rb:35)8818 has content for the alert8819DEPRECATION WARNING: `rendered_component` is deprecated and will be removed in v3.0.0. Use `page` instead. (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/ee/spec/components/namespaces/free_user_cap/alert_component_spec.rb:45)8820DEPRECATION WARNING: `rendered_component` is deprecated and will be removed in v3.0.0. Use `page` instead. (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/ee/spec/components/namespaces/free_user_cap/alert_component_spec.rb:47)8821DEPRECATION WARNING: `rendered_component` is deprecated and will be removed in v3.0.0. Use `page` instead. (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/ee/spec/components/namespaces/free_user_cap/alert_component_spec.rb:50)8822DEPRECATION WARNING: `rendered_component` is deprecated and will be removed in v3.0.0. Use `page` instead. (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/ee/spec/components/namespaces/free_user_cap/alert_component_spec.rb:53)8823 renders all the expected tracking items8824 when alert has been dismissed8825 with a fresh dismissal8826DEPRECATION WARNING: `rendered_component` is deprecated and will be removed in v3.0.0. Use `page` instead. (called from block (6 levels) in <top (required)> at /builds/gitlab-org/gitlab/ee/spec/components/namespaces/free_user_cap/alert_component_spec.rb:70)8827 does not render the alert8828 when limit has not been reached8829DEPRECATION WARNING: `rendered_component` is deprecated and will be removed in v3.0.0. Use `page` instead. (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/ee/spec/components/namespaces/free_user_cap/alert_component_spec.rb:82)8830 does not render the alert8831 when user is not authorized to see alert8832DEPRECATION WARNING: `rendered_component` is deprecated and will be removed in v3.0.0. Use `page` instead. (called from block (3 levels) in <top (required)> at /builds/gitlab-org/gitlab/ee/spec/components/namespaces/free_user_cap/alert_component_spec.rb:97)8833 does not render the alert8834 when user does not exist8835DEPRECATION WARNING: `rendered_component` is deprecated and will be removed in v3.0.0. Use `page` instead. (called from block (3 levels) in <top (required)> at /builds/gitlab-org/gitlab/ee/spec/components/namespaces/free_user_cap/alert_component_spec.rb:113)8836 does not render the alert8837AwardEmojiPolicy8838 when the user cannot read the epic8839 is expected not to be allowed :read_emoji8840 when the user can read the epic8841 is expected to be allowed :read_emoji8842Resolvers::BoardListsResolver8843 #resolve8844 when project boards8845 behaves like group and project board lists resolver8846 returns a list of board lists8847 when group boards8848 behaves like group and project board lists resolver8849 returns a list of board lists8850Analytics::DevopsAdoption::CreateSnapshotWorker8851 #perform8852 updates metrics for all not finalized snapshots and previous month8853 when pending metric for previous month already exists8854 calls for previous month calculation only once8855 when metric for previous month already finalized8856 does not call for previous month calculation8857FeatureFlagIssues::DestroyService8858 #execute8859 unlinks the feature flag and the issue8860 does not unlink the feature flag and the issue when the user cannot admin the feature flag8861EE git_http routing8862 Geo routing8863 behaves like git repository routes8864 routes Git endpoints8865 routes LFS endpoints8866 requests without .git format8867 redirects requests to /info/refs8868 behaves like git repository routes with fallback for git-upload-pack8869 routes LFS endpoints for unmatched routes8870 requests without .git format8871 does not redirect other requests8872GitlabSubscriptions::PlanUpgradeService8873 #execute8874 when the response is a failure8875 returns nil values8876 when the response is successful8877 eligible: true, assisted_id: "111", free_id: "222", plan_id: "111"8878 returns the correct values8879 eligible: true, assisted_id: nil, free_id: "222", plan_id: "222"8880 returns the correct values8881 eligible: true, assisted_id: "111", free_id: nil, plan_id: "111"8882 returns the correct values8883 eligible: true, assisted_id: nil, free_id: nil, plan_id: nil8884 returns the correct values8885 eligible: false, assisted_id: "111", free_id: "222", plan_id: "111"8886 returns the correct values8887 eligible: false, assisted_id: "111", free_id: nil, plan_id: "111"8888 returns the correct values8889 eligible: false, assisted_id: nil, free_id: "222", plan_id: "222"8890 returns the correct values8891 eligible: nil, assisted_id: "111", free_id: "222", plan_id: nil8892 returns the correct values8893groups/settings/reporting/show8894 renders the settings app root with the correct data attributes8895 when group has no settings record8896 renders the settings app root with the correct data attributes containing default values8897 when feature is not enabled for the group8898 does not render the settings app root8899Mutations::Boards::EpicBoards::Create8900 field tests8901 is expected to have graphql arguments :groupPath, :name, :hideBacklogList, :hideClosedList, :labels, and :labelIds8902 is expected to have graphql fields :epic_board8903 with epic feature enabled8904 when user does not have permission to create epic board8905 behaves like epic board creation error8906 raises error8907 when user has permission to create epic board8908 creates an epic board8909 with epic feature disabled8910 behaves like epic board creation error8911 raises error8912ResourceEvents::ChangeLabelsService8913 .execute8914 when adding a label8915 tracks the label change8916 when removing a label8917 tracks the label change8918 when both adding and removing labels8919 tracks the label change8920layouts/header/help_dropdown/_cross_stage_fdm.html.haml8921 have_group?: true, show_cross_stage_fdm?: true, experiment_enabled?: true, variant_assigned: :candidate, examples_to_run: "renders the menu"8922 behaves like renders the menu8923 renders the menu item8924 have_group?: false, show_cross_stage_fdm?: true, experiment_enabled?: true, variant_assigned: :candidate, examples_to_run: "renders nothing"8925 behaves like renders nothing8926 does not render the menu item8927 have_group?: true, show_cross_stage_fdm?: false, experiment_enabled?: true, variant_assigned: :candidate, examples_to_run: "renders nothing"8928 behaves like renders nothing8929 does not render the menu item8930 have_group?: true, show_cross_stage_fdm?: true, experiment_enabled?: false, variant_assigned: :candidate, examples_to_run: "renders nothing"8931 behaves like renders nothing8932 does not render the menu item8933 have_group?: true, show_cross_stage_fdm?: true, experiment_enabled?: true, variant_assigned: :control, examples_to_run: "renders nothing"8934 behaves like renders nothing8935 does not render the menu item8936GroupSaml::SamlGroupLinks::CreateService8937 #execute8938 when authorized user8939 when licensed features are available8940 with valid params8941 create a new saml_group_link entry against the group8942 when invalid params8943 throws bad request error8944 when user is not allowed to create saml_group_links8945 throws unauthorized error8946AppSec::Fuzzing::API::CiConfigurationCreateService8947 #create8948 when given an OPENAPI specification file8949 returns the API fuzzing configuration based on the given parameters8950 when given a HAR specification file8951 returns the API fuzzing configuration based on the given parameters8952 when given a POSTMAN specification file8953 returns the API fuzzing configuration based on the given parameters8954 when values for optional variables are not given8955 does not include them in the configuration8956Types::JsonStringType8957 is expected to eq "JsonString"8958 .coerce_input8959 when a JSON string is a valid JSON8960 coerces JSON string into a Hash8961 when a JSON string is not a JSON8962 raises an exception8963 .coerce_result8964 coerces a hash to a JSON string8965Analytics::CycleAnalytics::StageFinder8966 when looking up in-memory default stage by name exists8967 is expected not to be persisted8968 is expected to eq "issue"8969 when in-memory default stage cannot be found8970 is expected to raise ActiveRecord::RecordNotFound8971 when persisted stage exists8972 is expected to be persisted8973 is expected to eq "Stage #2"8974 when persisted stage cannot be found8975 is expected to raise ActiveRecord::RecordNotFound8976Arkose::Settings8977 .arkose_public_api_key8978 when set in application settings8979 is expected to eq "setting_public_key"8980 when NOT set in application settings8981 is expected to eq "env_var_public_key"8982 .arkose_private_api_key8983 when set in application settings8984 is expected to eq "setting_value"8985 when NOT set in application settings8986 is expected to eq "env_var_value"8987 .arkose_labs_domain8988 is expected to eq "setting_value-api.arkoselabs.com"8989AuditEvents::ReleaseArtifactsDownloadedAuditEventService8990 #security_event8991 logs the event to file8992Analytics::ProductivityAnalyticsRequestParams8993 validations8994 is valid8995 `merged_at` params8996 when `merged_before` is earlier than `merged_after`8997 is invalid8998 when `merged_after` is earlier than `productivity_analytics_start_date`8999 is invalid9000 when `merged_before` is earlier than `productivity_analytics_start_date`9001 is invalid9002 default values9003 `merged_before`9004 defaults to today date9005 `merged_after`9006 when `productivity_analytics_start_date` is within the last 30 days9007 defaults to `productivity_analytics_start_date`9008 when `productivity_analytics_start_date` older than 30 days9009 defaults to 30 days ago9010Resolvers::VulnerabilitiesGradeResolver9011 #resolve9012 when include_subgroups is set to true9013 returns project grades for projects in group and its subgroups9014 when include_subgroups is set to true9015 returns project grades for projects in group only9016Elastic::IndexProjectsByRangeService9017 #execute9018 when without project9019 does not err9020 when range not specified9021 schedules for all projects9022 respects batch_size setting9023 when range specified9024 schedules for projects within range9025 respects batch_size setting9026admin/users/_credit_card_info.html.haml9027 shows not validated9028 when user is validated9029 shows card data9030 when network is missing9031 does not show network9032profiles/preferences/show9033 security dashboard feature is available9034 renders the group view choice preference9035 security dashboard feature is unavailable9036 does not render the group view choice preference9037Resolvers::BaseResolver.single9038 #resolve9039 with unauthorized user9040 raises unauthorized error9041 when authorized9042 is expected to eq #<Boards::EpicList id: 21, created_at: "2022-11-07 01:31:32.159016712 +0000", updated_at: "2022-11-07 01:31:32.159016712 +0000", epic_board_id: 11, label_id: 13, position: 3, list_type: "label">9043Types::Dast::ProfileBranchType9044 is expected to eq "DastProfileBranch"9045 is expected to require graphql authorizations :read_on_demand_dast_scan9046 is expected to have graphql field :name and {:calls_gitaly?=>true}9047 is expected to have graphql field :exists and {:calls_gitaly?=>true}9048ProjectRepositoryState9049 assocations9050 is expected to belong to project required: false inverse_of => repository_state9051 validations9052 is expected to validate that :project cannot be empty/falsy9053 is expected to validate that :project is case-sensitively unique9054Vulnerabilities::ScannerEntity9055 #as_json9056 contains required fields9057GitlabSubscriptions::CreateLeadService9058 # order random9059 #execute9060 successfully creates a trial9061 errors while creating trial9062Issues::AfterCreateService9063 #execute9064 when issue sla is available9065 calls IncidentManagement::Incidents::CreateSlaService9066 when issue sla is not available9067 does not call IncidentManagement::Incidents::CreateSlaService9068Types::Projects::ServiceTypeEnum9069 exposes all the EE project services9070 coerces values correctly9071Integrations::Test::ProjectService9072 #execute9073 without event specified9074 GitHubService9075 behaves like tests for integration with pipeline data9076 tests the integration with pipeline data9077Elastic::Latest::MergeRequestConfig9078 .settings9079 behaves like config settings return correct values9080 returns config9081 sets correct shard/replica settings9082 .mappings9083 returns config9084Sbom::Ingestion::OccurrenceMapCollection9085 # order random9086 #each9087 behaves like #each9088 yields for every component when given a block9089 when not given a block9090 creates an occurrence map for each occurrence9091 when report source is nil9092 behaves like #each9093 yields for every component when given a block9094 when not given a block9095 creates an occurrence map for each occurrence9096Types::WorkItems::TypeType9097 is expected to eq "WorkItemType"9098 is expected to have graphql fields :id, :icon_name, and :name9099 is expected to require graphql authorizations :read_work_item_type9100Types::ProtectedEnvironments::ApprovalRuleType9101 # order random9102 includes the expected fields9103 is expected to eq "ProtectedEnvironmentApprovalRule"9104Ci::Minutes::Context9105 delegation9106 is expected to delegate #shared_runners_minutes_limit_enabled? to the #namespace object9107 is expected to delegate #namespace_name to the #namespace object as #name9108TestSuiteComparerEntity9109 #as_json9110 when head sutie has a newly failed test case which does not exist in base9111 contains correct compared test suite details9112 when head sutie still has a failed test case which failed in base9113 contains correct compared test suite details9114 when head sutie has a success test case which failed in base9115 contains correct compared test suite details9116Types::RequirementsManagement::TestReportType9117 is expected to eq "TestReport"9118 is expected to have graphql fields :id, :state, :author, and :created_at9119Gitlab::Ci::Reports::CoverageFuzzing::Report9120 #add_crash9121 stores given crash params in the map9122shared/billings/_billing_plans.html.haml9123 contains the feature link and tracking9124GemExtensions::Elasticsearch::Model::Indexing::InstanceMethods9125 #index_document9126 overrides _id9127Geo::EventWorker9128 #perform9129 calls Geo::EventService9130Auth::GroupSamlIdentityFinder9131 #first9132 looks up identity by saml_provider and uid9133Elastic::Latest::NoteConfig9134 .settings9135 behaves like config settings return correct values9136 returns config9137 sets correct shard/replica settings9138 .mappings9139 returns config9140Every GitLab uploader9141 # order random9142 for Geo replication9143 has Geo self-service framework support9144Types::VulnerabilityLocation::GenericType9145 is expected to have graphql fields :description9146Types::VulnerabilityDetails::BaseType9147 is expected to have graphql fields :name, :description, and :fieldName9148Types::VulnerabilityConfidenceEnum9149 exposes all vulnerability confidence values9150Types::Vulnerabilities::ContainerImageType9151 is expected to have graphql fields :name9152Types::ApprovalRuleTypeEnum9153 has the correct members9154Types::TodoableInterface9155 .resolve_type9156 knows the correct type for EE-only objects9157Types::PermissionTypes::Project9158 is expected to have graphql field :admin_path_locks9159Types::VulnerabilityDetails::ListType9160 is expected to have graphql fields :name, :description, :fieldName, and :items9161Knapsack report was generated. Preview:9162{9163 "ee/spec/services/ee/auth/container_registry_authentication_service_spec.rb": 157.45722475599996,9164 "ee/spec/models/ee/namespace_spec.rb": 84.27206332900005,9165 "ee/spec/workers/elastic/migration_worker_spec.rb": 88.4534450430001,9166 "ee/spec/serializers/ee/ci/job_entity_spec.rb": 61.295819006999864,9167 "ee/spec/finders/merge_requests/by_approvers_finder_spec.rb": 65.54400098900032,9168 "ee/spec/replicators/geo/job_artifact_replicator_spec.rb": 50.87158508099992,9169 "ee/spec/policies/environment_policy_spec.rb": 59.29032124699961,9170 "ee/spec/models/project_import_state_spec.rb": 35.886307921000025,9171 "ee/spec/models/gitlab_subscription_spec.rb": 28.66985730899978,9172 "ee/spec/models/geo/job_artifact_registry_spec.rb": 49.03362143100003,9173 "ee/spec/workers/audit_events/audit_event_streaming_worker_spec.rb": 27.16897721100031,9174 "ee/spec/elastic/migrate/20220825102900_backfill_label_ids_for_issues_spec.rb": 29.949819967000167,9175 "ee/spec/models/push_rule_spec.rb": 31.98239623599966,9176 "ee/spec/services/requirements_management/import_csv_service_spec.rb": 19.67224578100013,9177 "ee/spec/models/ee/merge_request_diff_spec.rb": 23.394693346000167,9178 "ee/spec/models/project_member_spec.rb": 28.801673368999673,9179 "ee/spec/lib/audit/project_changes_auditor_spec.rb": 22.22420790599972,9180 "ee/spec/services/projects/destroy_service_spec.rb": 17.587320427000122,9181 "ee/spec/services/ci/minutes/track_live_consumption_service_spec.rb": 19.69978685900014,9182 "ee/spec/services/security/report_summary_service_spec.rb": 15.36391476100016,9183 "ee/spec/services/app_sec/dast/scanner_profiles/create_service_spec.rb": 16.09477483700084,9184 "ee/spec/replicators/geo/container_repository_replicator_spec.rb": 13.424501778999911,9185 "ee/spec/graphql/resolvers/geo/pages_deployment_registries_resolver_spec.rb": 16.677813110999523,9186 "ee/spec/workers/geo/design_repository_shard_sync_worker_spec.rb": 16.789372474999254,9187 "ee/spec/services/ldap_group_reset_service_spec.rb": 13.00268231500013,9188 "ee/spec/lib/gitlab/geo/log_cursor/events/repository_updated_event_spec.rb": 12.27106614799959,9189 "ee/spec/graphql/resolvers/vulnerabilities_resolver_spec.rb": 8.497795344999759,9190 "ee/spec/graphql/types/vulnerability_type_spec.rb": 13.177626597999733,9191 "ee/spec/helpers/vulnerabilities_helper_spec.rb": 10.083360037000602,9192 "ee/spec/graphql/resolvers/vulnerability_severities_count_resolver_spec.rb": 10.104143035000561,9193 "ee/spec/helpers/application_helper_spec.rb": 6.8822467339996365,9194 "ee/spec/services/merge_trains/refresh_service_spec.rb": 8.868558617999952,9195 "ee/spec/models/dast/profile_spec.rb": 8.088665333999415,9196 "ee/spec/finders/security/scan_execution_policies_finder_spec.rb": 10.324145655999928,9197 "ee/spec/finders/group_projects_finder_spec.rb": 8.561020844000268,9198 "ee/spec/models/ee/namespace/storage/notification_spec.rb": 5.604202170999997,9199 "ee/spec/services/ee/members/update_service_spec.rb": 10.50223619100052,9200 "ee/spec/serializers/dashboard_environments_serializer_spec.rb": 3.6300312359999225,9201 "ee/spec/services/ci/pipeline_trigger_service_spec.rb": 7.475470755999595,9202 "ee/spec/helpers/ee/ci/runners_helper_spec.rb": 1.9663086760001534,9203 "ee/spec/models/deployments/approval_spec.rb": 6.605652618000022,9204 "ee/spec/models/vulnerabilities/export_spec.rb": 4.146149573000002,9205 "ee/spec/lib/gitlab/geo/oauth/logout_token_spec.rb": 6.053151312999944,9206 "ee/spec/services/vulnerability_exports/exporters/csv_service_spec.rb": 8.348015261999535,9207 "ee/spec/workers/elastic_namespace_indexer_worker_spec.rb": 5.303018096999949,9208 "ee/spec/workers/geo/repository_verification/secondary/shard_worker_spec.rb": 6.732919937000588,9209 "ee/spec/lib/gitlab/elastic/document_reference_spec.rb": 4.79822417899959,9210 "ee/spec/models/concerns/identity_verifiable_spec.rb": 2.9016466470002342,9211 "ee/spec/lib/elastic/multi_version_instance_proxy_spec.rb": 3.270760297000379,9212 "ee/spec/lib/gitlab/code_owners/validator_spec.rb": 5.888080816999718,9213 "ee/spec/serializers/ee/merge_request_poll_cached_widget_entity_spec.rb": 4.0224423540003045,9214 "ee/spec/serializers/ee/issue_sidebar_basic_entity_spec.rb": 4.1889288399997895,9215 "ee/spec/lib/gitlab/geo/event_gap_tracking_spec.rb": 2.4632337040002312,9216 "ee/spec/services/epic_issues/list_service_spec.rb": 5.991594277999866,9217 "ee/spec/lib/ee/backup/repositories_spec.rb": 3.834689268999682,9218 "ee/spec/services/ci/play_build_service_spec.rb": 5.654146226999728,9219 "ee/spec/workers/ci/runners/stale_group_runners_prune_cron_worker_spec.rb": 3.818536989999302,9220 "ee/spec/presenters/ee/projects/security/configuration_presenter_spec.rb": 1.4471172290004688,9221 "ee/spec/finders/ee/ci/daily_build_group_report_results_finder_spec.rb": 3.700962980999975,9222 "ee/spec/lib/ee/gitlab/usage_data_counters/hll_redis_counter_spec.rb": 2.476322483000331,9223 "ee/spec/lib/gitlab/geo/replicator_spec.rb": 1.1714869819998057,9224 "ee/spec/lib/gitlab/geo/oauth/login_state_spec.rb": 1.1126745169995047,9225 "ee/spec/workers/epics/update_cached_metadata_worker_spec.rb": 2.0712029059995984,9226 "ee/spec/lib/gitlab/geo/log_cursor/events/hashed_storage_migrated_event_spec.rb": 3.7988641229994755,9227 "ee/spec/lib/gitlab/auth/group_saml/session_enforcer_spec.rb": 3.124871888000598,9228 "ee/spec/services/ci/create_pipeline_service/runnable_builds_spec.rb": 4.692352627999753,9229 "ee/spec/services/ee/boards/lists/max_limits_spec.rb": 1.2856715719999556,9230 "ee/spec/lib/ee/gitlab/usage/service_ping/payload_keys_processor_spec.rb": 3.0964888110001993,9231 "ee/spec/lib/system_check/geo/authorized_keys_check_spec.rb": 0.8464487100000042,9232 "ee/spec/models/dast/profiles_pipeline_spec.rb": 3.285503455000253,9233 "ee/spec/lib/gitlab/ci/templates/Verify/load_performance_testing_gitlab_ci_yaml_spec.rb": 3.1844535039999755,9234 "ee/spec/lib/gitlab/ingestion/bulk_insertable_task_spec.rb": 4.276357392000136,9235 "ee/spec/models/sca/license_policy_spec.rb": 0.9711615290007103,9236 "ee/spec/models/ip_restriction_spec.rb": 1.1486688450004294,9237 "ee/spec/services/boards/epic_boards/create_service_spec.rb": 2.6157422719998067,9238 "ee/spec/graphql/mutations/vulnerabilities/confirm_spec.rb": 3.0161293569999543,9239 "ee/spec/views/projects/security/dast_profiles/show.html.haml_spec.rb": 2.2188899049997417,9240 "ee/spec/workers/ee/issuable_export_csv_worker_spec.rb": 1.7952633290005906,9241 "ee/spec/services/incident_management/oncall_rotations/destroy_service_spec.rb": 2.0422369079997225,9242 "ee/spec/lib/gitlab/sitemaps/url_extractor_spec.rb": 1.4702055980005753,9243 "ee/spec/components/billing/plan_component_spec.rb": 0.8494111700001667,9244 "ee/spec/models/plan_spec.rb": 1.0515623629999027,9245 "ee/spec/lib/ee/gitlab/application_context_spec.rb": 1.2408503670003483,9246 "ee/spec/serializers/member_user_entity_spec.rb": 1.9745015250000506,9247 "ee/spec/policies/instance_security_dashboard_policy_spec.rb": 1.5229116319997047,9248 "ee/spec/lib/ee/gitlab/auth/ldap/sync/external_users_spec.rb": 2.2323623840002256,9249 "ee/spec/lib/gitlab/insights/finders/projects_finder_spec.rb": 1.4042824440002732,9250 "ee/spec/graphql/resolvers/boards/epic_lists_resolvers_spec.rb": 1.4942919380000603,9251 "ee/spec/services/geo/node_create_service_spec.rb": 1.3165527700002713,9252 "ee/spec/lib/gitlab/sitemaps/generator_spec.rb": 3.0279748129996733,9253 "ee/spec/helpers/ee/ci/pipelines_helper_spec.rb": 0.39367345300070156,9254 "ee/spec/services/ee/merge_requests/base_service_spec.rb": 1.8183009459999084,9255 "ee/spec/views/shared/issuable/_approver_suggestion.html.haml_spec.rb": 1.706428921999759,9256 "ee/spec/graphql/types/admin/cloud_licenses/license_history_entry_type_spec.rb": 1.0540640180006449,9257 "ee/spec/policies/approval_project_rule_policy_spec.rb": 1.9941311120001046,9258 "ee/spec/helpers/seat_count_alert_helper_spec.rb": 1.272897771999851,9259 "ee/spec/lib/gitlab/auth/group_saml/xml_response_spec.rb": 1.7552213789995221,9260 "ee/spec/finders/incident_management/issuable_resource_links_finder_spec.rb": 1.2507139339995774,9261 "ee/spec/views/shared/_clone_panel.html.haml_spec.rb": 1.0485062890002155,9262 "ee/spec/models/audit_events/streaming/event_type_filter_spec.rb": 1.0871912450002128,9263 "ee/spec/lib/gitlab/ci/config/entry/job_spec.rb": 0.5723323310003252,9264 "ee/spec/services/sbom/ingestion/tasks/ingest_component_versions_spec.rb": 1.1765955000000758,9265 "ee/spec/services/ee/projects/deploy_tokens/destroy_service_spec.rb": 1.2676565639994806,9266 "ee/spec/lib/gitlab/metrics/samplers/global_search_sampler_spec.rb": 0.7653499779999038,9267 "ee/spec/workers/analytics/cycle_analytics/incremental_worker_spec.rb": 1.155676100999699,9268 "ee/spec/views/admin/users/show.html.haml_spec.rb": 0.7864702369997758,9269 "ee/spec/services/app_sec/dast/profile_schedules/audit/update_service_spec.rb": 1.5316406450001523,9270 "ee/spec/components/namespaces/free_user_cap/alert_component_spec.rb": 1.6729638460001297,9271 "ee/spec/policies/award_emoji_policy_spec.rb": 1.6883998749999591,9272 "ee/spec/graphql/ee/resolvers/board_lists_resolver_spec.rb": 1.4307514219999575,9273 "ee/spec/workers/analytics/devops_adoption/create_snapshot_worker_spec.rb": 1.5332776949999243,9274 "ee/spec/services/feature_flag_issues/destroy_service_spec.rb": 1.4648882399997092,9275 "ee/spec/routing/git_http_routing_spec.rb": 0.7236766200003331,9276 "ee/spec/services/gitlab_subscriptions/plan_upgrade_service_spec.rb": 0.5627511619995857,9277 "ee/spec/views/groups/settings/reporting/show.html.haml_spec.rb": 0.9982812119997106,9278 "ee/spec/graphql/mutations/boards/epic_boards/create_spec.rb": 1.0091426019998835,9279 "ee/spec/services/ee/resource_events/change_labels_service_spec.rb": 1.289751912000611,9280 "ee/spec/views/layouts/header/help_dropdown/_cross_stage_fdm.html.haml_spec.rb": 0.8725955500003693,9281 "ee/spec/services/group_saml/saml_group_links/create_service_spec.rb": 1.3251903899999888,9282 "ee/spec/services/app_sec/fuzzing/api/ci_configuration_create_service_spec.rb": 0.3376156370004537,9283 "ee/spec/graphql/types/json_string_type_spec.rb": 0.42722250100086967,9284 "ee/spec/finders/analytics/cycle_analytics/stage_finder_spec.rb": 0.9108805269997902,9285 "ee/spec/lib/arkose/settings_spec.rb": 0.8970744389998799,9286 "ee/spec/services/audit_events/release_artifacts_downloaded_audit_event_service_spec.rb": 1.035206019000725,9287 "ee/spec/lib/analytics/productivity_analytics_request_params_spec.rb": 0.6135061380000479,9288 "ee/spec/graphql/resolvers/vulnerabilities_grade_resolver_spec.rb": 1.1822948689996338,9289 "ee/spec/services/elastic/index_projects_by_range_service_spec.rb": 0.36510980500042933,9290 "ee/spec/views/admin/users/_credit_card_info.html.haml_spec.rb": 0.5944906490003632,9291 "ee/spec/views/profiles/preferences/show.html.haml_spec.rb": 0.417758631999277,9292 "ee/spec/graphql/resolvers/boards/epic_list_resolver_spec.rb": 1.433633030999772,9293 "ee/spec/graphql/types/dast/profile_branch_type_spec.rb": 0.5192165949993068,9294 "ee/spec/models/project_repository_state_spec.rb": 0.7782159970001885,9295 "ee/spec/serializers/vulnerabilities/scanner_entity_spec.rb": 0.8074208449997968,9296 "ee/spec/services/gitlab_subscriptions/create_lead_service_spec.rb": 0.4482566000006045,9297 "ee/spec/services/ee/issues/after_create_service_spec.rb": 0.9082423779991586,9298 "ee/spec/graphql/types/projects/services_enum_spec.rb": 0.4063143620005576,9299 "ee/spec/services/ee/integrations/test/project_service_spec.rb": 1.112718784000208,9300 "ee/spec/lib/elastic/latest/merge_request_config_spec.rb": 0.4262971909993212,9301 "ee/spec/services/sbom/ingestion/occurrence_map_collection_spec.rb": 0.31858370800000557,9302 "ee/spec/graphql/types/work_items/type_spec.rb": 0.2927780200006964,9303 "ee/spec/graphql/types/protected_environments/approval_rule_type_spec.rb": 0.3108522080001421,9304 "ee/spec/models/ci/minutes/context_spec.rb": 0.848794782999903,9305 "ee/spec/serializers/test_suite_comparer_entity_spec.rb": 0.2860522310002125,9306 "ee/spec/graphql/types/requirements_management/test_report_type_spec.rb": 0.6027990879993013,9307 "ee/spec/lib/gitlab/ci/reports/coverage_fuzzing/report_spec.rb": 0.2814406309998958,9308 "ee/spec/views/shared/billings/_billing_plans.html.haml_spec.rb": 0.44122957000035967,9309 "ee/spec/lib/gem_extensions/elasticsearch/model/indexing/instance_methods_spec.rb": 0.2707137410006908,9310 "ee/spec/workers/geo/event_worker_spec.rb": 0.2619248310002149,9311 "ee/spec/finders/auth/group_saml_identity_finder_spec.rb": 0.6332614470002227,9312 "ee/spec/lib/elastic/latest/note_config_spec.rb": 0.3044511689995488,9313 "ee/spec/uploaders/every_gitlab_uploader_spec.rb": 0.32022571800007427,9314 "ee/spec/graphql/types/vulnerability_location/generic_type_spec.rb": 0.2962697599996318,9315 "ee/spec/graphql/types/vulnerability_details/base_type_spec.rb": 0.22662651500013453,9316 "ee/spec/graphql/types/vulnerability_confidence_enum_spec.rb": 0.26677583099990443,9317 "ee/spec/graphql/types/vulnerabilities/container_image_type_spec.rb": 0.4029702930001804,9318 "ee/spec/graphql/types/approval_rule_type_enum_spec.rb": 0.19631534700056363,9319 "ee/spec/graphql/ee/types/todoable_interface_spec.rb": 0.3926117629998771,9320 "ee/spec/graphql/types/permission_types/project_spec.rb": 0.3210328989998743,9321 "ee/spec/graphql/types/vulnerability_details/list_type_spec.rb": 0.53562482399956939322}9323Knapsack global time execution for tests: 22m 10s9324Pending: (Failures listed here are expected and do not affect your suite's status)9325 1) Resolvers::Geo::PagesDeploymentRegistriesResolver behaves like a Geo registries resolver #resolve when the parent object is the current node when the user has permission to view Geo data when admin mode is enabled with verification disabled when the verification_state argument is present raises ArgumentError9326 # Skipping because verification is enabled for PagesDeployment9327 # ./ee/spec/support/shared_examples/graphql/geo/geo_registries_resolver_shared_examples.rb:779328 2) Gitlab::UsageDataCounters::HLLRedisCounter.categories gets all unique category names9329 # around hook at ./spec/support/flaky_tests.rb:21 did not execute the example9330 # ./ee/spec/lib/ee/gitlab/usage_data_counters/hll_redis_counter_spec.rb:399331Failures:9332 1) BackfillLabelIdsForIssues.completed? when no documents are missing field is expected to be completed9333 Failure/Error: example.run9334 expected `#<BackfillLabelIdsForIssues:0x00007f3fa19c20d8 @version=20220825102900, @helper=#<Gitlab::Elastic::He...og>, @binmode=false, @mon_data=#<Monitor:0x00007f3f9e3ad448>, @mon_data_owner_object_id=199556520>>>.completed?` to be truthy, got false9335 Shared Example Group: "migration backfills fields" called from ./ee/spec/elastic/migrate/20220825102900_backfill_label_ids_for_issues_spec.rb:109336 # ./ee/spec/elastic/migrate/migration_shared_examples.rb:98:in `block (4 levels) in <top (required)>'9337 # ./spec/spec_helper.rb:417:in `block (3 levels) in <top (required)>'9338 # ./spec/support/sidekiq_middleware.rb:9:in `with_sidekiq_server_middleware'9339 # ./spec/spec_helper.rb:409:in `block (2 levels) in <top (required)>'9340 # ./spec/spec_helper.rb:405:in `block (3 levels) in <top (required)>'9341 # ./lib/gitlab/application_context.rb:58:in `with_raw_context'9342 # ./spec/spec_helper.rb:405:in `block (2 levels) in <top (required)>'9343 # ./spec/spec_helper.rb:241:in `block (2 levels) in <top (required)>'9344 # ./spec/support/sidekiq.rb:21:in `block (3 levels) in <top (required)>'9345 # ./spec/support/sidekiq.rb:8:in `gitlab_sidekiq_inline'9346 # ./spec/support/sidekiq.rb:21:in `block (2 levels) in <top (required)>'9347 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'9348 # ./spec/support/redis.rb:17:in `block (3 levels) in <top (required)>'9349 # ./spec/support/flaky_tests.rb:27:in `block (2 levels) in <top (required)>'9350 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <top (required)>'9351 # ./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'9352 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <top (required)>'9353 # ./ee/spec/support/elastic.rb:80:in `block (2 levels) in <top (required)>'9354Finished in 22 minutes 14 seconds (files took 45.03 seconds to load)93553579 examples, 1 failure, 2 pending9356Failed examples:9357rspec './ee/spec/elastic/migrate/20220825102900_backfill_label_ids_for_issues_spec.rb[1:3:2:1]' # BackfillLabelIdsForIssues.completed? when no documents are missing field is expected to be completed9358Randomized with seed 207969359[TEST PROF INFO] Time spent in factories: 13:02.036 (58.36% of total time)9360Stopped processing SimpleCov as a previous error not related to SimpleCov has been detected9361RSpec exited with 1.9362Retrying the failing examples in a new RSpec process...9363$ gem install junit_merge --no-document --version 0.1.29364Successfully installed nokogiri-1.13.9-x86_64-linux9365Successfully installed junit_merge-0.1.293662 gems installed9367==> 'gem install junit_merge --no-document --version 0.1.2' succeeded in 1 seconds.9368Running RSpec command: bin/rspec -Ispec -rspec_helper --color --format documentation --format RspecJunitFormatter --out rspec/junit_rspec-retry.xml --only-failures --pattern "{ee/}spec/{bin,channels,config,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,components}{,/**/}*_spec.rb"9369Run options: include {:last_run_status=>"failed"}9370Test environment set up in 0.466300028 seconds9371BackfillLabelIdsForIssues9372 # order random9373 .completed?9374 when no documents are missing field9375 is expected to be completed9376Finished in 10.5 seconds (files took 45.99 seconds to load)93771 example, 0 failures9378Randomized with seed 53309379[TEST PROF INFO] Time spent in factories: 00:03.665 (27.9% of total time)9381Not uploading cache ruby-gems-debian-bullseye-ruby-2.7-16 due to policy9382Not uploading cache gitaly-ruby-gems-debian-bullseye-ruby-2.7-16 due to policy9384Uploading artifacts...9385coverage/: found 4 matching files and directories 9386crystalball/: found 2 matching files and directories 9387deprecations/: found 7 matching files and directories 9388knapsack/: found 3 matching files and directories 9389rspec/: found 12 matching files and directories 9390WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory 9391log/*.log: found 18 matching files and directories 9392WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/3281613643/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com9393WARNING: Retrying... context=artifacts-uploader error=request redirected9394Uploading artifacts as "archive" to coordinator... 201 Created id=3281613643 responseStatus=201 Created token=4CKWsS3o9395Uploading artifacts...9396rspec/junit_rspec.xml: found 1 matching files and directories 9397WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/3281613643/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com9398WARNING: Retrying... context=artifacts-uploader error=request redirected9399Uploading artifacts as "junit" to coordinator... 201 Created id=3281613643 responseStatus=201 Created token=4CKWsS3o9401Job succeeded