There was an error fetching the job.
rspec-pg 20 30
Passed Started
by
@splattael
Peter Leitzen
1Running with gitlab-runner 11.4.2 (cf91d5e1)2 on docker-auto-scale-com 1d6b581d3Using Docker executor with image dev.gitlab.org:5005/gitlab/gitlab-build-images:ruby-2.4.5-golang-1.9-git-2.18-chrome-69.0-node-8.x-yarn-1.2-postgresql-9.6-graphicsmagick-1.3.29 ...4Starting service postgres:9.6 ...5Pulling docker image postgres:9.6 ...6Using docker image sha256:89bf0dc0dee01ef0e393388e330a3b6aa300066890722548de0f0a00869f3e99 for postgres:9.6 ...7Starting service redis:alpine ...8Pulling docker image redis:alpine ...9Using docker image sha256:05635ee9e1c7e8bf4b0b3265c5085126aced903a9b69cada10796ca13aa033e9 for redis:alpine ...10Waiting for services to be up and running...11Pulling docker image dev.gitlab.org:5005/gitlab/gitlab-build-images:ruby-2.4.5-golang-1.9-git-2.18-chrome-69.0-node-8.x-yarn-1.2-postgresql-9.6-graphicsmagick-1.3.29 ...12Using docker image sha256:9123a74b42062bba0eaf4098630aec8b4c59800f1d0a659a2b1ad16821095ff3 for dev.gitlab.org:5005/gitlab/gitlab-build-images:ruby-2.4.5-golang-1.9-git-2.18-chrome-69.0-node-8.x-yarn-1.2-postgresql-9.6-graphicsmagick-1.3.29 ... 13 Running on runner-1d6b581d-project-13083-concurrent-0 via runner-1d6b581d-gsrm-1540644651-337acda0...
00:02
15Cloning into '/builds/gitlab-org/gitlab-ce'...16Checking out 8415e994 as 5781-operations-homepage-mvc-routes...17Skipping Git submodules setup19Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/13083/ruby-2.4.5-debian-stretch-with-yarn-2 20Successfully extracted cache22Downloading artifacts from coordinator... ok id=113407381 responseStatus=200 OK token=fJLZiabN23Downloading artifacts for compile-assets (113407382)...24Downloading artifacts from coordinator... ok id=113407382 responseStatus=200 OK token=12T5My4F25Downloading artifacts for setup-test-env (113407383)...26Downloading artifacts from coordinator... ok id=113407383 responseStatus=200 OK token=ixfaXPSP27WARNING: tmp/tests/gitlab-shell/.gitlab_shell_secret: chmod tmp/tests/gitlab-shell/.gitlab_shell_secret: no such file or directory (suppressing repeats) 29Bundler version 1.16.630$ date31Sat Oct 27 12:55:17 UTC 201832$ source scripts/utils.sh33$ date34Sat Oct 27 12:55:17 UTC 201835$ source scripts/prepare_build.sh36The Gemfile's dependencies are satisfied37Successfully installed knapsack-1.16.0381 gem installed39CREATE ROLE40GRANT41-- enable_extension("plpgsql")42 -> 0.0125s43-- enable_extension("pg_trgm")44 -> 0.0159s45-- create_table("abuse_reports", {:force=>:cascade})46 -> 0.0272s47-- create_table("appearances", {:force=>:cascade})48 -> 0.0255s49-- create_table("application_setting_terms", {:force=>:cascade})50 -> 0.0248s51-- create_table("application_settings", {:force=>:cascade})52 -> 0.0577s53-- create_table("audit_events", {:force=>:cascade})54 -> 0.0250s55-- add_index("audit_events", ["entity_id", "entity_type"], {:name=>"index_audit_events_on_entity_id_and_entity_type", :using=>:btree})56 -> 0.0154s57-- create_table("award_emoji", {:force=>:cascade})58 -> 0.0243s59-- add_index("award_emoji", ["awardable_type", "awardable_id"], {:name=>"index_award_emoji_on_awardable_type_and_awardable_id", :using=>:btree})60 -> 0.0151s61-- add_index("award_emoji", ["user_id", "name"], {:name=>"index_award_emoji_on_user_id_and_name", :using=>:btree})62 -> 0.0148s63-- create_table("badges", {:force=>:cascade})64 -> 0.0248s65-- add_index("badges", ["group_id"], {:name=>"index_badges_on_group_id", :using=>:btree})66 -> 0.0147s67-- add_index("badges", ["project_id"], {:name=>"index_badges_on_project_id", :using=>:btree})68 -> 0.0145s69-- create_table("board_group_recent_visits", {:id=>:bigserial, :force=>:cascade})70 -> 0.0143s71-- add_index("board_group_recent_visits", ["board_id"], {:name=>"index_board_group_recent_visits_on_board_id", :using=>:btree})72 -> 0.0142s73-- add_index("board_group_recent_visits", ["group_id"], {:name=>"index_board_group_recent_visits_on_group_id", :using=>:btree})74 -> 0.0143s75-- add_index("board_group_recent_visits", ["user_id", "group_id", "board_id"], {:name=>"index_board_group_recent_visits_on_user_group_and_board", :unique=>true, :using=>:btree})76 -> 0.0145s77-- add_index("board_group_recent_visits", ["user_id"], {:name=>"index_board_group_recent_visits_on_user_id", :using=>:btree})78 -> 0.0140s79-- create_table("board_project_recent_visits", {:id=>:bigserial, :force=>:cascade})80 -> 0.0139s81-- add_index("board_project_recent_visits", ["board_id"], {:name=>"index_board_project_recent_visits_on_board_id", :using=>:btree})82 -> 0.0141s83-- add_index("board_project_recent_visits", ["project_id"], {:name=>"index_board_project_recent_visits_on_project_id", :using=>:btree})84 -> 0.0142s85-- add_index("board_project_recent_visits", ["user_id", "project_id", "board_id"], {:name=>"index_board_project_recent_visits_on_user_project_and_board", :unique=>true, :using=>:btree})86 -> 0.0145s87-- add_index("board_project_recent_visits", ["user_id"], {:name=>"index_board_project_recent_visits_on_user_id", :using=>:btree})88 -> 0.0144s89-- create_table("boards", {:force=>:cascade})90 -> 0.0145s91-- add_index("boards", ["group_id"], {:name=>"index_boards_on_group_id", :using=>:btree})92 -> 0.0142s93-- add_index("boards", ["project_id"], {:name=>"index_boards_on_project_id", :using=>:btree})94 -> 0.0143s95-- create_table("broadcast_messages", {:force=>:cascade})96 -> 0.0247s97-- add_index("broadcast_messages", ["starts_at", "ends_at", "id"], {:name=>"index_broadcast_messages_on_starts_at_and_ends_at_and_id", :using=>:btree})98 -> 0.0146s99-- create_table("chat_names", {:force=>:cascade})100 -> 0.0254s101-- add_index("chat_names", ["service_id", "team_id", "chat_id"], {:name=>"index_chat_names_on_service_id_and_team_id_and_chat_id", :unique=>true, :using=>:btree})102 -> 0.0148s103-- add_index("chat_names", ["user_id", "service_id"], {:name=>"index_chat_names_on_user_id_and_service_id", :unique=>true, :using=>:btree})104 -> 0.0147s105-- create_table("chat_teams", {:force=>:cascade})106 -> 0.0251s107-- add_index("chat_teams", ["namespace_id"], {:name=>"index_chat_teams_on_namespace_id", :unique=>true, :using=>:btree})108 -> 0.0146s109-- create_table("ci_build_trace_chunks", {:id=>:bigserial, :force=>:cascade})110 -> 0.0247s111-- add_index("ci_build_trace_chunks", ["build_id", "chunk_index"], {:name=>"index_ci_build_trace_chunks_on_build_id_and_chunk_index", :unique=>true, :using=>:btree})112 -> 0.0146s113-- create_table("ci_build_trace_section_names", {:force=>:cascade})114 -> 0.0249s115-- add_index("ci_build_trace_section_names", ["project_id", "name"], {:name=>"index_ci_build_trace_section_names_on_project_id_and_name", :unique=>true, :using=>:btree})116 -> 0.0156s117-- create_table("ci_build_trace_sections", {:force=>:cascade})118 -> 0.0146s119-- add_index("ci_build_trace_sections", ["build_id", "section_name_id"], {:name=>"index_ci_build_trace_sections_on_build_id_and_section_name_id", :unique=>true, :using=>:btree})120 -> 0.0151s121-- add_index("ci_build_trace_sections", ["project_id"], {:name=>"index_ci_build_trace_sections_on_project_id", :using=>:btree})122 -> 0.0146s123-- add_index("ci_build_trace_sections", ["section_name_id"], {:name=>"index_ci_build_trace_sections_on_section_name_id", :using=>:btree})124 -> 0.0143s125-- create_table("ci_builds", {:force=>:cascade})126 -> 0.0267s127-- add_index("ci_builds", ["artifacts_expire_at"], {:name=>"index_ci_builds_on_artifacts_expire_at", :where=>"(artifacts_file <> ''::text)", :using=>:btree})128 -> 0.0148s129-- add_index("ci_builds", ["auto_canceled_by_id"], {:name=>"index_ci_builds_on_auto_canceled_by_id", :using=>:btree})130 -> 0.0145s131-- add_index("ci_builds", ["commit_id", "stage_idx", "created_at"], {:name=>"index_ci_builds_on_commit_id_and_stage_idx_and_created_at", :using=>:btree})132 -> 0.0147s133-- add_index("ci_builds", ["commit_id", "status", "type"], {:name=>"index_ci_builds_on_commit_id_and_status_and_type", :using=>:btree})134 -> 0.0150s135-- add_index("ci_builds", ["commit_id", "type", "name", "ref"], {:name=>"index_ci_builds_on_commit_id_and_type_and_name_and_ref", :using=>:btree})136 -> 0.0149s137-- add_index("ci_builds", ["commit_id", "type", "ref"], {:name=>"index_ci_builds_on_commit_id_and_type_and_ref", :using=>:btree})138 -> 0.0149s139-- add_index("ci_builds", ["id"], {:name=>"partial_index_ci_builds_on_id_with_legacy_artifacts", :where=>"(artifacts_file <> ''::text)", :using=>:btree})140 -> 0.0143s141-- add_index("ci_builds", ["project_id", "id"], {:name=>"index_ci_builds_on_project_id_and_id", :using=>:btree})142 -> 0.0147s143-- add_index("ci_builds", ["protected"], {:name=>"index_ci_builds_on_protected", :using=>:btree})144 -> 0.0146s145-- add_index("ci_builds", ["runner_id"], {:name=>"index_ci_builds_on_runner_id", :using=>:btree})146 -> 0.0151s147-- add_index("ci_builds", ["scheduled_at"], {:name=>"partial_index_ci_builds_on_scheduled_at_with_scheduled_jobs", :where=>"((scheduled_at IS NOT NULL) AND ((type)::text = 'Ci::Build'::text) AND ((status)::text = 'scheduled'::text))", :using=>:btree})148 -> 0.0151s149-- add_index("ci_builds", ["stage_id", "stage_idx"], {:name=>"tmp_build_stage_position_index", :where=>"(stage_idx IS NOT NULL)", :using=>:btree})150 -> 0.0152s151-- add_index("ci_builds", ["stage_id"], {:name=>"index_ci_builds_on_stage_id", :using=>:btree})152 -> 0.0159s153-- add_index("ci_builds", ["status", "type", "runner_id"], {:name=>"index_ci_builds_on_status_and_type_and_runner_id", :using=>:btree})154 -> 0.0148s155-- add_index("ci_builds", ["token"], {:name=>"index_ci_builds_on_token", :unique=>true, :using=>:btree})156 -> 0.0145s157-- add_index("ci_builds", ["updated_at"], {:name=>"index_ci_builds_on_updated_at", :using=>:btree})158 -> 0.0145s159-- add_index("ci_builds", ["user_id"], {:name=>"index_ci_builds_on_user_id", :using=>:btree})160 -> 0.0145s161-- create_table("ci_builds_metadata", {:force=>:cascade})162 -> 0.0150s163-- add_index("ci_builds_metadata", ["build_id"], {:name=>"index_ci_builds_metadata_on_build_id", :unique=>true, :using=>:btree})164 -> 0.0143s165-- add_index("ci_builds_metadata", ["project_id"], {:name=>"index_ci_builds_metadata_on_project_id", :using=>:btree})166 -> 0.0145s167-- create_table("ci_builds_runner_session", {:id=>:bigserial, :force=>:cascade})168 -> 0.0246s169-- add_index("ci_builds_runner_session", ["build_id"], {:name=>"index_ci_builds_runner_session_on_build_id", :unique=>true, :using=>:btree})170 -> 0.0141s171-- create_table("ci_group_variables", {:force=>:cascade})172 -> 0.0253s173-- add_index("ci_group_variables", ["group_id", "key"], {:name=>"index_ci_group_variables_on_group_id_and_key", :unique=>true, :using=>:btree})174 -> 0.0152s175-- create_table("ci_job_artifacts", {:force=>:cascade})176 -> 0.0247s177-- add_index("ci_job_artifacts", ["expire_at", "job_id"], {:name=>"index_ci_job_artifacts_on_expire_at_and_job_id", :using=>:btree})178 -> 0.0153s179-- add_index("ci_job_artifacts", ["file_store"], {:name=>"index_ci_job_artifacts_on_file_store", :using=>:btree})180 -> 0.0142s181-- add_index("ci_job_artifacts", ["job_id", "file_type"], {:name=>"index_ci_job_artifacts_on_job_id_and_file_type", :unique=>true, :using=>:btree})182 -> 0.0148s183-- add_index("ci_job_artifacts", ["project_id"], {:name=>"index_ci_job_artifacts_on_project_id", :using=>:btree})184 -> 0.0146s185-- create_table("ci_pipeline_schedule_variables", {:force=>:cascade})186 -> 0.0247s187-- add_index("ci_pipeline_schedule_variables", ["pipeline_schedule_id", "key"], {:name=>"index_ci_pipeline_schedule_variables_on_schedule_id_and_key", :unique=>true, :using=>:btree})188 -> 0.0142s189-- create_table("ci_pipeline_schedules", {:force=>:cascade})190 -> 0.0253s191-- add_index("ci_pipeline_schedules", ["next_run_at", "active"], {:name=>"index_ci_pipeline_schedules_on_next_run_at_and_active", :using=>:btree})192 -> 0.0141s193-- add_index("ci_pipeline_schedules", ["project_id"], {:name=>"index_ci_pipeline_schedules_on_project_id", :using=>:btree})194 -> 0.0143s195-- create_table("ci_pipeline_variables", {:force=>:cascade})196 -> 0.0279s197-- add_index("ci_pipeline_variables", ["pipeline_id", "key"], {:name=>"index_ci_pipeline_variables_on_pipeline_id_and_key", :unique=>true, :using=>:btree})198 -> 0.0146s199-- create_table("ci_pipelines", {:force=>:cascade})200 -> 0.0254s201-- add_index("ci_pipelines", ["auto_canceled_by_id"], {:name=>"index_ci_pipelines_on_auto_canceled_by_id", :using=>:btree})202 -> 0.0144s203-- add_index("ci_pipelines", ["pipeline_schedule_id"], {:name=>"index_ci_pipelines_on_pipeline_schedule_id", :using=>:btree})204 -> 0.0140s205-- add_index("ci_pipelines", ["project_id", "iid"], {:name=>"index_ci_pipelines_on_project_id_and_iid", :unique=>true, :where=>"(iid IS NOT NULL)", :using=>:btree})206 -> 0.0149s207-- add_index("ci_pipelines", ["project_id", "ref", "status", "id"], {:name=>"index_ci_pipelines_on_project_id_and_ref_and_status_and_id", :using=>:btree})208 -> 0.0143s209-- add_index("ci_pipelines", ["project_id", "sha"], {:name=>"index_ci_pipelines_on_project_id_and_sha", :using=>:btree})210 -> 0.0146s211-- add_index("ci_pipelines", ["project_id", "source"], {:name=>"index_ci_pipelines_on_project_id_and_source", :using=>:btree})212 -> 0.0150s213-- add_index("ci_pipelines", ["project_id", "status", "config_source"], {:name=>"index_ci_pipelines_on_project_id_and_status_and_config_source", :using=>:btree})214 -> 0.0146s215-- add_index("ci_pipelines", ["project_id"], {:name=>"index_ci_pipelines_on_project_id", :using=>:btree})216 -> 0.0144s217-- add_index("ci_pipelines", ["status"], {:name=>"index_ci_pipelines_on_status", :using=>:btree})218 -> 0.0140s219-- add_index("ci_pipelines", ["user_id"], {:name=>"index_ci_pipelines_on_user_id", :using=>:btree})220 -> 0.0148s221-- create_table("ci_runner_namespaces", {:force=>:cascade})222 -> 0.0145s223-- add_index("ci_runner_namespaces", ["namespace_id"], {:name=>"index_ci_runner_namespaces_on_namespace_id", :using=>:btree})224 -> 0.0155s225-- add_index("ci_runner_namespaces", ["runner_id", "namespace_id"], {:name=>"index_ci_runner_namespaces_on_runner_id_and_namespace_id", :unique=>true, :using=>:btree})226 -> 0.0143s227-- create_table("ci_runner_projects", {:force=>:cascade})228 -> 0.0146s229-- add_index("ci_runner_projects", ["project_id"], {:name=>"index_ci_runner_projects_on_project_id", :using=>:btree})230 -> 0.0142s231-- add_index("ci_runner_projects", ["runner_id"], {:name=>"index_ci_runner_projects_on_runner_id", :using=>:btree})232 -> 0.0147s233-- create_table("ci_runners", {:force=>:cascade})234 -> 0.0272s235-- add_index("ci_runners", ["contacted_at"], {:name=>"index_ci_runners_on_contacted_at", :using=>:btree})236 -> 0.0146s237-- add_index("ci_runners", ["is_shared"], {:name=>"index_ci_runners_on_is_shared", :using=>:btree})238 -> 0.0146s239-- add_index("ci_runners", ["locked"], {:name=>"index_ci_runners_on_locked", :using=>:btree})240 -> 0.0143s241-- add_index("ci_runners", ["runner_type"], {:name=>"index_ci_runners_on_runner_type", :using=>:btree})242 -> 0.0211s243-- add_index("ci_runners", ["token"], {:name=>"index_ci_runners_on_token", :using=>:btree})244 -> 0.0148s245-- create_table("ci_stages", {:force=>:cascade})246 -> 0.0250s247-- add_index("ci_stages", ["pipeline_id", "name"], {:name=>"index_ci_stages_on_pipeline_id_and_name", :unique=>true, :using=>:btree})248 -> 0.0146s249-- add_index("ci_stages", ["pipeline_id", "position"], {:name=>"index_ci_stages_on_pipeline_id_and_position", :using=>:btree})250 -> 0.0147s251-- add_index("ci_stages", ["pipeline_id"], {:name=>"index_ci_stages_on_pipeline_id", :using=>:btree})252 -> 0.0143s253-- add_index("ci_stages", ["project_id"], {:name=>"index_ci_stages_on_project_id", :using=>:btree})254 -> 0.0144s255-- create_table("ci_trigger_requests", {:force=>:cascade})256 -> 0.0249s257-- add_index("ci_trigger_requests", ["commit_id"], {:name=>"index_ci_trigger_requests_on_commit_id", :using=>:btree})258 -> 0.0149s259-- create_table("ci_triggers", {:force=>:cascade})260 -> 0.0246s261-- add_index("ci_triggers", ["project_id"], {:name=>"index_ci_triggers_on_project_id", :using=>:btree})262 -> 0.0142s263-- create_table("ci_variables", {:force=>:cascade})264 -> 0.0258s265-- add_index("ci_variables", ["project_id", "key", "environment_scope"], {:name=>"index_ci_variables_on_project_id_and_key_and_environment_scope", :unique=>true, :using=>:btree})266 -> 0.0140s267-- create_table("cluster_platforms_kubernetes", {:force=>:cascade})268 -> 0.0254s269-- add_index("cluster_platforms_kubernetes", ["cluster_id"], {:name=>"index_cluster_platforms_kubernetes_on_cluster_id", :unique=>true, :using=>:btree})270 -> 0.0154s271-- create_table("cluster_projects", {:force=>:cascade})272 -> 0.0152s273-- add_index("cluster_projects", ["cluster_id"], {:name=>"index_cluster_projects_on_cluster_id", :using=>:btree})274 -> 0.0145s275-- add_index("cluster_projects", ["project_id"], {:name=>"index_cluster_projects_on_project_id", :using=>:btree})276 -> 0.0148s277-- create_table("cluster_providers_gcp", {:force=>:cascade})278 -> 0.0257s279-- add_index("cluster_providers_gcp", ["cluster_id"], {:name=>"index_cluster_providers_gcp_on_cluster_id", :unique=>true, :using=>:btree})280 -> 0.0150s281-- create_table("clusters", {:force=>:cascade})282 -> 0.0325s283-- add_index("clusters", ["enabled"], {:name=>"index_clusters_on_enabled", :using=>:btree})284 -> 0.0145s285-- add_index("clusters", ["user_id"], {:name=>"index_clusters_on_user_id", :using=>:btree})286 -> 0.0147s287-- create_table("clusters_applications_helm", {:force=>:cascade})288 -> 0.0245s289-- create_table("clusters_applications_ingress", {:force=>:cascade})290 -> 0.0251s291-- create_table("clusters_applications_jupyter", {:force=>:cascade})292 -> 0.0250s293-- create_table("clusters_applications_prometheus", {:force=>:cascade})294 -> 0.0250s295-- create_table("clusters_applications_runners", {:force=>:cascade})296 -> 0.0257s297-- add_index("clusters_applications_runners", ["cluster_id"], {:name=>"index_clusters_applications_runners_on_cluster_id", :unique=>true, :using=>:btree})298 -> 0.0144s299-- add_index("clusters_applications_runners", ["runner_id"], {:name=>"index_clusters_applications_runners_on_runner_id", :using=>:btree})300 -> 0.0143s301-- create_table("clusters_kubernetes_namespaces", {:id=>:bigserial, :force=>:cascade})302 -> 0.0245s303-- add_index("clusters_kubernetes_namespaces", ["cluster_id", "namespace"], {:name=>"kubernetes_namespaces_cluster_and_namespace", :unique=>true, :using=>:btree})304 -> 0.0143s305-- add_index("clusters_kubernetes_namespaces", ["cluster_id"], {:name=>"index_clusters_kubernetes_namespaces_on_cluster_id", :using=>:btree})306 -> 0.0146s307-- add_index("clusters_kubernetes_namespaces", ["cluster_project_id"], {:name=>"index_clusters_kubernetes_namespaces_on_cluster_project_id", :using=>:btree})308 -> 0.0142s309-- add_index("clusters_kubernetes_namespaces", ["project_id"], {:name=>"index_clusters_kubernetes_namespaces_on_project_id", :using=>:btree})310 -> 0.0144s311-- create_table("container_repositories", {:force=>:cascade})312 -> 0.0249s313-- add_index("container_repositories", ["project_id", "name"], {:name=>"index_container_repositories_on_project_id_and_name", :unique=>true, :using=>:btree})314 -> 0.0144s315-- add_index("container_repositories", ["project_id"], {:name=>"index_container_repositories_on_project_id", :using=>:btree})316 -> 0.0144s317-- create_table("conversational_development_index_metrics", {:force=>:cascade})318 -> 0.0130s319-- create_table("deploy_keys_projects", {:force=>:cascade})320 -> 0.0148s321-- add_index("deploy_keys_projects", ["project_id"], {:name=>"index_deploy_keys_projects_on_project_id", :using=>:btree})322 -> 0.0143s323-- create_table("deploy_tokens", {:force=>:cascade})324 -> 0.0262s325-- add_index("deploy_tokens", ["token", "expires_at", "id"], {:name=>"index_deploy_tokens_on_token_and_expires_at_and_id", :where=>"(revoked IS FALSE)", :using=>:btree})326 -> 0.0142s327-- add_index("deploy_tokens", ["token"], {:name=>"index_deploy_tokens_on_token", :unique=>true, :using=>:btree})328 -> 0.0151s329-- create_table("deployments", {:force=>:cascade})330 -> 0.0271s331-- add_index("deployments", ["created_at"], {:name=>"index_deployments_on_created_at", :using=>:btree})332 -> 0.0150s333-- add_index("deployments", ["deployable_type", "deployable_id"], {:name=>"index_deployments_on_deployable_type_and_deployable_id", :using=>:btree})334 -> 0.0147s335-- add_index("deployments", ["environment_id", "id"], {:name=>"index_deployments_on_environment_id_and_id", :using=>:btree})336 -> 0.0145s337-- add_index("deployments", ["environment_id", "iid", "project_id"], {:name=>"index_deployments_on_environment_id_and_iid_and_project_id", :using=>:btree})338 -> 0.0145s339-- add_index("deployments", ["project_id", "iid"], {:name=>"index_deployments_on_project_id_and_iid", :unique=>true, :using=>:btree})340 -> 0.0147s341-- create_table("emails", {:force=>:cascade})342 -> 0.0246s343-- add_index("emails", ["confirmation_token"], {:name=>"index_emails_on_confirmation_token", :unique=>true, :using=>:btree})344 -> 0.0142s345-- add_index("emails", ["email"], {:name=>"index_emails_on_email", :unique=>true, :using=>:btree})346 -> 0.0147s347-- add_index("emails", ["user_id"], {:name=>"index_emails_on_user_id", :using=>:btree})348 -> 0.0143s349-- create_table("environments", {:force=>:cascade})350 -> 0.0254s351-- add_index("environments", ["project_id", "name"], {:name=>"index_environments_on_project_id_and_name", :unique=>true, :using=>:btree})352 -> 0.0145s353-- add_index("environments", ["project_id", "slug"], {:name=>"index_environments_on_project_id_and_slug", :unique=>true, :using=>:btree})354 -> 0.0145s355-- create_table("events", {:force=>:cascade})356 -> 0.0248s357-- add_index("events", ["action"], {:name=>"index_events_on_action", :using=>:btree})358 -> 0.0142s359-- add_index("events", ["author_id", "project_id"], {:name=>"index_events_on_author_id_and_project_id", :using=>:btree})360 -> 0.0189s361-- add_index("events", ["project_id", "id"], {:name=>"index_events_on_project_id_and_id", :using=>:btree})362 -> 0.0145s363-- add_index("events", ["target_type", "target_id"], {:name=>"index_events_on_target_type_and_target_id", :using=>:btree})364 -> 0.0147s365-- create_table("feature_gates", {:force=>:cascade})366 -> 0.0173s367-- add_index("feature_gates", ["feature_key", "key", "value"], {:name=>"index_feature_gates_on_feature_key_and_key_and_value", :unique=>true, :using=>:btree})368 -> 0.0161s369-- create_table("features", {:force=>:cascade})370 -> 0.0251s371-- add_index("features", ["key"], {:name=>"index_features_on_key", :unique=>true, :using=>:btree})372 -> 0.0149s373-- create_table("fork_network_members", {:force=>:cascade})374 -> 0.0145s375-- add_index("fork_network_members", ["fork_network_id"], {:name=>"index_fork_network_members_on_fork_network_id", :using=>:btree})376 -> 0.0150s377-- add_index("fork_network_members", ["project_id"], {:name=>"index_fork_network_members_on_project_id", :unique=>true, :using=>:btree})378 -> 0.0148s379-- create_table("fork_networks", {:force=>:cascade})380 -> 0.0243s381-- add_index("fork_networks", ["root_project_id"], {:name=>"index_fork_networks_on_root_project_id", :unique=>true, :using=>:btree})382 -> 0.0149s383-- create_table("forked_project_links", {:force=>:cascade})384 -> 0.0146s385-- add_index("forked_project_links", ["forked_to_project_id"], {:name=>"index_forked_project_links_on_forked_to_project_id", :unique=>true, :using=>:btree})386 -> 0.0142s387-- create_table("gcp_clusters", {:force=>:cascade})388 -> 0.0259s389-- add_index("gcp_clusters", ["project_id"], {:name=>"index_gcp_clusters_on_project_id", :unique=>true, :using=>:btree})390 -> 0.0143s391-- create_table("gpg_key_subkeys", {:force=>:cascade})392 -> 0.0246s393-- add_index("gpg_key_subkeys", ["fingerprint"], {:name=>"index_gpg_key_subkeys_on_fingerprint", :unique=>true, :using=>:btree})394 -> 0.0143s395-- add_index("gpg_key_subkeys", ["gpg_key_id"], {:name=>"index_gpg_key_subkeys_on_gpg_key_id", :using=>:btree})396 -> 0.0142s397-- add_index("gpg_key_subkeys", ["keyid"], {:name=>"index_gpg_key_subkeys_on_keyid", :unique=>true, :using=>:btree})398 -> 0.0175s399-- create_table("gpg_keys", {:force=>:cascade})400 -> 0.0252s401-- add_index("gpg_keys", ["fingerprint"], {:name=>"index_gpg_keys_on_fingerprint", :unique=>true, :using=>:btree})402 -> 0.0146s403-- add_index("gpg_keys", ["primary_keyid"], {:name=>"index_gpg_keys_on_primary_keyid", :unique=>true, :using=>:btree})404 -> 0.0143s405-- add_index("gpg_keys", ["user_id"], {:name=>"index_gpg_keys_on_user_id", :using=>:btree})406 -> 0.0143s407-- create_table("gpg_signatures", {:force=>:cascade})408 -> 0.0250s409-- add_index("gpg_signatures", ["commit_sha"], {:name=>"index_gpg_signatures_on_commit_sha", :unique=>true, :using=>:btree})410 -> 0.0164s411-- add_index("gpg_signatures", ["gpg_key_id"], {:name=>"index_gpg_signatures_on_gpg_key_id", :using=>:btree})412 -> 0.0160s413-- add_index("gpg_signatures", ["gpg_key_primary_keyid"], {:name=>"index_gpg_signatures_on_gpg_key_primary_keyid", :using=>:btree})414 -> 0.0149s415-- add_index("gpg_signatures", ["gpg_key_subkey_id"], {:name=>"index_gpg_signatures_on_gpg_key_subkey_id", :using=>:btree})416 -> 0.0146s417-- add_index("gpg_signatures", ["project_id"], {:name=>"index_gpg_signatures_on_project_id", :using=>:btree})418 -> 0.0154s419-- create_table("group_custom_attributes", {:force=>:cascade})420 -> 0.0262s421-- add_index("group_custom_attributes", ["group_id", "key"], {:name=>"index_group_custom_attributes_on_group_id_and_key", :unique=>true, :using=>:btree})422 -> 0.0150s423-- add_index("group_custom_attributes", ["key", "value"], {:name=>"index_group_custom_attributes_on_key_and_value", :using=>:btree})424 -> 0.0146s425-- create_table("identities", {:force=>:cascade})426 -> 0.0251s427-- add_index("identities", ["user_id"], {:name=>"index_identities_on_user_id", :using=>:btree})428 -> 0.0144s429-- create_table("import_export_uploads", {:force=>:cascade})430 -> 0.0251s431-- add_index("import_export_uploads", ["project_id"], {:name=>"index_import_export_uploads_on_project_id", :using=>:btree})432 -> 0.0141s433-- add_index("import_export_uploads", ["updated_at"], {:name=>"index_import_export_uploads_on_updated_at", :using=>:btree})434 -> 0.0156s435-- create_table("internal_ids", {:id=>:bigserial, :force=>:cascade})436 -> 0.0146s437-- add_index("internal_ids", ["usage", "namespace_id"], {:name=>"index_internal_ids_on_usage_and_namespace_id", :unique=>true, :where=>"(namespace_id IS NOT NULL)", :using=>:btree})438 -> 0.0143s439-- add_index("internal_ids", ["usage", "project_id"], {:name=>"index_internal_ids_on_usage_and_project_id", :unique=>true, :where=>"(project_id IS NOT NULL)", :using=>:btree})440 -> 0.0147s441-- create_table("issue_assignees", {:id=>false, :force=>:cascade})442 -> 0.0034s443-- add_index("issue_assignees", ["issue_id", "user_id"], {:name=>"index_issue_assignees_on_issue_id_and_user_id", :unique=>true, :using=>:btree})444 -> 0.0142s445-- add_index("issue_assignees", ["user_id"], {:name=>"index_issue_assignees_on_user_id", :using=>:btree})446 -> 0.0148s447-- create_table("issue_metrics", {:force=>:cascade})448 -> 0.0144s449-- add_index("issue_metrics", ["issue_id"], {:name=>"index_issue_metrics", :using=>:btree})450 -> 0.0148s451-- create_table("issues", {:force=>:cascade})452 -> 0.0294s453-- add_index("issues", ["author_id"], {:name=>"index_issues_on_author_id", :using=>:btree})454 -> 0.0152s455-- add_index("issues", ["confidential"], {:name=>"index_issues_on_confidential", :using=>:btree})456 -> 0.0142s457-- add_index("issues", ["description"], {:name=>"index_issues_on_description_trigram", :using=>:gin, :opclasses=>{"description"=>"gin_trgm_ops"}})458 -> 0.0045s459-- add_index("issues", ["milestone_id"], {:name=>"index_issues_on_milestone_id", :using=>:btree})460 -> 0.0141s461-- add_index("issues", ["moved_to_id"], {:name=>"index_issues_on_moved_to_id", :where=>"(moved_to_id IS NOT NULL)", :using=>:btree})462 -> 0.0146s463-- add_index("issues", ["project_id", "created_at", "id", "state"], {:name=>"index_issues_on_project_id_and_created_at_and_id_and_state", :using=>:btree})464 -> 0.0145s465-- add_index("issues", ["project_id", "due_date", "id", "state"], {:name=>"idx_issues_on_project_id_and_due_date_and_id_and_state_partial", :where=>"(due_date IS NOT NULL)", :using=>:btree})466 -> 0.0141s467-- add_index("issues", ["project_id", "iid"], {:name=>"index_issues_on_project_id_and_iid", :unique=>true, :using=>:btree})468 -> 0.0140s469-- add_index("issues", ["project_id", "updated_at", "id", "state"], {:name=>"index_issues_on_project_id_and_updated_at_and_id_and_state", :using=>:btree})470 -> 0.0145s471-- add_index("issues", ["relative_position"], {:name=>"index_issues_on_relative_position", :using=>:btree})472 -> 0.0143s473-- add_index("issues", ["state"], {:name=>"index_issues_on_state", :using=>:btree})474 -> 0.0146s475-- add_index("issues", ["title"], {:name=>"index_issues_on_title_trigram", :using=>:gin, :opclasses=>{"title"=>"gin_trgm_ops"}})476 -> 0.0044s477-- add_index("issues", ["updated_at"], {:name=>"index_issues_on_updated_at", :using=>:btree})478 -> 0.0141s479-- add_index("issues", ["updated_by_id"], {:name=>"index_issues_on_updated_by_id", :where=>"(updated_by_id IS NOT NULL)", :using=>:btree})480 -> 0.0155s481-- create_table("keys", {:force=>:cascade})482 -> 0.0248s483-- add_index("keys", ["fingerprint"], {:name=>"index_keys_on_fingerprint", :unique=>true, :using=>:btree})484 -> 0.0147s485-- add_index("keys", ["user_id"], {:name=>"index_keys_on_user_id", :using=>:btree})486 -> 0.0147s487-- create_table("label_links", {:force=>:cascade})488 -> 0.0247s489-- add_index("label_links", ["label_id"], {:name=>"index_label_links_on_label_id", :using=>:btree})490 -> 0.0142s491-- add_index("label_links", ["target_id", "target_type"], {:name=>"index_label_links_on_target_id_and_target_type", :using=>:btree})492 -> 0.0142s493-- create_table("label_priorities", {:force=>:cascade})494 -> 0.0144s495-- add_index("label_priorities", ["priority"], {:name=>"index_label_priorities_on_priority", :using=>:btree})496 -> 0.0144s497-- add_index("label_priorities", ["project_id", "label_id"], {:name=>"index_label_priorities_on_project_id_and_label_id", :unique=>true, :using=>:btree})498 -> 0.0146s499-- create_table("labels", {:force=>:cascade})500 -> 0.0248s501-- add_index("labels", ["group_id", "project_id", "title"], {:name=>"index_labels_on_group_id_and_project_id_and_title", :unique=>true, :using=>:btree})502 -> 0.0153s503-- add_index("labels", ["project_id"], {:name=>"index_labels_on_project_id", :using=>:btree})504 -> 0.0142s505-- add_index("labels", ["template"], {:name=>"index_labels_on_template", :where=>"template", :using=>:btree})506 -> 0.0141s507-- add_index("labels", ["title"], {:name=>"index_labels_on_title", :using=>:btree})508 -> 0.0130s509-- add_index("labels", ["type", "project_id"], {:name=>"index_labels_on_type_and_project_id", :using=>:btree})510 -> 0.2234s511-- create_table("lfs_file_locks", {:force=>:cascade})512 -> 0.0260s513-- add_index("lfs_file_locks", ["project_id", "path"], {:name=>"index_lfs_file_locks_on_project_id_and_path", :unique=>true, :using=>:btree})514 -> 0.0146s515-- add_index("lfs_file_locks", ["user_id"], {:name=>"index_lfs_file_locks_on_user_id", :using=>:btree})516 -> 0.0141s517-- create_table("lfs_objects", {:force=>:cascade})518 -> 0.0255s519-- add_index("lfs_objects", ["oid"], {:name=>"index_lfs_objects_on_oid", :unique=>true, :using=>:btree})520 -> 0.0150s521-- create_table("lfs_objects_projects", {:force=>:cascade})522 -> 0.0148s523-- add_index("lfs_objects_projects", ["project_id"], {:name=>"index_lfs_objects_projects_on_project_id", :using=>:btree})524 -> 0.0149s525-- create_table("lists", {:force=>:cascade})526 -> 0.0153s527-- add_index("lists", ["board_id", "label_id"], {:name=>"index_lists_on_board_id_and_label_id", :unique=>true, :using=>:btree})528 -> 0.0148s529-- add_index("lists", ["label_id"], {:name=>"index_lists_on_label_id", :using=>:btree})530 -> 0.0142s531-- add_index("lists", ["list_type"], {:name=>"index_lists_on_list_type", :using=>:btree})532 -> 0.0142s533-- create_table("members", {:force=>:cascade})534 -> 0.0255s535-- add_index("members", ["access_level"], {:name=>"index_members_on_access_level", :using=>:btree})536 -> 0.0148s537-- add_index("members", ["invite_token"], {:name=>"index_members_on_invite_token", :unique=>true, :using=>:btree})538 -> 0.0146s539-- add_index("members", ["requested_at"], {:name=>"index_members_on_requested_at", :using=>:btree})540 -> 0.0144s541-- add_index("members", ["source_id", "source_type"], {:name=>"index_members_on_source_id_and_source_type", :using=>:btree})542 -> 0.0144s543-- add_index("members", ["user_id"], {:name=>"index_members_on_user_id", :using=>:btree})544 -> 0.0148s545-- create_table("merge_request_diff_commits", {:id=>false, :force=>:cascade})546 -> 0.0145s547-- add_index("merge_request_diff_commits", ["merge_request_diff_id", "relative_order"], {:name=>"index_merge_request_diff_commits_on_mr_diff_id_and_order", :unique=>true, :using=>:btree})548 -> 0.0152s549-- add_index("merge_request_diff_commits", ["sha"], {:name=>"index_merge_request_diff_commits_on_sha", :using=>:btree})550 -> 0.0156s551-- create_table("merge_request_diff_files", {:id=>false, :force=>:cascade})552 -> 0.0147s553-- add_index("merge_request_diff_files", ["merge_request_diff_id", "relative_order"], {:name=>"index_merge_request_diff_files_on_mr_diff_id_and_order", :unique=>true, :using=>:btree})554 -> 0.0153s555-- create_table("merge_request_diffs", {:force=>:cascade})556 -> 0.0268s557-- add_index("merge_request_diffs", ["merge_request_id", "id"], {:name=>"index_merge_request_diffs_on_merge_request_id_and_id", :using=>:btree})558 -> 0.0152s559-- create_table("merge_request_metrics", {:force=>:cascade})560 -> 0.0171s561-- add_index("merge_request_metrics", ["first_deployed_to_production_at"], {:name=>"index_merge_request_metrics_on_first_deployed_to_production_at", :using=>:btree})562 -> 0.0154s563-- add_index("merge_request_metrics", ["merge_request_id"], {:name=>"index_merge_request_metrics", :using=>:btree})564 -> 0.0152s565-- add_index("merge_request_metrics", ["pipeline_id"], {:name=>"index_merge_request_metrics_on_pipeline_id", :using=>:btree})566 -> 0.0157s567-- create_table("merge_requests", {:force=>:cascade})568 -> 0.0276s569-- add_index("merge_requests", ["assignee_id"], {:name=>"index_merge_requests_on_assignee_id", :using=>:btree})570 -> 0.0146s571-- add_index("merge_requests", ["author_id"], {:name=>"index_merge_requests_on_author_id", :using=>:btree})572 -> 0.0148s573-- add_index("merge_requests", ["created_at"], {:name=>"index_merge_requests_on_created_at", :using=>:btree})574 -> 0.0143s575-- add_index("merge_requests", ["description"], {:name=>"index_merge_requests_on_description_trigram", :using=>:gin, :opclasses=>{"description"=>"gin_trgm_ops"}})576 -> 0.0044s577-- add_index("merge_requests", ["head_pipeline_id"], {:name=>"index_merge_requests_on_head_pipeline_id", :using=>:btree})578 -> 0.0164s579-- add_index("merge_requests", ["latest_merge_request_diff_id"], {:name=>"index_merge_requests_on_latest_merge_request_diff_id", :using=>:btree})580 -> 0.0145s581-- add_index("merge_requests", ["merge_user_id"], {:name=>"index_merge_requests_on_merge_user_id", :where=>"(merge_user_id IS NOT NULL)", :using=>:btree})582 -> 0.0146s583-- add_index("merge_requests", ["milestone_id"], {:name=>"index_merge_requests_on_milestone_id", :using=>:btree})584 -> 0.0143s585-- add_index("merge_requests", ["source_branch"], {:name=>"index_merge_requests_on_source_branch", :using=>:btree})586 -> 0.0161s587-- add_index("merge_requests", ["source_project_id", "source_branch"], {:name=>"index_merge_requests_on_source_project_and_branch_state_opened", :where=>"((state)::text = 'opened'::text)", :using=>:btree})588 -> 0.0148s589-- add_index("merge_requests", ["source_project_id", "source_branch"], {:name=>"index_merge_requests_on_source_project_id_and_source_branch", :using=>:btree})590 -> 0.0144s591-- add_index("merge_requests", ["target_branch"], {:name=>"index_merge_requests_on_target_branch", :using=>:btree})592 -> 0.0148s593-- add_index("merge_requests", ["target_project_id", "iid"], {:name=>"index_merge_requests_on_target_project_id_and_iid", :unique=>true, :using=>:btree})594 -> 0.0148s595-- add_index("merge_requests", ["target_project_id", "iid"], {:name=>"index_merge_requests_on_target_project_id_and_iid_opened", :where=>"((state)::text = 'opened'::text)", :using=>:btree})596 -> 0.0147s597-- add_index("merge_requests", ["target_project_id", "merge_commit_sha", "id"], {:name=>"index_merge_requests_on_tp_id_and_merge_commit_sha_and_id", :using=>:btree})598 -> 0.0143s599-- add_index("merge_requests", ["title"], {:name=>"index_merge_requests_on_title", :using=>:btree})600 -> 0.0147s601-- add_index("merge_requests", ["title"], {:name=>"index_merge_requests_on_title_trigram", :using=>:gin, :opclasses=>{"title"=>"gin_trgm_ops"}})602 -> 0.0051s603-- add_index("merge_requests", ["updated_by_id"], {:name=>"index_merge_requests_on_updated_by_id", :where=>"(updated_by_id IS NOT NULL)", :using=>:btree})604 -> 0.0140s605-- create_table("merge_requests_closing_issues", {:force=>:cascade})606 -> 0.0157s607-- add_index("merge_requests_closing_issues", ["issue_id"], {:name=>"index_merge_requests_closing_issues_on_issue_id", :using=>:btree})608 -> 0.0149s609-- add_index("merge_requests_closing_issues", ["merge_request_id"], {:name=>"index_merge_requests_closing_issues_on_merge_request_id", :using=>:btree})610 -> 0.0142s611-- create_table("milestones", {:force=>:cascade})612 -> 0.0250s613-- add_index("milestones", ["description"], {:name=>"index_milestones_on_description_trigram", :using=>:gin, :opclasses=>{"description"=>"gin_trgm_ops"}})614 -> 0.0047s615-- add_index("milestones", ["due_date"], {:name=>"index_milestones_on_due_date", :using=>:btree})616 -> 0.0143s617-- add_index("milestones", ["group_id"], {:name=>"index_milestones_on_group_id", :using=>:btree})618 -> 0.0148s619-- add_index("milestones", ["project_id", "iid"], {:name=>"index_milestones_on_project_id_and_iid", :unique=>true, :using=>:btree})620 -> 0.0143s621-- add_index("milestones", ["title"], {:name=>"index_milestones_on_title", :using=>:btree})622 -> 0.0143s623-- add_index("milestones", ["title"], {:name=>"index_milestones_on_title_trigram", :using=>:gin, :opclasses=>{"title"=>"gin_trgm_ops"}})624 -> 0.0044s625-- create_table("namespaces", {:force=>:cascade})626 -> 0.0275s627-- add_index("namespaces", ["created_at"], {:name=>"index_namespaces_on_created_at", :using=>:btree})628 -> 0.0149s629-- add_index("namespaces", ["name", "parent_id"], {:name=>"index_namespaces_on_name_and_parent_id", :unique=>true, :using=>:btree})630 -> 0.0147s631-- add_index("namespaces", ["name"], {:name=>"index_namespaces_on_name_trigram", :using=>:gin, :opclasses=>{"name"=>"gin_trgm_ops"}})632 -> 0.0040s633-- add_index("namespaces", ["owner_id"], {:name=>"index_namespaces_on_owner_id", :using=>:btree})634 -> 0.0139s635-- add_index("namespaces", ["parent_id", "id"], {:name=>"index_namespaces_on_parent_id_and_id", :unique=>true, :using=>:btree})636 -> 0.0148s637-- add_index("namespaces", ["path"], {:name=>"index_namespaces_on_path", :using=>:btree})638 -> 0.0149s639-- add_index("namespaces", ["path"], {:name=>"index_namespaces_on_path_trigram", :using=>:gin, :opclasses=>{"path"=>"gin_trgm_ops"}})640 -> 0.0047s641-- add_index("namespaces", ["require_two_factor_authentication"], {:name=>"index_namespaces_on_require_two_factor_authentication", :using=>:btree})642 -> 0.0142s643-- add_index("namespaces", ["runners_token"], {:name=>"index_namespaces_on_runners_token", :unique=>true, :using=>:btree})644 -> 0.0145s645-- add_index("namespaces", ["type"], {:name=>"index_namespaces_on_type", :using=>:btree})646 -> 0.0149s647-- create_table("note_diff_files", {:force=>:cascade})648 -> 0.0251s649-- add_index("note_diff_files", ["diff_note_id"], {:name=>"index_note_diff_files_on_diff_note_id", :unique=>true, :using=>:btree})650 -> 0.0144s651-- create_table("notes", {:force=>:cascade})652 -> 0.0259s653-- add_index("notes", ["author_id"], {:name=>"index_notes_on_author_id", :using=>:btree})654 -> 0.0144s655-- add_index("notes", ["commit_id"], {:name=>"index_notes_on_commit_id", :using=>:btree})656 -> 0.0144s657-- add_index("notes", ["created_at"], {:name=>"index_notes_on_created_at", :using=>:btree})658 -> 0.0140s659-- add_index("notes", ["discussion_id"], {:name=>"index_notes_on_discussion_id", :using=>:btree})660 -> 0.0142s661-- add_index("notes", ["line_code"], {:name=>"index_notes_on_line_code", :using=>:btree})662 -> 0.0143s663-- add_index("notes", ["note"], {:name=>"index_notes_on_note_trigram", :using=>:gin, :opclasses=>{"note"=>"gin_trgm_ops"}})664 -> 0.0045s665-- add_index("notes", ["noteable_id", "noteable_type"], {:name=>"index_notes_on_noteable_id_and_noteable_type", :using=>:btree})666 -> 0.0146s667-- add_index("notes", ["noteable_type"], {:name=>"index_notes_on_noteable_type", :using=>:btree})668 -> 0.0141s669-- add_index("notes", ["project_id", "noteable_type"], {:name=>"index_notes_on_project_id_and_noteable_type", :using=>:btree})670 -> 0.0150s671-- add_index("notes", ["updated_at"], {:name=>"index_notes_on_updated_at", :using=>:btree})672 -> 0.0147s673-- create_table("notification_settings", {:force=>:cascade})674 -> 0.0250s675-- add_index("notification_settings", ["source_id", "source_type"], {:name=>"index_notification_settings_on_source_id_and_source_type", :using=>:btree})676 -> 0.0150s677-- add_index("notification_settings", ["user_id", "source_id", "source_type"], {:name=>"index_notifications_on_user_id_and_source_id_and_source_type", :unique=>true, :using=>:btree})678 -> 0.0146s679-- add_index("notification_settings", ["user_id"], {:name=>"index_notification_settings_on_user_id", :using=>:btree})680 -> 0.0144s681-- create_table("oauth_access_grants", {:force=>:cascade})682 -> 0.0249s683-- add_index("oauth_access_grants", ["token"], {:name=>"index_oauth_access_grants_on_token", :unique=>true, :using=>:btree})684 -> 0.0146s685-- create_table("oauth_access_tokens", {:force=>:cascade})686 -> 0.0251s687-- add_index("oauth_access_tokens", ["refresh_token"], {:name=>"index_oauth_access_tokens_on_refresh_token", :unique=>true, :using=>:btree})688 -> 0.0148s689-- add_index("oauth_access_tokens", ["resource_owner_id"], {:name=>"index_oauth_access_tokens_on_resource_owner_id", :using=>:btree})690 -> 0.0141s691-- add_index("oauth_access_tokens", ["token"], {:name=>"index_oauth_access_tokens_on_token", :unique=>true, :using=>:btree})692 -> 0.0149s693-- create_table("oauth_applications", {:force=>:cascade})694 -> 0.0255s695-- add_index("oauth_applications", ["owner_id", "owner_type"], {:name=>"index_oauth_applications_on_owner_id_and_owner_type", :using=>:btree})696 -> 0.0146s697-- add_index("oauth_applications", ["uid"], {:name=>"index_oauth_applications_on_uid", :unique=>true, :using=>:btree})698 -> 0.0144s699-- create_table("oauth_openid_requests", {:force=>:cascade})700 -> 0.0251s701-- create_table("pages_domains", {:force=>:cascade})702 -> 0.0250s703-- add_index("pages_domains", ["domain"], {:name=>"index_pages_domains_on_domain", :unique=>true, :using=>:btree})704 -> 0.0146s705-- add_index("pages_domains", ["project_id", "enabled_until"], {:name=>"index_pages_domains_on_project_id_and_enabled_until", :using=>:btree})706 -> 0.0144s707-- add_index("pages_domains", ["project_id"], {:name=>"index_pages_domains_on_project_id", :using=>:btree})708 -> 0.0145s709-- add_index("pages_domains", ["verified_at", "enabled_until"], {:name=>"index_pages_domains_on_verified_at_and_enabled_until", :using=>:btree})710 -> 0.0145s711-- add_index("pages_domains", ["verified_at"], {:name=>"index_pages_domains_on_verified_at", :using=>:btree})712 -> 0.0147s713-- create_table("personal_access_tokens", {:force=>:cascade})714 -> 0.0265s715-- add_index("personal_access_tokens", ["token"], {:name=>"index_personal_access_tokens_on_token", :unique=>true, :using=>:btree})716 -> 0.0152s717-- add_index("personal_access_tokens", ["user_id"], {:name=>"index_personal_access_tokens_on_user_id", :using=>:btree})718 -> 0.0150s719-- create_table("programming_languages", {:force=>:cascade})720 -> 0.0248s721-- add_index("programming_languages", ["name"], {:name=>"index_programming_languages_on_name", :unique=>true, :using=>:btree})722 -> 0.0153s723-- create_table("project_authorizations", {:id=>false, :force=>:cascade})724 -> 0.0032s725-- add_index("project_authorizations", ["project_id"], {:name=>"index_project_authorizations_on_project_id", :using=>:btree})726 -> 0.0139s727-- add_index("project_authorizations", ["user_id", "project_id", "access_level"], {:name=>"index_project_authorizations_on_user_id_project_id_access_level", :unique=>true, :using=>:btree})728 -> 0.0145s729-- create_table("project_auto_devops", {:force=>:cascade})730 -> 0.0254s731-- add_index("project_auto_devops", ["project_id"], {:name=>"index_project_auto_devops_on_project_id", :unique=>true, :using=>:btree})732 -> 0.0144s733-- create_table("project_ci_cd_settings", {:force=>:cascade})734 -> 0.0147s735-- add_index("project_ci_cd_settings", ["project_id"], {:name=>"index_project_ci_cd_settings_on_project_id", :unique=>true, :using=>:btree})736 -> 0.0147s737-- create_table("project_custom_attributes", {:force=>:cascade})738 -> 0.0250s739-- add_index("project_custom_attributes", ["key", "value"], {:name=>"index_project_custom_attributes_on_key_and_value", :using=>:btree})740 -> 0.0149s741-- add_index("project_custom_attributes", ["project_id", "key"], {:name=>"index_project_custom_attributes_on_project_id_and_key", :unique=>true, :using=>:btree})742 -> 0.0149s743-- create_table("project_deploy_tokens", {:force=>:cascade})744 -> 0.0144s745-- add_index("project_deploy_tokens", ["project_id", "deploy_token_id"], {:name=>"index_project_deploy_tokens_on_project_id_and_deploy_token_id", :unique=>true, :using=>:btree})746 -> 0.0144s747-- create_table("project_features", {:force=>:cascade})748 -> 0.0162s749-- add_index("project_features", ["project_id"], {:name=>"index_project_features_on_project_id", :unique=>true, :using=>:btree})750 -> 0.0145s751-- create_table("project_group_links", {:force=>:cascade})752 -> 0.0151s753-- add_index("project_group_links", ["group_id"], {:name=>"index_project_group_links_on_group_id", :using=>:btree})754 -> 0.0144s755-- add_index("project_group_links", ["project_id"], {:name=>"index_project_group_links_on_project_id", :using=>:btree})756 -> 0.0145s757-- create_table("project_import_data", {:force=>:cascade})758 -> 0.0252s759-- add_index("project_import_data", ["project_id"], {:name=>"index_project_import_data_on_project_id", :using=>:btree})760 -> 0.0144s761-- create_table("project_mirror_data", {:force=>:cascade})762 -> 0.0246s763-- add_index("project_mirror_data", ["jid"], {:name=>"index_project_mirror_data_on_jid", :using=>:btree})764 -> 0.0142s765-- add_index("project_mirror_data", ["project_id"], {:name=>"index_project_mirror_data_on_project_id", :unique=>true, :using=>:btree})766 -> 0.0139s767-- add_index("project_mirror_data", ["status"], {:name=>"index_project_mirror_data_on_status", :using=>:btree})768 -> 0.0141s769-- create_table("project_statistics", {:force=>:cascade})770 -> 0.0162s771-- add_index("project_statistics", ["namespace_id"], {:name=>"index_project_statistics_on_namespace_id", :using=>:btree})772 -> 0.0145s773-- add_index("project_statistics", ["project_id"], {:name=>"index_project_statistics_on_project_id", :unique=>true, :using=>:btree})774 -> 0.0148s775-- create_table("projects", {:force=>:cascade})776 -> 0.0322s777-- add_index("projects", ["ci_id"], {:name=>"index_projects_on_ci_id", :using=>:btree})778 -> 0.0147s779-- add_index("projects", ["created_at"], {:name=>"index_projects_on_created_at", :using=>:btree})780 -> 0.0141s781-- add_index("projects", ["creator_id"], {:name=>"index_projects_on_creator_id", :using=>:btree})782 -> 0.0150s783-- add_index("projects", ["description"], {:name=>"index_projects_on_description_trigram", :using=>:gin, :opclasses=>{"description"=>"gin_trgm_ops"}})784 -> 0.0043s785-- add_index("projects", ["id"], {:name=>"index_projects_on_id_partial_for_visibility", :unique=>true, :where=>"(visibility_level = ANY (ARRAY[10, 20]))", :using=>:btree})786 -> 0.0143s787-- add_index("projects", ["last_activity_at"], {:name=>"index_projects_on_last_activity_at", :using=>:btree})788 -> 0.0144s789-- add_index("projects", ["last_repository_check_at"], {:name=>"index_projects_on_last_repository_check_at", :where=>"(last_repository_check_at IS NOT NULL)", :using=>:btree})790 -> 0.0143s791-- add_index("projects", ["last_repository_check_failed"], {:name=>"index_projects_on_last_repository_check_failed", :using=>:btree})792 -> 0.0141s793-- add_index("projects", ["last_repository_updated_at"], {:name=>"index_projects_on_last_repository_updated_at", :using=>:btree})794 -> 0.0140s795-- add_index("projects", ["name"], {:name=>"index_projects_on_name_trigram", :using=>:gin, :opclasses=>{"name"=>"gin_trgm_ops"}})796 -> 0.0044s797-- add_index("projects", ["namespace_id"], {:name=>"index_projects_on_namespace_id", :using=>:btree})798 -> 0.0141s799-- add_index("projects", ["path"], {:name=>"index_projects_on_path", :using=>:btree})800 -> 0.0143s801-- add_index("projects", ["path"], {:name=>"index_projects_on_path_trigram", :using=>:gin, :opclasses=>{"path"=>"gin_trgm_ops"}})802 -> 0.0045s803-- add_index("projects", ["pending_delete"], {:name=>"index_projects_on_pending_delete", :using=>:btree})804 -> 0.0156s805-- add_index("projects", ["repository_storage", "created_at"], {:name=>"idx_project_repository_check_partial", :where=>"(last_repository_check_at IS NULL)", :using=>:btree})806 -> 0.0147s807-- add_index("projects", ["repository_storage"], {:name=>"index_projects_on_repository_storage", :using=>:btree})808 -> 0.0144s809-- add_index("projects", ["runners_token"], {:name=>"index_projects_on_runners_token", :using=>:btree})810 -> 0.0146s811-- add_index("projects", ["star_count"], {:name=>"index_projects_on_star_count", :using=>:btree})812 -> 0.0148s813-- add_index("projects", ["visibility_level"], {:name=>"index_projects_on_visibility_level", :using=>:btree})814 -> 0.0146s815-- create_table("prometheus_metrics", {:force=>:cascade})816 -> 0.0257s817-- add_index("prometheus_metrics", ["common"], {:name=>"index_prometheus_metrics_on_common", :using=>:btree})818 -> 0.0146s819-- add_index("prometheus_metrics", ["group"], {:name=>"index_prometheus_metrics_on_group", :using=>:btree})820 -> 0.0144s821-- add_index("prometheus_metrics", ["identifier"], {:name=>"index_prometheus_metrics_on_identifier", :unique=>true, :using=>:btree})822 -> 0.0149s823-- add_index("prometheus_metrics", ["project_id"], {:name=>"index_prometheus_metrics_on_project_id", :using=>:btree})824 -> 0.0151s825-- create_table("protected_branch_merge_access_levels", {:force=>:cascade})826 -> 0.0152s827-- add_index("protected_branch_merge_access_levels", ["protected_branch_id"], {:name=>"index_protected_branch_merge_access", :using=>:btree})828 -> 0.0144s829-- create_table("protected_branch_push_access_levels", {:force=>:cascade})830 -> 0.0148s831-- add_index("protected_branch_push_access_levels", ["protected_branch_id"], {:name=>"index_protected_branch_push_access", :using=>:btree})832 -> 0.0142s833-- create_table("protected_branches", {:force=>:cascade})834 -> 0.0257s835-- add_index("protected_branches", ["project_id"], {:name=>"index_protected_branches_on_project_id", :using=>:btree})836 -> 0.0142s837-- create_table("protected_tag_create_access_levels", {:force=>:cascade})838 -> 0.0151s839-- add_index("protected_tag_create_access_levels", ["protected_tag_id"], {:name=>"index_protected_tag_create_access", :using=>:btree})840 -> 0.0147s841-- add_index("protected_tag_create_access_levels", ["user_id"], {:name=>"index_protected_tag_create_access_levels_on_user_id", :using=>:btree})842 -> 0.0146s843-- create_table("protected_tags", {:force=>:cascade})844 -> 0.0250s845-- add_index("protected_tags", ["project_id", "name"], {:name=>"index_protected_tags_on_project_id_and_name", :unique=>true, :using=>:btree})846 -> 0.0154s847-- add_index("protected_tags", ["project_id"], {:name=>"index_protected_tags_on_project_id", :using=>:btree})848 -> 0.0146s849-- create_table("push_event_payloads", {:id=>false, :force=>:cascade})850 -> 0.0151s851-- add_index("push_event_payloads", ["event_id"], {:name=>"index_push_event_payloads_on_event_id", :unique=>true, :using=>:btree})852 -> 0.0145s853-- create_table("redirect_routes", {:force=>:cascade})854 -> 0.0251s855-- add_index("redirect_routes", ["path"], {:name=>"index_redirect_routes_on_path", :unique=>true, :using=>:btree})856 -> 0.0149s857-- add_index("redirect_routes", ["source_type", "source_id"], {:name=>"index_redirect_routes_on_source_type_and_source_id", :using=>:btree})858 -> 0.0144s859-- create_table("releases", {:force=>:cascade})860 -> 0.0266s861-- add_index("releases", ["project_id", "tag"], {:name=>"index_releases_on_project_id_and_tag", :using=>:btree})862 -> 0.0145s863-- add_index("releases", ["project_id"], {:name=>"index_releases_on_project_id", :using=>:btree})864 -> 0.0143s865-- create_table("remote_mirrors", {:force=>:cascade})866 -> 0.0276s867-- add_index("remote_mirrors", ["last_successful_update_at"], {:name=>"index_remote_mirrors_on_last_successful_update_at", :using=>:btree})868 -> 0.0144s869-- add_index("remote_mirrors", ["project_id"], {:name=>"index_remote_mirrors_on_project_id", :using=>:btree})870 -> 0.0145s871-- create_table("repository_languages", {:id=>false, :force=>:cascade})872 -> 0.0033s873-- add_index("repository_languages", ["project_id", "programming_language_id"], {:name=>"index_repository_languages_on_project_and_languages_id", :unique=>true, :using=>:btree})874 -> 0.0167s875-- create_table("resource_label_events", {:id=>:bigserial, :force=>:cascade})876 -> 0.0253s877-- add_index("resource_label_events", ["issue_id"], {:name=>"index_resource_label_events_on_issue_id", :using=>:btree})878 -> 0.0146s879-- add_index("resource_label_events", ["label_id"], {:name=>"index_resource_label_events_on_label_id", :using=>:btree})880 -> 0.0144s881-- add_index("resource_label_events", ["merge_request_id"], {:name=>"index_resource_label_events_on_merge_request_id", :using=>:btree})882 -> 0.0144s883-- add_index("resource_label_events", ["user_id"], {:name=>"index_resource_label_events_on_user_id", :using=>:btree})884 -> 0.0145s885-- create_table("routes", {:force=>:cascade})886 -> 0.0255s887-- add_index("routes", ["path"], {:name=>"index_routes_on_path", :unique=>true, :using=>:btree})888 -> 0.0148s889-- add_index("routes", ["path"], {:name=>"index_routes_on_path_text_pattern_ops", :using=>:btree, :opclasses=>{"path"=>"varchar_pattern_ops"}})890 -> 0.0144s891-- add_index("routes", ["source_type", "source_id"], {:name=>"index_routes_on_source_type_and_source_id", :unique=>true, :using=>:btree})892 -> 0.0144s893-- create_table("sent_notifications", {:force=>:cascade})894 -> 0.0250s895-- add_index("sent_notifications", ["reply_key"], {:name=>"index_sent_notifications_on_reply_key", :unique=>true, :using=>:btree})896 -> 0.0149s897-- create_table("services", {:force=>:cascade})898 -> 0.0307s899-- add_index("services", ["project_id"], {:name=>"index_services_on_project_id", :using=>:btree})900 -> 0.0145s901-- add_index("services", ["template"], {:name=>"index_services_on_template", :using=>:btree})902 -> 0.0146s903-- create_table("site_statistics", {:force=>:cascade})904 -> 0.0147s905-- create_table("snippets", {:force=>:cascade})906 -> 0.0259s907-- add_index("snippets", ["author_id"], {:name=>"index_snippets_on_author_id", :using=>:btree})908 -> 0.0152s909-- add_index("snippets", ["file_name"], {:name=>"index_snippets_on_file_name_trigram", :using=>:gin, :opclasses=>{"file_name"=>"gin_trgm_ops"}})910 -> 0.0047s911-- add_index("snippets", ["project_id"], {:name=>"index_snippets_on_project_id", :using=>:btree})912 -> 0.0141s913-- add_index("snippets", ["title"], {:name=>"index_snippets_on_title_trigram", :using=>:gin, :opclasses=>{"title"=>"gin_trgm_ops"}})914 -> 0.0046s915-- add_index("snippets", ["updated_at"], {:name=>"index_snippets_on_updated_at", :using=>:btree})916 -> 0.0141s917-- add_index("snippets", ["visibility_level"], {:name=>"index_snippets_on_visibility_level", :using=>:btree})918 -> 0.0146s919-- create_table("spam_logs", {:force=>:cascade})920 -> 0.0253s921-- create_table("subscriptions", {:force=>:cascade})922 -> 0.0251s923-- add_index("subscriptions", ["subscribable_id", "subscribable_type", "user_id", "project_id"], {:name=>"index_subscriptions_on_subscribable_and_user_id_and_project_id", :unique=>true, :using=>:btree})924 -> 0.0152s925-- create_table("system_note_metadata", {:force=>:cascade})926 -> 0.0246s927-- add_index("system_note_metadata", ["note_id"], {:name=>"index_system_note_metadata_on_note_id", :unique=>true, :using=>:btree})928 -> 0.0149s929-- create_table("taggings", {:force=>:cascade})930 -> 0.0255s931-- add_index("taggings", ["tag_id", "taggable_id", "taggable_type", "context", "tagger_id", "tagger_type"], {:name=>"taggings_idx", :unique=>true, :using=>:btree})932 -> 0.0147s933-- add_index("taggings", ["tag_id"], {:name=>"index_taggings_on_tag_id", :using=>:btree})934 -> 0.0145s935-- add_index("taggings", ["taggable_id", "taggable_type", "context"], {:name=>"index_taggings_on_taggable_id_and_taggable_type_and_context", :using=>:btree})936 -> 0.0189s937-- add_index("taggings", ["taggable_id", "taggable_type"], {:name=>"index_taggings_on_taggable_id_and_taggable_type", :using=>:btree})938 -> 0.0149s939-- create_table("tags", {:force=>:cascade})940 -> 0.0254s941-- add_index("tags", ["name"], {:name=>"index_tags_on_name", :unique=>true, :using=>:btree})942 -> 0.0142s943-- create_table("term_agreements", {:force=>:cascade})944 -> 0.0150s945-- add_index("term_agreements", ["term_id"], {:name=>"index_term_agreements_on_term_id", :using=>:btree})946 -> 0.0148s947-- add_index("term_agreements", ["user_id", "term_id"], {:name=>"term_agreements_unique_index", :unique=>true, :using=>:btree})948 -> 0.0139s949-- add_index("term_agreements", ["user_id"], {:name=>"index_term_agreements_on_user_id", :using=>:btree})950 -> 0.0155s951-- create_table("timelogs", {:force=>:cascade})952 -> 0.0148s953-- add_index("timelogs", ["issue_id"], {:name=>"index_timelogs_on_issue_id", :using=>:btree})954 -> 0.0147s955-- add_index("timelogs", ["merge_request_id"], {:name=>"index_timelogs_on_merge_request_id", :using=>:btree})956 -> 0.0145s957-- add_index("timelogs", ["user_id"], {:name=>"index_timelogs_on_user_id", :using=>:btree})958 -> 0.0147s959-- create_table("todos", {:force=>:cascade})960 -> 0.0252s961-- add_index("todos", ["author_id"], {:name=>"index_todos_on_author_id", :using=>:btree})962 -> 0.0149s963-- add_index("todos", ["commit_id"], {:name=>"index_todos_on_commit_id", :using=>:btree})964 -> 0.0145s965-- add_index("todos", ["group_id"], {:name=>"index_todos_on_group_id", :using=>:btree})966 -> 0.0144s967-- add_index("todos", ["note_id"], {:name=>"index_todos_on_note_id", :using=>:btree})968 -> 0.0140s969-- add_index("todos", ["project_id"], {:name=>"index_todos_on_project_id", :using=>:btree})970 -> 0.0144s971-- add_index("todos", ["target_type", "target_id"], {:name=>"index_todos_on_target_type_and_target_id", :using=>:btree})972 -> 0.0146s973-- add_index("todos", ["user_id", "id"], {:name=>"index_todos_on_user_id_and_id_done", :where=>"((state)::text = 'done'::text)", :using=>:btree})974 -> 0.0143s975-- add_index("todos", ["user_id", "id"], {:name=>"index_todos_on_user_id_and_id_pending", :where=>"((state)::text = 'pending'::text)", :using=>:btree})976 -> 0.0146s977-- add_index("todos", ["user_id"], {:name=>"index_todos_on_user_id", :using=>:btree})978 -> 0.0144s979-- create_table("trending_projects", {:force=>:cascade})980 -> 0.0144s981-- add_index("trending_projects", ["project_id"], {:name=>"index_trending_projects_on_project_id", :unique=>true, :using=>:btree})982 -> 0.0148s983-- create_table("u2f_registrations", {:force=>:cascade})984 -> 0.0244s985-- add_index("u2f_registrations", ["key_handle"], {:name=>"index_u2f_registrations_on_key_handle", :using=>:btree})986 -> 0.0150s987-- add_index("u2f_registrations", ["user_id"], {:name=>"index_u2f_registrations_on_user_id", :using=>:btree})988 -> 0.0144s989-- create_table("uploads", {:force=>:cascade})990 -> 0.0247s991-- add_index("uploads", ["checksum"], {:name=>"index_uploads_on_checksum", :using=>:btree})992 -> 0.0069s993-- add_index("uploads", ["model_id", "model_type"], {:name=>"index_uploads_on_model_id_and_model_type", :using=>:btree})994 -> 0.0142s995-- add_index("uploads", ["uploader", "path"], {:name=>"index_uploads_on_uploader_and_path", :using=>:btree})996 -> 0.0155s997-- create_table("user_agent_details", {:force=>:cascade})998 -> 0.0253s999-- add_index("user_agent_details", ["subject_id", "subject_type"], {:name=>"index_user_agent_details_on_subject_id_and_subject_type", :using=>:btree})1000 -> 0.0146s1001-- create_table("user_callouts", {:force=>:cascade})1002 -> 0.0153s1003-- add_index("user_callouts", ["user_id", "feature_name"], {:name=>"index_user_callouts_on_user_id_and_feature_name", :unique=>true, :using=>:btree})1004 -> 0.0146s1005-- add_index("user_callouts", ["user_id"], {:name=>"index_user_callouts_on_user_id", :using=>:btree})1006 -> 0.0143s1007-- create_table("user_custom_attributes", {:force=>:cascade})1008 -> 0.0255s1009-- add_index("user_custom_attributes", ["key", "value"], {:name=>"index_user_custom_attributes_on_key_and_value", :using=>:btree})1010 -> 0.0147s1011-- add_index("user_custom_attributes", ["user_id", "key"], {:name=>"index_user_custom_attributes_on_user_id_and_key", :unique=>true, :using=>:btree})1012 -> 0.0145s1013-- create_table("user_interacted_projects", {:id=>false, :force=>:cascade})1014 -> 0.0034s1015-- add_index("user_interacted_projects", ["project_id", "user_id"], {:name=>"index_user_interacted_projects_on_project_id_and_user_id", :unique=>true, :using=>:btree})1016 -> 0.0141s1017-- add_index("user_interacted_projects", ["user_id"], {:name=>"index_user_interacted_projects_on_user_id", :using=>:btree})1018 -> 0.0147s1019-- create_table("user_preferences", {:force=>:cascade})1020 -> 0.0151s1021-- add_index("user_preferences", ["user_id"], {:name=>"index_user_preferences_on_user_id", :unique=>true, :using=>:btree})1022 -> 0.0150s1023-- create_table("user_statuses", {:primary_key=>"user_id", :force=>:cascade})1024 -> 0.0256s1025-- create_table("user_synced_attributes_metadata", {:force=>:cascade})1026 -> 0.0265s1027-- add_index("user_synced_attributes_metadata", ["user_id"], {:name=>"index_user_synced_attributes_metadata_on_user_id", :unique=>true, :using=>:btree})1028 -> 0.0147s1029-- create_table("users", {:force=>:cascade})1030 -> 0.0352s1031-- add_index("users", ["admin"], {:name=>"index_users_on_admin", :using=>:btree})1032 -> 0.0144s1033-- add_index("users", ["confirmation_token"], {:name=>"index_users_on_confirmation_token", :unique=>true, :using=>:btree})1034 -> 0.0142s1035-- add_index("users", ["created_at"], {:name=>"index_users_on_created_at", :using=>:btree})1036 -> 0.0145s1037-- add_index("users", ["email"], {:name=>"index_users_on_email", :unique=>true, :using=>:btree})1038 -> 0.0151s1039-- add_index("users", ["email"], {:name=>"index_users_on_email_trigram", :using=>:gin, :opclasses=>{"email"=>"gin_trgm_ops"}})1040 -> 0.0045s1041-- add_index("users", ["feed_token"], {:name=>"index_users_on_feed_token", :using=>:btree})1042 -> 0.0152s1043-- add_index("users", ["ghost"], {:name=>"index_users_on_ghost", :using=>:btree})1044 -> 0.0146s1045-- add_index("users", ["incoming_email_token"], {:name=>"index_users_on_incoming_email_token", :using=>:btree})1046 -> 0.0147s1047-- add_index("users", ["name"], {:name=>"index_users_on_name", :using=>:btree})1048 -> 0.0150s1049-- add_index("users", ["name"], {:name=>"index_users_on_name_trigram", :using=>:gin, :opclasses=>{"name"=>"gin_trgm_ops"}})1050 -> 0.0043s1051-- add_index("users", ["reset_password_token"], {:name=>"index_users_on_reset_password_token", :unique=>true, :using=>:btree})1052 -> 0.0139s1053-- add_index("users", ["state"], {:name=>"index_users_on_state", :using=>:btree})1054 -> 0.0142s1055-- add_index("users", ["username"], {:name=>"index_users_on_username", :using=>:btree})1056 -> 0.0162s1057-- add_index("users", ["username"], {:name=>"index_users_on_username_trigram", :using=>:gin, :opclasses=>{"username"=>"gin_trgm_ops"}})1058 -> 0.0044s1059-- create_table("users_star_projects", {:force=>:cascade})1060 -> 0.0139s1061-- add_index("users_star_projects", ["project_id"], {:name=>"index_users_star_projects_on_project_id", :using=>:btree})1062 -> 0.0143s1063-- add_index("users_star_projects", ["user_id", "project_id"], {:name=>"index_users_star_projects_on_user_id_and_project_id", :unique=>true, :using=>:btree})1064 -> 0.0146s1065-- create_table("web_hook_logs", {:force=>:cascade})1066 -> 0.0257s1067-- add_index("web_hook_logs", ["created_at", "web_hook_id"], {:name=>"index_web_hook_logs_on_created_at_and_web_hook_id", :using=>:btree})1068 -> 0.0149s1069-- add_index("web_hook_logs", ["web_hook_id"], {:name=>"index_web_hook_logs_on_web_hook_id", :using=>:btree})1070 -> 0.0155s1071-- create_table("web_hooks", {:force=>:cascade})1072 -> 0.0310s1073-- add_index("web_hooks", ["project_id"], {:name=>"index_web_hooks_on_project_id", :using=>:btree})1074 -> 0.0149s1075-- add_index("web_hooks", ["type"], {:name=>"index_web_hooks_on_type", :using=>:btree})1076 -> 0.0143s1077-- add_foreign_key("application_settings", "users", {:column=>"usage_stats_set_by_user_id", :name=>"fk_964370041d", :on_delete=>:nullify})1078 -> 0.0072s1079-- add_foreign_key("badges", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1080 -> 0.0032s1081-- add_foreign_key("badges", "projects", {:on_delete=>:cascade})1082 -> 0.0037s1083-- add_foreign_key("board_group_recent_visits", "boards", {:on_delete=>:cascade})1084 -> 0.0033s1085-- add_foreign_key("board_group_recent_visits", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1086 -> 0.0028s1087-- add_foreign_key("board_group_recent_visits", "users", {:on_delete=>:cascade})1088 -> 0.0031s1089-- add_foreign_key("board_project_recent_visits", "boards", {:on_delete=>:cascade})1090 -> 0.0029s1091-- add_foreign_key("board_project_recent_visits", "projects", {:on_delete=>:cascade})1092 -> 0.0032s1093-- add_foreign_key("board_project_recent_visits", "users", {:on_delete=>:cascade})1094 -> 0.0083s1095-- add_foreign_key("boards", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1096 -> 0.0028s1097-- add_foreign_key("boards", "projects", {:name=>"fk_f15266b5f9", :on_delete=>:cascade})1098 -> 0.0030s1099-- add_foreign_key("chat_teams", "namespaces", {:on_delete=>:cascade})1100 -> 0.0028s1101-- add_foreign_key("ci_build_trace_chunks", "ci_builds", {:column=>"build_id", :on_delete=>:cascade})1102 -> 0.0035s1103-- add_foreign_key("ci_build_trace_section_names", "projects", {:on_delete=>:cascade})1104 -> 0.0034s1105-- add_foreign_key("ci_build_trace_sections", "ci_build_trace_section_names", {:column=>"section_name_id", :name=>"fk_264e112c66", :on_delete=>:cascade})1106 -> 0.0030s1107-- add_foreign_key("ci_build_trace_sections", "ci_builds", {:column=>"build_id", :name=>"fk_4ebe41f502", :on_delete=>:cascade})1108 -> 0.0029s1109-- add_foreign_key("ci_build_trace_sections", "projects", {:on_delete=>:cascade})1110 -> 0.0027s1111-- add_foreign_key("ci_builds", "ci_pipelines", {:column=>"auto_canceled_by_id", :name=>"fk_a2141b1522", :on_delete=>:nullify})1112 -> 0.0033s1113-- add_foreign_key("ci_builds", "ci_pipelines", {:column=>"commit_id", :name=>"fk_d3130c9a7f", :on_delete=>:cascade})1114 -> 0.0029s1115-- add_foreign_key("ci_builds", "ci_stages", {:column=>"stage_id", :name=>"fk_3a9eaa254d", :on_delete=>:cascade})1116 -> 0.0035s1117-- add_foreign_key("ci_builds", "projects", {:name=>"fk_befce0568a", :on_delete=>:cascade})1118 -> 0.0031s1119-- add_foreign_key("ci_builds_metadata", "ci_builds", {:column=>"build_id", :on_delete=>:cascade})1120 -> 0.0031s1121-- add_foreign_key("ci_builds_metadata", "projects", {:on_delete=>:cascade})1122 -> 0.0031s1123-- add_foreign_key("ci_builds_runner_session", "ci_builds", {:column=>"build_id", :on_delete=>:cascade})1124 -> 0.0031s1125-- add_foreign_key("ci_group_variables", "namespaces", {:column=>"group_id", :name=>"fk_33ae4d58d8", :on_delete=>:cascade})1126 -> 0.0027s1127-- add_foreign_key("ci_job_artifacts", "ci_builds", {:column=>"job_id", :on_delete=>:cascade})1128 -> 0.0033s1129-- add_foreign_key("ci_job_artifacts", "projects", {:on_delete=>:cascade})1130 -> 0.0031s1131-- add_foreign_key("ci_pipeline_schedule_variables", "ci_pipeline_schedules", {:column=>"pipeline_schedule_id", :name=>"fk_41c35fda51", :on_delete=>:cascade})1132 -> 0.0034s1133-- add_foreign_key("ci_pipeline_schedules", "projects", {:name=>"fk_8ead60fcc4", :on_delete=>:cascade})1134 -> 0.0030s1135-- add_foreign_key("ci_pipeline_schedules", "users", {:column=>"owner_id", :name=>"fk_9ea99f58d2", :on_delete=>:nullify})1136 -> 0.0029s1137-- add_foreign_key("ci_pipeline_variables", "ci_pipelines", {:column=>"pipeline_id", :name=>"fk_f29c5f4380", :on_delete=>:cascade})1138 -> 0.0036s1139-- add_foreign_key("ci_pipelines", "ci_pipeline_schedules", {:column=>"pipeline_schedule_id", :name=>"fk_3d34ab2e06", :on_delete=>:nullify})1140 -> 0.0030s1141-- add_foreign_key("ci_pipelines", "ci_pipelines", {:column=>"auto_canceled_by_id", :name=>"fk_262d4c2d19", :on_delete=>:nullify})1142 -> 0.0046s1143-- add_foreign_key("ci_pipelines", "projects", {:name=>"fk_86635dbd80", :on_delete=>:cascade})1144 -> 0.0035s1145-- add_foreign_key("ci_runner_namespaces", "ci_runners", {:column=>"runner_id", :on_delete=>:cascade})1146 -> 0.0033s1147-- add_foreign_key("ci_runner_namespaces", "namespaces", {:on_delete=>:cascade})1148 -> 0.0028s1149-- add_foreign_key("ci_runner_projects", "projects", {:name=>"fk_4478a6f1e4", :on_delete=>:cascade})1150 -> 0.0036s1151-- add_foreign_key("ci_stages", "ci_pipelines", {:column=>"pipeline_id", :name=>"fk_fb57e6cc56", :on_delete=>:cascade})1152 -> 0.0030s1153-- add_foreign_key("ci_stages", "projects", {:name=>"fk_2360681d1d", :on_delete=>:cascade})1154 -> 0.0032s1155-- add_foreign_key("ci_trigger_requests", "ci_triggers", {:column=>"trigger_id", :name=>"fk_b8ec8b7245", :on_delete=>:cascade})1156 -> 0.0030s1157-- add_foreign_key("ci_triggers", "projects", {:name=>"fk_e3e63f966e", :on_delete=>:cascade})1158 -> 0.0040s1159-- add_foreign_key("ci_triggers", "users", {:column=>"owner_id", :name=>"fk_e8e10d1964", :on_delete=>:cascade})1160 -> 0.0029s1161-- add_foreign_key("ci_variables", "projects", {:name=>"fk_ada5eb64b3", :on_delete=>:cascade})1162 -> 0.0037s1163-- add_foreign_key("cluster_platforms_kubernetes", "clusters", {:on_delete=>:cascade})1164 -> 0.0032s1165-- add_foreign_key("cluster_projects", "clusters", {:on_delete=>:cascade})1166 -> 0.0038s1167-- add_foreign_key("cluster_projects", "projects", {:on_delete=>:cascade})1168 -> 0.0034s1169-- add_foreign_key("cluster_providers_gcp", "clusters", {:on_delete=>:cascade})1170 -> 0.0033s1171-- add_foreign_key("clusters", "users", {:on_delete=>:nullify})1172 -> 0.0031s1173-- add_foreign_key("clusters_applications_helm", "clusters", {:on_delete=>:cascade})1174 -> 0.0028s1175-- add_foreign_key("clusters_applications_ingress", "clusters", {:name=>"fk_753a7b41c1", :on_delete=>:cascade})1176 -> 0.0029s1177-- add_foreign_key("clusters_applications_jupyter", "clusters", {:on_delete=>:cascade})1178 -> 0.0027s1179-- add_foreign_key("clusters_applications_jupyter", "oauth_applications", {:on_delete=>:nullify})1180 -> 0.0028s1181-- add_foreign_key("clusters_applications_prometheus", "clusters", {:name=>"fk_557e773639", :on_delete=>:cascade})1182 -> 0.0027s1183-- add_foreign_key("clusters_applications_runners", "ci_runners", {:column=>"runner_id", :name=>"fk_02de2ded36", :on_delete=>:nullify})1184 -> 0.0030s1185-- add_foreign_key("clusters_applications_runners", "clusters", {:on_delete=>:cascade})1186 -> 0.0029s1187-- add_foreign_key("clusters_kubernetes_namespaces", "cluster_projects", {:on_delete=>:nullify})1188 -> 0.0030s1189-- add_foreign_key("clusters_kubernetes_namespaces", "clusters", {:on_delete=>:cascade})1190 -> 0.0029s1191-- add_foreign_key("clusters_kubernetes_namespaces", "projects", {:on_delete=>:nullify})1192 -> 0.0031s1193-- add_foreign_key("container_repositories", "projects")1194 -> 0.0043s1195-- add_foreign_key("deploy_keys_projects", "projects", {:name=>"fk_58a901ca7e", :on_delete=>:cascade})1196 -> 0.0040s1197-- add_foreign_key("deployments", "projects", {:name=>"fk_b9a3851b82", :on_delete=>:cascade})1198 -> 0.0049s1199-- add_foreign_key("environments", "projects", {:name=>"fk_d1c8c1da6a", :on_delete=>:cascade})1200 -> 0.0039s1201-- add_foreign_key("events", "projects", {:on_delete=>:cascade})1202 -> 0.0033s1203-- add_foreign_key("events", "users", {:column=>"author_id", :name=>"fk_edfd187b6f", :on_delete=>:cascade})1204 -> 0.0029s1205-- add_foreign_key("fork_network_members", "fork_networks", {:on_delete=>:cascade})1206 -> 0.0031s1207-- add_foreign_key("fork_network_members", "projects", {:column=>"forked_from_project_id", :name=>"fk_b01280dae4", :on_delete=>:nullify})1208 -> 0.0031s1209-- add_foreign_key("fork_network_members", "projects", {:on_delete=>:cascade})1210 -> 0.0030s1211-- add_foreign_key("fork_networks", "projects", {:column=>"root_project_id", :name=>"fk_e7b436b2b5", :on_delete=>:nullify})1212 -> 0.0030s1213-- add_foreign_key("forked_project_links", "projects", {:column=>"forked_to_project_id", :name=>"fk_434510edb0", :on_delete=>:cascade})1214 -> 0.0030s1215-- add_foreign_key("gcp_clusters", "projects", {:on_delete=>:cascade})1216 -> 0.0031s1217-- add_foreign_key("gcp_clusters", "services", {:on_delete=>:nullify})1218 -> 0.0031s1219-- add_foreign_key("gcp_clusters", "users", {:on_delete=>:nullify})1220 -> 0.0031s1221-- add_foreign_key("gpg_key_subkeys", "gpg_keys", {:on_delete=>:cascade})1222 -> 0.0030s1223-- add_foreign_key("gpg_keys", "users", {:on_delete=>:cascade})1224 -> 0.0028s1225-- add_foreign_key("gpg_signatures", "gpg_key_subkeys", {:on_delete=>:nullify})1226 -> 0.0028s1227-- add_foreign_key("gpg_signatures", "gpg_keys", {:on_delete=>:nullify})1228 -> 0.0031s1229-- add_foreign_key("gpg_signatures", "projects", {:on_delete=>:cascade})1230 -> 0.0031s1231-- add_foreign_key("group_custom_attributes", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1232 -> 0.0027s1233-- add_foreign_key("import_export_uploads", "projects", {:on_delete=>:cascade})1234 -> 0.0032s1235-- add_foreign_key("internal_ids", "namespaces", {:name=>"fk_162941d509", :on_delete=>:cascade})1236 -> 0.0035s1237-- add_foreign_key("internal_ids", "projects", {:on_delete=>:cascade})1238 -> 0.0031s1239-- add_foreign_key("issue_assignees", "issues", {:name=>"fk_b7d881734a", :on_delete=>:cascade})1240 -> 0.0035s1241-- add_foreign_key("issue_assignees", "users", {:name=>"fk_5e0c8d9154", :on_delete=>:cascade})1242 -> 0.0036s1243-- add_foreign_key("issue_metrics", "issues", {:on_delete=>:cascade})1244 -> 0.0029s1245-- add_foreign_key("issues", "issues", {:column=>"moved_to_id", :name=>"fk_a194299be1", :on_delete=>:nullify})1246 -> 0.0031s1247-- add_foreign_key("issues", "milestones", {:name=>"fk_96b1dd429c", :on_delete=>:nullify})1248 -> 0.0038s1249-- add_foreign_key("issues", "projects", {:name=>"fk_899c8f3231", :on_delete=>:cascade})1250 -> 0.0034s1251-- add_foreign_key("issues", "users", {:column=>"author_id", :name=>"fk_05f1e72feb", :on_delete=>:nullify})1252 -> 0.0030s1253-- add_foreign_key("issues", "users", {:column=>"closed_by_id", :name=>"fk_c63cbf6c25", :on_delete=>:nullify})1254 -> 0.0029s1255-- add_foreign_key("issues", "users", {:column=>"updated_by_id", :name=>"fk_ffed080f01", :on_delete=>:nullify})1256 -> 0.0028s1257-- add_foreign_key("label_links", "labels", {:name=>"fk_d97dd08678", :on_delete=>:cascade})1258 -> 0.0031s1259-- add_foreign_key("label_priorities", "labels", {:on_delete=>:cascade})1260 -> 0.0026s1261-- add_foreign_key("label_priorities", "projects", {:on_delete=>:cascade})1262 -> 0.0030s1263-- add_foreign_key("labels", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1264 -> 0.0026s1265-- add_foreign_key("labels", "projects", {:name=>"fk_7de4989a69", :on_delete=>:cascade})1266 -> 0.0031s1267-- add_foreign_key("lfs_file_locks", "projects", {:on_delete=>:cascade})1268 -> 0.0030s1269-- add_foreign_key("lfs_file_locks", "users", {:on_delete=>:cascade})1270 -> 0.0030s1271-- add_foreign_key("lists", "boards", {:name=>"fk_0d3f677137", :on_delete=>:cascade})1272 -> 0.0028s1273-- add_foreign_key("lists", "labels", {:name=>"fk_7a5553d60f", :on_delete=>:cascade})1274 -> 0.0026s1275-- add_foreign_key("members", "users", {:name=>"fk_2e88fb7ce9", :on_delete=>:cascade})1276 -> 0.0035s1277-- add_foreign_key("merge_request_diff_commits", "merge_request_diffs", {:on_delete=>:cascade})1278 -> 0.0029s1279-- add_foreign_key("merge_request_diff_files", "merge_request_diffs", {:on_delete=>:cascade})1280 -> 0.0041s1281-- add_foreign_key("merge_request_diffs", "merge_requests", {:name=>"fk_8483f3258f", :on_delete=>:cascade})1282 -> 0.0038s1283-- add_foreign_key("merge_request_metrics", "ci_pipelines", {:column=>"pipeline_id", :on_delete=>:cascade})1284 -> 0.0035s1285-- add_foreign_key("merge_request_metrics", "merge_requests", {:on_delete=>:cascade})1286 -> 0.0034s1287-- add_foreign_key("merge_request_metrics", "users", {:column=>"latest_closed_by_id", :name=>"fk_ae440388cc", :on_delete=>:nullify})1288 -> 0.0032s1289-- add_foreign_key("merge_request_metrics", "users", {:column=>"merged_by_id", :name=>"fk_7f28d925f3", :on_delete=>:nullify})1290 -> 0.0039s1291-- add_foreign_key("merge_requests", "ci_pipelines", {:column=>"head_pipeline_id", :name=>"fk_fd82eae0b9", :on_delete=>:nullify})1292 -> 0.0032s1293-- add_foreign_key("merge_requests", "merge_request_diffs", {:column=>"latest_merge_request_diff_id", :name=>"fk_06067f5644", :on_delete=>:nullify})1294 -> 0.0030s1295-- add_foreign_key("merge_requests", "milestones", {:name=>"fk_6a5165a692", :on_delete=>:nullify})1296 -> 0.0028s1297-- add_foreign_key("merge_requests", "projects", {:column=>"source_project_id", :name=>"fk_3308fe130c", :on_delete=>:nullify})1298 -> 0.0036s1299-- add_foreign_key("merge_requests", "projects", {:column=>"target_project_id", :name=>"fk_a6963e8447", :on_delete=>:cascade})1300 -> 0.0035s1301-- add_foreign_key("merge_requests", "users", {:column=>"assignee_id", :name=>"fk_6149611a04", :on_delete=>:nullify})1302 -> 0.0034s1303-- add_foreign_key("merge_requests", "users", {:column=>"author_id", :name=>"fk_e719a85f8a", :on_delete=>:nullify})1304 -> 0.0036s1305-- add_foreign_key("merge_requests", "users", {:column=>"merge_user_id", :name=>"fk_ad525e1f87", :on_delete=>:nullify})1306 -> 0.0035s1307-- add_foreign_key("merge_requests", "users", {:column=>"updated_by_id", :name=>"fk_641731faff", :on_delete=>:nullify})1308 -> 0.0033s1309-- add_foreign_key("merge_requests_closing_issues", "issues", {:on_delete=>:cascade})1310 -> 0.0032s1311-- add_foreign_key("merge_requests_closing_issues", "merge_requests", {:on_delete=>:cascade})1312 -> 0.0032s1313-- add_foreign_key("milestones", "namespaces", {:column=>"group_id", :name=>"fk_95650a40d4", :on_delete=>:cascade})1314 -> 0.0029s1315-- add_foreign_key("milestones", "projects", {:name=>"fk_9bd0a0c791", :on_delete=>:cascade})1316 -> 0.0029s1317-- add_foreign_key("note_diff_files", "notes", {:column=>"diff_note_id", :on_delete=>:cascade})1318 -> 0.0034s1319-- add_foreign_key("notes", "projects", {:name=>"fk_99e097b079", :on_delete=>:cascade})1320 -> 0.0033s1321-- add_foreign_key("notification_settings", "users", {:name=>"fk_0c95e91db7", :on_delete=>:cascade})1322 -> 0.0033s1323-- add_foreign_key("oauth_openid_requests", "oauth_access_grants", {:column=>"access_grant_id", :name=>"fk_oauth_openid_requests_oauth_access_grants_access_grant_id"})1324 -> 0.0030s1325-- add_foreign_key("pages_domains", "projects", {:name=>"fk_ea2f6dfc6f", :on_delete=>:cascade})1326 -> 0.0036s1327-- add_foreign_key("personal_access_tokens", "users")1328 -> 0.0031s1329-- add_foreign_key("project_authorizations", "projects", {:on_delete=>:cascade})1330 -> 0.0034s1331-- add_foreign_key("project_authorizations", "users", {:on_delete=>:cascade})1332 -> 0.0029s1333-- add_foreign_key("project_auto_devops", "projects", {:on_delete=>:cascade})1334 -> 0.0030s1335-- add_foreign_key("project_ci_cd_settings", "projects", {:name=>"fk_24c15d2f2e", :on_delete=>:cascade})1336 -> 0.0030s1337-- add_foreign_key("project_custom_attributes", "projects", {:on_delete=>:cascade})1338 -> 0.0030s1339-- add_foreign_key("project_deploy_tokens", "deploy_tokens", {:on_delete=>:cascade})1340 -> 0.0030s1341-- add_foreign_key("project_deploy_tokens", "projects", {:on_delete=>:cascade})1342 -> 0.0027s1343-- add_foreign_key("project_features", "projects", {:name=>"fk_18513d9b92", :on_delete=>:cascade})1344 -> 0.0028s1345-- add_foreign_key("project_group_links", "projects", {:name=>"fk_daa8cee94c", :on_delete=>:cascade})1346 -> 0.0032s1347-- add_foreign_key("project_import_data", "projects", {:name=>"fk_ffb9ee3a10", :on_delete=>:cascade})1348 -> 0.0042s1349-- add_foreign_key("project_mirror_data", "projects", {:on_delete=>:cascade})1350 -> 0.0036s1351-- add_foreign_key("project_statistics", "projects", {:on_delete=>:cascade})1352 -> 0.0031s1353-- add_foreign_key("prometheus_metrics", "projects", {:on_delete=>:cascade})1354 -> 0.0032s1355-- add_foreign_key("protected_branch_merge_access_levels", "protected_branches", {:name=>"fk_8a3072ccb3", :on_delete=>:cascade})1356 -> 0.0028s1357-- add_foreign_key("protected_branch_push_access_levels", "protected_branches", {:name=>"fk_9ffc86a3d9", :on_delete=>:cascade})1358 -> 0.0026s1359-- add_foreign_key("protected_branches", "projects", {:name=>"fk_7a9c6d93e7", :on_delete=>:cascade})1360 -> 0.0030s1361-- add_foreign_key("protected_tag_create_access_levels", "namespaces", {:column=>"group_id"})1362 -> 0.0028s1363-- add_foreign_key("protected_tag_create_access_levels", "protected_tags", {:name=>"fk_f7dfda8c51", :on_delete=>:cascade})1364 -> 0.0028s1365-- add_foreign_key("protected_tag_create_access_levels", "users")1366 -> 0.0029s1367-- add_foreign_key("protected_tags", "projects", {:name=>"fk_8e4af87648", :on_delete=>:cascade})1368 -> 0.0030s1369-- add_foreign_key("push_event_payloads", "events", {:name=>"fk_36c74129da", :on_delete=>:cascade})1370 -> 0.0026s1371-- add_foreign_key("releases", "projects", {:name=>"fk_47fe2a0596", :on_delete=>:cascade})1372 -> 0.0038s1373-- add_foreign_key("remote_mirrors", "projects", {:on_delete=>:cascade})1374 -> 0.0032s1375-- add_foreign_key("repository_languages", "projects", {:on_delete=>:cascade})1376 -> 0.0033s1377-- add_foreign_key("resource_label_events", "issues", {:on_delete=>:cascade})1378 -> 0.0033s1379-- add_foreign_key("resource_label_events", "labels", {:on_delete=>:nullify})1380 -> 0.0029s1381-- add_foreign_key("resource_label_events", "merge_requests", {:on_delete=>:cascade})1382 -> 0.0029s1383-- add_foreign_key("resource_label_events", "users", {:on_delete=>:nullify})1384 -> 0.0028s1385-- add_foreign_key("services", "projects", {:name=>"fk_71cce407f9", :on_delete=>:cascade})1386 -> 0.0031s1387-- add_foreign_key("snippets", "projects", {:name=>"fk_be41fd4bb7", :on_delete=>:cascade})1388 -> 0.0036s1389-- add_foreign_key("subscriptions", "projects", {:on_delete=>:cascade})1390 -> 0.0032s1391-- add_foreign_key("system_note_metadata", "notes", {:name=>"fk_d83a918cb1", :on_delete=>:cascade})1392 -> 0.0027s1393-- add_foreign_key("term_agreements", "application_setting_terms", {:column=>"term_id"})1394 -> 0.0038s1395-- add_foreign_key("term_agreements", "users", {:on_delete=>:cascade})1396 -> 0.0029s1397-- add_foreign_key("timelogs", "issues", {:name=>"fk_timelogs_issues_issue_id", :on_delete=>:cascade})1398 -> 0.0028s1399-- add_foreign_key("timelogs", "merge_requests", {:name=>"fk_timelogs_merge_requests_merge_request_id", :on_delete=>:cascade})1400 -> 0.0028s1401-- add_foreign_key("todos", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1402 -> 0.0033s1403-- add_foreign_key("todos", "notes", {:name=>"fk_91d1f47b13", :on_delete=>:cascade})1404 -> 0.0028s1405-- add_foreign_key("todos", "projects", {:name=>"fk_45054f9c45", :on_delete=>:cascade})1406 -> 0.0030s1407-- add_foreign_key("todos", "users", {:column=>"author_id", :name=>"fk_ccf0373936", :on_delete=>:cascade})1408 -> 0.0034s1409-- add_foreign_key("todos", "users", {:name=>"fk_d94154aa95", :on_delete=>:cascade})1410 -> 0.0032s1411-- add_foreign_key("trending_projects", "projects", {:on_delete=>:cascade})1412 -> 0.0031s1413-- add_foreign_key("u2f_registrations", "users")1414 -> 0.0033s1415-- add_foreign_key("user_callouts", "users", {:on_delete=>:cascade})1416 -> 0.0033s1417-- add_foreign_key("user_custom_attributes", "users", {:on_delete=>:cascade})1418 -> 0.0035s1419-- add_foreign_key("user_interacted_projects", "projects", {:name=>"fk_722ceba4f7", :on_delete=>:cascade})1420 -> 0.0029s1421-- add_foreign_key("user_interacted_projects", "users", {:name=>"fk_0894651f08", :on_delete=>:cascade})1422 -> 0.0037s1423-- add_foreign_key("user_preferences", "users", {:on_delete=>:cascade})1424 -> 0.0032s1425-- add_foreign_key("user_statuses", "users", {:on_delete=>:cascade})1426 -> 0.0029s1427-- add_foreign_key("user_synced_attributes_metadata", "users", {:on_delete=>:cascade})1428 -> 0.0029s1429-- add_foreign_key("users", "application_setting_terms", {:column=>"accepted_term_id", :name=>"fk_789cd90b35", :on_delete=>:cascade})1430 -> 0.0027s1431-- add_foreign_key("users_star_projects", "projects", {:name=>"fk_22cd27ddfc", :on_delete=>:cascade})1432 -> 0.0031s1433-- add_foreign_key("web_hook_logs", "web_hooks", {:on_delete=>:cascade})1434 -> 0.0030s1435-- add_foreign_key("web_hooks", "projects", {:name=>"fk_0c8ca6d9d1", :on_delete=>:cascade})1436 -> 0.0033s1437-- initialize_schema_migrations_table()1438 -> 0.0311s1439$ date1440Sat Oct 27 12:56:05 UTC 20181441$ JOB_NAME=( $CI_JOB_NAME )1442$ export CI_NODE_INDEX=${JOB_NAME[-2]}1443$ export CI_NODE_TOTAL=${JOB_NAME[-1]}1444$ export KNAPSACK_REPORT_PATH=knapsack/${CI_PROJECT_NAME}/${JOB_NAME[0]}_node_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_report.json1445$ export KNAPSACK_GENERATE_REPORT=true1446$ export SUITE_FLAKY_RSPEC_REPORT_PATH=${FLAKY_RSPEC_SUITE_REPORT_PATH}1447$ export FLAKY_RSPEC_REPORT_PATH=rspec_flaky/all_${JOB_NAME[0]}_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_report.json1448$ export NEW_FLAKY_RSPEC_REPORT_PATH=rspec_flaky/new_${JOB_NAME[0]}_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_report.json1449$ export FLAKY_RSPEC_GENERATE_REPORT=true1450$ export CACHE_CLASSES=true1451$ cp ${KNAPSACK_RSPEC_SUITE_REPORT_PATH} ${KNAPSACK_REPORT_PATH}1452$ [[ -f $FLAKY_RSPEC_REPORT_PATH ]] || echo "{}" > ${FLAKY_RSPEC_REPORT_PATH}1453$ [[ -f $NEW_FLAKY_RSPEC_REPORT_PATH ]] || echo "{}" > ${NEW_FLAKY_RSPEC_REPORT_PATH}1454$ scripts/gitaly-test-spawn1455Checking gitaly-ruby bundle...1456The Gemfile's dependencies are satisfied1457Trying to connect to gitaly: ..... OK1458$ knapsack rspec "--color --format documentation --format RspecJunitFormatter --out junit_rspec.xml"1459Report specs:1460spec/models/cycle_analytics/plan_spec.rb1461spec/services/todo_service_spec.rb1462spec/requests/projects/cycle_analytics_events_spec.rb1463spec/features/issues/bulk_assignment_labels_spec.rb1464spec/features/issues/create_issue_for_single_discussion_in_merge_request_spec.rb1465spec/requests/api/notes_spec.rb1466spec/features/issues/notes_on_issues_spec.rb1467spec/features/projects/show/user_sees_setup_shortcut_buttons_spec.rb1468spec/lib/gitlab/background_migration/populate_merge_request_metrics_with_events_data_spec.rb1469spec/features/admin/admin_settings_spec.rb1470spec/lib/banzai/filter/label_reference_filter_spec.rb1471spec/requests/api/pages/private_access_spec.rb1472spec/controllers/groups/children_controller_spec.rb1473spec/uploaders/attachment_uploader_spec.rb1474spec/features/groups/members/manage_members_spec.rb1475spec/requests/api/pages/internal_access_spec.rb1476spec/lib/gitlab/reference_extractor_spec.rb1477spec/features/dashboard/milestone_filter_spec.rb1478spec/features/milestone_spec.rb1479spec/services/projects/detect_repository_languages_service_spec.rb1480spec/features/profiles/personal_access_tokens_spec.rb1481spec/services/event_create_service_spec.rb1482spec/lib/gitlab/graphql/connections/keyset_connection_spec.rb1483spec/features/container_registry_spec.rb1484spec/services/merge_requests/conflicts/resolve_service_spec.rb1485spec/requests/api/environments_spec.rb1486spec/features/reportable_note/snippets_spec.rb1487spec/features/users/snippets_spec.rb1488spec/models/clusters/platforms/kubernetes_spec.rb1489spec/features/dashboard/milestone_tabs_spec.rb1490spec/services/labels/transfer_service_spec.rb1491spec/features/admin/admin_disables_git_access_protocol_spec.rb1492spec/lib/gitlab/background_migration/delete_diff_files_spec.rb1493spec/lib/gitlab/project_authorizations_spec.rb1494spec/requests/api/namespaces_spec.rb1495spec/finders/milestones_finder_spec.rb1496spec/lib/gitlab/ci/status/build/stop_spec.rb1497spec/features/groups/members/leave_group_spec.rb1498spec/lib/banzai/reference_parser/commit_range_parser_spec.rb1499spec/finders/personal_access_tokens_finder_spec.rb1500spec/features/dashboard/project_member_activity_index_spec.rb1501spec/features/admin/admin_appearance_spec.rb1502spec/views/projects/merge_requests/edit.html.haml_spec.rb1503spec/features/projects/branches/user_deletes_branch_spec.rb1504spec/lib/gitlab/diff/diff_refs_spec.rb1505spec/controllers/projects/avatars_controller_spec.rb1506spec/helpers/submodule_helper_spec.rb1507spec/features/dashboard/label_filter_spec.rb1508spec/lib/gitlab/github_import/importer/labels_importer_spec.rb1509spec/lib/gitlab/ci/build/step_spec.rb1510spec/helpers/visibility_level_helper_spec.rb1511spec/helpers/milestones_helper_spec.rb1512spec/workers/remove_expired_group_links_worker_spec.rb1513spec/lib/gitlab/git_access_wiki_spec.rb1514spec/migrations/clean_up_for_members_spec.rb1515spec/models/ci/build_runner_session_spec.rb1516spec/lib/gitlab/gitlab_import/client_spec.rb1517spec/services/todos/destroy/confidential_issue_service_spec.rb1518spec/lib/gitlab/background_migration/add_merge_request_diff_commits_count_spec.rb1519spec/models/concerns/routable_spec.rb1520spec/presenters/ci/pipeline_presenter_spec.rb1521spec/services/users/create_service_spec.rb1522spec/features/projects/services/user_activates_jetbrains_teamcity_ci_spec.rb1523spec/controllers/projects/tags_controller_spec.rb1524spec/views/notify/pipeline_failed_email.html.haml_spec.rb1525spec/migrations/migrate_gcp_clusters_to_new_clusters_architectures_spec.rb1526spec/features/snippets/explore_spec.rb1527spec/services/ci/ensure_stage_service_spec.rb1528spec/policies/user_policy_spec.rb1529spec/migrations/schedule_merge_request_diff_migrations_spec.rb1530spec/migrations/clean_stages_statuses_migration_spec.rb1531spec/lib/gitlab/background_migration/set_confidential_note_events_on_services_spec.rb1532spec/tasks/gitlab/uploads/check_rake_spec.rb1533spec/lib/gitlab/ci/status/build/action_spec.rb1534spec/helpers/user_callouts_helper_spec.rb1535spec/services/wiki_pages/destroy_service_spec.rb1536spec/features/snippets/embedded_snippet_spec.rb1537spec/models/blob_viewer/gitlab_ci_yml_spec.rb1538spec/controllers/import/gitlab_projects_controller_spec.rb1539spec/workers/repository_remove_remote_worker_spec.rb1540spec/views/projects/blob/_viewer.html.haml_spec.rb1541spec/lib/gitlab/legacy_github_import/label_formatter_spec.rb1542spec/workers/concerns/gitlab/github_import/rescheduling_methods_spec.rb1543spec/services/users/last_push_event_service_spec.rb1544spec/features/merge_requests/user_views_all_merge_requests_spec.rb1545spec/models/project_services/pushover_service_spec.rb1546spec/controllers/groups/labels_controller_spec.rb1547spec/rubocop/cop/code_reuse/presenter_spec.rb1548spec/services/protected_branches/destroy_service_spec.rb1549spec/controllers/admin/applications_controller_spec.rb1550spec/views/projects/imports/new.html.haml_spec.rb1551spec/helpers/graph_helper_spec.rb1552spec/lib/gitlab/ci/pipeline/expression/parser_spec.rb1553spec/services/deploy_keys/create_service_spec.rb1554spec/models/project_services/bugzilla_service_spec.rb1555spec/models/release_spec.rb1556spec/models/concerns/strip_attribute_spec.rb1557spec/controllers/admin/identities_controller_spec.rb1558spec/controllers/metrics_controller_spec.rb1559spec/rubocop/cop/qa/element_with_pattern_spec.rb1560spec/models/concerns/triggerable_hooks_spec.rb1561spec/lib/gitlab/redis/queues_spec.rb1562spec/serializers/move_to_project_entity_spec.rb1563spec/lib/gitlab/dependency_linker/podspec_linker_spec.rb1564spec/lib/gitlab/github_import/client_spec.rb1565spec/services/ci/update_runner_service_spec.rb1566spec/lib/gitlab/prometheus/additional_metrics_parser_spec.rb1567spec/lib/rspec_flaky/config_spec.rb1568spec/lib/gitlab/health_checks/db_check_spec.rb1569spec/lib/gitlab/ci/reports/test_suite_comparer_spec.rb1570spec/lib/gitlab/github_import/caching_spec.rb1571spec/lib/gitlab/ci/config/entry/service_spec.rb1572spec/serializers/move_to_project_serializer_spec.rb1573spec/lib/gitlab/dependency_linker/cartfile_linker_spec.rb1574spec/tasks/gitlab/db_rake_spec.rb1575spec/lib/gitlab/file_detector_spec.rb1576spec/lib/rspec_flaky/example_spec.rb1577spec/helpers/tab_helper_spec.rb1578spec/lib/json_web_token/rsa_token_spec.rb1579spec/migrations/move_uploads_to_system_dir_spec.rb1580spec/lib/gitlab/ci/config/entry/coverage_spec.rb1581spec/lib/gitlab/project_transfer_spec.rb1582spec/lib/gitlab/import_export/version_checker_spec.rb1583spec/lib/gitlab/health_checks/gitaly_check_spec.rb1584spec/helpers/blame_helper_spec.rb1585spec/lib/gitlab/metrics/subscribers/active_record_spec.rb1586spec/serializers/test_reports_comparer_entity_spec.rb1587spec/rubocop/cop/sidekiq_options_queue_spec.rb1588spec/lib/gitlab/diff/formatters/image_formatter_spec.rb1589spec/serializers/test_suite_comparer_entity_spec.rb1590spec/workers/gitlab/github_import/import_issue_worker_spec.rb1591spec/workers/concerns/repository_check_queue_spec.rb1592spec/lib/system_check_spec.rb1593spec/lib/gitlab/string_regex_marker_spec.rb1594spec/lib/bitbucket/paginator_spec.rb1595spec/helpers/defer_script_tag_helper_spec.rb1596spec/graphql/types/permission_types/merge_request_spec.rb1597Leftover specs:1598warning: parser/current is loading parser/ruby24, which recognizes1599warning: 2.4.4-compliant syntax, but you are running 2.4.5.1600warning: please see https://github.com/whitequark/parser#compatibility-with-ruby-mri.1601Knapsack report generator started!1602==> Setting up GitLab Shell...1603 GitLab Shell set up in 0.070436464 seconds...1604==> Setting up Gitaly...1605 Gitaly set up in 0.000221664 seconds...1606CycleAnalytics#plan1607 start condition: issue associated with a milestone1608 end condition: issue mentioned in a commit1609 finds the median of available durations between the two conditions1610 when the data belongs to another project1611 returns nil1612 when the end condition happens before the start condition1613 returns nil1614 start condition NOT PRESENT: issue associated with a milestone1615 end condition: issue mentioned in a commit1616 returns nil1617 start condition: issue associated with a milestone1618 end condition NOT PRESENT: issue mentioned in a commit1619 returns nil1620 start condition: list label added to issue1621 end condition: issue mentioned in a commit1622 finds the median of available durations between the two conditions1623 when the data belongs to another project1624 returns nil1625 when the end condition happens before the start condition1626 returns nil1627 start condition NOT PRESENT: list label added to issue1628 end condition: issue mentioned in a commit1629 returns nil1630 start condition: list label added to issue1631 end condition NOT PRESENT: issue mentioned in a commit1632 returns nil1633 start condition: issue associated with a milestone and list label added to issue1634 end condition: issue mentioned in a commit1635 finds the median of available durations between the two conditions1636 when the data belongs to another project1637 returns nil1638 when the end condition happens before the start condition1639 returns nil1640 start condition NOT PRESENT: issue associated with a milestone and list label added to issue1641 end condition: issue mentioned in a commit1642 returns nil1643 start condition: issue associated with a milestone and list label added to issue1644 end condition NOT PRESENT: issue mentioned in a commit1645 returns nil1646 when none of the start / end conditions are matched1647 returns nil1648 when a regular label (instead of a list label) is added to the issue1649 returns nil1650TodoService1651 updates cached counts when a todo is created1652 Issues1653 #new_issue1654 creates a todo if assigned1655 does not create a todo if unassigned1656 creates a todo if assignee is the current user1657 creates a todo for each valid mentioned user1658 creates a directly addressed todo for each valid addressed user1659 creates correct todos for each valid user based on the type of mention1660 does not create todo if user can not see the issue when issue is confidential1661 does not create directly addressed todo if user cannot see the issue when issue is confidential1662 when a private group is mentioned1663 creates a todo for group members1664 #update_issue1665 creates a todo for each valid mentioned user not included in skip_users1666 creates a todo for each valid user not included in skip_users based on the type of mention1667 creates a directly addressed todo for each valid addressed user not included in skip_users1668 does not create a todo if user was already mentioned and todo is pending1669 does not create a todo if user was already mentioned and todo is done1670 does not create a directly addressed todo if user was already mentioned or addressed and todo is pending1671 does not create a directly addressed todo if user was already mentioned or addressed and todo is done1672 does not create todo if user can not see the issue when issue is confidential1673 does not create a directly addressed todo if user can not see the issue when issue is confidential1674 issues with a task list1675 does not create todo when tasks are marked as completed1676 does not create directly addressed todo when tasks are marked as completed1677 does not raise an error when description not change1678 #close_issue1679 marks related pending todos to the target for the user as done1680 #destroy_target1681 refreshes the todos count cache for users with todos on the target1682 does not refresh the todos count cache for users with only done todos on the target1683 yields the target to the caller1684 #reassigned_issue1685 creates a pending todo for new assignee1686 does not create a todo if unassigned1687 creates a todo if new assignee is the current user1688 #mark_pending_todos_as_done1689 marks related pending todos to the target for the user as done1690 cached counts1691 updates when todos change1692 #mark_todos_as_done1693 behaves like updating todos state1694 updates related todos for the user with the new_state1695 returns the updated ids1696 cached counts1697 updates when todos change1698 #mark_todos_as_done_by_ids1699 behaves like updating todos state1700 updates related todos for the user with the new_state1701 returns the updated ids1702 cached counts1703 updates when todos change1704 #mark_todos_as_pending1705 behaves like updating todos state1706 updates related todos for the user with the new_state1707 returns the updated ids1708 cached counts1709 updates when todos change1710 #mark_todos_as_pending_by_ids1711 behaves like updating todos state1712 updates related todos for the user with the new_state1713 returns the updated ids1714 cached counts1715 updates when todos change1716 #new_note1717 mark related pending todos to the noteable for the note author as done1718 does not mark related pending todos it is a system note1719 creates a todo for each valid mentioned user1720 creates a todo for each valid user based on the type of mention1721 creates a directly addressed todo for each valid addressed user1722 does not create todo if user can not see the issue when leaving a note on a confidential issue1723 does not create a directly addressed todo if user can not see the issue when leaving a note on a confidential issue1724 does not create todo when leaving a note on snippet1725 on commit1726 creates a todo for each valid mentioned user when leaving a note on commit1727 creates a directly addressed todo for each valid mentioned user when leaving a note on commit1728 #mark_todo1729 creates a todo from a issue1730 #todo_exists?1731 returns false when no todo exist for the given issuable1732 returns true when a todo exist for the given issuable1733 Merge Requests1734 #new_merge_request1735 creates a pending todo if assigned1736 does not create a todo if unassigned1737 does not create a todo if assignee is the current user1738 creates a todo for each valid mentioned user1739 creates a todo for each valid user based on the type of mention1740 creates a directly addressed todo for each valid addressed user1741 #update_merge_request1742 creates a todo for each valid mentioned user not included in skip_users1743 creates a todo for each valid user not included in skip_users based on the type of mention1744 creates a directly addressed todo for each valid addressed user not included in skip_users1745 does not create a todo if user was already mentioned and todo is pending1746 does not create a todo if user was already mentioned and todo is done1747 does not create a directly addressed todo if user was already mentioned or addressed and todo is pending1748 does not create a directly addressed todo if user was already mentioned or addressed and todo is done1749 with a task list1750 does not create todo when tasks are marked as completed1751 does not create directly addressed todo when tasks are marked as completed1752 does not raise an error when description not change1753 #close_merge_request1754 marks related pending todos to the target for the user as done1755 #reassigned_merge_request1756 creates a pending todo for new assignee1757 does not create a todo if unassigned1758 creates a todo if new assignee is the current user1759 does not create a todo for guests1760 does not create a directly addressed todo for guests1761 #merge_merge_request1762 marks related pending todos to the target for the user as done1763 does not create todo for guests1764 does not create directly addressed todo for guests1765 #new_award_emoji1766 marks related pending todos to the target for the user as done1767 #merge_request_build_failed1768 creates a pending todo for each merge_participant1769 #merge_request_push1770 marks related pending todos to the target for the user as done1771 #merge_request_became_unmergeable1772 creates a pending todo for each merge_participant1773 #mark_todo1774 creates a todo from a merge request1775 #new_note1776 creates a todo for mentioned user on new diff note1777 creates a directly addressed todo for addressed user on new diff note1778 creates a todo for mentioned user on legacy diff note1779 does not create todo for guests1780 #update_note1781 creates a todo for each valid mentioned user not included in skip_users1782 creates a todo for each valid user not included in skip_users based on the type of mention1783 creates a directly addressed todo for each valid addressed user not included in skip_users1784 does not create a todo if user was already mentioned and todo is pending1785 does not create a todo if user was already mentioned and todo is done1786 does not create a directly addressed todo if user was already mentioned or addressed and todo is pending1787 does not create a directly addressed todo if user was already mentioned or addressed and todo is done1788 #mark_todos_as_done1789 marks a relation of todos as done1790 marks an array of todos as done1791 returns the ids of updated todos1792 when some of the todos are done already1793 returns the ids of those still pending1794 returns an empty array if all are done1795 #mark_todos_as_done_by_ids1796 marks an array of todo ids as done1797 marks a single todo id as done1798 caches the number of todos of a user1799cycle analytics events1800 GET /:namespace/:project/cycle_analytics/events/issues1801 lists the issue events1802 lists the plan events1803 lists the code events1804 lists the test events1805 lists the review events1806 lists the staging events1807 lists the production events1808 specific branch1809 lists the test events1810 with private project and builds1811 does not list the test events1812 does not list the staging events1813 lists the issue events1814Issues > Labels bulk assignment1815 as an allowed user1816 sidebar1817 is present when bulk edit is enabled1818 is not present when bulk edit is disabled1819 can bulk assign1820 a label1821 to all issues1822 should text "bug"1823 to a issue1824 should not text "bug"1825 multiple labels1826 to all issues1827 should text "feature"1828 to a issue1829 should not text "feature"1830 can assign a label to all issues when label is present1831 should text "bug"1832 can bulk un-assign1833 all labels to all issues1834 should not text "feature"1835 a label to a issue1836 should text "feature"1837 a label and keep the others label1838 should text "feature"1839 toggling a milestone1840 setting a milestone1841 keeps labels1842 setting a milestone and adding another label1843 keeps existing label and new label is present1844 setting a milestone and removing existing label1845 keeps existing label and new label is present1846 unsetting a milestone1847 keeps labels1848 toggling checked issues1849 should not text "feature"1850 unmarking common label1851 applies label from filtered results1852 as a guest1853 cannot bulk assign labels1854 should not have visible css ".issue-check"1855Resolve an open discussion in a merge request by creating an issue1856 As a user with access to the project1857 has a link to create a new issue for a discussion1858 with the internal tracker disabled1859 does not show a link to create a new issue1860 resolving the discussion1861 hides the link for creating a new issue1862 shows the link for creating a new issue when unresolving a discussion1863 creating the issue1864 has a hidden field for the discussion1865 behaves like creating an issue for a discussion1866 shows an issue with the title filled in1867 has a mention of the discussion in the description1868 can create a new issue for the project1869 resolves the discussion in the merge request1870 shows a flash messaage after resolving a discussion1871 has a hidden field for the merge request1872 as a reporter1873 Shows a notice to ask someone else to resolve the discussions1874API::Notes1875 when noteable is an Issue1876 behaves like noteable API1877 GET /projects/:id/issues/:noteable_id/notes1878 returns an array of notes1879 returns a 404 error when noteable id not found1880 returns 404 when not authorized1881 sorting1882 sorts by created_at in descending order by default1883 sorts by ascending order when requested1884 sorts by updated_at in descending order when requested1885 sorts by updated_at in ascending order when requested1886 GET /projects/:id/issues/:noteable_id/notes/:note_id1887 returns a note by id1888 returns a 404 error if note not found1889 POST /projects/:id/issues/:noteable_id/notes1890 creates a new note1891 returns a 400 bad request error if body not given1892 returns a 401 unauthorized error if user not authenticated1893 creates an activity event when a note is created1894 setting created_at1895 by an admin1896 sets the creation time on the new note1897 by a project owner1898 sets the creation time on the new note1899 by a group owner1900 sets the creation time on the new note1901 by another user1902 ignores the given creation time1903 when the user is posting an award emoji on a noteable created by someone else1904 creates a new note1905 when the user is posting an award emoji on his/her own noteable1906 creates a new note1907 when user does not have access to read the noteable1908 responds with 4041909 PUT /projects/:id/issues/:noteable_id/notes/:note_id1910 returns modified note1911 returns a 404 error when note id not found1912 returns a 400 bad request error if body not given1913 DELETE /projects/:id/issues/:noteable_id/notes/:note_id1914 deletes a note1915 returns a 404 error when note id not found1916 behaves like 412 response1917 for a modified ressource1918 returns 4121919 for an unmodified ressource1920 returns accepted1921 when user does not have access to create noteable1922 responds with resource not found error1923 does not create new note1924 when referencing other project1925 GET /projects/:id/noteable/:noteable_id/notes1926 current user cannot view the notes1927 returns an empty array1928 issue is confidential1929 returns 4041930 current user can view the note1931 returns an empty array1932 GET /projects/:id/noteable/:noteable_id/notes/:note_id1933 current user cannot view the notes1934 returns a 404 error1935 when issue is confidential1936 returns 4041937 current user can view the note1938 returns an issue note by id1939 when noteable is a Snippet1940 behaves like noteable API1941 GET /projects/:id/snippets/:noteable_id/notes1942 returns an array of notes1943 returns a 404 error when noteable id not found1944 returns 404 when not authorized1945 sorting1946 sorts by created_at in descending order by default1947 sorts by ascending order when requested1948 sorts by updated_at in descending order when requested1949 sorts by updated_at in ascending order when requested1950 GET /projects/:id/snippets/:noteable_id/notes/:note_id1951 returns a note by id1952 returns a 404 error if note not found1953 POST /projects/:id/snippets/:noteable_id/notes1954 creates a new note1955 returns a 400 bad request error if body not given1956 returns a 401 unauthorized error if user not authenticated1957 creates an activity event when a note is created1958 setting created_at1959 by an admin1960 sets the creation time on the new note1961 by a project owner1962 sets the creation time on the new note1963 by a group owner1964 sets the creation time on the new note1965 by another user1966 ignores the given creation time1967 when the user is posting an award emoji on a noteable created by someone else1968 creates a new note1969 when the user is posting an award emoji on his/her own noteable1970 creates a new note1971 when user does not have access to read the noteable1972 responds with 4041973 PUT /projects/:id/snippets/:noteable_id/notes/:note_id1974 returns modified note1975 returns a 404 error when note id not found1976 returns a 400 bad request error if body not given1977 DELETE /projects/:id/snippets/:noteable_id/notes/:note_id1978 deletes a note1979 returns a 404 error when note id not found1980 behaves like 412 response1981 for a modified ressource1982 returns 4121983 for an unmodified ressource1984 returns accepted1985 when noteable is a Merge Request1986 behaves like noteable API1987 GET /projects/:id/merge_requests/:noteable_id/notes1988 returns an array of notes1989 returns a 404 error when noteable id not found1990 returns 404 when not authorized1991 sorting1992 sorts by created_at in descending order by default1993 sorts by ascending order when requested1994 sorts by updated_at in descending order when requested1995 sorts by updated_at in ascending order when requested1996 GET /projects/:id/merge_requests/:noteable_id/notes/:note_id1997 returns a note by id1998 returns a 404 error if note not found1999 POST /projects/:id/merge_requests/:noteable_id/notes2000 creates a new note2001 returns a 400 bad request error if body not given2002 returns a 401 unauthorized error if user not authenticated2003 creates an activity event when a note is created2004 setting created_at2005 by an admin2006 sets the creation time on the new note2007 by a project owner2008 sets the creation time on the new note2009 by a group owner2010 sets the creation time on the new note2011 by another user2012 ignores the given creation time2013 when the user is posting an award emoji on a noteable created by someone else2014 creates a new note2015 when the user is posting an award emoji on his/her own noteable2016 creates a new note2017 when user does not have access to read the noteable2018 responds with 4042019 PUT /projects/:id/merge_requests/:noteable_id/notes/:note_id2020 returns modified note2021 returns a 404 error when note id not found2022 returns a 400 bad request error if body not given2023 DELETE /projects/:id/merge_requests/:noteable_id/notes/:note_id2024 deletes a note2025 returns a 404 error when note id not found2026 behaves like 412 response2027 for a modified ressource2028 returns 4122029 for an unmodified ressource2030 returns accepted2031 when the merge request discussion is locked2032 when a user is a team member2033 returns 200 status2034 creates a new note2035 when a user is not a team member2036 returns 403 status2037 does not create a new note2038Create notes on issues2039 highlights the current user in a comment2040 mentioning issue on a private project2041 behaves like notes with reference2042 creates a note with reference and cross references the issue2043 mentioning issue on an internal project2044 behaves like notes with reference2045 creates a note with reference and cross references the issue2046 mentioning issue on a public project2047 behaves like notes with reference2048 creates a note with reference and cross references the issue2049 mentioning merge request on a private project2050 behaves like notes with reference2051 creates a note with reference and cross references the issue2052 mentioning merge request on an internal project2053 behaves like notes with reference2054 creates a note with reference and cross references the issue2055 mentioning merge request on a public project2056 behaves like notes with reference2057 creates a note with reference and cross references the issue2058Projects > Show > User sees setup shortcut buttons2059 empty project2060 as a normal user2061 no Auto DevOps button if can not manage pipelines2062 "Auto DevOps enabled" button not linked2063 as a maintainer2064 "New file" button linked to new file page2065 "Add Readme" button linked to new file populated for a readme2066 "Add license" button linked to new file populated for a license2067 Auto DevOps button2068 when Auto DevOps is enabled2069 "Auto DevOps enabled" anchor linked to settings page2070 when Auto DevOps is not enabled2071 "Enable Auto DevOps" button linked to settings page2072 Kubernetes cluster button2073 "Add Kubernetes cluster" button linked to clusters page2074 "Kubernetes cluster" anchor linked to cluster page2075 populated project2076 as a normal user2077 when Auto DevOps is enabled2078 "Auto DevOps enabled" button not linked2079 when Auto DevOps is not enabled2080 no Auto DevOps button if can not manage pipelines2081 no Kubernetes cluster button if can not manage clusters2082 as a maintainer2083 no "Add Changelog" button if the project already has a changelog2084 no "Add license" button if the project already has a license2085 no "Add Contribution guide" button if the project already has a contribution guide2086 Readme button2087 when the project has a populated Readme2088 show the "Readme" anchor2089 when the project has an empty Readme2090 show the "Readme" anchor2091 when the project does not have a Readme2092 shows the "Add Readme" button2093 GitLab CI configuration button2094 when Auto DevOps is enabled2095 no "Set up CI/CD" button if the project has Auto DevOps enabled2096 when Auto DevOps is not enabled2097 "Set up CI/CD" button linked to new file populated for a .gitlab-ci.yml2098 no "Set up CI/CD" button if the project already has a .gitlab-ci.yml2099 Auto DevOps button2100 when Auto DevOps is enabled2101 "Auto DevOps enabled" anchor linked to settings page2102 when Auto DevOps is not enabled2103 "Enable Auto DevOps" button linked to settings page2104 no Auto DevOps button if Auto DevOps callout is shown2105 no "Enable Auto DevOps" button when .gitlab-ci.yml already exists2106 Kubernetes cluster button2107 "Add Kubernetes cluster" button linked to clusters page2108 "Kubernetes cluster" button linked to cluster page2109Gitlab::BackgroundMigration::PopulateMergeRequestMetricsWithEventsData2110NOTICE: index "index_projects_on_lower_name" does not exist, skipping2111NOTICE: index "index_on_users_name_lower" does not exist, skipping2112NOTICE: index "index_redirect_routes_on_path_unique_text_pattern_ops" does not exist, skipping2113NOTICE: index "index_on_namespaces_lower_name" does not exist, skipping2114 #perform2115 inserts metrics and updates closed and merged events2116 #insert_metrics_for_range2117 inserts merge_request_metrics for merge_requests without one2118 does not inserts merge_request_metrics for MRs out of given range2119 #update_metrics_with_events_data2120 closed events data update2121 migrates multiple MR metrics with closed event data2122 does not updates metrics out of given range2123 merged events data update2124 migrates multiple MR metrics with merged event data2125 does not updates metrics out of given range2126Admin updates settings2127 General page2128 Change visibility settings2129 Uncheck all restricted visibility levels2130 Modify import sources2131 Change Visibility and Access Controls2132 Change Keys settings2133 Change Account and Limit Settings2134 Change New users set to external2135 Change Sign-in restrictions2136 Terms of Service2137 Modify oauth providers2138 Oauth providers do not raise validation errors when saving unrelated changes2139 Configure web terminal2140 Integrations page2141 Enable hiding third party offers2142 Change Slack Notifications Service template settings2143 CI/CD page2144 Change CI/CD settings2145 Reporting page2146 Change Spam settings2147 Metrics and profiling page2148 Change Influx settings2149 Change Prometheus settings2150 Change Performance bar settings2151 loads usage ping payload on click2152 Network page2153 Enable outbound requests2154 Preferences page2155 Change Help page2156 Change Pages settings2157Banzai::Filter::LabelReferenceFilter2158 requires project context2159 ignores valid references contained inside 'pre' element2160 ignores valid references contained inside 'code' element2161 ignores valid references contained inside 'a' element2162 ignores valid references contained inside 'style' element2163 includes default classes2164 includes a data-project attribute2165 includes a data-label attribute2166 supports an :only_path context2167 project that does not exist referenced2168 does not link reference2169 label span element2170 includes default classes2171 includes a style attribute2172 Integer-based references2173 links to a valid reference2174 links with adjacent text2175 ignores invalid label IDs2176 String-based single-word references2177 links to a valid reference2178 links with adjacent text2179 ignores invalid label names2180 String-based single-word references that begin with a digit2181 links to a valid reference2182 links with adjacent text2183 ignores invalid label names2184 String-based single-word references with special characters2185 links to a valid reference2186 does not include trailing punctuation2187 ignores invalid label names2188 String-based multi-word references in quotes2189 links to a valid reference2190 links with adjacent text2191 ignores invalid label names2192 String-based multi-word references that begin with a digit2193 links to a valid reference2194 links with adjacent text2195 ignores invalid label names2196 String-based multi-word references with special characters in quotes2197 links to a valid reference2198 links with adjacent text2199 ignores invalid label names2200 consecutive references2201 separated with a comma2202 links to valid references2203 separated with a space2204 links to valid references2205 edge cases2206 gracefully handles non-references matching the pattern2207 referencing a label in a link href2208 links to a valid reference2209 links with adjacent text2210 includes a data-project attribute2211 includes a data-label attribute2212 group label references2213 without project reference2214 links to a valid reference2215 links with adjacent text2216 ignores invalid label names2217 with project reference2218 links to a valid reference2219 links with adjacent text2220 ignores invalid label names2221 cross-project / cross-namespace complete reference2222 links to a valid reference2223 has valid color2224 has valid link text2225 has valid text2226 ignores invalid IDs on the referenced label2227 cross-project / same-namespace complete reference2228 links to a valid reference2229 has valid color2230 has valid link text2231 has valid text2232 ignores invalid IDs on the referenced label2233 cross-project shorthand reference2234 links to a valid reference2235 has valid color2236 has valid link text2237 has valid text2238 ignores invalid IDs on the referenced label2239 cross group label references2240 points to referenced project issues page2241 has valid color2242 has valid link text2243 has valid text2244 ignores invalid IDs on the referenced label2245 cross-project / same-group_label complete reference2246 points to referenced project issues page2247 has valid color2248 has valid link text2249 has valid text2250 ignores invalid IDs on the referenced label2251 same project / same group_label complete reference2252 points to referenced project issues page2253 has valid color2254 has valid link text2255 has valid text2256 ignores invalid IDs on the referenced label2257 same project / same group_label shorthand reference2258 points to referenced project issues page2259 has valid color2260 has valid link text2261 has valid text2262 ignores invalid IDs on the referenced label2263 group context2264 points to the page defined in label_url_method2265 finds labels also in ancestor groups2266 points to referenced project issues page2267Private Project Pages Access2268 Project should be private2269 #private?2270 should be truthy2271 GET /projects/:id/pages_access2272 access depends on the level2273 pages_access_level: 0, with_user: "admin", expected_result: 4032274 correct return value2275 pages_access_level: 0, with_user: "owner", expected_result: 4032276 correct return value2277 pages_access_level: 0, with_user: "master", expected_result: 4032278 correct return value2279 pages_access_level: 0, with_user: "developer", expected_result: 4032280 correct return value2281 pages_access_level: 0, with_user: "reporter", expected_result: 4032282 correct return value2283 pages_access_level: 0, with_user: "guest", expected_result: 4032284 correct return value2285 pages_access_level: 0, with_user: "user", expected_result: 4042286 correct return value2287 pages_access_level: 0, with_user: nil, expected_result: 4042288 correct return value2289 pages_access_level: 30, with_user: "admin", expected_result: 2002290 correct return value2291 pages_access_level: 30, with_user: "owner", expected_result: 2002292 correct return value2293 pages_access_level: 30, with_user: "master", expected_result: 2002294 correct return value2295 pages_access_level: 30, with_user: "developer", expected_result: 2002296 correct return value2297 pages_access_level: 30, with_user: "reporter", expected_result: 2002298 correct return value2299 pages_access_level: 30, with_user: "guest", expected_result: 2002300 correct return value2301 pages_access_level: 30, with_user: "user", expected_result: 4042302 correct return value2303 pages_access_level: 30, with_user: nil, expected_result: 4042304 correct return value2305 pages_access_level: 20, with_user: "admin", expected_result: 2002306 correct return value2307 pages_access_level: 20, with_user: "owner", expected_result: 2002308 correct return value2309 pages_access_level: 20, with_user: "master", expected_result: 2002310 correct return value2311 pages_access_level: 20, with_user: "developer", expected_result: 2002312 correct return value2313 pages_access_level: 20, with_user: "reporter", expected_result: 2002314 correct return value2315 pages_access_level: 20, with_user: "guest", expected_result: 2002316 correct return value2317 pages_access_level: 20, with_user: "user", expected_result: 4042318 correct return value2319 pages_access_level: 20, with_user: nil, expected_result: 4042320 correct return value2321 pages_access_level: 10, with_user: "admin", expected_result: 2002322 correct return value2323 pages_access_level: 10, with_user: "owner", expected_result: 2002324 correct return value2325 pages_access_level: 10, with_user: "master", expected_result: 2002326 correct return value2327 pages_access_level: 10, with_user: "developer", expected_result: 2002328 correct return value2329 pages_access_level: 10, with_user: "reporter", expected_result: 2002330 correct return value2331 pages_access_level: 10, with_user: "guest", expected_result: 2002332 correct return value2333 pages_access_level: 10, with_user: "user", expected_result: 4042334 correct return value2335 pages_access_level: 10, with_user: nil, expected_result: 4042336 correct return value2337Groups::ChildrenController2338 GET #index2339 for projects2340 as a user2341 shows all children2342 being member of private subgroup2343 shows public and private children the user is member of2344 as a guest2345 shows the public children2346 for subgroups2347 as a user2348 shows all children2349 being member of private subgroup2350 shows public and private children the user is member of2351 as a guest2352 shows the public children2353 filtering children2354 expands the tree for matching projects2355 expands the tree for matching subgroups2356 merges the trees correctly2357 expands the tree upto a specified parent2358 returns an array with one element when only one result is matched2359 returns an empty array when there are no search results2360 succeeds if multiple pages contain matching subgroups2361 includes pagination headers2362 queries per rendered element2363 queries the expected amount for a group row2364 queries the expected amount for a project row2365 when rendering hierarchies2366 queries the expected amount when nested rows are increased for a group2367 queries the expected amount when a new group match is added2368 queries the expected amount when nested rows are increased for a project2369 pagination2370 with only projects2371 has projects on the first page2372 has projects on the second page2373 with subgroups and projects2374 contains all subgroups2375 contains the project and group on the second page2376 with a mixed first page2377 correctly calculates the counts2378AttachmentUploader2379 behaves like builds correct paths2380 #store_dir2381 behaves like matches the method pattern2382 should match /uploads\/-\/system\/note\/attachment\//2383 #cache_dir2384 behaves like matches the method pattern2385 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:6 (PENDING: No pattern provided, skipping.)2386 #work_dir2387 behaves like matches the method pattern2388 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:6 (PENDING: No pattern provided, skipping.)2389 #upload_path2390 behaves like matches the method pattern2391 should match /uploads\/-\/system\/note\/attachment\//2392 #relative_path2393 is relative2394 .absolute_path2395 behaves like matches the method pattern2396 should match /\/builds\/gitlab-org\/gitlab-ce\/tmp\/tests\/public\/uploads\/-\/system\/note\/attachment\//2397 .base_dir2398 behaves like matches the method pattern2399 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:6 (PENDING: No pattern provided, skipping.)2400 object_store is REMOTE2401 behaves like builds correct paths2402 #store_dir2403 behaves like matches the method pattern2404 should match /note\/attachment\//2405 #cache_dir2406 behaves like matches the method pattern2407 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:6 (PENDING: No pattern provided, skipping.)2408 #work_dir2409 behaves like matches the method pattern2410 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:6 (PENDING: No pattern provided, skipping.)2411 #upload_path2412 behaves like matches the method pattern2413 should match /note\/attachment\//2414 #relative_path2415 is relative2416 .absolute_path2417 behaves like matches the method pattern2418 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:6 (PENDING: No pattern provided, skipping.)2419 .base_dir2420 behaves like matches the method pattern2421 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:6 (PENDING: No pattern provided, skipping.)2422 #migrate!2423 behaves like migrates2424 returns corresponding file type2425 does nothing when migrating to the current store2426 migrate to the specified store2427 removes the original file after the migration2428 can access to the original file during migration2429 when migrate! is not occupied by another process2430 executes migrate!2431 executes use_file2432 when migrate! is occupied by another process2433 does not execute migrate!2434 does not execute use_file2435 migration is unsuccessful2436 when the store is not supported2437 does not update the object_store2438 does not delete the original file2439 upon a fog failure2440 does not update the object_store2441 does not delete the original file2442 upon a database failure2443 does not update the object_store2444 does not delete the original file2445 behaves like migrates2446 returns corresponding file type2447 does nothing when migrating to the current store2448 migrate to the specified store2449 removes the original file after the migration2450 can access to the original file during migration2451 when migrate! is not occupied by another process2452 executes migrate!2453 executes use_file2454 when migrate! is occupied by another process2455 does not execute migrate!2456 does not execute use_file2457 migration is unsuccessful2458 when the store is not supported2459 does not update the object_store2460 does not delete the original file2461 upon a fog failure2462 does not update the object_store2463 does not delete the original file2464 upon a database failure2465 does not update the object_store2466 does not delete the original file2467Groups > Members > Manage members2468 update user to owner level2469 add user to group2470 do not disclose email addresses2471 remove user from group2472 add yourself to group when already an owner2473 invite user to group2474 guest can not manage other users2475Internal Project Pages Access2476 Project should be internal2477 #internal?2478 should be truthy2479 GET /projects/:id/pages_access2480 access depends on the level2481 pages_access_level: 0, with_user: "admin", expected_result: 4032482 correct return value2483 pages_access_level: 0, with_user: "owner", expected_result: 4032484 correct return value2485 pages_access_level: 0, with_user: "master", expected_result: 4032486 correct return value2487 pages_access_level: 0, with_user: "developer", expected_result: 4032488 correct return value2489 pages_access_level: 0, with_user: "reporter", expected_result: 4032490 correct return value2491 pages_access_level: 0, with_user: "guest", expected_result: 4032492 correct return value2493 pages_access_level: 0, with_user: "user", expected_result: 4032494 correct return value2495 pages_access_level: 0, with_user: nil, expected_result: 4042496 correct return value2497 pages_access_level: 30, with_user: "admin", expected_result: 2002498 correct return value2499 pages_access_level: 30, with_user: "owner", expected_result: 2002500 correct return value2501 pages_access_level: 30, with_user: "master", expected_result: 2002502 correct return value2503 pages_access_level: 30, with_user: "developer", expected_result: 2002504 correct return value2505 pages_access_level: 30, with_user: "reporter", expected_result: 2002506 correct return value2507 pages_access_level: 30, with_user: "guest", expected_result: 2002508 correct return value2509 pages_access_level: 30, with_user: "user", expected_result: 2002510 correct return value2511 pages_access_level: 30, with_user: nil, expected_result: 4042512 correct return value2513 pages_access_level: 20, with_user: "admin", expected_result: 2002514 correct return value2515 pages_access_level: 20, with_user: "owner", expected_result: 2002516 correct return value2517 pages_access_level: 20, with_user: "master", expected_result: 2002518 correct return value2519 pages_access_level: 20, with_user: "developer", expected_result: 2002520 correct return value2521 pages_access_level: 20, with_user: "reporter", expected_result: 2002522 correct return value2523 pages_access_level: 20, with_user: "guest", expected_result: 2002524 correct return value2525 pages_access_level: 20, with_user: "user", expected_result: 2002526 correct return value2527 pages_access_level: 20, with_user: nil, expected_result: 4042528 correct return value2529 pages_access_level: 10, with_user: "admin", expected_result: 2002530 correct return value2531 pages_access_level: 10, with_user: "owner", expected_result: 2002532 correct return value2533 pages_access_level: 10, with_user: "master", expected_result: 2002534 correct return value2535 pages_access_level: 10, with_user: "developer", expected_result: 2002536 correct return value2537 pages_access_level: 10, with_user: "reporter", expected_result: 2002538 correct return value2539 pages_access_level: 10, with_user: "guest", expected_result: 2002540 correct return value2541 pages_access_level: 10, with_user: "user", expected_result: 4032542 correct return value2543 pages_access_level: 10, with_user: nil, expected_result: 4042544 correct return value2545Gitlab::ReferenceExtractor2546 accesses valid user objects2547 ignores user mentions inside specific elements2548 does not include anchors from table of contents in issue references2549 accesses valid issue objects2550 accesses valid merge requests2551 accesses valid labels2552 accesses valid snippets2553 accesses valid commits2554 accesses valid commit ranges2555 directly addressed users2556 when a user is directly addressed2557 accesses the user object which is mentioned in the beginning of the line2558 doesn't access the user object if it's not mentioned in the beginning of the line2559 when multiple users are addressed2560 accesses the user objects which are mentioned in the beginning of the line2561 doesn't access the user objects if they are not mentioned in the beginning of the line2562 when multiple users are addressed in different paragraphs2563 accesses user objects which are mentioned in the beginning of each paragraph2564 with an external issue tracker2565 when GitLab issues are enabled2566 returns both JIRA and internal issues2567 returns only JIRA issues if the internal one does not exists2568 when GitLab issues are disabled2569 returns only JIRA issues2570 with a project with an underscore2571 handles project issue references2572 #all2573 returns all referables2574 .references_pattern2575 should be a kind of Regexp2576 referables prefixes2577 returns all supported prefixes2578 does not allow one prefix for multiple referables if not allowed specificly2579Dashboard > milestone filter2580 default state2581 shows issues with Any Milestone2582 filtering by milestone2583 shows issues with Milestone v1.02584 should not change active Milestone unless clicked2585 with milestone filter in URL2586 has milestone selected2587 removes milestone filter from URL after clicking "Any Milestone"2588Milestone2589 Create a milestone2590 shows an informative message for a new milestone2591 Open a milestone with closed issues2592 shows an informative message2593 Open a project milestone with an existing title2594 displays validation message when there is a project milestone with same title2595 displays validation message when there is a group milestone with same title2596 Open a milestone2597 shows total issue time spent correctly when no time has been logged2598 shows total issue time spent2599 Deleting a milestone2600 The delete milestone button does not show for unauthorized users2601 deprecation popover2602 opens deprecation popover2603Projects::DetectRepositoryLanguagesService2604 #execute2605 without previous detection2606 inserts new programming languages in the database2607 inserts the repository langauges2608 with a previous detection2609 updates the repository languages2610 when no repository exists2611 has no languages2612Profile > Personal Access Tokens2613 token creation2614 allows creation of a personal access token2615 when creation fails2616 displays an error message2617 active tokens2618 only shows personal access tokens2619 inactive tokens2620 allows revocation of an active token2621 removes expired tokens from 'active' section2622 when revocation fails2623 displays an error message2624EventCreateService2625 Issues2626 #open_issue2627 should be truthy2628 creates new event2629 #close_issue2630 should be truthy2631 creates new event2632 #reopen_issue2633 should be truthy2634 creates new event2635 Merge Requests2636 #open_mr2637 should be truthy2638 creates new event2639 #close_mr2640 should be truthy2641 creates new event2642 #merge_mr2643 should be truthy2644 creates new event2645 #reopen_mr2646 should be truthy2647 creates new event2648 Milestone2649 #open_milestone2650 should be truthy2651 creates new event2652 #close_mr2653 should be truthy2654 creates new event2655 #destroy_mr2656 should be truthy2657 creates new event2658 #push2659 creates a new event2660 creates the push event payload2661 updates user last activity2662 caches the last push event for the user2663 does not create any event data when an error is raised2664 Project2665 #join_project2666 should be truthy2667 should change `Event.count` from 0 to 12668 #expired_leave_project2669 should be truthy2670 should change `Event.count` from 0 to 12671Gitlab::Graphql::Connections::KeysetConnection2672 #cursor_from_nodes2673 returns an encoded ID2674 when an order was specified2675 returns the encoded value of the order2676 #sliced_nodes2677 when before is passed2678 only returns the project before the selected one2679 when the sort order is descending2680 returns the correct nodes2681 when after is passed2682 only returns the project before the selected one2683 when the sort order is descending2684 returns the correct nodes2685 when both before and after are passed2686 returns the expected set2687 #paged_nodes2688 returns the collection limited to max page size2689 when `first` is passed2690 returns only the first elements2691 when `last` is passed2692 returns only the last elements2693 when both are passed2694 raises an error2695Container Registry2696 when there are no image repositories2697 user visits container registry main page2698 when there are image repositories2699 user wants to see multi-level container repository2700 user removes entire container repository2701 user removes a specific tag from container repository2702MergeRequests::Conflicts::ResolveService2703 #execute2704 with section params2705 when the source and target project are the same2706 creates a commit with the message2707 creates a commit with the correct parents2708 when some files have trailing newlines2709 preserves trailing newlines from our side of the conflicts2710 when the source project is a fork and does not contain the HEAD of the target branch2711 creates a commit with the message2712 creates a commit with the correct parents2713 with content and sections params2714 creates a commit with the message2715 creates a commit with the correct parents2716 sets the content to the content given2717 when a resolution section is missing2718 raises a ResolutionError error2719 when the content of a file is unchanged2720 raises a ResolutionError error2721 when a file is missing2722 raises a ResolutionError error2723API::Environments2724 GET /projects/:id/environments2725 as member of the project2726 returns project environments2727 as non member2728 returns a 404 status code2729 POST /projects/:id/environments2730 as a member2731 creates a environment with valid params2732 requires name to be passed2733 returns a 400 if environment already exists2734 returns a 400 if slug is specified2735 a non member2736 rejects the request2737 returns a 400 when the required params are missing2738 PUT /projects/:id/environments/:environment_id2739 returns a 200 if name and external_url are changed2740 won't allow slug to be changed2741 won't update the external_url if only the name is passed2742 returns a 404 if the environment does not exist2743 DELETE /projects/:id/environments/:environment_id2744 as a maintainer2745 returns a 200 for an existing environment2746 returns a 404 for non existing id2747 behaves like 412 response2748 for a modified ressource2749 returns 4122750 for an unmodified ressource2751 returns accepted2752 a non member2753 rejects the request2754 POST /projects/:id/environments/:environment_id/stop2755 as a maintainer2756 returns a 404 for non existing id2757 with a stoppable environment2758 returns a 2002759 actually stops the environment2760 a non member2761 rejects the request2762Reportable note on snippets2763 on project snippet2764 behaves like reportable note2765 has an edit button2766 has a `More actions` dropdown2767 dropdown has Report and Delete links2768 Report button links to a report page2769Snippets tab on a user profile2770 when the user has snippets2771 pagination2772 behaves like paginated snippets2773 is limited to 20 items per page2774 clicking on the link to the second page2775 shows the remaining snippets2776 list content2777 contains only internal and public snippets of a user when a user is logged in2778 contains only public snippets of a user when a user is not logged in2779Clusters::Platforms::Kubernetes2780 should belong to cluster2781 should be a kind of Gitlab::Kubernetes2782 should be a kind of ReactiveCaching2783 should respond to #ca_pem2784 should validate that :namespace is not ‹"gitlab-managed-apps"›2785 should validate that :api_url cannot be empty/falsy2786 should validate that :token cannot be empty/falsy2787 should delegate #project to #cluster object2788 should delegate #enabled? to #cluster object2789 should delegate #managed? to #cluster object2790 should delegate #kubernetes_namespace to #cluster object2791 before_validation2792 when namespace includes upper case2793 converts to lower case2794 validation2795 when validates namespace2796 when namespace is blank2797 should be truthy2798 when namespace is longer than 632799 should be falsey2800 when namespace includes invalid character2801 should be falsey2802 when namespace is vaild2803 should be truthy2804 when validates api_url2805 when api_url is invalid url2806 should be falsey2807 when api_url is nil2808 should be falsey2809 when api_url is valid url2810 should be truthy2811 when validates token2812 when token is nil2813 should be falsey2814 when using reserved namespaces2815 when no namespace is manually assigned2816 should be valid2817 when no reserved namespace is assigned2818 should be valid2819 when reserved namespace is assigned2820 should not be valid2821 #kubeclient2822 should be an instance of Gitlab::Kubernetes::KubeClient2823 #rbac?2824 when authorization type is rbac2825 should be truthy2826 when authorization type is nil2827 should be falsey2828 #actual_namespace2829 with a namespace assigned2830 should eq "namespace-123"2831 with no namespace assigned2832 when kubernetes namespace is present2833 should eq "project736-797"2834 when kubernetes namespace is not present2835 should eq "project738-799"2836 #predefined_variables2837 namespace is provided2838 behaves like setting variables2839 sets the variables2840 no namespace provided2841 sets the KUBE_NAMESPACE2842 behaves like setting variables2843 sets the variables2844 #terminals2845 with invalid pods2846 returns no terminals2847 with valid pods2848 returns terminals2849 uses max session time from settings2850 #calculate_reactive_cache2851 when cluster is disabled2852 should be nil2853 when kubernetes responds with valid pods and deployments2854 should include {:pods => [{"metadata" => {"name" => "kube-pod", "generate_name" => "generated-name-with-suffix", "creationTimestamp" => "2016-11-25T19:55:19Z", "labels" => {"app" => "valid-pod-label", "track" => nil}}, "spec" => {"containers" => [{"name" => "container-0"}, {"name" => "container-1"}]}, "status" => {"phase" => "Running"}}]}2855 when kubernetes responds with 500s2856 should raise Kubeclient::HttpError2857 when kubernetes responds with 404s2858 should include {:pods => []}2859Dashboard milestone tabs2860 loads merge requests async2861 loads participants async2862 loads labels async2863Labels::TransferService2864 #execute2865 recreates the missing group labels at project level2866 recreates label priorities related to the missing group labels2867 does not recreate missing group labels that are not applied to issues or merge requests2868 does not recreate missing group labels that already exist in the project group2869 updates only label links in the given project2870Admin disables Git access protocol2871 with HTTP disabled2872 shows only SSH url2873 with SSH disabled2874 shows only HTTP url2875 with nothing disabled2876 shows default SSH url and protocol selection dropdown2877Gitlab::BackgroundMigration::DeleteDiffFiles2878 #perform2879 reschedules itself when should_wait_deadtuple_vacuum2880 when diff files can be deleted2881 deletes all merge request diff files2882 updates state to without_files2883WARNING: Using the `raise_error` matcher without providing a specific error or message risks false positives, since `raise_error` will match when Ruby raises a `NoMethodError`, `NameError` or `ArgumentError`, potentially allowing the expectation to pass without even executing the method you are intending to call. Actual error raised was RuntimeError. Instead consider providing a specific error class or message. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /builds/gitlab-org/gitlab-ce/spec/lib/gitlab/background_migration/delete_diff_files_spec.rb:32:in `block (4 levels) in <top (required)>'.2884 rollsback if something goes wrong2885 #should_wait_deadtuple_vacuum?2886 returns true when hitting merge_request_diff_files hits DEAD_TUPLES_THRESHOLD2887Gitlab::ProjectAuthorizations2888 returns the correct number of authorizations2889 includes the correct projects2890 includes the correct access levels2891 with nested groups2892 includes nested groups2893 inherits access levels when the user is not a member of a nested group2894 uses the greatest access level when a user is a member of a nested group2895API::Namespaces2896 GET /namespaces2897 when unauthenticated2898 returns authentication error2899 when authenticated as admin2900 returns correct attributes2901 admin: returns an array of all namespaces2902 admin: returns an array of matched namespaces2903 when authenticated as a regular user2904 returns correct attributes when user can admin group2905 returns correct attributes when user cannot admin group2906 user: returns an array of namespaces2907 admin: returns an array of matched namespaces2908 GET /namespaces/:id2909 when unauthenticated2910 returns authentication error2911 when authenticated as regular user2912 when requested namespace is not owned by user2913 when requesting group2914 returns not-found2915 when requesting personal namespace2916 returns not-found2917 when requested namespace is owned by user2918 behaves like namespace reader2919 when namespace exists2920 when requested by ID2921 when requesting group2922 behaves like can access namespace2923 returns namespace details2924 when requesting personal namespace2925 behaves like can access namespace2926 returns namespace details2927 when requested by path2928 when requesting group2929 behaves like can access namespace2930 returns namespace details2931 when requesting personal namespace2932 behaves like can access namespace2933 returns namespace details2934 when namespace doesn't exist2935 returns not-found2936 when authenticated as admin2937 when requested namespace is not owned by user2938 when requesting group2939 behaves like can access namespace2940 returns namespace details2941 when requesting personal namespace2942 behaves like can access namespace2943 returns namespace details2944 when requested namespace is owned by user2945 behaves like namespace reader2946 when namespace exists2947 when requested by ID2948 when requesting group2949 behaves like can access namespace2950 returns namespace details2951 when requesting personal namespace2952 behaves like can access namespace2953 returns namespace details2954 when requested by path2955 when requesting group2956 behaves like can access namespace2957 returns namespace details2958 when requesting personal namespace2959 behaves like can access namespace2960 returns namespace details2961 when namespace doesn't exist2962 returns not-found2963MilestonesFinder2964 it returns milestones for projects2965 returns milestones for groups2966 milestones for groups and project2967 returns milestones for groups and projects2968 orders milestones by due date2969 with filters2970 filters by active state2971 filters by closed state2972 filters by title2973 #find_by2974 finds a single milestone2975Gitlab::Ci::Status::Build::Stop2976 #label2977 should eq "manual stop action"2978 action details2979 #has_action?2980 when user is allowed to update build2981 should have action2982 when user is not allowed to update build2983 should not have action2984 #action_path2985 should include "155/play"2986 #action_icon2987 should eq "stop"2988 #action_title2989 should eq "Stop"2990 #action_button_title2991 should eq "Stop this environment"2992 .matches?2993 when build is playable2994 when build stops an environment2995 is a correct match2996 when build does not stop an environment2997 does not match2998 when build is not playable2999 does not match3000 #status_tooltip3001 does not override status status_tooltip3002 #badge_tooltip3003 does not override status badge_tooltip3004Groups > Members > Leave group3005 guest leaves the group3006 guest leaves the group as last member3007 owner leaves the group if they is not the last owner3008 owner can not leave the group if they is a last owner3009Banzai::ReferenceParser::CommitRangeParser3010 #nodes_visible_to_user3011 when the link has a data-issue attribute3012 behaves like referenced feature visibility3013 when feature is disabled3014 does not create reference3015 when feature is enabled only for team members3016 does not create reference for non member3017 creates reference for member3018 when feature is enabled3019 creates reference3020 #referenced_by3021 when the link has a data-project attribute3022 when the link as a data-commit-range attribute3023 returns an Array of commit ranges3024 returns an empty Array when the commit range could not be found3025 when the link does not have a data-commit-range attribute3026 returns an empty Array3027 when the link does not have a data-project attribute3028 returns an empty Array3029 #commit_range_ids_per_project3030 returns a Hash containing range IDs per project3031 does not add a project when the data-commit-range attribute is empty3032 #find_ranges3033 returns an Array of range objects3034 skips ranges that could not be found3035 #find_object3036 when the range has valid commits3037 returns the commit range3038 when the range does not have any valid commits3039 returns nil3040 group context3041 returns nil3042PersonalAccessTokensFinder3043 #execute3044 without user3045 should contain exactly #<PersonalAccessToken id: 198, user_id: 2082, token: "9cde296eed3b82c0c2590e1cc38e3188505403bb9401497...at: "2018-10-27 13:10:29", updated_at: "2018-10-27 13:10:29", scopes: ["api"], impersonation: false>, #<PersonalAccessToken id: 201, user_id: 2082, token: "f499dbd723f662e455a31dc5fff1026991b1c816f3fa772..._at: "2018-10-27 13:10:29", updated_at: "2018-10-27 13:10:29", scopes: ["api"], impersonation: true>, #<PersonalAccessToken id: 200, user_id: 2082, token: "bea8f67cb80c583e42bcea4de15e6ea844bbe1997ce1b4d...at: "2018-10-27 13:10:29", updated_at: "2018-10-27 13:10:29", scopes: ["api"], impersonation: false>, #<PersonalAccessToken id: 199, user_id: 2082, token: "c87b27c9508cae197aa0e27c693f92ed3195b4b5371d831...at: "2018-10-27 13:10:29", updated_at: "2018-10-27 13:10:29", scopes: ["api"], impersonation: false>, #<PersonalAccessToken id: 203, user_id: 2082, token: "4802ed451adbe565186f38db26992a2ae1fb88083c9634f..._at: "2018-10-27 13:10:29", updated_at: "2018-10-27 13:10:29", scopes: ["api"], impersonation: true>, and #<PersonalAccessToken id: 202, user_id: 2082, token: "4ab339bbb5efc28259a113e39aeee91f356751e0d5c5099..._at: "2018-10-27 13:10:29", updated_at: "2018-10-27 13:10:29", scopes: ["api"], impersonation: true>3046 without impersonation3047 should contain exactly #<PersonalAccessToken id: 204, user_id: 2083, token: "c7ac7e49553f48cc7e284a251437d0c539dcf9880c695d1...at: "2018-10-27 13:10:29", updated_at: "2018-10-27 13:10:29", scopes: ["api"], impersonation: false>, #<PersonalAccessToken id: 206, user_id: 2083, token: "f4775f436811c7c79b74c0021efe2b7e700309c020cb396...at: "2018-10-27 13:10:29", updated_at: "2018-10-27 13:10:29", scopes: ["api"], impersonation: false>, and #<PersonalAccessToken id: 205, user_id: 2083, token: "e7acfde5d47993bb139b6c3336218d0eaa43ef17692fcf7...at: "2018-10-27 13:10:29", updated_at: "2018-10-27 13:10:29", scopes: ["api"], impersonation: false>3048 with active state3049 should contain exactly #<PersonalAccessToken id: 210, user_id: 2084, token: "0030f91cd1d7138e0c9d7ae9eb23addd326170009d93222...at: "2018-10-27 13:10:29", updated_at: "2018-10-27 13:10:29", scopes: ["api"], impersonation: false>3050 with inactive state3051 should contain exactly #<PersonalAccessToken id: 218, user_id: 2085, token: "7e410d0d593cdcf9f43bb3d605e051b7a4753f14097803a...at: "2018-10-27 13:10:30", updated_at: "2018-10-27 13:10:30", scopes: ["api"], impersonation: false> and #<PersonalAccessToken id: 217, user_id: 2085, token: "b6d8ce163f20fb3f991506806680792eb4c11117c57e829...at: "2018-10-27 13:10:30", updated_at: "2018-10-27 13:10:30", scopes: ["api"], impersonation: false>3052 with impersonation3053 should contain exactly #<PersonalAccessToken id: 225, user_id: 2086, token: "ec7b27ff79b452221f758e55b4cf985e15ca91f34166fcb..._at: "2018-10-27 13:10:30", updated_at: "2018-10-27 13:10:30", scopes: ["api"], impersonation: true>, #<PersonalAccessToken id: 227, user_id: 2086, token: "149020be25777904b7bb1201bfedac5f2b7ee981c79b097..._at: "2018-10-27 13:10:30", updated_at: "2018-10-27 13:10:30", scopes: ["api"], impersonation: true>, and #<PersonalAccessToken id: 226, user_id: 2086, token: "73c1a20d062f48ae6ce8486998a9b0ec303875af8e286f6..._at: "2018-10-27 13:10:30", updated_at: "2018-10-27 13:10:30", scopes: ["api"], impersonation: true>3054 with active state3055 should contain exactly #<PersonalAccessToken id: 231, user_id: 2087, token: "6e876c37ef7a5bd511a2b8af7fd6538c30da157a00ec629..._at: "2018-10-27 13:10:30", updated_at: "2018-10-27 13:10:30", scopes: ["api"], impersonation: true>3056 with inactive state3057 should contain exactly #<PersonalAccessToken id: 239, user_id: 2088, token: "27c6fce19fe22622e6021f14641eb0d52145e4c4e289478..._at: "2018-10-27 13:10:30", updated_at: "2018-10-27 13:10:30", scopes: ["api"], impersonation: true> and #<PersonalAccessToken id: 238, user_id: 2088, token: "8c0d9273fc06521f8e426f55713d4a0028bfe1c4b270b89..._at: "2018-10-27 13:10:30", updated_at: "2018-10-27 13:10:30", scopes: ["api"], impersonation: true>3058 with active state3059 should contain exactly #<PersonalAccessToken id: 240, user_id: 2089, token: "581733cc0bc79a68961b9d2d00f2cef6eb3f346e18640ed...at: "2018-10-27 13:10:30", updated_at: "2018-10-27 13:10:30", scopes: ["api"], impersonation: false> and #<PersonalAccessToken id: 243, user_id: 2089, token: "07e6420bcd59cfbdf0100d50c5f8a222bb2a9eb5445eef2..._at: "2018-10-27 13:10:30", updated_at: "2018-10-27 13:10:30", scopes: ["api"], impersonation: true>3060 with inactive state3061 should contain exactly #<PersonalAccessToken id: 247, user_id: 2090, token: "a64a71fe7321a177d4f906b9b6ea28f9b6b29511f28ec03...at: "2018-10-27 13:10:30", updated_at: "2018-10-27 13:10:30", scopes: ["api"], impersonation: false>, #<PersonalAccessToken id: 248, user_id: 2090, token: "6683d060aafdba19db23638ddeebbfc8618ec8c275f0b7e...at: "2018-10-27 13:10:30", updated_at: "2018-10-27 13:10:30", scopes: ["api"], impersonation: false>, #<PersonalAccessToken id: 250, user_id: 2090, token: "5c4b5469936b504496e723bc8e98186cf1f8492c8b1b468..._at: "2018-10-27 13:10:30", updated_at: "2018-10-27 13:10:30", scopes: ["api"], impersonation: true>, and #<PersonalAccessToken id: 251, user_id: 2090, token: "f6b95c484456738d75328fbafd4ba156696d7cb6930910f..._at: "2018-10-27 13:10:30", updated_at: "2018-10-27 13:10:30", scopes: ["api"], impersonation: true>3062 with id3063 should eq #<PersonalAccessToken id: 252, user_id: 2091, token: "2f7842c9e21ee67447e748a8c9c14f8d5ec991e8e8f1f5b...at: "2018-10-27 13:10:30", updated_at: "2018-10-27 13:10:30", scopes: ["api"], impersonation: false>3064 with impersonation3065 should be nil3066 with token3067 should eq #<PersonalAccessToken id: 264, user_id: 2093, token: "5ccaf9b66951fca30c4118edd0aea6284b7fb04e3077553...at: "2018-10-27 13:10:30", updated_at: "2018-10-27 13:10:30", scopes: ["api"], impersonation: false>3068 with impersonation3069 should be nil3070 with user3071 should contain exactly #<PersonalAccessToken id: 276, user_id: 2095, token: "9584cda88d806eaf9406344eb79a2bc7cdaa59c28c7b748...at: "2018-10-27 13:10:30", updated_at: "2018-10-27 13:10:30", scopes: ["api"], impersonation: false>, #<PersonalAccessToken id: 279, user_id: 2095, token: "7090c7f0eaec3d10bcb64a3b389184aaa313bedd719f0e7..._at: "2018-10-27 13:10:30", updated_at: "2018-10-27 13:10:30", scopes: ["api"], impersonation: true>, #<PersonalAccessToken id: 278, user_id: 2095, token: "f04232f1a4446024ee40b16dd3eb84c79130f6bdec661aa...at: "2018-10-27 13:10:30", updated_at: "2018-10-27 13:10:30", scopes: ["api"], impersonation: false>, #<PersonalAccessToken id: 277, user_id: 2095, token: "9c83bb414d0bd84af061d42eba4cf04998b79bb2657cd38...at: "2018-10-27 13:10:30", updated_at: "2018-10-27 13:10:30", scopes: ["api"], impersonation: false>, #<PersonalAccessToken id: 281, user_id: 2095, token: "7b495a4b7114e07a8cc99f032bd3091662490d4ce264333..._at: "2018-10-27 13:10:30", updated_at: "2018-10-27 13:10:30", scopes: ["api"], impersonation: true>, and #<PersonalAccessToken id: 280, user_id: 2095, token: "1a845f1af84488f26a425974c49443cfabc514fd48f1697..._at: "2018-10-27 13:10:30", updated_at: "2018-10-27 13:10:30", scopes: ["api"], impersonation: true>3072 without impersonation3073 should contain exactly #<PersonalAccessToken id: 288, user_id: 2097, token: "2e706fd23f7700d85f22842a3f2b892bde76a93234567d2...at: "2018-10-27 13:10:30", updated_at: "2018-10-27 13:10:30", scopes: ["api"], impersonation: false>, #<PersonalAccessToken id: 290, user_id: 2097, token: "e1ee410f70df56ad2766b5979b91bf5ac371a568dccd05c...at: "2018-10-27 13:10:30", updated_at: "2018-10-27 13:10:30", scopes: ["api"], impersonation: false>, and #<PersonalAccessToken id: 289, user_id: 2097, token: "c1aaee27b9f7d809eed290d7aeb83be2f95cd238971b492...at: "2018-10-27 13:10:30", updated_at: "2018-10-27 13:10:30", scopes: ["api"], impersonation: false>3074 with active state3075 should contain exactly #<PersonalAccessToken id: 300, user_id: 2099, token: "174adc616a14e7e6d41ae1a569fcb9b4ebb95c63d23e8a5...at: "2018-10-27 13:10:31", updated_at: "2018-10-27 13:10:31", scopes: ["api"], impersonation: false>3076 with inactive state3077 should contain exactly #<PersonalAccessToken id: 314, user_id: 2101, token: "ba82b2182cf41f287ef3fc319b040b1cd00904fb884eda7...at: "2018-10-27 13:10:31", updated_at: "2018-10-27 13:10:31", scopes: ["api"], impersonation: false> and #<PersonalAccessToken id: 313, user_id: 2101, token: "e07469917cb28c2d192609c3263354e4ff0999162931251...at: "2018-10-27 13:10:31", updated_at: "2018-10-27 13:10:31", scopes: ["api"], impersonation: false>3078 with impersonation3079 should contain exactly #<PersonalAccessToken id: 327, user_id: 2103, token: "cd09a4c11ff99f13be9cbbc382332dd93d58e45e3699176..._at: "2018-10-27 13:10:31", updated_at: "2018-10-27 13:10:31", scopes: ["api"], impersonation: true>, #<PersonalAccessToken id: 329, user_id: 2103, token: "bccd29f666a0b61ef6d5b03f9a84fa7dd1a6c0d1d30429a..._at: "2018-10-27 13:10:31", updated_at: "2018-10-27 13:10:31", scopes: ["api"], impersonation: true>, and #<PersonalAccessToken id: 328, user_id: 2103, token: "c008d0c4fffcde5c1da4c0176ecf34fabb94d6393050d10..._at: "2018-10-27 13:10:31", updated_at: "2018-10-27 13:10:31", scopes: ["api"], impersonation: true>3080 with active state3081 should contain exactly #<PersonalAccessToken id: 339, user_id: 2105, token: "e445aad35d068b9b087b707a16fabaa556b3d853b30043b..._at: "2018-10-27 13:10:31", updated_at: "2018-10-27 13:10:31", scopes: ["api"], impersonation: true>3082 with inactive state3083 should contain exactly #<PersonalAccessToken id: 353, user_id: 2107, token: "0ba1c7856e722fc8b5d364e74df98ba51348db27f23f5ed..._at: "2018-10-27 13:10:31", updated_at: "2018-10-27 13:10:31", scopes: ["api"], impersonation: true> and #<PersonalAccessToken id: 352, user_id: 2107, token: "cd5040ce2c147df620c6e7ca3b5d176d58ffca9ec2623e6..._at: "2018-10-27 13:10:31", updated_at: "2018-10-27 13:10:31", scopes: ["api"], impersonation: true>3084 with active state3085 should contain exactly #<PersonalAccessToken id: 360, user_id: 2109, token: "a3b72556d55888b0ddb52def481d215079c1756f6d2f4a4...at: "2018-10-27 13:10:31", updated_at: "2018-10-27 13:10:31", scopes: ["api"], impersonation: false> and #<PersonalAccessToken id: 363, user_id: 2109, token: "6321fdcc34740684d8f9a3babad0b701a92ff48103e3f4d..._at: "2018-10-27 13:10:31", updated_at: "2018-10-27 13:10:31", scopes: ["api"], impersonation: true>3086 with inactive state3087 should contain exactly #<PersonalAccessToken id: 373, user_id: 2111, token: "fd51eea72b455d57130c1367d4c21518d6c7a924df0d76e...at: "2018-10-27 13:10:31", updated_at: "2018-10-27 13:10:31", scopes: ["api"], impersonation: false>, #<PersonalAccessToken id: 374, user_id: 2111, token: "dfb1cb18e55fd7eb7b858219f5259ff02515764420d8819...at: "2018-10-27 13:10:31", updated_at: "2018-10-27 13:10:31", scopes: ["api"], impersonation: false>, #<PersonalAccessToken id: 376, user_id: 2111, token: "b3c9c9ee1d6f22a26afa41718ea0e758a450194a3848619..._at: "2018-10-27 13:10:31", updated_at: "2018-10-27 13:10:31", scopes: ["api"], impersonation: true>, and #<PersonalAccessToken id: 377, user_id: 2111, token: "6ac2da000930c75260bd54769274a5491adc71d2655c177..._at: "2018-10-27 13:10:31", updated_at: "2018-10-27 13:10:31", scopes: ["api"], impersonation: true>3088 with id3089 should eq #<PersonalAccessToken id: 384, user_id: 2113, token: "a0087b6d1652984056ba08a11e50ec78fc192e64922217c...at: "2018-10-27 13:10:31", updated_at: "2018-10-27 13:10:31", scopes: ["api"], impersonation: false>3090 with impersonation3091 should be nil3092 with token3093 should eq #<PersonalAccessToken id: 408, user_id: 2117, token: "35100a520805653604a4262e24d263d6fd95ec0213b1e5c...at: "2018-10-27 13:10:32", updated_at: "2018-10-27 13:10:32", scopes: ["api"], impersonation: false>3094 with impersonation3095 should be nil3096Project member activity3097 when a user joins the project3098 should eq "John Doe2109 joined project"3099 when a user leaves the project3100 should eq "John Doe2110 left project"3101 when a users membership expires for the project3102 presents the correct message3103Admin Appearance3104 Create new appearance3105 Preview sign-in page appearance3106 Preview new project page appearance3107 Custom sign-in page3108 Custom new project page3109 Appearance logo3110 Header logos3111 Favicon3112projects/merge_requests/edit.html.haml3113 when a merge request without fork3114 shows editable fields3115 when a merge request with an existing source project is closed3116 shows editable fields3117User deletes branch3118 deletes branch3119Gitlab::Diff::DiffRefs3120 #==3121 when shas are missing3122 returns false3123 when shas are equal3124 returns true3125 when shas are unequal3126 returns false3127 when shas are truncated3128 when sha prefixes are too short3129 returns false3130 when sha prefixes are equal3131 returns true3132 when sha prefixes are unequal3133 returns false3134 #compare_in3135 with diff refs for the initial commit3136 returns an appropriate comparison3137 with diff refs for a commit3138 returns an appropriate comparison3139 with diff refs for a comparison through the base3140 returns an appropriate comparison3141 with diff refs for a straight comparison3142 returns an appropriate comparison3143Projects::AvatarsController3144 GET #show3145 when repository has no avatar3146 shows 4043147 when repository has an avatar3148 when the avatar is stored in the repository3149 sends the avatar3150 when the avatar is stored in lfs3151 behaves like repository lfs file load3152 when file is stored in lfs3153 when lfs is enabled3154 when project has access3155 serves the file3156 and lfs uses object storage3157 responds with redirect to file3158 sets content disposition3159 when project does not have access3160 does not serve the file3161 when lfs is not enabled3162 delivers ASCII file3163 DELETE #destroy3164 removes avatar from DB by calling destroy3165SubmoduleHelper3166 submodule links3167 submodule on self3168 detects ssh on standard port3169 detects ssh on non-standard port3170 detects http on standard port3171 detects http on non-standard port3172 works with relative_url_root3173 works with subgroups3174 submodule on github.com3175 detects ssh3176 detects http3177 detects https3178 handles urls with no .git on the end3179 returns original with non-standard url3180 in-repository submodule3181 in-repository3182 submodule on gitlab.com3183 detects ssh3184 detects http3185 detects https3186 handles urls with no .git on the end3187 handles urls with trailing whitespace3188 returns original with non-standard url3189 submodule on unsupported3190 sanitizes unsupported protocols3191 sanitizes unsupported protocols disguised as a repository URL3192 sanitizes invalid URL with extended ASCII3193 returns original3194 submodules with relative links3195 handles project under same group3196 handles trailing whitespace3197 handles project under another top group3198 repo path resolves to be located at root (namespace absent)3199 returns nil3200 repo path resolves to be located underneath current project path3201 returns nil because it is not possible to have repo nested under another repo3202 subgroup3203 handles referencing descendent group's project3204 handles referencing another top group's project3205 project in sub group3206 handles referencing ancestor group's project3207 personal project3208 handles referencing another personal project3209Dashboard > label filter3210 duplicate labels3211 removes duplicate labels3212Gitlab::GithubImport::Importer::LabelsImporter3213 #execute3214 imports the labels in bulk3215 #build_labels3216 returns an Array containnig label rows3217 does not create labels that already exist3218 #build_labels_cache3219 builds the labels cache3220 #build3221 returns the attributes of the label as a Hash3222 the returned Hash3223 includes the label title3224 includes the label color3225 includes the project ID3226 includes the label type3227 includes the created timestamp3228 includes the updated timestamp3229 #each_label3230 returns the labels3231Gitlab::Ci::Build::Step3232 #from_commands3233 when commands are specified3234 behaves like has correct script3235 fabricates an object3236 when script option is specified3237 behaves like has correct script3238 fabricates an object3239 when before and script option is specified3240 behaves like has correct script3241 fabricates an object3242 #from_after_script3243 when after_script is empty3244 doesn not fabricate an object3245 when after_script is not empty3246 fabricates an object3247VisibilityLevelHelper3248 visibility_icon_description3249 used with a Project3250 delegates projects to #project_visibility_icon_description3251 used with a ProjectPresenter3252 delegates projects to #project_visibility_icon_description3253 used with a Group3254 delegates groups to #group_visibility_icon_description3255 visibility_level_description3256 used with a Project3257 delegates projects to #project_visibility_level_description3258 used with a Group3259 delegates groups to #group_visibility_level_description3260 called with a Snippet3261 delegates snippets to #snippet_visibility_level_description3262 #project_visibility_level_description3263 describes private projects3264 describes public projects3265 #snippet_visibility_level_description3266 describes visibility only for me3267 describes visibility for project members3268 defaults to personal snippet3269 disallowed_visibility_level?3270 forks3271 disallows levels3272 non-forked project3273 disallows levels3274 group3275 disallows levels3276 sub-group3277 disallows levels3278 snippet3279 disallows levels3280 disallowed_visibility_level_description3281 project3282 provides correct description for disabled levels3283 group3284 provides correct description for disabled levels3285MilestonesHelper3286 #milestones_filter_dropdown_path3287 when @project present3288 returns project milestones JSON URL3289 when @target_project present3290 returns targeted project milestones JSON URL3291 when @group present3292 returns group milestones JSON URL3293 when neither of @project/@target_project/@group present3294 returns dashboard milestones JSON URL3295 #milestone_date_range3296 should be nil3297 should eq "expires on Oct 28, 2018"3298 should eq "expired on Oct 26, 2018"3299 should eq "starts on Oct 28, 2018"3300 should eq "started on Oct 26, 2018"3301 should eq "Oct 26, 2018–Oct 28, 2018"3302 #milestone_counts3303 when there are milestones3304 returns the correct counts3305 when there are only milestones of one type3306 returns the correct counts3307 when there are no milestones3308 returns the correct counts3309RemoveExpiredGroupLinksWorker3310 #perform3311 removes expired group links3312 leaves group links that expire in the future3313 leaves group links that do not expire at all3314Gitlab::GitAccessWiki3315 #push_access_check3316 when user can :create_wiki3317 should not raise Exception3318 when in a read-only GitLab instance3319 does not give access to upload wiki code3320 #access_check_download!3321 when wiki feature is enabled3322 give access to download wiki code3323 when the wiki repository does not exist3324 returns not found3325 when wiki feature is disabled3326 does not give access to download wiki code3327CleanUpForMembers3328 removes members without proper user_id3329Ci::BuildRunnerSession3330 should belong to build3331 should validate that :build cannot be empty/falsy3332 should validate that :url cannot be empty/falsy, producing a custom validation error on failure3333 #terminal_specification3334 returns empty hash if no url3335 when url is present3336 returns ca_pem nil if empty certificate3337 adds Authorization header if authorization is present3338Gitlab::GitlabImport::Client3339 all OAuth2 client options are symbols3340 uses membership and simple flags3341 #projects3342 behaves like pagination params3343 allows page_limit param3344 allows per_page param3345 allows starting_page param3346 #issues3347 behaves like pagination params3348 allows page_limit param3349 allows per_page param3350 allows starting_page param3351 #issue_comments3352 behaves like pagination params3353 allows page_limit param3354 allows per_page param3355 allows starting_page param3356Todos::Destroy::ConfidentialIssueService3357 #execute3358 when provided issue is confidential3359 removes issue todos for users who can not access the confidential issue3360 when provided issue is not confidential3361 does not remove any todos3362Gitlab::BackgroundMigration::AddMergeRequestDiffCommitsCount3363 #perform3364 migrates diffs that have no commits3365 skips diffs that have commits_count already set3366 migrates multiple diffs to the correct values3367Group Routable3368 Validations3369 should validate that :route cannot be empty/falsy3370 Associations3371 should have one route dependent => destroy3372 should have many redirect_routes dependent => destroy3373 Callbacks3374 creates route record on create3375 updates route record on path change3376 ensure route path uniqueness across different objects3377 .find_by_full_path3378 without any redirect routes3379 should eq #<Group id:2569 @foo>3380 should eq #<Group id:2571 @foo>3381 should eq #<Group id:2574 @foo/group269>3382 should eq nil3383 with redirect routes3384 without follow_redirects option3385 with the given path not matching any route3386 should eq nil3387 with the given path matching the canonical route3388 should eq #<Group id:2579 @foo>3389 should eq #<Group id:2581 @foo>3390 should eq #<Group id:2584 @foo/group274>3391 with the given path matching a redirect route3392 should eq nil3393 should eq nil3394 should eq nil3395 with follow_redirects option set to true3396 with the given path not matching any route3397 should eq nil3398 with the given path matching the canonical route3399 should eq #<Group id:2593 @foo>3400 should eq #<Group id:2595 @foo>3401 should eq #<Group id:2598 @foo/group281>3402 with the given path matching a redirect route3403 should eq #<Group id:2599 @foo>3404 should eq #<Group id:2601 @foo>3405 should eq #<Group id:2604 @foo/group284>3406 .where_full_path_in3407 without any paths3408 returns an empty relation3409 without any valid paths3410 returns an empty relation3411 with valid paths3412 returns the projects matching the paths3413 returns projects regardless of the casing of paths3414 #full_path3415 should eq "group287"3416 should eq "group288/group289"3417 #full_name3418 should eq "group290"3419 should eq "group291 / group292"3420Project Routable3421 #full_path3422 should eq "namespace707/project937"3423 #full_name3424 should eq "John Doe2254 / project938"3425Ci::PipelinePresenter3426 inherits from Gitlab::View::Presenter::Delegated3427 #initialize3428 takes a pipeline and optional params3429 exposes pipeline3430 forwards missing methods to pipeline3431 #status_title3432 when pipeline is auto-canceled3433 shows that the pipeline is auto-canceled3434 when pipeline is not auto-canceled3435 does not have a status title3436 #failure_reason3437 when pipeline has failure reason3438 represents a failure reason sentence3439 when pipeline does not have failure reason3440 returns nil3441Users::CreateService3442 #execute3443 with an admin user3444 when required parameters are provided3445 returns a persisted user3446 persists the given attributes3447 user is not confirmed if skip_confirmation param is not present3448 logs the user creation3449 executes system hooks3450 does not send a notification email3451 when the current_user is not persisted3452 persists the given attributes and sets created_by_id to nil3453 when force_random_password parameter is true3454 generates random password3455 when password_automatically_set parameter is true3456 persists the given attributes3457 when skip_confirmation parameter is true3458 confirms the user3459 when reset_password parameter is true3460 resets password even if a password parameter is given3461 sends a notification email3462 with nil user3463 persists the given attributes3464User activates JetBrains TeamCity CI3465 activates service3466Projects::TagsController3467 GET index3468 returns the tags for the page3469 returns releases matching those tags3470 GET show3471 valid tag3472 should respond with 2003473 invalid tag3474 should respond with 4043475notify/pipeline_failed_email.html.haml3476 pipeline with user3477 renders the email correctly3478 pipeline without user3479 renders the email correctly3480MigrateGcpClustersToNewClustersArchitectures3481 when cluster is being created3482 correctly migrate to new clusters architectures3483 when cluster has been created3484 correctly migrate to new clusters architectures3485Explore Snippets3486 User should see snippets that are not private3487 External user should see only public snippets3488 Not authenticated user should see only public snippets3489Ci::EnsureStageService#execute3490 when build has a stage assigned3491 does not create a new stage3492 when build does not have a stage assigned3493 creates a new stage3494 when build is invalid3495 does not create a new stage3496 when new stage can not be created because of an exception3497 retries up to two times3498UserPolicy3499 reading a user's information3500 should be allowed :read_user3501 updating a user's status3502 behaves like changing a user3503 when a regular user tries to destroy another regular user3504 should not be allowed :update_user_status3505 when a regular user tries to destroy themselves3506 should be allowed :update_user_status3507 when an admin user tries to destroy a regular user3508 should be allowed :update_user_status3509 when an admin user tries to destroy a ghost user3510 should not be allowed :update_user_status3511 destroying a user3512 behaves like changing a user3513 when a regular user tries to destroy another regular user3514 should not be allowed :destroy_user3515 when a regular user tries to destroy themselves3516 should be allowed :destroy_user3517 when an admin user tries to destroy a regular user3518 should be allowed :destroy_user3519 when an admin user tries to destroy a ghost user3520 should not be allowed :destroy_user3521 updating a user3522 behaves like changing a user3523 when a regular user tries to destroy another regular user3524 should not be allowed :update_user3525 when a regular user tries to destroy themselves3526 should be allowed :update_user3527 when an admin user tries to destroy a regular user3528 should be allowed :update_user3529 when an admin user tries to destroy a ghost user3530 should not be allowed :update_user3531ScheduleMergeRequestDiffMigrations3532 correctly schedules background migrations3533 schedules background migrations3534CleanStagesStatusesMigration3535 when there are pending background migrations3536Passing 'flushdb' command to redis as is; administrative commands cannot be effectively namespaced and should be called on the redis connection directly; passthrough has been deprecated and will be removed in redis-namespace 2.0 (at /builds/gitlab-org/gitlab-ce/spec/support/sidekiq.rb:33:in `block (3 levels) in <top (required)>')3537 processes pending jobs synchronously3538 when there are no background migrations pending3539Passing 'flushdb' command to redis as is; administrative commands cannot be effectively namespaced and should be called on the redis connection directly; passthrough has been deprecated and will be removed in redis-namespace 2.0 (at /builds/gitlab-org/gitlab-ce/spec/support/sidekiq.rb:33:in `block (3 levels) in <top (required)>')3540 does nothing3541 when there are still unmigrated stages afterwards3542Passing 'flushdb' command to redis as is; administrative commands cannot be effectively namespaced and should be called on the redis connection directly; passthrough has been deprecated and will be removed in redis-namespace 2.0 (at /builds/gitlab-org/gitlab-ce/spec/support/sidekiq.rb:33:in `block (3 levels) in <top (required)>')3543 migrates statuses sequentially in batches3544Gitlab::BackgroundMigration::SetConfidentialNoteEventsOnServices3545 #perform3546 migrates services where note_events is true3547 ignores services where note_events is false3548 ignores services where confidential_note_events has already been set3549gitlab:uploads rake tasks3550 check3551 outputs the integrity check for each batch3552 errors out about missing files on the file system3553 errors out about invalid checksum3554Gitlab::Ci::Status::Build::Action3555 #label3556 when status has action3557 does not append text3558 when status does not have action3559 appends text about action not allowed3560 .matches?3561 when build is playable action3562 is a correct match3563 when build is not playable action3564 does not match3565 #badge_tooltip3566 returns the status3567UserCalloutsHelper3568 .show_gke_cluster_integration_callout?3569 when user can create a cluster3570 when user has not dismissed3571 should equal true3572 when user dismissed3573 should equal false3574 when user can not create a cluster3575 should equal false3576WikiPages::DestroyService3577 #execute3578 executes webhooks3579Embedded Snippets3580 loads snippet3581BlobViewer::GitlabCiYml3582 #validation_message3583 calls prepare! on the viewer3584 when the configuration is valid3585 returns nil3586 when the configuration is invalid3587 returns the error message3588Import::GitlabProjectsController3589 POST create3590 with an invalid path3591 redirects with an error3592 redirects with an error when a relative path is used3593 with a valid path3594 redirects to the new project path3595RepositoryRemoveRemoteWorker3596 #perform3597 returns nil when project does not exist3598 when project exists35992018-10-27T13:12:38.504Z 154 TID-gn9uhvjyi INFO: Removing remote joe from project 10473600 does not remove remote when cannot obtain lease36012018-10-27T13:12:38.753Z 154 TID-gn9uhvjyi INFO: Removing remote joe from project 104836022018-10-27T13:12:38.761Z 154 TID-gn9uhvjyi ERROR: Could not remove remote joe from project 10483603 removes remote from repository when obtain a lease3604projects/blob/_viewer.html.haml3605 when the viewer is loaded asynchronously3606 when there is no render error3607 adds a URL to the blob viewer element3608 renders the loading indicator3609 when there is a render error3610 renders the error3611 when the viewer is loaded synchronously3612 when there is no render error3613 prepares the viewer3614 renders the viewer3615 when there is a render error3616 renders the error3617Gitlab::LegacyGithubImport::LabelFormatter3618 #attributes3619 returns formatted attributes3620 #create!3621 when label does not exist3622 creates a new label3623 when label exists3624 does not create a new label3625Gitlab::GithubImport::ReschedulingMethods3626 #perform3627 with a non-existing project3628 does not perform any work3629 notifies any waiters so they do not wait forever3630 with an existing project3631 notifies any waiters upon successfully importing the data3632 reschedules itself if the data could not be imported3633 #try_import3634 returns true when the import succeeds3635 returns false when the import fails due to hitting the GitHub API rate limit3636 #notify_waiter3637 notifies the waiter if a waiter key is specified3638 does not notify any waiters if no waiter key is specified3639Users::LastPushEventService3640 #cache_last_push_event3641 caches the event for the event's project and current user3642 caches the event for the origin project when pushing to a fork3643 #last_event_for_user3644 returns the last push event for the current user3645 returns nil when no push event could be found3646 #last_event_for_project3647 returns the last push event for the given project3648 returns nil when no push event could be found3649 #find_cached_event3650 with a non-existing cache key3651 returns nil3652 with an existing cache key3653 returns a PushEvent when no merge requests exist for the event3654 removes the cache key when no event could be found and returns nil3655User views all merge requests3656 shows all merge requests3657PushoverService3658 Associations3659 should belong to project3660 should have one service_hook3661 Validations3662 when service is active3663 should validate that :api_key cannot be empty/falsy3664 should validate that :user_key cannot be empty/falsy3665 should validate that :priority cannot be empty/falsy3666 when service is inactive3667 should not validate that :api_key cannot be empty/falsy3668 should not validate that :user_key cannot be empty/falsy3669 should not validate that :priority cannot be empty/falsy3670 Execute3671 calls Pushover API3672Groups::LabelsController3673 GET #index3674 returns group and project labels by default3675 with ancestor group3676 returns ancestor group labels3677 POST #toggle_subscription3678 allows user to toggle subscription on group labels3679RuboCop::Cop::CodeReuse::Presenter3680 flags the use of a Presenter in a Service class3681 flags the use of a Presenter in a Finder3682 flags the use of a Service class in a Presenter3683 flags the use of a Presenter in a Serializer3684 flags the use of a Presenter in a model instance method3685 flags the use of a Presenter in a model class method3686 flags the use of a Presenter in a worker3687ProtectedBranches::DestroyService3688 #execute3689 destroys a protected branch3690 when a policy restricts rule deletion3691 prevents deletion of the protected branch rule3692Admin::ApplicationsController3693 GET #new3694 renders the application form3695 GET #edit3696 renders the application form3697 POST #create3698 creates the application3699 renders the application form on errors3700 PATCH #update3701 updates the application3702 renders the application form on errors3703projects/imports/new.html.haml3704 when import fails3705 escapes HTML in import errors3706GraphHelper3707 #get_refs3708 filters our refs used by GitLab3709Gitlab::Ci::Pipeline::Expression::Parser3710 #tree3711 when using operators3712 returns a reverse descent parse tree3713 when using a single token3714 returns a single token instance3715 when expression is empty3716 returns a null token3717DeployKeys::CreateService3718 creates a deploy key3719BugzillaService3720 Associations3721 should belong to project3722 should have one service_hook3723 Validations3724 when service is active3725 should validate that :project_url cannot be empty/falsy3726 should validate that :issues_url cannot be empty/falsy3727 should validate that :new_issue_url cannot be empty/falsy3728 behaves like issue tracker service URL attribute3729 should allow :project_url to be ‹"https://example.com"›3730 should not allow :project_url to be ‹"example.com"›3731 should not allow :project_url to be ‹"ftp://example.com"›3732 should not allow :project_url to be ‹"herp-and-derp"›3733 behaves like issue tracker service URL attribute3734 should allow :issues_url to be ‹"https://example.com"›3735 should not allow :issues_url to be ‹"example.com"›3736 should not allow :issues_url to be ‹"ftp://example.com"›3737 should not allow :issues_url to be ‹"herp-and-derp"›3738 behaves like issue tracker service URL attribute3739 should allow :new_issue_url to be ‹"https://example.com"›3740 should not allow :new_issue_url to be ‹"example.com"›3741 should not allow :new_issue_url to be ‹"ftp://example.com"›3742 should not allow :new_issue_url to be ‹"herp-and-derp"›3743 when service is inactive3744 should not validate that :project_url cannot be empty/falsy3745 should not validate that :issues_url cannot be empty/falsy3746 should not validate that :new_issue_url cannot be empty/falsy3747Release3748 should be valid3749 associations3750 should belong to project3751 validation3752 should validate that :project cannot be empty/falsy3753 should validate that :description cannot be empty/falsy3754StripAttribute3755 .strip_attributes3756 should respond to #strip_attributes3757 should include :title3758 #strip_attributes3759 should eq "8.3"3760Admin::IdentitiesController3761 UPDATE identity3762 repairs ldap blocks3763 DELETE identity3764 repairs ldap blocks3765MetricsController3766 #index3767 accessed from whitelisted ip3768 behaves like endpoint providing metrics3769 returns prometheus metrics3770 prometheus metrics are disabled3771 returns proper response3772 accessed from ip in whitelisted range3773 behaves like endpoint providing metrics3774 returns prometheus metrics3775 prometheus metrics are disabled3776 returns proper response3777 accessed from not whitelisted ip3778 returns the expected error response3779RuboCop::Cop::QA::ElementWithPattern3780 in a QA file3781 registers an offense for elements with a pattern3782 does not register an offense for element without a pattern3783 outside of a migration spec file3784 does not register an offense3785TriggerableHooks3786 scopes3787 defines a scope for each of the requested triggers3788 .hooks_for3789 the model has the required trigger scope3790 returns the record3791 the model does not have the required trigger scope3792 returns an empty relation3793 the stock scope ".all" is accepted3794 returns the record3795 .select_active3796 returns hooks that match the active filter3797 returns empty list if no hooks match the active filter3798Gitlab::Redis::Queues3799 .params3800 withstands mutation3801 when url contains unix socket reference3802 with old format3803 returns path key instead3804 with new format3805 returns path key instead3806 when url is host based3807 with old format3808 returns hash with host, port, db, and password3809 with new format3810 returns hash with host, port, db, and password3811 .url3812 withstands mutation3813 when yml file with env variable3814 reads redis url from env variable3815 ._raw_config3816 should be frozen3817 returns false when the file does not exist3818 returns false when the filename can't be determined3819 .with3820 when running not on sidekiq workers3821 instantiates a connection pool with size 53822 when running on sidekiq workers3823 instantiates a connection pool with a size based on the concurrency of the worker3824 #sentinels3825 when sentinels are defined3826 returns an array of hashes with host and port keys3827 when sentinels are not defined3828 returns nil3829 #sentinels?3830 when sentinels are defined3831 returns true3832 when sentinels are not defined3833 returns false3834 #raw_config_hash3835 returns default redis url when no config file is present3836 returns old-style single url config in a hash3837 #fetch_config3838 returns false when no config file is present3839 returns false when config file is present but has invalid YAML3840MoveToProjectEntity3841 #as_json3842 includes the project ID3843 includes the full path3844Gitlab::DependencyLinker::PodspecLinker3845 .support?3846 supports *.podspec3847 does not support other files3848 #link3849 links the gem name3850 links the license3851 links the homepage3852 links the source URL3853 links dependencies3854Gitlab::GithubImport::Client3855 #parallel?3856 returns true when the client is running in parallel mode3857 returns false when the client is running in sequential mode3858 #user3859 returns the details for the given username3860 #repository3861 returns the details of a repository3862 #labels3863 returns the labels3864 #milestones3865 returns the milestones3866 #releases3867 returns the releases3868 #each_page3869 without a block3870 returns an Enumerator3871 the returned Enumerator returns Page objects3872 with a block3873 yields every retrieved page to the supplied block3874 starts at the given page3875 #with_rate_limit3876 yields the supplied block when enough requests remain3877 waits before yielding if not enough requests remain3878 waits and retries the operation if all requests were consumed in the supplied block3879 increments the request count counter3880 ignores rate limiting when disabled3881 #requests_remaining?3882 returns true if enough requests remain3883 returns false if not enough requests remain3884 #raise_or_wait_for_rate_limit3885 raises RateLimitError when running in parallel mode3886 sleeps when running in sequential mode3887 increments the rate limit counter3888 #remaining_requests3889 returns the number of remaining requests3890 #rate_limit_resets_in3891 returns the number of seconds after which the rate limit is reset3892 #api_endpoint3893 without a custom endpoint configured in Omniauth3894 returns the default API endpoint3895 with a custom endpoint configured in Omniauth3896 returns the custom endpoint3897 #custom_api_endpoint3898 without a custom endpoint3899 returns nil3900 with a custom endpoint3901 returns the API endpoint3902 #default_api_endpoint3903 returns the default API endpoint3904 #verify_ssl3905 without a custom configuration3906 returns true3907 with a custom configuration3908 returns the configured value3909 #github_omniauth_provider3910 without a configured provider3911 returns an empty Hash3912 with a configured provider3913 returns the provider details as a Hash3914 #rate_limiting_enabled?3915 returns true when using GitHub.com3916 returns false for GitHub enterprise installations3917Ci::UpdateRunnerService3918 #update3919 with description params3920 updates the runner and ticking the queue3921 when params are not valid3922 does not update and give false because it is not valid3923Gitlab::Prometheus::AdditionalMetricsParser3924 #load_groups_from_yaml3925 parsing sample yaml3926 parses to two metric groups with 2 and 1 metric respectively3927 provide group data3928 provides metrics data3929 provides query data3930 group required fields3931 behaves like required field3932 when metrics is nil3933 throws parsing error3934 when metrics are not specified3935 throws parsing error3936 behaves like required field3937 when name is nil3938 throws parsing error3939 when name are not specified3940 throws parsing error3941 behaves like required field3942 when priority is nil3943 throws parsing error3944 when priority are not specified3945 throws parsing error3946 metrics fields parsing3947 behaves like required field3948 when title is nil3949 throws parsing error3950 when title are not specified3951 throws parsing error3952 behaves like required field3953 when required metrics is nil3954 throws parsing error3955 when required metrics are not specified3956 throws parsing error3957 behaves like required field3958 when weight is nil3959 throws parsing error3960 when weight are not specified3961 throws parsing error3962 behaves like required field3963 when queries is nil3964 throws parsing error3965 when queries are not specified3966 throws parsing error3967RspecFlaky::Config3968 .generate_report?3969 when ENV['FLAKY_RSPEC_GENERATE_REPORT'] is not set3970 returns false3971 when ENV['FLAKY_RSPEC_GENERATE_REPORT'] is set3972 env_value: "1", result: true3973 returns false3974 env_value: "true", result: true3975 returns false3976 env_value: "foo", result: false3977 returns false3978 env_value: "0", result: false3979 returns false3980 env_value: "false", result: false3981 returns false3982 .suite_flaky_examples_report_path3983 when ENV['SUITE_FLAKY_RSPEC_REPORT_PATH'] is not set3984 returns the default path3985 when ENV['SUITE_FLAKY_RSPEC_REPORT_PATH'] is set3986 returns the value of the env variable3987 .flaky_examples_report_path3988 when ENV['FLAKY_RSPEC_REPORT_PATH'] is not set3989 returns the default path3990 when ENV['FLAKY_RSPEC_REPORT_PATH'] is set3991 returns the value of the env variable3992 .new_flaky_examples_report_path3993 when ENV['NEW_FLAKY_RSPEC_REPORT_PATH'] is not set3994 returns the default path3995 when ENV['NEW_FLAKY_RSPEC_REPORT_PATH'] is set3996 returns the value of the env variable3997Gitlab::HealthChecks::DbCheck3998 #metrics3999 Check is passing4000 should include (have attributes {:name => "db_ping_success", :value => 1})4001 should include (have attributes {:name => "db_ping_timeout", :value => 0})4002 should include (have attributes {:name => "db_ping_latency_seconds", :value => (be >= 0)})4003 Check is misbehaving4004 should include (have attributes {:name => "db_ping_success", :value => 0})4005 should include (have attributes {:name => "db_ping_timeout", :value => 0})4006 should include (have attributes {:name => "db_ping_latency_seconds", :value => (be >= 0)})4007 Check is timeouting4008 should include (have attributes {:name => "db_ping_success", :value => 0})4009 should include (have attributes {:name => "db_ping_timeout", :value => 1})4010 should include (have attributes {:name => "db_ping_latency_seconds", :value => (be >= 0)})4011 #readiness4012 Check returns ok4013 should have attributes {:success => true}4014 Check is misbehaving4015 should have attributes {:success => false, :message => "unexpected Db check result: error!"}4016 Check is timeouting4017 should have attributes {:success => false, :message => "Db check timed out"}4018 #liveness4019 should eq #<struct Gitlab::HealthChecks::Result success=true, message=nil, labels=nil>4020Gitlab::Ci::Reports::TestSuiteComparer4021 #new_failures4022 when head sutie has a newly failed test case which does not exist in base4023 returns the failed test case4024 when head sutie still has a failed test case which failed in base4025 does not return the failed test case4026 when head sutie has a success test case which failed in base4027 does not return the failed test case4028 #existing_failures4029 when head sutie has a newly failed test case which does not exist in base4030 returns the failed test case4031 when head sutie still has a failed test case which failed in base4032 does not return the failed test case4033 when head sutie has a success test case which failed in base4034 does not return the failed test case4035 #resolved_failures4036 when head sutie has a newly failed test case which does not exist in base4037 returns the failed test case4038 returns the correct resolved count4039 when head sutie still has a failed test case which failed in base4040 does not return the failed test case4041 returns the correct resolved count4042 when head sutie has a success test case which failed in base4043 does not return the resolved test case4044 returns the correct resolved count4045 #total_count4046 returns the total test counts in head suite4047 #failed_count4048 when there are a new failure and an existing failure4049 returns the correct count4050 when there is a new failure4051 returns the correct count4052 when there is an existing failure4053 returns the correct count4054 #total_status4055 when all test cases in head suite are success4056 returns the total status in head suite4057 when there is a failed test case in head suite4058 returns the total status in head suite4059Gitlab::GithubImport::Caching4060 .read4061 reads a value from the cache4062 returns nil if the cache key does not exist4063 refreshes the cache key if a value is present4064 does not refresh the cache key if a value is empty4065 .read_integer4066 returns an Integer4067 returns nil if no value was found4068 .write4069 writes a value to the cache and returns the written value4070 .set_add4071 adds a value to a set4072 .set_includes?4073 returns false when the key does not exist4074 returns false when the value is not present in the set4075 returns true when the set includes the given value4076 .write_multiple4077 sets multiple keys4078 .expire4079 sets the expiration time of a key4080Gitlab::Ci::Config::Entry::Service4081 when configuration is a string4082 #valid?4083 is valid4084 #value4085 returns valid hash4086 #image4087 returns service's image name4088 #alias4089 returns service's alias4090 #command4091 returns service's command4092 when configuration is a hash4093 #valid?4094 is valid4095 #value4096 returns valid hash4097 #image4098 returns service's image name4099 #alias4100 returns service's alias4101 #command4102 returns service's command4103 #entrypoint4104 returns service's entrypoint4105 when entry value is not correct4106 #errors4107 saves errors4108 #valid?4109 is not valid4110 when unexpected key is specified4111 #errors4112 saves errors4113 #valid?4114 is not valid4115MoveToProjectSerializer4116 #represent4117 includes the name and name with namespace4118Gitlab::DependencyLinker::CartfileLinker4119 .support?4120 supports Cartfile4121 supports Cartfile.private4122 does not support other files4123 #link4124 links dependencies4125 links Git repos4126 links binary-only frameworks4127gitlab:db namespace rake task4128 configure4129 invokes db:migrate when schema has already been loaded4130 invokes db:shema:load and db:seed_fu when schema is not loaded4131 invokes db:shema:load and db:seed_fu when there is only a single table present4132 does not invoke any other rake tasks during an error4133 does not invoke seed after a failed schema_load4134 SKIP_POST_DEPLOYMENT_MIGRATIONS environment variable set4135 adds post deployment migrations before schema load if the schema is not already loaded4136 ignores post deployment migrations when schema has already been loaded4137Gitlab::FileDetector4138 .types_in_paths4139 returns the file types for the given paths4140 does not include unrecognized file paths4141 .type_of4142 returns the type of a README file4143 returns nil for a README file in a directory4144 returns the type of a changelog file4145 returns the type of a license file4146 returns nil for an UNCOPYING file4147 returns the type of a version file4148 returns the type of a .gitignore file4149 returns the type of a GitLab CI config file4150 returns the type of an avatar4151 returns the type of an issue template4152 returns the type of a merge request template4153 returns nil for an unknown file4154RspecFlaky::Example4155 #initialize4156 when given an Rspec::Core::Example that responds to #example4157 behaves like a valid Example instance4158 returns valid attributes4159 when given an Rspec::Core::Example that does not respond to #example4160 behaves like a valid Example instance4161 returns valid attributes4162 #uid4163 returns a hash of the full description4164 #example_id4165 returns the ID of the RSpec::Core::Example4166 #attempts4167 returns the attempts of the RSpec::Core::Example4168 #file4169 returns the metadata[:file_path] of the RSpec::Core::Example4170 #line4171 returns the metadata[:line_number] of the RSpec::Core::Example4172 #description4173 returns the metadata[:full_description] of the RSpec::Core::Example4174 #status4175 returns the execution_result.status of the RSpec::Core::Example4176 #exception4177 returns the execution_result.exception of the RSpec::Core::Example4178TabHelper4179 nav_link4180 passes extra html options to the list element4181 with the content of the li4182 captures block output4183 with controller param4184 performs checks on the current controller4185 with action param4186 performs checks on both controller and action when both are present4187 with namespace in path notation4188 performs checks on both controller and namespace4189 with action param4190 performs checks on both namespace, controller and action when they are all present4191 with action param4192 performs checks on the current action4193 with path param4194 accepts a path shorthand4195 with namespace4196 accepts a path shorthand with namespace4197JSONWebToken::RSAToken4198 token4199 for valid key to be validated4200 should not raise Exception4201 should include {"key" => "value"}4202 should eq {"typ"=>"JWT", "alg"=>"RS256", "kid"=>"OGXY:4TR7:FAVO:WEM2:XXEW:E4FP:TKL7:7ACK:TZAF:D54P:SUIA:P3B2"}4203 for invalid key to raise an exception4204 should raise JWT::DecodeError4205MoveUploadsToSystemDir4206 #up4207 moves the directory to the new path4208 creates a symlink in the old location4209 #down4210 moves the directory to the old path4211 removes the symlink if it existed4212Gitlab::Ci::Config::Entry::Coverage4213 validations4214 when entry config value doesn't have the surrounding '/'4215 #errors4216 should include /coverage config must be a regular expression/4217 #valid?4218 should not be valid4219 when entry config value has the surrounding '/'4220 #value4221 should eq "Code coverage: \\d+\\.\\d+"4222 #errors4223 should be empty4224 #valid?4225 should be valid4226 when entry value is not valid4227 #errors4228 should include /coverage config must be a regular expression/4229 #valid?4230 should not be valid4231Gitlab::ProjectTransfer4232 #move_project4233 moves project upload to another namespace4234 #move_namespace4235 when moving namespace from root into another namespace4236 moves namespace projects' upload4237 when moving namespace from one parent to another4238 moves namespace projects' upload4239 when moving namespace from having a parent to root4240 moves namespace projects' upload4241 #rename_project4242 renames project4243 #rename_namespace4244 renames namespace4245Gitlab::ImportExport::VersionChecker4246 bundle a project Git repo4247 returns true if Import/Export have the same version4248 newer version4249 returns false if export version is newer4250 shows the correct error message4251 version file access check4252 does not read a symlink4253Gitlab::HealthChecks::GitalyCheck4254 #readiness4255 Gitaly server is up4256 should eq [#<struct Gitlab::HealthChecks::Result success=true, message=nil, labels={:shard=>"default"}>]4257 Gitaly server is down4258 should eq [#<struct Gitlab::HealthChecks::Result success=false, message="Connection refused", labels={:shard=>"default"}>]4259 #metrics4260 Gitaly server is up4261 provides metrics4262 Gitaly server is down4263 provides metrics4264BlameHelper4265 #get_age_map_start_date4266 returns the earliest date from a blame group4267 returns the earliest date from a project4268 #age_map_class4269 returns blame-commit-age-9 when oldest4270 returns blame-commit-age-0 class when newest4271 when called on the same day as project creation4272 returns blame-commit-age-0 class4273Gitlab::Metrics::Subscribers::ActiveRecord4274 #sql4275 without a current transaction4276 simply returns4277 with a current transaction4278 observes sql_duration metric4279 increments the :sql_duration value4280 events are internal to Rails or irrelevant4281 skips schema/begin/commit sql commands4282TestReportsComparerEntity4283 #as_json4284 when head and base reports include two test suites4285 when the status of head report is success4286 contains correct compared test reports details4287 when the status of head report is failed4288 contains correct compared test reports details4289 when the status of head report is resolved4290 contains correct compared test reports details4291RuboCop::Cop::SidekiqOptionsQueue4292 registers an offense when `sidekiq_options` is used with the `queue` option4293 does not register an offense when `sidekiq_options` is used with another option4294Gitlab::Diff::Formatters::ImageFormatter4295 behaves like position formatter4296 #key4297 should eq [123, 456, 789, "8b5f87754bd090b9e0837feef68f1737103de62b", "5b972068ce0905d88056d0c4b788554d34949d27", 1, 2]4298 #complete?4299 when there are missing key attributes4300 should be truthy4301 when old_line and new_line are nil4302 should be falsy4303 #to_h4304 should eq {:base_sha=>123, :start_sha=>456, :head_sha=>789, :old_path=>"old_image.png", :new_path=>"new_image.png", :position_type=>"image", :width=>100, :height=>100, :x=>1, :y=>2}4305 #==4306 should eq #<Gitlab::Diff::Formatters::ImageFormatter:0x0000556c4d47b3c8 @x=1, @y=2, @width=100, @height=100, @old_path="old_image.png", @new_path="new_image.png", @base_sha=123, @start_sha=456, @head_sha=789>4307TestSuiteComparerEntity4308 #as_json4309 when head sutie has a newly failed test case which does not exist in base4310 contains correct compared test suite details4311 when head sutie still has a failed test case which failed in base4312 contains correct compared test suite details4313 when head sutie has a success test case which failed in base4314 contains correct compared test suite details4315Gitlab::GithubImport::ImportIssueWorker4316 #import4317 imports an issue4318RepositoryCheckQueue4319 sets the queue name of a worker4320 disables retrying of failed jobs4321SystemCheck4322 .run4323 detects execution of SimpleCheck4324 detects exclusion of OtherCheck in execution4325Gitlab::StringRegexMarker4326 #mark4327 with a single occurrence4328 marks the match4329 with multiple occurrences4330 marks the matches4331Bitbucket::Paginator4332 items4333 return items and raises StopIteration in the end4334DeferScriptTagHelper4335 script tag4336 returns an script tag with defer=true4337Types::PermissionTypes::MergeRequest4338 should have graphql fields :read_merge_request, :admin_merge_request, :update_merge_request, :create_note, :push_to_source_branch, :remove_source_branch, :cherry_pick_on_current_merge_request, and :revert_on_current_merge_request4339Knapsack report was generated. Preview:4340{4341 "spec/models/cycle_analytics/plan_spec.rb": 174.2049331665039,4342 "spec/services/todo_service_spec.rb": 107.64548540115356,4343 "spec/requests/projects/cycle_analytics_events_spec.rb": 70.75689125061035,4344 "spec/features/issues/bulk_assignment_labels_spec.rb": 51.47507071495056,4345 "spec/features/issues/create_issue_for_single_discussion_in_merge_request_spec.rb": 43.00144624710083,4346 "spec/requests/api/notes_spec.rb": 41.020528078079224,4347 "spec/features/issues/notes_on_issues_spec.rb": 29.801469087600708,4348 "spec/features/projects/show/user_sees_setup_shortcut_buttons_spec.rb": 25.951027393341064,4349 "spec/lib/gitlab/background_migration/populate_merge_request_metrics_with_events_data_spec.rb": 24.199031352996826,4350 "spec/features/admin/admin_settings_spec.rb": 19.511419773101807,4351 "spec/lib/banzai/filter/label_reference_filter_spec.rb": 18.912033557891846,4352 "spec/requests/api/pages/private_access_spec.rb": 13.280484914779663,4353 "spec/controllers/groups/children_controller_spec.rb": 15.001851081848145,4354 "spec/uploaders/attachment_uploader_spec.rb": 10.831711530685425,4355 "spec/features/groups/members/manage_members_spec.rb": 13.391811609268188,4356 "spec/requests/api/pages/internal_access_spec.rb": 13.303332090377808,4357 "spec/lib/gitlab/reference_extractor_spec.rb": 10.04246973991394,4358 "spec/features/dashboard/milestone_filter_spec.rb": 8.945557355880737,4359 "spec/features/milestone_spec.rb": 7.350904226303101,4360 "spec/services/projects/detect_repository_languages_service_spec.rb": 8.387022733688354,4361 "spec/features/profiles/personal_access_tokens_spec.rb": 7.624915361404419,4362 "spec/services/event_create_service_spec.rb": 8.134061574935913,4363 "spec/lib/gitlab/graphql/connections/keyset_connection_spec.rb": 7.020097970962524,4364 "spec/features/container_registry_spec.rb": 5.926923513412476,4365 "spec/services/merge_requests/conflicts/resolve_service_spec.rb": 6.496819496154785,4366 "spec/requests/api/environments_spec.rb": 6.8133766651153564,4367 "spec/features/reportable_note/snippets_spec.rb": 7.327685117721558,4368 "spec/features/users/snippets_spec.rb": 5.303032398223877,4369 "spec/models/clusters/platforms/kubernetes_spec.rb": 6.373908996582031,4370 "spec/features/dashboard/milestone_tabs_spec.rb": 4.5669755935668945,4371 "spec/services/labels/transfer_service_spec.rb": 5.453587770462036,4372 "spec/features/admin/admin_disables_git_access_protocol_spec.rb": 4.457305192947388,4373 "spec/lib/gitlab/background_migration/delete_diff_files_spec.rb": 5.196513414382935,4374 "spec/lib/gitlab/project_authorizations_spec.rb": 4.526958465576172,4375 "spec/requests/api/namespaces_spec.rb": 4.039321184158325,4376 "spec/finders/milestones_finder_spec.rb": 2.6601550579071045,4377 "spec/lib/gitlab/ci/status/build/stop_spec.rb": 3.0015764236450195,4378 "spec/features/groups/members/leave_group_spec.rb": 3.4023053646087646,4379 "spec/lib/banzai/reference_parser/commit_range_parser_spec.rb": 3.2225260734558105,4380 "spec/finders/personal_access_tokens_finder_spec.rb": 2.6328840255737305,4381 "spec/features/dashboard/project_member_activity_index_spec.rb": 4.801606893539429,4382 "spec/features/admin/admin_appearance_spec.rb": 2.6721978187561035,4383 "spec/views/projects/merge_requests/edit.html.haml_spec.rb": 3.236612319946289,4384 "spec/features/projects/branches/user_deletes_branch_spec.rb": 2.7867581844329834,4385 "spec/lib/gitlab/diff/diff_refs_spec.rb": 2.4789490699768066,4386 "spec/controllers/projects/avatars_controller_spec.rb": 2.4143221378326416,4387 "spec/helpers/submodule_helper_spec.rb": 1.9184832572937012,4388 "spec/features/dashboard/label_filter_spec.rb": 2.2270658016204834,4389 "spec/lib/gitlab/github_import/importer/labels_importer_spec.rb": 2.0831823348999023,4390 "spec/lib/gitlab/ci/build/step_spec.rb": 1.9662151336669922,4391 "spec/helpers/visibility_level_helper_spec.rb": 1.8371565341949463,4392 "spec/helpers/milestones_helper_spec.rb": 2.129913091659546,4393 "spec/workers/remove_expired_group_links_worker_spec.rb": 1.7958240509033203,4394 "spec/lib/gitlab/git_access_wiki_spec.rb": 1.559351921081543,4395 "spec/migrations/clean_up_for_members_spec.rb": 1.672605037689209,4396 "spec/models/ci/build_runner_session_spec.rb": 1.9383087158203125,4397 "spec/lib/gitlab/gitlab_import/client_spec.rb": 0.9398298263549805,4398 "spec/services/todos/destroy/confidential_issue_service_spec.rb": 1.520888328552246,4399 "spec/lib/gitlab/background_migration/add_merge_request_diff_commits_count_spec.rb": 2.0063226222991943,4400 "spec/models/concerns/routable_spec.rb": 1.5771994590759277,4401 "spec/presenters/ci/pipeline_presenter_spec.rb": 1.5284039974212646,4402 "spec/services/users/create_service_spec.rb": 1.1660239696502686,4403 "spec/features/projects/services/user_activates_jetbrains_teamcity_ci_spec.rb": 1.996415615081787,4404 "spec/controllers/projects/tags_controller_spec.rb": 1.3027448654174805,4405 "spec/views/notify/pipeline_failed_email.html.haml_spec.rb": 1.7222449779510498,4406 "spec/migrations/migrate_gcp_clusters_to_new_clusters_architectures_spec.rb": 1.0176725387573242,4407 "spec/features/snippets/explore_spec.rb": 0.9968912601470947,4408 "spec/services/ci/ensure_stage_service_spec.rb": 1.2664923667907715,4409 "spec/policies/user_policy_spec.rb": 0.8752768039703369,4410 "spec/migrations/schedule_merge_request_diff_migrations_spec.rb": 1.1977646350860596,4411 "spec/migrations/clean_stages_statuses_migration_spec.rb": 1.0535449981689453,4412 "spec/lib/gitlab/background_migration/set_confidential_note_events_on_services_spec.rb": 1.4551587104797363,4413 "spec/tasks/gitlab/uploads/check_rake_spec.rb": 0.8864977359771729,4414 "spec/lib/gitlab/ci/status/build/action_spec.rb": 0.9478328227996826,4415 "spec/helpers/user_callouts_helper_spec.rb": 0.591949462890625,4416 "spec/services/wiki_pages/destroy_service_spec.rb": 0.6127724647521973,4417 "spec/features/snippets/embedded_snippet_spec.rb": 0.716331958770752,4418 "spec/models/blob_viewer/gitlab_ci_yml_spec.rb": 0.6591205596923828,4419 "spec/controllers/import/gitlab_projects_controller_spec.rb": 0.4328031539916992,4420 "spec/workers/repository_remove_remote_worker_spec.rb": 0.7118494510650635,4421 "spec/views/projects/blob/_viewer.html.haml_spec.rb": 0.5457091331481934,4422 "spec/lib/gitlab/legacy_github_import/label_formatter_spec.rb": 0.5517675876617432,4423 "spec/workers/concerns/gitlab/github_import/rescheduling_methods_spec.rb": 0.36390137672424316,4424 "spec/services/users/last_push_event_service_spec.rb": 0.46338605880737305,4425 "spec/features/merge_requests/user_views_all_merge_requests_spec.rb": 0.5449490547180176,4426 "spec/models/project_services/pushover_service_spec.rb": 0.4479997158050537,4427 "spec/controllers/groups/labels_controller_spec.rb": 0.4462599754333496,4428 "spec/rubocop/cop/code_reuse/presenter_spec.rb": 0.15584516525268555,4429 "spec/services/protected_branches/destroy_service_spec.rb": 0.3756072521209717,4430 "spec/controllers/admin/applications_controller_spec.rb": 0.44032835960388184,4431 "spec/views/projects/imports/new.html.haml_spec.rb": 0.37006354331970215,4432 "spec/helpers/graph_helper_spec.rb": 0.2836623191833496,4433 "spec/lib/gitlab/ci/pipeline/expression/parser_spec.rb": 0.00837254524230957,4434 "spec/services/deploy_keys/create_service_spec.rb": 0.21564316749572754,4435 "spec/models/project_services/bugzilla_service_spec.rb": 0.25057363510131836,4436 "spec/models/release_spec.rb": 0.25609850883483887,4437 "spec/models/concerns/strip_attribute_spec.rb": 0.20664715766906738,4438 "spec/controllers/admin/identities_controller_spec.rb": 0.23036885261535645,4439 "spec/controllers/metrics_controller_spec.rb": 0.1426541805267334,4440 "spec/rubocop/cop/qa/element_with_pattern_spec.rb": 0.040877580642700195,4441 "spec/models/concerns/triggerable_hooks_spec.rb": 0.17613744735717773,4442 "spec/lib/gitlab/redis/queues_spec.rb": 0.06897425651550293,4443 "spec/serializers/move_to_project_entity_spec.rb": 0.09735941886901855,4444 "spec/lib/gitlab/dependency_linker/podspec_linker_spec.rb": 0.0625619888305664,4445 "spec/lib/gitlab/github_import/client_spec.rb": 0.0804290771484375,4446 "spec/services/ci/update_runner_service_spec.rb": 0.07156658172607422,4447 "spec/lib/gitlab/prometheus/additional_metrics_parser_spec.rb": 0.07478833198547363,4448 "spec/lib/rspec_flaky/config_spec.rb": 0.044447898864746094,4449 "spec/lib/gitlab/health_checks/db_check_spec.rb": 0.03561592102050781,4450 "spec/lib/gitlab/ci/reports/test_suite_comparer_spec.rb": 0.038958072662353516,4451 "spec/lib/gitlab/github_import/caching_spec.rb": 0.03811931610107422,4452 "spec/lib/gitlab/ci/config/entry/service_spec.rb": 0.03852343559265137,4453 "spec/serializers/move_to_project_serializer_spec.rb": 0.05346322059631348,4454 "spec/lib/gitlab/dependency_linker/cartfile_linker_spec.rb": 0.02778935432434082,4455 "spec/tasks/gitlab/db_rake_spec.rb": 0.0221407413482666,4456 "spec/lib/gitlab/file_detector_spec.rb": 0.027711868286132812,4457 "spec/lib/rspec_flaky/example_spec.rb": 0.0224606990814209,4458 "spec/helpers/tab_helper_spec.rb": 0.025672197341918945,4459 "spec/lib/json_web_token/rsa_token_spec.rb": 0.021393775939941406,4460 "spec/migrations/move_uploads_to_system_dir_spec.rb": 0.014059305191040039,4461 "spec/lib/gitlab/ci/config/entry/coverage_spec.rb": 0.02009272575378418,4462 "spec/lib/gitlab/project_transfer_spec.rb": 0.016458988189697266,4463 "spec/lib/gitlab/import_export/version_checker_spec.rb": 0.013767480850219727,4464 "spec/lib/gitlab/health_checks/gitaly_check_spec.rb": 0.3520655632019043,4465 "spec/helpers/blame_helper_spec.rb": 0.01362919807434082,4466 "spec/lib/gitlab/metrics/subscribers/active_record_spec.rb": 0.012035846710205078,4467 "spec/serializers/test_reports_comparer_entity_spec.rb": 0.01065969467163086,4468 "spec/rubocop/cop/sidekiq_options_queue_spec.rb": 0.013027191162109375,4469 "spec/lib/gitlab/diff/formatters/image_formatter_spec.rb": 0.0116424560546875,4470 "spec/serializers/test_suite_comparer_entity_spec.rb": 0.007969379425048828,4471 "spec/workers/gitlab/github_import/import_issue_worker_spec.rb": 0.007368803024291992,4472 "spec/workers/concerns/repository_check_queue_spec.rb": 0.00529170036315918,4473 "spec/lib/system_check_spec.rb": 0.005741596221923828,4474 "spec/lib/gitlab/string_regex_marker_spec.rb": 0.005082607269287109,4475 "spec/lib/bitbucket/paginator_spec.rb": 0.003197908401489258,4476 "spec/helpers/defer_script_tag_helper_spec.rb": 0.0030906200408935547,4477 "spec/graphql/types/permission_types/merge_request_spec.rb": 0.0033831596374511724478}4479Knapsack global time execution for tests: 14m 43s4480Pending: (Failures listed here are expected and do not affect your suite's status)4481 1) AttachmentUploader behaves like builds correct paths #cache_dir behaves like matches the method pattern 4482 # No pattern provided, skipping.4483 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:64484 2) AttachmentUploader behaves like builds correct paths #work_dir behaves like matches the method pattern 4485 # No pattern provided, skipping.4486 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:64487 3) AttachmentUploader behaves like builds correct paths .base_dir behaves like matches the method pattern 4488 # No pattern provided, skipping.4489 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:64490 4) AttachmentUploader object_store is REMOTE behaves like builds correct paths #cache_dir behaves like matches the method pattern 4491 # No pattern provided, skipping.4492 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:64493 5) AttachmentUploader object_store is REMOTE behaves like builds correct paths #work_dir behaves like matches the method pattern 4494 # No pattern provided, skipping.4495 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:64496 6) AttachmentUploader object_store is REMOTE behaves like builds correct paths .absolute_path behaves like matches the method pattern 4497 # No pattern provided, skipping.4498 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:64499 7) AttachmentUploader object_store is REMOTE behaves like builds correct paths .base_dir behaves like matches the method pattern 4500 # No pattern provided, skipping.4501 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:64502Finished in 16 minutes 30 seconds (files took 15.34 seconds to load)45031444 examples, 0 failures, 7 pending4505$ date4506Sat Oct 27 13:13:05 UTC 20184509coverage/: found 5 matching files 4510knapsack/: found 4 matching files 4511rspec_flaky/: found 4 matching files 4512WARNING: tmp/capybara/: no matching files 4513Uploading artifacts to coordinator... ok id=113407419 responseStatus=201 Created token=BKVzess84514Uploading artifacts...4515junit_rspec.xml: found 1 matching files 4516Uploading artifacts to coordinator... ok id=113407419 responseStatus=201 Created token=BKVzess84517Job succeeded