rspec unit pg 9/20
Passed Started
by
@mayra-cabrera

Mayra Cabrera
1Running with gitlab-runner 12.1.0 (de7731dd)2 on docker-auto-scale-com 8a6210b8 3 Using Docker executor with image dev.gitlab.org:5005/gitlab/gitlab-build-images:ruby-2.6.3-golang-1.11-git-2.22-chrome-73.0-node-12.x-yarn-1.16-postgresql-9.6-graphicsmagick-1.3.33 ...
00:08
4Starting service postgres:9.6.14 ...5Pulling docker image postgres:9.6.14 ...6Using docker image sha256:ac400042d32f8e146477ae5b3528f1e4232fc8e83b2fd9fe0cbe08900e45bae1 for postgres:9.6.14 ...7Starting service redis:alpine ...8Pulling docker image redis:alpine ...9Using docker image sha256:ed7d2ff5a6232b43bdc89a2220ed989f532c3794422aa2a86823b8bc62e71447 for redis:alpine ...10Waiting for services to be up and running...11Pulling docker image dev.gitlab.org:5005/gitlab/gitlab-build-images:ruby-2.6.3-golang-1.11-git-2.22-chrome-73.0-node-12.x-yarn-1.16-postgresql-9.6-graphicsmagick-1.3.33 ...12Using docker image sha256:86f0d8cdc75562952aa064a92b9f1bae7a400a79fa1038b58d71c543d3771bda for dev.gitlab.org:5005/gitlab/gitlab-build-images:ruby-2.6.3-golang-1.11-git-2.22-chrome-73.0-node-12.x-yarn-1.16-postgresql-9.6-graphicsmagick-1.3.33 ... 13 Running on runner-8a6210b8-project-13083-concurrent-0 via runner-8a6210b8-gsrm-1567107139-bc370067...
00:02
15Reinitialized existing Git repository in /builds/gitlab-org/gitlab-ce/.git/17 * [new branch] master -> origin/master18Checking out 6712b133 as master...19Skipping Git submodules setup21cache.zip is up to date 22Successfully extracted cache24Downloading artifacts from coordinator... ok id=283641330 responseStatus=200 OK token=f2MDoCA325Downloading artifacts for setup-test-env (283641331)...26Downloading artifacts from coordinator... ok id=283641331 responseStatus=200 OK token=5orpZ_PE27WARNING: tmp/tests/gitlab-shell/.gitlab_shell_secret: chmod tmp/tests/gitlab-shell/.gitlab_shell_secret: no such file or directory (suppressing repeats) 28Downloading artifacts for retrieve-tests-metadata (283641332)...29Downloading artifacts from coordinator... ok id=283641332 responseStatus=200 OK token=9n8_JXaB31Thu Aug 29 20:32:20 UTC 201932$ source scripts/utils.sh33$ source scripts/prepare_build.sh34Bundler version 1.17.235Warning: the running version of Bundler (1.17.2) is older than the version that created the lockfile (1.17.3). We suggest you upgrade to the latest version of Bundler by running `gem install bundler`.36The Gemfile's dependencies are satisfied37Successfully installed knapsack-1.18.0381 gem installed39CREATE ROLE40GRANT41Dropped database 'gitlabhq_test'42Created database 'gitlabhq_test'43-- enable_extension("pg_trgm")44 -> 0.0372s45-- enable_extension("plpgsql")46 -> 0.0029s47-- create_table("abuse_reports", {:id=>:serial, :force=>:cascade})48 -> 0.0057s49-- create_table("allowed_email_domains", {:force=>:cascade})50 -> 0.0055s51-- create_table("analytics_cycle_analytics_group_stages", {:force=>:cascade})52 -> 0.0140s53-- create_table("analytics_cycle_analytics_project_stages", {:force=>:cascade})54 -> 0.0138s55-- create_table("appearances", {:id=>:serial, :force=>:cascade})56 -> 0.0035s57-- create_table("application_setting_terms", {:id=>:serial, :force=>:cascade})58 -> 0.0025s59-- create_table("application_settings", {:id=>:serial, :force=>:cascade})60 -> 0.0834s61-- create_table("approval_merge_request_rule_sources", {:force=>:cascade})62 -> 0.0064s63-- create_table("approval_merge_request_rules", {:force=>:cascade})64 -> 0.0132s65-- create_table("approval_merge_request_rules_approved_approvers", {:force=>:cascade})66 -> 0.0067s67-- create_table("approval_merge_request_rules_groups", {:force=>:cascade})68 -> 0.0065s69-- create_table("approval_merge_request_rules_users", {:force=>:cascade})70 -> 0.0064s71-- create_table("approval_project_rules", {:force=>:cascade})72 -> 0.0079s73-- create_table("approval_project_rules_groups", {:force=>:cascade})74 -> 0.0064s75-- create_table("approval_project_rules_users", {:force=>:cascade})76 -> 0.0067s77-- create_table("approvals", {:id=>:serial, :force=>:cascade})78 -> 0.0064s79-- create_table("approver_groups", {:id=>:serial, :force=>:cascade})80 -> 0.0073s81-- create_table("approvers", {:id=>:serial, :force=>:cascade})82 -> 0.0074s83-- create_table("audit_events", {:id=>:serial, :force=>:cascade})84 -> 0.0078s85-- create_table("award_emoji", {:id=>:serial, :force=>:cascade})86 -> 0.0072s87-- create_table("badges", {:id=>:serial, :force=>:cascade})88 -> 0.0083s89-- create_table("board_assignees", {:id=>:serial, :force=>:cascade})90 -> 0.0068s91-- create_table("board_group_recent_visits", {:force=>:cascade})92 -> 0.0109s93-- create_table("board_labels", {:id=>:serial, :force=>:cascade})94 -> 0.0064s95-- create_table("board_project_recent_visits", {:force=>:cascade})96 -> 0.0109s97-- create_table("boards", {:id=>:serial, :force=>:cascade})98 -> 0.0096s99-- create_table("broadcast_messages", {:id=>:serial, :force=>:cascade})100 -> 0.0054s101-- create_table("chat_names", {:id=>:serial, :force=>:cascade})102 -> 0.0072s103-- create_table("chat_teams", {:id=>:serial, :force=>:cascade})104 -> 0.0048s105-- create_table("ci_build_needs", {:id=>:serial, :force=>:cascade})106 -> 0.0047s107-- create_table("ci_build_trace_chunks", {:force=>:cascade})108 -> 0.0047s109-- create_table("ci_build_trace_section_names", {:id=>:serial, :force=>:cascade})110 -> 0.0049s111-- create_table("ci_build_trace_sections", {:id=>:serial, :force=>:cascade})112 -> 0.0084s113-- create_table("ci_builds", {:id=>:serial, :force=>:cascade})114 -> 0.0521s115-- create_table("ci_builds_metadata", {:id=>:serial, :force=>:cascade})116 -> 0.0075s117-- create_table("ci_builds_runner_session", {:force=>:cascade})118 -> 0.0049s119-- create_table("ci_group_variables", {:id=>:serial, :force=>:cascade})120 -> 0.0069s121-- create_table("ci_job_artifacts", {:id=>:serial, :force=>:cascade})122 -> 0.0142s123-- create_table("ci_job_variables", {:force=>:cascade})124 -> 0.0077s125-- create_table("ci_pipeline_chat_data", {:force=>:cascade})126 -> 0.0068s127-- create_table("ci_pipeline_schedule_variables", {:force=>:cascade})128 -> 0.0057s129-- create_table("ci_pipeline_schedules", {:id=>:serial, :force=>:cascade})130 -> 0.0102s131-- create_table("ci_pipeline_variables", {:id=>:serial, :force=>:cascade})132 -> 0.0056s133-- create_table("ci_pipelines", {:id=>:serial, :force=>:cascade})134 -> 0.0293s135-- create_table("ci_runner_namespaces", {:id=>:serial, :force=>:cascade})136 -> 0.0063s137-- create_table("ci_runner_projects", {:id=>:serial, :force=>:cascade})138 -> 0.0063s139-- create_table("ci_runners", {:id=>:serial, :force=>:cascade})140 -> 0.0172s141-- create_table("ci_sources_pipelines", {:id=>:serial, :force=>:cascade})142 -> 0.0131s143-- create_table("ci_stages", {:id=>:serial, :force=>:cascade})144 -> 0.0111s145-- create_table("ci_trigger_requests", {:id=>:serial, :force=>:cascade})146 -> 0.0071s147-- create_table("ci_triggers", {:id=>:serial, :force=>:cascade})148 -> 0.0069s149-- create_table("ci_variables", {:id=>:serial, :force=>:cascade})150 -> 0.0066s151-- create_table("cluster_groups", {:id=>:serial, :force=>:cascade})152 -> 0.0064s153-- create_table("cluster_platforms_kubernetes", {:id=>:serial, :force=>:cascade})154 -> 0.0053s155-- create_table("cluster_projects", {:id=>:serial, :force=>:cascade})156 -> 0.0064s157-- create_table("cluster_providers_gcp", {:id=>:serial, :force=>:cascade})158 -> 0.0056s159-- create_table("clusters", {:id=>:serial, :force=>:cascade})160 -> 0.0091s161-- create_table("clusters_applications_cert_managers", {:id=>:serial, :force=>:cascade})162 -> 0.0050s163-- create_table("clusters_applications_helm", {:id=>:serial, :force=>:cascade})164 -> 0.0050s165-- create_table("clusters_applications_ingress", {:id=>:serial, :force=>:cascade})166 -> 0.0050s167-- create_table("clusters_applications_jupyter", {:id=>:serial, :force=>:cascade})168 -> 0.0070s169-- create_table("clusters_applications_knative", {:id=>:serial, :force=>:cascade})170 -> 0.0051s171-- create_table("clusters_applications_prometheus", {:id=>:serial, :force=>:cascade})172 -> 0.0049s173-- create_table("clusters_applications_runners", {:id=>:serial, :force=>:cascade})174 -> 0.0073s175-- create_table("clusters_kubernetes_namespaces", {:force=>:cascade})176 -> 0.0153s177-- create_table("container_repositories", {:id=>:serial, :force=>:cascade})178 -> 0.0069s179-- create_table("conversational_development_index_metrics", {:id=>:serial, :force=>:cascade})180 -> 0.0070s181-- create_table("dependency_proxy_blobs", {:id=>:serial, :force=>:cascade})182 -> 0.0055s183-- create_table("dependency_proxy_group_settings", {:id=>:serial, :force=>:cascade})184 -> 0.0048s185-- create_table("deploy_keys_projects", {:id=>:serial, :force=>:cascade})186 -> 0.0048s187-- create_table("deploy_tokens", {:id=>:serial, :force=>:cascade})188 -> 0.0107s189-- create_table("deployments", {:id=>:serial, :force=>:cascade})190 -> 0.0239s191-- create_table("design_management_designs", {:force=>:cascade})192 -> 0.0068s193-- create_table("design_management_designs_versions", {:id=>false, :force=>:cascade})194 -> 0.0097s195-- create_table("design_management_versions", {:force=>:cascade})196 -> 0.0070s197-- create_table("draft_notes", {:force=>:cascade})198 -> 0.0096s199-- create_table("elasticsearch_indexed_namespaces", {:id=>false, :force=>:cascade})200 -> 0.0032s201-- create_table("elasticsearch_indexed_projects", {:id=>false, :force=>:cascade})202 -> 0.0033s203-- create_table("emails", {:id=>:serial, :force=>:cascade})204 -> 0.0089s205-- create_table("environments", {:id=>:serial, :force=>:cascade})206 -> 0.0116s207-- create_table("epic_issues", {:id=>:serial, :force=>:cascade})208 -> 0.0065s209-- create_table("epic_metrics", {:id=>:serial, :force=>:cascade})210 -> 0.0042s211-- create_table("epics", {:id=>:serial, :force=>:cascade})212 -> 0.0226s213-- create_table("events", {:id=>:serial, :force=>:cascade})214 -> 0.0152s215-- create_table("feature_gates", {:id=>:serial, :force=>:cascade})216 -> 0.0051s217-- create_table("features", {:id=>:serial, :force=>:cascade})218 -> 0.0048s219-- create_table("fork_network_members", {:id=>:serial, :force=>:cascade})220 -> 0.0084s221-- create_table("fork_networks", {:id=>:serial, :force=>:cascade})222 -> 0.0048s223-- create_table("forked_project_links", {:id=>:serial, :force=>:cascade})224 -> 0.0045s225-- create_table("geo_cache_invalidation_events", {:force=>:cascade})226 -> 0.0027s227-- create_table("geo_container_repository_updated_events", {:force=>:cascade})228 -> 0.0043s229-- create_table("geo_event_log", {:force=>:cascade})230 -> 0.0294s231-- create_table("geo_hashed_storage_attachments_events", {:force=>:cascade})232 -> 0.0047s233-- create_table("geo_hashed_storage_migrated_events", {:force=>:cascade})234 -> 0.0049s235-- create_table("geo_job_artifact_deleted_events", {:force=>:cascade})236 -> 0.0050s237-- create_table("geo_lfs_object_deleted_events", {:force=>:cascade})238 -> 0.0057s239-- create_table("geo_node_namespace_links", {:id=>:serial, :force=>:cascade})240 -> 0.0085s241-- create_table("geo_node_statuses", {:id=>:serial, :force=>:cascade})242 -> 0.0065s243-- create_table("geo_nodes", {:id=>:serial, :force=>:cascade})244 -> 0.0143s245-- create_table("geo_repositories_changed_events", {:force=>:cascade})246 -> 0.0047s247-- create_table("geo_repository_created_events", {:force=>:cascade})248 -> 0.0052s249-- create_table("geo_repository_deleted_events", {:force=>:cascade})250 -> 0.0049s251-- create_table("geo_repository_renamed_events", {:force=>:cascade})252 -> 0.0051s253-- create_table("geo_repository_updated_events", {:force=>:cascade})254 -> 0.0080s255-- create_table("geo_reset_checksum_events", {:force=>:cascade})256 -> 0.0043s257-- create_table("geo_upload_deleted_events", {:force=>:cascade})258 -> 0.0049s259-- create_table("gitlab_subscriptions", {:force=>:cascade})260 -> 0.0083s261-- create_table("gpg_key_subkeys", {:id=>:serial, :force=>:cascade})262 -> 0.0090s263-- create_table("gpg_keys", {:id=>:serial, :force=>:cascade})264 -> 0.0089s265-- create_table("gpg_signatures", {:id=>:serial, :force=>:cascade})266 -> 0.0136s267-- create_table("group_custom_attributes", {:id=>:serial, :force=>:cascade})268 -> 0.0071s269-- create_table("historical_data", {:id=>:serial, :force=>:cascade})270 -> 0.0024s271-- create_table("identities", {:id=>:serial, :force=>:cascade})272 -> 0.0092s273-- create_table("import_export_uploads", {:id=>:serial, :force=>:cascade})274 -> 0.0069s275-- create_table("index_statuses", {:id=>:serial, :force=>:cascade})276 -> 0.0051s277-- create_table("insights", {:id=>:serial, :force=>:cascade})278 -> 0.0063s279-- create_table("internal_ids", {:force=>:cascade})280 -> 0.0106s281-- create_table("ip_restrictions", {:force=>:cascade})282 -> 0.0049s283-- create_table("issue_assignees", {:id=>false, :force=>:cascade})284 -> 0.0052s285-- create_table("issue_links", {:id=>:serial, :force=>:cascade})286 -> 0.0083s287-- create_table("issue_metrics", {:id=>:serial, :force=>:cascade})288 -> 0.0043s289-- create_table("issue_tracker_data", {:force=>:cascade})290 -> 0.0052s291-- create_table("issues", {:id=>:serial, :force=>:cascade})292 -> 0.0394s293-- create_table("jira_connect_installations", {:force=>:cascade})294 -> 0.0051s295-- create_table("jira_connect_subscriptions", {:force=>:cascade})296 -> 0.0084s297-- create_table("jira_tracker_data", {:force=>:cascade})298 -> 0.0049s299-- create_table("keys", {:id=>:serial, :force=>:cascade})300 -> 0.0096s301-- create_table("label_links", {:id=>:serial, :force=>:cascade})302 -> 0.0067s303-- create_table("label_priorities", {:id=>:serial, :force=>:cascade})304 -> 0.0084s305-- create_table("labels", {:id=>:serial, :force=>:cascade})306 -> 0.0137s307-- create_table("ldap_group_links", {:id=>:serial, :force=>:cascade})308 -> 0.0028s309-- create_table("lfs_file_locks", {:id=>:serial, :force=>:cascade})310 -> 0.0069s311-- create_table("lfs_objects", {:id=>:serial, :force=>:cascade})312 -> 0.0069s313-- create_table("lfs_objects_projects", {:id=>:serial, :force=>:cascade})314 -> 0.0066s315-- create_table("licenses", {:id=>:serial, :force=>:cascade})316 -> 0.0026s317-- create_table("list_user_preferences", {:force=>:cascade})318 -> 0.0086s319-- create_table("lists", {:id=>:serial, :force=>:cascade})320 -> 0.0130s321-- create_table("members", {:id=>:serial, :force=>:cascade})322 -> 0.0195s323-- create_table("merge_request_assignees", {:force=>:cascade})324 -> 0.0083s325-- create_table("merge_request_blocks", {:force=>:cascade})326 -> 0.0066s327-- create_table("merge_request_diff_commits", {:id=>false, :force=>:cascade})328 -> 0.0060s329-- create_table("merge_request_diff_files", {:id=>false, :force=>:cascade})330 -> 0.0040s331-- create_table("merge_request_diffs", {:id=>:serial, :force=>:cascade})332 -> 0.0074s333-- create_table("merge_request_metrics", {:id=>:serial, :force=>:cascade})334 -> 0.0167s335-- create_table("merge_requests", {:id=>:serial, :force=>:cascade})336 -> 0.0472s337-- create_table("merge_requests_closing_issues", {:id=>:serial, :force=>:cascade})338 -> 0.0064s339-- create_table("merge_trains", {:force=>:cascade})340 -> 0.0111s341-- create_table("milestones", {:id=>:serial, :force=>:cascade})342 -> 0.0154s343-- create_table("namespace_aggregation_schedules", {:primary_key=>"namespace_id", :id=>:integer, :default=>nil, :force=>:cascade})344 -> 0.0035s345-- create_table("namespace_root_storage_statistics", {:primary_key=>"namespace_id", :id=>:integer, :default=>nil, :force=>:cascade})346 -> 0.0061s347-- create_table("namespace_statistics", {:id=>:serial, :force=>:cascade})348 -> 0.0047s349-- create_table("namespaces", {:id=>:serial, :force=>:cascade})350 -> 0.0454s351-- create_table("note_diff_files", {:id=>:serial, :force=>:cascade})352 -> 0.0146s353-- create_table("notes", {:id=>:serial, :force=>:cascade})354 -> 0.0273s355-- create_table("notification_settings", {:id=>:serial, :force=>:cascade})356 -> 0.0104s357-- create_table("oauth_access_grants", {:id=>:serial, :force=>:cascade})358 -> 0.0053s359-- create_table("oauth_access_tokens", {:id=>:serial, :force=>:cascade})360 -> 0.0111s361-- create_table("oauth_applications", {:id=>:serial, :force=>:cascade})362 -> 0.0092s363-- create_table("oauth_openid_requests", {:id=>:serial, :force=>:cascade})364 -> 0.0060s365-- create_table("operations_feature_flag_scopes", {:force=>:cascade})366 -> 0.0081s367-- create_table("operations_feature_flags", {:force=>:cascade})368 -> 0.0053s369-- create_table("operations_feature_flags_clients", {:force=>:cascade})370 -> 0.0071s371-- create_table("packages_maven_metadata", {:force=>:cascade})372 -> 0.0054s373-- create_table("packages_package_files", {:force=>:cascade})374 -> 0.0053s375-- create_table("packages_packages", {:force=>:cascade})376 -> 0.0049s377-- create_table("pages_domain_acme_orders", {:force=>:cascade})378 -> 0.0074s379-- create_table("pages_domains", {:id=>:serial, :force=>:cascade})380 -> 0.0187s381-- create_table("path_locks", {:id=>:serial, :force=>:cascade})382 -> 0.0146s383-- create_table("personal_access_tokens", {:id=>:serial, :force=>:cascade})384 -> 0.0085s385-- create_table("plans", {:id=>:serial, :force=>:cascade})386 -> 0.0050s387-- create_table("pool_repositories", {:force=>:cascade})388 -> 0.0092s389-- create_table("programming_languages", {:id=>:serial, :force=>:cascade})390 -> 0.0051s391-- create_table("project_alerting_settings", {:primary_key=>"project_id", :id=>:integer, :default=>nil, :force=>:cascade})392 -> 0.0020s393-- create_table("project_aliases", {:force=>:cascade})394 -> 0.0071s395-- create_table("project_authorizations", {:id=>false, :force=>:cascade})396 -> 0.0054s397-- create_table("project_auto_devops", {:id=>:serial, :force=>:cascade})398 -> 0.0048s399-- create_table("project_ci_cd_settings", {:id=>:serial, :force=>:cascade})400 -> 0.0052s401-- create_table("project_custom_attributes", {:id=>:serial, :force=>:cascade})402 -> 0.0069s403-- create_table("project_daily_statistics", {:force=>:cascade})404 -> 0.0045s405-- create_table("project_deploy_tokens", {:id=>:serial, :force=>:cascade})406 -> 0.0066s407-- create_table("project_error_tracking_settings", {:primary_key=>"project_id", :id=>:integer, :default=>nil, :force=>:cascade})408 -> 0.0026s409-- create_table("project_feature_usages", {:primary_key=>"project_id", :id=>:integer, :default=>nil, :force=>:cascade})410 -> 0.0077s411-- create_table("project_features", {:id=>:serial, :force=>:cascade})412 -> 0.0056s413-- create_table("project_group_links", {:id=>:serial, :force=>:cascade})414 -> 0.0068s415-- create_table("project_import_data", {:id=>:serial, :force=>:cascade})416 -> 0.0050s417-- create_table("project_incident_management_settings", {:primary_key=>"project_id", :id=>:serial, :force=>:cascade})418 -> 0.0033s419-- create_table("project_metrics_settings", {:primary_key=>"project_id", :id=>:integer, :default=>nil, :force=>:cascade})420 -> 0.0019s421-- create_table("project_mirror_data", {:id=>:serial, :force=>:cascade})422 -> 0.0159s423-- create_table("project_repositories", {:force=>:cascade})424 -> 0.0090s425-- create_table("project_repository_states", {:id=>:serial, :force=>:cascade})426 -> 0.0157s427-- create_table("project_statistics", {:id=>:serial, :force=>:cascade})428 -> 0.0105s429-- create_table("project_tracing_settings", {:force=>:cascade})430 -> 0.0051s431-- create_table("projects", {:id=>:serial, :force=>:cascade})432 -> 0.0691s433-- create_table("prometheus_alert_events", {:force=>:cascade})434 -> 0.0075s435-- create_table("prometheus_alerts", {:id=>:serial, :force=>:cascade})436 -> 0.0087s437-- create_table("prometheus_metrics", {:id=>:serial, :force=>:cascade})438 -> 0.0116s439-- create_table("protected_branch_merge_access_levels", {:id=>:serial, :force=>:cascade})440 -> 0.0090s441-- create_table("protected_branch_push_access_levels", {:id=>:serial, :force=>:cascade})442 -> 0.0089s443-- create_table("protected_branch_unprotect_access_levels", {:id=>:serial, :force=>:cascade})444 -> 0.0089s445-- create_table("protected_branches", {:id=>:serial, :force=>:cascade})446 -> 0.0048s447-- create_table("protected_environment_deploy_access_levels", {:id=>:serial, :force=>:cascade})448 -> 0.0092s449-- create_table("protected_environments", {:id=>:serial, :force=>:cascade})450 -> 0.0072s451-- create_table("protected_tag_create_access_levels", {:id=>:serial, :force=>:cascade})452 -> 0.0090s453-- create_table("protected_tags", {:id=>:serial, :force=>:cascade})454 -> 0.0073s455-- create_table("push_event_payloads", {:id=>false, :force=>:cascade})456 -> 0.0040s457-- create_table("push_rules", {:id=>:serial, :force=>:cascade})458 -> 0.0098s459-- create_table("redirect_routes", {:id=>:serial, :force=>:cascade})460 -> 0.0073s461-- create_table("release_links", {:force=>:cascade})462 -> 0.0072s463-- create_table("releases", {:id=>:serial, :force=>:cascade})464 -> 0.0073s465-- create_table("remote_mirrors", {:id=>:serial, :force=>:cascade})466 -> 0.0082s467-- create_table("repository_languages", {:id=>false, :force=>:cascade})468 -> 0.0033s469-- create_table("resource_label_events", {:force=>:cascade})470 -> 0.0135s471-- create_table("reviews", {:force=>:cascade})472 -> 0.0082s473-- create_table("routes", {:id=>:serial, :force=>:cascade})474 -> 0.0092s475-- create_table("saml_providers", {:id=>:serial, :force=>:cascade})476 -> 0.0057s477-- create_table("scim_oauth_access_tokens", {:id=>:serial, :force=>:cascade})478 -> 0.0048s479-- create_table("sent_notifications", {:id=>:serial, :force=>:cascade})480 -> 0.0052s481-- create_table("services", {:id=>:serial, :force=>:cascade})482 -> 0.0157s483-- create_table("shards", {:id=>:serial, :force=>:cascade})484 -> 0.0047s485-- create_table("slack_integrations", {:id=>:serial, :force=>:cascade})486 -> 0.0070s487-- create_table("smartcard_identities", {:force=>:cascade})488 -> 0.0070s489-- create_table("snippets", {:id=>:serial, :force=>:cascade})490 -> 0.0225s491-- create_table("software_license_policies", {:id=>:serial, :force=>:cascade})492 -> 0.0068s493-- create_table("software_licenses", {:id=>:serial, :force=>:cascade})494 -> 0.0048s495-- create_table("spam_logs", {:id=>:serial, :force=>:cascade})496 -> 0.0038s497-- create_table("subscriptions", {:id=>:serial, :force=>:cascade})498 -> 0.0072s499-- create_table("suggestions", {:force=>:cascade})500 -> 0.0066s501-- create_table("system_note_metadata", {:id=>:serial, :force=>:cascade})502 -> 0.0050s503-- create_table("taggings", {:id=>:serial, :force=>:cascade})504 -> 0.0115s505-- create_table("tags", {:id=>:serial, :force=>:cascade})506 -> 0.0073s507-- create_table("term_agreements", {:id=>:serial, :force=>:cascade})508 -> 0.0785s509-- create_table("timelogs", {:id=>:serial, :force=>:cascade})510 -> 0.0095s511-- create_table("todos", {:id=>:serial, :force=>:cascade})512 -> 0.0248s513-- create_table("trending_projects", {:id=>:serial, :force=>:cascade})514 -> 0.0044s515-- create_table("u2f_registrations", {:id=>:serial, :force=>:cascade})516 -> 0.0071s517-- create_table("uploads", {:id=>:serial, :force=>:cascade})518 -> 0.0113s519-- create_table("user_agent_details", {:id=>:serial, :force=>:cascade})520 -> 0.0056s521-- create_table("user_callouts", {:id=>:serial, :force=>:cascade})522 -> 0.0064s523-- create_table("user_custom_attributes", {:id=>:serial, :force=>:cascade})524 -> 0.0071s525-- create_table("user_interacted_projects", {:id=>false, :force=>:cascade})526 -> 0.0054s527-- create_table("user_preferences", {:id=>:serial, :force=>:cascade})528 -> 0.0066s529-- create_table("user_statuses", {:primary_key=>"user_id", :id=>:serial, :force=>:cascade})530 -> 0.0051s531-- create_table("user_synced_attributes_metadata", {:id=>:serial, :force=>:cascade})532 -> 0.0061s533-- create_table("users", {:id=>:serial, :force=>:cascade})534 -> 0.0609s535-- create_table("users_ops_dashboard_projects", {:force=>:cascade})536 -> 0.0067s537-- create_table("users_star_projects", {:id=>:serial, :force=>:cascade})538 -> 0.0065s539-- create_table("vulnerability_feedback", {:id=>:serial, :force=>:cascade})540 -> 0.0156s541-- create_table("vulnerability_identifiers", {:force=>:cascade})542 -> 0.0052s543-- create_table("vulnerability_occurrence_identifiers", {:force=>:cascade})544 -> 0.0064s545-- create_table("vulnerability_occurrence_pipelines", {:force=>:cascade})546 -> 0.0068s547-- create_table("vulnerability_occurrences", {:force=>:cascade})548 -> 0.0119s549-- create_table("vulnerability_scanners", {:force=>:cascade})550 -> 0.0049s551-- create_table("web_hook_logs", {:id=>:serial, :force=>:cascade})552 -> 0.0081s553-- create_table("web_hooks", {:id=>:serial, :force=>:cascade})554 -> 0.0126s555-- add_foreign_key("allowed_email_domains", "namespaces", {:column=>"group_id", :on_delete=>:cascade})556 -> 0.0031s557-- add_foreign_key("analytics_cycle_analytics_group_stages", "labels", {:column=>"end_event_label_id", :on_delete=>:cascade})558 -> 0.0019s559-- add_foreign_key("analytics_cycle_analytics_group_stages", "labels", {:column=>"start_event_label_id", :on_delete=>:cascade})560 -> 0.0013s561-- add_foreign_key("analytics_cycle_analytics_group_stages", "namespaces", {:column=>"group_id", :on_delete=>:cascade})562 -> 0.0015s563-- add_foreign_key("analytics_cycle_analytics_project_stages", "labels", {:column=>"end_event_label_id", :on_delete=>:cascade})564 -> 0.0015s565-- add_foreign_key("analytics_cycle_analytics_project_stages", "labels", {:column=>"start_event_label_id", :on_delete=>:cascade})566 -> 0.0013s567-- add_foreign_key("analytics_cycle_analytics_project_stages", "projects", {:on_delete=>:cascade})568 -> 0.0029s569-- add_foreign_key("application_settings", "namespaces", {:column=>"custom_project_templates_group_id", :on_delete=>:nullify})570 -> 0.0030s571-- add_foreign_key("application_settings", "projects", {:column=>"file_template_project_id", :name=>"fk_ec757bd087", :on_delete=>:nullify})572 -> 0.0026s573-- add_foreign_key("application_settings", "projects", {:column=>"instance_administration_project_id", :on_delete=>:nullify})574 -> 0.0026s575-- add_foreign_key("application_settings", "users", {:column=>"usage_stats_set_by_user_id", :name=>"fk_964370041d", :on_delete=>:nullify})576 -> 0.0036s577-- add_foreign_key("approval_merge_request_rule_sources", "approval_merge_request_rules", {:on_delete=>:cascade})578 -> 0.0020s579-- add_foreign_key("approval_merge_request_rule_sources", "approval_project_rules", {:on_delete=>:cascade})580 -> 0.0016s581-- add_foreign_key("approval_merge_request_rules", "merge_requests", {:on_delete=>:cascade})582 -> 0.0027s583-- add_foreign_key("approval_merge_request_rules_approved_approvers", "approval_merge_request_rules", {:on_delete=>:cascade})584 -> 0.0015s585-- add_foreign_key("approval_merge_request_rules_approved_approvers", "users", {:on_delete=>:cascade})586 -> 0.0017s587-- add_foreign_key("approval_merge_request_rules_groups", "approval_merge_request_rules", {:on_delete=>:cascade})588 -> 0.0015s589-- add_foreign_key("approval_merge_request_rules_groups", "namespaces", {:column=>"group_id", :on_delete=>:cascade})590 -> 0.0014s591-- add_foreign_key("approval_merge_request_rules_users", "approval_merge_request_rules", {:on_delete=>:cascade})592 -> 0.0014s593-- add_foreign_key("approval_merge_request_rules_users", "users", {:on_delete=>:cascade})594 -> 0.0017s595-- add_foreign_key("approval_project_rules", "projects", {:on_delete=>:cascade})596 -> 0.0017s597-- add_foreign_key("approval_project_rules_groups", "approval_project_rules", {:on_delete=>:cascade})598 -> 0.0014s599-- add_foreign_key("approval_project_rules_groups", "namespaces", {:column=>"group_id", :on_delete=>:cascade})600 -> 0.0022s601-- add_foreign_key("approval_project_rules_users", "approval_project_rules", {:on_delete=>:cascade})602 -> 0.0014s603-- add_foreign_key("approval_project_rules_users", "users", {:on_delete=>:cascade})604 -> 0.0017s605-- add_foreign_key("approvals", "merge_requests", {:name=>"fk_310d714958", :on_delete=>:cascade})606 -> 0.0017s607-- add_foreign_key("approver_groups", "namespaces", {:column=>"group_id", :on_delete=>:cascade})608 -> 0.0017s609-- add_foreign_key("badges", "namespaces", {:column=>"group_id", :on_delete=>:cascade})610 -> 0.0017s611-- add_foreign_key("badges", "projects", {:on_delete=>:cascade})612 -> 0.0017s613-- add_foreign_key("board_assignees", "boards", {:on_delete=>:cascade})614 -> 0.0017s615-- add_foreign_key("board_assignees", "users", {:column=>"assignee_id", :on_delete=>:cascade})616 -> 0.0016s617-- add_foreign_key("board_group_recent_visits", "boards", {:on_delete=>:cascade})618 -> 0.0015s619-- add_foreign_key("board_group_recent_visits", "namespaces", {:column=>"group_id", :on_delete=>:cascade})620 -> 0.0015s621-- add_foreign_key("board_group_recent_visits", "users", {:on_delete=>:cascade})622 -> 0.0019s623-- add_foreign_key("board_labels", "boards", {:on_delete=>:cascade})624 -> 0.0015s625-- add_foreign_key("board_labels", "labels", {:on_delete=>:cascade})626 -> 0.0014s627-- add_foreign_key("board_project_recent_visits", "boards", {:on_delete=>:cascade})628 -> 0.0015s629-- add_foreign_key("board_project_recent_visits", "projects", {:on_delete=>:cascade})630 -> 0.0018s631-- add_foreign_key("board_project_recent_visits", "users", {:on_delete=>:cascade})632 -> 0.0018s633-- add_foreign_key("boards", "namespaces", {:column=>"group_id", :on_delete=>:cascade})634 -> 0.0016s635-- add_foreign_key("boards", "projects", {:name=>"fk_f15266b5f9", :on_delete=>:cascade})636 -> 0.0017s637-- add_foreign_key("chat_teams", "namespaces", {:on_delete=>:cascade})638 -> 0.0017s639-- add_foreign_key("ci_build_needs", "ci_builds", {:column=>"build_id", :on_delete=>:cascade})640 -> 0.0026s641-- add_foreign_key("ci_build_trace_chunks", "ci_builds", {:column=>"build_id", :on_delete=>:cascade})642 -> 0.0016s643-- add_foreign_key("ci_build_trace_section_names", "projects", {:on_delete=>:cascade})644 -> 0.0018s645-- add_foreign_key("ci_build_trace_sections", "ci_build_trace_section_names", {:column=>"section_name_id", :name=>"fk_264e112c66", :on_delete=>:cascade})646 -> 0.0014s647-- add_foreign_key("ci_build_trace_sections", "ci_builds", {:column=>"build_id", :name=>"fk_4ebe41f502", :on_delete=>:cascade})648 -> 0.0014s649-- add_foreign_key("ci_build_trace_sections", "projects", {:on_delete=>:cascade})650 -> 0.0017s651-- add_foreign_key("ci_builds", "ci_pipelines", {:column=>"auto_canceled_by_id", :name=>"fk_a2141b1522", :on_delete=>:nullify})652 -> 0.0022s653-- add_foreign_key("ci_builds", "ci_pipelines", {:column=>"commit_id", :name=>"fk_d3130c9a7f", :on_delete=>:cascade})654 -> 0.0015s655-- add_foreign_key("ci_builds", "ci_pipelines", {:column=>"upstream_pipeline_id", :name=>"fk_87f4cefcda", :on_delete=>:cascade})656 -> 0.0015s657-- add_foreign_key("ci_builds", "ci_stages", {:column=>"stage_id", :name=>"fk_3a9eaa254d", :on_delete=>:cascade})658 -> 0.0018s659-- add_foreign_key("ci_builds", "projects", {:name=>"fk_befce0568a", :on_delete=>:cascade})660 -> 0.0021s661-- add_foreign_key("ci_builds_metadata", "ci_builds", {:column=>"build_id", :on_delete=>:cascade})662 -> 0.0016s663-- add_foreign_key("ci_builds_metadata", "projects", {:on_delete=>:cascade})664 -> 0.0017s665-- add_foreign_key("ci_builds_runner_session", "ci_builds", {:column=>"build_id", :on_delete=>:cascade})666 -> 0.0015s667-- add_foreign_key("ci_group_variables", "namespaces", {:column=>"group_id", :name=>"fk_33ae4d58d8", :on_delete=>:cascade})668 -> 0.0016s669-- add_foreign_key("ci_job_artifacts", "ci_builds", {:column=>"job_id", :on_delete=>:cascade})670 -> 0.0018s671-- add_foreign_key("ci_job_artifacts", "projects", {:on_delete=>:cascade})672 -> 0.0019s673-- add_foreign_key("ci_job_variables", "ci_builds", {:column=>"job_id", :on_delete=>:cascade})674 -> 0.0016s675-- add_foreign_key("ci_pipeline_chat_data", "chat_names", {:on_delete=>:cascade})676 -> 0.0017s677-- add_foreign_key("ci_pipeline_chat_data", "ci_pipelines", {:column=>"pipeline_id", :on_delete=>:cascade})678 -> 0.0014s679-- add_foreign_key("ci_pipeline_schedule_variables", "ci_pipeline_schedules", {:column=>"pipeline_schedule_id", :name=>"fk_41c35fda51", :on_delete=>:cascade})680 -> 0.0015s681-- add_foreign_key("ci_pipeline_schedules", "projects", {:name=>"fk_8ead60fcc4", :on_delete=>:cascade})682 -> 0.0017s683-- add_foreign_key("ci_pipeline_schedules", "users", {:column=>"owner_id", :name=>"fk_9ea99f58d2", :on_delete=>:nullify})684 -> 0.0017s685-- add_foreign_key("ci_pipeline_variables", "ci_pipelines", {:column=>"pipeline_id", :name=>"fk_f29c5f4380", :on_delete=>:cascade})686 -> 0.0015s687-- add_foreign_key("ci_pipelines", "ci_pipeline_schedules", {:column=>"pipeline_schedule_id", :name=>"fk_3d34ab2e06", :on_delete=>:nullify})688 -> 0.0013s689-- add_foreign_key("ci_pipelines", "ci_pipelines", {:column=>"auto_canceled_by_id", :name=>"fk_262d4c2d19", :on_delete=>:nullify})690 -> 0.0015s691-- add_foreign_key("ci_pipelines", "merge_requests", {:name=>"fk_a23be95014", :on_delete=>:cascade})692 -> 0.0017s693-- add_foreign_key("ci_pipelines", "projects", {:name=>"fk_86635dbd80", :on_delete=>:cascade})694 -> 0.0019s695-- add_foreign_key("ci_runner_namespaces", "ci_runners", {:column=>"runner_id", :on_delete=>:cascade})696 -> 0.0018s697-- add_foreign_key("ci_runner_namespaces", "namespaces", {:on_delete=>:cascade})698 -> 0.0016s699-- add_foreign_key("ci_runner_projects", "projects", {:name=>"fk_4478a6f1e4", :on_delete=>:cascade})700 -> 0.0018s701-- add_foreign_key("ci_sources_pipelines", "ci_builds", {:column=>"source_job_id", :name=>"fk_be5624bf37", :on_delete=>:cascade})702 -> 0.0017s703-- add_foreign_key("ci_sources_pipelines", "ci_pipelines", {:column=>"pipeline_id", :name=>"fk_e1bad85861", :on_delete=>:cascade})704 -> 0.0014s705-- add_foreign_key("ci_sources_pipelines", "ci_pipelines", {:column=>"source_pipeline_id", :name=>"fk_d4e29af7d7", :on_delete=>:cascade})706 -> 0.0013s707-- add_foreign_key("ci_sources_pipelines", "projects", {:column=>"source_project_id", :name=>"fk_acd9737679", :on_delete=>:cascade})708 -> 0.0017s709-- add_foreign_key("ci_sources_pipelines", "projects", {:name=>"fk_1e53c97c0a", :on_delete=>:cascade})710 -> 0.0018s711-- add_foreign_key("ci_stages", "ci_pipelines", {:column=>"pipeline_id", :name=>"fk_fb57e6cc56", :on_delete=>:cascade})712 -> 0.0015s713-- add_foreign_key("ci_stages", "projects", {:name=>"fk_2360681d1d", :on_delete=>:cascade})714 -> 0.0017s715-- add_foreign_key("ci_trigger_requests", "ci_triggers", {:column=>"trigger_id", :name=>"fk_b8ec8b7245", :on_delete=>:cascade})716 -> 0.0014s717-- add_foreign_key("ci_triggers", "projects", {:name=>"fk_e3e63f966e", :on_delete=>:cascade})718 -> 0.0020s719-- add_foreign_key("ci_triggers", "users", {:column=>"owner_id", :name=>"fk_e8e10d1964", :on_delete=>:cascade})720 -> 0.0018s721-- add_foreign_key("ci_variables", "projects", {:name=>"fk_ada5eb64b3", :on_delete=>:cascade})722 -> 0.0019s723-- add_foreign_key("cluster_groups", "clusters", {:on_delete=>:cascade})724 -> 0.0016s725-- add_foreign_key("cluster_groups", "namespaces", {:column=>"group_id", :on_delete=>:cascade})726 -> 0.0016s727-- add_foreign_key("cluster_platforms_kubernetes", "clusters", {:on_delete=>:cascade})728 -> 0.0014s729-- add_foreign_key("cluster_projects", "clusters", {:on_delete=>:cascade})730 -> 0.0014s731-- add_foreign_key("cluster_projects", "projects", {:on_delete=>:cascade})732 -> 0.0017s733-- add_foreign_key("cluster_providers_gcp", "clusters", {:on_delete=>:cascade})734 -> 0.0015s735-- add_foreign_key("clusters", "users", {:on_delete=>:nullify})736 -> 0.0017s737-- add_foreign_key("clusters_applications_cert_managers", "clusters", {:on_delete=>:cascade})738 -> 0.0014s739-- add_foreign_key("clusters_applications_helm", "clusters", {:on_delete=>:cascade})740 -> 0.0014s741-- add_foreign_key("clusters_applications_ingress", "clusters", {:name=>"fk_753a7b41c1", :on_delete=>:cascade})742 -> 0.0015s743-- add_foreign_key("clusters_applications_jupyter", "clusters", {:on_delete=>:cascade})744 -> 0.0015s745-- add_foreign_key("clusters_applications_jupyter", "oauth_applications", {:on_delete=>:nullify})746 -> 0.0020s747-- add_foreign_key("clusters_applications_knative", "clusters", {:on_delete=>:cascade})748 -> 0.0015s749-- add_foreign_key("clusters_applications_prometheus", "clusters", {:name=>"fk_557e773639", :on_delete=>:cascade})750 -> 0.0015s751-- add_foreign_key("clusters_applications_runners", "ci_runners", {:column=>"runner_id", :name=>"fk_02de2ded36", :on_delete=>:nullify})752 -> 0.0014s753-- add_foreign_key("clusters_applications_runners", "clusters", {:on_delete=>:cascade})754 -> 0.0013s755-- add_foreign_key("clusters_kubernetes_namespaces", "cluster_projects", {:on_delete=>:nullify})756 -> 0.0017s757-- add_foreign_key("clusters_kubernetes_namespaces", "clusters", {:on_delete=>:cascade})758 -> 0.0015s759-- add_foreign_key("clusters_kubernetes_namespaces", "environments", {:on_delete=>:nullify})760 -> 0.0016s761-- add_foreign_key("clusters_kubernetes_namespaces", "projects", {:on_delete=>:nullify})762 -> 0.0019s763-- add_foreign_key("container_repositories", "projects")764 -> 0.0019s765-- add_foreign_key("dependency_proxy_blobs", "namespaces", {:column=>"group_id", :name=>"fk_db58bbc5d7", :on_delete=>:cascade})766 -> 0.0016s767-- add_foreign_key("dependency_proxy_group_settings", "namespaces", {:column=>"group_id", :name=>"fk_616ddd680a", :on_delete=>:cascade})768 -> 0.0016s769-- add_foreign_key("deploy_keys_projects", "projects", {:name=>"fk_58a901ca7e", :on_delete=>:cascade})770 -> 0.0021s771-- add_foreign_key("deployments", "clusters", {:name=>"fk_289bba3222", :on_delete=>:nullify})772 -> 0.0020s773-- add_foreign_key("deployments", "projects", {:name=>"fk_b9a3851b82", :on_delete=>:cascade})774 -> 0.0018s775-- add_foreign_key("design_management_designs", "issues", {:on_delete=>:cascade})776 -> 0.0023s777-- add_foreign_key("design_management_designs", "projects", {:on_delete=>:cascade})778 -> 0.0018s779-- add_foreign_key("design_management_designs_versions", "design_management_designs", {:column=>"design_id", :name=>"fk_03c671965c", :on_delete=>:cascade})780 -> 0.0014s781-- add_foreign_key("design_management_designs_versions", "design_management_versions", {:column=>"version_id", :name=>"fk_f4d25ba00c", :on_delete=>:cascade})782 -> 0.0014s783-- add_foreign_key("design_management_versions", "issues", {:on_delete=>:cascade})784 -> 0.0015s785-- add_foreign_key("draft_notes", "merge_requests", {:on_delete=>:cascade})786 -> 0.0018s787-- add_foreign_key("draft_notes", "users", {:column=>"author_id", :on_delete=>:cascade})788 -> 0.0018s789-- add_foreign_key("elasticsearch_indexed_namespaces", "namespaces", {:on_delete=>:cascade})790 -> 0.0017s791-- add_foreign_key("elasticsearch_indexed_projects", "projects", {:on_delete=>:cascade})792 -> 0.0019s793-- add_foreign_key("environments", "projects", {:name=>"fk_d1c8c1da6a", :on_delete=>:cascade})794 -> 0.0019s795-- add_foreign_key("epic_issues", "epics", {:on_delete=>:cascade})796 -> 0.0020s797-- add_foreign_key("epic_issues", "issues", {:on_delete=>:cascade})798 -> 0.0015s799-- add_foreign_key("epic_metrics", "epics", {:on_delete=>:cascade})800 -> 0.0014s801-- add_foreign_key("epics", "epics", {:column=>"parent_id", :name=>"fk_25b99c1be3", :on_delete=>:cascade})802 -> 0.0014s803-- add_foreign_key("epics", "milestones", {:on_delete=>:nullify})804 -> 0.0024s805-- add_foreign_key("epics", "namespaces", {:column=>"group_id", :name=>"fk_f081aa4489", :on_delete=>:cascade})806 -> 0.0016s807-- add_foreign_key("epics", "users", {:column=>"assignee_id", :name=>"fk_dccd3f98fc", :on_delete=>:nullify})808 -> 0.0018s809-- add_foreign_key("epics", "users", {:column=>"author_id", :name=>"fk_3654b61b03", :on_delete=>:cascade})810 -> 0.0018s811-- add_foreign_key("epics", "users", {:column=>"closed_by_id", :name=>"fk_aa5798e761", :on_delete=>:nullify})812 -> 0.0017s813-- add_foreign_key("events", "projects", {:on_delete=>:cascade})814 -> 0.0023s815-- add_foreign_key("events", "users", {:column=>"author_id", :name=>"fk_edfd187b6f", :on_delete=>:cascade})816 -> 0.0017s817-- add_foreign_key("fork_network_members", "fork_networks", {:on_delete=>:cascade})818 -> 0.0016s819-- add_foreign_key("fork_network_members", "projects", {:column=>"forked_from_project_id", :name=>"fk_b01280dae4", :on_delete=>:nullify})820 -> 0.0018s821-- add_foreign_key("fork_network_members", "projects", {:on_delete=>:cascade})822 -> 0.0018s823-- add_foreign_key("fork_networks", "projects", {:column=>"root_project_id", :name=>"fk_e7b436b2b5", :on_delete=>:nullify})824 -> 0.0017s825-- add_foreign_key("forked_project_links", "projects", {:column=>"forked_to_project_id", :name=>"fk_434510edb0", :on_delete=>:cascade})826 -> 0.0018s827-- add_foreign_key("geo_container_repository_updated_events", "container_repositories", {:name=>"fk_212c89c706", :on_delete=>:cascade})828 -> 0.0014s829-- add_foreign_key("geo_event_log", "geo_cache_invalidation_events", {:column=>"cache_invalidation_event_id", :name=>"fk_42c3b54bed", :on_delete=>:cascade})830 -> 0.0020s831-- add_foreign_key("geo_event_log", "geo_container_repository_updated_events", {:column=>"container_repository_updated_event_id", :name=>"fk_6ada82d42a", :on_delete=>:cascade})832 -> 0.0013s833-- add_foreign_key("geo_event_log", "geo_hashed_storage_migrated_events", {:column=>"hashed_storage_migrated_event_id", :name=>"fk_27548c6db3", :on_delete=>:cascade})834 -> 0.0016s835-- add_foreign_key("geo_event_log", "geo_job_artifact_deleted_events", {:column=>"job_artifact_deleted_event_id", :name=>"fk_176d3fbb5d", :on_delete=>:cascade})836 -> 0.0014s837-- add_foreign_key("geo_event_log", "geo_lfs_object_deleted_events", {:column=>"lfs_object_deleted_event_id", :name=>"fk_d5af95fcd9", :on_delete=>:cascade})838 -> 0.0014s839-- add_foreign_key("geo_event_log", "geo_repositories_changed_events", {:column=>"repositories_changed_event_id", :name=>"fk_4a99ebfd60", :on_delete=>:cascade})840 -> 0.0013s841-- add_foreign_key("geo_event_log", "geo_repository_created_events", {:column=>"repository_created_event_id", :name=>"fk_9b9afb1916", :on_delete=>:cascade})842 -> 0.0015s843-- add_foreign_key("geo_event_log", "geo_repository_deleted_events", {:column=>"repository_deleted_event_id", :name=>"fk_c4b1c1f66e", :on_delete=>:cascade})844 -> 0.0014s845-- add_foreign_key("geo_event_log", "geo_repository_renamed_events", {:column=>"repository_renamed_event_id", :name=>"fk_86c84214ec", :on_delete=>:cascade})846 -> 0.0014s847-- add_foreign_key("geo_event_log", "geo_repository_updated_events", {:column=>"repository_updated_event_id", :name=>"fk_78a6492f68", :on_delete=>:cascade})848 -> 0.0014s849-- add_foreign_key("geo_event_log", "geo_reset_checksum_events", {:column=>"reset_checksum_event_id", :name=>"fk_cff7185ad2", :on_delete=>:cascade})850 -> 0.0014s851-- add_foreign_key("geo_event_log", "geo_upload_deleted_events", {:column=>"upload_deleted_event_id", :name=>"fk_c1f241c70d", :on_delete=>:cascade})852 -> 0.0014s853-- add_foreign_key("geo_hashed_storage_attachments_events", "projects", {:on_delete=>:cascade})854 -> 0.0019s855-- add_foreign_key("geo_hashed_storage_migrated_events", "projects", {:on_delete=>:cascade})856 -> 0.0018s857-- add_foreign_key("geo_node_namespace_links", "geo_nodes", {:on_delete=>:cascade})858 -> 0.0018s859-- add_foreign_key("geo_node_namespace_links", "namespaces", {:on_delete=>:cascade})860 -> 0.0016s861-- add_foreign_key("geo_node_statuses", "geo_nodes", {:on_delete=>:cascade})862 -> 0.0019s863-- add_foreign_key("geo_repositories_changed_events", "geo_nodes", {:on_delete=>:cascade})864 -> 0.0013s865-- add_foreign_key("geo_repository_created_events", "projects", {:on_delete=>:cascade})866 -> 0.0019s867-- add_foreign_key("geo_repository_renamed_events", "projects", {:on_delete=>:cascade})868 -> 0.0019s869-- add_foreign_key("geo_repository_updated_events", "projects", {:on_delete=>:cascade})870 -> 0.0018s871-- add_foreign_key("geo_reset_checksum_events", "projects", {:on_delete=>:cascade})872 -> 0.0019s873-- add_foreign_key("gitlab_subscriptions", "namespaces", {:name=>"fk_e2595d00a1", :on_delete=>:cascade})874 -> 0.0018s875-- add_foreign_key("gitlab_subscriptions", "plans", {:column=>"hosted_plan_id", :name=>"fk_bd0c4019c3", :on_delete=>:cascade})876 -> 0.0014s877-- add_foreign_key("gpg_key_subkeys", "gpg_keys", {:on_delete=>:cascade})878 -> 0.0024s879-- add_foreign_key("gpg_keys", "users", {:on_delete=>:cascade})880 -> 0.0019s881-- add_foreign_key("gpg_signatures", "gpg_key_subkeys", {:on_delete=>:nullify})882 -> 0.0017s883-- add_foreign_key("gpg_signatures", "gpg_keys", {:on_delete=>:nullify})884 -> 0.0015s885-- add_foreign_key("gpg_signatures", "projects", {:on_delete=>:cascade})886 -> 0.0019s887-- add_foreign_key("group_custom_attributes", "namespaces", {:column=>"group_id", :on_delete=>:cascade})888 -> 0.0017s889-- add_foreign_key("identities", "saml_providers", {:name=>"fk_aade90f0fc", :on_delete=>:cascade})890 -> 0.0017s891-- add_foreign_key("import_export_uploads", "projects", {:on_delete=>:cascade})892 -> 0.0021s893-- add_foreign_key("index_statuses", "projects", {:name=>"fk_74b2492545", :on_delete=>:cascade})894 -> 0.0020s895-- add_foreign_key("insights", "namespaces", {:on_delete=>:cascade})896 -> 0.0018s897-- add_foreign_key("insights", "projects", {:on_delete=>:cascade})898 -> 0.0018s899-- add_foreign_key("internal_ids", "namespaces", {:name=>"fk_162941d509", :on_delete=>:cascade})900 -> 0.0018s901-- add_foreign_key("internal_ids", "projects", {:on_delete=>:cascade})902 -> 0.0018s903-- add_foreign_key("ip_restrictions", "namespaces", {:column=>"group_id", :on_delete=>:cascade})904 -> 0.0017s905-- add_foreign_key("issue_assignees", "issues", {:name=>"fk_b7d881734a", :on_delete=>:cascade})906 -> 0.0016s907-- add_foreign_key("issue_assignees", "users", {:name=>"fk_5e0c8d9154", :on_delete=>:cascade})908 -> 0.0018s909-- add_foreign_key("issue_links", "issues", {:column=>"source_id", :name=>"fk_c900194ff2", :on_delete=>:cascade})910 -> 0.0018s911-- add_foreign_key("issue_links", "issues", {:column=>"target_id", :name=>"fk_e71bb44f1f", :on_delete=>:cascade})912 -> 0.0014s913-- add_foreign_key("issue_metrics", "issues", {:on_delete=>:cascade})914 -> 0.0016s915-- add_foreign_key("issue_tracker_data", "services", {:on_delete=>:cascade})916 -> 0.0018s917-- add_foreign_key("issues", "issues", {:column=>"moved_to_id", :name=>"fk_a194299be1", :on_delete=>:nullify})918 -> 0.0015s919-- add_foreign_key("issues", "milestones", {:name=>"fk_96b1dd429c", :on_delete=>:nullify})920 -> 0.0016s921-- add_foreign_key("issues", "projects", {:name=>"fk_899c8f3231", :on_delete=>:cascade})922 -> 0.0020s923-- add_foreign_key("issues", "users", {:column=>"author_id", :name=>"fk_05f1e72feb", :on_delete=>:nullify})924 -> 0.0019s925-- add_foreign_key("issues", "users", {:column=>"closed_by_id", :name=>"fk_c63cbf6c25", :on_delete=>:nullify})926 -> 0.0019s927-- add_foreign_key("issues", "users", {:column=>"updated_by_id", :name=>"fk_ffed080f01", :on_delete=>:nullify})928 -> 0.0019s929-- add_foreign_key("jira_connect_subscriptions", "jira_connect_installations", {:name=>"fk_f1d617343f", :on_delete=>:cascade})930 -> 0.0017s931-- add_foreign_key("jira_connect_subscriptions", "namespaces", {:name=>"fk_a3c10bcf7d", :on_delete=>:cascade})932 -> 0.0017s933-- add_foreign_key("jira_tracker_data", "services", {:on_delete=>:cascade})934 -> 0.0017s935-- add_foreign_key("label_links", "labels", {:name=>"fk_d97dd08678", :on_delete=>:cascade})936 -> 0.0015s937-- add_foreign_key("label_priorities", "labels", {:on_delete=>:cascade})938 -> 0.0015s939-- add_foreign_key("label_priorities", "projects", {:on_delete=>:cascade})940 -> 0.0019s941-- add_foreign_key("labels", "namespaces", {:column=>"group_id", :on_delete=>:cascade})942 -> 0.0017s943-- add_foreign_key("labels", "projects", {:name=>"fk_7de4989a69", :on_delete=>:cascade})944 -> 0.0019s945-- add_foreign_key("lfs_file_locks", "projects", {:on_delete=>:cascade})946 -> 0.0020s947-- add_foreign_key("lfs_file_locks", "users", {:on_delete=>:cascade})948 -> 0.0018s949-- add_foreign_key("list_user_preferences", "lists", {:on_delete=>:cascade})950 -> 0.0018s951-- add_foreign_key("list_user_preferences", "users", {:on_delete=>:cascade})952 -> 0.0022s953-- add_foreign_key("lists", "boards", {:name=>"fk_0d3f677137", :on_delete=>:cascade})954 -> 0.0014s955-- add_foreign_key("lists", "labels", {:name=>"fk_7a5553d60f", :on_delete=>:cascade})956 -> 0.0014s957-- add_foreign_key("lists", "milestones", {:on_delete=>:cascade})958 -> 0.0014s959-- add_foreign_key("lists", "users", {:name=>"fk_d6cf4279f7", :on_delete=>:cascade})960 -> 0.0018s961-- add_foreign_key("members", "users", {:name=>"fk_2e88fb7ce9", :on_delete=>:cascade})962 -> 0.0021s963-- add_foreign_key("merge_request_assignees", "merge_requests", {:on_delete=>:cascade})964 -> 0.0017s965-- add_foreign_key("merge_request_assignees", "users", {:on_delete=>:cascade})966 -> 0.0017s967-- add_foreign_key("merge_request_blocks", "merge_requests", {:column=>"blocked_merge_request_id", :on_delete=>:cascade})968 -> 0.0017s969-- add_foreign_key("merge_request_blocks", "merge_requests", {:column=>"blocking_merge_request_id", :on_delete=>:cascade})970 -> 0.0015s971-- add_foreign_key("merge_request_diff_commits", "merge_request_diffs", {:on_delete=>:cascade})972 -> 0.0017s973-- add_foreign_key("merge_request_diff_files", "merge_request_diffs", {:on_delete=>:cascade})974 -> 0.0015s975-- add_foreign_key("merge_request_diffs", "merge_requests", {:name=>"fk_8483f3258f", :on_delete=>:cascade})976 -> 0.0016s977-- add_foreign_key("merge_request_metrics", "ci_pipelines", {:column=>"pipeline_id", :on_delete=>:cascade})978 -> 0.0020s979-- add_foreign_key("merge_request_metrics", "merge_requests", {:on_delete=>:cascade})980 -> 0.0018s981-- add_foreign_key("merge_request_metrics", "users", {:column=>"latest_closed_by_id", :name=>"fk_ae440388cc", :on_delete=>:nullify})982 -> 0.0018s983-- add_foreign_key("merge_request_metrics", "users", {:column=>"merged_by_id", :name=>"fk_7f28d925f3", :on_delete=>:nullify})984 -> 0.0017s985-- add_foreign_key("merge_requests", "ci_pipelines", {:column=>"head_pipeline_id", :name=>"fk_fd82eae0b9", :on_delete=>:nullify})986 -> 0.0017s987-- add_foreign_key("merge_requests", "merge_request_diffs", {:column=>"latest_merge_request_diff_id", :name=>"fk_06067f5644", :on_delete=>:nullify})988 -> 0.0015s989-- add_foreign_key("merge_requests", "milestones", {:name=>"fk_6a5165a692", :on_delete=>:nullify})990 -> 0.0016s991-- add_foreign_key("merge_requests", "projects", {:column=>"source_project_id", :name=>"fk_3308fe130c", :on_delete=>:nullify})992 -> 0.0020s993-- add_foreign_key("merge_requests", "projects", {:column=>"target_project_id", :name=>"fk_a6963e8447", :on_delete=>:cascade})994 -> 0.0021s995-- add_foreign_key("merge_requests", "users", {:column=>"assignee_id", :name=>"fk_6149611a04", :on_delete=>:nullify})996 -> 0.0021s997-- add_foreign_key("merge_requests", "users", {:column=>"author_id", :name=>"fk_e719a85f8a", :on_delete=>:nullify})998 -> 0.0020s999-- add_foreign_key("merge_requests", "users", {:column=>"merge_user_id", :name=>"fk_ad525e1f87", :on_delete=>:nullify})1000 -> 0.0023s1001-- add_foreign_key("merge_requests", "users", {:column=>"updated_by_id", :name=>"fk_641731faff", :on_delete=>:nullify})1002 -> 0.0019s1003-- add_foreign_key("merge_requests_closing_issues", "issues", {:on_delete=>:cascade})1004 -> 0.0018s1005-- add_foreign_key("merge_requests_closing_issues", "merge_requests", {:on_delete=>:cascade})1006 -> 0.0016s1007-- add_foreign_key("merge_trains", "ci_pipelines", {:column=>"pipeline_id", :on_delete=>:nullify})1008 -> 0.0018s1009-- add_foreign_key("merge_trains", "merge_requests", {:on_delete=>:cascade})1010 -> 0.0017s1011-- add_foreign_key("merge_trains", "projects", {:column=>"target_project_id", :on_delete=>:cascade})1012 -> 0.0018s1013-- add_foreign_key("merge_trains", "users", {:on_delete=>:cascade})1014 -> 0.0018s1015-- add_foreign_key("milestones", "namespaces", {:column=>"group_id", :name=>"fk_95650a40d4", :on_delete=>:cascade})1016 -> 0.0016s1017-- add_foreign_key("milestones", "projects", {:name=>"fk_9bd0a0c791", :on_delete=>:cascade})1018 -> 0.0051s1019-- add_foreign_key("namespace_aggregation_schedules", "namespaces", {:on_delete=>:cascade})1020 -> 0.0030s1021-- add_foreign_key("namespace_root_storage_statistics", "namespaces", {:on_delete=>:cascade})1022 -> 0.0028s1023-- add_foreign_key("namespace_statistics", "namespaces", {:on_delete=>:cascade})1024 -> 0.0023s1025-- add_foreign_key("namespaces", "namespaces", {:column=>"custom_project_templates_group_id", :name=>"fk_e7a0b20a6b", :on_delete=>:nullify})1026 -> 0.0017s1027-- add_foreign_key("namespaces", "plans", {:name=>"fk_fdd12e5b80", :on_delete=>:nullify})1028 -> 0.0025s1029-- add_foreign_key("namespaces", "projects", {:column=>"file_template_project_id", :name=>"fk_319256d87a", :on_delete=>:nullify})1030 -> 0.0023s1031-- add_foreign_key("note_diff_files", "notes", {:column=>"diff_note_id", :on_delete=>:cascade})1032 -> 0.0020s1033-- add_foreign_key("notes", "projects", {:name=>"fk_99e097b079", :on_delete=>:cascade})1034 -> 0.0020s1035-- add_foreign_key("notes", "reviews", {:name=>"fk_2e82291620", :on_delete=>:nullify})1036 -> 0.0016s1037-- add_foreign_key("notification_settings", "users", {:name=>"fk_0c95e91db7", :on_delete=>:cascade})1038 -> 0.0021s1039-- add_foreign_key("oauth_openid_requests", "oauth_access_grants", {:column=>"access_grant_id", :name=>"fk_oauth_openid_requests_oauth_access_grants_access_grant_id"})1040 -> 0.0015s1041-- add_foreign_key("operations_feature_flag_scopes", "operations_feature_flags", {:column=>"feature_flag_id", :on_delete=>:cascade})1042 -> 0.0015s1043-- add_foreign_key("operations_feature_flags", "projects", {:on_delete=>:cascade})1044 -> 0.0020s1045-- add_foreign_key("operations_feature_flags_clients", "projects", {:on_delete=>:cascade})1046 -> 0.0019s1047-- add_foreign_key("packages_maven_metadata", "packages_packages", {:column=>"package_id", :name=>"fk_be88aed360", :on_delete=>:cascade})1048 -> 0.0014s1049-- add_foreign_key("packages_package_files", "packages_packages", {:column=>"package_id", :name=>"fk_86f0f182f8", :on_delete=>:cascade})1050 -> 0.0013s1051-- add_foreign_key("packages_packages", "projects", {:on_delete=>:cascade})1052 -> 0.0019s1053-- add_foreign_key("pages_domain_acme_orders", "pages_domains", {:on_delete=>:cascade})1054 -> 0.0020s1055-- add_foreign_key("pages_domains", "projects", {:name=>"fk_ea2f6dfc6f", :on_delete=>:cascade})1056 -> 0.0019s1057-- add_foreign_key("path_locks", "projects", {:name=>"fk_5265c98f24", :on_delete=>:cascade})1058 -> 0.0020s1059-- add_foreign_key("path_locks", "users")1060 -> 0.0018s1061-- add_foreign_key("personal_access_tokens", "users")1062 -> 0.0020s1063-- add_foreign_key("pool_repositories", "projects", {:column=>"source_project_id", :on_delete=>:nullify})1064 -> 0.0019s1065-- add_foreign_key("pool_repositories", "shards", {:on_delete=>:restrict})1066 -> 0.0014s1067-- add_foreign_key("project_alerting_settings", "projects", {:on_delete=>:cascade})1068 -> 0.0018s1069-- add_foreign_key("project_aliases", "projects", {:on_delete=>:cascade})1070 -> 0.0019s1071-- add_foreign_key("project_authorizations", "projects", {:on_delete=>:cascade})1072 -> 0.0019s1073-- add_foreign_key("project_authorizations", "users", {:on_delete=>:cascade})1074 -> 0.0017s1075-- add_foreign_key("project_auto_devops", "projects", {:on_delete=>:cascade})1076 -> 0.0020s1077-- add_foreign_key("project_ci_cd_settings", "projects", {:name=>"fk_24c15d2f2e", :on_delete=>:cascade})1078 -> 0.0019s1079-- add_foreign_key("project_custom_attributes", "projects", {:on_delete=>:cascade})1080 -> 0.0020s1081-- add_foreign_key("project_daily_statistics", "projects", {:on_delete=>:cascade})1082 -> 0.0019s1083-- add_foreign_key("project_deploy_tokens", "deploy_tokens", {:on_delete=>:cascade})1084 -> 0.0017s1085-- add_foreign_key("project_deploy_tokens", "projects", {:on_delete=>:cascade})1086 -> 0.0018s1087-- add_foreign_key("project_error_tracking_settings", "projects", {:on_delete=>:cascade})1088 -> 0.0021s1089-- add_foreign_key("project_feature_usages", "projects", {:on_delete=>:cascade})1090 -> 0.0023s1091-- add_foreign_key("project_features", "projects", {:name=>"fk_18513d9b92", :on_delete=>:cascade})1092 -> 0.0019s1093-- add_foreign_key("project_group_links", "projects", {:name=>"fk_daa8cee94c", :on_delete=>:cascade})1094 -> 0.0019s1095-- add_foreign_key("project_import_data", "projects", {:name=>"fk_ffb9ee3a10", :on_delete=>:cascade})1096 -> 0.0018s1097-- add_foreign_key("project_incident_management_settings", "projects", {:on_delete=>:cascade})1098 -> 0.0019s1099-- add_foreign_key("project_metrics_settings", "projects", {:on_delete=>:cascade})1100 -> 0.0018s1101-- add_foreign_key("project_mirror_data", "projects", {:on_delete=>:cascade})1102 -> 0.0021s1103-- add_foreign_key("project_repositories", "projects", {:on_delete=>:cascade})1104 -> 0.0020s1105-- add_foreign_key("project_repositories", "shards", {:on_delete=>:restrict})1106 -> 0.0013s1107-- add_foreign_key("project_repository_states", "projects", {:on_delete=>:cascade})1108 -> 0.0022s1109-- add_foreign_key("project_statistics", "projects", {:on_delete=>:cascade})1110 -> 0.0019s1111-- add_foreign_key("project_tracing_settings", "projects", {:on_delete=>:cascade})1112 -> 0.0018s1113-- add_foreign_key("projects", "pool_repositories", {:name=>"fk_6e5c14658a", :on_delete=>:nullify})1114 -> 0.0019s1115-- add_foreign_key("prometheus_alert_events", "projects", {:on_delete=>:cascade})1116 -> 0.0019s1117-- add_foreign_key("prometheus_alert_events", "prometheus_alerts", {:on_delete=>:cascade})1118 -> 0.0016s1119-- add_foreign_key("prometheus_alerts", "environments", {:on_delete=>:cascade})1120 -> 0.0014s1121-- add_foreign_key("prometheus_alerts", "projects", {:on_delete=>:cascade})1122 -> 0.0018s1123-- add_foreign_key("prometheus_alerts", "prometheus_metrics", {:on_delete=>:cascade})1124 -> 0.0017s1125-- add_foreign_key("prometheus_metrics", "projects", {:on_delete=>:cascade})1126 -> 0.0019s1127-- add_foreign_key("protected_branch_merge_access_levels", "namespaces", {:column=>"group_id", :name=>"fk_98f3d044fe", :on_delete=>:cascade})1128 -> 0.0018s1129-- add_foreign_key("protected_branch_merge_access_levels", "protected_branches", {:name=>"fk_8a3072ccb3", :on_delete=>:cascade})1130 -> 0.0015s1131-- add_foreign_key("protected_branch_merge_access_levels", "users")1132 -> 0.0026s1133-- add_foreign_key("protected_branch_push_access_levels", "namespaces", {:column=>"group_id", :name=>"fk_7111b68cdb", :on_delete=>:cascade})1134 -> 0.0019s1135-- add_foreign_key("protected_branch_push_access_levels", "protected_branches", {:name=>"fk_9ffc86a3d9", :on_delete=>:cascade})1136 -> 0.0014s1137-- add_foreign_key("protected_branch_push_access_levels", "users")1138 -> 0.0019s1139-- add_foreign_key("protected_branch_unprotect_access_levels", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1140 -> 0.0017s1141-- add_foreign_key("protected_branch_unprotect_access_levels", "protected_branches", {:on_delete=>:cascade})1142 -> 0.0013s1143-- add_foreign_key("protected_branch_unprotect_access_levels", "users", {:on_delete=>:cascade})1144 -> 0.0017s1145-- add_foreign_key("protected_branches", "projects", {:name=>"fk_7a9c6d93e7", :on_delete=>:cascade})1146 -> 0.0019s1147-- add_foreign_key("protected_environment_deploy_access_levels", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1148 -> 0.0017s1149-- add_foreign_key("protected_environment_deploy_access_levels", "protected_environments", {:on_delete=>:cascade})1150 -> 0.0015s1151-- add_foreign_key("protected_environment_deploy_access_levels", "users", {:on_delete=>:cascade})1152 -> 0.0018s1153-- add_foreign_key("protected_environments", "projects", {:on_delete=>:cascade})1154 -> 0.0024s1155-- add_foreign_key("protected_tag_create_access_levels", "namespaces", {:column=>"group_id", :name=>"fk_b4eb82fe3c", :on_delete=>:cascade})1156 -> 0.0019s1157-- add_foreign_key("protected_tag_create_access_levels", "protected_tags", {:name=>"fk_f7dfda8c51", :on_delete=>:cascade})1158 -> 0.0015s1159-- add_foreign_key("protected_tag_create_access_levels", "users")1160 -> 0.0019s1161-- add_foreign_key("protected_tags", "projects", {:name=>"fk_8e4af87648", :on_delete=>:cascade})1162 -> 0.0019s1163-- add_foreign_key("push_event_payloads", "events", {:name=>"fk_36c74129da", :on_delete=>:cascade})1164 -> 0.0014s1165-- add_foreign_key("push_rules", "projects", {:name=>"fk_83b29894de", :on_delete=>:cascade})1166 -> 0.0024s1167-- add_foreign_key("release_links", "releases", {:on_delete=>:cascade})1168 -> 0.0016s1169-- add_foreign_key("releases", "projects", {:name=>"fk_47fe2a0596", :on_delete=>:cascade})1170 -> 0.0019s1171-- add_foreign_key("releases", "users", {:column=>"author_id", :name=>"fk_8e4456f90f", :on_delete=>:nullify})1172 -> 0.0017s1173-- add_foreign_key("remote_mirrors", "projects", {:on_delete=>:cascade})1174 -> 0.0021s1175-- add_foreign_key("repository_languages", "projects", {:on_delete=>:cascade})1176 -> 0.0021s1177-- add_foreign_key("resource_label_events", "epics", {:on_delete=>:cascade})1178 -> 0.0019s1179-- add_foreign_key("resource_label_events", "issues", {:on_delete=>:cascade})1180 -> 0.0024s1181-- add_foreign_key("resource_label_events", "labels", {:on_delete=>:nullify})1182 -> 0.0015s1183-- add_foreign_key("resource_label_events", "merge_requests", {:on_delete=>:cascade})1184 -> 0.0017s1185-- add_foreign_key("resource_label_events", "users", {:on_delete=>:nullify})1186 -> 0.0018s1187-- add_foreign_key("reviews", "merge_requests", {:on_delete=>:cascade})1188 -> 0.0016s1189-- add_foreign_key("reviews", "projects", {:on_delete=>:cascade})1190 -> 0.0019s1191-- add_foreign_key("reviews", "users", {:column=>"author_id", :on_delete=>:nullify})1192 -> 0.0016s1193-- add_foreign_key("saml_providers", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1194 -> 0.0015s1195-- add_foreign_key("scim_oauth_access_tokens", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1196 -> 0.0016s1197-- add_foreign_key("services", "projects", {:name=>"fk_71cce407f9", :on_delete=>:cascade})1198 -> 0.0020s1199-- add_foreign_key("slack_integrations", "services", {:on_delete=>:cascade})1200 -> 0.0016s1201-- add_foreign_key("smartcard_identities", "users", {:on_delete=>:cascade})1202 -> 0.0019s1203-- add_foreign_key("snippets", "projects", {:name=>"fk_be41fd4bb7", :on_delete=>:cascade})1204 -> 0.0021s1205-- add_foreign_key("software_license_policies", "projects", {:on_delete=>:cascade})1206 -> 0.0020s1207-- add_foreign_key("software_license_policies", "software_licenses", {:on_delete=>:cascade})1208 -> 0.0014s1209-- add_foreign_key("subscriptions", "projects", {:on_delete=>:cascade})1210 -> 0.0020s1211-- add_foreign_key("suggestions", "notes", {:on_delete=>:cascade})1212 -> 0.0016s1213-- add_foreign_key("system_note_metadata", "notes", {:name=>"fk_d83a918cb1", :on_delete=>:cascade})1214 -> 0.0014s1215-- add_foreign_key("term_agreements", "application_setting_terms", {:column=>"term_id"})1216 -> 0.0015s1217-- add_foreign_key("term_agreements", "users", {:on_delete=>:cascade})1218 -> 0.0018s1219-- add_foreign_key("timelogs", "issues", {:name=>"fk_timelogs_issues_issue_id", :on_delete=>:cascade})1220 -> 0.0018s1221-- add_foreign_key("timelogs", "merge_requests", {:name=>"fk_timelogs_merge_requests_merge_request_id", :on_delete=>:cascade})1222 -> 0.0016s1223-- add_foreign_key("todos", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1224 -> 0.0021s1225-- add_foreign_key("todos", "notes", {:name=>"fk_91d1f47b13", :on_delete=>:cascade})1226 -> 0.0016s1227-- add_foreign_key("todos", "projects", {:name=>"fk_45054f9c45", :on_delete=>:cascade})1228 -> 0.0021s1229-- add_foreign_key("todos", "users", {:column=>"author_id", :name=>"fk_ccf0373936", :on_delete=>:cascade})1230 -> 0.0017s1231-- add_foreign_key("todos", "users", {:name=>"fk_d94154aa95", :on_delete=>:cascade})1232 -> 0.0019s1233-- add_foreign_key("trending_projects", "projects", {:on_delete=>:cascade})1234 -> 0.0020s1235-- add_foreign_key("u2f_registrations", "users")1236 -> 0.0019s1237-- add_foreign_key("user_callouts", "users", {:on_delete=>:cascade})1238 -> 0.0019s1239-- add_foreign_key("user_custom_attributes", "users", {:on_delete=>:cascade})1240 -> 0.0018s1241-- add_foreign_key("user_interacted_projects", "projects", {:name=>"fk_722ceba4f7", :on_delete=>:cascade})1242 -> 0.0019s1243-- add_foreign_key("user_interacted_projects", "users", {:name=>"fk_0894651f08", :on_delete=>:cascade})1244 -> 0.0018s1245-- add_foreign_key("user_preferences", "users", {:on_delete=>:cascade})1246 -> 0.0020s1247-- add_foreign_key("user_statuses", "users", {:on_delete=>:cascade})1248 -> 0.0018s1249-- add_foreign_key("user_synced_attributes_metadata", "users", {:on_delete=>:cascade})1250 -> 0.0018s1251-- add_foreign_key("users", "application_setting_terms", {:column=>"accepted_term_id", :name=>"fk_789cd90b35", :on_delete=>:cascade})1252 -> 0.0018s1253-- add_foreign_key("users", "namespaces", {:column=>"managing_group_id", :name=>"fk_a4b8fefe3e", :on_delete=>:nullify})1254 -> 0.0022s1255-- add_foreign_key("users_ops_dashboard_projects", "projects", {:on_delete=>:cascade})1256 -> 0.0021s1257-- add_foreign_key("users_ops_dashboard_projects", "users", {:on_delete=>:cascade})1258 -> 0.0018s1259-- add_foreign_key("users_star_projects", "projects", {:name=>"fk_22cd27ddfc", :on_delete=>:cascade})1260 -> 0.0022s1261-- add_foreign_key("vulnerability_feedback", "ci_pipelines", {:column=>"pipeline_id", :on_delete=>:nullify})1262 -> 0.0019s1263-- add_foreign_key("vulnerability_feedback", "issues", {:on_delete=>:nullify})1264 -> 0.0017s1265-- add_foreign_key("vulnerability_feedback", "merge_requests", {:name=>"fk_563ff1912e", :on_delete=>:nullify})1266 -> 0.0017s1267-- add_foreign_key("vulnerability_feedback", "projects", {:on_delete=>:cascade})1268 -> 0.0025s1269-- add_foreign_key("vulnerability_feedback", "users", {:column=>"author_id", :on_delete=>:cascade})1270 -> 0.0018s1271-- add_foreign_key("vulnerability_feedback", "users", {:column=>"comment_author_id", :name=>"fk_94f7c8a81e", :on_delete=>:nullify})1272 -> 0.0017s1273-- add_foreign_key("vulnerability_identifiers", "projects", {:on_delete=>:cascade})1274 -> 0.0020s1275-- add_foreign_key("vulnerability_occurrence_identifiers", "vulnerability_identifiers", {:column=>"identifier_id", :on_delete=>:cascade})1276 -> 0.0014s1277-- add_foreign_key("vulnerability_occurrence_identifiers", "vulnerability_occurrences", {:column=>"occurrence_id", :on_delete=>:cascade})1278 -> 0.0014s1279-- add_foreign_key("vulnerability_occurrence_pipelines", "ci_pipelines", {:column=>"pipeline_id", :on_delete=>:cascade})1280 -> 0.0015s1281-- add_foreign_key("vulnerability_occurrence_pipelines", "vulnerability_occurrences", {:column=>"occurrence_id", :on_delete=>:cascade})1282 -> 0.0013s1283-- add_foreign_key("vulnerability_occurrences", "projects", {:on_delete=>:cascade})1284 -> 0.0021s1285-- add_foreign_key("vulnerability_occurrences", "vulnerability_identifiers", {:column=>"primary_identifier_id", :on_delete=>:cascade})1286 -> 0.0013s1287-- add_foreign_key("vulnerability_occurrences", "vulnerability_scanners", {:column=>"scanner_id", :on_delete=>:cascade})1288 -> 0.0013s1289-- add_foreign_key("vulnerability_scanners", "projects", {:on_delete=>:cascade})1290 -> 0.0019s1291-- add_foreign_key("web_hook_logs", "web_hooks", {:on_delete=>:cascade})1292 -> 0.0017s1293-- add_foreign_key("web_hooks", "projects", {:name=>"fk_0c8ca6d9d1", :on_delete=>:cascade})1294 -> 0.0022s1295$ date1296Thu Aug 29 20:33:08 UTC 20191297$ JOB_NAME=( $CI_JOB_NAME )1298$ TEST_TOOL=${JOB_NAME[0]}1299$ TEST_LEVEL=${JOB_NAME[1]}1300$ DATABASE=${JOB_NAME[2]}1301$ export KNAPSACK_REPORT_PATH=knapsack/${CI_PROJECT_NAME}/${TEST_TOOL}_${TEST_LEVEL}_${DATABASE}_node_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_report.json1302$ export KNAPSACK_GENERATE_REPORT=true KNAPSACK_LOG_LEVEL=debug KNAPSACK_TEST_DIR=spec1303$ export SUITE_FLAKY_RSPEC_REPORT_PATH=${FLAKY_RSPEC_SUITE_REPORT_PATH}1304$ export FLAKY_RSPEC_REPORT_PATH=rspec_flaky/all_${TEST_TOOL}_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_report.json1305$ export NEW_FLAKY_RSPEC_REPORT_PATH=rspec_flaky/new_${TEST_TOOL}_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_report.json1306$ export FLAKY_RSPEC_GENERATE_REPORT=true1307$ export CACHE_CLASSES=true1308$ cp ${KNAPSACK_RSPEC_SUITE_REPORT_PATH} ${KNAPSACK_REPORT_PATH}1309$ [[ -f $FLAKY_RSPEC_REPORT_PATH ]] || echo "{}" > ${FLAKY_RSPEC_REPORT_PATH}1310$ [[ -f $NEW_FLAKY_RSPEC_REPORT_PATH ]] || echo "{}" > ${NEW_FLAKY_RSPEC_REPORT_PATH}1311$ scripts/gitaly-test-spawn1312Checking gitaly-ruby bundle...1313Warning: the running version of Bundler (1.17.2) is older than the version that created the lockfile (1.17.3). We suggest you upgrade to the latest version of Bundler by running `gem install bundler`.1314The Gemfile's dependencies are satisfied1315Trying to connect to gitaly: ...... OK1316$ date1317Thu Aug 29 20:33:09 UTC 20191318$ export KNAPSACK_TEST_FILE_PATTERN=$(ruby -r./lib/quality/test_level.rb -e "puts Quality::TestLevel.new.pattern(:${TEST_LEVEL})")1319$ mkdir -p tmp/memory_test1320$ export MEMORY_TEST_PATH="tmp/memory_test/${TEST_TOOL}_${TEST_LEVEL}_${DATABASE}_node_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_memory.csv"1321$ knapsack rspec "--color --format documentation --format RspecJunitFormatter --out junit_rspec.xml --tag level:${TEST_LEVEL} --tag ~geo"1322Knapsack report generator started!1323Run options:1324 include {:focus=>true, :level=>"unit"}1325 exclude {:geo=>true}1326==> Setting up GitLab Shell...1327 GitLab Shell set up in 0.075242273 seconds...1328==> Setting up Gitaly...1329 Gitaly set up in 0.000312306 seconds...1330cycle analytics events1331 #issue_events1332 has the total time1333 has a title1334 has the URL1335 has an iid1336 has a created_at timestamp1337 has the author's URL1338 has the author's avatar URL1339 has the author's name1340 #plan_events1341 has the total time1342 has a title1343 has the URL1344 has an iid1345 has a created_at timestamp1346 has the author's URL1347 has the author's avatar URL1348 has the author's name1349 #code_events1350 has the total time1351 has a title1352 has an iid1353 has a created_at timestamp1354 has the author's URL1355 has the author's avatar URL1356 has the author's name1357 #test_events1358 has the name1359 has the ID1360 has the URL1361 has the branch name1362 has the branch URL1363 has the short SHA1364 has the commit URL1365 has the date1366 has the total time1367 #review_events1368 has the total time1369 has a title1370 has an iid1371 has the URL1372 has a state1373 has a created_at timestamp1374 has the author's URL1375 has the author's avatar URL1376 has the author's name1377 #staging_events13782019-08-29T20:36:18.332Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>66}1379 has the name13802019-08-29T20:36:21.376Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>69}1381 has the ID13822019-08-29T20:36:24.576Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>72}1383 has the URL13842019-08-29T20:36:27.992Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>75}1385 has the branch name13862019-08-29T20:36:31.369Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>78}1387 has the branch URL13882019-08-29T20:36:34.509Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>81}1389 has the short SHA13902019-08-29T20:36:37.747Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>84}1391 has the commit URL13922019-08-29T20:36:40.762Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>87}1393 has the date13942019-08-29T20:36:43.840Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>90}1395 has the total time13962019-08-29T20:36:47.015Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>93}1397 has the author's URL13982019-08-29T20:36:50.235Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>96}1399 has the author's avatar URL14002019-08-29T20:36:54.149Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>99}1401 has the author's name1402 #production_events14032019-08-29T20:36:56.729Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>100}1404 has the total time14052019-08-29T20:36:59.480Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>101}1406 has a title14072019-08-29T20:37:02.155Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>102}1408 has the URL14092019-08-29T20:37:04.660Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>103}1410 has an iid14112019-08-29T20:37:07.319Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>104}1412 has a created_at timestamp14132019-08-29T20:37:09.953Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>105}1414 has the author's URL14152019-08-29T20:37:12.811Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>106}1416 has the author's avatar URL14172019-08-29T20:37:15.469Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>107}1418 has the author's name1419CycleAnalytics#staging1420 start condition: merge request that closes issue is merged1421 end condition: merge request that closes issue is deployed to production14222019-09-02T20:37:17.482Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>108}14232019-09-10T20:37:19.773Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>109}14242019-09-20T20:37:21.719Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>110}14252019-09-30T20:37:23.784Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>111}14262019-10-11T20:37:25.858Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>112}1427 finds the median of available durations between the two conditions1428 when the data belongs to another project14292019-08-30T20:37:28.150Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>113}1430 returns nil1431 when the end condition happens before the start condition14322019-08-29T20:37:30.929Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>114}1433 returns nil1434 start condition NOT PRESENT: merge request that closes issue is merged1435 end condition: merge request that closes issue is deployed to production14362019-09-05T20:37:33.345Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>115}1437 returns nil1438 start condition: merge request that closes issue is merged1439 end condition NOT PRESENT: merge request that closes issue is deployed to production1440 returns nil1441 start condition: merge request that closes issue is merged1442 end condition: production deploy happens after merge request is merged (along with other changes)14432019-08-30T20:37:36.934Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>116}14442019-09-09T20:37:39.043Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>117}14452019-09-20T20:37:41.157Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>118}14462019-09-30T20:37:43.245Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>119}14472019-10-11T20:37:45.341Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>120}1448 finds the median of available durations between the two conditions1449 when the data belongs to another project14502019-08-30T20:37:47.651Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>121}1451 returns nil1452 when the end condition happens before the start condition14532019-08-29T20:37:50.490Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>122}1454 returns nil1455 start condition NOT PRESENT: merge request that closes issue is merged1456 end condition: production deploy happens after merge request is merged (along with other changes)14572019-09-07T20:37:53.112Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>123}1458 returns nil1459 start condition: merge request that closes issue is merged1460 end condition NOT PRESENT: production deploy happens after merge request is merged (along with other changes)1461 returns nil1462 start condition: merge request that closes issue is merged1463 end condition: merge request that closes issue is deployed to production and production deploy happens after merge request is merged (along with other changes)14642019-09-01T20:37:57.371Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>124}14652019-09-01T20:37:57.371Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>125}14662019-09-10T20:38:00.278Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>126}14672019-09-10T20:38:00.278Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>127}14682019-09-23T20:38:02.909Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>128}14692019-09-23T20:38:02.909Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>129}14702019-09-30T20:38:05.451Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>130}14712019-09-30T20:38:05.451Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>131}14722019-10-11T20:38:08.038Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>132}14732019-10-11T20:38:08.038Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>133}1474 finds the median of available durations between the two conditions1475 when the data belongs to another project14762019-09-01T20:38:11.277Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>134}14772019-09-01T20:38:11.277Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>135}1478 returns nil1479 when the end condition happens before the start condition14802019-08-29T20:38:14.287Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>136}14812019-08-29T20:38:14.287Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>137}1482 returns nil1483 start condition NOT PRESENT: merge request that closes issue is merged1484 end condition: merge request that closes issue is deployed to production and production deploy happens after merge request is merged (along with other changes)14852019-09-06T20:38:17.248Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>138}14862019-09-07T20:38:17.248Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>139}1487 returns nil1488 start condition: merge request that closes issue is merged1489 end condition NOT PRESENT: merge request that closes issue is deployed to production and production deploy happens after merge request is merged (along with other changes)1490 returns nil1491 when none of the start / end conditions are matched1492 returns nil1493 when a regular merge request (that doesn't close the issue) is merged and deployed14942019-08-29T20:38:21.737Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>140}1495 returns nil1496 when the deployment happens to a non-production environment14972019-08-29T20:38:24.058Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>141}1498 returns nil1499projects/merge_requests/show.html.haml1500 merge request assignee sidebar1501 when assignee is allowed to merge1502 does not show a warning icon1503 when the merge request is closed1504 shows the "Reopen" button1505 does not show the "Reopen" button when the source project does not exist1506 when the merge request is open1507 closes the merge request if the source project does not exist1508ProjectTeam1509 personal project1510 members collection1511 should include #<User id:171 @user171>1512 should not include #<User id:177 @user177>1513 should not include #<User id:180 @user180>1514 should not include #<User id:186 @user186>1515 access methods1516 should be truthy1517 should be falsey1518 should be falsey1519 should be falsey1520 should be falsey1521 should be truthy1522 should be truthy1523 should be falsey1524 should be falsey1525 group project1526 members collection1527 should include #<User id:229 @user229>1528 should include #<User id:233 @user233>1529 should include #<User id:240 @user240>1530 should not include #<User id:244 @user244>1531 should not include #<User id:251 @user251>1532 access methods1533 should be truthy1534 should be truthy1535 should be truthy1536 should be falsey1537 should be falsey1538 should be falsey1539 should be truthy1540 should be truthy1541 should be falsey1542 should be falsey1543 #fetch_members1544 personal project1545 returns project members1546 returns project members of a specified level1547 returns invited members of a group1548 returns invited members of a group of a specified level1549 group project1550 returns project members1551 returns project members of a specified level1552 #find_member1553 personal project1554 should be a kind of ProjectMember(id: integer, access_level: integer, source_id: integer, source_type: string, user_id: i...e_accepted_at: datetime, requested_at: datetime, expires_at: date, ldap: boolean, override: boolean)1555 should be a kind of ProjectMember(id: integer, access_level: integer, source_id: integer, source_type: string, user_id: i...e_accepted_at: datetime, requested_at: datetime, expires_at: date, ldap: boolean, override: boolean)1556 should be a kind of ProjectMember(id: integer, access_level: integer, source_id: integer, source_type: string, user_id: i...e_accepted_at: datetime, requested_at: datetime, expires_at: date, ldap: boolean, override: boolean)1557 should be nil1558 should be nil1559 group project1560 should be a kind of GroupMember(id: integer, access_level: integer, source_id: integer, source_type: string, user_id: int...e_accepted_at: datetime, requested_at: datetime, expires_at: date, ldap: boolean, override: boolean)1561 should be a kind of GroupMember(id: integer, access_level: integer, source_id: integer, source_type: string, user_id: int...e_accepted_at: datetime, requested_at: datetime, expires_at: date, ldap: boolean, override: boolean)1562 should be a kind of GroupMember(id: integer, access_level: integer, source_id: integer, source_type: string, user_id: int...e_accepted_at: datetime, requested_at: datetime, expires_at: date, ldap: boolean, override: boolean)1563 should be nil1564 should be nil1565 #members_in_project_and_ancestors1566 group project1567 filters out users who are not members of the project1568 #add_users1569 add the given users to the team1570 #add_user1571 add the given user to the team1572 #human_max_access1573 returns Maintainer role1574 returns Owner role1575 #max_member_access1576 personal project1577 when project is not shared with group1578 should eq 401579 should eq 201580 should eq 101581 should eq 01582 should eq 01583 when project is shared with group1584 should eq 301585 should eq 201586 should eq 01587 should eq 01588 but share_with_group_lock is true1589 should eq 01590 should eq 01591 group project1592 should eq 401593 should eq 201594 should eq 101595 should eq 01596 should eq 01597 #member?1598 returns false for no user1599 returns true for personal projects of the user1600 returns true for projects of groups the user is a member of1601 returns true for projects for which the user is a member of1602 returns true for projects shared on a group the user is a member of1603 checks for the correct minimum level access1604 #max_member_access_for_user_ids1605 with RequestStore enabled1606 returns correct roles for different users1607 does not perform extra queries when asked for users who have already been found1608 only requests the extra users when uncached users are passed1609 with RequestStore disabled1610 returns correct roles for different users1611Gitlab::Diff::PositionTracer::LineStrategy1612 #trace1613 diff scenarios1614 when the file was created in the old diff1615 when the file is created in the new diff1616 when the position pointed at an added line in the old diff1617 when the file's content was unchanged between the old and the new diff1618 returns the new position1619 when the file's content was changed between the old and the new diff1620 when that line was unchanged between the old and the new diff1621 returns the new position1622 when that line was moved between the old and the new diff1623 returns the new position1624 when that line was changed between the old and the new diff1625 returns the position of the change1626 when that line was deleted between the old and the new diff1627 returns the position of the change1628 when the file is changed in the new diff1629 when the position pointed at an added line in the old diff1630 when the file's content was unchanged between the old and the new diff1631 returns the new position1632 when the file's content was changed between the old and the new diff1633 when that line was unchanged between the old and the new diff1634 returns the new position1635 when that line was moved between the old and the new diff1636 returns the new position1637 when that line was changed between the old and the new diff1638 returns the position of the change1639 when that line was deleted between the old and the new diff1640 returns the position of the change1641 when the file is renamed in the new diff1642 when the position pointed at an added line in the old diff1643 when the file's content was unchanged between the old and the new diff1644 returns the position of the change1645 when the file's content was changed between the old and the new diff1646 when that line was unchanged between the old and the new diff1647 returns the new position1648 when that line was moved between the old and the new diff1649 returns the new position1650 when that line was changed between the old and the new diff1651 returns the position of the change1652 when the file is deleted in the new diff1653 when the position pointed at an added line in the old diff1654 when the file's content was unchanged between the old and the new diff1655 returns the position of the change1656 when the file's content was changed between the old and the new diff1657 when that line was unchanged between the old and the new diff1658 returns the position of the change1659 when that line was moved between the old and the new diff1660 returns the position of the change1661 when that line was changed between the old and the new diff1662 returns the position of the change1663 when that line was deleted between the old and the new diff1664 returns the position of the change1665 when the file is unchanged in the new diff1666 when the position pointed at an added line in the old diff1667 when the file's content was unchanged between the old and the new diff1668 returns the position of the change1669 when the file's content was changed between the old and the new diff1670 when that line was unchanged between the old and the new diff1671 returns the position of the change1672 when that line was moved between the old and the new diff1673 returns the position of the change1674 when that line was changed between the old and the new diff1675 returns the position of the change1676 when that line was deleted between the old and the new diff1677 returns the position of the change1678 when the file was changed in the old diff1679 when the file is created in the new diff1680 when the position pointed at an added line in the old diff1681 when the file's content was unchanged between the old and the new diff1682 returns the new position1683 when the file's content was changed between the old and the new diff1684 when that line was unchanged between the old and the new diff1685 returns the new position1686 when that line was moved between the old and the new diff1687 returns the new position1688 when that line was changed or deleted between the old and the new diff1689 returns the position of the change1690 when the position pointed at a deleted line in the old diff1691 returns the position of the change1692 when the position pointed at an unchanged line in the old diff1693 when the file's content was unchanged between the old and the new diff1694 returns the new position1695 when the file's content was changed between the old and the new diff1696 when that line was unchanged between the old and the new diff1697 returns the new position1698 when that line was moved between the old and the new diff1699 returns the new position1700 when that line was changed or deleted between the old and the new diff1701 returns the position of the change1702 when the file is changed in the new diff1703 when the position pointed at an added line in the old diff1704 when the file's content was unchanged between the old and the new diff1705 returns the new position1706 when the file's content was changed between the old and the new diff1707 when that line was unchanged between the old and the new diff1708 returns the new position1709 when that line was moved between the old and the new diff1710 returns the new position1711 when that line was changed or deleted between the old and the new diff1712 returns the position of the change1713 when the position pointed at a deleted line in the old diff1714 when the file's content was unchanged between the old and the new diff1715 returns the new position1716 typical use scenarios1717 simple push of new commit1718 returns the new positions1719 force push to overwrite last commit1720 returns the new positions1721 force push to delete last commit1722 returns the new positions1723 rebase on top of target branch1724 returns the new positions1725 merge of target branch1726 returns the new positions1727 changing target branch1728 returns the new positions1729Issues::MoveService1730 #execute1731 issue movable1732 generic issue1733 creates a new issue in a new project1734 rewrites issue title1735 rewrites issue description1736 adds system note to old issue at the end1737 adds system note to new issue at the end1738 closes old issue1739 persists new issue1740 persists all changes1741 preserves author1742 creates a new internal id for issue1743 marks issue as moved1744 preserves create time1745 moves the award emoji1746 issue with assignee1747 preserves assignee with access to the new issue1748 ignores assignee without access to the new issue1749 moving to same project1750 raises error1751 project issue hooks1752 executes project issue hooks1753 move permissions1754 user is reporter in both projects1755 should not raise Exception1756 user is reporter only in new project1757 should raise StandardError with message matching /permissions/1758 user is reporter only in old project1759 should raise StandardError with message matching /permissions/1760 user is reporter in one project and guest in another1761 should raise StandardError with message matching /permissions/1762 issue has already been moved1763 should raise StandardError with message matching /permissions/1764 issue is not persisted1765 should raise StandardError with message matching /permissions/1766Note ResolvableNote1767 resolvability scopes1768 .potentially_resolvable1769 includes diff and discussion notes on merge requests1770 .resolvable1771 includes non-system diff and discussion notes on merge requests1772 .resolved1773 includes resolved non-system diff and discussion notes on merge requests1774 .unresolved1775 includes non-resolved non-system diff and discussion notes on merge requests1776 .resolve!1777 resolves only the resolvable, not yet resolved notes1778 .unresolve!1779 unresolves the resolved notes1780 #resolvable?1781 when potentially resolvable1782 when a system note1783 returns false1784 when a regular note1785 returns true1786 when not potentially resolvable1787 returns false1788 #to_be_resolved?1789 when not resolvable1790 returns false1791 when resolvable1792 when resolved1793 returns false1794 when not resolved1795 returns true1796 #resolved?1797 when not resolvable1798 returns false1799 when resolvable1800 when the note has been resolved1801 returns true1802 when the note has not been resolved1803 returns false1804 #resolve!1805 when not resolvable1806 returns false1807 doesn't set resolved_at1808 doesn't set resolved_by1809 doesn't mark as resolved1810 when resolvable1811 when already resolved1812 returns false1813 doesn't change resolved_at1814 doesn't change resolved_by1815 doesn't change resolved status1816 when not yet resolved1817 returns true1818 sets resolved_at1819 sets resolved_by1820 marks as resolved1821 #unresolve!1822 when not resolvable1823 returns false1824 when resolvable1825 when resolved1826 returns true1827 unsets resolved_at1828 unsets resolved_by1829 unmarks as resolved1830 when not resolved1831 returns false1832 #potentially_resolvable?1833 returns false if noteable could not be found1834UpdateDeploymentService1835 #execute18362019-08-29T20:41:15.242Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>142}1837 invalidates the environment etag cache18382019-08-29T20:41:16.144Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>143}1839 creates ref18402019-08-29T20:41:16.887Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>144}1841 updates merge request metrics18422019-08-29T20:41:17.622Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>145}1843 returns the deployment18442019-08-29T20:41:18.359Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>146}1845 returns the deployment when could not save the environment18462019-08-29T20:41:19.225Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>147}1847 returns the deployment when environment is stopped1848 when start action is defined1849 and environment is stopped18502019-08-29T20:41:19.963Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>148}1851 makes environment available1852 when variables are used18532019-08-29T20:41:20.724Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>149}1854 does not create a new environment18552019-08-29T20:41:21.617Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>150}1856 updates external url1857 #expanded_environment_url1858 when yaml environment uses $CI_COMMIT_REF_NAME18592019-08-29T20:41:22.485Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>151}1860 should eq "http://review/master"1861 when yaml environment uses $CI_ENVIRONMENT_SLUG18622019-08-29T20:41:23.476Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>152}1863 should eq "http://review/prod-slug"1864 when yaml environment uses yaml_variables containing symbol keys18652019-08-29T20:41:24.320Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>153}1866 should eq "http://review/host"1867 when yaml environment does not have url18682019-08-29T20:41:25.262Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>154}1869 returns the external_url from persisted environment1870 merge request metrics1871 while updating the 'first_deployed_to_production_at' time1872 for merge requests merged before the current deploy18732019-08-29T20:41:25.991Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>155}1874 sets the time if the deploy's environment is 'production'18752019-08-29T20:41:27.211Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>156}1876 does not raise errors if the merge request does not have a metrics record1877 when job deploys to staging18782019-08-29T20:41:28.302Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>157}1879 doesn't set the time if the deploy's environment is not 'production'1880 for merge requests merged before the previous deploy1881 if the 'first_deployed_to_production_at' time is already set18822019-08-29T20:41:29.387Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>158}1883 does not overwrite the older 'first_deployed_to_production_at' time1884 if the 'first_deployed_to_production_at' time is not already set18852019-08-29T20:41:30.629Z 239 TID-goun6226z WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>159}1886 does not overwrite the older 'first_deployed_to_production_at' time1887Banzai::Filter::RelativeLinkFilter1888 does not raise an exception on invalid URIs1889 does not raise an exception with a garbled path1890 does not explode with an escaped null byte1891 does not raise an exception with a space in the path1892 ignores ref if commit is passed1893 with a project_wiki1894 does not modify any relative URL in anchor1895 does not modify any relative URL in image1896 does not modify any relative URL in video1897 without a repository1898 does not modify any relative URL in anchor1899 does not modify any relative URL in image1900 does not modify any relative URL in video1901 with an empty repository1902 does not modify any relative URL in anchor1903 does not modify any relative URL in image1904 does not modify any relative URL in video1905 with a valid commit1906 rebuilds absolute URL for a file in the repo1907 does not modify relative URLs in system notes1908 ignores absolute URLs with two leading slashes1909 rebuilds relative URL for a file in the repo1910 rebuilds relative URL for a file in the repo with leading ./1911 rebuilds relative URL for a file in the repo up one directory1912 rebuilds relative URL for a file in the repo up multiple directories1913 rebuilds relative URL for a file in the repository root1914 rebuilds relative URL for a file in the repo with an anchor1915 rebuilds relative URL for a directory in the repo1916 rebuilds relative URL for an image in the repo1917 rebuilds relative URL for link to an image in the repo1918 rebuilds relative URL for a video in the repo1919 does not modify relative URL with an anchor only1920 does not modify absolute URL1921 supports Unicode filenames1922 when requested path is a file in the repo1923 rebuilds URL relative to the containing directory1924 when requested path is a directory in the repo1925 rebuilds URL relative to the directory1926 when ref name contains percent sign1927 correctly escapes the ref1928 when ref name contains special chars1929 correctly escapes the ref1930 when requested path is a directory with space in the repo1931 does not escape the space twice1932 with a valid ref1933 rebuilds absolute URL for a file in the repo1934 does not modify relative URLs in system notes1935 ignores absolute URLs with two leading slashes1936 rebuilds relative URL for a file in the repo1937 rebuilds relative URL for a file in the repo with leading ./1938 rebuilds relative URL for a file in the repo up one directory1939 rebuilds relative URL for a file in the repo up multiple directories1940 rebuilds relative URL for a file in the repository root1941 rebuilds relative URL for a file in the repo with an anchor1942 rebuilds relative URL for a directory in the repo1943 rebuilds relative URL for an image in the repo1944 rebuilds relative URL for link to an image in the repo1945 rebuilds relative URL for a video in the repo1946 does not modify relative URL with an anchor only1947 does not modify absolute URL1948 supports Unicode filenames1949 when requested path is a file in the repo1950 rebuilds URL relative to the containing directory1951 when requested path is a directory in the repo1952 rebuilds URL relative to the directory1953 when ref name contains percent sign1954 correctly escapes the ref1955 when ref name contains special chars1956 correctly escapes the ref1957 when requested path is a directory with space in the repo1958 does not escape the space twice1959 with a /upload/ URL1960 to a project upload1961 rebuilds relative URL for a link1962 rebuilds relative URL for an image1963 does not modify absolute URL1964 supports unescaped Unicode filenames1965 supports escaped Unicode filenames1966 with an absolute URL1967 rewrites the link correctly1968 to a group upload1969 rewrites the link correctly1970 rewrites the link correctly for subgroup1971 does not modify absolute URL1972 with an absolute URL1973 rewrites the link correctly1974 to a personal snippet1975 rewrites the link correctly1976 does not modify absolute URL1977 with an absolute URL1978 rewrites the link correctly1979 with a relative URL root1980 rewrites the link correctly1981 with an absolute URL1982 rewrites the link correctly1983Issues::CloseService1984 #execute1985 checks if the user is authorized to update the issue1986 does not close the issue when the user is not authorized to do so1987 closes the issue when the user is authorized to do so1988 refreshes the number of open issues1989 invalidates counter cache for assignees1990 #close_issue1991 closed by a merge request1992 mentions closure via a merge request1993 closed by a commit1994 mentions closure via a commit1995 valid params1996 closes the issue1997 records closed user1998 sends email to user2 about assign of new issue1999 creates system note about issue reassign2000 marks todos as done2001 when issue is not confidential2002 executes issue hooks2003 when issue is confidential2004 executes confidential issue hooks2005 internal issues disabled2006 does not close the issue2007Projects::UpdateService2008 #execute2009 when changing visibility level2010 when visibility_level is INTERNAL2011 updates the project to internal2012 when visibility_level is PUBLIC2013 updates the project to public2014 when visibility_level is PRIVATE2015 updates the project to private2016 when visibility levels are restricted to PUBLIC only2017 when visibility_level is INTERNAL2018 updates the project to internal2019 when visibility_level is PUBLIC2020 does not update the project to public2021 when updated by an admin2022 updates the project to public2023 when project visibility is higher than parent group2024 does not update project visibility level2025 when updating project that has forks2026 updates forks visibility level when parent set to more restrictive2027 does not update forks visibility level when parent set to less restrictive2028 when updating a default branch2029 changes a default branch2030 does not change a default branch2031 when we update project but not enabling a wiki2032 does not try to create an empty wiki2033 handles empty project feature attributes2034 when enabling a wiki2035 creates a wiki2036 logs an error and creates a metric when wiki can not be created2037 when changing feature visibility to private2038 updates the visibility correctly2039 when updating a project that contains container images2040 does not allow to rename the project2041 allows to update other settings2042 when renaming a project2043 with legacy storage2044 does not allow renaming when new path matches existing repository on disk2045 renames the project without upgrading it2046 when hashed storage is enabled2047 migrates project to a hashed storage instead of renaming the repo to another legacy name2048 when skip_hashed_storage_upgrade feature flag is enabled2049 renames the project without upgrading it2050 with hashed storage2051 does not check if new path matches existing repository on disk2052 when passing invalid parameters2053 returns an error result when record cannot be updated2054 when updating #pages_https_only2055 updates the attribute2056 calls Projects::UpdatePagesConfigurationService2057 when updating #pages_access_level2058 updates the attribute2059 calls Projects::UpdatePagesConfigurationService2060 when updating #emails_disabled2061 updates the attribute for the project owner2062 does not update when not project owner2063 with external authorization enabled2064 does not save the project with an error if the service denies access2065 saves the new label if the service allows access2066 checks the default label when the classification label was cleared2067 does not check the label when it does not change2068 #run_auto_devops_pipeline?2069 when master contains a .gitlab-ci.yml file2070 should eq false2071 when auto devops is nil2072 should eq false2073 when auto devops is explicitly enabled2074 should eq true2075 when auto devops is explicitly disabled2076 should eq false2077 when auto devops is set to instance setting2078 when auto devops is enabled system-wide2079 should eq true2080 when auto devops is disabled system-wide2081 should eq false2082Snippet2083 modules2084 should includes the Gitlab::VisibilityLevel module2085 should includes the Participable module2086 should includes the Referable module2087 should includes the Sortable module2088 should includes the Awardable module2089 associations2090 should belong to author class_name => User required:2091 should belong to project required:2092 should have many notes dependent => destroy2093 should have many award_emoji dependent => destroy2094 validation2095 should validate that :author cannot be empty/falsy2096 should validate that :title cannot be empty/falsy2097 should validate that the length of :title is at most 2552098 should validate that the length of :file_name is at most 2552099 should validate that :content cannot be empty/falsy2100 should validate that :visibility_level is either ‹0›, ‹10›, or ‹20›2101 #to_reference2102 when snippet belongs to a project2103 returns a String reference to the object2104 supports a cross-project reference2105 when snippet does not belong to a project2106 returns a String reference to the object2107 still returns shortest reference when project arg present2108 #file_name2109 file_name is nil2110 returns an empty string2111 file_name is not nil2112 returns the file_name2113 #content_html_invalidated?2114 invalidates the HTML cache of content when the filename changes2115 .search2116 returns snippets with a matching title2117 returns snippets with a partially matching title2118 returns snippets with a matching title regardless of the casing2119 returns snippets with a matching file name2120 returns snippets with a partially matching file name2121 returns snippets with a matching file name regardless of the casing2122 .search_code2123 returns snippets with matching content2124 returns snippets with partially matching content2125 returns snippets with matching content regardless of the casing2126 .with_optional_visibility2127 when a visibility level is provided2128 returns snippets with the given visibility2129 when a visibility level is not provided2130 returns all snippets2131 .only_global_snippets2132 returns snippets not associated with any projects2133 .only_include_projects_visible_to2134 when a user is provided2135 returns snippets visible to the user2136 when a user is not provided2137 returns snippets visible to anonymous users2138 only_include_projects_with_snippets_enabled2139 includes snippets for projects with snippets enabled2140 when the include_private option is enabled2141 includes snippets for projects with snippets set to private2142 when the include_private option is not enabled2143 does not include snippets for projects that have snippets set to private2144 .only_include_authorized_projects2145 only includes snippets for projects the user is authorized to see2146 .for_project_with_user2147 when a user is provided2148 returns an empty collection if the user can not view the snippets2149 returns the snippets if the user is a member of the project2150 returns public snippets for a public project the user is not a member of2151 when a user is not provided2152 returns an empty collection for a private project2153 returns public snippets for a public project2154 .visible_to_or_authored_by2155 returns snippets visible to the user2156 #participants2157 includes the snippet author2158 includes the note authors2159 #check_for_spam2160 when public and spammable attributes changed2161 returns true2162 when private2163 returns false2164 returns true when switching to public2165 when spammable attributes have not changed2166 returns false2167 #blob2168 returns a blob representing the snippet data2169 #embeddable?2170 project snippet2171 only returns true when both project and snippet are public2172 only returns true when both project and snippet are public2173 only returns true when both project and snippet are public2174 only returns true when both project and snippet are public2175 only returns true when both project and snippet are public2176 only returns true when both project and snippet are public2177 only returns true when both project and snippet are public2178 only returns true when both project and snippet are public2179 only returns true when both project and snippet are public2180 personal snippet2181 only returns true when snippet is public2182 only returns true when snippet is public2183 only returns true when snippet is public2184MergeRequests::Conflicts::ListService2185 #can_be_resolved_in_ui?2186 returns a falsey value when the MR can be merged without conflicts2187 returns a falsey value when the MR is marked as having conflicts, but has none2188 returns a falsey value when one of the MR branches is missing2189 returns a falsey value when the MR does not support new diff notes2190 returns a falsey value when the conflicts contain a large file2191 returns a falsey value when the conflicts contain a binary file2192 returns a falsey value when the conflicts contain a file edited in one branch and deleted in another2193 returns a truthy value when the conflicts are resolvable in the UI2194 returns a truthy value when the conflicts have to be resolved in an editor2195 returns a falsey value when the MR has a missing ref after a force push2196 returns a falsey value when the MR has a missing revision after a force push2197 returns a falsey value when the conflict is in a submodule revision2198Gitlab::LegacyGithubImport::Importer2199 when importing a GitHub project2200 behaves like Gitlab::LegacyGithubImport::Importer#execute2201 calls import methods2202 behaves like Gitlab::LegacyGithubImport::Importer#execute an error occurs2203 returns true2204 does not raise an error2205 stores error messages2206 behaves like Gitlab::LegacyGithubImport unit-testing2207 #clean_up_restored_branches2208 when pull request stills open2209 does not remove branches2210 when pull request is closed2211 does remove branches2212 #client2213 instantiates a Client2214 when importing a Gitea project2215 behaves like Gitlab::LegacyGithubImport::Importer#execute2216 calls import methods2217 behaves like Gitlab::LegacyGithubImport::Importer#execute an error occurs2218 returns true2219 does not raise an error2220 stores error messages2221 behaves like Gitlab::LegacyGithubImport unit-testing2222 #clean_up_restored_branches2223 when pull request stills open2224 does not remove branches2225 when pull request is closed2226 does remove branches2227 #client2228 instantiates a Client2229Wikis::CreateAttachmentService2230 initialization2231 author commit info2232 does not raise error if user is nil2233 fills file_path from the repository uploads folder2234 when no author info provided2235 fills author_email and author_name from current_user info2236 when author info provided2237 fills author_email and author_name from params2238 commit message2239 when no commit message provided2240 sets a default commit message2241 when commit message provided2242 use the commit message from params2243 branch name2244 when no branch provided2245 sets the branch from the wiki default_branch2246 when branch provided2247 use the commit message from params2248 #parse_file_name2249 when file_name2250 has white spaces2251 replaces all of them with '_'2252 has other invalid characters2253 replaces all of them with '_'2254 is not present2255 returns error2256 length2257 is bigger than 2552258 truncates file name2259 is less or equal to 255 does not return error2260 does not return error2261 when user2262 does not have permission2263 behaves like wiki attachment user validations2264 returns error2265 is nil2266 behaves like wiki attachment user validations2267 returns error2268 #execute2269 adds file to the repository2270 creates branch if it does not exists2271 should eq "new_branch"2272 returns2273 returns the file name2274 returns the path where file was stored2275 returns the branch where the file was pushed2276 returns the commit id2277PushEvent2278 .created_or_pushed2279 includes events for pushing to existing refs2280 includes events for creating new refs2281 does not include events for removing refs2282 .branch_events2283 includes events for branches2284 does not include events for tags2285 .without_existing_merge_requests2286 includes events that do not have a corresponding merge request2287 does not include events that have a corresponding open merge request2288 includes events that has corresponding closed/merged merge requests2289 does not include events for removed refs2290 does not include events for pushing to tags2291 .sti_name2292 returns Event::PUSHED2293 #push_action?2294 returns true2295 #push_with_commits?2296 returns true when both the first and last commit are present2297 returns false when the first commit is missing2298 returns false when the last commit is missing2299 #tag?2300 returns true when pushing to a tag2301 returns false when pushing to a branch2302 #branch?2303 returns true when pushing to a branch2304 returns false when pushing to a tag2305 #valid_push?2306 returns true if a ref exists2307 returns false when no ref is present2308 #new_ref?2309 returns true when pushing a new ref2310 returns false when pushing to an existing ref2311 #rm_ref?2312 returns true when removing an existing ref2313 returns false when pushing to an existing ref2314 #commit_from2315 returns the first commit SHA2316 #commit_to2317 returns the last commit SHA2318 #ref_name2319 returns the name of the ref2320 #ref_type2321 returns the type of the ref2322 #branch_name2323 returns the name of the branch2324 #tag_name2325 returns the name of the tag2326 #commit_title2327 returns the commit message2328 #commit_id2329 returns the SHA of the last commit if present2330 returns the SHA of the first commit if the last commit is not present2331 #commits_count2332 returns the number of commits2333 #validate_push_action2334 adds an error when the action is not PUSHED2335project routing2336 ProjectsController routing2337 to #create2338 to #new2339 to #edit2340 to #update2341 to #destroy2342 to #preview_markdown2343 to #resolve2344 to #show2345 regular name2346 should route {:get=>"/gitlab/gitlabhq"} to {:namespace_id=>"gitlab", :id=>"gitlabhq", :controller=>"projects", :action=>"show"}2347 name with dot2348 should route {:get=>"/gitlab/gitlabhq.keys"} to {:namespace_id=>"gitlab", :id=>"gitlabhq.keys", :controller=>"projects", :action=>"show"}2349 with nested group2350 should route {:get=>"/gitlab/subgroup/gitlabhq"} to {:namespace_id=>"gitlab/subgroup", :id=>"gitlabhq", :controller=>"projects", :action=>"show"}2351 Projects::AutocompleteSourcesController routing2352 to #members2353 to #issues2354 to #merge_requests2355 to #labels2356 to #milestones2357 to #commands2358 to #snippets2359 behaves like redirecting a legacy project path2360 redirects /gitlab/gitlabhq/autocomplete_sources/labels to /gitlab/gitlabhq/-/autocomplete_sources/labels2361 Projects::WikisController routing2362 to #pages2363 to #history2364 behaves like RESTful project resources2365 to #index2366 to #create2367 to #new2368 to #edit2369 to #show2370 to #update2371 to #destroy2372 Projects::RepositoriesController routing2373 to #archive format:zip2374 to #archive format:tar.bz22375 to #archive with "/" in route2376 to #archive_alternative2377 to #archive_deprecated2378 to #archive_deprecated format:zip2379 to #archive_deprecated format:tar.bz22380 to #archive_deprecated with "/" in route2381 Projects::BranchesController routing2382 to #branches2383 behaves like redirecting a legacy project path2384 redirects /gitlab/gitlabhq/branches to /gitlab/gitlabhq/-/branches2385 Projects::TagsController routing2386 to #tags2387 Projects::DeployKeysController routing2388 behaves like RESTful project resources2389 to #index2390 to #create2391 to #new2392 to #edit2393 to #show2394 to #update2395 to #destroy2396 behaves like redirecting a legacy project path2397 redirects /gitlab/gitlabhq/deploy_keys to /gitlab/gitlabhq/-/deploy_keys2398 Projects::ProtectedBranchesController routing2399 behaves like RESTful project resources2400 to #index2401 to #create2402 to #new2403 to #edit2404 to #show2405 to #update2406 to #destroy2407 Projects::RefsController routing2408 to #switch2409 to #logs_tree2410 Projects::MergeRequestsController routing2411 to #commits2412 to #pipelines2413 to #merge2414 to #show2415 behaves like RESTful project resources2416 to #index2417 to #create2418 to #new2419 to #edit2420 to #show2421 to #update2422 to #destroy2423 Projects::MergeRequests::CreationsController routing2424 to #new2425 to #create2426 to #branch_from2427 to #branch_to2428 to #pipelines2429 to #diffs2430 Projects::MergeRequests::DiffsController routing2431 to #show2432 Projects::MergeRequests::ConflictsController routing2433 to #show2434 SnippetsController routing2435 to #raw2436 to #index2437 to #create2438 to #new2439 to #edit2440 to #show2441 to #update2442 to #destroy2443 Projects::HooksController routing2444 to #test2445 behaves like RESTful project resources2446 to #index2447 to #create2448 to #new2449 to #edit2450 to #show2451 to #update2452 to #destroy2453 Projects::HookLogsController routing2454 to #retry2455 to #show2456 Projects::CommitController routing2457 to #show2458 Projects::CommitsController routing2459 to #show2460 behaves like RESTful project resources2461 to #index2462 to #create2463 to #new2464 to #edit2465 to #show2466 to #update2467 to #destroy2468 Projects::ProjectMembersController routing2469 behaves like RESTful project resources2470 to #index2471 to #create2472 to #new2473 to #edit2474 to #show2475 to #update2476 to #destroy2477 behaves like redirecting a legacy project path2478 redirects /gitlab/gitlabhq/project_members to /gitlab/gitlabhq/-/project_members2479 Projects::MilestonesController routing2480 to #promote2481 behaves like RESTful project resources2482 to #index2483 to #create2484 to #new2485 to #edit2486 to #show2487 to #update2488 to #destroy2489 behaves like redirecting a legacy project path2490 redirects /gitlab/gitlabhq/milestones to /gitlab/gitlabhq/-/milestones2491 Projects::LabelsController routing2492 to #index2493 behaves like redirecting a legacy project path2494 redirects /gitlab/gitlabhq/labels to /gitlab/gitlabhq/-/labels2495 Projects::IssuesController routing2496 to #bulk_update2497 behaves like RESTful project resources2498 to #index2499 to #create2500 to #new2501 to #edit2502 to #show2503 to #update2504 to #destroy2505 Projects::NotesController routing2506 to #index2507 behaves like RESTful project resources2508 to #index2509 to #create2510 to #new2511 to #edit2512 to #show2513 to #update2514 to #destroy2515 Projects::BlameController routing2516 to #show2517 Projects::BlobController routing2518 to #show2519 Projects::TreeController routing2520 to #show2521 Projects::FindFileController routing2522 to #show2523 to #list2524 Projects::BlobController routing2525 to #edit2526 to #preview2527 Projects::CompareController routing2528 to #index2529 to #compare2530 to #show2531 Projects::NetworkController routing2532 to #show2533 behaves like redirecting a legacy project path2534 redirects /gitlab/gitlabhq/network/master to /gitlab/gitlabhq/-/network/master2535 Projects::GraphsController routing2536 to #show2537 behaves like redirecting a legacy project path2538 redirects /gitlab/gitlabhq/graphs/master to /gitlab/gitlabhq/-/graphs/master2539 Projects::ForksController routing2540 to #new2541 to #create2542 behaves like redirecting a legacy project path2543 redirects /gitlab/gitlabhq/forks to /gitlab/gitlabhq/-/forks2544 Projects::AvatarsController routing2545 to #destroy2546 behaves like redirecting a legacy project path2547 redirects /gitlab/gitlabhq/avatar to /gitlab/gitlabhq/-/avatar2548 Projects::PagesDomainsController routing2549 to #destroy with a valid domain name2550 to #show with a valid domain2551 behaves like RESTful project resources2552 to #index2553 to #create2554 to #new2555 to #edit2556 to #show2557 to #update2558 to #destroy2559 Projects::Registry::TagsController routing2560 #destroy2561 correctly routes to a destroy action2562 takes registry tag name constrains into account2563 Projects::Settings::RepositoryController routing2564 to #show2565 behaves like redirecting a legacy project path2566 redirects /gitlab/gitlabhq/settings/repository to /gitlab/gitlabhq/-/settings/repository2567 Projects::TemplatesController routing2568 #show2569 routes when :template_type is `merge_request`2570 routes when :template_type is `issue`2571 routes to application#route_not_found when :template_type is unknown2572 Projects::DeployTokensController routing2573 routes to deploy_tokens#revoke2574Gitlab::Checks::BranchCheck2575 #validate!2576 does not raise any error2577 trying to delete the default branch2578 raises an error2579 protected branches check2580 raises an error if the user is not allowed to do forced pushes to protected branches2581 raises an error if the user is not allowed to merge to protected branches2582 raises an error if the user is not allowed to push to protected branches2583 when project repository is empty2584 user is not allowed to push to protected branches2585 raises an error2586 user is allowed to push to protected branches2587 allows branch creation2588 branch creation2589 user can push to branch2590 does not raise an error2591 user cannot push to branch2592 user cannot merge to branch2593 raises an error2594 user can merge to branch2595 newrev isn't in any protected branches2596 raises an error2597 newrev is included in a protected branch2598 via web interface2599 allows branch creation2600 via SSH2601 raises an error2602 branch deletion2603 if the user is not allowed to delete protected branches2604 raises an error2605 if the user is allowed to delete protected branches2606 through the web interface2607 allows branch deletion2608 over SSH or HTTP2609 raises an error2610IssuesHelper2611 url_for_issue2612 returns internal path if used internal tracker2613 returns path to external tracker2614 returns path to internal issue when internal option passed2615 returns empty string if project nil2616 returns an empty string if issue_url is invalid2617 returns an empty string if issue_path is invalid2618 when external tracker was enabled and then config removed2619 returns external path2620 #award_user_list2621 returns a comma-separated list of the first X users2622 displays the current user's name as 'You'2623 truncates lists2624 displays the current user in front of other users2625 #award_state_class2626 returns disabled string for unauthenticated user2627 returns disabled for a user that does not have access to the awardable2628 returns active string for author2629 is blank for a user that has access to the awardable2630 awards_sort2631 sorts a hash so thumbsup and thumbsdown are always on top2632 #link_to_discussions_to_resolve2633 passing only a merge request2634 links just the merge request2635 containst the reference to the merge request2636 when passing a discussion2637 links to the merge request with first note if a single discussion was passed2638 contains both the reference to the merge request and a mention of the discussion2639 #show_new_issue_link?2640 is false when no project there is no project2641 is true when there is a project and no logged in user2642 is true when the current user does not have access to the project2643Issues::ResolveDiscussions2644 for resolving discussions2645 #merge_request_for_resolving_discussion2646 finds the merge request2647 only queries for the merge request once2648 #discussions_to_resolve2649 contains a single discussion when matching merge request and discussion are passed2650 contains all discussions when only a merge request is passed2651 contains only unresolved discussions2652 is empty when a discussion and another merge request are passed2653TrendingProject2654 .refresh!2655 populates the trending projects table2656 removes existing rows before populating the table2657 stores the project IDs for every trending project2658 does not store projects that fall out of the trending time range2659 stores only public projects2660Autocomplete::MoveToProjectFinder2661 #execute2662 filter2663 does not return projects under Gitlab::Access::REPORTER2664 returns projects equal or above Gitlab::Access::REPORTER ordered by name2665 does not include the source project2666 does not return archived projects2667 does not return projects for which issues are disabled2668 returns a page of projects ordered by name2669 search2670 returns projects matching a search query2671PipelineScheduleWorker2672 when the schedule is runnable by the user2673 when there is a scheduled pipeline within next_run_at2674 behaves like successful scheduling2675 creates a new pipeline2676 when the latest commit contains [ci skip]2677 behaves like successful scheduling2678 creates a new pipeline2679 when the schedule is deactivated2680 does not creates a new pipeline2681 when gitlab-ci.yml is corrupted2682 does not creates a new pipeline2683 when the schedule is not runnable by the user2684 does not deactivate the schedule2685 does not create a pipeline2686 does not raise an exception2687 when .gitlab-ci.yml is missing in the project2688 does not create a pipeline2689 does not raise an exception2690NamespacesHelper2691 #namespaces_options2692 returns groups without being a member for admin2693 returns only allowed namespaces for user2694 avoids duplicate groups when extra_group is used2695 selects existing group2696 selects the new group by default2697 falls back to current user selection2698 returns only groups if groups_only option is true2699 when nested groups are available2700 includes groups nested in groups the user can administer2701 orders the groups correctly2702 include_groups_with_developer_maintainer_access parameter2703 when DEVELOPER_MAINTAINER_PROJECT_ACCESS is set for a project2704 returns groups where user is a developer2705 when DEVELOPER_MAINTAINER_PROJECT_ACCESS is set globally2706 return groups where default is not overridden2707Members::UpdateService2708 when current user cannot update the given member2709 behaves like a service raising Gitlab::Access::AccessDeniedError2710 raises Gitlab::Access::AccessDeniedError2711 behaves like a service raising Gitlab::Access::AccessDeniedError2712 raises Gitlab::Access::AccessDeniedError2713 when current user can update the given member2714 behaves like a service updating a member2715 updates the member2716 when member is downgraded to guest2717 schedules to delete confidential todos2718 behaves like a service updating a member2719 updates the member2720 when member is downgraded to guest2721 schedules to delete confidential todos2722Issuable::Clone::AttributesRewriter2723 setting labels2724 sets labels present in the new project and group labels2725 does not set any labels when not used on the original issue2726 copies the resource label events2727 setting milestones2728 sets milestone to nil when old issue milestone is not in the new project2729 copies the milestone when old issue milestone title is in the new project2730 copies the milestone when old issue milestone is a group milestone2731Projects::LfsPointers::LfsObjectDownloadListService2732 #execute2733 when no lfs pointer is linked2734 retrieves all lfs pointers in the project repository2735 links existent lfs objects to the project2736 retrieves the download links of non existent objects2737 when some lfs objects are linked2738 retrieves the download links of non existent objects2739 when all lfs objects are linked2740 retrieves no download links2741 when lfsconfig file exists2742 when url points to the same import url host2743 downloads lfs object using the new endpoint2744 when import url has credentials2745 adds the credentials to the new endpoint2746 when url has its own credentials2747 does not add the import url credentials2748 when url points to a third party service2749 disables lfs from the project2750 does not download anything2751 #default_endpoint_uri2752 adds suffix .git if the url does not have it2753Ci::PipelinePolicy2754 rules2755 rules for protected ref2756 when no one can push or merge to the branch2757 does not include ability to update pipeline2758 when developers can push to the branch2759 includes ability to update pipeline2760 when no one can create the tag2761 does not include ability to update pipeline2762 when no one can create the tag but it is not a tag2763 includes ability to update pipeline2764 when maintainer is allowed to push to pipeline branch2765 enables update_pipeline if user is maintainer2766 when user does not have access to internal CI2767 disallows the user from reading the pipeline2768 destroy_pipeline2769 when user has owner access2770 is enabled2771 when user is not owner2772 is disabled2773 read_pipeline_variable2774 when user has owner access2775 is enabled2776 when user is developer and the creator of the pipeline2777 is enabled2778 when user is developer and it is not the creator of the pipeline2779 is disabled2780 when user is not owner nor developer2781 is disabled2782Gitlab::Conflict::FileCollection2783 #files2784 returns an array of Conflict::Files2785 #cache2786 specifies a custom namespace with the merge request commit ids2787 #can_be_resolved_in_ui?2788 returns true if conflicts for this collection can be resolved in the UI2789 returns false if conflicts for this collection can't be resolved in the UI2790 caches the result2791 #default_commit_message2792 matches the format of the git CLI commit message2793Projects::OpenIssuesCountService2794 behaves like a counter caching service2795 #count2796 caches the count2797 #refresh_cache2798 refreshes the cache2799 #delete_cache2800 removes the cache2801 #uncached_count2802 does not cache the count2803 #count2804 when user is nil2805 does not include confidential issues in the issue count2806 when user is provided2807 when user can read confidential issues2808 returns the right count with confidential issues2809 uses total_open_issues_count cache key2810 when user cannot read confidential issues2811 does not include confidential issues2812 uses public_open_issues_count cache key2813 #refresh_cache2814 when cache is empty2815 refreshes cache keys correctly2816 when cache is outdated2817 refreshes cache keys correctly2818RepositoryCheck::BatchWorker2819 prefers projects that have never been checked2820 sorts projects by last_repository_check_at2821 excludes projects that were checked recently2822 excludes projects on another shard2823 does nothing when repository checks are disabled2824 does nothing when shard is unhealthy2825 skips projects created less than 24 hours ago2826 does not run if the exclusive lease is taken2827Gitlab::Diff::DiffRefs2828 #==2829 when shas are missing2830 returns false2831 when shas are equal2832 returns true2833 when shas are unequal2834 returns false2835 when shas are truncated2836 when sha prefixes are too short2837 returns false2838 when sha prefixes are equal2839 returns true2840 when sha prefixes are unequal2841 returns false2842 #compare_in2843 with diff refs for the initial commit2844 returns an appropriate comparison2845 with diff refs for a commit2846 returns an appropriate comparison2847 with diff refs for a comparison through the base2848 returns an appropriate comparison2849 with diff refs for a straight comparison2850 returns an appropriate comparison2851ContainerRegistry::Path2852 #components2853 splits components by a forward slash2854 #nodes2855 when repository path is valid2856 return all project path like node in reverse order2857 when repository path is invalid2858 rasises en error2859 #to_s2860 when path does not have uppercase characters2861 return a string with a repository path2862 when path has uppercase characters2863 return a string with a repository path2864 #valid?2865 when path has less than two components2866 should not be valid2867 when path has more than allowed number of components2868 should not be valid2869 when path has invalid characters2870 should not be valid2871 when path has two or more components2872 should be valid2873 when path is related to multi-level image2874 should be valid2875 when path contains uppercase letters2876 should be valid2877 when path contains double underscore2878 should be valid2879 when path contains invalid separator with dot2880 should not be valid2881 when path contains invalid separator with underscore2882 should not be valid2883 #has_repository?2884 when project exists2885 when path already has matching repository2886 should have repository2887 should have project2888 when path does not have matching repository2889 should not have repository2890 should have project2891 when project does not exist2892 should not have repository2893 should not have project2894 #repository_project2895 when project for given path exists2896 returns a correct project2897 when project for given path does not exist2898 returns nil2899 when matching multi-level path2900 when using the zero-level path2901 supports zero-level path2902 when using first-level path2903 supports first-level path2904 when using second-level path2905 supports second-level path2906 when using too deep nesting in the path2907 does not support three-levels of nesting2908 #repository_name2909 when project does not exist2910 returns nil2911 when project exists2912 when project path equal repository path2913 returns an empty string2914 when repository path has one additional level2915 returns a correct repository name2916 when repository path has two additional levels2917 returns a correct repository name2918 #project_path2919 when project does not exist2920 returns nil2921 when project with uppercase characters in path exists2922 returns downcased project path2923Gitlab::Auth::LDAP::Access2924 .allowed?2925 updates the user's `last_credential_check_at`2926 does not update user's `last_credential_check_at` when in a read-only GitLab instance2927 #allowed?2928 when the user cannot be found2929 returns false2930 blocks user in GitLab2931 logs the reason2932 when the user is found2933 and the user is disabled via active directory2934 returns false2935 blocks user in GitLab2936 logs the reason2937 and has no disabled flag in active directory2938 should be truthy2939 when auto-created users are blocked2940 does not unblock user in GitLab2941 when auto-created users are not blocked2942 unblocks user in GitLab2943 logs the reason2944 without ActiveDirectory enabled2945 returns true2946 when user cannot be found2947 returns false2948 blocks user in GitLab2949 logs the reason2950 when user was previously ldap_blocked2951 unblocks the user if it exists2952 logs the reason2953 when the connection fails2954 does not block the user2955 denies access2956GitlabSchema2957 uses batch loading2958 enables the preload instrumenter2959 enables the authorization instrumenter2960 enables using presenters2961 enables using gitaly call checker2962 has the base mutation2963 has the base query2964 paginates active record relations using `Gitlab::Graphql::Connections::KeysetConnection`2965 .execute2966 for different types of users2967 when no context2968 returns DEFAULT_MAX_COMPLEXITY2969 when no user2970 returns DEFAULT_MAX_COMPLEXITY2971 returns DEFAULT_MAX_DEPTH2972 when a logged in user2973 returns AUTHENTICATED_COMPLEXITY2974 returns AUTHENTICATED_MAX_DEPTH2975 when an admin user2976 returns ADMIN_COMPLEXITY2977 when max_complexity passed on the query2978 returns what was passed on the query2979 when max_depth passed on the query2980 returns what was passed on the query2981 .id_from_object2982 returns a global id2983 raises a meaningful error if a global id couldn't be generated2984 .object_from_id2985 raises the correct error on invalid input2986 for subclasses of `ApplicationRecord`2987 returns the correct record2988 batchloads the queries2989 for classes that are not ActiveRecord subclasses and have implemented .lazy_find2990 returns the correct record2991 batchloads the queries2992 for other classes2993 falls back to a regular find2994GroupMemberPolicy2995 with guest user2996 should not be allowed :member_related_permissions2997 with one owner2998 should not be allowed :update_group_member2999 with more than one owner3000 should be allowed :update_group_member3001 with the group parent3002 should be allowed :update_group_member3003 without group parent3004 should not be allowed :update_group_member3005 without group parent with two owners3006 should be allowed :update_group_member3007Banzai::ReferenceRedactor3008 #redact3009 when reference not visible to user3010 redacts an array of documents3011 replaces redacted reference with inner HTML3012 when data-original attribute provided3013 replaces redacted reference with original content3014 does not replace redacted reference with original content if href is given3015 uses the original content as the link content if given3016 when project is in pending delete3017 redacts an issue attached3018 redacts an external issue3019 when reference visible to user3020 does not redact an array of documents3021 when the user cannot read cross project3022 skips links to issues within the same project3023 removes info from a cross project reference3024 #redact_nodes3025 redacts an Array of nodes3026 #nodes_visible_to_user3027 returns a Set containing the visible nodes3028Lfs::UnlockFileService3029 #execute3030 when not authorized3031 doesn't succeed3032 when authorized3033 when lock does not exists3034 doesn't succeed3035 when unlocked by the author3036 succeeds3037 when unlocked by a different user3038 doesn't succeed3039 when forced3040 by a regular user3041 doesn't succeed3042 by a maintainer user3043 succeeds3044Gitlab::Ci::Status::Build::Retried3045 #text3046 does not override status text3047 #icon3048 does not override status icon3049 #group3050 does not override status group3051 #favicon3052 does not override status label3053 #label3054 does not override status label3055 #badge_tooltip3056 returns status3057 #status_tooltip3058 with a failed build3059 does override status_tooltip3060 with another build3061 does override status_tooltip3062 .matches?3063 with a retried build3064 should be truthy3065 with a build that has not been retried3066 should be falsy3067Ci::Variable3068 behaves like CI variable3069 should includes the HasVariable module3070 strips whitespaces when assigning key3071 can convert to runner variable3072 variable type3073 defines variable types3074 defaults variable type to env_var3075 supports variable type file3076 validations3077 should includes the Presentable module3078 should includes the Maskable module3079 should includes the HasEnvironmentScope module3080 should validate that :key is case-sensitively unique within the scope of :project_id and :environment_scope, producing a custom validation error on failure3081 .unprotected3082 when variable is protected3083 returns nothing3084 when variable is not protected3085 returns the variable3086CommitPolicy3087 #rules3088 when project is public3089 can read commit and create a note3090 when repository access level is private3091 can not read commit and create a note3092 when the user is a project member3093 can read commit and create a note3094 when project is private3095 can not read commit and create a note3096 when the user is a project member3097 can read commit and create a note3098Projects::DownloadService3099 File service3100 for a URL that is not on whitelist3101 should eq nil3102 for URLs that are on the whitelist3103 an image file3104 should have key :alt3105 should have key :url3106 should match "rails_sample.jpg"3107 should eq "rails_sample"3108 a txt file3109 should have key :alt3110 should have key :url3111 should match "doc_sample.txt"3112 should eq "doc_sample.txt"3113Gitlab::GithubImport::Importer::DiffNoteImporter3114 #execute3115 when the merge request no longer exists3116 does not import anything3117 when the merge request exists3118 imports the note3119 imports the note when the author could not be found3120 produces a valid LegacyDiffNote3121 does not import the note when a foreign key error is raised3122 #find_merge_request_id3123 returns a merge request ID3124Gitlab::Ci::Status::Build::Manual3125 #illustration3126 should include :image, :size, :title, and :content3127 .matches?3128 when build is manual3129 is a correct match3130 when build is not manual3131 does not match3132gitlab:update_project_templates rake task3133 updates valid project templates3134Gitlab::Ci::Status::Build::Erased3135 #illustration3136 should include :image, :size, and :title3137 .matches?3138 when build is erased3139 is a correct match3140 when build is not erased3141 does not match3142ProtectedBranches::CreateService3143 #execute3144 creates a new protected branch3145 when user does not have permission3146 creates a new protected branch if we skip authorization step3147 raises Gitlab::Access:AccessDeniedError3148 when a policy restricts rule creation3149 prevents creation of the protected branch rule3150Gitlab::Database::Count::ExactCountStrategy3151 #count3152 counts all models3153 returns default value if count times out3154Gitlab::GithubImport::MilestoneFinder3155 #id_for3156 with a cache in place3157 returns the milestone ID of the given issuable3158 returns nil for an empty cache key3159 returns nil for an issuable with a non-existing milestone3160 without a cache in place3161 returns nil3162 #build_cache3163 builds the cache of all project milestones3164 #cache_key_for3165 returns the cache key for an IID3166Gitlab::ImportExport::UploadsRestorer3167 bundle a project Git repo3168 legacy storage3169 saves the uploads successfully3170 copies the uploads to the project path3171 hashed storage3172 saves the uploads successfully3173 copies the uploads to the project path3174Constraints::ProjectUrlConstrainer3175 #matches?3176 valid request3177 should be truthy3178 invalid request3179 non-existing project3180 should be falsey3181 existence_check is false3182 should be truthy3183 project id ending with .git3184 should be falsey3185 when the request matches a redirect route3186 and is a GET request3187 should be truthy3188 and is NOT a GET request3189 should be falsey3190Ci::VariablePresenter3191 inherits from Gitlab::View::Presenter::Delegated3192 #initialize3193 takes a variable and optional params3194 exposes variable3195 forwards missing methods to variable3196 #placeholder3197 should eq "PROJECT_VARIABLE"3198 #form_path3199 should eq "/namespace727/project814/-/settings/ci_cd"3200 #edit_path3201 should eq "/namespace728/project815/variables"3202 #delete_path3203 should eq "/namespace729/project816/variables"3204Gitlab::Graphql::Loaders::BatchModelLoader3205 #find3206 finds a model by id3207 only queries once per model3208ProjectCustomAttribute3209 assocations3210 should belong to project required:3211 validations3212 should validate that :project cannot be empty/falsy3213 should validate that :key cannot be empty/falsy3214 should validate that :value cannot be empty/falsy3215 should validate that :key is case-sensitively unique within the scope of :project_id3216Ci::PipelineScheduleVariable3217 behaves like CI variable3218 should includes the HasVariable module3219 strips whitespaces when assigning key3220 can convert to runner variable3221 variable type3222 defines variable types3223 defaults variable type to env_var3224 supports variable type file3225ScheduleDigestPersonalAccessTokens3226NOTICE: trigger "trigger_50ffff51bd91" for relation "application_settings" does not exist, skipping3227NOTICE: trigger "trigger_806273a4d8be" for relation "application_settings" does not exist, skipping3228DEPRECATION WARNING: Dangerous query method (method whose arguments are used as raw SQL) called with non-attribute argument(s): "MIN(id)", "MAX(id)". Non-attribute arguments will be disallowed in Rails 6.0. This method should not be called with user-provided values, such as request parameters or model attributes. Known-safe values can be passed by wrapping them in Arel.sql(). (called from block in up at /builds/gitlab-org/gitlab-ce/db/post_migrate/20180913142237_schedule_digest_personal_access_tokens.rb:20)3229DEPRECATION WARNING: Dangerous query method (method whose arguments are used as raw SQL) called with non-attribute argument(s): "MIN(id)", "MAX(id)". Non-attribute arguments will be disallowed in Rails 6.0. This method should not be called with user-provided values, such as request parameters or model attributes. Known-safe values can be passed by wrapping them in Arel.sql(). (called from block in up at /builds/gitlab-org/gitlab-ce/db/post_migrate/20180913142237_schedule_digest_personal_access_tokens.rb:20)3230 correctly schedules background migrations3231DEPRECATION WARNING: Dangerous query method (method whose arguments are used as raw SQL) called with non-attribute argument(s): "MIN(id)", "MAX(id)". Non-attribute arguments will be disallowed in Rails 6.0. This method should not be called with user-provided values, such as request parameters or model attributes. Known-safe values can be passed by wrapping them in Arel.sql(). (called from block in up at /builds/gitlab-org/gitlab-ce/db/post_migrate/20180913142237_schedule_digest_personal_access_tokens.rb:20)3232DEPRECATION WARNING: Dangerous query method (method whose arguments are used as raw SQL) called with non-attribute argument(s): "MIN(id)", "MAX(id)". Non-attribute arguments will be disallowed in Rails 6.0. This method should not be called with user-provided values, such as request parameters or model attributes. Known-safe values can be passed by wrapping them in Arel.sql(). (called from block in up at /builds/gitlab-org/gitlab-ce/db/post_migrate/20180913142237_schedule_digest_personal_access_tokens.rb:20)3233 schedules background migrations3234NOTICE: table "design_management_designs" does not exist, skipping3235NOTICE: table "design_management_designs_versions" does not exist, skipping3236NOTICE: table "design_management_versions" does not exist, skipping3237NOTICE: table "geo_container_repository_updated_events" does not exist, skipping3238NOTICE: trigger "trigger_806273a4d8be" for relation "application_settings" does not exist, skipping3239NOTICE: trigger "trigger_dd1443fbd36e" for relation "application_settings" does not exist, skipping3240Mattermost::Session3241 should respond to #current_resource_owner3242 should respond to #request3243 should respond to #authorization3244 should respond to #strategy3245 #with session3246 without oauth uri3247 makes a request to the oauth uri3248 with oauth_uri3249 without token_uri3250 can not create a session3251 with token_uri3252 can set up a session3253 returns the value of the block3254 exclusive lease3255 tries to obtain a lease3256 returns a NoSessionError error without lease3257Autocomplete::ProjectFinder3258 #execute3259 without a project ID3260 returns nil3261 with an empty String as the project ID3262 returns nil3263 with a project ID3264 raises ActiveRecord::RecordNotFound if the project does not exist3265 raises ActiveRecord::RecordNotFound if the user can not read the project3266 raises ActiveRecord::RecordNotFound if an anonymous user can not read the project3267 returns the project if it exists and is readable3268Gitlab::GitalyClient::BlobService3269 #get_new_lfs_pointers3270 sends a get_new_lfs_pointers message3271 with not_in = :all3272 sends the correct message3273 #get_all_lfs_pointers3274 sends a get_all_lfs_pointers message3275Gitlab::Graphql::Loaders::PipelineForShaLoader3276 #find_last3277 batch-resolves latest pipeline3278ApplicationSetting::TermPolicy3279 has the correct permissions3280 for anonymous users3281 has the correct permissions3282 when the terms are not current3283 has the correct permissions3284 when the user already accepted the terms3285 has the correct permissions3286Metrics::Dashboard::SystemDashboardService3287 get_dashboard3288 caches the unprocessed dashboard for subsequent calls3289 behaves like valid dashboard service response3290 behaves like valid dashboard service response for schema3291 returns a json representation of the dashboard3292 behaves like raises error for users with insufficient permissions3293 when the user does not have sufficient access3294 behaves like misconfigured dashboard service response3295 returns an appropriate message and status code3296 when called with a non-system dashboard3297 behaves like valid dashboard service response3298 behaves like valid dashboard service response for schema3299 returns a json representation of the dashboard3300 ::all_dashboard_paths3301 returns the dashboard attributes3302Gitlab::LetsEncrypt::Order3303 #url3304 delegates to Acme::Client::Resources::Order3305 #status3306 delegates to Acme::Client::Resources::Order3307 #expires3308 delegates to Acme::Client::Resources::Order3309 #new_challenge3310 returns challenge3311 #request_certificate3312 generates csr and finalizes order3313ContainerRepositoriesFinder3314 #execute3315 when container_type is group3316 should contain exactly #<ContainerRepository id: 5, project_id: 843, name: "test_image_1", created_at: "2019-08-29 20:44:55", updated_at: "2019-08-29 20:44:55"> and #<ContainerRepository id: 6, project_id: 844, name: "test_repository2", created_at: "2019-08-29 20:44:55", updated_at: "2019-08-29 20:44:55">3317 when container_type is project3318 should contain exactly #<ContainerRepository id: 7, project_id: 845, name: "test_image_2", created_at: "2019-08-29 20:44:55", updated_at: "2019-08-29 20:44:55">3319 with invalid id3320 raises an error3321Gitlab::Ci::Variables::Collection3322 .new3323 can be initialized with an array3324 can be initialized without an argument3325 #append3326 appends a hash3327 appends a Ci::Variable3328 appends an internal resource3329 returns self3330 #concat3331 appends all elements from an array3332 appends all elements from other collection3333 does not concatenate resource if it undefined3334 returns self3335 #+3336 makes it possible to combine with an array3337 makes it possible to combine with another collection3338 #to_runner_variables3339 creates an array of hashes in a runner-compatible format3340 #to_hash3341 returns regular hash in valid order without duplicates3342NamespacePolicy3343 with no user3344 should be banned3345 regular user3346 should be disallowed :create_projects, :admin_namespace, :read_namespace, and :read_statistics3347 owner3348 should be allowed :create_projects, :admin_namespace, :read_namespace, and :read_statistics3349 user who has exceeded project limit3350 should be disallowed :create_projects3351 admin3352 should be allowed :create_projects, :admin_namespace, :read_namespace, and :read_statistics3353SpamLog3354 associations3355 should belong to user required:3356 validations3357 should validate that :user cannot be empty/falsy3358 #remove_user3359 blocks the user3360 removes the user3361FixPoolRepositorySourceProjectId3362NOTICE: trigger "trigger_50ffff51bd91" for relation "application_settings" does not exist, skipping3363NOTICE: trigger "trigger_806273a4d8be" for relation "application_settings" does not exist, skipping3364 fills in source_project_ids3365NOTICE: table "geo_container_repository_updated_events" does not exist, skipping3366NOTICE: trigger "trigger_806273a4d8be" for relation "application_settings" does not exist, skipping3367NOTICE: trigger "trigger_dd1443fbd36e" for relation "application_settings" does not exist, skipping3368BackfillReleasesNameWithTagName3369NOTICE: trigger "trigger_50ffff51bd91" for relation "application_settings" does not exist, skipping3370NOTICE: trigger "trigger_806273a4d8be" for relation "application_settings" does not exist, skipping3371 defaults name to tag value3372NOTICE: table "design_management_designs" does not exist, skipping3373NOTICE: table "design_management_designs_versions" does not exist, skipping3374NOTICE: table "design_management_versions" does not exist, skipping3375NOTICE: table "geo_container_repository_updated_events" does not exist, skipping3376NOTICE: trigger "trigger_806273a4d8be" for relation "application_settings" does not exist, skipping3377NOTICE: trigger "trigger_dd1443fbd36e" for relation "application_settings" does not exist, skipping3378Groups::GroupMembersHelper3379 .group_member_select_options3380 returns an options hash3381Gitlab::BackgroundMigration::MigrateNullPrivateProfileToFalse3382NOTICE: trigger "trigger_50ffff51bd91" for relation "application_settings" does not exist, skipping3383NOTICE: trigger "trigger_806273a4d8be" for relation "application_settings" does not exist, skipping3384 correctly migrates nil private_profile to false3385NOTICE: trigger "trigger_806273a4d8be" for relation "application_settings" does not exist, skipping3386NOTICE: trigger "trigger_dd1443fbd36e" for relation "application_settings" does not exist, skipping3387Namespaces::StatisticsRefresherService#execute3388 without a root storage statistics relation3389 creates one3390 recalculate the namespace statistics3391 with a root storage statistics relation3392 does not create one3393 recalculate the namespace statistics3394 when something goes wrong3395 raises RefreshError3396Gitlab::BackgroundMigration::SetConfidentialNoteEventsOnWebhooks3397NOTICE: trigger "trigger_50ffff51bd91" for relation "application_settings" does not exist, skipping3398NOTICE: trigger "trigger_806273a4d8be" for relation "application_settings" does not exist, skipping3399NOTICE: index "index_projects_on_lower_name" does not exist, skipping3400NOTICE: trigger "trigger_f1016db1483e" for relation "users" does not exist, skipping3401NOTICE: index "index_on_users_name_lower" does not exist, skipping3402NOTICE: index "index_redirect_routes_on_path_unique_text_pattern_ops" does not exist, skipping3403 #perform3404 migrates hooks where note_events is true3405 ignores hooks where note_events is false3406 ignores hooks where confidential_note_events has already been set3407NOTICE: trigger "trigger_7dc952250ffd" for relation "users" does not exist, skipping3408NOTICE: table "design_management_designs" does not exist, skipping3409NOTICE: table "design_management_designs_versions" does not exist, skipping3410NOTICE: table "design_management_versions" does not exist, skipping3411NOTICE: table "geo_container_repository_updated_events" does not exist, skipping3412NOTICE: trigger "trigger_806273a4d8be" for relation "application_settings" does not exist, skipping3413NOTICE: trigger "trigger_dd1443fbd36e" for relation "application_settings" does not exist, skipping3414Gitlab::Diff::ParallelDiff3415 #parallelize3416 returns an array of arrays containing the parsed diff3417AnalyticsMergeRequestSerializer3418 when there is a single object provided3419 contains important elements of the merge request3420LfsObjectUploader3421 behaves like builds correct paths3422 #store_dir3423 behaves like matches the method pattern3424 should match /\h{2}\/\h{2}/3425 #cache_dir3426 behaves like matches the method pattern3427 should match /\/lfs-objects\/tmp\/cache/3428 #work_dir3429 behaves like matches the method pattern3430 should match /\/lfs-objects\/tmp\/work/3431 #upload_path3432 behaves like matches the method pattern3433 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3434 #relative_path3435 is relative (PENDING: Path not set, skipping.)3436 .absolute_path3437 behaves like matches the method pattern3438 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3439 .base_dir3440 behaves like matches the method pattern3441 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3442 object store is REMOTE3443 behaves like builds correct paths3444 #store_dir3445 behaves like matches the method pattern3446 should match /\h{2}\/\h{2}/3447 #cache_dir3448 behaves like matches the method pattern3449 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3450 #work_dir3451 behaves like matches the method pattern3452 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3453 #upload_path3454 behaves like matches the method pattern3455 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3456 #relative_path3457 is relative (PENDING: Path not set, skipping.)3458 .absolute_path3459 behaves like matches the method pattern3460 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3461 .base_dir3462 behaves like matches the method pattern3463 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3464 migration to object storage3465 with object storage disabled3466 is skipped3467 with object storage enabled3468 is scheduled to run after creation3469 remote file3470 with object storage enabled3471 can store file remotely3472BlobEntity3473 as json3474 exposes needed attributes3475Gitlab::Ci::Config::Entry::Policy3476 when using simplified policy3477 validations3478 when entry config value is valid3479 when config is a branch or tag name3480 #valid?3481 is valid3482 #value3483 returns refs hash3484 when config is a regexp3485 #valid?3486 is valid3487 when config is an empty regexp3488 #valid?3489 is valid3490 when using unsafe regexp3491 when allow_unsafe_ruby_regexp is disabled3492 is not valid3493 when allow_unsafe_ruby_regexp is enabled3494 is valid3495 when config is a special keyword3496 #valid?3497 is valid3498 when entry value is not valid3499 #errors3500 saves errors3501 when using complex policy3502 when specifying refs policy3503 is a correct configuraton3504 when using unsafe regexp3505 when allow_unsafe_ruby_regexp is disabled3506 is not valid3507 when allow_unsafe_ruby_regexp is enabled3508 is valid3509 when specifying kubernetes policy3510 is a correct configuraton3511 when specifying invalid kubernetes policy3512 reports an error about invalid policy3513 when specifying valid variables expressions policy3514 is a correct configuraton3515 when specifying variables expressions in invalid format3516 reports an error about invalid format3517 when specifying invalid variables expressions statement3518 reports an error about invalid statement3519 when specifying invalid variables expressions token3520 reports an error about invalid expression3521 when using invalid variables expressions regexp3522 reports an error about invalid expression3523 when specifying a valid changes policy3524 is a correct configuraton3525 when changes policy is invalid3526 returns errors3527 when changes policy is invalid3528 returns errors3529 when specifying unknown policy3530 returns error about invalid key3531 when policy is empty3532 is not a valid configuration3533 when policy strategy does not match3534 returns information about errors3535 #value3536 when default value has been provided3537 when user overrides default values3538 does not include default values3539 when default value has not been defined3540 includes default values3541 .default3542 does not have default policy3543EventFilter3544 FILTERS3545 returns a definite list of filters3546 #filter3547 returns "all" if given filter is nil3548 returns "all" if given filter is ""3549 returns "all" if given filter is "foo"3550 #apply_filter3551 with the "push" filter3552 filters push events only3553 with the "merged" filter3554 filters merged events only3555 with the "issue" filter3556 filters issue events only3557 with the "comments" filter3558 filters comment events only3559 with the "team" filter3560 filters team events only3561 with the "all" filter3562 returns all events3563 with an unknown filter3564 returns all events3565 with a nil filter3566 returns all events3567 #active?3568 returns false if filter does not include the given key3569 returns false if the given key is nil3570 returns true if filter does not include the given key3571RuboCop::Cop::AvoidReturnFromBlocks3572 flags violation for return inside a block3573 doesn't call add_offense twice for nested blocks3574 flags violation for return inside included > def > block3575 doesn't flag violation for return inside a lambda3576 doesn't flag violation for return used inside a method definition3577 doesn't flag violation for next inside a block3578 doesn't flag violation for break inside a block3579 doesn't check when block is empty3580 behaves like examples with whitelisted method3581 doesn't flag violation for return inside each3582 behaves like examples with whitelisted method3583 doesn't flag violation for return inside each_filename3584 behaves like examples with whitelisted method3585 doesn't flag violation for return inside times3586 behaves like examples with whitelisted method3587 doesn't flag violation for return inside loop3588 behaves like examples with def methods3589 doesn't flag violation for return inside define_method3590 behaves like examples with def methods3591 doesn't flag violation for return inside lambda3592Gitlab::SidekiqMonitor3593 #within_job3594 tracks thread3595 when job is canceled35962019-08-29T20:45:47.464Z 239 TID-goun6226z WARN: {:class=>"Gitlab::SidekiqMonitor", :action=>"run", :queue=>"queue", :jid=>"334af1a556331ade9ebc32c57224de07", :canceled=>true}3597 does not execute a block35982019-08-29T20:45:47.470Z 239 TID-goun6226z WARN: {:class=>"Gitlab::SidekiqMonitor", :action=>"run", :queue=>"queue", :jid=>"9a2269699a23eedbcb06a20b0bb4fb8a", :canceled=>true}3599 raises exception3600 #start_working3601 when structured logging is used3602 logs start message3603 logs stop message3604 logs StandardError message3605 logs and raises Exception message3606 when StandardError is raised3607 does retry connection3608 when message is published3609 and message is valid3610 processes cancel3611 and message is not valid json3612 skips processing3613 #stop3614#<Thread:0x000055a5dea17fa0@/builds/gitlab-org/gitlab-ce/lib/gitlab/daemon.rb:37 run> terminated with exception (report_on_exception is true):3615/builds/gitlab-org/gitlab-ce/vendor/ruby/2.6.0/gems/sidekiq-5.2.7/lib/sidekiq/logging.rb:64:in `logger': Interrupt (Interrupt)36162019-08-29T20:45:47.512Z 239 TID-gour75v0f WARN: {:class=>"Gitlab::SidekiqMonitor", :action=>"stop", :message=>"Stopping Monitor Daemon"}3617 from /builds/gitlab-org/gitlab-ce/vendor/ruby/2.6.0/gems/sidekiq-5.2.7/lib/sidekiq.rb:188:in `logger'3618 from /builds/gitlab-org/gitlab-ce/lib/gitlab/sidekiq_monitor.rb:64:in `start_working'3619 from /builds/gitlab-org/gitlab-ce/lib/gitlab/daemon.rb:37:in `block (2 levels) in start'3620 does stop the thread3621 #process_job_cancel3622 when jid is missing3623 does not run thread3624 when jid is provided3625 when jid is not found3626 does not log cancellation message3627 when jid is found3628#<Thread:0x000055a5dea944d8@/builds/gitlab-org/gitlab-ce/spec/lib/gitlab/sidekiq_monitor_spec.rb:204 run> terminated with exception (report_on_exception is true):3629/builds/gitlab-org/gitlab-ce/spec/lib/gitlab/sidekiq_monitor_spec.rb:204:in `sleep': Gitlab::SidekiqMonitor::CancelledError (Gitlab::SidekiqMonitor::CancelledError)3630 from /builds/gitlab-org/gitlab-ce/spec/lib/gitlab/sidekiq_monitor_spec.rb:204:in `block (6 levels) in <top (required)>'3631 does log cancellation message36322019-08-29T20:45:47.528Z 239 TID-gour7dkpf WARN: {:class=>"Gitlab::SidekiqMonitor", :action=>"cancel", :message=>"Canceling thread with CancelledError", :jid=>"my-jid", :thread_id=>47085446905520}3633#<Thread:0x000055a5deac7d60@/builds/gitlab-org/gitlab-ce/spec/lib/gitlab/sidekiq_monitor_spec.rb:204 run> terminated with exception (report_on_exception is true):3634/builds/gitlab-org/gitlab-ce/spec/lib/gitlab/sidekiq_monitor_spec.rb:204:in `sleep': Gitlab::SidekiqMonitor::CancelledError (Gitlab::SidekiqMonitor::CancelledError)3635 from /builds/gitlab-org/gitlab-ce/spec/lib/gitlab/sidekiq_monitor_spec.rb:204:in `block (6 levels) in <top (required)>'3636 does cancel the thread3637 .cancel_job3638 sets a redis key3639 notifies all workers3640RuboCop::Cop::CodeReuse::Serializer3641 flags the use of a Serializer in a Service class3642 flags the use of a Serializer in a Finder3643 flags the use of a Serializer in a Presenter3644 flags the use of a Serializer in a Serializer3645 flags the use of a Serializer in a model instance method3646 flags the use of a Serializer in a model class method3647 flags the use of a Serializer in a worker3648RuboCop::Cop::CodeReuse::ActiveRecord3649 flags the use of "where" without any arguments3650 flags the use of "where" with arguments3651 does not flag the use of "group" without any arguments3652 flags the use of "group" with arguments3653 does not flag the use of ActiveRecord models in a model3654 does not flag the use of ActiveRecord models in a spec3655 does not flag the use of ActiveRecord models in a background migration3656 does not flag the use of ActiveRecord models in lib/gitlab/database3657 autocorrects offenses in instance methods by whitelisting them3658 autocorrects offenses in class methods by whitelisting them3659 autocorrects offenses in blocks by whitelisting them3660Applications::CreateService3661 should change `Doorkeeper::Application.count` by 13662PagesDomainRemovalCronWorker3663 #perform3664 when there is domain which should be removed3665 removes domain3666 where there is a domain which scheduled for removal in the future3667 does not remove pages domain3668BroadcastMessagesHelper3669 broadcast_message3670 returns nil when no current message3671 includes the current message3672 includes custom style3673 broadcast_message_style3674 defaults to no style3675 allows custom style3676 broadcast_message_status3677 returns Active3678 returns Expired3679 returns Pending3680Banzai::Filter::EmojiFilter3681 replaces supported name emoji3682 replaces supported unicode emoji3683 ignores unsupported emoji3684 correctly encodes the URL3685 correctly encodes unicode to the URL3686 matches at the start of a string3687 unicode matches at the start of a string3688 matches at the end of a string3689 unicode matches at the end of a string3690 matches with adjacent text3691 unicode matches with adjacent text3692 does not match multiple emoji in a row3693 unicode matches multiple emoji in a row3694 mixed matches multiple emoji in a row3695 does not match emoji in a string3696 has a data-name attribute3697 has a data-unicode-version attribute3698 keeps whitespace intact3699 unicode keeps whitespace intact3700Gitlab::Redis::SharedState3701 .params3702 withstands mutation3703 when url contains unix socket reference3704 with old format3705 returns path key instead3706 with new format3707 returns path key instead3708 when url is host based3709 with old format3710 returns hash with host, port, db, and password3711 with new format3712 returns hash with host, port, db, and password3713 .url3714 withstands mutation3715 when yml file with env variable3716 reads redis url from env variable3717 ._raw_config3718 is frozen3719 returns false when the file does not exist3720 returns false when the filename can't be determined3721 .with3722 when running not on sidekiq workers3723 instantiates a connection pool with size 53724 when running on sidekiq workers3725 instantiates a connection pool with a size based on the concurrency of the worker3726 #sentinels3727 when sentinels are defined3728 returns an array of hashes with host and port keys3729 when sentinels are not defined3730 returns nil3731 #sentinels?3732 when sentinels are defined3733 returns true3734 when sentinels are not defined3735 returns false3736 #raw_config_hash3737 returns default redis url when no config file is present3738 returns old-style single url config in a hash3739 #fetch_config3740 returns false when no config file is present3741 returns false when config file is present but has invalid YAML3742Gitlab::Ci::Pipeline::Expression::Lexeme::Or3743 .build3744 creates a new instance of the token3745 with non-evaluable operands3746 raises an operator error3747 .type3748 is an operator3749 .precedence3750 has a precedence3751 #evaluate3752 when left and right are truthy3753 left_value: true, right_value: 13754 should be truthy3755 should eq true3756 left_value: true, right_value: "a"3757 should be truthy3758 should eq true3759 left_value: 1, right_value: true3760 should be truthy3761 should eq 13762 left_value: 1, right_value: "a"3763 should be truthy3764 should eq 13765 left_value: "a", right_value: true3766 should be truthy3767 should eq "a"3768 left_value: "a", right_value: 13769 should be truthy3770 should eq "a"3771 when left or right is truthy3772 left_value: true, right_value: false3773 should be truthy3774 left_value: true, right_value: "a"3775 should be truthy3776 left_value: false, right_value: true3777 should be truthy3778 left_value: false, right_value: "a"3779 should be truthy3780 left_value: "a", right_value: true3781 should be truthy3782 left_value: "a", right_value: false3783 should be truthy3784 when left and right are falsey3785 left_value: false, right_value: nil3786 should be falsey3787 should eq nil3788 left_value: nil, right_value: false3789 should be falsey3790 should eq false3791Gitlab::LegacyGithubImport::Client3792 convert OAuth2 client options to symbols3793 does not crash (e.g. Settingslogic::MissingSetting) when verify_ssl config is not present3794 does not raise error when rate limit is disabled3795 when config is missing3796 is still possible to get an Octokit client3797 is not be possible to get an OAuth2 client3798 allow SSL verification to be configurable on API3799 uses supplied value3800 #api_endpoint3801 when provider does not specity an API endpoint3802 uses GitHub root API endpoint3803 when provider specify a custom API endpoint3804 uses the custom API endpoint3805 when given a host3806 builds a endpoint with the given host and the default API version3807 when given an API version3808 does not use the API version without a host3809 when given a host and version3810 builds a endpoint with the given options3811Gitlab::SidekiqConfig3812 .workers3813 includes all workers3814 .worker_queues3815 includes all queues3816 .expand_queues3817 expands queue namespaces to concrete queue names3818 lets concrete queue names pass through3819 lets unknown queues pass through3820Banzai::Filter::MathFilter3821 leaves regular inline code unchanged3822 removes surrounding dollar signs and adds class code, math and js-render-math3823 only removes surrounding dollar signs3824 only removes surrounding single dollar sign3825 adds data-math-style inline attribute to inline math3826 adds class code and math to inline math3827 adds js-render-math class to inline math3828 ignores cases with missing dolar sign at the end3829 ignores cases with missing dolar sign at the beginning3830 ignores dollar signs if it is not adjacent3831 ignores dollar signs if they are inside another element3832 adds data-math-style display attribute to display math3833 adds js-render-math class to display math3834 ignores code blocks that are not math3835 requires the pre to contain both code and math3836 dollar signs around to display math3837Gitlab::UsageDataCounters::RedisCounter3838 when usage_ping is disabled3839 counter is not increased3840 when usage_ping is enabled3841 counter is increased3842Gitlab::ImportSources3843 .options3844 returns a hash3845 .values3846 returns an array3847 .importer_names3848 returns an array of importer names3849 .importer3850 returns Gitlab::GithubImport::ParallelImporter when given github3851 returns Gitlab::BitbucketImport::Importer when given bitbucket3852 returns Gitlab::BitbucketServerImport::Importer when given bitbucket_server3853 returns Gitlab::GitlabImport::Importer when given gitlab3854 returns Gitlab::GoogleCodeImport::Importer when given google_code3855 returns Gitlab::FogbugzImport::Importer when given fogbugz3856 returns when given git3857 returns Gitlab::ImportExport::Importer when given gitlab_project3858 returns Gitlab::LegacyGithubImport::Importer when given gitea3859 returns when given manifest3860 returns Gitlab::PhabricatorImport::Importer when given phabricator3861 .title3862 returns GitHub when given github3863 returns Bitbucket Cloud when given bitbucket3864 returns Bitbucket Server when given bitbucket_server3865 returns GitLab.com when given gitlab3866 returns Google Code when given google_code3867 returns FogBugz when given fogbugz3868 returns Repo by URL when given git3869 returns GitLab export when given gitlab_project3870 returns Gitea when given gitea3871 returns Manifest file when given manifest3872 returns Phabricator when given phabricator3873 imports_repository? checker3874 fails if any importer other than the allowed ones implements this method3875Banzai::Filter::InlineDiffFilter3876 adds inline diff span tags for deletions when using square brackets3877 adds inline diff span tags for deletions when using curley braces3878 does not add inline diff span tags when a closing tag is not provided3879 adds inline span tags for additions when using square brackets3880 adds inline span tags for additions when using curley braces3881 does not add inline diff span tags when a closing addition tag is not provided3882 does not add inline diff span tags when the tags do not match3883 prevents user-land html being injected3884 preserves content inside pre tags3885 preserves content inside code tags3886 preserves content inside tt tags3887Gitlab::Cache::RequestCache3888 when RequestStore is active3889 computes once for different instances when keys are the same3890 computes twice if RequestStore starts over3891 behaves like cache for the same instance3892 does not compute twice for the same argument3893 computes twice for the different argument3894 computes twice for the different class name3895 computes twice for the different method3896 when request_cache_key is provided3897 computes twice for the different keys, id3898 computes twice for the different keys, name3899 uses extra method cache key if provided3900 when RequestStore is inactive3901 computes twice for different instances even if keys are the same3902 behaves like cache for the same instance3903 does not compute twice for the same argument3904 computes twice for the different argument3905 computes twice for the different class name3906 computes twice for the different method3907 when request_cache_key is provided3908 computes twice for the different keys, id3909 computes twice for the different keys, name3910 uses extra method cache key if provided3911BlobViewer::Gemspec3912 #package_name3913 returns the package name3914Gitlab::OmniauthInitializer3915 #execute3916 configures providers from array3917 allows "args" array for app_id and app_secret3918 passes app_id and app_secret as additional arguments3919 passes "args" hash as symbolized hash argument3920 normalizes a String strategy_class3921 allows a class to be specified in strategy_class3922 throws an error for an invalid strategy_class3923 configures fail_with_empty_uid for shibboleth3924 configures remote_sign_out_handler proc for authentiq3925 configures on_single_sign_out proc for cas33926 converts client_auth_method to a Symbol for openid_connect3927 converts client_auth_method to a Symbol for strategy_class OpenIDConnect3928Gitlab::Ci::Pipeline::Expression::Lexeme::Pattern3929 .build3930 creates a new instance of the token3931 raises an error if pattern is invalid3932 .type3933 is a value lexeme3934 .scan3935 correctly identifies a pattern token3936 does not allow to use an empty pattern3937 support single flag3938 support multiple flags3939 ignores unsupported flags3940 is a eager scanner for regexp boundaries3941 does not match on escaped regexp boundaries3942 recognizes \ as an escape character for /3943 does not recognize \ as an escape character for $3944 #evaluate3945 returns a regular expression3946 raises error if evaluated regexp is not valid3947Gitlab::GithubImport::Importer::NotesImporter3948 #parallel?3949 returns true when running in parallel mode3950 returns false when running in sequential mode3951 #execute3952 when running in parallel mode3953 imports notes in parallel3954 when running in sequential mode3955 imports notes in sequence3956 #sequential_import3957 imports each note in sequence3958 #parallel_import3959 imports each note in parallel3960 #id_for_already_imported_cache3961 returns the ID of the given note3962 #collection_options3963 returns an empty Hash3964RuboCop::Cop::Gitlab::PredicateMemoization3965 when source is a predicate method memoizing via ivar3966 behaves like registering offense3967 registers an offense when a predicate method is memoizing via ivar3968 behaves like registering offense3969 registers an offense when a predicate method is memoizing via ivar3970 when source is a predicate method using ivar with assignment3971 behaves like not registering offense3972 does not register offenses3973 when source is a predicate method using local with ||=3974 behaves like not registering offense3975 does not register offenses3976 when source is a regular method memoizing via ivar3977 behaves like not registering offense3978 does not register offenses3979ProjectDailyStatistic3980 should belong to project required:3981Settings3982 #ldap3983 can be accessed with dot syntax all the way down3984 can be accessed in a very specific way that breaks without reassigning each element with Settingslogic3985 #host_without_www3986 URL with protocol3987 returns the host3988 URL without protocol3989 returns the host3990 URL with user/port3991 returns the host3992API::Helpers::RelatedResourcesHelpers3993 #expose_path3994 empty relative URL root3995 returns the existing path3996 slash relative URL root3997 returns the existing path3998 with relative URL root3999 returns the existing path4000 #expose_url4001 respects the protocol if it is HTTP4002 respects the protocol if it is HTTPS4003 accepts port to be nil4004 includes port if provided4005 includes the relative_url before the path if it is set4006 includes the path after the host4007Gitlab::BackgroundMigration::MergeRequestAssigneesMigrationProgressCheck4008 rescheduling4009 when there are ongoing and no dead jobs4010 reschedules check4011 when there are ongoing and dead jobs4012 reschedules check4013 when there retrying jobs and no scheduled4014 reschedules check4015 when there are no scheduled, or retrying or dead4016 enables feature4017 when there are only dead jobs4018 raises DeadJobsError error4019Gitlab::Ci::Pipeline::Expression::Lexeme::Equals4020 .build4021 with non-evaluable operands4022 creates a new instance of the token4023 with evaluable operands4024 creates a new instance of the token4025 .type4026 is an operator4027 .precedence4028 has a precedence4029 #evaluate4030 when left and right are equal4031 left_value: "string", right_value: "string"4032 should eq true4033 when left and right are not equal4034 left_value: "one string", right_value: "two string"4035 should eq false4036 left_value: "two string", right_value: "one string"4037 should eq false4038Gitlab::HealthChecks::GitalyCheck4039 #readiness4040 Gitaly server is up4041 should eq [#<struct Gitlab::HealthChecks::Result success=true, message=nil, labels={:shard=>"default"}>]4042 Gitaly server is down4043 should eq [#<struct Gitlab::HealthChecks::Result success=false, message="Connection refused", labels={:shard=>"default"}>]4044 #metrics4045 Gitaly server is up4046 provides metrics4047 Gitaly server is down4048 provides metrics4049Gitlab::Git::PreReceiveError4050 error messages prefixed with GitLab:4051 accepts only errors lines with the prefix4052 makes its message HTML-friendly4053 error messages prefixed with GL-HOOK-ERR:4054 accepts only errors lines with the prefix4055 makes its message HTML-friendly4056Gitlab::Kubernetes::Helm::BaseCommand4057 behaves like helm commands4058 #generate_script4059 returns appropriate command4060 #pod_resource4061 returns a kubeclient resoure with pod content for application4062 when rbac is true4063 also returns a kubeclient resource4064 #pod_name4065 should eq "install-test-class-name"4066Gitlab::Git::LfsPointerFile4067 #size4068 counts the bytes4069 handles non ascii data4070 #sha2564071 hashes the content correctly4072 #pointer4073 starts with the LFS version4074 includes sha2564075 ends with the size4076Gitlab::Ci::Status::Running4077 #text4078 should eq "running"4079 #label4080 should eq "running"4081 #icon4082 should eq "status_running"4083 #favicon4084 should eq "favicon_status_running"4085 #group4086 should eq "running"4087Stepable4088 stops after the first error4089 when all methods return success4090 calls all methods in order4091 merges variables returned by all steps4092 with multiple stepable classes4093 does not leak steps4094Gitlab::RequestContext4095 #client_ip4096 with X-Forwarded-For headers4097 returns the load balancer IP4098 when RequestStore::Middleware is used4099 request4100 should eq "192.168.1.11"4101 before RequestContext middleware run4102 should be nil4103RequestAwareEntity4104 includes URL helpers4105 includes method for checking abilities4106 fetches request from options4107Gitlab::Kubernetes::ServiceAccount4108 should eq "a_service_account"4109 should eq "a_namespace"4110 #generate4111 builds a Kubeclient Resource4112Types::Tree::TreeEntryType4113 should eq "TreeEntry"4114 should have graphql fields :id, :name, :type, :path, :flat_path, and :web_url4115RepositoryCheckQueue4116 sets the queue name of a worker4117 disables retrying of failed jobs4118Gitlab::HealthChecks::PrometheusTextFormat4119 #marshal4120 marshal to text with non repeating type definition4121 metrics where name repeats4122 marshal to text with non repeating type definition4123GitHelper4124 #short_sha4125 should eq "d4e043f6"4126Types::MutationType4127 is expected to have the MergeRequestSetWip4128Gitlab::GitalyClient::BlobsStitcher4129 enumeration4130 combines segregated blob messages together4131Knapsack report was generated. Preview:4132{4133 "spec/lib/gitlab/cycle_analytics/events_spec.rb": 211.56546926498413,4134 "spec/models/cycle_analytics/staging_spec.rb": 68.24218893051147,4135 "spec/views/projects/merge_requests/show.html.haml_spec.rb": 56.08671545982361,4136 "spec/models/project_team_spec.rb": 40.354307413101196,4137 "spec/lib/gitlab/diff/position_tracer/line_strategy_spec.rb": 28.631243228912354,4138 "spec/services/issues/move_service_spec.rb": 22.822409868240356,4139 "spec/models/concerns/resolvable_note_spec.rb": 19.20134139060974,4140 "spec/services/update_deployment_service_spec.rb": 16.39768624305725,4141 "spec/lib/banzai/filter/relative_link_filter_spec.rb": 14.871668815612793,4142 "spec/services/issues/close_service_spec.rb": 11.975573062896729,4143 "spec/services/projects/update_service_spec.rb": 10.080518245697021,4144 "spec/models/snippet_spec.rb": 8.875163316726685,4145 "spec/services/merge_requests/conflicts/list_service_spec.rb": 6.894245624542236,4146 "spec/lib/gitlab/legacy_github_import/importer_spec.rb": 6.76561164855957,4147 "spec/services/wikis/create_attachment_service_spec.rb": 6.420010566711426,4148 "spec/models/push_event_spec.rb": 7.523547172546387,4149 "spec/routing/project_routing_spec.rb": 5.612140655517578,4150 "spec/lib/gitlab/checks/branch_check_spec.rb": 4.967809438705444,4151 "spec/helpers/issues_helper_spec.rb": 5.956578254699707,4152 "spec/services/issues/resolve_discussions_spec.rb": 4.721195936203003,4153 "spec/models/trending_project_spec.rb": 4.5471274852752686,4154 "spec/finders/autocomplete/move_to_project_finder_spec.rb": 4.230193853378296,4155 "spec/workers/pipeline_schedule_worker_spec.rb": 3.1521949768066406,4156 "spec/helpers/namespaces_helper_spec.rb": 4.020944595336914,4157 "spec/services/members/update_service_spec.rb": 2.916379690170288,4158 "spec/services/issuable/clone/attributes_rewriter_spec.rb": 3.2615573406219482,4159 "spec/services/projects/lfs_pointers/lfs_object_download_list_service_spec.rb": 2.9236602783203125,4160 "spec/policies/ci/pipeline_policy_spec.rb": 3.348022937774658,4161 "spec/lib/gitlab/conflict/file_collection_spec.rb": 2.701082229614258,4162 "spec/services/projects/open_issues_count_service_spec.rb": 2.692589044570923,4163 "spec/workers/repository_check/batch_worker_spec.rb": 2.415459632873535,4164 "spec/lib/gitlab/diff/diff_refs_spec.rb": 2.0787763595581055,4165 "spec/lib/container_registry/path_spec.rb": 2.3955066204071045,4166 "spec/lib/gitlab/auth/ldap/access_spec.rb": 1.4427990913391113,4167 "spec/graphql/gitlab_schema_spec.rb": 1.8371741771697998,4168 "spec/policies/group_member_policy_spec.rb": 2.1780457496643066,4169 "spec/lib/banzai/reference_redactor_spec.rb": 1.9456048011779785,4170 "spec/services/lfs/unlock_file_service_spec.rb": 1.8322384357452393,4171 "spec/lib/gitlab/ci/status/build/retried_spec.rb": 1.431767225265503,4172 "spec/models/ci/variable_spec.rb": 1.7799460887908936,4173 "spec/policies/commit_policy_spec.rb": 1.4011783599853516,4174 "spec/services/projects/download_service_spec.rb": 1.5357723236083984,4175 "spec/lib/gitlab/github_import/importer/diff_note_importer_spec.rb": 1.4007904529571533,4176 "spec/lib/gitlab/ci/status/build/manual_spec.rb": 0.964226484298706,4177 "spec/tasks/gitlab/update_templates_rake_spec.rb": 1.4104583263397217,4178 "spec/lib/gitlab/ci/status/build/erased_spec.rb": 0.6583375930786133,4179 "spec/services/protected_branches/create_service_spec.rb": 0.9448211193084717,4180 "spec/lib/gitlab/database/count/exact_count_strategy_spec.rb": 0.8948736190795898,4181 "spec/lib/gitlab/github_import/milestone_finder_spec.rb": 1.0482676029205322,4182 "spec/lib/gitlab/import_export/uploads_restorer_spec.rb": 0.7672059535980225,4183 "spec/lib/constraints/project_url_constrainer_spec.rb": 0.9149644374847412,4184 "spec/presenters/ci/variable_presenter_spec.rb": 1.1990907192230225,4185 "spec/lib/gitlab/graphql/loaders/batch_model_loader_spec.rb": 0.4710991382598877,4186 "spec/models/project_custom_attribute_spec.rb": 1.0945639610290527,4187 "spec/models/ci/pipeline_schedule_variable_spec.rb": 1.0603842735290527,4188 "spec/migrations/schedule_digest_personal_access_tokens_spec.rb": 0.7061917781829834,4189 "spec/lib/mattermost/session_spec.rb": 0.7477066516876221,4190 "spec/finders/autocomplete/project_finder_spec.rb": 1.0040383338928223,4191 "spec/lib/gitlab/gitaly_client/blob_service_spec.rb": 0.6978044509887695,4192 "spec/lib/gitlab/graphql/loaders/pipeline_for_sha_loader_spec.rb": 0.4123213291168213,4193 "spec/policies/application_setting/term_policy_spec.rb": 0.47663450241088867,4194 "spec/services/metrics/dashboard/system_dashboard_service_spec.rb": 0.5556600093841553,4195 "spec/lib/gitlab/lets_encrypt/order_spec.rb": 0.2382810115814209,4196 "spec/finders/container_repositories_finder_spec.rb": 0.5968198776245117,4197 "spec/lib/gitlab/ci/variables/collection_spec.rb": 0.20421528816223145,4198 "spec/policies/namespace_policy_spec.rb": 0.46192240715026855,4199 "spec/models/spam_log_spec.rb": 0.4572415351867676,4200 "spec/migrations/fix_pool_repository_source_project_id_spec.rb": 0.36063194274902344,4201 "spec/migrations/backfill_releases_name_with_tag_name_spec.rb": 0.27275919914245605,4202 "spec/helpers/groups/group_members_helper_spec.rb": 0.1324307918548584,4203 "spec/lib/gitlab/background_migration/migrate_null_private_profile_to_false_spec.rb": 0.2352457046508789,4204 "spec/services/namespaces/statistics_refresher_service_spec.rb": 0.408724308013916,4205 "spec/lib/gitlab/background_migration/set_confidential_note_events_on_webhooks_spec.rb": 0.3132662773132324,4206 "spec/lib/gitlab/diff/parallel_diff_spec.rb": 0.5996143817901611,4207 "spec/serializers/analytics_merge_request_serializer_spec.rb": 0.2113199234008789,4208 "spec/uploaders/lfs_object_uploader_spec.rb": 0.3762073516845703,4209 "spec/serializers/blob_entity_spec.rb": 0.2576889991760254,4210 "spec/lib/gitlab/ci/config/entry/policy_spec.rb": 0.07703065872192383,4211 "spec/lib/event_filter_spec.rb": 0.13120222091674805,4212 "spec/rubocop/cop/avoid_return_from_blocks_spec.rb": 0.10918092727661133,4213 "spec/lib/gitlab/sidekiq_monitor_spec.rb": 0.046190500259399414,4214 "spec/rubocop/cop/code_reuse/serializer_spec.rb": 0.02644515037536621,4215 "spec/rubocop/cop/code_reuse/active_record_spec.rb": 0.03470969200134277,4216 "spec/services/applications/create_service_spec.rb": 0.0810708999633789,4217 "spec/workers/pages_domain_removal_cron_worker_spec.rb": 0.08221960067749023,4218 "spec/helpers/broadcast_messages_helper_spec.rb": 0.05801081657409668,4219 "spec/lib/banzai/filter/emoji_filter_spec.rb": 0.04998779296875,4220 "spec/lib/gitlab/redis/shared_state_spec.rb": 0.06060433387756348,4221 "spec/lib/gitlab/ci/pipeline/expression/lexeme/or_spec.rb": 0.038388967514038086,4222 "spec/lib/gitlab/legacy_github_import/client_spec.rb": 0.057059526443481445,4223 "spec/lib/gitlab/sidekiq_config_spec.rb": 0.03815031051635742,4224 "spec/lib/banzai/filter/math_filter_spec.rb": 0.0449681282043457,4225 "spec/lib/gitlab/usage_data_counters/redis_counter_spec.rb": 0.03503561019897461,4226 "spec/lib/gitlab/import_sources_spec.rb": 0.03669595718383789,4227 "spec/lib/banzai/filter/inline_diff_filter_spec.rb": 0.02601933479309082,4228 "spec/lib/gitlab/cache/request_cache_spec.rb": 0.026769638061523438,4229 "spec/models/blob_viewer/gemspec_spec.rb": 0.023258686065673828,4230 "spec/lib/gitlab/omniauth_initializer_spec.rb": 0.021208524703979492,4231 "spec/lib/gitlab/ci/pipeline/expression/lexeme/pattern_spec.rb": 0.02191901206970215,4232 "spec/lib/gitlab/github_import/importer/notes_importer_spec.rb": 0.015193939208984375,4233 "spec/rubocop/cop/gitlab/predicate_memoization_spec.rb": 0.016208410263061523,4234 "spec/models/project_daily_statistic_spec.rb": 0.01689004898071289,4235 "spec/initializers/settings_spec.rb": 0.011235952377319336,4236 "spec/lib/api/helpers/related_resources_helpers_spec.rb": 0.013756275177001953,4237 "spec/lib/gitlab/background_migration/merge_request_assignees_migration_progress_check_spec.rb": 0.008534669876098633,4238 "spec/lib/gitlab/ci/pipeline/expression/lexeme/equals_spec.rb": 0.011082649230957031,4239 "spec/lib/gitlab/health_checks/gitaly_check_spec.rb": 0.015558719635009766,4240 "spec/lib/gitlab/git/pre_receive_error_spec.rb": 0.008226633071899414,4241 "spec/lib/gitlab/kubernetes/helm/base_command_spec.rb": 0.00619053840637207,4242 "spec/lib/gitlab/git/lfs_pointer_file_spec.rb": 0.008083820343017578,4243 "spec/lib/gitlab/ci/status/running_spec.rb": 0.006930351257324219,4244 "spec/models/concerns/stepable_spec.rb": 0.00690770149230957,4245 "spec/lib/gitlab/request_context_spec.rb": 0.005221366882324219,4246 "spec/serializers/request_aware_entity_spec.rb": 0.009131669998168945,4247 "spec/lib/gitlab/kubernetes/service_account_spec.rb": 0.005759477615356445,4248 "spec/graphql/types/tree/tree_entry_type_spec.rb": 0.0042040348052978516,4249 "spec/workers/concerns/repository_check_queue_spec.rb": 0.005006551742553711,4250 "spec/lib/gitlab/health_checks/prometheus_text_format_spec.rb": 0.003905057907104492,4251 "spec/helpers/git_helper_spec.rb": 0.0027077198028564453,4252 "spec/graphql/types/mutation_type_spec.rb": 0.002357959747314453,4253 "spec/lib/gitlab/gitaly_client/blobs_stitcher_spec.rb": 0.002693176269531254254}4255Knapsack global time execution for tests: 10m 37s4256Pending: (Failures listed here are expected and do not affect your suite's status)4257 1) LfsObjectUploader behaves like builds correct paths #upload_path behaves like matches the method pattern 4258 # No pattern provided, skipping.4259 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:84260 2) LfsObjectUploader behaves like builds correct paths #relative_path is relative4261 # Path not set, skipping.4262 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:394263 3) LfsObjectUploader behaves like builds correct paths .absolute_path behaves like matches the method pattern 4264 # No pattern provided, skipping.4265 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:84266 4) LfsObjectUploader behaves like builds correct paths .base_dir behaves like matches the method pattern 4267 # No pattern provided, skipping.4268 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:84269 5) LfsObjectUploader object store is REMOTE behaves like builds correct paths #cache_dir behaves like matches the method pattern 4270 # No pattern provided, skipping.4271 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:84272 6) LfsObjectUploader object store is REMOTE behaves like builds correct paths #work_dir behaves like matches the method pattern 4273 # No pattern provided, skipping.4274 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:84275 7) LfsObjectUploader object store is REMOTE behaves like builds correct paths #upload_path behaves like matches the method pattern 4276 # No pattern provided, skipping.4277 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:84278 8) LfsObjectUploader object store is REMOTE behaves like builds correct paths #relative_path is relative4279 # Path not set, skipping.4280 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:394281 9) LfsObjectUploader object store is REMOTE behaves like builds correct paths .absolute_path behaves like matches the method pattern 4282 # No pattern provided, skipping.4283 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:84284 10) LfsObjectUploader object store is REMOTE behaves like builds correct paths .base_dir behaves like matches the method pattern 4285 # No pattern provided, skipping.4286 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:84287Finished in 12 minutes 15 seconds (files took 30.64 seconds to load)42881522 examples, 0 failures, 10 pending4289$ date4290Thu Aug 29 20:46:03 UTC 20194292$ date4293Thu Aug 29 20:46:04 UTC 20194296coverage/: found 5 matching files 4297knapsack/: found 4 matching files 4298rspec_flaky/: found 4 matching files 4299rspec_profiling/: found 1 matching files 4300WARNING: tmp/capybara/: no matching files 4301tmp/memory_test/: found 2 matching files 4302Uploading artifacts to coordinator... ok id=283641367 responseStatus=201 Created token=F4FrYQGx4303Uploading artifacts...4304junit_rspec.xml: found 1 matching files 4305Uploading artifacts to coordinator... ok id=283641367 responseStatus=201 Created token=F4FrYQGx4306Job succeeded