rspec-pg 21 30
Passed Started
by
@gtsiolis
George Tsiolis
1Running with gitlab-runner 11.4.0-rc1 (1ff344e1)2 on docker-auto-scale-com d5ae8d253Using Docker executor with image dev.gitlab.org:5005/gitlab/gitlab-build-images:ruby-2.4.4-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:c0b5c11b5690c96b3ddb0e067bb586639333332c4c8310c03524b75df416aaa0 for postgres:9.6 ...7Starting service redis:alpine ...8Pulling docker image redis:alpine ...9Using docker image sha256:05097a3a0549ad993281c2d1f7bbfa807e13217a7afa119f9111d8fd804f420c 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.4-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:3506f1c033d455846e9905735c846ef55a728e3b04e3eee8825e62e8299c6631 for dev.gitlab.org:5005/gitlab/gitlab-build-images:ruby-2.4.4-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-d5ae8d25-project-4581232-concurrent-0 via runner-d5ae8d25-gsrm-1539325770-8294d4c8...
00:02
15Cloning into '/builds/gtsiolis/gitlab-ce'...16Checking out 0eb7e029 as gt-update-environments-empty-state...17Skipping Git submodules setup19Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/4581232/ruby-2.4.4-debian-stretch-with-yarn-7 20Successfully extracted cache22Downloading artifacts from coordinator... ok id=107387993 responseStatus=200 OK token=GcK8aUsr23Downloading artifacts for compile-assets (107387994)...24Downloading artifacts from coordinator... ok id=107387994 responseStatus=200 OK token=gvyaPn9925Downloading artifacts for setup-test-env (107387995)...26Downloading artifacts from coordinator... ok id=107387995 responseStatus=200 OK token=c2FqqGjr27WARNING: 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$ date31Fri Oct 12 07:47:57 UTC 201832$ source scripts/utils.sh33$ date34Fri Oct 12 07:47:57 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.0131s43-- enable_extension("pg_trgm")44 -> 0.0402s45-- create_table("abuse_reports", {:force=>:cascade})46 -> 0.0268s47-- create_table("appearances", {:force=>:cascade})48 -> 0.0239s49-- create_table("application_setting_terms", {:force=>:cascade})50 -> 0.0229s51-- create_table("application_settings", {:force=>:cascade})52 -> 0.0594s53-- create_table("audit_events", {:force=>:cascade})54 -> 0.0233s55-- add_index("audit_events", ["entity_id", "entity_type"], {:name=>"index_audit_events_on_entity_id_and_entity_type", :using=>:btree})56 -> 0.0142s57-- create_table("award_emoji", {:force=>:cascade})58 -> 0.0231s59-- add_index("award_emoji", ["awardable_type", "awardable_id"], {:name=>"index_award_emoji_on_awardable_type_and_awardable_id", :using=>:btree})60 -> 0.0133s61-- add_index("award_emoji", ["user_id", "name"], {:name=>"index_award_emoji_on_user_id_and_name", :using=>:btree})62 -> 0.0136s63-- create_table("badges", {:force=>:cascade})64 -> 0.0233s65-- add_index("badges", ["group_id"], {:name=>"index_badges_on_group_id", :using=>:btree})66 -> 0.0134s67-- add_index("badges", ["project_id"], {:name=>"index_badges_on_project_id", :using=>:btree})68 -> 0.0134s69-- create_table("boards", {:force=>:cascade})70 -> 0.0135s71-- add_index("boards", ["group_id"], {:name=>"index_boards_on_group_id", :using=>:btree})72 -> 0.0136s73-- add_index("boards", ["project_id"], {:name=>"index_boards_on_project_id", :using=>:btree})74 -> 0.0133s75-- create_table("broadcast_messages", {:force=>:cascade})76 -> 0.0232s77-- add_index("broadcast_messages", ["starts_at", "ends_at", "id"], {:name=>"index_broadcast_messages_on_starts_at_and_ends_at_and_id", :using=>:btree})78 -> 0.0136s79-- create_table("chat_names", {:force=>:cascade})80 -> 0.0232s81-- 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})82 -> 0.0135s83-- add_index("chat_names", ["user_id", "service_id"], {:name=>"index_chat_names_on_user_id_and_service_id", :unique=>true, :using=>:btree})84 -> 0.0134s85-- create_table("chat_teams", {:force=>:cascade})86 -> 0.0229s87-- add_index("chat_teams", ["namespace_id"], {:name=>"index_chat_teams_on_namespace_id", :unique=>true, :using=>:btree})88 -> 0.0136s89-- create_table("ci_build_trace_chunks", {:id=>:bigserial, :force=>:cascade})90 -> 0.0231s91-- 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})92 -> 0.0134s93-- create_table("ci_build_trace_section_names", {:force=>:cascade})94 -> 0.0228s95-- 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})96 -> 0.0136s97-- create_table("ci_build_trace_sections", {:force=>:cascade})98 -> 0.0148s99-- 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})100 -> 0.0136s101-- add_index("ci_build_trace_sections", ["project_id"], {:name=>"index_ci_build_trace_sections_on_project_id", :using=>:btree})102 -> 0.0135s103-- add_index("ci_build_trace_sections", ["section_name_id"], {:name=>"index_ci_build_trace_sections_on_section_name_id", :using=>:btree})104 -> 0.0137s105-- create_table("ci_builds", {:force=>:cascade})106 -> 0.0253s107-- add_index("ci_builds", ["artifacts_expire_at"], {:name=>"index_ci_builds_on_artifacts_expire_at", :where=>"(artifacts_file <> ''::text)", :using=>:btree})108 -> 0.0139s109-- add_index("ci_builds", ["auto_canceled_by_id"], {:name=>"index_ci_builds_on_auto_canceled_by_id", :using=>:btree})110 -> 0.0134s111-- 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})112 -> 0.0141s113-- add_index("ci_builds", ["commit_id", "status", "type"], {:name=>"index_ci_builds_on_commit_id_and_status_and_type", :using=>:btree})114 -> 0.0137s115-- add_index("ci_builds", ["commit_id", "type", "name", "ref"], {:name=>"index_ci_builds_on_commit_id_and_type_and_name_and_ref", :using=>:btree})116 -> 0.0137s117-- add_index("ci_builds", ["commit_id", "type", "ref"], {:name=>"index_ci_builds_on_commit_id_and_type_and_ref", :using=>:btree})118 -> 0.0135s119-- add_index("ci_builds", ["id"], {:name=>"partial_index_ci_builds_on_id_with_legacy_artifacts", :where=>"(artifacts_file <> ''::text)", :using=>:btree})120 -> 0.0136s121-- add_index("ci_builds", ["project_id", "id"], {:name=>"index_ci_builds_on_project_id_and_id", :using=>:btree})122 -> 0.0136s123-- add_index("ci_builds", ["protected"], {:name=>"index_ci_builds_on_protected", :using=>:btree})124 -> 0.0135s125-- add_index("ci_builds", ["runner_id"], {:name=>"index_ci_builds_on_runner_id", :using=>:btree})126 -> 0.0139s127-- 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})128 -> 0.0138s129-- add_index("ci_builds", ["stage_id", "stage_idx"], {:name=>"tmp_build_stage_position_index", :where=>"(stage_idx IS NOT NULL)", :using=>:btree})130 -> 0.0161s131-- add_index("ci_builds", ["stage_id"], {:name=>"index_ci_builds_on_stage_id", :using=>:btree})132 -> 0.0140s133-- add_index("ci_builds", ["status", "type", "runner_id"], {:name=>"index_ci_builds_on_status_and_type_and_runner_id", :using=>:btree})134 -> 0.0138s135-- add_index("ci_builds", ["token"], {:name=>"index_ci_builds_on_token", :unique=>true, :using=>:btree})136 -> 0.0138s137-- add_index("ci_builds", ["updated_at"], {:name=>"index_ci_builds_on_updated_at", :using=>:btree})138 -> 0.0136s139-- add_index("ci_builds", ["user_id"], {:name=>"index_ci_builds_on_user_id", :using=>:btree})140 -> 0.0133s141-- create_table("ci_builds_metadata", {:force=>:cascade})142 -> 0.0138s143-- add_index("ci_builds_metadata", ["build_id"], {:name=>"index_ci_builds_metadata_on_build_id", :unique=>true, :using=>:btree})144 -> 0.0132s145-- add_index("ci_builds_metadata", ["project_id"], {:name=>"index_ci_builds_metadata_on_project_id", :using=>:btree})146 -> 0.0129s147-- create_table("ci_builds_runner_session", {:id=>:bigserial, :force=>:cascade})148 -> 0.0230s149-- add_index("ci_builds_runner_session", ["build_id"], {:name=>"index_ci_builds_runner_session_on_build_id", :unique=>true, :using=>:btree})150 -> 0.0132s151-- create_table("ci_group_variables", {:force=>:cascade})152 -> 0.0237s153-- add_index("ci_group_variables", ["group_id", "key"], {:name=>"index_ci_group_variables_on_group_id_and_key", :unique=>true, :using=>:btree})154 -> 0.0133s155-- create_table("ci_job_artifacts", {:force=>:cascade})156 -> 0.0235s157-- add_index("ci_job_artifacts", ["expire_at", "job_id"], {:name=>"index_ci_job_artifacts_on_expire_at_and_job_id", :using=>:btree})158 -> 0.0138s159-- add_index("ci_job_artifacts", ["file_store"], {:name=>"index_ci_job_artifacts_on_file_store", :using=>:btree})160 -> 0.0135s161-- add_index("ci_job_artifacts", ["job_id", "file_type"], {:name=>"index_ci_job_artifacts_on_job_id_and_file_type", :unique=>true, :using=>:btree})162 -> 0.0134s163-- add_index("ci_job_artifacts", ["project_id"], {:name=>"index_ci_job_artifacts_on_project_id", :using=>:btree})164 -> 0.0132s165-- create_table("ci_pipeline_schedule_variables", {:force=>:cascade})166 -> 0.0228s167-- 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})168 -> 0.0133s169-- create_table("ci_pipeline_schedules", {:force=>:cascade})170 -> 0.0248s171-- add_index("ci_pipeline_schedules", ["next_run_at", "active"], {:name=>"index_ci_pipeline_schedules_on_next_run_at_and_active", :using=>:btree})172 -> 0.0135s173-- add_index("ci_pipeline_schedules", ["project_id"], {:name=>"index_ci_pipeline_schedules_on_project_id", :using=>:btree})174 -> 0.0133s175-- create_table("ci_pipeline_variables", {:force=>:cascade})176 -> 0.0226s177-- add_index("ci_pipeline_variables", ["pipeline_id", "key"], {:name=>"index_ci_pipeline_variables_on_pipeline_id_and_key", :unique=>true, :using=>:btree})178 -> 0.0140s179-- create_table("ci_pipelines", {:force=>:cascade})180 -> 0.0244s181-- add_index("ci_pipelines", ["auto_canceled_by_id"], {:name=>"index_ci_pipelines_on_auto_canceled_by_id", :using=>:btree})182 -> 0.0134s183-- add_index("ci_pipelines", ["pipeline_schedule_id"], {:name=>"index_ci_pipelines_on_pipeline_schedule_id", :using=>:btree})184 -> 0.0134s185-- 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})186 -> 0.0131s187-- add_index("ci_pipelines", ["project_id", "ref", "status", "id"], {:name=>"index_ci_pipelines_on_project_id_and_ref_and_status_and_id", :using=>:btree})188 -> 0.0131s189-- add_index("ci_pipelines", ["project_id", "sha"], {:name=>"index_ci_pipelines_on_project_id_and_sha", :using=>:btree})190 -> 0.0129s191-- add_index("ci_pipelines", ["project_id", "source"], {:name=>"index_ci_pipelines_on_project_id_and_source", :using=>:btree})192 -> 0.0133s193-- add_index("ci_pipelines", ["project_id", "status", "config_source"], {:name=>"index_ci_pipelines_on_project_id_and_status_and_config_source", :using=>:btree})194 -> 0.0129s195-- add_index("ci_pipelines", ["project_id"], {:name=>"index_ci_pipelines_on_project_id", :using=>:btree})196 -> 0.0132s197-- add_index("ci_pipelines", ["status"], {:name=>"index_ci_pipelines_on_status", :using=>:btree})198 -> 0.0131s199-- add_index("ci_pipelines", ["user_id"], {:name=>"index_ci_pipelines_on_user_id", :using=>:btree})200 -> 0.0131s201-- create_table("ci_runner_namespaces", {:force=>:cascade})202 -> 0.0129s203-- add_index("ci_runner_namespaces", ["namespace_id"], {:name=>"index_ci_runner_namespaces_on_namespace_id", :using=>:btree})204 -> 0.0131s205-- add_index("ci_runner_namespaces", ["runner_id", "namespace_id"], {:name=>"index_ci_runner_namespaces_on_runner_id_and_namespace_id", :unique=>true, :using=>:btree})206 -> 0.0134s207-- create_table("ci_runner_projects", {:force=>:cascade})208 -> 0.0134s209-- add_index("ci_runner_projects", ["project_id"], {:name=>"index_ci_runner_projects_on_project_id", :using=>:btree})210 -> 0.0129s211-- add_index("ci_runner_projects", ["runner_id"], {:name=>"index_ci_runner_projects_on_runner_id", :using=>:btree})212 -> 0.0131s213-- create_table("ci_runners", {:force=>:cascade})214 -> 0.0252s215-- add_index("ci_runners", ["contacted_at"], {:name=>"index_ci_runners_on_contacted_at", :using=>:btree})216 -> 0.0135s217-- add_index("ci_runners", ["is_shared"], {:name=>"index_ci_runners_on_is_shared", :using=>:btree})218 -> 0.0134s219-- add_index("ci_runners", ["locked"], {:name=>"index_ci_runners_on_locked", :using=>:btree})220 -> 0.0137s221-- add_index("ci_runners", ["runner_type"], {:name=>"index_ci_runners_on_runner_type", :using=>:btree})222 -> 0.0134s223-- add_index("ci_runners", ["token"], {:name=>"index_ci_runners_on_token", :using=>:btree})224 -> 0.0134s225-- create_table("ci_stages", {:force=>:cascade})226 -> 0.0233s227-- add_index("ci_stages", ["pipeline_id", "name"], {:name=>"index_ci_stages_on_pipeline_id_and_name", :unique=>true, :using=>:btree})228 -> 0.0137s229-- add_index("ci_stages", ["pipeline_id", "position"], {:name=>"index_ci_stages_on_pipeline_id_and_position", :using=>:btree})230 -> 0.0135s231-- add_index("ci_stages", ["pipeline_id"], {:name=>"index_ci_stages_on_pipeline_id", :using=>:btree})232 -> 0.0138s233-- add_index("ci_stages", ["project_id"], {:name=>"index_ci_stages_on_project_id", :using=>:btree})234 -> 0.0137s235-- create_table("ci_trigger_requests", {:force=>:cascade})236 -> 0.0230s237-- add_index("ci_trigger_requests", ["commit_id"], {:name=>"index_ci_trigger_requests_on_commit_id", :using=>:btree})238 -> 0.0135s239-- create_table("ci_triggers", {:force=>:cascade})240 -> 0.0230s241-- add_index("ci_triggers", ["project_id"], {:name=>"index_ci_triggers_on_project_id", :using=>:btree})242 -> 0.0133s243-- create_table("ci_variables", {:force=>:cascade})244 -> 0.0242s245-- 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})246 -> 0.0138s247-- create_table("cluster_platforms_kubernetes", {:force=>:cascade})248 -> 0.0239s249-- add_index("cluster_platforms_kubernetes", ["cluster_id"], {:name=>"index_cluster_platforms_kubernetes_on_cluster_id", :unique=>true, :using=>:btree})250 -> 0.0139s251-- create_table("cluster_projects", {:force=>:cascade})252 -> 0.0138s253-- add_index("cluster_projects", ["cluster_id"], {:name=>"index_cluster_projects_on_cluster_id", :using=>:btree})254 -> 0.0138s255-- add_index("cluster_projects", ["project_id"], {:name=>"index_cluster_projects_on_project_id", :using=>:btree})256 -> 0.0161s257-- create_table("cluster_providers_gcp", {:force=>:cascade})258 -> 0.0261s259-- add_index("cluster_providers_gcp", ["cluster_id"], {:name=>"index_cluster_providers_gcp_on_cluster_id", :unique=>true, :using=>:btree})260 -> 0.0135s261-- create_table("clusters", {:force=>:cascade})262 -> 0.0240s263-- add_index("clusters", ["enabled"], {:name=>"index_clusters_on_enabled", :using=>:btree})264 -> 0.0135s265-- add_index("clusters", ["user_id"], {:name=>"index_clusters_on_user_id", :using=>:btree})266 -> 0.0134s267-- create_table("clusters_applications_helm", {:force=>:cascade})268 -> 0.0236s269-- create_table("clusters_applications_ingress", {:force=>:cascade})270 -> 0.0232s271-- create_table("clusters_applications_jupyter", {:force=>:cascade})272 -> 0.0237s273-- create_table("clusters_applications_prometheus", {:force=>:cascade})274 -> 0.0232s275-- create_table("clusters_applications_runners", {:force=>:cascade})276 -> 0.0238s277-- add_index("clusters_applications_runners", ["cluster_id"], {:name=>"index_clusters_applications_runners_on_cluster_id", :unique=>true, :using=>:btree})278 -> 0.0134s279-- add_index("clusters_applications_runners", ["runner_id"], {:name=>"index_clusters_applications_runners_on_runner_id", :using=>:btree})280 -> 0.0147s281-- create_table("container_repositories", {:force=>:cascade})282 -> 0.0226s283-- add_index("container_repositories", ["project_id", "name"], {:name=>"index_container_repositories_on_project_id_and_name", :unique=>true, :using=>:btree})284 -> 0.0135s285-- add_index("container_repositories", ["project_id"], {:name=>"index_container_repositories_on_project_id", :using=>:btree})286 -> 0.0128s287-- create_table("conversational_development_index_metrics", {:force=>:cascade})288 -> 0.0183s289-- create_table("deploy_keys_projects", {:force=>:cascade})290 -> 0.0136s291-- add_index("deploy_keys_projects", ["project_id"], {:name=>"index_deploy_keys_projects_on_project_id", :using=>:btree})292 -> 0.0130s293-- create_table("deploy_tokens", {:force=>:cascade})294 -> 0.0242s295-- 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})296 -> 0.0134s297-- add_index("deploy_tokens", ["token"], {:name=>"index_deploy_tokens_on_token", :unique=>true, :using=>:btree})298 -> 0.0140s299-- create_table("deployments", {:force=>:cascade})300 -> 0.0234s301-- add_index("deployments", ["created_at"], {:name=>"index_deployments_on_created_at", :using=>:btree})302 -> 0.0134s303-- add_index("deployments", ["deployable_type", "deployable_id"], {:name=>"index_deployments_on_deployable_type_and_deployable_id", :using=>:btree})304 -> 0.0133s305-- add_index("deployments", ["environment_id", "id"], {:name=>"index_deployments_on_environment_id_and_id", :using=>:btree})306 -> 0.0132s307-- add_index("deployments", ["environment_id", "iid", "project_id"], {:name=>"index_deployments_on_environment_id_and_iid_and_project_id", :using=>:btree})308 -> 0.0133s309-- add_index("deployments", ["project_id", "iid"], {:name=>"index_deployments_on_project_id_and_iid", :unique=>true, :using=>:btree})310 -> 0.0131s311-- create_table("emails", {:force=>:cascade})312 -> 0.0229s313-- add_index("emails", ["confirmation_token"], {:name=>"index_emails_on_confirmation_token", :unique=>true, :using=>:btree})314 -> 0.0132s315-- add_index("emails", ["email"], {:name=>"index_emails_on_email", :unique=>true, :using=>:btree})316 -> 0.0131s317-- add_index("emails", ["user_id"], {:name=>"index_emails_on_user_id", :using=>:btree})318 -> 0.0132s319-- create_table("environments", {:force=>:cascade})320 -> 0.0243s321-- add_index("environments", ["project_id", "name"], {:name=>"index_environments_on_project_id_and_name", :unique=>true, :using=>:btree})322 -> 0.0135s323-- add_index("environments", ["project_id", "slug"], {:name=>"index_environments_on_project_id_and_slug", :unique=>true, :using=>:btree})324 -> 0.0131s325-- create_table("events", {:force=>:cascade})326 -> 0.0230s327-- add_index("events", ["action"], {:name=>"index_events_on_action", :using=>:btree})328 -> 0.0134s329-- add_index("events", ["author_id", "project_id"], {:name=>"index_events_on_author_id_and_project_id", :using=>:btree})330 -> 0.0132s331-- add_index("events", ["project_id", "id"], {:name=>"index_events_on_project_id_and_id", :using=>:btree})332 -> 0.0129s333-- add_index("events", ["target_type", "target_id"], {:name=>"index_events_on_target_type_and_target_id", :using=>:btree})334 -> 0.0130s335-- create_table("feature_gates", {:force=>:cascade})336 -> 0.0235s337-- add_index("feature_gates", ["feature_key", "key", "value"], {:name=>"index_feature_gates_on_feature_key_and_key_and_value", :unique=>true, :using=>:btree})338 -> 0.0139s339-- create_table("features", {:force=>:cascade})340 -> 0.0228s341-- add_index("features", ["key"], {:name=>"index_features_on_key", :unique=>true, :using=>:btree})342 -> 0.0137s343-- create_table("fork_network_members", {:force=>:cascade})344 -> 0.0132s345-- add_index("fork_network_members", ["fork_network_id"], {:name=>"index_fork_network_members_on_fork_network_id", :using=>:btree})346 -> 0.0143s347-- add_index("fork_network_members", ["project_id"], {:name=>"index_fork_network_members_on_project_id", :unique=>true, :using=>:btree})348 -> 0.0136s349-- create_table("fork_networks", {:force=>:cascade})350 -> 0.0230s351-- add_index("fork_networks", ["root_project_id"], {:name=>"index_fork_networks_on_root_project_id", :unique=>true, :using=>:btree})352 -> 0.0132s353-- create_table("forked_project_links", {:force=>:cascade})354 -> 0.0133s355-- add_index("forked_project_links", ["forked_to_project_id"], {:name=>"index_forked_project_links_on_forked_to_project_id", :unique=>true, :using=>:btree})356 -> 0.0131s357-- create_table("gcp_clusters", {:force=>:cascade})358 -> 0.0246s359-- add_index("gcp_clusters", ["project_id"], {:name=>"index_gcp_clusters_on_project_id", :unique=>true, :using=>:btree})360 -> 0.0136s361-- create_table("gpg_key_subkeys", {:force=>:cascade})362 -> 0.0233s363-- add_index("gpg_key_subkeys", ["fingerprint"], {:name=>"index_gpg_key_subkeys_on_fingerprint", :unique=>true, :using=>:btree})364 -> 0.0136s365-- add_index("gpg_key_subkeys", ["gpg_key_id"], {:name=>"index_gpg_key_subkeys_on_gpg_key_id", :using=>:btree})366 -> 0.0135s367-- add_index("gpg_key_subkeys", ["keyid"], {:name=>"index_gpg_key_subkeys_on_keyid", :unique=>true, :using=>:btree})368 -> 0.0133s369-- create_table("gpg_keys", {:force=>:cascade})370 -> 0.0234s371-- add_index("gpg_keys", ["fingerprint"], {:name=>"index_gpg_keys_on_fingerprint", :unique=>true, :using=>:btree})372 -> 0.0133s373-- add_index("gpg_keys", ["primary_keyid"], {:name=>"index_gpg_keys_on_primary_keyid", :unique=>true, :using=>:btree})374 -> 0.0134s375-- add_index("gpg_keys", ["user_id"], {:name=>"index_gpg_keys_on_user_id", :using=>:btree})376 -> 0.0132s377-- create_table("gpg_signatures", {:force=>:cascade})378 -> 0.0242s379-- add_index("gpg_signatures", ["commit_sha"], {:name=>"index_gpg_signatures_on_commit_sha", :unique=>true, :using=>:btree})380 -> 0.0131s381-- add_index("gpg_signatures", ["gpg_key_id"], {:name=>"index_gpg_signatures_on_gpg_key_id", :using=>:btree})382 -> 0.0131s383-- add_index("gpg_signatures", ["gpg_key_primary_keyid"], {:name=>"index_gpg_signatures_on_gpg_key_primary_keyid", :using=>:btree})384 -> 0.0132s385-- add_index("gpg_signatures", ["gpg_key_subkey_id"], {:name=>"index_gpg_signatures_on_gpg_key_subkey_id", :using=>:btree})386 -> 0.0128s387-- add_index("gpg_signatures", ["project_id"], {:name=>"index_gpg_signatures_on_project_id", :using=>:btree})388 -> 0.0132s389-- create_table("group_custom_attributes", {:force=>:cascade})390 -> 0.0229s391-- add_index("group_custom_attributes", ["group_id", "key"], {:name=>"index_group_custom_attributes_on_group_id_and_key", :unique=>true, :using=>:btree})392 -> 0.0132s393-- add_index("group_custom_attributes", ["key", "value"], {:name=>"index_group_custom_attributes_on_key_and_value", :using=>:btree})394 -> 0.0137s395-- create_table("identities", {:force=>:cascade})396 -> 0.0231s397-- add_index("identities", ["user_id"], {:name=>"index_identities_on_user_id", :using=>:btree})398 -> 0.0134s399-- create_table("import_export_uploads", {:force=>:cascade})400 -> 0.0232s401-- add_index("import_export_uploads", ["project_id"], {:name=>"index_import_export_uploads_on_project_id", :using=>:btree})402 -> 0.0135s403-- add_index("import_export_uploads", ["updated_at"], {:name=>"index_import_export_uploads_on_updated_at", :using=>:btree})404 -> 0.0132s405-- create_table("internal_ids", {:id=>:bigserial, :force=>:cascade})406 -> 0.0131s407-- 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})408 -> 0.0132s409-- 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})410 -> 0.0134s411-- create_table("issue_assignees", {:id=>false, :force=>:cascade})412 -> 0.0028s413-- add_index("issue_assignees", ["issue_id", "user_id"], {:name=>"index_issue_assignees_on_issue_id_and_user_id", :unique=>true, :using=>:btree})414 -> 0.0129s415-- add_index("issue_assignees", ["user_id"], {:name=>"index_issue_assignees_on_user_id", :using=>:btree})416 -> 0.0155s417-- create_table("issue_metrics", {:force=>:cascade})418 -> 0.0217s419-- add_index("issue_metrics", ["issue_id"], {:name=>"index_issue_metrics", :using=>:btree})420 -> 0.0187s421-- create_table("issues", {:force=>:cascade})422 -> 0.0258s423-- add_index("issues", ["author_id"], {:name=>"index_issues_on_author_id", :using=>:btree})424 -> 0.0147s425-- add_index("issues", ["confidential"], {:name=>"index_issues_on_confidential", :using=>:btree})426 -> 0.0148s427-- add_index("issues", ["description"], {:name=>"index_issues_on_description_trigram", :using=>:gin, :opclasses=>{"description"=>"gin_trgm_ops"}})428 -> 0.0048s429-- add_index("issues", ["milestone_id"], {:name=>"index_issues_on_milestone_id", :using=>:btree})430 -> 0.0141s431-- add_index("issues", ["moved_to_id"], {:name=>"index_issues_on_moved_to_id", :where=>"(moved_to_id IS NOT NULL)", :using=>:btree})432 -> 0.0145s433-- add_index("issues", ["project_id", "created_at", "id", "state"], {:name=>"index_issues_on_project_id_and_created_at_and_id_and_state", :using=>:btree})434 -> 0.0134s435-- 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})436 -> 0.0130s437-- add_index("issues", ["project_id", "iid"], {:name=>"index_issues_on_project_id_and_iid", :unique=>true, :using=>:btree})438 -> 0.0130s439-- add_index("issues", ["project_id", "updated_at", "id", "state"], {:name=>"index_issues_on_project_id_and_updated_at_and_id_and_state", :using=>:btree})440 -> 0.0132s441-- add_index("issues", ["relative_position"], {:name=>"index_issues_on_relative_position", :using=>:btree})442 -> 0.0133s443-- add_index("issues", ["state"], {:name=>"index_issues_on_state", :using=>:btree})444 -> 0.0131s445-- add_index("issues", ["title"], {:name=>"index_issues_on_title_trigram", :using=>:gin, :opclasses=>{"title"=>"gin_trgm_ops"}})446 -> 0.0035s447-- add_index("issues", ["updated_at"], {:name=>"index_issues_on_updated_at", :using=>:btree})448 -> 0.0128s449-- add_index("issues", ["updated_by_id"], {:name=>"index_issues_on_updated_by_id", :where=>"(updated_by_id IS NOT NULL)", :using=>:btree})450 -> 0.0132s451-- create_table("keys", {:force=>:cascade})452 -> 0.0233s453-- add_index("keys", ["fingerprint"], {:name=>"index_keys_on_fingerprint", :unique=>true, :using=>:btree})454 -> 0.0133s455-- add_index("keys", ["user_id"], {:name=>"index_keys_on_user_id", :using=>:btree})456 -> 0.0135s457-- create_table("label_links", {:force=>:cascade})458 -> 0.0227s459-- add_index("label_links", ["label_id"], {:name=>"index_label_links_on_label_id", :using=>:btree})460 -> 0.0139s461-- add_index("label_links", ["target_id", "target_type"], {:name=>"index_label_links_on_target_id_and_target_type", :using=>:btree})462 -> 0.0131s463-- create_table("label_priorities", {:force=>:cascade})464 -> 0.0134s465-- add_index("label_priorities", ["priority"], {:name=>"index_label_priorities_on_priority", :using=>:btree})466 -> 0.0133s467-- add_index("label_priorities", ["project_id", "label_id"], {:name=>"index_label_priorities_on_project_id_and_label_id", :unique=>true, :using=>:btree})468 -> 0.0130s469-- create_table("labels", {:force=>:cascade})470 -> 0.0239s471-- add_index("labels", ["group_id", "project_id", "title"], {:name=>"index_labels_on_group_id_and_project_id_and_title", :unique=>true, :using=>:btree})472 -> 0.0135s473-- add_index("labels", ["project_id"], {:name=>"index_labels_on_project_id", :using=>:btree})474 -> 0.0134s475-- add_index("labels", ["template"], {:name=>"index_labels_on_template", :where=>"template", :using=>:btree})476 -> 0.0134s477-- add_index("labels", ["title"], {:name=>"index_labels_on_title", :using=>:btree})478 -> 0.0132s479-- add_index("labels", ["type", "project_id"], {:name=>"index_labels_on_type_and_project_id", :using=>:btree})480 -> 0.0135s481-- create_table("lfs_file_locks", {:force=>:cascade})482 -> 0.0245s483-- add_index("lfs_file_locks", ["project_id", "path"], {:name=>"index_lfs_file_locks_on_project_id_and_path", :unique=>true, :using=>:btree})484 -> 0.0135s485-- add_index("lfs_file_locks", ["user_id"], {:name=>"index_lfs_file_locks_on_user_id", :using=>:btree})486 -> 0.0133s487-- create_table("lfs_objects", {:force=>:cascade})488 -> 0.0156s489-- add_index("lfs_objects", ["oid"], {:name=>"index_lfs_objects_on_oid", :unique=>true, :using=>:btree})490 -> 0.0132s491-- create_table("lfs_objects_projects", {:force=>:cascade})492 -> 0.0132s493-- add_index("lfs_objects_projects", ["project_id"], {:name=>"index_lfs_objects_projects_on_project_id", :using=>:btree})494 -> 0.0130s495-- create_table("lists", {:force=>:cascade})496 -> 0.0137s497-- add_index("lists", ["board_id", "label_id"], {:name=>"index_lists_on_board_id_and_label_id", :unique=>true, :using=>:btree})498 -> 0.0132s499-- add_index("lists", ["label_id"], {:name=>"index_lists_on_label_id", :using=>:btree})500 -> 0.0133s501-- add_index("lists", ["list_type"], {:name=>"index_lists_on_list_type", :using=>:btree})502 -> 0.0133s503-- create_table("members", {:force=>:cascade})504 -> 0.0232s505-- add_index("members", ["access_level"], {:name=>"index_members_on_access_level", :using=>:btree})506 -> 0.0137s507-- add_index("members", ["invite_token"], {:name=>"index_members_on_invite_token", :unique=>true, :using=>:btree})508 -> 0.0133s509-- add_index("members", ["requested_at"], {:name=>"index_members_on_requested_at", :using=>:btree})510 -> 0.0129s511-- add_index("members", ["source_id", "source_type"], {:name=>"index_members_on_source_id_and_source_type", :using=>:btree})512 -> 0.0128s513-- add_index("members", ["user_id"], {:name=>"index_members_on_user_id", :using=>:btree})514 -> 0.0131s515-- create_table("merge_request_diff_commits", {:id=>false, :force=>:cascade})516 -> 0.0129s517-- 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})518 -> 0.0138s519-- add_index("merge_request_diff_commits", ["sha"], {:name=>"index_merge_request_diff_commits_on_sha", :using=>:btree})520 -> 0.0130s521-- create_table("merge_request_diff_files", {:id=>false, :force=>:cascade})522 -> 0.0128s523-- 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})524 -> 0.0133s525-- create_table("merge_request_diffs", {:force=>:cascade})526 -> 0.0232s527-- add_index("merge_request_diffs", ["merge_request_id", "id"], {:name=>"index_merge_request_diffs_on_merge_request_id_and_id", :using=>:btree})528 -> 0.0133s529-- create_table("merge_request_metrics", {:force=>:cascade})530 -> 0.0131s531-- add_index("merge_request_metrics", ["first_deployed_to_production_at"], {:name=>"index_merge_request_metrics_on_first_deployed_to_production_at", :using=>:btree})532 -> 0.0135s533-- add_index("merge_request_metrics", ["merge_request_id"], {:name=>"index_merge_request_metrics", :using=>:btree})534 -> 0.0129s535-- add_index("merge_request_metrics", ["pipeline_id"], {:name=>"index_merge_request_metrics_on_pipeline_id", :using=>:btree})536 -> 0.0131s537-- create_table("merge_requests", {:force=>:cascade})538 -> 0.0255s539-- add_index("merge_requests", ["assignee_id"], {:name=>"index_merge_requests_on_assignee_id", :using=>:btree})540 -> 0.0134s541-- add_index("merge_requests", ["author_id"], {:name=>"index_merge_requests_on_author_id", :using=>:btree})542 -> 0.0132s543-- add_index("merge_requests", ["created_at"], {:name=>"index_merge_requests_on_created_at", :using=>:btree})544 -> 0.0131s545-- add_index("merge_requests", ["description"], {:name=>"index_merge_requests_on_description_trigram", :using=>:gin, :opclasses=>{"description"=>"gin_trgm_ops"}})546 -> 0.0036s547-- add_index("merge_requests", ["head_pipeline_id"], {:name=>"index_merge_requests_on_head_pipeline_id", :using=>:btree})548 -> 0.0128s549-- add_index("merge_requests", ["latest_merge_request_diff_id"], {:name=>"index_merge_requests_on_latest_merge_request_diff_id", :using=>:btree})550 -> 0.0133s551-- add_index("merge_requests", ["merge_user_id"], {:name=>"index_merge_requests_on_merge_user_id", :where=>"(merge_user_id IS NOT NULL)", :using=>:btree})552 -> 0.0133s553-- add_index("merge_requests", ["milestone_id"], {:name=>"index_merge_requests_on_milestone_id", :using=>:btree})554 -> 0.0132s555-- add_index("merge_requests", ["source_branch"], {:name=>"index_merge_requests_on_source_branch", :using=>:btree})556 -> 0.0133s557-- 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})558 -> 0.0134s559-- add_index("merge_requests", ["source_project_id", "source_branch"], {:name=>"index_merge_requests_on_source_project_id_and_source_branch", :using=>:btree})560 -> 0.0133s561-- add_index("merge_requests", ["target_branch"], {:name=>"index_merge_requests_on_target_branch", :using=>:btree})562 -> 0.0131s563-- add_index("merge_requests", ["target_project_id", "iid"], {:name=>"index_merge_requests_on_target_project_id_and_iid", :unique=>true, :using=>:btree})564 -> 0.0133s565-- 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})566 -> 0.0140s567-- 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})568 -> 0.0135s569-- add_index("merge_requests", ["title"], {:name=>"index_merge_requests_on_title", :using=>:btree})570 -> 0.0133s571-- add_index("merge_requests", ["title"], {:name=>"index_merge_requests_on_title_trigram", :using=>:gin, :opclasses=>{"title"=>"gin_trgm_ops"}})572 -> 0.0037s573-- add_index("merge_requests", ["updated_by_id"], {:name=>"index_merge_requests_on_updated_by_id", :where=>"(updated_by_id IS NOT NULL)", :using=>:btree})574 -> 0.0129s575-- create_table("merge_requests_closing_issues", {:force=>:cascade})576 -> 0.0133s577-- add_index("merge_requests_closing_issues", ["issue_id"], {:name=>"index_merge_requests_closing_issues_on_issue_id", :using=>:btree})578 -> 0.0132s579-- add_index("merge_requests_closing_issues", ["merge_request_id"], {:name=>"index_merge_requests_closing_issues_on_merge_request_id", :using=>:btree})580 -> 0.0136s581-- create_table("milestones", {:force=>:cascade})582 -> 0.0230s583-- add_index("milestones", ["description"], {:name=>"index_milestones_on_description_trigram", :using=>:gin, :opclasses=>{"description"=>"gin_trgm_ops"}})584 -> 0.0038s585-- add_index("milestones", ["due_date"], {:name=>"index_milestones_on_due_date", :using=>:btree})586 -> 0.0136s587-- add_index("milestones", ["group_id"], {:name=>"index_milestones_on_group_id", :using=>:btree})588 -> 0.0129s589-- add_index("milestones", ["project_id", "iid"], {:name=>"index_milestones_on_project_id_and_iid", :unique=>true, :using=>:btree})590 -> 0.0130s591-- add_index("milestones", ["title"], {:name=>"index_milestones_on_title", :using=>:btree})592 -> 0.0133s593-- add_index("milestones", ["title"], {:name=>"index_milestones_on_title_trigram", :using=>:gin, :opclasses=>{"title"=>"gin_trgm_ops"}})594 -> 0.0035s595-- create_table("namespaces", {:force=>:cascade})596 -> 0.0253s597-- add_index("namespaces", ["created_at"], {:name=>"index_namespaces_on_created_at", :using=>:btree})598 -> 0.0130s599-- add_index("namespaces", ["name", "parent_id"], {:name=>"index_namespaces_on_name_and_parent_id", :unique=>true, :using=>:btree})600 -> 0.0130s601-- add_index("namespaces", ["name"], {:name=>"index_namespaces_on_name_trigram", :using=>:gin, :opclasses=>{"name"=>"gin_trgm_ops"}})602 -> 0.0036s603-- add_index("namespaces", ["owner_id"], {:name=>"index_namespaces_on_owner_id", :using=>:btree})604 -> 0.0127s605-- add_index("namespaces", ["parent_id", "id"], {:name=>"index_namespaces_on_parent_id_and_id", :unique=>true, :using=>:btree})606 -> 0.0128s607-- add_index("namespaces", ["path"], {:name=>"index_namespaces_on_path", :using=>:btree})608 -> 0.0132s609-- add_index("namespaces", ["path"], {:name=>"index_namespaces_on_path_trigram", :using=>:gin, :opclasses=>{"path"=>"gin_trgm_ops"}})610 -> 0.0034s611-- add_index("namespaces", ["require_two_factor_authentication"], {:name=>"index_namespaces_on_require_two_factor_authentication", :using=>:btree})612 -> 0.0124s613-- add_index("namespaces", ["runners_token"], {:name=>"index_namespaces_on_runners_token", :unique=>true, :using=>:btree})614 -> 0.0130s615-- add_index("namespaces", ["type"], {:name=>"index_namespaces_on_type", :using=>:btree})616 -> 0.0130s617-- create_table("note_diff_files", {:force=>:cascade})618 -> 0.0233s619-- add_index("note_diff_files", ["diff_note_id"], {:name=>"index_note_diff_files_on_diff_note_id", :unique=>true, :using=>:btree})620 -> 0.0135s621-- create_table("notes", {:force=>:cascade})622 -> 0.0242s623-- add_index("notes", ["author_id"], {:name=>"index_notes_on_author_id", :using=>:btree})624 -> 0.0134s625-- add_index("notes", ["commit_id"], {:name=>"index_notes_on_commit_id", :using=>:btree})626 -> 0.0133s627-- add_index("notes", ["created_at"], {:name=>"index_notes_on_created_at", :using=>:btree})628 -> 0.0134s629-- add_index("notes", ["discussion_id"], {:name=>"index_notes_on_discussion_id", :using=>:btree})630 -> 0.0131s631-- add_index("notes", ["line_code"], {:name=>"index_notes_on_line_code", :using=>:btree})632 -> 0.0132s633-- add_index("notes", ["note"], {:name=>"index_notes_on_note_trigram", :using=>:gin, :opclasses=>{"note"=>"gin_trgm_ops"}})634 -> 0.0034s635-- add_index("notes", ["noteable_id", "noteable_type"], {:name=>"index_notes_on_noteable_id_and_noteable_type", :using=>:btree})636 -> 0.0127s637-- add_index("notes", ["noteable_type"], {:name=>"index_notes_on_noteable_type", :using=>:btree})638 -> 0.0130s639-- add_index("notes", ["project_id", "noteable_type"], {:name=>"index_notes_on_project_id_and_noteable_type", :using=>:btree})640 -> 0.0132s641-- add_index("notes", ["updated_at"], {:name=>"index_notes_on_updated_at", :using=>:btree})642 -> 0.0132s643-- create_table("notification_settings", {:force=>:cascade})644 -> 0.0241s645-- add_index("notification_settings", ["source_id", "source_type"], {:name=>"index_notification_settings_on_source_id_and_source_type", :using=>:btree})646 -> 0.0135s647-- 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})648 -> 0.0132s649-- add_index("notification_settings", ["user_id"], {:name=>"index_notification_settings_on_user_id", :using=>:btree})650 -> 0.0135s651-- create_table("oauth_access_grants", {:force=>:cascade})652 -> 0.0234s653-- add_index("oauth_access_grants", ["token"], {:name=>"index_oauth_access_grants_on_token", :unique=>true, :using=>:btree})654 -> 0.0134s655-- create_table("oauth_access_tokens", {:force=>:cascade})656 -> 0.0232s657-- add_index("oauth_access_tokens", ["refresh_token"], {:name=>"index_oauth_access_tokens_on_refresh_token", :unique=>true, :using=>:btree})658 -> 0.0134s659-- add_index("oauth_access_tokens", ["resource_owner_id"], {:name=>"index_oauth_access_tokens_on_resource_owner_id", :using=>:btree})660 -> 0.0134s661-- add_index("oauth_access_tokens", ["token"], {:name=>"index_oauth_access_tokens_on_token", :unique=>true, :using=>:btree})662 -> 0.0131s663-- create_table("oauth_applications", {:force=>:cascade})664 -> 0.0241s665-- add_index("oauth_applications", ["owner_id", "owner_type"], {:name=>"index_oauth_applications_on_owner_id_and_owner_type", :using=>:btree})666 -> 0.0136s667-- add_index("oauth_applications", ["uid"], {:name=>"index_oauth_applications_on_uid", :unique=>true, :using=>:btree})668 -> 0.0132s669-- create_table("oauth_openid_requests", {:force=>:cascade})670 -> 0.0229s671-- create_table("pages_domains", {:force=>:cascade})672 -> 0.0230s673-- add_index("pages_domains", ["domain"], {:name=>"index_pages_domains_on_domain", :unique=>true, :using=>:btree})674 -> 0.0132s675-- add_index("pages_domains", ["project_id", "enabled_until"], {:name=>"index_pages_domains_on_project_id_and_enabled_until", :using=>:btree})676 -> 0.0196s677-- add_index("pages_domains", ["project_id"], {:name=>"index_pages_domains_on_project_id", :using=>:btree})678 -> 0.0143s679-- add_index("pages_domains", ["verified_at", "enabled_until"], {:name=>"index_pages_domains_on_verified_at_and_enabled_until", :using=>:btree})680 -> 0.0134s681-- add_index("pages_domains", ["verified_at"], {:name=>"index_pages_domains_on_verified_at", :using=>:btree})682 -> 0.0140s683-- create_table("personal_access_tokens", {:force=>:cascade})684 -> 0.0255s685-- add_index("personal_access_tokens", ["token"], {:name=>"index_personal_access_tokens_on_token", :unique=>true, :using=>:btree})686 -> 0.0133s687-- add_index("personal_access_tokens", ["user_id"], {:name=>"index_personal_access_tokens_on_user_id", :using=>:btree})688 -> 0.0134s689-- create_table("programming_languages", {:force=>:cascade})690 -> 0.0230s691-- add_index("programming_languages", ["name"], {:name=>"index_programming_languages_on_name", :unique=>true, :using=>:btree})692 -> 0.0139s693-- create_table("project_authorizations", {:id=>false, :force=>:cascade})694 -> 0.0027s695-- add_index("project_authorizations", ["project_id"], {:name=>"index_project_authorizations_on_project_id", :using=>:btree})696 -> 0.0128s697-- 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})698 -> 0.0131s699-- create_table("project_auto_devops", {:force=>:cascade})700 -> 0.0255s701-- add_index("project_auto_devops", ["project_id"], {:name=>"index_project_auto_devops_on_project_id", :unique=>true, :using=>:btree})702 -> 0.0131s703-- create_table("project_ci_cd_settings", {:force=>:cascade})704 -> 0.0136s705-- add_index("project_ci_cd_settings", ["project_id"], {:name=>"index_project_ci_cd_settings_on_project_id", :unique=>true, :using=>:btree})706 -> 0.0131s707-- create_table("project_custom_attributes", {:force=>:cascade})708 -> 0.0229s709-- add_index("project_custom_attributes", ["key", "value"], {:name=>"index_project_custom_attributes_on_key_and_value", :using=>:btree})710 -> 0.0135s711-- add_index("project_custom_attributes", ["project_id", "key"], {:name=>"index_project_custom_attributes_on_project_id_and_key", :unique=>true, :using=>:btree})712 -> 0.0158s713-- create_table("project_deploy_tokens", {:force=>:cascade})714 -> 0.0132s715-- 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})716 -> 0.0132s717-- create_table("project_features", {:force=>:cascade})718 -> 0.0142s719-- add_index("project_features", ["project_id"], {:name=>"index_project_features_on_project_id", :unique=>true, :using=>:btree})720 -> 0.0131s721-- create_table("project_group_links", {:force=>:cascade})722 -> 0.0140s723-- add_index("project_group_links", ["group_id"], {:name=>"index_project_group_links_on_group_id", :using=>:btree})724 -> 0.0132s725-- add_index("project_group_links", ["project_id"], {:name=>"index_project_group_links_on_project_id", :using=>:btree})726 -> 0.0129s727-- create_table("project_import_data", {:force=>:cascade})728 -> 0.0229s729-- add_index("project_import_data", ["project_id"], {:name=>"index_project_import_data_on_project_id", :using=>:btree})730 -> 0.0134s731-- create_table("project_mirror_data", {:force=>:cascade})732 -> 0.0229s733-- add_index("project_mirror_data", ["jid"], {:name=>"index_project_mirror_data_on_jid", :using=>:btree})734 -> 0.0136s735-- add_index("project_mirror_data", ["project_id"], {:name=>"index_project_mirror_data_on_project_id", :unique=>true, :using=>:btree})736 -> 0.0130s737-- add_index("project_mirror_data", ["status"], {:name=>"index_project_mirror_data_on_status", :using=>:btree})738 -> 0.0130s739-- create_table("project_statistics", {:force=>:cascade})740 -> 0.0157s741-- add_index("project_statistics", ["namespace_id"], {:name=>"index_project_statistics_on_namespace_id", :using=>:btree})742 -> 0.0131s743-- add_index("project_statistics", ["project_id"], {:name=>"index_project_statistics_on_project_id", :unique=>true, :using=>:btree})744 -> 0.0135s745-- create_table("projects", {:force=>:cascade})746 -> 0.0312s747-- add_index("projects", ["ci_id"], {:name=>"index_projects_on_ci_id", :using=>:btree})748 -> 0.0136s749-- add_index("projects", ["created_at"], {:name=>"index_projects_on_created_at", :using=>:btree})750 -> 0.0132s751-- add_index("projects", ["creator_id"], {:name=>"index_projects_on_creator_id", :using=>:btree})752 -> 0.0130s753-- add_index("projects", ["description"], {:name=>"index_projects_on_description_trigram", :using=>:gin, :opclasses=>{"description"=>"gin_trgm_ops"}})754 -> 0.0037s755-- add_index("projects", ["id"], {:name=>"index_projects_on_id_partial_for_visibility", :unique=>true, :where=>"(visibility_level = ANY (ARRAY[10, 20]))", :using=>:btree})756 -> 0.0130s757-- add_index("projects", ["last_activity_at"], {:name=>"index_projects_on_last_activity_at", :using=>:btree})758 -> 0.0130s759-- 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})760 -> 0.0133s761-- add_index("projects", ["last_repository_check_failed"], {:name=>"index_projects_on_last_repository_check_failed", :using=>:btree})762 -> 0.0134s763-- add_index("projects", ["last_repository_updated_at"], {:name=>"index_projects_on_last_repository_updated_at", :using=>:btree})764 -> 0.0132s765-- add_index("projects", ["name"], {:name=>"index_projects_on_name_trigram", :using=>:gin, :opclasses=>{"name"=>"gin_trgm_ops"}})766 -> 0.0038s767-- add_index("projects", ["namespace_id"], {:name=>"index_projects_on_namespace_id", :using=>:btree})768 -> 0.0126s769-- add_index("projects", ["path"], {:name=>"index_projects_on_path", :using=>:btree})770 -> 0.0133s771-- add_index("projects", ["path"], {:name=>"index_projects_on_path_trigram", :using=>:gin, :opclasses=>{"path"=>"gin_trgm_ops"}})772 -> 0.0037s773-- add_index("projects", ["pending_delete"], {:name=>"index_projects_on_pending_delete", :using=>:btree})774 -> 0.0126s775-- add_index("projects", ["repository_storage", "created_at"], {:name=>"idx_project_repository_check_partial", :where=>"(last_repository_check_at IS NULL)", :using=>:btree})776 -> 0.0133s777-- add_index("projects", ["repository_storage"], {:name=>"index_projects_on_repository_storage", :using=>:btree})778 -> 0.0131s779-- add_index("projects", ["runners_token"], {:name=>"index_projects_on_runners_token", :using=>:btree})780 -> 0.0134s781-- add_index("projects", ["star_count"], {:name=>"index_projects_on_star_count", :using=>:btree})782 -> 0.0198s783-- add_index("projects", ["visibility_level"], {:name=>"index_projects_on_visibility_level", :using=>:btree})784 -> 0.0134s785-- create_table("prometheus_metrics", {:force=>:cascade})786 -> 0.0234s787-- add_index("prometheus_metrics", ["common"], {:name=>"index_prometheus_metrics_on_common", :using=>:btree})788 -> 0.0134s789-- add_index("prometheus_metrics", ["group"], {:name=>"index_prometheus_metrics_on_group", :using=>:btree})790 -> 0.0132s791-- add_index("prometheus_metrics", ["identifier"], {:name=>"index_prometheus_metrics_on_identifier", :unique=>true, :using=>:btree})792 -> 0.0134s793-- add_index("prometheus_metrics", ["project_id"], {:name=>"index_prometheus_metrics_on_project_id", :using=>:btree})794 -> 0.0132s795-- create_table("protected_branch_merge_access_levels", {:force=>:cascade})796 -> 0.0139s797-- add_index("protected_branch_merge_access_levels", ["protected_branch_id"], {:name=>"index_protected_branch_merge_access", :using=>:btree})798 -> 0.0136s799-- create_table("protected_branch_push_access_levels", {:force=>:cascade})800 -> 0.0136s801-- add_index("protected_branch_push_access_levels", ["protected_branch_id"], {:name=>"index_protected_branch_push_access", :using=>:btree})802 -> 0.0133s803-- create_table("protected_branches", {:force=>:cascade})804 -> 0.0226s805-- add_index("protected_branches", ["project_id"], {:name=>"index_protected_branches_on_project_id", :using=>:btree})806 -> 0.0133s807-- create_table("protected_tag_create_access_levels", {:force=>:cascade})808 -> 0.0146s809-- add_index("protected_tag_create_access_levels", ["protected_tag_id"], {:name=>"index_protected_tag_create_access", :using=>:btree})810 -> 0.0131s811-- add_index("protected_tag_create_access_levels", ["user_id"], {:name=>"index_protected_tag_create_access_levels_on_user_id", :using=>:btree})812 -> 0.0132s813-- create_table("protected_tags", {:force=>:cascade})814 -> 0.0230s815-- add_index("protected_tags", ["project_id", "name"], {:name=>"index_protected_tags_on_project_id_and_name", :unique=>true, :using=>:btree})816 -> 0.0132s817-- add_index("protected_tags", ["project_id"], {:name=>"index_protected_tags_on_project_id", :using=>:btree})818 -> 0.0131s819-- create_table("push_event_payloads", {:id=>false, :force=>:cascade})820 -> 0.0132s821-- add_index("push_event_payloads", ["event_id"], {:name=>"index_push_event_payloads_on_event_id", :unique=>true, :using=>:btree})822 -> 0.0132s823-- create_table("redirect_routes", {:force=>:cascade})824 -> 0.0239s825-- add_index("redirect_routes", ["path"], {:name=>"index_redirect_routes_on_path", :unique=>true, :using=>:btree})826 -> 0.0136s827-- add_index("redirect_routes", ["source_type", "source_id"], {:name=>"index_redirect_routes_on_source_type_and_source_id", :using=>:btree})828 -> 0.0131s829-- create_table("releases", {:force=>:cascade})830 -> 0.0229s831-- add_index("releases", ["project_id", "tag"], {:name=>"index_releases_on_project_id_and_tag", :using=>:btree})832 -> 0.0138s833-- add_index("releases", ["project_id"], {:name=>"index_releases_on_project_id", :using=>:btree})834 -> 0.0132s835-- create_table("remote_mirrors", {:force=>:cascade})836 -> 0.0246s837-- add_index("remote_mirrors", ["last_successful_update_at"], {:name=>"index_remote_mirrors_on_last_successful_update_at", :using=>:btree})838 -> 0.0136s839-- add_index("remote_mirrors", ["project_id"], {:name=>"index_remote_mirrors_on_project_id", :using=>:btree})840 -> 0.0134s841-- create_table("repository_languages", {:id=>false, :force=>:cascade})842 -> 0.0029s843-- add_index("repository_languages", ["project_id", "programming_language_id"], {:name=>"index_repository_languages_on_project_and_languages_id", :unique=>true, :using=>:btree})844 -> 0.0129s845-- create_table("resource_label_events", {:id=>:bigserial, :force=>:cascade})846 -> 0.0234s847-- add_index("resource_label_events", ["issue_id"], {:name=>"index_resource_label_events_on_issue_id", :using=>:btree})848 -> 0.0133s849-- add_index("resource_label_events", ["label_id"], {:name=>"index_resource_label_events_on_label_id", :using=>:btree})850 -> 0.0131s851-- add_index("resource_label_events", ["merge_request_id"], {:name=>"index_resource_label_events_on_merge_request_id", :using=>:btree})852 -> 0.0137s853-- add_index("resource_label_events", ["user_id"], {:name=>"index_resource_label_events_on_user_id", :using=>:btree})854 -> 0.0134s855-- create_table("routes", {:force=>:cascade})856 -> 0.0232s857-- add_index("routes", ["path"], {:name=>"index_routes_on_path", :unique=>true, :using=>:btree})858 -> 0.0143s859-- add_index("routes", ["path"], {:name=>"index_routes_on_path_text_pattern_ops", :using=>:btree, :opclasses=>{"path"=>"varchar_pattern_ops"}})860 -> 0.0136s861-- add_index("routes", ["source_type", "source_id"], {:name=>"index_routes_on_source_type_and_source_id", :unique=>true, :using=>:btree})862 -> 0.0135s863-- create_table("sent_notifications", {:force=>:cascade})864 -> 0.0235s865-- add_index("sent_notifications", ["reply_key"], {:name=>"index_sent_notifications_on_reply_key", :unique=>true, :using=>:btree})866 -> 0.0138s867-- create_table("services", {:force=>:cascade})868 -> 0.0296s869-- add_index("services", ["project_id"], {:name=>"index_services_on_project_id", :using=>:btree})870 -> 0.0134s871-- add_index("services", ["template"], {:name=>"index_services_on_template", :using=>:btree})872 -> 0.0135s873-- create_table("site_statistics", {:force=>:cascade})874 -> 0.0138s875-- create_table("snippets", {:force=>:cascade})876 -> 0.0240s877-- add_index("snippets", ["author_id"], {:name=>"index_snippets_on_author_id", :using=>:btree})878 -> 0.0133s879-- add_index("snippets", ["file_name"], {:name=>"index_snippets_on_file_name_trigram", :using=>:gin, :opclasses=>{"file_name"=>"gin_trgm_ops"}})880 -> 0.0040s881-- add_index("snippets", ["project_id"], {:name=>"index_snippets_on_project_id", :using=>:btree})882 -> 0.0129s883-- add_index("snippets", ["title"], {:name=>"index_snippets_on_title_trigram", :using=>:gin, :opclasses=>{"title"=>"gin_trgm_ops"}})884 -> 0.0039s885-- add_index("snippets", ["updated_at"], {:name=>"index_snippets_on_updated_at", :using=>:btree})886 -> 0.0131s887-- add_index("snippets", ["visibility_level"], {:name=>"index_snippets_on_visibility_level", :using=>:btree})888 -> 0.0148s889-- create_table("spam_logs", {:force=>:cascade})890 -> 0.0248s891-- create_table("subscriptions", {:force=>:cascade})892 -> 0.0237s893-- 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})894 -> 0.0135s895-- create_table("system_note_metadata", {:force=>:cascade})896 -> 0.0235s897-- add_index("system_note_metadata", ["note_id"], {:name=>"index_system_note_metadata_on_note_id", :unique=>true, :using=>:btree})898 -> 0.0134s899-- create_table("taggings", {:force=>:cascade})900 -> 0.0230s901-- add_index("taggings", ["tag_id", "taggable_id", "taggable_type", "context", "tagger_id", "tagger_type"], {:name=>"taggings_idx", :unique=>true, :using=>:btree})902 -> 0.0138s903-- add_index("taggings", ["tag_id"], {:name=>"index_taggings_on_tag_id", :using=>:btree})904 -> 0.0147s905-- add_index("taggings", ["taggable_id", "taggable_type", "context"], {:name=>"index_taggings_on_taggable_id_and_taggable_type_and_context", :using=>:btree})906 -> 0.0136s907-- add_index("taggings", ["taggable_id", "taggable_type"], {:name=>"index_taggings_on_taggable_id_and_taggable_type", :using=>:btree})908 -> 0.0133s909-- create_table("tags", {:force=>:cascade})910 -> 0.0237s911-- add_index("tags", ["name"], {:name=>"index_tags_on_name", :unique=>true, :using=>:btree})912 -> 0.0382s913-- create_table("term_agreements", {:force=>:cascade})914 -> 0.0141s915-- add_index("term_agreements", ["term_id"], {:name=>"index_term_agreements_on_term_id", :using=>:btree})916 -> 0.0135s917-- add_index("term_agreements", ["user_id", "term_id"], {:name=>"term_agreements_unique_index", :unique=>true, :using=>:btree})918 -> 0.0139s919-- add_index("term_agreements", ["user_id"], {:name=>"index_term_agreements_on_user_id", :using=>:btree})920 -> 0.0133s921-- create_table("timelogs", {:force=>:cascade})922 -> 0.0135s923-- add_index("timelogs", ["issue_id"], {:name=>"index_timelogs_on_issue_id", :using=>:btree})924 -> 0.0133s925-- add_index("timelogs", ["merge_request_id"], {:name=>"index_timelogs_on_merge_request_id", :using=>:btree})926 -> 0.0136s927-- add_index("timelogs", ["user_id"], {:name=>"index_timelogs_on_user_id", :using=>:btree})928 -> 0.0136s929-- create_table("todos", {:force=>:cascade})930 -> 0.0245s931-- add_index("todos", ["author_id"], {:name=>"index_todos_on_author_id", :using=>:btree})932 -> 0.0135s933-- add_index("todos", ["commit_id"], {:name=>"index_todos_on_commit_id", :using=>:btree})934 -> 0.0134s935-- add_index("todos", ["group_id"], {:name=>"index_todos_on_group_id", :using=>:btree})936 -> 0.0134s937-- add_index("todos", ["note_id"], {:name=>"index_todos_on_note_id", :using=>:btree})938 -> 0.0136s939-- add_index("todos", ["project_id"], {:name=>"index_todos_on_project_id", :using=>:btree})940 -> 0.0134s941-- add_index("todos", ["target_type", "target_id"], {:name=>"index_todos_on_target_type_and_target_id", :using=>:btree})942 -> 0.0134s943-- add_index("todos", ["user_id", "id"], {:name=>"index_todos_on_user_id_and_id_done", :where=>"((state)::text = 'done'::text)", :using=>:btree})944 -> 0.0133s945-- add_index("todos", ["user_id", "id"], {:name=>"index_todos_on_user_id_and_id_pending", :where=>"((state)::text = 'pending'::text)", :using=>:btree})946 -> 0.0140s947-- add_index("todos", ["user_id"], {:name=>"index_todos_on_user_id", :using=>:btree})948 -> 0.0139s949-- create_table("trending_projects", {:force=>:cascade})950 -> 0.0131s951-- add_index("trending_projects", ["project_id"], {:name=>"index_trending_projects_on_project_id", :unique=>true, :using=>:btree})952 -> 0.0135s953-- create_table("u2f_registrations", {:force=>:cascade})954 -> 0.0232s955-- add_index("u2f_registrations", ["key_handle"], {:name=>"index_u2f_registrations_on_key_handle", :using=>:btree})956 -> 0.0138s957-- add_index("u2f_registrations", ["user_id"], {:name=>"index_u2f_registrations_on_user_id", :using=>:btree})958 -> 0.0131s959-- create_table("uploads", {:force=>:cascade})960 -> 0.0232s961-- add_index("uploads", ["checksum"], {:name=>"index_uploads_on_checksum", :using=>:btree})962 -> 0.0132s963-- add_index("uploads", ["model_id", "model_type"], {:name=>"index_uploads_on_model_id_and_model_type", :using=>:btree})964 -> 0.0131s965-- add_index("uploads", ["uploader", "path"], {:name=>"index_uploads_on_uploader_and_path", :using=>:btree})966 -> 0.0131s967-- create_table("user_agent_details", {:force=>:cascade})968 -> 0.0238s969-- add_index("user_agent_details", ["subject_id", "subject_type"], {:name=>"index_user_agent_details_on_subject_id_and_subject_type", :using=>:btree})970 -> 0.0132s971-- create_table("user_callouts", {:force=>:cascade})972 -> 0.0133s973-- add_index("user_callouts", ["user_id", "feature_name"], {:name=>"index_user_callouts_on_user_id_and_feature_name", :unique=>true, :using=>:btree})974 -> 0.0134s975-- add_index("user_callouts", ["user_id"], {:name=>"index_user_callouts_on_user_id", :using=>:btree})976 -> 0.0132s977-- create_table("user_custom_attributes", {:force=>:cascade})978 -> 0.0227s979-- add_index("user_custom_attributes", ["key", "value"], {:name=>"index_user_custom_attributes_on_key_and_value", :using=>:btree})980 -> 0.0134s981-- add_index("user_custom_attributes", ["user_id", "key"], {:name=>"index_user_custom_attributes_on_user_id_and_key", :unique=>true, :using=>:btree})982 -> 0.0135s983-- create_table("user_interacted_projects", {:id=>false, :force=>:cascade})984 -> 0.0027s985-- add_index("user_interacted_projects", ["project_id", "user_id"], {:name=>"index_user_interacted_projects_on_project_id_and_user_id", :unique=>true, :using=>:btree})986 -> 0.0129s987-- add_index("user_interacted_projects", ["user_id"], {:name=>"index_user_interacted_projects_on_user_id", :using=>:btree})988 -> 0.0135s989-- create_table("user_statuses", {:primary_key=>"user_id", :force=>:cascade})990 -> 0.0236s991-- create_table("user_synced_attributes_metadata", {:force=>:cascade})992 -> 0.0247s993-- add_index("user_synced_attributes_metadata", ["user_id"], {:name=>"index_user_synced_attributes_metadata_on_user_id", :unique=>true, :using=>:btree})994 -> 0.0140s995-- create_table("users", {:force=>:cascade})996 -> 0.0368s997-- add_index("users", ["admin"], {:name=>"index_users_on_admin", :using=>:btree})998 -> 0.0133s999-- add_index("users", ["confirmation_token"], {:name=>"index_users_on_confirmation_token", :unique=>true, :using=>:btree})1000 -> 0.0133s1001-- add_index("users", ["created_at"], {:name=>"index_users_on_created_at", :using=>:btree})1002 -> 0.0137s1003-- add_index("users", ["email"], {:name=>"index_users_on_email", :unique=>true, :using=>:btree})1004 -> 0.0147s1005-- add_index("users", ["email"], {:name=>"index_users_on_email_trigram", :using=>:gin, :opclasses=>{"email"=>"gin_trgm_ops"}})1006 -> 0.0070s1007-- add_index("users", ["feed_token"], {:name=>"index_users_on_feed_token", :using=>:btree})1008 -> 0.0126s1009-- add_index("users", ["ghost"], {:name=>"index_users_on_ghost", :using=>:btree})1010 -> 0.0133s1011-- add_index("users", ["incoming_email_token"], {:name=>"index_users_on_incoming_email_token", :using=>:btree})1012 -> 0.0145s1013-- add_index("users", ["name"], {:name=>"index_users_on_name", :using=>:btree})1014 -> 0.0135s1015-- add_index("users", ["name"], {:name=>"index_users_on_name_trigram", :using=>:gin, :opclasses=>{"name"=>"gin_trgm_ops"}})1016 -> 0.0051s1017-- add_index("users", ["reset_password_token"], {:name=>"index_users_on_reset_password_token", :unique=>true, :using=>:btree})1018 -> 0.0131s1019-- add_index("users", ["state"], {:name=>"index_users_on_state", :using=>:btree})1020 -> 0.0145s1021-- add_index("users", ["username"], {:name=>"index_users_on_username", :using=>:btree})1022 -> 0.0137s1023-- add_index("users", ["username"], {:name=>"index_users_on_username_trigram", :using=>:gin, :opclasses=>{"username"=>"gin_trgm_ops"}})1024 -> 0.0039s1025-- create_table("users_star_projects", {:force=>:cascade})1026 -> 0.0146s1027-- add_index("users_star_projects", ["project_id"], {:name=>"index_users_star_projects_on_project_id", :using=>:btree})1028 -> 0.0136s1029-- add_index("users_star_projects", ["user_id", "project_id"], {:name=>"index_users_star_projects_on_user_id_and_project_id", :unique=>true, :using=>:btree})1030 -> 0.0145s1031-- create_table("web_hook_logs", {:force=>:cascade})1032 -> 0.0251s1033-- add_index("web_hook_logs", ["created_at", "web_hook_id"], {:name=>"index_web_hook_logs_on_created_at_and_web_hook_id", :using=>:btree})1034 -> 0.0132s1035-- add_index("web_hook_logs", ["web_hook_id"], {:name=>"index_web_hook_logs_on_web_hook_id", :using=>:btree})1036 -> 0.0143s1037-- create_table("web_hooks", {:force=>:cascade})1038 -> 0.0310s1039-- add_index("web_hooks", ["project_id"], {:name=>"index_web_hooks_on_project_id", :using=>:btree})1040 -> 0.0137s1041-- add_index("web_hooks", ["type"], {:name=>"index_web_hooks_on_type", :using=>:btree})1042 -> 0.0138s1043-- add_foreign_key("application_settings", "users", {:column=>"usage_stats_set_by_user_id", :name=>"fk_964370041d", :on_delete=>:nullify})1044 -> 0.0046s1045-- add_foreign_key("badges", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1046 -> 0.0041s1047-- add_foreign_key("badges", "projects", {:on_delete=>:cascade})1048 -> 0.0031s1049-- add_foreign_key("boards", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1050 -> 0.0039s1051-- add_foreign_key("boards", "projects", {:name=>"fk_f15266b5f9", :on_delete=>:cascade})1052 -> 0.0021s1053-- add_foreign_key("chat_teams", "namespaces", {:on_delete=>:cascade})1054 -> 0.0019s1055-- add_foreign_key("ci_build_trace_chunks", "ci_builds", {:column=>"build_id", :on_delete=>:cascade})1056 -> 0.0043s1057-- add_foreign_key("ci_build_trace_section_names", "projects", {:on_delete=>:cascade})1058 -> 0.0023s1059-- add_foreign_key("ci_build_trace_sections", "ci_build_trace_section_names", {:column=>"section_name_id", :name=>"fk_264e112c66", :on_delete=>:cascade})1060 -> 0.0039s1061-- add_foreign_key("ci_build_trace_sections", "ci_builds", {:column=>"build_id", :name=>"fk_4ebe41f502", :on_delete=>:cascade})1062 -> 0.0020s1063-- add_foreign_key("ci_build_trace_sections", "projects", {:on_delete=>:cascade})1064 -> 0.0039s1065-- add_foreign_key("ci_builds", "ci_pipelines", {:column=>"auto_canceled_by_id", :name=>"fk_a2141b1522", :on_delete=>:nullify})1066 -> 0.0029s1067-- add_foreign_key("ci_builds", "ci_pipelines", {:column=>"commit_id", :name=>"fk_d3130c9a7f", :on_delete=>:cascade})1068 -> 0.0023s1069-- add_foreign_key("ci_builds", "ci_stages", {:column=>"stage_id", :name=>"fk_3a9eaa254d", :on_delete=>:cascade})1070 -> 0.0041s1071-- add_foreign_key("ci_builds", "projects", {:name=>"fk_befce0568a", :on_delete=>:cascade})1072 -> 0.0025s1073-- add_foreign_key("ci_builds_metadata", "ci_builds", {:column=>"build_id", :on_delete=>:cascade})1074 -> 0.0028s1075-- add_foreign_key("ci_builds_metadata", "projects", {:on_delete=>:cascade})1076 -> 0.0024s1077-- add_foreign_key("ci_builds_runner_session", "ci_builds", {:column=>"build_id", :on_delete=>:cascade})1078 -> 0.0022s1079-- add_foreign_key("ci_group_variables", "namespaces", {:column=>"group_id", :name=>"fk_33ae4d58d8", :on_delete=>:cascade})1080 -> 0.0030s1081-- add_foreign_key("ci_job_artifacts", "ci_builds", {:column=>"job_id", :on_delete=>:cascade})1082 -> 0.0024s1083-- add_foreign_key("ci_job_artifacts", "projects", {:on_delete=>:cascade})1084 -> 0.0030s1085-- add_foreign_key("ci_pipeline_schedule_variables", "ci_pipeline_schedules", {:column=>"pipeline_schedule_id", :name=>"fk_41c35fda51", :on_delete=>:cascade})1086 -> 0.0020s1087-- add_foreign_key("ci_pipeline_schedules", "projects", {:name=>"fk_8ead60fcc4", :on_delete=>:cascade})1088 -> 0.0021s1089-- add_foreign_key("ci_pipeline_schedules", "users", {:column=>"owner_id", :name=>"fk_9ea99f58d2", :on_delete=>:nullify})1090 -> 0.0021s1091-- add_foreign_key("ci_pipeline_variables", "ci_pipelines", {:column=>"pipeline_id", :name=>"fk_f29c5f4380", :on_delete=>:cascade})1092 -> 0.0020s1093-- add_foreign_key("ci_pipelines", "ci_pipeline_schedules", {:column=>"pipeline_schedule_id", :name=>"fk_3d34ab2e06", :on_delete=>:nullify})1094 -> 0.0031s1095-- add_foreign_key("ci_pipelines", "ci_pipelines", {:column=>"auto_canceled_by_id", :name=>"fk_262d4c2d19", :on_delete=>:nullify})1096 -> 0.0019s1097-- add_foreign_key("ci_pipelines", "projects", {:name=>"fk_86635dbd80", :on_delete=>:cascade})1098 -> 0.0033s1099-- add_foreign_key("ci_runner_namespaces", "ci_runners", {:column=>"runner_id", :on_delete=>:cascade})1100 -> 0.0022s1101-- add_foreign_key("ci_runner_namespaces", "namespaces", {:on_delete=>:cascade})1102 -> 0.0018s1103-- add_foreign_key("ci_runner_projects", "projects", {:name=>"fk_4478a6f1e4", :on_delete=>:cascade})1104 -> 0.0023s1105-- add_foreign_key("ci_stages", "ci_pipelines", {:column=>"pipeline_id", :name=>"fk_fb57e6cc56", :on_delete=>:cascade})1106 -> 0.0020s1107-- add_foreign_key("ci_stages", "projects", {:name=>"fk_2360681d1d", :on_delete=>:cascade})1108 -> 0.0036s1109-- add_foreign_key("ci_trigger_requests", "ci_triggers", {:column=>"trigger_id", :name=>"fk_b8ec8b7245", :on_delete=>:cascade})1110 -> 0.0019s1111-- add_foreign_key("ci_triggers", "projects", {:name=>"fk_e3e63f966e", :on_delete=>:cascade})1112 -> 0.0020s1113-- add_foreign_key("ci_triggers", "users", {:column=>"owner_id", :name=>"fk_e8e10d1964", :on_delete=>:cascade})1114 -> 0.0021s1115-- add_foreign_key("ci_variables", "projects", {:name=>"fk_ada5eb64b3", :on_delete=>:cascade})1116 -> 0.0023s1117-- add_foreign_key("cluster_platforms_kubernetes", "clusters", {:on_delete=>:cascade})1118 -> 0.0034s1119-- add_foreign_key("cluster_projects", "clusters", {:on_delete=>:cascade})1120 -> 0.0019s1121-- add_foreign_key("cluster_projects", "projects", {:on_delete=>:cascade})1122 -> 0.0023s1123-- add_foreign_key("cluster_providers_gcp", "clusters", {:on_delete=>:cascade})1124 -> 0.0020s1125-- add_foreign_key("clusters", "users", {:on_delete=>:nullify})1126 -> 0.0022s1127-- add_foreign_key("clusters_applications_helm", "clusters", {:on_delete=>:cascade})1128 -> 0.0032s1129-- add_foreign_key("clusters_applications_ingress", "clusters", {:name=>"fk_753a7b41c1", :on_delete=>:cascade})1130 -> 0.0021s1131-- add_foreign_key("clusters_applications_jupyter", "clusters", {:on_delete=>:cascade})1132 -> 0.0020s1133-- add_foreign_key("clusters_applications_jupyter", "oauth_applications", {:on_delete=>:nullify})1134 -> 0.0035s1135-- add_foreign_key("clusters_applications_prometheus", "clusters", {:name=>"fk_557e773639", :on_delete=>:cascade})1136 -> 0.0022s1137-- add_foreign_key("clusters_applications_runners", "ci_runners", {:column=>"runner_id", :name=>"fk_02de2ded36", :on_delete=>:nullify})1138 -> 0.0020s1139-- add_foreign_key("clusters_applications_runners", "clusters", {:on_delete=>:cascade})1140 -> 0.0032s1141-- add_foreign_key("container_repositories", "projects")1142 -> 0.0023s1143-- add_foreign_key("deploy_keys_projects", "projects", {:name=>"fk_58a901ca7e", :on_delete=>:cascade})1144 -> 0.0035s1145-- add_foreign_key("deployments", "projects", {:name=>"fk_b9a3851b82", :on_delete=>:cascade})1146 -> 0.0028s1147-- add_foreign_key("environments", "projects", {:name=>"fk_d1c8c1da6a", :on_delete=>:cascade})1148 -> 0.0022s1149-- add_foreign_key("events", "projects", {:on_delete=>:cascade})1150 -> 0.0040s1151-- add_foreign_key("events", "users", {:column=>"author_id", :name=>"fk_edfd187b6f", :on_delete=>:cascade})1152 -> 0.0021s1153-- add_foreign_key("fork_network_members", "fork_networks", {:on_delete=>:cascade})1154 -> 0.0030s1155-- add_foreign_key("fork_network_members", "projects", {:column=>"forked_from_project_id", :name=>"fk_b01280dae4", :on_delete=>:nullify})1156 -> 0.0021s1157-- add_foreign_key("fork_network_members", "projects", {:on_delete=>:cascade})1158 -> 0.0033s1159-- add_foreign_key("fork_networks", "projects", {:column=>"root_project_id", :name=>"fk_e7b436b2b5", :on_delete=>:nullify})1160 -> 0.0019s1161-- add_foreign_key("forked_project_links", "projects", {:column=>"forked_to_project_id", :name=>"fk_434510edb0", :on_delete=>:cascade})1162 -> 0.0020s1163-- add_foreign_key("gcp_clusters", "projects", {:on_delete=>:cascade})1164 -> 0.0034s1165-- add_foreign_key("gcp_clusters", "services", {:on_delete=>:nullify})1166 -> 0.0020s1167-- add_foreign_key("gcp_clusters", "users", {:on_delete=>:nullify})1168 -> 0.0031s1169-- add_foreign_key("gpg_key_subkeys", "gpg_keys", {:on_delete=>:cascade})1170 -> 0.0024s1171-- add_foreign_key("gpg_keys", "users", {:on_delete=>:cascade})1172 -> 0.0021s1173-- add_foreign_key("gpg_signatures", "gpg_key_subkeys", {:on_delete=>:nullify})1174 -> 0.0036s1175-- add_foreign_key("gpg_signatures", "gpg_keys", {:on_delete=>:nullify})1176 -> 0.0017s1177-- add_foreign_key("gpg_signatures", "projects", {:on_delete=>:cascade})1178 -> 0.0033s1179-- add_foreign_key("group_custom_attributes", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1180 -> 0.0018s1181-- add_foreign_key("import_export_uploads", "projects", {:on_delete=>:cascade})1182 -> 0.0021s1183-- add_foreign_key("internal_ids", "namespaces", {:name=>"fk_162941d509", :on_delete=>:cascade})1184 -> 0.0021s1185-- add_foreign_key("internal_ids", "projects", {:on_delete=>:cascade})1186 -> 0.0026s1187-- add_foreign_key("issue_assignees", "issues", {:name=>"fk_b7d881734a", :on_delete=>:cascade})1188 -> 0.0038s1189-- add_foreign_key("issue_assignees", "users", {:name=>"fk_5e0c8d9154", :on_delete=>:cascade})1190 -> 0.0024s1191-- add_foreign_key("issue_metrics", "issues", {:on_delete=>:cascade})1192 -> 0.0030s1193-- add_foreign_key("issues", "issues", {:column=>"moved_to_id", :name=>"fk_a194299be1", :on_delete=>:nullify})1194 -> 0.0019s1195-- add_foreign_key("issues", "milestones", {:name=>"fk_96b1dd429c", :on_delete=>:nullify})1196 -> 0.0021s1197-- add_foreign_key("issues", "projects", {:name=>"fk_899c8f3231", :on_delete=>:cascade})1198 -> 0.0022s1199-- add_foreign_key("issues", "users", {:column=>"author_id", :name=>"fk_05f1e72feb", :on_delete=>:nullify})1200 -> 0.0021s1201-- add_foreign_key("issues", "users", {:column=>"closed_by_id", :name=>"fk_c63cbf6c25", :on_delete=>:nullify})1202 -> 0.0028s1203-- add_foreign_key("issues", "users", {:column=>"updated_by_id", :name=>"fk_ffed080f01", :on_delete=>:nullify})1204 -> 0.0019s1205-- add_foreign_key("label_links", "labels", {:name=>"fk_d97dd08678", :on_delete=>:cascade})1206 -> 0.0022s1207-- add_foreign_key("label_priorities", "labels", {:on_delete=>:cascade})1208 -> 0.0031s1209-- add_foreign_key("label_priorities", "projects", {:on_delete=>:cascade})1210 -> 0.0021s1211-- add_foreign_key("labels", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1212 -> 0.0021s1213-- add_foreign_key("labels", "projects", {:name=>"fk_7de4989a69", :on_delete=>:cascade})1214 -> 0.0035s1215-- add_foreign_key("lfs_file_locks", "projects", {:on_delete=>:cascade})1216 -> 0.0020s1217-- add_foreign_key("lfs_file_locks", "users", {:on_delete=>:cascade})1218 -> 0.0031s1219-- add_foreign_key("lists", "boards", {:name=>"fk_0d3f677137", :on_delete=>:cascade})1220 -> 0.0020s1221-- add_foreign_key("lists", "labels", {:name=>"fk_7a5553d60f", :on_delete=>:cascade})1222 -> 0.0019s1223-- add_foreign_key("members", "users", {:name=>"fk_2e88fb7ce9", :on_delete=>:cascade})1224 -> 0.0024s1225-- add_foreign_key("merge_request_diff_commits", "merge_request_diffs", {:on_delete=>:cascade})1226 -> 0.0020s1227-- add_foreign_key("merge_request_diff_files", "merge_request_diffs", {:on_delete=>:cascade})1228 -> 0.0030s1229-- add_foreign_key("merge_request_diffs", "merge_requests", {:name=>"fk_8483f3258f", :on_delete=>:cascade})1230 -> 0.0026s1231-- add_foreign_key("merge_request_metrics", "ci_pipelines", {:column=>"pipeline_id", :on_delete=>:cascade})1232 -> 0.0024s1233-- add_foreign_key("merge_request_metrics", "merge_requests", {:on_delete=>:cascade})1234 -> 0.0021s1235-- add_foreign_key("merge_request_metrics", "users", {:column=>"latest_closed_by_id", :name=>"fk_ae440388cc", :on_delete=>:nullify})1236 -> 0.0022s1237-- add_foreign_key("merge_request_metrics", "users", {:column=>"merged_by_id", :name=>"fk_7f28d925f3", :on_delete=>:nullify})1238 -> 0.0026s1239-- add_foreign_key("merge_requests", "ci_pipelines", {:column=>"head_pipeline_id", :name=>"fk_fd82eae0b9", :on_delete=>:nullify})1240 -> 0.0021s1241-- add_foreign_key("merge_requests", "merge_request_diffs", {:column=>"latest_merge_request_diff_id", :name=>"fk_06067f5644", :on_delete=>:nullify})1242 -> 0.0019s1243-- add_foreign_key("merge_requests", "milestones", {:name=>"fk_6a5165a692", :on_delete=>:nullify})1244 -> 0.0030s1245-- add_foreign_key("merge_requests", "projects", {:column=>"source_project_id", :name=>"fk_3308fe130c", :on_delete=>:nullify})1246 -> 0.0024s1247-- add_foreign_key("merge_requests", "projects", {:column=>"target_project_id", :name=>"fk_a6963e8447", :on_delete=>:cascade})1248 -> 0.0022s1249-- add_foreign_key("merge_requests", "users", {:column=>"assignee_id", :name=>"fk_6149611a04", :on_delete=>:nullify})1250 -> 0.0023s1251-- add_foreign_key("merge_requests", "users", {:column=>"author_id", :name=>"fk_e719a85f8a", :on_delete=>:nullify})1252 -> 0.0024s1253-- add_foreign_key("merge_requests", "users", {:column=>"merge_user_id", :name=>"fk_ad525e1f87", :on_delete=>:nullify})1254 -> 0.0034s1255-- add_foreign_key("merge_requests", "users", {:column=>"updated_by_id", :name=>"fk_641731faff", :on_delete=>:nullify})1256 -> 0.0024s1257-- add_foreign_key("merge_requests_closing_issues", "issues", {:on_delete=>:cascade})1258 -> 0.0023s1259-- add_foreign_key("merge_requests_closing_issues", "merge_requests", {:on_delete=>:cascade})1260 -> 0.0027s1261-- add_foreign_key("milestones", "namespaces", {:column=>"group_id", :name=>"fk_95650a40d4", :on_delete=>:cascade})1262 -> 0.0020s1263-- add_foreign_key("milestones", "projects", {:name=>"fk_9bd0a0c791", :on_delete=>:cascade})1264 -> 0.0021s1265-- add_foreign_key("note_diff_files", "notes", {:column=>"diff_note_id", :on_delete=>:cascade})1266 -> 0.0029s1267-- add_foreign_key("notes", "projects", {:name=>"fk_99e097b079", :on_delete=>:cascade})1268 -> 0.0021s1269-- add_foreign_key("notification_settings", "users", {:name=>"fk_0c95e91db7", :on_delete=>:cascade})1270 -> 0.0027s1271-- add_foreign_key("oauth_openid_requests", "oauth_access_grants", {:column=>"access_grant_id", :name=>"fk_oauth_openid_requests_oauth_access_grants_access_grant_id"})1272 -> 0.0018s1273-- add_foreign_key("pages_domains", "projects", {:name=>"fk_ea2f6dfc6f", :on_delete=>:cascade})1274 -> 0.0023s1275-- add_foreign_key("personal_access_tokens", "users")1276 -> 0.0026s1277-- add_foreign_key("project_authorizations", "projects", {:on_delete=>:cascade})1278 -> 0.0024s1279-- add_foreign_key("project_authorizations", "users", {:on_delete=>:cascade})1280 -> 0.0025s1281-- add_foreign_key("project_auto_devops", "projects", {:on_delete=>:cascade})1282 -> 0.0020s1283-- add_foreign_key("project_ci_cd_settings", "projects", {:name=>"fk_24c15d2f2e", :on_delete=>:cascade})1284 -> 0.0026s1285-- add_foreign_key("project_custom_attributes", "projects", {:on_delete=>:cascade})1286 -> 0.0023s1287-- add_foreign_key("project_deploy_tokens", "deploy_tokens", {:on_delete=>:cascade})1288 -> 0.0024s1289-- add_foreign_key("project_deploy_tokens", "projects", {:on_delete=>:cascade})1290 -> 0.0025s1291-- add_foreign_key("project_features", "projects", {:name=>"fk_18513d9b92", :on_delete=>:cascade})1292 -> 0.0022s1293-- add_foreign_key("project_group_links", "projects", {:name=>"fk_daa8cee94c", :on_delete=>:cascade})1294 -> 0.0022s1295-- add_foreign_key("project_import_data", "projects", {:name=>"fk_ffb9ee3a10", :on_delete=>:cascade})1296 -> 0.0024s1297-- add_foreign_key("project_mirror_data", "projects", {:on_delete=>:cascade})1298 -> 0.0021s1299-- add_foreign_key("project_statistics", "projects", {:on_delete=>:cascade})1300 -> 0.0032s1301-- add_foreign_key("prometheus_metrics", "projects", {:on_delete=>:cascade})1302 -> 0.0023s1303-- add_foreign_key("protected_branch_merge_access_levels", "protected_branches", {:name=>"fk_8a3072ccb3", :on_delete=>:cascade})1304 -> 0.0031s1305-- add_foreign_key("protected_branch_push_access_levels", "protected_branches", {:name=>"fk_9ffc86a3d9", :on_delete=>:cascade})1306 -> 0.0019s1307-- add_foreign_key("protected_branches", "projects", {:name=>"fk_7a9c6d93e7", :on_delete=>:cascade})1308 -> 0.0020s1309-- add_foreign_key("protected_tag_create_access_levels", "namespaces", {:column=>"group_id"})1310 -> 0.0031s1311-- add_foreign_key("protected_tag_create_access_levels", "protected_tags", {:name=>"fk_f7dfda8c51", :on_delete=>:cascade})1312 -> 0.0023s1313-- add_foreign_key("protected_tag_create_access_levels", "users")1314 -> 0.0034s1315-- add_foreign_key("protected_tags", "projects", {:name=>"fk_8e4af87648", :on_delete=>:cascade})1316 -> 0.0024s1317-- add_foreign_key("push_event_payloads", "events", {:name=>"fk_36c74129da", :on_delete=>:cascade})1318 -> 0.0031s1319-- add_foreign_key("releases", "projects", {:name=>"fk_47fe2a0596", :on_delete=>:cascade})1320 -> 0.0023s1321-- add_foreign_key("remote_mirrors", "projects", {:on_delete=>:cascade})1322 -> 0.0022s1323-- add_foreign_key("repository_languages", "projects", {:on_delete=>:cascade})1324 -> 0.0034s1325-- add_foreign_key("resource_label_events", "issues", {:on_delete=>:cascade})1326 -> 0.0021s1327-- add_foreign_key("resource_label_events", "labels", {:on_delete=>:nullify})1328 -> 0.0031s1329-- add_foreign_key("resource_label_events", "merge_requests", {:on_delete=>:cascade})1330 -> 0.0021s1331-- add_foreign_key("resource_label_events", "users", {:on_delete=>:nullify})1332 -> 0.0032s1333-- add_foreign_key("services", "projects", {:name=>"fk_71cce407f9", :on_delete=>:cascade})1334 -> 0.0023s1335-- add_foreign_key("snippets", "projects", {:name=>"fk_be41fd4bb7", :on_delete=>:cascade})1336 -> 0.0023s1337-- add_foreign_key("subscriptions", "projects", {:on_delete=>:cascade})1338 -> 0.0023s1339-- add_foreign_key("system_note_metadata", "notes", {:name=>"fk_d83a918cb1", :on_delete=>:cascade})1340 -> 0.0021s1341-- add_foreign_key("term_agreements", "application_setting_terms", {:column=>"term_id"})1342 -> 0.0020s1343-- add_foreign_key("term_agreements", "users", {:on_delete=>:cascade})1344 -> 0.0021s1345-- add_foreign_key("timelogs", "issues", {:name=>"fk_timelogs_issues_issue_id", :on_delete=>:cascade})1346 -> 0.0035s1347-- add_foreign_key("timelogs", "merge_requests", {:name=>"fk_timelogs_merge_requests_merge_request_id", :on_delete=>:cascade})1348 -> 0.0022s1349-- add_foreign_key("todos", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1350 -> 0.0034s1351-- add_foreign_key("todos", "notes", {:name=>"fk_91d1f47b13", :on_delete=>:cascade})1352 -> 0.0019s1353-- add_foreign_key("todos", "projects", {:name=>"fk_45054f9c45", :on_delete=>:cascade})1354 -> 0.0028s1355-- add_foreign_key("todos", "users", {:column=>"author_id", :name=>"fk_ccf0373936", :on_delete=>:cascade})1356 -> 0.0022s1357-- add_foreign_key("todos", "users", {:name=>"fk_d94154aa95", :on_delete=>:cascade})1358 -> 0.0020s1359-- add_foreign_key("trending_projects", "projects", {:on_delete=>:cascade})1360 -> 0.0023s1361-- add_foreign_key("u2f_registrations", "users")1362 -> 0.0021s1363-- add_foreign_key("user_callouts", "users", {:on_delete=>:cascade})1364 -> 0.0047s1365-- add_foreign_key("user_custom_attributes", "users", {:on_delete=>:cascade})1366 -> 0.0034s1367-- add_foreign_key("user_interacted_projects", "projects", {:name=>"fk_722ceba4f7", :on_delete=>:cascade})1368 -> 0.0026s1369-- add_foreign_key("user_interacted_projects", "users", {:name=>"fk_0894651f08", :on_delete=>:cascade})1370 -> 0.0021s1371-- add_foreign_key("user_statuses", "users", {:on_delete=>:cascade})1372 -> 0.0021s1373-- add_foreign_key("user_synced_attributes_metadata", "users", {:on_delete=>:cascade})1374 -> 0.0026s1375-- add_foreign_key("users", "application_setting_terms", {:column=>"accepted_term_id", :name=>"fk_789cd90b35", :on_delete=>:cascade})1376 -> 0.0021s1377-- add_foreign_key("users_star_projects", "projects", {:name=>"fk_22cd27ddfc", :on_delete=>:cascade})1378 -> 0.0022s1379-- add_foreign_key("web_hook_logs", "web_hooks", {:on_delete=>:cascade})1380 -> 0.0023s1381-- add_foreign_key("web_hooks", "projects", {:name=>"fk_0c8ca6d9d1", :on_delete=>:cascade})1382 -> 0.0022s1383-- initialize_schema_migrations_table()1384 -> 0.0297s1385$ date1386Fri Oct 12 07:48:35 UTC 20181387$ JOB_NAME=( $CI_JOB_NAME )1388$ export CI_NODE_INDEX=${JOB_NAME[-2]}1389$ export CI_NODE_TOTAL=${JOB_NAME[-1]}1390$ export KNAPSACK_REPORT_PATH=knapsack/${CI_PROJECT_NAME}/${JOB_NAME[0]}_node_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_report.json1391$ export KNAPSACK_GENERATE_REPORT=true1392$ export SUITE_FLAKY_RSPEC_REPORT_PATH=${FLAKY_RSPEC_SUITE_REPORT_PATH}1393$ export FLAKY_RSPEC_REPORT_PATH=rspec_flaky/all_${JOB_NAME[0]}_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_report.json1394$ export NEW_FLAKY_RSPEC_REPORT_PATH=rspec_flaky/new_${JOB_NAME[0]}_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_report.json1395$ export FLAKY_RSPEC_GENERATE_REPORT=true1396$ export CACHE_CLASSES=true1397$ cp ${KNAPSACK_RSPEC_SUITE_REPORT_PATH} ${KNAPSACK_REPORT_PATH}1398$ [[ -f $FLAKY_RSPEC_REPORT_PATH ]] || echo "{}" > ${FLAKY_RSPEC_REPORT_PATH}1399$ [[ -f $NEW_FLAKY_RSPEC_REPORT_PATH ]] || echo "{}" > ${NEW_FLAKY_RSPEC_REPORT_PATH}1400$ scripts/gitaly-test-spawn1401Checking gitaly-ruby bundle...1402The Gemfile's dependencies are satisfied1403Trying to connect to gitaly: ..... OK1404$ knapsack rspec "--color --format documentation --format RspecJunitFormatter --out junit_rspec.xml"1405Report specs:1406spec/features/merge_request/user_resolves_diff_notes_and_discussions_resolve_spec.rb1407spec/requests/api/runners_spec.rb1408spec/features/labels_hierarchy_spec.rb1409spec/migrations/schedule_create_gpg_key_subkeys_from_gpg_keys_spec.rb1410spec/controllers/projects/jobs_controller_spec.rb1411spec/models/clusters/applications/jupyter_spec.rb1412spec/features/reportable_note/merge_request_spec.rb1413spec/requests/api/triggers_spec.rb1414spec/controllers/projects_controller_spec.rb1415spec/services/members/destroy_service_spec.rb1416spec/features/merge_request/user_accepts_merge_request_spec.rb1417spec/services/merge_requests/merge_service_spec.rb1418spec/lib/banzai/filter/relative_link_filter_spec.rb1419spec/features/projects/settings/user_manages_merge_requests_settings_spec.rb1420spec/services/projects/transfer_service_spec.rb1421spec/features/issuables/default_sort_order_spec.rb1422spec/features/explore/groups_list_spec.rb1423spec/features/projects/settings/integration_settings_spec.rb1424spec/lib/gitlab/reference_extractor_spec.rb1425spec/migrations/rename_reserved_project_names_spec.rb1426spec/features/merge_request/user_comments_on_commit_spec.rb1427spec/lib/banzai/filter/user_reference_filter_spec.rb1428spec/models/concerns/relative_positioning_spec.rb1429spec/tasks/gitlab/uploads/migrate_rake_spec.rb1430spec/features/merge_request/user_resolves_outdated_diff_discussions_spec.rb1431spec/models/clusters/platforms/kubernetes_spec.rb1432spec/services/system_hooks_service_spec.rb1433spec/controllers/projects/environments_controller_spec.rb1434spec/lib/gitlab/background_migration/remove_restricted_todos_spec.rb1435spec/features/projects/artifacts/user_browses_artifacts_spec.rb1436spec/features/groups/members/request_access_spec.rb1437spec/lib/gitlab/kubernetes/helm/certificate_spec.rb1438spec/features/projects/files/project_owner_sees_link_to_create_license_file_in_empty_project_spec.rb1439spec/features/projects/badges/list_spec.rb1440spec/features/admin/admin_broadcast_messages_spec.rb1441spec/services/milestones/promote_service_spec.rb1442spec/controllers/admin/users_controller_spec.rb1443spec/requests/api/notification_settings_spec.rb1444spec/lib/banzai/filter/redactor_filter_spec.rb1445spec/uploaders/personal_file_uploader_spec.rb1446spec/services/files/create_service_spec.rb1447spec/lib/gitlab/gitaly_client/commit_service_spec.rb1448spec/controllers/notification_settings_controller_spec.rb1449spec/serializers/cluster_application_entity_spec.rb1450spec/models/concerns/group_descendant_spec.rb1451spec/lib/gitlab/ci/pipeline/seed/stage_spec.rb1452spec/models/key_spec.rb1453spec/services/commits/tag_service_spec.rb1454spec/lib/gitlab/ci/build/step_spec.rb1455spec/lib/gitlab/issuable_metadata_spec.rb1456spec/lib/backup/repository_spec.rb1457spec/models/project_group_link_spec.rb1458spec/models/ci/build_trace_chunks/database_spec.rb1459spec/lib/gitlab/auth/saml/user_spec.rb1460spec/controllers/groups/boards_controller_spec.rb1461spec/lib/gitlab/ci/status/build/failed_allowed_spec.rb1462spec/lib/gitlab/legacy_github_import/branch_formatter_spec.rb1463spec/lib/banzai/reference_parser/milestone_parser_spec.rb1464spec/presenters/clusters/cluster_presenter_spec.rb1465spec/controllers/projects/cycle_analytics_controller_spec.rb1466spec/requests/api/project_snapshots_spec.rb1467spec/helpers/issuables_helper_spec.rb1468spec/policies/personal_snippet_policy_spec.rb1469spec/lib/gitlab/import_export/lfs_restorer_spec.rb1470spec/features/admin/admin_manage_applications_spec.rb1471spec/services/boards/issues/create_service_spec.rb1472spec/lib/constraints/project_url_constrainer_spec.rb1473spec/presenters/ci/variable_presenter_spec.rb1474spec/features/projects/files/editing_a_file_spec.rb1475spec/controllers/google_api/authorizations_controller_spec.rb1476spec/lib/gitlab/group_hierarchy_spec.rb1477spec/models/ci/build_metadata_spec.rb1478spec/features/projects/hook_logs/user_reads_log_spec.rb1479spec/lib/gitlab/git/diff_spec.rb1480spec/lib/gitlab/prometheus/metric_group_spec.rb1481spec/rubocop/cop/migration/update_large_table_spec.rb1482spec/migrations/create_missing_namespace_for_internal_users_spec.rb1483spec/models/user_agent_detail_spec.rb1484spec/views/projects/imports/new.html.haml_spec.rb1485spec/workers/repository_remove_remote_worker_spec.rb1486spec/migrations/fill_file_store_spec.rb1487spec/lib/gitlab/github_import/parallel_importer_spec.rb1488spec/features/snippets/user_deletes_snippet_spec.rb1489spec/workers/cluster_provision_worker_spec.rb1490spec/migrations/remove_empty_fork_networks_spec.rb1491spec/serializers/cluster_entity_spec.rb1492spec/models/project_services/packagist_service_spec.rb1493spec/services/reset_project_cache_service_spec.rb1494spec/tasks/cache/clear/redis_spec.rb1495spec/services/chat_names/authorize_user_service_spec.rb1496spec/services/clusters/gcp/verify_provision_status_service_spec.rb1497spec/lib/gitlab/import_export/wiki_repo_saver_spec.rb1498spec/lib/object_storage/direct_upload_spec.rb1499spec/requests/api/lint_spec.rb1500spec/lib/gitlab/gitlab_import/importer_spec.rb1501spec/migrations/migrate_update_head_pipeline_for_merge_request_sidekiq_queue_spec.rb1502spec/lib/gitlab/legacy_github_import/user_formatter_spec.rb1503spec/lib/gitlab/auth/ldap/dn_spec.rb1504spec/mailers/repository_check_mailer_spec.rb1505spec/lib/gitlab/github_import/representation/pull_request_spec.rb1506spec/lib/gitlab/middleware/read_only_spec.rb1507spec/lib/gitlab/gitaly_client/storage_service_spec.rb1508spec/lib/gitlab/ci/cron_parser_spec.rb1509spec/services/projects/container_repository/destroy_service_spec.rb1510spec/lib/banzai/filter/autolink_filter_spec.rb1511spec/lib/event_filter_spec.rb1512spec/controllers/passwords_controller_spec.rb1513spec/lib/gitlab/github_import/representation/issue_spec.rb1514spec/lib/gitlab/version_info_spec.rb1515spec/presenters/conversational_development_index/metric_presenter_spec.rb1516spec/helpers/pagination_helper_spec.rb1517spec/lib/gitlab/template/finders/repo_template_finders_spec.rb1518spec/lib/gitlab/untrusted_regexp_spec.rb1519spec/lib/gitlab/health_checks/db_check_spec.rb1520spec/lib/gitlab/git/conflict/parser_spec.rb1521spec/lib/bitbucket/representation/pull_request_spec.rb1522spec/lib/gitlab/metrics/samplers/ruby_sampler_spec.rb1523spec/lib/gitlab/utils/strong_memoize_spec.rb1524spec/lib/gitlab/quick_actions/spend_time_and_date_separator_spec.rb1525spec/rubocop/cop/project_path_helper_spec.rb1526spec/lib/gitlab/cycle_analytics/staging_stage_spec.rb1527spec/lib/gitlab/metrics/requests_rack_middleware_spec.rb1528spec/lib/gitlab/email/hook/delivery_metrics_observer_spec.rb1529spec/models/project_services/chat_message/merge_message_spec.rb1530spec/models/project_services/chat_message/note_message_spec.rb1531spec/lib/gitlab/sherlock/file_sample_spec.rb1532spec/lib/gitlab/ci/config/entry/script_spec.rb1533spec/serializers/test_suite_comparer_entity_spec.rb1534spec/lib/gitlab/ci/config/entry/attributable_spec.rb1535spec/lib/gitlab/search/query_spec.rb1536spec/workers/cluster_wait_for_ingress_ip_address_worker_spec.rb1537spec/lib/gitlab/lazy_spec.rb1538spec/workers/plugin_worker_spec.rb1539spec/models/concerns/ignorable_column_spec.rb1540spec/migrations/clean_upload_symlinks_spec.rb1541spec/workers/gitlab_usage_ping_worker_spec.rb1542spec/lib/gitlab/request_context_spec.rb1543spec/lib/gitlab/gitaly_client/blobs_stitcher_spec.rb1544spec/lib/gitlab/gitaly_client/diff_stitcher_spec.rb1545Leftover specs:1546Knapsack report generator started!1547==> Setting up GitLab Shell...1548 GitLab Shell set up in 0.059545794 seconds...1549==> Setting up Gitaly...1550 Gitaly set up in 0.000254727 seconds...1551Merge request > User resolves diff notes and discussions1552Starting the Capybara driver server...1553 no discussions1554 displays no discussion resolved data1555 as authorized user1556 single discussion1557 shows text with how many discussions1558 allows user to mark a note as resolved1559 allows user to mark discussion as resolved1560 allows user to unresolve discussion1561 allows user to resolve from reply form without a comment1562 allows user to comment & resolve discussion1563 allows user to quickly scroll to next unresolved discussion1564 hides jump to next button when all resolved1565 updates updated text after resolving note1566 hides jump to next discussion button1567 resolved discussion1568 timeline view1569 hides when resolve discussion is clicked1570 shows resolved discussion when toggled1571 renders tables in lazy-loaded resolved diff dicussions1572 side-by-side view1573 hides when resolve discussion is clicked1574 shows resolved discussion when toggled1575 reply form1576 allows user to comment1577 allows user to unresolve from reply form without a comment1578 allows user to comment & unresolve discussion1579 multiple notes1580 does not mark discussion as resolved when resolving single note1581 resolves discussion1582 muliple discussions1583 shows text with how many discussions1584 allows user to mark a single note as resolved1585 allows user to mark all notes as resolved1586 allows user user to mark all discussions as resolved1587 allows user to quickly scroll to next unresolved discussion1588 updates updated text after resolving note1589 shows jump to next discussion button, apart from the last one1590 displays next discussion even if hidden1591 changes tab1592 shows text with how many discussions1593 allows user to mark a note as resolved1594 allows user to mark discussion as resolved1595 allows user to unresolve discussion1596 allows user to comment & resolve discussion1597 allows user to comment & unresolve discussion1598 as a guest1599 someone elses merge request1600 does not allow user to mark note as resolved1601 does not allow user to mark discussion as resolved1602 guest users merge request1603 allows user to mark a note as resolved1604 unauthorized user1605 no resolved comments1606 does not allow user to mark note as resolved1607 resolved comment1608 shows resolved icon1609 does not allow user to click resolve button1610API::Runners1611 GET /runners1612 authorized user1613 returns response status and headers1614 returns user available runners1615 filters runners by scope1616 avoids filtering if scope is invalid1617 filters runners by type1618 does not filter by invalid type1619 filters runners by status1620 does not filter by invalid status1621 unauthorized user1622 does not return runners1623 GET /runners/all1624 authorized user1625 with admin privileges1626 returns response status and headers1627 returns all runners1628 filters runners by scope1629 filters runners by scope1630 avoids filtering if scope is invalid1631 filters runners by type1632 does not filter by invalid type1633 filters runners by status1634 does not filter by invalid status1635 without admin privileges1636 does not return runners list1637 unauthorized user1638 does not return runners1639 GET /runners/:id1640 admin user1641 returns 404 if runner does not exists1642 when runner is shared1643 returns runner's details1644 when runner is not shared1645 returns runner's details1646 returns the project's details for a project runner1647 when unused runner is present1648 deletes unused runner1649 runner project's administrative user1650 when runner is not shared1651 returns runner's details1652 when runner is shared1653 returns runner's details1654 other authorized user1655 does not return project runner's details1656 unauthorized user1657 does not return project runner's details1658 PUT /runners/:id1659 admin user1660 returns 404 if runner does not exists1661 single parameter update1662 runner description1663 runner active state1664 runner tag list1665 runner untagged flag1666 runner unlocked flag1667 runner access level1668 runner maximum timeout1669 fails with no parameters1670 when runner is shared1671 updates runner1672 when runner is not shared1673 updates runner1674 authorized user1675 when runner is shared1676 does not update runner1677 when runner is not shared1678 does not update project runner without access to it1679 updates project runner with access to it1680 unauthorized user1681 does not delete project runner1682 DELETE /runners/:id1683 admin user1684 returns 404 if runner does not exists1685 when runner is shared1686 deletes runner1687 behaves like 412 response1688 for a modified ressource1689 returns 4121690 for an unmodified ressource1691 returns accepted1692 when runner is not shared1693 deletes used project runner1694 authorized user1695 when runner is shared1696 does not delete runner1697 when runner is not shared1698 does not delete runner without access to it1699 does not delete project runner with more than one associated project1700 deletes project runner for one owned project1701 behaves like 412 response1702 for a modified ressource1703 returns 4121704 for an unmodified ressource1705 returns accepted1706 unauthorized user1707 does not delete project runner1708 GET /runners/:id/jobs1709 admin user1710 when runner exists1711 when runner is shared1712 return jobs1713 when runner is specific1714 return jobs1715 when valid status is provided1716 return filtered jobs1717 when invalid status is provided1718 return 4001719 when runner doesn't exist1720 returns 4041721 runner project's administrative user1722 when runner exists1723 when runner is shared1724 returns 4031725 when runner is specific1726 return jobs1727 when valid status is provided1728 return filtered jobs1729 when invalid status is provided1730 return 4001731 when runner doesn't exist1732 returns 4041733 other authorized user1734 does not return jobs1735 unauthorized user1736 does not return jobs1737 GET /projects/:id/runners1738 authorized user with maintainer privileges1739 returns response status and headers1740 returns all runners1741 filters runners by scope1742 avoids filtering if scope is invalid1743 filters runners by type1744 does not filter by invalid type1745 filters runners by status1746 does not filter by invalid status1747 authorized user without maintainer privileges1748 does not return project's runners1749 unauthorized user1750 does not return project's runners1751 POST /projects/:id/runners1752 authorized user1753 enables specific runner1754 avoids changes when enabling already enabled runner1755 does not enable locked runner1756 does not enable shared runner1757 does not enable group runner1758 raises an error when no runner_id param is provided1759 user is admin1760 enables a instance type runner1761 when project runner is used1762 enables any specific runner1763 user is not admin1764 does not enable runner without access to1765 authorized user without permissions1766 does not enable runner1767 unauthorized user1768 does not enable runner1769 DELETE /projects/:id/runners/:runner_id1770 authorized user1771 returns 404 is runner is not found1772 when runner have more than one associated projects1773 disables project's runner1774 behaves like 412 response1775 for a modified ressource1776 returns 4121777 for an unmodified ressource1778 returns accepted1779 when runner have one associated projects1780 does not disable project's runner1781 authorized user without permissions1782 does not disable project's runner1783 unauthorized user1784 does not disable project's runner1785Labels Hierarchy1786 when creating new issuable1787 should be able to assign ancestor group labels1788 issuable sidebar1789 on issue sidebar1790 behaves like assigning labels from sidebar1791 can assign all ancestors labels1792 does not find child group labels on dropdown1793 on project board issue sidebar1794 behaves like assigning labels from sidebar1795 can assign all ancestors labels1796 does not find child group labels on dropdown1797 on group board issue sidebar1798 behaves like assigning labels from sidebar1799 can assign all ancestors labels1800 does not find child group labels on dropdown1801 issuable filtering1802 on project issuable list1803 does not filter by descendant group labels1804 behaves like filtering by ancestor labels for projects1805 filters by ancestor labels1806 does not filter by descendant group labels1807 on group issuable list1808 behaves like filtering by ancestor labels for groups1809 filters by ancestors and current group labels1810 filters by descendant group labels1811 does not filter by descendant group project labels1812 on project boards filter1813 behaves like filtering by ancestor labels for projects1814 filters by ancestor labels1815 does not filter by descendant group labels1816 on group boards filter1817 behaves like filtering by ancestor labels for groups1818 filters by ancestors and current group labels1819 filters by descendant group labels1820 does not filter by descendant group project labels1821 creating boards lists1822 on project boards1823 creates lists from all ancestor labels1824 on group boards1825 creates lists from all ancestor group labels1826 does not create lists from descendant groups1827ScheduleCreateGpgKeySubkeysFromGpgKeys1828NOTICE: index "index_projects_on_lower_name" does not exist, skipping1829NOTICE: index "index_on_users_name_lower" does not exist, skipping1830NOTICE: index "index_redirect_routes_on_path_unique_text_pattern_ops" does not exist, skipping1831NOTICE: index "index_on_namespaces_lower_name" does not exist, skipping1832 correctly schedules background migrations1833 schedules background migrations1834Projects::JobsController1835 GET index1836 when scope is pending1837 has only pending builds1838 when scope is running1839 has only running jobs1840 when scope is finished1841 has only finished jobs1842 when page is specified1843 when page number is eligible1844 redirects to the page1845 number of queries1846 verifies number of queries1847 GET show1848 when requesting HTML1849 when job exists1850 has a job1851 has the correct build collection1852 when job does not exist1853 renders not_found1854 when requesting JSON1855 when job failed1856 exposes needed information1857 when job has artifacts1858 with not expiry date1859 exposes needed information1860 with expiry date1861 exposes needed information1862 when job has terminal1863 exposes the terminal path1864 when job passed with no trace1865 exposes empty state illustrations1866 with no deployment1867 does not exposes the deployment information1868 with deployment1869 exposes the deployment information1870 when user can edit runner1871 that belongs to the project1872 user can edit runner1873 that belongs to group1874 user can not edit runner1875 that belongs to instance1876 user can not edit runner1877 when no runners are available1878 exposes needed information1879 when no runner is online1880 exposes needed information1881 settings_path1882 when user is developer1883 settings_path is not available1884 when user is maintainer1885 settings_path is available1886 when no trace is available1887 has_trace is false1888 when job has trace1889 has_trace is true1890 when requesting JSON job is triggered1891 with no variables1892 exposes trigger information1893 with variables1894 exposes trigger information and variables1895 GET trace.json1896 when job has a trace artifact1897 returns a trace1898 when job has a trace1899 returns a trace1900 when job has no traces1901 returns no traces1902 when job has a trace with ANSI sequence and Unicode1903 returns a trace with Unicode1904 when trace artifact is in ObjectStorage1905 when there are no network issues1906 returns a trace1907 when there is a network issue1908 returns a trace1909 GET status.json1910 return a detailed job status in json1911 POST retry1912 when job is retryable1913 redirects to the retried job page1914 when job is not retryable1915 renders unprocessable_entity1916 POST play1917 when job is playable1918 redirects to the played job page1919 transits to pending1920 when job is not playable1921 renders unprocessable_entity1922 POST cancel1923 when continue url is present1924 when continue to is a safe url1925 redirects to the continue url1926 transits to canceled1927 when continue to is not a safe url1928WARNING: 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 #<NoMethodError: undefined method `cancel_with_redirect' for #<RSpec::ExampleGroups::ProjectsJobsCont...resent::WhenContinueToIsNotASafeUrl:0x000055bc4b37cfa0>1929Did you mean? cancel_project_pipeline_path>. 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/gtsiolis/gitlab-ce/spec/controllers/projects/jobs_controller_spec.rb:628:in `block (5 levels) in <top (required)>'.1930 raises an error1931 when continue url is not present1932 when job is cancelable1933 redirects to the builds page1934 transits to canceled1935 when job is not cancelable1936 returns unprocessable_entity1937 POST unschedule1938 when job is scheduled1939 redirects to the unscheduled job page1940 transits to manual1941 when job is not scheduled1942 renders unprocessable_entity1943 POST cancel_all1944 when jobs are cancelable1945 redirects to a index page1946 transits to canceled1947 when jobs are not cancelable1948 redirects to a index page1949 POST erase1950 when job is erasable1951 redirects to the erased job page1952 erases artifacts1953 erases trace1954 when job is not erasable1955 returns unprocessable_entity1956 when user is developer1957 when triggered by same user1958 has successful status1959 when triggered by different user1960 does not have successful status1961 GET raw1962 when job has a trace artifact1963 returns a trace1964 when job has a trace file1965 send a trace file1966 when job has a trace in database1967 send a trace file1968 when job does not have a trace file1969 returns not_found1970 when the trace artifact is in ObjectStorage1971 redirect to the trace file url1972 GET #terminal1973 when job exists1974 and it has a terminal1975 has a job1976 and does not have a terminal1977 returns not_found1978 when job does not exist1979 renders not_found1980 GET #terminal_websocket_authorize1981 with valid workhorse signature1982 and valid id1983 returns the terminal for the job1984 and invalid id1985 returns 4041986 with invalid workhorse signature1987 aborts with an exception1988Clusters::Applications::Jupyter1989 should belong to cluster1990 should validate that :cluster cannot be empty/falsy1991 should belong to oauth_application1992 #name1993 is .application_name1994 is recorded in Clusters::Cluster::APPLICATIONS1995 status state machine1996 #make_installing1997 is installing1998 #make_installed1999 is installed2000 #make_errored2001 is errored2002 #make_scheduled2003 is scheduled2004 when was errored2005 clears #status_reason2006 #set_initial_status2007 when ingress is not installed2008 should be not installable2009 when ingress is installed and external_ip is assigned2010 should be installable2011 #make_installing!2012 application install previously errored with older version2013 updates the application version2014 #install_command2015 should be an instance of Gitlab::Kubernetes::Helm::InstallCommand2016 should be initialized with 4 arguments2017 on a rbac enabled cluster2018 should be rbac2019 application failed to install previously2020 should be initialized with the locked version2021 #files2022 should include cert files2023 should include valid values2024 when the helm application does not have a ca_cert2025 should not include cert files2026 when cluster belongs to a project2027 sets GitLab project id2028Reportable note on merge request2029 a normal note2030 behaves like reportable note2031 has an edit button2032 has a `More actions` dropdown2033 dropdown has Report and Delete links2034 Report button links to a report page2035 a diff note2036 behaves like reportable note2037 has an edit button2038 has a `More actions` dropdown2039 dropdown has Report and Delete links2040 Report button links to a report page2041API::Triggers2042 POST /projects/:project_id/trigger/pipeline2043 Handles errors2044 returns bad request if token is missing2045 returns not found if project is not found2046 Have a commit2047 creates pipeline2048 returns bad request with no pipeline created if there's no commit for that ref2049 Validates variables2050 validates variables to be a hash2051 validates variables needs to be a map of key-valued strings2052 creates trigger request with variables2053 when legacy trigger2054 creates pipeline2055 when triggering a pipeline from a trigger token2056 does not leak the presence of project when token is for different project2057 creates builds from the ref given in the URL, not in the body2058 when ref contains a dot2059 creates builds from the ref given in the URL, not in the body2060 GET /projects/:id/triggers2061 authenticated user with valid permissions2062 returns list of triggers2063 authenticated user with invalid permissions2064 does not return triggers list2065 unauthenticated user2066 does not return triggers list2067 GET /projects/:id/triggers/:trigger_id2068 authenticated user with valid permissions2069 returns trigger details2070 responds with 404 Not Found if requesting non-existing trigger2071 authenticated user with invalid permissions2072 does not return triggers list2073 unauthenticated user2074 does not return triggers list2075 POST /projects/:id/triggers2076 authenticated user with valid permissions2077 with required parameters2078 creates trigger2079 without required parameters2080 does not create trigger2081 authenticated user with invalid permissions2082 does not create trigger2083 unauthenticated user2084 does not create trigger2085 PUT /projects/:id/triggers/:trigger_id2086 authenticated user with valid permissions2087 updates description2088 authenticated user with invalid permissions2089 does not update trigger2090 unauthenticated user2091 does not update trigger2092 POST /projects/:id/triggers/:trigger_id/take_ownership2093 authenticated user with valid permissions2094 updates owner2095 authenticated user with invalid permissions2096 does not update owner2097 unauthenticated user2098 does not update owner2099 DELETE /projects/:id/triggers/:trigger_id2100 authenticated user with valid permissions2101 deletes trigger2102 responds with 404 Not Found if requesting non-existing trigger2103 behaves like 412 response2104 for a modified ressource2105 returns 4122106 for an unmodified ressource2107 returns accepted2108 authenticated user with invalid permissions2109 does not delete trigger2110 unauthenticated user2111 does not delete trigger2112ProjectsController2113 GET new2114 with an authenticated user2115 when namespace_id param is present2116 when user has access to the namespace2117 renders the template2118 when user does not have access to the namespace2119 responds with status 4042120 GET index2121 as a user2122 redirects to root page2123 as a guest2124 redirects to Explore page2125 GET show2126 user not project member2127 user does not have access to project2128 does not initialize notification setting2129 user has access to project2130 and does not have notification setting2131 initializes notification as disabled2132 and has notification setting2133 shows current notification setting2134 when project repository is disabled2135 shows wiki homepage2136 shows issues list page if wiki is disabled2137 shows customize workflow page if wiki and issues are disabled2138 shows activity if enabled by user2139 when the storage is not available2140 renders a 5032141 project with empty repo2142 with readme view set2143 renders the empty project view2144 with activity view set2145 renders the empty project view2146 with files view set2147 renders the empty project view2148 project with broken repo2149 with readme view set2150 renders the empty project view2151 with activity view set2152 renders the empty project view2153 with files view set2154 renders the empty project view2155 rendering default project view2156 renders the activity view2157 renders the files view2158 renders the readme view2159 when the url contains .atom2160 expects an error creating the project2161 when the project is pending deletions2162 renders a 404 error2163 redirection from http://someproject.git2164 redirects to project page (format.html)2165 when the project is forked and has a repository2166 does not increase the number of queries when the project is forked2167 GET edit2168 sets the badge API endpoint2169 #update2170 hashed storage2171 behaves like updating a project2172 updates Fast Forward Merge attributes2173 when only renaming a project path2174 sets the repository to the right path after a rename2175 when project has container repositories with tags2176 does not allow to rename the project2177 legacy storage2178 behaves like updating a project2179 updates Fast Forward Merge attributes2180 when only renaming a project path2181 sets the repository to the right path after a rename2182 when project has container repositories with tags2183 does not allow to rename the project2184 #transfer2185 updates namespace2186 when new namespace is empty2187 project namespace is not changed2188 #destroy2189 redirects to the dashboard2190 when the project is forked2191 closes all related merge requests2192 PUT #new_issuable_address for issue2193 has http status 2002194 changes the user incoming email token2195 changes projects new issue address2196 PUT #new_issuable_address for merge request2197 has http status 2002198 changes the user incoming email token2199 changes projects new merge request address2200 POST #toggle_star2201 toggles star if user is signed in2202 does nothing if user is not signed in2203 DELETE remove_fork2204 does nothing if user is not signed in2205 when signed in2206 with forked project2207 removes fork from project2208 when project not forked2209 does nothing if project was not forked2210 GET refs2211 gets a list of branches and tags2212 gets a list of branches, tags and commits2213 when preferred language is Japanese2214 gets a list of branches, tags and commits2215 POST #preview_markdown2216 renders json in a correct format2217 state filter on references2218 renders JSON body with state filter for issues2219 renders JSON body with state filter for MRs2220 #ensure_canonical_path2221 for a GET request2222 when requesting the canonical path2223 with exactly matching casing2224 loads the project2225 with different casing2226 redirects to the normalized path2227 when requesting a redirected path2228 redirects to the canonical path2229 redirects to the canonical path (testing non-show action)2230 for a POST request2231 when requesting the canonical path with different casing2232 does not 4042233 does not redirect to the correct casing2234 when requesting a redirected path2235 returns not found2236 for a DELETE request2237 when requesting the canonical path with different casing2238 does not 4042239 does not redirect to the correct casing2240 when requesting a redirected path2241 returns not found2242 #export2243 when project export is enabled2244 returns 3022245 when project export is disabled2246 returns 4042247 #download_export2248 object storage enabled2249 when project export is enabled2250 returns 3022251 when project export is disabled2252 returns 4042253 #remove_export2254 when project export is enabled2255 returns 3022256 when project export is disabled2257 returns 4042258 #generate_new_export2259 when project export is enabled2260 returns 3022261 when project export is disabled2262 returns 4042263Members::DestroyService2264 with a member with access2265 when current user cannot destroy the given member2266 with a project member2267 behaves like a service raising Gitlab::Access::AccessDeniedError2268 raises Gitlab::Access::AccessDeniedError2269 behaves like a service destroying a member with access2270 invalidates cached counts for todos and assigned issues and merge requests2271 behaves like a service destroying a member2272 destroys the member2273 destroys member notification_settings2274 with a group member2275 behaves like a service raising Gitlab::Access::AccessDeniedError2276 raises Gitlab::Access::AccessDeniedError2277 behaves like a service destroying a member with access2278 invalidates cached counts for todos and assigned issues and merge requests2279 behaves like a service destroying a member2280 destroys the member2281 destroys member notification_settings2282 when current user can destroy the given member2283 with a project member2284 behaves like a service destroying a member with access2285 invalidates cached counts for todos and assigned issues and merge requests2286 behaves like a service destroying a member2287 destroys the member2288 destroys member notification_settings2289 with a group member2290 behaves like a service destroying a member with access2291 invalidates cached counts for todos and assigned issues and merge requests2292 behaves like a service destroying a member2293 destroys the member2294 destroys member notification_settings2295 with an access requester2296 when current user cannot destroy the given access requester2297 behaves like a service raising Gitlab::Access::AccessDeniedError2298 raises Gitlab::Access::AccessDeniedError2299 behaves like a service destroying a member2300 destroys the member2301 destroys member notification_settings2302 behaves like a service raising Gitlab::Access::AccessDeniedError2303 raises Gitlab::Access::AccessDeniedError2304 behaves like a service destroying a member2305 destroys the member2306 destroys member notification_settings2307 when current user can destroy the given access requester2308 behaves like a service destroying an access requester2309 calls Member#after_decline_request2310 behaves like a service destroying a member2311 destroys the member2312 destroys member notification_settings2313 when current user is the member2314 does not call Member#after_decline_request2315 behaves like a service destroying an access requester2316 calls Member#after_decline_request2317 behaves like a service destroying a member2318 destroys the member2319 destroys member notification_settings2320 when current user is the member2321 does not call Member#after_decline_request2322 with an invited user2323 when current user cannot destroy the given invited user2324 behaves like a service raising Gitlab::Access::AccessDeniedError2325 raises Gitlab::Access::AccessDeniedError2326 behaves like a service destroying a member2327 destroys the member2328 destroys member notification_settings2329 behaves like a service raising Gitlab::Access::AccessDeniedError2330 raises Gitlab::Access::AccessDeniedError2331 behaves like a service destroying a member2332 destroys the member2333 destroys member notification_settings2334 when current user can destroy the given invited user2335 behaves like a service destroying a member2336 destroys the member2337 destroys member notification_settings2338 behaves like a service destroying a member2339 destroys the member2340 destroys member notification_settings2341User accepts a merge request2342 presents merged merge request content2343 with removing the source branch2344 accepts a merge request2345 without removing the source branch2346 accepts a merge request2347 when a URL has an anchor2348 accepts a merge request2349 when modifying the merge commit message2350 accepts a merge request2351MergeRequests::MergeService2352 #execute2353 valid params2354 should be valid2355 should be merged2356 sends email to user2 about merge of new merge_request2357 creates system note about merge_request merge2358 closes related issues2359 closes GitLab issue tracker issues2360 with JIRA integration2361 closes issues on JIRA issue tracker2362 when jira_issue_transition_id is not present2363 does not close issue2364 wrong issue markdown2365 does not close issues on JIRA issue tracker2366 closes related todos2367 should be done2368 source branch removal2369 when the source branch is protected2370 does not delete the source branch2371 when the source branch is the default branch2372 does not delete the source branch2373 when the source branch can be removed2374 when MR author set the source branch to be removed2375 removes the source branch using the author user2376 when the merger set the source branch not to be removed2377 does not delete the source branch2378 when MR merger set the source branch to be removed2379 removes the source branch using the current user2380 error handling2381 logs and saves error if there is an exception2382 logs and saves error if there is an PreReceiveError exception2383 logs and saves error if there is a merge conflict2384 when squashing2385 logs and saves error if there is an error when squashing2386 logs and saves error if there is a squash in progress2387 when fast-forward merge is not allowed2388 logs and saves error if merge is semi-linear only2389 logs and saves error if merge is ff only2390Banzai::Filter::RelativeLinkFilter2391 does not raise an exception on invalid URIs2392 does not raise an exception with a garbled path2393 does not raise an exception with a space in the path2394 ignores ref if commit is passed2395 with a project_wiki2396 does not modify any relative URL in anchor2397 does not modify any relative URL in image2398 does not modify any relative URL in video2399 without a repository2400 does not modify any relative URL in anchor2401 does not modify any relative URL in image2402 does not modify any relative URL in video2403 with an empty repository2404 does not modify any relative URL in anchor2405 does not modify any relative URL in image2406 does not modify any relative URL in video2407 with a valid commit2408 rebuilds absolute URL for a file in the repo2409 ignores absolute URLs with two leading slashes2410 rebuilds relative URL for a file in the repo2411 rebuilds relative URL for a file in the repo with leading ./2412 rebuilds relative URL for a file in the repo up one directory2413 rebuilds relative URL for a file in the repo up multiple directories2414 rebuilds relative URL for a file in the repository root2415 rebuilds relative URL for a file in the repo with an anchor2416 rebuilds relative URL for a directory in the repo2417 rebuilds relative URL for an image in the repo2418 rebuilds relative URL for link to an image in the repo2419 rebuilds relative URL for a video in the repo2420 does not modify relative URL with an anchor only2421 does not modify absolute URL2422 supports Unicode filenames2423 when requested path is a file in the repo2424 rebuilds URL relative to the containing directory2425 when requested path is a directory in the repo2426 rebuilds URL relative to the directory2427 when ref name contains percent sign2428 correctly escapes the ref2429 when ref name contains special chars2430 correctly escapes the ref2431 when requested path is a directory with space in the repo2432 does not escape the space twice2433 with a valid ref2434 rebuilds absolute URL for a file in the repo2435 ignores absolute URLs with two leading slashes2436 rebuilds relative URL for a file in the repo2437 rebuilds relative URL for a file in the repo with leading ./2438 rebuilds relative URL for a file in the repo up one directory2439 rebuilds relative URL for a file in the repo up multiple directories2440 rebuilds relative URL for a file in the repository root2441 rebuilds relative URL for a file in the repo with an anchor2442 rebuilds relative URL for a directory in the repo2443 rebuilds relative URL for an image in the repo2444 rebuilds relative URL for link to an image in the repo2445 rebuilds relative URL for a video in the repo2446 does not modify relative URL with an anchor only2447 does not modify absolute URL2448 supports Unicode filenames2449 when requested path is a file in the repo2450 rebuilds URL relative to the containing directory2451 when requested path is a directory in the repo2452 rebuilds URL relative to the directory2453 when ref name contains percent sign2454 correctly escapes the ref2455 when ref name contains special chars2456 correctly escapes the ref2457 when requested path is a directory with space in the repo2458 does not escape the space twice2459 with a /upload/ URL2460 to a project upload2461 rebuilds relative URL for a link2462 rebuilds relative URL for an image2463 does not modify absolute URL2464 supports unescaped Unicode filenames2465 supports escaped Unicode filenames2466 with an absolute URL2467 rewrites the link correctly2468 to a group upload2469 rewrites the link correctly2470 rewrites the link correctly for subgroup2471 does not modify absolute URL2472 with an absolute URL2473 rewrites the link correctly2474Projects > Settings > User manages merge request settings2475 shows "Merge commit" strategy2476 shows "Merge commit with semi-linear history " strategy2477 shows "Fast-forward merge" strategy2478 when Merge Request and Pipelines are initially enabled2479 when Pipelines are initially enabled2480 shows the Merge Requests settings2481 when Pipelines are initially disabled2482 shows the Merge Requests settings that do not depend on Builds feature2483 when Merge Request are initially disabled2484 does not show the Merge Requests settings2485 Checkbox to enable merge request link2486 is initially checked2487 when unchecked sets :printing_merge_request_link_enabled to false2488Projects::TransferService2489 namespace -> namespace2490 should be truthy2491 should eq #<Group id:1590 @group210>2492 when transfer succeeds2493 sends notifications2494 invalidates the user's personal_project_count cache2495 executes system hooks2496 disk path has moved2497 updates project full path in .git/config2498 when transfer fails2499 rolls back repo location2500 rolls back project full path in .git/config2501 doesn't send move notifications2502 doesn't run system hooks2503 namespace -> no namespace2504 should eq false2505 should eq #<Namespace id: 1611, name: "user1391", path: "user1391", owner_id: 1392, created_at: "2018-10-12 07:...authentication: false, two_factor_grace_period: 48, cached_markdown_version: 11, runners_token: nil>2506 should eq "Please select a new namespace for your project."2507 disallow transfering of project with tags2508 should be falsey2509 namespace -> not allowed namespace2510 should eq false2511 should eq #<Namespace id: 1618, name: "user1396", path: "user1396", owner_id: 1397, created_at: "2018-10-12 07:...authentication: false, two_factor_grace_period: 48, cached_markdown_version: 11, runners_token: nil>2512 namespace which contains orphan repository with same projects path name2513 should eq false2514 should eq #<Namespace id: 1623, name: "user1398", path: "user1398", owner_id: 1399, created_at: "2018-10-12 07:...authentication: false, two_factor_grace_period: 48, cached_markdown_version: 11, runners_token: nil>2515 should include "Cannot move project"2516 target namespace containing the same project name2517 should eq false2518 should eq #<Namespace id: 1631, name: "user1403", path: "user1403", owner_id: 1404, created_at: "2018-10-12 07:...authentication: false, two_factor_grace_period: 48, cached_markdown_version: 11, runners_token: nil>2519 should include "Project with same name or path in target namespace already exists"2520 target namespace containing the same project path2521 should eq false2522 should eq #<Namespace id: 1643, name: "user1412", path: "user1412", owner_id: 1413, created_at: "2018-10-12 07:...authentication: false, two_factor_grace_period: 48, cached_markdown_version: 11, runners_token: nil>2523 should include "Project with same name or path in target namespace already exists"2524 visibility level2525 when namespace visibility level < project visibility level2526 should eq 102527 when namespace visibility level > project visibility level2528 should eq 02529 missing group labels applied to issues or merge requests2530 delegates tranfer to Labels::TransferService2531 when hashed storage in use2532 does not move the directory2533 refreshing project authorizations2534 refreshes the permissions of the old and new namespace2535 only schedules a single job for every user2536Projects > Issuables > Default sort order2537 for merge requests2538 in the "merge requests" tab2539 is "last created"2540 in the "merge requests / open" tab2541 is "created date"2542 in the "merge requests / merged" tab2543 is "last updated"2544 in the "merge requests / closed" tab2545 is "last updated"2546 in the "merge requests / all" tab2547 is "created date"2548 for issues2549 in the "issues" tab2550 is "created date"2551 in the "issues / open" tab2552 is "created date"2553 in the "issues / closed" tab2554 is "last updated"2555 in the "issues / all" tab2556 is "created date"2557 when the sort in the URL is id_desc2558 shows the sort order as created date2559Explore Groups page2560 shows groups user is member of2561 filters groups2562 resets search when user cleans the input2563 shows non-archived projects count2564 landing component2565 should show a landing component2566 should be dismissable2567 should persistently not show once dismissed2568Projects > Settings > Integration settings2569 for developer2570 to be disallowed to view2571 for maintainer2572 Webhooks2573 show list of webhooks2574 create webhook2575 edit existing webhook2576 test existing webhook2577 remove existing webhook2578 from webhooks list page2579 from webhook edit page2580 Webhook logs2581 show list of hook logs2582 show hook log details2583 retry hook log2584Gitlab::ReferenceExtractor2585 accesses valid user objects2586 ignores user mentions inside specific elements2587 does not include anchors from table of contents in issue references2588 accesses valid issue objects2589 accesses valid merge requests2590 accesses valid labels2591 accesses valid snippets2592 accesses valid commits2593 accesses valid commit ranges2594 directly addressed users2595 when a user is directly addressed2596 accesses the user object which is mentioned in the beginning of the line2597 doesn't access the user object if it's not mentioned in the beginning of the line2598 when multiple users are addressed2599 accesses the user objects which are mentioned in the beginning of the line2600 doesn't access the user objects if they are not mentioned in the beginning of the line2601 when multiple users are addressed in different paragraphs2602 accesses user objects which are mentioned in the beginning of each paragraph2603 with an external issue tracker2604 when GitLab issues are enabled2605 returns both JIRA and internal issues2606 returns only JIRA issues if the internal one does not exists2607 when GitLab issues are disabled2608 returns only JIRA issues2609 with a project with an underscore2610 handles project issue references2611 #all2612 returns all referables2613 .references_pattern2614 should be a kind of Regexp2615 referables prefixes2616 returns all supported prefixes2617 does not allow one prefix for multiple referables if not allowed specificly2618RenameReservedProjectNames2619 #up2620 when project repository exists2621 when no exception is raised2622 renames project with reserved names2623 when exception is raised during rename2624 captures exception from project rename2625 when project repository does not exist2626 does not raise error2627User comments on a commit2628 adds a comment2629Banzai::Filter::UserReferenceFilter2630 requires project context2631 ignores invalid users2632 ignores references with text before the @ sign2633 ignores valid references contained inside 'pre' element2634 ignores valid references contained inside 'code' element2635 ignores valid references contained inside 'a' element2636 ignores valid references contained inside 'style' element2637 links with adjacent text2638 includes default classes2639 behaves like user reference or project reference2640 supports an :only_path context2641 mentioning a resource2642 links to a resource2643 links to a resource with a period2644 links to a resource with an underscore2645 links to a resource with different case-sensitivity2646 behaves like a reference containing an element node2647 does not escape inner html2648 behaves like it contains a data- attribute2649 includes a data- attribute2650 referencing a resource in a link href2651 links to the resource2652 links with adjacent text2653 behaves like it contains a data- attribute2654 includes a data- attribute2655 mentioning @all2656 supports a special @all mention2657 includes a data-author attribute when there is an author2658 does not include a data-author attribute when there is no author2659 ignores reference to all when the user is not a project member2660 behaves like a reference containing an element node2661 does not escape inner html2662 mentioning a group2663 links to the Group2664 includes a data-group attribute2665 behaves like a reference containing an element node2666 does not escape inner html2667 mentioning a nested group2668 links to the nested group2669 has the full group name as a title2670 behaves like a reference containing an element node2671 does not escape inner html2672 when a project is not specified2673 does not link a User2674 when skip_project_check set to true2675 links to a User2676 does not link users using @all reference2677 in group context2678 supports a special @all mention2679 supports mentioning a single user2680 supports mentioning a group2681 #namespaces2682 returns a Hash containing all Namespaces2683 #usernames2684 returns the usernames mentioned in a document2685RelativePositioning2686 #max_relative_position2687 returns maximum position2688 #prev_relative_position2689 returns previous position if there is an issue above2690 returns nil if there is no issue above2691 #next_relative_position2692 returns next position if there is an issue below2693 returns nil if there is no issue below2694 #move_before2695 moves issue before2696 #move_after2697 moves issue after2698 #move_to_end2699 moves issue to the end2700 #shift_after?2701 returns true2702 returns false2703 #shift_before?2704 returns true2705 returns false2706 #move_between2707 positions issue between two other2708 positions issue between on top2709 positions issue between to end2710 positions issues even when after and before positions are the same2711 positions issues between other two if distance is 12712 positions issue in the middle of other two if distance is big enough2713 positions issue closer to the middle if we are at the very top2714 positions issue closer to the middle if we are at the very bottom2715 positions issue in the middle of other two if distance is not big enough2716 positions issue in the middle of other two is there is no place2717 uses rebalancing if there is no place2718 positions issue right if we pass none-sequential parameters2719gitlab:uploads:migrate rake tasks2720 for AvatarUploader2721 for Project2722 behaves like enqueue jobs in batch2723 should receive perform_async(*(any args)) 4 times2724 Upload has store = nil2725 behaves like enqueue jobs in batch2726 should receive perform_async(*(any args)) 4 times2727 for Group2728 behaves like enqueue jobs in batch2729 should receive perform_async(*(any args)) 4 times2730 for User2731 behaves like enqueue jobs in batch2732 should receive perform_async(*(any args)) 4 times2733 for AttachmentUploader2734 for Note2735 behaves like enqueue jobs in batch2736 should receive perform_async(*(any args)) 4 times2737 for Appearance2738 behaves like enqueue jobs in batch2739 should receive perform_async(*(any args)) 1 time2740 behaves like enqueue jobs in batch2741 should receive perform_async(*(any args)) 1 time2742 for FileUploader2743 behaves like enqueue jobs in batch2744 should receive perform_async(*(any args)) 4 times2745 for PersonalFileUploader2746 behaves like enqueue jobs in batch2747 should receive perform_async(*(any args)) 4 times2748 for NamespaceFileUploader2749 behaves like enqueue jobs in batch2750 should receive perform_async(*(any args)) 4 times2751Merge request > User resolves outdated diff discussions2752 when a discussion was resolved by a push2753 shows that as automatically resolved2754 does not show that for active discussions2755Clusters::Platforms::Kubernetes2756 should belong to cluster2757 should be a kind of Gitlab::Kubernetes2758 should be a kind of ReactiveCaching2759 should respond to #ca_pem2760 before_validation2761 when namespace includes upper case2762 converts to lower case2763 validation2764 when validates namespace2765 when namespace is blank2766 should be truthy2767 when namespace is longer than 632768 should be falsey2769 when namespace includes invalid character2770 should be falsey2771 when namespace is vaild2772 should be truthy2773 when validates api_url2774 when api_url is invalid url2775 should be falsey2776 when api_url is nil2777 should be falsey2778 when api_url is valid url2779 should be truthy2780 when validates token2781 when token is nil2782 should be falsey2783 #kubeclient2784 should be an instance of Gitlab::Kubernetes::KubeClient2785 #rbac?2786 when authorization type is rbac2787 should be truthy2788 when authorization type is nil2789 should be falsey2790 #actual_namespace2791 when namespace is present2792 should eq "namespace-123"2793 when namespace is not present2794 should eq "project863-880"2795 #default_namespace2796 when cluster belongs to a project2797 should eq "project864-881"2798 when cluster belongs to nothing2799 should be nil2800 #predefined_variables2801 namespace is provided2802 behaves like setting variables2803 sets the variables2804 no namespace provided2805 sets the KUBE_NAMESPACE2806 behaves like setting variables2807 sets the variables2808 #terminals2809 with invalid pods2810 returns no terminals2811 with valid pods2812 returns terminals2813 uses max session time from settings2814 #calculate_reactive_cache2815 when cluster is disabled2816 should be nil2817 when kubernetes responds with valid pods and deployments2818 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"}}]}2819 when kubernetes responds with 500s2820 should raise Kubeclient::HttpError2821 when kubernetes responds with 404s2822 should include {:pods => []}2823SystemHooksService2824 event data2825 should include :event_name, :name, :created_at, :updated_at, :email, :user_id, and :username2826 should include :event_name, :name, :created_at, :updated_at, :email, :user_id, and :username2827 should include :event_name, :name, :created_at, :updated_at, :path, :project_id, :owner_name, :owner_email, and :project_visibility2828 should include :event_name, :name, :created_at, :updated_at, :path, :project_id, :owner_name, :owner_email, and :project_visibility2829 should include :event_name, :name, :created_at, :updated_at, :path, :project_id, :owner_name, :owner_email, and :project_visibility2830 should include :event_name, :created_at, :updated_at, :project_name, :project_path, :project_path_with_namespace, :project_id, :user_name, :user_username, :user_email, :user_id, :access_level, and :project_visibility2831 should include :event_name, :created_at, :updated_at, :project_name, :project_path, :project_path_with_namespace, :project_id, :user_name, :user_username, :user_email, :user_id, :access_level, and :project_visibility2832 should include :username, :key, and :id2833 should include :username, :key, and :id2834 should include :key and :id2835 should include :key and :id2836 should include :event_name, :name, :created_at, :updated_at, :path, :project_id, :owner_name, :owner_email, :project_visibility, and :old_path_with_namespace2837 should include :event_name, :name, :created_at, :updated_at, :path, :project_id, :owner_name, :owner_email, :project_visibility, and :old_path_with_namespace2838 should include :event_name, :name, :created_at, :updated_at, :path, :group_id, :owner_name, and :owner_email2839 should include :event_name, :name, :created_at, :updated_at, :path, :group_id, :owner_name, and :owner_email2840 should include :event_name, :created_at, :updated_at, :group_name, :group_path, :group_id, :user_id, :user_username, :user_name, :user_email, and :group_access2841 should include :event_name, :created_at, :updated_at, :group_name, :group_path, :group_id, :user_id, :user_username, :user_name, :user_email, and :group_access2842 includes the correct project visibility level2843 handles nil datetime columns2844 group_rename2845 contains old and new path2846 contains old and new full_path for subgroup2847 user_rename2848 contains old and new username2849 user_failed_login2850 contains state of user2851 event names2852 should eq "user_create"2853 should eq "user_destroy"2854 should eq "user_rename"2855 should eq "user_failed_login"2856 should eq "project_create"2857 should eq "project_destroy"2858 should eq "project_rename"2859 should eq "project_transfer"2860 should eq "project_update"2861 should eq "user_add_to_team"2862 should eq "user_remove_from_team"2863 should eq "key_create"2864 should eq "key_destroy"2865 should eq "group_create"2866 should eq "group_destroy"2867 should eq "group_rename"2868 should eq "user_add_to_group"2869 should eq "user_remove_from_group"2870Projects::EnvironmentsController2871 GET index2872 when a request for the HTML is made2873 responds with status code 2002874 expires etag cache to force reload environments list2875 when requesting JSON response for folders2876 when requesting available environments scope2877 responds with a payload describing available environments2878 contains values describing environment scopes sizes2879 sets the polling interval header2880 when requesting stopped environments scope2881 responds with a payload describing stopped environments2882 contains values describing environment scopes sizes2883 GET folder2884 when using default format2885 responds with HTML2886 when using JSON format2887 sorts the subfolders lexicographically2888 GET show2889 with valid id2890 responds with a status code 2002891 with invalid id2892 responds with a status code 4042893 GET edit2894 responds with a status code 2002895 PATCH #update2896 responds with a 3022897 PATCH #stop2898 when env not available2899 returns 4042900 when stop action2901 returns action url2902 when no stop action2903 returns env url2904 GET #terminal2905 with valid id2906 responds with a status code 2002907 loads the terminals for the enviroment2908 with invalid id2909 responds with a status code 4042910 GET #terminal_websocket_authorize2911 with valid workhorse signature2912 and valid id2913 returns the first terminal for the environment2914 and invalid id2915 returns 4042916 with invalid workhorse signature2917 aborts with an exception2918 GET #metrics_redirect2919 redirects to environment if it exists2920 redirects to empty page if no environment exists2921 GET #metrics2922 when environment has no metrics2923 returns a metrics page2924 when requesting metrics as JSON2925 returns a metrics JSON document2926 when environment has some metrics2927 returns a metrics JSON document2928 GET #additional_metrics2929 when environment has no metrics2930 when requesting metrics as JSON2931 returns a metrics JSON document2932 when environment has some metrics2933 returns a metrics JSON document2934Gitlab::BackgroundMigration::RemoveRestrictedTodos2935 when a project is private2936 removes todos of users without project access2937 with a confidential issue2938 removes todos of users without project access and guests for confidential issues2939 when a project is public2940 when all features have the same visibility as the project, no confidential issues2941 does not remove any todos2942 with confidential issues2943 removes confidential issue todos for non authorized users2944 features visibility restrictions2945 when issues are restricted to project members2946 removes non members issue todos2947 when merge requests are restricted to project members2948 removes non members issue todos2949 when repository and merge requests are restricted to project members2950 removes non members commit and merge requests todos2951User browses artifacts2952 when visiting old URL2953 redirects to new URL2954 when browsing artifacts root directory2955 shows artifacts2956 shows an artifact2957 when browsing a directory with UTF-8 characters in its name2958 shows correct content2959 when browsing a directory with a text file2960 when the project is public2961 shows correct content2962 when the project is private2963 should have visible link "doc_sample.txt" and have no selector ".js-artifact-tree-external-icon"2964Groups > Members > Request access2965 request access feature is disabled2966 user can request access to a group2967 user does not see private projects2968 user does not see group in the Dashboard > Groups page2969 user is not listed in the group members page2970 user can withdraw its request for access2971 member does not see the request access button2972Gitlab::Kubernetes::Helm::Certificate2973 .generate_root2974 should generate a root CA that expires a long way in the future2975 #issue2976 should generate a cert that expires soon2977 passing in INFINITE_EXPIRY2978 should generate a cert that expires a long way in the future2979Projects > Files > Project owner sees a link to create a license file in empty project2980 project maintainer creates a license file from a template2981list of badges2982 user wants to see build status badge2983 user wants to see coverage report badge2984 user changes current ref of build status badge2985Admin Broadcast Messages2986 See broadcast messages list2987 Create a customized broadcast message2988 Edit an existing broadcast message2989 Remove an existing broadcast message2990 Live preview a customized broadcast message2991Milestones::PromoteService2992 #execute2993 validations2994 raises error if milestone does not belong to a project2995 raises error if project does not belong to a group2996 does not promote milestone and update issuables if promoted milestone is not valid2997 without duplicated milestone titles across projects2998 promotes project milestone to group milestone2999 does not update issuables without milestone with the new promoted milestone3000 sets issuables with new promoted milestone3001 with duplicated milestone titles across projects3002 deletes project milestones with the same title3003 does not update issuables without milestone with the new promoted milestone3004 sets all issuables with new promoted milestone3005Admin::UsersController3006 DELETE #user with projects3007 deletes user and ghosts their contributions3008 deletes the user and their contributions when hard delete is specified3009 PUT block/:id3010 blocks user3011 PUT unblock/:id3012 ldap blocked users3013 does not unblock user3014 manually blocked users3015 unblocks user3016 PUT unlock/:id3017 unlocks user3018 PUT confirm/:id3019 confirms user3020 PATCH disable_two_factor3021 disables 2FA for the user3022 redirects back3023 displays an alert3024 POST create3025 creates the user3026 shows only one error message for an invalid email3027 POST update3028 when the password has changed3029 when the admin changes his own password3030 updates the password3031 does not set the new password to expire immediately3032 when the new password is valid3033 redirects to the user3034 updates the password3035 sets the new password to expire immediately3036 when the new password is invalid3037 shows the edit page again3038 returns the error message3039 does not update the password3040 when the new password does not match the password confirmation3041 shows the edit page again3042 returns the error message3043 does not update the password3044 POST impersonate3045 when the user is blocked3046 shows a notice3047 doesn't sign us in as the user3048 when the user is not blocked3049 stores the impersonator in the session3050 signs us in as the user3051 redirects to root3052 shows a notice3053API::NotificationSettings3054 GET /notification_settings3055 returns global notification settings for the current user3056 PUT /notification_settings3057 updates global notification settings for the current user3058 PUT /notification_settings3059 fails on non-user email address3060 GET /groups/:id/notification_settings3061 returns group level notification settings for the current user3062 PUT /groups/:id/notification_settings3063 updates group level notification settings for the current user3064 GET /projects/:id/notification_settings3065 returns project level notification settings for the current user3066 PUT /projects/:id/notification_settings3067 updates project level notification settings for the current user3068 PUT /projects/:id/notification_settings3069 fails on invalid level3070Banzai::Filter::RedactorFilter3071 ignores non-GFM links3072 skips when the skip_redaction flag is set3073 with data-project3074 valid projects3075 allows permitted Project references3076 invalid projects3077 removes unpermitted references3078 handles invalid references3079 with data-issue3080 allows references for non confidential issues3081 for confidential issues3082 removes references for non project members3083 removes references for project members with guest role3084 allows references for author3085 allows references for assignee3086 allows references for project members3087 allows references for admin3088 for user references3089 with data-group3090 removes unpermitted Group references3091 allows permitted Group references3092 handles invalid Group references3093 with data-user3094 allows any User reference3095PersonalFileUploader3096 behaves like builds correct paths3097 #store_dir3098 behaves like matches the method pattern3099 should match /uploads\/-\/system\/personal_snippet\/\d+/3100 #cache_dir3101 behaves like matches the method pattern3102 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:6 (PENDING: No pattern provided, skipping.)3103 #work_dir3104 behaves like matches the method pattern3105 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:6 (PENDING: No pattern provided, skipping.)3106 #upload_path3107 behaves like matches the method pattern3108 should match /\h+\/\S+/3109 #relative_path3110 is relative (PENDING: Path not set, skipping.)3111 .absolute_path3112 behaves like matches the method pattern3113 should match /\/builds\/gtsiolis\/gitlab-ce\/tmp\/tests\/public\/uploads\/-\/system\/personal_snippet\/\d+\/(?-mix:\h+\/\S+)/3114 .base_dir3115 behaves like matches the method pattern3116 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:6 (PENDING: No pattern provided, skipping.)3117 object_store is REMOTE3118 behaves like builds correct paths3119 #store_dir3120 behaves like matches the method pattern3121 should match /\d+\/\h+/3122 #cache_dir3123 behaves like matches the method pattern3124 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:6 (PENDING: No pattern provided, skipping.)3125 #work_dir3126 behaves like matches the method pattern3127 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:6 (PENDING: No pattern provided, skipping.)3128 #upload_path3129 behaves like matches the method pattern3130 should match /\h+\/\S+/3131 #relative_path3132 is relative (PENDING: Path not set, skipping.)3133 .absolute_path3134 behaves like matches the method pattern3135 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:6 (PENDING: No pattern provided, skipping.)3136 .base_dir3137 behaves like matches the method pattern3138 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:6 (PENDING: No pattern provided, skipping.)3139 #to_h3140 is correct3141 #migrate!3142 behaves like migrates3143 returns corresponding file type3144 does nothing when migrating to the current store3145 migrate to the specified store3146 removes the original file after the migration3147 can access to the original file during migration3148 when migrate! is not occupied by another process3149 executes migrate!3150 executes use_file3151 when migrate! is occupied by another process3152 does not execute migrate!3153 does not execute use_file3154 migration is unsuccessful3155 when the store is not supported3156 does not update the object_store3157 does not delete the original file3158 upon a fog failure3159 does not update the object_store3160 does not delete the original file3161 upon a database failure3162 does not update the object_store3163 does not delete the original file3164 behaves like migrates3165 returns corresponding file type3166 does nothing when migrating to the current store3167 migrate to the specified store3168 removes the original file after the migration3169 can access to the original file during migration3170 when migrate! is not occupied by another process3171 executes migrate!3172 executes use_file3173 when migrate! is occupied by another process3174 does not execute migrate!3175 does not execute use_file3176 migration is unsuccessful3177 when the store is not supported3178 does not update the object_store3179 does not delete the original file3180 upon a fog failure3181 does not update the object_store3182 does not delete the original file3183 upon a database failure3184 does not update the object_store3185 does not delete the original file3186Files::CreateService3187 #execute3188 when file matches LFS filter3189 with LFS disabled3190 skips gitattributes check3191 doesn't create LFS pointers3192 with LFS enabled3193 creates an LFS pointer3194 creates an LfsObject with the file's content3195 links the LfsObject to the project3196 commit attribute3197 uses the commit email3198Gitlab::GitalyClient::CommitService3199 #diff_from_parent3200 returns a Gitlab::GitalyClient::DiffStitcher3201 encodes paths correctly3202 when a commit has a parent3203 sends an RPC request with the parent ID as left commit3204 when a commit does not have a parent3205 sends an RPC request with empty tree ref as left commit3206 #commit_deltas3207 when a commit has a parent3208 sends an RPC request with the parent ID as left commit3209 when a commit does not have a parent3210 sends an RPC request with empty tree ref as left commit3211 #between3212 sends an RPC request3213 #diff_stats3214 sends an RPC request3215 #tree_entries3216 sends a get_tree_entries message3217 with UTF-8 params strings3218 handles string encodings correctly3219 #commit_count3220 sends a commit_count message3221 with UTF-8 params strings3222 handles string encodings correctly3223 #find_commit3224 sends an RPC request3225 caching3226 when passed revision is a branch name3227 calls Gitaly3228 when passed revision is a commit ID3229 returns a cached commit3230 #patch3231 sends an RPC request3232 concatenates the responses data3233 #commit_stats3234 sends an RPC request3235NotificationSettingsController3236 #create3237 when not authorized3238 redirects to sign in page3239 when authorized3240 for projects3241 creates notification setting3242 with custom settings3243 creates notification setting3244 for groups3245 creates notification setting3246 with custom settings3247 creates notification setting3248 not authorized3249 returns 4043250 #update3251 when not authorized3252 redirects to sign in page3253 when authorized3254 returns success3255 and setting custom notification setting3256 returns success3257 not authorized3258 returns 4043259ClusterApplicationEntity3260 #as_json3261 has name3262 has status3263 has no status_reason3264 when application is errored3265 has corresponded data3266 for ingress application3267 includes external_ip3268GroupDescendant3269 for a group3270 #hierarchy3271 only queries once for the ancestors3272 only queries once for the ancestors when a top is given3273 builds a hierarchy for a group3274 builds a hierarchy upto a specified parent3275 raises an error if specifying a base that is not part of the tree3276 .build_hierarchy3277 combines hierarchies until the top3278 combines upto a given parent3279 handles building a tree out of order3280 tracks the exception when a parent was not preloaded3281 recovers if a parent was not reloaded by querying for the parent3282 raises an error if not all elements were preloaded3283 for a project3284 #hierarchy3285 builds a hierarchy for a project3286 builds a hierarchy upto a specified parent3287 .build_hierarchy3288 combines hierarchies until the top3289 combines upto a given parent3290 merges to elements in the same hierarchy3291 merges complex hierarchies3292Gitlab::Ci::Pipeline::Seed::Stage3293 #size3294 returns a number of jobs in the stage3295 #attributes3296 returns hash attributes of a stage3297 #included?3298 when it contains builds seeds3299 should be included3300 when it does not contain build seeds3301 should not be included3302 #seeds3303 returns build seeds3304 returns build seeds including valid attributes3305 filters seeds using only/except policies3306 when a ref is protected3307 returns protected builds3308 when a ref is not protected3309 returns unprotected builds3310 #to_resource3311 builds a valid stage object with all builds3312 can not be persisted without explicit pipeline assignment3313Key3314 Associations3315 should belong to user3316 Validation3317 should validate that :title cannot be empty/falsy3318 should validate that the length of :title is at most 2553319 should validate that :key cannot be empty/falsy3320 should validate that the length of :key is at most 50003321 should allow :key to be ‹"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC98dbu7gxcbmAvwMqz/6AALhSr1jiXG0UC8FQMvoDt+ciB+uSJhg7KlxinKjYJnPGfhX+q2K+mmCGAmI/D6q7rFxE+bn09O+75qgkTHi+suDVE6KG7L3n0alGd/qSevfomR77Snh6fQPdG6sEAZz3kehcpfVnq5/IuLFq9FBrgmu52Jd4XZLQZKkDq6zYOJ69FUkGf93LZIV/OOaS+f+qkOGPCUkdKl7oEcgpVNY9SRjBCduXnvi2CyQnnJVkBguGL5VlXwFXH+17Whs7oFWmdiG+4jzBRLIMz4EuIW09b8Su5PW6+bBuXOifHA8KG5TMmjs5LYdCMPFnhTyDyO3a1 dummy@gitlab.com"›3322 should allow :key to be ‹"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDGSD77lLtjmzewiBs6nu2R5nu6oNkrAkH/0co1fHHosKfRr+sWkSTKXOVcL7bhRu+tniGBmB5pn+i1qX7BXtrcnv//bCXWIp+me027L4RJa5/Ep077iiTJlzTpcV664xNUXC8mzBr601HR/Z2TzX5DWJvnyqqFkN7qHTYo/+IoKECnKqNzI5SQrAxgi6sbWA5DFQ/nwcqsUSBo5gCCJ/0QPrR19yVV5lJA19EY2LawOb1SJNOFo4mQupSlBZwvERZJ7IqhBTPtQIfrqqz5VJbI13jK3ViZTugIZqydWAhosUyejP3SdCj1KMexrvV95tjUtmhVFlph4tKThQO0p9pXKZNCzYsbQTye6O6Hk2rojOJLyFWqNBVKtI8Ymfu7OQWppRnuUFuhuuS515H1s888bZFMPsC74mPyo0Y7Q9wAoTnQ9Hw6b0J6OfY3PIRVphaCmxh6b7dgSPFdD7TA6j0xk6PCTOIEzBKuc85B3GQc8Nt4sTv6fW8lGeuYWqepW74igeC4qB6U3/3+p3nPdq/bTM1txrhnQsl1r4dv6TLZ51EtHp6sXayp0qd0pRaiavebXFC0iaETLraQpye4FWbBL/8xTjQ/0VPrYVuUCDvDSMIIS3/9g7Kp7ERUDC9jUqOVonm4pTXL9iItiUBlK7Mob9C4fQIRFnVR00DCmkmVgw== dummy@gitlab.com"›3323 should allow :key to be ‹"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACgQDxnZP0TucLH3zcrvt75DPNq+xKqOmJkCEzTytKq4S5MDH0nlx+xOZ9WykhwDHXU0iZBJF7yRdLkZweYDJVKnBzr4t7QP5Sw2/ZdLelvUMWGJjuz28x8Z+8NZ+IxL/exDz7itrhCsLupQhGO1obiIwf8xVzzPoxrQ9dxaN4x965N+QdQcld8O6xfpSE0p5Y3sRn3kp57aHWoNa/bUGZy0OHLr/ig0uc6EKyWsTmEESOgDyV94wOyHR0KNGEENyxQt4BwAbEBn3Y41HKqD358KKh+XjbECebrrBFigdDL/eYFIUlstJ07SK/HtYjZbiUZCPs8bJA+SBaLK0pGGqguM2LXRoMeMUZFwKKKS2LpRqjKGj3Qt7qMnp1SkVhiMnxNqL4nJnDOOVo07xDIPKqIBYO67/cp4Icv3IjKxy6K3EIpLr+iRCxcllpDogxolzFC+pEDVpmEvcrGEv1ON6HcCdk/6Q8Iekr8rYDHpKCU5FF2uBHkqq7yNJ1/+NFC4dgyOo0xCVL4D3DvDKNxFYkrzW4ICt0f5XcMnU10yS/OFXz8JwA3jvuLvMRe5JdFiIjb/l86+TgYyvK8Y8N/UWgSgyjXUCv8nxdvpsxdz5h7HBF8E2DIxCVMC23655e5rp5eJW9EU9X5YFZc3u6uWJ1f1aO+1ViTtqkPrqxovNDD+gVel8Ny6MJ4MvmDKY+eM8beNMSSf1n1Oyh/SvCffhZpUqrXdTr9qwZEOaC75T74AJ7KBl9VvO3vPLZuJrt38R2OZG/4SlNEUA6bb5TWQLtdor/qpPN5jAskkAUzOh5L/M+dmq2jNn03U9xwORCYPZj+fFM9bL99/0knsV0ypZDZyWH dummy@gitlab.com"›3324 should allow :key to be ‹"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAEAQC5jMyGtgMOVX4t2GuXkbirJA0Edr+qlOH9grnRBPHPo0Npt6XE6ZN3J3hDULTQo03wmekGw42dxdNSgk+F0GjsUBrMLbqrk485MMe0cUbP4lRXNu4ao87wPVM5fAsD4E3FQiZcI6Df011ZGIL7hGTHt6eafTfr9cJheRyYSu6g06rlnFWbbtSh9oQ7Y6sfDLBcsC9ECcXwe3mwViuQXPIVomZ02EdnBbAhbGHDtA+ZbSvTfraxOMjkxkVvvdjLxXEykpwVuZf8eZ+R/Js8jQ5RKvTZMbfxJNsGEqHD32s43ml4VF549Qz2GJDXF7Cld/n3CT6wvw0mMPM0LnykL2v0CMr44bjIA3KsNEs5MhkcBO8sv5hGfcPhrpm9WwI6gd9vdZVcxarVI+iQS947owvdn4VbEZXynCDqEEv3Zh+FA5p23mf2p7DkG/swiK/IPrjr1wmsiWmwIUsENzJNyJtibKuRsBawC4ZdL797tFilSoTzSpriegSL13joPXz3eOHCVu4ATHMo3QyLfIFbxrf9PQ79nyOpHoX2YeFXvei3xFkGMundkOqeI+pnJKDyqbiLV7UVlclua11QWNQZf1ZUd0n1wZ1g89de+wl3oJSRbSA5ZpveZEPstcMC/JhogY4JBYsvCT1yHOoNWHo90NZQsUCjNnR+/FVaACtpt2zcPTjjbXvxwCDlT3gXTmTBp/kEZq6u8p+BOlqFgxcP/sdAR8jWTin3Iw/YAcbqNgRHdjMUzJBrPQ5NcK6xFcmkOEQahdJDZs98xozCHkD4Urx6+auTr/uqRYobKoNUNiYqN1n7/dfZjQJJVkHtKd06JTFx+7/SqyfrTKS+/EIf2Hypdy9r9IFR+SWAOi11N/wflS/ZbH95Qt3STifXRecmHzyYGkMOZ+mg3Hi2YU0yn7k+P1jy627xudpT9Ak3HWT5ji8tMyn9udL7m80dYpUiEAxoYZdbSSNCDaKP4ViABnGIeZreIujabI8IdtEIjFQTaF2d5HTYjp28/qf576CFP5L7AGydypipYqZUmsYnay5YVjdm89He3TMD71SwspJlPOC4RnM0HS87OE+U0+mVaIe8YYbcjTekpVU9mkqsE/GQ34Egw79VMNNgWq5avOzpT8msClTJxgfJ1agGgigTvGxUM0FB07+sIdJxxNymAGpLKZ1op8xaJI3o8D86jWgI22za1zxUB5il9U7+KOzaWo9mp3bmhvZWGDwzTXEZhUJYMRby7o6UxSHlA6fKE63JSDD2yhXk4CjsQRNC7Ph9cYSB+Wa3i9Am4rRlJgrF79okmEOMpj1idliHkpIsy/k2CN9Lf2EIHOD4NMuLrSUH4qJsPUq19ZbGIMdImD3vMS5b dummy@gitlab.com"›3325 should allow :key to be ‹"ssh-dss AAAAB3NzaC1kc3MAAAEBALEB3sM2kPy6LKLiyL+UlDx2vzuKrzSD2nsW2Kb70ivIqDNJu5CbqIQSkjdMzJiocs33ESFqXid6ezOtVdDwXHJQRxKGalW1kBbFAPjtMxlDbf559+7qN2zfCfcQsgTmNAZ7O+wltqJmyLv5i4QqNwPDvyeBvJ4C+770DzlcQtpkflKJX+O7i8Ylq34h6UTCTnjry+dFVm1xz97LPf7XuzXGZcAG/eGUNQgxQ2bferKnrpYOXx6cocSRj9W54nrRFMWuDeOspWp4MoYK0FRMfDQYPksUayGUnm1KQTGuDbB0ahRNCOm8b3tfP9Z+vjANAkqenzDuXCpz2PU/Oj6/N/UAAAAhAPOLyut12Mjcp3eUXLe1xSoI5IRXSLsoW9no93dcFNprAAABAQCLhpqKY+PNcwbhhPruL+f+uROghHzDwRNX+e231F4wHHeDDomfWyLVFj31XrHdDXZnS9tTTj5D2XWLovSSxYb3H7earTctmktL0lQ3HapujzvOkn+VM0pGs6B3j54+AM3mg50KZdYWxxv+v/lb6oEcsCjfKNyRIx/5pqX6XI3dxl9MMIxrfVWpkNX+FI68v1LVV61DC9PkNyEHU0v9YBOfrTiS21TIlVIZcSFhuDjg52MekfZAnoKaP7YFJNF3fdCrXaU3hYQrwB9XdskBUppwxKGhf7O6SWEZhAEfPA9kgxaWHoJvsDz8aca576UNe7BPmjzo/SLUX+P4uvcaffd+AAABAEqzpmwjzTxB+DV8C+0LnmKf3L/UlQWyGdmhd65rnbkHGgRMAAkoh4GBOEHL5bznNRmO7X/H6g2fR7SEabxfbvb903KI4nbfFF+3QtnwyIbTBAcH0893D3bi5rsaJcz+c6lBob2En2nThRciefXUk2oPzCQuDyFIyHLJikqRQVcalHCdQ00c/H/JkiJedHNqaeU4TeMk8SM53Brjplj/iiJq+ujc5MlEgACdCwWp0BviFACEoYyFaa3Rkc7Xdm9vFpclm9fzgUfPloASA0SkO945in3mIqMfODTb4yRvbjk8If9483fEPgQkczpdptBz1VAKg8AmRcz1GmBIxs+Stn0= dummy@gitlab.com"›3326 should allow :key to be ‹"ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJZmkzTgY0fiCQ+DVReyH/fFwTFz0XoR3RUO0u+199H19KFw7mNPxRSMOVS7tEtONj3Q7FcZXfqthHvgAzDiHsc= dummy@gitlab.com"›3327 should allow :key to be ‹"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIETnVTgzqC1gatgSlC4zH6aYt2CAQzgJOhDRvf59ohL6 dummy@gitlab.com"›3328 should not allow :key to be ‹"foo-bar"›3329 Methods3330 should respond to #projects3331 should respond to #publishable_key3332 #publishable_keys3333 replaces SSH key comment with simple identifier of username + hostname3334 #update_last_used_at3335 updates the last used timestamp3336 validation of uniqueness (based on fingerprint uniqueness)3337 accepts the key once3338 does not accept the exact same key twice3339 does not accept a duplicate key with a different comment3340 validate it is a fingerprintable key3341 accepts the fingerprintable key3342 rejects the unfingerprintable key (not a key)3343 factory: :key, chars: ["\n", "\r\n"], expected_sections: 33344 accepts a key with blank space characters after stripping them3345 factory: :key, chars: [" ", " "], expected_sections: 33346 accepts a key with blank space characters after stripping them3347 factory: :key_without_comment, chars: [" ", " "], expected_sections: 23348 accepts a key with blank space characters after stripping them3349 validate it meets key restrictions3350 factory: :rsa_key_2048, minimum: 0, result: true3351 should eq true3352 factory: :dsa_key_2048, minimum: 0, result: true3353 should eq true3354 factory: :ecdsa_key_256, minimum: 0, result: true3355 should eq true3356 factory: :ed25519_key_256, minimum: 0, result: true3357 should eq true3358 factory: :rsa_key_2048, minimum: 1024, result: true3359 should eq true3360 factory: :rsa_key_2048, minimum: 2048, result: true3361 should eq true3362 factory: :rsa_key_2048, minimum: 4096, result: false3363 should eq false3364 factory: :dsa_key_2048, minimum: 1024, result: true3365 should eq true3366 factory: :dsa_key_2048, minimum: 2048, result: true3367 should eq true3368 factory: :dsa_key_2048, minimum: 4096, result: false3369 should eq false3370 factory: :ecdsa_key_256, minimum: 256, result: true3371 should eq true3372 factory: :ecdsa_key_256, minimum: 384, result: false3373 should eq false3374 factory: :ed25519_key_256, minimum: 256, result: true3375 should eq true3376 factory: :ed25519_key_256, minimum: 384, result: false3377 should eq false3378 factory: :rsa_key_2048, minimum: -1, result: false3379 should eq false3380 factory: :dsa_key_2048, minimum: -1, result: false3381 should eq false3382 factory: :ecdsa_key_256, minimum: -1, result: false3383 should eq false3384 factory: :ed25519_key_256, minimum: -1, result: false3385 should eq false3386 callbacks3387 adds new key to authorized_file3388 removes key from authorized_file3389 #key=3390 strips white spaces3391 invalidates the public_key attribute3392 #refresh_user_cache3393 when the key belongs to a user3394 refreshes the keys count cache for the user3395 when the key does not belong to a user3396 does nothing3397Commits::TagService3398 #execute3399 valid params3400 when tagging succeeds3401 returns a hash with the :success status and created tag3402 adds a system note3403 when tagging fails3404 behaves like tag failure3405 returns a hash with the :error status3406 does not add a system note3407 invalid params3408 behaves like tag failure3409 returns a hash with the :error status3410 does not add a system note3411Gitlab::Ci::Build::Step3412 #from_commands3413 when commands are specified3414 behaves like has correct script3415 fabricates an object3416 when script option is specified3417 behaves like has correct script3418 fabricates an object3419 when before and script option is specified3420 behaves like has correct script3421 fabricates an object3422 #from_after_script3423 when after_script is empty3424 doesn not fabricate an object3425 when after_script is not empty3426 fabricates an object3427Gitlab::IssuableMetadata3428 returns an empty Hash if an empty collection is provided3429 raises an error when given a collection with no limit3430 issues3431 aggregates stats on issues3432 merge requests3433 aggregates stats on merge requests3434Backup::Repository3435 #dump3436 repo failure3437 does not raise error3438 #restore3439 command failure3440 hashed storage3441 shows the appropriate error3442 legacy storage3443 shows the appropriate error3444 #prepare_directories3445 removes all repositories3446 #empty_repo?3447 for a wiki3448 invalidates the emptiness cache3449 wiki repo has content3450 returns true, regardless of bad cache value3451 wiki repo does not have content3452 returns true, regardless of bad cache value3453ProjectGroupLink3454 Associations3455 should belong to group3456 should belong to project3457 Validation3458 should validate that :project_id cannot be empty/falsy3459 should validate that :group_id is case-sensitively unique within the scope of :project_id, producing a custom validation error on failure3460 should validate that :group cannot be empty/falsy3461 should validate that :group_access cannot be empty/falsy3462 doesn't allow a project to be shared with the group it is in3463 doesn't allow a project to be shared with an ancestor of the group it is in3464 destroying a record3465 refreshes group users' authorized projects3466Ci::BuildTraceChunks::Database3467 #available?3468 should be truthy3469 #data3470 when data exists3471 returns the data3472 when data does not exist3473 returns nil3474 #set_data3475 when data exists3476 overwrites data3477 when data does not exist3478 sets new data3479 #delete_data3480 when data exists3481 deletes data3482 when data does not exist3483 does nothing3484 #keys3485 returns empty array3486Gitlab::Auth::Saml::User3487 #save3488 account exists on server3489 and should bind with SAML3490 adds the SAML identity to the existing user3491 external groups3492 are defined3493 marks the user as external3494 are defined but the user does not belong there3495 does not mark the user as external3496 user was external, now should not be3497 makes user internal3498 no account exists on server3499 external groups3500 are defined3501 marks the user as external3502 are defined but the user does not belong there3503 does not mark the user as external3504 with auto_link_ldap_user disabled (default)3505 with allow_single_sign_on enabled3506 creates a user from SAML3507 with allow_single_sign_on default (["saml"])3508 does not throw an error3509 with allow_single_sign_on disabled3510 throws an error3511 with auto_link_ldap_user enabled3512 and at least one LDAP provider is defined3513 and a corresponding LDAP person3514 and no account for the LDAP user3515 creates a user with dual LDAP and SAML identities3516 and LDAP user has an account already3517 adds the omniauth identity to the LDAP account3518 saves successfully on subsequent tries, when both identities are present3519 when uid is an uid3520 behaves like find LDAP person3521 adds the omniauth identity to the LDAP account3522 when uid is a dn3523 behaves like find LDAP person3524 adds the omniauth identity to the LDAP account3525 when uid is an email3526 behaves like find LDAP person3527 adds the omniauth identity to the LDAP account3528 user has SAML user, and wants to add their LDAP identity3529 adds the LDAP identity to the existing SAML user3530 when signup is disabled3531 creates the user3532 when user confirmation email is enabled3533 creates and confirms the user anyway3534 blocking3535 signup with SAML only3536 dont block on create3537 does not block the user3538 block on create3539 blocks user3540 sign-in3541 dont block on create3542 should not be blocked3543 block on create3544 should not be blocked3545 #find_user3546 raw info hash attributes empty3547 does not mark user as external3548 #bypass_two_factor?3549 with authn_contexts_worth_two_factors configured3550 returns true when authn_context is worth two factors3551 returns false when authn_context is not worth two factors3552 returns false when authn_context is blank3553 without auth_contexts_worth_two_factors_configured3554 returns false when authn_context is present3555 returns false when authn_context is blank3556Groups::BoardsController3557 GET index3558 creates a new board when group does not have one3559 when format is HTML3560 renders template3561 with unauthorized user3562 returns a not found 404 response3563 when format is JSON3564 return an array with one group board3565 with unauthorized user3566 returns a not found 404 response3567 GET show3568 when format is HTML3569 renders template3570 with unauthorized user3571 returns a not found 404 response3572 when format is JSON3573 returns project board3574 with unauthorized user3575 returns a not found 404 response3576 when board does not belong to group3577 returns a not found 404 response3578Gitlab::Ci::Status::Build::FailedAllowed3579 #text3580 does not override status text3581 #icon3582 returns a warning icon3583 #label3584 returns information about failed but allowed to fail status3585 #group3586 returns status failed with warnings status group3587 action details3588 #has_action?3589 does not decorate action details3590 #action_path3591 does not decorate action path3592 #action_icon3593 does not decorate action icon3594 #action_title3595 does not decorate action title3596 #badge_tooltip3597 does override badge_tooltip3598 #status_tooltip3599 does override status_tooltip3600 .matches?3601 when build is failed3602 when build is allowed to fail3603 is a correct match3604 when build is not allowed to fail3605 is not a correct match3606 when build did not fail3607 when build is allowed to fail3608 is not a correct match3609 when build is not allowed to fail3610 is not a correct match3611Gitlab::LegacyGithubImport::BranchFormatter3612 #exists?3613 returns true when branch exists and commit is part of the branch3614 returns false when branch exists and commit is not part of the branch3615 returns false when branch does not exist3616 #repo3617 returns raw repo3618 #sha3619 returns raw sha3620 #valid?3621 returns true when raw sha and ref are present3622 returns false when raw sha is blank3623 returns false when raw ref is blank3624Banzai::ReferenceParser::MilestoneParser3625 #nodes_visible_to_user3626 when the link has a data-issue attribute3627 behaves like referenced feature visibility3628 when feature is disabled3629 does not create reference3630 when feature is enabled only for team members3631 does not create reference for non member3632 creates reference for member3633 when feature is enabled3634 creates reference3635 #referenced_by3636 when the link has a data-milestone attribute3637 using an existing milestone ID3638 returns an Array of milestones3639 using a non-existing milestone ID3640 returns an empty Array3641Clusters::ClusterPresenter3642 inherits from Gitlab::View::Presenter::Delegated3643 #initialize3644 takes a cluster and optional params3645 exposes cluster3646 forwards missing methods to cluster3647 #gke_cluster_url3648 should include "us-central1-a"3649 should include "test-cluster"3650 #can_toggle_cluster3651 when user can update3652 when cluster is created3653 should eq true3654 when cluster is not created3655 should eq false3656 when user can not update3657 should eq false3658Projects::CycleAnalyticsController3659 cycle analytics not set up flag3660 with no data3661 is true3662 with data3663 is false3664API::ProjectSnapshots3665 GET /projects/:id/snapshot3666 returns authentication error as project owner3667 returns authentication error as unauthenticated user3668 requests project repository raw archive as administrator3669 requests wiki repository raw archive as administrator3670IssuablesHelper3671 #users_dropdown_label3672 returns unassigned3673 returns selected user's name3674 returns selected user's name and counter3675 #group_dropdown_label3676 returns default group label when group_id is nil3677 returns "any group" when group_id is 03678 returns group full path when a group was found for the provided id3679 returns default label when a group was not found for the provided id3680 #issuable_labels_tooltip3681 returns label text with no labels3682 returns label text with labels within max limit3683 returns label text with labels exceeding max limit3684 #issuables_state_counter_text3685 state text3686 returns "Open" when state is :opened3687 returns "Closed" when state is :closed3688 returns "Merged" when state is :merged3689 returns "All" when state is :all3690 #issuable_reference3691 when show_full_reference truthy3692 display issuable full reference3693 when show_full_reference falsey3694 when @group present3695 display issuable reference to @group3696 when @project present3697 display issuable reference to @project3698 #updated_at_by3699 should eq {}3700 should eq {:updatedAt=>"2018-10-10T08:02:42+00:00", :updatedBy=>{:name=>"John Doe2253", :path=>"/user2185"}}3701 when updated by a deleted user3702 returns "Ghost user" as edited_by3703 #issuable_initial_data3704 returns the correct json for an issue3705 #selected_labels3706 if label_name param is a string3707 returns a new label with title3708 if label_name param is an array3709 returns a new label with title for each element3710PersonalSnippetPolicy3711 public snippet3712 no user3713 should be disallowed :update_personal_snippet, :admin_personal_snippet, and :destroy_personal_snippet3714 regular user3715 should be disallowed :update_personal_snippet, :admin_personal_snippet, and :destroy_personal_snippet3716 author3717 should be allowed :update_personal_snippet, :admin_personal_snippet, and :destroy_personal_snippet3718 internal snippet3719 no user3720 should be disallowed :update_personal_snippet, :admin_personal_snippet, and :destroy_personal_snippet3721 regular user3722 should be disallowed :update_personal_snippet, :admin_personal_snippet, and :destroy_personal_snippet3723 external user3724 should be disallowed :update_personal_snippet, :admin_personal_snippet, and :destroy_personal_snippet3725 snippet author3726 should be allowed :update_personal_snippet, :admin_personal_snippet, and :destroy_personal_snippet3727 private snippet3728 no user3729 should be disallowed :update_personal_snippet, :admin_personal_snippet, and :destroy_personal_snippet3730 regular user3731 should be disallowed :update_personal_snippet, :admin_personal_snippet, and :destroy_personal_snippet3732 external user3733 should be disallowed :update_personal_snippet, :admin_personal_snippet, and :destroy_personal_snippet3734 snippet author3735 should be allowed :update_personal_snippet, :admin_personal_snippet, and :destroy_personal_snippet3736Gitlab::ImportExport::LfsRestorer3737 #restore3738 when the archive contains lfs files3739 creates an lfs object for the project3740 assigns the file correctly3741 links an existing LFS object if it existed3742 succeeds3743 stores the upload3744 without any LFS-objects3745 succeeds3746admin manage applications3747 should not text "test_changed"3748Boards::Issues::CreateService3749 #execute3750 delegates the create proceedings to Issues::CreateService3751 creates a new issue3752 adds the label of the list to the issue3753Constraints::ProjectUrlConstrainer3754 #matches?3755 valid request3756 should be truthy3757 invalid request3758 non-existing project3759 should be falsey3760 project id ending with .git3761 should be falsey3762 when the request matches a redirect route3763 and is a GET request3764 should be truthy3765 and is NOT a GET request3766 should be falsey3767Ci::VariablePresenter3768 inherits from Gitlab::View::Presenter::Delegated3769 #initialize3770 takes a variable and optional params3771 exposes variable3772 forwards missing methods to variable3773 #placeholder3774 should eq "PROJECT_VARIABLE"3775 #form_path3776 should eq "/namespace999/project1102/settings/ci_cd"3777 #edit_path3778 should eq "/namespace1000/project1103/variables"3779 #delete_path3780 should eq "/namespace1001/project1104/variables"3781Projects > Files > User wants to edit a file3782 file has been updated since the user opened the edit page3783GoogleApi::AuthorizationsController3784 GET|POST #callback3785 sets token and expires_at in session3786 when redirect uri key is stored in state3787 redirects to the URL stored in state param3788 when redirection url is not stored in state3789 redirects to root_path3790Gitlab::GroupHierarchy3791 #base_and_ancestors3792 includes the base rows3793 includes all of the ancestors3794 can find ancestors upto a certain level3795 uses ancestors_base #initialize argument3796 does not allow the use of #update_all3797 #base_and_descendants3798 includes the base rows3799 includes all the descendants3800 uses descendants_base #initialize argument3801 does not allow the use of #update_all3802 #descendants3803 includes only the descendants3804 #ancestors3805 includes only the ancestors3806 can find ancestors upto a certain level3807 #all_groups3808 includes the base rows3809 includes the ancestors3810 includes the descendants3811 uses ancestors_base #initialize argument for ancestors3812 uses descendants_base #initialize argument for descendants3813 does not allow the use of #update_all3814Ci::BuildMetadata3815 #update_timeout_state3816 when runner is not assigned to the job3817 doesn't change timeout value3818 doesn't change timeout_source value3819 when runner is assigned to the job3820 when runner timeout is lower than project timeout3821 sets runner timeout3822 sets runner_timeout_source3823 when runner timeout is higher than project timeout3824 sets project timeout3825 sets project_timeout_source3826Hook logs3827 user reads log without getting XSS3828Gitlab::Git::Diff3829 .new3830 using a Hash3831 with a small diff3832 initializes the diff3833 does not prune the diff3834 using a diff that is too large3835 prunes the diff3836 using a GitalyClient::Diff3837 with a small diff3838 initializes the diff3839 does not prune the diff3840 using a diff that is too large3841 prunes the diff3842 using a collapsable diff that is too large3843 prunes the diff as a large diff instead of as a collapsed diff3844 when the patch passed is not UTF-8-encoded3845 encodes diff patch to UTF-83846 straight diffs3847 has the correct size3848 diff3849 is an instance of Diff3850 has the correct new_path3851 has the correct diff3852 .between3853 should be a kind of Gitlab::Git::DiffCollection3854 #size3855 should eq 13856 diff3857 should be a kind of Gitlab::Git::Diff3858 #new_path3859 should eq "files/ruby/feature.rb"3860 #diff3861 should include "+class Feature"3862 .filter_diff_options3863 without default options3864 should filter invalid options3865 with default options3866 should filter invalid options3867 should merge with default options3868 should override default options3869 #json_safe_diff3870 fake binary message when it detects binary3871 leave non-binary diffs as-is3872 #submodule?3873 should eq false3874 should eq true3875 #line_count3876 returns the correct number of lines3877 #too_large?3878 returns true for a diff that is too large3879 returns false for a diff that is small enough3880 returns true for a diff that was explicitly marked as being too large3881 #collapsed?3882 returns false by default even on quite big diff3883 returns false by default for a diff that is small enough3884 returns true for a diff that was explicitly marked as being collapsed3885 #collapsed?3886 returns true for a diff that is quite large3887 returns false for a diff that is small enough3888 #collapse!3889 prunes the diff3890Gitlab::Prometheus::MetricGroup3891 .common_metrics3892 returns exactly two groups3893 returns exactly three metric queries3894 .for_project3895 returns exactly one common metric3896RuboCop::Cop::Migration::UpdateLargeTable3897 in migration3898 registers no offense for non-blacklisted tables3899 registers no offense for non-blacklisted methods3900 for the add_column_with_default method3901 registers an offense for the ci_build_trace_sections table3902 registers an offense for the ci_builds table3903 registers an offense for the ci_job_artifacts table3904 registers an offense for the ci_pipelines table3905 registers an offense for the ci_stages table3906 registers an offense for the events table3907 registers an offense for the issues table3908 registers an offense for the merge_request_diff_commits table3909 registers an offense for the merge_request_diff_files table3910 registers an offense for the merge_request_diffs table3911 registers an offense for the merge_requests table3912 registers an offense for the namespaces table3913 registers an offense for the notes table3914 registers an offense for the projects table3915 registers an offense for the routes table3916 registers an offense for the users table3917 for the change_column_type_concurrently method3918 registers an offense for the ci_build_trace_sections table3919 registers an offense for the ci_builds table3920 registers an offense for the ci_job_artifacts table3921 registers an offense for the ci_pipelines table3922 registers an offense for the ci_stages table3923 registers an offense for the events table3924 registers an offense for the issues table3925 registers an offense for the merge_request_diff_commits table3926 registers an offense for the merge_request_diff_files table3927 registers an offense for the merge_request_diffs table3928 registers an offense for the merge_requests table3929 registers an offense for the namespaces table3930 registers an offense for the notes table3931 registers an offense for the projects table3932 registers an offense for the routes table3933 registers an offense for the users table3934 for the rename_column_concurrently method3935 registers an offense for the ci_build_trace_sections table3936 registers an offense for the ci_builds table3937 registers an offense for the ci_job_artifacts table3938 registers an offense for the ci_pipelines table3939 registers an offense for the ci_stages table3940 registers an offense for the events table3941 registers an offense for the issues table3942 registers an offense for the merge_request_diff_commits table3943 registers an offense for the merge_request_diff_files table3944 registers an offense for the merge_request_diffs table3945 registers an offense for the merge_requests table3946 registers an offense for the namespaces table3947 registers an offense for the notes table3948 registers an offense for the projects table3949 registers an offense for the routes table3950 registers an offense for the users table3951 for the update_column_in_batches method3952 registers an offense for the ci_build_trace_sections table3953 registers an offense for the ci_builds table3954 registers an offense for the ci_job_artifacts table3955 registers an offense for the ci_pipelines table3956 registers an offense for the ci_stages table3957 registers an offense for the events table3958 registers an offense for the issues table3959 registers an offense for the merge_request_diff_commits table3960 registers an offense for the merge_request_diff_files table3961 registers an offense for the merge_request_diffs table3962 registers an offense for the merge_requests table3963 registers an offense for the namespaces table3964 registers an offense for the notes table3965 registers an offense for the projects table3966 registers an offense for the routes table3967 registers an offense for the users table3968 outside of migration3969 registers no offense for add_column_with_default3970 registers no offense for change_column_type_concurrently3971 registers no offense for update_column_in_batches3972 registers no offense for update_column_in_batches3973CreateMissingNamespaceForInternalUsers3974 for ghost user3975 creates the missing namespace3976 sets notification email3977UserAgentDetail3978 .submittable?3979 is submittable when not already submitted3980 is not submittable when already submitted3981 .valid?3982 is valid with a subject3983 is invalid without a subject3984projects/imports/new.html.haml3985 when import fails3986 escapes HTML in import errors3987RepositoryRemoveRemoteWorker3988 #perform3989 returns nil when project does not exist3990 when project exists39912018-10-12T08:03:03.532Z 83 TID-gpgsvx0cr INFO: Removing remote joe from project 11283992 does not remove remote when cannot obtain lease39932018-10-12T08:03:03.735Z 83 TID-gpgsvx0cr INFO: Removing remote joe from project 112939942018-10-12T08:03:03.743Z 83 TID-gpgsvx0cr ERROR: Could not remove remote joe from project 11293995 removes remote from repository when obtain a lease3996FillFileStore3997 correctly migrates nullified file_store/store column3998Gitlab::GithubImport::ParallelImporter3999 .async?4000 returns true4001 #execute4002 schedules the importing of the repository4003 sets the JID in Redis4004 updates the import JID of the project4005User deletes snippet4006 deletes the snippet4007ClusterProvisionWorker4008 #perform4009 when provider type is gcp4010 provision a cluster4011 when provider type is user4012 does not provision a cluster4013 when cluster does not exist4014 does not provision a cluster4015RemoveEmptyForkNetworks4016 deletes only the fork network without members4017ClusterEntity4018 #as_json4019 when provider type is gcp4020 when status is creating4021 has corresponded data4022 when status is errored4023 has corresponded data4024 when provider type is user4025 has corresponded data4026 when no application has been installed4027 contains helm as not_installable4028PackagistService4029 Associations4030 should belong to project4031 should have one service_hook4032 #execute4033 calls Packagist API4034ResetProjectCacheService4035 when project cache_index is nil4036 sets project cache_index to one4037 when project cache_index is a numeric value4038 increments project cache index4039clearing redis cache4040 clearing pipeline status cache4041 clears pipeline status cache4042ChatNames::AuthorizeUserService4043 #execute4044 when all parameters are valid4045 requests a new token4046 when there are missing parameters4047 does not request a new token4048Clusters::Gcp::VerifyProvisionStatusService4049 #execute4050 when operation status is RUNNING4051 behaves like continue_creation4052 schedules a worker for status minitoring4053 when cluster creation time exceeds timeout4054 behaves like error4055 sets an error to provider object4056 when operation status is PENDING4057 behaves like continue_creation4058 schedules a worker for status minitoring4059 when operation status is DONE4060 behaves like finalize_creation4061 schedules a worker for status minitoring4062 when operation status is unexpected4063 behaves like error4064 sets an error to provider object4065 when failed to get operation status4066 behaves like error4067 sets an error to provider object4068Gitlab::ImportExport::WikiRepoSaver4069 bundle a wiki Git repo4070 bundles the repo successfully4071ObjectStorage::DirectUpload4072 #has_length4073 is known4074 maximum size is not required4075 is unknown4076 and maximum size is specified4077 does not raise an error4078 and maximum size is not specified4079 raises an error4080 #to_hash4081 when AWS is used4082 when length is known4083 behaves like a valid upload without multipart data4084 returns valid structure4085 behaves like a valid upload4086 returns valid structure4087 when length is unknown4088 behaves like a valid upload with multipart data4089 returns valid structure4090 uses only strings in query parameters4091 behaves like a valid upload4092 returns valid structure4093 when maximum upload size is 10MB4094 returns only 2 parts4095 part size is mimimum, 5MB4096 when maximum upload size is 12MB4097 returns only 3 parts4098 part size is rounded-up to 5MB4099 when maximum upload size is 49GB4100 returns maximum, 100 parts4101 part size is rounded-up to 5MB4102 when Google is used4103 when length is known4104 behaves like a valid upload without multipart data4105[fog][DEPRECATION] Fog::Storage::Google => #get_object_url is deprecated, use #get_object_https_url instead (/builds/gtsiolis/gitlab-ce/lib/object_storage/direct_upload.rb:69:in `get_url')4106 returns valid structure4107 behaves like a valid upload4108[fog][DEPRECATION] Fog::Storage::Google => #get_object_url is deprecated, use #get_object_https_url instead (/builds/gtsiolis/gitlab-ce/lib/object_storage/direct_upload.rb:69:in `get_url')4109 returns valid structure4110 when length is unknown4111 behaves like a valid upload without multipart data4112[fog][DEPRECATION] Fog::Storage::Google => #get_object_url is deprecated, use #get_object_https_url instead (/builds/gtsiolis/gitlab-ce/lib/object_storage/direct_upload.rb:69:in `get_url')4113 returns valid structure4114 behaves like a valid upload4115[fog][DEPRECATION] Fog::Storage::Google => #get_object_url is deprecated, use #get_object_https_url instead (/builds/gtsiolis/gitlab-ce/lib/object_storage/direct_upload.rb:69:in `get_url')4116 returns valid structure4117API::Lint4118 POST /ci/lint4119 with valid .gitlab-ci.yaml content4120 passes validation4121 with an invalid .gitlab_ci.yml4122 responds with errors about invalid syntax4123 responds with errors about invalid configuration4124 without the content parameter4125 responds with validation error about missing content4126Gitlab::GitlabImport::Importer4127 #execute4128 persists issues4129MigrateUpdateHeadPipelineForMergeRequestSidekiqQueue4130 when there are jobs in the queues4131Passing '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/gtsiolis/gitlab-ce/spec/support/sidekiq.rb:33:in `block (3 levels) in <top (required)>')4132 correctly migrates queue when migrating up4133Passing '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/gtsiolis/gitlab-ce/spec/support/sidekiq.rb:33:in `block (3 levels) in <top (required)>')4134 does not affect other queues under the same namespace4135Passing '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/gtsiolis/gitlab-ce/spec/support/sidekiq.rb:33:in `block (3 levels) in <top (required)>')4136 correctly migrates queue when migrating down4137 when there are no jobs in the queues4138Passing '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/gtsiolis/gitlab-ce/spec/support/sidekiq.rb:33:in `block (3 levels) in <top (required)>')4139 does not raise error when migrating up4140Passing '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/gtsiolis/gitlab-ce/spec/support/sidekiq.rb:33:in `block (3 levels) in <top (required)>')4141 does not raise error when migrating down4142Gitlab::LegacyGithubImport::UserFormatter4143 #gitlab_id4144 returns nil when GitHub user is not a GitLab user4145 when GitHub user is a GitLab user4146 return GitLab user id when user associated their account with GitHub4147 returns GitLab user id when user primary email matches GitHub email4148 returns GitLab user id when any of user linked emails matches GitHub email4149Gitlab::Auth::LDAP::DN4150 #normalize_value4151 behaves like normalizes a DN attribute value4152 test_description: "strips extraneous whitespace", given: " John Smith ", expected: "john smith"4153 normalizes the DN attribute value4154 test_description: "unescapes non-reserved, non-special Unicode characters", given: "Sebasti\\c3\\a1n\\ C.\\20Smith", expected: "sebastián c. smith"4155 normalizes the DN attribute value4156 test_description: "downcases the whole string", given: "JoHn C. Smith", expected: "john c. smith"4157 normalizes the DN attribute value4158 test_description: "does not strip an escaped leading space in an attribute value", given: "\\ John Smith", expected: "\\ john smith"4159 normalizes the DN attribute value4160 test_description: "does not strip an escaped trailing space in an attribute value", given: "John Smith\\ ", expected: "john smith\\ "4161 normalizes the DN attribute value4162 test_description: "hex-escapes an escaped leading newline in an attribute value", given: "\\\nJohn Smith", expected: "\\0ajohn smith"4163 normalizes the DN attribute value4164 test_description: "hex-escapes and does not strip an escaped trailing newline in an attribute value", given: "John Smith\\\n", expected: "john smith\\0a"4165 normalizes the DN attribute value4166 test_description: "hex-escapes an unescaped leading newline (actually an invalid DN value?)", given: "\nJohn Smith", expected: "\\0ajohn smith"4167 normalizes the DN attribute value4168 test_description: "strips an unescaped trailing newline (actually an invalid DN value?)", given: "John Smith\n", expected: "john smith"4169 normalizes the DN attribute value4170 test_description: "does not strip if no extraneous whitespace", given: "John Smith", expected: "john smith"4171 normalizes the DN attribute value4172 test_description: "does not modify an escaped equal sign in an attribute value", given: " foo \\= bar", expected: "foo \\= bar"4173 normalizes the DN attribute value4174 test_description: "converts an escaped hex equal sign to an escaped equal sign in an attribute value", given: " foo \\3D bar", expected: "foo \\= bar"4175 normalizes the DN attribute value4176 test_description: "does not modify an escaped comma in an attribute value", given: "San Francisco\\, CA", expected: "san francisco\\, ca"4177 normalizes the DN attribute value4178 test_description: "converts an escaped hex comma to an escaped comma in an attribute value", given: "San Francisco\\2C CA", expected: "san francisco\\, ca"4179 normalizes the DN attribute value4180 test_description: "does not modify an escaped hex carriage return character in an attribute value", given: "San Francisco\\,\\0DCA", expected: "san francisco\\,\\0dca"4181 normalizes the DN attribute value4182 test_description: "does not modify an escaped hex line feed character in an attribute value", given: "San Francisco\\,\\0ACA", expected: "san francisco\\,\\0aca"4183 normalizes the DN attribute value4184 test_description: "does not modify an escaped hex CRLF in an attribute value", given: "San Francisco\\,\\0D\\0ACA", expected: "san francisco\\,\\0d\\0aca"4185 normalizes the DN attribute value4186 when the given DN is malformed4187 when ending with a comma4188 raises MalformedError4189 when given a BER encoded attribute value with a space in it4190 raises MalformedError4191 when given a BER encoded attribute value with a non-hex character in it4192 raises MalformedError4193 when given a BER encoded attribute value with a non-hex character in it4194 raises MalformedError4195 when given a hex pair with a non-hex character in it, inside double quotes4196 raises MalformedError4197 with an open (as opposed to closed) double quote4198 raises MalformedError4199 with an invalid escaped hex code4200 raises MalformedError4201 with a value ending with the escape character4202 raises MalformedError4203 #to_normalized_s4204 behaves like normalizes a DN4205 test_description: "strips extraneous whitespace", given: "uid =John Smith , ou = People, dc= example,dc =com", expected: "uid=john smith,ou=people,dc=example,dc=com"4206 normalizes the DN4207 test_description: "strips extraneous whitespace for a DN with a single RDN", given: "uid = John Smith", expected: "uid=john smith"4208 normalizes the DN4209 test_description: "unescapes non-reserved, non-special Unicode characters", given: "uid = Sebasti\\c3\\a1n\\ C.\\20Smith, ou=People (aka. \\22humans\\\") ,dc=example, dc=com", expected: "uid=sebastián c. smith,ou=people (aka. \\\"humans\\\"),dc=example,dc=com"4210 normalizes the DN4211 test_description: "downcases the whole string", given: "UID=John Smith,ou=People,dc=example,dc=com", expected: "uid=john smith,ou=people,dc=example,dc=com"4212 normalizes the DN4213 test_description: "for a null DN (empty string), returns empty string and does not error", given: "", expected: ""4214 normalizes the DN4215 test_description: "does not strip an escaped leading space in an attribute value", given: "uid=\\ John Smith,ou=People,dc=example,dc=com", expected: "uid=\\ john smith,ou=people,dc=example,dc=com"4216 normalizes the DN4217 test_description: "does not strip an escaped leading space in the last attribute value", given: "uid=\\ John Smith", expected: "uid=\\ john smith"4218 normalizes the DN4219 test_description: "does not strip an escaped trailing space in an attribute value", given: "uid=John Smith\\ ,ou=People,dc=example,dc=com", expected: "uid=john smith\\ ,ou=people,dc=example,dc=com"4220 normalizes the DN4221 test_description: "strips extraneous spaces after an escaped trailing space", given: "uid=John Smith\\ ,ou=People,dc=example,dc=com", expected: "uid=john smith\\ ,ou=people,dc=example,dc=com"4222 normalizes the DN4223 test_description: "strips extraneous spaces after an escaped trailing space at the end of the DN", given: "uid=John Smith,ou=People,dc=example,dc=com\\ ", expected: "uid=john smith,ou=people,dc=example,dc=com\\ "4224 normalizes the DN4225 test_description: "properly preserves escaped trailing space after unescaped trailing spaces", given: "uid=John Smith \\ ,ou=People,dc=example,dc=com", expected: "uid=john smith \\ ,ou=people,dc=example,dc=com"4226 normalizes the DN4227 test_description: "preserves multiple inner spaces in an attribute value", given: "uid=John Smith,ou=People,dc=example,dc=com", expected: "uid=john smith,ou=people,dc=example,dc=com"4228 normalizes the DN4229 test_description: "preserves inner spaces after an escaped space", given: "uid=John\\ Smith,ou=People,dc=example,dc=com", expected: "uid=john smith,ou=people,dc=example,dc=com"4230 normalizes the DN4231 test_description: "hex-escapes an escaped leading newline in an attribute value", given: "uid=\\\nJohn Smith,ou=People,dc=example,dc=com", expected: "uid=\\0ajohn smith,ou=people,dc=example,dc=com"4232 normalizes the DN4233 test_description: "hex-escapes and does not strip an escaped trailing newline in an attribute value", given: "uid=John Smith\\\n,ou=People,dc=example,dc=com", expected: "uid=john smith\\0a,ou=people,dc=example,dc=com"4234 normalizes the DN4235 test_description: "hex-escapes an unescaped leading newline (actually an invalid DN?)", given: "uid=\nJohn Smith,ou=People,dc=example,dc=com", expected: "uid=\\0ajohn smith,ou=people,dc=example,dc=com"4236 normalizes the DN4237 test_description: "strips an unescaped trailing newline (actually an invalid DN?)", given: "uid=John Smith\n,ou=People,dc=example,dc=com", expected: "uid=john smith,ou=people,dc=example,dc=com"4238 normalizes the DN4239 test_description: "does not strip if no extraneous whitespace", given: "uid=John Smith,ou=People,dc=example,dc=com", expected: "uid=john smith,ou=people,dc=example,dc=com"4240 normalizes the DN4241 test_description: "does not modify an escaped equal sign in an attribute value", given: "uid= foo \\= bar", expected: "uid=foo \\= bar"4242 normalizes the DN4243 test_description: "converts an escaped hex equal sign to an escaped equal sign in an attribute value", given: "uid= foo \\3D bar", expected: "uid=foo \\= bar"4244 normalizes the DN4245 test_description: "does not modify an escaped comma in an attribute value", given: "uid= John C. Smith, ou=San Francisco\\, CA", expected: "uid=john c. smith,ou=san francisco\\, ca"4246 normalizes the DN4247 test_description: "converts an escaped hex comma to an escaped comma in an attribute value", given: "uid= John C. Smith, ou=San Francisco\\2C CA", expected: "uid=john c. smith,ou=san francisco\\, ca"4248 normalizes the DN4249 test_description: "does not modify an escaped hex carriage return character in an attribute value", given: "uid= John C. Smith, ou=San Francisco\\,\\0DCA", expected: "uid=john c. smith,ou=san francisco\\,\\0dca"4250 normalizes the DN4251 test_description: "does not modify an escaped hex line feed character in an attribute value", given: "uid= John C. Smith, ou=San Francisco\\,\\0ACA", expected: "uid=john c. smith,ou=san francisco\\,\\0aca"4252 normalizes the DN4253 test_description: "does not modify an escaped hex CRLF in an attribute value", given: "uid= John C. Smith, ou=San Francisco\\,\\0D\\0ACA", expected: "uid=john c. smith,ou=san francisco\\,\\0d\\0aca"4254 normalizes the DN4255 test_description: "allows attribute type name OIDs", given: "0.9.2342.19200300.100.1.25=Example,0.9.2342.19200300.100.1.25=Com", expected: "0.9.2342.19200300.100.1.25=example,0.9.2342.19200300.100.1.25=com"4256 normalizes the DN4257 test_description: "strips extraneous whitespace from attribute type name OIDs", given: "0.9.2342.19200300.100.1.25 = Example, 0.9.2342.19200300.100.1.25 = Com", expected: "0.9.2342.19200300.100.1.25=example,0.9.2342.19200300.100.1.25=com"4258 normalizes the DN4259 when we do not support the given DN format4260 multivalued RDNs4261 without extraneous whitespace4262 raises UnsupportedError4263 with extraneous whitespace4264 around the phone number plus sign4265 raises UnsupportedError4266 not around the phone number plus sign4267 raises UnsupportedError4268 when the given DN is malformed4269 when ending with a comma4270 raises MalformedError4271 when given a BER encoded attribute value with a space in it4272 raises MalformedError4273 when given a BER encoded attribute value with a non-hex character in it4274 raises MalformedError4275 when given a BER encoded attribute value with a non-hex character in it4276 raises MalformedError4277 when given a hex pair with a non-hex character in it, inside double quotes4278 raises MalformedError4279 without a name value pair4280 raises MalformedError4281 with an open (as opposed to closed) double quote4282 raises MalformedError4283 with an invalid escaped hex code4284 raises MalformedError4285 with a value ending with the escape character4286 raises MalformedError4287 with an invalid OID attribute type name4288 raises MalformedError4289 with a period in a non-OID attribute type name4290 raises MalformedError4291 when starting with non-space, non-alphanumeric character4292 raises MalformedError4293 when given a UID with an escaped equal sign4294 raises MalformedError4295RepositoryCheckMailer4296 .notify4297 emails all admins4298 mentions the number of failed checks4299Gitlab::GithubImport::Representation::PullRequest4300 .from_api_response4301 does not set the user if the response did not include a user4302 behaves like a PullRequest4303 returns an instance of PullRequest4304 the returned PullRequest4305 includes the pull request number4306 includes the pull request title4307 includes the pull request description4308 includes the source branch name4309 includes the source branch SHA4310 includes the target branch name4311 includes the target branch SHA4312 includes the milestone number4313 includes the user details4314 includes the assignee details4315 includes the created timestamp4316 includes the updated timestamp4317 includes the merged timestamp4318 includes the source repository ID4319 includes the target repository ID4320 includes the source repository owner name4321 includes the pull request state4322 .from_json_hash4323 does not convert the author if it was not specified4324 behaves like a PullRequest4325 returns an instance of PullRequest4326 the returned PullRequest4327 includes the pull request number4328 includes the pull request title4329 includes the pull request description4330 includes the source branch name4331 includes the source branch SHA4332 includes the target branch name4333 includes the target branch SHA4334 includes the milestone number4335 includes the user details4336 includes the assignee details4337 includes the created timestamp4338 includes the updated timestamp4339 includes the merged timestamp4340 includes the source repository ID4341 includes the target repository ID4342 includes the source repository owner name4343 includes the pull request state4344 #state4345 returns :opened for an open pull request4346 returns :closed for a closed pull request4347 returns :merged for a merged pull request4348 #cross_project?4349 returns false for a pull request submitted from the target project4350 returns true for a pull request submitted from a different project4351 returns true if no source repository is present4352 #formatted_source_branch4353 for a cross-project pull request4354 includes the owner name in the branch name4355 for a regular pull request4356 returns the source branch name4357 for a pull request with the same source and target branches4358 returns a generated source branch name4359 #truncated_title4360 truncates the title to 255 characters4361 does not truncate the title if it is shorter than 255 characters4362Gitlab::Middleware::ReadOnly4363 normal requests to a read-only GitLab instance4364 expects PATCH requests to be disallowed4365 expects PUT requests to be disallowed4366 expects POST requests to be disallowed4367 expects a internal POST request to be allowed after a disallowed request4368 expects DELETE requests to be disallowed4369 expects POST of new file that looks like an LFS batch url to be disallowed4370 returns last_vistited_url for disallowed request4371 whitelisted requests4372 expects a POST internal request to be allowed4373 expects requests to sidekiq admin to be allowed4374 description: "LFS request to batch", path: "/root/rouge.git/info/lfs/objects/batch"4375 expects a POST description: "LFS request to batch", path: "/root/rouge.git/info/lfs/objects/batch" URL to be allowed4376 description: "LFS request to locks verify", path: "/root/rouge.git/info/lfs/locks/verify"4377 expects a POST description: "LFS request to locks verify", path: "/root/rouge.git/info/lfs/locks/verify" URL to be allowed4378 description: "LFS request to locks create", path: "/root/rouge.git/info/lfs/locks"4379 expects a POST description: "LFS request to locks create", path: "/root/rouge.git/info/lfs/locks" URL to be allowed4380 description: "LFS request to locks unlock", path: "/root/rouge.git/info/lfs/locks/1/unlock"4381 expects a POST description: "LFS request to locks unlock", path: "/root/rouge.git/info/lfs/locks/1/unlock" URL to be allowed4382 description: "request to git-upload-pack", path: "/root/rouge.git/git-upload-pack"4383 expects a POST description: "request to git-upload-pack", path: "/root/rouge.git/git-upload-pack" URL to be allowed4384 description: "request to git-receive-pack", path: "/root/rouge.git/git-receive-pack"4385 expects a POST description: "request to git-receive-pack", path: "/root/rouge.git/git-receive-pack" URL to be allowed4386 json requests to a read-only GitLab instance4387 expects PATCH requests to be disallowed4388 expects PUT requests to be disallowed4389 expects POST requests to be disallowed4390 expects DELETE requests to be disallowed4391Gitlab::GitalyClient::StorageService4392 #delete_all_repositories4393 removes all repositories4394Gitlab::Ci::CronParser4395 #next_time_from4396 when cron and cron_timezone are valid4397 when specific time4398 returns exact time4399 behaves like returns time in the future4400 should be > 2018-10-12 08:03:25 +00004401 when specific day of week4402 returns exact day of week4403 behaves like returns time in the future4404 should be > 2018-10-12 08:03:25 +00004405 when slash used4406 returns specific time4407 behaves like returns time in the future4408 should be > 2018-10-12 08:03:25 +00004409 when range used4410 returns specific time4411 behaves like returns time in the future4412 should be > 2018-10-12 08:03:25 +00004413 when cron_timezone is TZInfo format4414 when cron_timezone is US/Pacific4415 behaves like returns time in the future4416 should be > 2018-10-12 08:03:25 +00004417 when PST (Pacific Standard Time)4418 converts time in server time zone4419 when PDT (Pacific Daylight Time)4420 converts time in server time zone4421 when cron_timezone is ActiveSupport::TimeZone format4422 when cron_timezone is Berlin4423 behaves like returns time in the future4424 should be > 2018-10-12 08:03:25 +00004425 when CET (Central European Time)4426 converts time in server time zone4427 when CEST (Central European Summer Time)4428 converts time in server time zone4429 when cron_timezone is Eastern Time (US & Canada)4430 behaves like returns time in the future4431 should be > 2018-10-12 08:03:25 +00004432 when EST (Eastern Standard Time)4433 converts time in server time zone4434 when EDT (Eastern Daylight Time)4435 converts time in server time zone4436 when cron and cron_timezone are invalid4437 should be nil4438 when cron syntax is quoted4439 should be nil4440 when cron syntax is rufus-scheduler syntax4441 should be nil4442 #cron_valid?4443 when cron is valid4444 should eq true4445 when cron is invalid4446 should eq false4447 when cron syntax is quoted4448 should eq false4449 #cron_timezone_valid?4450 when cron is valid4451 should eq true4452 when cron is invalid4453 should eq false4454 when cron_timezone is ActiveSupport::TimeZone format4455 should eq true4456Projects::ContainerRepository::DestroyService4457 when user does not have access to registry4458 does not delete a repository4459 when user has access to registry4460 when root container repository exists4461 deletes the repository4462Banzai::Filter::AutolinkFilter4463 does nothing when :autolink is false4464 does nothing with non-link text4465 Various schemes4466 autolinks http4467 autolinks https4468 autolinks ftp4469 autolinks short URLs4470 autolinks multiple URLs4471 accepts link_attr options4472 autolinks smb4473 autolinks multiple occurences of smb4474 autolinks irc4475 autolinks rdar4476 does not autolink javascript4477 does not autolink bad URLs4478 does not include trailing punctuation4479 includes trailing punctuation when part of a balanced pair4480 removes trailing quotes4481 removes one closing punctuation mark when the punctuation in the link is unbalanced4482 does not double-encode HTML entities4483 does not include trailing HTML entities4484 accepts link_attr options4485 ignores valid links contained inside 'a' element4486 ignores valid links contained inside 'code' element4487 ignores valid links contained inside 'kbd' element4488 ignores valid links contained inside 'pre' element4489 ignores valid links contained inside 'script' element4490 ignores valid links contained inside 'style' element4491 when the link is inside a tag4492 renders text after the link correctly for http4493 renders text after the link correctly for rdar4494EventFilter4495 FILTERS4496 returns a definite list of filters4497 #filter4498 returns "all" if given filter is nil4499 returns "all" if given filter is ""4500 returns "all" if given filter is "foo"4501 #apply_filter4502 with the "push" filter4503 filters push events only4504 with the "merged" filter4505 filters merged events only4506 with the "issue" filter4507 filters issue events only4508 with the "comments" filter4509 filters comment events only4510 with the "team" filter4511 filters team events only4512 with the "all" filter4513 returns all events4514 with an unknown filter4515 returns all events4516 with a nil filter4517 returns all events4518 #active?4519 returns false if filter does not include the given key4520 returns false if the given key is nil4521 returns true if filter does not include the given key4522PasswordsController4523 #check_password_authentication_available4524 when password authentication is disabled for the web interface and Git4525 prevents a password reset4526 when reset email belongs to an ldap user4527 prevents a password reset4528Gitlab::GithubImport::Representation::Issue4529 .from_api_response4530 does not set the user if the response did not include a user4531 behaves like an Issue4532 returns an instance of Issue4533 the returned Issue4534 includes the issue number4535 includes the issue title4536 includes the issue description4537 includes the milestone number4538 includes the issue state4539 includes the issue assignees4540 includes the label names4541 includes the author details4542 includes the created timestamp4543 includes the updated timestamp4544 is not a pull request4545 .from_json_hash4546 does not convert the author if it was not specified4547 behaves like an Issue4548 returns an instance of Issue4549 the returned Issue4550 includes the issue number4551 includes the issue title4552 includes the issue description4553 includes the milestone number4554 includes the issue state4555 includes the issue assignees4556 includes the label names4557 includes the author details4558 includes the created timestamp4559 includes the updated timestamp4560 is not a pull request4561 #labels?4562 returns true when the issue has labels assigned4563 returns false when the issue has no labels assigned4564 #pull_request?4565 returns false for an issue4566 returns true for a pull request4567 #truncated_title4568 truncates the title to 255 characters4569 does not truncate the title if it is shorter than 255 characters4570Gitlab::VersionInfo4571 >4572 should be > 1.1.04573 should be > 1.0.14574 should be > 1.0.04575 should be > 0.1.04576 should be > 0.0.14577 >=4578 should be >= 2.0.04579 should be >= 1.1.04580 <4581 should be < 0.1.04582 should be < 1.0.04583 should be < 1.0.14584 should be < 1.1.04585 should be < 2.0.04586 <=4587 should be <= 0.0.14588 should be <= 0.1.04589 ==4590 should eq #<Gitlab::VersionInfo:0x000055bc39cfb278 @major=0, @minor=0, @patch=1>4591 should eq #<Gitlab::VersionInfo:0x000055bc395e2e00 @major=0, @minor=1, @patch=0>4592 should eq #<Gitlab::VersionInfo:0x000055bc38cbc038 @major=1, @minor=0, @patch=0>4593 !=4594 should not eq #<Gitlab::VersionInfo:0x000055bc38655618 @major=0, @minor=1, @patch=0>4595 unknown4596 should not equal #<Gitlab::VersionInfo:0x000055bc55123100 @major=0, @minor=0, @patch=1>4597 should not equal #<Gitlab::VersionInfo:0x000055bc55104048 @major=0, @minor=0, @patch=0>4598 should raise ArgumentError4599 should raise ArgumentError4600 parse4601 should eq #<Gitlab::VersionInfo:0x000055bc550968b8 @major=1, @minor=0, @patch=0>4602 should eq #<Gitlab::VersionInfo:0x000055bc550485c8 @major=1, @minor=0, @patch=0>4603 should eq #<Gitlab::VersionInfo:0x000055bc5501fe48 @major=1, @minor=0, @patch=0>4604 should eq #<Gitlab::VersionInfo:0x000055bc54ff8a00 @major=1, @minor=0, @patch=0>4605 should eq #<Gitlab::VersionInfo:0x000055bc54fbbd30 @major=1, @minor=0, @patch=0>4606 should eq #<Gitlab::VersionInfo:0x000055bc54fa0800 @major=1, @minor=0, @patch=0>4607 should not be valid4608 to_s4609 should eq "1.0.0"4610 should eq "Unknown"4611ConversationalDevelopmentIndex::MetricPresenter4612 #cards4613 includes instance score, leader score and percentage score4614 #idea_to_production_steps4615 returns percentage score when it depends on a single feature4616 returns percentage score when it depends on two features4617 #average_percentage_score4618 calculates an average value across all the features4619PaginationHelper4620 #paginate_collection4621 paginates a collection without using a COUNT4622 paginates a collection using a COUNT4623Gitlab::Template::Finders::RepoTemplateFinder4624 #read4625 returns the content of the given path4626 raises an error if the path does not exist4627 #find4628 returns the full path of the found template4629 #list_files_for4630 returns the full path of the found files4631Gitlab::UntrustedRegexp4632 .valid?4633 returns true if regexp is valid4634 returns true if regexp is invalid4635 .fabricate4636 when regexp is using /regexp/ scheme with flags4637 fabricates regexp with a single flag4638 fabricates regexp with multiple flags4639 fabricates regexp without flags4640 when regexp is a raw pattern4641 raises an error4642 #initialize4643 invalid regexp4644 should raise RegexpError4645 #replace_all4646 replaces all instances of the match in a string4647 #replace4648 replaces the first instance of the match in a string4649 #===4650 returns true for a match4651 returns false for no match4652 can handle regular expressions in multiline mode4653 #scan4654 malicious regexp4655 takes under a second4656 empty regexp4657 returns an array of nil matches4658 empty capture group regexp4659 returns an array of nil matches in an array4660 no capture group4661 returns the whole match4662 one capture group4663 returns the captured part4664 two capture groups4665 returns the captured parts4666Gitlab::HealthChecks::DbCheck4667 #metrics4668 Check is passing4669 should include (have attributes {:name => "db_ping_success", :value => 1})4670 should include (have attributes {:name => "db_ping_timeout", :value => 0})4671 should include (have attributes {:name => "db_ping_latency_seconds", :value => (be >= 0)})4672 Check is misbehaving4673 should include (have attributes {:name => "db_ping_success", :value => 0})4674 should include (have attributes {:name => "db_ping_timeout", :value => 0})4675 should include (have attributes {:name => "db_ping_latency_seconds", :value => (be >= 0)})4676 Check is timeouting4677 should include (have attributes {:name => "db_ping_success", :value => 0})4678 should include (have attributes {:name => "db_ping_timeout", :value => 1})4679 should include (have attributes {:name => "db_ping_latency_seconds", :value => (be >= 0)})4680 #readiness4681 Check returns ok4682 should have attributes {:success => true}4683 Check is misbehaving4684 should have attributes {:success => false, :message => "unexpected Db check result: error!"}4685 Check is timeouting4686 should have attributes {:success => false, :message => "Db check timed out"}4687 #liveness4688 should eq #<struct Gitlab::HealthChecks::Result success=true, message=nil, labels=nil>4689Gitlab::Git::Conflict::Parser4690 .parse4691 when the file has valid conflicts4692 sets our lines as new lines4693 sets their lines as old lines4694 sets non-conflicted lines as both4695 sets consecutive line numbers for line_obj_index, line_old, and line_new4696 when the file contents include conflict delimiters4697 raises MissingEndDelimiter when there is no end delimiter at the end4698 when there is a non-start delimiter first4699 raises UnexpectedDelimiter when there is a middle delimiter first4700 raises UnexpectedDelimiter when there is an end delimiter first4701 does not raise when there is an end delimiter for a different path first4702 when a start delimiter is followed by a non-middle delimiter4703 raises UnexpectedDelimiter when it is followed by an end delimiter4704 raises UnexpectedDelimiter when it is followed by another start delimiter4705 does not raise when it is followed by a start delimiter for a different path4706 when a middle delimiter is followed by a non-end delimiter4707 raises UnexpectedDelimiter when it is followed by another middle delimiter4708 raises UnexpectedDelimiter when it is followed by a start delimiter4709 does not raise when it is followed by a start delimiter for another path4710 other file types4711 raises UnmergeableFile when lines is blank, indicating a binary file4712 raises UnmergeableFile when the file is over 200 KB4713 when the file contains UTF-8 characters4714 does not raise4715Bitbucket::Representation::PullRequest4716 #iid4717 should eq 14718 #author4719 should eq "Ben"4720 should be nil4721 #description4722 should eq "Text"4723 should be nil4724 #state4725 should eq "merged"4726 should eq "closed"4727 should eq "opened"4728 #title4729 should eq "Issue"4730 #source_branch_name4731 should eq "feature"4732 should be nil4733 #source_branch_sha4734 should eq "abcd123"4735 should be nil4736 #target_branch_name4737 should eq "master"4738 should be nil4739 #target_branch_sha4740 should eq "abcd123"4741 should be nil4742Gitlab::Metrics::Samplers::RubySampler4743 #sample4744 samples various statistics4745 adds a metric containing the memory usage4746 adds a metric containing the amount of open file descriptors4747 clears any GC profiles4748 #sample_gc4749 adds a metric containing garbage collection time statistics4750 adds a metric containing garbage collection statistics4751Gitlab::Utils::StrongMemoize4752 #strong_memoize4753 with value4754 behaves like caching the value4755 only calls the block once4756 returns and defines the instance variable for the exact value4757 with value false4758 behaves like caching the value4759 only calls the block once4760 returns and defines the instance variable for the exact value4761 with value true4762 behaves like caching the value4763 only calls the block once4764 returns and defines the instance variable for the exact value4765 with value value4766 behaves like caching the value4767 only calls the block once4768 returns and defines the instance variable for the exact value4769 with value 04770 behaves like caching the value4771 only calls the block once4772 returns and defines the instance variable for the exact value4773 with value [0]4774 behaves like caching the value4775 only calls the block once4776 returns and defines the instance variable for the exact value4777 #clear_memoization4778 removes the instance variable4779Gitlab::QuickActions::SpendTimeAndDateSeparator4780 #execute4781 invalid paramenter in arg line4782 empty arg line4783 behaves like arg line with invalid parameters4784 return nil4785 future date in arg line4786 behaves like arg line with invalid parameters4787 return nil4788 unparseable date(invalid mixes of delimiters)4789 behaves like arg line with invalid parameters4790 return nil4791 trash in arg line4792 return nil as time value4793 only time present in arg line4794 behaves like arg line with valid parameters4795 return time and date array4796 simple time with date in arg line4797 behaves like arg line with valid parameters4798 return time and date array4799 composite time with date in arg line4800 behaves like arg line with valid parameters4801 return time and date array4802RuboCop::Cop::ProjectPathHelper4803 when using namespace_project with the project's namespace4804 registers an offense4805 autocorrects to the right version4806 when using namespace_project with a different namespace4807 registers no offense4808Gitlab::CycleAnalytics::StagingStage4809 behaves like base stage4810 has the median data value4811 has the median data stage4812 has the median data description4813 has the title4814 has the events4815Gitlab::Metrics::RequestsRackMiddleware4816 #call4817 @app.call succeeds with 2004818 increments requests count4819 measures execution time4820 @app.call throws exception4821 increments exceptions count4822 increments requests count4823 does't measure request execution time4824Gitlab::Email::Hook::DeliveryMetricsObserver4825 when email has been delivered4826 increments both email delivery metrics4827 when email has not been delivered due to an error4828 increments only delivery attempt metric4829ChatMessage::MergeMessage4830 when state is overridden4831 respects the overridden state4832 without markdown4833 open4834 returns a message regarding opening of merge requests4835 close4836 returns a message regarding closing of merge requests4837 with markdown4838 open4839 returns a message regarding opening of merge requests4840 close4841 returns a message regarding closing of merge requests4842ChatMessage::NoteMessage4843 commit notes4844 without markdown4845 returns a message regarding notes on commits4846 with markdown4847 returns a message regarding notes on commits4848 merge request notes4849 without markdown4850 returns a message regarding notes on a merge request4851 with markdown4852 returns a message regarding notes on a merge request4853 issue notes4854 without markdown4855 returns a message regarding notes on an issue4856 with markdown4857 returns a message regarding notes on an issue4858 project snippet notes4859 without markdown4860 returns a message regarding notes on a project snippet4861 with markdown4862 returns a message regarding notes on a project snippet4863Gitlab::Sherlock::FileSample4864 #id4865 returns the ID4866 #file4867 returns the file path4868 #line_samples4869 returns the line samples4870 #events4871 returns the total number of events4872 #duration4873 returns the total execution time4874 #relative_path4875 returns the relative path4876 #to_param4877 returns the sample ID4878 #source4879 returns the contents of the file4880Gitlab::Ci::Config::Entry::Script4881 validations4882 when entry config value is correct4883 #value4884 returns array of strings4885 #errors4886 does not append errors4887 #valid?4888 is valid4889 when entry value is not correct4890 #errors4891 saves errors4892 #valid?4893 is not valid4894TestSuiteComparerEntity4895 #as_json4896 when head sutie has a newly failed test case which does not exist in base4897 contains correct compared test suite details4898 when head sutie still has a failed test case which failed in base4899 contains correct compared test suite details4900 when head sutie has a success test case which failed in base4901 contains correct compared test suite details4902Gitlab::Ci::Config::Entry::Attributable4903 when config is a hash4904 returns the value of config4905 returns no method error for unknown attributes4906 when config is not a hash4907 returns nil4908 when method is already defined in a superclass4909 raises an error4910Gitlab::Search::Query4911 should be < SimpleDelegator4912 leaves undefined filters in the main query4913 parses filters4914 with an empty filter4915 ignores empty filters4916 with a pipe4917 does not escape the pipe4918ClusterWaitForIngressIpAddressWorker4919 #perform4920 finds the application and calls CheckIngressIpAddressService#execute4921Gitlab::Lazy4922 when not calling any methods4923 does not call the supplied block4924 when calling a method on the object4925 lazy loads the value returned by the block4926 #respond_to?4927 returns true for a method defined on the wrapped object4928 returns false for a method not defined on the wrapped object4929PluginWorker4930 #perform4931 executes Gitlab::Plugin with expected values4932 logs message in case of plugin execution failure4933IgnorableColumn4934 .columns4935 returns the columns, excluding the ignored ones4936 .ignored_columns4937 returns a Set4938 returns the names of the ignored columns4939CleanUploadSymlinks4940 #up4941 removes the symlink4942 #down4943 creates a symlink4944GitlabUsagePingWorker4945 delegates to SubmitUsagePingService4946Gitlab::RequestContext4947 #client_ip4948 when RequestStore::Middleware is used4949 request4950 should eq "192.168.1.11"4951 before RequestContext middleware run4952 should be nil4953Gitlab::GitalyClient::BlobsStitcher4954 enumeration4955 combines segregated blob messages together4956Gitlab::GitalyClient::DiffStitcher4957 enumeration4958 combines segregated diff messages together4959Knapsack report was generated. Preview:4960{4961 "spec/features/merge_request/user_resolves_diff_notes_and_discussions_resolve_spec.rb": 161.54456639289856,4962 "spec/requests/api/runners_spec.rb": 94.68006658554077,4963 "spec/features/labels_hierarchy_spec.rb": 71.05216073989868,4964 "spec/migrations/schedule_create_gpg_key_subkeys_from_gpg_keys_spec.rb": 52.60456418991089,4965 "spec/controllers/projects/jobs_controller_spec.rb": 37.97687029838562,4966 "spec/models/clusters/applications/jupyter_spec.rb": 30.47158455848694,4967 "spec/features/reportable_note/merge_request_spec.rb": 21.569647312164307,4968 "spec/requests/api/triggers_spec.rb": 19.23705291748047,4969 "spec/controllers/projects_controller_spec.rb": 22.416896104812622,4970 "spec/services/members/destroy_service_spec.rb": 15.263960361480713,4971 "spec/features/merge_request/user_accepts_merge_request_spec.rb": 17.429364442825317,4972 "spec/services/merge_requests/merge_service_spec.rb": 15.525104999542236,4973 "spec/lib/banzai/filter/relative_link_filter_spec.rb": 11.974467992782593,4974 "spec/features/projects/settings/user_manages_merge_requests_settings_spec.rb": 12.949358940124512,4975 "spec/services/projects/transfer_service_spec.rb": 11.05431079864502,4976 "spec/features/issuables/default_sort_order_spec.rb": 9.5930016040802,4977 "spec/features/explore/groups_list_spec.rb": 11.144216060638428,4978 "spec/features/projects/settings/integration_settings_spec.rb": 9.522409439086914,4979 "spec/lib/gitlab/reference_extractor_spec.rb": 8.556455135345459,4980 "spec/migrations/rename_reserved_project_names_spec.rb": 16.367496252059937,4981 "spec/features/merge_request/user_comments_on_commit_spec.rb": 9.63849425315857,4982 "spec/lib/banzai/filter/user_reference_filter_spec.rb": 7.210600852966309,4983 "spec/models/concerns/relative_positioning_spec.rb": 5.39174485206604,4984 "spec/tasks/gitlab/uploads/migrate_rake_spec.rb": 8.66369080543518,4985 "spec/features/merge_request/user_resolves_outdated_diff_discussions_spec.rb": 5.906749486923218,4986 "spec/models/clusters/platforms/kubernetes_spec.rb": 4.420046806335449,4987 "spec/services/system_hooks_service_spec.rb": 4.65523099899292,4988 "spec/controllers/projects/environments_controller_spec.rb": 4.307007789611816,4989 "spec/lib/gitlab/background_migration/remove_restricted_todos_spec.rb": 4.580000162124634,4990 "spec/features/projects/artifacts/user_browses_artifacts_spec.rb": 5.0093653202056885,4991 "spec/features/groups/members/request_access_spec.rb": 4.934367895126343,4992 "spec/lib/gitlab/kubernetes/helm/certificate_spec.rb": 3.74700665473938,4993 "spec/features/projects/files/project_owner_sees_link_to_create_license_file_in_empty_project_spec.rb": 4.37032675743103,4994 "spec/features/projects/badges/list_spec.rb": 3.8788704872131348,4995 "spec/features/admin/admin_broadcast_messages_spec.rb": 2.490504026412964,4996 "spec/services/milestones/promote_service_spec.rb": 3.330655097961426,4997 "spec/controllers/admin/users_controller_spec.rb": 3.4058055877685547,4998 "spec/requests/api/notification_settings_spec.rb": 1.6011919975280762,4999 "spec/lib/banzai/filter/redactor_filter_spec.rb": 2.544862747192383,5000 "spec/uploaders/personal_file_uploader_spec.rb": 2.7148773670196533,5001 "spec/services/files/create_service_spec.rb": 2.261153221130371,5002 "spec/lib/gitlab/gitaly_client/commit_service_spec.rb": 3.543447256088257,5003 "spec/controllers/notification_settings_controller_spec.rb": 2.8630428314208984,5004 "spec/serializers/cluster_application_entity_spec.rb": 1.6125848293304443,5005 "spec/models/concerns/group_descendant_spec.rb": 2.073225259780884,5006 "spec/lib/gitlab/ci/pipeline/seed/stage_spec.rb": 1.930785894393921,5007 "spec/models/key_spec.rb": 2.1083528995513916,5008 "spec/services/commits/tag_service_spec.rb": 1.8340134620666504,5009 "spec/lib/gitlab/ci/build/step_spec.rb": 1.7616488933563232,5010 "spec/lib/gitlab/issuable_metadata_spec.rb": 1.7414348125457764,5011 "spec/lib/backup/repository_spec.rb": 1.791123390197754,5012 "spec/models/project_group_link_spec.rb": 1.4949123859405518,5013 "spec/models/ci/build_trace_chunks/database_spec.rb": 1.6037554740905762,5014 "spec/lib/gitlab/auth/saml/user_spec.rb": 1.5092432498931885,5015 "spec/controllers/groups/boards_controller_spec.rb": 1.4927031993865967,5016 "spec/lib/gitlab/ci/status/build/failed_allowed_spec.rb": 1.428758144378662,5017 "spec/lib/gitlab/legacy_github_import/branch_formatter_spec.rb": 1.597482442855835,5018 "spec/lib/banzai/reference_parser/milestone_parser_spec.rb": 1.323556900024414,5019 "spec/presenters/clusters/cluster_presenter_spec.rb": 1.0249664783477783,5020 "spec/controllers/projects/cycle_analytics_controller_spec.rb": 1.5198931694030762,5021 "spec/requests/api/project_snapshots_spec.rb": 0.9747622013092041,5022 "spec/helpers/issuables_helper_spec.rb": 1.1188080310821533,5023 "spec/policies/personal_snippet_policy_spec.rb": 1.191746711730957,5024 "spec/lib/gitlab/import_export/lfs_restorer_spec.rb": 1.0272982120513916,5025 "spec/features/admin/admin_manage_applications_spec.rb": 0.8890016078948975,5026 "spec/services/boards/issues/create_service_spec.rb": 1.1373324394226074,5027 "spec/lib/constraints/project_url_constrainer_spec.rb": 0.8144474029541016,5028 "spec/presenters/ci/variable_presenter_spec.rb": 1.1150333881378174,5029 "spec/features/projects/files/editing_a_file_spec.rb": 0.8920392990112305,5030 "spec/controllers/google_api/authorizations_controller_spec.rb": 1.2176625728607178,5031 "spec/lib/gitlab/group_hierarchy_spec.rb": 0.9723546504974365,5032 "spec/models/ci/build_metadata_spec.rb": 0.6615884304046631,5033 "spec/features/projects/hook_logs/user_reads_log_spec.rb": 0.49001646041870117,5034 "spec/lib/gitlab/git/diff_spec.rb": 0.47980690002441406,5035 "spec/lib/gitlab/prometheus/metric_group_spec.rb": 0.6777160167694092,5036 "spec/rubocop/cop/migration/update_large_table_spec.rb": 0.5863251686096191,5037 "spec/migrations/create_missing_namespace_for_internal_users_spec.rb": 0.6197667121887207,5038 "spec/models/user_agent_detail_spec.rb": 0.8964903354644775,5039 "spec/views/projects/imports/new.html.haml_spec.rb": 0.35181617736816406,5040 "spec/workers/repository_remove_remote_worker_spec.rb": 0.5765302181243896,5041 "spec/migrations/fill_file_store_spec.rb": 0.6793937683105469,5042 "spec/lib/gitlab/github_import/parallel_importer_spec.rb": 0.7581346035003662,5043 "spec/features/snippets/user_deletes_snippet_spec.rb": 0.6424849033355713,5044 "spec/workers/cluster_provision_worker_spec.rb": 0.13838458061218262,5045 "spec/migrations/remove_empty_fork_networks_spec.rb": 0.4479801654815674,5046 "spec/serializers/cluster_entity_spec.rb": 0.4314424991607666,5047 "spec/models/project_services/packagist_service_spec.rb": 0.5083122253417969,5048 "spec/services/reset_project_cache_service_spec.rb": 0.46402764320373535,5049 "spec/tasks/cache/clear/redis_spec.rb": 0.20346903800964355,5050 "spec/services/chat_names/authorize_user_service_spec.rb": 0.6213815212249756,5051 "spec/services/clusters/gcp/verify_provision_status_service_spec.rb": 0.30843639373779297,5052 "spec/lib/gitlab/import_export/wiki_repo_saver_spec.rb": 0.4042656421661377,5053 "spec/lib/object_storage/direct_upload_spec.rb": 0.28046298027038574,5054 "spec/requests/api/lint_spec.rb": 0.1709296703338623,5055 "spec/lib/gitlab/gitlab_import/importer_spec.rb": 0.24871206283569336,5056 "spec/migrations/migrate_update_head_pipeline_for_merge_request_sidekiq_queue_spec.rb": 0.1813666820526123,5057 "spec/lib/gitlab/legacy_github_import/user_formatter_spec.rb": 0.18004369735717773,5058 "spec/lib/gitlab/auth/ldap/dn_spec.rb": 0.10617327690124512,5059 "spec/mailers/repository_check_mailer_spec.rb": 0.1653881072998047,5060 "spec/lib/gitlab/github_import/representation/pull_request_spec.rb": 0.1403367519378662,5061 "spec/lib/gitlab/middleware/read_only_spec.rb": 0.19384050369262695,5062 "spec/lib/gitlab/gitaly_client/storage_service_spec.rb": 0.1887967586517334,5063 "spec/lib/gitlab/ci/cron_parser_spec.rb": 0.09064912796020508,5064 "spec/services/projects/container_repository/destroy_service_spec.rb": 0.10826587677001953,5065 "spec/lib/banzai/filter/autolink_filter_spec.rb": 0.07831954956054688,5066 "spec/lib/event_filter_spec.rb": 0.11653280258178711,5067 "spec/controllers/passwords_controller_spec.rb": 0.0873570442199707,5068 "spec/lib/gitlab/github_import/representation/issue_spec.rb": 0.06484603881835938,5069 "spec/lib/gitlab/version_info_spec.rb": 0.07862377166748047,5070 "spec/presenters/conversational_development_index/metric_presenter_spec.rb": 0.03856253623962402,5071 "spec/helpers/pagination_helper_spec.rb": 0.040186166763305664,5072 "spec/lib/gitlab/template/finders/repo_template_finders_spec.rb": 0.08182334899902344,5073 "spec/lib/gitlab/untrusted_regexp_spec.rb": 0.033730268478393555,5074 "spec/lib/gitlab/health_checks/db_check_spec.rb": 0.03481936454772949,5075 "spec/lib/gitlab/git/conflict/parser_spec.rb": 0.029160022735595703,5076 "spec/lib/bitbucket/representation/pull_request_spec.rb": 0.026436567306518555,5077 "spec/lib/gitlab/metrics/samplers/ruby_sampler_spec.rb": 0.025492429733276367,5078 "spec/lib/gitlab/utils/strong_memoize_spec.rb": 0.021967172622680664,5079 "spec/lib/gitlab/quick_actions/spend_time_and_date_separator_spec.rb": 0.028168439865112305,5080 "spec/rubocop/cop/project_path_helper_spec.rb": 0.02783060073852539,5081 "spec/lib/gitlab/cycle_analytics/staging_stage_spec.rb": 0.021160602569580078,5082 "spec/lib/gitlab/metrics/requests_rack_middleware_spec.rb": 0.02074885368347168,5083 "spec/lib/gitlab/email/hook/delivery_metrics_observer_spec.rb": 0.020931243896484375,5084 "spec/models/project_services/chat_message/merge_message_spec.rb": 0.00984334945678711,5085 "spec/models/project_services/chat_message/note_message_spec.rb": 0.013965368270874023,5086 "spec/lib/gitlab/sherlock/file_sample_spec.rb": 0.024587631225585938,5087 "spec/lib/gitlab/ci/config/entry/script_spec.rb": 0.009896993637084961,5088 "spec/serializers/test_suite_comparer_entity_spec.rb": 0.015871763229370117,5089 "spec/lib/gitlab/ci/config/entry/attributable_spec.rb": 0.00832676887512207,5090 "spec/lib/gitlab/search/query_spec.rb": 0.011396408081054688,5091 "spec/workers/cluster_wait_for_ingress_ip_address_worker_spec.rb": 0.009342432022094727,5092 "spec/lib/gitlab/lazy_spec.rb": 0.007746219635009766,5093 "spec/workers/plugin_worker_spec.rb": 0.00603795051574707,5094 "spec/models/concerns/ignorable_column_spec.rb": 0.0068819522857666016,5095 "spec/migrations/clean_upload_symlinks_spec.rb": 0.007134437561035156,5096 "spec/workers/gitlab_usage_ping_worker_spec.rb": 0.008107662200927734,5097 "spec/lib/gitlab/request_context_spec.rb": 0.004852294921875,5098 "spec/lib/gitlab/gitaly_client/blobs_stitcher_spec.rb": 0.002656221389770508,5099 "spec/lib/gitlab/gitaly_client/diff_stitcher_spec.rb": 0.00318241119384765625100}5101Knapsack global time execution for tests: 13m 25s5102Pending: (Failures listed here are expected and do not affect your suite's status)5103 1) PersonalFileUploader behaves like builds correct paths #cache_dir behaves like matches the method pattern 5104 # No pattern provided, skipping.5105 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:65106 2) PersonalFileUploader behaves like builds correct paths #work_dir behaves like matches the method pattern 5107 # No pattern provided, skipping.5108 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:65109 3) PersonalFileUploader behaves like builds correct paths #relative_path is relative5110 # Path not set, skipping.5111 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:375112 4) PersonalFileUploader behaves like builds correct paths .base_dir behaves like matches the method pattern 5113 # No pattern provided, skipping.5114 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:65115 5) PersonalFileUploader object_store is REMOTE behaves like builds correct paths #cache_dir behaves like matches the method pattern 5116 # No pattern provided, skipping.5117 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:65118 6) PersonalFileUploader object_store is REMOTE behaves like builds correct paths #work_dir behaves like matches the method pattern 5119 # No pattern provided, skipping.5120 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:65121 7) PersonalFileUploader object_store is REMOTE behaves like builds correct paths #relative_path is relative5122 # Path not set, skipping.5123 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:375124 8) PersonalFileUploader object_store is REMOTE behaves like builds correct paths .absolute_path behaves like matches the method pattern 5125 # No pattern provided, skipping.5126 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:65127 9) PersonalFileUploader object_store is REMOTE behaves like builds correct paths .base_dir behaves like matches the method pattern 5128 # No pattern provided, skipping.5129 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:65130Finished in 14 minutes 37 seconds (files took 16.11 seconds to load)51311842 examples, 0 failures, 9 pending5133$ date5134Fri Oct 12 08:03:43 UTC 20185137coverage/: found 5 matching files 5138knapsack/: found 4 matching files 5139rspec_flaky/: found 4 matching files 5140WARNING: tmp/capybara/: no matching files 5141Uploading artifacts to coordinator... ok id=107388051 responseStatus=201 Created token=qao_YxeH5142Uploading artifacts...5143junit_rspec.xml: found 1 matching files 5144Uploading artifacts to coordinator... ok id=107388051 responseStatus=201 Created token=qao_YxeH5145Job succeeded