rspec-pg 28/50
Passed Started
by
@shinya.maeda

Shinya Maeda
1Running with gitlab-runner 11.8.0 (4745a6f3)2 on prm-com-gitlab-org bd0915563Using Docker executor with image dev.gitlab.org:5005/gitlab/gitlab-build-images:ruby-2.5.3-golang-1.11-git-2.18-chrome-71.0-node-10.x-yarn-1.12-postgresql-9.6-graphicsmagick-1.3.29 ...4Starting service postgres:9.6 ...5Pulling docker image postgres:9.6 ...6Using docker image sha256:aee5bfb5ec09669f4c90d9cbab577884843a3194dfc1e87bd0531b82c3fc4b71 for postgres:9.6 ...7Starting service redis:alpine ...8Pulling docker image redis:alpine ...9Using docker image sha256:a5cff96d7b8f5d3332b43922e424d448172f68b118e0e32cb26270227faec083 for redis:alpine ...10Waiting for services to be up and running...11Pulling docker image dev.gitlab.org:5005/gitlab/gitlab-build-images:ruby-2.5.3-golang-1.11-git-2.18-chrome-71.0-node-10.x-yarn-1.12-postgresql-9.6-graphicsmagick-1.3.29 ...12Using docker image sha256:8549e7bd358f073fedbedd50233e032161adc31370d879d41f164c7a77068e91 for dev.gitlab.org:5005/gitlab/gitlab-build-images:ruby-2.5.3-golang-1.11-git-2.18-chrome-71.0-node-10.x-yarn-1.12-postgresql-9.6-graphicsmagick-1.3.29 ... 13 Running on runner-bd091556-project-13083-concurrent-0 via runner-bd091556-prm-1551243449-c2dc1c68...
00:02
14 Cloning repository for persist-source-sha-and-target-sha-for-pipelines with git depth set to 20...
00:09
15Cloning into '/builds/gitlab-org/gitlab-ce'...16Checking out 314062fe as persist-source-sha-and-target-sha-for-pipelines...17Skipping Git submodules setup19Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/13083/debian-stretch-ruby-2.5.3-node-10.x-3 20Successfully extracted cache22Downloading artifacts from coordinator... ok id=168352919 responseStatus=200 OK token=sN8wDMNo23Downloading artifacts for compile-assets (168352920)...24Downloading artifacts from coordinator... ok id=168352920 responseStatus=200 OK token=wRVGbMyT25Downloading artifacts for setup-test-env (168352921)...26Downloading artifacts from coordinator... ok id=168352921 responseStatus=200 OK token=6jTozWCb27WARNING: 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.17.230$ date31Wed Feb 27 08:24:26 UTC 201932$ source scripts/utils.sh33$ date34Wed Feb 27 08:24:26 UTC 201935$ source scripts/prepare_build.sh36Warning: the running version of Bundler (1.17.2) is older than the version that created the lockfile (1.17.3). We suggest you upgrade to the latest version of Bundler by running `gem install bundler`.37The Gemfile's dependencies are satisfied38Successfully installed knapsack-1.17.1391 gem installed40CREATE ROLE41GRANT42Dropped database 'gitlabhq_test'43Created database 'gitlabhq_test'44-- enable_extension("plpgsql")45 -> 0.0223s46-- enable_extension("pg_trgm")47 -> 0.0169s48-- create_table("abuse_reports", {:force=>:cascade})49 -> 0.0285s50-- create_table("appearances", {:force=>:cascade})51 -> 0.0260s52-- create_table("application_setting_terms", {:force=>:cascade})53 -> 0.0258s54-- create_table("application_settings", {:force=>:cascade})55 -> 0.0800s56-- create_table("audit_events", {:force=>:cascade})57 -> 0.0405s58-- create_table("award_emoji", {:force=>:cascade})59 -> 0.0550s60-- create_table("badges", {:force=>:cascade})61 -> 0.0537s62-- create_table("board_group_recent_visits", {:id=>:bigserial, :force=>:cascade})63 -> 0.0733s64-- create_table("board_project_recent_visits", {:id=>:bigserial, :force=>:cascade})65 -> 0.0721s66-- create_table("boards", {:force=>:cascade})67 -> 0.0430s68-- create_table("broadcast_messages", {:force=>:cascade})69 -> 0.0392s70-- create_table("chat_names", {:force=>:cascade})71 -> 0.0545s72-- create_table("chat_teams", {:force=>:cascade})73 -> 0.0386s74-- create_table("ci_build_trace_chunks", {:id=>:bigserial, :force=>:cascade})75 -> 0.0392s76-- create_table("ci_build_trace_section_names", {:force=>:cascade})77 -> 0.0391s78-- create_table("ci_build_trace_sections", {:force=>:cascade})79 -> 0.0577s80-- create_table("ci_builds", {:force=>:cascade})81 -> 0.2963s82-- create_table("ci_builds_metadata", {:force=>:cascade})83 -> 0.0537s84-- create_table("ci_builds_runner_session", {:id=>:bigserial, :force=>:cascade})85 -> 0.0394s86-- create_table("ci_group_variables", {:force=>:cascade})87 -> 0.0409s88-- create_table("ci_job_artifacts", {:force=>:cascade})89 -> 0.0831s90-- create_table("ci_pipeline_chat_data", {:id=>:bigserial, :force=>:cascade})91 -> 0.0530s92-- create_table("ci_pipeline_schedule_variables", {:force=>:cascade})93 -> 0.0389s94-- create_table("ci_pipeline_schedules", {:force=>:cascade})95 -> 0.0677s96-- create_table("ci_pipeline_variables", {:force=>:cascade})97 -> 0.0393s98-- create_table("ci_pipelines", {:force=>:cascade})99 -> 0.1938s100-- create_table("ci_runner_namespaces", {:force=>:cascade})101 -> 0.0427s102-- create_table("ci_runner_projects", {:force=>:cascade})103 -> 0.0429s104-- create_table("ci_runners", {:force=>:cascade})105 -> 0.0978s106-- create_table("ci_stages", {:force=>:cascade})107 -> 0.0798s108-- create_table("ci_trigger_requests", {:force=>:cascade})109 -> 0.0542s110-- create_table("ci_triggers", {:force=>:cascade})111 -> 0.0543s112-- create_table("ci_variables", {:force=>:cascade})113 -> 0.0412s114-- create_table("cluster_groups", {:force=>:cascade})115 -> 0.0432s116-- create_table("cluster_platforms_kubernetes", {:force=>:cascade})117 -> 0.0422s118-- create_table("cluster_projects", {:force=>:cascade})119 -> 0.0436s120-- create_table("cluster_providers_gcp", {:force=>:cascade})121 -> 0.0404s122-- create_table("clusters", {:force=>:cascade})123 -> 0.0563s124-- create_table("clusters_applications_cert_managers", {:force=>:cascade})125 -> 0.0385s126-- create_table("clusters_applications_helm", {:force=>:cascade})127 -> 0.0391s128-- create_table("clusters_applications_ingress", {:force=>:cascade})129 -> 0.0393s130-- create_table("clusters_applications_jupyter", {:force=>:cascade})131 -> 0.0542s132-- create_table("clusters_applications_knative", {:force=>:cascade})133 -> 0.0391s134-- create_table("clusters_applications_prometheus", {:force=>:cascade})135 -> 0.0386s136-- create_table("clusters_applications_runners", {:force=>:cascade})137 -> 0.0525s138-- create_table("clusters_kubernetes_namespaces", {:id=>:bigserial, :force=>:cascade})139 -> 0.0814s140-- create_table("container_repositories", {:force=>:cascade})141 -> 0.0536s142-- create_table("conversational_development_index_metrics", {:force=>:cascade})143 -> 0.0206s144-- create_table("deploy_keys_projects", {:force=>:cascade})145 -> 0.0292s146-- create_table("deploy_tokens", {:force=>:cascade})147 -> 0.0551s148-- create_table("deployments", {:force=>:cascade})149 -> 0.1557s150-- create_table("emails", {:force=>:cascade})151 -> 0.0680s152-- create_table("environments", {:force=>:cascade})153 -> 0.0567s154-- create_table("events", {:force=>:cascade})155 -> 0.0991s156-- create_table("feature_gates", {:force=>:cascade})157 -> 0.0410s158-- create_table("features", {:force=>:cascade})159 -> 0.0388s160-- create_table("fork_network_members", {:force=>:cascade})161 -> 0.1125s162-- create_table("fork_networks", {:force=>:cascade})163 -> 0.0387s164-- create_table("forked_project_links", {:force=>:cascade})165 -> 0.0301s166-- create_table("gpg_key_subkeys", {:force=>:cascade})167 -> 0.0609s168-- create_table("gpg_keys", {:force=>:cascade})169 -> 0.0680s170-- create_table("gpg_signatures", {:force=>:cascade})171 -> 0.0968s172-- create_table("group_custom_attributes", {:force=>:cascade})173 -> 0.0525s174-- create_table("identities", {:force=>:cascade})175 -> 0.0403s176-- create_table("import_export_uploads", {:force=>:cascade})177 -> 0.0550s178-- create_table("internal_ids", {:id=>:bigserial, :force=>:cascade})179 -> 0.0702s180-- create_table("issue_assignees", {:id=>false, :force=>:cascade})181 -> 0.0321s182-- create_table("issue_metrics", {:force=>:cascade})183 -> 0.0287s184-- create_table("issues", {:force=>:cascade})185 -> 0.2205s186-- create_table("keys", {:force=>:cascade})187 -> 0.0546s188-- create_table("label_links", {:force=>:cascade})189 -> 0.0530s190-- create_table("label_priorities", {:force=>:cascade})191 -> 0.0567s192-- create_table("labels", {:force=>:cascade})193 -> 0.0982s194-- create_table("lfs_file_locks", {:force=>:cascade})195 -> 0.0536s196-- create_table("lfs_objects", {:force=>:cascade})197 -> 0.0544s198-- create_table("lfs_objects_projects", {:force=>:cascade})199 -> 0.0298s200-- create_table("lists", {:force=>:cascade})201 -> 0.0589s202-- create_table("members", {:force=>:cascade})203 -> 0.0986s204-- create_table("merge_request_diff_commits", {:id=>false, :force=>:cascade})205 -> 0.0446s206-- create_table("merge_request_diff_files", {:id=>false, :force=>:cascade})207 -> 0.0297s208-- create_table("merge_request_diffs", {:force=>:cascade})209 -> 0.0386s210-- create_table("merge_request_metrics", {:force=>:cascade})211 -> 0.0863s212-- create_table("merge_requests", {:force=>:cascade})213 -> 0.2783s214-- create_table("merge_requests_closing_issues", {:force=>:cascade})215 -> 0.0434s216-- create_table("milestones", {:force=>:cascade})217 -> 0.0896s218-- create_table("namespaces", {:force=>:cascade})219 -> 0.1500s220-- create_table("note_diff_files", {:force=>:cascade})221 -> 0.0394s222-- create_table("notes", {:force=>:cascade})223 -> 0.1447s224-- create_table("notification_settings", {:force=>:cascade})225 -> 0.0686s226-- create_table("oauth_access_grants", {:force=>:cascade})227 -> 0.0399s228-- create_table("oauth_access_tokens", {:force=>:cascade})229 -> 0.0683s230-- create_table("oauth_applications", {:force=>:cascade})231 -> 0.0563s232-- create_table("oauth_openid_requests", {:force=>:cascade})233 -> 0.0392s234-- create_table("pages_domains", {:force=>:cascade})235 -> 0.0973s236-- create_table("personal_access_tokens", {:force=>:cascade})237 -> 0.0541s238-- create_table("pool_repositories", {:id=>:bigserial, :force=>:cascade})239 -> 0.0683s240-- create_table("programming_languages", {:force=>:cascade})241 -> 0.0393s242-- create_table("project_authorizations", {:id=>false, :force=>:cascade})243 -> 0.0319s244-- create_table("project_auto_devops", {:force=>:cascade})245 -> 0.0411s246-- create_table("project_ci_cd_settings", {:force=>:cascade})247 -> 0.0289s248-- create_table("project_custom_attributes", {:force=>:cascade})249 -> 0.0522s250-- create_table("project_deploy_tokens", {:force=>:cascade})251 -> 0.0425s252-- create_table("project_error_tracking_settings", {:primary_key=>"project_id", :id=>:integer, :force=>:cascade})253 -> 0.0250s254-- create_table("project_features", {:force=>:cascade})255 -> 0.0306s256-- create_table("project_group_links", {:force=>:cascade})257 -> 0.0432s258-- create_table("project_import_data", {:force=>:cascade})259 -> 0.0386s260-- create_table("project_mirror_data", {:force=>:cascade})261 -> 0.0661s262-- create_table("project_repositories", {:id=>:bigserial, :force=>:cascade})263 -> 0.0657s264-- create_table("project_statistics", {:force=>:cascade})265 -> 0.0446s266-- create_table("projects", {:force=>:cascade})267 -> 0.2871s268-- create_table("prometheus_metrics", {:force=>:cascade})269 -> 0.0810s270-- create_table("protected_branch_merge_access_levels", {:force=>:cascade})271 -> 0.0305s272-- create_table("protected_branch_push_access_levels", {:force=>:cascade})273 -> 0.0292s274-- create_table("protected_branches", {:force=>:cascade})275 -> 0.0388s276-- create_table("protected_tag_create_access_levels", {:force=>:cascade})277 -> 0.0566s278-- create_table("protected_tags", {:force=>:cascade})279 -> 0.0544s280-- create_table("push_event_payloads", {:id=>false, :force=>:cascade})281 -> 0.0291s282-- create_table("redirect_routes", {:force=>:cascade})283 -> 0.0548s284-- create_table("release_links", {:id=>:bigserial, :force=>:cascade})285 -> 0.0555s286-- create_table("releases", {:force=>:cascade})287 -> 0.0668s288-- create_table("remote_mirrors", {:force=>:cascade})289 -> 0.0528s290-- create_table("repository_languages", {:id=>false, :force=>:cascade})291 -> 0.0158s292-- create_table("resource_label_events", {:id=>:bigserial, :force=>:cascade})293 -> 0.0811s294-- create_table("routes", {:force=>:cascade})295 -> 0.0597s296-- create_table("sent_notifications", {:force=>:cascade})297 -> 0.0398s298-- create_table("services", {:force=>:cascade})299 -> 0.0757s300-- create_table("shards", {:force=>:cascade})301 -> 0.0391s302-- create_table("snippets", {:force=>:cascade})303 -> 0.0822s304-- create_table("spam_logs", {:force=>:cascade})305 -> 0.0264s306-- create_table("subscriptions", {:force=>:cascade})307 -> 0.0539s308-- create_table("suggestions", {:id=>:bigserial, :force=>:cascade})309 -> 0.0402s310-- create_table("system_note_metadata", {:force=>:cascade})311 -> 0.0327s312-- create_table("taggings", {:force=>:cascade})313 -> 0.0836s314-- create_table("tags", {:force=>:cascade})315 -> 0.0404s316-- create_table("term_agreements", {:force=>:cascade})317 -> 0.0576s318-- create_table("timelogs", {:force=>:cascade})319 -> 0.0587s320-- create_table("todos", {:force=>:cascade})321 -> 0.2737s322-- create_table("trending_projects", {:force=>:cascade})323 -> 0.0283s324-- create_table("u2f_registrations", {:force=>:cascade})325 -> 0.0530s326-- create_table("uploads", {:force=>:cascade})327 -> 0.0813s328-- create_table("user_agent_details", {:force=>:cascade})329 -> 0.0396s330-- create_table("user_callouts", {:force=>:cascade})331 -> 0.0429s332-- create_table("user_custom_attributes", {:force=>:cascade})333 -> 0.0542s334-- create_table("user_interacted_projects", {:id=>false, :force=>:cascade})335 -> 0.0318s336-- create_table("user_preferences", {:force=>:cascade})337 -> 0.0391s338-- create_table("user_statuses", {:primary_key=>"user_id", :force=>:cascade})339 -> 0.0389s340-- create_table("user_synced_attributes_metadata", {:force=>:cascade})341 -> 0.0404s342-- create_table("users", {:force=>:cascade})343 -> 0.2205s344-- create_table("users_star_projects", {:force=>:cascade})345 -> 0.0415s346-- create_table("web_hook_logs", {:force=>:cascade})347 -> 0.0522s348-- create_table("web_hooks", {:force=>:cascade})349 -> 0.0589s350-- add_foreign_key("application_settings", "users", {:column=>"usage_stats_set_by_user_id", :name=>"fk_964370041d", :on_delete=>:nullify})351 -> 0.0056s352-- add_foreign_key("badges", "namespaces", {:column=>"group_id", :on_delete=>:cascade})353 -> 0.0034s354-- add_foreign_key("badges", "projects", {:on_delete=>:cascade})355 -> 0.0038s356-- add_foreign_key("board_group_recent_visits", "boards", {:on_delete=>:cascade})357 -> 0.0031s358-- add_foreign_key("board_group_recent_visits", "namespaces", {:column=>"group_id", :on_delete=>:cascade})359 -> 0.0026s360-- add_foreign_key("board_group_recent_visits", "users", {:on_delete=>:cascade})361 -> 0.0030s362-- add_foreign_key("board_project_recent_visits", "boards", {:on_delete=>:cascade})363 -> 0.0025s364-- add_foreign_key("board_project_recent_visits", "projects", {:on_delete=>:cascade})365 -> 0.0025s366-- add_foreign_key("board_project_recent_visits", "users", {:on_delete=>:cascade})367 -> 0.0026s368-- add_foreign_key("boards", "namespaces", {:column=>"group_id", :on_delete=>:cascade})369 -> 0.0022s370-- add_foreign_key("boards", "projects", {:name=>"fk_f15266b5f9", :on_delete=>:cascade})371 -> 0.0023s372-- add_foreign_key("chat_teams", "namespaces", {:on_delete=>:cascade})373 -> 0.0024s374-- add_foreign_key("ci_build_trace_chunks", "ci_builds", {:column=>"build_id", :on_delete=>:cascade})375 -> 0.0032s376-- add_foreign_key("ci_build_trace_section_names", "projects", {:on_delete=>:cascade})377 -> 0.0031s378-- add_foreign_key("ci_build_trace_sections", "ci_build_trace_section_names", {:column=>"section_name_id", :name=>"fk_264e112c66", :on_delete=>:cascade})379 -> 0.0023s380-- add_foreign_key("ci_build_trace_sections", "ci_builds", {:column=>"build_id", :name=>"fk_4ebe41f502", :on_delete=>:cascade})381 -> 0.0023s382-- add_foreign_key("ci_build_trace_sections", "projects", {:on_delete=>:cascade})383 -> 0.0026s384-- add_foreign_key("ci_builds", "ci_pipelines", {:column=>"auto_canceled_by_id", :name=>"fk_a2141b1522", :on_delete=>:nullify})385 -> 0.0033s386-- add_foreign_key("ci_builds", "ci_pipelines", {:column=>"commit_id", :name=>"fk_d3130c9a7f", :on_delete=>:cascade})387 -> 0.0027s388-- add_foreign_key("ci_builds", "ci_stages", {:column=>"stage_id", :name=>"fk_3a9eaa254d", :on_delete=>:cascade})389 -> 0.0027s390-- add_foreign_key("ci_builds", "projects", {:name=>"fk_befce0568a", :on_delete=>:cascade})391 -> 0.0039s392-- add_foreign_key("ci_builds_metadata", "ci_builds", {:column=>"build_id", :on_delete=>:cascade})393 -> 0.0027s394-- add_foreign_key("ci_builds_metadata", "projects", {:on_delete=>:cascade})395 -> 0.0026s396-- add_foreign_key("ci_builds_runner_session", "ci_builds", {:column=>"build_id", :on_delete=>:cascade})397 -> 0.0026s398-- add_foreign_key("ci_group_variables", "namespaces", {:column=>"group_id", :name=>"fk_33ae4d58d8", :on_delete=>:cascade})399 -> 0.0023s400-- add_foreign_key("ci_job_artifacts", "ci_builds", {:column=>"job_id", :on_delete=>:cascade})401 -> 0.0029s402-- add_foreign_key("ci_job_artifacts", "projects", {:on_delete=>:cascade})403 -> 0.0029s404-- add_foreign_key("ci_pipeline_chat_data", "chat_names", {:on_delete=>:cascade})405 -> 0.0025s406-- add_foreign_key("ci_pipeline_chat_data", "ci_pipelines", {:column=>"pipeline_id", :on_delete=>:cascade})407 -> 0.0021s408-- add_foreign_key("ci_pipeline_schedule_variables", "ci_pipeline_schedules", {:column=>"pipeline_schedule_id", :name=>"fk_41c35fda51", :on_delete=>:cascade})409 -> 0.0025s410-- add_foreign_key("ci_pipeline_schedules", "projects", {:name=>"fk_8ead60fcc4", :on_delete=>:cascade})411 -> 0.0028s412-- add_foreign_key("ci_pipeline_schedules", "users", {:column=>"owner_id", :name=>"fk_9ea99f58d2", :on_delete=>:nullify})413 -> 0.0027s414-- add_foreign_key("ci_pipeline_variables", "ci_pipelines", {:column=>"pipeline_id", :name=>"fk_f29c5f4380", :on_delete=>:cascade})415 -> 0.0027s416-- add_foreign_key("ci_pipelines", "ci_pipeline_schedules", {:column=>"pipeline_schedule_id", :name=>"fk_3d34ab2e06", :on_delete=>:nullify})417 -> 0.0025s418-- add_foreign_key("ci_pipelines", "ci_pipelines", {:column=>"auto_canceled_by_id", :name=>"fk_262d4c2d19", :on_delete=>:nullify})419 -> 0.0022s420-- add_foreign_key("ci_pipelines", "merge_requests", {:name=>"fk_a23be95014", :on_delete=>:cascade})421 -> 0.0036s422-- add_foreign_key("ci_pipelines", "projects", {:name=>"fk_86635dbd80", :on_delete=>:cascade})423 -> 0.0034s424-- add_foreign_key("ci_runner_namespaces", "ci_runners", {:column=>"runner_id", :on_delete=>:cascade})425 -> 0.0025s426-- add_foreign_key("ci_runner_namespaces", "namespaces", {:on_delete=>:cascade})427 -> 0.0023s428-- add_foreign_key("ci_runner_projects", "projects", {:name=>"fk_4478a6f1e4", :on_delete=>:cascade})429 -> 0.0030s430-- add_foreign_key("ci_stages", "ci_pipelines", {:column=>"pipeline_id", :name=>"fk_fb57e6cc56", :on_delete=>:cascade})431 -> 0.0023s432-- add_foreign_key("ci_stages", "projects", {:name=>"fk_2360681d1d", :on_delete=>:cascade})433 -> 0.0024s434-- add_foreign_key("ci_trigger_requests", "ci_triggers", {:column=>"trigger_id", :name=>"fk_b8ec8b7245", :on_delete=>:cascade})435 -> 0.0023s436-- add_foreign_key("ci_triggers", "projects", {:name=>"fk_e3e63f966e", :on_delete=>:cascade})437 -> 0.0024s438-- add_foreign_key("ci_triggers", "users", {:column=>"owner_id", :name=>"fk_e8e10d1964", :on_delete=>:cascade})439 -> 0.0026s440-- add_foreign_key("ci_variables", "projects", {:name=>"fk_ada5eb64b3", :on_delete=>:cascade})441 -> 0.0027s442-- add_foreign_key("cluster_groups", "clusters", {:on_delete=>:cascade})443 -> 0.0024s444-- add_foreign_key("cluster_groups", "namespaces", {:column=>"group_id", :on_delete=>:cascade})445 -> 0.0022s446-- add_foreign_key("cluster_platforms_kubernetes", "clusters", {:on_delete=>:cascade})447 -> 0.0023s448-- add_foreign_key("cluster_projects", "clusters", {:on_delete=>:cascade})449 -> 0.0024s450-- add_foreign_key("cluster_projects", "projects", {:on_delete=>:cascade})451 -> 0.0025s452-- add_foreign_key("cluster_providers_gcp", "clusters", {:on_delete=>:cascade})453 -> 0.0024s454-- add_foreign_key("clusters", "users", {:on_delete=>:nullify})455 -> 0.0030s456-- add_foreign_key("clusters_applications_cert_managers", "clusters", {:on_delete=>:cascade})457 -> 0.0023s458-- add_foreign_key("clusters_applications_helm", "clusters", {:on_delete=>:cascade})459 -> 0.0022s460-- add_foreign_key("clusters_applications_ingress", "clusters", {:name=>"fk_753a7b41c1", :on_delete=>:cascade})461 -> 0.0024s462-- add_foreign_key("clusters_applications_jupyter", "clusters", {:on_delete=>:cascade})463 -> 0.0032s464-- add_foreign_key("clusters_applications_jupyter", "oauth_applications", {:on_delete=>:nullify})465 -> 0.0027s466-- add_foreign_key("clusters_applications_knative", "clusters", {:on_delete=>:cascade})467 -> 0.0025s468-- add_foreign_key("clusters_applications_prometheus", "clusters", {:name=>"fk_557e773639", :on_delete=>:cascade})469 -> 0.0026s470-- add_foreign_key("clusters_applications_runners", "ci_runners", {:column=>"runner_id", :name=>"fk_02de2ded36", :on_delete=>:nullify})471 -> 0.0023s472-- add_foreign_key("clusters_applications_runners", "clusters", {:on_delete=>:cascade})473 -> 0.0023s474-- add_foreign_key("clusters_kubernetes_namespaces", "cluster_projects", {:on_delete=>:nullify})475 -> 0.0024s476-- add_foreign_key("clusters_kubernetes_namespaces", "clusters", {:on_delete=>:cascade})477 -> 0.0025s478-- add_foreign_key("clusters_kubernetes_namespaces", "projects", {:on_delete=>:nullify})479 -> 0.0028s480-- add_foreign_key("container_repositories", "projects")481 -> 0.0031s482-- add_foreign_key("deploy_keys_projects", "projects", {:name=>"fk_58a901ca7e", :on_delete=>:cascade})483 -> 0.0029s484-- add_foreign_key("deployments", "projects", {:name=>"fk_b9a3851b82", :on_delete=>:cascade})485 -> 0.0030s486-- add_foreign_key("environments", "projects", {:name=>"fk_d1c8c1da6a", :on_delete=>:cascade})487 -> 0.0030s488-- add_foreign_key("events", "projects", {:on_delete=>:cascade})489 -> 0.0029s490-- add_foreign_key("events", "users", {:column=>"author_id", :name=>"fk_edfd187b6f", :on_delete=>:cascade})491 -> 0.0026s492-- add_foreign_key("fork_network_members", "fork_networks", {:on_delete=>:cascade})493 -> 0.0025s494-- add_foreign_key("fork_network_members", "projects", {:column=>"forked_from_project_id", :name=>"fk_b01280dae4", :on_delete=>:nullify})495 -> 0.0028s496-- add_foreign_key("fork_network_members", "projects", {:on_delete=>:cascade})497 -> 0.0025s498-- add_foreign_key("fork_networks", "projects", {:column=>"root_project_id", :name=>"fk_e7b436b2b5", :on_delete=>:nullify})499 -> 0.0027s500-- add_foreign_key("forked_project_links", "projects", {:column=>"forked_to_project_id", :name=>"fk_434510edb0", :on_delete=>:cascade})501 -> 0.0024s502-- add_foreign_key("gpg_key_subkeys", "gpg_keys", {:on_delete=>:cascade})503 -> 0.0029s504-- add_foreign_key("gpg_keys", "users", {:on_delete=>:cascade})505 -> 0.0027s506-- add_foreign_key("gpg_signatures", "gpg_key_subkeys", {:on_delete=>:nullify})507 -> 0.0027s508-- add_foreign_key("gpg_signatures", "gpg_keys", {:on_delete=>:nullify})509 -> 0.0028s510-- add_foreign_key("gpg_signatures", "projects", {:on_delete=>:cascade})511 -> 0.0030s512-- add_foreign_key("group_custom_attributes", "namespaces", {:column=>"group_id", :on_delete=>:cascade})513 -> 0.0024s514-- add_foreign_key("import_export_uploads", "projects", {:on_delete=>:cascade})515 -> 0.0029s516-- add_foreign_key("internal_ids", "namespaces", {:name=>"fk_162941d509", :on_delete=>:cascade})517 -> 0.0031s518-- add_foreign_key("internal_ids", "projects", {:on_delete=>:cascade})519 -> 0.0028s520-- add_foreign_key("issue_assignees", "issues", {:name=>"fk_b7d881734a", :on_delete=>:cascade})521 -> 0.0032s522-- add_foreign_key("issue_assignees", "users", {:name=>"fk_5e0c8d9154", :on_delete=>:cascade})523 -> 0.0026s524-- add_foreign_key("issue_metrics", "issues", {:on_delete=>:cascade})525 -> 0.0024s526-- add_foreign_key("issues", "issues", {:column=>"moved_to_id", :name=>"fk_a194299be1", :on_delete=>:nullify})527 -> 0.0025s528-- add_foreign_key("issues", "milestones", {:name=>"fk_96b1dd429c", :on_delete=>:nullify})529 -> 0.0028s530-- add_foreign_key("issues", "projects", {:name=>"fk_899c8f3231", :on_delete=>:cascade})531 -> 0.0030s532-- add_foreign_key("issues", "users", {:column=>"author_id", :name=>"fk_05f1e72feb", :on_delete=>:nullify})533 -> 0.0033s534-- add_foreign_key("issues", "users", {:column=>"closed_by_id", :name=>"fk_c63cbf6c25", :on_delete=>:nullify})535 -> 0.0031s536-- add_foreign_key("issues", "users", {:column=>"updated_by_id", :name=>"fk_ffed080f01", :on_delete=>:nullify})537 -> 0.0035s538-- add_foreign_key("label_links", "labels", {:name=>"fk_d97dd08678", :on_delete=>:cascade})539 -> 0.0034s540-- add_foreign_key("label_priorities", "labels", {:on_delete=>:cascade})541 -> 0.0029s542-- add_foreign_key("label_priorities", "projects", {:on_delete=>:cascade})543 -> 0.0029s544-- add_foreign_key("labels", "namespaces", {:column=>"group_id", :on_delete=>:cascade})545 -> 0.0031s546-- add_foreign_key("labels", "projects", {:name=>"fk_7de4989a69", :on_delete=>:cascade})547 -> 0.0028s548-- add_foreign_key("lfs_file_locks", "projects", {:on_delete=>:cascade})549 -> 0.0029s550-- add_foreign_key("lfs_file_locks", "users", {:on_delete=>:cascade})551 -> 0.0030s552-- add_foreign_key("lists", "boards", {:name=>"fk_0d3f677137", :on_delete=>:cascade})553 -> 0.0030s554-- add_foreign_key("lists", "labels", {:name=>"fk_7a5553d60f", :on_delete=>:cascade})555 -> 0.0029s556-- add_foreign_key("members", "users", {:name=>"fk_2e88fb7ce9", :on_delete=>:cascade})557 -> 0.0031s558-- add_foreign_key("merge_request_diff_commits", "merge_request_diffs", {:on_delete=>:cascade})559 -> 0.0030s560-- add_foreign_key("merge_request_diff_files", "merge_request_diffs", {:on_delete=>:cascade})561 -> 0.0029s562-- add_foreign_key("merge_request_diffs", "merge_requests", {:name=>"fk_8483f3258f", :on_delete=>:cascade})563 -> 0.0028s564-- add_foreign_key("merge_request_metrics", "ci_pipelines", {:column=>"pipeline_id", :on_delete=>:cascade})565 -> 0.0028s566-- add_foreign_key("merge_request_metrics", "merge_requests", {:on_delete=>:cascade})567 -> 0.0026s568-- add_foreign_key("merge_request_metrics", "users", {:column=>"latest_closed_by_id", :name=>"fk_ae440388cc", :on_delete=>:nullify})569 -> 0.0030s570-- add_foreign_key("merge_request_metrics", "users", {:column=>"merged_by_id", :name=>"fk_7f28d925f3", :on_delete=>:nullify})571 -> 0.0026s572-- add_foreign_key("merge_requests", "ci_pipelines", {:column=>"head_pipeline_id", :name=>"fk_fd82eae0b9", :on_delete=>:nullify})573 -> 0.0028s574-- add_foreign_key("merge_requests", "merge_request_diffs", {:column=>"latest_merge_request_diff_id", :name=>"fk_06067f5644", :on_delete=>:nullify})575 -> 0.0027s576-- add_foreign_key("merge_requests", "milestones", {:name=>"fk_6a5165a692", :on_delete=>:nullify})577 -> 0.0024s578-- add_foreign_key("merge_requests", "projects", {:column=>"source_project_id", :name=>"fk_3308fe130c", :on_delete=>:nullify})579 -> 0.0031s580-- add_foreign_key("merge_requests", "projects", {:column=>"target_project_id", :name=>"fk_a6963e8447", :on_delete=>:cascade})581 -> 0.0026s582-- add_foreign_key("merge_requests", "users", {:column=>"assignee_id", :name=>"fk_6149611a04", :on_delete=>:nullify})583 -> 0.0032s584-- add_foreign_key("merge_requests", "users", {:column=>"author_id", :name=>"fk_e719a85f8a", :on_delete=>:nullify})585 -> 0.0033s586-- add_foreign_key("merge_requests", "users", {:column=>"merge_user_id", :name=>"fk_ad525e1f87", :on_delete=>:nullify})587 -> 0.0030s588-- add_foreign_key("merge_requests", "users", {:column=>"updated_by_id", :name=>"fk_641731faff", :on_delete=>:nullify})589 -> 0.0032s590-- add_foreign_key("merge_requests_closing_issues", "issues", {:on_delete=>:cascade})591 -> 0.0027s592-- add_foreign_key("merge_requests_closing_issues", "merge_requests", {:on_delete=>:cascade})593 -> 0.0025s594-- add_foreign_key("milestones", "namespaces", {:column=>"group_id", :name=>"fk_95650a40d4", :on_delete=>:cascade})595 -> 0.0024s596-- add_foreign_key("milestones", "projects", {:name=>"fk_9bd0a0c791", :on_delete=>:cascade})597 -> 0.0030s598-- add_foreign_key("note_diff_files", "notes", {:column=>"diff_note_id", :on_delete=>:cascade})599 -> 0.0031s600-- add_foreign_key("notes", "projects", {:name=>"fk_99e097b079", :on_delete=>:cascade})601 -> 0.0028s602-- add_foreign_key("notification_settings", "users", {:name=>"fk_0c95e91db7", :on_delete=>:cascade})603 -> 0.0031s604-- add_foreign_key("oauth_openid_requests", "oauth_access_grants", {:column=>"access_grant_id", :name=>"fk_oauth_openid_requests_oauth_access_grants_access_grant_id"})605 -> 0.0026s606-- add_foreign_key("pages_domains", "projects", {:name=>"fk_ea2f6dfc6f", :on_delete=>:cascade})607 -> 0.0031s608-- add_foreign_key("personal_access_tokens", "users")609 -> 0.0028s610-- add_foreign_key("pool_repositories", "projects", {:column=>"source_project_id", :on_delete=>:nullify})611 -> 0.0030s612-- add_foreign_key("pool_repositories", "shards", {:on_delete=>:restrict})613 -> 0.0026s614-- add_foreign_key("project_authorizations", "projects", {:on_delete=>:cascade})615 -> 0.0027s616-- add_foreign_key("project_authorizations", "users", {:on_delete=>:cascade})617 -> 0.0027s618-- add_foreign_key("project_auto_devops", "projects", {:on_delete=>:cascade})619 -> 0.0030s620-- add_foreign_key("project_ci_cd_settings", "projects", {:name=>"fk_24c15d2f2e", :on_delete=>:cascade})621 -> 0.0036s622-- add_foreign_key("project_custom_attributes", "projects", {:on_delete=>:cascade})623 -> 0.0032s624-- add_foreign_key("project_deploy_tokens", "deploy_tokens", {:on_delete=>:cascade})625 -> 0.0030s626-- add_foreign_key("project_deploy_tokens", "projects", {:on_delete=>:cascade})627 -> 0.0031s628-- add_foreign_key("project_error_tracking_settings", "projects", {:on_delete=>:cascade})629 -> 0.0031s630-- add_foreign_key("project_features", "projects", {:name=>"fk_18513d9b92", :on_delete=>:cascade})631 -> 0.0031s632-- add_foreign_key("project_group_links", "projects", {:name=>"fk_daa8cee94c", :on_delete=>:cascade})633 -> 0.0031s634-- add_foreign_key("project_import_data", "projects", {:name=>"fk_ffb9ee3a10", :on_delete=>:cascade})635 -> 0.0031s636-- add_foreign_key("project_mirror_data", "projects", {:on_delete=>:cascade})637 -> 0.0033s638-- add_foreign_key("project_repositories", "projects", {:on_delete=>:cascade})639 -> 0.0034s640-- add_foreign_key("project_repositories", "shards", {:on_delete=>:restrict})641 -> 0.0028s642-- add_foreign_key("project_statistics", "projects", {:on_delete=>:cascade})643 -> 0.0037s644-- add_foreign_key("projects", "pool_repositories", {:name=>"fk_6e5c14658a", :on_delete=>:nullify})645 -> 0.0033s646-- add_foreign_key("prometheus_metrics", "projects", {:on_delete=>:cascade})647 -> 0.0034s648-- add_foreign_key("protected_branch_merge_access_levels", "protected_branches", {:name=>"fk_8a3072ccb3", :on_delete=>:cascade})649 -> 0.0028s650-- add_foreign_key("protected_branch_push_access_levels", "protected_branches", {:name=>"fk_9ffc86a3d9", :on_delete=>:cascade})651 -> 0.0025s652-- add_foreign_key("protected_branches", "projects", {:name=>"fk_7a9c6d93e7", :on_delete=>:cascade})653 -> 0.0033s654-- add_foreign_key("protected_tag_create_access_levels", "namespaces", {:column=>"group_id"})655 -> 0.0036s656-- add_foreign_key("protected_tag_create_access_levels", "protected_tags", {:name=>"fk_f7dfda8c51", :on_delete=>:cascade})657 -> 0.0030s658-- add_foreign_key("protected_tag_create_access_levels", "users")659 -> 0.0033s660-- add_foreign_key("protected_tags", "projects", {:name=>"fk_8e4af87648", :on_delete=>:cascade})661 -> 0.0035s662-- add_foreign_key("push_event_payloads", "events", {:name=>"fk_36c74129da", :on_delete=>:cascade})663 -> 0.0034s664-- add_foreign_key("release_links", "releases", {:on_delete=>:cascade})665 -> 0.0036s666-- add_foreign_key("releases", "projects", {:name=>"fk_47fe2a0596", :on_delete=>:cascade})667 -> 0.0035s668-- add_foreign_key("releases", "users", {:column=>"author_id", :name=>"fk_8e4456f90f", :on_delete=>:nullify})669 -> 0.0028s670-- add_foreign_key("remote_mirrors", "projects", {:on_delete=>:cascade})671 -> 0.0037s672-- add_foreign_key("repository_languages", "projects", {:on_delete=>:cascade})673 -> 0.0029s674-- add_foreign_key("resource_label_events", "issues", {:on_delete=>:cascade})675 -> 0.0034s676-- add_foreign_key("resource_label_events", "labels", {:on_delete=>:nullify})677 -> 0.0026s678-- add_foreign_key("resource_label_events", "merge_requests", {:on_delete=>:cascade})679 -> 0.0028s680-- add_foreign_key("resource_label_events", "users", {:on_delete=>:nullify})681 -> 0.0027s682-- add_foreign_key("services", "projects", {:name=>"fk_71cce407f9", :on_delete=>:cascade})683 -> 0.0034s684-- add_foreign_key("snippets", "projects", {:name=>"fk_be41fd4bb7", :on_delete=>:cascade})685 -> 0.0034s686-- add_foreign_key("subscriptions", "projects", {:on_delete=>:cascade})687 -> 0.0029s688-- add_foreign_key("suggestions", "notes", {:on_delete=>:cascade})689 -> 0.0027s690-- add_foreign_key("system_note_metadata", "notes", {:name=>"fk_d83a918cb1", :on_delete=>:cascade})691 -> 0.0023s692-- add_foreign_key("term_agreements", "application_setting_terms", {:column=>"term_id"})693 -> 0.0024s694-- add_foreign_key("term_agreements", "users", {:on_delete=>:cascade})695 -> 0.0025s696-- add_foreign_key("timelogs", "issues", {:name=>"fk_timelogs_issues_issue_id", :on_delete=>:cascade})697 -> 0.0029s698-- add_foreign_key("timelogs", "merge_requests", {:name=>"fk_timelogs_merge_requests_merge_request_id", :on_delete=>:cascade})699 -> 0.0026s700-- add_foreign_key("todos", "namespaces", {:column=>"group_id", :on_delete=>:cascade})701 -> 0.0028s702-- add_foreign_key("todos", "notes", {:name=>"fk_91d1f47b13", :on_delete=>:cascade})703 -> 0.0025s704-- add_foreign_key("todos", "projects", {:name=>"fk_45054f9c45", :on_delete=>:cascade})705 -> 0.0026s706-- add_foreign_key("todos", "users", {:column=>"author_id", :name=>"fk_ccf0373936", :on_delete=>:cascade})707 -> 0.0025s708-- add_foreign_key("todos", "users", {:name=>"fk_d94154aa95", :on_delete=>:cascade})709 -> 0.0025s710-- add_foreign_key("trending_projects", "projects", {:on_delete=>:cascade})711 -> 0.0027s712-- add_foreign_key("u2f_registrations", "users")713 -> 0.0027s714-- add_foreign_key("user_callouts", "users", {:on_delete=>:cascade})715 -> 0.0030s716-- add_foreign_key("user_custom_attributes", "users", {:on_delete=>:cascade})717 -> 0.0027s718-- add_foreign_key("user_interacted_projects", "projects", {:name=>"fk_722ceba4f7", :on_delete=>:cascade})719 -> 0.0026s720-- add_foreign_key("user_interacted_projects", "users", {:name=>"fk_0894651f08", :on_delete=>:cascade})721 -> 0.0024s722-- add_foreign_key("user_preferences", "users", {:on_delete=>:cascade})723 -> 0.0023s724-- add_foreign_key("user_statuses", "users", {:on_delete=>:cascade})725 -> 0.0025s726-- add_foreign_key("user_synced_attributes_metadata", "users", {:on_delete=>:cascade})727 -> 0.0028s728-- add_foreign_key("users", "application_setting_terms", {:column=>"accepted_term_id", :name=>"fk_789cd90b35", :on_delete=>:cascade})729 -> 0.0029s730-- add_foreign_key("users_star_projects", "projects", {:name=>"fk_22cd27ddfc", :on_delete=>:cascade})731 -> 0.0032s732-- add_foreign_key("web_hook_logs", "web_hooks", {:on_delete=>:cascade})733 -> 0.0026s734-- add_foreign_key("web_hooks", "projects", {:name=>"fk_0c8ca6d9d1", :on_delete=>:cascade})735 -> 0.0027s736-- initialize_schema_migrations_table()737 -> 0.0267s738$ date739Wed Feb 27 08:25:13 UTC 2019740$ JOB_NAME=( $CI_JOB_NAME )741$ TEST_TOOL=${JOB_NAME[0]}742$ export KNAPSACK_REPORT_PATH=knapsack/${CI_PROJECT_NAME}/${TEST_TOOL}_node_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_report.json743$ export KNAPSACK_GENERATE_REPORT=true744$ export SUITE_FLAKY_RSPEC_REPORT_PATH=${FLAKY_RSPEC_SUITE_REPORT_PATH}745$ export FLAKY_RSPEC_REPORT_PATH=rspec_flaky/all_${TEST_TOOL}_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_report.json746$ export NEW_FLAKY_RSPEC_REPORT_PATH=rspec_flaky/new_${TEST_TOOL}_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_report.json747$ export FLAKY_RSPEC_GENERATE_REPORT=true748$ export CACHE_CLASSES=true749$ cp ${KNAPSACK_RSPEC_SUITE_REPORT_PATH} ${KNAPSACK_REPORT_PATH}750$ [[ -f $FLAKY_RSPEC_REPORT_PATH ]] || echo "{}" > ${FLAKY_RSPEC_REPORT_PATH}751$ [[ -f $NEW_FLAKY_RSPEC_REPORT_PATH ]] || echo "{}" > ${NEW_FLAKY_RSPEC_REPORT_PATH}752$ scripts/gitaly-test-spawn753Checking gitaly-ruby bundle...754Warning: the running version of Bundler (1.17.2) is older than the version that created the lockfile (1.17.3). We suggest you upgrade to the latest version of Bundler by running `gem install bundler`.755The Gemfile's dependencies are satisfied756Trying to connect to gitaly: ..... OK757$ knapsack rspec "--color --format documentation --format RspecJunitFormatter --out junit_rspec.xml"758Knapsack report generator started!759==> Setting up GitLab Shell...760 GitLab Shell set up in 0.066744726 seconds...761==> Setting up Gitaly...762 Gitaly set up in 8.6262e-05 seconds...763TodoService764 updates cached counts when a todo is created765 Issues766 #new_issue767 creates a todo if assigned768 does not create a todo if unassigned769 creates a todo if assignee is the current user770 creates a todo for each valid mentioned user771 creates a directly addressed todo for each valid addressed user772 creates correct todos for each valid user based on the type of mention773 does not create todo if user can not see the issue when issue is confidential774 does not create directly addressed todo if user cannot see the issue when issue is confidential775 when a private group is mentioned776 creates a todo for group members777 #update_issue778 creates a todo for each valid mentioned user not included in skip_users779 creates a todo for each valid user not included in skip_users based on the type of mention780 creates a directly addressed todo for each valid addressed user not included in skip_users781 does not create a todo if user was already mentioned and todo is pending782 does not create a todo if user was already mentioned and todo is done783 does not create a directly addressed todo if user was already mentioned or addressed and todo is pending784 does not create a directly addressed todo if user was already mentioned or addressed and todo is done785 does not create todo if user can not see the issue when issue is confidential786 does not create a directly addressed todo if user can not see the issue when issue is confidential787 issues with a task list788 does not create todo when tasks are marked as completed789 does not create directly addressed todo when tasks are marked as completed790 does not raise an error when description not change791 #close_issue792 marks related pending todos to the target for the user as done793 #destroy_target794 refreshes the todos count cache for users with todos on the target795 does not refresh the todos count cache for users with only done todos on the target796 yields the target to the caller797 #reassigned_issue798 creates a pending todo for new assignee799 does not create a todo if unassigned800 creates a todo if new assignee is the current user801 #mark_pending_todos_as_done802 marks related pending todos to the target for the user as done803 cached counts804 updates when todos change805 #mark_todos_as_done806 behaves like updating todos state807 updates related todos for the user with the new_state808 returns the updated ids809 cached counts810 updates when todos change811 #mark_todos_as_done_by_ids812 behaves like updating todos state813 updates related todos for the user with the new_state814 returns the updated ids815 cached counts816 updates when todos change817 #mark_todos_as_pending818 behaves like updating todos state819 updates related todos for the user with the new_state820 returns the updated ids821 cached counts822 updates when todos change823 #mark_todos_as_pending_by_ids824 behaves like updating todos state825 updates related todos for the user with the new_state826 returns the updated ids827 cached counts828 updates when todos change829 #new_note830 mark related pending todos to the noteable for the note author as done831 does not mark related pending todos it is a system note832 creates a todo for each valid mentioned user833 creates a todo for each valid user based on the type of mention834 creates a directly addressed todo for each valid addressed user835 does not create todo if user can not see the issue when leaving a note on a confidential issue836 does not create a directly addressed todo if user can not see the issue when leaving a note on a confidential issue837 does not create todo when leaving a note on snippet838 on commit839 creates a todo for each valid mentioned user when leaving a note on commit840 creates a directly addressed todo for each valid mentioned user when leaving a note on commit841 #mark_todo842 creates a todo from a issue843 #todo_exists?844 returns false when no todo exist for the given issuable845 returns true when a todo exist for the given issuable846 Merge Requests847 #new_merge_request848 creates a pending todo if assigned849 does not create a todo if unassigned850 does not create a todo if assignee is the current user851 creates a todo for each valid mentioned user852 creates a todo for each valid user based on the type of mention853 creates a directly addressed todo for each valid addressed user854 #update_merge_request855 creates a todo for each valid mentioned user not included in skip_users856 creates a todo for each valid user not included in skip_users based on the type of mention857 creates a directly addressed todo for each valid addressed user not included in skip_users858 does not create a todo if user was already mentioned and todo is pending859 does not create a todo if user was already mentioned and todo is done860 does not create a directly addressed todo if user was already mentioned or addressed and todo is pending861 does not create a directly addressed todo if user was already mentioned or addressed and todo is done862 with a task list863 does not create todo when tasks are marked as completed864 does not create directly addressed todo when tasks are marked as completed865 does not raise an error when description not change866 #close_merge_request867 marks related pending todos to the target for the user as done868 #reassigned_merge_request869 creates a pending todo for new assignee870 does not create a todo if unassigned871 creates a todo if new assignee is the current user872 does not create a todo for guests873 does not create a directly addressed todo for guests874 #merge_merge_request875 marks related pending todos to the target for the user as done876 does not create todo for guests877 does not create directly addressed todo for guests878 #new_award_emoji879 marks related pending todos to the target for the user as done880 #merge_request_build_failed881 creates a pending todo for each merge_participant882 #merge_request_push883 marks related pending todos to the target for the user as done884 #merge_request_became_unmergeable885 creates a pending todo for each merge_participant886 #mark_todo887 creates a todo from a merge request888 #new_note889 creates a todo for mentioned user on new diff note890 creates a directly addressed todo for addressed user on new diff note891 creates a todo for mentioned user on legacy diff note892 does not create todo for guests893 #update_note894 creates a todo for each valid mentioned user not included in skip_users895 creates a todo for each valid user not included in skip_users based on the type of mention896 creates a directly addressed todo for each valid addressed user not included in skip_users897 does not create a todo if user was already mentioned and todo is pending898 does not create a todo if user was already mentioned and todo is done899 does not create a directly addressed todo if user was already mentioned or addressed and todo is pending900 does not create a directly addressed todo if user was already mentioned or addressed and todo is done901 #mark_todos_as_done902 marks a relation of todos as done903 marks an array of todos as done904 returns the ids of updated todos905 when some of the todos are done already906 returns the ids of those still pending907 returns an empty array if all are done908 #mark_todos_as_done_by_ids909 marks an array of todo ids as done910 marks a single todo id as done911 caches the number of todos of a user912GpgKey913 associations914 should belong to user915 should have many subkeys916 validation917 should validate that :user cannot be empty/falsy918 should validate that :key cannot be empty/falsy919 should validate that :key is case-sensitively unique920 should allow :key to be ‹"-----BEGIN PGP PUBLIC KEY BLOCK-----\nkey\n-----END PGP PUBLIC KEY BLOCK-----"›921 should not allow :key to be ‹"-----BEGIN PGP PUBLIC KEY BLOCK-----\nkey"›922 should not allow :key to be ‹"-----BEGIN PGP PUBLIC KEY BLOCK-----\nkey\n-----BEGIN PGP PUBLIC KEY BLOCK-----"›923 should not allow :key to be ‹"-----BEGIN PGP PUBLIC KEY BLOCK----------END PGP PUBLIC KEY BLOCK-----"›924 should not allow :key to be ‹"-----BEGIN PGP PUBLIC KEY BLOCK-----"›925 should not allow :key to be ‹"-----END PGP PUBLIC KEY BLOCK-----"›926 should not allow :key to be ‹"key\n-----END PGP PUBLIC KEY BLOCK-----"›927 should not allow :key to be ‹"BEGIN PGP"›928 callbacks929 extract_fingerprint930 extracts the fingerprint from the gpg key931 extract_primary_keyid932 extracts the primary keyid from the gpg key933 generate_subkeys934 extracts the subkeys from the gpg key935 #key=936 strips white spaces937 does not strip when the key is nil938 #user_infos939 returns the user infos from the gpg key940 #verified_user_infos941 returns the user infos if it is verified942 returns an empty array if the user info is not verified943 #emails_with_verified_status944 email is verified if the user has the matching email945 #verified?946 returns true if one of the email addresses in the key belongs to the user947 returns false if none of the email addresses in the key does not belong to the user948 verified_and_belongs_to_email?949 returns false if none of the email addresses in the key does not belong to the user950 returns false if one of the email addresses in the key belongs to the user and does not match the provided email951 returns true if one of the email addresses in the key belongs to the user and matches the provided email952 returns true if one of the email addresses in the key belongs to the user and case-insensitively matches the provided email953 #revoke954 invalidates all associated gpg signatures and destroys the key955 deletes all the associated subkeys956 invalidates all signatures associated to the subkeys957Internal references958Starting the Capybara driver server...959 when referencing to open issue960 from private project961 from issue962 when user doesn't have access to private project963WARN: Screenshot could not be saved. `page.current_path` is empty.9642nd Try error in ./spec/features/issuables/markdown_references/internal_references_spec.rb:33:965 could not obtain a connection from the pool within 5.000 seconds (waited 5.000 seconds); all pooled connections were in use 966RSpec::Retry: 2nd try ./spec/features/issuables/markdown_references/internal_references_spec.rb:33967 should not have visible css ".note"968 from merge request969 when user doesn't have access to private project970 doesn't show any references971 when user has access to private project972 shows references973 when referencing to open merge request974 from private project975 from issue976 when user doesn't have access to private project977 should not have visible css ".note"978 from merge request979 when user doesn't have access to private project980 doesn't show any references981 when user has access to private project982 shows references983Issue Sidebar984 assignee985 shows author in assignee dropdown986 shows author when filtering assignee dropdown987 assigns yourself988 keeps your filtered term after filtering and dismissing the dropdown989 as a allowed user990 sidebar991 changes size when the screen size is smaller9922nd Try error in ./spec/features/issues/issue_sidebar_spec.rb:104:993 RSpec::Core::MultipleExceptionError 994RSpec::Retry: 2nd try ./spec/features/issues/issue_sidebar_spec.rb:104995 escapes XSS when viewing issue labels996 editing issue labels997 shows the current set of labels9982nd Try error in ./spec/features/issues/issue_sidebar_spec.rb:127:999 expected to find text "Create project" in "Labels Edit bug". (However, . it was found 2 times including non-visible text.) 1000RSpec::Retry: 2nd try ./spec/features/issues/issue_sidebar_spec.rb:1271001 shows option to create a project label1002 creating a project label1003 shows dropdown switches to "create label" section1004 adds new label1005 shows error message if label title is taken1006 interacting with collapsed sidebar1007 confidentiality block expands then collapses sidebar1008 lock block expands then collapses sidebar1009 as a guest1010 does not have a option to edit labels1011Clusters::Applications::CreateService1012 #execute1013 creates an application1014 application already installed1015 does not create a new application1016 schedules an upgrade for the application1017 known applications1018 cert manager application1019 creates the application1020 sets the email1021 jupyter application1022 creates the application1023 sets the hostname1024 sets the oauth_application1025 knative application1026 creates the application1027 sets the hostname1028 invalid application1029 raises an error1030 group cluster1031 application: "helm", association: :application_helm, allowed: true, pre_create_helm: false1032 executes for each application1033 application: "ingress", association: :application_ingress, allowed: true, pre_create_helm: true1034 executes for each application1035 application: "runner", association: :application_runner, allowed: false, pre_create_helm: true1036 executes for each application1037 application: "jupyter", association: :application_jupyter, allowed: false, pre_create_helm: true1038 executes for each application1039 application: "prometheus", association: :application_prometheus, allowed: false, pre_create_helm: true1040 executes for each application1041 when application is installable1042 when application is associated with a cluster1043 behaves like installable applications1044 makes the application scheduled1045 schedules an install via worker1046 when application is not associated with a cluster1047 behaves like installable applications1048 makes the application scheduled1049 schedules an install via worker1050 when installation is already in progress1051 raises an exception1052 does not schedule a cluster worker1053 when application is installed1054 schedules an upgrade via worker1055 schedules an upgrade via worker1056Groups::ClustersController1057 GET index1058 when feature flag is not enabled1059 renders 4041060 when feature flag is enabled1061 functionality1062 when group has one or more clusters1063 lists available clusters1064 when page is specified1065 redirects to the page1066 when group does not have a cluster1067 returns an empty state page1068 security1069 should be allowed for admin. Expected: 200,201,204,302 Got: 2001070 should be allowed for owner. Expected: 200,201,204,302 Got: 2001071 should be allowed for maintainer. Expected: 200,201,204,302 Got: 2001072 should be denied for developer. Expected: 401,404 Got: 4041073 should be denied for reporter. Expected: 401,404 Got: 4041074 should be denied for guest. Expected: 401,404 Got: 4041075 should be denied for user. Expected: 401,404 Got: 4041076 should be denied for external. Expected: 401,404 Got: 4041077 GET new1078 functionality for new cluster1079 when omniauth has been configured1080 has authorize_url1081 when omniauth has not configured1082 does not have authorize_url1083 when access token is valid1084 has new object1085 when access token is expired1086 should be falsey1087 when access token is not stored in session1088 should be falsey1089 functionality for existing cluster1090 has new object1091 security1092 should be allowed for admin. Expected: 200,201,204,302 Got: 2001093 should be allowed for owner. Expected: 200,201,204,302 Got: 2001094 should be allowed for maintainer. Expected: 200,201,204,302 Got: 2001095 should be denied for developer. Expected: 401,404 Got: 4041096 should be denied for reporter. Expected: 401,404 Got: 4041097 should be denied for guest. Expected: 401,404 Got: 4041098 should be denied for user. Expected: 401,404 Got: 4041099 should be denied for external. Expected: 401,404 Got: 4041100 POST create for new cluster1101 functionality1102 when access token is valid1103 creates a new cluster1104 when legacy_abac param is false1105 creates a new cluster with legacy_abac_disabled1106 when access token is expired1107 should be falsey1108 when access token is not stored in session1109 should be falsey1110 security1111 should be allowed for admin. Expected: 200,201,204,302 Got: 3021112 should be allowed for owner. Expected: 200,201,204,302 Got: 3021113 should be allowed for maintainer. Expected: 200,201,204,302 Got: 3021114 should be denied for developer. Expected: 401,404 Got: 4041115 should be denied for reporter. Expected: 401,404 Got: 4041116 should be denied for guest. Expected: 401,404 Got: 4041117 should be denied for user. Expected: 401,404 Got: 4041118 should be denied for external. Expected: 401,404 Got: 4041119 POST create for existing cluster1120 functionality1121 when creates a cluster1122 creates a new cluster1123 when creates a RBAC-enabled cluster1124 creates a new cluster1125 security1126 should be allowed for admin. Expected: 200,201,204,302 Got: 3021127 should be allowed for owner. Expected: 200,201,204,302 Got: 3021128 should be allowed for maintainer. Expected: 200,201,204,302 Got: 3021129 should be denied for developer. Expected: 401,404 Got: 4041130 should be denied for reporter. Expected: 401,404 Got: 4041131 should be denied for guest. Expected: 401,404 Got: 4041132 should be denied for user. Expected: 401,404 Got: 4041133 should be denied for external. Expected: 401,404 Got: 4041134 GET cluster_status1135 functionality1136 responds with matching schema1137 invokes schedule_status_update on each application1138 security1139 should be allowed for admin. Expected: 200,201,204,302 Got: 2001140 should be allowed for owner. Expected: 200,201,204,302 Got: 2001141 should be allowed for maintainer. Expected: 200,201,204,302 Got: 2001142 should be denied for developer. Expected: 401,404 Got: 4041143 should be denied for reporter. Expected: 401,404 Got: 4041144 should be denied for guest. Expected: 401,404 Got: 4041145 should be denied for user. Expected: 401,404 Got: 4041146 should be denied for external. Expected: 401,404 Got: 4041147 GET show1148 functionality1149 renders view1150 security1151 should be allowed for admin. Expected: 200,201,204,302 Got: 2001152 should be allowed for owner. Expected: 200,201,204,302 Got: 2001153 should be allowed for maintainer. Expected: 200,201,204,302 Got: 2001154 should be denied for developer. Expected: 401,404 Got: 4041155 should be denied for reporter. Expected: 401,404 Got: 4041156 should be denied for guest. Expected: 401,404 Got: 4041157 should be denied for user. Expected: 401,404 Got: 4041158 should be denied for external. Expected: 401,404 Got: 4041159 PUT update1160 updates and redirects back to show page1161 when domain is invalid1162 should not update cluster attributes1163 when format is json1164 when changing parameters1165 when valid parameters are used1166 updates and redirects back to show page1167 when invalid parameters are used1168 rejects changes1169 security1170 should be allowed for admin. Expected: 200,201,204,302 Got: 3021171 should be allowed for owner. Expected: 200,201,204,302 Got: 3021172 should be allowed for maintainer. Expected: 200,201,204,302 Got: 3021173 should be denied for developer. Expected: 401,404 Got: 4041174 should be denied for reporter. Expected: 401,404 Got: 4041175 should be denied for guest. Expected: 401,404 Got: 4041176 should be denied for user. Expected: 401,404 Got: 4041177 should be denied for external. Expected: 401,404 Got: 4041178 DELETE destroy1179 functionality1180 when cluster is provided by GCP1181 when cluster is created1182 destroys and redirects back to clusters list1183 when cluster is being created1184 destroys and redirects back to clusters list1185 when cluster is provided by user1186 destroys and redirects back to clusters list1187 security1188 should be allowed for admin. Expected: 200,201,204,302 Got: 3021189 should be allowed for owner. Expected: 200,201,204,302 Got: 3021190 should be allowed for maintainer. Expected: 200,201,204,302 Got: 3021191 should be denied for developer. Expected: 401,404 Got: 4041192 should be denied for reporter. Expected: 401,404 Got: 4041193 should be denied for guest. Expected: 401,404 Got: 4041194 should be denied for user. Expected: 401,404 Got: 4041195 should be denied for external. Expected: 401,404 Got: 4041196 no group_id param1197 does not respond to any action without group_id param1198AutocompleteController1199 GET users1200 project members1201 GET #users with project ID1202 returns the project members1203 GET #users with unknown project1204 should respond with numeric status code 4041205 group members1206 GET #users with group ID1207 returns the group members1208 GET #users with unknown group ID1209 should respond with numeric status code 4041210 non-member login for public project1211 GET #users with project ID1212 returns the project members and non-members1213 all users1214 should be a kind of Array1215 should eq 31216 user order1217 shows exact matches first1218 limited users per page1219 should be a kind of Array1220 should eq 201221 unauthenticated user1222 GET #users with public project1223 should be a kind of Array1224 should eq 21225 GET #users with project1226 should respond with numeric status code 4041227 GET #users with unknown project1228 should respond with numeric status code 4041229 GET #users with inaccessible group1230 should respond with numeric status code 4041231 GET #users with no project1232 should be a kind of Array1233 should be empty1234 GET #users with todo filter1235 gives an array of users1236 author of issuable included1237 authenticated1238 includes the author1239 rejects non existent user ids1240 without authenticating1241 returns empty result1242 skip_users parameter included1243 skips the user IDs passed1244 GET projects1245 authorized projects1246 GET #projects with project ID1247 returns projects1248 authorized projects and search1249 GET #projects with project ID and search1250 returns projects1251 authorized projects apply limit1252 GET #projects with project ID1253 returns projects1254 authorized projects with offset1255 GET #projects with project ID and offset_id1256 returns projects1257 authorized projects without admin_issue ability1258 GET #projects with project ID1259 returns no projects1260 GET award_emojis1261 unauthorized user1262 returns empty json1263 sign in as user without award emoji1264 returns empty json1265 sign in as user with award emoji1266 returns json sorted by name count1267Group issues page1268 with shared examples1269 public access level1270 group member1271 should text "this is my created issuable"1272 non-member1273 should text "this is my created issuable"1274 private access level1275 group member1276 should text "this is my created issuable"1277 non-member1278 should not text "this is my created issuable"1279 rss feed1280 when signed in1281 behaves like it has an RSS button with current_user's feed token1282 shows the RSS button with current_user's feed token1283 behaves like an autodiscoverable RSS feed with current_user's feed token1284 has an RSS autodiscovery link tag with current_user's feed token1285 when signed out1286 behaves like it has an RSS button without a feed token1287 shows the RSS button without a feed token1288 behaves like an autodiscoverable RSS feed without a feed token1289 has an RSS autodiscovery link tag without a feed token1290 assignee1291 filters by only group users1292 issues list1293 returns all group and subgroup issues1294 when project is archived1295 does not render issue1296 projects with issues disabled1297 issue dropdown12982nd Try error in ./spec/features/groups/issues_spec.rb:92:1299 RSpec::Core::MultipleExceptionError 1300RSpec::Retry: 2nd try ./spec/features/groups/issues_spec.rb:921301 shows projects only with issues feature enabled1302Merge requests > User lists merge requests1303 filters on no assignee1304 filters on a specific assignee1305 sorts by newest1306 sorts by last updated1307 sorts by milestone1308 filters on one label and sorts by due date1309 while filtering on two labels1310 sorts by due date1311 filter on assignee and1312 sorts by due soon1313 sorts by recently due milestone1314CI Lint1315 YAML parsing1316 YAML is correct1317 parses Yaml1318 YAML is incorrect1319 displays information about an error1320 YAML revalidate1321 loads previous YAML content after validation1322 YAML clearing1323 YAML is present1324 YAML content is cleared1325Admin Appearance1326 Create new appearance1327 Preview sign-in page appearance1328 Preview new project page appearance1329 Custom sign-in page1330 Custom new project page1331 Appearance logo1332 Header logos1333 Favicon1334 Custom system header and footer1335 when system header and footer messages are empty1336 shows custom system header and footer fields1337 when system header and footer messages are not empty1338 shows custom system header and footer fields1339Boards::Issues::MoveService1340 #execute1341 when parent is a project1342 behaves like issues move service1343 when moving an issue between lists1344 delegates the label changes to Issues::UpdateService1345 removes the label from the list it came from and adds the label of the list it goes to1346 when moving to closed1347 delegates the close proceedings to Issues::CloseService1348 removes all list-labels from boards and close the issue1349 when moving to backlog1350 keeps labels and milestone1351 when moving from closed1352 delegates the re-open proceedings to Issues::ReopenService1353 adds the label of the list it goes to and reopen the issue1354 when moving to same list1355 returns false1356 keeps issues labels1357 sorts issues1358 when parent is a group1359 behaves like issues move service1360 when moving an issue between lists1361 delegates the label changes to Issues::UpdateService1362 removes the label from the list it came from and adds the label of the list it goes to1363 when moving to closed1364 delegates the close proceedings to Issues::CloseService1365 removes all list-labels from boards and close the issue1366 when moving to backlog1367 keeps labels and milestone1368 when moving from closed1369 delegates the re-open proceedings to Issues::ReopenService1370 adds the label of the list it goes to and reopen the issue1371 when moving to same list1372 returns false1373 keeps issues labels1374 sorts issues1375 when on a group board1376 sends the board_group_id parameter1377Merge request > User sees MR with deleted source branch1378 shows a message about missing source branch1379 still contains Discussion, Commits and Changes tabs1380Projects > Settings > For a forked project1381 behaves like project settings for a forked projects1382 allows deleting the link to the forked project1383 when the original project is deleted1384 behaves like project settings for a forked projects1385 allows deleting the link to the forked project1386Projects::CommitController1387 GET show1388 handles binary files1389 with valid id1390 responds with 2001391 with invalid id1392 responds with 4041393 as diff1394 triggers workhorse to serve the request1395 as patch1396 contains a git diff1397 commit that removes a submodule1398 renders it1399 in the context of a merge_request1400 prepare diff notes in the context of the merge request1401 GET branches1402 contains branch and tags information1403 returns :limit_exceeded when number of branches/tags reach a threshhold1404 POST revert1405 when target branch is not provided1406 renders the 404 page1407 when the revert was successful1408 redirects to the commits page1409 when the revert failed1410 redirects to the commit page1411 POST cherry_pick1412 when target branch is not provided1413 renders the 404 page1414 when the cherry-pick was successful1415 redirects to the commits page1416 when the cherry_pick failed1417 redirects to the commit page1418 GET diff_for_path1419 when the commit exists1420 when the user has access to the project1421 when the path exists in the diff1422 enables diff notes1423 only renders the diffs for the path given1424 when the path does not exist in the diff1425 returns a 4041426 when the user does not have access to the project1427 returns a 4041428 when the commit does not exist1429 returns a 4041430 GET pipelines1431 when the commit exists1432 when the commit has pipelines1433 when rendering a HTML format1434 shows pipelines1435 when rendering a JSON format1436 responds with serialized pipelines1437 when the commit does not exist1438 returns a 4041439ContainerRepository1440 associations1441 belongs to the project1442 #tag1443 has a test tag1444 #path1445 when project path does not contain uppercase letters1446 returns a full path to the repository1447 when path contains uppercase letters1448 returns a full path without capital letters1449 #manifest1450 returns non-empty manifest1451 #valid?1452 is a valid repository1453 #tags1454 returns non-empty tags list1455 #has_tags?1456 has tags1457 #delete_tags!1458 when action succeeds1459 returns status that indicates success1460 when action fails1461 returns status that indicates failure1462 #location1463 when registry is running on a custom port1464 returns a full location of the repository1465 #root_repository?1466 when repository is a root repository1467 returns true1468 when repository is not a root repository1469 returns false1470 .build_from_path1471 fabricates repository assigned to a correct project1472 fabricates repository with a correct name1473 is not persisted1474 .create_from_path!1475 when received multi-level repository path1476 fabricates repository assigned to a correct project1477 fabricates repository with a correct name1478 when path is too long1479 does not create repository and raises error1480 when received multi-level repository with nested groups1481 fabricates repository assigned to a correct project1482 fabricates repository with a correct name1483 has path including a nested group1484 when received root repository path1485 fabricates repository assigned to a correct project1486 fabricates repository with an empty name1487 .build_root_repository1488 fabricates a root repository object1489 assignes it to the correct project1490 does not persist it1491Projects > Files > User searches for files1492 project main screen1493 when project is empty1494 does not show any result1495 when project is not empty1496 shows "Find file" button1497 project tree screen1498 shows found files1499Projects > Settings > User manages project members1500 cancels a team member1501 imports a team from another project1502 shows all members of project shared group1503Group Boards1504 Creates a an issue1505 Adds an issue to the backlog1506API::GroupBoards1507 behaves like group and project boards1508 GET /groups/:id/boards1509 when unauthenticated1510 returns authentication error1511 when authenticated1512 returns the issue boards1513 GET /groups/:id/boards/:board_id1514 get a single board by id1515 GET /groups/:id/boards/:board_id/lists1516 returns issue board lists1517 returns 404 if board not found1518 GET /groups/:id/boards/:board_id/lists/:list_id1519 returns a list1520 returns 404 if list not found1521 POST /groups/:id/boards/lists1522 creates a new issue board list for labels1523 returns 400 when creating a new list if label_id is invalid1524 returns 403 for members with guest role1525 PUT /groups/:id/boards/:board_id/lists/:list_id to update only position1526 updates a list1527 returns 404 error if list id not found1528 returns 403 for members with guest role1529 DELETE /groups/:id/boards/lists/:list_id1530 rejects a non member from deleting a list1531 rejects a user with guest role from deleting a list1532 returns 404 error if list id not found1533 when the user is parent owner1534 deletes the list if an admin requests it1535 behaves like 412 response1536 for a modified ressource1537 returns 4121538 for an unmodified ressource1539 returns accepted1540 POST /groups/:id/boards/lists1541 does not create lists for child project labels1542Merge request > User sees notes from forked project1543 user can reply to the comment1544Gitlab::GithubImport::Importer::PullRequestsImporter1545 #parallel?1546 returns true when running in parallel mode1547 returns false when running in sequential mode1548 #execute1549 when running in parallel mode1550 imports pull requests in parallel1551 when running in sequential mode1552 imports pull requests in sequence1553 #sequential_import1554 imports each pull request in sequence1555 #parallel_import1556 imports each note in parallel1557 #each_object_to_import1558 yields every pull request to the supplied block1559 updates the repository if a pull request was updated after the last clone1560 #update_repository1561 updates the repository1562 #update_repository?1563 when the pull request was updated after the last update1564 returns true when the head SHA is not present1565 returns true when the base SHA is not present1566 returns false if both the head and base SHAs are present1567 when the pull request was updated before the last update1568 returns false1569 #commit_exists?1570 returns true when a commit exists1571 returns false when a commit does not exist1572 #id_for_already_imported_cache1573 returns the PR number of the given PR1574PersonalFileUploader1575 behaves like builds correct paths1576 #store_dir1577 behaves like matches the method pattern1578 should match /uploads\/-\/system\/personal_snippet\/\d+/1579 #cache_dir1580 behaves like matches the method pattern1581 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:6 (PENDING: No pattern provided, skipping.)1582 #work_dir1583 behaves like matches the method pattern1584 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:6 (PENDING: No pattern provided, skipping.)1585 #upload_path1586 behaves like matches the method pattern1587 should match /\h+\/\S+/1588 #relative_path1589 is relative (PENDING: Path not set, skipping.)1590 .absolute_path1591 behaves like matches the method pattern1592 should match /\/builds\/gitlab-org\/gitlab-ce\/tmp\/tests\/public\/uploads\/-\/system\/personal_snippet\/\d+\/\h+\/\S+$/1593 .base_dir1594 behaves like matches the method pattern1595 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:6 (PENDING: No pattern provided, skipping.)1596 object_store is REMOTE1597 behaves like builds correct paths1598 #store_dir1599 behaves like matches the method pattern1600 should match /\d+\/\h+/1601 #cache_dir1602 behaves like matches the method pattern1603 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:6 (PENDING: No pattern provided, skipping.)1604 #work_dir1605 behaves like matches the method pattern1606 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:6 (PENDING: No pattern provided, skipping.)1607 #upload_path1608 behaves like matches the method pattern1609 should match /^personal_snippet\/\d+\/\h+\/<filename>/1610 #relative_path1611 is relative (PENDING: Path not set, skipping.)1612 .absolute_path1613 behaves like matches the method pattern1614 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:6 (PENDING: No pattern provided, skipping.)1615 .base_dir1616 behaves like matches the method pattern1617 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:6 (PENDING: No pattern provided, skipping.)1618 #upload_paths1619 builds correct paths for both local and remote storage1620 #to_h1621 is correct1622 #migrate!1623 behaves like migrates1624 returns corresponding file type1625 does nothing when migrating to the current store1626 migrate to the specified store1627 removes the original file after the migration1628 can access to the original file during migration1629 when migrate! is not occupied by another process1630 executes migrate!1631 executes use_file1632 when migrate! is occupied by another process1633 does not execute migrate!1634 does not execute use_file1635 migration is unsuccessful1636 when the store is not supported1637 does not update the object_store1638 does not delete the original file1639 upon a fog failure1640 does not update the object_store1641 does not delete the original file1642 upon a database failure1643 does not update the object_store1644 does not delete the original file1645 behaves like migrates1646 returns corresponding file type1647 does nothing when migrating to the current store1648 migrate to the specified store1649 removes the original file after the migration1650 can access to the original file during migration1651 when migrate! is not occupied by another process1652 executes migrate!1653 executes use_file1654 when migrate! is occupied by another process1655 does not execute migrate!1656 does not execute use_file1657 migration is unsuccessful1658 when the store is not supported1659 does not update the object_store1660 does not delete the original file1661 upon a fog failure1662 does not update the object_store1663 does not delete the original file1664 upon a database failure1665 does not update the object_store1666 does not delete the original file1667Project Issues Calendar Feed1668 GET /issues1669 when authenticated1670 with no referer1671 renders calendar feed1672 with GitLab as the referer1673 renders calendar feed as text/plain1674 when authenticated via personal access token1675 renders calendar feed1676 when authenticated via feed token1677 renders calendar feed1678 issue with due date1679 renders issue fields1680 sorted by priority1681 renders calendar feed1682User interacts with labels1683 shows the list of labels1684ForkNetwork1685 #add_root_as_member1686 adds the root project as a member when creating a new root network1687 #find_fork_in1688 finds all fork of the current network in al collection1689 #merge_requests1690 finds merge requests within the fork network1691 for a deleted project1692 keeps the fork network1693 allows multiple fork networks where the root project is deleted1694Clusters::Gcp::Kubernetes::CreateOrUpdateServiceAccountService1695 .gitlab_creator1696 with ABAC cluster1697 behaves like creates service account and token1698 creates a kubernetes service account1699 creates a kubernetes secret1700 with RBAC cluster1701 should create a cluster role binding with cluster-admin access1702 behaves like creates service account and token1703 creates a kubernetes service account1704 creates a kubernetes secret1705 .namespace_creator1706 with ABAC cluster1707 behaves like creates service account and token1708 creates a kubernetes service account1709 creates a kubernetes secret1710 With RBAC enabled cluster1711 creates a namespaced role binding with edit access1712 behaves like creates service account and token1713 creates a kubernetes service account1714 creates a kubernetes secret1715RemoveExpiredMembersWorker1716 #perform1717 project members1718 removes expired members1719 leaves members that expire in the future1720 leaves members that do not expire at all1721 group members1722 removes expired members1723 leaves members that expire in the future1724 leaves members that do not expire at all1725 when the last group owner expires1726 does not delete the owner1727Gitlab::Diff::Highlight1728 #highlight1729 with a diff file1730 returns Gitlab::Diff::Line elements1731 does not modify "match" lines1732 highlights and marks unchanged lines1733 highlights and marks removed lines1734 highlights and marks added lines1735 when no diff_refs1736 when no inline diffs1737 behaves like without inline diffs1738 returns html escaped diff text1739 with diff lines1740 returns Gitlab::Diff::Line elements1741 does not modify "match" lines1742 marks unchanged lines1743 marks removed lines1744 marks added lines1745 when the inline diff marker has an invalid range1746 keeps the original rich line1747 reports to Sentry if configured1748 when no inline diffs1749 behaves like without inline diffs1750 returns html escaped diff text1751Internal Snippets1752 normal user1753 sees internal snippets1754 sees raw internal snippets1755Groups::UploadsController1756 behaves like handle uploads1757 POST #create1758 when a user is not authorized to upload a file1759 returns 404 status1760 when a user can upload a file1761 without params['file']1762 returns an error1763 with valid image1764 returns a content with original filename, new link, and correct type.1765 creates a corresponding Upload record1766 with valid non-image file1767 returns a content with original filename, new link, and correct type.1768 GET #show1769 when the model is public1770 when not signed in1771 when the file exists1772 responds with status 2001773 when neither the uploader nor the model exists1774 responds with status 4041775 when the file doesn't exist1776 responds with status 4041777 when signed in1778 when the file exists1779 responds with status 2001780 when the file doesn't exist1781 responds with status 4041782 when the model is private1783 when not signed in1784 when the file exists1785 when the file is an image1786 responds with status 2001787 when the file is not an image1788 redirects to the sign in page1789 when the file doesn't exist1790 redirects to the sign in page1791 when signed in1792 when the user has access to the project1793 when the file exists1794 responds with status 2001795 when the file doesn't exist1796 responds with status 4041797 when the user doesn't have access to the model1798 when the file exists1799 when the file is an image1800 responds with status 2001801 when the file is not an image1802 responds with status 4041803 when the file doesn't exist1804 responds with status 4041805 POST #authorize1806 when a user is not authorized to upload a file1807 returns 404 status1808 when a user can upload a file1809 and the request bypassed workhorse1810 raises an exception1811 and request is sent by gitlab-workhorse to authorize the request1812 when using local storage1813 behaves like a local file1814 behaves like a valid response1815 responds with status 2001816 uses the gitlab-workhorse content type1817 responds with status 200, location of uploads store and object details1818 when using remote storage1819 when direct upload is enabled1820 behaves like a valid response1821 responds with status 2001822 uses the gitlab-workhorse content type1823 responds with status 200, location of uploads remote store and object details1824 when direct upload is disabled1825 behaves like a local file1826 behaves like a valid response1827 responds with status 2001828 uses the gitlab-workhorse content type1829 responds with status 200, location of uploads store and object details1830Abuse reports1831 Report abuse1832ProjectAutoDevops1833 should belong to project1834 should define :deploy_strategy as an enum and store the value in a column with an integer type1835 should respond to #created_at1836 should respond to #updated_at1837 behaves like having unique enum values1838 has unique values in "deploy_strategy"1839 #has_domain?1840 when domain is defined1841 should have domain1842 when domain is empty1843 when there is an instance domain specified1844 should have domain1845 when there is no instance domain specified1846 should not have domain1847 #predefined_variables1848 when domain is defined1849 returns AUTO_DEVOPS_DOMAIN1850 when domain is not defined1851 when there is an instance domain specified1852 should include {:key => "AUTO_DEVOPS_DOMAIN", :value => "example.com", :public => true}1853 when there is no instance domain specified1854 should not include {:key => "AUTO_DEVOPS_DOMAIN", :value => "example.com", :public => true}1855 when deploy_strategy is manual1856 should include {:key => "INCREMENTAL_ROLLOUT_ENABLED", :value => "1"}1857 when deploy_strategy is continuous1858 should not include "STAGING_ENABLED" and "INCREMENTAL_ROLLOUT_ENABLED"1859 when deploy_strategy is timed_incremental1860 should include {:key => "INCREMENTAL_ROLLOUT_MODE", :value => "timed"}1861 should not include "STAGING_ENABLED" and "INCREMENTAL_ROLLOUT_ENABLED"1862 #create_gitlab_deploy_token1863 when the project is public1864 should not create a gitlab deploy token1865 when the project is internal1866 should create a gitlab deploy token1867 when the project is private1868 should create a gitlab deploy token1869 when autodevops is enabled at project level1870 should create a deploy token1871 when autodevops is enabled at instance level1872 should create a deploy token1873 when autodevops is disabled1874 should not create a deploy token1875 when the project already has an active gitlab-deploy-token1876 should not create a deploy token1877 when the project already has a revoked gitlab-deploy-token1878 should not create a deploy token1879admin visits dashboard1880 counting forks1881unknown OID 28: failed to recognize type of 'relfrozenxid'. It will be treated as String.1882unknown OID 1034: failed to recognize type of 'relacl'. It will be treated as String.1883 correctly counts 2 forks of a project1884shared/notes/_form1885 with a note on issue1886 says that markdown and quick actions are supported1887 with a note on merge_request1888 says that markdown and quick actions are supported1889 with a note on commit1890 says that markdown and quick actions are supported1891Projects > Settings > User tags a project1892 sets project topics1893CreateGpgSignatureWorker1894 when GpgKey is found1895 calls Gitlab::Gpg::Commit#signature1896 can recover from exception and continue the signature process1897 handles when a string is passed in for the commit SHA1898 creates a signature once1899 when Commit is not found1900 does not raise errors1901 when Project is not found1902 does not raise errors1903 does not call Gitlab::Gpg::Commit#signature1904Gitlab::Ci::Status::Build::Common1905 #has_action?1906 should not have action1907 #has_details?1908 when user has access to read build1909 should have details1910 when user does not have access to read build1911 should not have details1912 #details_path1913 links to the build details page1914 #illustration1915 provides a fallback empty state illustration1916Gitlab::Ci::Config::External::File::Project1917 #matching?1918 when a file and project is specified1919 should return true1920 with only file is specified1921 should return false1922 with only project is specified1923 should return false1924 with a missing local key1925 should return false1926 #valid?1927 when a valid path is used1928 should return true1929 when user does not have permission to access file1930 should return false1931 when a valid path with custom ref is used1932 should return true1933 when an empty file is used1934 should return false1935 when non-existing ref is used1936 should return false1937 when non-existing file is requested1938 should return false1939 when file is not a yaml file1940 should return false1941CommitPresenter1942 #status_for1943 when user can read_commit_status1944 returns commit status for ref1945 when user can not read_commit_status1946 is false1947 #any_pipelines?1948 when user can read pipeline1949 returns if there are any pipelines for commit1950 when user can not read pipeline1951 is false1952Suggestion1953 associations1954 should belong to note1955 validations1956 should validate that :note cannot be empty/falsy1957 when suggestion is applied1958 should validate that :commit_id cannot be empty/falsy1959 #appliable?1960 when note does not support suggestions1961 returns false1962 when patch is already applied1963 returns false1964 when merge request is not opened1965 returns false1966Gitlab::Auth::LDAP::User1967 #should_save?1968 marks existing ldap user as changed1969 marks existing non-ldap user if the email matches as changed1970 does not mark existing ldap user as changed1971 .find_by_uid_and_provider1972 retrieves the correct user1973 find or create1974 finds the user if already existing1975 connects to existing non-ldap user if the email matches1976 connects to existing ldap user if the extern_uid changes1977 connects to existing ldap user if the extern_uid changes and email address has upper case characters1978 maintains an identity per provider1979 creates a new user if not found1980 when signup is disabled1981 creates the user1982 when user confirmation email is enabled1983 creates and confirms the user anyway1984 updating email1985 when LDAP sets an email1986 has a real email1987 has email set as synced1988 has email set as read-only1989 has synced attributes provider set to ldapmain1990 when LDAP doesn't set an email1991 has a temp email1992 has email set as not synced1993 does not have email set as read-only1994 blocking1995 signup1996 dont block on create1997 should not be blocked1998 block on create1999 should be blocked2000 sign-in2001 dont block on create2002 should not be blocked2003 block on create2004 should not be blocked2005ProjectHook2006 associations2007 should belong to project2008 validations2009 should validate that :project cannot be empty/falsy2010 .push_hooks2011 returns hooks for push events only2012 .tag_push_hooks2013 returns hooks for tag push events only2014gitlab:git rake tasks2015 fsck2016 outputs the integrity check for a repo2017Unicorn2018I, [2019-02-27T08:37:54.489570 #5073] INFO -- : Refreshing Gem list2019I, [2019-02-27T08:37:54.493692 #5073] INFO -- : listening on addr=/builds/gitlab-org/gitlab-ce/tmp/tests/unicorn.socket fd=112020I, [2019-02-27T08:37:54.495190 #5073] INFO -- : master process ready2021I, [2019-02-27T08:37:54.495970 #5075] INFO -- : worker=0 ready2022I, [2019-02-27T08:37:54.948908 #5073] INFO -- : reaped #<Process::Status: pid 5075 exit 0> worker=02023I, [2019-02-27T08:37:54.951144 #5078] INFO -- : worker=0 ready2024 has a worker that self-terminates on signal SIGQUIT2025I, [2019-02-27T08:37:55.951352 #5073] INFO -- : reaped #<Process::Status: pid 5078 exit 0> worker=02026 has a worker that self-terminates on signal SIGTERM2027I, [2019-02-27T08:37:55.953336 #5081] INFO -- : worker=0 ready2028E, [2019-02-27T08:37:55.963572 #5073] ERROR -- : reaped #<Process::Status: pid 5081 SIGKILL (signal 9)> worker=02029 has a worker that self-terminates on signal SIGKILL2030I, [2019-02-27T08:37:56.066379 #5073] INFO -- : reaped #<Process::Status: pid 5084 exit 0> worker=02031I, [2019-02-27T08:37:56.066525 #5073] INFO -- : master complete2032ProjectImportOptions2033 sets default retry limit2034 sets default status expiration2035 .sidekiq_retries_exhausted20362019-02-27T08:37:56.378Z 103 TID-gp79yk9zn WARN: Failed with [437, nil, nil]: 2037 marks fork as failed20382019-02-27T08:37:56.634Z 103 TID-gp79yk9zn WARN: Failed with [438, nil, nil]: 2039 logs the appropriate error message for forked projects20402019-02-27T08:37:56.872Z 103 TID-gp79yk9zn WARN: Failed with [439, nil, nil]: 2041 logs the appropriate error message for forked projects2042 when project does not have import_state2043 raises an error2044BranchFilterValidator2045 #validates_each2046 allows valid branch names2047 disallows bad branch names2048 allows wildcards2049 gets rid of whitespace2050 limits length to 4000 chars2051UserAgentDetail2052 .submittable?2053 is submittable when not already submitted2054 is not submittable when already submitted2055 .valid?2056 is valid with a subject2057 is invalid without a subject2058CleanupBuildStageMigration2059NOTICE: index "index_projects_on_lower_name" does not exist, skipping2060 when there are pending background migrations2061Passing 'flushdb' command to redis as is; administrative commands cannot be effectively namespaced and should be called on the redis connection directly; passthrough has been deprecated and will be removed in redis-namespace 2.0 (at /builds/gitlab-org/gitlab-ce/spec/support/sidekiq.rb:33:in `block (3 levels) in <top (required)>')2062 processes pending jobs synchronously2063 when there are no background migrations pending2064Passing 'flushdb' command to redis as is; administrative commands cannot be effectively namespaced and should be called on the redis connection directly; passthrough has been deprecated and will be removed in redis-namespace 2.0 (at /builds/gitlab-org/gitlab-ce/spec/support/sidekiq.rb:33:in `block (3 levels) in <top (required)>')2065 does nothing2066 when there are still unmigrated builds present2067Passing 'flushdb' command to redis as is; administrative commands cannot be effectively namespaced and should be called on the redis connection directly; passthrough has been deprecated and will be removed in redis-namespace 2.0 (at /builds/gitlab-org/gitlab-ce/spec/support/sidekiq.rb:33:in `block (3 levels) in <top (required)>')2068 migrates stages sequentially in batches2069Arel performing automatic type casting is deprecated, and will be removed in Arel 8.0. If you are seeing this, it is because you are manually passing a value to an Arel predicate, and the `Arel::Table` object was constructed manually. The easiest way to remove this warning is to use an `Arel::Table` object returned from calling `arel_table` on an ActiveRecord::Base subclass.2070If you're certain the value is already of the right type, change `attribute.eq(value)` to `attribute.eq(Arel::Nodes::Quoted.new(value))` (you will be able to remove that in Arel 8.0, it is only required to silence this deprecation warning).2071You can also silence this warning globally by setting `$arel_silence_type_casting_deprecation` to `true`. (Do NOT do this if you are a library author)2072If you are passing user input to a predicate, you must either give an appropriate type caster object to the `Arel::Table`, or manually cast the value before passing it to Arel.2073DEPRECATION WARNING: Passing a column to `quote` has been deprecated. It is only used for type casting, which should be handled elsewhere. See https://github.com/rails/arel/commit/6160bfbda1d1781c3b08a33ec4955f170e95be11 for more information. (called from update_column_in_batches at /builds/gitlab-org/gitlab-ce/lib/gitlab/database/migration_helpers.rb:335)2074Arel performing automatic type casting is deprecated, and will be removed in Arel 8.0. If you are seeing this, it is because you are manually passing a value to an Arel predicate, and the `Arel::Table` object was constructed manually. The easiest way to remove this warning is to use an `Arel::Table` object returned from calling `arel_table` on an ActiveRecord::Base subclass.2075If you're certain the value is already of the right type, change `attribute.eq(value)` to `attribute.eq(Arel::Nodes::Quoted.new(value))` (you will be able to remove that in Arel 8.0, it is only required to silence this deprecation warning).2076You can also silence this warning globally by setting `$arel_silence_type_casting_deprecation` to `true`. (Do NOT do this if you are a library author)2077If you are passing user input to a predicate, you must either give an appropriate type caster object to the `Arel::Table`, or manually cast the value before passing it to Arel.2078DEPRECATION WARNING: Passing a column to `quote` has been deprecated. It is only used for type casting, which should be handled elsewhere. See https://github.com/rails/arel/commit/6160bfbda1d1781c3b08a33ec4955f170e95be11 for more information. (called from update_column_in_batches at /builds/gitlab-org/gitlab-ce/lib/gitlab/database/migration_helpers.rb:335)2079Arel performing automatic type casting is deprecated, and will be removed in Arel 8.0. If you are seeing this, it is because you are manually passing a value to an Arel predicate, and the `Arel::Table` object was constructed manually. The easiest way to remove this warning is to use an `Arel::Table` object returned from calling `arel_table` on an ActiveRecord::Base subclass.2080If you're certain the value is already of the right type, change `attribute.eq(value)` to `attribute.eq(Arel::Nodes::Quoted.new(value))` (you will be able to remove that in Arel 8.0, it is only required to silence this deprecation warning).2081You can also silence this warning globally by setting `$arel_silence_type_casting_deprecation` to `true`. (Do NOT do this if you are a library author)2082If you are passing user input to a predicate, you must either give an appropriate type caster object to the `Arel::Table`, or manually cast the value before passing it to Arel.2083DEPRECATION WARNING: Passing a column to `quote` has been deprecated. It is only used for type casting, which should be handled elsewhere. See https://github.com/rails/arel/commit/6160bfbda1d1781c3b08a33ec4955f170e95be11 for more information. (called from update_column_in_batches at /builds/gitlab-org/gitlab-ce/lib/gitlab/database/migration_helpers.rb:335)2084Arel performing automatic type casting is deprecated, and will be removed in Arel 8.0. If you are seeing this, it is because you are manually passing a value to an Arel predicate, and the `Arel::Table` object was constructed manually. The easiest way to remove this warning is to use an `Arel::Table` object returned from calling `arel_table` on an ActiveRecord::Base subclass.2085If you're certain the value is already of the right type, change `attribute.eq(value)` to `attribute.eq(Arel::Nodes::Quoted.new(value))` (you will be able to remove that in Arel 8.0, it is only required to silence this deprecation warning).2086You can also silence this warning globally by setting `$arel_silence_type_casting_deprecation` to `true`. (Do NOT do this if you are a library author)2087If you are passing user input to a predicate, you must either give an appropriate type caster object to the `Arel::Table`, or manually cast the value before passing it to Arel.2088DEPRECATION WARNING: Passing a column to `quote` has been deprecated. It is only used for type casting, which should be handled elsewhere. See https://github.com/rails/arel/commit/6160bfbda1d1781c3b08a33ec4955f170e95be11 for more information. (called from update_column_in_batches at /builds/gitlab-org/gitlab-ce/lib/gitlab/database/migration_helpers.rb:335)2089Arel performing automatic type casting is deprecated, and will be removed in Arel 8.0. If you are seeing this, it is because you are manually passing a value to an Arel predicate, and the `Arel::Table` object was constructed manually. The easiest way to remove this warning is to use an `Arel::Table` object returned from calling `arel_table` on an ActiveRecord::Base subclass.2090If you're certain the value is already of the right type, change `attribute.eq(value)` to `attribute.eq(Arel::Nodes::Quoted.new(value))` (you will be able to remove that in Arel 8.0, it is only required to silence this deprecation warning).2091You can also silence this warning globally by setting `$arel_silence_type_casting_deprecation` to `true`. (Do NOT do this if you are a library author)2092If you are passing user input to a predicate, you must either give an appropriate type caster object to the `Arel::Table`, or manually cast the value before passing it to Arel.2093DEPRECATION WARNING: Passing a column to `quote` has been deprecated. It is only used for type casting, which should be handled elsewhere. See https://github.com/rails/arel/commit/6160bfbda1d1781c3b08a33ec4955f170e95be11 for more information. (called from update_column_in_batches at /builds/gitlab-org/gitlab-ce/lib/gitlab/database/migration_helpers.rb:335)2094Arel performing automatic type casting is deprecated, and will be removed in Arel 8.0. If you are seeing this, it is because you are manually passing a value to an Arel predicate, and the `Arel::Table` object was constructed manually. The easiest way to remove this warning is to use an `Arel::Table` object returned from calling `arel_table` on an ActiveRecord::Base subclass.2095If you're certain the value is already of the right type, change `attribute.eq(value)` to `attribute.eq(Arel::Nodes::Quoted.new(value))` (you will be able to remove that in Arel 8.0, it is only required to silence this deprecation warning).2096You can also silence this warning globally by setting `$arel_silence_type_casting_deprecation` to `true`. (Do NOT do this if you are a library author)2097If you are passing user input to a predicate, you must either give an appropriate type caster object to the `Arel::Table`, or manually cast the value before passing it to Arel.2098DEPRECATION WARNING: Passing a column to `quote` has been deprecated. It is only used for type casting, which should be handled elsewhere. See https://github.com/rails/arel/commit/6160bfbda1d1781c3b08a33ec4955f170e95be11 for more information. (called from update_column_in_batches at /builds/gitlab-org/gitlab-ce/lib/gitlab/database/migration_helpers.rb:335)2099Arel performing automatic type casting is deprecated, and will be removed in Arel 8.0. If you are seeing this, it is because you are manually passing a value to an Arel predicate, and the `Arel::Table` object was constructed manually. The easiest way to remove this warning is to use an `Arel::Table` object returned from calling `arel_table` on an ActiveRecord::Base subclass.2100If you're certain the value is already of the right type, change `attribute.eq(value)` to `attribute.eq(Arel::Nodes::Quoted.new(value))` (you will be able to remove that in Arel 8.0, it is only required to silence this deprecation warning).2101You can also silence this warning globally by setting `$arel_silence_type_casting_deprecation` to `true`. (Do NOT do this if you are a library author)2102If you are passing user input to a predicate, you must either give an appropriate type caster object to the `Arel::Table`, or manually cast the value before passing it to Arel.2103DEPRECATION WARNING: Passing a column to `quote` has been deprecated. It is only used for type casting, which should be handled elsewhere. See https://github.com/rails/arel/commit/6160bfbda1d1781c3b08a33ec4955f170e95be11 for more information. (called from update_column_in_batches at /builds/gitlab-org/gitlab-ce/lib/gitlab/database/migration_helpers.rb:335)2104Arel performing automatic type casting is deprecated, and will be removed in Arel 8.0. If you are seeing this, it is because you are manually passing a value to an Arel predicate, and the `Arel::Table` object was constructed manually. The easiest way to remove this warning is to use an `Arel::Table` object returned from calling `arel_table` on an ActiveRecord::Base subclass.2105If you're certain the value is already of the right type, change `attribute.eq(value)` to `attribute.eq(Arel::Nodes::Quoted.new(value))` (you will be able to remove that in Arel 8.0, it is only required to silence this deprecation warning).2106You can also silence this warning globally by setting `$arel_silence_type_casting_deprecation` to `true`. (Do NOT do this if you are a library author)2107If you are passing user input to a predicate, you must either give an appropriate type caster object to the `Arel::Table`, or manually cast the value before passing it to Arel.2108DEPRECATION WARNING: Passing a column to `quote` has been deprecated. It is only used for type casting, which should be handled elsewhere. See https://github.com/rails/arel/commit/6160bfbda1d1781c3b08a33ec4955f170e95be11 for more information. (called from update_column_in_batches at /builds/gitlab-org/gitlab-ce/lib/gitlab/database/migration_helpers.rb:335)2109Arel performing automatic type casting is deprecated, and will be removed in Arel 8.0. If you are seeing this, it is because you are manually passing a value to an Arel predicate, and the `Arel::Table` object was constructed manually. The easiest way to remove this warning is to use an `Arel::Table` object returned from calling `arel_table` on an ActiveRecord::Base subclass.2110If you're certain the value is already of the right type, change `attribute.eq(value)` to `attribute.eq(Arel::Nodes::Quoted.new(value))` (you will be able to remove that in Arel 8.0, it is only required to silence this deprecation warning).2111You can also silence this warning globally by setting `$arel_silence_type_casting_deprecation` to `true`. (Do NOT do this if you are a library author)2112If you are passing user input to a predicate, you must either give an appropriate type caster object to the `Arel::Table`, or manually cast the value before passing it to Arel.2113DEPRECATION WARNING: Passing a column to `quote` has been deprecated. It is only used for type casting, which should be handled elsewhere. See https://github.com/rails/arel/commit/6160bfbda1d1781c3b08a33ec4955f170e95be11 for more information. (called from update_column_in_batches at /builds/gitlab-org/gitlab-ce/lib/gitlab/database/migration_helpers.rb:335)2114Arel performing automatic type casting is deprecated, and will be removed in Arel 8.0. If you are seeing this, it is because you are manually passing a value to an Arel predicate, and the `Arel::Table` object was constructed manually. The easiest way to remove this warning is to use an `Arel::Table` object returned from calling `arel_table` on an ActiveRecord::Base subclass.2115If you're certain the value is already of the right type, change `attribute.eq(value)` to `attribute.eq(Arel::Nodes::Quoted.new(value))` (you will be able to remove that in Arel 8.0, it is only required to silence this deprecation warning).2116You can also silence this warning globally by setting `$arel_silence_type_casting_deprecation` to `true`. (Do NOT do this if you are a library author)2117If you are passing user input to a predicate, you must either give an appropriate type caster object to the `Arel::Table`, or manually cast the value before passing it to Arel.2118DEPRECATION WARNING: Passing a column to `quote` has been deprecated. It is only used for type casting, which should be handled elsewhere. See https://github.com/rails/arel/commit/6160bfbda1d1781c3b08a33ec4955f170e95be11 for more information. (called from update_column_in_batches at /builds/gitlab-org/gitlab-ce/lib/gitlab/database/migration_helpers.rb:335)2119Arel performing automatic type casting is deprecated, and will be removed in Arel 8.0. If you are seeing this, it is because you are manually passing a value to an Arel predicate, and the `Arel::Table` object was constructed manually. The easiest way to remove this warning is to use an `Arel::Table` object returned from calling `arel_table` on an ActiveRecord::Base subclass.2120If you're certain the value is already of the right type, change `attribute.eq(value)` to `attribute.eq(Arel::Nodes::Quoted.new(value))` (you will be able to remove that in Arel 8.0, it is only required to silence this deprecation warning).2121You can also silence this warning globally by setting `$arel_silence_type_casting_deprecation` to `true`. (Do NOT do this if you are a library author)2122If you are passing user input to a predicate, you must either give an appropriate type caster object to the `Arel::Table`, or manually cast the value before passing it to Arel.2123DEPRECATION WARNING: Passing a column to `quote` has been deprecated. It is only used for type casting, which should be handled elsewhere. See https://github.com/rails/arel/commit/6160bfbda1d1781c3b08a33ec4955f170e95be11 for more information. (called from update_column_in_batches at /builds/gitlab-org/gitlab-ce/lib/gitlab/database/migration_helpers.rb:335)2124FileSizeValidator2125 options uses an integer2126 attachment exceeds maximum limit2127 attachment under maximum limit2128 options uses a symbol2129 attachment exceeds maximum limit2130 attachment under maximum limit2131Dashboard::LabelsController2132 #index2133 returns global labels for projects the user has a relationship with2134Groups::LabelsController2135 GET #index2136 returns group and project labels by default2137 with ancestor group2138 returns ancestor group labels2139 POST #toggle_subscription2140 allows user to toggle subscription on group labels2141BoardsHelper2142 #build_issue_link_base2143 project board2144 returns correct path for project board2145 group board2146 returns correct path for base group2147 returns correct path for subgroup2148 #board_data2149 returns a board_lists_path as lists_endpoint2150Gitlab::GitalyClient::OperationService2151 #user_create_branch2152 sends a user_create_branch message and returns a Gitlab::git::Branch2153 when pre_receive_error is present2154 throws a PreReceive exception2155 #user_update_branch2156 sends a user_update_branch message2157 when pre_receive_error is present2158 throws a PreReceive exception2159 #user_delete_branch2160 sends a user_delete_branch message2161 when pre_receive_error is present2162 throws a PreReceive exception2163 #user_ff_branch2164 sends a user_ff_branch message and returns a BranchUpdate object2165 when the response has no branch_update2166 should be nil2167 #user_cherry_pick2168 behaves like cherry pick and revert errors2169 when a pre_receive_error is present2170 raises a PreReceiveError2171 when a commit_error is present2172 raises a CommitError2173 when a create_tree_error is present2174 raises a CreateTreeError2175 when branch_update is nil2176 should be nil2177 #user_revert2178 behaves like cherry pick and revert errors2179 when a pre_receive_error is present2180 raises a PreReceiveError2181 when a commit_error is present2182 raises a CommitError2183 when a create_tree_error is present2184 raises a CreateTreeError2185 when branch_update is nil2186 should be nil2187 #user_squash2188 sends a user_squash message and returns the squash sha2189 when git_error is present2190 raises a GitError exception2191 #user_commit_files2192 when a pre_receive_error is present2193 raises a PreReceiveError2194 when an index_error is present2195 raises a PreReceiveError2196 when branch_update is nil2197 should be nil2198 #user_commit_patches2199 applies the patch correctly2200 when the patch could not be applied2201 raises the correct error2202projects/issues/_related_branches2203 shows the related branches with their build status2204Admin::ApplicationsController2205 GET #new2206 renders the application form2207 GET #edit2208 renders the application form2209 POST #create2210 creates the application2211 renders the application form on errors2212 PATCH #update2213 updates the application2214 renders the application form on errors2215Gitlab::Git::RepositoryCleaner2216 #apply_bfg_object_map2217 from StringIO2218 removes internal references2219 from Gitlab::HttpIO2220 removes internal references2221LabelLink2222 should be valid2223 should belong to label2224 should belong to target2225Users::ActivityService2226 #execute2227 when last activity is nil2228 updates last_activity_on for the user2229 when last activity is in the past2230 updates last_activity_on for the user2231 tries to obtain ExclusiveLease2232 when a bad object is passed2233 does not record activity2234 when last activity is today2235 does not update last_activity_on2236 does not try to obtain ExclusiveLease2237 when in GitLab read-only instance2238 does not update last_activity_on2239 when a lease could not be obtained2240 does not update last_activity_on2241PublicUrlValidator2242 #validates_each2243 with no options2244 allows http,https protocols by default2245 checks that the url structure is valid2246 with protocols2247 allows urls with the defined protocols2248 add error if the url protocol does not match the selected ones2249 by default2250 blocks urls pointing to localhost2251 blocks urls pointing to the local network2252BlobViewer::ServerSide2253 #prepare!2254 loads all blob data2255 #render_error2256 when the blob is stored externally2257 return :server_side_but_stored_externally2258Banzai::Filter::WikiLinkFilter2259 doesn't rewrite absolute links2260 doesn't rewrite links to project uploads2261 when links point to the uploads folder2262 with an "a" html tag2263 rewrites links2264 with "img" html tag2265 inside an "a" html tag2266 rewrites links2267 outside an "a" html tag2268 rewrites links2269 with "video" html tag2270 rewrites links2271 invalid links2272 doesn't rewrite invalid invalid_links like http://:80802273 doesn't rewrite invalid invalid_links like http://2274 doesn't rewrite invalid invalid_links like http://:8080/path2275EnqueueVerifyPagesDomainWorkers2276 #up2277 enqueues a verification worker for every domain2278Arel performing automatic type casting is deprecated, and will be removed in Arel 8.0. If you are seeing this, it is because you are manually passing a value to an Arel predicate, and the `Arel::Table` object was constructed manually. The easiest way to remove this warning is to use an `Arel::Table` object returned from calling `arel_table` on an ActiveRecord::Base subclass.2279If you're certain the value is already of the right type, change `attribute.eq(value)` to `attribute.eq(Arel::Nodes::Quoted.new(value))` (you will be able to remove that in Arel 8.0, it is only required to silence this deprecation warning).2280You can also silence this warning globally by setting `$arel_silence_type_casting_deprecation` to `true`. (Do NOT do this if you are a library author)2281If you are passing user input to a predicate, you must either give an appropriate type caster object to the `Arel::Table`, or manually cast the value before passing it to Arel.2282DEPRECATION WARNING: Passing a column to `quote` has been deprecated. It is only used for type casting, which should be handled elsewhere. See https://github.com/rails/arel/commit/6160bfbda1d1781c3b08a33ec4955f170e95be11 for more information. (called from up at /builds/gitlab-org/gitlab-ce/db/migrate/20180413022611_create_missing_namespace_for_internal_users.rb:5)2283Arel performing automatic type casting is deprecated, and will be removed in Arel 8.0. If you are seeing this, it is because you are manually passing a value to an Arel predicate, and the `Arel::Table` object was constructed manually. The easiest way to remove this warning is to use an `Arel::Table` object returned from calling `arel_table` on an ActiveRecord::Base subclass.2284If you're certain the value is already of the right type, change `attribute.eq(value)` to `attribute.eq(Arel::Nodes::Quoted.new(value))` (you will be able to remove that in Arel 8.0, it is only required to silence this deprecation warning).2285You can also silence this warning globally by setting `$arel_silence_type_casting_deprecation` to `true`. (Do NOT do this if you are a library author)2286If you are passing user input to a predicate, you must either give an appropriate type caster object to the `Arel::Table`, or manually cast the value before passing it to Arel.2287DEPRECATION WARNING: Passing a column to `quote` has been deprecated. It is only used for type casting, which should be handled elsewhere. See https://github.com/rails/arel/commit/6160bfbda1d1781c3b08a33ec4955f170e95be11 for more information. (called from update_column_in_batches at /builds/gitlab-org/gitlab-ce/lib/gitlab/database/migration_helpers.rb:335)2288Arel performing automatic type casting is deprecated, and will be removed in Arel 8.0. If you are seeing this, it is because you are manually passing a value to an Arel predicate, and the `Arel::Table` object was constructed manually. The easiest way to remove this warning is to use an `Arel::Table` object returned from calling `arel_table` on an ActiveRecord::Base subclass.2289If you're certain the value is already of the right type, change `attribute.eq(value)` to `attribute.eq(Arel::Nodes::Quoted.new(value))` (you will be able to remove that in Arel 8.0, it is only required to silence this deprecation warning).2290You can also silence this warning globally by setting `$arel_silence_type_casting_deprecation` to `true`. (Do NOT do this if you are a library author)2291If you are passing user input to a predicate, you must either give an appropriate type caster object to the `Arel::Table`, or manually cast the value before passing it to Arel.2292DEPRECATION WARNING: Passing a column to `quote` has been deprecated. It is only used for type casting, which should be handled elsewhere. See https://github.com/rails/arel/commit/6160bfbda1d1781c3b08a33ec4955f170e95be11 for more information. (called from update_column_in_batches at /builds/gitlab-org/gitlab-ce/lib/gitlab/database/migration_helpers.rb:335)2293Arel performing automatic type casting is deprecated, and will be removed in Arel 8.0. If you are seeing this, it is because you are manually passing a value to an Arel predicate, and the `Arel::Table` object was constructed manually. The easiest way to remove this warning is to use an `Arel::Table` object returned from calling `arel_table` on an ActiveRecord::Base subclass.2294If you're certain the value is already of the right type, change `attribute.eq(value)` to `attribute.eq(Arel::Nodes::Quoted.new(value))` (you will be able to remove that in Arel 8.0, it is only required to silence this deprecation warning).2295You can also silence this warning globally by setting `$arel_silence_type_casting_deprecation` to `true`. (Do NOT do this if you are a library author)2296If you are passing user input to a predicate, you must either give an appropriate type caster object to the `Arel::Table`, or manually cast the value before passing it to Arel.2297DEPRECATION WARNING: Passing a column to `quote` has been deprecated. It is only used for type casting, which should be handled elsewhere. See https://github.com/rails/arel/commit/6160bfbda1d1781c3b08a33ec4955f170e95be11 for more information. (called from update_column_in_batches at /builds/gitlab-org/gitlab-ce/lib/gitlab/database/migration_helpers.rb:335)2298Arel performing automatic type casting is deprecated, and will be removed in Arel 8.0. If you are seeing this, it is because you are manually passing a value to an Arel predicate, and the `Arel::Table` object was constructed manually. The easiest way to remove this warning is to use an `Arel::Table` object returned from calling `arel_table` on an ActiveRecord::Base subclass.2299If you're certain the value is already of the right type, change `attribute.eq(value)` to `attribute.eq(Arel::Nodes::Quoted.new(value))` (you will be able to remove that in Arel 8.0, it is only required to silence this deprecation warning).2300You can also silence this warning globally by setting `$arel_silence_type_casting_deprecation` to `true`. (Do NOT do this if you are a library author)2301If you are passing user input to a predicate, you must either give an appropriate type caster object to the `Arel::Table`, or manually cast the value before passing it to Arel.2302DEPRECATION WARNING: Passing a column to `quote` has been deprecated. It is only used for type casting, which should be handled elsewhere. See https://github.com/rails/arel/commit/6160bfbda1d1781c3b08a33ec4955f170e95be11 for more information. (called from update_column_in_batches at /builds/gitlab-org/gitlab-ce/lib/gitlab/database/migration_helpers.rb:335)2303Arel performing automatic type casting is deprecated, and will be removed in Arel 8.0. If you are seeing this, it is because you are manually passing a value to an Arel predicate, and the `Arel::Table` object was constructed manually. The easiest way to remove this warning is to use an `Arel::Table` object returned from calling `arel_table` on an ActiveRecord::Base subclass.2304If you're certain the value is already of the right type, change `attribute.eq(value)` to `attribute.eq(Arel::Nodes::Quoted.new(value))` (you will be able to remove that in Arel 8.0, it is only required to silence this deprecation warning).2305You can also silence this warning globally by setting `$arel_silence_type_casting_deprecation` to `true`. (Do NOT do this if you are a library author)2306If you are passing user input to a predicate, you must either give an appropriate type caster object to the `Arel::Table`, or manually cast the value before passing it to Arel.2307DEPRECATION WARNING: Passing a column to `quote` has been deprecated. It is only used for type casting, which should be handled elsewhere. See https://github.com/rails/arel/commit/6160bfbda1d1781c3b08a33ec4955f170e95be11 for more information. (called from update_column_in_batches at /builds/gitlab-org/gitlab-ce/lib/gitlab/database/migration_helpers.rb:335)2308Arel performing automatic type casting is deprecated, and will be removed in Arel 8.0. If you are seeing this, it is because you are manually passing a value to an Arel predicate, and the `Arel::Table` object was constructed manually. The easiest way to remove this warning is to use an `Arel::Table` object returned from calling `arel_table` on an ActiveRecord::Base subclass.2309If you're certain the value is already of the right type, change `attribute.eq(value)` to `attribute.eq(Arel::Nodes::Quoted.new(value))` (you will be able to remove that in Arel 8.0, it is only required to silence this deprecation warning).2310You can also silence this warning globally by setting `$arel_silence_type_casting_deprecation` to `true`. (Do NOT do this if you are a library author)2311If you are passing user input to a predicate, you must either give an appropriate type caster object to the `Arel::Table`, or manually cast the value before passing it to Arel.2312DEPRECATION WARNING: Passing a column to `quote` has been deprecated. It is only used for type casting, which should be handled elsewhere. See https://github.com/rails/arel/commit/6160bfbda1d1781c3b08a33ec4955f170e95be11 for more information. (called from update_column_in_batches at /builds/gitlab-org/gitlab-ce/lib/gitlab/database/migration_helpers.rb:335)2313Arel performing automatic type casting is deprecated, and will be removed in Arel 8.0. If you are seeing this, it is because you are manually passing a value to an Arel predicate, and the `Arel::Table` object was constructed manually. The easiest way to remove this warning is to use an `Arel::Table` object returned from calling `arel_table` on an ActiveRecord::Base subclass.2314If you're certain the value is already of the right type, change `attribute.eq(value)` to `attribute.eq(Arel::Nodes::Quoted.new(value))` (you will be able to remove that in Arel 8.0, it is only required to silence this deprecation warning).2315You can also silence this warning globally by setting `$arel_silence_type_casting_deprecation` to `true`. (Do NOT do this if you are a library author)2316If you are passing user input to a predicate, you must either give an appropriate type caster object to the `Arel::Table`, or manually cast the value before passing it to Arel.2317DEPRECATION WARNING: Passing a column to `quote` has been deprecated. It is only used for type casting, which should be handled elsewhere. See https://github.com/rails/arel/commit/6160bfbda1d1781c3b08a33ec4955f170e95be11 for more information. (called from update_column_in_batches at /builds/gitlab-org/gitlab-ce/lib/gitlab/database/migration_helpers.rb:335)2318Arel performing automatic type casting is deprecated, and will be removed in Arel 8.0. If you are seeing this, it is because you are manually passing a value to an Arel predicate, and the `Arel::Table` object was constructed manually. The easiest way to remove this warning is to use an `Arel::Table` object returned from calling `arel_table` on an ActiveRecord::Base subclass.2319If you're certain the value is already of the right type, change `attribute.eq(value)` to `attribute.eq(Arel::Nodes::Quoted.new(value))` (you will be able to remove that in Arel 8.0, it is only required to silence this deprecation warning).2320You can also silence this warning globally by setting `$arel_silence_type_casting_deprecation` to `true`. (Do NOT do this if you are a library author)2321If you are passing user input to a predicate, you must either give an appropriate type caster object to the `Arel::Table`, or manually cast the value before passing it to Arel.2322DEPRECATION WARNING: Passing a column to `quote` has been deprecated. It is only used for type casting, which should be handled elsewhere. See https://github.com/rails/arel/commit/6160bfbda1d1781c3b08a33ec4955f170e95be11 for more information. (called from update_column_in_batches at /builds/gitlab-org/gitlab-ce/lib/gitlab/database/migration_helpers.rb:335)2323Arel performing automatic type casting is deprecated, and will be removed in Arel 8.0. If you are seeing this, it is because you are manually passing a value to an Arel predicate, and the `Arel::Table` object was constructed manually. The easiest way to remove this warning is to use an `Arel::Table` object returned from calling `arel_table` on an ActiveRecord::Base subclass.2324If you're certain the value is already of the right type, change `attribute.eq(value)` to `attribute.eq(Arel::Nodes::Quoted.new(value))` (you will be able to remove that in Arel 8.0, it is only required to silence this deprecation warning).2325You can also silence this warning globally by setting `$arel_silence_type_casting_deprecation` to `true`. (Do NOT do this if you are a library author)2326If you are passing user input to a predicate, you must either give an appropriate type caster object to the `Arel::Table`, or manually cast the value before passing it to Arel.2327DEPRECATION WARNING: Passing a column to `quote` has been deprecated. It is only used for type casting, which should be handled elsewhere. See https://github.com/rails/arel/commit/6160bfbda1d1781c3b08a33ec4955f170e95be11 for more information. (called from update_column_in_batches at /builds/gitlab-org/gitlab-ce/lib/gitlab/database/migration_helpers.rb:335)2328Arel performing automatic type casting is deprecated, and will be removed in Arel 8.0. If you are seeing this, it is because you are manually passing a value to an Arel predicate, and the `Arel::Table` object was constructed manually. The easiest way to remove this warning is to use an `Arel::Table` object returned from calling `arel_table` on an ActiveRecord::Base subclass.2329If you're certain the value is already of the right type, change `attribute.eq(value)` to `attribute.eq(Arel::Nodes::Quoted.new(value))` (you will be able to remove that in Arel 8.0, it is only required to silence this deprecation warning).2330You can also silence this warning globally by setting `$arel_silence_type_casting_deprecation` to `true`. (Do NOT do this if you are a library author)2331If you are passing user input to a predicate, you must either give an appropriate type caster object to the `Arel::Table`, or manually cast the value before passing it to Arel.2332DEPRECATION WARNING: Passing a column to `quote` has been deprecated. It is only used for type casting, which should be handled elsewhere. See https://github.com/rails/arel/commit/6160bfbda1d1781c3b08a33ec4955f170e95be11 for more information. (called from update_column_in_batches at /builds/gitlab-org/gitlab-ce/lib/gitlab/database/migration_helpers.rb:335)2333Arel performing automatic type casting is deprecated, and will be removed in Arel 8.0. If you are seeing this, it is because you are manually passing a value to an Arel predicate, and the `Arel::Table` object was constructed manually. The easiest way to remove this warning is to use an `Arel::Table` object returned from calling `arel_table` on an ActiveRecord::Base subclass.2334If you're certain the value is already of the right type, change `attribute.eq(value)` to `attribute.eq(Arel::Nodes::Quoted.new(value))` (you will be able to remove that in Arel 8.0, it is only required to silence this deprecation warning).2335You can also silence this warning globally by setting `$arel_silence_type_casting_deprecation` to `true`. (Do NOT do this if you are a library author)2336If you are passing user input to a predicate, you must either give an appropriate type caster object to the `Arel::Table`, or manually cast the value before passing it to Arel.2337DEPRECATION WARNING: Passing a column to `quote` has been deprecated. It is only used for type casting, which should be handled elsewhere. See https://github.com/rails/arel/commit/6160bfbda1d1781c3b08a33ec4955f170e95be11 for more information. (called from update_column_in_batches at /builds/gitlab-org/gitlab-ce/lib/gitlab/database/migration_helpers.rb:335)2338MigrateCreateTraceArtifactSidekiqQueue2339 when there are jobs in the queues2340Passing 'flushdb' command to redis as is; administrative commands cannot be effectively namespaced and should be called on the redis connection directly; passthrough has been deprecated and will be removed in redis-namespace 2.0 (at /builds/gitlab-org/gitlab-ce/spec/support/sidekiq.rb:33:in `block (3 levels) in <top (required)>')2341 correctly migrates queue when migrating up2342Passing 'flushdb' command to redis as is; administrative commands cannot be effectively namespaced and should be called on the redis connection directly; passthrough has been deprecated and will be removed in redis-namespace 2.0 (at /builds/gitlab-org/gitlab-ce/spec/support/sidekiq.rb:33:in `block (3 levels) in <top (required)>')2343 does not affect other queues under the same namespace2344Passing 'flushdb' command to redis as is; administrative commands cannot be effectively namespaced and should be called on the redis connection directly; passthrough has been deprecated and will be removed in redis-namespace 2.0 (at /builds/gitlab-org/gitlab-ce/spec/support/sidekiq.rb:33:in `block (3 levels) in <top (required)>')2345 correctly migrates queue when migrating down2346 when there are no jobs in the queues2347Passing 'flushdb' command to redis as is; administrative commands cannot be effectively namespaced and should be called on the redis connection directly; passthrough has been deprecated and will be removed in redis-namespace 2.0 (at /builds/gitlab-org/gitlab-ce/spec/support/sidekiq.rb:33:in `block (3 levels) in <top (required)>')2348 does not raise error when migrating up2349Passing 'flushdb' command to redis as is; administrative commands cannot be effectively namespaced and should be called on the redis connection directly; passthrough has been deprecated and will be removed in redis-namespace 2.0 (at /builds/gitlab-org/gitlab-ce/spec/support/sidekiq.rb:33:in `block (3 levels) in <top (required)>')2350 does not raise error when migrating down2351Gitlab::GithubImport::Stage::ImportLfsObjectsWorker2352 #import2353 imports all the lfs objects2354Banzai::Filter::TableOfContentsFilter2355 does nothing when :no_header_anchors is truthy2356 does nothing with empty headers2357 processes h1 elements2358 processes h2 elements2359 processes h3 elements2360 processes h4 elements2361 processes h5 elements2362 processes h6 elements2363 anchor tag2364 has an `anchor` class2365 has a namespaced id2366 links to the non-namespaced id2367 generated IDs2368 translates spaces to dashes2369 squeezes multiple spaces and dashes2370 removes punctuation2371 appends a unique number to duplicates2372 prepends a prefix to digits-only ids2373 supports Unicode2374 result2375 is contained within a `ul` element2376 contains an `li` element for each header2377 table of contents nesting2378 keeps list levels regarding header levels2379 header text contains escaped content2380 outputs escaped content2381DiffViewer::ServerSide2382 #prepare!2383 loads all diff file data2384 #render_error2385 when the diff file is stored externally2386 return :server_side_but_stored_externally2387 #render_error_reason2388 when the diff file is stored externally2389 returns error message if stored in LFS2390 returns error message if stored externally2391LfsObject2392 #local_store?2393 returns true when file_store is equal to LfsObjectUploader::Store::LOCAL2394 returns false when file_store is equal to LfsObjectUploader::Store::REMOTE2395 #schedule_background_upload2396 when object storage is disabled2397 does not schedule the migration2398 when object storage is enabled2399 when background upload is enabled2400 when is licensed2401 schedules the model for migration2402 schedules the model for migration once2403 when background upload is disabled2404 schedules the model for migration2405 file is being stored2406 when existing object has local store2407 is stored locally2408 when direct upload is enabled2409 when file is stored2410 is stored remotely2411Gitlab::Diff::Parser2412 #parse2413 should eq 302414 lines2415 first line2416 should eq "match"2417 should eq 62418 should eq 62419 should eq "@@ -6,12 +6,18 @@ module Popen"2420 removal line2421 should eq "old"2422 should eq 142423 should eq 132424 should eq "- options = { chdir: path }"2425 addition line2426 should eq "new"2427 should eq 152428 should eq 182429 should eq "+ options = {"2430 unchanged line2431 should eq nil2432 should eq 242433 should eq 312434 should eq " @cmd_output << stderr.read"2435 \ No newline at end of file2436 parses nonewline in one file correctly2437 parses nonewline in two files correctly2438 when lines is empty2439 should eq []2440 should eq []2441 tolerates special diff markers in a content2442 counts lines correctly2443Gitlab::UntrustedRegexp2444 .valid?2445 returns true if regexp is valid2446 returns true if regexp is invalid2447 .fabricate2448 when regexp is using /regexp/ scheme with flags2449 fabricates regexp with a single flag2450 fabricates regexp with multiple flags2451 fabricates regexp without flags2452 when regexp is a raw pattern2453 raises an error2454 #initialize2455 invalid regexp2456 should raise RegexpError2457 #replace_all2458 replaces all instances of the match in a string2459 #replace2460 replaces the first instance of the match in a string2461 #===2462 returns true for a match2463 returns false for no match2464 can handle regular expressions in multiline mode2465 #scan2466 malicious regexp2467 takes under a second2468 empty regexp2469 returns an array of nil matches2470 empty capture group regexp2471 returns an array of nil matches in an array2472 no capture group2473 returns the whole match2474 one capture group2475 returns the captured part2476 two capture groups2477 returns the captured parts2478GroupVariableEntity2479 #as_json2480 contains required fields2481Gitlab::GithubImport::Representation::Note2482 .from_api_response2483 does not set the user if the response did not include a user2484 behaves like a Note2485 returns an instance of Note2486 the returned Note2487 includes the noteable ID2488 includes the noteable type2489 includes the author details2490 includes the note body2491 includes the created timestamp2492 includes the updated timestamp2493 includes the GitHub ID2494 .from_json_hash2495 does not convert the author if it was not specified2496 behaves like a Note2497 returns an instance of Note2498 the returned Note2499 includes the noteable ID2500 includes the noteable type2501 includes the author details2502 includes the note body2503 includes the created timestamp2504 includes the updated timestamp2505 includes the GitHub ID2506Admin::RequestsProfilesController2507 #show2508 loads an HTML profile2509Gitlab::PagesClient2510 .token2511 returns the token as it is on disk (PENDING: add omnibus support for generating the secret file https://gitlab.com/gitlab-org/omnibus-gitlab/merge_requests/2466)2512 .read_or_create_token2513 uses the existing token file if it exists2514 creates one if none exists (PENDING: add omnibus support for generating the secret file https://gitlab.com/gitlab-org/omnibus-gitlab/merge_requests/2466)2515 .write_token2516 writes the secret2517 does nothing if the file already exists2518 .load_certificate2519 with no certificate in the config2520 does not set @certificate2521 with a certificate path in the config2522 sets @certificate2523 .request_kwargs2524 without timeout2525 should eq "Bearer c2VjcmV0IHRva2Vu"2526 with timeout2527 still sets the authorization header2528 sets a deadline value2529 .stub2530 should be a kind of Grpc::Health::V1::Health::Stub2531 .address2532 with a unix: address2533 should eq "unix:/foo/bar"2534 with a tcp:// address2535 should eq "localhost:1234"2536 .grpc_creds2537 with a unix: address2538 should eq :this_channel_is_insecure2539 with a tcp:// address2540 should be a kind of GRPC::Core::ChannelCredentials2541processing of SAMLResponse in dependencies2542 can extract AuthnContextClassRef from SAMLResponse param2543Gitlab::CorrelationId2544 .use_id2545 yields when executed2546 stacks correlation ids2547 for missing correlation id it generates random one2548 .current_id2549 returns last correlation id2550 .current_or_new_id2551 when correlation id is set2552 returns last correlation id2553 when correlation id is missing2554 returns a new correlation id2555 .ids2556 returns empty list if not correlation is used2557 returns list if correlation ids are used2558Gitlab::Ci::Config::Entry::Artifacts2559 validation2560 when entry config value is correct2561 #value2562 returns artifacts configuration2563 #valid?2564 is valid2565 when value includes 'reports' keyword2566 returns general artifact and report-type artifacts configuration2567 when entry value is not correct2568 #errors2569 when value of attribute is invalid2570 reports error2571 when there is an unknown key present2572 reports error2573 when 'reports' keyword is not hash2574 reports error2575Gitlab::Diff::Formatters::ImageFormatter2576 behaves like position formatter2577 #key2578 should eq [123, 456, 789, "8b5f87754bd090b9e0837feef68f1737103de62b", "5b972068ce0905d88056d0c4b788554d34949d27", 1, 2]2579 #complete?2580 when there are missing key attributes2581 should be truthy2582 when old_line and new_line are nil2583 should be falsy2584 #to_h2585 should eq {:base_sha=>123, :start_sha=>456, :head_sha=>789, :old_path=>"old_image.png", :new_path=>"new_image.png", :position_type=>"image", :width=>100, :height=>100, :x=>1, :y=>2}2586 #==2587 should eq #<Gitlab::Diff::Formatters::ImageFormatter:0x000055b2acbaf9f0 @x=1, @y=2, @width=100, @height=100, @old_path="old_image.png", @new_path="new_image.png", @base_sha=123, @start_sha=456, @head_sha=789>2588Gitlab::Git::Conflict::File2589 #lines2590 when the content contains non-UTF-8 characters2591 raises UnsupportedEncoding2592 when the content can be converted to UTF-82593 sets lines to the lines2594 sets the type to text2595 #content2596 when the content contains non-UTF-8 characters2597 raises UnsupportedEncoding2598 when the content can be converted to UTF-82599 returns a valid UTF-8 string2600TestReportsComparerEntity2601 #as_json2602 when head and base reports include two test suites2603 when the status of head report is success2604 contains correct compared test reports details2605 when the status of head report is failed2606 contains correct compared test reports details2607 when the status of head report is resolved2608 contains correct compared test reports details2609ExploreHelper2610 #explore_nav_links2611 has all the expected links by default2612Gitlab::LegacyGithubImport::IssuableFormatter2613 #project_association2614 should raise NotImplementedError2615 #number2616 should eq 422617 #find_condition2618 should eq {:iid=>42}2619BitbucketServer::Collection2620 #current_page2621 returns 12622 #prev_page2623 returns nil2624 #next_page2625 returns 22626Gitlab::Git::BundleFile2627 .check!2628 returns nil for a valid bundle2629 raises an exception for an invalid bundle2630Gitlab::Metrics::Delta2631 #compared_with2632 returns the delta as a Numeric2633 bases the delta on a previously used value2634Gitlab::Diff::Line2635 .init_from_hash2636 round-trips correctly with to_hash2637 when setting rich text2638 escapes any HTML special characters in the diff chunk header2639Knapsack report was generated. Preview:2640{2641 "spec/services/todo_service_spec.rb": 125.85235285758972,2642 "spec/models/gpg_key_spec.rb": 68.41606450080872,2643 "spec/features/issuables/markdown_references/internal_references_spec.rb": 42.48143792152405,2644 "spec/features/issues/issue_sidebar_spec.rb": 162.6664879322052,2645 "spec/services/clusters/applications/create_service_spec.rb": 27.805047273635864,2646 "spec/controllers/groups/clusters_controller_spec.rb": 24.282007217407227,2647 "spec/controllers/autocomplete_controller_spec.rb": 17.992634057998657,2648 "spec/features/groups/issues_spec.rb": 77.21198534965515,2649 "spec/features/merge_requests/user_lists_merge_requests_spec.rb": 20.37898564338684,2650 "spec/features/projects/ci/lint_spec.rb": 12.917612075805664,2651 "spec/features/admin/admin_appearance_spec.rb": 10.979437589645386,2652 "spec/services/boards/issues/move_service_spec.rb": 12.138070583343506,2653 "spec/features/merge_request/user_sees_mr_with_deleted_source_branch_spec.rb": 9.166865587234497,2654 "spec/features/projects/settings/forked_project_settings_spec.rb": 9.170242309570312,2655 "spec/controllers/projects/commit_controller_spec.rb": 7.43053936958313,2656 "spec/models/container_repository_spec.rb": 4.935048341751099,2657 "spec/features/projects/files/user_searches_for_files_spec.rb": 5.4354918003082275,2658 "spec/features/projects/settings/user_manages_project_members_spec.rb": 7.172101736068726,2659 "spec/features/groups/board_spec.rb": 3.345578670501709,2660 "spec/requests/api/group_boards_spec.rb": 5.103379964828491,2661 "spec/features/merge_request/user_sees_notes_from_forked_project_spec.rb": 6.054901361465454,2662 "spec/lib/gitlab/github_import/importer/pull_requests_importer_spec.rb": 2.8097305297851562,2663 "spec/uploaders/personal_file_uploader_spec.rb": 3.3608407974243164,2664 "spec/features/ics/project_issues_spec.rb": 2.864492177963257,2665 "spec/features/projects/milestones/user_interacts_with_labels_spec.rb": 3.9188876152038574,2666 "spec/models/fork_network_spec.rb": 3.5764312744140625,2667 "spec/services/clusters/gcp/kubernetes/create_or_update_service_account_service_spec.rb": 3.745988130569458,2668 "spec/workers/remove_expired_members_worker_spec.rb": 4.486882925033569,2669 "spec/lib/gitlab/diff/highlight_spec.rb": 3.8666911125183105,2670 "spec/features/snippets/internal_snippet_spec.rb": 2.1879005432128906,2671 "spec/controllers/groups/uploads_controller_spec.rb": 3.702542304992676,2672 "spec/features/abuse_report_spec.rb": 2.109675645828247,2673 "spec/models/project_auto_devops_spec.rb": 2.407322645187378,2674 "spec/features/admin/dashboard_spec.rb": 1.9374382495880127,2675 "spec/views/shared/notes/_form.html.haml_spec.rb": 1.556922197341919,2676 "spec/features/projects/settings/user_tags_project_spec.rb": 2.298170804977417,2677 "spec/workers/create_gpg_signature_worker_spec.rb": 1.7095370292663574,2678 "spec/lib/gitlab/ci/status/build/common_spec.rb": 1.904374599456787,2679 "spec/lib/gitlab/ci/config/external/file/project_spec.rb": 1.3285605907440186,2680 "spec/presenters/commit_presenter_spec.rb": 1.1870548725128174,2681 "spec/models/suggestion_spec.rb": 1.7975704669952393,2682 "spec/lib/gitlab/auth/ldap/user_spec.rb": 1.3861055374145508,2683 "spec/models/hooks/project_hook_spec.rb": 0.955237865447998,2684 "spec/tasks/gitlab/git_rake_spec.rb": 1.114318609237671,2685 "spec/rack_servers/unicorn_spec.rb": 1.0287587642669678,2686 "spec/workers/concerns/project_import_options_spec.rb": 1.006007194519043,2687 "spec/validators/branch_filter_validator_spec.rb": 0.9457764625549316,2688 "spec/models/user_agent_detail_spec.rb": 0.7487478256225586,2689 "spec/migrations/cleanup_build_stage_migration_spec.rb": 0.7628738880157471,2690 "spec/lib/file_size_validator_spec.rb": 1.300658941268921,2691 "spec/controllers/dashboard/labels_controller_spec.rb": 0.6555960178375244,2692 "spec/controllers/groups/labels_controller_spec.rb": 0.4985964298248291,2693 "spec/helpers/boards_helper_spec.rb": 0.6077051162719727,2694 "spec/lib/gitlab/gitaly_client/operation_service_spec.rb": 0.5794014930725098,2695 "spec/views/projects/issues/_related_branches.html.haml_spec.rb": 0.5153243541717529,2696 "spec/controllers/admin/applications_controller_spec.rb": 0.48198890686035156,2697 "spec/lib/gitlab/git/repository_cleaner_spec.rb": 0.37801289558410645,2698 "spec/models/label_link_spec.rb": 0.4594547748565674,2699 "spec/services/users/activity_service_spec.rb": 0.3804330825805664,2700 "spec/validators/public_url_validator_spec.rb": 0.22889423370361328,2701 "spec/models/blob_viewer/server_side_spec.rb": 0.09670639038085938,2702 "spec/lib/banzai/filter/wiki_link_filter_spec.rb": 0.22121167182922363,2703 "spec/migrations/enqueue_verify_pages_domain_workers_spec.rb": 0.2180342674255371,2704 "spec/migrations/migrate_create_trace_artifact_sidekiq_queue_spec.rb": 0.26485276222229004,2705 "spec/workers/gitlab/github_import/stage/import_lfs_objects_worker_spec.rb": 0.42713451385498047,2706 "spec/lib/banzai/filter/table_of_contents_filter_spec.rb": 0.07372188568115234,2707 "spec/models/diff_viewer/server_side_spec.rb": 0.17040586471557617,2708 "spec/models/lfs_object_spec.rb": 0.12548375129699707,2709 "spec/lib/gitlab/diff/parser_spec.rb": 0.06627321243286133,2710 "spec/lib/gitlab/untrusted_regexp_spec.rb": 0.04594087600708008,2711 "spec/serializers/group_variable_entity_spec.rb": 0.07202291488647461,2712 "spec/lib/gitlab/github_import/representation/note_spec.rb": 0.04922080039978027,2713 "spec/controllers/admin/requests_profiles_controller_spec.rb": 0.04376077651977539,2714 "spec/lib/gitlab/pages_client_spec.rb": 0.04123282432556152,2715 "spec/dependencies/omniauth_saml_spec.rb": 0.019329309463500977,2716 "spec/lib/gitlab/correlation_id_spec.rb": 0.019865036010742188,2717 "spec/lib/gitlab/ci/config/entry/artifacts_spec.rb": 0.019179821014404297,2718 "spec/lib/gitlab/diff/formatters/image_formatter_spec.rb": 0.012328624725341797,2719 "spec/lib/gitlab/git/conflict/file_spec.rb": 0.01267385482788086,2720 "spec/serializers/test_reports_comparer_entity_spec.rb": 0.013427972793579102,2721 "spec/helpers/explore_helper_spec.rb": 0.012300491333007812,2722 "spec/lib/gitlab/legacy_github_import/issuable_formatter_spec.rb": 0.008991241455078125,2723 "spec/lib/bitbucket_server/collection_spec.rb": 0.0099029541015625,2724 "spec/lib/gitlab/git/bundle_file_spec.rb": 0.005374908447265625,2725 "spec/lib/gitlab/metrics/delta_spec.rb": 0.0056362152099609375,2726 "spec/lib/gitlab/diff/line_spec.rb": 0.00627493858337402342727}2728Knapsack global time execution for tests: 12m 09s2729Pending: (Failures listed here are expected and do not affect your suite's status)2730 1) PersonalFileUploader behaves like builds correct paths #cache_dir behaves like matches the method pattern 2731 # No pattern provided, skipping.2732 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:62733 2) PersonalFileUploader behaves like builds correct paths #work_dir behaves like matches the method pattern 2734 # No pattern provided, skipping.2735 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:62736 3) PersonalFileUploader behaves like builds correct paths #relative_path is relative2737 # Path not set, skipping.2738 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:372739 4) PersonalFileUploader behaves like builds correct paths .base_dir behaves like matches the method pattern 2740 # No pattern provided, skipping.2741 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:62742 5) PersonalFileUploader object_store is REMOTE behaves like builds correct paths #cache_dir behaves like matches the method pattern 2743 # No pattern provided, skipping.2744 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:62745 6) PersonalFileUploader object_store is REMOTE behaves like builds correct paths #work_dir behaves like matches the method pattern 2746 # No pattern provided, skipping.2747 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:62748 7) PersonalFileUploader object_store is REMOTE behaves like builds correct paths #relative_path is relative2749 # Path not set, skipping.2750 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:372751 8) PersonalFileUploader object_store is REMOTE behaves like builds correct paths .absolute_path behaves like matches the method pattern 2752 # No pattern provided, skipping.2753 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:62754 9) PersonalFileUploader object_store is REMOTE behaves like builds correct paths .base_dir behaves like matches the method pattern 2755 # No pattern provided, skipping.2756 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:62757 10) Gitlab::PagesClient.token returns the token as it is on disk2758 # add omnibus support for generating the secret file https://gitlab.com/gitlab-org/omnibus-gitlab/merge_requests/24662759 Failure/Error: expect(subject.token).to eq(File.read('.gitlab_pages_secret'))2760 Errno::ENOENT:2761 No such file or directory @ rb_sysopen - .gitlab_pages_secret2762 # ./spec/lib/gitlab/pages_client_spec.rb:9:in `read'2763 # ./spec/lib/gitlab/pages_client_spec.rb:9:in `block (3 levels) in <top (required)>'2764 11) Gitlab::PagesClient.read_or_create_token creates one if none exists2765 # add omnibus support for generating the secret file https://gitlab.com/gitlab-org/omnibus-gitlab/merge_requests/24662766 Failure/Error: expect(described_class.token.bytesize).to eq(64)2767 expected: 642768 got: 152769 (compared using ==)2770 # ./spec/lib/gitlab/pages_client_spec.rb:37:in `block (3 levels) in <top (required)>'2771Finished in 13 minutes 5 seconds (files took 11.62 seconds to load)2772913 examples, 0 failures, 11 pending2774$ date2775Wed Feb 27 08:39:02 UTC 20192778coverage/: found 5 matching files 2779knapsack/: found 4 matching files 2780rspec_flaky/: found 4 matching files 2781tmp/capybara/: found 7 matching files 2782Uploading artifacts to coordinator... ok id=168352959 responseStatus=201 Created token=LHySJYqs2783Uploading artifacts...2784junit_rspec.xml: found 1 matching files 2785Uploading artifacts to coordinator... ok id=168352959 responseStatus=201 Created token=LHySJYqs2786Job succeeded