rspec integration pg9 1/6
Passed Started
by
@gtsiolis
George Tsiolis
1Running with gitlab-runner 12.3.0 (a8a019e0)2 on docker-auto-scale-com 1d6b581d 3 Using Docker executor with image registry.gitlab.com/gitlab-org/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 ...
02:00
4Starting service postgres:9.6 ...5Pulling docker image postgres:9.6 ...6Using docker image sha256:afd8110f181328444d0f778570657868364ca522fb64e9a9bdbf7b1d60b03792 for postgres:9.6 ...7Starting service redis:alpine ...8Pulling docker image redis:alpine ...9Using docker image sha256:6f63d037b592589a96010cb70325c6a36a38d6cd2e66f77a0f99758475f016e1 for redis:alpine ...10Waiting for services to be up and running...11Authenticating with credentials from job payload (GitLab Registry)12Pulling docker image registry.gitlab.com/gitlab-org/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 ...13Using docker image sha256:9823f8443949a0145bc163107aff0472ae24cd6ff8141f97cfb2500f7822a169 for registry.gitlab.com/gitlab-org/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 ... 14 Running on runner-1d6b581d-project-4581232-concurrent-0 via runner-1d6b581d-gsrm-1571839132-47fb8bd4...
00:14
16Initialized empty Git repository in /builds/gtsiolis/gitlab-foss/.git/17Created fresh repository.19 * [new ref] refs/pipelines/90921493 -> refs/pipelines/9092149320 * [new branch] master -> origin/master21Checking out 09ffaae1 as master...22Skipping Git submodules setup24Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/4581232/debian-stretch-ruby-2.6.3-node-12.x-7 25Successfully extracted cache27Downloading artifacts from coordinator... ok id=330157250 responseStatus=200 OK token=kawU23eE28Downloading artifacts for retrieve-tests-metadata (330157271)...29Downloading artifacts from coordinator... ok id=330157271 responseStatus=200 OK token=YyFsrTqN30Downloading artifacts for setup-test-env (330157251)...31Downloading artifacts from coordinator... ok id=330157251 responseStatus=200 OK token=kWbyW_2H32WARNING: tmp/tests/gitlab-shell/.gitlab_shell_secret: chmod tmp/tests/gitlab-shell/.gitlab_shell_secret: no such file or directory (suppressing repeats) 34$ date35Wed Oct 23 14:05:41 UTC 201936$ export GOPATH=$CI_PROJECT_DIR/.go37$ mkdir -p $GOPATH38$ source scripts/utils.sh39$ source scripts/prepare_build.sh40Bundler version 1.17.241Warning: 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`.42The Gemfile's dependencies are satisfied43Successfully installed knapsack-1.18.0441 gem installed45CREATE ROLE46GRANT47Dropped database 'gitlabhq_test'48Created database 'gitlabhq_test'49-- enable_extension("pg_trgm")50 -> 0.0335s51-- enable_extension("plpgsql")52 -> 0.0027s53-- create_table("abuse_reports", {:id=>:serial, :force=>:cascade})54 -> 0.0040s55-- create_table("alerts_service_data", {:force=>:cascade})56 -> 0.0056s57-- create_table("allowed_email_domains", {:force=>:cascade})58 -> 0.0041s59-- create_table("analytics_cycle_analytics_group_stages", {:force=>:cascade})60 -> 0.0127s61-- create_table("analytics_cycle_analytics_project_stages", {:force=>:cascade})62 -> 0.0127s63-- create_table("analytics_language_trend_repository_languages", {:id=>false, :force=>:cascade})64 -> 0.0068s65-- create_table("analytics_repository_file_commits", {:force=>:cascade})66 -> 0.0058s67-- create_table("analytics_repository_file_edits", {:force=>:cascade})68 -> 0.0063s69-- create_table("analytics_repository_files", {:force=>:cascade})70 -> 0.0045s71-- create_table("appearances", {:id=>:serial, :force=>:cascade})72 -> 0.0031s73-- create_table("application_setting_terms", {:id=>:serial, :force=>:cascade})74 -> 0.0023s75-- create_table("application_settings", {:id=>:serial, :force=>:cascade})76 -> 0.0958s77-- create_table("approval_merge_request_rule_sources", {:force=>:cascade})78 -> 0.0061s79-- create_table("approval_merge_request_rules", {:force=>:cascade})80 -> 0.0143s81-- create_table("approval_merge_request_rules_approved_approvers", {:force=>:cascade})82 -> 0.0060s83-- create_table("approval_merge_request_rules_groups", {:force=>:cascade})84 -> 0.0057s85-- create_table("approval_merge_request_rules_users", {:force=>:cascade})86 -> 0.0061s87-- create_table("approval_project_rules", {:force=>:cascade})88 -> 0.0093s89-- create_table("approval_project_rules_groups", {:force=>:cascade})90 -> 0.0060s91-- create_table("approval_project_rules_users", {:force=>:cascade})92 -> 0.0061s93-- create_table("approvals", {:id=>:serial, :force=>:cascade})94 -> 0.0060s95-- create_table("approver_groups", {:id=>:serial, :force=>:cascade})96 -> 0.0065s97-- create_table("approvers", {:id=>:serial, :force=>:cascade})98 -> 0.0065s99-- create_table("audit_events", {:id=>:serial, :force=>:cascade})100 -> 0.0068s101-- create_table("award_emoji", {:id=>:serial, :force=>:cascade})102 -> 0.0066s103-- create_table("aws_roles", {:primary_key=>"user_id", :id=>:integer, :default=>nil, :force=>:cascade})104 -> 0.0059s105-- create_table("badges", {:id=>:serial, :force=>:cascade})106 -> 0.0065s107-- create_table("board_assignees", {:id=>:serial, :force=>:cascade})108 -> 0.0059s109-- create_table("board_group_recent_visits", {:force=>:cascade})110 -> 0.0099s111-- create_table("board_labels", {:id=>:serial, :force=>:cascade})112 -> 0.0057s113-- create_table("board_project_recent_visits", {:force=>:cascade})114 -> 0.0099s115-- create_table("boards", {:id=>:serial, :force=>:cascade})116 -> 0.0090s117-- create_table("broadcast_messages", {:id=>:serial, :force=>:cascade})118 -> 0.0048s119-- create_table("chat_names", {:id=>:serial, :force=>:cascade})120 -> 0.0066s121-- create_table("chat_teams", {:id=>:serial, :force=>:cascade})122 -> 0.0043s123-- create_table("ci_build_needs", {:id=>:serial, :force=>:cascade})124 -> 0.0043s125-- create_table("ci_build_trace_chunks", {:force=>:cascade})126 -> 0.0043s127-- create_table("ci_build_trace_section_names", {:id=>:serial, :force=>:cascade})128 -> 0.0050s129-- create_table("ci_build_trace_sections", {:id=>:serial, :force=>:cascade})130 -> 0.0081s131-- create_table("ci_builds", {:id=>:serial, :force=>:cascade})132 -> 0.0514s133-- create_table("ci_builds_metadata", {:id=>:serial, :force=>:cascade})134 -> 0.0107s135-- create_table("ci_builds_runner_session", {:force=>:cascade})136 -> 0.0048s137-- create_table("ci_group_variables", {:id=>:serial, :force=>:cascade})138 -> 0.0058s139-- create_table("ci_job_artifacts", {:id=>:serial, :force=>:cascade})140 -> 0.0127s141-- create_table("ci_job_variables", {:force=>:cascade})142 -> 0.0074s143-- create_table("ci_pipeline_chat_data", {:force=>:cascade})144 -> 0.0067s145-- create_table("ci_pipeline_schedule_variables", {:id=>:serial, :force=>:cascade})146 -> 0.0055s147-- create_table("ci_pipeline_schedules", {:id=>:serial, :force=>:cascade})148 -> 0.0096s149-- create_table("ci_pipeline_variables", {:id=>:serial, :force=>:cascade})150 -> 0.0054s151-- create_table("ci_pipelines", {:id=>:serial, :force=>:cascade})152 -> 0.0311s153-- create_table("ci_runner_namespaces", {:id=>:serial, :force=>:cascade})154 -> 0.0061s155-- create_table("ci_runner_projects", {:id=>:serial, :force=>:cascade})156 -> 0.0062s157-- create_table("ci_runners", {:id=>:serial, :force=>:cascade})158 -> 0.0173s159-- create_table("ci_sources_pipelines", {:id=>:serial, :force=>:cascade})160 -> 0.0116s161-- create_table("ci_stages", {:id=>:serial, :force=>:cascade})162 -> 0.0112s163-- create_table("ci_trigger_requests", {:id=>:serial, :force=>:cascade})164 -> 0.0064s165-- create_table("ci_triggers", {:id=>:serial, :force=>:cascade})166 -> 0.0065s167-- create_table("ci_variables", {:id=>:serial, :force=>:cascade})168 -> 0.0062s169-- create_table("cluster_groups", {:id=>:serial, :force=>:cascade})170 -> 0.0056s171-- create_table("cluster_platforms_kubernetes", {:id=>:serial, :force=>:cascade})172 -> 0.0047s173-- create_table("cluster_projects", {:id=>:serial, :force=>:cascade})174 -> 0.0061s175-- create_table("cluster_providers_aws", {:force=>:cascade})176 -> 0.0093s177-- create_table("cluster_providers_gcp", {:id=>:serial, :force=>:cascade})178 -> 0.0074s179-- create_table("clusters", {:id=>:serial, :force=>:cascade})180 -> 0.0105s181-- create_table("clusters_applications_cert_managers", {:id=>:serial, :force=>:cascade})182 -> 0.0048s183-- create_table("clusters_applications_elastic_stacks", {:force=>:cascade})184 -> 0.0045s185-- create_table("clusters_applications_helm", {:id=>:serial, :force=>:cascade})186 -> 0.0048s187-- create_table("clusters_applications_ingress", {:id=>:serial, :force=>:cascade})188 -> 0.0046s189-- create_table("clusters_applications_jupyter", {:id=>:serial, :force=>:cascade})190 -> 0.0064s191-- create_table("clusters_applications_knative", {:id=>:serial, :force=>:cascade})192 -> 0.0048s193-- create_table("clusters_applications_prometheus", {:id=>:serial, :force=>:cascade})194 -> 0.0046s195-- create_table("clusters_applications_runners", {:id=>:serial, :force=>:cascade})196 -> 0.0067s197-- create_table("clusters_kubernetes_namespaces", {:force=>:cascade})198 -> 0.0147s199-- create_table("container_repositories", {:id=>:serial, :force=>:cascade})200 -> 0.0064s201-- create_table("conversational_development_index_metrics", {:id=>:serial, :force=>:cascade})202 -> 0.0066s203-- create_table("dependency_proxy_blobs", {:id=>:serial, :force=>:cascade})204 -> 0.0048s205-- create_table("dependency_proxy_group_settings", {:id=>:serial, :force=>:cascade})206 -> 0.0044s207-- create_table("deploy_keys_projects", {:id=>:serial, :force=>:cascade})208 -> 0.0042s209-- create_table("deploy_tokens", {:id=>:serial, :force=>:cascade})210 -> 0.0098s211-- create_table("deployments", {:id=>:serial, :force=>:cascade})212 -> 0.0285s213-- create_table("description_versions", {:force=>:cascade})214 -> 0.0086s215-- create_table("design_management_designs", {:force=>:cascade})216 -> 0.0066s217-- create_table("design_management_designs_versions", {:id=>false, :force=>:cascade})218 -> 0.0094s219-- create_table("design_management_versions", {:force=>:cascade})220 -> 0.0086s221-- create_table("draft_notes", {:force=>:cascade})222 -> 0.0087s223-- create_table("elasticsearch_indexed_namespaces", {:id=>false, :force=>:cascade})224 -> 0.0031s225-- create_table("elasticsearch_indexed_projects", {:id=>false, :force=>:cascade})226 -> 0.0031s227-- create_table("emails", {:id=>:serial, :force=>:cascade})228 -> 0.0085s229-- create_table("environments", {:id=>:serial, :force=>:cascade})230 -> 0.0110s231-- create_table("epic_issues", {:id=>:serial, :force=>:cascade})232 -> 0.0059s233-- create_table("epic_metrics", {:id=>:serial, :force=>:cascade})234 -> 0.0038s235-- create_table("epics", {:id=>:serial, :force=>:cascade})236 -> 0.0258s237-- create_table("events", {:id=>:serial, :force=>:cascade})238 -> 0.0164s239-- create_table("evidences", {:force=>:cascade})240 -> 0.0069s241-- create_table("external_pull_requests", {:force=>:cascade})242 -> 0.0058s243-- create_table("feature_gates", {:id=>:serial, :force=>:cascade})244 -> 0.0047s245-- create_table("features", {:id=>:serial, :force=>:cascade})246 -> 0.0045s247-- create_table("fork_network_members", {:id=>:serial, :force=>:cascade})248 -> 0.0079s249-- create_table("fork_networks", {:id=>:serial, :force=>:cascade})250 -> 0.0046s251-- create_table("forked_project_links", {:id=>:serial, :force=>:cascade})252 -> 0.0041s253-- create_table("geo_cache_invalidation_events", {:force=>:cascade})254 -> 0.0024s255-- create_table("geo_container_repository_updated_events", {:force=>:cascade})256 -> 0.0039s257-- create_table("geo_event_log", {:force=>:cascade})258 -> 0.0281s259-- create_table("geo_hashed_storage_attachments_events", {:force=>:cascade})260 -> 0.0045s261-- create_table("geo_hashed_storage_migrated_events", {:force=>:cascade})262 -> 0.0047s263-- create_table("geo_job_artifact_deleted_events", {:force=>:cascade})264 -> 0.0045s265-- create_table("geo_lfs_object_deleted_events", {:force=>:cascade})266 -> 0.0044s267-- create_table("geo_node_namespace_links", {:id=>:serial, :force=>:cascade})268 -> 0.0082s269-- create_table("geo_node_statuses", {:id=>:serial, :force=>:cascade})270 -> 0.0063s271-- create_table("geo_nodes", {:id=>:serial, :force=>:cascade})272 -> 0.0126s273-- create_table("geo_repositories_changed_events", {:force=>:cascade})274 -> 0.0041s275-- create_table("geo_repository_created_events", {:force=>:cascade})276 -> 0.0046s277-- create_table("geo_repository_deleted_events", {:force=>:cascade})278 -> 0.0047s279-- create_table("geo_repository_renamed_events", {:force=>:cascade})280 -> 0.0047s281-- create_table("geo_repository_updated_events", {:force=>:cascade})282 -> 0.0073s283-- create_table("geo_reset_checksum_events", {:force=>:cascade})284 -> 0.0038s285-- create_table("geo_upload_deleted_events", {:force=>:cascade})286 -> 0.0045s287-- create_table("gitlab_subscriptions", {:force=>:cascade})288 -> 0.0072s289-- create_table("gpg_key_subkeys", {:id=>:serial, :force=>:cascade})290 -> 0.0082s291-- create_table("gpg_keys", {:id=>:serial, :force=>:cascade})292 -> 0.0084s293-- create_table("gpg_signatures", {:id=>:serial, :force=>:cascade})294 -> 0.0131s295-- create_table("grafana_integrations", {:force=>:cascade})296 -> 0.0047s297-- create_table("group_custom_attributes", {:id=>:serial, :force=>:cascade})298 -> 0.0066s299-- create_table("historical_data", {:id=>:serial, :force=>:cascade})300 -> 0.0021s301-- create_table("identities", {:id=>:serial, :force=>:cascade})302 -> 0.0087s303-- create_table("import_export_uploads", {:id=>:serial, :force=>:cascade})304 -> 0.0066s305-- create_table("index_statuses", {:id=>:serial, :force=>:cascade})306 -> 0.0045s307-- create_table("insights", {:id=>:serial, :force=>:cascade})308 -> 0.0058s309-- create_table("internal_ids", {:force=>:cascade})310 -> 0.0101s311-- create_table("ip_restrictions", {:force=>:cascade})312 -> 0.0044s313-- create_table("issue_assignees", {:id=>false, :force=>:cascade})314 -> 0.0050s315-- create_table("issue_links", {:id=>:serial, :force=>:cascade})316 -> 0.0079s317-- create_table("issue_metrics", {:id=>:serial, :force=>:cascade})318 -> 0.0062s319-- create_table("issue_tracker_data", {:force=>:cascade})320 -> 0.0048s321-- create_table("issues", {:id=>:serial, :force=>:cascade})322 -> 0.0519s323-- create_table("issues_prometheus_alert_events", {:id=>false, :force=>:cascade})324 -> 0.0068s325-- create_table("issues_self_managed_prometheus_alert_events", {:id=>false, :force=>:cascade})326 -> 0.0066s327-- create_table("jira_connect_installations", {:force=>:cascade})328 -> 0.0062s329-- create_table("jira_connect_subscriptions", {:force=>:cascade})330 -> 0.0083s331-- create_table("jira_tracker_data", {:force=>:cascade})332 -> 0.0048s333-- create_table("keys", {:id=>:serial, :force=>:cascade})334 -> 0.0093s335-- create_table("label_links", {:id=>:serial, :force=>:cascade})336 -> 0.0065s337-- create_table("label_priorities", {:id=>:serial, :force=>:cascade})338 -> 0.0081s339-- create_table("labels", {:id=>:serial, :force=>:cascade})340 -> 0.0135s341-- create_table("ldap_group_links", {:id=>:serial, :force=>:cascade})342 -> 0.0026s343-- create_table("lfs_file_locks", {:id=>:serial, :force=>:cascade})344 -> 0.0065s345-- create_table("lfs_objects", {:id=>:serial, :force=>:cascade})346 -> 0.0064s347-- create_table("lfs_objects_projects", {:id=>:serial, :force=>:cascade})348 -> 0.0060s349-- create_table("licenses", {:id=>:serial, :force=>:cascade})350 -> 0.0025s351-- create_table("list_user_preferences", {:force=>:cascade})352 -> 0.0083s353-- create_table("lists", {:id=>:serial, :force=>:cascade})354 -> 0.0126s355-- create_table("members", {:id=>:serial, :force=>:cascade})356 -> 0.0177s357-- create_table("merge_request_assignees", {:force=>:cascade})358 -> 0.0078s359-- create_table("merge_request_blocks", {:force=>:cascade})360 -> 0.0061s361-- create_table("merge_request_diff_commits", {:id=>false, :force=>:cascade})362 -> 0.0056s363-- create_table("merge_request_diff_files", {:id=>false, :force=>:cascade})364 -> 0.0038s365-- create_table("merge_request_diffs", {:id=>:serial, :force=>:cascade})366 -> 0.0073s367-- create_table("merge_request_metrics", {:id=>:serial, :force=>:cascade})368 -> 0.0180s369-- create_table("merge_requests", {:id=>:serial, :force=>:cascade})370 -> 0.0558s371-- create_table("merge_requests_closing_issues", {:id=>:serial, :force=>:cascade})372 -> 0.0060s373-- create_table("merge_trains", {:force=>:cascade})374 -> 0.0102s375-- create_table("milestone_releases", {:id=>false, :force=>:cascade})376 -> 0.0050s377-- create_table("milestones", {:id=>:serial, :force=>:cascade})378 -> 0.0142s379-- create_table("namespace_aggregation_schedules", {:primary_key=>"namespace_id", :id=>:integer, :default=>nil, :force=>:cascade})380 -> 0.0032s381-- create_table("namespace_root_storage_statistics", {:primary_key=>"namespace_id", :id=>:integer, :default=>nil, :force=>:cascade})382 -> 0.0058s383-- create_table("namespace_statistics", {:id=>:serial, :force=>:cascade})384 -> 0.0044s385-- create_table("namespaces", {:id=>:serial, :force=>:cascade})386 -> 0.0429s387-- create_table("note_diff_files", {:id=>:serial, :force=>:cascade})388 -> 0.0048s389-- create_table("notes", {:id=>:serial, :force=>:cascade})390 -> 0.0230s391-- create_table("notification_settings", {:id=>:serial, :force=>:cascade})392 -> 0.0094s393-- create_table("oauth_access_grants", {:id=>:serial, :force=>:cascade})394 -> 0.0047s395-- create_table("oauth_access_tokens", {:id=>:serial, :force=>:cascade})396 -> 0.0103s397-- create_table("oauth_applications", {:id=>:serial, :force=>:cascade})398 -> 0.0075s399-- create_table("oauth_openid_requests", {:id=>:serial, :force=>:cascade})400 -> 0.0043s401-- create_table("operations_feature_flag_scopes", {:force=>:cascade})402 -> 0.0055s403-- create_table("operations_feature_flags", {:force=>:cascade})404 -> 0.0045s405-- create_table("operations_feature_flags_clients", {:force=>:cascade})406 -> 0.0064s407-- create_table("packages_maven_metadata", {:force=>:cascade})408 -> 0.0046s409-- create_table("packages_package_files", {:force=>:cascade})410 -> 0.0047s411-- create_table("packages_package_metadata", {:force=>:cascade})412 -> 0.0042s413-- create_table("packages_package_tags", {:force=>:cascade})414 -> 0.0040s415-- create_table("packages_packages", {:force=>:cascade})416 -> 0.0064s417-- create_table("pages_domain_acme_orders", {:force=>:cascade})418 -> 0.0064s419-- create_table("pages_domains", {:id=>:serial, :force=>:cascade})420 -> 0.0169s421-- create_table("path_locks", {:id=>:serial, :force=>:cascade})422 -> 0.0083s423-- create_table("personal_access_tokens", {:id=>:serial, :force=>:cascade})424 -> 0.0076s425-- create_table("plans", {:id=>:serial, :force=>:cascade})426 -> 0.0049s427-- create_table("pool_repositories", {:force=>:cascade})428 -> 0.0082s429-- create_table("programming_languages", {:id=>:serial, :force=>:cascade})430 -> 0.0042s431-- create_table("project_alerting_settings", {:primary_key=>"project_id", :id=>:integer, :default=>nil, :force=>:cascade})432 -> 0.0017s433-- create_table("project_aliases", {:force=>:cascade})434 -> 0.0063s435-- create_table("project_authorizations", {:id=>false, :force=>:cascade})436 -> 0.0050s437-- create_table("project_auto_devops", {:id=>:serial, :force=>:cascade})438 -> 0.0043s439-- create_table("project_ci_cd_settings", {:id=>:serial, :force=>:cascade})440 -> 0.0059s441-- create_table("project_custom_attributes", {:id=>:serial, :force=>:cascade})442 -> 0.0068s443-- create_table("project_daily_statistics", {:force=>:cascade})444 -> 0.0041s445-- create_table("project_deploy_tokens", {:id=>:serial, :force=>:cascade})446 -> 0.0058s447-- create_table("project_error_tracking_settings", {:primary_key=>"project_id", :id=>:integer, :default=>nil, :force=>:cascade})448 -> 0.0023s449-- create_table("project_feature_usages", {:primary_key=>"project_id", :id=>:integer, :default=>nil, :force=>:cascade})450 -> 0.0072s451-- create_table("project_features", {:id=>:serial, :force=>:cascade})452 -> 0.0050s453-- create_table("project_group_links", {:id=>:serial, :force=>:cascade})454 -> 0.0063s455-- create_table("project_import_data", {:id=>:serial, :force=>:cascade})456 -> 0.0044s457-- create_table("project_incident_management_settings", {:primary_key=>"project_id", :id=>:serial, :force=>:cascade})458 -> 0.0030s459-- create_table("project_metrics_settings", {:primary_key=>"project_id", :id=>:integer, :default=>nil, :force=>:cascade})460 -> 0.0019s461-- create_table("project_mirror_data", {:id=>:serial, :force=>:cascade})462 -> 0.0145s463-- create_table("project_pages_metadata", {:id=>false, :force=>:cascade})464 -> 0.0053s465-- create_table("project_repositories", {:force=>:cascade})466 -> 0.0082s467-- create_table("project_repository_states", {:id=>:serial, :force=>:cascade})468 -> 0.0146s469-- create_table("project_statistics", {:id=>:serial, :force=>:cascade})470 -> 0.0088s471-- create_table("project_tracing_settings", {:force=>:cascade})472 -> 0.0044s473-- create_table("projects", {:id=>:serial, :force=>:cascade})474 -> 0.0682s475-- create_table("prometheus_alert_events", {:force=>:cascade})476 -> 0.0067s477-- create_table("prometheus_alerts", {:id=>:serial, :force=>:cascade})478 -> 0.0081s479-- create_table("prometheus_metrics", {:id=>:serial, :force=>:cascade})480 -> 0.0110s481-- create_table("protected_branch_merge_access_levels", {:id=>:serial, :force=>:cascade})482 -> 0.0087s483-- create_table("protected_branch_push_access_levels", {:id=>:serial, :force=>:cascade})484 -> 0.0084s485-- create_table("protected_branch_unprotect_access_levels", {:id=>:serial, :force=>:cascade})486 -> 0.0082s487-- create_table("protected_branches", {:id=>:serial, :force=>:cascade})488 -> 0.0070s489-- create_table("protected_environment_deploy_access_levels", {:id=>:serial, :force=>:cascade})490 -> 0.0094s491-- create_table("protected_environments", {:id=>:serial, :force=>:cascade})492 -> 0.0066s493-- create_table("protected_tag_create_access_levels", {:id=>:serial, :force=>:cascade})494 -> 0.0082s495-- create_table("protected_tags", {:id=>:serial, :force=>:cascade})496 -> 0.0064s497-- create_table("push_event_payloads", {:id=>false, :force=>:cascade})498 -> 0.0035s499-- create_table("push_rules", {:id=>:serial, :force=>:cascade})500 -> 0.0090s501-- create_table("redirect_routes", {:id=>:serial, :force=>:cascade})502 -> 0.0085s503-- create_table("release_links", {:force=>:cascade})504 -> 0.0064s505-- create_table("releases", {:id=>:serial, :force=>:cascade})506 -> 0.0067s507-- create_table("remote_mirrors", {:id=>:serial, :force=>:cascade})508 -> 0.0075s509-- create_table("repository_languages", {:id=>false, :force=>:cascade})510 -> 0.0031s511-- create_table("resource_label_events", {:force=>:cascade})512 -> 0.0120s513-- create_table("reviews", {:force=>:cascade})514 -> 0.0076s515-- create_table("routes", {:id=>:serial, :force=>:cascade})516 -> 0.0085s517-- create_table("saml_providers", {:id=>:serial, :force=>:cascade})518 -> 0.0053s519-- create_table("scim_oauth_access_tokens", {:id=>:serial, :force=>:cascade})520 -> 0.0045s521-- create_table("self_managed_prometheus_alert_events", {:force=>:cascade})522 -> 0.0068s523-- create_table("sent_notifications", {:id=>:serial, :force=>:cascade})524 -> 0.0047s525-- create_table("services", {:id=>:serial, :force=>:cascade})526 -> 0.0152s527-- create_table("shards", {:id=>:serial, :force=>:cascade})528 -> 0.0044s529-- create_table("slack_integrations", {:id=>:serial, :force=>:cascade})530 -> 0.0066s531-- create_table("smartcard_identities", {:force=>:cascade})532 -> 0.0063s533-- create_table("snippets", {:id=>:serial, :force=>:cascade})534 -> 0.0170s535-- create_table("software_license_policies", {:id=>:serial, :force=>:cascade})536 -> 0.0063s537-- create_table("software_licenses", {:id=>:serial, :force=>:cascade})538 -> 0.0062s539-- create_table("spam_logs", {:id=>:serial, :force=>:cascade})540 -> 0.0034s541-- create_table("subscriptions", {:id=>:serial, :force=>:cascade})542 -> 0.0064s543-- create_table("suggestions", {:force=>:cascade})544 -> 0.0063s545-- create_table("system_note_metadata", {:id=>:serial, :force=>:cascade})546 -> 0.0063s547-- create_table("taggings", {:id=>:serial, :force=>:cascade})548 -> 0.0106s549-- create_table("tags", {:id=>:serial, :force=>:cascade})550 -> 0.0096s551-- create_table("term_agreements", {:id=>:serial, :force=>:cascade})552 -> 0.0081s553-- create_table("timelogs", {:id=>:serial, :force=>:cascade})554 -> 0.0082s555-- create_table("todos", {:id=>:serial, :force=>:cascade})556 -> 0.0201s557-- create_table("trending_projects", {:id=>:serial, :force=>:cascade})558 -> 0.0843s559-- create_table("u2f_registrations", {:id=>:serial, :force=>:cascade})560 -> 0.0068s561-- create_table("uploads", {:id=>:serial, :force=>:cascade})562 -> 0.0110s563-- create_table("user_agent_details", {:id=>:serial, :force=>:cascade})564 -> 0.0050s565-- create_table("user_callouts", {:id=>:serial, :force=>:cascade})566 -> 0.0058s567-- create_table("user_custom_attributes", {:id=>:serial, :force=>:cascade})568 -> 0.0066s569-- create_table("user_interacted_projects", {:id=>false, :force=>:cascade})570 -> 0.0047s571-- create_table("user_preferences", {:id=>:serial, :force=>:cascade})572 -> 0.0061s573-- create_table("user_statuses", {:primary_key=>"user_id", :id=>:serial, :force=>:cascade})574 -> 0.0048s575-- create_table("user_synced_attributes_metadata", {:id=>:serial, :force=>:cascade})576 -> 0.0056s577-- create_table("users", {:id=>:serial, :force=>:cascade})578 -> 0.0664s579-- create_table("users_ops_dashboard_projects", {:force=>:cascade})580 -> 0.0061s581-- create_table("users_star_projects", {:id=>:serial, :force=>:cascade})582 -> 0.0058s583-- create_table("vulnerabilities", {:force=>:cascade})584 -> 0.0216s585-- create_table("vulnerability_feedback", {:id=>:serial, :force=>:cascade})586 -> 0.0143s587-- create_table("vulnerability_identifiers", {:force=>:cascade})588 -> 0.0047s589-- create_table("vulnerability_occurrence_identifiers", {:force=>:cascade})590 -> 0.0059s591-- create_table("vulnerability_occurrence_pipelines", {:force=>:cascade})592 -> 0.0092s593-- create_table("vulnerability_occurrences", {:force=>:cascade})594 -> 0.0145s595-- create_table("vulnerability_scanners", {:force=>:cascade})596 -> 0.0047s597-- create_table("web_hook_logs", {:id=>:serial, :force=>:cascade})598 -> 0.0067s599-- create_table("web_hooks", {:id=>:serial, :force=>:cascade})600 -> 0.0111s601-- create_table("zoom_meetings", {:force=>:cascade})602 -> 0.0089s603-- add_foreign_key("alerts_service_data", "services", {:on_delete=>:cascade})604 -> 0.0024s605-- add_foreign_key("allowed_email_domains", "namespaces", {:column=>"group_id", :on_delete=>:cascade})606 -> 0.0027s607-- add_foreign_key("analytics_cycle_analytics_group_stages", "labels", {:column=>"end_event_label_id", :on_delete=>:cascade})608 -> 0.0018s609-- add_foreign_key("analytics_cycle_analytics_group_stages", "labels", {:column=>"start_event_label_id", :on_delete=>:cascade})610 -> 0.0012s611-- add_foreign_key("analytics_cycle_analytics_group_stages", "namespaces", {:column=>"group_id", :on_delete=>:cascade})612 -> 0.0014s613-- add_foreign_key("analytics_cycle_analytics_project_stages", "labels", {:column=>"end_event_label_id", :on_delete=>:cascade})614 -> 0.0015s615-- add_foreign_key("analytics_cycle_analytics_project_stages", "labels", {:column=>"start_event_label_id", :on_delete=>:cascade})616 -> 0.0012s617-- add_foreign_key("analytics_cycle_analytics_project_stages", "projects", {:on_delete=>:cascade})618 -> 0.0028s619-- add_foreign_key("analytics_language_trend_repository_languages", "programming_languages", {:on_delete=>:cascade})620 -> 0.0014s621-- add_foreign_key("analytics_language_trend_repository_languages", "projects", {:on_delete=>:cascade})622 -> 0.0022s623-- add_foreign_key("analytics_repository_file_commits", "analytics_repository_files", {:on_delete=>:cascade})624 -> 0.0014s625-- add_foreign_key("analytics_repository_file_commits", "projects", {:on_delete=>:cascade})626 -> 0.0015s627-- add_foreign_key("analytics_repository_file_edits", "analytics_repository_files", {:on_delete=>:cascade})628 -> 0.0012s629-- add_foreign_key("analytics_repository_file_edits", "projects", {:on_delete=>:cascade})630 -> 0.0016s631-- add_foreign_key("analytics_repository_files", "projects", {:on_delete=>:cascade})632 -> 0.0015s633-- add_foreign_key("application_settings", "namespaces", {:column=>"custom_project_templates_group_id", :on_delete=>:nullify})634 -> 0.0031s635-- add_foreign_key("application_settings", "projects", {:column=>"file_template_project_id", :name=>"fk_ec757bd087", :on_delete=>:nullify})636 -> 0.0023s637-- add_foreign_key("application_settings", "projects", {:column=>"instance_administration_project_id", :on_delete=>:nullify})638 -> 0.0022s639-- add_foreign_key("application_settings", "users", {:column=>"usage_stats_set_by_user_id", :name=>"fk_964370041d", :on_delete=>:nullify})640 -> 0.0034s641-- add_foreign_key("approval_merge_request_rule_sources", "approval_merge_request_rules", {:on_delete=>:cascade})642 -> 0.0015s643-- add_foreign_key("approval_merge_request_rule_sources", "approval_project_rules", {:on_delete=>:cascade})644 -> 0.0014s645-- add_foreign_key("approval_merge_request_rules", "merge_requests", {:on_delete=>:cascade})646 -> 0.0026s647-- add_foreign_key("approval_merge_request_rules_approved_approvers", "approval_merge_request_rules", {:on_delete=>:cascade})648 -> 0.0014s649-- add_foreign_key("approval_merge_request_rules_approved_approvers", "users", {:on_delete=>:cascade})650 -> 0.0015s651-- add_foreign_key("approval_merge_request_rules_groups", "approval_merge_request_rules", {:on_delete=>:cascade})652 -> 0.0014s653-- add_foreign_key("approval_merge_request_rules_groups", "namespaces", {:column=>"group_id", :on_delete=>:cascade})654 -> 0.0013s655-- add_foreign_key("approval_merge_request_rules_users", "approval_merge_request_rules", {:on_delete=>:cascade})656 -> 0.0013s657-- add_foreign_key("approval_merge_request_rules_users", "users", {:on_delete=>:cascade})658 -> 0.0015s659-- add_foreign_key("approval_project_rules", "projects", {:on_delete=>:cascade})660 -> 0.0016s661-- add_foreign_key("approval_project_rules_groups", "approval_project_rules", {:on_delete=>:cascade})662 -> 0.0013s663-- add_foreign_key("approval_project_rules_groups", "namespaces", {:column=>"group_id", :on_delete=>:cascade})664 -> 0.0013s665-- add_foreign_key("approval_project_rules_users", "approval_project_rules", {:on_delete=>:cascade})666 -> 0.0014s667-- add_foreign_key("approval_project_rules_users", "users", {:on_delete=>:cascade})668 -> 0.0014s669-- add_foreign_key("approvals", "merge_requests", {:name=>"fk_310d714958", :on_delete=>:cascade})670 -> 0.0015s671-- add_foreign_key("approver_groups", "namespaces", {:column=>"group_id", :on_delete=>:cascade})672 -> 0.0014s673-- add_foreign_key("aws_roles", "users", {:on_delete=>:cascade})674 -> 0.0017s675-- add_foreign_key("badges", "namespaces", {:column=>"group_id", :on_delete=>:cascade})676 -> 0.0016s677-- add_foreign_key("badges", "projects", {:on_delete=>:cascade})678 -> 0.0016s679-- add_foreign_key("board_assignees", "boards", {:on_delete=>:cascade})680 -> 0.0015s681-- add_foreign_key("board_assignees", "users", {:column=>"assignee_id", :on_delete=>:cascade})682 -> 0.0016s683-- add_foreign_key("board_group_recent_visits", "boards", {:on_delete=>:cascade})684 -> 0.0014s685-- add_foreign_key("board_group_recent_visits", "namespaces", {:column=>"group_id", :on_delete=>:cascade})686 -> 0.0014s687-- add_foreign_key("board_group_recent_visits", "users", {:on_delete=>:cascade})688 -> 0.0016s689-- add_foreign_key("board_labels", "boards", {:on_delete=>:cascade})690 -> 0.0014s691-- add_foreign_key("board_labels", "labels", {:on_delete=>:cascade})692 -> 0.0013s693-- add_foreign_key("board_project_recent_visits", "boards", {:on_delete=>:cascade})694 -> 0.0013s695-- add_foreign_key("board_project_recent_visits", "projects", {:on_delete=>:cascade})696 -> 0.0015s697-- add_foreign_key("board_project_recent_visits", "users", {:on_delete=>:cascade})698 -> 0.0017s699-- add_foreign_key("boards", "namespaces", {:column=>"group_id", :name=>"fk_1e9a074a35", :on_delete=>:cascade})700 -> 0.0013s701-- add_foreign_key("boards", "projects", {:name=>"fk_f15266b5f9", :on_delete=>:cascade})702 -> 0.0015s703-- add_foreign_key("chat_teams", "namespaces", {:on_delete=>:cascade})704 -> 0.0016s705-- add_foreign_key("ci_build_needs", "ci_builds", {:column=>"build_id", :on_delete=>:cascade})706 -> 0.0026s707-- add_foreign_key("ci_build_trace_chunks", "ci_builds", {:column=>"build_id", :on_delete=>:cascade})708 -> 0.0016s709-- add_foreign_key("ci_build_trace_section_names", "projects", {:on_delete=>:cascade})710 -> 0.0017s711-- add_foreign_key("ci_build_trace_sections", "ci_build_trace_section_names", {:column=>"section_name_id", :name=>"fk_264e112c66", :on_delete=>:cascade})712 -> 0.0013s713-- add_foreign_key("ci_build_trace_sections", "ci_builds", {:column=>"build_id", :name=>"fk_4ebe41f502", :on_delete=>:cascade})714 -> 0.0013s715-- add_foreign_key("ci_build_trace_sections", "projects", {:on_delete=>:cascade})716 -> 0.0017s717-- add_foreign_key("ci_builds", "ci_pipelines", {:column=>"auto_canceled_by_id", :name=>"fk_a2141b1522", :on_delete=>:nullify})718 -> 0.0022s719-- add_foreign_key("ci_builds", "ci_pipelines", {:column=>"commit_id", :name=>"fk_d3130c9a7f", :on_delete=>:cascade})720 -> 0.0015s721-- add_foreign_key("ci_builds", "ci_pipelines", {:column=>"upstream_pipeline_id", :name=>"fk_87f4cefcda", :on_delete=>:cascade})722 -> 0.0014s723-- add_foreign_key("ci_builds", "ci_stages", {:column=>"stage_id", :name=>"fk_3a9eaa254d", :on_delete=>:cascade})724 -> 0.0016s725-- add_foreign_key("ci_builds", "projects", {:name=>"fk_befce0568a", :on_delete=>:cascade})726 -> 0.0018s727-- add_foreign_key("ci_builds_metadata", "ci_builds", {:column=>"build_id", :on_delete=>:cascade})728 -> 0.0015s729-- add_foreign_key("ci_builds_metadata", "projects", {:on_delete=>:cascade})730 -> 0.0016s731-- add_foreign_key("ci_builds_runner_session", "ci_builds", {:column=>"build_id", :on_delete=>:cascade})732 -> 0.0014s733-- add_foreign_key("ci_group_variables", "namespaces", {:column=>"group_id", :name=>"fk_33ae4d58d8", :on_delete=>:cascade})734 -> 0.0021s735-- add_foreign_key("ci_job_artifacts", "ci_builds", {:column=>"job_id", :on_delete=>:cascade})736 -> 0.0046s737-- add_foreign_key("ci_job_artifacts", "projects", {:on_delete=>:cascade})738 -> 0.0017s739-- add_foreign_key("ci_job_variables", "ci_builds", {:column=>"job_id", :on_delete=>:cascade})740 -> 0.0015s741-- add_foreign_key("ci_pipeline_chat_data", "chat_names", {:on_delete=>:cascade})742 -> 0.0017s743-- add_foreign_key("ci_pipeline_chat_data", "ci_pipelines", {:column=>"pipeline_id", :on_delete=>:cascade})744 -> 0.0012s745-- add_foreign_key("ci_pipeline_schedule_variables", "ci_pipeline_schedules", {:column=>"pipeline_schedule_id", :name=>"fk_41c35fda51", :on_delete=>:cascade})746 -> 0.0014s747-- add_foreign_key("ci_pipeline_schedules", "projects", {:name=>"fk_8ead60fcc4", :on_delete=>:cascade})748 -> 0.0017s749-- add_foreign_key("ci_pipeline_schedules", "users", {:column=>"owner_id", :name=>"fk_9ea99f58d2", :on_delete=>:nullify})750 -> 0.0015s751-- add_foreign_key("ci_pipeline_variables", "ci_pipelines", {:column=>"pipeline_id", :name=>"fk_f29c5f4380", :on_delete=>:cascade})752 -> 0.0013s753-- add_foreign_key("ci_pipelines", "ci_pipeline_schedules", {:column=>"pipeline_schedule_id", :name=>"fk_3d34ab2e06", :on_delete=>:nullify})754 -> 0.0013s755-- add_foreign_key("ci_pipelines", "ci_pipelines", {:column=>"auto_canceled_by_id", :name=>"fk_262d4c2d19", :on_delete=>:nullify})756 -> 0.0012s757-- add_foreign_key("ci_pipelines", "external_pull_requests", {:name=>"fk_190998ef09", :on_delete=>:nullify})758 -> 0.0015s759-- add_foreign_key("ci_pipelines", "merge_requests", {:name=>"fk_a23be95014", :on_delete=>:cascade})760 -> 0.0016s761-- add_foreign_key("ci_pipelines", "projects", {:name=>"fk_86635dbd80", :on_delete=>:cascade})762 -> 0.0018s763-- add_foreign_key("ci_runner_namespaces", "ci_runners", {:column=>"runner_id", :on_delete=>:cascade})764 -> 0.0023s765-- add_foreign_key("ci_runner_namespaces", "namespaces", {:on_delete=>:cascade})766 -> 0.0014s767-- add_foreign_key("ci_runner_projects", "projects", {:name=>"fk_4478a6f1e4", :on_delete=>:cascade})768 -> 0.0017s769-- add_foreign_key("ci_sources_pipelines", "ci_builds", {:column=>"source_job_id", :name=>"fk_be5624bf37", :on_delete=>:cascade})770 -> 0.0017s771-- add_foreign_key("ci_sources_pipelines", "ci_pipelines", {:column=>"pipeline_id", :name=>"fk_e1bad85861", :on_delete=>:cascade})772 -> 0.0013s773-- add_foreign_key("ci_sources_pipelines", "ci_pipelines", {:column=>"source_pipeline_id", :name=>"fk_d4e29af7d7", :on_delete=>:cascade})774 -> 0.0012s775-- add_foreign_key("ci_sources_pipelines", "projects", {:column=>"source_project_id", :name=>"fk_acd9737679", :on_delete=>:cascade})776 -> 0.0015s777-- add_foreign_key("ci_sources_pipelines", "projects", {:name=>"fk_1e53c97c0a", :on_delete=>:cascade})778 -> 0.0015s779-- add_foreign_key("ci_stages", "ci_pipelines", {:column=>"pipeline_id", :name=>"fk_fb57e6cc56", :on_delete=>:cascade})780 -> 0.0013s781-- add_foreign_key("ci_stages", "projects", {:name=>"fk_2360681d1d", :on_delete=>:cascade})782 -> 0.0015s783-- add_foreign_key("ci_trigger_requests", "ci_triggers", {:column=>"trigger_id", :name=>"fk_b8ec8b7245", :on_delete=>:cascade})784 -> 0.0016s785-- add_foreign_key("ci_triggers", "projects", {:name=>"fk_e3e63f966e", :on_delete=>:cascade})786 -> 0.0015s787-- add_foreign_key("ci_triggers", "users", {:column=>"owner_id", :name=>"fk_e8e10d1964", :on_delete=>:cascade})788 -> 0.0014s789-- add_foreign_key("ci_variables", "projects", {:name=>"fk_ada5eb64b3", :on_delete=>:cascade})790 -> 0.0018s791-- add_foreign_key("cluster_groups", "clusters", {:on_delete=>:cascade})792 -> 0.0016s793-- add_foreign_key("cluster_groups", "namespaces", {:column=>"group_id", :on_delete=>:cascade})794 -> 0.0013s795-- add_foreign_key("cluster_platforms_kubernetes", "clusters", {:on_delete=>:cascade})796 -> 0.0015s797-- add_foreign_key("cluster_projects", "clusters", {:on_delete=>:cascade})798 -> 0.0013s799-- add_foreign_key("cluster_projects", "projects", {:on_delete=>:cascade})800 -> 0.0015s801-- add_foreign_key("cluster_providers_aws", "clusters", {:on_delete=>:cascade})802 -> 0.0016s803-- add_foreign_key("cluster_providers_aws", "users", {:column=>"created_by_user_id", :on_delete=>:nullify})804 -> 0.0015s805-- add_foreign_key("cluster_providers_gcp", "clusters", {:on_delete=>:cascade})806 -> 0.0015s807-- add_foreign_key("clusters", "projects", {:column=>"management_project_id", :name=>"fk_f05c5e5a42", :on_delete=>:nullify})808 -> 0.0016s809-- add_foreign_key("clusters", "users", {:on_delete=>:nullify})810 -> 0.0017s811-- add_foreign_key("clusters_applications_cert_managers", "clusters", {:on_delete=>:cascade})812 -> 0.0013s813-- add_foreign_key("clusters_applications_elastic_stacks", "clusters", {:on_delete=>:cascade})814 -> 0.0013s815-- add_foreign_key("clusters_applications_helm", "clusters", {:on_delete=>:cascade})816 -> 0.0013s817-- add_foreign_key("clusters_applications_ingress", "clusters", {:on_delete=>:cascade})818 -> 0.0014s819-- add_foreign_key("clusters_applications_jupyter", "clusters", {:on_delete=>:cascade})820 -> 0.0014s821-- add_foreign_key("clusters_applications_jupyter", "oauth_applications", {:on_delete=>:nullify})822 -> 0.0014s823-- add_foreign_key("clusters_applications_knative", "clusters", {:on_delete=>:cascade})824 -> 0.0014s825-- add_foreign_key("clusters_applications_prometheus", "clusters", {:name=>"fk_557e773639", :on_delete=>:cascade})826 -> 0.0014s827-- add_foreign_key("clusters_applications_runners", "ci_runners", {:column=>"runner_id", :name=>"fk_02de2ded36", :on_delete=>:nullify})828 -> 0.0014s829-- add_foreign_key("clusters_applications_runners", "clusters", {:on_delete=>:cascade})830 -> 0.0012s831-- add_foreign_key("clusters_kubernetes_namespaces", "cluster_projects", {:on_delete=>:nullify})832 -> 0.0016s833-- add_foreign_key("clusters_kubernetes_namespaces", "clusters", {:on_delete=>:cascade})834 -> 0.0013s835-- add_foreign_key("clusters_kubernetes_namespaces", "environments", {:on_delete=>:nullify})836 -> 0.0015s837-- add_foreign_key("clusters_kubernetes_namespaces", "projects", {:on_delete=>:nullify})838 -> 0.0019s839-- add_foreign_key("container_repositories", "projects")840 -> 0.0018s841-- add_foreign_key("dependency_proxy_blobs", "namespaces", {:column=>"group_id", :on_delete=>:cascade})842 -> 0.0015s843-- add_foreign_key("dependency_proxy_group_settings", "namespaces", {:column=>"group_id", :on_delete=>:cascade})844 -> 0.0015s845-- add_foreign_key("deploy_keys_projects", "projects", {:name=>"fk_58a901ca7e", :on_delete=>:cascade})846 -> 0.0017s847-- add_foreign_key("deployments", "clusters", {:name=>"fk_289bba3222", :on_delete=>:nullify})848 -> 0.0018s849-- add_foreign_key("deployments", "projects", {:name=>"fk_b9a3851b82", :on_delete=>:cascade})850 -> 0.0018s851-- add_foreign_key("description_versions", "epics", {:on_delete=>:cascade})852 -> 0.0021s853-- add_foreign_key("description_versions", "issues", {:on_delete=>:cascade})854 -> 0.0025s855-- add_foreign_key("description_versions", "merge_requests", {:on_delete=>:cascade})856 -> 0.0015s857-- add_foreign_key("design_management_designs", "issues", {:on_delete=>:cascade})858 -> 0.0015s859-- add_foreign_key("design_management_designs", "projects", {:on_delete=>:cascade})860 -> 0.0017s861-- add_foreign_key("design_management_designs_versions", "design_management_designs", {:column=>"design_id", :name=>"fk_03c671965c", :on_delete=>:cascade})862 -> 0.0015s863-- add_foreign_key("design_management_designs_versions", "design_management_versions", {:column=>"version_id", :name=>"fk_f4d25ba00c", :on_delete=>:cascade})864 -> 0.0014s865-- add_foreign_key("design_management_versions", "issues", {:on_delete=>:cascade})866 -> 0.0015s867-- add_foreign_key("design_management_versions", "users", {:column=>"author_id", :name=>"fk_c1440b4896", :on_delete=>:nullify})868 -> 0.0016s869-- add_foreign_key("draft_notes", "merge_requests", {:on_delete=>:cascade})870 -> 0.0017s871-- add_foreign_key("draft_notes", "users", {:column=>"author_id", :on_delete=>:cascade})872 -> 0.0016s873-- add_foreign_key("elasticsearch_indexed_namespaces", "namespaces", {:on_delete=>:cascade})874 -> 0.0015s875-- add_foreign_key("elasticsearch_indexed_projects", "projects", {:on_delete=>:cascade})876 -> 0.0018s877-- add_foreign_key("environments", "projects", {:name=>"fk_d1c8c1da6a", :on_delete=>:cascade})878 -> 0.0016s879-- add_foreign_key("epic_issues", "epics", {:on_delete=>:cascade})880 -> 0.0015s881-- add_foreign_key("epic_issues", "issues", {:on_delete=>:cascade})882 -> 0.0014s883-- add_foreign_key("epic_metrics", "epics", {:on_delete=>:cascade})884 -> 0.0013s885-- add_foreign_key("epics", "epics", {:column=>"due_date_sourcing_epic_id", :name=>"fk_013c9f36ca", :on_delete=>:nullify})886 -> 0.0012s887-- add_foreign_key("epics", "epics", {:column=>"parent_id", :name=>"fk_25b99c1be3", :on_delete=>:cascade})888 -> 0.0013s889-- add_foreign_key("epics", "epics", {:column=>"start_date_sourcing_epic_id", :name=>"fk_9d480c64b2", :on_delete=>:nullify})890 -> 0.0013s891-- add_foreign_key("epics", "milestones", {:on_delete=>:nullify})892 -> 0.0017s893-- add_foreign_key("epics", "namespaces", {:column=>"group_id", :name=>"fk_f081aa4489", :on_delete=>:cascade})894 -> 0.0018s895-- add_foreign_key("epics", "users", {:column=>"assignee_id", :name=>"fk_dccd3f98fc", :on_delete=>:nullify})896 -> 0.0017s897-- add_foreign_key("epics", "users", {:column=>"author_id", :name=>"fk_3654b61b03", :on_delete=>:cascade})898 -> 0.0017s899-- add_foreign_key("epics", "users", {:column=>"closed_by_id", :name=>"fk_aa5798e761", :on_delete=>:nullify})900 -> 0.0018s901-- add_foreign_key("events", "namespaces", {:column=>"group_id", :name=>"fk_61fbf6ca48", :on_delete=>:cascade})902 -> 0.0019s903-- add_foreign_key("events", "projects", {:on_delete=>:cascade})904 -> 0.0017s905-- add_foreign_key("events", "users", {:column=>"author_id", :name=>"fk_edfd187b6f", :on_delete=>:cascade})906 -> 0.0016s907-- add_foreign_key("evidences", "releases", {:on_delete=>:cascade})908 -> 0.0016s909-- add_foreign_key("external_pull_requests", "projects", {:on_delete=>:cascade})910 -> 0.0018s911-- add_foreign_key("fork_network_members", "fork_networks", {:on_delete=>:cascade})912 -> 0.0026s913-- add_foreign_key("fork_network_members", "projects", {:column=>"forked_from_project_id", :name=>"fk_b01280dae4", :on_delete=>:nullify})914 -> 0.0016s915-- add_foreign_key("fork_network_members", "projects", {:on_delete=>:cascade})916 -> 0.0017s917-- add_foreign_key("fork_networks", "projects", {:column=>"root_project_id", :name=>"fk_e7b436b2b5", :on_delete=>:nullify})918 -> 0.0016s919-- add_foreign_key("forked_project_links", "projects", {:column=>"forked_to_project_id", :name=>"fk_434510edb0", :on_delete=>:cascade})920 -> 0.0017s921-- add_foreign_key("geo_container_repository_updated_events", "container_repositories", {:name=>"fk_212c89c706", :on_delete=>:cascade})922 -> 0.0014s923-- add_foreign_key("geo_event_log", "geo_cache_invalidation_events", {:column=>"cache_invalidation_event_id", :name=>"fk_42c3b54bed", :on_delete=>:cascade})924 -> 0.0019s925-- add_foreign_key("geo_event_log", "geo_container_repository_updated_events", {:column=>"container_repository_updated_event_id", :name=>"fk_6ada82d42a", :on_delete=>:cascade})926 -> 0.0012s927-- add_foreign_key("geo_event_log", "geo_hashed_storage_migrated_events", {:column=>"hashed_storage_migrated_event_id", :name=>"fk_27548c6db3", :on_delete=>:cascade})928 -> 0.0014s929-- add_foreign_key("geo_event_log", "geo_job_artifact_deleted_events", {:column=>"job_artifact_deleted_event_id", :name=>"fk_176d3fbb5d", :on_delete=>:cascade})930 -> 0.0013s931-- add_foreign_key("geo_event_log", "geo_lfs_object_deleted_events", {:column=>"lfs_object_deleted_event_id", :name=>"fk_d5af95fcd9", :on_delete=>:cascade})932 -> 0.0013s933-- add_foreign_key("geo_event_log", "geo_repositories_changed_events", {:column=>"repositories_changed_event_id", :name=>"fk_4a99ebfd60", :on_delete=>:cascade})934 -> 0.0013s935-- add_foreign_key("geo_event_log", "geo_repository_created_events", {:column=>"repository_created_event_id", :name=>"fk_9b9afb1916", :on_delete=>:cascade})936 -> 0.0013s937-- add_foreign_key("geo_event_log", "geo_repository_deleted_events", {:column=>"repository_deleted_event_id", :name=>"fk_c4b1c1f66e", :on_delete=>:cascade})938 -> 0.0014s939-- add_foreign_key("geo_event_log", "geo_repository_renamed_events", {:column=>"repository_renamed_event_id", :name=>"fk_86c84214ec", :on_delete=>:cascade})940 -> 0.0013s941-- add_foreign_key("geo_event_log", "geo_repository_updated_events", {:column=>"repository_updated_event_id", :name=>"fk_78a6492f68", :on_delete=>:cascade})942 -> 0.0015s943-- add_foreign_key("geo_event_log", "geo_reset_checksum_events", {:column=>"reset_checksum_event_id", :name=>"fk_cff7185ad2", :on_delete=>:cascade})944 -> 0.0016s945-- add_foreign_key("geo_event_log", "geo_upload_deleted_events", {:column=>"upload_deleted_event_id", :name=>"fk_c1f241c70d", :on_delete=>:cascade})946 -> 0.0013s947-- add_foreign_key("geo_hashed_storage_attachments_events", "projects", {:on_delete=>:cascade})948 -> 0.0019s949-- add_foreign_key("geo_hashed_storage_migrated_events", "projects", {:on_delete=>:cascade})950 -> 0.0017s951-- add_foreign_key("geo_node_namespace_links", "geo_nodes", {:on_delete=>:cascade})952 -> 0.0017s953-- add_foreign_key("geo_node_namespace_links", "namespaces", {:on_delete=>:cascade})954 -> 0.0015s955-- add_foreign_key("geo_node_statuses", "geo_nodes", {:on_delete=>:cascade})956 -> 0.0016s957-- add_foreign_key("geo_repositories_changed_events", "geo_nodes", {:on_delete=>:cascade})958 -> 0.0012s959-- add_foreign_key("geo_repository_created_events", "projects", {:on_delete=>:cascade})960 -> 0.0019s961-- add_foreign_key("geo_repository_renamed_events", "projects", {:on_delete=>:cascade})962 -> 0.0018s963-- add_foreign_key("geo_repository_updated_events", "projects", {:on_delete=>:cascade})964 -> 0.0017s965-- add_foreign_key("geo_reset_checksum_events", "projects", {:on_delete=>:cascade})966 -> 0.0017s967-- add_foreign_key("gitlab_subscriptions", "namespaces", {:name=>"fk_e2595d00a1", :on_delete=>:cascade})968 -> 0.0018s969-- add_foreign_key("gitlab_subscriptions", "plans", {:column=>"hosted_plan_id", :name=>"fk_bd0c4019c3", :on_delete=>:cascade})970 -> 0.0013s971-- add_foreign_key("gpg_key_subkeys", "gpg_keys", {:on_delete=>:cascade})972 -> 0.0017s973-- add_foreign_key("gpg_keys", "users", {:on_delete=>:cascade})974 -> 0.0017s975-- add_foreign_key("gpg_signatures", "gpg_key_subkeys", {:on_delete=>:nullify})976 -> 0.0015s977-- add_foreign_key("gpg_signatures", "gpg_keys", {:on_delete=>:nullify})978 -> 0.0012s979-- add_foreign_key("gpg_signatures", "projects", {:on_delete=>:cascade})980 -> 0.0017s981-- add_foreign_key("grafana_integrations", "projects", {:on_delete=>:cascade})982 -> 0.0018s983-- add_foreign_key("group_custom_attributes", "namespaces", {:column=>"group_id", :on_delete=>:cascade})984 -> 0.0016s985-- add_foreign_key("identities", "saml_providers", {:name=>"fk_aade90f0fc", :on_delete=>:cascade})986 -> 0.0015s987-- add_foreign_key("import_export_uploads", "projects", {:on_delete=>:cascade})988 -> 0.0018s989-- add_foreign_key("index_statuses", "projects", {:name=>"fk_74b2492545", :on_delete=>:cascade})990 -> 0.0019s991-- add_foreign_key("insights", "namespaces", {:on_delete=>:cascade})992 -> 0.0017s993-- add_foreign_key("insights", "projects", {:on_delete=>:cascade})994 -> 0.0017s995-- add_foreign_key("internal_ids", "namespaces", {:name=>"fk_162941d509", :on_delete=>:cascade})996 -> 0.0016s997-- add_foreign_key("internal_ids", "projects", {:on_delete=>:cascade})998 -> 0.0016s999-- add_foreign_key("ip_restrictions", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1000 -> 0.0020s1001-- add_foreign_key("issue_assignees", "issues", {:name=>"fk_b7d881734a", :on_delete=>:cascade})1002 -> 0.0015s1003-- add_foreign_key("issue_assignees", "users", {:name=>"fk_5e0c8d9154", :on_delete=>:cascade})1004 -> 0.0016s1005-- add_foreign_key("issue_links", "issues", {:column=>"source_id", :name=>"fk_c900194ff2", :on_delete=>:cascade})1006 -> 0.0015s1007-- add_foreign_key("issue_links", "issues", {:column=>"target_id", :name=>"fk_e71bb44f1f", :on_delete=>:cascade})1008 -> 0.0013s1009-- add_foreign_key("issue_metrics", "issues", {:on_delete=>:cascade})1010 -> 0.0015s1011-- add_foreign_key("issue_tracker_data", "services", {:on_delete=>:cascade})1012 -> 0.0015s1013-- add_foreign_key("issues", "issues", {:column=>"duplicated_to_id", :name=>"fk_9c4516d665", :on_delete=>:nullify})1014 -> 0.0014s1015-- add_foreign_key("issues", "issues", {:column=>"moved_to_id", :name=>"fk_a194299be1", :on_delete=>:nullify})1016 -> 0.0015s1017-- add_foreign_key("issues", "milestones", {:name=>"fk_96b1dd429c", :on_delete=>:nullify})1018 -> 0.0014s1019-- add_foreign_key("issues", "projects", {:name=>"fk_899c8f3231", :on_delete=>:cascade})1020 -> 0.0019s1021-- add_foreign_key("issues", "users", {:column=>"author_id", :name=>"fk_05f1e72feb", :on_delete=>:nullify})1022 -> 0.0018s1023-- add_foreign_key("issues", "users", {:column=>"closed_by_id", :name=>"fk_c63cbf6c25", :on_delete=>:nullify})1024 -> 0.0018s1025-- add_foreign_key("issues", "users", {:column=>"updated_by_id", :name=>"fk_ffed080f01", :on_delete=>:nullify})1026 -> 0.0018s1027-- add_foreign_key("issues_prometheus_alert_events", "issues", {:on_delete=>:cascade})1028 -> 0.0015s1029-- add_foreign_key("issues_prometheus_alert_events", "prometheus_alert_events", {:on_delete=>:cascade})1030 -> 0.0014s1031-- add_foreign_key("issues_self_managed_prometheus_alert_events", "issues", {:on_delete=>:cascade})1032 -> 0.0016s1033-- add_foreign_key("issues_self_managed_prometheus_alert_events", "self_managed_prometheus_alert_events", {:on_delete=>:cascade})1034 -> 0.0014s1035-- add_foreign_key("jira_connect_subscriptions", "jira_connect_installations", {:on_delete=>:cascade})1036 -> 0.0015s1037-- add_foreign_key("jira_connect_subscriptions", "namespaces", {:on_delete=>:cascade})1038 -> 0.0015s1039-- add_foreign_key("jira_tracker_data", "services", {:on_delete=>:cascade})1040 -> 0.0014s1041-- add_foreign_key("label_links", "labels", {:name=>"fk_d97dd08678", :on_delete=>:cascade})1042 -> 0.0013s1043-- add_foreign_key("label_priorities", "labels", {:on_delete=>:cascade})1044 -> 0.0014s1045-- add_foreign_key("label_priorities", "projects", {:on_delete=>:cascade})1046 -> 0.0019s1047-- add_foreign_key("labels", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1048 -> 0.0015s1049-- add_foreign_key("labels", "projects", {:name=>"fk_7de4989a69", :on_delete=>:cascade})1050 -> 0.0024s1051-- add_foreign_key("lfs_file_locks", "projects", {:on_delete=>:cascade})1052 -> 0.0018s1053-- add_foreign_key("lfs_file_locks", "users", {:on_delete=>:cascade})1054 -> 0.0017s1055-- add_foreign_key("list_user_preferences", "lists", {:on_delete=>:cascade})1056 -> 0.0017s1057-- add_foreign_key("list_user_preferences", "users", {:on_delete=>:cascade})1058 -> 0.0018s1059-- add_foreign_key("lists", "boards", {:name=>"fk_0d3f677137", :on_delete=>:cascade})1060 -> 0.0013s1061-- add_foreign_key("lists", "labels", {:name=>"fk_7a5553d60f", :on_delete=>:cascade})1062 -> 0.0012s1063-- add_foreign_key("lists", "milestones", {:on_delete=>:cascade})1064 -> 0.0013s1065-- add_foreign_key("lists", "users", {:name=>"fk_d6cf4279f7", :on_delete=>:cascade})1066 -> 0.0016s1067-- add_foreign_key("members", "users", {:name=>"fk_2e88fb7ce9", :on_delete=>:cascade})1068 -> 0.0020s1069-- add_foreign_key("merge_request_assignees", "merge_requests", {:on_delete=>:cascade})1070 -> 0.0016s1071-- add_foreign_key("merge_request_assignees", "users", {:on_delete=>:cascade})1072 -> 0.0015s1073-- add_foreign_key("merge_request_blocks", "merge_requests", {:column=>"blocked_merge_request_id", :on_delete=>:cascade})1074 -> 0.0015s1075-- add_foreign_key("merge_request_blocks", "merge_requests", {:column=>"blocking_merge_request_id", :on_delete=>:cascade})1076 -> 0.0013s1077-- add_foreign_key("merge_request_diff_commits", "merge_request_diffs", {:on_delete=>:cascade})1078 -> 0.0015s1079-- add_foreign_key("merge_request_diff_files", "merge_request_diffs", {:on_delete=>:cascade})1080 -> 0.0013s1081-- add_foreign_key("merge_request_diffs", "merge_requests", {:name=>"fk_8483f3258f", :on_delete=>:cascade})1082 -> 0.0014s1083-- add_foreign_key("merge_request_metrics", "ci_pipelines", {:column=>"pipeline_id", :on_delete=>:cascade})1084 -> 0.0018s1085-- add_foreign_key("merge_request_metrics", "merge_requests", {:on_delete=>:cascade})1086 -> 0.0015s1087-- add_foreign_key("merge_request_metrics", "users", {:column=>"latest_closed_by_id", :name=>"fk_ae440388cc", :on_delete=>:nullify})1088 -> 0.0017s1089-- add_foreign_key("merge_request_metrics", "users", {:column=>"merged_by_id", :name=>"fk_7f28d925f3", :on_delete=>:nullify})1090 -> 0.0016s1091-- add_foreign_key("merge_requests", "ci_pipelines", {:column=>"head_pipeline_id", :name=>"fk_fd82eae0b9", :on_delete=>:nullify})1092 -> 0.0015s1093-- add_foreign_key("merge_requests", "merge_request_diffs", {:column=>"latest_merge_request_diff_id", :name=>"fk_06067f5644", :on_delete=>:nullify})1094 -> 0.0014s1095-- add_foreign_key("merge_requests", "milestones", {:name=>"fk_6a5165a692", :on_delete=>:nullify})1096 -> 0.0015s1097-- add_foreign_key("merge_requests", "projects", {:column=>"source_project_id", :name=>"fk_3308fe130c", :on_delete=>:nullify})1098 -> 0.0019s1099-- add_foreign_key("merge_requests", "projects", {:column=>"target_project_id", :name=>"fk_a6963e8447", :on_delete=>:cascade})1100 -> 0.0018s1101-- add_foreign_key("merge_requests", "users", {:column=>"assignee_id", :name=>"fk_6149611a04", :on_delete=>:nullify})1102 -> 0.0018s1103-- add_foreign_key("merge_requests", "users", {:column=>"author_id", :name=>"fk_e719a85f8a", :on_delete=>:nullify})1104 -> 0.0019s1105-- add_foreign_key("merge_requests", "users", {:column=>"merge_user_id", :name=>"fk_ad525e1f87", :on_delete=>:nullify})1106 -> 0.0022s1107-- add_foreign_key("merge_requests", "users", {:column=>"updated_by_id", :name=>"fk_641731faff", :on_delete=>:nullify})1108 -> 0.0019s1109-- add_foreign_key("merge_requests_closing_issues", "issues", {:on_delete=>:cascade})1110 -> 0.0016s1111-- add_foreign_key("merge_requests_closing_issues", "merge_requests", {:on_delete=>:cascade})1112 -> 0.0015s1113-- add_foreign_key("merge_trains", "ci_pipelines", {:column=>"pipeline_id", :on_delete=>:nullify})1114 -> 0.0016s1115-- add_foreign_key("merge_trains", "merge_requests", {:on_delete=>:cascade})1116 -> 0.0015s1117-- add_foreign_key("merge_trains", "projects", {:column=>"target_project_id", :on_delete=>:cascade})1118 -> 0.0017s1119-- add_foreign_key("merge_trains", "users", {:on_delete=>:cascade})1120 -> 0.0016s1121-- add_foreign_key("milestone_releases", "milestones", {:on_delete=>:cascade})1122 -> 0.0014s1123-- add_foreign_key("milestone_releases", "releases", {:on_delete=>:cascade})1124 -> 0.0013s1125-- add_foreign_key("milestones", "namespaces", {:column=>"group_id", :name=>"fk_95650a40d4", :on_delete=>:cascade})1126 -> 0.0015s1127-- add_foreign_key("milestones", "projects", {:name=>"fk_9bd0a0c791", :on_delete=>:cascade})1128 -> 0.0019s1129-- add_foreign_key("namespace_aggregation_schedules", "namespaces", {:on_delete=>:cascade})1130 -> 0.0015s1131-- add_foreign_key("namespace_root_storage_statistics", "namespaces", {:on_delete=>:cascade})1132 -> 0.0016s1133-- add_foreign_key("namespace_statistics", "namespaces", {:on_delete=>:cascade})1134 -> 0.0017s1135-- add_foreign_key("namespaces", "namespaces", {:column=>"custom_project_templates_group_id", :name=>"fk_e7a0b20a6b", :on_delete=>:nullify})1136 -> 0.0015s1137-- add_foreign_key("namespaces", "plans", {:name=>"fk_fdd12e5b80", :on_delete=>:nullify})1138 -> 0.0016s1139-- add_foreign_key("namespaces", "projects", {:column=>"file_template_project_id", :name=>"fk_319256d87a", :on_delete=>:nullify})1140 -> 0.0021s1141-- add_foreign_key("note_diff_files", "notes", {:column=>"diff_note_id", :on_delete=>:cascade})1142 -> 0.0018s1143-- add_foreign_key("notes", "projects", {:name=>"fk_99e097b079", :on_delete=>:cascade})1144 -> 0.0017s1145-- add_foreign_key("notes", "reviews", {:name=>"fk_2e82291620", :on_delete=>:nullify})1146 -> 0.0016s1147-- add_foreign_key("notification_settings", "users", {:name=>"fk_0c95e91db7", :on_delete=>:cascade})1148 -> 0.0019s1149-- add_foreign_key("oauth_openid_requests", "oauth_access_grants", {:column=>"access_grant_id", :name=>"fk_oauth_openid_requests_oauth_access_grants_access_grant_id"})1150 -> 0.0014s1151-- add_foreign_key("operations_feature_flag_scopes", "operations_feature_flags", {:column=>"feature_flag_id", :on_delete=>:cascade})1152 -> 0.0014s1153-- add_foreign_key("operations_feature_flags", "projects", {:on_delete=>:cascade})1154 -> 0.0019s1155-- add_foreign_key("operations_feature_flags_clients", "projects", {:on_delete=>:cascade})1156 -> 0.0019s1157-- add_foreign_key("packages_maven_metadata", "packages_packages", {:column=>"package_id", :name=>"fk_be88aed360", :on_delete=>:cascade})1158 -> 0.0015s1159-- add_foreign_key("packages_package_files", "packages_packages", {:column=>"package_id", :name=>"fk_86f0f182f8", :on_delete=>:cascade})1160 -> 0.0019s1161-- add_foreign_key("packages_package_metadata", "packages_packages", {:column=>"package_id", :on_delete=>:cascade})1162 -> 0.0013s1163-- add_foreign_key("packages_package_tags", "packages_packages", {:column=>"package_id", :on_delete=>:cascade})1164 -> 0.0012s1165-- add_foreign_key("packages_packages", "projects", {:on_delete=>:cascade})1166 -> 0.0018s1167-- add_foreign_key("pages_domain_acme_orders", "pages_domains", {:on_delete=>:cascade})1168 -> 0.0017s1169-- add_foreign_key("pages_domains", "projects", {:name=>"fk_ea2f6dfc6f", :on_delete=>:cascade})1170 -> 0.0018s1171-- add_foreign_key("path_locks", "projects", {:name=>"fk_5265c98f24", :on_delete=>:cascade})1172 -> 0.0020s1173-- add_foreign_key("path_locks", "users")1174 -> 0.0017s1175-- add_foreign_key("personal_access_tokens", "users")1176 -> 0.0019s1177-- add_foreign_key("pool_repositories", "projects", {:column=>"source_project_id", :on_delete=>:nullify})1178 -> 0.0018s1179-- add_foreign_key("pool_repositories", "shards", {:on_delete=>:restrict})1180 -> 0.0013s1181-- add_foreign_key("project_alerting_settings", "projects", {:on_delete=>:cascade})1182 -> 0.0017s1183-- add_foreign_key("project_aliases", "projects", {:on_delete=>:cascade})1184 -> 0.0019s1185-- add_foreign_key("project_authorizations", "projects", {:on_delete=>:cascade})1186 -> 0.0017s1187-- add_foreign_key("project_authorizations", "users", {:on_delete=>:cascade})1188 -> 0.0017s1189-- add_foreign_key("project_auto_devops", "projects", {:on_delete=>:cascade})1190 -> 0.0018s1191-- add_foreign_key("project_ci_cd_settings", "projects", {:name=>"fk_24c15d2f2e", :on_delete=>:cascade})1192 -> 0.0019s1193-- add_foreign_key("project_custom_attributes", "projects", {:on_delete=>:cascade})1194 -> 0.0024s1195-- add_foreign_key("project_daily_statistics", "projects", {:on_delete=>:cascade})1196 -> 0.0018s1197-- add_foreign_key("project_deploy_tokens", "deploy_tokens", {:on_delete=>:cascade})1198 -> 0.0024s1199-- add_foreign_key("project_deploy_tokens", "projects", {:on_delete=>:cascade})1200 -> 0.0019s1201-- add_foreign_key("project_error_tracking_settings", "projects", {:on_delete=>:cascade})1202 -> 0.0019s1203-- add_foreign_key("project_feature_usages", "projects", {:on_delete=>:cascade})1204 -> 0.0020s1205-- add_foreign_key("project_features", "projects", {:name=>"fk_18513d9b92", :on_delete=>:cascade})1206 -> 0.0019s1207-- add_foreign_key("project_group_links", "projects", {:name=>"fk_daa8cee94c", :on_delete=>:cascade})1208 -> 0.0020s1209-- add_foreign_key("project_import_data", "projects", {:name=>"fk_ffb9ee3a10", :on_delete=>:cascade})1210 -> 0.0018s1211-- add_foreign_key("project_incident_management_settings", "projects", {:on_delete=>:cascade})1212 -> 0.0020s1213-- add_foreign_key("project_metrics_settings", "projects", {:on_delete=>:cascade})1214 -> 0.0018s1215-- add_foreign_key("project_mirror_data", "projects", {:name=>"fk_d1aad367d7", :on_delete=>:cascade})1216 -> 0.0021s1217-- add_foreign_key("project_pages_metadata", "projects", {:on_delete=>:cascade})1218 -> 0.0019s1219-- add_foreign_key("project_repositories", "projects", {:on_delete=>:cascade})1220 -> 0.0019s1221-- add_foreign_key("project_repositories", "shards", {:on_delete=>:restrict})1222 -> 0.0014s1223-- add_foreign_key("project_repository_states", "projects", {:on_delete=>:cascade})1224 -> 0.0023s1225-- add_foreign_key("project_statistics", "projects", {:on_delete=>:cascade})1226 -> 0.0020s1227-- add_foreign_key("project_tracing_settings", "projects", {:on_delete=>:cascade})1228 -> 0.0019s1229-- add_foreign_key("projects", "pool_repositories", {:name=>"fk_6e5c14658a", :on_delete=>:nullify})1230 -> 0.0019s1231-- add_foreign_key("prometheus_alert_events", "projects", {:on_delete=>:cascade})1232 -> 0.0017s1233-- add_foreign_key("prometheus_alert_events", "prometheus_alerts", {:on_delete=>:cascade})1234 -> 0.0015s1235-- add_foreign_key("prometheus_alerts", "environments", {:on_delete=>:cascade})1236 -> 0.0013s1237-- add_foreign_key("prometheus_alerts", "projects", {:on_delete=>:cascade})1238 -> 0.0018s1239-- add_foreign_key("prometheus_alerts", "prometheus_metrics", {:on_delete=>:cascade})1240 -> 0.0016s1241-- add_foreign_key("prometheus_metrics", "projects", {:on_delete=>:cascade})1242 -> 0.0020s1243-- add_foreign_key("protected_branch_merge_access_levels", "namespaces", {:column=>"group_id", :name=>"fk_98f3d044fe", :on_delete=>:cascade})1244 -> 0.0016s1245-- add_foreign_key("protected_branch_merge_access_levels", "protected_branches", {:name=>"fk_8a3072ccb3", :on_delete=>:cascade})1246 -> 0.0016s1247-- add_foreign_key("protected_branch_merge_access_levels", "users")1248 -> 0.0018s1249-- add_foreign_key("protected_branch_push_access_levels", "namespaces", {:column=>"group_id", :name=>"fk_7111b68cdb", :on_delete=>:cascade})1250 -> 0.0017s1251-- add_foreign_key("protected_branch_push_access_levels", "protected_branches", {:name=>"fk_9ffc86a3d9", :on_delete=>:cascade})1252 -> 0.0013s1253-- add_foreign_key("protected_branch_push_access_levels", "users")1254 -> 0.0018s1255-- add_foreign_key("protected_branch_unprotect_access_levels", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1256 -> 0.0017s1257-- add_foreign_key("protected_branch_unprotect_access_levels", "protected_branches", {:on_delete=>:cascade})1258 -> 0.0013s1259-- add_foreign_key("protected_branch_unprotect_access_levels", "users", {:on_delete=>:cascade})1260 -> 0.0017s1261-- add_foreign_key("protected_branches", "projects", {:name=>"fk_7a9c6d93e7", :on_delete=>:cascade})1262 -> 0.0019s1263-- add_foreign_key("protected_environment_deploy_access_levels", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1264 -> 0.0018s1265-- add_foreign_key("protected_environment_deploy_access_levels", "protected_environments", {:on_delete=>:cascade})1266 -> 0.0015s1267-- add_foreign_key("protected_environment_deploy_access_levels", "users", {:on_delete=>:cascade})1268 -> 0.0017s1269-- add_foreign_key("protected_environments", "projects", {:on_delete=>:cascade})1270 -> 0.0018s1271-- add_foreign_key("protected_tag_create_access_levels", "namespaces", {:column=>"group_id", :name=>"fk_b4eb82fe3c", :on_delete=>:cascade})1272 -> 0.0016s1273-- add_foreign_key("protected_tag_create_access_levels", "protected_tags", {:name=>"fk_f7dfda8c51", :on_delete=>:cascade})1274 -> 0.0015s1275-- add_foreign_key("protected_tag_create_access_levels", "users")1276 -> 0.0017s1277-- add_foreign_key("protected_tags", "projects", {:name=>"fk_8e4af87648", :on_delete=>:cascade})1278 -> 0.0017s1279-- add_foreign_key("push_event_payloads", "events", {:name=>"fk_36c74129da", :on_delete=>:cascade})1280 -> 0.0015s1281-- add_foreign_key("push_rules", "projects", {:name=>"fk_83b29894de", :on_delete=>:cascade})1282 -> 0.0021s1283-- add_foreign_key("release_links", "releases", {:on_delete=>:cascade})1284 -> 0.0014s1285-- add_foreign_key("releases", "projects", {:name=>"fk_47fe2a0596", :on_delete=>:cascade})1286 -> 0.0019s1287-- add_foreign_key("releases", "users", {:column=>"author_id", :name=>"fk_8e4456f90f", :on_delete=>:nullify})1288 -> 0.0018s1289-- add_foreign_key("remote_mirrors", "projects", {:name=>"fk_43a9aa4ca8", :on_delete=>:cascade})1290 -> 0.0021s1291-- add_foreign_key("repository_languages", "projects", {:on_delete=>:cascade})1292 -> 0.0019s1293-- add_foreign_key("resource_label_events", "epics", {:on_delete=>:cascade})1294 -> 0.0017s1295-- add_foreign_key("resource_label_events", "issues", {:on_delete=>:cascade})1296 -> 0.0017s1297-- add_foreign_key("resource_label_events", "labels", {:on_delete=>:nullify})1298 -> 0.0014s1299-- add_foreign_key("resource_label_events", "merge_requests", {:on_delete=>:cascade})1300 -> 0.0016s1301-- add_foreign_key("resource_label_events", "users", {:on_delete=>:nullify})1302 -> 0.0018s1303-- add_foreign_key("reviews", "merge_requests", {:on_delete=>:cascade})1304 -> 0.0016s1305-- add_foreign_key("reviews", "projects", {:on_delete=>:cascade})1306 -> 0.0019s1307-- add_foreign_key("reviews", "users", {:column=>"author_id", :on_delete=>:nullify})1308 -> 0.0017s1309-- add_foreign_key("saml_providers", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1310 -> 0.0015s1311-- add_foreign_key("scim_oauth_access_tokens", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1312 -> 0.0015s1313-- add_foreign_key("self_managed_prometheus_alert_events", "environments", {:on_delete=>:cascade})1314 -> 0.0014s1315-- add_foreign_key("self_managed_prometheus_alert_events", "projects", {:on_delete=>:cascade})1316 -> 0.0019s1317-- add_foreign_key("services", "projects", {:name=>"fk_71cce407f9", :on_delete=>:cascade})1318 -> 0.0020s1319-- add_foreign_key("slack_integrations", "services", {:on_delete=>:cascade})1320 -> 0.0015s1321-- add_foreign_key("smartcard_identities", "users", {:on_delete=>:cascade})1322 -> 0.0020s1323-- add_foreign_key("snippets", "projects", {:name=>"fk_be41fd4bb7", :on_delete=>:cascade})1324 -> 0.0022s1325-- add_foreign_key("software_license_policies", "projects", {:on_delete=>:cascade})1326 -> 0.0020s1327-- add_foreign_key("software_license_policies", "software_licenses", {:on_delete=>:cascade})1328 -> 0.0014s1329-- add_foreign_key("subscriptions", "projects", {:on_delete=>:cascade})1330 -> 0.0020s1331-- add_foreign_key("suggestions", "notes", {:on_delete=>:cascade})1332 -> 0.0016s1333-- add_foreign_key("system_note_metadata", "description_versions", {:name=>"fk_fbd87415c9", :on_delete=>:nullify})1334 -> 0.0014s1335-- add_foreign_key("system_note_metadata", "notes", {:name=>"fk_d83a918cb1", :on_delete=>:cascade})1336 -> 0.0013s1337-- add_foreign_key("term_agreements", "application_setting_terms", {:column=>"term_id"})1338 -> 0.0016s1339-- add_foreign_key("term_agreements", "users", {:on_delete=>:cascade})1340 -> 0.0018s1341-- add_foreign_key("timelogs", "issues", {:name=>"fk_timelogs_issues_issue_id", :on_delete=>:cascade})1342 -> 0.0017s1343-- add_foreign_key("timelogs", "merge_requests", {:name=>"fk_timelogs_merge_requests_merge_request_id", :on_delete=>:cascade})1344 -> 0.0016s1345-- add_foreign_key("todos", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1346 -> 0.0021s1347-- add_foreign_key("todos", "notes", {:name=>"fk_91d1f47b13", :on_delete=>:cascade})1348 -> 0.0014s1349-- add_foreign_key("todos", "projects", {:name=>"fk_45054f9c45", :on_delete=>:cascade})1350 -> 0.0020s1351-- add_foreign_key("todos", "users", {:column=>"author_id", :name=>"fk_ccf0373936", :on_delete=>:cascade})1352 -> 0.0027s1353-- add_foreign_key("todos", "users", {:name=>"fk_d94154aa95", :on_delete=>:cascade})1354 -> 0.0039s1355-- add_foreign_key("trending_projects", "projects", {:on_delete=>:cascade})1356 -> 0.0021s1357-- add_foreign_key("u2f_registrations", "users")1358 -> 0.0020s1359-- add_foreign_key("user_callouts", "users", {:on_delete=>:cascade})1360 -> 0.0018s1361-- add_foreign_key("user_custom_attributes", "users", {:on_delete=>:cascade})1362 -> 0.0018s1363-- add_foreign_key("user_interacted_projects", "projects", {:name=>"fk_722ceba4f7", :on_delete=>:cascade})1364 -> 0.0018s1365-- add_foreign_key("user_interacted_projects", "users", {:name=>"fk_0894651f08", :on_delete=>:cascade})1366 -> 0.0017s1367-- add_foreign_key("user_preferences", "users", {:on_delete=>:cascade})1368 -> 0.0019s1369-- add_foreign_key("user_statuses", "users", {:on_delete=>:cascade})1370 -> 0.0018s1371-- add_foreign_key("user_synced_attributes_metadata", "users", {:on_delete=>:cascade})1372 -> 0.0018s1373-- add_foreign_key("users", "application_setting_terms", {:column=>"accepted_term_id", :name=>"fk_789cd90b35", :on_delete=>:cascade})1374 -> 0.0017s1375-- add_foreign_key("users", "namespaces", {:column=>"managing_group_id", :name=>"fk_a4b8fefe3e", :on_delete=>:nullify})1376 -> 0.0022s1377-- add_foreign_key("users_ops_dashboard_projects", "projects", {:on_delete=>:cascade})1378 -> 0.0022s1379-- add_foreign_key("users_ops_dashboard_projects", "users", {:on_delete=>:cascade})1380 -> 0.0017s1381-- add_foreign_key("users_star_projects", "projects", {:name=>"fk_22cd27ddfc", :on_delete=>:cascade})1382 -> 0.0020s1383-- add_foreign_key("vulnerabilities", "epics", {:name=>"fk_1d37cddf91", :on_delete=>:nullify})1384 -> 0.0021s1385-- add_foreign_key("vulnerabilities", "milestones", {:column=>"due_date_sourcing_milestone_id", :name=>"fk_7c5bb22a22", :on_delete=>:nullify})1386 -> 0.0013s1387-- add_foreign_key("vulnerabilities", "milestones", {:column=>"start_date_sourcing_milestone_id", :name=>"fk_88b4d546ef", :on_delete=>:nullify})1388 -> 0.0013s1389-- add_foreign_key("vulnerabilities", "milestones", {:name=>"fk_131d289c65", :on_delete=>:nullify})1390 -> 0.0015s1391-- add_foreign_key("vulnerabilities", "projects", {:name=>"fk_efb96ab1e2", :on_delete=>:cascade})1392 -> 0.0020s1393-- add_foreign_key("vulnerabilities", "users", {:column=>"author_id", :name=>"fk_b1de915a15", :on_delete=>:nullify})1394 -> 0.0018s1395-- add_foreign_key("vulnerabilities", "users", {:column=>"closed_by_id", :name=>"fk_cf5c60acbf", :on_delete=>:nullify})1396 -> 0.0017s1397-- add_foreign_key("vulnerabilities", "users", {:column=>"last_edited_by_id", :name=>"fk_1302949740", :on_delete=>:nullify})1398 -> 0.0018s1399-- add_foreign_key("vulnerabilities", "users", {:column=>"updated_by_id", :name=>"fk_7ac31eacb9", :on_delete=>:nullify})1400 -> 0.0019s1401-- add_foreign_key("vulnerability_feedback", "ci_pipelines", {:column=>"pipeline_id", :on_delete=>:nullify})1402 -> 0.0019s1403-- add_foreign_key("vulnerability_feedback", "issues", {:on_delete=>:nullify})1404 -> 0.0016s1405-- add_foreign_key("vulnerability_feedback", "merge_requests", {:name=>"fk_563ff1912e", :on_delete=>:nullify})1406 -> 0.0016s1407-- add_foreign_key("vulnerability_feedback", "projects", {:on_delete=>:cascade})1408 -> 0.0018s1409-- add_foreign_key("vulnerability_feedback", "users", {:column=>"author_id", :on_delete=>:cascade})1410 -> 0.0017s1411-- add_foreign_key("vulnerability_feedback", "users", {:column=>"comment_author_id", :name=>"fk_94f7c8a81e", :on_delete=>:nullify})1412 -> 0.0018s1413-- add_foreign_key("vulnerability_identifiers", "projects", {:on_delete=>:cascade})1414 -> 0.0020s1415-- add_foreign_key("vulnerability_occurrence_identifiers", "vulnerability_identifiers", {:column=>"identifier_id", :on_delete=>:cascade})1416 -> 0.0015s1417-- add_foreign_key("vulnerability_occurrence_identifiers", "vulnerability_occurrences", {:column=>"occurrence_id", :on_delete=>:cascade})1418 -> 0.0017s1419-- add_foreign_key("vulnerability_occurrence_pipelines", "ci_pipelines", {:column=>"pipeline_id", :on_delete=>:cascade})1420 -> 0.0015s1421-- add_foreign_key("vulnerability_occurrence_pipelines", "vulnerability_occurrences", {:column=>"occurrence_id", :on_delete=>:cascade})1422 -> 0.0012s1423-- add_foreign_key("vulnerability_occurrences", "projects", {:on_delete=>:cascade})1424 -> 0.0021s1425-- add_foreign_key("vulnerability_occurrences", "vulnerabilities", {:name=>"fk_97ffe77653", :on_delete=>:nullify})1426 -> 0.0014s1427-- add_foreign_key("vulnerability_occurrences", "vulnerability_identifiers", {:column=>"primary_identifier_id", :on_delete=>:cascade})1428 -> 0.0014s1429-- add_foreign_key("vulnerability_occurrences", "vulnerability_scanners", {:column=>"scanner_id", :on_delete=>:cascade})1430 -> 0.0014s1431-- add_foreign_key("vulnerability_scanners", "projects", {:on_delete=>:cascade})1432 -> 0.0019s1433-- add_foreign_key("web_hook_logs", "web_hooks", {:on_delete=>:cascade})1434 -> 0.0017s1435-- add_foreign_key("web_hooks", "projects", {:name=>"fk_0c8ca6d9d1", :on_delete=>:cascade})1436 -> 0.0020s1437-- add_foreign_key("zoom_meetings", "issues", {:on_delete=>:cascade})1438 -> 0.0018s1439-- add_foreign_key("zoom_meetings", "projects", {:on_delete=>:cascade})1440 -> 0.0019s1441$ date1442Wed Oct 23 14:06:14 UTC 20191443$ source scripts/rspec_helpers.sh1444$ rspec_paralellized_job "--tag ~quarantine --tag ~geo"1445KNAPSACK_TEST_FILE_PATTERN: spec/{controllers,mailers,requests}{,/**/}*_spec.rb1446Checking gitaly-ruby bundle...1447Warning: 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`.1448The Gemfile's dependencies are satisfied1449Trying to connect to gitaly: ...... OK1450Run options:1451 include {:focus=>true}1452 exclude {:quarantine=>true, :geo=>true}1453All examples were filtered out; ignoring {:focus=>true}1454==> Setting up Gitaly...1455 Gitaly set up in 0.07308749 seconds...1456API::MergeRequests1457 route shadowing1458 does not occur1459 GET /merge_requests1460 when unauthenticated1461 returns an array of all merge requests1462 returns authentication error without any scope1463 returns authentication error when scope is assigned-to-me1464 returns authentication error when scope is assigned_to_me1465 returns authentication error when scope is created-by-me1466 when authenticated1467 returns an array of all merge requests except unauthorized ones1468 returns an array of no merge_requests when wip=yes1469 returns an array of no merge_requests when wip=no1470 does not return unauthorized merge requests1471 returns an array of merge requests created by current user if no scope is given1472 returns an array of merge requests authored by the given user1473 returns an array of merge requests assigned to the given user1474 returns an array of merge requests with no assignee1475 returns an array of merge requests with any assignee1476 returns an array of merge requests assigned to me1477 returns an array of merge requests assigned to me (kebab-case)1478 returns an array of merge requests created by me1479 returns an array of merge requests created by me (kebab-case)1480 returns merge requests reacted by the authenticated user by the given emoji1481 returns merge requests created before a specific date1482 returns merge requests created after a specific date1483 returns merge requests updated before a specific date1484 returns merge requests updated after a specific date1485 source_branch param1486 returns merge requests with the given source branch1487 target_branch param1488 returns merge requests with the given target branch1489 search params1490 returns merge requests matching given search string for title1491 returns merge requests matching given search string for title and scoped in title1492 returns an empty array if no merge reques matches given search string for description and scoped in title1493 returns merge requests for project matching given search string for description1494 state param1495 returns merge requests with the given state1496 GET /projects/:id/merge_requests1497 returns 404 for non public projects1498 returns an array of no merge_requests when wip=yes1499 returns merge_request by "iids" array1500 avoids N+1 queries1501 behaves like merge requests list1502 when unauthenticated1503 returns merge requests for public projects1504 when authenticated1505 avoids N+1 queries1506 returns an array of all merge_requests using simple mode1507 returns an array of all merge_requests1508 returns an array of open merge_requests1509 returns an array of closed merge_requests1510 returns an array of merged merge_requests1511 matches V4 response schema1512 returns an empty array if no issue matches milestone1513 returns an empty array if milestone does not exist1514 returns an array of merge requests in given milestone1515 returns an array of merge requests matching state in milestone1516 returns an array of labeled merge requests that are merged for a milestone1517 with labels1518 returns an array of all merge_requests1519 with labels1520 returns an array of labeled merge requests1521 returns an array of labeled merge requests where all labels match1522 returns an empty array if no merge request matches labels1523 returns an array of labeled merge requests where all labels match1524 returns an array of merge requests with any label when filtering by any label1525 returns an array of merge requests with any label when filtering by any label1526 returns an array of merge requests with any label when filtering by any label1527 returns an array of merge requests without a label when filtering by no label1528 with ordering1529 returns an array of merge_requests in ascending order1530 returns an array of merge_requests in descending order1531 returns an array of merge_requests ordered by updated_at1532 returns an array of merge_requests ordered by created_at1533 2 merge requests with equal created_at1534 page breaks first page correctly1535 page breaks second page correctly1536 source_branch param1537 returns merge requests with the given source branch1538 target_branch param1539 returns merge requests with the given target branch1540 GET /groups/:id/merge_requests1541 behaves like merge requests list1542 when unauthenticated1543 returns merge requests for public projects1544 when authenticated1545 avoids N+1 queries1546 returns an array of all merge_requests using simple mode1547 returns an array of all merge_requests1548 returns an array of open merge_requests1549 returns an array of closed merge_requests1550 returns an array of merged merge_requests1551 matches V4 response schema1552 returns an empty array if no issue matches milestone1553 returns an empty array if milestone does not exist1554 returns an array of merge requests in given milestone1555 returns an array of merge requests matching state in milestone1556 returns an array of labeled merge requests that are merged for a milestone1557 with labels1558 returns an array of all merge_requests1559 with labels1560 returns an array of labeled merge requests1561 returns an array of labeled merge requests where all labels match1562 returns an empty array if no merge request matches labels1563 returns an array of labeled merge requests where all labels match1564 returns an array of merge requests with any label when filtering by any label1565 returns an array of merge requests with any label when filtering by any label1566 returns an array of merge requests with any label when filtering by any label1567 returns an array of merge requests without a label when filtering by no label1568 with ordering1569 returns an array of merge_requests in ascending order1570 returns an array of merge_requests in descending order1571 returns an array of merge_requests ordered by updated_at1572 returns an array of merge_requests ordered by created_at1573 2 merge requests with equal created_at1574 page breaks first page correctly1575 page breaks second page correctly1576 source_branch param1577 returns merge requests with the given source branch1578 target_branch param1579 returns merge requests with the given target branch1580 when have subgroups1581 behaves like merge requests list1582 when unauthenticated1583 returns merge requests for public projects1584 when authenticated1585 avoids N+1 queries1586 returns an array of all merge_requests using simple mode1587 returns an array of all merge_requests1588 returns an array of open merge_requests1589 returns an array of closed merge_requests1590 returns an array of merged merge_requests1591 matches V4 response schema1592 returns an empty array if no issue matches milestone1593 returns an empty array if milestone does not exist1594 returns an array of merge requests in given milestone1595 returns an array of merge requests matching state in milestone1596 returns an array of labeled merge requests that are merged for a milestone1597 with labels1598 returns an array of all merge_requests1599 with labels1600 returns an array of labeled merge requests1601 returns an array of labeled merge requests where all labels match1602 returns an empty array if no merge request matches labels1603 returns an array of labeled merge requests where all labels match1604 returns an array of merge requests with any label when filtering by any label1605 returns an array of merge requests with any label when filtering by any label1606 returns an array of merge requests with any label when filtering by any label1607 returns an array of merge requests without a label when filtering by no label1608 with ordering1609 returns an array of merge_requests in ascending order1610 returns an array of merge_requests in descending order1611 returns an array of merge_requests ordered by updated_at1612 returns an array of merge_requests ordered by created_at1613 2 merge requests with equal created_at1614 page breaks first page correctly1615 page breaks second page correctly1616 source_branch param1617 returns merge requests with the given source branch1618 target_branch param1619 returns merge requests with the given target branch1620 GET /projects/:id/merge_requests/:merge_request_iid1621 matches json schema1622 exposes known attributes1623 exposes description and title html when render_html is true1624 exposes rebase_in_progress when include_rebase_in_progress is true1625 returns the commits behind the target branch when include_diverged_commits_count is present1626 returns a 404 error if merge_request_iid not found1627 returns a 404 error if merge_request `id` is used instead of iid1628 indicates if a user cannot merge the MR1629 merge_request_metrics1630 has fields from merge request metrics1631 returns correct values1632 head_pipeline1633 when user can read the pipeline1634 exposes pipeline information1635 when user can not read the pipeline1636 does not expose pipeline information1637 Work in Progress1638 returns merge request1639 when a merge request has more than the changes limit1640 returns a string indicating that more changes were made1641 for forked projects1642 includes the `allow_collaboration` field1643 GET /projects/:id/merge_requests/:merge_request_iid/participants1644 behaves like issuable participants endpoint1645 returns participants1646 returns a 404 when iid does not exist1647 returns a 404 when id is used instead of iid1648 GET /projects/:id/merge_requests/:merge_request_iid/commits1649 returns a 200 when merge request is valid1650 returns a 404 when merge_request_iid not found1651 returns a 404 when merge_request id is used instead of iid1652 GET /projects/:id/merge_requests/:merge_request_iid/changes1653 returns the change information of the merge_request1654 returns a 404 when merge_request_iid not found1655 returns a 404 when merge_request id is used instead of iid1656 GET /projects/:id/merge_requests/:merge_request_iid/pipelines1657 when authorized1658 returns a paginated array of corresponding pipelines1659 exposes basic attributes1660 returns 404 if MR does not exist1661 when unauthorized1662 returns 4031663 POST /projects/:id/merge_requests/:merge_request_iid/pipelines1664 when authorized1665 creates and returns the new Pipeline1666 when unauthorized1667 responds with a blank 4041668 when the merge request does not exist1669 responds with a blank 4041670 POST /projects/:id/merge_requests1671 support for deprecated assignee_id1672 creates a new merge request1673 creates a new merge request when assignee_id is empty1674 filters assignee_id of unauthorized user1675 single assignee restrictions1676 creates a new project merge request with no more than one assignee1677 between branches projects1678 returns 422 when source_branch equals target_branch1679 returns 400 when source_branch is missing1680 returns 400 when target_branch is missing1681 returns 400 when title is missing1682 different labels1683 creates merge request with special label names1684 creates merge request with special label names as array1685 empty label param does not add any labels1686 empty label param as array does not add any labels, but only explicitly as json1687 empty label param as array, does not add any labels (PENDING: Temporarily skipped with xit)1688 array with one empty string element does not add labels1689 array with multiple empty string elements, does not add labels1690 behaves like creates merge request with labels1691 returns merge_request1692 behaves like creates merge request with labels1693 returns merge_request1694 behaves like creates merge request with labels1695 returns merge_request1696 with existing MR1697 returns 409 when MR already exists for source/target1698 accepts remove_source_branch parameter1699 sets force_remove_source_branch to false1700 sets force_remove_source_branch to true1701 forked projects1702 returns merge_request1703 does not return 422 when source_branch equals target_branch1704 returns 403 when target project has disabled merge requests1705 returns 400 when source_branch is missing1706 returns 400 when target_branch is missing1707 returns 400 when title is missing1708 allows setting `allow_collaboration`1709 returns 201 when target_branch is specified and for the same project1710 when target_branch and target_project_id is specified1711 returns 422 if targeting a different fork1712 returns 403 if targeting a different fork which user can not access1713 DELETE /projects/:id/merge_requests/:merge_request_iid1714 when the user is developer1715 denies the deletion of the merge request1716 when the user is project owner1717 destroys the merge request owners can destroy1718 returns 404 for an invalid merge request IID1719 returns 404 if the merge request id is used instead of iid1720 behaves like 412 response1721 for a modified ressource1722 returns 4121723 for an unmodified ressource1724 returns accepted1725 PUT /projects/:id/merge_requests/:merge_request_iid/merge1726 returns merge_request in case of success1727 returns 406 if branch can't be merged1728 returns 405 if merge_request is not open1729 returns 405 if merge_request is a work in progress1730 returns 405 if the build failed for a merge request that requires success1731 returns 401 if user has no permissions to merge1732 returns 409 if the SHA parameter doesn't match1733 succeeds if the SHA parameter matches1734 updates the MR's squash attribute1735 enables merge when pipeline succeeds if the pipeline is active1736 enables merge when pipeline succeeds if the pipeline is active and only_allow_merge_if_pipeline_succeeds is true1737 returns 404 for an invalid merge request IID1738 returns 404 if the merge request id is used instead of iid1739 the squash_commit_message param1740 results in a specific squash commit message when set1741 results in a default squash commit message when not set1742 the should_remove_source_branch param1743 removes the source branch when set1744 GET /projects/:id/merge_requests/:merge_request_iid/merge_ref1745 returns the generated ID from the merge service in case of success1746 when merge-ref is not synced with merge status1747 returns 200 if MR can be merged1748 returns 400 if MR cannot be merged1749 when user has no access to the MR1750 returns 4041751 when invalid merge request IID1752 returns 4041753 when merge request ID is used instead IID1754 returns 4041755 PUT /projects/:id/merge_requests/:merge_request_iid1756 updates title and returns merge_request1757 updates description and returns merge_request1758 updates milestone_id and returns merge_request1759 updates squash and returns merge_request1760 returns merge_request with renamed target_branch1761 returns merge_request that removes the source branch1762 filters assignee_id of unauthorized user1763 does not update state when title is empty1764 does not update state when target_branch is empty1765 returns 404 for an invalid merge request IID1766 returns 404 if the merge request id is used instead of iid1767 updates force_remove_source_branch properly1768 sets to false1769 sets to true1770 to close a MR1771 returns merge_request1772 when updating labels1773 allows special label names1774 also accepts labels as an array1775 empty label param removes labels1776 label param as empty array, but only explicitly as json, removes labels1777 empty label as array, removes labels (PENDING: Temporarily skipped with xit)1778 array with one empty string element removes labels1779 array with multiple empty string elements, removes labels1780 GET :id/merge_requests/:merge_request_iid/closes_issues1781 returns the issue that will be closed on merge1782 returns an empty array when there are no issues to be closed1783 handles external issues1784 returns 403 if the user has no access to the merge request1785 returns 404 for an invalid merge request IID1786 returns 404 if the merge request id is used instead of iid1787 POST :id/merge_requests/:merge_request_iid/subscribe1788 subscribes to a merge request1789 returns 304 if already subscribed1790 returns 404 if the merge request is not found1791 returns 404 if the merge request id is used instead of iid1792 returns 403 if user has no access to read code1793 POST :id/merge_requests/:merge_request_iid/unsubscribe1794 unsubscribes from a merge request1795 returns 304 if not subscribed1796 returns 404 if the merge request is not found1797 returns 404 if the merge request id is used instead of iid1798 returns 403 if user has no access to read code1799 POST :id/merge_requests/:merge_request_iid/cancel_merge_when_pipeline_succeeds1800 removes the merge_when_pipeline_succeeds status1801 returns 404 if the merge request is not found1802 returns 404 if the merge request id is used instead of iid1803 PUT :id/merge_requests/:merge_request_iid/rebase1804 enqueues a rebase of the merge request against the target branch1805 returns 403 if the user cannot push to the branch1806 returns 409 if a rebase is already in progress1807 returns 409 if rebase can't lock the row1808 Time tracking1809 POST /projects/:id/merge_requests/:merge_request_id/time_estimate1810 sets the time estimate for merge_request1811 with an unauthorized user1812 behaves like an unauthorized API user1813 should eq 4031814 updating the current estimate1815 when duration has a bad format1816 does not modify the original estimate1817 with a valid duration1818 updates the estimate1819 POST /projects/:id/merge_requests/:merge_request_id/reset_time_estimate1820 resets the time estimate for merge_request1821 with an unauthorized user1822 behaves like an unauthorized API user1823 should eq 4031824 POST /projects/:id/merge_requests/:merge_request_id/add_spent_time1825 add spent time for merge_request1826 with an unauthorized user1827 behaves like an unauthorized API user1828 should eq 4031829 when subtracting time1830 subtracts time of the total spent time1831 when time to subtract is greater than the total spent time1832 does not modify the total time spent1833 POST /projects/:id/merge_requests/:merge_request_id/reset_spent_time1834 resets spent time for merge_request1835 with an unauthorized user1836 behaves like an unauthorized API user1837 should eq 4031838 GET /projects/:id/merge_requests/:merge_request_id/time_stats1839 returns the time stats for merge_request1840Projects::IssuesController1841 GET #index1842 external issue tracker1843 when GitLab issues disabled1844 returns 404 status1845 when GitLab issues enabled1846 renders the "index" template1847 when project has moved1848 redirects to the new issue tracker from the old one1849 redirects from an old issue correctly1850 internal issue tracker1851 returns index1852 returns 301 if request path doesn't match project path1853 returns 404 when issues are disabled1854 behaves like issuables list meta-data1855 creates indexed meta-data object for issuable notes and votes count1856 avoids N+1 queries1857 searching1858 works when sorting by created_asc1859 works when sorting by created_at_asc1860 works when sorting by created_date1861 works when sorting by created_desc1862 works when sorting by created_at_desc1863 works when sorting by id_asc1864 works when sorting by id_desc1865 works when sorting by updated_asc1866 works when sorting by updated_at_asc1867 works when sorting by updated_desc1868 works when sorting by updated_at_desc1869DEPRECATION WARNING: Dangerous query method (method whose arguments are used as raw SQL) called with non-attribute argument(s): "COUNT(award_emoji.id) DESC". 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 order_votes at /builds/gtsiolis/gitlab-foss/app/models/concerns/awardable.rb:70)1870 works when sorting by popularity1871DEPRECATION WARNING: Dangerous query method (method whose arguments are used as raw SQL) called with non-attribute argument(s): "milestones.due_date IS NULL, milestones.id IS NULL, milestones.due_date ASC". 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 (2 levels) in <module:Issuable> at /builds/gtsiolis/gitlab-foss/app/models/concerns/issuable.rb:122)1872 works when sorting by priority1873 works when sorting by label_priority1874 when given empty collection1875 doesn't execute any queries with false conditions1876 behaves like set sort order from user preference1877 #set_sort_order_from_user_preference1878 when database is in read-only mode1879 does not update user preference1880 when database is not in read-only mode1881 updates user preference1882 behaves like paginated collection1883 renders a page number that is not ouf of range1884 redirects to last_page if page number is larger than number of pages1885 does not redirect to external sites when provided a host field1886 does not use pagination if disabled1887 with relative_position sorting1888 overrides the number allowed on the page1889 allows the default number on the page1890 external authorization1891 behaves like unauthorized when external service denies access1892 allows access when the authorization service allows it1893 allows access when the authorization service denies it1894 GET #new1895 redirects to signin if not logged in1896 internal issue tracker1897 builds a new issue1898 fills in an issue for a merge request1899 fills in an issue for a discussion1900 external issue tracker1901 when GitLab issues disabled1902 returns 404 status1903 when GitLab issues enabled1904 renders the "new" template1905 Redirect after sign in1906 with an AJAX request1907 does not store the visited URL1908 without an AJAX request1909 stores the visited URL1910 POST #move1911 when moving issue to another private project1912 when user has access to move issue1913 moves issue to another project1914 when user does not have access to move issue1915 responds with 4041916 PUT #reorder1917 when user has access1918 with valid params1919 reorders issues and returns a successful 200 response1920 with invalid params1921 returns a unprocessable entity 422 response for invalid move ids1922 returns a not found 404 response for invalid issue id1923 returns a unprocessable entity 422 response for issues not in group1924 with unauthorized user1925 responds with 4041926 PUT #update1927 when user has access to update issue1928 updates the issue1929 when Akismet is enabled and the issue is identified as spam1930 when allow_possible_spam feature flag is false1931 renders json with recaptcha_html1932 when allow_possible_spam feature flag is true1933 updates the issue1934 when user does not have access to update issue1935 responds with 4041936 GET #realtime_changes1937 when an issue was edited1938 returns last edited time1939 when an issue was edited by a deleted user1940 returns 2001941 when getting the changes1942 returns the necessary data1943 Confidential Issues1944 GET #index1945 does not list confidential issues for guests1946 does not list confidential issues for non project members1947 does not list confidential issues for project members with guest role1948 lists confidential issues for author1949 lists confidential issues for assignee1950 lists confidential issues for project members1951 lists confidential issues for admin1952 PUT #update1953 behaves like restricted action1954 returns 404 for guests1955 returns 404 for non project members1956 returns 404 for project members with guest role1957 returns 200 for author1958 returns 200 for assignee1959 returns 200 for project members1960 returns 200 for admin1961 behaves like update invalid issuable1962 when updating causes conflicts1963 renders edit when format is html1964 renders json error message when format is json1965 when updating an invalid issuable1966 renders edit when merge request is invalid1967 changing the assignee1968 limits the attributes exposed on the assignee1969 Akismet is enabled1970 when an issue is not identified as spam1971 normally updates the issue1972 when an issue is identified as spam1973 when captcha is not verified1974 when allow_possible_spam feature flag is false1975 rejects an issue recognized as a spam1976 rejects an issue recognized as a spam when recaptcha disabled1977 creates a spam log1978 renders recaptcha_html json response1979 returns 200 status1980 when allow_possible_spam feature flag is true1981 updates the issue recognized as spam1982 creates a spam log1983 returns 200 status1984 when captcha is verified1985 returns 200 status1986 accepts an issue after recaptcha is verified1987 marks spam log as recaptcha_verified1988 does not mark spam log as recaptcha_verified when it does not belong to current_user1989 GET #show1990 avoids (most) N+1s loading labels1991 behaves like restricted action1992 returns 404 for guests1993 returns 404 for non project members1994 returns 404 for project members with guest role1995 returns 200 for author1996 returns 200 for assignee1997 returns 200 for project members1998 returns 200 for admin1999 GET #realtime_changes2000 behaves like restricted action2001 returns 404 for guests2002 returns 404 for non project members2003 returns 404 for project members with guest role2004 returns 200 for author2005 returns 200 for assignee2006 returns 200 for project members2007 returns 200 for admin2008 GET #edit2009 behaves like restricted action2010 returns 404 for guests2011 returns 404 for non project members2012 returns 404 for project members with guest role2013 returns 200 for author2014 returns 200 for assignee2015 returns 200 for project members2016 returns 200 for admin2017 PUT #update2018 behaves like restricted action2019 returns 404 for guests2020 returns 404 for non project members2021 returns 404 for project members with guest role2022 returns 302 for author2023 returns 302 for assignee2024 returns 302 for project members2025 returns 302 for admin2026 POST #create2027 resolving discussions in MergeRequest2028 creates an issue for the project2029 doesn't overwrite given params2030 resolves the discussion in the merge_request2031 sets a flash message2032 resolving a single discussion2033 resolves a single discussion2034 sets a flash message that one discussion was resolved2035 Akismet is enabled2036 when an issue is not identified as spam2037 creates an issue2038 when an issue is identified as spam2039 when captcha is not verified2040 when allow_possible_spam feature flag is false2041 rejects an issue recognized as a spam2042 creates a spam log2043 does not create an issue when it is not valid2044 does not create an issue when recaptcha is not enabled2045 when allow_possible_spam feature flag is true2046 creates an issue recognized as spam2047 creates a spam log2048 does not create an issue when it is not valid2049 when captcha is verified2050 accepts an issue after recaptcha is verified2051 marks spam log as recaptcha_verified2052 does not mark spam log as recaptcha_verified when it does not belong to current_user2053 user agent details are saved2054 creates a user agent detail2055 when description has quick actions2056 can add spent time2057 can set the time estimate2058 POST #mark_as_spam2059 properly submits to Akismet2060 updates issue2061 DELETE #destroy2062 when the user is a developer2063 rejects a developer to destroy an issue2064 when the user is owner2065 deletes the issue2066 deletes the issue2067 prevents deletion if destroy_confirm is not set2068 prevents deletion in JSON format if destroy_confirm is not set2069 delegates the update of the todos count cache to TodoService2070 POST #toggle_award_emoji2071 toggles the award emoji2072 removes the already awarded emoji2073 marks Todos on the Issue as done2074 POST create_merge_request2075 creates a new merge request2076 render merge request as json2077 is not available when the project is archived2078 is not available for users who cannot create merge requests2079 target_project_id is set2080 create_confidential_merge_request feature is enabled2081 creates a new merge request2082 create_confidential_merge_request feature is disabled2083 creates a new merge request2084 POST #import_csv2085 unauthorized2086 returns 404 for guests2087 returns 404 for project members with reporter role2088 authorized2089 returns 302 for project members with developer role2090 shows error when upload fails2091 GET #discussions2092 when authenticated2093 returns discussion json2094 renders the author status html if there is a status2095 does not cause an extra query for the status2097 behaves like discussions provider2098 returns the expected discussions2099 when user is setting notes filters2100 behaves like issuable notes filter2101 sets discussion filter2102 expires notes e-tag cache for issuable if filter changed2103 does not expires notes e-tag cache for issuable if filter did not change2104 does not set notes filter when database is in read only mode2105 does not set notes filter when persist_filter param is false2106 returns only user comments2107 returns only activity notes2108 when filter is set to "only_comments"2109 does not merge label event notes2110 with cross-reference system note2111 filters notes that the user should not see2112 does not result in N+1 queries2113 private project with token authentication2114 behaves like authenticates sessionless user2115 doesn't log the user in otherwise2116 when the 'personal_access_token' param is populated with the personal access token2117 logs the user in2118 when the personal access token has no api scope2119 does not log the user in2120 when the 'PERSONAL_ACCESS_TOKEN' header is populated with the personal access token2121 logs the user in2122 behaves like authenticates sessionless user2123 doesn't log the user in otherwise2124 when the 'personal_access_token' param is populated with the personal access token2125 logs the user in2126 when the personal access token has no api scope2127 does not log the user in2128 when the 'PERSONAL_ACCESS_TOKEN' header is populated with the personal access token2129 logs the user in2130 public project with token authentication2131 behaves like authenticates sessionless user2132 when the 'personal_access_token' param is populated with the personal access token2133 logs the user in2134 does not log the user in if page is public2135 when the 'PERSONAL_ACCESS_TOKEN' header is populated with the personal access token2136 logs the user in2137 behaves like authenticates sessionless user2138 when the 'personal_access_token' param is populated with the personal access token2139 logs the user in2140 does not log the user in if page is public2141 when the 'PERSONAL_ACCESS_TOKEN' header is populated with the personal access token2142 logs the user in2143API::Issues2144 GET /projects/:id/issues2145 avoids N+1 queries2146 returns 404 when project does not exist2147 returns 404 on private projects for other users2148 returns no issues when user has access to project but not issues2149 returns project issues without confidential issues for non project members2150 returns project issues without confidential issues for project members with guest role2151 returns project confidential issues for author2152 returns only confidential issues2153 returns only public issues2154 returns project confidential issues for assignee2155 returns project issues with confidential issues for project members2156 returns project confidential issues for admin2157 returns an array of labeled project issues2158 returns an array of labeled project issues with labels param as array2159 returns issues matching given search string for title2160 returns issues matching given search string for description2161 returns an array of issues found by iids2162 returns an empty array if iid does not exist2163 returns an empty array if not all labels matches2164 returns an array of project issues with any label2165 returns an array of project issues with any label with labels param as array2166 returns an array of project issues with no label2167 returns an array of project issues with no label with labels param as array2168 returns an empty array if no project issue matches labels2169 returns an empty array if no issue matches milestone2170 returns an empty array if milestone does not exist2171 returns an array of issues in given milestone2172 returns an array of issues matching state in milestone2173 returns an array of issues with no milestone2174 returns an array of issues with any milestone2175 sorts ascending when requested2176 sorts by updated_at descending when requested2177 sorts by updated_at ascending when requested2178 exposes known attributes2179 when unauthenticated2180 returns public project issues2181 issues_statistics2182 no state is treated as all state2183 behaves like project issues statistics2184 returns project issues statistics2185 statistics when all state is passed2186 behaves like project issues statistics2187 returns project issues statistics2188 closed state is treated as all state2189 behaves like project issues statistics2190 returns project issues statistics2191 opened state is treated as all state2192 behaves like project issues statistics2193 returns project issues statistics2194 when filtering by milestone and no state treated as all state2195 behaves like project issues statistics2196 returns project issues statistics2197 when filtering by milestone and all state2198 behaves like project issues statistics2199 returns project issues statistics2200 when filtering by milestone and closed state treated as all state2201 behaves like project issues statistics2202 returns project issues statistics2203 when filtering by milestone and opened state treated as all state2204 behaves like project issues statistics2205 returns project issues statistics2206 sort does not affect statistics2207 behaves like project issues statistics2208 returns project issues statistics2209 behaves like accessible merge requests count2210 returns anonymous accessible merge requests count2211 returns guest accessible merge requests count2212 returns reporter accessible merge requests count2213 returns admin accessible merge requests count2214 with labeled issues2215 behaves like labeled issues with labels and label_name params2216 array of labeled issues when all labels match2217 behaves like returns label names2218 returns label names2219 array of labeled issues when all labels match with labels param as array2220 behaves like returns label names2221 returns label names2222 negation2223 array of labeled issues when all labels match with negation2224 behaves like returns negated label names2225 returns label names2226 array of labeled issues when all labels match with negation with label params as array2227 behaves like returns negated label names2228 returns label names2229 when with_labels_details provided2230 array of labeled issues when all labels match2231 behaves like returns basic label entity2232 returns basic label entity2233 array of labeled issues when all labels match with labels param as array2234 behaves like returns basic label entity2235 returns basic label entity2236 without sort params2237 sorts by created_at descending by default2238 with 2 issues with same created_at2239 page breaks first page correctly2240 page breaks second page correctly2241 issues_statistics2242 no state is treated as all state2243 behaves like project issues statistics2244 returns project issues statistics2245 statistics when all state is passed2246 behaves like project issues statistics2247 returns project issues statistics2248 closed state is treated as all state2249 behaves like project issues statistics2250 returns project issues statistics2251 opened state is treated as all state2252 behaves like project issues statistics2253 returns project issues statistics2254 when filtering by milestone and no state treated as all state2255 behaves like project issues statistics2256 returns project issues statistics2257 when filtering by milestone and all state2258 behaves like project issues statistics2259 returns project issues statistics2260 when filtering by milestone and closed state treated as all state2261 behaves like project issues statistics2262 returns project issues statistics2263 when filtering by milestone and opened state treated as all state2264 behaves like project issues statistics2265 returns project issues statistics2266 sort does not affect statistics2267 behaves like project issues statistics2268 returns project issues statistics2269 filtering by assignee_username2270 returns issues by assignee_username2271 returns issues by assignee_username as string2272 returns error when multiple assignees are passed2273 returns error when assignee_username and assignee_id are passed together2274 GET /projects/:id/issues/:issue_iid2275 exposes known attributes2276 exposes the closed_at attribute2277 returns a project issue by internal id2278 returns 404 if issue id not found2279 returns 404 if the issue ID is used2280 when unauthenticated2281 returns public issues2282 links exposure2283 exposes related resources full URIs2284 confidential issues2285 returns 404 for non project members2286 returns 404 for project members with guest role2287 returns confidential issue for project members2288 returns confidential issue for author2289 returns confidential issue for assignee2290 returns confidential issue for admin2291 behaves like accessible merge requests count2292 returns anonymous accessible merge requests count2293 returns guest accessible merge requests count2294 returns reporter accessible merge requests count2295 returns admin accessible merge requests count2296 GET :id/issues/:issue_iid/closed_by2297 returns merge requests that will close issue on merge2298 returns 404 when issue doesn't exists2299 when unauthenticated2300 return public project issues2301 when no merge requests will close issue2302 returns empty array2303 GET :id/issues/:issue_iid/related_merge_requests2304 returns merge requests that mentioned a issue2305 returns merge requests cross-project wide2306 does not generate references to projects with no access2307 returns 404 when issue doesn't exists2308 when unauthenticated2309 return list of referenced merge requests from issue2310 renders 404 if project is not visible2311 no merge request mentioned a issue2312 returns empty array2313 GET /projects/:id/issues/:issue_iid/user_agent_detail2314 exposes known attributes2315 returns unauthorized for non-admin users2316 when unauthenticated2317 returns unauthorized2318 GET projects/:id/issues/:issue_iid/participants2319 returns 404 if the issue is confidential2320 behaves like issuable participants endpoint2321 returns participants2322 returns a 404 when iid does not exist2323 returns a 404 when id is used instead of iid2324API::Helpers2325 .current_user2326 Warden authentication2327 with invalid credentials2328 GET request2329 should be nil2330 with valid credentials2331 GET request2332 should eq #<User id:605 @user604>2333 sets the environment with data of the current user2334 HEAD request2335 should eq #<User id:607 @user606>2336 PUT request2337 without CSRF token2338 should be nil2339 with CSRF token2340 should eq #<User id:609 @user608>2341 POST request2342 without CSRF token2343 should be nil2344 with CSRF token2345 should eq #<User id:611 @user610>2346 DELETE request2347 without CSRF token2348 should be nil2349 with CSRF token2350 should eq #<User id:613 @user612>2351 when authenticating using a user's personal access tokens2352 returns a 401 response for an invalid token2353 returns a 403 response for a user without access2354 returns a 403 response for a user who is blocked2355 sets current_user2356 does not allow tokens without the appropriate scope2357 does not allow revoked tokens2358 does not allow expired tokens2359 when terms are enforced2360 returns a 403 when a user has not accepted the terms2361 sets the current user when the user accepted the terms2362 when impersonation is disabled2363 does not allow impersonation tokens2364 .handle_api_exception2365 does not report a MethodNotAllowed exception to Sentry2366 does report RuntimeError to Sentry2367 with a personal access token given2368 does not raise an additional exception because of missing `request`2369 extra information2370 sends the params, excluding confidential values2371 .authenticate_non_get!2372 method is HEAD2373 does not raise an error2374 method is GET2375 does not raise an error2376 method is POST2377 calls authenticate!2378 method is PUT2379 calls authenticate!2380 method is PATCH2381 calls authenticate!2382 method is DELETE2383 calls authenticate!2384 .authenticate!2385 current_user is nil2386 returns a 401 response2387 current_user is present2388 does not raise an error2389 sudo2390 using an OAuth token2391 behaves like sudo2392 when admin2393 when token has sudo scope2394 when user exists2395 when using header2396 when providing username2397 behaves like successful sudo2398 sets current_user2399 sets sudo?2400 when providing username (case insensitive)2401 behaves like successful sudo2402 sets current_user2403 sets sudo?2404 when providing user ID2405 behaves like successful sudo2406 sets current_user2407 sets sudo?2408 when using param2409 when providing username2410 behaves like successful sudo2411 sets current_user2412 sets sudo?2413 when providing username (case insensitive)2414 behaves like successful sudo2415 sets current_user2416 sets sudo?2417 when providing user ID2418 behaves like successful sudo2419 sets current_user2420 sets sudo?2421 when user does not exist2422 raises an error2423 when token does not have sudo scope2424 raises an error2425 when not admin2426 raises an error2427 using a personal access token2428 passed as param2429 behaves like sudo2430 when admin2431 when token has sudo scope2432 when user exists2433 when using header2434 when providing username2435 behaves like successful sudo2436 sets current_user2437 sets sudo?2438 when providing username (case insensitive)2439 behaves like successful sudo2440 sets current_user2441 sets sudo?2442 when providing user ID2443 behaves like successful sudo2444 sets current_user2445 sets sudo?2446 when using param2447 when providing username2448 behaves like successful sudo2449 sets current_user2450 sets sudo?2451 when providing username (case insensitive)2452 behaves like successful sudo2453 sets current_user2454 sets sudo?2455 when providing user ID2456 behaves like successful sudo2457 sets current_user2458 sets sudo?2459 when user does not exist2460 raises an error2461 when token does not have sudo scope2462 raises an error2463 when not admin2464 raises an error2465 passed as header2466 behaves like sudo2467 when admin2468 when token has sudo scope2469 when user exists2470 when using header2471 when providing username2472 behaves like successful sudo2473 sets current_user2474 sets sudo?2475 when providing username (case insensitive)2476 behaves like successful sudo2477 sets current_user2478 sets sudo?2479 when providing user ID2480 behaves like successful sudo2481 sets current_user2482 sets sudo?2483 when using param2484 when providing username2485 behaves like successful sudo2486 sets current_user2487 sets sudo?2488 when providing username (case insensitive)2489 behaves like successful sudo2490 sets current_user2491 sets sudo?2492 when providing user ID2493 behaves like successful sudo2494 sets current_user2495 sets sudo?2496 when user does not exist2497 raises an error2498 when token does not have sudo scope2499 raises an error2500 when not admin2501 raises an error2502 using warden authentication2503 raises an error2504API::Discussions2505 when discussions have cross-reference system notes2506 behaves like with cross-reference system notes2507 returns only the note that the user should see2508 avoids Git calls and N+1 SQL queries2509 when noteable is an Issue2510 behaves like discussions API2511 GET /projects/:id/issues/:noteable_id/discussions2512 returns an array of discussions2513 returns a 404 error when noteable id not found2514 returns 404 when not authorized2515 GET /projects/:id/issues/:noteable_id/discussions/:discussion_id2516 returns a discussion by id2517 returns a 404 error if discussion not found2518 POST /projects/:id/issues/:noteable_id/discussions2519 creates a new note2520 returns a 400 bad request error if body not given2521 returns a 401 unauthorized error if user not authenticated2522 when an admin or owner makes the request2523 accepts the creation date to be set2524 when user does not have access to read the discussion2525 responds with 4042526 when a project is public with private repo access2527 when user is not a team member of private repo2528 creating a new note2529 raises 404 error2530 fetching a discussion2531 raises 404 error2532 POST /projects/:id/issues/:noteable_id/discussions/:discussion_id/notes2533 adds a new note to the discussion2534 returns a 400 bad request error if body not given2535 when the discussion is an individual note2536 creates a new discussion2537 PUT /projects/:id/issues/:noteable_id/discussions/:discussion_id/notes/:note_id2538 returns modified note2539 returns a 404 error when note id not found2540 returns a 400 bad request error if body not given2541 DELETE /projects/:id/issues/:noteable_id/discussions/:discussion_id/notes/:note_id2542 deletes a note2543 returns a 404 error when note id not found2544 behaves like 412 response2545 for a modified ressource2546 returns 4122547 for an unmodified ressource2548 returns accepted2549 when noteable is a Snippet2550 behaves like discussions API2551 GET /projects/:id/snippets/:noteable_id/discussions2552 returns an array of discussions2553 returns a 404 error when noteable id not found2554 returns 404 when not authorized2555 GET /projects/:id/snippets/:noteable_id/discussions/:discussion_id2556 returns a discussion by id2557 returns a 404 error if discussion not found2558 POST /projects/:id/snippets/:noteable_id/discussions2559 creates a new note2560 returns a 400 bad request error if body not given2561 returns a 401 unauthorized error if user not authenticated2562 when an admin or owner makes the request2563 accepts the creation date to be set2564 when user does not have access to read the discussion2565 responds with 4042566 when a project is public with private repo access2567 when user is not a team member of private repo2568 creating a new note2569 raises 404 error2570 fetching a discussion2571 raises 404 error2572 POST /projects/:id/snippets/:noteable_id/discussions/:discussion_id/notes2573 adds a new note to the discussion2574 returns a 400 bad request error if body not given2575 when the discussion is an individual note2576 returns 400 bad request2577 PUT /projects/:id/snippets/:noteable_id/discussions/:discussion_id/notes/:note_id2578 returns modified note2579 returns a 404 error when note id not found2580 returns a 400 bad request error if body not given2581 DELETE /projects/:id/snippets/:noteable_id/discussions/:discussion_id/notes/:note_id2582 deletes a note2583 returns a 404 error when note id not found2584 behaves like 412 response2585 for a modified ressource2586 returns 4122587 for an unmodified ressource2588 returns accepted2589 when noteable is a Merge Request2590 behaves like discussions API2591 GET /projects/:id/merge_requests/:noteable_id/discussions2592 returns an array of discussions2593 returns a 404 error when noteable id not found2594 returns 404 when not authorized2595 GET /projects/:id/merge_requests/:noteable_id/discussions/:discussion_id2596 returns a discussion by id2597 returns a 404 error if discussion not found2598 POST /projects/:id/merge_requests/:noteable_id/discussions2599 creates a new note2600 returns a 400 bad request error if body not given2601 returns a 401 unauthorized error if user not authenticated2602 when an admin or owner makes the request2603 accepts the creation date to be set2604 when user does not have access to read the discussion2605 responds with 4042606 when a project is public with private repo access2607 when user is not a team member of private repo2608 creating a new note2609 raises 404 error2610 fetching a discussion2611 raises 404 error2612 POST /projects/:id/merge_requests/:noteable_id/discussions/:discussion_id/notes2613 adds a new note to the discussion2614 returns a 400 bad request error if body not given2615 when the discussion is an individual note2616 creates a new discussion2617 PUT /projects/:id/merge_requests/:noteable_id/discussions/:discussion_id/notes/:note_id2618 returns modified note2619 returns a 404 error when note id not found2620 returns a 400 bad request error if body not given2621 DELETE /projects/:id/merge_requests/:noteable_id/discussions/:discussion_id/notes/:note_id2622 deletes a note2623 returns a 404 error when note id not found2624 behaves like 412 response2625 for a modified ressource2626 returns 4122627 for an unmodified ressource2628 returns accepted2629 behaves like diff discussions API2630 GET /projects/:id/merge_requests/:noteable_id/discussions2631 includes diff discussions2632 GET /projects/:id/merge_requests/:noteable_id/discussions/:discussion_id2633 returns a discussion by id2634 POST /projects/:id/merge_requests/:noteable_id/discussions2635 creates a new diff note2636 returns a 400 bad request error when position is invalid2637 POST /projects/:id/merge_requests/:noteable_id/discussions/:discussion_id/notes2638 adds a new note to the diff discussion2639 behaves like resolvable discussions API2640 PUT /projects/:id/merge_requests/:noteable_id/discussions/:discussion_id2641 resolves discussion if resolved is true2642 unresolves discussion if resolved is false2643 returns a 400 bad request error if resolved parameter is not passed2644 returns a 401 unauthorized error if user is not authenticated2645 returns a 403 error if user resolves discussion of someone else2646 when user does not have access to read the discussion2647 responds with 4042648 PUT /projects/:id/merge_requests/:noteable_id/discussions/:discussion_id/notes/:note_id2649 returns resolved note when resolved parameter is true2650 returns a 404 error when note id not found2651 returns a 400 bad request error if neither body nor resolved parameter is given2652 returns a 403 error if user resolves note of someone else2653 when noteable is a Commit2654 behaves like discussions API2655 GET /projects/:id/repository/commits/:noteable_id/discussions2656 returns an array of discussions2657 returns a 404 error when noteable id not found2658 returns 404 when not authorized2659 GET /projects/:id/repository/commits/:noteable_id/discussions/:discussion_id2660 returns a discussion by id2661 returns a 404 error if discussion not found2662 POST /projects/:id/repository/commits/:noteable_id/discussions2663 creates a new note2664 returns a 400 bad request error if body not given2665 returns a 401 unauthorized error if user not authenticated2666 when an admin or owner makes the request2667 accepts the creation date to be set2668 when user does not have access to read the discussion2669 responds with 4042670 when a project is public with private repo access2671 when user is not a team member of private repo2672 creating a new note2673 raises 404 error2674 fetching a discussion2675 raises 404 error2676 POST /projects/:id/repository/commits/:noteable_id/discussions/:discussion_id/notes2677 adds a new note to the discussion2678 returns a 400 bad request error if body not given2679 when the discussion is an individual note2680 returns 400 bad request2681 PUT /projects/:id/repository/commits/:noteable_id/discussions/:discussion_id/notes/:note_id2682 returns modified note2683 returns a 404 error when note id not found2684 returns a 400 bad request error if body not given2685 DELETE /projects/:id/repository/commits/:noteable_id/discussions/:discussion_id/notes/:note_id2686 deletes a note2687 returns a 404 error when note id not found2688 behaves like 412 response2689 for a modified ressource2690 returns 4122691 for an unmodified ressource2692 returns accepted2693 behaves like diff discussions API2694 GET /projects/:id/repository/commits/:noteable_id/discussions2695 includes diff discussions2696 GET /projects/:id/repository/commits/:noteable_id/discussions/:discussion_id2697 returns a discussion by id2698 POST /projects/:id/repository/commits/:noteable_id/discussions2699 creates a new diff note2700 returns a 400 bad request error when position is invalid2701 POST /projects/:id/repository/commits/:noteable_id/discussions/:discussion_id/notes2702 adds a new note to the diff discussion2703ProjectsController2704 GET new2705 with an authenticated user2706 when namespace_id param is present2707 when user has access to the namespace2708 renders the template2709 when user does not have access to the namespace2710 responds with status 4042711 GET index2712 as a user2713 redirects to root page2714 as a guest2715 redirects to Explore page2716 GET show2717 user not project member2718 user does not have access to project2719 does not initialize notification setting2720 user has access to project2721 and does not have notification setting2722 initializes notification as disabled2723 and has notification setting2724 shows current notification setting2725 when project repository is disabled2726 shows wiki homepage2727 shows issues list page if wiki is disabled2728 shows customize workflow page if wiki and issues are disabled2729 shows activity if enabled by user2730 when the storage is not available2731 renders a 5032732 project with empty repo2733 with readme view set2734 renders the empty project view2735 with activity view set2736 renders the empty project view2737 with files view set2738 renders the empty project view2739 project with broken repo2740 with readme view set2741 renders the empty project view2742 with activity view set2743 renders the empty project view2744 with files view set2745 renders the empty project view2746 rendering default project view2747 renders the activity view2748 renders the files view2749 renders the readme view2750 when the url contains .atom2751 expects an error creating the project2752 when the project is pending deletions2753 renders a 404 error2754 redirection from http://someproject.git2755 redirects to project page (format.html)2756 when the project is forked and has a repository2757 does not increase the number of queries when the project is forked2758 GET edit2759 allows an admin user to access the page2760 sets the badge API endpoint2761 POST #archive2762 for a user with the ability to archive a project2763 archives the project2764 redirects to projects path2765 for a user that does not have the ability to archive a project2766 does not archive the project2767 returns 4042768 POST #unarchive2769 for a user with the ability to unarchive a project2770 unarchives the project2771 redirects to projects path2772 for a user that does not have the ability to unarchive a project2773 does not unarchive the project2774 returns 4042775 #housekeeping2776 when authenticated as owner2777 forces a full garbage collection2778 when authenticated as developer2779 does not execute housekeeping2780 #update2781 hashed storage2782 behaves like updating a project2783 updates Fast Forward Merge attributes2784 does not update namespace2785 when only renaming a project path2786 sets the repository to the right path after a rename2787 when project has container repositories with tags2788 does not allow to rename the project2789 legacy storage2790 behaves like updating a project2791 updates Fast Forward Merge attributes2792 does not update namespace2793 when only renaming a project path2794 sets the repository to the right path after a rename2795 when project has container repositories with tags2796 does not allow to rename the project2797 as maintainer2798 behaves like unauthorized when external service denies access2799 allows access when the authorization service allows it2800 allows access when the authorization service denies it2801 updates when the service allows access2802 does not update when the service rejects access2803 #transfer2804 updates namespace2805 when new namespace is empty2806 project namespace is not changed2807 #destroy2808 redirects to the dashboard2809 when the project is forked2810 closes all related merge requests2811 PUT #new_issuable_address for issue2812 has http status 2002813 changes the user incoming email token2814 changes projects new issue address2815 PUT #new_issuable_address for merge request2816 has http status 2002817 changes the user incoming email token2818 changes projects new merge request address2819 POST #toggle_star2820 toggles star if user is signed in2821 does nothing if user is not signed in2822 DELETE remove_fork2823 does nothing if user is not signed in2824 when signed in2825 with forked project2826 removes fork from project2827 when project not forked2828 does nothing if project was not forked2829 GET refs2830 gets a list of branches and tags2831 gets a list of branches, tags and commits2832 when preferred language is Japanese2833 gets a list of branches, tags and commits2834 when private project2835 as a guest2836 renders forbidden2837 POST #preview_markdown2838 renders json in a correct format2839 when not authorized2840 returns 4042841 state filter on references2842 renders JSON body with state filter for issues2843 renders JSON body with state filter for MRs2844 #ensure_canonical_path2845 for a GET request2846 when requesting the canonical path2847 with exactly matching casing2848 loads the project2849 with different casing2850 redirects to the normalized path2851 when requesting a redirected path2852 redirects to the canonical path2853 redirects to the canonical path (testing non-show action)2854 for a POST request2855 when requesting the canonical path with different casing2856 does not 4042857 does not redirect to the correct casing2858 when requesting a redirected path2859 returns not found2860 for a DELETE request2861 when requesting the canonical path with different casing2862 does not 4042863 does not redirect to the correct casing2864 when requesting a redirected path2865 returns not found2866 #export2867 when project export is enabled2868 returns 3022869 when project export is disabled2870 returns 4042871 #download_export2872 object storage enabled2873 when project export is enabled2874 returns 3022875 when project export is disabled2876 returns 4042877 #remove_export2878 when project export is enabled2879 returns 3022880 when project export is disabled2881 returns 4042882 #generate_new_export2883 when project export is enabled2884 returns 3022885 when project export is disabled2886 returns 4042887 private project with token authentication2888 behaves like authenticates sessionless user2889 doesn't log the user in otherwise2890 when the 'personal_access_token' param is populated with the personal access token2891 logs the user in2892 when the personal access token has no api scope2893 does not log the user in2894 when the 'PERSONAL_ACCESS_TOKEN' header is populated with the personal access token2895 logs the user in2896 public project with token authentication2897 behaves like authenticates sessionless user2898 when the 'personal_access_token' param is populated with the personal access token2899 logs the user in2900 does not log the user in if page is public2901 when the 'PERSONAL_ACCESS_TOKEN' header is populated with the personal access token2902 logs the user in2903 GET resolve2904 with an authenticated user2905 gives 404 for non-existing project2906 when user has access to the project2907 behaves like resolvable endpoint2908 redirects to the project page2909 when user has no access to the project2910 gives 404 for existing project2911 non authenticated user2912 gives 404 for private project2913 with a public project2914 behaves like resolvable endpoint2915 redirects to the project page2916API::Deployments2917 GET /projects/:id/deployments2918 as member of the project2919 returns projects deployments sorted by id asc2920 ordering2921 order_by: "created_at", sort: "asc", ordered_deployments: [:deployment_3, :deployment_2, :deployment_1]2922 returns the deployments ordered2923 order_by: "created_at", sort: "desc", ordered_deployments: [:deployment_1, :deployment_2, :deployment_3]2924 returns the deployments ordered2925 order_by: "id", sort: "asc", ordered_deployments: [:deployment_1, :deployment_2, :deployment_3]2926 returns the deployments ordered2927 order_by: "id", sort: "desc", ordered_deployments: [:deployment_3, :deployment_2, :deployment_1]2928 returns the deployments ordered2929 order_by: "iid", sort: "asc", ordered_deployments: [:deployment_3, :deployment_1, :deployment_2]2930 returns the deployments ordered2931 order_by: "iid", sort: "desc", ordered_deployments: [:deployment_2, :deployment_1, :deployment_3]2932 returns the deployments ordered2933 order_by: "ref", sort: "asc", ordered_deployments: [:deployment_2, :deployment_1, :deployment_3]2934 returns the deployments ordered2935 order_by: "ref", sort: "desc", ordered_deployments: [:deployment_3, :deployment_1, :deployment_2]2936 returns the deployments ordered2937 as non member2938 returns a 404 status code2939 GET /projects/:id/deployments/:deployment_id2940 as a member of the project2941 returns the projects deployment2942 as non member2943 returns a 404 status code2944 POST /projects/:id/deployments2945 as a maintainer2946 creates a new deployment2947 errors when creating a deployment with an invalid name2948 as a developer2949 creates a new deployment2950 as non member2951 returns a 404 status code2952 PUT /projects/:id/deployments/:deployment_id2953 as a maintainer2954 returns a 403 when updating a deployment with a build2955 updates a deployment without an associated build2956 as a developer2957 returns a 403 when updating a deployment with a build2958 updates a deployment without an associated build2959 as non member2960 returns a 404 status code2961Profiles::AvatarsController2962 removes avatar from DB by calling destroy2963Projects::WikiDirectoriesController2964 GET #show2965 the directory is empty2966 should render template empty2967 the directory does exist2968 should render template show2969 sets the wiki_dir attribute2970 assigns the wiki pages2971Pending: (Failures listed here are expected and do not affect your suite's status)2972 1) API::MergeRequests POST /projects/:id/merge_requests between branches projects different labels empty label param as array, does not add any labels2973 # Temporarily skipped with xit2974 # ./spec/requests/api/merge_requests_spec.rb:12512975 2) API::MergeRequests PUT /projects/:id/merge_requests/:merge_request_iid when updating labels empty label as array, removes labels2976 # Temporarily skipped with xit2977 # ./spec/requests/api/merge_requests_spec.rb:18602978Finished in 10 minutes 54 seconds (files took 27.5 seconds to load)2979877 examples, 0 failures, 2 pending2980! Generating reports is disabled. To enable it, please set the `FLAKY_RSPEC_GENERATE_REPORT=1` !2981Wed Oct 23 14:17:44 UTC 20192983$ date2984Wed Oct 23 14:17:45 UTC 20192987coverage/: found 5 matching files 2988knapsack/: found 3 matching files 2989rspec_flaky/: found 2 matching files 2990rspec_profiling/: found 1 matching files 2991WARNING: tmp/capybara/: no matching files 2992tmp/memory_test/: found 2 matching files 2993Uploading artifacts to coordinator... ok id=330157606 responseStatus=201 Created token=xX74Q86t2994Uploading artifacts...2995junit_rspec.xml: found 1 matching files 2996Uploading artifacts to coordinator... ok id=330157606 responseStatus=201 Created token=xX74Q86t2997Job succeeded