rspec-pg 33/50
Passed Started
by
@eread

Evan Read
1Running with gitlab-runner 11.9.0-rc2 (227934c0)2 on prm-com-gitlab-org ae3bfce23Using 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:5e8319b0f67bf0c214dd4e43a1155a69ecbfdcd6ce2739da155a81e6d15ab303 for postgres:9.6 ...7Starting service redis:alpine ...8Pulling docker image redis:alpine ...9Using docker image sha256:3d2a373f46ae28f3376c356d27210759aa9348fd94c517cf77e9df2a2c41c37f 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:ac6482d398ed0ce8bef4327b0bb15dfe815331f073f5b6ba3e04c5cd8317402d 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-ae3bfce2-project-13083-concurrent-0 via runner-ae3bfce2-prm-1552526711-62c532e0...
00:01
15Fetching changes with git depth set to 20...16Created fresh repository.18 * [new branch] master -> origin/master19Checking out ae8cbffa as master...20Skipping Git submodules setup22Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/13083/debian-stretch-ruby-2.5.3-node-10.x-3 23Successfully extracted cache25Downloading artifacts from coordinator... ok id=177320529 responseStatus=200 OK token=X8zvZUGm26Downloading artifacts for compile-assets (177320531)...27Downloading artifacts from coordinator... ok id=177320531 responseStatus=200 OK token=LucBTJi328Downloading artifacts for setup-test-env (177320533)...29Downloading artifacts from coordinator... ok id=177320533 responseStatus=200 OK token=GssumYh330WARNING: tmp/tests/gitlab-shell/.gitlab_shell_secret: chmod tmp/tests/gitlab-shell/.gitlab_shell_secret: no such file or directory (suppressing repeats) 32Bundler version 1.17.233$ date34Thu Mar 14 02:15:49 UTC 201935$ source scripts/utils.sh36$ date37Thu Mar 14 02:15:49 UTC 201938$ source scripts/prepare_build.sh39Warning: 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`.40The Gemfile's dependencies are satisfied41Successfully installed knapsack-1.17.1421 gem installed43CREATE ROLE44GRANT45Dropped database 'gitlabhq_test'46Created database 'gitlabhq_test'47-- enable_extension("plpgsql")48 -> 0.0291s49-- enable_extension("pg_trgm")50 -> 0.0171s51-- create_table("abuse_reports", {:force=>:cascade})52 -> 0.0133s53-- create_table("appearances", {:force=>:cascade})54 -> 0.0114s55-- create_table("application_setting_terms", {:force=>:cascade})56 -> 0.0098s57-- create_table("application_settings", {:force=>:cascade})58 -> 0.0609s59-- create_table("audit_events", {:force=>:cascade})60 -> 0.0183s61-- create_table("award_emoji", {:force=>:cascade})62 -> 0.0247s63-- create_table("badges", {:force=>:cascade})64 -> 0.0244s65-- create_table("board_group_recent_visits", {:id=>:bigserial, :force=>:cascade})66 -> 0.0334s67-- create_table("board_project_recent_visits", {:id=>:bigserial, :force=>:cascade})68 -> 0.0338s69-- create_table("boards", {:force=>:cascade})70 -> 0.0206s71-- create_table("broadcast_messages", {:force=>:cascade})72 -> 0.0178s73-- create_table("chat_names", {:force=>:cascade})74 -> 0.0246s75-- create_table("chat_teams", {:force=>:cascade})76 -> 0.0186s77-- create_table("ci_build_trace_chunks", {:id=>:bigserial, :force=>:cascade})78 -> 0.0174s79-- create_table("ci_build_trace_section_names", {:force=>:cascade})80 -> 0.0165s81-- create_table("ci_build_trace_sections", {:force=>:cascade})82 -> 0.0263s83-- create_table("ci_builds", {:force=>:cascade})84 -> 0.1459s85-- create_table("ci_builds_metadata", {:force=>:cascade})86 -> 0.0237s87-- create_table("ci_builds_runner_session", {:id=>:bigserial, :force=>:cascade})88 -> 0.0181s89-- create_table("ci_group_variables", {:force=>:cascade})90 -> 0.0202s91-- create_table("ci_job_artifacts", {:force=>:cascade})92 -> 0.0374s93-- create_table("ci_pipeline_chat_data", {:id=>:bigserial, :force=>:cascade})94 -> 0.0232s95-- create_table("ci_pipeline_schedule_variables", {:force=>:cascade})96 -> 0.0180s97-- create_table("ci_pipeline_schedules", {:force=>:cascade})98 -> 0.0308s99-- create_table("ci_pipeline_variables", {:force=>:cascade})100 -> 0.0167s101-- create_table("ci_pipelines", {:force=>:cascade})102 -> 0.0925s103-- create_table("ci_runner_namespaces", {:force=>:cascade})104 -> 0.0229s105-- create_table("ci_runner_projects", {:force=>:cascade})106 -> 0.0198s107-- create_table("ci_runners", {:force=>:cascade})108 -> 0.0529s109-- create_table("ci_stages", {:force=>:cascade})110 -> 0.0366s111-- create_table("ci_trigger_requests", {:force=>:cascade})112 -> 0.0253s113-- create_table("ci_triggers", {:force=>:cascade})114 -> 0.0238s115-- create_table("ci_variables", {:force=>:cascade})116 -> 0.0197s117-- create_table("cluster_groups", {:force=>:cascade})118 -> 0.0217s119-- create_table("cluster_platforms_kubernetes", {:force=>:cascade})120 -> 0.0191s121-- create_table("cluster_projects", {:force=>:cascade})122 -> 0.0208s123-- create_table("cluster_providers_gcp", {:force=>:cascade})124 -> 0.0183s125-- create_table("clusters", {:force=>:cascade})126 -> 0.0253s127-- create_table("clusters_applications_cert_managers", {:force=>:cascade})128 -> 0.0170s129-- create_table("clusters_applications_helm", {:force=>:cascade})130 -> 0.0196s131-- create_table("clusters_applications_ingress", {:force=>:cascade})132 -> 0.0164s133-- create_table("clusters_applications_jupyter", {:force=>:cascade})134 -> 0.0242s135-- create_table("clusters_applications_knative", {:force=>:cascade})136 -> 0.0197s137-- create_table("clusters_applications_prometheus", {:force=>:cascade})138 -> 0.0164s139-- create_table("clusters_applications_runners", {:force=>:cascade})140 -> 0.0242s141-- create_table("clusters_kubernetes_namespaces", {:id=>:bigserial, :force=>:cascade})142 -> 0.0372s143-- create_table("container_repositories", {:force=>:cascade})144 -> 0.0223s145-- create_table("conversational_development_index_metrics", {:force=>:cascade})146 -> 0.0134s147-- create_table("deploy_keys_projects", {:force=>:cascade})148 -> 0.0146s149-- create_table("deploy_tokens", {:force=>:cascade})150 -> 0.0244s151-- create_table("deployments", {:force=>:cascade})152 -> 0.0675s153-- create_table("emails", {:force=>:cascade})154 -> 0.0278s155-- create_table("environments", {:force=>:cascade})156 -> 0.0243s157-- create_table("events", {:force=>:cascade})158 -> 0.0408s159-- create_table("feature_gates", {:force=>:cascade})160 -> 0.0169s161-- create_table("features", {:force=>:cascade})162 -> 0.0158s163-- create_table("fork_network_members", {:force=>:cascade})164 -> 0.0266s165-- create_table("fork_networks", {:force=>:cascade})166 -> 0.0174s167-- create_table("forked_project_links", {:force=>:cascade})168 -> 0.0140s169-- create_table("gpg_key_subkeys", {:force=>:cascade})170 -> 0.0310s171-- create_table("gpg_keys", {:force=>:cascade})172 -> 0.0306s173-- create_table("gpg_signatures", {:force=>:cascade})174 -> 0.0432s175-- create_table("group_custom_attributes", {:force=>:cascade})176 -> 0.0237s177-- create_table("identities", {:force=>:cascade})178 -> 0.0160s179-- create_table("import_export_uploads", {:force=>:cascade})180 -> 0.0224s181-- create_table("internal_ids", {:id=>:bigserial, :force=>:cascade})182 -> 0.0324s183-- create_table("issue_assignees", {:id=>false, :force=>:cascade})184 -> 0.0157s185-- create_table("issue_metrics", {:force=>:cascade})186 -> 0.0139s187-- create_table("issues", {:force=>:cascade})188 -> 0.1081s189-- create_table("keys", {:force=>:cascade})190 -> 0.0233s191-- create_table("label_links", {:force=>:cascade})192 -> 0.0236s193-- create_table("label_priorities", {:force=>:cascade})194 -> 0.0294s195-- create_table("labels", {:force=>:cascade})196 -> 0.0463s197-- create_table("lfs_file_locks", {:force=>:cascade})198 -> 0.0241s199-- create_table("lfs_objects", {:force=>:cascade})200 -> 0.0257s201-- create_table("lfs_objects_projects", {:force=>:cascade})202 -> 0.0146s203-- create_table("lists", {:force=>:cascade})204 -> 0.0276s205-- create_table("members", {:force=>:cascade})206 -> 0.0391s207-- create_table("merge_request_diff_commits", {:id=>false, :force=>:cascade})208 -> 0.0184s209-- create_table("merge_request_diff_files", {:id=>false, :force=>:cascade})210 -> 0.0121s211-- create_table("merge_request_diffs", {:force=>:cascade})212 -> 0.0159s213-- create_table("merge_request_metrics", {:force=>:cascade})214 -> 0.0380s215-- create_table("merge_requests", {:force=>:cascade})216 -> 0.1280s217-- create_table("merge_requests_closing_issues", {:force=>:cascade})218 -> 0.0174s219-- create_table("milestones", {:force=>:cascade})220 -> 0.0386s221-- create_table("namespaces", {:force=>:cascade})222 -> 0.0721s223-- create_table("note_diff_files", {:force=>:cascade})224 -> 0.0152s225-- create_table("notes", {:force=>:cascade})226 -> 0.0610s227-- create_table("notification_settings", {:force=>:cascade})228 -> 0.0306s229-- create_table("oauth_access_grants", {:force=>:cascade})230 -> 0.0155s231-- create_table("oauth_access_tokens", {:force=>:cascade})232 -> 0.0273s233-- create_table("oauth_applications", {:force=>:cascade})234 -> 0.0210s235-- create_table("oauth_openid_requests", {:force=>:cascade})236 -> 0.0151s237-- create_table("pages_domains", {:force=>:cascade})238 -> 0.0425s239-- create_table("personal_access_tokens", {:force=>:cascade})240 -> 0.0249s241-- create_table("pool_repositories", {:id=>:bigserial, :force=>:cascade})242 -> 0.0276s243-- create_table("programming_languages", {:force=>:cascade})244 -> 0.0159s245-- create_table("project_authorizations", {:id=>false, :force=>:cascade})246 -> 0.0139s247-- create_table("project_auto_devops", {:force=>:cascade})248 -> 0.0168s249-- create_table("project_ci_cd_settings", {:force=>:cascade})250 -> 0.0135s251-- create_table("project_custom_attributes", {:force=>:cascade})252 -> 0.0232s253-- create_table("project_daily_statistics", {:id=>:bigserial, :force=>:cascade})254 -> 0.0140s255-- create_table("project_deploy_tokens", {:force=>:cascade})256 -> 0.0201s257-- create_table("project_error_tracking_settings", {:primary_key=>"project_id", :id=>:integer, :force=>:cascade})258 -> 0.0100s259-- create_table("project_features", {:force=>:cascade})260 -> 0.0152s261-- create_table("project_group_links", {:force=>:cascade})262 -> 0.0200s263-- create_table("project_import_data", {:force=>:cascade})264 -> 0.0159s265-- create_table("project_mirror_data", {:force=>:cascade})266 -> 0.0265s267-- create_table("project_repositories", {:id=>:bigserial, :force=>:cascade})268 -> 0.0277s269-- create_table("project_statistics", {:force=>:cascade})270 -> 0.0210s271-- create_table("projects", {:force=>:cascade})272 -> 0.1575s273-- create_table("prometheus_metrics", {:force=>:cascade})274 -> 0.0353s275-- create_table("protected_branch_merge_access_levels", {:force=>:cascade})276 -> 0.0128s277-- create_table("protected_branch_push_access_levels", {:force=>:cascade})278 -> 0.0144s279-- create_table("protected_branches", {:force=>:cascade})280 -> 0.0168s281-- create_table("protected_tag_create_access_levels", {:force=>:cascade})282 -> 0.0264s283-- create_table("protected_tags", {:force=>:cascade})284 -> 0.0215s285-- create_table("push_event_payloads", {:id=>false, :force=>:cascade})286 -> 0.0130s287-- create_table("redirect_routes", {:force=>:cascade})288 -> 0.0233s289-- create_table("release_links", {:id=>:bigserial, :force=>:cascade})290 -> 0.0217s291-- create_table("releases", {:force=>:cascade})292 -> 0.0285s293-- create_table("remote_mirrors", {:force=>:cascade})294 -> 0.0247s295-- create_table("repository_languages", {:id=>false, :force=>:cascade})296 -> 0.0093s297-- create_table("resource_label_events", {:id=>:bigserial, :force=>:cascade})298 -> 0.0355s299-- create_table("routes", {:force=>:cascade})300 -> 0.0299s301-- create_table("sent_notifications", {:force=>:cascade})302 -> 0.0168s303-- create_table("services", {:force=>:cascade})304 -> 0.0338s305-- create_table("shards", {:force=>:cascade})306 -> 0.0166s307-- create_table("snippets", {:force=>:cascade})308 -> 0.0589s309-- create_table("spam_logs", {:force=>:cascade})310 -> 0.0121s311-- create_table("subscriptions", {:force=>:cascade})312 -> 0.0245s313-- create_table("suggestions", {:id=>:bigserial, :force=>:cascade})314 -> 0.0176s315-- create_table("system_note_metadata", {:force=>:cascade})316 -> 0.0184s317-- create_table("taggings", {:force=>:cascade})318 -> 0.0384s319-- create_table("tags", {:force=>:cascade})320 -> 0.0217s321-- create_table("term_agreements", {:force=>:cascade})322 -> 0.0259s323-- create_table("timelogs", {:force=>:cascade})324 -> 0.0262s325-- create_table("todos", {:force=>:cascade})326 -> 0.0687s327-- create_table("trending_projects", {:force=>:cascade})328 -> 0.0130s329-- create_table("u2f_registrations", {:force=>:cascade})330 -> 0.0227s331-- create_table("uploads", {:force=>:cascade})332 -> 0.0392s333-- create_table("user_agent_details", {:force=>:cascade})334 -> 0.0180s335-- create_table("user_callouts", {:force=>:cascade})336 -> 0.0209s337-- create_table("user_custom_attributes", {:force=>:cascade})338 -> 0.0230s339-- create_table("user_interacted_projects", {:id=>false, :force=>:cascade})340 -> 0.0166s341-- create_table("user_preferences", {:force=>:cascade})342 -> 0.0188s343-- create_table("user_statuses", {:primary_key=>"user_id", :force=>:cascade})344 -> 0.0174s345-- create_table("user_synced_attributes_metadata", {:force=>:cascade})346 -> 0.0179s347-- create_table("users", {:force=>:cascade})348 -> 0.1101s349-- create_table("users_star_projects", {:force=>:cascade})350 -> 0.0180s351-- create_table("web_hook_logs", {:force=>:cascade})352 -> 0.0211s353-- create_table("web_hooks", {:force=>:cascade})354 -> 0.0279s355-- add_foreign_key("application_settings", "users", {:column=>"usage_stats_set_by_user_id", :name=>"fk_964370041d", :on_delete=>:nullify})356 -> 0.0050s357-- add_foreign_key("badges", "namespaces", {:column=>"group_id", :on_delete=>:cascade})358 -> 0.0034s359-- add_foreign_key("badges", "projects", {:on_delete=>:cascade})360 -> 0.0038s361-- add_foreign_key("board_group_recent_visits", "boards", {:on_delete=>:cascade})362 -> 0.0027s363-- add_foreign_key("board_group_recent_visits", "namespaces", {:column=>"group_id", :on_delete=>:cascade})364 -> 0.0022s365-- add_foreign_key("board_group_recent_visits", "users", {:on_delete=>:cascade})366 -> 0.0027s367-- add_foreign_key("board_project_recent_visits", "boards", {:on_delete=>:cascade})368 -> 0.0025s369-- add_foreign_key("board_project_recent_visits", "projects", {:on_delete=>:cascade})370 -> 0.0027s371-- add_foreign_key("board_project_recent_visits", "users", {:on_delete=>:cascade})372 -> 0.0027s373-- add_foreign_key("boards", "namespaces", {:column=>"group_id", :on_delete=>:cascade})374 -> 0.0030s375-- add_foreign_key("boards", "projects", {:name=>"fk_f15266b5f9", :on_delete=>:cascade})376 -> 0.0028s377-- add_foreign_key("chat_teams", "namespaces", {:on_delete=>:cascade})378 -> 0.0023s379-- add_foreign_key("ci_build_trace_chunks", "ci_builds", {:column=>"build_id", :on_delete=>:cascade})380 -> 0.0036s381-- add_foreign_key("ci_build_trace_section_names", "projects", {:on_delete=>:cascade})382 -> 0.0032s383-- add_foreign_key("ci_build_trace_sections", "ci_build_trace_section_names", {:column=>"section_name_id", :name=>"fk_264e112c66", :on_delete=>:cascade})384 -> 0.0024s385-- add_foreign_key("ci_build_trace_sections", "ci_builds", {:column=>"build_id", :name=>"fk_4ebe41f502", :on_delete=>:cascade})386 -> 0.0024s387-- add_foreign_key("ci_build_trace_sections", "projects", {:on_delete=>:cascade})388 -> 0.0027s389-- add_foreign_key("ci_builds", "ci_pipelines", {:column=>"auto_canceled_by_id", :name=>"fk_a2141b1522", :on_delete=>:nullify})390 -> 0.0031s391-- add_foreign_key("ci_builds", "ci_pipelines", {:column=>"commit_id", :name=>"fk_d3130c9a7f", :on_delete=>:cascade})392 -> 0.0025s393-- add_foreign_key("ci_builds", "ci_stages", {:column=>"stage_id", :name=>"fk_3a9eaa254d", :on_delete=>:cascade})394 -> 0.0027s395-- add_foreign_key("ci_builds", "projects", {:name=>"fk_befce0568a", :on_delete=>:cascade})396 -> 0.0036s397-- add_foreign_key("ci_builds_metadata", "ci_builds", {:column=>"build_id", :on_delete=>:cascade})398 -> 0.0024s399-- add_foreign_key("ci_builds_metadata", "projects", {:on_delete=>:cascade})400 -> 0.0025s401-- add_foreign_key("ci_builds_runner_session", "ci_builds", {:column=>"build_id", :on_delete=>:cascade})402 -> 0.0027s403-- add_foreign_key("ci_group_variables", "namespaces", {:column=>"group_id", :name=>"fk_33ae4d58d8", :on_delete=>:cascade})404 -> 0.0047s405-- add_foreign_key("ci_job_artifacts", "ci_builds", {:column=>"job_id", :on_delete=>:cascade})406 -> 0.0028s407-- add_foreign_key("ci_job_artifacts", "projects", {:on_delete=>:cascade})408 -> 0.0029s409-- add_foreign_key("ci_pipeline_chat_data", "chat_names", {:on_delete=>:cascade})410 -> 0.0029s411-- add_foreign_key("ci_pipeline_chat_data", "ci_pipelines", {:column=>"pipeline_id", :on_delete=>:cascade})412 -> 0.0024s413-- add_foreign_key("ci_pipeline_schedule_variables", "ci_pipeline_schedules", {:column=>"pipeline_schedule_id", :name=>"fk_41c35fda51", :on_delete=>:cascade})414 -> 0.0024s415-- add_foreign_key("ci_pipeline_schedules", "projects", {:name=>"fk_8ead60fcc4", :on_delete=>:cascade})416 -> 0.0027s417-- add_foreign_key("ci_pipeline_schedules", "users", {:column=>"owner_id", :name=>"fk_9ea99f58d2", :on_delete=>:nullify})418 -> 0.0026s419-- add_foreign_key("ci_pipeline_variables", "ci_pipelines", {:column=>"pipeline_id", :name=>"fk_f29c5f4380", :on_delete=>:cascade})420 -> 0.0026s421-- add_foreign_key("ci_pipelines", "ci_pipeline_schedules", {:column=>"pipeline_schedule_id", :name=>"fk_3d34ab2e06", :on_delete=>:nullify})422 -> 0.0023s423-- add_foreign_key("ci_pipelines", "ci_pipelines", {:column=>"auto_canceled_by_id", :name=>"fk_262d4c2d19", :on_delete=>:nullify})424 -> 0.0022s425-- add_foreign_key("ci_pipelines", "merge_requests", {:name=>"fk_a23be95014", :on_delete=>:cascade})426 -> 0.0037s427-- add_foreign_key("ci_pipelines", "projects", {:name=>"fk_86635dbd80", :on_delete=>:cascade})428 -> 0.0030s429-- add_foreign_key("ci_runner_namespaces", "ci_runners", {:column=>"runner_id", :on_delete=>:cascade})430 -> 0.0030s431-- add_foreign_key("ci_runner_namespaces", "namespaces", {:on_delete=>:cascade})432 -> 0.0025s433-- add_foreign_key("ci_runner_projects", "projects", {:name=>"fk_4478a6f1e4", :on_delete=>:cascade})434 -> 0.0028s435-- add_foreign_key("ci_stages", "ci_pipelines", {:column=>"pipeline_id", :name=>"fk_fb57e6cc56", :on_delete=>:cascade})436 -> 0.0024s437-- add_foreign_key("ci_stages", "projects", {:name=>"fk_2360681d1d", :on_delete=>:cascade})438 -> 0.0026s439-- add_foreign_key("ci_trigger_requests", "ci_triggers", {:column=>"trigger_id", :name=>"fk_b8ec8b7245", :on_delete=>:cascade})440 -> 0.0024s441-- add_foreign_key("ci_triggers", "projects", {:name=>"fk_e3e63f966e", :on_delete=>:cascade})442 -> 0.0026s443-- add_foreign_key("ci_triggers", "users", {:column=>"owner_id", :name=>"fk_e8e10d1964", :on_delete=>:cascade})444 -> 0.0027s445-- add_foreign_key("ci_variables", "projects", {:name=>"fk_ada5eb64b3", :on_delete=>:cascade})446 -> 0.0026s447-- add_foreign_key("cluster_groups", "clusters", {:on_delete=>:cascade})448 -> 0.0025s449-- add_foreign_key("cluster_groups", "namespaces", {:column=>"group_id", :on_delete=>:cascade})450 -> 0.0021s451-- add_foreign_key("cluster_platforms_kubernetes", "clusters", {:on_delete=>:cascade})452 -> 0.0023s453-- add_foreign_key("cluster_projects", "clusters", {:on_delete=>:cascade})454 -> 0.0025s455-- add_foreign_key("cluster_projects", "projects", {:on_delete=>:cascade})456 -> 0.0025s457-- add_foreign_key("cluster_providers_gcp", "clusters", {:on_delete=>:cascade})458 -> 0.0024s459-- add_foreign_key("clusters", "users", {:on_delete=>:nullify})460 -> 0.0030s461-- add_foreign_key("clusters_applications_cert_managers", "clusters", {:on_delete=>:cascade})462 -> 0.0023s463-- add_foreign_key("clusters_applications_helm", "clusters", {:on_delete=>:cascade})464 -> 0.0021s465-- add_foreign_key("clusters_applications_ingress", "clusters", {:name=>"fk_753a7b41c1", :on_delete=>:cascade})466 -> 0.0022s467-- add_foreign_key("clusters_applications_jupyter", "clusters", {:on_delete=>:cascade})468 -> 0.0024s469-- add_foreign_key("clusters_applications_jupyter", "oauth_applications", {:on_delete=>:nullify})470 -> 0.0027s471-- add_foreign_key("clusters_applications_knative", "clusters", {:on_delete=>:cascade})472 -> 0.0023s473-- add_foreign_key("clusters_applications_prometheus", "clusters", {:name=>"fk_557e773639", :on_delete=>:cascade})474 -> 0.0022s475-- add_foreign_key("clusters_applications_runners", "ci_runners", {:column=>"runner_id", :name=>"fk_02de2ded36", :on_delete=>:nullify})476 -> 0.0021s477-- add_foreign_key("clusters_applications_runners", "clusters", {:on_delete=>:cascade})478 -> 0.0024s479-- add_foreign_key("clusters_kubernetes_namespaces", "cluster_projects", {:on_delete=>:nullify})480 -> 0.0025s481-- add_foreign_key("clusters_kubernetes_namespaces", "clusters", {:on_delete=>:cascade})482 -> 0.0025s483-- add_foreign_key("clusters_kubernetes_namespaces", "projects", {:on_delete=>:nullify})484 -> 0.0026s485-- add_foreign_key("container_repositories", "projects")486 -> 0.0028s487-- add_foreign_key("deploy_keys_projects", "projects", {:name=>"fk_58a901ca7e", :on_delete=>:cascade})488 -> 0.0025s489-- add_foreign_key("deployments", "projects", {:name=>"fk_b9a3851b82", :on_delete=>:cascade})490 -> 0.0030s491-- add_foreign_key("environments", "projects", {:name=>"fk_d1c8c1da6a", :on_delete=>:cascade})492 -> 0.0027s493-- add_foreign_key("events", "projects", {:on_delete=>:cascade})494 -> 0.0034s495-- add_foreign_key("events", "users", {:column=>"author_id", :name=>"fk_edfd187b6f", :on_delete=>:cascade})496 -> 0.0023s497-- add_foreign_key("fork_network_members", "fork_networks", {:on_delete=>:cascade})498 -> 0.0024s499-- add_foreign_key("fork_network_members", "projects", {:column=>"forked_from_project_id", :name=>"fk_b01280dae4", :on_delete=>:nullify})500 -> 0.0023s501-- add_foreign_key("fork_network_members", "projects", {:on_delete=>:cascade})502 -> 0.0026s503-- add_foreign_key("fork_networks", "projects", {:column=>"root_project_id", :name=>"fk_e7b436b2b5", :on_delete=>:nullify})504 -> 0.0023s505-- add_foreign_key("forked_project_links", "projects", {:column=>"forked_to_project_id", :name=>"fk_434510edb0", :on_delete=>:cascade})506 -> 0.0025s507-- add_foreign_key("gpg_key_subkeys", "gpg_keys", {:on_delete=>:cascade})508 -> 0.0025s509-- add_foreign_key("gpg_keys", "users", {:on_delete=>:cascade})510 -> 0.0026s511-- add_foreign_key("gpg_signatures", "gpg_key_subkeys", {:on_delete=>:nullify})512 -> 0.0025s513-- add_foreign_key("gpg_signatures", "gpg_keys", {:on_delete=>:nullify})514 -> 0.0022s515-- add_foreign_key("gpg_signatures", "projects", {:on_delete=>:cascade})516 -> 0.0023s517-- add_foreign_key("group_custom_attributes", "namespaces", {:column=>"group_id", :on_delete=>:cascade})518 -> 0.0025s519-- add_foreign_key("import_export_uploads", "projects", {:on_delete=>:cascade})520 -> 0.0025s521-- add_foreign_key("internal_ids", "namespaces", {:name=>"fk_162941d509", :on_delete=>:cascade})522 -> 0.0025s523-- add_foreign_key("internal_ids", "projects", {:on_delete=>:cascade})524 -> 0.0023s525-- add_foreign_key("issue_assignees", "issues", {:name=>"fk_b7d881734a", :on_delete=>:cascade})526 -> 0.0028s527-- add_foreign_key("issue_assignees", "users", {:name=>"fk_5e0c8d9154", :on_delete=>:cascade})528 -> 0.0027s529-- add_foreign_key("issue_metrics", "issues", {:on_delete=>:cascade})530 -> 0.0024s531-- add_foreign_key("issues", "issues", {:column=>"moved_to_id", :name=>"fk_a194299be1", :on_delete=>:nullify})532 -> 0.0021s533-- add_foreign_key("issues", "milestones", {:name=>"fk_96b1dd429c", :on_delete=>:nullify})534 -> 0.0027s535-- add_foreign_key("issues", "projects", {:name=>"fk_899c8f3231", :on_delete=>:cascade})536 -> 0.0027s537-- add_foreign_key("issues", "users", {:column=>"author_id", :name=>"fk_05f1e72feb", :on_delete=>:nullify})538 -> 0.0026s539-- add_foreign_key("issues", "users", {:column=>"closed_by_id", :name=>"fk_c63cbf6c25", :on_delete=>:nullify})540 -> 0.0025s541-- add_foreign_key("issues", "users", {:column=>"updated_by_id", :name=>"fk_ffed080f01", :on_delete=>:nullify})542 -> 0.0025s543-- add_foreign_key("label_links", "labels", {:name=>"fk_d97dd08678", :on_delete=>:cascade})544 -> 0.0025s545-- add_foreign_key("label_priorities", "labels", {:on_delete=>:cascade})546 -> 0.0024s547-- add_foreign_key("label_priorities", "projects", {:on_delete=>:cascade})548 -> 0.0025s549-- add_foreign_key("labels", "namespaces", {:column=>"group_id", :on_delete=>:cascade})550 -> 0.0024s551-- add_foreign_key("labels", "projects", {:name=>"fk_7de4989a69", :on_delete=>:cascade})552 -> 0.0026s553-- add_foreign_key("lfs_file_locks", "projects", {:on_delete=>:cascade})554 -> 0.0028s555-- add_foreign_key("lfs_file_locks", "users", {:on_delete=>:cascade})556 -> 0.0025s557-- add_foreign_key("lists", "boards", {:name=>"fk_0d3f677137", :on_delete=>:cascade})558 -> 0.0024s559-- add_foreign_key("lists", "labels", {:name=>"fk_7a5553d60f", :on_delete=>:cascade})560 -> 0.0022s561-- add_foreign_key("members", "users", {:name=>"fk_2e88fb7ce9", :on_delete=>:cascade})562 -> 0.0027s563-- add_foreign_key("merge_request_diff_commits", "merge_request_diffs", {:on_delete=>:cascade})564 -> 0.0024s565-- add_foreign_key("merge_request_diff_files", "merge_request_diffs", {:on_delete=>:cascade})566 -> 0.0022s567-- add_foreign_key("merge_request_diffs", "merge_requests", {:name=>"fk_8483f3258f", :on_delete=>:cascade})568 -> 0.0024s569-- add_foreign_key("merge_request_metrics", "ci_pipelines", {:column=>"pipeline_id", :on_delete=>:cascade})570 -> 0.0026s571-- add_foreign_key("merge_request_metrics", "merge_requests", {:on_delete=>:cascade})572 -> 0.0030s573-- add_foreign_key("merge_request_metrics", "users", {:column=>"latest_closed_by_id", :name=>"fk_ae440388cc", :on_delete=>:nullify})574 -> 0.0023s575-- add_foreign_key("merge_request_metrics", "users", {:column=>"merged_by_id", :name=>"fk_7f28d925f3", :on_delete=>:nullify})576 -> 0.0025s577-- add_foreign_key("merge_requests", "ci_pipelines", {:column=>"head_pipeline_id", :name=>"fk_fd82eae0b9", :on_delete=>:nullify})578 -> 0.0024s579-- add_foreign_key("merge_requests", "merge_request_diffs", {:column=>"latest_merge_request_diff_id", :name=>"fk_06067f5644", :on_delete=>:nullify})580 -> 0.0022s581-- add_foreign_key("merge_requests", "milestones", {:name=>"fk_6a5165a692", :on_delete=>:nullify})582 -> 0.0026s583-- add_foreign_key("merge_requests", "projects", {:column=>"source_project_id", :name=>"fk_3308fe130c", :on_delete=>:nullify})584 -> 0.0029s585-- add_foreign_key("merge_requests", "projects", {:column=>"target_project_id", :name=>"fk_a6963e8447", :on_delete=>:cascade})586 -> 0.0029s587-- add_foreign_key("merge_requests", "users", {:column=>"assignee_id", :name=>"fk_6149611a04", :on_delete=>:nullify})588 -> 0.0026s589-- add_foreign_key("merge_requests", "users", {:column=>"author_id", :name=>"fk_e719a85f8a", :on_delete=>:nullify})590 -> 0.0026s591-- add_foreign_key("merge_requests", "users", {:column=>"merge_user_id", :name=>"fk_ad525e1f87", :on_delete=>:nullify})592 -> 0.0026s593-- add_foreign_key("merge_requests", "users", {:column=>"updated_by_id", :name=>"fk_641731faff", :on_delete=>:nullify})594 -> 0.0026s595-- add_foreign_key("merge_requests_closing_issues", "issues", {:on_delete=>:cascade})596 -> 0.0024s597-- add_foreign_key("merge_requests_closing_issues", "merge_requests", {:on_delete=>:cascade})598 -> 0.0027s599-- add_foreign_key("milestones", "namespaces", {:column=>"group_id", :name=>"fk_95650a40d4", :on_delete=>:cascade})600 -> 0.0021s601-- add_foreign_key("milestones", "projects", {:name=>"fk_9bd0a0c791", :on_delete=>:cascade})602 -> 0.0024s603-- add_foreign_key("note_diff_files", "notes", {:column=>"diff_note_id", :on_delete=>:cascade})604 -> 0.0027s605-- add_foreign_key("notes", "projects", {:name=>"fk_99e097b079", :on_delete=>:cascade})606 -> 0.0026s607-- add_foreign_key("notification_settings", "users", {:name=>"fk_0c95e91db7", :on_delete=>:cascade})608 -> 0.0028s609-- add_foreign_key("oauth_openid_requests", "oauth_access_grants", {:column=>"access_grant_id", :name=>"fk_oauth_openid_requests_oauth_access_grants_access_grant_id"})610 -> 0.0023s611-- add_foreign_key("pages_domains", "projects", {:name=>"fk_ea2f6dfc6f", :on_delete=>:cascade})612 -> 0.0031s613-- add_foreign_key("personal_access_tokens", "users")614 -> 0.0042s615-- add_foreign_key("pool_repositories", "projects", {:column=>"source_project_id", :on_delete=>:nullify})616 -> 0.0030s617-- add_foreign_key("pool_repositories", "shards", {:on_delete=>:restrict})618 -> 0.0027s619-- add_foreign_key("project_authorizations", "projects", {:on_delete=>:cascade})620 -> 0.0027s621-- add_foreign_key("project_authorizations", "users", {:on_delete=>:cascade})622 -> 0.0025s623-- add_foreign_key("project_auto_devops", "projects", {:on_delete=>:cascade})624 -> 0.0025s625-- add_foreign_key("project_ci_cd_settings", "projects", {:name=>"fk_24c15d2f2e", :on_delete=>:cascade})626 -> 0.0022s627-- add_foreign_key("project_custom_attributes", "projects", {:on_delete=>:cascade})628 -> 0.0026s629-- add_foreign_key("project_daily_statistics", "projects", {:on_delete=>:cascade})630 -> 0.0025s631-- add_foreign_key("project_deploy_tokens", "deploy_tokens", {:on_delete=>:cascade})632 -> 0.0026s633-- add_foreign_key("project_deploy_tokens", "projects", {:on_delete=>:cascade})634 -> 0.0023s635-- add_foreign_key("project_error_tracking_settings", "projects", {:on_delete=>:cascade})636 -> 0.0027s637-- add_foreign_key("project_features", "projects", {:name=>"fk_18513d9b92", :on_delete=>:cascade})638 -> 0.0027s639-- add_foreign_key("project_group_links", "projects", {:name=>"fk_daa8cee94c", :on_delete=>:cascade})640 -> 0.0027s641-- add_foreign_key("project_import_data", "projects", {:name=>"fk_ffb9ee3a10", :on_delete=>:cascade})642 -> 0.0025s643-- add_foreign_key("project_mirror_data", "projects", {:on_delete=>:cascade})644 -> 0.0029s645-- add_foreign_key("project_repositories", "projects", {:on_delete=>:cascade})646 -> 0.0025s647-- add_foreign_key("project_repositories", "shards", {:on_delete=>:restrict})648 -> 0.0021s649-- add_foreign_key("project_statistics", "projects", {:on_delete=>:cascade})650 -> 0.0027s651-- add_foreign_key("projects", "pool_repositories", {:name=>"fk_6e5c14658a", :on_delete=>:nullify})652 -> 0.0026s653-- add_foreign_key("prometheus_metrics", "projects", {:on_delete=>:cascade})654 -> 0.0028s655-- add_foreign_key("protected_branch_merge_access_levels", "protected_branches", {:name=>"fk_8a3072ccb3", :on_delete=>:cascade})656 -> 0.0022s657-- add_foreign_key("protected_branch_push_access_levels", "protected_branches", {:name=>"fk_9ffc86a3d9", :on_delete=>:cascade})658 -> 0.0019s659-- add_foreign_key("protected_branches", "projects", {:name=>"fk_7a9c6d93e7", :on_delete=>:cascade})660 -> 0.0024s661-- add_foreign_key("protected_tag_create_access_levels", "namespaces", {:column=>"group_id"})662 -> 0.0023s663-- add_foreign_key("protected_tag_create_access_levels", "protected_tags", {:name=>"fk_f7dfda8c51", :on_delete=>:cascade})664 -> 0.0022s665-- add_foreign_key("protected_tag_create_access_levels", "users")666 -> 0.0023s667-- add_foreign_key("protected_tags", "projects", {:name=>"fk_8e4af87648", :on_delete=>:cascade})668 -> 0.0026s669-- add_foreign_key("push_event_payloads", "events", {:name=>"fk_36c74129da", :on_delete=>:cascade})670 -> 0.0024s671-- add_foreign_key("release_links", "releases", {:on_delete=>:cascade})672 -> 0.0025s673-- add_foreign_key("releases", "projects", {:name=>"fk_47fe2a0596", :on_delete=>:cascade})674 -> 0.0026s675-- add_foreign_key("releases", "users", {:column=>"author_id", :name=>"fk_8e4456f90f", :on_delete=>:nullify})676 -> 0.0024s677-- add_foreign_key("remote_mirrors", "projects", {:on_delete=>:cascade})678 -> 0.0027s679-- add_foreign_key("repository_languages", "projects", {:on_delete=>:cascade})680 -> 0.0025s681-- add_foreign_key("resource_label_events", "issues", {:on_delete=>:cascade})682 -> 0.0024s683-- add_foreign_key("resource_label_events", "labels", {:on_delete=>:nullify})684 -> 0.0021s685-- add_foreign_key("resource_label_events", "merge_requests", {:on_delete=>:cascade})686 -> 0.0024s687-- add_foreign_key("resource_label_events", "users", {:on_delete=>:nullify})688 -> 0.0026s689-- add_foreign_key("services", "projects", {:name=>"fk_71cce407f9", :on_delete=>:cascade})690 -> 0.0028s691-- add_foreign_key("snippets", "projects", {:name=>"fk_be41fd4bb7", :on_delete=>:cascade})692 -> 0.0030s693-- add_foreign_key("subscriptions", "projects", {:on_delete=>:cascade})694 -> 0.0029s695-- add_foreign_key("suggestions", "notes", {:on_delete=>:cascade})696 -> 0.0025s697-- add_foreign_key("system_note_metadata", "notes", {:name=>"fk_d83a918cb1", :on_delete=>:cascade})698 -> 0.0022s699-- add_foreign_key("term_agreements", "application_setting_terms", {:column=>"term_id"})700 -> 0.0023s701-- add_foreign_key("term_agreements", "users", {:on_delete=>:cascade})702 -> 0.0025s703-- add_foreign_key("timelogs", "issues", {:name=>"fk_timelogs_issues_issue_id", :on_delete=>:cascade})704 -> 0.0024s705-- add_foreign_key("timelogs", "merge_requests", {:name=>"fk_timelogs_merge_requests_merge_request_id", :on_delete=>:cascade})706 -> 0.0021s707-- add_foreign_key("todos", "namespaces", {:column=>"group_id", :on_delete=>:cascade})708 -> 0.0026s709-- add_foreign_key("todos", "notes", {:name=>"fk_91d1f47b13", :on_delete=>:cascade})710 -> 0.0029s711-- add_foreign_key("todos", "projects", {:name=>"fk_45054f9c45", :on_delete=>:cascade})712 -> 0.0031s713-- add_foreign_key("todos", "users", {:column=>"author_id", :name=>"fk_ccf0373936", :on_delete=>:cascade})714 -> 0.0025s715-- add_foreign_key("todos", "users", {:name=>"fk_d94154aa95", :on_delete=>:cascade})716 -> 0.0024s717-- add_foreign_key("trending_projects", "projects", {:on_delete=>:cascade})718 -> 0.0027s719-- add_foreign_key("u2f_registrations", "users")720 -> 0.0025s721-- add_foreign_key("user_callouts", "users", {:on_delete=>:cascade})722 -> 0.0024s723-- add_foreign_key("user_custom_attributes", "users", {:on_delete=>:cascade})724 -> 0.0022s725-- add_foreign_key("user_interacted_projects", "projects", {:name=>"fk_722ceba4f7", :on_delete=>:cascade})726 -> 0.0025s727-- add_foreign_key("user_interacted_projects", "users", {:name=>"fk_0894651f08", :on_delete=>:cascade})728 -> 0.0023s729-- add_foreign_key("user_preferences", "users", {:on_delete=>:cascade})730 -> 0.0023s731-- add_foreign_key("user_statuses", "users", {:on_delete=>:cascade})732 -> 0.0033s733-- add_foreign_key("user_synced_attributes_metadata", "users", {:on_delete=>:cascade})734 -> 0.0027s735-- add_foreign_key("users", "application_setting_terms", {:column=>"accepted_term_id", :name=>"fk_789cd90b35", :on_delete=>:cascade})736 -> 0.0024s737-- add_foreign_key("users_star_projects", "projects", {:name=>"fk_22cd27ddfc", :on_delete=>:cascade})738 -> 0.0025s739-- add_foreign_key("web_hook_logs", "web_hooks", {:on_delete=>:cascade})740 -> 0.0024s741-- add_foreign_key("web_hooks", "projects", {:name=>"fk_0c8ca6d9d1", :on_delete=>:cascade})742 -> 0.0025s743-- initialize_schema_migrations_table()744 -> 0.0132s745$ date746Thu Mar 14 02:16:13 UTC 2019747$ JOB_NAME=( $CI_JOB_NAME )748$ TEST_TOOL=${JOB_NAME[0]}749$ export KNAPSACK_REPORT_PATH=knapsack/${CI_PROJECT_NAME}/${TEST_TOOL}_node_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_report.json750$ export KNAPSACK_GENERATE_REPORT=true751$ export SUITE_FLAKY_RSPEC_REPORT_PATH=${FLAKY_RSPEC_SUITE_REPORT_PATH}752$ export FLAKY_RSPEC_REPORT_PATH=rspec_flaky/all_${TEST_TOOL}_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_report.json753$ export NEW_FLAKY_RSPEC_REPORT_PATH=rspec_flaky/new_${TEST_TOOL}_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_report.json754$ export FLAKY_RSPEC_GENERATE_REPORT=true755$ export CACHE_CLASSES=true756$ cp ${KNAPSACK_RSPEC_SUITE_REPORT_PATH} ${KNAPSACK_REPORT_PATH}757$ [[ -f $FLAKY_RSPEC_REPORT_PATH ]] || echo "{}" > ${FLAKY_RSPEC_REPORT_PATH}758$ [[ -f $NEW_FLAKY_RSPEC_REPORT_PATH ]] || echo "{}" > ${NEW_FLAKY_RSPEC_REPORT_PATH}759$ scripts/gitaly-test-spawn760Checking gitaly-ruby bundle...761Warning: 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`.762The Gemfile's dependencies are satisfied763Trying to connect to gitaly: ..... OK764$ knapsack rspec "--color --format documentation --format RspecJunitFormatter --out junit_rspec.xml"765RSpec's reporter has already been initialized with #<IO:<STDERR>> as the deprecation stream, so your change to `deprecation_stream` will be ignored. You should configure it earlier for it to take effect, or use the `--deprecation-out` CLI option. (Called from /builds/gitlab-org/gitlab-ce/spec/support/rspec.rb:8:in `block in <top (required)>')766Knapsack report generator started!767==> Setting up GitLab Shell...768 GitLab Shell set up in 0.060781672 seconds...769==> Setting up Gitaly...770 Gitaly set up in 9.8121e-05 seconds...771API::Users772 GET /users773 when unauthenticated774 returns authorization error when the `username` parameter is not passed775 returns the user when a valid `username` parameter is passed776 returns the user when a valid `username` parameter is passed (case insensitive)777 returns an empty response when an invalid `username` parameter is passed778 when public level is restricted779 returns authorization error when the `username` parameter refers to an inaccessible user780 returns authorization error when the `username` parameter is not passed781 when authenticated782 returns an array of users783 returns an array of blocked users784 returns one user785 returns one user (case insensitive)786 returns a 403 when non-admin user searches by external UID787 does not reveal the `is_admin` flag of the user788 when public level is restricted789 when authenticate as a regular user790 renders 200791 when authenticate as an admin792 renders 200793 when admin794 returns an array of users795 returns an array of external users796 returns one user by external UID797 returns 400 error if provider with no extern_uid798 returns 400 error if provider with no extern_uid799 returns a user created before a specific date800 returns no users created before a specific date801 returns users created before and after a specific date802 returns the correct order when sorted by id803 returns users with 2fa enabled804 returns 400 when provided incorrect sort params805 when sudo is defined806 does not return 500807 GET /users/:id808 returns a user by id809 does not return the user's `is_admin` flag810 returns a 404 error if user id not found811 returns a 404 for invalid ID812 when authenticated as admin813 includes the `is_admin` field814 includes the `created_at` field for private users815 for an anonymous user816 returns a user by id817 returns a 404 if the target user is present but inaccessible818 returns the `created_at` field for public users819 does not return the `created_at` field for private users820 GET /users/:id_or_username/status821 when finding the user by id822 behaves like rendering user status823 returns the status if there was one824 returns an empty response if there was no status825 when finding the user by username826 behaves like rendering user status827 returns the status if there was one828 returns an empty response if there was no status829 when finding the user by username (case insensitive)830 behaves like rendering user status831 returns the status if there was one832 returns an empty response if there was no status833 POST /users834 creates user835 creates user with correct attributes836 creates user with optional attributes837 creates non-admin user838 creates non-admin users by default839 returns 201 Created on success840 creates non-external users by default841 allows an external user to be created842 creates user with reset password843 creates user with private profile844 does not create user with invalid email845 returns 400 error if name not given846 returns 400 error if password not given847 returns 400 error if email not given848 returns 400 error if username not given849 returns 400 error if user does not validate850 is not available for non admin users851 with existing user852 returns 409 conflict error if user with same email exists853 returns 409 conflict error if same username exists854 returns 409 conflict error if same username exists (case insensitive)855 creates user with new identity856 scopes857 when the requesting token has the "read_user" scope858 returns a "403" response859 GET /users/sign_up860 redirects to sign in page861 PUT /users/:id862 updates user with new bio863 updates user with new password and forces reset on next login864 updates user with organization865 updates user with avatar866 updates user with a new email867 skips reconfirmation when requested868 updates user with his own username869 updates user's existing identity870 updates user with new identity871 updates admin status872 updates external status873 updates private profile874 does not update admin status875 does not allow invalid update876 returns 404 for non-existing user877 returns a 404 if invalid ID878 returns 400 error if user does not validate879 returns 400 if provider is missing for identity update880 returns 400 if external UID is missing for identity update881 when the current user is not an admin882 is not available883 with existing user884 returns 409 conflict error if email address exists885 returns 409 conflict error if username taken886 returns 409 conflict error if username taken (case insensitive)887 POST /users/:id/keys888 does not create invalid ssh key889 does not create key without title890 creates ssh key891 returns 400 for invalid ID892 GET /user/:id/keys893 returns 404 for non-existing user894 returns array of ssh keys895 DELETE /user/:id/keys/:key_id896 when unauthenticated897 returns authentication error898 when authenticated899 deletes existing key900 returns 404 error if user not found901 returns 404 error if key not foud902 behaves like 412 response903 for a modified ressource904 returns 412905 for an unmodified ressource906 returns accepted907 POST /users/:id/keys908 does not create invalid GPG key909 creates GPG key910 returns 400 for invalid ID911 GET /user/:id/gpg_keys912 when unauthenticated913 returns authentication error914 when authenticated915 returns 404 for non-existing user916 returns 404 error if key not foud917 returns array of GPG keys918 DELETE /user/:id/gpg_keys/:key_id919 when unauthenticated920 returns authentication error921 when authenticated922 deletes existing key923 returns 404 error if user not found924 returns 404 error if key not foud925 POST /user/:id/gpg_keys/:key_id/revoke926 when unauthenticated927 returns authentication error928 when authenticated929 revokes existing key930 returns 404 error if user not found931 returns 404 error if key not foud932 POST /users/:id/emails933 does not create invalid email934 creates unverified email935 returns a 400 for invalid ID936 creates verified email937 GET /user/:id/emails938 when unauthenticated939 returns authentication error940 when authenticated941 returns 404 for non-existing user942 returns array of emails943 returns a 404 for invalid ID944 DELETE /user/:id/emails/:email_id945 when unauthenticated946 returns authentication error947 when authenticated948 deletes existing email949 returns 404 error if user not found950 returns 404 error if email not foud951 returns a 404 for invalid ID952 behaves like 412 response953 for a modified ressource954 returns 412955 for an unmodified ressource956 returns accepted957 DELETE /users/:id958 deletes user959 does not delete for unauthenticated user960 is not available for non admin users961 returns 404 for non-existing user962 returns a 404 for invalid ID963 behaves like 412 response964 for a modified ressource965 returns 412966 for an unmodified ressource967 returns accepted968 hard delete disabled969 moves contributions to the ghost user970 hard delete enabled971 removes contributions972 GET /user973 behaves like get user info974 with regular user975 returns current user without private token when sudo not defined976 with personal access token977 returns 403 without private token when sudo is defined978 scopes979 for personal access tokens980 when the requesting token has the "api" scope981 returns a "200" response982 when the requesting token has the "read_user" scope983 returns a "200" response984 when the requesting token does not have any required scope985 returns a "403" response986 for doorkeeper (OAuth) tokens987 when the requesting token has the "api" scope988 returns a "200" response989 when the requesting token has the "read_user" scope990 returns a "200" response991 when the requesting token does not have any required scope992 returns a "403" response993 with admin994 with personal access token995 returns 403 without private token when sudo defined996 returns initial current user without private token but with is_admin when sudo not defined997 with unauthenticated user998 returns 401 error if user is unauthenticated999 behaves like get user info1000 with regular user1001 returns current user without private token when sudo not defined1002 with personal access token1003 returns 403 without private token when sudo is defined1004 scopes1005 for personal access tokens1006 when the requesting token has the "api" scope1007 returns a "200" response1008 when the requesting token has the "read_user" scope1009 returns a "200" response1010 when the requesting token does not have any required scope1011 returns a "403" response1012 for doorkeeper (OAuth) tokens1013 when the requesting token has the "api" scope1014 returns a "200" response1015 when the requesting token has the "read_user" scope1016 returns a "200" response1017 when the requesting token does not have any required scope1018 returns a "403" response1019 with admin1020 with personal access token1021 returns 403 without private token when sudo defined1022 returns initial current user without private token but with is_admin when sudo not defined1023 with unauthenticated user1024 returns 401 error if user is unauthenticated1025 GET /user/keys1026 when unauthenticated1027 returns authentication error1028 when authenticated1029 returns array of ssh keys1030 scopes1031 for personal access tokens1032 when the requesting token has the "api" scope1033 returns a "200" response1034 when the requesting token has the "read_user" scope1035 returns a "200" response1036 when the requesting token does not have any required scope1037 returns a "403" response1038 for doorkeeper (OAuth) tokens1039 when the requesting token has the "api" scope1040 returns a "200" response1041 when the requesting token has the "read_user" scope1042 returns a "200" response1043 when the requesting token does not have any required scope1044 returns a "403" response1045 GET /user/keys/:key_id1046 returns single key1047 returns 404 Not Found within invalid ID1048 returns 404 error if admin accesses user's ssh key1049 returns 404 for invalid ID1050 scopes1051 for personal access tokens1052 when the requesting token has the "api" scope1053 returns a "200" response1054 when the requesting token has the "read_user" scope1055 returns a "200" response1056 when the requesting token does not have any required scope1057 returns a "403" response1058 for doorkeeper (OAuth) tokens1059 when the requesting token has the "api" scope1060 returns a "200" response1061 when the requesting token has the "read_user" scope1062 returns a "200" response1063 when the requesting token does not have any required scope1064 returns a "403" response1065 POST /user/keys1066 creates ssh key1067 returns a 401 error if unauthorized1068 does not create ssh key without key1069 does not create ssh key without title1070 does not create ssh key without title1071 DELETE /user/keys/:key_id1072 deletes existed key1073 returns 404 if key ID not found1074 returns 401 error if unauthorized1075 returns a 404 for invalid ID1076 behaves like 412 response1077 for a modified ressource1078 returns 4121079 for an unmodified ressource1080 returns accepted1081 GET /user/gpg_keys1082 when unauthenticated1083 returns authentication error1084 when authenticated1085 returns array of GPG keys1086 scopes1087 for personal access tokens1088 when the requesting token has the "api" scope1089 returns a "200" response1090 when the requesting token has the "read_user" scope1091 returns a "200" response1092 when the requesting token does not have any required scope1093 returns a "403" response1094 for doorkeeper (OAuth) tokens1095 when the requesting token has the "api" scope1096 returns a "200" response1097 when the requesting token has the "read_user" scope1098 returns a "200" response1099 when the requesting token does not have any required scope1100 returns a "403" response1101 GET /user/gpg_keys/:key_id1102 returns a single key1103 returns 404 Not Found within invalid ID1104 returns 404 error if admin accesses user's GPG key1105 returns 404 for invalid ID1106 scopes1107 for personal access tokens1108 when the requesting token has the "api" scope1109 returns a "200" response1110 when the requesting token has the "read_user" scope1111 returns a "200" response1112 when the requesting token does not have any required scope1113 returns a "403" response1114 for doorkeeper (OAuth) tokens1115 when the requesting token has the "api" scope1116 returns a "200" response1117 when the requesting token has the "read_user" scope1118 returns a "200" response1119 when the requesting token does not have any required scope1120 returns a "403" response1121 POST /user/gpg_keys1122 creates a GPG key1123 returns a 401 error if unauthorized1124 does not create GPG key without key1125 POST /user/gpg_keys/:key_id/revoke1126 revokes existing GPG key1127 returns 404 if key ID not found1128 returns 401 error if unauthorized1129 returns a 404 for invalid ID1130 DELETE /user/gpg_keys/:key_id1131 deletes existing GPG key1132 returns 404 if key ID not found1133 returns 401 error if unauthorized1134 returns a 404 for invalid ID1135 GET /user/emails1136 when unauthenticated1137 returns authentication error1138 when authenticated1139 returns array of emails1140 scopes1141 for personal access tokens1142 when the requesting token has the "api" scope1143 returns a "200" response1144 when the requesting token has the "read_user" scope1145 returns a "200" response1146 when the requesting token does not have any required scope1147 returns a "403" response1148 for doorkeeper (OAuth) tokens1149 when the requesting token has the "api" scope1150 returns a "200" response1151 when the requesting token has the "read_user" scope1152 returns a "200" response1153 when the requesting token does not have any required scope1154 returns a "403" response1155 GET /user/emails/:email_id1156 returns single email1157 returns 404 Not Found within invalid ID1158 returns 404 error if admin accesses user's email1159 returns 404 for invalid ID1160 scopes1161 for personal access tokens1162 when the requesting token has the "api" scope1163 returns a "200" response1164 when the requesting token has the "read_user" scope1165 returns a "200" response1166 when the requesting token does not have any required scope1167 returns a "403" response1168 for doorkeeper (OAuth) tokens1169 when the requesting token has the "api" scope1170 returns a "200" response1171 when the requesting token has the "read_user" scope1172 returns a "200" response1173 when the requesting token does not have any required scope1174 returns a "403" response1175 POST /user/emails1176 creates email1177 returns a 401 error if unauthorized1178 does not create email with invalid email1179 DELETE /user/emails/:email_id1180 deletes existed email1181 returns 404 if email ID not found1182 returns 401 error if unauthorized1183 returns 400 for invalid ID1184 behaves like 412 response1185 for a modified ressource1186 returns 4121187 for an unmodified ressource1188 returns accepted1189 POST /users/:id/block1190 blocks existing user1191 does not re-block ldap blocked users1192 does not be available for non admin users1193 returns a 404 error if user id not found1194 POST /users/:id/unblock1195 unblocks existing user1196 unblocks a blocked user1197 does not unblock ldap blocked users1198 does not be available for non admin users1199 returns a 404 error if user id not found1200 returns a 404 for invalid ID1201 user activities1202 last activity as normal user1203 has no permission1204 as admin1205 returns the activities from the last 6 months1206 passing a :from parameter1207 returns the activities from the given date1208 GET /user/status1209 behaves like rendering user status1210 returns the status if there was one1211 returns an empty response if there was no status1212 PUT /user/status1213 saves the status1214 renders errors when the status was invalid1215 deletes the status when passing empty values1216 GET /users/:user_id/impersonation_tokens1217 returns a 404 error if user not found1218 returns a 403 error when authenticated as normal user1219 returns an array of all impersonated tokens1220 returns an array of active impersonation tokens if state active1221 returns an array of inactive personal access tokens if active is set to false1222 POST /users/:user_id/impersonation_tokens1223 returns validation error if impersonation token misses some attributes1224 returns a 404 error if user not found1225 returns a 403 error when authenticated as normal user1226 creates a impersonation token1227 GET /users/:user_id/impersonation_tokens/:impersonation_token_id1228 returns 404 error if user not found1229 returns a 404 error if impersonation token not found1230 returns a 404 error if token is not impersonation token1231 returns a 403 error when authenticated as normal user1232 returns an impersonation token1233 DELETE /users/:user_id/impersonation_tokens/:impersonation_token_id1234 returns a 404 error if user not found1235 returns a 404 error if impersonation token not found1236 returns a 404 error if token is not impersonation token1237 returns a 403 error when authenticated as normal user1238 revokes a impersonation token1239 behaves like 412 response1240 for a modified ressource1241 returns 4121242 for an unmodified ressource1243 returns accepted1244 behaves like custom attributes endpoints1245 GET /users with custom attributes filter1246 with an unauthorized user1247 does not filter by custom attributes1248 with an authorized user1249 filters by custom attributes1250 GET /users with custom attributes1251 with an unauthorized user1252 does not include custom attributes1253 with an authorized user1254 does not include custom attributes by default1255 includes custom attributes if requested1256 GET /users/:id with custom attributes1257 with an unauthorized user1258 does not include custom attributes1259 with an authorized user1260 does not include custom attributes by default1261 includes custom attributes if requested1262 GET /users/:id/custom_attributes1263 with an unauthorized user1264 behaves like an unauthorized API user1265 should eq 4031266 with an authorized user1267 returns all custom attributes1268 GET /users/:id/custom_attributes/:key1269 with an unauthorized user1270 behaves like an unauthorized API user1271 should eq 4031272 with an authorized user1273 returns a single custom attribute1274 PUT /users/:id/custom_attributes/:key1275 with an unauthorized user1276 behaves like an unauthorized API user1277 should eq 4031278 with an authorized user1279 creates a new custom attribute1280 updates an existing custom attribute1281 DELETE /users/:id/custom_attributes/:key1282 with an unauthorized user1283 behaves like an unauthorized API user1284 should eq 4031285 with an authorized user1286 deletes an existing custom attribute1287Admin Runners1288 Runners page1289 when there are runners1290 has all necessary texts1291Starting the Capybara driver server...1292 sorts by last contact date1293 search1294 shows correct runner when description matches1295 shows no runner when description does not match1296 filter by status1297 shows correct runner when status matches1298 shows no runner when status does not match1299 shows correct runner when status is selected and search term is entered1300 filter by type1301 shows correct runner when type matches1302 shows no runner when type does not match1303 shows correct runner when type is selected and search term is entered1304 filter by tag1305 shows correct runner when tag matches1306 shows no runner when tag does not match1307 shows correct runner when tag is selected and search term is entered1308 when there are no runners1309 has all necessary texts including no runner message1310 group runner1311 shows the label and does not show the project count1312 shared runner1313 shows the label and does not show the project count1314 specific runner1315 shows the label and the project count1316 Runner show page1317 runner info1318 should eq "ZTYTiavNzVHd9uyohE8A"1319 projects1320 contains project names1321 search1322 contains name of correct project1323 enable/create1324 with specific runner1325 behaves like assignable runner1326 enables a runner for a project1327 with locked runner1328 behaves like assignable runner1329 enables a runner for a project1330 with shared runner1331 behaves like assignable runner1332 enables a runner for a project1333 disable/destroy1334 enables specific runner for project1335 runners registration token1336 has a registration token1337 reload registration token1338 changes registration token1339API::Todos1340 GET /todos1341 avoids N+1 queries1342 when unauthenticated1343 returns authentication error1344 when authenticated1345 returns an array of pending todos for current user1346 and using the author filter1347 filters based on author_id param1348 and using the type filter1349 filters based on type param1350 and using the state filter1351 filters based on state param1352 and using the project filter1353 filters based on project_id param1354 and using the group filter1355 filters based on project_id param1356 and using the action filter1357 filters based on action param1358 POST /todos/:id/mark_as_done1359 when unauthenticated1360 returns authentication error1361 when authenticated1362 marks a todo as done1363 updates todos cache1364 returns 404 if the todo does not belong to the current user1365 POST /mark_as_done1366 when unauthenticated1367 returns authentication error1368 when authenticated1369 marks all todos as done1370 updates todos cache1371 POST :id/issuable_type/:issueable_id/todo1372 for an issue1373 behaves like an issuable1374 creates a todo on an issuable1375 returns 304 there already exist a todo on that issuable1376 returns 404 if the issuable is not found1377 returns an error if the issuable is not accessible1378 for a merge request1379 behaves like an issuable1380 creates a todo on an issuable1381 returns 304 there already exist a todo on that issuable1382 returns 404 if the issuable is not found1383 returns an error if the issuable is not accessible1384Issue Boards1385 un-ordered issues1386 has un-ordered issue as last issue1387 moves un-ordered issue to top of list1388 ordering in list1389 moves from middle to top1390 moves from middle to bottom1391 moves from top to bottom1392 moves from bottom to top1393 moves from top to middle1394 moves from bottom to middle1395 ordering when changing list1396 moves to top of another list1397 moves to bottom of another list1398 moves to index of another list1399User activates issue tracker1400 behaves like external issue tracker activation1401 user sets and activates the Service1402 when the connection test succeeds1403 activates the service1404 shows the link in the menu1405 when the connection test fails1406 activates the service1407 user sets the service but keeps it disabled1408 saves but does not activate the service1409 does not show the external tracker link in the menu1410Merge Requests > Filters generic behavior1411 when filtered by a label1412 state tabs1413 does not change when state tabs are clicked1414 clear button1415 allows user to remove filtered labels1416 filter dropdown1417 filters by label name1418Groups::MilestonesController1419 #index1420 as HTML1421 shows group milestones page1422 searches legacy milestones by title when search_title is given1423 searches group milestones by title when search_title is given1424 as JSON1425 lists legacy group milestones and group milestones1426 #show1427 when there is a title parameter1428 searches for a legacy group milestone1429 when there is not a title parameter1430 searches for a group milestone1431 behaves like milestone tabs1432 #merge_requests1433 as html1434 redirects to milestone#show1435 as json1436 renders the merge requests tab template to a string1437 #participants1438 as html1439 redirects to milestone#show1440 as json1441 renders the participants tab template to a string1442 #labels1443 as html1444 redirects to milestone#show1445 as json1446 renders the labels tab template to a string1447 #create1448 creates group milestone with Chinese title1449 #update1450 updates group milestone1451 legacy group milestones1452 updates only group milestones state1453 #destroy1454 removes milestone1455 #ensure_canonical_path1456 for a GET request1457 when requesting the canonical path1458 non-show path1459 with exactly matching casing1460 does not redirect1461 with different casing1462 redirects to the correct casing1463 show path1464 with exactly matching casing1465 does not redirect1466 with different casing1467 redirects to the correct casing1468 when requesting a redirected path1469 redirects to the canonical path1470 when the old group path is a substring of the scheme or host1471 does not modify the requested host1472 when the old group path is substring of groups1473 does not modify the /groups part of the path1474 when the old group path is substring of groups plus the new path1475 does not modify the /groups part of the path1476 for a non-GET request1477 when requesting the canonical path with different casing1478 does not 4041479 does not redirect to the correct casing1480 when requesting a redirected path1481 returns not found1482Project > Tags1483 when opening project tags1484 page with tags list1485 shows tag name1486 shows tag edit button1487 edit tag release notes1488 shows tag name header1489 shows release notes form1490 toolbar buttons on release notes form are functional1491 release notes form shows "Attach a file" button1492 shows "Attaching a file" message on uploading 1 file1493Boards::IssuesController1494 GET index1495 with invalid board id1496 returns a not found 404 response1497 when list id is present1498 with valid list id1499 returns issues that have the list label applied1500 avoids N+1 database queries1501 avoids N+1 database queries when adding a project1502 avoids N+1 database queries when adding a subgroup, project, and issue1503 with invalid list id1504 returns a not found 404 response1505 when list id is missing1506 returns opened issues without board labels applied1507 with unauthorized user1508 returns a forbidden 403 response1509 POST create1510 with valid params1511 returns a successful 200 response1512 returns the created issue1513 with invalid params1514 when title is nil1515 returns an unprocessable entity 422 response1516 when list does not belongs to project board1517 returns a not found 404 response1518 with invalid board id1519 returns a not found 404 response1520 with invalid list id1521 returns a not found 404 response1522 with guest user1523 in open list1524 returns a successful 200 response1525 in label list1526 returns a forbidden 403 response1527 PATCH update1528 with valid params1529 returns a successful 200 response1530 moves issue to the desired list1531 with invalid params1532 returns a unprocessable entity 422 response for invalid lists1533 returns a not found 404 response for invalid board id1534 returns a not found 404 response for invalid issue id1535 with unauthorized user1536 returns a forbidden 403 response1537Users::DestroyService1538 Deletes a user and all their personal projects1539 no options are given1540 deletes the user1541 will delete the project1542 projects in pending_delete1543 destroys a project in pending_delete1544 a deleted user's issues1545 for an issue the user was assigned to1546 does not delete issues the user is assigned to1547 migrates the issue so that it is "Unassigned"1548 a deleted user's merge_requests1549 for an merge request the user was assigned to1550 does not delete merge requests the user is assigned to1551 migrates the merge request so that it is "Unassigned"1552 solo owned groups present1553 does not delete the user1554 deletions with solo owned groups1555 deletes solo owned groups1556 deletes the user1557 deletion permission checks1558 does not delete the user when user is not an admin1559 allows admins to delete anyone1560 allows users to delete their own account1561 migrating associated records1562 delegates to the `MigrateToGhostUser` service to move associated records to the ghost user1563 does not run `MigrateToGhostUser` if hard_delete option is given1564 user personal's repository removal1565 storages1566 legacy storage1567 removes repository1568 hashed storage1569 removes repository1570 repository removal status is taken into account1571 raises exception1572 calls the before/after callbacks1573 of project_members1574 of group_members1575Dashboard snippets1576 when the project has snippets1577 behaves like paginated snippets1578 is limited to 20 items per page1579 clicking on the link to the second page1580 shows the remaining snippets1581 when there are no project snippets1582 shows the empty state when there are no snippets1583 filtering by visibility1584 contains all snippets of logged user1585 contains all private snippets of logged user when clicking on private1586 contains all internal snippets of logged user when clicking on internal1587 contains all public snippets of logged user when clicking on public1588Groups > Members > Leave group1589 guest leaves the group1590 guest leaves the group as last member1591 owner leaves the group if they is not the last owner1592 owner can not leave the group if they is a last owner1593Banzai::Filter::CommitRangeReferenceFilter1594 requires project context1595 ignores valid references contained inside 'pre' element1596 ignores valid references contained inside 'code' element1597 ignores valid references contained inside 'a' element1598 ignores valid references contained inside 'style' element1599 internal reference1600 links to a valid two-dot reference1601 links to a valid three-dot reference1602 links to a valid short ID1603 links with adjacent text1604 ignores invalid commit IDs1605 includes no title attribute1606 includes default classes1607 includes a data-project attribute1608 includes a data-commit-range attribute1609 supports an :only_path option1610 cross-project / cross-namespace complete reference1611 links to a valid reference1612 link has valid text1613 has valid text1614 ignores invalid commit IDs on the referenced project1615 cross-project / same-namespace complete reference1616 links to a valid reference1617 link has valid text1618 has valid text1619 ignores invalid commit IDs on the referenced project1620 cross-project shorthand reference1621 links to a valid reference1622 link has valid text1623 has valid text1624 ignores invalid commit IDs on the referenced project1625 cross-project URL reference1626 links to a valid reference1627 links with adjacent text1628 ignores invalid commit IDs on the referenced project1629 group context1630 ignores internal references1631 links to a full-path reference1632User searches for comments1633 when a comment is in commits1634 when comment belongs to an invalid commit1635 finds a commit1636 when a comment is in a snippet1637 finds a snippet1638User merges a merge request1639 ff-only merge1640 when branch is rebased1641 behaves like fast forward merge a merge request1642 merges a merge request1643 when branch is merged1644 behaves like fast forward merge a merge request1645 merges a merge request1646PushEventPayloadService1647 #execute1648 creates a new PushEventPayload row1649 sets the push_event_payload association of the used event1650 #commit_title1651 returns nil if no commits were pushed1652 returns a String limited to 70 characters1653 does not truncate the commit message if it is shorter than 70 characters1654 includes the first line of a commit message if the message spans multiple lines1655 #commit_from_id1656 returns nil when creating a new ref1657 returns the ID of the first commit when pushing to an existing ref1658 #commit_to_id1659 returns nil when removing an existing ref1660 #commit_count1661 returns the number of commits1662 raises when the push data does not contain the commits count1663 #ref1664 returns the name of the ref1665 raises when the push data does not contain the ref name1666 #revision_before1667 returns the revision from before the push1668 raises when the push data does not contain the before revision1669 #revision_after1670 returns the revision from after the push1671 raises when the push data does not contain the after revision1672 #trimmed_ref1673 returns the ref name without its prefix1674 #create?1675 returns true when creating a new ref1676 returns false when pushing to an existing ref1677 #remove?1678 returns true when removing an existing ref1679 returns false pushing to an existing ref1680 #action1681 returns :created when creating a ref1682 returns :removed when removing an existing ref1683 returns :pushed when pushing to an existing ref1684 #ref_type1685 returns :tag for a tag1686 returns :branch for a branch1687Gitlab::Graphql::Connections::KeysetConnection1688 #cursor_from_nodes1689 returns an encoded ID1690 when an order was specified1691 returns the encoded value of the order1692 #sliced_nodes1693 when before is passed1694 only returns the project before the selected one1695 when the sort order is descending1696 returns the correct nodes1697 when after is passed1698 only returns the project before the selected one1699 when the sort order is descending1700 returns the correct nodes1701 when both before and after are passed1702 returns the expected set1703 #paged_nodes1704 returns the collection limited to max page size1705 when `first` is passed1706 returns only the first elements1707 when `last` is passed1708 returns only the last elements1709 when both are passed1710 raises an error1711User edits a merge request1712 changes the target branch1713GlobalMilestone1714 .build_collection1715 when building a collection of milestones1716 has all project milestones1717 has all project milestones titles1718 has all project milestones1719 sorts collection by due date1720 filters milestones by search_title when params[:search_title] is present1721 when adding new milestones1722 does not add more queries1723 .states_count1724 when the projects have milestones1725 returns the quantity of global milestones and group milestones in each possible state1726 returns the quantity of global milestones in each possible state1727 when the projects do not have milestones1728 returns 0 as the quantity of global milestones in each state1729 #initialize1730 has exactly one group milestone1731 has all project milestones with the same title1732 #safe_title1733 strips out slashes and spaces1734 #state1735 when at least one milestone is active1736 returns active1737 when all milestones are closed1738 returns closed1739Active user sessions1740 Successful login adds a new active user login1741 Successful login cleans up obsolete entries1742 Sessionless login does not clean up obsolete entries1743 Logout deletes the active user login1744User deletes comments on a commit1745 deletes comment1746Navigation bar counter1747 reflects dashboard issues count1748 reflects dashboard merge requests count1749admin manage applications1750 should not text "test_changed"1751Projects::UpdateRemoteMirrorService1752 #execute17532019-03-14T02:26:09.201Z 104 TID-go2nq3rus INFO: Removing remote remote_mirror_1 from project 44117542019-03-14T02:26:09.209Z 104 TID-go2nq3rus ERROR: Could not remove remote remote_mirror_1 from project 4411755 ensures the remote exists17562019-03-14T02:26:10.444Z 104 TID-go2nq3rus INFO: Removing remote remote_mirror_2 from project 44317572019-03-14T02:26:10.452Z 104 TID-go2nq3rus ERROR: Could not remove remote remote_mirror_2 from project 4431758 fetches the remote repository17592019-03-14T02:26:11.160Z 104 TID-go2nq3rus INFO: Removing remote remote_mirror_3 from project 44517602019-03-14T02:26:11.167Z 104 TID-go2nq3rus ERROR: Could not remove remote remote_mirror_3 from project 4451761 returns success when updated succeeds1762 when syncing all branches17632019-03-14T02:26:12.311Z 104 TID-go2nq3rus INFO: Removing remote remote_mirror_4 from project 44717642019-03-14T02:26:12.319Z 104 TID-go2nq3rus ERROR: Could not remove remote remote_mirror_4 from project 4471765 push all the branches the first time1766 when only syncing protected branches17672019-03-14T02:26:13.449Z 104 TID-go2nq3rus INFO: Removing remote remote_mirror_5 from project 44917682019-03-14T02:26:13.456Z 104 TID-go2nq3rus ERROR: Could not remove remote remote_mirror_5 from project 4491769 sync updated protected branches1770User searches for projects1771 when signed out1772 does not show top right search form1773 finds a project1774 preserves the group being searched in1775 preserves the project being searched in1776MovePersonalSnippetsFiles1777/builds/gitlab-org/gitlab-ce/db/post_migrate/20190301081611_migrate_project_migrate_sidekiq_queue.rb:8: warning: already initialized constant MigrateProjectMigrateSidekiqQueue::DOWNTIME1778/builds/gitlab-org/gitlab-ce/db/post_migrate/20190301081611_migrate_project_migrate_sidekiq_queue.rb:6: warning: previous definition of DOWNTIME was here1779NOTICE: index "index_projects_on_lower_name" does not exist, skipping1780NOTICE: index "index_on_users_name_lower" does not exist, skipping1781NOTICE: index "index_redirect_routes_on_path_unique_text_pattern_ops" does not exist, skipping1782NOTICE: index "index_on_namespaces_lower_name" does not exist, skipping1783Arel 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.1784If 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).1785You 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)1786If 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.1787DEPRECATION 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 each_batch at /builds/gitlab-org/gitlab-ce/app/models/concerns/each_batch.rb:61)1788 #up1789 moves the files1790 updating the markdown1791 includes the new path when the file exists1792 does not update the markdown when the file is missing1793 updates the note markdown1794 #down1795 moves the files1796 updating the markdown1797 includes the new path when the file exists1798 keeps the markdown as is when the file is missing1799 updates the note markdown1800 #update_markdown1801 escapes sql in the snippet description1802Arel 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.1803If 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).1804You 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)1805If 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.1806DEPRECATION 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 each_batch at /builds/gitlab-org/gitlab-ce/app/models/concerns/each_batch.rb:61)1807Arel 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.1808If 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).1809You 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)1810If 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.1811DEPRECATION 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)1812Arel 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.1813If 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).1814You 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)1815If 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.1816DEPRECATION 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)1817Arel 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.1818If 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).1819You 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)1820If 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.1821DEPRECATION 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)1822Arel 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.1823If 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).1824You 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)1825If 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.1826DEPRECATION 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)1827Arel 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.1828If 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).1829You 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)1830If 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.1831DEPRECATION 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 block in update_column_in_batches at /builds/gitlab-org/gitlab-ce/lib/gitlab/database/migration_helpers.rb:360)1832Arel 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.1833If 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).1834You 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)1835If 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.1836DEPRECATION 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 block in update_column_in_batches at /builds/gitlab-org/gitlab-ce/lib/gitlab/database/migration_helpers.rb:375)1837Arel 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.1838If 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).1839You 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)1840If 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.1841DEPRECATION 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)1842Arel 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.1843If 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).1844You 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)1845If 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.1846DEPRECATION 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)1847Arel 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.1848If 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).1849You 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)1850If 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.1851DEPRECATION 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)1852Arel 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.1853If 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).1854You 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)1855If 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.1856DEPRECATION 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)1857Arel 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.1858If 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).1859You 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)1860If 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.1861DEPRECATION 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)1862Arel 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.1863If 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).1864You 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)1865If 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.1866DEPRECATION 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)1867Arel 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.1868If 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).1869You 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)1870If 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.1871DEPRECATION 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)1872Arel 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.1873If 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).1874You 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)1875If 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.1876DEPRECATION 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)1877Arel 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.1878If 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).1879You 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)1880If 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.1881DEPRECATION 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)1882Arel 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.1883If 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).1884You 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)1885If 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.1886DEPRECATION 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)1887Arel 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.1888If 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).1889You 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)1890If 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.1891DEPRECATION 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)1892Arel 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.1893If 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).1894You 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)1895If 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.1896DEPRECATION 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)1897Gitlab::Diff::Highlight1898 #highlight1899 with a diff file1900 returns Gitlab::Diff::Line elements1901 does not modify "match" lines1902 highlights and marks unchanged lines1903 highlights and marks removed lines1904 highlights and marks added lines1905 when no diff_refs1906 when no inline diffs1907 behaves like without inline diffs1908 returns html escaped diff text1909 with diff lines1910 returns Gitlab::Diff::Line elements1911 does not modify "match" lines1912 marks unchanged lines1913 marks removed lines1914 marks added lines1915 when the inline diff marker has an invalid range1916 keeps the original rich line1917 reports to Sentry if configured1918 when no inline diffs1919 behaves like without inline diffs1920 returns html escaped diff text1921Files::UpdateService1922 #execute1923 when the file's last commit sha does not match the supplied last_commit_sha1924 returns a hash with the correct error message and a :error status1925 when the file's last commit sha does match the supplied last_commit_sha1926 returns a hash with the :success status1927 updates the file with the new contents1928 uses the commit email1929 when the last_commit_sha is not supplied1930 returns a hash with the :success status1931 updates the file with the new contents1932groups/edit.html.haml1933 "Share with group lock" setting1934 for a root group1935 behaves like "Share with group lock" setting1936 should have the correct label, help text, and checkbox options1937 for a subgroup1938 when the root_group has "Share with group lock" disabled1939 when the subgroup has "Share with group lock" disabled1940 as the root_owner1941 behaves like "Share with group lock" setting1942 should have the correct label, help text, and checkbox options1943 as the sub_owner1944 behaves like "Share with group lock" setting1945 should have the correct label, help text, and checkbox options1946 when the subgroup has "Share with group lock" enabled1947 as the root_owner1948 behaves like "Share with group lock" setting1949 should have the correct label, help text, and checkbox options1950 as the sub_owner1951 behaves like "Share with group lock" setting1952 should have the correct label, help text, and checkbox options1953 when the root_group has "Share with group lock" enabled1954 when the subgroup has "Share with group lock" disabled (parent overridden)1955 as the root_owner1956 behaves like "Share with group lock" setting1957 should have the correct label, help text, and checkbox options1958 as the sub_owner1959 behaves like "Share with group lock" setting1960 should have the correct label, help text, and checkbox options1961 when the subgroup has "Share with group lock" enabled (same as parent)1962 as the root_owner1963 behaves like "Share with group lock" setting1964 should have the correct label, help text, and checkbox options1965 as the sub_owner1966 behaves like "Share with group lock" setting1967 should have the correct label, help text, and checkbox options1968Issue::Metrics1969 when recording the default set of issue metrics on issue save1970 milestones1971 records the first time an issue is associated with a milestone1972 does not record the second time an issue is associated with a milestone1973 list labels1974 records the first time an issue is associated with a list label1975 does not record the second time an issue is associated with a list label1976Creating a new project milestone1977 description has emoji autocomplete1978Gitlab::Checks::DiffCheck1979 #validate!1980 with LFS not enabled1981 skips the validation1982 with LFS enabled1983 when change is sent by a different user1984 raises an error if the user is not allowed to update the file1985 when change is sent by the author of the lock1986 doesn't raise any error1987 commit diff validations1988 when request store is inactive1989 are run for every commit1990 when request store is active1991 are cached for every commit1992 are run for not cached commits1993ChecksCollaboration1994 #can_collaborate_with_project?1995 is true if the user can push to the project1996 is true when the user can push to a branch of the project1997 when the user has forked the project1998 is true1999 is false when the project is archived2000SystemHook2001 default attributes2002 sets defined default parameters2003 execute2004 project_create hook2005 project_destroy hook2006 user_create hook2007 user_destroy hook2008 project_create hook2009 project_destroy hook2010 group create hook2011 group destroy hook2012 group member create hook2013 group member destroy hook2014 .repository_update_hooks2015 returns hooks for repository update events only2016 execute WebHookService2017 #execute2018 #async_execute2019Banzai::ReferenceParser::ExternalIssueParser2020 #nodes_visible_to_user2021 when the link has a data-issue attribute2022 creates reference when the feature is 02023 creates reference when the feature is 102024 creates reference when the feature is 202025 #referenced_by2026 when the link has a data-project attribute2027 when the link has a data-external-issue attribute2028 returns an Array of ExternalIssue instances2029 when the link does not have a data-external-issue attribute2030 returns an empty Array2031 when the link does not have a data-project attribute2032 returns an empty Array2033 #issue_ids_per_project2034 returns a Hash containing range IDs per project2035 does not add a project when the data-external-issue attribute is empty2036projects/issues/show2037 when the issue is closed2038 shows "Closed" if an issue has not been moved2039 when the issue was moved2040 shows "Closed (moved)" if an issue has been moved2041 links "moved" to the new issue the original issue was moved to2042 when the issue is open2043 shows "Open" if an issue has been moved2044Gitlab::GithubImport::Importer::IssueImporter2045 .import_if_issue2046 imports an issuable if it is a regular issue2047 does not import the issuable if it is a pull request2048 #execute2049 creates the issue and assignees2050 #create_issue2051 produces a valid Issue2052 returns the ID of the created issue2053 when the issue author could be found2054 creates the issue with the found author as the issue author2055 when the issue author could not be found2056 creates the issue with the project creator as the issue author2057 when the import fails due to a foreign key error2058 does not raise any errors2059 #create_assignees2060 inserts the issue assignees in bulk2061API::NotificationSettings2062 GET /notification_settings2063 returns global notification settings for the current user2064 PUT /notification_settings2065 updates global notification settings for the current user2066 PUT /notification_settings2067 fails on non-user email address2068 GET /groups/:id/notification_settings2069 returns group level notification settings for the current user2070 PUT /groups/:id/notification_settings2071 updates group level notification settings for the current user2072 GET /projects/:id/notification_settings2073 returns project level notification settings for the current user2074 PUT /projects/:id/notification_settings2075 updates project level notification settings for the current user2076 PUT /projects/:id/notification_settings2077 fails on invalid level2078DeployTokenPolicy2079 creating a deploy key2080 when user is maintainer2081 should be allowed :create_deploy_token2082 when user is not maintainer2083 should be disallowed :create_deploy_token2084 updating a deploy key2085 when user is maintainer2086 should be allowed :update_deploy_token2087 when user is not maintainer2088 should be disallowed :update_deploy_token2089User visits the profile SSH keys page2090 shows correct menu item2091ProjectCustomAttribute2092 assocations2093 should belong to project2094 validations2095 should validate that :project cannot be empty/falsy2096 should validate that :key cannot be empty/falsy2097 should validate that :value cannot be empty/falsy2098 should validate that :key is case-sensitively unique within the scope of :project_id2099Projects::ReleasesController2100 GET #index2101 renders a 2002102 when the project is private2103 renders a 3022104 renders a 200 for a logged in developer2105 renders a 404 when logged in but not in the project2106Gitlab::ImportExport::RepoRestorer2107 bundle a project Git repo2108 restores the repo successfully2109 has the webhooks2110RepositoryCleanupWorker2111 #perform2112 executes the cleanup service and sends a success notification2113 raises an error if the project cannot be found2114 raises an error if the user cannot be found2115 #sidekiq_retries_exhausted2116 does not send a failure notification for a RecordNotFound error2117 sends a failure notification2118Gitlab::ImportExport::UploadsSaver2119 bundle a project Git repo2120 legacy storage2121 saves the uploads successfully2122 copies the uploads to the export path2123 hashed storage2124 saves the uploads successfully2125 copies the uploads to the export path2126Boards::Lists::ListService2127 #execute2128 when board parent is a project2129 behaves like lists list service2130 when the board has a backlog list2131 does not create a backlog list2132 returns board's lists2133 when the board does not have a backlog list2134 creates a backlog list2135 returns board's lists2136 when board parent is a group2137 behaves like lists list service2138 when the board has a backlog list2139 does not create a backlog list2140 returns board's lists2141 when the board does not have a backlog list2142 creates a backlog list2143 returns board's lists2144PagesDomain2145 associations2146 should belong to project2147 validate domain2148 is unique2149 should validate that :domain is case-insensitively unique2150 hostname2151 domain "my.domain.com" validity2152 should eq true2153 domain "123.456.789" validity2154 should eq true2155 domain "0x12345.com" validity2156 should eq true2157 domain "0123123" validity2158 should eq true2159 domain "_foo.com" validity2160 should eq false2161 domain "reserved.com" validity2162 should eq false2163 domain "a.reserved.com" validity2164 should eq false2165 domain nil validity2166 should eq false2167 HTTPS-only2168 pages_https_only: true, certificate: nil, key: nil, errors_on: [:certificate, :key]2169 is adds the expected errors2170 pages_https_only: true, certificate: "-----BEGIN CERTIFICATE-----\nMIICGzCCAYSgAwIBAgIBATANBgkqhkiG9w0BAQUFADAbMRkwFwYDVQQDExB0ZXN0\nLWNlcnRpZmljYXRlMB4XDTE2MDIxMjE0MzIwMFoXDTIwMDQxMjE0MzIwMFowGzEZ\nMBcGA1UEAxMQdGVzdC1jZXJ0aWZpY2F0ZTCBnzANBgkqhkiG9w0BAQEFAAOBjQAw\ngYkCgYEApL4J9L0ZxFJ1hI1LPIflAlAGvm6ZEvoT4qKU5Xf2JgU7/2geNR1qlNFa\nSvCc08Knupp5yTgmvyK/Xi09U0N82vvp4Zvr/diSc4A/RA6Mta6egLySNT438kdT\nnY2tR5feoTLwQpX0t4IMlwGQGT5h6Of2fKmDxzuwuyffcIHqLdsCAwEAAaNvMG0w\nDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUxl9WSxBprB0z0ibJs3rXEk0+95AwCwYD\nVR0PBAQDAgXgMBEGCWCGSAGG+EIBAQQEAwIGQDAeBglghkgBhvhCAQ0EERYPeGNh\nIGNlcnRpZmljYXRlMA0GCSqGSIb3DQEBBQUAA4GBAGC4T8SlFHK0yPSa+idGLQFQ\njoZp2JHYvNlTPkRJ/J4TcXxBTJmArcQgTIuNoBtC+0A/SwdK4MfTCUY4vNWNdese\n5A4K65Nb7Oh1AdQieTBHNXXCdyFsva9/ScfQGEl7p55a52jOPs0StPd7g64uvjlg\nYHi2yesCrOvVXt+lgPTd\n-----END CERTIFICATE-----", key: nil, errors_on: [:key]2171 is adds the expected errors2172 pages_https_only: true, certificate: nil, key: "-----BEGIN PRIVATE KEY-----\nMIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAKS+CfS9GcRSdYSN\nSzyH5QJQBr5umRL6E+KilOV39iYFO/9oHjUdapTRWkrwnNPCp7qaeck4Jr8iv14t\nPVNDfNr76eGb6/3YknOAP0QOjLWunoC8kjU+N/JHU52NrUeX3qEy8EKV9LeCDJcB\nkBk+Yejn9nypg8c7sLsn33CB6i3bAgMBAAECgYA2D26w80T7WZvazYr86BNMePpd\nj2mIAqx32KZHzt/lhh40J/SRtX9+Kl0Y7nBoRR5Ja9u/HkAIxNxLiUjwg9r6cpg/\nuITEF5nMt7lAk391BuI+7VOZZGbJDsq2ulPd6lO+C8Kq/PI/e4kXcIjeH6KwQsuR\n5vrXfBZ3sQfflaiN4QJBANBt8JY2LIGQF8o89qwUpRL5vbnKQ4IzZ5+TOl4RLR7O\nAQpJ81tGuINghO7aunctb6rrcKJrxmEH1whzComybrMCQQDKV49nOBudRBAIgG4K\nEnLzsRKISUHMZSJiYTYnablof8cKw1JaQduw7zgrUlLwnroSaAGX88+Jw1f5n2Lh\nVlg5AkBDdUGnrDLtYBCDEQYZHblrkc7ZAeCllDOWjxUV+uMqlCv8A4Ey6omvY57C\nm6I8DkWVAQx8VPtozhvHjUw80rZHAkB55HWHAM3h13axKG0htCt7klhPsZHpx6MH\nEPjGlXIT+aW2XiPmK3ZlCDcWIenE+lmtbOpI159Wpk8BGXs/s/xBAkEAlAY3ymgx\n63BDJEwvOb2IaP8lDDxNsXx9XJNVvQbv5n15vNsLHbjslHfAhAbxnLQ1fLhUPqSi\nnNp/xedE1YxutQ==\n-----END PRIVATE KEY-----", errors_on: [:certificate, :key]2173 is adds the expected errors2174 pages_https_only: true, certificate: "-----BEGIN CERTIFICATE-----\nMIICGzCCAYSgAwIBAgIBATANBgkqhkiG9w0BAQUFADAbMRkwFwYDVQQDExB0ZXN0\nLWNlcnRpZmljYXRlMB4XDTE2MDIxMjE0MzIwMFoXDTIwMDQxMjE0MzIwMFowGzEZ\nMBcGA1UEAxMQdGVzdC1jZXJ0aWZpY2F0ZTCBnzANBgkqhkiG9w0BAQEFAAOBjQAw\ngYkCgYEApL4J9L0ZxFJ1hI1LPIflAlAGvm6ZEvoT4qKU5Xf2JgU7/2geNR1qlNFa\nSvCc08Knupp5yTgmvyK/Xi09U0N82vvp4Zvr/diSc4A/RA6Mta6egLySNT438kdT\nnY2tR5feoTLwQpX0t4IMlwGQGT5h6Of2fKmDxzuwuyffcIHqLdsCAwEAAaNvMG0w\nDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUxl9WSxBprB0z0ibJs3rXEk0+95AwCwYD\nVR0PBAQDAgXgMBEGCWCGSAGG+EIBAQQEAwIGQDAeBglghkgBhvhCAQ0EERYPeGNh\nIGNlcnRpZmljYXRlMA0GCSqGSIb3DQEBBQUAA4GBAGC4T8SlFHK0yPSa+idGLQFQ\njoZp2JHYvNlTPkRJ/J4TcXxBTJmArcQgTIuNoBtC+0A/SwdK4MfTCUY4vNWNdese\n5A4K65Nb7Oh1AdQieTBHNXXCdyFsva9/ScfQGEl7p55a52jOPs0StPd7g64uvjlg\nYHi2yesCrOvVXt+lgPTd\n-----END CERTIFICATE-----", key: "-----BEGIN PRIVATE KEY-----\nMIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAKS+CfS9GcRSdYSN\nSzyH5QJQBr5umRL6E+KilOV39iYFO/9oHjUdapTRWkrwnNPCp7qaeck4Jr8iv14t\nPVNDfNr76eGb6/3YknOAP0QOjLWunoC8kjU+N/JHU52NrUeX3qEy8EKV9LeCDJcB\nkBk+Yejn9nypg8c7sLsn33CB6i3bAgMBAAECgYA2D26w80T7WZvazYr86BNMePpd\nj2mIAqx32KZHzt/lhh40J/SRtX9+Kl0Y7nBoRR5Ja9u/HkAIxNxLiUjwg9r6cpg/\nuITEF5nMt7lAk391BuI+7VOZZGbJDsq2ulPd6lO+C8Kq/PI/e4kXcIjeH6KwQsuR\n5vrXfBZ3sQfflaiN4QJBANBt8JY2LIGQF8o89qwUpRL5vbnKQ4IzZ5+TOl4RLR7O\nAQpJ81tGuINghO7aunctb6rrcKJrxmEH1whzComybrMCQQDKV49nOBudRBAIgG4K\nEnLzsRKISUHMZSJiYTYnablof8cKw1JaQduw7zgrUlLwnroSaAGX88+Jw1f5n2Lh\nVlg5AkBDdUGnrDLtYBCDEQYZHblrkc7ZAeCllDOWjxUV+uMqlCv8A4Ey6omvY57C\nm6I8DkWVAQx8VPtozhvHjUw80rZHAkB55HWHAM3h13axKG0htCt7klhPsZHpx6MH\nEPjGlXIT+aW2XiPmK3ZlCDcWIenE+lmtbOpI159Wpk8BGXs/s/xBAkEAlAY3ymgx\n63BDJEwvOb2IaP8lDDxNsXx9XJNVvQbv5n15vNsLHbjslHfAhAbxnLQ1fLhUPqSi\nnNp/xedE1YxutQ==\n-----END PRIVATE KEY-----", errors_on: []2175 is adds the expected errors2176 pages_https_only: false, certificate: nil, key: nil, errors_on: []2177 is adds the expected errors2178 pages_https_only: false, certificate: "-----BEGIN CERTIFICATE-----\nMIICGzCCAYSgAwIBAgIBATANBgkqhkiG9w0BAQUFADAbMRkwFwYDVQQDExB0ZXN0\nLWNlcnRpZmljYXRlMB4XDTE2MDIxMjE0MzIwMFoXDTIwMDQxMjE0MzIwMFowGzEZ\nMBcGA1UEAxMQdGVzdC1jZXJ0aWZpY2F0ZTCBnzANBgkqhkiG9w0BAQEFAAOBjQAw\ngYkCgYEApL4J9L0ZxFJ1hI1LPIflAlAGvm6ZEvoT4qKU5Xf2JgU7/2geNR1qlNFa\nSvCc08Knupp5yTgmvyK/Xi09U0N82vvp4Zvr/diSc4A/RA6Mta6egLySNT438kdT\nnY2tR5feoTLwQpX0t4IMlwGQGT5h6Of2fKmDxzuwuyffcIHqLdsCAwEAAaNvMG0w\nDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUxl9WSxBprB0z0ibJs3rXEk0+95AwCwYD\nVR0PBAQDAgXgMBEGCWCGSAGG+EIBAQQEAwIGQDAeBglghkgBhvhCAQ0EERYPeGNh\nIGNlcnRpZmljYXRlMA0GCSqGSIb3DQEBBQUAA4GBAGC4T8SlFHK0yPSa+idGLQFQ\njoZp2JHYvNlTPkRJ/J4TcXxBTJmArcQgTIuNoBtC+0A/SwdK4MfTCUY4vNWNdese\n5A4K65Nb7Oh1AdQieTBHNXXCdyFsva9/ScfQGEl7p55a52jOPs0StPd7g64uvjlg\nYHi2yesCrOvVXt+lgPTd\n-----END CERTIFICATE-----", key: nil, errors_on: [:key]2179 is adds the expected errors2180 pages_https_only: false, certificate: nil, key: "-----BEGIN PRIVATE KEY-----\nMIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAKS+CfS9GcRSdYSN\nSzyH5QJQBr5umRL6E+KilOV39iYFO/9oHjUdapTRWkrwnNPCp7qaeck4Jr8iv14t\nPVNDfNr76eGb6/3YknOAP0QOjLWunoC8kjU+N/JHU52NrUeX3qEy8EKV9LeCDJcB\nkBk+Yejn9nypg8c7sLsn33CB6i3bAgMBAAECgYA2D26w80T7WZvazYr86BNMePpd\nj2mIAqx32KZHzt/lhh40J/SRtX9+Kl0Y7nBoRR5Ja9u/HkAIxNxLiUjwg9r6cpg/\nuITEF5nMt7lAk391BuI+7VOZZGbJDsq2ulPd6lO+C8Kq/PI/e4kXcIjeH6KwQsuR\n5vrXfBZ3sQfflaiN4QJBANBt8JY2LIGQF8o89qwUpRL5vbnKQ4IzZ5+TOl4RLR7O\nAQpJ81tGuINghO7aunctb6rrcKJrxmEH1whzComybrMCQQDKV49nOBudRBAIgG4K\nEnLzsRKISUHMZSJiYTYnablof8cKw1JaQduw7zgrUlLwnroSaAGX88+Jw1f5n2Lh\nVlg5AkBDdUGnrDLtYBCDEQYZHblrkc7ZAeCllDOWjxUV+uMqlCv8A4Ey6omvY57C\nm6I8DkWVAQx8VPtozhvHjUw80rZHAkB55HWHAM3h13axKG0htCt7klhPsZHpx6MH\nEPjGlXIT+aW2XiPmK3ZlCDcWIenE+lmtbOpI159Wpk8BGXs/s/xBAkEAlAY3ymgx\n63BDJEwvOb2IaP8lDDxNsXx9XJNVvQbv5n15vNsLHbjslHfAhAbxnLQ1fLhUPqSi\nnNp/xedE1YxutQ==\n-----END PRIVATE KEY-----", errors_on: [:key]2181 is adds the expected errors2182 pages_https_only: false, certificate: "-----BEGIN CERTIFICATE-----\nMIICGzCCAYSgAwIBAgIBATANBgkqhkiG9w0BAQUFADAbMRkwFwYDVQQDExB0ZXN0\nLWNlcnRpZmljYXRlMB4XDTE2MDIxMjE0MzIwMFoXDTIwMDQxMjE0MzIwMFowGzEZ\nMBcGA1UEAxMQdGVzdC1jZXJ0aWZpY2F0ZTCBnzANBgkqhkiG9w0BAQEFAAOBjQAw\ngYkCgYEApL4J9L0ZxFJ1hI1LPIflAlAGvm6ZEvoT4qKU5Xf2JgU7/2geNR1qlNFa\nSvCc08Knupp5yTgmvyK/Xi09U0N82vvp4Zvr/diSc4A/RA6Mta6egLySNT438kdT\nnY2tR5feoTLwQpX0t4IMlwGQGT5h6Of2fKmDxzuwuyffcIHqLdsCAwEAAaNvMG0w\nDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUxl9WSxBprB0z0ibJs3rXEk0+95AwCwYD\nVR0PBAQDAgXgMBEGCWCGSAGG+EIBAQQEAwIGQDAeBglghkgBhvhCAQ0EERYPeGNh\nIGNlcnRpZmljYXRlMA0GCSqGSIb3DQEBBQUAA4GBAGC4T8SlFHK0yPSa+idGLQFQ\njoZp2JHYvNlTPkRJ/J4TcXxBTJmArcQgTIuNoBtC+0A/SwdK4MfTCUY4vNWNdese\n5A4K65Nb7Oh1AdQieTBHNXXCdyFsva9/ScfQGEl7p55a52jOPs0StPd7g64uvjlg\nYHi2yesCrOvVXt+lgPTd\n-----END CERTIFICATE-----", key: "-----BEGIN PRIVATE KEY-----\nMIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAKS+CfS9GcRSdYSN\nSzyH5QJQBr5umRL6E+KilOV39iYFO/9oHjUdapTRWkrwnNPCp7qaeck4Jr8iv14t\nPVNDfNr76eGb6/3YknOAP0QOjLWunoC8kjU+N/JHU52NrUeX3qEy8EKV9LeCDJcB\nkBk+Yejn9nypg8c7sLsn33CB6i3bAgMBAAECgYA2D26w80T7WZvazYr86BNMePpd\nj2mIAqx32KZHzt/lhh40J/SRtX9+Kl0Y7nBoRR5Ja9u/HkAIxNxLiUjwg9r6cpg/\nuITEF5nMt7lAk391BuI+7VOZZGbJDsq2ulPd6lO+C8Kq/PI/e4kXcIjeH6KwQsuR\n5vrXfBZ3sQfflaiN4QJBANBt8JY2LIGQF8o89qwUpRL5vbnKQ4IzZ5+TOl4RLR7O\nAQpJ81tGuINghO7aunctb6rrcKJrxmEH1whzComybrMCQQDKV49nOBudRBAIgG4K\nEnLzsRKISUHMZSJiYTYnablof8cKw1JaQduw7zgrUlLwnroSaAGX88+Jw1f5n2Lh\nVlg5AkBDdUGnrDLtYBCDEQYZHblrkc7ZAeCllDOWjxUV+uMqlCv8A4Ey6omvY57C\nm6I8DkWVAQx8VPtozhvHjUw80rZHAkB55HWHAM3h13axKG0htCt7klhPsZHpx6MH\nEPjGlXIT+aW2XiPmK3ZlCDcWIenE+lmtbOpI159Wpk8BGXs/s/xBAkEAlAY3ymgx\n63BDJEwvOb2IaP8lDDxNsXx9XJNVvQbv5n15vNsLHbjslHfAhAbxnLQ1fLhUPqSi\nnNp/xedE1YxutQ==\n-----END PRIVATE KEY-----", errors_on: []2183 is adds the expected errors2184 validate certificate2185 with matching key2186 should be valid2187 when no certificate is specified2188 should not be valid2189 when no key is specified2190 should not be valid2191 for not matching key2192 should not be valid2193 validations2194 should validate that :verification_code cannot be empty/falsy2195 #verification_code2196 is set automatically with 128 bits of SecureRandom data2197 #keyed_verification_code2198 should eq "gitlab-pages-verification-code=50f475adec36f0c4d2174f156de26bb4"2199 #verification_domain2200 should be nil2201 is a well-known subdomain if the domain is present2202 #url2203 should eq "https://my14.domain.com"2204 without the certificate2205 should eq "http://my15.domain.com"2206 #has_matching_key?2207 should be truthy2208 for invalid key2209 should be falsey2210 #has_intermediates?2211 for self signed2212 should be truthy2213 for missing certificate chain2214 should be falsey2215 for trusted certificate chain2216 should be truthy2217 #expired?2218 for valid2219 should be falsey2220 for expired2221 should be truthy2222 #subject2223 should eq "/CN=test-certificate"2224 #certificate_text2225 should not be empty2226 #https?2227 when a certificate is present2228 should be https2229 when no certificate is present2230 should not be https2231 #update_daemon2232 runs when the domain is created2233 runs when the domain is destroyed2234 delegates to Projects::UpdatePagesConfigurationService2235 configuration updates when attributes change2236 attribute: :project, old_value: nil, new_value: :project1, update_expected: true2237 runs if a relevant attribute has changed2238 attribute: :project, old_value: :project1, new_value: :project1, update_expected: false2239 runs if a relevant attribute has changed2240 attribute: :project, old_value: :project1, new_value: :project2, update_expected: true2241 runs if a relevant attribute has changed2242 attribute: :project, old_value: :project1, new_value: nil, update_expected: true2243 runs if a relevant attribute has changed2244 attribute: :domain, old_value: "a.com", new_value: "a.com", update_expected: false2245 runs if a relevant attribute has changed2246 attribute: :domain, old_value: "a.com", new_value: "b.com", update_expected: true2247 runs if a relevant attribute has changed2248 attribute: :verification_code, old_value: "foo", new_value: "foo", update_expected: false2249 runs if a relevant attribute has changed2250 attribute: :verification_code, old_value: "foo", new_value: "bar", update_expected: false2251 runs if a relevant attribute has changed2252 attribute: :verified_at, old_value: nil, new_value: 2019-03-14 02:16:26 +0000, update_expected: false2253 runs if a relevant attribute has changed2254 attribute: :verified_at, old_value: 2019-03-14 02:16:26 +0000, new_value: 2019-03-14 02:16:26 +0000, update_expected: false2255 runs if a relevant attribute has changed2256 attribute: :verified_at, old_value: 2019-03-14 02:16:26 +0000, new_value: 2019-03-15 02:16:26 +0000, update_expected: false2257 runs if a relevant attribute has changed2258 attribute: :verified_at, old_value: 2019-03-14 02:16:26 +0000, new_value: nil, update_expected: false2259 runs if a relevant attribute has changed2260 attribute: :enabled_until, old_value: nil, new_value: 2019-03-14 02:16:26 +0000, update_expected: true2261 runs if a relevant attribute has changed2262 attribute: :enabled_until, old_value: 2019-03-14 02:16:26 +0000, new_value: 2019-03-14 02:16:26 +0000, update_expected: false2263 runs if a relevant attribute has changed2264 attribute: :enabled_until, old_value: 2019-03-14 02:16:26 +0000, new_value: 2019-03-15 02:16:26 +0000, update_expected: false2265 runs if a relevant attribute has changed2266 attribute: :enabled_until, old_value: 2019-03-14 02:16:26 +0000, new_value: nil, update_expected: true2267 runs if a relevant attribute has changed2268 TLS configuration2269 updates when added2270 updates when changed2271 updates when removed2272Gitlab::Workhorse2273 .send_git_archive2274 sets the header correctly2275 when archive caching is disabled2276 tells workhorse not to use the cache2277 when the repository doesn't have an archive file path2278 raises an error2279 .send_git_patch2280 sets the header correctly2281 .terminal_websocket2282 without ca_pem2283 should eq {"Terminal"=>{"Subprotocols"=>["foo"], "Url"=>"wss://example.com/terminal.ws", "Header"=>{"Authorization"=>["Token x"]}, "MaxSessionTime"=>600}}2284 with ca_pem2285 should eq {"Terminal"=>{"Subprotocols"=>["foo"], "Url"=>"wss://example.com/terminal.ws", "Header"=>{"Authorization"=>["Token x"]}, "MaxSessionTime"=>600, "CAPem"=>"foo"}}2286 .send_git_diff2287 sets the header correctly2288 .secret2289 returns 32 bytes2290 accepts a trailing newline2291 raises an exception if the secret file cannot be read2292 raises an exception if the secret file contains the wrong number of bytes2293 .write_secret2294 uses mode 06002295 writes base64 data2296 #verify_api_request!2297 accepts a correct header2298 raises an error when the header is not set2299 raises an error when the header is not signed2300 raises an error when the header is signed with the wrong key2301 raises an error when the issuer is incorrect2302 .git_http_ok2303 should include {:GL_ID => "user-1497", :GL_USERNAME => "user1218", :GL_REPOSITORY => "project-566", :ShowAllRefs => false}2304 when is_wiki2305 should include {:GL_ID => "user-1498", :GL_USERNAME => "user1219", :GL_REPOSITORY => "wiki-566", :ShowAllRefs => false}2306 when Gitaly is enabled2307 includes a Repository param2308 when git_upload_pack action is passed2309 includes Gitaly params in the returned value2310 show_all_refs enabled2311 should include {:ShowAllRefs => true}2312 when git_receive_pack action is passed2313 should include {:GitalyServer => {:address => "unix:tmp/tests/gitaly/gitaly.socket", :token => "secret"}}2314 when info_refs action is passed2315 should include {:GitalyServer => {:address => "unix:tmp/tests/gitaly/gitaly.socket", :token => "secret"}}2316 show_all_refs enabled2317 should include {:ShowAllRefs => true}2318 when action passed is not supported by Gitaly2319 should raise Exception with "Unsupported action: download"2320 when receive_max_input_size has been updated2321 returns custom git config2322 when receive_max_input_size is empty2323 returns an empty git config2324 .set_key_and_notify2325 when we set a new key2326 behaves like set and notify2327 set and return the same value2328 set and notify2329 when we set an existing key2330 and overwrite2331 behaves like set and notify2332 set and return the same value2333 set and notify2334 and do not overwrite2335 try to set but return the previous value2336 does not notify2337 .send_git_blob2338 sets the header correctly2339 .send_url2340 sets the header correctly2341 .send_git_snapshot2342 sets the header correctly2343UsersWithPendingTodosFinder2344 #execute2345 returns the users for all pending todos of a target2346Embedded Snippets2347 loads snippet2348Gitlab::Ci::Status::Build::Created2349 #illustration2350 should include :image, :size, :title, and :content2351 .matches?2352 when build is created2353 is a correct match2354 when build is not created2355 does not match2356ScheduleMergeRequestDiffMigrationsTakeTwo2357== 20170926150348 ScheduleMergeRequestDiffMigrationsTakeTwo: migrating ========2358== 20170926150348 ScheduleMergeRequestDiffMigrationsTakeTwo: migrated (0.0244s) 2359 correctly schedules background migrations2360== 20170926150348 ScheduleMergeRequestDiffMigrationsTakeTwo: migrating ========2361== 20170926150348 ScheduleMergeRequestDiffMigrationsTakeTwo: migrated (0.0654s) 2362 migrates the data2363Arel 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.2364If 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).2365You 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)2366If 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.2367DEPRECATION 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)2368Arel 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.2369If 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).2370You 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)2371If 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.2372DEPRECATION 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)2373Arel 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.2374If 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).2375You 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)2376If 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.2377DEPRECATION 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)2378Arel 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.2379If 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).2380You 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)2381If 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.2382DEPRECATION 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)2383Arel 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.2384If 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).2385You 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)2386If 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.2387DEPRECATION 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 block in update_column_in_batches at /builds/gitlab-org/gitlab-ce/lib/gitlab/database/migration_helpers.rb:360)2388Arel 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.2389If 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).2390You 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)2391If 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.2392DEPRECATION 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 block in update_column_in_batches at /builds/gitlab-org/gitlab-ce/lib/gitlab/database/migration_helpers.rb:375)2393Arel 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.2394If 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).2395You 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)2396If 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.2397DEPRECATION 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)2398Arel 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.2399If 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).2400You 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)2401If 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.2402DEPRECATION 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)2403Arel 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.2404If 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).2405You 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)2406If 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.2407DEPRECATION 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)2408Arel 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.2409If 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).2410You 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)2411If 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.2412DEPRECATION 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)2413Arel 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.2414If 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).2415You 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)2416If 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.2417DEPRECATION 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)2418Arel 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.2419If 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).2420You 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)2421If 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.2422DEPRECATION 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)2423Arel 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.2424If 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).2425You 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)2426If 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.2427DEPRECATION 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)2428Arel 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.2429If 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).2430You 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)2431If 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.2432DEPRECATION 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)2433Arel 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.2434If 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).2435You 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)2436If 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.2437DEPRECATION 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)2438Arel 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.2439If 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).2440You 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)2441If 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.2442DEPRECATION 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)2443Arel 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.2444If 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).2445You 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)2446If 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.2447DEPRECATION 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)2448Arel 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.2449If 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).2450You 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)2451If 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.2452DEPRECATION 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)2453Sentry::Client2454 #list_issues2455 behaves like calls sentry api2456 calls sentry api2457 behaves like has correct return type2458 returns objects of type Gitlab::ErrorTracking::Error2459 behaves like has correct length2460 should eq 12461 error object created from sentry response2462 error_object: :id, sentry_response: :id2463 should eq "11"2464 error_object: :first_seen, sentry_response: :firstSeen2465 should eq "2018-12-17T12:00:14Z"2466 error_object: :last_seen, sentry_response: :lastSeen2467 should eq "2018-12-31T12:00:11Z"2468 error_object: :title, sentry_response: :title2469 should eq "gaierror: [Errno -2] Name or service not known"2470 error_object: :type, sentry_response: :type2471 should eq "error"2472 error_object: :user_count, sentry_response: :userCount2473 should eq 02474 error_object: :count, sentry_response: :count2475 should eq "21"2476 error_object: :message, sentry_response: [:metadata, :value]2477 should eq "[Errno -2] Name or service not known"2478 error_object: :culprit, sentry_response: :culprit2479 should eq "sentry.tasks.reports.deliver_organization_user_report"2480 error_object: :short_id, sentry_response: :shortId2481 should eq "INTERNAL-4"2482 error_object: :status, sentry_response: :status2483 should eq "unresolved"2484 error_object: :frequency, sentry_response: [:stats, "24h"]2485 should eq [[1546437600, 0]]2486 error_object: :project_id, sentry_response: [:project, :id]2487 should eq "1"2488 error_object: :project_name, sentry_response: [:project, :name]2489 should eq "Internal"2490 error_object: :project_slug, sentry_response: [:project, :slug]2491 should eq "internal"2492 external_url2493 is constructed correctly2494 redirects2495 behaves like no redirects2496 does not follow redirects2497 extra slashes in URL2498 removes extra slashes in api url2499 #list_projects2500 behaves like calls sentry api2501 calls sentry api2502 behaves like has correct return type2503 returns objects of type Gitlab::ErrorTracking::Project2504 behaves like has correct length2505 should eq 22506 keys missing in API response2507 raises exception2508 error object created from sentry response2509 sentry_project_object: :id, sentry_response: :id2510 should eq "2"2511 sentry_project_object: :name, sentry_response: :name2512 should eq "sentry-example"2513 sentry_project_object: :status, sentry_response: :status2514 should eq "active"2515 sentry_project_object: :slug, sentry_response: :slug2516 should eq "sentry-example"2517 sentry_project_object: :organization_name, sentry_response: [:organization, :name]2518 should eq "Sentry"2519 sentry_project_object: :organization_id, sentry_response: [:organization, :id]2520 should eq "1"2521 sentry_project_object: :organization_slug, sentry_response: [:organization, :slug]2522 should eq "sentry"2523 redirects2524 behaves like no redirects2525 does not follow redirects2526 extra slashes in URL2527 removes extra slashes in api url2528Gitlab::WikiFileFinder2529 #find2530 behaves like file finder2531 finds by name2532 finds by content2533ProtectedTags::UpdateService2534 #execute2535 updates a protected tag2536 without admin_project permissions2537 raises error2538UpdateMergeRequestsWorker2539 #perform2540 executes MergeRequests::RefreshService with expected values2541 when slow2542 logs debug info2543Upload2544 assocations2545 should belong to model2546 validations2547 should validate that :size cannot be empty/falsy2548 should validate that :path cannot be empty/falsy2549 should validate that :model cannot be empty/falsy2550 should validate that :uploader cannot be empty/falsy2551 callbacks2552 for a file above the checksum threshold2553 schedules checksum calculation2554 for a file at or below the checksum threshold2555 calculates checksum immediately before save2556 after_destroy2557 uploader is FileUploader-based2558 calls delete_file!2559 #absolute_path2560 returns the path directly when already absolute2561 delegates to the uploader's absolute_path method2562 #calculate_checksum!2563 sets `checksum` to SHA256 sum of the file2564 sets `checksum` to nil for a non-existent file2565 #exist?2566 returns true when the file exists2567 when the file does not exist2568 returns false2569 when the record is persisted2570 sends a message to Sentry2571 increments a metric counter to signal a problem2572 when the record is not persisted2573 does not send a message to Sentry2574 does not increment a metric counter2575 #uploader_context2576 should match (a hash including {:secret => "secret", :identifier => "file.txt"})2577Users::SetStatusService2578 #execute2579 when params are set2580 creates a status2581 updates a status if it already existed2582 for another user2583 does not update the status if the current user is not allowed2584 the current user is admin2585 changes the status when the current user is allowed to do that2586 without params2587 deletes the status2588FlowdockService2589 Associations2590 should belong to project2591 should have one service_hook2592 Validations2593 when service is active2594 should validate that :token cannot be empty/falsy2595 when service is inactive2596 should not validate that :token cannot be empty/falsy2597 Execute2598 calls FlowDock API2599EmailsHelper2600 sanitize_name2601 when name contains a valid URL string2602 returns name with `.` replaced with `_` to prevent mail clients from auto-linking URLs2603 returns name as it is when it does not contain a URL2604 password_reset_token_valid_time2605 when time limit is less than 2 hours2606 displays the time in hours using a singular unit2607 when time limit is 2 or more hours2608 displays the time in hours using a plural unit2609 when time limit contains fractions of an hour2610 rounds down to the nearest hour2611 when time limit is 24 or more hours2612 displays the time in days using a singular unit2613 when time limit is 2 or more days2614 displays the time in days using a plural unit2615 when time limit contains fractions of a day2616 rounds down to the nearest day2617 #header_logo2618 there is a brand item with a logo2619 returns the brand header logo2620 there is a brand item without a logo2621 returns the default header logo2622 there is no brand item2623 returns the default header logo2624 #create_list_id_string2625 full_path: "01234", list_id_path: "01234"2626 ellipcizes different variants2627 full_path: "5/0123", list_id_path: "012.."2628 ellipcizes different variants2629 full_path: "45/012", list_id_path: "012.."2630 ellipcizes different variants2631 full_path: "012", list_id_path: "012"2632 ellipcizes different variants2633 full_path: "23/01", list_id_path: "01.23"2634 ellipcizes different variants2635 full_path: "2/01", list_id_path: "01.2"2636 ellipcizes different variants2637 full_path: "234/01", list_id_path: "01.."2638 ellipcizes different variants2639 full_path: "4/2/0", list_id_path: "0.2.4"2640 ellipcizes different variants2641 full_path: "45/2/0", list_id_path: "0.2.."2642 ellipcizes different variants2643 full_path: "5/23/0", list_id_path: "0.."2644 ellipcizes different variants2645 full_path: "0-2/5", list_id_path: "5.0-2"2646 ellipcizes different variants2647 full_path: "0_2/5", list_id_path: "5.0-2"2648 ellipcizes different variants2649 full_path: "0.2/5", list_id_path: "5.0-2"2650 ellipcizes different variants2651 Create realistic List-Id identifier2652 full_path: "gitlab-org/gitlab-ce", list_id_path: "gitlab-ce.gitlab-org"2653 Produces the right List-Id2654 full_path: "project-name/subproject_name/my.project", list_id_path: "my-project.subproject-name.project-name"2655 Produces the right List-Id2656 header and footer messages2657 when email_header_and_footer_enabled is enabled2658 returns header and footer messages2659 when header and footer messages are empty2660 returns nil2661 when header and footer messages are nil2662 returns nil2663 when email_header_and_footer_enabled is disabled2664 returns header and footer messages2665Gitlab::Ci::Config::Entry::Job2666 .nodes2667 when filtering all the entry/node names2668 should contain exactly :before_script, :script, :stage, :type, :after_script, :cache, :image, :services, :only, :except, :variables, :artifacts, :environment, :coverage, and :retry2669 validations2670 when entry config value is correct2671 #valid?2672 is valid2673 when job name is empty2674 reports error2675 when delayed job2676 when start_in is specified2677 should be valid2678 when entry value is not correct2679 incorrect config value type2680 #errors2681 reports error about a config type2682 when config is empty2683 #valid2684 is invalid2685 when unknown keys detected2686 #valid2687 is not valid2688 when script is not provided2689 returns error about missing script entry2690 when extends key is not a string2691 returns error about wrong value type2692 when parallel value is not correct2693 when it is not a numeric value2694 returns error about invalid type2695 when it is lower than two2696 returns error about value too low2697 when it is bigger than 502698 returns error about value too high2699 when it is not an integer2700 returns error about wrong value2701 when delayed job2702 when start_in is specified2703 returns error about invalid type2704 when start_in is empty2705 returns error about invalid type2706 when start_in is not formatted as a duration2707 returns error about invalid type2708 when start_in is longer than one day2709 returns error about exceeding the limit2710 when start_in specified without delayed specification2711 returns error about invalid type2712 #relevant?2713 is a relevant entry2714 #compose!2715 when job config overrides global config2716 overrides global config2717 when job config does not override global config2718 uses config from global entry2719 when composed2720 #value2721 when entry is correct2722 returns correct value2723 #manual_action?2724 when job is a manual action2725 is a manual action2726 when job is not a manual action2727 is not a manual action2728 #delayed?2729 when job is a delayed2730 is a delayed2731 when job is not a delayed2732 is not a delayed2733 #ignored?2734 when job is a manual action2735 when it is not specified if job is allowed to fail2736 is an ignored job2737 when job is allowed to fail2738 is an ignored job2739 when job is not allowed to fail2740 is not an ignored job2741 when job is not a manual action2742 when it is not specified if job is allowed to fail2743 is not an ignored job2744 when job is allowed to fail2745 is an ignored job2746 when job is not allowed to fail2747 is not an ignored job2748AuditEventService2749 #security_event2750 creates an event and logs to a file2751AnalyticsBuildSerializer2752 when there is a single object provided2753 contains important elements of analyticsBuild2754api routing2755 when graphql is disabled2756 does not route to the GraphqlController2757 does not expose graphiql2758 when graphql is disabled2759 routes to the GraphqlController2760 exposes graphiql2761Banzai::Filter::ColorFilter2762 inserts color chip for supported color format #1232763 inserts color chip for supported color format #12342764 inserts color chip for supported color format #1234562765 inserts color chip for supported color format #123456782766 inserts color chip for supported color format rgb(0,0,0)2767 inserts color chip for supported color format RGB(0, 0, 0)2768 inserts color chip for supported color format rgba(0,0,0,1)2769 inserts color chip for supported color format RGBA(0,0,0,0.7)2770 inserts color chip for supported color format hsl(270,30%,50%)2771 inserts color chip for supported color format HSLA(270, 30%, 50%, .7)2772 ignores valid color code without backticks(code tags)2773 ignores valid color code with prepended space2774 ignores valid color code with appended space2775 ignores valid color code surrounded by spaces2776 ignores invalid color code2777Applications::CreateService2778 should change `Doorkeeper::Application.count` by 12779AnalyticsSummarySerializer2780 it generates payload for single object2781 contains important elements of AnalyticsStage2782Gitlab::GithubImport::Client2783 #parallel?2784 returns true when the client is running in parallel mode2785 returns false when the client is running in sequential mode2786 #user2787 returns the details for the given username2788 #repository2789 returns the details of a repository2790 #labels2791 returns the labels2792 #milestones2793 returns the milestones2794 #releases2795 returns the releases2796 #each_page2797 without a block2798 returns an Enumerator2799 the returned Enumerator returns Page objects2800 with a block2801 yields every retrieved page to the supplied block2802 starts at the given page2803 #with_rate_limit2804 yields the supplied block when enough requests remain2805 waits before yielding if not enough requests remain2806 waits and retries the operation if all requests were consumed in the supplied block2807 increments the request count counter2808 ignores rate limiting when disabled2809 #requests_remaining?2810 returns true if enough requests remain2811 returns false if not enough requests remain2812 #raise_or_wait_for_rate_limit2813 raises RateLimitError when running in parallel mode2814 sleeps when running in sequential mode2815 increments the rate limit counter2816 #remaining_requests2817 returns the number of remaining requests2818 #rate_limit_resets_in2819 returns the number of seconds after which the rate limit is reset2820 #api_endpoint2821 without a custom endpoint configured in Omniauth2822 returns the default API endpoint2823 with a custom endpoint configured in Omniauth2824 returns the custom endpoint2825 #custom_api_endpoint2826 without a custom endpoint2827 returns nil2828 with a custom endpoint2829 returns the API endpoint2830 #default_api_endpoint2831 returns the default API endpoint2832 #verify_ssl2833 without a custom configuration2834 returns true2835 with a custom configuration2836 returns the configured value2837 #github_omniauth_provider2838 without a configured provider2839 returns an empty Hash2840 with a configured provider2841 returns the provider details as a Hash2842 #rate_limiting_enabled?2843 returns true when using GitHub.com2844 returns false for GitHub enterprise installations2845RuboCop::Cop::Gitlab::PredicateMemoization2846 when source is a predicate method memoizing via ivar2847 behaves like registering offense2848 registers an offense when a predicate method is memoizing via ivar2849 behaves like registering offense2850 registers an offense when a predicate method is memoizing via ivar2851 when source is a predicate method using ivar with assignment2852 behaves like not registering offense2853 does not register offenses2854 when source is a predicate method using local with ||=2855 behaves like not registering offense2856 does not register offenses2857 when source is a regular method memoizing via ivar2858 behaves like not registering offense2859 does not register offenses2860Profiles::AvatarsController2861 removes avatar from DB by calling destroy2862Gitlab::LanguageData2863 #extensions2864 loads the extensions once2865Gitlab::Tracing::Rails::ActiveRecordSubscriber2866 .instrument2867 is unsubscribeable2868 #notify2869 name: nil, operation_name: "active_record:sqlquery", exception: nil, connection_id: nil, cached: nil, cached_response: false, sql: nil2870 should notify the tracer when the hash contains null values2871 should notify the tracer when the payload is missing values2872 should not throw exceptions when with the default tracer2873 name: "", operation_name: "active_record:sqlquery", exception: nil, connection_id: nil, cached: nil, cached_response: false, sql: nil2874 should notify the tracer when the hash contains null values2875 should notify the tracer when the payload is missing values2876 should not throw exceptions when with the default tracer2877 name: "User Load", operation_name: "active_record:User Load", exception: nil, connection_id: nil, cached: nil, cached_response: false, sql: nil2878 should notify the tracer when the hash contains null values2879 should notify the tracer when the payload is missing values2880 should not throw exceptions when with the default tracer2881 name: "Repo Load", operation_name: "active_record:Repo Load", exception: #<StandardError: StandardError>, connection_id: nil, cached: nil, cached_response: false, sql: nil2882 should notify the tracer when the hash contains null values2883 should notify the tracer when the payload is missing values2884 should not throw exceptions when with the default tracer2885 name: nil, operation_name: "active_record:sqlquery", exception: nil, connection_id: 123, cached: nil, cached_response: false, sql: nil2886 should notify the tracer when the hash contains null values2887 should notify the tracer when the payload is missing values2888 should not throw exceptions when with the default tracer2889 name: nil, operation_name: "active_record:sqlquery", exception: nil, connection_id: nil, cached: false, cached_response: false, sql: nil2890 should notify the tracer when the hash contains null values2891 should notify the tracer when the payload is missing values2892 should not throw exceptions when with the default tracer2893 name: nil, operation_name: "active_record:sqlquery", exception: nil, connection_id: nil, cached: true, cached_response: true, sql: nil2894 should notify the tracer when the hash contains null values2895 should notify the tracer when the payload is missing values2896 should not throw exceptions when with the default tracer2897 name: nil, operation_name: "active_record:sqlquery", exception: nil, connection_id: nil, cached: true, cached_response: true, sql: "SELECT * FROM users"2898 should notify the tracer when the hash contains null values2899 should notify the tracer when the payload is missing values2900 should not throw exceptions when with the default tracer2901Resolvers::ProjectResolver2902 #resolve2903 batch-resolves projects by full path2904 resolves an unknown full_path to nil2905Gitlab::Git::Blame2906 blaming a file2907 each count2908 should be a String with encoding UTF-82909 ISO-8859 encoding2910 converts to UTF-82911 unknown encoding2912 converts to UTF-82913Gitlab::I18n::TranslationEntry2914 #singular_translation2915 returns the normal `msgstr` for translations without plural2916 returns the first string for entries with plurals2917 #all_translations2918 returns all translations for singular translations2919 returns all translations when including plural translations2920 #plural_translations2921 returns all translations if there is only one plural2922 returns all translations except for the first one if there are multiple2923 #has_singular_translation?2924 has a singular when the translation is not pluralized2925 has a singular when plural and singular are separately defined2926 does not have a separate singular if the plural string only has one translation2927 #msgid_contains_newlines2928 is true when the msgid is an array2929 #plural_id_contains_newlines2930 is true when the msgid is an array2931 #translations_contain_newlines2932 is true when the msgid is an array2933 #contains_unescaped_chars2934 is true when the msgid is an array2935 is false when the `%` char is escaped2936 is false when using an unnamed variable2937 is false when using a named variable2938 is true when an unnamed variable is not closed2939 is true when the string starts with a `%`2940 #msgid_contains_unescaped_chars2941 is true when the msgid contains a `%`2942 #plural_id_contains_unescaped_chars2943 is true when the plural msgid contains a `%`2944 #translations_contain_unescaped_chars2945 is true when the translation contains a `%`2946Gitlab::DependencyLinker2947 .link2948 links using GemfileLinker2949 links using GemspecLinker2950 links using PackageJsonLinker2951 links using ComposerJsonLinker2952 links using PodfileLinker2953 links using PodspecLinker2954 links using PodspecJsonLinker2955 links using CartfileLinker2956 links using GodepsJsonLinker2957 links using RequirementsTxtLinker2958PropagateServiceTemplateWorker2959 #perform2960 calls the propagate service with the template2961Gitlab::IncomingEmail2962 self.enabled?2963 when reply by email is enabled2964 returns true2965 when reply by email is disabled2966 returns false2967 self.supports_wildcard?2968 address contains the wildcard placeholder2969 confirms that wildcard is supported2970 address doesn't contain the wildcard placeholder2971 returns that wildcard is not supported2972 address is not set2973 returns that wildcard is not supported2974 self.unsubscribe_address2975 returns the address with interpolated reply key and unsubscribe suffix2976 self.reply_address2977 returns the address with an interpolated reply key2978 self.key_from_address2979 returns reply key2980 does not match emails with extra bits2981 self.key_from_fallback_message_id2982 returns reply key2983 self.scan_fallback_references2984 returns reply key2985Banzai::Filter::FrontMatterFilter2986 allows for `encoding:` before the front matter2987 converts YAML front matter to a fenced code block2988 converts TOML frontmatter to a fenced code block2989 converts JSON front matter to a fenced code block2990 converts arbitrary front matter to a fenced code block2991 on content without front matter2992 returns the content unmodified2993 on front matter without content2994 converts YAML front matter to a fenced code block2995Gitlab::HealthChecks::GitalyCheck2996 #readiness2997 Gitaly server is up2998 should eq [#<struct Gitlab::HealthChecks::Result success=true, message=nil, labels={:shard=>"default"}>]2999 Gitaly server is down3000 should eq [#<struct Gitlab::HealthChecks::Result success=false, message="Connection refused", labels={:shard=>"default"}>]3001 #metrics3002 Gitaly server is up3003 provides metrics3004 Gitaly server is down3005 provides metrics3006Gitlab::Git::LfsPointerFile3007 #size3008 counts the bytes3009 handles non ascii data3010 #sha2563011 hashes the content correctly3012 #pointer3013 starts with the LFS version3014 includes sha2563015 ends with the size3016Uniquify3017 #string3018 returns the given string if it does not exist3019 returns the given string with a counter attached if the string exists3020 increments the counter for each candidate string that also exists3021 allows to pass an initial value for the counter3022 allows passing in a base function that defines the location of the counter3023Gitlab::CycleAnalytics::PlanStage3024 behaves like base stage3025 has the median data value3026 has the median data stage3027 has the median data description3028 has the title3029 has the events3030Gitlab::QuickActions::SubstitutionDefinition3031 #perform_substitution!3032 returns nil if content is nil3033 performs the substitution by default3034 #match3035 checks the content for the command3036 returns the match data3037 is nil if content does not have the command3038Instance Statistics routing3039 routes '/-/instance_statistics' to conversational development index3040Gitlab::GonHelper3041 #push_frontend_feature_flag3042 pushes a feature flag to the frontend3043 #default_avatar_url3044 returns an absolute URL3045BlocksJsonSerialization3046 blocks as_json3047 blocks to_json3048ProviderRepoEntity3049 #as_json3050 includes required fields3051Knapsack report was generated. Preview:3052{3053 "spec/requests/api/users_spec.rb": 133.25398015975952,3054 "spec/features/admin/admin_runners_spec.rb": 75.05787706375122,3055 "spec/requests/api/todos_spec.rb": 45.395111322402954,3056 "spec/features/boards/issue_ordering_spec.rb": 41.96723198890686,3057 "spec/features/projects/services/user_activates_youtrack_spec.rb": 24.655178546905518,3058 "spec/features/merge_requests/filters_generic_behavior_spec.rb": 20.189518928527832,3059 "spec/controllers/groups/milestones_controller_spec.rb": 16.118247985839844,3060 "spec/features/projects/tags/user_edits_tags_spec.rb": 21.53789258003235,3061 "spec/controllers/boards/issues_controller_spec.rb": 17.70803213119507,3062 "spec/services/users/destroy_service_spec.rb": 11.550106525421143,3063 "spec/features/dashboard/snippets_spec.rb": 11.732888460159302,3064 "spec/features/groups/members/leave_group_spec.rb": 18.001630544662476,3065 "spec/lib/banzai/filter/commit_range_reference_filter_spec.rb": 12.113113641738892,3066 "spec/features/search/user_searches_for_comments_spec.rb": 11.043726682662964,3067 "spec/features/merge_request/user_merges_merge_request_spec.rb": 10.186753988265991,3068 "spec/services/push_event_payload_service_spec.rb": 6.854910850524902,3069 "spec/lib/gitlab/graphql/connections/keyset_connection_spec.rb": 7.638409614562988,3070 "spec/features/merge_request/user_edits_merge_request_spec.rb": 7.592301368713379,3071 "spec/models/global_milestone_spec.rb": 7.5562543869018555,3072 "spec/features/users/active_sessions_spec.rb": 7.626769304275513,3073 "spec/features/projects/commit/comments/user_deletes_comments_spec.rb": 6.394803047180176,3074 "spec/features/dashboard/issuables_counter_spec.rb": 6.607663869857788,3075 "spec/features/admin/admin_manage_applications_spec.rb": 8.573368787765503,3076 "spec/services/projects/update_remote_mirror_service_spec.rb": 5.020763874053955,3077 "spec/features/search/user_searches_for_projects_spec.rb": 6.721294164657593,3078 "spec/migrations/move_personal_snippets_files_spec.rb": 2.521900177001953,3079 "spec/lib/gitlab/diff/highlight_spec.rb": 4.507335424423218,3080 "spec/services/files/update_service_spec.rb": 3.3798646926879883,3081 "spec/views/groups/edit.html.haml_spec.rb": 2.796769142150879,3082 "spec/models/issue/metrics_spec.rb": 3.208092451095581,3083 "spec/features/projects/milestones/new_spec.rb": 3.1441495418548584,3084 "spec/lib/gitlab/checks/diff_check_spec.rb": 2.764098882675171,3085 "spec/controllers/concerns/checks_collaboration_spec.rb": 2.1036465167999268,3086 "spec/models/hooks/system_hook_spec.rb": 2.5058298110961914,3087 "spec/lib/banzai/reference_parser/external_issue_parser_spec.rb": 2.0779075622558594,3088 "spec/views/projects/issues/show.html.haml_spec.rb": 2.295314311981201,3089 "spec/lib/gitlab/github_import/importer/issue_importer_spec.rb": 2.497455596923828,3090 "spec/requests/api/notification_settings_spec.rb": 2.3815383911132812,3091 "spec/policies/deploy_token_policy_spec.rb": 1.5620973110198975,3092 "spec/features/profiles/user_visits_profile_ssh_keys_page_spec.rb": 1.5539112091064453,3093 "spec/models/project_custom_attribute_spec.rb": 1.0970869064331055,3094 "spec/controllers/projects/releases_controller_spec.rb": 1.5785906314849854,3095 "spec/lib/gitlab/import_export/repo_restorer_spec.rb": 1.64206862449646,3096 "spec/workers/repository_cleanup_worker_spec.rb": 1.4681336879730225,3097 "spec/lib/gitlab/import_export/uploads_saver_spec.rb": 0.9289474487304688,3098 "spec/services/boards/lists/list_service_spec.rb": 1.431624412536621,3099 "spec/models/pages_domain_spec.rb": 1.2095210552215576,3100 "spec/lib/gitlab/workhorse_spec.rb": 0.9802711009979248,3101 "spec/finders/users_with_pending_todos_finder_spec.rb": 0.9339134693145752,3102 "spec/features/snippets/embedded_snippet_spec.rb": 0.8247129917144775,3103 "spec/lib/gitlab/ci/status/build/created_spec.rb": 0.9280693531036377,3104 "spec/migrations/schedule_merge_request_diff_migrations_take_two_spec.rb": 0.808513879776001,3105 "spec/lib/sentry/client_spec.rb": 0.7422544956207275,3106 "spec/lib/gitlab/wiki_file_finder_spec.rb": 1.1250910758972168,3107 "spec/services/protected_tags/update_service_spec.rb": 0.5607984066009521,3108 "spec/workers/update_merge_requests_worker_spec.rb": 0.6480090618133545,3109 "spec/models/upload_spec.rb": 0.7079527378082275,3110 "spec/services/users/set_status_service_spec.rb": 0.43840646743774414,3111 "spec/models/project_services/flowdock_service_spec.rb": 0.5763330459594727,3112 "spec/helpers/emails_helper_spec.rb": 0.4406135082244873,3113 "spec/lib/gitlab/ci/config/entry/job_spec.rb": 0.3105454444885254,3114 "spec/services/audit_event_service_spec.rb": 0.2775287628173828,3115 "spec/serializers/analytics_build_serializer_spec.rb": 0.47791266441345215,3116 "spec/routing/api_routing_spec.rb": 0.19416451454162598,3117 "spec/lib/banzai/filter/color_filter_spec.rb": 0.08981466293334961,3118 "spec/services/applications/create_service_spec.rb": 0.0874779224395752,3119 "spec/serializers/analytics_summary_serializer_spec.rb": 0.10556936264038086,3120 "spec/lib/gitlab/github_import/client_spec.rb": 0.1930544376373291,3121 "spec/rubocop/cop/gitlab/predicate_memoization_spec.rb": 0.12733960151672363,3122 "spec/controllers/profiles/avatars_controller_spec.rb": 0.14881110191345215,3123 "spec/lib/gitlab/language_data_spec.rb": 0.0947268009185791,3124 "spec/lib/gitlab/tracing/rails/active_record_subscriber_spec.rb": 0.13005590438842773,3125 "spec/graphql/resolvers/project_resolver_spec.rb": 0.06379342079162598,3126 "spec/lib/gitlab/git/blame_spec.rb": 0.06523609161376953,3127 "spec/lib/gitlab/i18n/translation_entry_spec.rb": 0.09801816940307617,3128 "spec/lib/gitlab/dependency_linker_spec.rb": 0.054013967514038086,3129 "spec/workers/propagate_service_template_worker_spec.rb": 0.04830455780029297,3130 "spec/lib/gitlab/incoming_email_spec.rb": 0.049601078033447266,3131 "spec/lib/banzai/filter/front_matter_filter_spec.rb": 0.029609203338623047,3132 "spec/lib/gitlab/health_checks/gitaly_check_spec.rb": 0.02782416343688965,3133 "spec/lib/gitlab/git/lfs_pointer_file_spec.rb": 0.028540372848510742,3134 "spec/models/concerns/uniquify_spec.rb": 0.018476247787475586,3135 "spec/lib/gitlab/cycle_analytics/plan_stage_spec.rb": 0.031180858612060547,3136 "spec/lib/gitlab/quick_actions/substitution_definition_spec.rb": 0.017678499221801758,3137 "spec/routing/instance_statistics_routing_spec.rb": 0.018746137619018555,3138 "spec/lib/gitlab/gon_helper_spec.rb": 0.010919332504272461,3139 "spec/models/concerns/blocks_json_serialization_spec.rb": 0.009099483489990234,3140 "spec/serializers/provider_repo_entity_spec.rb": 0.0051200389862060553141}3142Knapsack global time execution for tests: 10m 02s3143Finished in 12 minutes 29 seconds (files took 12.68 seconds to load)31441107 examples, 0 failures3146$ date3147Thu Mar 14 02:32:34 UTC 20193150coverage/: found 5 matching files 3151knapsack/: found 4 matching files 3152rspec_flaky/: found 4 matching files 3153rspec_profiling/: found 2 matching files 3154WARNING: tmp/capybara/: no matching files 3155Uploading artifacts to coordinator... ok id=177320602 responseStatus=201 Created token=yHxFQbDm3156Uploading artifacts...3157junit_rspec.xml: found 1 matching files 3158Uploading artifacts to coordinator... ok id=177320602 responseStatus=201 Created token=yHxFQbDm3159Job succeeded