rspec unit pg9-foss 16/20
Passed Started
by
@grzesiek

Grzegorz Bizon
1Running with gitlab-runner 12.3.0 (a8a019e0)2 on prm-com-gitlab-org bd091556 3 Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.6.3-golang-1.11-git-2.22-chrome-73.0-node-12.x-yarn-1.16-postgresql-9.6-graphicsmagick-1.3.33 ...
00:32
4Starting service postgres:9.6 ...5Pulling docker image postgres:9.6 ...6Using docker image sha256:61c59b9a763f02dd11635b20ef117812dad973b95a68bd125f3a1767f9159cf9 for postgres:9.6 ...7Starting service redis:alpine ...8Pulling docker image redis:alpine ...9Using docker image sha256:f9d774eafe0d9aa813860e94490efffec6041d63a786133749974c15c055663e for redis:alpine ...10Waiting for services to be up and running...11Authenticating with credentials from job payload (GitLab Registry)12Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.6.3-golang-1.11-git-2.22-chrome-73.0-node-12.x-yarn-1.16-postgresql-9.6-graphicsmagick-1.3.33 ...13Using docker image sha256:3689b07c936dec3fdafc5ec40ed80a6cfdba089394a505d60f2a6926b0b982a3 for registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.6.3-golang-1.11-git-2.22-chrome-73.0-node-12.x-yarn-1.16-postgresql-9.6-graphicsmagick-1.3.33 ... 14 Running on runner-bd091556-project-278964-concurrent-0 via runner-bd091556-prm-1571124211-d59757b6...
00:07
16Reinitialized existing Git repository in /builds/gitlab-org/gitlab/.git/18 * [new ref] refs/pipelines/88859459 -> refs/pipelines/8885945919 d51133ad7..8bd324dc2 master -> origin/master20Checking out f5bf17c9 as master...21Removing .gitlab_shell_secret22Removing .gitlab_workhorse_secret23Removing .go/24Removing config/database.yml25Removing config/database_geo.yml26Removing config/gitlab.yml27Removing config/redis.cache.yml28Removing config/redis.queues.yml29Removing config/redis.shared_state.yml30Removing config/resque.yml31Removing config/secrets.yml32Removing coverage/33Removing junit_rspec.xml34Removing knapsack/35Removing log/api_json.log36Removing log/application.log37Removing log/audit_json.log38Removing log/external-policy-access-control.log39Removing log/gitaly-test.log40Removing log/grpc.log41Removing log/importer.log42Removing log/test_json.log43Removing node_modules/44Removing public/assets/45Removing rspec_flaky/46Removing rspec_profiling/47Removing shared/tmp/48Removing tmp/cache/49Removing tmp/memory_test/50Removing tmp/prometheus_multiproc_dir/counter_process_198-0.db51Removing tmp/prometheus_multiproc_dir/histogram_process_198-0.db52Removing tmp/tests/53Removing vendor/gitaly-ruby/54Removing vendor/ruby/55Skipping Git submodules setup57Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/debian-stretch-ruby-2.6.3-node-12.x-2 58Successfully extracted cache60Downloading artifacts from coordinator... ok id=321109103 responseStatus=200 OK token=XMSy3Ehb61Downloading artifacts for setup-test-env (321109105)...62Downloading artifacts from coordinator... ok id=321109105 responseStatus=200 OK token=wfkozyzh63WARNING: tmp/tests/gitlab-shell/.gitlab_shell_secret: chmod tmp/tests/gitlab-shell/.gitlab_shell_secret: no such file or directory (suppressing repeats) 64Downloading artifacts for retrieve-tests-metadata (321109113)...65Downloading artifacts from coordinator... ok id=321109113 responseStatus=200 OK token=rMBaZ9wv67$ date68Tue Oct 15 08:39:53 UTC 201969$ export GOPATH=$CI_PROJECT_DIR/.go70$ mkdir -p $GOPATH71$ source scripts/utils.sh72$ source scripts/prepare_build.sh73Bundler version 1.17.274Warning: 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`.75The Gemfile's dependencies are satisfied76Successfully installed knapsack-1.18.0771 gem installed78CREATE ROLE79GRANT80Dropped database 'gitlabhq_test'81Created database 'gitlabhq_test'82-- enable_extension("pg_trgm")83 -> 0.0329s84-- enable_extension("plpgsql")85 -> 0.0022s86-- create_table("abuse_reports", {:id=>:serial, :force=>:cascade})87 -> 0.0041s88-- create_table("alerts_service_data", {:force=>:cascade})89 -> 0.0056s90-- create_table("allowed_email_domains", {:force=>:cascade})91 -> 0.0041s92-- create_table("analytics_cycle_analytics_group_stages", {:force=>:cascade})93 -> 0.0133s94-- create_table("analytics_cycle_analytics_project_stages", {:force=>:cascade})95 -> 0.0122s96-- create_table("analytics_language_trend_repository_languages", {:id=>false, :force=>:cascade})97 -> 0.0067s98-- create_table("analytics_repository_file_commits", {:force=>:cascade})99 -> 0.0057s100-- create_table("analytics_repository_files", {:force=>:cascade})101 -> 0.0042s102-- create_table("appearances", {:id=>:serial, :force=>:cascade})103 -> 0.0030s104-- create_table("application_setting_terms", {:id=>:serial, :force=>:cascade})105 -> 0.0022s106-- create_table("application_settings", {:id=>:serial, :force=>:cascade})107 -> 0.0734s108-- create_table("approval_merge_request_rule_sources", {:force=>:cascade})109 -> 0.0062s110-- create_table("approval_merge_request_rules", {:force=>:cascade})111 -> 0.0143s112-- create_table("approval_merge_request_rules_approved_approvers", {:force=>:cascade})113 -> 0.0060s114-- create_table("approval_merge_request_rules_groups", {:force=>:cascade})115 -> 0.0059s116-- create_table("approval_merge_request_rules_users", {:force=>:cascade})117 -> 0.0060s118-- create_table("approval_project_rules", {:force=>:cascade})119 -> 0.0092s120-- create_table("approval_project_rules_groups", {:force=>:cascade})121 -> 0.0061s122-- create_table("approval_project_rules_users", {:force=>:cascade})123 -> 0.0060s124-- create_table("approvals", {:id=>:serial, :force=>:cascade})125 -> 0.0061s126-- create_table("approver_groups", {:id=>:serial, :force=>:cascade})127 -> 0.0067s128-- create_table("approvers", {:id=>:serial, :force=>:cascade})129 -> 0.0065s130-- create_table("audit_events", {:id=>:serial, :force=>:cascade})131 -> 0.0068s132-- create_table("award_emoji", {:id=>:serial, :force=>:cascade})133 -> 0.0064s134-- create_table("badges", {:id=>:serial, :force=>:cascade})135 -> 0.0061s136-- create_table("board_assignees", {:id=>:serial, :force=>:cascade})137 -> 0.0057s138-- create_table("board_group_recent_visits", {:force=>:cascade})139 -> 0.0093s140-- create_table("board_labels", {:id=>:serial, :force=>:cascade})141 -> 0.0053s142-- create_table("board_project_recent_visits", {:force=>:cascade})143 -> 0.0091s144-- create_table("boards", {:id=>:serial, :force=>:cascade})145 -> 0.0081s146-- create_table("broadcast_messages", {:id=>:serial, :force=>:cascade})147 -> 0.0042s148-- create_table("chat_names", {:id=>:serial, :force=>:cascade})149 -> 0.0062s150-- create_table("chat_teams", {:id=>:serial, :force=>:cascade})151 -> 0.0042s152-- create_table("ci_build_needs", {:id=>:serial, :force=>:cascade})153 -> 0.0041s154-- create_table("ci_build_trace_chunks", {:force=>:cascade})155 -> 0.0040s156-- create_table("ci_build_trace_section_names", {:id=>:serial, :force=>:cascade})157 -> 0.0039s158-- create_table("ci_build_trace_sections", {:id=>:serial, :force=>:cascade})159 -> 0.0072s160-- create_table("ci_builds", {:id=>:serial, :force=>:cascade})161 -> 0.0496s162-- create_table("ci_builds_metadata", {:id=>:serial, :force=>:cascade})163 -> 0.0083s164-- create_table("ci_builds_runner_session", {:force=>:cascade})165 -> 0.0041s166-- create_table("ci_group_variables", {:id=>:serial, :force=>:cascade})167 -> 0.0055s168-- create_table("ci_job_artifacts", {:id=>:serial, :force=>:cascade})169 -> 0.0116s170-- create_table("ci_job_variables", {:force=>:cascade})171 -> 0.0062s172-- create_table("ci_pipeline_chat_data", {:force=>:cascade})173 -> 0.0058s174-- create_table("ci_pipeline_schedule_variables", {:id=>:serial, :force=>:cascade})175 -> 0.0046s176-- create_table("ci_pipeline_schedules", {:id=>:serial, :force=>:cascade})177 -> 0.0082s178-- create_table("ci_pipeline_variables", {:id=>:serial, :force=>:cascade})179 -> 0.0046s180-- create_table("ci_pipelines", {:id=>:serial, :force=>:cascade})181 -> 0.0265s182-- create_table("ci_runner_namespaces", {:id=>:serial, :force=>:cascade})183 -> 0.0054s184-- create_table("ci_runner_projects", {:id=>:serial, :force=>:cascade})185 -> 0.0054s186-- create_table("ci_runners", {:id=>:serial, :force=>:cascade})187 -> 0.0152s188-- create_table("ci_sources_pipelines", {:id=>:serial, :force=>:cascade})189 -> 0.0109s190-- create_table("ci_stages", {:id=>:serial, :force=>:cascade})191 -> 0.0098s192-- create_table("ci_trigger_requests", {:id=>:serial, :force=>:cascade})193 -> 0.0059s194-- create_table("ci_triggers", {:id=>:serial, :force=>:cascade})195 -> 0.0058s196-- create_table("ci_variables", {:id=>:serial, :force=>:cascade})197 -> 0.0060s198-- create_table("cluster_groups", {:id=>:serial, :force=>:cascade})199 -> 0.0055s200-- create_table("cluster_platforms_kubernetes", {:id=>:serial, :force=>:cascade})201 -> 0.0043s202-- create_table("cluster_projects", {:id=>:serial, :force=>:cascade})203 -> 0.0055s204-- create_table("cluster_providers_gcp", {:id=>:serial, :force=>:cascade})205 -> 0.0068s206-- create_table("clusters", {:id=>:serial, :force=>:cascade})207 -> 0.0096s208-- create_table("clusters_applications_cert_managers", {:id=>:serial, :force=>:cascade})209 -> 0.0042s210-- create_table("clusters_applications_helm", {:id=>:serial, :force=>:cascade})211 -> 0.0041s212-- create_table("clusters_applications_ingress", {:id=>:serial, :force=>:cascade})213 -> 0.0042s214-- create_table("clusters_applications_jupyter", {:id=>:serial, :force=>:cascade})215 -> 0.0058s216-- create_table("clusters_applications_knative", {:id=>:serial, :force=>:cascade})217 -> 0.0041s218-- create_table("clusters_applications_prometheus", {:id=>:serial, :force=>:cascade})219 -> 0.0040s220-- create_table("clusters_applications_runners", {:id=>:serial, :force=>:cascade})221 -> 0.0065s222-- create_table("clusters_kubernetes_namespaces", {:force=>:cascade})223 -> 0.0131s224-- create_table("container_repositories", {:id=>:serial, :force=>:cascade})225 -> 0.0057s226-- create_table("conversational_development_index_metrics", {:id=>:serial, :force=>:cascade})227 -> 0.0060s228-- create_table("dependency_proxy_blobs", {:id=>:serial, :force=>:cascade})229 -> 0.0042s230-- create_table("dependency_proxy_group_settings", {:id=>:serial, :force=>:cascade})231 -> 0.0041s232-- create_table("deploy_keys_projects", {:id=>:serial, :force=>:cascade})233 -> 0.0039s234-- create_table("deploy_tokens", {:id=>:serial, :force=>:cascade})235 -> 0.0094s236-- create_table("deployments", {:id=>:serial, :force=>:cascade})237 -> 0.0208s238-- create_table("design_management_designs", {:force=>:cascade})239 -> 0.0059s240-- create_table("design_management_designs_versions", {:id=>false, :force=>:cascade})241 -> 0.0092s242-- create_table("design_management_versions", {:force=>:cascade})243 -> 0.0078s244-- create_table("draft_notes", {:force=>:cascade})245 -> 0.0081s246-- create_table("elasticsearch_indexed_namespaces", {:id=>false, :force=>:cascade})247 -> 0.0028s248-- create_table("elasticsearch_indexed_projects", {:id=>false, :force=>:cascade})249 -> 0.0027s250-- create_table("emails", {:id=>:serial, :force=>:cascade})251 -> 0.0077s252-- create_table("environments", {:id=>:serial, :force=>:cascade})253 -> 0.0099s254-- create_table("epic_issues", {:id=>:serial, :force=>:cascade})255 -> 0.0053s256-- create_table("epic_metrics", {:id=>:serial, :force=>:cascade})257 -> 0.0035s258-- create_table("epics", {:id=>:serial, :force=>:cascade})259 -> 0.0191s260-- create_table("events", {:id=>:serial, :force=>:cascade})261 -> 0.0151s262-- create_table("external_pull_requests", {:force=>:cascade})263 -> 0.0047s264-- create_table("feature_gates", {:id=>:serial, :force=>:cascade})265 -> 0.0043s266-- create_table("features", {:id=>:serial, :force=>:cascade})267 -> 0.0040s268-- create_table("fork_network_members", {:id=>:serial, :force=>:cascade})269 -> 0.0071s270-- create_table("fork_networks", {:id=>:serial, :force=>:cascade})271 -> 0.0040s272-- create_table("forked_project_links", {:id=>:serial, :force=>:cascade})273 -> 0.0036s274-- create_table("geo_cache_invalidation_events", {:force=>:cascade})275 -> 0.0027s276-- create_table("geo_container_repository_updated_events", {:force=>:cascade})277 -> 0.0044s278-- create_table("geo_event_log", {:force=>:cascade})279 -> 0.0253s280-- create_table("geo_hashed_storage_attachments_events", {:force=>:cascade})281 -> 0.0041s282-- create_table("geo_hashed_storage_migrated_events", {:force=>:cascade})283 -> 0.0043s284-- create_table("geo_job_artifact_deleted_events", {:force=>:cascade})285 -> 0.0039s286-- create_table("geo_lfs_object_deleted_events", {:force=>:cascade})287 -> 0.0043s288-- create_table("geo_node_namespace_links", {:id=>:serial, :force=>:cascade})289 -> 0.0072s290-- create_table("geo_node_statuses", {:id=>:serial, :force=>:cascade})291 -> 0.0053s292-- create_table("geo_nodes", {:id=>:serial, :force=>:cascade})293 -> 0.0112s294-- create_table("geo_repositories_changed_events", {:force=>:cascade})295 -> 0.0037s296-- create_table("geo_repository_created_events", {:force=>:cascade})297 -> 0.0042s298-- create_table("geo_repository_deleted_events", {:force=>:cascade})299 -> 0.0041s300-- create_table("geo_repository_renamed_events", {:force=>:cascade})301 -> 0.0042s302-- create_table("geo_repository_updated_events", {:force=>:cascade})303 -> 0.0066s304-- create_table("geo_reset_checksum_events", {:force=>:cascade})305 -> 0.0067s306-- create_table("geo_upload_deleted_events", {:force=>:cascade})307 -> 0.0042s308-- create_table("gitlab_subscriptions", {:force=>:cascade})309 -> 0.0069s310-- create_table("gpg_key_subkeys", {:id=>:serial, :force=>:cascade})311 -> 0.0078s312-- create_table("gpg_keys", {:id=>:serial, :force=>:cascade})313 -> 0.0078s314-- create_table("gpg_signatures", {:id=>:serial, :force=>:cascade})315 -> 0.0117s316-- create_table("grafana_integrations", {:force=>:cascade})317 -> 0.0042s318-- create_table("group_custom_attributes", {:id=>:serial, :force=>:cascade})319 -> 0.0062s320-- create_table("historical_data", {:id=>:serial, :force=>:cascade})321 -> 0.0020s322-- create_table("identities", {:id=>:serial, :force=>:cascade})323 -> 0.0081s324-- create_table("import_export_uploads", {:id=>:serial, :force=>:cascade})325 -> 0.0059s326-- create_table("index_statuses", {:id=>:serial, :force=>:cascade})327 -> 0.0044s328-- create_table("insights", {:id=>:serial, :force=>:cascade})329 -> 0.0054s330-- create_table("internal_ids", {:force=>:cascade})331 -> 0.0091s332-- create_table("ip_restrictions", {:force=>:cascade})333 -> 0.0041s334-- create_table("issue_assignees", {:id=>false, :force=>:cascade})335 -> 0.0045s336-- create_table("issue_links", {:id=>:serial, :force=>:cascade})337 -> 0.0072s338-- create_table("issue_metrics", {:id=>:serial, :force=>:cascade})339 -> 0.0057s340-- create_table("issue_tracker_data", {:force=>:cascade})341 -> 0.0043s342-- create_table("issues", {:id=>:serial, :force=>:cascade})343 -> 0.0389s344-- create_table("issues_prometheus_alert_events", {:id=>false, :force=>:cascade})345 -> 0.0047s346-- create_table("jira_connect_installations", {:force=>:cascade})347 -> 0.0043s348-- create_table("jira_connect_subscriptions", {:force=>:cascade})349 -> 0.0074s350-- create_table("jira_tracker_data", {:force=>:cascade})351 -> 0.0044s352-- create_table("keys", {:id=>:serial, :force=>:cascade})353 -> 0.0083s354-- create_table("label_links", {:id=>:serial, :force=>:cascade})355 -> 0.0059s356-- create_table("label_priorities", {:id=>:serial, :force=>:cascade})357 -> 0.0074s358-- create_table("labels", {:id=>:serial, :force=>:cascade})359 -> 0.0154s360-- create_table("ldap_group_links", {:id=>:serial, :force=>:cascade})361 -> 0.0026s362-- create_table("lfs_file_locks", {:id=>:serial, :force=>:cascade})363 -> 0.0061s364-- create_table("lfs_objects", {:id=>:serial, :force=>:cascade})365 -> 0.0060s366-- create_table("lfs_objects_projects", {:id=>:serial, :force=>:cascade})367 -> 0.0055s368-- create_table("licenses", {:id=>:serial, :force=>:cascade})369 -> 0.0022s370-- create_table("list_user_preferences", {:force=>:cascade})371 -> 0.0072s372-- create_table("lists", {:id=>:serial, :force=>:cascade})373 -> 0.0124s374-- create_table("members", {:id=>:serial, :force=>:cascade})375 -> 0.0160s376-- create_table("merge_request_assignees", {:force=>:cascade})377 -> 0.0073s378-- create_table("merge_request_blocks", {:force=>:cascade})379 -> 0.0056s380-- create_table("merge_request_diff_commits", {:id=>false, :force=>:cascade})381 -> 0.0055s382-- create_table("merge_request_diff_files", {:id=>false, :force=>:cascade})383 -> 0.0038s384-- create_table("merge_request_diffs", {:id=>:serial, :force=>:cascade})385 -> 0.0066s386-- create_table("merge_request_metrics", {:id=>:serial, :force=>:cascade})387 -> 0.1156s388-- create_table("merge_requests", {:id=>:serial, :force=>:cascade})389 -> 0.0719s390-- create_table("merge_requests_closing_issues", {:id=>:serial, :force=>:cascade})391 -> 0.0080s392-- create_table("merge_trains", {:force=>:cascade})393 -> 0.0140s394-- create_table("milestone_releases", {:id=>false, :force=>:cascade})395 -> 0.0061s396-- create_table("milestones", {:id=>:serial, :force=>:cascade})397 -> 0.0201s398-- create_table("namespace_aggregation_schedules", {:primary_key=>"namespace_id", :id=>:integer, :default=>nil, :force=>:cascade})399 -> 0.0043s400-- create_table("namespace_root_storage_statistics", {:primary_key=>"namespace_id", :id=>:integer, :default=>nil, :force=>:cascade})401 -> 0.0076s402-- create_table("namespace_statistics", {:id=>:serial, :force=>:cascade})403 -> 0.0062s404-- create_table("namespaces", {:id=>:serial, :force=>:cascade})405 -> 0.0554s406-- create_table("note_diff_files", {:id=>:serial, :force=>:cascade})407 -> 0.0064s408-- create_table("notes", {:id=>:serial, :force=>:cascade})409 -> 0.0299s410-- create_table("notification_settings", {:id=>:serial, :force=>:cascade})411 -> 0.0134s412-- create_table("oauth_access_grants", {:id=>:serial, :force=>:cascade})413 -> 0.0065s414-- create_table("oauth_access_tokens", {:id=>:serial, :force=>:cascade})415 -> 0.0139s416-- create_table("oauth_applications", {:id=>:serial, :force=>:cascade})417 -> 0.0099s418-- create_table("oauth_openid_requests", {:id=>:serial, :force=>:cascade})419 -> 0.0043s420-- create_table("operations_feature_flag_scopes", {:force=>:cascade})421 -> 0.0071s422-- create_table("operations_feature_flags", {:force=>:cascade})423 -> 0.0042s424-- create_table("operations_feature_flags_clients", {:force=>:cascade})425 -> 0.0058s426-- create_table("packages_maven_metadata", {:force=>:cascade})427 -> 0.0043s428-- create_table("packages_package_files", {:force=>:cascade})429 -> 0.0044s430-- create_table("packages_package_metadata", {:force=>:cascade})431 -> 0.0040s432-- create_table("packages_package_tags", {:force=>:cascade})433 -> 0.0035s434-- create_table("packages_packages", {:force=>:cascade})435 -> 0.0060s436-- create_table("pages_domain_acme_orders", {:force=>:cascade})437 -> 0.0061s438-- create_table("pages_domains", {:id=>:serial, :force=>:cascade})439 -> 0.0164s440-- create_table("path_locks", {:id=>:serial, :force=>:cascade})441 -> 0.0081s442-- create_table("personal_access_tokens", {:id=>:serial, :force=>:cascade})443 -> 0.0073s444-- create_table("plans", {:id=>:serial, :force=>:cascade})445 -> 0.0045s446-- create_table("pool_repositories", {:force=>:cascade})447 -> 0.0076s448-- create_table("programming_languages", {:id=>:serial, :force=>:cascade})449 -> 0.0042s450-- create_table("project_alerting_settings", {:primary_key=>"project_id", :id=>:integer, :default=>nil, :force=>:cascade})451 -> 0.0017s452-- create_table("project_aliases", {:force=>:cascade})453 -> 0.0059s454-- create_table("project_authorizations", {:id=>false, :force=>:cascade})455 -> 0.0046s456-- create_table("project_auto_devops", {:id=>:serial, :force=>:cascade})457 -> 0.0040s458-- create_table("project_ci_cd_settings", {:id=>:serial, :force=>:cascade})459 -> 0.0044s460-- create_table("project_custom_attributes", {:id=>:serial, :force=>:cascade})461 -> 0.0059s462-- create_table("project_daily_statistics", {:force=>:cascade})463 -> 0.0038s464-- create_table("project_deploy_tokens", {:id=>:serial, :force=>:cascade})465 -> 0.0057s466-- create_table("project_error_tracking_settings", {:primary_key=>"project_id", :id=>:integer, :default=>nil, :force=>:cascade})467 -> 0.0023s468-- create_table("project_feature_usages", {:primary_key=>"project_id", :id=>:integer, :default=>nil, :force=>:cascade})469 -> 0.0067s470-- create_table("project_features", {:id=>:serial, :force=>:cascade})471 -> 0.0057s472-- create_table("project_group_links", {:id=>:serial, :force=>:cascade})473 -> 0.0060s474-- create_table("project_import_data", {:id=>:serial, :force=>:cascade})475 -> 0.0041s476-- create_table("project_incident_management_settings", {:primary_key=>"project_id", :id=>:serial, :force=>:cascade})477 -> 0.0030s478-- create_table("project_metrics_settings", {:primary_key=>"project_id", :id=>:integer, :default=>nil, :force=>:cascade})479 -> 0.0016s480-- create_table("project_mirror_data", {:id=>:serial, :force=>:cascade})481 -> 0.0139s482-- create_table("project_pages_metadata", {:id=>false, :force=>:cascade})483 -> 0.0051s484-- create_table("project_repositories", {:force=>:cascade})485 -> 0.0077s486-- create_table("project_repository_states", {:id=>:serial, :force=>:cascade})487 -> 0.0137s488-- create_table("project_statistics", {:id=>:serial, :force=>:cascade})489 -> 0.0087s490-- create_table("project_tracing_settings", {:force=>:cascade})491 -> 0.0040s492-- create_table("projects", {:id=>:serial, :force=>:cascade})493 -> 0.0646s494-- create_table("prometheus_alert_events", {:force=>:cascade})495 -> 0.0066s496-- create_table("prometheus_alerts", {:id=>:serial, :force=>:cascade})497 -> 0.0082s498-- create_table("prometheus_metrics", {:id=>:serial, :force=>:cascade})499 -> 0.0110s500-- create_table("protected_branch_merge_access_levels", {:id=>:serial, :force=>:cascade})501 -> 0.0098s502-- create_table("protected_branch_push_access_levels", {:id=>:serial, :force=>:cascade})503 -> 0.0083s504-- create_table("protected_branch_unprotect_access_levels", {:id=>:serial, :force=>:cascade})505 -> 0.0086s506-- create_table("protected_branches", {:id=>:serial, :force=>:cascade})507 -> 0.0071s508-- create_table("protected_environment_deploy_access_levels", {:id=>:serial, :force=>:cascade})509 -> 0.0081s510-- create_table("protected_environments", {:id=>:serial, :force=>:cascade})511 -> 0.0064s512-- create_table("protected_tag_create_access_levels", {:id=>:serial, :force=>:cascade})513 -> 0.0084s514-- create_table("protected_tags", {:id=>:serial, :force=>:cascade})515 -> 0.0064s516-- create_table("push_event_payloads", {:id=>false, :force=>:cascade})517 -> 0.0038s518-- create_table("push_rules", {:id=>:serial, :force=>:cascade})519 -> 0.0087s520-- create_table("redirect_routes", {:id=>:serial, :force=>:cascade})521 -> 0.0085s522-- create_table("release_links", {:force=>:cascade})523 -> 0.0065s524-- create_table("releases", {:id=>:serial, :force=>:cascade})525 -> 0.0069s526-- create_table("remote_mirrors", {:id=>:serial, :force=>:cascade})527 -> 0.0076s528-- create_table("repository_languages", {:id=>false, :force=>:cascade})529 -> 0.0031s530-- create_table("resource_label_events", {:force=>:cascade})531 -> 0.0124s532-- create_table("reviews", {:force=>:cascade})533 -> 0.0078s534-- create_table("routes", {:id=>:serial, :force=>:cascade})535 -> 0.0084s536-- create_table("saml_providers", {:id=>:serial, :force=>:cascade})537 -> 0.0056s538-- create_table("scim_oauth_access_tokens", {:id=>:serial, :force=>:cascade})539 -> 0.0047s540-- create_table("sent_notifications", {:id=>:serial, :force=>:cascade})541 -> 0.0047s542-- create_table("services", {:id=>:serial, :force=>:cascade})543 -> 0.0162s544-- create_table("shards", {:id=>:serial, :force=>:cascade})545 -> 0.0045s546-- create_table("slack_integrations", {:id=>:serial, :force=>:cascade})547 -> 0.0066s548-- create_table("smartcard_identities", {:force=>:cascade})549 -> 0.0066s550-- create_table("snippets", {:id=>:serial, :force=>:cascade})551 -> 0.0172s552-- create_table("software_license_policies", {:id=>:serial, :force=>:cascade})553 -> 0.0065s554-- create_table("software_licenses", {:id=>:serial, :force=>:cascade})555 -> 0.0066s556-- create_table("spam_logs", {:id=>:serial, :force=>:cascade})557 -> 0.0035s558-- create_table("subscriptions", {:id=>:serial, :force=>:cascade})559 -> 0.0067s560-- create_table("suggestions", {:force=>:cascade})561 -> 0.0063s562-- create_table("system_note_metadata", {:id=>:serial, :force=>:cascade})563 -> 0.0043s564-- create_table("taggings", {:id=>:serial, :force=>:cascade})565 -> 0.0103s566-- create_table("tags", {:id=>:serial, :force=>:cascade})567 -> 0.0076s568-- create_table("term_agreements", {:id=>:serial, :force=>:cascade})569 -> 0.0082s570-- create_table("timelogs", {:id=>:serial, :force=>:cascade})571 -> 0.0078s572-- create_table("todos", {:id=>:serial, :force=>:cascade})573 -> 0.0203s574-- create_table("trending_projects", {:id=>:serial, :force=>:cascade})575 -> 0.0041s576-- create_table("u2f_registrations", {:id=>:serial, :force=>:cascade})577 -> 0.0068s578-- create_table("uploads", {:id=>:serial, :force=>:cascade})579 -> 0.0106s580-- create_table("user_agent_details", {:id=>:serial, :force=>:cascade})581 -> 0.0053s582-- create_table("user_callouts", {:id=>:serial, :force=>:cascade})583 -> 0.0060s584-- create_table("user_custom_attributes", {:id=>:serial, :force=>:cascade})585 -> 0.0066s586-- create_table("user_interacted_projects", {:id=>false, :force=>:cascade})587 -> 0.0050s588-- create_table("user_preferences", {:id=>:serial, :force=>:cascade})589 -> 0.0065s590-- create_table("user_statuses", {:primary_key=>"user_id", :id=>:serial, :force=>:cascade})591 -> 0.0048s592-- create_table("user_synced_attributes_metadata", {:id=>:serial, :force=>:cascade})593 -> 0.0057s594-- create_table("users", {:id=>:serial, :force=>:cascade})595 -> 0.0616s596-- create_table("users_ops_dashboard_projects", {:force=>:cascade})597 -> 0.0060s598-- create_table("users_star_projects", {:id=>:serial, :force=>:cascade})599 -> 0.0058s600-- create_table("vulnerabilities", {:force=>:cascade})601 -> 0.0202s602-- create_table("vulnerability_feedback", {:id=>:serial, :force=>:cascade})603 -> 0.0137s604-- create_table("vulnerability_identifiers", {:force=>:cascade})605 -> 0.0044s606-- create_table("vulnerability_occurrence_identifiers", {:force=>:cascade})607 -> 0.0057s608-- create_table("vulnerability_occurrence_pipelines", {:force=>:cascade})609 -> 0.0057s610-- create_table("vulnerability_occurrences", {:force=>:cascade})611 -> 0.0117s612-- create_table("vulnerability_scanners", {:force=>:cascade})613 -> 0.0042s614-- create_table("web_hook_logs", {:id=>:serial, :force=>:cascade})615 -> 0.0063s616-- create_table("web_hooks", {:id=>:serial, :force=>:cascade})617 -> 0.0106s618-- add_foreign_key("alerts_service_data", "services", {:on_delete=>:cascade})619 -> 0.0022s620-- add_foreign_key("allowed_email_domains", "namespaces", {:column=>"group_id", :on_delete=>:cascade})621 -> 0.0021s622-- add_foreign_key("analytics_cycle_analytics_group_stages", "labels", {:column=>"end_event_label_id", :on_delete=>:cascade})623 -> 0.0018s624-- add_foreign_key("analytics_cycle_analytics_group_stages", "labels", {:column=>"start_event_label_id", :on_delete=>:cascade})625 -> 0.0012s626-- add_foreign_key("analytics_cycle_analytics_group_stages", "namespaces", {:column=>"group_id", :on_delete=>:cascade})627 -> 0.0013s628-- add_foreign_key("analytics_cycle_analytics_project_stages", "labels", {:column=>"end_event_label_id", :on_delete=>:cascade})629 -> 0.0013s630-- add_foreign_key("analytics_cycle_analytics_project_stages", "labels", {:column=>"start_event_label_id", :on_delete=>:cascade})631 -> 0.0011s632-- add_foreign_key("analytics_cycle_analytics_project_stages", "projects", {:on_delete=>:cascade})633 -> 0.0025s634-- add_foreign_key("analytics_language_trend_repository_languages", "programming_languages", {:on_delete=>:cascade})635 -> 0.0013s636-- add_foreign_key("analytics_language_trend_repository_languages", "projects", {:on_delete=>:cascade})637 -> 0.0014s638-- add_foreign_key("analytics_repository_file_commits", "analytics_repository_files", {:on_delete=>:cascade})639 -> 0.0013s640-- add_foreign_key("analytics_repository_file_commits", "projects", {:on_delete=>:cascade})641 -> 0.0013s642-- add_foreign_key("analytics_repository_files", "projects", {:on_delete=>:cascade})643 -> 0.0014s644-- add_foreign_key("application_settings", "namespaces", {:column=>"custom_project_templates_group_id", :on_delete=>:nullify})645 -> 0.0029s646-- add_foreign_key("application_settings", "projects", {:column=>"file_template_project_id", :name=>"fk_ec757bd087", :on_delete=>:nullify})647 -> 0.0021s648-- add_foreign_key("application_settings", "projects", {:column=>"instance_administration_project_id", :on_delete=>:nullify})649 -> 0.0027s650-- add_foreign_key("application_settings", "users", {:column=>"usage_stats_set_by_user_id", :name=>"fk_964370041d", :on_delete=>:nullify})651 -> 0.0029s652-- add_foreign_key("approval_merge_request_rule_sources", "approval_merge_request_rules", {:on_delete=>:cascade})653 -> 0.0016s654-- add_foreign_key("approval_merge_request_rule_sources", "approval_project_rules", {:on_delete=>:cascade})655 -> 0.0014s656-- add_foreign_key("approval_merge_request_rules", "merge_requests", {:on_delete=>:cascade})657 -> 0.0021s658-- add_foreign_key("approval_merge_request_rules_approved_approvers", "approval_merge_request_rules", {:on_delete=>:cascade})659 -> 0.0012s660-- add_foreign_key("approval_merge_request_rules_approved_approvers", "users", {:on_delete=>:cascade})661 -> 0.0013s662-- add_foreign_key("approval_merge_request_rules_groups", "approval_merge_request_rules", {:on_delete=>:cascade})663 -> 0.0013s664-- add_foreign_key("approval_merge_request_rules_groups", "namespaces", {:column=>"group_id", :on_delete=>:cascade})665 -> 0.0012s666-- add_foreign_key("approval_merge_request_rules_users", "approval_merge_request_rules", {:on_delete=>:cascade})667 -> 0.0012s668-- add_foreign_key("approval_merge_request_rules_users", "users", {:on_delete=>:cascade})669 -> 0.0016s670-- add_foreign_key("approval_project_rules", "projects", {:on_delete=>:cascade})671 -> 0.0015s672-- add_foreign_key("approval_project_rules_groups", "approval_project_rules", {:on_delete=>:cascade})673 -> 0.0014s674-- add_foreign_key("approval_project_rules_groups", "namespaces", {:column=>"group_id", :on_delete=>:cascade})675 -> 0.0012s676-- add_foreign_key("approval_project_rules_users", "approval_project_rules", {:on_delete=>:cascade})677 -> 0.0012s678-- add_foreign_key("approval_project_rules_users", "users", {:on_delete=>:cascade})679 -> 0.0014s680-- add_foreign_key("approvals", "merge_requests", {:name=>"fk_310d714958", :on_delete=>:cascade})681 -> 0.0051s682-- add_foreign_key("approver_groups", "namespaces", {:column=>"group_id", :on_delete=>:cascade})683 -> 0.0019s684-- add_foreign_key("badges", "namespaces", {:column=>"group_id", :on_delete=>:cascade})685 -> 0.0019s686-- add_foreign_key("badges", "projects", {:on_delete=>:cascade})687 -> 0.0019s688-- add_foreign_key("board_assignees", "boards", {:on_delete=>:cascade})689 -> 0.0016s690-- add_foreign_key("board_assignees", "users", {:column=>"assignee_id", :on_delete=>:cascade})691 -> 0.0014s692-- add_foreign_key("board_group_recent_visits", "boards", {:on_delete=>:cascade})693 -> 0.0014s694-- add_foreign_key("board_group_recent_visits", "namespaces", {:column=>"group_id", :on_delete=>:cascade})695 -> 0.0012s696-- add_foreign_key("board_group_recent_visits", "users", {:on_delete=>:cascade})697 -> 0.0016s698-- add_foreign_key("board_labels", "boards", {:on_delete=>:cascade})699 -> 0.0012s700-- add_foreign_key("board_labels", "labels", {:on_delete=>:cascade})701 -> 0.0012s702-- add_foreign_key("board_project_recent_visits", "boards", {:on_delete=>:cascade})703 -> 0.0013s704-- add_foreign_key("board_project_recent_visits", "projects", {:on_delete=>:cascade})705 -> 0.0015s706-- add_foreign_key("board_project_recent_visits", "users", {:on_delete=>:cascade})707 -> 0.0014s708-- add_foreign_key("boards", "namespaces", {:column=>"group_id", :name=>"fk_1e9a074a35", :on_delete=>:cascade})709 -> 0.0012s710-- add_foreign_key("boards", "projects", {:name=>"fk_f15266b5f9", :on_delete=>:cascade})711 -> 0.0014s712-- add_foreign_key("chat_teams", "namespaces", {:on_delete=>:cascade})713 -> 0.0024s714-- add_foreign_key("ci_build_needs", "ci_builds", {:column=>"build_id", :on_delete=>:cascade})715 -> 0.0061s716-- add_foreign_key("ci_build_trace_chunks", "ci_builds", {:column=>"build_id", :on_delete=>:cascade})717 -> 0.0015s718-- add_foreign_key("ci_build_trace_section_names", "projects", {:on_delete=>:cascade})719 -> 0.0016s720-- add_foreign_key("ci_build_trace_sections", "ci_build_trace_section_names", {:column=>"section_name_id", :name=>"fk_264e112c66", :on_delete=>:cascade})721 -> 0.0012s722-- add_foreign_key("ci_build_trace_sections", "ci_builds", {:column=>"build_id", :name=>"fk_4ebe41f502", :on_delete=>:cascade})723 -> 0.0013s724-- add_foreign_key("ci_build_trace_sections", "projects", {:on_delete=>:cascade})725 -> 0.0015s726-- add_foreign_key("ci_builds", "ci_pipelines", {:column=>"auto_canceled_by_id", :name=>"fk_a2141b1522", :on_delete=>:nullify})727 -> 0.0020s728-- add_foreign_key("ci_builds", "ci_pipelines", {:column=>"commit_id", :name=>"fk_d3130c9a7f", :on_delete=>:cascade})729 -> 0.0013s730-- add_foreign_key("ci_builds", "ci_pipelines", {:column=>"upstream_pipeline_id", :name=>"fk_87f4cefcda", :on_delete=>:cascade})731 -> 0.0016s732-- add_foreign_key("ci_builds", "ci_stages", {:column=>"stage_id", :name=>"fk_3a9eaa254d", :on_delete=>:cascade})733 -> 0.0015s734-- add_foreign_key("ci_builds", "projects", {:name=>"fk_befce0568a", :on_delete=>:cascade})735 -> 0.0017s736-- add_foreign_key("ci_builds_metadata", "ci_builds", {:column=>"build_id", :on_delete=>:cascade})737 -> 0.0014s738-- add_foreign_key("ci_builds_metadata", "projects", {:on_delete=>:cascade})739 -> 0.0015s740-- add_foreign_key("ci_builds_runner_session", "ci_builds", {:column=>"build_id", :on_delete=>:cascade})741 -> 0.0014s742-- add_foreign_key("ci_group_variables", "namespaces", {:column=>"group_id", :name=>"fk_33ae4d58d8", :on_delete=>:cascade})743 -> 0.0014s744-- add_foreign_key("ci_job_artifacts", "ci_builds", {:column=>"job_id", :on_delete=>:cascade})745 -> 0.0016s746-- add_foreign_key("ci_job_artifacts", "projects", {:on_delete=>:cascade})747 -> 0.0015s748-- add_foreign_key("ci_job_variables", "ci_builds", {:column=>"job_id", :on_delete=>:cascade})749 -> 0.0014s750-- add_foreign_key("ci_pipeline_chat_data", "chat_names", {:on_delete=>:cascade})751 -> 0.0013s752-- add_foreign_key("ci_pipeline_chat_data", "ci_pipelines", {:column=>"pipeline_id", :on_delete=>:cascade})753 -> 0.0011s754-- add_foreign_key("ci_pipeline_schedule_variables", "ci_pipeline_schedules", {:column=>"pipeline_schedule_id", :name=>"fk_41c35fda51", :on_delete=>:cascade})755 -> 0.0013s756-- add_foreign_key("ci_pipeline_schedules", "projects", {:name=>"fk_8ead60fcc4", :on_delete=>:cascade})757 -> 0.0014s758-- add_foreign_key("ci_pipeline_schedules", "users", {:column=>"owner_id", :name=>"fk_9ea99f58d2", :on_delete=>:nullify})759 -> 0.0014s760-- add_foreign_key("ci_pipeline_variables", "ci_pipelines", {:column=>"pipeline_id", :name=>"fk_f29c5f4380", :on_delete=>:cascade})761 -> 0.0012s762-- add_foreign_key("ci_pipelines", "ci_pipeline_schedules", {:column=>"pipeline_schedule_id", :name=>"fk_3d34ab2e06", :on_delete=>:nullify})763 -> 0.0011s764-- add_foreign_key("ci_pipelines", "ci_pipelines", {:column=>"auto_canceled_by_id", :name=>"fk_262d4c2d19", :on_delete=>:nullify})765 -> 0.0011s766-- add_foreign_key("ci_pipelines", "external_pull_requests", {:name=>"fk_190998ef09", :on_delete=>:nullify})767 -> 0.0013s768-- add_foreign_key("ci_pipelines", "merge_requests", {:name=>"fk_a23be95014", :on_delete=>:cascade})769 -> 0.0015s770-- add_foreign_key("ci_pipelines", "projects", {:name=>"fk_86635dbd80", :on_delete=>:cascade})771 -> 0.0016s772-- add_foreign_key("ci_runner_namespaces", "ci_runners", {:column=>"runner_id", :on_delete=>:cascade})773 -> 0.0014s774-- add_foreign_key("ci_runner_namespaces", "namespaces", {:on_delete=>:cascade})775 -> 0.0013s776-- add_foreign_key("ci_runner_projects", "projects", {:name=>"fk_4478a6f1e4", :on_delete=>:cascade})777 -> 0.0015s778-- add_foreign_key("ci_sources_pipelines", "ci_builds", {:column=>"source_job_id", :name=>"fk_be5624bf37", :on_delete=>:cascade})779 -> 0.0014s780-- add_foreign_key("ci_sources_pipelines", "ci_pipelines", {:column=>"pipeline_id", :name=>"fk_e1bad85861", :on_delete=>:cascade})781 -> 0.0011s782-- add_foreign_key("ci_sources_pipelines", "ci_pipelines", {:column=>"source_pipeline_id", :name=>"fk_d4e29af7d7", :on_delete=>:cascade})783 -> 0.0011s784-- add_foreign_key("ci_sources_pipelines", "projects", {:column=>"source_project_id", :name=>"fk_acd9737679", :on_delete=>:cascade})785 -> 0.0014s786-- add_foreign_key("ci_sources_pipelines", "projects", {:name=>"fk_1e53c97c0a", :on_delete=>:cascade})787 -> 0.0013s788-- add_foreign_key("ci_stages", "ci_pipelines", {:column=>"pipeline_id", :name=>"fk_fb57e6cc56", :on_delete=>:cascade})789 -> 0.0017s790-- add_foreign_key("ci_stages", "projects", {:name=>"fk_2360681d1d", :on_delete=>:cascade})791 -> 0.0014s792-- add_foreign_key("ci_trigger_requests", "ci_triggers", {:column=>"trigger_id", :name=>"fk_b8ec8b7245", :on_delete=>:cascade})793 -> 0.0013s794-- add_foreign_key("ci_triggers", "projects", {:name=>"fk_e3e63f966e", :on_delete=>:cascade})795 -> 0.0014s796-- add_foreign_key("ci_triggers", "users", {:column=>"owner_id", :name=>"fk_e8e10d1964", :on_delete=>:cascade})797 -> 0.0015s798-- add_foreign_key("ci_variables", "projects", {:name=>"fk_ada5eb64b3", :on_delete=>:cascade})799 -> 0.0016s800-- add_foreign_key("cluster_groups", "clusters", {:on_delete=>:cascade})801 -> 0.0014s802-- add_foreign_key("cluster_groups", "namespaces", {:column=>"group_id", :on_delete=>:cascade})803 -> 0.0013s804-- add_foreign_key("cluster_platforms_kubernetes", "clusters", {:on_delete=>:cascade})805 -> 0.0012s806-- add_foreign_key("cluster_projects", "clusters", {:on_delete=>:cascade})807 -> 0.0013s808-- add_foreign_key("cluster_projects", "projects", {:on_delete=>:cascade})809 -> 0.0014s810-- add_foreign_key("cluster_providers_gcp", "clusters", {:on_delete=>:cascade})811 -> 0.0013s812-- add_foreign_key("clusters", "projects", {:column=>"management_project_id", :name=>"fk_f05c5e5a42", :on_delete=>:nullify})813 -> 0.0014s814-- add_foreign_key("clusters", "users", {:on_delete=>:nullify})815 -> 0.0014s816-- add_foreign_key("clusters_applications_cert_managers", "clusters", {:on_delete=>:cascade})817 -> 0.0012s818-- add_foreign_key("clusters_applications_helm", "clusters", {:on_delete=>:cascade})819 -> 0.0012s820-- add_foreign_key("clusters_applications_ingress", "clusters", {:on_delete=>:cascade})821 -> 0.0014s822-- add_foreign_key("clusters_applications_jupyter", "clusters", {:on_delete=>:cascade})823 -> 0.0013s824-- add_foreign_key("clusters_applications_jupyter", "oauth_applications", {:on_delete=>:nullify})825 -> 0.0013s826-- add_foreign_key("clusters_applications_knative", "clusters", {:on_delete=>:cascade})827 -> 0.0013s828-- add_foreign_key("clusters_applications_prometheus", "clusters", {:name=>"fk_557e773639", :on_delete=>:cascade})829 -> 0.0013s830-- add_foreign_key("clusters_applications_runners", "ci_runners", {:column=>"runner_id", :name=>"fk_02de2ded36", :on_delete=>:nullify})831 -> 0.0012s832-- add_foreign_key("clusters_applications_runners", "clusters", {:on_delete=>:cascade})833 -> 0.0011s834-- add_foreign_key("clusters_kubernetes_namespaces", "cluster_projects", {:on_delete=>:nullify})835 -> 0.0015s836-- add_foreign_key("clusters_kubernetes_namespaces", "clusters", {:on_delete=>:cascade})837 -> 0.0012s838-- add_foreign_key("clusters_kubernetes_namespaces", "environments", {:on_delete=>:nullify})839 -> 0.0015s840-- add_foreign_key("clusters_kubernetes_namespaces", "projects", {:on_delete=>:nullify})841 -> 0.0016s842-- add_foreign_key("container_repositories", "projects")843 -> 0.0016s844-- add_foreign_key("dependency_proxy_blobs", "namespaces", {:column=>"group_id", :on_delete=>:cascade})845 -> 0.0014s846-- add_foreign_key("dependency_proxy_group_settings", "namespaces", {:column=>"group_id", :on_delete=>:cascade})847 -> 0.0013s848-- add_foreign_key("deploy_keys_projects", "projects", {:name=>"fk_58a901ca7e", :on_delete=>:cascade})849 -> 0.0015s850-- add_foreign_key("deployments", "clusters", {:name=>"fk_289bba3222", :on_delete=>:nullify})851 -> 0.0016s852-- add_foreign_key("deployments", "projects", {:name=>"fk_b9a3851b82", :on_delete=>:cascade})853 -> 0.0015s854-- add_foreign_key("design_management_designs", "issues", {:on_delete=>:cascade})855 -> 0.0020s856-- add_foreign_key("design_management_designs", "projects", {:on_delete=>:cascade})857 -> 0.0015s858-- add_foreign_key("design_management_designs_versions", "design_management_designs", {:column=>"design_id", :name=>"fk_03c671965c", :on_delete=>:cascade})859 -> 0.0012s860-- add_foreign_key("design_management_designs_versions", "design_management_versions", {:column=>"version_id", :name=>"fk_f4d25ba00c", :on_delete=>:cascade})861 -> 0.0012s862-- add_foreign_key("design_management_versions", "issues", {:on_delete=>:cascade})863 -> 0.0013s864-- add_foreign_key("design_management_versions", "users", {:name=>"fk_ee16b939e5", :on_delete=>:nullify})865 -> 0.0015s866-- add_foreign_key("draft_notes", "merge_requests", {:on_delete=>:cascade})867 -> 0.0015s868-- add_foreign_key("draft_notes", "users", {:column=>"author_id", :on_delete=>:cascade})869 -> 0.0014s870-- add_foreign_key("elasticsearch_indexed_namespaces", "namespaces", {:on_delete=>:cascade})871 -> 0.0013s872-- add_foreign_key("elasticsearch_indexed_projects", "projects", {:on_delete=>:cascade})873 -> 0.0014s874-- add_foreign_key("environments", "projects", {:name=>"fk_d1c8c1da6a", :on_delete=>:cascade})875 -> 0.0015s876-- add_foreign_key("epic_issues", "epics", {:on_delete=>:cascade})877 -> 0.0017s878-- add_foreign_key("epic_issues", "issues", {:on_delete=>:cascade})879 -> 0.0013s880-- add_foreign_key("epic_metrics", "epics", {:on_delete=>:cascade})881 -> 0.0012s882-- add_foreign_key("epics", "epics", {:column=>"parent_id", :name=>"fk_25b99c1be3", :on_delete=>:cascade})883 -> 0.0011s884-- add_foreign_key("epics", "milestones", {:on_delete=>:nullify})885 -> 0.0016s886-- add_foreign_key("epics", "namespaces", {:column=>"group_id", :name=>"fk_f081aa4489", :on_delete=>:cascade})887 -> 0.0013s888-- add_foreign_key("epics", "users", {:column=>"assignee_id", :name=>"fk_dccd3f98fc", :on_delete=>:nullify})889 -> 0.0014s890-- add_foreign_key("epics", "users", {:column=>"author_id", :name=>"fk_3654b61b03", :on_delete=>:cascade})891 -> 0.0014s892-- add_foreign_key("epics", "users", {:column=>"closed_by_id", :name=>"fk_aa5798e761", :on_delete=>:nullify})893 -> 0.0013s894-- add_foreign_key("events", "namespaces", {:column=>"group_id", :name=>"fk_61fbf6ca48", :on_delete=>:cascade})895 -> 0.0016s896-- add_foreign_key("events", "projects", {:on_delete=>:cascade})897 -> 0.0015s898-- add_foreign_key("events", "users", {:column=>"author_id", :name=>"fk_edfd187b6f", :on_delete=>:cascade})899 -> 0.0013s900-- add_foreign_key("external_pull_requests", "projects", {:on_delete=>:cascade})901 -> 0.0014s902-- add_foreign_key("fork_network_members", "fork_networks", {:on_delete=>:cascade})903 -> 0.0013s904-- add_foreign_key("fork_network_members", "projects", {:column=>"forked_from_project_id", :name=>"fk_b01280dae4", :on_delete=>:nullify})905 -> 0.0014s906-- add_foreign_key("fork_network_members", "projects", {:on_delete=>:cascade})907 -> 0.0014s908-- add_foreign_key("fork_networks", "projects", {:column=>"root_project_id", :name=>"fk_e7b436b2b5", :on_delete=>:nullify})909 -> 0.0013s910-- add_foreign_key("forked_project_links", "projects", {:column=>"forked_to_project_id", :name=>"fk_434510edb0", :on_delete=>:cascade})911 -> 0.0014s912-- add_foreign_key("geo_container_repository_updated_events", "container_repositories", {:name=>"fk_212c89c706", :on_delete=>:cascade})913 -> 0.0012s914-- add_foreign_key("geo_event_log", "geo_cache_invalidation_events", {:column=>"cache_invalidation_event_id", :name=>"fk_42c3b54bed", :on_delete=>:cascade})915 -> 0.0017s916-- add_foreign_key("geo_event_log", "geo_container_repository_updated_events", {:column=>"container_repository_updated_event_id", :name=>"fk_6ada82d42a", :on_delete=>:cascade})917 -> 0.0011s918-- add_foreign_key("geo_event_log", "geo_hashed_storage_migrated_events", {:column=>"hashed_storage_migrated_event_id", :name=>"fk_27548c6db3", :on_delete=>:cascade})919 -> 0.0011s920-- add_foreign_key("geo_event_log", "geo_job_artifact_deleted_events", {:column=>"job_artifact_deleted_event_id", :name=>"fk_176d3fbb5d", :on_delete=>:cascade})921 -> 0.0012s922-- add_foreign_key("geo_event_log", "geo_lfs_object_deleted_events", {:column=>"lfs_object_deleted_event_id", :name=>"fk_d5af95fcd9", :on_delete=>:cascade})923 -> 0.0012s924-- add_foreign_key("geo_event_log", "geo_repositories_changed_events", {:column=>"repositories_changed_event_id", :name=>"fk_4a99ebfd60", :on_delete=>:cascade})925 -> 0.0014s926-- add_foreign_key("geo_event_log", "geo_repository_created_events", {:column=>"repository_created_event_id", :name=>"fk_9b9afb1916", :on_delete=>:cascade})927 -> 0.0014s928-- add_foreign_key("geo_event_log", "geo_repository_deleted_events", {:column=>"repository_deleted_event_id", :name=>"fk_c4b1c1f66e", :on_delete=>:cascade})929 -> 0.0021s930-- add_foreign_key("geo_event_log", "geo_repository_renamed_events", {:column=>"repository_renamed_event_id", :name=>"fk_86c84214ec", :on_delete=>:cascade})931 -> 0.0018s932-- add_foreign_key("geo_event_log", "geo_repository_updated_events", {:column=>"repository_updated_event_id", :name=>"fk_78a6492f68", :on_delete=>:cascade})933 -> 0.0014s934-- add_foreign_key("geo_event_log", "geo_reset_checksum_events", {:column=>"reset_checksum_event_id", :name=>"fk_cff7185ad2", :on_delete=>:cascade})935 -> 0.0012s936-- add_foreign_key("geo_event_log", "geo_upload_deleted_events", {:column=>"upload_deleted_event_id", :name=>"fk_c1f241c70d", :on_delete=>:cascade})937 -> 0.0012s938-- add_foreign_key("geo_hashed_storage_attachments_events", "projects", {:on_delete=>:cascade})939 -> 0.0017s940-- add_foreign_key("geo_hashed_storage_migrated_events", "projects", {:on_delete=>:cascade})941 -> 0.0016s942-- add_foreign_key("geo_node_namespace_links", "geo_nodes", {:on_delete=>:cascade})943 -> 0.0015s944-- add_foreign_key("geo_node_namespace_links", "namespaces", {:on_delete=>:cascade})945 -> 0.0014s946-- add_foreign_key("geo_node_statuses", "geo_nodes", {:on_delete=>:cascade})947 -> 0.0015s948-- add_foreign_key("geo_repositories_changed_events", "geo_nodes", {:on_delete=>:cascade})949 -> 0.0012s950-- add_foreign_key("geo_repository_created_events", "projects", {:on_delete=>:cascade})951 -> 0.0015s952-- add_foreign_key("geo_repository_renamed_events", "projects", {:on_delete=>:cascade})953 -> 0.0015s954-- add_foreign_key("geo_repository_updated_events", "projects", {:on_delete=>:cascade})955 -> 0.0014s956-- add_foreign_key("geo_reset_checksum_events", "projects", {:on_delete=>:cascade})957 -> 0.0015s958-- add_foreign_key("gitlab_subscriptions", "namespaces", {:name=>"fk_e2595d00a1", :on_delete=>:cascade})959 -> 0.0015s960-- add_foreign_key("gitlab_subscriptions", "plans", {:column=>"hosted_plan_id", :name=>"fk_bd0c4019c3", :on_delete=>:cascade})961 -> 0.0012s962-- add_foreign_key("gpg_key_subkeys", "gpg_keys", {:on_delete=>:cascade})963 -> 0.0014s964-- add_foreign_key("gpg_keys", "users", {:on_delete=>:cascade})965 -> 0.0015s966-- add_foreign_key("gpg_signatures", "gpg_key_subkeys", {:on_delete=>:nullify})967 -> 0.0014s968-- add_foreign_key("gpg_signatures", "gpg_keys", {:on_delete=>:nullify})969 -> 0.0011s970-- add_foreign_key("gpg_signatures", "projects", {:on_delete=>:cascade})971 -> 0.0015s972-- add_foreign_key("grafana_integrations", "projects", {:on_delete=>:cascade})973 -> 0.0015s974-- add_foreign_key("group_custom_attributes", "namespaces", {:column=>"group_id", :on_delete=>:cascade})975 -> 0.0015s976-- add_foreign_key("identities", "saml_providers", {:name=>"fk_aade90f0fc", :on_delete=>:cascade})977 -> 0.0014s978-- add_foreign_key("import_export_uploads", "projects", {:on_delete=>:cascade})979 -> 0.0017s980-- add_foreign_key("index_statuses", "projects", {:name=>"fk_74b2492545", :on_delete=>:cascade})981 -> 0.0015s982-- add_foreign_key("insights", "namespaces", {:on_delete=>:cascade})983 -> 0.0014s984-- add_foreign_key("insights", "projects", {:on_delete=>:cascade})985 -> 0.0014s986-- add_foreign_key("internal_ids", "namespaces", {:name=>"fk_162941d509", :on_delete=>:cascade})987 -> 0.0015s988-- add_foreign_key("internal_ids", "projects", {:on_delete=>:cascade})989 -> 0.0015s990-- add_foreign_key("ip_restrictions", "namespaces", {:column=>"group_id", :on_delete=>:cascade})991 -> 0.0013s992-- add_foreign_key("issue_assignees", "issues", {:name=>"fk_b7d881734a", :on_delete=>:cascade})993 -> 0.0013s994-- add_foreign_key("issue_assignees", "users", {:name=>"fk_5e0c8d9154", :on_delete=>:cascade})995 -> 0.0014s996-- add_foreign_key("issue_links", "issues", {:column=>"source_id", :name=>"fk_c900194ff2", :on_delete=>:cascade})997 -> 0.0015s998-- add_foreign_key("issue_links", "issues", {:column=>"target_id", :name=>"fk_e71bb44f1f", :on_delete=>:cascade})999 -> 0.0012s1000-- add_foreign_key("issue_metrics", "issues", {:on_delete=>:cascade})1001 -> 0.0013s1002-- add_foreign_key("issue_tracker_data", "services", {:on_delete=>:cascade})1003 -> 0.0013s1004-- add_foreign_key("issues", "issues", {:column=>"duplicated_to_id", :name=>"fk_9c4516d665", :on_delete=>:nullify})1005 -> 0.0013s1006-- add_foreign_key("issues", "issues", {:column=>"moved_to_id", :name=>"fk_a194299be1", :on_delete=>:nullify})1007 -> 0.0013s1008-- add_foreign_key("issues", "milestones", {:name=>"fk_96b1dd429c", :on_delete=>:nullify})1009 -> 0.0013s1010-- add_foreign_key("issues", "projects", {:name=>"fk_899c8f3231", :on_delete=>:cascade})1011 -> 0.0017s1012-- add_foreign_key("issues", "users", {:column=>"author_id", :name=>"fk_05f1e72feb", :on_delete=>:nullify})1013 -> 0.0016s1014-- add_foreign_key("issues", "users", {:column=>"closed_by_id", :name=>"fk_c63cbf6c25", :on_delete=>:nullify})1015 -> 0.0015s1016-- add_foreign_key("issues", "users", {:column=>"updated_by_id", :name=>"fk_ffed080f01", :on_delete=>:nullify})1017 -> 0.0015s1018-- add_foreign_key("issues_prometheus_alert_events", "issues", {:on_delete=>:cascade})1019 -> 0.0014s1020-- add_foreign_key("issues_prometheus_alert_events", "prometheus_alert_events", {:on_delete=>:cascade})1021 -> 0.0013s1022-- add_foreign_key("jira_connect_subscriptions", "jira_connect_installations", {:on_delete=>:cascade})1023 -> 0.0014s1024-- add_foreign_key("jira_connect_subscriptions", "namespaces", {:on_delete=>:cascade})1025 -> 0.0014s1026-- add_foreign_key("jira_tracker_data", "services", {:on_delete=>:cascade})1027 -> 0.0013s1028-- add_foreign_key("label_links", "labels", {:name=>"fk_d97dd08678", :on_delete=>:cascade})1029 -> 0.0012s1030-- add_foreign_key("label_priorities", "labels", {:on_delete=>:cascade})1031 -> 0.0013s1032-- add_foreign_key("label_priorities", "projects", {:on_delete=>:cascade})1033 -> 0.0016s1034-- add_foreign_key("labels", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1035 -> 0.0014s1036-- add_foreign_key("labels", "projects", {:name=>"fk_7de4989a69", :on_delete=>:cascade})1037 -> 0.0015s1038-- add_foreign_key("lfs_file_locks", "projects", {:on_delete=>:cascade})1039 -> 0.0016s1040-- add_foreign_key("lfs_file_locks", "users", {:on_delete=>:cascade})1041 -> 0.0014s1042-- add_foreign_key("list_user_preferences", "lists", {:on_delete=>:cascade})1043 -> 0.0016s1044-- add_foreign_key("list_user_preferences", "users", {:on_delete=>:cascade})1045 -> 0.0014s1046-- add_foreign_key("lists", "boards", {:name=>"fk_0d3f677137", :on_delete=>:cascade})1047 -> 0.0011s1048-- add_foreign_key("lists", "labels", {:name=>"fk_7a5553d60f", :on_delete=>:cascade})1049 -> 0.0011s1050-- add_foreign_key("lists", "milestones", {:on_delete=>:cascade})1051 -> 0.0012s1052-- add_foreign_key("lists", "users", {:name=>"fk_d6cf4279f7", :on_delete=>:cascade})1053 -> 0.0015s1054-- add_foreign_key("members", "users", {:name=>"fk_2e88fb7ce9", :on_delete=>:cascade})1055 -> 0.0017s1056-- add_foreign_key("merge_request_assignees", "merge_requests", {:on_delete=>:cascade})1057 -> 0.0015s1058-- add_foreign_key("merge_request_assignees", "users", {:on_delete=>:cascade})1059 -> 0.0014s1060-- add_foreign_key("merge_request_blocks", "merge_requests", {:column=>"blocked_merge_request_id", :on_delete=>:cascade})1061 -> 0.0015s1062-- add_foreign_key("merge_request_blocks", "merge_requests", {:column=>"blocking_merge_request_id", :on_delete=>:cascade})1063 -> 0.0012s1064-- add_foreign_key("merge_request_diff_commits", "merge_request_diffs", {:on_delete=>:cascade})1065 -> 0.0014s1066-- add_foreign_key("merge_request_diff_files", "merge_request_diffs", {:on_delete=>:cascade})1067 -> 0.0012s1068-- add_foreign_key("merge_request_diffs", "merge_requests", {:name=>"fk_8483f3258f", :on_delete=>:cascade})1069 -> 0.0012s1070-- add_foreign_key("merge_request_metrics", "ci_pipelines", {:column=>"pipeline_id", :on_delete=>:cascade})1071 -> 0.0016s1072-- add_foreign_key("merge_request_metrics", "merge_requests", {:on_delete=>:cascade})1073 -> 0.0014s1074-- add_foreign_key("merge_request_metrics", "users", {:column=>"latest_closed_by_id", :name=>"fk_ae440388cc", :on_delete=>:nullify})1075 -> 0.0015s1076-- add_foreign_key("merge_request_metrics", "users", {:column=>"merged_by_id", :name=>"fk_7f28d925f3", :on_delete=>:nullify})1077 -> 0.0015s1078-- add_foreign_key("merge_requests", "ci_pipelines", {:column=>"head_pipeline_id", :name=>"fk_fd82eae0b9", :on_delete=>:nullify})1079 -> 0.0014s1080-- add_foreign_key("merge_requests", "merge_request_diffs", {:column=>"latest_merge_request_diff_id", :name=>"fk_06067f5644", :on_delete=>:nullify})1081 -> 0.0023s1082-- add_foreign_key("merge_requests", "milestones", {:name=>"fk_6a5165a692", :on_delete=>:nullify})1083 -> 0.0013s1084-- add_foreign_key("merge_requests", "projects", {:column=>"source_project_id", :name=>"fk_3308fe130c", :on_delete=>:nullify})1085 -> 0.0017s1086-- add_foreign_key("merge_requests", "projects", {:column=>"target_project_id", :name=>"fk_a6963e8447", :on_delete=>:cascade})1087 -> 0.0017s1088-- add_foreign_key("merge_requests", "users", {:column=>"assignee_id", :name=>"fk_6149611a04", :on_delete=>:nullify})1089 -> 0.0016s1090-- add_foreign_key("merge_requests", "users", {:column=>"author_id", :name=>"fk_e719a85f8a", :on_delete=>:nullify})1091 -> 0.0016s1092-- add_foreign_key("merge_requests", "users", {:column=>"merge_user_id", :name=>"fk_ad525e1f87", :on_delete=>:nullify})1093 -> 0.0016s1094-- add_foreign_key("merge_requests", "users", {:column=>"updated_by_id", :name=>"fk_641731faff", :on_delete=>:nullify})1095 -> 0.0016s1096-- add_foreign_key("merge_requests_closing_issues", "issues", {:on_delete=>:cascade})1097 -> 0.0015s1098-- add_foreign_key("merge_requests_closing_issues", "merge_requests", {:on_delete=>:cascade})1099 -> 0.0013s1100-- add_foreign_key("merge_trains", "ci_pipelines", {:column=>"pipeline_id", :on_delete=>:nullify})1101 -> 0.0015s1102-- add_foreign_key("merge_trains", "merge_requests", {:on_delete=>:cascade})1103 -> 0.0013s1104-- add_foreign_key("merge_trains", "projects", {:column=>"target_project_id", :on_delete=>:cascade})1105 -> 0.0015s1106-- add_foreign_key("merge_trains", "users", {:on_delete=>:cascade})1107 -> 0.0014s1108-- add_foreign_key("milestone_releases", "milestones", {:on_delete=>:cascade})1109 -> 0.0013s1110-- add_foreign_key("milestone_releases", "releases", {:on_delete=>:cascade})1111 -> 0.0012s1112-- add_foreign_key("milestones", "namespaces", {:column=>"group_id", :name=>"fk_95650a40d4", :on_delete=>:cascade})1113 -> 0.0015s1114-- add_foreign_key("milestones", "projects", {:name=>"fk_9bd0a0c791", :on_delete=>:cascade})1115 -> 0.0015s1116-- add_foreign_key("namespace_aggregation_schedules", "namespaces", {:on_delete=>:cascade})1117 -> 0.0014s1118-- add_foreign_key("namespace_root_storage_statistics", "namespaces", {:on_delete=>:cascade})1119 -> 0.0014s1120-- add_foreign_key("namespace_statistics", "namespaces", {:on_delete=>:cascade})1121 -> 0.0014s1122-- add_foreign_key("namespaces", "namespaces", {:column=>"custom_project_templates_group_id", :name=>"fk_e7a0b20a6b", :on_delete=>:nullify})1123 -> 0.0013s1124-- add_foreign_key("namespaces", "plans", {:name=>"fk_fdd12e5b80", :on_delete=>:nullify})1125 -> 0.0015s1126-- add_foreign_key("namespaces", "projects", {:column=>"file_template_project_id", :name=>"fk_319256d87a", :on_delete=>:nullify})1127 -> 0.0017s1128-- add_foreign_key("note_diff_files", "notes", {:column=>"diff_note_id", :on_delete=>:cascade})1129 -> 0.0017s1130-- add_foreign_key("notes", "projects", {:name=>"fk_99e097b079", :on_delete=>:cascade})1131 -> 0.0017s1132-- add_foreign_key("notes", "reviews", {:name=>"fk_2e82291620", :on_delete=>:nullify})1133 -> 0.0014s1134-- add_foreign_key("notification_settings", "users", {:name=>"fk_0c95e91db7", :on_delete=>:cascade})1135 -> 0.0018s1136-- add_foreign_key("oauth_openid_requests", "oauth_access_grants", {:column=>"access_grant_id", :name=>"fk_oauth_openid_requests_oauth_access_grants_access_grant_id"})1137 -> 0.0012s1138-- add_foreign_key("operations_feature_flag_scopes", "operations_feature_flags", {:column=>"feature_flag_id", :on_delete=>:cascade})1139 -> 0.0013s1140-- add_foreign_key("operations_feature_flags", "projects", {:on_delete=>:cascade})1141 -> 0.0015s1142-- add_foreign_key("operations_feature_flags_clients", "projects", {:on_delete=>:cascade})1143 -> 0.0016s1144-- add_foreign_key("packages_maven_metadata", "packages_packages", {:column=>"package_id", :name=>"fk_be88aed360", :on_delete=>:cascade})1145 -> 0.0012s1146-- add_foreign_key("packages_package_files", "packages_packages", {:column=>"package_id", :name=>"fk_86f0f182f8", :on_delete=>:cascade})1147 -> 0.0011s1148-- add_foreign_key("packages_package_metadata", "packages_packages", {:column=>"package_id", :on_delete=>:cascade})1149 -> 0.0012s1150-- add_foreign_key("packages_package_tags", "packages_packages", {:column=>"package_id", :on_delete=>:cascade})1151 -> 0.0011s1152-- add_foreign_key("packages_packages", "projects", {:on_delete=>:cascade})1153 -> 0.0015s1154-- add_foreign_key("pages_domain_acme_orders", "pages_domains", {:on_delete=>:cascade})1155 -> 0.0017s1156-- add_foreign_key("pages_domains", "projects", {:name=>"fk_ea2f6dfc6f", :on_delete=>:cascade})1157 -> 0.0015s1158-- add_foreign_key("path_locks", "projects", {:name=>"fk_5265c98f24", :on_delete=>:cascade})1159 -> 0.0016s1160-- add_foreign_key("path_locks", "users")1161 -> 0.0014s1162-- add_foreign_key("personal_access_tokens", "users")1163 -> 0.0016s1164-- add_foreign_key("pool_repositories", "projects", {:column=>"source_project_id", :on_delete=>:nullify})1165 -> 0.0016s1166-- add_foreign_key("pool_repositories", "shards", {:on_delete=>:restrict})1167 -> 0.0013s1168-- add_foreign_key("project_alerting_settings", "projects", {:on_delete=>:cascade})1169 -> 0.0016s1170-- add_foreign_key("project_aliases", "projects", {:on_delete=>:cascade})1171 -> 0.0016s1172-- add_foreign_key("project_authorizations", "projects", {:on_delete=>:cascade})1173 -> 0.0015s1174-- add_foreign_key("project_authorizations", "users", {:on_delete=>:cascade})1175 -> 0.0015s1176-- add_foreign_key("project_auto_devops", "projects", {:on_delete=>:cascade})1177 -> 0.0015s1178-- add_foreign_key("project_ci_cd_settings", "projects", {:name=>"fk_24c15d2f2e", :on_delete=>:cascade})1179 -> 0.0015s1180-- add_foreign_key("project_custom_attributes", "projects", {:on_delete=>:cascade})1181 -> 0.0016s1182-- add_foreign_key("project_daily_statistics", "projects", {:on_delete=>:cascade})1183 -> 0.0016s1184-- add_foreign_key("project_deploy_tokens", "deploy_tokens", {:on_delete=>:cascade})1185 -> 0.0015s1186-- add_foreign_key("project_deploy_tokens", "projects", {:on_delete=>:cascade})1187 -> 0.0016s1188-- add_foreign_key("project_error_tracking_settings", "projects", {:on_delete=>:cascade})1189 -> 0.0016s1190-- add_foreign_key("project_feature_usages", "projects", {:on_delete=>:cascade})1191 -> 0.0018s1192-- add_foreign_key("project_features", "projects", {:name=>"fk_18513d9b92", :on_delete=>:cascade})1193 -> 0.0016s1194-- add_foreign_key("project_group_links", "projects", {:name=>"fk_daa8cee94c", :on_delete=>:cascade})1195 -> 0.0016s1196-- add_foreign_key("project_import_data", "projects", {:name=>"fk_ffb9ee3a10", :on_delete=>:cascade})1197 -> 0.0015s1198-- add_foreign_key("project_incident_management_settings", "projects", {:on_delete=>:cascade})1199 -> 0.0016s1200-- add_foreign_key("project_metrics_settings", "projects", {:on_delete=>:cascade})1201 -> 0.0016s1202-- add_foreign_key("project_mirror_data", "projects", {:name=>"fk_d1aad367d7", :on_delete=>:cascade})1203 -> 0.0019s1204-- add_foreign_key("project_pages_metadata", "projects", {:on_delete=>:cascade})1205 -> 0.0015s1206-- add_foreign_key("project_repositories", "projects", {:on_delete=>:cascade})1207 -> 0.0016s1208-- add_foreign_key("project_repositories", "shards", {:on_delete=>:restrict})1209 -> 0.0011s1210-- add_foreign_key("project_repository_states", "projects", {:on_delete=>:cascade})1211 -> 0.0021s1212-- add_foreign_key("project_statistics", "projects", {:on_delete=>:cascade})1213 -> 0.0017s1214-- add_foreign_key("project_tracing_settings", "projects", {:on_delete=>:cascade})1215 -> 0.0015s1216-- add_foreign_key("projects", "pool_repositories", {:name=>"fk_6e5c14658a", :on_delete=>:nullify})1217 -> 0.0017s1218-- add_foreign_key("prometheus_alert_events", "projects", {:on_delete=>:cascade})1219 -> 0.0015s1220-- add_foreign_key("prometheus_alert_events", "prometheus_alerts", {:on_delete=>:cascade})1221 -> 0.0013s1222-- add_foreign_key("prometheus_alerts", "environments", {:on_delete=>:cascade})1223 -> 0.0012s1224-- add_foreign_key("prometheus_alerts", "projects", {:on_delete=>:cascade})1225 -> 0.0015s1226-- add_foreign_key("prometheus_alerts", "prometheus_metrics", {:on_delete=>:cascade})1227 -> 0.0013s1228-- add_foreign_key("prometheus_metrics", "projects", {:on_delete=>:cascade})1229 -> 0.0015s1230-- add_foreign_key("protected_branch_merge_access_levels", "namespaces", {:column=>"group_id", :name=>"fk_98f3d044fe", :on_delete=>:cascade})1231 -> 0.0015s1232-- add_foreign_key("protected_branch_merge_access_levels", "protected_branches", {:name=>"fk_8a3072ccb3", :on_delete=>:cascade})1233 -> 0.0017s1234-- add_foreign_key("protected_branch_merge_access_levels", "users")1235 -> 0.0016s1236-- add_foreign_key("protected_branch_push_access_levels", "namespaces", {:column=>"group_id", :name=>"fk_7111b68cdb", :on_delete=>:cascade})1237 -> 0.0015s1238-- add_foreign_key("protected_branch_push_access_levels", "protected_branches", {:name=>"fk_9ffc86a3d9", :on_delete=>:cascade})1239 -> 0.0011s1240-- add_foreign_key("protected_branch_push_access_levels", "users")1241 -> 0.0014s1242-- add_foreign_key("protected_branch_unprotect_access_levels", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1243 -> 0.0014s1244-- add_foreign_key("protected_branch_unprotect_access_levels", "protected_branches", {:on_delete=>:cascade})1245 -> 0.0011s1246-- add_foreign_key("protected_branch_unprotect_access_levels", "users", {:on_delete=>:cascade})1247 -> 0.0014s1248-- add_foreign_key("protected_branches", "projects", {:name=>"fk_7a9c6d93e7", :on_delete=>:cascade})1249 -> 0.0016s1250-- add_foreign_key("protected_environment_deploy_access_levels", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1251 -> 0.0016s1252-- add_foreign_key("protected_environment_deploy_access_levels", "protected_environments", {:on_delete=>:cascade})1253 -> 0.0012s1254-- add_foreign_key("protected_environment_deploy_access_levels", "users", {:on_delete=>:cascade})1255 -> 0.0014s1256-- add_foreign_key("protected_environments", "projects", {:on_delete=>:cascade})1257 -> 0.0015s1258-- add_foreign_key("protected_tag_create_access_levels", "namespaces", {:column=>"group_id", :name=>"fk_b4eb82fe3c", :on_delete=>:cascade})1259 -> 0.0014s1260-- add_foreign_key("protected_tag_create_access_levels", "protected_tags", {:name=>"fk_f7dfda8c51", :on_delete=>:cascade})1261 -> 0.0040s1262-- add_foreign_key("protected_tag_create_access_levels", "users")1263 -> 0.0015s1264-- add_foreign_key("protected_tags", "projects", {:name=>"fk_8e4af87648", :on_delete=>:cascade})1265 -> 0.0015s1266-- add_foreign_key("push_event_payloads", "events", {:name=>"fk_36c74129da", :on_delete=>:cascade})1267 -> 0.0013s1268-- add_foreign_key("push_rules", "projects", {:name=>"fk_83b29894de", :on_delete=>:cascade})1269 -> 0.0018s1270-- add_foreign_key("release_links", "releases", {:on_delete=>:cascade})1271 -> 0.0012s1272-- add_foreign_key("releases", "projects", {:name=>"fk_47fe2a0596", :on_delete=>:cascade})1273 -> 0.0015s1274-- add_foreign_key("releases", "users", {:column=>"author_id", :name=>"fk_8e4456f90f", :on_delete=>:nullify})1275 -> 0.0014s1276-- add_foreign_key("remote_mirrors", "projects", {:name=>"fk_43a9aa4ca8", :on_delete=>:cascade})1277 -> 0.0017s1278-- add_foreign_key("repository_languages", "projects", {:on_delete=>:cascade})1279 -> 0.0015s1280-- add_foreign_key("resource_label_events", "epics", {:on_delete=>:cascade})1281 -> 0.0015s1282-- add_foreign_key("resource_label_events", "issues", {:on_delete=>:cascade})1283 -> 0.0013s1284-- add_foreign_key("resource_label_events", "labels", {:on_delete=>:nullify})1285 -> 0.0012s1286-- add_foreign_key("resource_label_events", "merge_requests", {:on_delete=>:cascade})1287 -> 0.0015s1288-- add_foreign_key("resource_label_events", "users", {:on_delete=>:nullify})1289 -> 0.0015s1290-- add_foreign_key("reviews", "merge_requests", {:on_delete=>:cascade})1291 -> 0.0014s1292-- add_foreign_key("reviews", "projects", {:on_delete=>:cascade})1293 -> 0.0015s1294-- add_foreign_key("reviews", "users", {:column=>"author_id", :on_delete=>:nullify})1295 -> 0.0015s1296-- add_foreign_key("saml_providers", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1297 -> 0.0013s1298-- add_foreign_key("scim_oauth_access_tokens", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1299 -> 0.0014s1300-- add_foreign_key("services", "projects", {:name=>"fk_71cce407f9", :on_delete=>:cascade})1301 -> 0.0017s1302-- add_foreign_key("slack_integrations", "services", {:on_delete=>:cascade})1303 -> 0.0013s1304-- add_foreign_key("smartcard_identities", "users", {:on_delete=>:cascade})1305 -> 0.0016s1306-- add_foreign_key("snippets", "projects", {:name=>"fk_be41fd4bb7", :on_delete=>:cascade})1307 -> 0.0019s1308-- add_foreign_key("software_license_policies", "projects", {:on_delete=>:cascade})1309 -> 0.0016s1310-- add_foreign_key("software_license_policies", "software_licenses", {:on_delete=>:cascade})1311 -> 0.0012s1312-- add_foreign_key("subscriptions", "projects", {:on_delete=>:cascade})1313 -> 0.0017s1314-- add_foreign_key("suggestions", "notes", {:on_delete=>:cascade})1315 -> 0.0013s1316-- add_foreign_key("system_note_metadata", "notes", {:name=>"fk_d83a918cb1", :on_delete=>:cascade})1317 -> 0.0013s1318-- add_foreign_key("term_agreements", "application_setting_terms", {:column=>"term_id"})1319 -> 0.0013s1320-- add_foreign_key("term_agreements", "users", {:on_delete=>:cascade})1321 -> 0.0016s1322-- add_foreign_key("timelogs", "issues", {:name=>"fk_timelogs_issues_issue_id", :on_delete=>:cascade})1323 -> 0.0015s1324-- add_foreign_key("timelogs", "merge_requests", {:name=>"fk_timelogs_merge_requests_merge_request_id", :on_delete=>:cascade})1325 -> 0.0013s1326-- add_foreign_key("todos", "namespaces", {:column=>"group_id", :on_delete=>:cascade})1327 -> 0.0018s1328-- add_foreign_key("todos", "notes", {:name=>"fk_91d1f47b13", :on_delete=>:cascade})1329 -> 0.0013s1330-- add_foreign_key("todos", "projects", {:name=>"fk_45054f9c45", :on_delete=>:cascade})1331 -> 0.0017s1332-- add_foreign_key("todos", "users", {:column=>"author_id", :name=>"fk_ccf0373936", :on_delete=>:cascade})1333 -> 0.0016s1334-- add_foreign_key("todos", "users", {:name=>"fk_d94154aa95", :on_delete=>:cascade})1335 -> 0.0015s1336-- add_foreign_key("trending_projects", "projects", {:on_delete=>:cascade})1337 -> 0.0016s1338-- add_foreign_key("u2f_registrations", "users")1339 -> 0.0017s1340-- add_foreign_key("user_callouts", "users", {:on_delete=>:cascade})1341 -> 0.0016s1342-- add_foreign_key("user_custom_attributes", "users", {:on_delete=>:cascade})1343 -> 0.0016s1344-- add_foreign_key("user_interacted_projects", "projects", {:name=>"fk_722ceba4f7", :on_delete=>:cascade})1345 -> 0.0016s1346-- add_foreign_key("user_interacted_projects", "users", {:name=>"fk_0894651f08", :on_delete=>:cascade})1347 -> 0.0014s1348-- add_foreign_key("user_preferences", "users", {:on_delete=>:cascade})1349 -> 0.0016s1350-- add_foreign_key("user_statuses", "users", {:on_delete=>:cascade})1351 -> 0.0016s1352-- add_foreign_key("user_synced_attributes_metadata", "users", {:on_delete=>:cascade})1353 -> 0.0016s1354-- add_foreign_key("users", "application_setting_terms", {:column=>"accepted_term_id", :name=>"fk_789cd90b35", :on_delete=>:cascade})1355 -> 0.0016s1356-- add_foreign_key("users", "namespaces", {:column=>"managing_group_id", :name=>"fk_a4b8fefe3e", :on_delete=>:nullify})1357 -> 0.0018s1358-- add_foreign_key("users_ops_dashboard_projects", "projects", {:on_delete=>:cascade})1359 -> 0.0017s1360-- add_foreign_key("users_ops_dashboard_projects", "users", {:on_delete=>:cascade})1361 -> 0.0014s1362-- add_foreign_key("users_star_projects", "projects", {:name=>"fk_22cd27ddfc", :on_delete=>:cascade})1363 -> 0.0017s1364-- add_foreign_key("vulnerabilities", "epics", {:name=>"fk_1d37cddf91", :on_delete=>:nullify})1365 -> 0.0018s1366-- add_foreign_key("vulnerabilities", "milestones", {:column=>"due_date_sourcing_milestone_id", :name=>"fk_7c5bb22a22", :on_delete=>:nullify})1367 -> 0.0012s1368-- add_foreign_key("vulnerabilities", "milestones", {:column=>"start_date_sourcing_milestone_id", :name=>"fk_88b4d546ef", :on_delete=>:nullify})1369 -> 0.0012s1370-- add_foreign_key("vulnerabilities", "milestones", {:name=>"fk_131d289c65", :on_delete=>:nullify})1371 -> 0.0013s1372-- add_foreign_key("vulnerabilities", "projects", {:name=>"fk_efb96ab1e2", :on_delete=>:cascade})1373 -> 0.0017s1374-- add_foreign_key("vulnerabilities", "users", {:column=>"author_id", :name=>"fk_b1de915a15", :on_delete=>:nullify})1375 -> 0.0016s1376-- add_foreign_key("vulnerabilities", "users", {:column=>"closed_by_id", :name=>"fk_cf5c60acbf", :on_delete=>:nullify})1377 -> 0.0015s1378-- add_foreign_key("vulnerabilities", "users", {:column=>"last_edited_by_id", :name=>"fk_1302949740", :on_delete=>:nullify})1379 -> 0.0015s1380-- add_foreign_key("vulnerabilities", "users", {:column=>"updated_by_id", :name=>"fk_7ac31eacb9", :on_delete=>:nullify})1381 -> 0.0024s1382-- add_foreign_key("vulnerability_feedback", "ci_pipelines", {:column=>"pipeline_id", :on_delete=>:nullify})1383 -> 0.0017s1384-- add_foreign_key("vulnerability_feedback", "issues", {:on_delete=>:nullify})1385 -> 0.0014s1386-- add_foreign_key("vulnerability_feedback", "merge_requests", {:name=>"fk_563ff1912e", :on_delete=>:nullify})1387 -> 0.0015s1388-- add_foreign_key("vulnerability_feedback", "projects", {:on_delete=>:cascade})1389 -> 0.0017s1390-- add_foreign_key("vulnerability_feedback", "users", {:column=>"author_id", :on_delete=>:cascade})1391 -> 0.0015s1392-- add_foreign_key("vulnerability_feedback", "users", {:column=>"comment_author_id", :name=>"fk_94f7c8a81e", :on_delete=>:nullify})1393 -> 0.0015s1394-- add_foreign_key("vulnerability_identifiers", "projects", {:on_delete=>:cascade})1395 -> 0.0017s1396-- add_foreign_key("vulnerability_occurrence_identifiers", "vulnerability_identifiers", {:column=>"identifier_id", :on_delete=>:cascade})1397 -> 0.0013s1398-- add_foreign_key("vulnerability_occurrence_identifiers", "vulnerability_occurrences", {:column=>"occurrence_id", :on_delete=>:cascade})1399 -> 0.0014s1400-- add_foreign_key("vulnerability_occurrence_pipelines", "ci_pipelines", {:column=>"pipeline_id", :on_delete=>:cascade})1401 -> 0.0019s1402-- add_foreign_key("vulnerability_occurrence_pipelines", "vulnerability_occurrences", {:column=>"occurrence_id", :on_delete=>:cascade})1403 -> 0.0011s1404-- add_foreign_key("vulnerability_occurrences", "projects", {:on_delete=>:cascade})1405 -> 0.0017s1406-- add_foreign_key("vulnerability_occurrences", "vulnerabilities", {:name=>"fk_97ffe77653", :on_delete=>:nullify})1407 -> 0.0013s1408-- add_foreign_key("vulnerability_occurrences", "vulnerability_identifiers", {:column=>"primary_identifier_id", :on_delete=>:cascade})1409 -> 0.0011s1410-- add_foreign_key("vulnerability_occurrences", "vulnerability_scanners", {:column=>"scanner_id", :on_delete=>:cascade})1411 -> 0.0012s1412-- add_foreign_key("vulnerability_scanners", "projects", {:on_delete=>:cascade})1413 -> 0.0016s1414-- add_foreign_key("web_hook_logs", "web_hooks", {:on_delete=>:cascade})1415 -> 0.0015s1416-- add_foreign_key("web_hooks", "projects", {:name=>"fk_0c8ca6d9d1", :on_delete=>:cascade})1417 -> 0.0017s1418$ date1419Tue Oct 15 08:40:33 UTC 20191420$ source scripts/rspec_helpers.sh1421$ rspec_paralellized_job "--tag ~quarantine --tag ~geo"1422KNAPSACK_TEST_FILE_PATTERN: spec/{bin,config,db,dependencies,factories,finders,frontend,graphql,haml_lint,helpers,initializers,javascripts,lib,migrations,models,policies,presenters,rack_servers,routing,rubocop,serializers,services,sidekiq,tasks,uploaders,validators,views,workers,elastic_integration}{,/**/}*_spec.rb1423Checking gitaly-ruby bundle...1424Warning: 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`.1425The Gemfile's dependencies are satisfied1426Trying to connect to gitaly: ...... OK1427Report specs:1428spec/services/ci/create_pipeline_service_spec.rb1429spec/policies/project_policy_spec.rb1430spec/models/gpg_signature_spec.rb1431spec/services/users/migrate_to_ghost_user_service_spec.rb1432spec/lib/banzai/filter/relative_link_filter_spec.rb1433spec/lib/gitlab/git/repository_spec.rb1434spec/services/system_note_service_spec.rb1435spec/helpers/visibility_level_helper_spec.rb1436spec/serializers/environment_status_entity_spec.rb1437spec/lib/gitlab/import_export/relation_rename_service_spec.rb1438spec/services/groups/destroy_service_spec.rb1439spec/models/clusters/applications/helm_spec.rb1440spec/services/users/destroy_service_spec.rb1441spec/services/projects/update_service_spec.rb1442spec/services/clusters/gcp/provision_service_spec.rb1443spec/models/protected_branch_spec.rb1444spec/services/todos/destroy/group_private_service_spec.rb1445spec/models/project_services/teamcity_service_spec.rb1446spec/uploaders/external_diff_uploader_spec.rb1447spec/migrations/fix_wrong_pages_access_level_spec.rb1448spec/lib/gitlab/hook_data/issuable_builder_spec.rb1449spec/lib/gitlab/cache/ci/project_pipeline_status_spec.rb1450spec/services/lfs/file_transformer_spec.rb1451spec/services/groups/update_service_spec.rb1452spec/lib/gitlab/badge/coverage/report_spec.rb1453spec/models/concerns/subscribable_spec.rb1454spec/services/delete_merged_branches_service_spec.rb1455spec/services/merge_requests/post_merge_service_spec.rb1456spec/models/discussion_spec.rb1457spec/workers/pipeline_schedule_worker_spec.rb1458spec/lib/gitlab/diff/suggestion_spec.rb1459spec/models/concerns/expirable_spec.rb1460spec/models/board_project_recent_visit_spec.rb1461spec/services/notification_recipient_service_spec.rb1462spec/models/concerns/deployable_spec.rb1463spec/lib/banzai/filter/video_link_filter_spec.rb1464spec/services/issues/reopen_service_spec.rb1465spec/services/metrics/dashboard/dynamic_embed_service_spec.rb1466spec/models/concerns/cache_markdown_field_spec.rb1467spec/views/ci/status/_icon.html.haml_spec.rb1468spec/lib/gitlab/auth/saml/user_spec.rb1469spec/lib/banzai/reference_parser/milestone_parser_spec.rb1470spec/services/boards/lists/generate_service_spec.rb1471spec/lib/gitlab/issuable_metadata_spec.rb1472spec/lib/gitlab/ci/templates/templates_spec.rb1473spec/services/projects/move_project_authorizations_service_spec.rb1474spec/views/notify/pipeline_failed_email.text.erb_spec.rb1475spec/lib/gitlab/email/smime/signer_spec.rb1476spec/services/notes/resolve_service_spec.rb1477spec/views/shared/runners/show.html.haml_spec.rb1478spec/lib/gitlab/slash_commands/run_spec.rb1479spec/lib/gitlab/ci/yaml_processor_spec.rb1480spec/workers/deployments/finished_worker_spec.rb1481spec/services/merge_requests/resolved_discussion_notification_service_spec.rb1482spec/lib/gitlab/import_export/wiki_restorer_spec.rb1483spec/migrations/migrate_discussion_id_on_promoted_epics_spec.rb1484spec/workers/remove_unreferenced_lfs_objects_worker_spec.rb1485spec/workers/repository_update_remote_mirror_worker_spec.rb1486spec/serializers/test_suite_entity_spec.rb1487spec/services/chat_names/find_user_service_spec.rb1488spec/helpers/button_helper_spec.rb1489spec/migrations/change_packages_size_defaults_in_project_statistics_spec.rb1490spec/services/notes/destroy_service_spec.rb1491spec/models/tree_spec.rb1492spec/presenters/award_emoji_presenter_spec.rb1493spec/finders/boards/visits_finder_spec.rb1494spec/lib/gitlab/ci/build/policy/variables_spec.rb1495spec/lib/gitlab/legacy_github_import/milestone_formatter_spec.rb1496spec/services/chat_names/authorize_user_service_spec.rb1497spec/services/error_tracking/list_issues_service_spec.rb1498spec/lib/sentry/client_spec.rb1499spec/lib/gitlab/loop_helpers_spec.rb1500spec/views/layouts/nav/sidebar/_admin.html.haml_spec.rb1501spec/workers/merge_worker_spec.rb1502spec/migrations/cleanup_stages_position_migration_spec.rb1503spec/workers/pages_domain_ssl_renewal_cron_worker_spec.rb1504spec/migrations/add_pipeline_build_foreign_key_spec.rb1505spec/lib/backup/files_spec.rb1506spec/presenters/group_member_presenter_spec.rb1507spec/services/tags/destroy_service_spec.rb1508spec/lib/gitlab/import_export/attribute_configuration_spec.rb1509spec/lib/gitlab/bitbucket_import/project_creator_spec.rb1510spec/lib/gitlab/prometheus/queries/deployment_query_spec.rb1511spec/serializers/analytics_merge_request_serializer_spec.rb1512spec/models/protectable_dropdown_spec.rb1513spec/lib/gitlab/diff/parallel_diff_spec.rb1514spec/lib/gitlab/git/compare_spec.rb1515spec/lib/gitlab/cycle_analytics/plan_event_fetcher_spec.rb1516spec/lib/gitlab/background_migration/set_confidential_note_events_on_webhooks_spec.rb1517spec/workers/pipeline_process_worker_spec.rb1518spec/workers/create_pipeline_worker_spec.rb1519spec/workers/create_note_diff_file_worker_spec.rb1520spec/lib/gitlab/experimentation_spec.rb1521spec/services/users/set_status_service_spec.rb1522spec/migrations/fix_null_type_labels_spec.rb1523spec/services/users/respond_to_terms_service_spec.rb1524spec/migrations/migrate_create_trace_artifact_sidekiq_queue_spec.rb1525spec/models/blob_viewer/package_json_spec.rb1526spec/models/project_services/flowdock_service_spec.rb1527spec/lib/gitlab/auth/saml/identity_linker_spec.rb1528spec/migrations/migrate_cluster_configure_worker_sidekiq_queue_spec.rb1529spec/lib/gitlab/ci/config/external/mapper_spec.rb1530spec/lib/gitlab/blame_spec.rb1531spec/uploaders/lfs_object_uploader_spec.rb1532spec/lib/gitlab/cycle_analytics/updater_spec.rb1533spec/lib/gitlab/serializer/pagination_spec.rb1534spec/lib/gitlab/ci/variables/collection_spec.rb1535spec/migrations/enqueue_verify_pages_domain_workers_spec.rb1536spec/lib/gitlab/ci/config/entry/rules/rule_spec.rb1537spec/services/protected_tags/destroy_service_spec.rb1538spec/tasks/gitlab/gitaly_rake_spec.rb1539spec/lib/gitlab/github_import_spec.rb1540spec/initializers/doorkeeper_spec.rb1541spec/lib/gitlab/regex_spec.rb1542spec/services/emails/destroy_service_spec.rb1543spec/lib/gitlab/dependency_linker/composer_json_linker_spec.rb1544spec/rubocop/cop/migration/add_limit_to_string_columns_spec.rb1545spec/helpers/dashboard_helper_spec.rb1546spec/helpers/preferences_helper_spec.rb1547spec/presenters/event_presenter_spec.rb1548spec/lib/gitlab/github_import/representation/pull_request_spec.rb1549spec/models/project_snippet_spec.rb1550spec/helpers/icons_helper_spec.rb1551spec/views/admin/sessions/new.html.haml_spec.rb1552spec/lib/gitlab/dependency_linker/gemfile_linker_spec.rb1553spec/graphql/resolvers/merge_requests_resolver_spec.rb1554spec/lib/gitlab/language_detection_spec.rb1555spec/lib/rspec_flaky/flaky_example_spec.rb1556spec/lib/gitlab/slash_commands/application_help_spec.rb1557spec/lib/gitlab/ci/config/extendable/entry_spec.rb1558spec/lib/gitlab/downtime_check_spec.rb1559spec/lib/gitlab/ci/config/entry/key_spec.rb1560spec/helpers/pagination_helper_spec.rb1561spec/workers/mail_scheduler/notification_service_worker_spec.rb1562spec/lib/banzai/filter/spaced_link_filter_spec.rb1563spec/lib/gitlab/ci/config/entry/image_spec.rb1564spec/serializers/test_reports_comparer_serializer_spec.rb1565spec/lib/gitlab/dependency_linker/requirements_txt_linker_spec.rb1566spec/lib/gitlab/file_markdown_link_builder_spec.rb1567spec/lib/gitlab/external_authorization/cache_spec.rb1568spec/models/postgresql/replication_slot_spec.rb1569spec/lib/gitlab/hook_data/base_builder_spec.rb1570spec/views/errors/access_denied.html.haml_spec.rb1571spec/lib/gitlab/config/entry/undefined_spec.rb1572spec/tasks/gitlab/db_rake_spec.rb1573spec/lib/gitlab/ci/config/normalizer_spec.rb1574spec/lib/api/helpers/related_resources_helpers_spec.rb1575spec/lib/rspec_flaky/example_spec.rb1576spec/workers/cluster_wait_for_ingress_ip_address_worker_spec.rb1577spec/rubocop/cop/migration/remove_column_spec.rb1578spec/lib/gitlab/query_limiting_spec.rb1579spec/lib/gitlab/middleware/basic_health_check_spec.rb1580spec/lib/gitlab/issuables_count_for_state_spec.rb1581spec/lib/gitlab/ci/config/entry/artifacts_spec.rb1582spec/services/zoom_notes_service_spec.rb1583spec/serializers/project_serializer_spec.rb1584spec/lib/gitlab/metrics/system_spec.rb1585spec/lib/gitlab/ci/pipeline/expression/lexeme/variable_spec.rb1586spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_merged_spec.rb1587spec/lib/bitbucket/connection_spec.rb1588spec/lib/gitlab/usage_data_counters/search_counter_spec.rb1589spec/lib/gitlab/kubernetes/service_account_token_spec.rb1590spec/lib/gitlab/graphql/find_argument_in_parent_spec.rb1591spec/lib/gitlab/sherlock/line_sample_spec.rb1592spec/lib/gitlab/email/handler_spec.rb1593spec/graphql/types/repository_type_spec.rb1594spec/lib/gitlab/config/entry/unspecified_spec.rb1595spec/lib/gitlab/string_range_marker_spec.rbKnapsack report generator started!1596Run options:1597 include {:focus=>true}1598 exclude {:quarantine=>true, :geo=>true}1599All examples were filtered out; ignoring {:focus=>true}1600==> Setting up GitLab Shell...1601 GitLab Shell set up in 0.061328745 seconds...1602==> Setting up Gitaly...1603 Gitaly set up in 0.000165024 seconds...1604Ci::CreatePipelineService1605 #execute1606 skips creating pipeline for refs without .gitlab-ci.yml1607 valid params1608 creates a pipeline1609 increments the prometheus counter1610 when merge requests already exist for this source branch1611 when related merge request is already merged1612 does not schedule update head pipeline job1613 when the head pipeline sha equals merge request sha1614 updates head pipeline of each merge request1615 when the head pipeline sha does not equal merge request sha1616 does not update the head piepeline of MRs1617 when there is no pipeline for source branch1618 does not update merge request head pipeline1619 when merge request target project is different from source project1620 updates head pipeline for merge request1621 when the pipeline is not the latest for the branch1622 does not update merge request head pipeline1623 when pipeline has errors1624 updates merge request head pipeline reference1625 when pipeline has been skipped1626 updates merge request head pipeline1627 auto-cancel enabled1628 does not cancel HEAD pipeline16292019-10-15T08:41:20.253Z 177 TID-gni4q9qsd WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>49}16302019-10-15T08:41:20.462Z 177 TID-gni4q9qsd WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>50}16312019-10-15T08:41:20.562Z 177 TID-gni4q9qsd WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>51}16322019-10-15T08:41:20.664Z 177 TID-gni4q9qsd WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>52}16332019-10-15T08:41:20.760Z 177 TID-gni4q9qsd WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>53}1634 auto cancel pending non-HEAD pipelines16352019-10-15T08:41:22.243Z 177 TID-gni4q9qsd WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>59}16362019-10-15T08:41:22.461Z 177 TID-gni4q9qsd WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>60}16372019-10-15T08:41:22.572Z 177 TID-gni4q9qsd WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>61}16382019-10-15T08:41:22.682Z 177 TID-gni4q9qsd WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>62}16392019-10-15T08:41:22.790Z 177 TID-gni4q9qsd WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>63}1640 cancels running outdated pipelines16412019-10-15T08:41:24.330Z 177 TID-gni4q9qsd WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>69}16422019-10-15T08:41:24.569Z 177 TID-gni4q9qsd WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>70}16432019-10-15T08:41:24.677Z 177 TID-gni4q9qsd WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>71}16442019-10-15T08:41:24.788Z 177 TID-gni4q9qsd WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>72}16452019-10-15T08:41:24.896Z 177 TID-gni4q9qsd WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>73}1646 cancel created outdated pipelines1647 does not cancel pipelines from the other branches1648 when the interruptible attribute is1649 not defined1650 is cancelable1651 set to true1652 is cancelable1653 set to false1654 is not cancelable1655 interruptible builds1656 properly configures interruptible status1657 when only interruptible builds are running1658 when build marked explicitly by interruptible is running16592019-10-15T08:41:29.455Z 177 TID-gni4q9qsd WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>96}16602019-10-15T08:41:29.752Z 177 TID-gni4q9qsd WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>97}16612019-10-15T08:41:29.848Z 177 TID-gni4q9qsd WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>98}16622019-10-15T08:41:29.948Z 177 TID-gni4q9qsd WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>99}16632019-10-15T08:41:30.051Z 177 TID-gni4q9qsd WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>100}1664 cancels running outdated pipelines1665 when build that is not marked as interruptible is running16662019-10-15T08:41:31.468Z 177 TID-gni4q9qsd WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>106}16672019-10-15T08:41:31.671Z 177 TID-gni4q9qsd WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>107}16682019-10-15T08:41:31.769Z 177 TID-gni4q9qsd WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>108}16692019-10-15T08:41:31.866Z 177 TID-gni4q9qsd WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>109}16702019-10-15T08:41:31.963Z 177 TID-gni4q9qsd WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>110}1671 cancels running outdated pipelines1672 when an uninterruptible build is running1673 does not cancel running outdated pipelines1674 when an build is waiting on an interruptible scheduled task16752019-10-15T08:41:34.682Z 177 TID-gni4q9qsd WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>126}16762019-10-15T08:41:34.883Z 177 TID-gni4q9qsd WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>127}16772019-10-15T08:41:34.989Z 177 TID-gni4q9qsd WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>128}16782019-10-15T08:41:35.094Z 177 TID-gni4q9qsd WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>129}16792019-10-15T08:41:35.197Z 177 TID-gni4q9qsd WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>130}1680 cancels running outdated pipelines1681 when a uninterruptible build has finished16822019-10-15T08:41:36.179Z 177 TID-gni4q9qsd WARN: {:class=>"ArchiveTraceWorker", :message=>"The job does not have live trace but going to be archived.", :job_id=>139}1683 does not cancel running outdated pipelines1684 auto-cancel disabled1685 does not auto cancel pending non-HEAD pipelines1686 skip tag if there is no build for it1687 creates commit if there is appropriate job1688 creates commit if there is no appropriate job but deploy job has right ref setting1689 when yaml is invalid1690 behaves like a failed pipeline1691 creates failed pipeline1692 when receive git commit1693 behaves like a failed pipeline1694 creates failed pipeline1695 when config has ports1696 in the main image1697 behaves like a failed pipeline1698 creates failed pipeline1699 in the job image1700 behaves like a failed pipeline1701 creates failed pipeline1702 in the service1703 behaves like a failed pipeline1704 creates failed pipeline1705 when commit contains a [ci skip] directive1706 skips builds creation if the commit message is some message[ci skip]1707 skips builds creation if the commit message is some message[skip ci]1708 skips builds creation if the commit message is some message[CI SKIP]1709 skips builds creation if the commit message is some message[SKIP CI]1710 skips builds creation if the commit message is some message[ci_skip]1711 skips builds creation if the commit message is some message[skip_ci]1712 skips builds creation if the commit message is some message[ci-skip]1713 skips builds creation if the commit message is some message[skip-ci]1714 when commit message does not contain [ci skip] nor [skip ci]1715 behaves like creating a pipeline1716 does not skip pipeline creation1717 when commit message is nil1718 behaves like creating a pipeline1719 does not skip pipeline creation1720 when there is [ci skip] tag in commit message and yaml is invalid1721 behaves like a failed pipeline1722 creates failed pipeline1723 when push options contain ci.skip1724 creates a pipline in the skipped state1725 when there are no jobs for this pipeline1726 does not create a new pipeline1727 #iid1728 when ci_pipeline_rewind_iid is enabled1729 rewinds iid1730 when ci_pipeline_rewind_iid is disabled1731 does not rewind iid1732 with manual actions1733 does not create a new pipeline1734 with environment1735 creates the environment with tags1736 with environment name including persisted variables1737 skipps persisted variables in environment name1738 when environment with invalid name1739 does not create an environment1740 when builds with auto-retries are configured1741 as an integer1742 correctly creates builds with auto-retry value configured1743 as hash1744 correctly creates builds with auto-retry value configured1745 with timeout1746 when builds with custom timeouts are configured1747 correctly creates builds with custom timeout value configured1748 when ref is a protected branch1749 behaves like when ref is protected1750 when user is developer1751 does not create a pipeline1752 when user is maintainer1753 creates a protected pipeline1754 when trigger belongs to no one1755 does not create a pipeline1756 when trigger belongs to a developer1757 does not create a pipeline1758 when trigger belongs to a maintainer1759 creates a pipeline1760 when ref is a protected tag1761 behaves like when ref is protected1762 when user is developer1763 does not create a pipeline1764 when user is maintainer1765 creates a protected pipeline1766 when trigger belongs to no one1767 does not create a pipeline1768 when trigger belongs to a developer1769 does not create a pipeline1770 when trigger belongs to a maintainer1771 creates a pipeline1772 when ref is not protected1773 when trigger belongs to no one1774 creates an unprotected pipeline1775 when pipeline is running for a tag1776 creates a tagged pipeline1777 when pipeline variables are specified1778 creates a pipeline with specified variables1779 when pipeline has a job with environment1780 when environment name is valid1781 has a job with environment1782 when environment name is invalid1783 has a job without environment1784 Pipeline for external pull requests1785 when source is external pull request1786 when config has external_pull_requests keywords1787 when external pull request is specified1788 creates an external pull request pipeline1789 when ref is tag1790 does not create an extrnal pull request pipeline1791 when pull request is created from fork1792 does not create an external pull request pipeline (PENDING: Not yet implemented)1793 when there are no matched jobs1794 does not create a detached merge request pipeline1795 when external pull request is not specified1796 does not create an external pull request pipeline1797 when config does not have external_pull_requests keywords1798 when external pull request is specified1799 creates an external pull request pipeline1800 when external pull request is not specified1801 does not create an external pull request pipeline1802 Pipelines for merge requests1803 when source is merge request1804 when config has merge_requests keywords1805 when merge request is specified1806 creates a detached merge request pipeline1807 persists the specified source sha1808 does not persist target sha for detached merge request pipeline1809 schedules update for the head pipeline of the merge request1810 when target sha is specified1811 persists the target sha1812 when ref is tag1813 does not create a merge request pipeline1814 when merge request is created from a forked project1815 creates a legacy detached merge request pipeline in the forked project1816 when there are no matched jobs1817 does not create a detached merge request pipeline1818 when merge request is not specified1819 does not create a detached merge request pipeline1820 when config does not have merge_requests keywords1821 when merge request is specified1822 does not create a detached merge request pipeline1823 when merge request is not specified1824 does not create a detached merge request pipeline1825 when config uses regular expression for only keyword1826 when merge request is specified1827 does not create a detached merge request pipeline1828 when config uses variables for only keyword1829 when merge request is specified1830 does not create a detached merge request pipeline1831 when config has 'except: [tags]'1832 when merge request is specified1833 does not create a detached merge request pipeline1834 when source is web1835 when config has merge_requests keywords1836 when merge request is specified1837 does not create a merge request pipeline1838 when merge request is not specified1839 creates a branch pipeline1840 when needs is used1841 when pipeline on master is created1842 creates a pipeline with build_a and test_a1843 when pipeline on feature is created1844 when save_on_errors is enabled1845 does create a pipeline as test_a depends on build_a1846 when save_on_errors is disabled1847 does not create a pipeline as test_a depends on build_a1848 when pipeline on v1.0.0 is created1849 does create a pipeline only with deploy1850 when rules are used1851 with simple if: clauses1852 with matches1853 creates a pipeline with the vanilla and manual jobs1854 assigns job:when values to the builds1855 assigns start_in for delayed jobs1856 with no matches1857 behaves like rules jobs are excluded1858 only persists the job without rules1859 with complex if: clauses1860 matches the first rule1861 with changes:1862 and matches1863 creates two jobs1864 sets when: for all jobs1865 and matches the second rule1866 includes both jobs1867 sets when: for the created rules job based on the second clause1868 and does not match1869 sets when: for the created job1870 behaves like rules jobs are excluded1871 only persists the job without rules1872 with mixed if: and changes: rules1873 and changes: matches before if1874 creates two jobs1875 sets when: for all jobs1876 and if: matches after changes1877 includes both jobs1878 sets when: for the created rules job based on the second clause1879 and does not match1880 sets when: for the created job1881 behaves like rules jobs are excluded1882 only persists the job without rules1883 with mixed if: and changes: clauses1884 with if matches and changes matches1885 persists all jobs1886 with if matches and no change matches1887 behaves like rules jobs are excluded1888 only persists the job without rules1889 with change matches and no if matches1890 behaves like rules jobs are excluded1891 only persists the job without rules1892 and no matches1893 behaves like rules jobs are excluded1894 only persists the job without rules1895 #execute!1896 when user has a permission to create a pipeline1897 does not raise an error1898 creates a pipeline1899 when user does not have a permission to create a pipeline1900 raises an error1901 when a user with permissions has been blocked1902 raises an error1903ProjectPolicy1904 does not include the read_issue permission when the issue author is not a member of the private project1905 with no project feature1906 returns false1907 wiki feature1908 when the feature is disabled1909 does not include the wiki permissions1910 when there is an external wiki1911 does not include the wiki permissions1912 read_wiki1913 Situations where :read_wiki is always false1914 project is Private, wiki is disabled, user is anonymous1915 should be disallowed :read_wiki1916 project is Private, wiki is disabled, user is non_member1917 should be disallowed :read_wiki1918 project is Private, wiki is disabled, user is guest1919 should be disallowed :read_wiki1920 project is Private, wiki is disabled, user is developer1921 should be disallowed :read_wiki1922 project is Internal, wiki is disabled, user is anonymous1923 should be disallowed :read_wiki1924 project is Internal, wiki is disabled, user is non_member1925 should be disallowed :read_wiki1926 project is Internal, wiki is disabled, user is guest1927 should be disallowed :read_wiki1928 project is Internal, wiki is disabled, user is developer1929 should be disallowed :read_wiki1930 project is Public, wiki is disabled, user is anonymous1931 should be disallowed :read_wiki1932 project is Public, wiki is disabled, user is non_member1933 should be disallowed :read_wiki1934 project is Public, wiki is disabled, user is guest1935 should be disallowed :read_wiki1936 project is Public, wiki is disabled, user is developer1937 should be disallowed :read_wiki1938 Situations where :read_wiki is always true1939 project is Public, wiki is enabled, user is anonymous1940 should be allowed :read_wiki1941 project is Public, wiki is enabled, user is non_member1942 should be allowed :read_wiki1943 project is Public, wiki is enabled, user is guest1944 should be allowed :read_wiki1945 project is Public, wiki is enabled, user is developer1946 should be allowed :read_wiki1947 Situations where :read_wiki requires project membership1948 the wiki is private, and the user is a member1949 project is Public, wiki is private, user is guest1950 should be allowed :read_wiki1951 project is Public, wiki is private, user is developer1952 should be allowed :read_wiki1953 project is Internal, wiki is private, user is guest1954 should be allowed :read_wiki1955 project is Internal, wiki is private, user is developer1956 should be allowed :read_wiki1957 the wiki is private, and the user is not member1958 project is Public, wiki is private, user is anonymous1959 should be disallowed :read_wiki1960 project is Public, wiki is private, user is non_member1961 should be disallowed :read_wiki1962 project is Internal, wiki is private, user is anonymous1963 should be disallowed :read_wiki1964 project is Internal, wiki is private, user is non_member1965 should be disallowed :read_wiki1966 the wiki is enabled, and the user is a member1967 project is Private, wiki is enabled, user is guest1968 should be allowed :read_wiki1969 project is Private, wiki is enabled, user is developer1970 should be allowed :read_wiki1971 the wiki is enabled, and the user is not a member1972 project is Private, wiki is enabled, user is anonymous1973 should be disallowed :read_wiki1974 project is Private, wiki is enabled, user is non_member1975 should be disallowed :read_wiki1976 Situations where :read_wiki prohibits anonymous access1977 the user is not anonymous1978 project is Internal, wiki is enabled, user is non_member1979 should be allowed :read_wiki1980 project is Internal, wiki is enabled, user is guest1981 should be allowed :read_wiki1982 project is Internal, wiki is enabled, user is developer1983 should be allowed :read_wiki1984 project is Internal, wiki is public, user is non_member1985 should be allowed :read_wiki1986 project is Internal, wiki is public, user is guest1987 should be allowed :read_wiki1988 project is Internal, wiki is public, user is developer1989 should be allowed :read_wiki1990 the user is not anonymous1991 project is Internal, wiki is enabled, user is anonymous1992 should be disallowed :read_wiki1993 project is Internal, wiki is public, user is anonymous1994 should be disallowed :read_wiki1995 issues feature1996 when the feature is disabled1997 does not include the issues permissions1998 disables boards and lists permissions1999 when external tracker configured2000 does not include the issues permissions2001 merge requests feature2002 disallows all permissions when the feature is disabled2003 for a guest in a private project2004 disallows the guest from reading the merge request and merge request iid2005 builds feature2006 when builds are disabled2007 disallows all permissions except pipeline when the feature is disabled2008 when builds are disabled only for some users2009 disallows pipeline and commit_status permissions2010 repository feature2011 disallows all permissions when the feature is disabled2012 behaves like project policies as anonymous2013 abilities for public projects2014 when a project has pending invites2015 does not grant owner access2016 behaves like archived project policies2017 when the project is archived2018 disables write actions on all relevant project features2019 disables some other important write actions2020 does not disable other abilities2021 abilities for non-public projects2022 should be banned2023 behaves like project policies as guest2024 abilities for non-public projects2025 should not be allowed :set_note_created_at2026 behaves like archived project policies2027 when the project is archived2028 disables write actions on all relevant project features2029 disables some other important write actions2030 does not disable other abilities2031 public builds enabled2032 should be allowed :read_pipeline2033 when public builds disabled2034 should not be allowed :read_pipeline2035 when builds are disabled2036 should be allowed :read_pipeline2037 behaves like project policies as reporter2038 abilities for non-public projects2039 should not be allowed :set_note_created_at2040 behaves like archived project policies2041 when the project is archived2042 disables write actions on all relevant project features2043 disables some other important write actions2044 does not disable other abilities2045 behaves like project policies as developer2046 abilities for non-public projects2047 should not be allowed :set_note_created_at2048 behaves like archived project policies2049 when the project is archived2050 disables write actions on all relevant project features2051 disables some other important write actions2052 does not disable other abilities2053 behaves like project policies as maintainer2054 abilities for non-public projects2055 should not be allowed :set_note_created_at2056 behaves like archived project policies2057 when the project is archived2058 disables write actions on all relevant project features2059 disables some other important write actions2060 does not disable other abilities2061 behaves like project policies as owner2062 abilities for non-public projects2063 should be allowed :set_note_created_at2064 behaves like archived project policies2065 when the project is archived2066 disables write actions on all relevant project features2067 disables some other important write actions2068 does not disable other abilities2069 behaves like project policies as admin2070 abilities for non-public projects2071 should be allowed :set_note_created_at2072 behaves like archived project policies2073 when the project is archived2074 disables write actions on all relevant project features2075 disables some other important write actions2076 does not disable other abilities2077 when a public project has merge requests allowing access2078 does not allow pushing code2079 allows pushing if the user is a member with push access to the target project2080 dissallows abilities to a maintainer if the merge request was closed2081 behaves like clusterable policies2082 #add_cluster?2083 with a developer2084 should not be allowed :read_cluster2085 should not be allowed :add_cluster2086 should not be allowed :create_cluster2087 should not be allowed :update_cluster2088 should not be allowed :admin_cluster2089 with a maintainer2090 with no clusters2091 should be allowed :read_cluster2092 should be allowed :add_cluster2093 should be allowed :create_cluster2094 should be allowed :update_cluster2095 should be allowed :admin_cluster2096 reading a project2097 allows access when a user has read access to the repo2098 never checks the external service2099 with an external authorization service2100 allows access when the external service allows it2101 does not check the external service for admins and allows access2102 prevents all but seeing a public project in a list when access is denied2103 passes the full path to external authorization for logging purposes2104 update_max_artifacts_size2105 when no user2106 should not be allowed :update_max_artifacts_size2107 admin2108 should be allowed :update_max_artifacts_size2109 guest2110 should not be allowed :update_max_artifacts_size2111 reporter2112 should not be allowed :update_max_artifacts_size2113 developer2114 should not be allowed :update_max_artifacts_size2115 maintainer2116 should not be allowed :update_max_artifacts_size2117 owner2118 should not be allowed :update_max_artifacts_size2119GpgSignature2120 behaves like having unique enum values2121 has unique values in "verification_status"2122 associations2123 should belong to project required:2124 should belong to gpg_key required:2125 should belong to gpg_key_subkey required:2126 validation2127 should validate that :commit_sha cannot be empty/falsy2128 should validate that :project_id cannot be empty/falsy2129 should validate that :gpg_key_primary_keyid cannot be empty/falsy2130 .safe_create!2131 finds a signature by commit sha if it existed2132 creates a new signature if it was not found2133 assigns the correct attributes when creating2134 does not raise an error in case of a race condition2135 #commit2136 fetches the commit through the project2137 #gpg_key=2138 supports the assignment of a GpgKey2139 supports the assignment of a GpgKeySubkey2140 clears gpg_key and gpg_key_subkey_id when passing nil2141 #gpg_commit2142 when commit does not exist2143 returns nil2144 when commit exists2145 returns an instance of Gitlab::Gpg::Commit2146Users::MigrateToGhostUserService2147 migrating a user's associated records to the ghost user2148 issues2149 deleted user is present as both author and edited_user2150 for a issue the user has created2151 does not delete the issue2152 blocks the user before migrating issues to the 'Ghost User'2153 migrates all associated fields to te "Ghost user"2154 race conditions2155 blocks the user before issue migration begins2156 when issue migration fails and is rolled back2157 rolls back the user block2158 doesn't unblock an previously-blocked user2159 when issue migration fails with a non-rollback exception2160 rolls back the user block2161 doesn't unblock an previously-blocked user2162 deleted user is present only as edited_user2163 for a issue the user has created2164 does not delete the issue2165 blocks the user before migrating issues to the 'Ghost User'2166 migrates all associated fields to te "Ghost user"2167 race conditions2168 blocks the user before issue migration begins2169 when issue migration fails and is rolled back2170 rolls back the user block2171 doesn't unblock an previously-blocked user2172 when issue migration fails with a non-rollback exception2173 rolls back the user block2174 doesn't unblock an previously-blocked user2175 merge requests2176 deleted user is present as both author and merge_user2177 for a merge request the user has created2178 does not delete the merge request2179 blocks the user before migrating merge requests to the 'Ghost User'2180 migrates all associated fields to te "Ghost user"2181 race conditions2182 blocks the user before merge request migration begins2183 when merge request migration fails and is rolled back2184 rolls back the user block2185 doesn't unblock an previously-blocked user2186 when merge request migration fails with a non-rollback exception2187 rolls back the user block2188 doesn't unblock an previously-blocked user2189 deleted user is present only as both merge_user2190 for a merge request the user has created2191 does not delete the merge request2192 blocks the user before migrating merge requests to the 'Ghost User'2193 migrates all associated fields to te "Ghost user"2194 race conditions2195 blocks the user before merge request migration begins2196 when merge request migration fails and is rolled back2197 rolls back the user block2198 doesn't unblock an previously-blocked user2199 when merge request migration fails with a non-rollback exception2200 rolls back the user block2201 doesn't unblock an previously-blocked user2202 notes2203 for a note the user has created2204 does not delete the note2205 blocks the user before migrating notes to the 'Ghost User'2206 migrates all associated fields to te "Ghost user"2207 race conditions2208 blocks the user before note migration begins2209 when note migration fails and is rolled back2210 rolls back the user block2211 doesn't unblock an previously-blocked user2212 when note migration fails with a non-rollback exception2213 rolls back the user block2214 doesn't unblock an previously-blocked user2215 abuse reports2216 for a abuse report the user has created2217 does not delete the abuse report2218 blocks the user before migrating abuse reports to the 'Ghost User'2219 migrates all associated fields to te "Ghost user"2220 race conditions2221 blocks the user before abuse report migration begins2222 when abuse report migration fails and is rolled back2223 rolls back the user block2224 doesn't unblock an previously-blocked user2225 when abuse report migration fails with a non-rollback exception2226 rolls back the user block2227 doesn't unblock an previously-blocked user2228 award emoji2229 for a award emoji the user has created2230 does not delete the award emoji2231 blocks the user before migrating award emojis to the 'Ghost User'2232 migrates all associated fields to te "Ghost user"2233 race conditions2234 blocks the user before award emoji migration begins2235 when award emoji migration fails and is rolled back2236 rolls back the user block2237 doesn't unblock an previously-blocked user2238 when award emoji migration fails with a non-rollback exception2239 rolls back the user block2240 doesn't unblock an previously-blocked user2241 when the awardable already has an award emoji of the same name assigned to the ghost user2242 migrates the award emoji regardless2243 does not leave the migrated award emoji in an invalid state2244 when record migration fails with a rollback exception2245 for records that were already migrated2246 reverses the migration2247Banzai::Filter::RelativeLinkFilter2248 does not trigger a gitaly n+12249 does not raise an exception on invalid URIs2250 does not raise an exception with a garbled path2251 does not explode with an escaped null byte2252 does not raise an exception with a space in the path2253 ignores ref if commit is passed2254 with a project_wiki2255 does not modify any relative URL in anchor2256 does not modify any relative URL in image2257 does not modify any relative URL in video2258 does not modify any relative URL in audio2259 without a repository2260 does not modify any relative URL in anchor2261 does not modify any relative URL in image2262 does not modify any relative URL in video2263 does not modify any relative URL in audio2264 with an empty repository2265 does not modify any relative URL in anchor2266 does not modify any relative URL in image2267 does not modify any relative URL in video2268 does not modify any relative URL in audio2269 without project repository access2270 does not modify any relative URL in anchor2271 does not modify any relative URL in image2272 does not modify any relative URL in video2273 does not modify any relative URL in audio2274 with a valid commit2275 rebuilds absolute URL for a file in the repo2276 does not modify relative URLs in system notes2277 ignores absolute URLs with two leading slashes2278 rebuilds relative URL for a file in the repo2279 rebuilds relative URL for a file in the repo with leading ./2280 rebuilds relative URL for a file in the repo up one directory2281 rebuilds relative URL for a file in the repo up multiple directories2282 rebuilds relative URL for a file in the repository root2283 rebuilds relative URL for a file in the repo with an anchor2284 rebuilds relative URL for a directory in the repo2285 rebuilds relative URL for an image in the repo2286 rebuilds relative URL for link to an image in the repo2287 rebuilds relative URL for a video in the repo2288 rebuilds relative URL for audio in the repo2289 does not modify relative URL with an anchor only2290 does not modify absolute URL2291 does not call gitaly2292 supports Unicode filenames2293 when requested path is a file in the repo2294 rebuilds URL relative to the containing directory2295 when requested path is a directory in the repo2296 rebuilds URL relative to the directory2297 when ref name contains percent sign2298 correctly escapes the ref2299 when ref name contains special chars2300 correctly escapes the ref2301 when requested path is a directory with space in the repo2302 does not escape the space twice2303 with a valid ref2304 rebuilds absolute URL for a file in the repo2305 does not modify relative URLs in system notes2306 ignores absolute URLs with two leading slashes2307 rebuilds relative URL for a file in the repo2308 rebuilds relative URL for a file in the repo with leading ./2309 rebuilds relative URL for a file in the repo up one directory2310 rebuilds relative URL for a file in the repo up multiple directories2311 rebuilds relative URL for a file in the repository root2312 rebuilds relative URL for a file in the repo with an anchor2313 rebuilds relative URL for a directory in the repo2314 rebuilds relative URL for an image in the repo2315 rebuilds relative URL for link to an image in the repo2316 rebuilds relative URL for a video in the repo2317 rebuilds relative URL for audio in the repo2318 does not modify relative URL with an anchor only2319 does not modify absolute URL2320 does not call gitaly2321 supports Unicode filenames2322 when requested path is a file in the repo2323 rebuilds URL relative to the containing directory2324 when requested path is a directory in the repo2325 rebuilds URL relative to the directory2326 when ref name contains percent sign2327 correctly escapes the ref2328 when ref name contains special chars2329 correctly escapes the ref2330 when requested path is a directory with space in the repo2331 does not escape the space twice2332 with a /upload/ URL2333 to a project upload2334 without project repository access2335 behaves like rewrite project uploads2336 rebuilds relative URL for a link2337 rebuilds relative URL for an image2338 does not modify absolute URL2339 supports unescaped Unicode filenames2340 supports escaped Unicode filenames2341 with an absolute URL2342 rewrites the link correctly2343 with project repository access2344 behaves like rewrite project uploads2345 rebuilds relative URL for a link2346 rebuilds relative URL for an image2347 does not modify absolute URL2348 supports unescaped Unicode filenames2349 supports escaped Unicode filenames2350 with an absolute URL2351 rewrites the link correctly2352 to a group upload2353 rewrites the link correctly2354 rewrites the link correctly for subgroup2355 does not modify absolute URL2356 with an absolute URL2357 rewrites the link correctly2358 to a personal snippet2359 rewrites the link correctly2360 does not modify absolute URL2361 with an absolute URL2362 rewrites the link correctly2363 with a relative URL root2364 rewrites the link correctly2365 with an absolute URL2366 rewrites the link correctly2367Gitlab::Git::Repository2368 Respond to2369 should respond to #root_ref2370 should respond to #tags2371 #root_ref2372 returns UTF-82373 gets the branch name from GitalyClient2374 behaves like wrapping gRPC errors2375 wraps gRPC not found error2376 wraps gRPC unknown error2377 #create_repository2378 behaves like wrapping gRPC errors2379 wraps gRPC not found error2380 wraps gRPC unknown error2381 #branch_names2382 has SeedRepo::Repo::BRANCHES.size elements2383 returns UTF-82384 should include "master"2385 should not include "branch-from-space"2386 gets the branch names from GitalyClient2387 behaves like wrapping gRPC errors2388 wraps gRPC not found error2389 wraps gRPC unknown error2390 #tag_names2391 should be a kind of Array2392 has SeedRepo::Repo::TAGS.size elements2393 returns UTF-82394 should include "v1.0.0"2395 should not include "v5.0.0"2396 gets the tag names from GitalyClient2397 #last2398 should eq "v1.2.1"2399 behaves like wrapping gRPC errors2400 wraps gRPC not found error2401 wraps gRPC unknown error2402 #archive_metadata2403 sets CommitId to the commit SHA2404 sets ArchivePrefix to the expected prefix2405 sets ArchivePath to the expected globally-unique path2406 path is set2407 appends the path to the prefix2408 append_sha varies archive path and filename2409 append_sha: true, ref: "master", expected_prefix: "gitlab-git-test-master-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6"2410 should eq "gitlab-git-test-master-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6"2411 should eq "/tmp/4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6/gitlab-git-test-master-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6.tar.gz"2412 append_sha: true, ref: "4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6", expected_prefix: "gitlab-git-test-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6"2413 should eq "gitlab-git-test-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6"2414 should eq "/tmp/4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6/gitlab-git-test-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6.tar.gz"2415 append_sha: false, ref: "master", expected_prefix: "gitlab-git-test-master"2416 should eq "gitlab-git-test-master"2417 should eq "/tmp/4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6/gitlab-git-test-master.tar.gz"2418 append_sha: false, ref: "4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6", expected_prefix: "gitlab-git-test-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6"2419 should eq "gitlab-git-test-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6"2420 should eq "/tmp/4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6/gitlab-git-test-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6.tar.gz"2421 append_sha: nil, ref: "master", expected_prefix: "gitlab-git-test-master-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6"2422 should eq "gitlab-git-test-master-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6"2423 should eq "/tmp/4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6/gitlab-git-test-master-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6.tar.gz"2424 append_sha: nil, ref: "4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6", expected_prefix: "gitlab-git-test-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6"2425 should eq "gitlab-git-test-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6"2426 should eq "/tmp/4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6/gitlab-git-test-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6.tar.gz"2427 format varies archive path and filename2428 format: nil, expected_extension: "tar.gz"2429 should eq "gitlab-git-test-master-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6"2430 should eq "/tmp/4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6/gitlab-git-test-master-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6.tar.gz"2431 format: "madeup", expected_extension: "tar.gz"2432 should eq "gitlab-git-test-master-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6"2433 should eq "/tmp/4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6/gitlab-git-test-master-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6.tar.gz"2434 format: "tbz2", expected_extension: "tar.bz2"2435 should eq "gitlab-git-test-master-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6"2436 should eq "/tmp/4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6/gitlab-git-test-master-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6.tar.bz2"2437 format: "zip", expected_extension: "zip"2438 should eq "gitlab-git-test-master-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6"2439 should eq "/tmp/4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6/gitlab-git-test-master-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6.zip"2440 #size2441 should be < 22442 #to_s2443 should eq "<Gitlab::Git::Repository: group/project>"2444 #object_directory_size2445 should eq 20482446 #empty?2447 should not be empty2448 #ref_names2449 should be a kind of Array2450 #first2451 should eq "feature"2452 #last2453 should eq "v1.2.1"2454 #submodule_url_for2455 should eq "git://github.com/randx/six.git"2456 should eq "git://github.com/randx/six.git"2457 should eq "git://github.com/randx/six.git"2458 should eq nil2459 uncommitted submodule dir2460 should eq nil2461 tags2462 should eq "git://github.com/randx/six.git"2463 no .gitmodules at commit2464 should eq nil2465 no gitlink entry2466 should eq nil2467 #submodule_urls_for2468 returns url mappings for submodules2469 #commit_count2470 should eq 252471 should eq 92472 should eq 02473 behaves like wrapping gRPC errors2474 wraps gRPC not found error2475 wraps gRPC unknown error2476 #diverging_commit_count2477 counts 0 for the same branch2478 max count does not truncate results2479 left: 1, right: 1, expected: [1, 1]2480 returns the correct count bounding at max_count2481 left: 4, right: 4, expected: [4, 4]2482 returns the correct count bounding at max_count2483 left: 2, right: 2, expected: [2, 2]2484 returns the correct count bounding at max_count2485 left: 2, right: 4, expected: [2, 4]2486 returns the correct count bounding at max_count2487 left: 4, right: 2, expected: [4, 2]2488 returns the correct count bounding at max_count2489 left: 10, right: 10, expected: [10, 10]2490 returns the correct count bounding at max_count2491 max count truncates results2492 left: 1, right: 1, max_count: 12493 returns the correct count bounding at max_count2494 left: 4, right: 4, max_count: 42495 returns the correct count bounding at max_count2496 left: 2, right: 2, max_count: 32497 returns the correct count bounding at max_count2498 left: 2, right: 4, max_count: 32499 returns the correct count bounding at max_count2500 left: 4, right: 2, max_count: 52501 returns the correct count bounding at max_count2502 left: 10, right: 10, max_count: 102503 returns the correct count bounding at max_count2504 behaves like wrapping gRPC errors2505 wraps gRPC not found error2506 wraps gRPC unknown error2507 #has_local_branches?2508 check for local branches2509 should eq true2510 mutable2511 returns false when there are no branches2512 memoizes the value2513 returns true2514 #delete_branch2515 removes the branch from the repo2516 when branch does not exist2517 raises a DeleteBranchError exception2518 #create_branch2519 creates a new branch2520 creates a new branch with the right name2521 fails if we create an existing branch2522 fails if we create a branch from a non existing ref2523 #delete_refs2524 deletes the ref2525 deletes all refs2526 does not fail when deleting an empty list of refs2527 raises an error if it failed2528 #branch_names_contains_sha2529 displays that branch2530 #refs_hash2531 has as many entries as branches and tags2532 has valid commit ids as keys2533 does not error when dereferenced_target is nil2534 #fetch_repository_as_mirror2535 fetches a repository as a mirror remote2536 with keep-around refs2537 includes the temporary and keep-around refs2538 #fetch_remote2539 delegates to the gitaly RepositoryService2540 behaves like wrapping gRPC errors2541 wraps gRPC not found error2542 wraps gRPC unknown error2543 #search_files_by_content2544 it should behave like search files by content2545 has 2 items2546 has the correct matching line2547 #find_remote_root_ref2548 gets the remote root ref from GitalyClient2549 returns UTF-82550 returns nil when remote name is nil2551 returns nil when remote name is empty2552 behaves like wrapping gRPC errors2553 wraps gRPC not found error2554 wraps gRPC unknown error2555 #log2556 when Gitaly find_commits feature is enabled2557 behaves like repository log2558 where 'follow' == true2559 and 'path' is a directory2560 does not follow renames2561 and 'path' is a file that matches the new filename2562 without offset2563 follows renames2564 with offset=12565 follows renames and skip the latest commit2566 with offset=1 and limit=12567 follows renames, skip the latest commit and return only one commit2568 with offset=1 and limit=22569 follows renames, skip the latest commit and return only two commits2570 with offset=22571 follows renames and skip the latest commit2572 with offset=2 and limit=12573 follows renames, skip the two latest commit and return only one commit2574 with offset=2 and limit=22575 follows renames, skip the two latest commit and return only one commit2576 and 'path' is a file that matches the old filename2577 does not follow renames2578 unknown ref2579 returns an empty array2580 where 'follow' == false2581 and 'path' is a directory2582 does not follow renames2583 and 'path' is a file that matches the new filename2584 does not follow renames2585 and 'path' is a file that matches the old filename2586 does not follow renames2587 and 'path' includes a directory that used to be a file2588 returns a list of commits2589 where provides 'after' timestamp2590 returns commits on or after that timestamp2591 where provides 'before' timestamp2592 returns commits on or before that timestamp2593 when multiple paths are provided2594 only returns commits matching at least one path2595 limit validation2596 limit: 02597 should raise ArgumentError2598 limit: nil2599 should raise ArgumentError2600 limit: ""2601 should raise ArgumentError2602 limit: "foo"2603 should raise ArgumentError2604 with all2605 returns a list of commits2606 #count_commits_between2607 should eq 172608 #raw_changes_between2609 initial commit2610 returns the changes2611 with an invalid rev2612 returns an error2613 with valid revs2614 returns the changes2615 #merge_base2616 from: "570e7b2abdd848b95f2f578043fc23bd6f6fd24d", to: "40f4a7a617393735a95a0bb67b08385bc1e7c66d", result: "570e7b2abdd848b95f2f578043fc23bd6f6fd24d"2617 should eq "570e7b2abdd848b95f2f578043fc23bd6f6fd24d"2618 from: "40f4a7a617393735a95a0bb67b08385bc1e7c66d", to: "570e7b2abdd848b95f2f578043fc23bd6f6fd24d", result: "570e7b2abdd848b95f2f578043fc23bd6f6fd24d"2619 should eq "570e7b2abdd848b95f2f578043fc23bd6f6fd24d"2620 from: "40f4a7a617393735a95a0bb67b08385bc1e7c66d", to: "foobar", result: nil2621 should eq nil2622 from: "foobar", to: "40f4a7a617393735a95a0bb67b08385bc1e7c66d", result: nil2623 should eq nil2624 #count_commits2625 extended commit counting2626 with after timestamp2627 returns the number of commits after timestamp2628 with before timestamp2629 returns the number of commits before timestamp2630 with max_count2631 returns the number of commits with path2632 with path2633 returns the number of commits with path2634 with option :from and option :to2635 returns the number of commits ahead for fix-mode..fix-blob-path2636 returns the number of commits ahead for fix-blob-path..fix-mode2637 with option :left_right2638 returns the number of commits for fix-mode...fix-blob-path2639 with max_count2640 returns the number of commits with path2641 with max_count2642 returns the number of commits up to the passed limit2643 with all2644 returns the number of commits in the whole repository2645 without all or ref being specified2646 raises an ArgumentError2647 #find_branch2648 returns a Branch for master2649 handles non-existent branch2650 #ref_name_for_sha2651 returns the ref name for the given sha2652 returns an empty name if the ref doesn't exist2653 raise an exception if the ref is empty2654 raise an exception if the ref is nil2655 #branches2656 with local and remote branches2657 returns the local and remote branches2658 behaves like wrapping gRPC errors2659 wraps gRPC not found error2660 wraps gRPC unknown error2661 #branch_count2662 returns the number of branches2663 with local and remote branches2664 returns the count of local branches2665 with Gitaly disabled2666 returns the count of local branches2667 #merged_branch_names2668 when branch names are passed2669 only returns the names we are asking2670 does not return unmerged branch names2671 when no root ref is available2672 returns empty list2673 when no branch names are specified2674 returns all merged branch names except for identical one2675 #diff_stats2676 returns a DiffStatsCollection2677 yields Gitaly::DiffStats objects2678 returns no Gitaly::DiffStats when SHAs are invalid2679 returns no Gitaly::DiffStats when there is a nil SHA2680 returns no Gitaly::DiffStats when there is a BLANK_SHA2681 #ls_files2682 read every file paths of master branch2683 reads full file paths of master branch2684 does not read submodule directory and empty directory of master branch2685 does not include 'nil'2686 returns empty array when not existed branch2687 returns valid utf-8 data2688 #copy_gitattributes2689 raises an error with invalid ref2690 when forcing encoding issues2691 doesn't raise with a valid unicode ref2692 with no .gitattrbutes2693 does not have an info/attributes2694 with .gitattrbutes2695 has an info/attributes2696 has the same content in info/attributes as .gitattributes2697 with updated .gitattrbutes2698 has an info/attributes2699 has the updated content in info/attributes2700 with no .gitattrbutes in HEAD but with previous info/attributes2701 does not have an info/attributes2702 #gitattribute2703 returns matching language attribute2704 returns matching language attribute with additional options2705 returns nil if nothing matches2706 without gitattributes file2707 returns nil2708 #ref_exists?2709 returns true for an existing tag2710 returns false for a non-existing tag2711 raises an ArgumentError for an empty string2712 raises an ArgumentError for an invalid ref2713 #tag_exists?2714 returns true for an existing tag2715 returns false for a non-existing tag2716 #branch_exists?2717 returns true for an existing branch2718 returns false for a non-existing branch2719 returns false when using an invalid branch name2720 #local_branches2721 returns the local branches2722 returns a Branch with UTF-8 fields2723 gets the branches from GitalyClient2724 behaves like wrapping gRPC errors2725 wraps gRPC not found error2726 wraps gRPC unknown error2727 #languages2728 returns exactly the expected results2729 uses the repository's HEAD when no ref is passed2730 #license_short_name2731 when no license file can be found2732 should be nil2733 when an mit license is found2734 should eq "mit"2735 #fetch_source_branch!2736 when the branch exists2737 when the commit does not exist locally2738 writes the ref2739 when the commit exists locally2740 writes the ref2741 when the branch does not exist2742 does not write the ref2743 #rm_branch2744 removes the branch from the repo2745 #write_ref2746 writes the HEAD2747 writes other refs2748 validations2749 ref_path: "foo bar", ref: "123"2750 raises ArgumentError2751 ref_path: "foobar", ref: "12\u00003"2752 raises ArgumentError2753 #write_config2754 is given a path2755 writes it to disk2756 it is given an empty path2757 does not write it to disk2758 repository does not exist2759 raises NoRepository and does not call Gitaly WriteConfig2760 #set_config2761 can set config settings2762 #delete_config2763 can delete config settings2764 #merge_to_ref2765 generates a commit in the target_ref2766 does not change the right branch HEAD2767 #merge2768 can perform a merge2769 returns nil if there was a concurrent branch update2770 #ff_merge2771 calls Gitaly's OperationService2772 behaves like #ff_merge2773 performs a ff_merge2774 with a non-existing target branch2775 throws an ArgumentError2776 with a non-existing source commit2777 throws an ArgumentError2778 when the source sha is not a descendant of the branch head2779 doesn't perform the ff_merge2780 #delete_all_refs_except2781 deletes all refs except those with the specified prefixes2782 remotes2783 #add_remote2784 added the remote2785 #remove_remote2786 removes the remote2787 #bundle_to_disk2788 saves a bundle to disk2789 #create_from_bundle2790 creates a repo from a bundle file2791 raises an error if the bundle is an attempted malicious payload2792 #compare_source_branch2793 within same repository2794 does not create a temp ref2795 returns empty commits when source ref does not exist2796 with different repositories2797 when ref is known by source repo, but not by target2798 creates temp ref2799 when ref is known by source and target repos2800 does not create a temp ref2801 when ref is unknown by source repo2802 returns nil when source ref does not exist2803 #checksum2804 calculates the checksum for non-empty repo2805 returns 0000000000000000000000000000000000000000 for an empty repo2806 raises Gitlab::Git::Repository::InvalidRepository error for non-valid git repo2807 raises Gitlab::Git::Repository::NoRepository error when there is no repo2808 #clean_stale_repository_files2809Preparing worktree (detached HEAD 4b4918a)2810HEAD is now at 4b4918a Merge branch 'master' into 'master'2811 cleans up the files2812 increments a counter upon an error2813 #squash2814 sparse checkout (PENDING: No reason given)2815 with an ASCII-8BIT diff (PENDING: No reason given)2816 with trailing whitespace in an invalid patch (PENDING: No reason given)2817 #disconnect_alternates2818 does not raise an error when disconnecting a non-linked repository2819 removes the alternates file2820 can still access objects in the object pool2821 #rename2822 moves the repository2823 #remove2824 removes the repository2825SystemNoteService2826 .add_commits2827 calls CommitService2828 .tag_commit2829 calls CommitService2830 .change_assignee2831 calls IssuableService2832 .change_issuable_assignees2833 calls IssuableService2834 .change_milestone2835 calls IssuableService2836 .change_due_date2837 behaves like a note with overridable created_at2838 the note has the correct time2839 behaves like a system note2840 has the correct attributes2841 when due date added2842 sets the note text2843 when due date removed2844 sets the note text2845 .change_status2846 calls IssuableService2847 .merge_when_pipeline_succeeds2848 posts the 'merge when pipeline succeeds' system note2849 behaves like a system note2850 has the correct attributes2851 .cancel_merge_when_pipeline_succeeds2852 posts the 'merge when pipeline succeeds' system note2853 behaves like a system note2854 has the correct attributes2855 .abort_merge_when_pipeline_succeeds2856 posts the 'merge when pipeline succeeds' system note2857 behaves like a system note2858 has the correct attributes2859 .change_title2860 calls IssuableService2861 .change_description2862 calls IssuableService2863 .change_issue_confidentiality2864 calls IssuableService2865 .change_branch2866 behaves like a system note2867 has the correct attributes2868 when target branch name changed2869 sets the note text2870 .change_branch_presence2871 behaves like a system note2872 has the correct attributes2873 when source branch deleted2874 sets the note text2875 .new_issue_branch2876 branch_project is set2877 behaves like a system note for new issue branch2878 behaves like a system note2879 has the correct attributes2880 when a branch is created from the new branch button2881 sets the note text2882 branch_project is not set2883 behaves like a system note for new issue branch2884 behaves like a system note2885 has the correct attributes2886 when a branch is created from the new branch button2887 sets the note text2888 .new_merge_request2889 sets the new merge request note text2890 behaves like a system note2891 has the correct attributes2892 .zoom_link_added2893 calls ZoomService2894 .zoom_link_removed2895 calls ZoomService2896 .cross_reference2897 calls IssuableService2898 .cross_reference_disallowed?2899 calls IssuableService2900 .cross_reference_exists?2901 calls IssuableService2902 .noteable_moved2903 calls IssuableService2904 Jira integration2905 when noteable is a merge_requests2906 blocks cross reference when merge_requests_events is false2907 creates cross reference when merge_requests_events is true2908 when a new cross reference is created2909 creates a new comment and remote link2910 when a link exists2911 updates a link but does not create a new comment2912 when noteable is a commit2913 blocks cross reference when commit_events is false2914 creates cross reference when commit_events is true2915 when a new cross reference is created2916 creates a new comment and remote link2917 when a link exists2918 updates a link but does not create a new comment2919 new reference2920 for commits2921 creates comment2922 creates remote link2923 for issues2924 creates comment2925 creates remote link2926 for snippets2927 creates comment2928 creates remote link2929 existing reference2930 does not return success message2931 does not try to create comment and remote link2932 .change_time_estimate2933 behaves like a system note2934 has the correct attributes2935 with a time estimate2936 sets the note text2937 when time_tracking_limit_to_hours setting is true2938 sets the note text2939 without a time estimate2940 sets the note text2941 .discussion_continued_in_issue2942 creates a new note in the discussion2943 mentions the created issue in the system note2944 behaves like a system note2945 has the correct attributes2946 .change_time_spent2947 behaves like a system note2948 has the correct attributes2949 when time was added2950 sets the note text2951 when time was subtracted2952 sets the note text2953 when time was removed2954 sets the note text2955 when time_tracking_limit_to_hours setting is true2956 sets the note text2957 .handle_merge_request_wip2958 adding wip note2959 sets the note text2960 behaves like a system note2961 has the correct attributes2962 removing wip note2963 sets the note text2964 behaves like a system note2965 has the correct attributes2966 .add_merge_request_wip_from_commit2967 posts the 'marked as a Work In Progress from commit' system note2968 behaves like a system note2969 has the correct attributes2970 .change_task_status2971 calls IssuableService2972 .resolve_all_discussions2973 sets the note text2974 behaves like a system note2975 has the correct attributes2976 .diff_discussion_outdated2977 behaves like a system note2978 has the correct attributes2979 when the change_position is valid for the discussion2980 creates a new note in the discussion2981 links to the diff in the system note2982 discussion is on an image2983 links to the diff in the system note2984 when the change_position does not point to a valid version2985 creates a new note in the discussion2986 does not create a link2987 .mark_duplicate_issue2988 calls IssuableService2989 .mark_canonical_issue_of_duplicate2990 calls IssuableService2991 .discussion_lock2992 calls IssuableService2993VisibilityLevelHelper2994 visibility_icon_description2995 used with a Project2996 delegates projects to #project_visibility_icon_description2997 used with a ProjectPresenter2998 delegates projects to #project_visibility_icon_description2999 used with a Group3000 delegates groups to #group_visibility_icon_description3001 visibility_level_description3002 used with a Project3003 delegates projects to #project_visibility_level_description3004 used with a Group3005 delegates groups to #group_visibility_level_description3006 called with a Snippet3007 delegates snippets to #snippet_visibility_level_description3008 #project_visibility_level_description3009 describes private projects3010 describes public projects3011 #snippet_visibility_level_description3012 describes visibility only for me3013 describes visibility for project members3014 defaults to personal snippet3015 disallowed_visibility_level?3016 forks3017 disallows levels3018 non-forked project3019 disallows levels3020 group3021 disallows levels3022 sub-group3023 disallows levels3024 snippet3025 disallows levels3026 selected_visibility_level3027 requested_level: 20, max_allowed: 20, global_default_level: 20, restricted_levels: [], expected: 203028 provides correct visibility level for forked project3029 provides correct visibiility level for project in group3030 requested_level: 20, max_allowed: 20, global_default_level: 20, restricted_levels: [20], expected: 103031 provides correct visibility level for forked project3032 provides correct visibiility level for project in group3033 requested_level: 10, max_allowed: 20, global_default_level: 20, restricted_levels: [], expected: 103034 provides correct visibility level for forked project3035 provides correct visibiility level for project in group3036 requested_level: 10, max_allowed: 0, global_default_level: 0, restricted_levels: [], expected: 03037 provides correct visibility level for forked project3038 provides correct visibiility level for project in group3039 requested_level: 0, max_allowed: 20, global_default_level: 20, restricted_levels: [], expected: 03040 provides correct visibility level for forked project3041 provides correct visibiility level for project in group3042 requested_level: 20, max_allowed: 0, global_default_level: 10, restricted_levels: [], expected: 03043 provides correct visibility level for forked project3044 provides correct visibiility level for project in group3045 requested_level: 20, max_allowed: 10, global_default_level: 20, restricted_levels: [], expected: 103046 provides correct visibility level for forked project3047 provides correct visibiility level for project in group3048 requested_level: 20, max_allowed: 0, global_default_level: 20, restricted_levels: [], expected: 03049 provides correct visibility level for forked project3050 provides correct visibiility level for project in group3051 requested_level: 20, max_allowed: 10, global_default_level: 10, restricted_levels: [], expected: 103052 provides correct visibility level for forked project3053 provides correct visibiility level for project in group3054 requested_level: 20, max_allowed: 20, global_default_level: 10, restricted_levels: [], expected: 203055 provides correct visibility level for forked project3056 provides correct visibiility level for project in group3057 multiple_visibility_levels_restricted?3058 restricted_visibility_levels: [20], expected: false3059 should eq false3060 restricted_visibility_levels: [20, 10], expected: true3061 should eq true3062 restricted_visibility_levels: [20, 10, 0], expected: true3063 should eq true3064 all_visibility_levels_restricted?3065 restricted_visibility_levels: [20], expected: false3066 should eq false3067 restricted_visibility_levels: [20, 10], expected: false3068 should eq false3069 restricted_visibility_levels: [0, 10, 20], expected: true3070 should eq true3071EnvironmentStatusEntity3072 should include :id3073 should include :name3074 should include :url3075 should include :external_url3076 should include :external_url_formatted3077 should include :deployed_at3078 should include :deployed_at_formatted3079 should include :changes3080 should include :status3081 should not include :stop_url3082 should not include :metrics_url3083 should not include :metrics_monitoring_url3084 when the user is project maintainer3085 should include :stop_url3086 when deployment has metrics3087 when deployment succeeded3088 returns metrics url3089 when deployment is running3090 does not return metrics url3091Gitlab::ImportExport::RelationRenameService3092 when importing3093 when the file has only old relationship names3094 renames old relationships to the new name3095 when the file has both the old and new relationships3096 uses the new relationships and removes the old ones from the hash3097 when the file has only new relationship names3098 uses the new relationships3099 when exporting3100 adds old relationships to the exported file3101Groups::DestroyService3102 asynchronous delete3103 behaves like group destruction3104 database records3105 should not include #<Group id:897 @group70>3106 should not include #<Group id:903 @group72/group73>3107 should not include #<Project id:445 group74/project418>3108 should not include #<NotificationSetting id: 1546, user_id: 840, source_id: 912, source_type: "Namespace", level: "globa...s_pipeline: nil, push_to_merge_request: nil, issue_due: nil, new_epic: nil, notification_email: nil>3109 mattermost team3110 destroys the team too3111 file system3112 Sidekiq inline3113 verifies that paths have been deleted3114 Sidekiq fake3115 verifies original paths and projects still exist3116 synchronous delete3117 behaves like group destruction3118 database records3119 should not include #<Group id:932 @group84>3120 should not include #<Group id:938 @group86/group87>3121 should not include #<Project id:452 group88/project425>3122 should not include #<NotificationSetting id: 1567, user_id: 861, source_id: 947, source_type: "Namespace", level: "globa...s_pipeline: nil, push_to_merge_request: nil, issue_due: nil, new_epic: nil, notification_email: nil>3123 mattermost team3124 destroys the team too3125 file system3126 Sidekiq inline3127 verifies that paths have been deleted3128 projects in pending_delete3129 behaves like group destruction3130 database records3131 should not include #<Group id:962 @group96>3132 should not include #<Group id:968 @group98/group99>3133 should not include #<Project id:458 group100/project431>3134 should not include #<NotificationSetting id: 1585, user_id: 879, source_id: 977, source_type: "Namespace", level: "globa...s_pipeline: nil, push_to_merge_request: nil, issue_due: nil, new_epic: nil, notification_email: nil>3135 mattermost team3136 destroys the team too3137 file system3138 Sidekiq inline3139 verifies that paths have been deleted3140 repository removal status is taken into account3141 raises exception3142 repository removal3143 legacy storage3144 removes repository3145 hashed storage3146 removes repository3147Clusters::Applications::Helm3148 should belong to cluster required:3149 should validate that :cluster cannot be empty/falsy3150 #can_uninstall?3151 calls allowed_to_uninstall?3152 #name3153 is .application_name3154 is recorded in Clusters::Cluster::APPLICATIONS3155 .association_name3156 should eq :application_helm3157 .available3158 should contain exactly #<Clusters::Applications::Helm id: 1, cluster_id: 3, created_at: "2019-10-15 08:46:10", updated_at: "...P/jcTIwI/kdq0A==\n", ca_cert: "-----BEGIN CERTIFICATE-----\nMIIFtTCCA52gAwIBAgIJAO...", ca_key: nil> and #<Clusters::Applications::Helm id: 2, cluster_id: 6, created_at: "2019-10-15 08:46:11", updated_at: "...Sw7F9PHdiU1Mlg==\n", ca_cert: "-----BEGIN CERTIFICATE-----\nMIIFtTCCA52gAwIBAgIJAO...", ca_key: nil>3159 #can_uninstall?3160 with other existing applications3161 is false when ingress is installed3162 is false when cert_manager is installed3163 is false when prometheus is installed3164 is false when runner is installed3165 is false when jupyter is installed3166 is false when knative is installed3167 executes a single query only3168 without other existing applications3169 should be truthy3170 #issue_client_cert3171 returns a new cert3172 #install_command3173 should be an instance of Gitlab::Kubernetes::Helm::InitCommand3174 is initialized with 1 arguments3175 has cert files3176 rbac3177 rbac cluster3178 should be rbac3179 non rbac cluster3180 should not be rbac3181 #uninstall_command3182 should be an instance of Gitlab::Kubernetes::Helm::ResetCommand3183 has name3184 has cert files3185 rbac3186 rbac cluster3187 should be rbac3188 non rbac cluster3189 should not be rbac3190 #post_uninstall3191 should receive delete_namespace("gitlab-managed-apps") 1 time3192Users::DestroyService3193 Deletes a user and all their personal projects3194 no options are given3195 deletes the user3196 will delete the project3197 projects in pending_delete3198 destroys a project in pending_delete3199 a deleted user's issues3200 for an issue the user was assigned to3201 does not delete issues the user is assigned to3202 migrates the issue so that it is "Unassigned"3203 a deleted user's merge_requests3204 for an merge request the user was assigned to3205 does not delete merge requests the user is assigned to3206 migrates the merge request so that it is "Unassigned"3207 solo owned groups present3208 does not delete the user3209 deletions with solo owned groups3210 deletes solo owned groups3211 deletes the user3212 deletion permission checks3213 does not delete the user when user is not an admin3214 allows admins to delete anyone3215 allows users to delete their own account3216 migrating associated records3217 delegates to the `MigrateToGhostUser` service to move associated records to the ghost user3218 does not run `MigrateToGhostUser` if hard_delete option is given3219 user personal's repository removal3220 storages3221 legacy storage3222 removes repository3223 hashed storage3224 removes repository3225 repository removal status is taken into account3226 raises exception3227 calls the before/after callbacks3228 of project_members3229 of group_members3230Projects::UpdateService3231 #execute3232 when changing visibility level3233 when visibility_level is INTERNAL3234 updates the project to internal3235 when visibility_level is PUBLIC3236 updates the project to public3237 when visibility_level is PRIVATE3238 updates the project to private3239 when visibility levels are restricted to PUBLIC only3240 when visibility_level is INTERNAL3241 updates the project to internal3242 when visibility_level is PUBLIC3243 does not update the project to public3244 when updated by an admin3245 updates the project to public3246 when project visibility is higher than parent group3247 does not update project visibility level3248 when updating project that has forks3249 updates forks visibility level when parent set to more restrictive3250 does not update forks visibility level when parent set to less restrictive3251 when updating a default branch3252 changes a default branch3253 does not change a default branch3254 when we update project but not enabling a wiki3255 does not try to create an empty wiki3256 handles empty project feature attributes3257 when enabling a wiki3258 creates a wiki3259 logs an error and creates a metric when wiki can not be created3260 when changing feature visibility to private3261 updates the visibility correctly3262 when updating a project that contains container images3263 does not allow to rename the project3264 allows to update other settings3265 when renaming a project3266 with legacy storage3267 does not allow renaming when new path matches existing repository on disk3268 renames the project without upgrading it3269 when hashed storage is enabled3270 migrates project to a hashed storage instead of renaming the repo to another legacy name3271 when skip_hashed_storage_upgrade feature flag is enabled3272 renames the project without upgrading it3273 with hashed storage3274 does not check if new path matches existing repository on disk3275 when passing invalid parameters3276 returns an error result when record cannot be updated3277 when updating #pages_https_only3278 updates the attribute3279 calls Projects::UpdatePagesConfigurationService3280 when updating #pages_access_level3281 updates the attribute3282 calls Projects::UpdatePagesConfigurationService3283 when updating #emails_disabled3284 updates the attribute for the project owner3285 does not update when not project owner3286 with external authorization enabled3287 does not save the project with an error if the service denies access3288 saves the new label if the service allows access3289 checks the default label when the classification label was cleared3290 does not check the label when it does not change3291 #run_auto_devops_pipeline?3292 when master contains a .gitlab-ci.yml file3293 should eq false3294 when auto devops is nil3295 should eq false3296 when auto devops is explicitly enabled3297 should eq true3298 when auto devops is explicitly disabled3299 should eq false3300 when auto devops is set to instance setting3301 when auto devops is enabled system-wide3302 should eq true3303 when auto devops is disabled system-wide3304 should eq false3305Clusters::Gcp::ProvisionService3306 #execute3307 when succeeded to request provision3308 behaves like success3309 schedules a worker for status minitoring3310 when operation status is unexpected3311 behaves like error3312 sets an error to provider object3313 when selfLink is unexpected3314 behaves like error3315 sets an error to provider object3316 when Internal Server Error happened3317 behaves like error3318 sets an error to provider object3319ProtectedBranch3320 Associations3321 should belong to project required:3322 Validation3323 should validate that :project cannot be empty/falsy3324 should validate that :name cannot be empty/falsy3325 #matches?3326 when the protected branch setting is not a wildcard3327 returns true for branch names that are an exact match3328 returns false for branch names that are not an exact match3329 when the protected branch name contains wildcard(s)3330 when there is a single '*'3331 returns true for branch names matching the wildcard3332 returns false for branch names not matching the wildcard3333 when the wildcard contains regex symbols other than a '*'3334 returns true for branch names matching the wildcard3335 returns false for branch names not matching the wildcard3336 when there are '*'s at either end3337 returns true for branch names matching the wildcard3338 returns false for branch names not matching the wildcard3339 when there are arbitrarily placed '*'s3340 returns true for branch names matching the wildcard3341 returns false for branch names not matching the wildcard3342 #matching3343 for direct matches3344 returns a list of protected branches matching the given branch name3345 accepts a list of protected branches to search from, so as to avoid a DB call3346 for wildcard matches3347 returns a list of protected branches matching the given branch name3348 accepts a list of protected branches to search from, so as to avoid a DB call3349 #protected?3350 existing project3351 returns true when the branch matches a protected branch via direct match3352 returns true when the branch matches a protected branch via wildcard match3353 returns false when the branch does not match a protected branch via direct match3354 returns false when the branch does not match a protected branch via wildcard match3355 new project3356 returns false when default_protected_branch is unprotected3357 returns false when default_protected_branch lets developers push3358 returns true when default_branch_protection does not let developers push but let developer merge branches3359 returns true when default_branch_protection is in full protection3360 #any_protected?3361 existing project3362 returns true when any of the branch names match a protected branch via direct match3363 returns true when any of the branch matches a protected branch via wildcard match3364 returns false when none of branches does not match a protected branch via direct match3365 returns false when none of the branches does not match a protected branch via wildcard match3366Todos::Destroy::GroupPrivateService3367 #execute3368 when a group set to private3369 removes todos only for users who are not group users3370 with nested groups3371 removes todos only for users who are not group users3372 when group is not private3373 does not remove any todos3374TeamcityService3375 Associations3376 should belong to project required:3377 should have one service_hook3378 Validations3379 when service is active3380 should validate that :build_type cannot be empty/falsy3381 should validate that :teamcity_url cannot be empty/falsy3382 behaves like issue tracker service URL attribute3383 should allow :teamcity_url to be ‹"https://example.com"›3384 should not allow :teamcity_url to be ‹"example.com"›3385 should not allow :teamcity_url to be ‹"ftp://example.com"›3386 should not allow :teamcity_url to be ‹"herp-and-derp"›3387 #username3388 does not validate the presence of username if password is nil3389 validates the presence of username if password is present3390 #password3391 does not validate the presence of password if username is nil3392 validates the presence of password if username is present3393 when service is inactive3394 should not validate that :build_type cannot be empty/falsy3395 should not validate that :teamcity_url cannot be empty/falsy3396 should not validate that :username cannot be empty/falsy3397 should not validate that :password cannot be empty/falsy3398 Callbacks3399 before_update :reset_password3400 saves password if new url is set together with password when no password was previously set3401 when a password was previously set3402 resets password if url changed3403 does not reset password if username changed3404 does not reset password if new url is set together with password, even if it's the same password3405 #build_page3406 returns the contents of the reactive cache3407 #commit_status3408 returns the contents of the reactive cache3409 #calculate_reactive_cache3410 build_page3411 returns a specific URL when status is 5003412 returns a build URL when teamcity_url has no trailing slash3413 teamcity_url has trailing slash3414 returns a build URL3415 commit_status3416 sets commit status to :error when status is 5003417 sets commit status to "pending" when status is 4043418 sets commit status to "success" when build status contains SUCCESS3419 sets commit status to "failed" when build status contains FAILURE3420 sets commit status to "pending" when build status contains Pending3421 sets commit status to :error when build status is unknown3422 #execute3423 returns nil when event is not supported3424 when push3425 handles push request correctly3426 returns nil when ref is blank3427 returns nil when there is no content3428 returns nil when a merge request is opened for the same ref3429 when merge_request3430 handles merge request correctly3431 returns nil when merge request is not opened3432 returns nil unless merge request is marked as unchecked3433ExternalDiffUploader3434 behaves like builds correct paths3435 #store_dir3436 behaves like matches the method pattern3437 should match /merge_request_diffs\/mr-\d+/3438 #cache_dir3439 behaves like matches the method pattern3440 should match /\/external-diffs\/tmp\/cache/3441 #work_dir3442 behaves like matches the method pattern3443 should match /\/external-diffs\/tmp\/work/3444 #upload_path3445 behaves like matches the method pattern3446 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3447 #relative_path3448 is relative (PENDING: Path not set, skipping.)3449 .absolute_path3450 behaves like matches the method pattern3451 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3452 .base_dir3453 behaves like matches the method pattern3454 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3455 object store is REMOTE3456 behaves like builds correct paths3457 #store_dir3458 behaves like matches the method pattern3459 should match /merge_request_diffs\/mr-\d+/3460 #cache_dir3461 behaves like matches the method pattern3462 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3463 #work_dir3464 behaves like matches the method pattern3465 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3466 #upload_path3467 behaves like matches the method pattern3468 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3469 #relative_path3470 is relative (PENDING: Path not set, skipping.)3471 .absolute_path3472 behaves like matches the method pattern3473 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3474 .base_dir3475 behaves like matches the method pattern3476 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)3477 migration to object storage3478 with object storage disabled3479 is skipped3480 with object storage enabled3481 is scheduled to run after creation3482 remote file3483 with object storage enabled3484 can store file remotely3485FixWrongPagesAccessLevel3486NOTICE: trigger "trigger_36edafd19664" for relation "epics" does not exist, skipping3487NOTICE: trigger "trigger_dd1443fbd36e" for relation "application_settings" does not exist, skipping3488NOTICE: trigger "trigger_806273a4d8be" for relation "application_settings" does not exist, skipping3489 correctly schedules background migrations3490 project_visibility: 20, pages_access_level: 30, access_control_is_enabled: true, pages_deployed: true, resulting_pages_access_level: 203491 sets proper pages_access_level3492 project_visibility: 20, pages_access_level: 30, access_control_is_enabled: false, pages_deployed: true, resulting_pages_access_level: 203493 sets proper pages_access_level3494 project_visibility: 0, pages_access_level: 30, access_control_is_enabled: true, pages_deployed: true, resulting_pages_access_level: 303495 sets proper pages_access_level3496 project_visibility: 10, pages_access_level: 30, access_control_is_enabled: true, pages_deployed: true, resulting_pages_access_level: 303497 sets proper pages_access_level3498 project_visibility: 10, pages_access_level: 20, access_control_is_enabled: false, pages_deployed: true, resulting_pages_access_level: 303499 sets proper pages_access_level3500 project_visibility: 10, pages_access_level: 20, access_control_is_enabled: true, pages_deployed: true, resulting_pages_access_level: 203501 sets proper pages_access_level3502 project_visibility: 10, pages_access_level: 20, access_control_is_enabled: true, pages_deployed: false, resulting_pages_access_level: 203503 sets proper pages_access_level3504 project_visibility: 0, pages_access_level: 20, access_control_is_enabled: true, pages_deployed: true, resulting_pages_access_level: 103505 sets proper pages_access_level3506 project_visibility: 0, pages_access_level: 20, access_control_is_enabled: true, pages_deployed: false, resulting_pages_access_level: 103507 sets proper pages_access_level3508 project_visibility: 0, pages_access_level: 20, access_control_is_enabled: false, pages_deployed: true, resulting_pages_access_level: 303509 sets proper pages_access_level3510 project_visibility: 0, pages_access_level: 20, access_control_is_enabled: false, pages_deployed: false, resulting_pages_access_level: 103511 sets proper pages_access_level3512NOTICE: trigger "trigger_806273a4d8be" for relation "application_settings" does not exist, skipping3513NOTICE: trigger "trigger_dd1443fbd36e" for relation "application_settings" does not exist, skipping3514NOTICE: trigger "trigger_84853438aac0" for relation "epics" does not exist, skipping3515Gitlab::HookData::IssuableBuilder3516 #build3517 behaves like issuable hook data3518 contains project data3519 contains deprecated repository data3520 with a issue3521 contains issuable data3522 does not contain certain keys3523 changes are given3524 populates the :changes hash3525 does not contain certain keys3526 behaves like issuable hook data3527 contains project data3528 contains deprecated repository data3529 with a merge_request3530 contains issuable data3531 does not contain certain keys3532 changes are given3533 populates the :changes hash3534 does not contain certain keys3535 issue is assigned3536 returns correct hook data3537 merge_request is assigned3538 returns correct hook data3539Gitlab::Cache::Ci::ProjectPipelineStatus3540 .load_for_project3541 loads the status3542 loading in batches3543 .load_in_batch_for_projects3544 loads pipeline_status on projects3545 loads 10 projects without hitting Gitaly call limit3546 .update_for_pipeline3547 refreshes the cache if nescessary3548 #has_status?3549 is false when the status wasn't loaded yet3550 is true when all status information was loaded3551 #load_status3552 loads the status from the cache when there is one3553 loads the status from the project commit when there is no cache3554 stores the status in the cache when it loading it from the project3555 sets the state to loaded3556 only loads the status once3557 #load_from_project3558 reads the status from the pipeline for the commit3559 doesn't fail for an empty project3560 #store_in_cache3561 sets the object in caching3562 #store_in_cache_if_needed3563 stores the state in the cache when the sha is the HEAD of the project3564 doesn't store the status in redis_cache when the sha is not the head of the project3565 deletes the cache if the repository doesn't have a head commit3566 with a status in caching3567 #load_from_cache3568 reads the status from redis_cache3569 when status is empty string3570 reads the status as nil3571 #has_cache?3572 knows the status is cached3573 #delete_from_cache3574 deletes values from redis_cache3575Lfs::FileTransformer3576 #new_file3577 with lfs disabled3578 skips gitattributes check3579 returns untransformed content3580 returns untransformed encoding3581 with lfs enabled3582 reuses cached gitattributes3583 creates an LfsObject with the file's content3584 returns an LFS pointer3585 returns LFS pointer encoding as text3586 links LfsObjects to project3587 saves the repository_type to LfsObjectsProject3588 when an actual file is passed3589 creates an LfsObject with the file's content3590 when doesn't use LFS3591 doesn't create LFS pointers3592 when LfsObject already exists3593 links LfsObjects to project3594 when the LfsObject is already linked to project3595 and the service is called again with the same repository type3596 should not change `project.lfs_objects.count`3597 does not create a new LfsObjectsProject record3598 and the service is called again with a different repository type3599 should not change `project.lfs_objects.count`3600 creates a new LfsObjectsProject record3601 sets the correct repository_type on the new LfsObjectsProject record3602Groups::UpdateService3603 #execute3604 project visibility_level validation3605 public group with public projects3606 does not change permission level3607 returns false if save failed3608 internal group with internal project3609 does not change permission level3610 internal group with private project3611 changes permission level to private3612 with parent_id user doesn't have permissions for3613 does not update parent_id3614 unauthorized visibility_level validation3615 does not change permission level3616 when updating #emails_disabled3617 updates the attribute3618 does not update when not group owner3619 rename group3620 returns true3621 error moving group3622 does not raise an error3623 returns false3624 has the right error3625 hasn't changed the path3626 for a subgroup3627 when the parent group share_with_group_lock is enabled3628 for the parent group owner3629 allows disabling share_with_group_lock3630 for a subgroup owner (who does not own the parent)3631 does not allow disabling share_with_group_lock3632Gitlab::Badge::Coverage::Report3633 #entity3634 describes a coverage3635 #metadata3636 returns correct metadata3637 #template3638 returns correct template3639 when latest successful pipeline exists3640 when particular job specified3641 returns coverage for the particular job3642 when particular job not specified3643 returns arithemetic mean for the pipeline3644 when only failed pipeline exists3645 behaves like unknown coverage report3646 particular job specified3647 returns nil3648 particular job not specified3649 returns nil3650 particular job specified3651 retruns nil3652 pipeline does not exist3653 behaves like unknown coverage report3654 particular job specified3655 returns nil3656 particular job not specified3657 returns nil3658Subscribable Subscribable3659 #subscribed?3660 without user3661 returns false3662 without project3663 returns false when no subscription exists3664 returns true when a subcription exists and subscribed is true3665 returns false when a subcription exists and subscribed is false3666 with project3667 returns false when no subscription exists3668 returns true when a subcription exists and subscribed is true3669 returns false when a subcription exists and subscribed is false3670 #subscribers3671 returns [] when no subcribers exists3672 returns the subscribed users3673 #toggle_subscription3674 without project3675 toggles the current subscription state for the given user3676 with project3677 toggles the current subscription state for the given user3678 #subscribe3679 without project3680 subscribes the given user3681 with project3682 subscribes the given user3683 #unsubscribe3684 without project3685 unsubscribes the given current user3686 with project3687 unsubscribes the given current user3688DeleteMergedBranchesService3689 #execute3690 deletes a branch that was merged3691 keeps branch that is unmerged3692 keeps "master"3693 keeps protected branches3694 keeps wildcard protected branches3695 ignores protected tags3696 user without rights3697 cannot execute3698 open merge requests3699 does not delete branches from open merge requests3700 #async_execute3701 calls DeleteMergedBranchesWorker async3702MergeRequests::PostMergeService3703 #execute3704 refreshes the number of open merge requests for a valid MR3705 updates metrics3706 deletes non-latest diffs3707 marks MR as merged regardless of errors when closing issues3708 clean up environments for the merge request3709 behaves like cache counters invalidator3710 invalidates counter cache for assignees3711Discussion3712 .lazy_find3713 batches requests3714 .build3715 returns a discussion of the right type3716 .build_collection3717 returns an array of discussions of the right type3718 authorization3719 delegates to the first note3720PipelineScheduleWorker3721 when the schedule is runnable by the user3722 when there is a scheduled pipeline within next_run_at3723 behaves like successful scheduling3724 creates a new pipeline3725 when the latest commit contains [ci skip]3726 behaves like successful scheduling3727 creates a new pipeline3728 when the schedule is deactivated3729 does not creates a new pipeline3730 when gitlab-ci.yml is corrupted3731 does not creates a new pipeline3732 when the schedule is not runnable by the user3733 does not deactivate the schedule3734 does not create a pipeline3735 does not raise an exception3736 when .gitlab-ci.yml is missing in the project3737 does not create a pipeline3738 does not raise an exception3739Gitlab::Diff::Suggestion3740 #to_hash3741 when changing content surpasses the top limit3742 behaves like correct suggestion raw content3743 returns correct raw data3744 returns diff lines with correct line numbers3745 when changing content surpasses the amount of lines in the blob (bottom)3746 behaves like correct suggestion raw content3747 returns correct raw data3748 returns diff lines with correct line numbers3749 when lines are within blob lines boundary3750 behaves like correct suggestion raw content3751 returns correct raw data3752 returns diff lines with correct line numbers3753Expirable3754 ProjectMember3755 .expired3756 should contain exactly #<ProjectMember id: 1357, access_level: 40, source_id: 794, source_type: "Project", user_id: 1432, no... invite_accepted_at: nil, requested_at: nil, expires_at: "2019-10-09", ldap: false, override: false>3757 #expired?3758 should eq false3759 should eq false3760 should eq true3761 #expires?3762 should eq false3763 should eq true3764 should eq true3765 #expires_soon?3766 should eq false3767 should eq true3768 should eq true3769BoardProjectRecentVisit3770 relationships3771 should belong to user required:3772 should belong to project required:3773 should belong to board required:3774 validations3775 should validate that :user cannot be empty/falsy3776 should validate that :project cannot be empty/falsy3777 should validate that :board cannot be empty/falsy3778 #visited3779 creates a visit if one does not exists3780 behaves like was visited previously3781 updates the timestamp3782 when we try to create a visit that is not unique3783 behaves like was visited previously3784 updates the timestamp3785 #latest3786 returns the most recent visited3787 returns last 3 visited boards3788NotificationRecipientService3789 #build_new_note_recipients3790 when there are multiple watchers3791 avoids N+1 queries3792 when there are multiple subscribers3793 avoids N+1 queries3794 when the project is private3795 avoids N+1 queries3796Deployable3797 #create_deployment3798 when the deployable object will deploy to production3799 creates a deployment and environment record3800 when the deployable object will deploy to a cluster3801 creates a deployment with cluster association3802 when the deployable object will stop an environment3803 does not create a deployment record3804 when the deployable object has already had a deployment3805 does not create a new deployment3806 when the deployable object will not deploy3807 does not create a deployment and environment record3808 when environment scope contains invalid character3809 does not create a deployment and environment record3810Banzai::Filter::VideoLinkFilter3811 when the element src has a video extension3812 behaves like a video element3813 replaces the image tag with a video tag3814 behaves like a video element3815 replaces the image tag with a video tag3816 behaves like a video element3817 replaces the image tag with a video tag3818 behaves like a video element3819 replaces the image tag with a video tag3820 behaves like a video element3821 replaces the image tag with a video tag3822 behaves like a video element3823 replaces the image tag with a video tag3824 behaves like a video element3825 replaces the image tag with a video tag3826 behaves like a video element3827 replaces the image tag with a video tag3828 behaves like a video element3829 replaces the image tag with a video tag3830 behaves like a video element3831 replaces the image tag with a video tag3832 when the element has no src attribute3833 behaves like an unchanged element3834 leaves the document unchanged3835 when the element src is an image3836 behaves like an unchanged element3837 leaves the document unchanged3838 when the element src has an invalid file extension3839 behaves like an unchanged element3840 leaves the document unchanged3841 when data-canonical-src is empty3842 and src is a video3843 behaves like a video element3844 replaces the image tag with a video tag3845 and src is an image3846 behaves like an unchanged element3847 leaves the document unchanged3848 when data-canonical-src is set3849 uses the correct src3850Issues::ReopenService3851 #execute3852 when user is not authorized to reopen issue3853 does not reopen the issue3854 when user is authorized to reopen issue3855 invalidates counter cache for assignees3856 refreshes the number of opened issues3857 when issue is not confidential3858 executes issue hooks3859 when issue is confidential3860 executes confidential issue hooks3861Metrics::Dashboard::DynamicEmbedService3862 .valid_params?3863 should be truthy3864 not embedded3865 should be falsey3866 undefined dashboard3867 should be truthy3868 missing dashboard3869 should be truthy3870 missing group3871 should be falsey3872 missing title3873 should be falsey3874 undefined y-axis label3875 should be falsey3876 #get_dashboard3877 when the dashboard does not exist3878 behaves like misconfigured dashboard service response3879 returns an appropriate message and status code3880 when the dashboard is exists3881 caches the unprocessed dashboard for subsequent calls3882 behaves like valid embedded dashboard service response3883 behaves like valid dashboard service response for schema3884 returns a json representation of the dashboard3885 behaves like raises error for users with insufficient permissions3886 when the user does not have sufficient access3887 behaves like misconfigured dashboard service response3888 returns an appropriate message and status code3889 when the specified group is not present on the dashboard3890 behaves like misconfigured dashboard service response3891 returns an appropriate message and status code3892 when the specified title is not present on the dashboard3893 behaves like misconfigured dashboard service response3894 returns an appropriate message and status code3895 when the specified y-axis label is not present on the dashboard3896 behaves like misconfigured dashboard service response3897 returns an appropriate message and status code3898 when the dashboard is nil3899 behaves like uses system dashboard3900 uses the default dashboard3901 when the dashboard is not present3902 behaves like uses system dashboard3903 uses the default dashboard3904CacheMarkdownField3905 for Active record classes3906 behaves like a class with cached markdown fields3907 #cached_html_up_to_date?3908 returns false when the version is absent3909 returns false when the version is too early3910 returns false when the version is too late3911 returns false when the local version was bumped3912 returns true when the local version is default3913 returns true when the cached version is just right3914 #latest_cached_markdown_version3915 returns default version3916 #refresh_markdown_cache3917 fills all html fields3918 does not save the result3919 updates the markdown cache version3920 #refresh_markdown_cache!3921 fills all html fields3922 saves the changes3923 #banzai_render_context3924 sets project to nil if the object lacks a project3925 excludes author if the object lacks an author3926 raises if the context for an unrecognised field is requested3927 includes the pipeline3928 returns copies of the context template3929 with a project3930 sets the project in the context3931 with an author3932 sets the author in the context3933 #updated_cached_html_for3934 when the markdown cache is outdated3935 calls #refresh_markdown_cache3936 when the markdown field does not exist3937 returns nil3938 when the markdown cache is up to date3939 does not call #refresh_markdown_cache3940 for other classes3941 behaves like a class with cached markdown fields3942 #cached_html_up_to_date?3943 returns false when the version is absent3944 returns false when the version is too early3945 returns false when the version is too late3946 returns false when the local version was bumped3947 returns true when the local version is default3948 returns true when the cached version is just right3949 #latest_cached_markdown_version3950 returns default version3951 #refresh_markdown_cache3952 fills all html fields3953 does not save the result3954 updates the markdown cache version3955 #refresh_markdown_cache!3956 fills all html fields3957 saves the changes3958 #banzai_render_context3959 sets project to nil if the object lacks a project3960 excludes author if the object lacks an author3961 raises if the context for an unrecognised field is requested3962 includes the pipeline3963 returns copies of the context template3964 with a project3965 sets the project in the context3966 with an author3967 sets the author in the context3968 #updated_cached_html_for3969 when the markdown cache is outdated3970 calls #refresh_markdown_cache3971 when the markdown field does not exist3972 returns nil3973 when the markdown cache is up to date3974 does not call #refresh_markdown_cache3975ci/status/_icon3976 when rendering status for build3977 when user has ability to see details3978 has link to build details page3979 when user do not have ability to see build details3980 contains build status text3981 does not contain links3982 when rendering status for external job3983 when user has ability to see commit status details3984 status has external target url3985 contains valid commit status text3986 has link to external status page3987 status do not have external target url3988 contains valid commit status text3989 has link to external status page3990Gitlab::Auth::Saml::User3991 #save3992 account exists on server3993 and should bind with SAML3994 adds the SAML identity to the existing user3995 external groups3996 are defined3997 marks the user as external3998 are defined but the user does not belong there3999 does not mark the user as external4000 user was external, now should not be4001 makes user internal4002 no account exists on server4003 external groups4004 are defined4005 marks the user as external4006 are defined but the user does not belong there4007 does not mark the user as external4008 with auto_link_ldap_user disabled (default)4009 with allow_single_sign_on enabled4010 creates a user from SAML4011 with allow_single_sign_on default (["saml"])4012 does not throw an error4013 with allow_single_sign_on disabled4014 throws an error4015 with auto_link_ldap_user enabled4016 and at least one LDAP provider is defined4017 and a corresponding LDAP person4018 and no account for the LDAP user4019 creates a user with dual LDAP and SAML identities4020 and LDAP user has an account already4021 adds the omniauth identity to the LDAP account4022 saves successfully on subsequent tries, when both identities are present4023 when uid is an uid4024 behaves like find LDAP person4025 adds the omniauth identity to the LDAP account4026 when uid is a dn4027 behaves like find LDAP person4028 adds the omniauth identity to the LDAP account4029 when uid is an email4030 behaves like find LDAP person4031 adds the omniauth identity to the LDAP account4032 user has SAML user, and wants to add their LDAP identity4033 adds the LDAP identity to the existing SAML user4034 when signup is disabled4035 creates the user4036 when user confirmation email is enabled4037 creates and confirms the user anyway4038 blocking4039 signup with SAML only4040 dont block on create4041 does not block the user4042 block on create4043 blocks user4044 sign-in4045 dont block on create4046 should not be blocked4047 block on create4048 should not be blocked4049 #find_user4050 raw info hash attributes empty4051 does not mark user as external4052 #bypass_two_factor?4053 with authn_contexts_worth_two_factors configured4054 returns true when authn_context is worth two factors4055 returns false when authn_context is not worth two factors4056 returns false when authn_context is blank4057 without auth_contexts_worth_two_factors_configured4058 returns false when authn_context is present4059 returns false when authn_context is blank4060Banzai::ReferenceParser::MilestoneParser4061 #nodes_visible_to_user4062 when the link has a data-issue attribute4063 behaves like referenced feature visibility4064 when feature is disabled4065 does not create reference4066 when feature is enabled only for team members4067 does not create reference for non member4068 creates reference for member4069 when feature is enabled4070 creates reference4071 #referenced_by4072 when the link has a data-milestone attribute4073 using an existing milestone ID4074 returns an Array of milestones4075 using a non-existing milestone ID4076 returns an empty Array4077Boards::Lists::GenerateService4078 #execute4079 when board lists is empty4080 creates the default lists4081 when board lists is not empty4082 does not creates the default lists4083 when project labels does not contains any list label4084 creates labels4085 when project labels contains some of list label4086 creates the missing labels4087Gitlab::IssuableMetadata4088 returns an empty Hash if an empty collection is provided4089 raises an error when given a collection with no limit4090 issues4091 aggregates stats on issues4092 merge requests4093 aggregates stats on merge requests4094CI YML Templates4095 template_name: "Android.gitlab-ci.yml"4096 is valid4097 require default stages to be included4098 template_name: "Android-Fastlane.gitlab-ci.yml"4099 is valid4100 require default stages to be included4101 template_name: "Auto-DevOps.gitlab-ci.yml"4102 is valid4103 require default stages to be included4104 template_name: "Bash.gitlab-ci.yml"4105 is valid4106 require default stages to be included4107 template_name: "C++.gitlab-ci.yml"4108 is valid4109 require default stages to be included4110 template_name: "Chef.gitlab-ci.yml"4111 is valid4112 require default stages to be included4113 template_name: "Clojure.gitlab-ci.yml"4114 is valid4115 require default stages to be included4116 template_name: "Code-Quality.gitlab-ci.yml"4117 is valid4118 require default stages to be included4119 template_name: "Crystal.gitlab-ci.yml"4120 is valid4121 require default stages to be included4122 template_name: "Django.gitlab-ci.yml"4123 is valid4124 require default stages to be included4125 template_name: "Docker.gitlab-ci.yml"4126 is valid4127 require default stages to be included4128 template_name: "Elixir.gitlab-ci.yml"4129 is valid4130 require default stages to be included4131 template_name: "Go.gitlab-ci.yml"4132 is valid4133 require default stages to be included4134 template_name: "Gradle.gitlab-ci.yml"4135 is valid4136 require default stages to be included4137 template_name: "Grails.gitlab-ci.yml"4138 is valid4139 require default stages to be included4140 template_name: "Julia.gitlab-ci.yml"4141 is valid4142 require default stages to be included4143 template_name: "LaTeX.gitlab-ci.yml"4144 is valid4145 require default stages to be included4146 template_name: "Laravel.gitlab-ci.yml"4147 is valid4148 require default stages to be included4149 template_name: "Maven.gitlab-ci.yml"4150 is valid4151 require default stages to be included4152 template_name: "Mono.gitlab-ci.yml"4153 is valid4154 require default stages to be included4155 template_name: "Nodejs.gitlab-ci.yml"4156 is valid4157 require default stages to be included4158 template_name: "OpenShift.gitlab-ci.yml"4159 is valid4160 require default stages to be included4161 template_name: "PHP.gitlab-ci.yml"4162 is valid4163 require default stages to be included4164 template_name: "Packer.gitlab-ci.yml"4165 is valid4166 require default stages to be included4167 template_name: "Python.gitlab-ci.yml"4168 is valid4169 require default stages to be included4170 template_name: "Ruby.gitlab-ci.yml"4171 is valid4172 require default stages to be included4173 template_name: "Rust.gitlab-ci.yml"4174 is valid4175 require default stages to be included4176 template_name: "Scala.gitlab-ci.yml"4177 is valid4178 require default stages to be included4179 template_name: "Serverless.gitlab-ci.yml"4180 is valid4181 require default stages to be included4182 template_name: "Swift.gitlab-ci.yml"4183 is valid4184 require default stages to be included4185 template_name: "Terraform.gitlab-ci.yml"4186 is valid4187 require default stages to be included4188 template_name: "dotNET.gitlab-ci.yml"4189 is valid4190 require default stages to be included4191 template_name: "iOS-Fastlane.gitlab-ci.yml"4192 is valid4193 require default stages to be included4194 template_name: "Pages/Brunch.gitlab-ci.yml"4195 is valid4196 require default stages to be included4197 template_name: "Pages/Doxygen.gitlab-ci.yml"4198 is valid4199 require default stages to be included4200 template_name: "Pages/Gatsby.gitlab-ci.yml"4201 is valid4202 require default stages to be included4203 template_name: "Pages/HTML.gitlab-ci.yml"4204 is valid4205 require default stages to be included4206 template_name: "Pages/Harp.gitlab-ci.yml"4207 is valid4208 require default stages to be included4209 template_name: "Pages/Hexo.gitlab-ci.yml"4210 is valid4211 require default stages to be included4212 template_name: "Pages/Hugo.gitlab-ci.yml"4213 is valid4214 require default stages to be included4215 template_name: "Pages/Hyde.gitlab-ci.yml"4216 is valid4217 require default stages to be included4218 template_name: "Pages/JBake.gitlab-ci.yml"4219 is valid4220 require default stages to be included4221 template_name: "Pages/Jekyll.gitlab-ci.yml"4222 is valid4223 require default stages to be included4224 template_name: "Pages/Jigsaw.gitlab-ci.yml"4225 is valid4226 require default stages to be included4227 template_name: "Pages/Lektor.gitlab-ci.yml"4228 is valid4229 require default stages to be included4230 template_name: "Pages/Metalsmith.gitlab-ci.yml"4231 is valid4232 require default stages to be included4233 template_name: "Pages/Middleman.gitlab-ci.yml"4234 is valid4235 require default stages to be included4236 template_name: "Pages/Nanoc.gitlab-ci.yml"4237 is valid4238 require default stages to be included4239 template_name: "Pages/Octopress.gitlab-ci.yml"4240 is valid4241 require default stages to be included4242 template_name: "Pages/Pelican.gitlab-ci.yml"4243 is valid4244 require default stages to be included4245 template_name: "Pages/SwaggerUI.gitlab-ci.yml"4246 is valid4247 require default stages to be included4248Projects::MoveProjectAuthorizationsService4249 #execute4250 moves the authorizations from one project to another4251 does not move existent authorizations to the current project4252 when remove_remaining_elements is false4253 does not remove remaining project authorizations4254notify/pipeline_failed_email.text.erb4255 renders the email correctly4256 behaves like correct pipeline information for pipelines for merge requests4257 when pipeline for merge request4258 renders a source ref of the pipeline4259Gitlab::Email::Smime::Signer4260 signs data appropriately with SMIME4261Notes::ResolveService4262 #execute4263 resolves the note4264 sends notifications if all discussions are resolved4265shared/runners/show.html.haml4266 Page title4267 sets proper page title4268 Runner id and type4269 when runner is of type instance4270 should text "Runner #3 Shared"4271 when runner is of type group4272 should text "Runner #4 Group"4273 when runner is of type project4274 should text "Runner #5 Specific"4275 Active value4276 when runner is active4277 should text "Active Yes"4278 when runner is inactive4279 should text "Active No"4280 Protected value4281 when runner is not protected4282 should text "Protected No"4283 when runner is protected4284 should text "Protected Yes"4285 Can run untagged jobs value4286 when runner run untagged job is set4287 should text "Can run untagged jobs Yes"4288 when runner run untagged job is unset4289 should text "Can run untagged jobs No"4290 Locked to this project value4291 when runner locked is not set4292 should text "Locked to this project No"4293 when runner is of type group4294 should not text "Locked to this project"4295 when runner locked is set4296 should text "Locked to this project Yes"4297 when runner is of type group4298 should not text "Locked to this project"4299 Tags value4300 when runner does not have tags4301 should text "Tags"4302 should not have visible css "span.badge.badge-primary"4303 when runner have tags4304 should text "Tags tag1 tag2 tag3"4305 should have visible css "span.badge.badge-primary"4306 Metadata values4307 should text "Name test runner"4308 should text "Version 11.4.0"4309 should text "IP Address 127.1.2.3"4310 should text "Revision abcd1234"4311 should text "Platform darwin"4312 should text "Architecture amd64"4313 should text "Description My runner26"4314 Maximum job timeout value4315 should text "Maximum job timeout 1h 30m"4316 Last contact value4317 when runner have not contacted yet4318 should text "Last contact Never"4319 when runner have already contacted4320 should text "Last contact Oct 09, 2019"4321Gitlab::SlashCommands::Run4322 .available?4323 returns true when builds are enabled for the project4324 returns false when builds are disabled for the project4325 returns false when chatops is not available4326 .allowed?4327 returns true when the user can create a pipeline4328 returns false when the user can not create a pipeline4329 #execute4330 when a pipeline could not be scheduled4331 returns an error4332 when a pipeline could be created but the chat service was not supported4333 returns an error4334 using a valid pipeline4335 schedules the pipeline4336Gitlab::Ci::YamlProcessor4337 #build_attributes4338 attributes list4339 returns valid build attributes4340 with job rules4341 returns valid build attributes4342 coverage entry4343 code coverage regexp4344 includes coverage regexp in build attributes4345 interruptible entry4346 interruptible job4347 should be truthy4348 interruptible job with default value4349 should not have key :interruptible4350 uninterruptible job4351 should be falsy4352 retry entry4353 when retry count is specified4354 includes retry count in build options attribute4355 when retry count is not specified4356 does not persist retry count in the database4357 allow failure entry4358 when job is a manual action4359 when allow_failure is defined4360 is not allowed to fail4361 when allow_failure is not defined4362 is allowed to fail4363 when job is not a manual action4364 when allow_failure is defined4365 is not allowed to fail4366 when allow_failure is not defined4367 is not allowed to fail4368 delayed job entry4369 when delayed is defined4370 has the attributes4371 #stages_attributes4372 returns stages seed attributes4373 only / except policies validations4374 when `only` has an invalid value4375 when it is integer4376 should raise Gitlab::Ci::YamlProcessor::ValidationError with "jobs:rspec:only has to be either an array of conditions or a hash"4377 when it is an array of integers4378 should raise Gitlab::Ci::YamlProcessor::ValidationError with "jobs:rspec:only config should be an array of strings or regexps"4379 when it is invalid regex4380 should raise Gitlab::Ci::YamlProcessor::ValidationError with "jobs:rspec:only config should be an array of strings or regexps"4381 when `except` has an invalid value4382 when it is integer4383 should raise Gitlab::Ci::YamlProcessor::ValidationError with "jobs:rspec:except has to be either an array of conditions or a hash"4384 when it is an array of integers4385 should raise Gitlab::Ci::YamlProcessor::ValidationError with "jobs:rspec:except config should be an array of strings or regexps"4386 when it is invalid regex4387 should raise Gitlab::Ci::YamlProcessor::ValidationError with "jobs:rspec:except config should be an array of strings or regexps"4388 Scripts handling4389 before_script4390 in global context4391 return commands with scripts concencaced4392 in default context4393 return commands with scripts concencaced4394 overwritten in local context4395 return commands with scripts concencaced4396 script4397 return commands with scripts concencaced4398 after_script4399 in global context4400 return after_script in options4401 in default context4402 return after_script in options4403 overwritten in local context4404 return after_script in options4405 Image and service handling4406 when extended docker configuration is used4407 returns image and service when defined4408 returns image and service when overridden for job4409 when etended docker configuration is not used4410 returns image and service when defined4411 returns image and service when overridden for job4412 Variables4413 when global variables are defined4414 returns global variables4415 when job and global variables are defined4416 returns all unique variables4417 when job variables are defined4418 when syntax is correct4419 returns job variables4420 when syntax is incorrect4421 when variables defined but invalid4422 raises error4423 when variables key defined but value not specified4424 returns empty array4425 when job variables are not defined4426 returns empty array4427 when using `extends`4428 when using simple `extends`4429 correctly extends rspec job4430 when using recursive `extends`4431 correctly extends rspec job4432 Include4433 when validating a ci config file with no project context4434 when a single string is provided4435 returns a validation error4436 when an array is provided4437 returns a validation error4438 when an array of wrong keyed object is provided4439 returns a validation error4440 when an array of mixed typed objects is provided4441 does not return any error4442 when the include type is incorrect4443 returns an invalid configuration error4444 when validating a ci config file within a project4445 when the included internal file is present4446 does not return an error4447 when the included internal file is not present4448 returns an error with missing file details4449 when:4450 on_success creates one build and sets when:4451 on_failure creates one build and sets when:4452 always creates one build and sets when:4453 manual creates one build and sets when:4454 delayed4455 with start_in4456 creates one build and sets when:4457 without start_in4458 raises an error4459 Parallel4460 when job is parallelized4461 returns parallelized jobs4462 does not have the original job4463 cache4464 returns cache when defined globally4465 returns cache when defined in default context4466 returns cache when defined in a job4467 overwrite cache when defined for a job and globally4468 when cache definition has unknown keys4469 raises relevant validation error4470 Artifacts4471 returns artifacts when defined4472 returns artifacts for when on_success defined4473 returns artifacts for when on_failure defined4474 returns artifacts for when always defined4475 #environment4476 when a production environment is specified4477 does return production4478 when hash is specified4479 does return production and URL4480 the url has a port as variable4481 allows a variable for the port4482 when no environment is specified4483 does return nil environment4484 is not a string4485 raises error4486 is not a valid string4487 raises error4488 when on_stop is specified4489 with matching job4490 does return a list of builds4491 without matching job4492 raises error4493 with close job without environment4494 raises error4495 with close job for different environment4496 raises error4497 with close job without stop action4498 raises error4499 Timeout4500 when no timeout was provided4501 does not include job_timeout4502 when an invalid timeout was provided4503 raises an error for invalid number4504 when some valid timeout was provided4505 returns provided timeout value4506 Dependencies4507 no dependencies4508 should not raise Exception4509 dependencies to builds4510 should not raise Exception4511 dependencies to builds defined as symbols4512 should not raise Exception4513 undefined dependency4514 should raise Gitlab::Ci::YamlProcessor::ValidationError with "test1 job: undefined dependency: undefined"4515 dependencies to deploy4516 should raise Gitlab::Ci::YamlProcessor::ValidationError with "test1 job: dependency deploy is not defined in prior stages"4517 when a job depends on another job that references a not-yet defined stage4518 should raise Gitlab::Ci::YamlProcessor::ValidationError with message matching /is not defined in prior stages/4519 Needs4520 no needs4521 should not raise Exception4522 needs two builds4523 does create jobs with valid specification4524 needs two builds defined as symbols4525 should not raise Exception4526 undefined need4527 should raise Gitlab::Ci::YamlProcessor::ValidationError with "test1 job: undefined need: undefined"4528 needs to deploy4529 should raise Gitlab::Ci::YamlProcessor::ValidationError with "test1 job: need deploy is not defined in prior stages"4530 needs and dependencies that are mismatching4531 should raise Gitlab::Ci::YamlProcessor::ValidationError with "jobs:test1 dependencies the build2 should be part of needs"4532 with when/rules conflict4533 raises no exceptions4534 returns all jobs regardless of their inclusion4535 used with job-level when4536 raises a ValidationError4537 used with job-level when:delayed4538 raises a ValidationError4539 Hidden jobs4540 when hidden job have a script definition4541 behaves like hidden_job_handling4542 doesn't create jobs that start with dot4543 when hidden job doesn't have a script definition4544 behaves like hidden_job_handling4545 doesn't create jobs that start with dot4546 YAML Alias/Anchor4547 when template is a job4548 behaves like job_templates_handling4549 is correctly supported for jobs4550 when template is a hidden job4551 behaves like job_templates_handling4552 is correctly supported for jobs4553 when job adds its own keys to a template definition4554 behaves like job_templates_handling4555 is correctly supported for jobs4556 Error handling4557 fails to parse YAML4558 indicates that object is invalid4559 returns errors if tags parameter is invalid4560 returns errors if before_script parameter is invalid4561 returns errors if job before_script parameter is not an array of strings4562 returns errors if after_script parameter is invalid4563 returns errors if job after_script parameter is not an array of strings4564 returns errors if image parameter is invalid4565 returns errors if job name is blank4566 returns errors if job name is non-string4567 returns errors if job image parameter is invalid4568 returns errors if services parameter is not an array4569 returns errors if services parameter is not an array of strings4570 returns errors if job services parameter is not an array4571 returns errors if job services parameter is not an array of strings4572 returns error if job configuration is invalid4573 returns errors if services configuration is not correct4574 returns errors if there are no jobs defined4575 returns errors if there are no visible jobs defined4576 returns errors if job allow_failure parameter is not an boolean4577 returns errors if job stage is not a string4578 returns errors if job stage is not a pre-defined stage4579 returns errors if job stage is not a defined stage4580 returns errors if stages is not an array4581 returns errors if stages is not an array of strings4582 returns errors if variables is not a map4583 returns errors if variables is not a map of key-value strings4584 returns errors if job when is not on_success, on_failure or always4585 returns errors if job artifacts:name is not an a string4586 returns errors if job artifacts:when is not an a predefined value4587 returns errors if job artifacts:expire_in is not an a string4588 returns errors if job artifacts:expire_in is not an a valid duration4589 returns errors if job artifacts:untracked is not an array of strings4590 returns errors if job artifacts:paths is not an array of strings4591 returns errors if cache:untracked is not an array of strings4592 returns errors if cache:paths is not an array of strings4593 returns errors if cache:key is not a string4594 returns errors if job cache:key is not an a string4595 returns errors if job cache:untracked is not an array of strings4596 returns errors if job cache:paths is not an array of strings4597 returns errors if job dependencies is not an array of strings4598 returns errors if pipeline variables expression policy is invalid4599 returns errors if pipeline changes policy is invalid4600 returns errors if extended hash configuration is invalid4601 #validation_message4602 when the YAML could not be parsed4603 should eq "Invalid configuration format"4604 when the tags parameter is invalid4605 should eq "jobs:rspec tags should be an array of strings"4606 when YAML content is empty4607 should eq "Please provide content of .gitlab-ci.yml"4608 when the YAML contains an unknown alias4609 should eq "Unknown alias: bad_alias"4610 when the YAML is valid4611 should be nil4612Deployments::FinishedWorker4613 #perform4614 executes project services for deployment_hooks4615 does not execute an inactive service4616 does nothing if a deployment with the given id does not exist4617MergeRequests::ResolvedDiscussionNotificationService4618 #execute4619 when not all discussions are resolved4620 doesn't add a system note4621 doesn't send a notification email4622 when all discussions are resolved4623 adds a system note4624 sends a notification email4625Gitlab::ImportExport::WikiRestorer4626 restore a wiki Git repo4627 restores the wiki repo successfully4628 no wiki in the bundle4629 creates an empty wiki4630MigrateDiscussionIdOnPromotedEpics4631NOTICE: trigger "trigger_36edafd19664" for relation "epics" does not exist, skipping4632NOTICE: trigger "trigger_dd1443fbd36e" for relation "application_settings" does not exist, skipping4633NOTICE: trigger "trigger_806273a4d8be" for relation "application_settings" does not exist, skipping4634 with promoted epic4635 correctly schedules background migrations in batches4636 schedules only promoted epics4637NOTICE: trigger "trigger_806273a4d8be" for relation "application_settings" does not exist, skipping4638NOTICE: trigger "trigger_dd1443fbd36e" for relation "application_settings" does not exist, skipping4639NOTICE: trigger "trigger_84853438aac0" for relation "epics" does not exist, skipping4640RemoveUnreferencedLfsObjectsWorker4641 #perform4642 removes unreferenced lfs objects4643 leaves referenced lfs objects4644 removes unreferenced lfs objects after project removal4645RepositoryUpdateRemoteMirrorWorker4646 #perform46472019-10-15T08:49:07.733Z 177 TID-gni4q9qsd INFO: Removing remote remote_mirror_1 from project 92946482019-10-15T08:49:07.733Z 177 TID-gni4q9qsd ERROR: Could not remove remote remote_mirror_1 from project 9294649 calls out to the service to perform the update46502019-10-15T08:49:07.974Z 177 TID-gni4q9qsd INFO: Removing remote remote_mirror_2 from project 93046512019-10-15T08:49:07.974Z 177 TID-gni4q9qsd ERROR: Could not remove remote remote_mirror_2 from project 9304652 does not do anything if the mirror was already updated46532019-10-15T08:49:08.196Z 177 TID-gni4q9qsd INFO: Removing remote remote_mirror_3 from project 93146542019-10-15T08:49:08.196Z 177 TID-gni4q9qsd ERROR: Could not remove remote remote_mirror_3 from project 9314655 schedules a retry when the mirror is marked for retrying46562019-10-15T08:49:08.402Z 177 TID-gni4q9qsd INFO: Removing remote remote_mirror_4 from project 93246572019-10-15T08:49:08.402Z 177 TID-gni4q9qsd ERROR: Could not remove remote remote_mirror_4 from project 9324658 clears the lease if there was an unexpected exception46592019-10-15T08:49:08.607Z 177 TID-gni4q9qsd INFO: Removing remote remote_mirror_5 from project 93346602019-10-15T08:49:08.607Z 177 TID-gni4q9qsd ERROR: Could not remove remote remote_mirror_5 from project 9334661 retries 3 times for the worker to finish before rescheduling4662TestSuiteEntity4663 #as_json4664 contains the suite name4665 contains the total time4666 contains the counts4667 contains the test cases4668ChatNames::FindUserService4669 #execute4670 find user mapping4671 when existing user is requested4672 returns the existing chat_name4673 updates the last used timestamp if one is not already set4674 only updates an existing timestamp once within a certain time frame4675 when different user is requested4676 returns existing user4677ButtonHelper4678 http_clone_button4679 with internal auth enabled4680 when user has a password4681 shows no tooltip4682 when user has password automatically set4683 shows the password text on the dropdown4684 with internal auth disabled4685 when user has no personal access tokens4686 has a personal access token text on the dropdown description4687 when user has personal access tokens4688 does not have a personal access token text on the dropdown description4689 when user is ldap user4690 shows no tooltip4691 ssh_button4692 without an ssh key on the user4693 shows a warning on the dropdown description4694 without an ssh key on the user and user_show_add_ssh_key_message unset4695 there is no warning on the dropdown description4696 with an ssh key on the user4697 there is no warning on the dropdown description4698 ssh and http clone buttons4699 only shows the title of any of the clone buttons when append_link is false4700 clipboard_button4701 with default options4702 when no `text` attribute is not provided4703 shows copy to clipboard button with default configuration and no text set to copy4704 when `text` attribute is provided4705 shows copy to clipboard button with provided `text` to copy4706 when `title` attribute is provided4707 shows copy to clipboard button with provided `title` as tooltip4708 with `button_text` attribute provided4709 shows copy to clipboard button with provided `button_text` as button label4710 with `hide_tooltip` attribute provided4711 shows copy to clipboard button without tooltip support4712 with `hide_button_icon` attribute provided4713 shows copy to clipboard button without tooltip support4714ChangePackagesSizeDefaultsInProjectStatistics4715NOTICE: trigger "trigger_36edafd19664" for relation "epics" does not exist, skipping4716NOTICE: trigger "trigger_dd1443fbd36e" for relation "application_settings" does not exist, skipping4717NOTICE: trigger "trigger_806273a4d8be" for relation "application_settings" does not exist, skipping4718 removes null packages_size4719 defaults packages_size to 04720NOTICE: table "geo_container_repository_updated_events" does not exist, skipping4721NOTICE: trigger "trigger_806273a4d8be" for relation "application_settings" does not exist, skipping4722NOTICE: trigger "trigger_dd1443fbd36e" for relation "application_settings" does not exist, skipping4723NOTICE: trigger "trigger_84853438aac0" for relation "epics" does not exist, skipping4724Notes::DestroyService4725 #execute4726 deletes a note4727 updates the todo counts for users with todos for the note4728 noteable highlight cache clearing4729 clears noteable diff cache when it was unfolded for the note position4730 does not clear cache when note is not the first of the discussion4731Tree4732 #readme4733 returns nil when repository does not contains a README file4734 returns nil when repository does not contains a previewable README file4735 returns README when repository contains a previewable README file4736 returns first previewable README when repository contains more than one4737 returns first plain text README when repository contains more than one4738 prioritizes previewable README file over one in plain text4739AwardEmojiPresenter4740 #description4741 should eq "thumbs up sign"4742 #unicode4743 should eq "1F44D"4744 #unicode_version4745 should eq "6.0"4746 #emoji4747 should eq "👍"4748 when presenting an award emoji with an invalid name4749 returns nil for all properties4750Boards::VisitsFinder4751 #latest4752 when a project board4753 returns nil when there is no user4754 queries for most recent visit4755 queries for last N visits4756 when a group board4757 returns nil when there is no user4758 queries for most recent visit4759 queries for last N visits4760Gitlab::Ci::Build::Policy::Variables4761 #satisfied_by?4762 is satisfied by at least one matching statement4763 is satisfied by a matching pipeline variable4764 is not satisfied by an overridden empty variable4765 is satisfied by a truthy pipeline expression4766 is not satisfied by a falsy pipeline expression4767 is satisfied by a truthy expression using undefined variable4768 is not satisfied by a falsy expression using undefined variable4769 allows to evaluate regular CI variables4770 does not persist neither pipeline nor build4771 when a bridge job is used4772 is satisfied by a matching expression for a bridge job4773 when using project ci variables in environment scope4774 is satisfied by scoped variable match4775 is not satisfied when matching against overridden variable4776Gitlab::LegacyGithubImport::MilestoneFormatter4777 when importing a GitHub project4778 behaves like Gitlab::LegacyGithubImport::MilestoneFormatter#attributes4779 when milestone is open4780 returns formatted attributes4781 when milestone is closed4782 returns formatted attributes4783 when milestone has a due date4784 returns formatted attributes4785 when importing a Gitea project4786 behaves like Gitlab::LegacyGithubImport::MilestoneFormatter#attributes4787 when milestone is open4788 returns formatted attributes4789 when milestone is closed4790 returns formatted attributes4791 when milestone has a due date4792 returns formatted attributes4793ChatNames::AuthorizeUserService4794 #execute4795 when all parameters are valid4796 produces a valid HTTP URL4797 requests a new token4798 when there are missing parameters4799 does not produce a URL4800 does not request a new token4801ErrorTracking::ListIssuesService4802 #execute4803 with authorized user4804 when list_sentry_issues returns issues4805 returns the issues4806 when list_sentry_issues returns nil4807 result is not ready4808 when list_sentry_issues returns error4809 returns the error4810 when list_sentry_issues returns error with http_status4811 returns the error with correct http_status4812 with unauthorized user4813 returns error4814 with error tracking disabled4815 raises error4816 #sentry_external_url4817 calls ErrorTracking::ProjectErrorTrackingSetting4818Sentry::Client4819 #list_issues4820 behaves like calls sentry api4821 calls sentry api4822 behaves like has correct return type4823 returns objects of type Gitlab::ErrorTracking::Error4824 behaves like has correct length4825 should eq 14826 error object created from sentry response4827 error_object: :id, sentry_response: :id4828 should eq "11"4829 error_object: :first_seen, sentry_response: :firstSeen4830 should eq "2018-12-17T12:00:14Z"4831 error_object: :last_seen, sentry_response: :lastSeen4832 should eq "2018-12-31T12:00:11Z"4833 error_object: :title, sentry_response: :title4834 should eq "gaierror: [Errno -2] Name or service not known"4835 error_object: :type, sentry_response: :type4836 should eq "error"4837 error_object: :user_count, sentry_response: :userCount4838 should eq 04839 error_object: :count, sentry_response: :count4840 should eq "21"4841 error_object: :message, sentry_response: [:metadata, :value]4842 should eq "[Errno -2] Name or service not known"4843 error_object: :culprit, sentry_response: :culprit4844 should eq "sentry.tasks.reports.deliver_organization_user_report"4845 error_object: :short_id, sentry_response: :shortId4846 should eq "INTERNAL-4"4847 error_object: :status, sentry_response: :status4848 should eq "unresolved"4849 error_object: :frequency, sentry_response: [:stats, "24h"]4850 should eq [[1546437600, 0]]4851 error_object: :project_id, sentry_response: [:project, :id]4852 should eq "1"4853 error_object: :project_name, sentry_response: [:project, :name]4854 should eq "Internal"4855 error_object: :project_slug, sentry_response: [:project, :slug]4856 should eq "internal"4857 behaves like has correct external_url4858 external_url4859 is constructed correctly4860 redirects4861 behaves like no redirects4862 does not follow redirects4863 extra slashes in URL4864 removes extra slashes in api url4865 Older sentry versions where keys are not present4866 behaves like calls sentry api4867 calls sentry api4868 behaves like has correct return type4869 returns objects of type Gitlab::ErrorTracking::Error4870 behaves like has correct length4871 should eq 14872 behaves like has correct external_url4873 external_url4874 is constructed correctly4875 essential keys missing in API response4876 raises exception4877 behaves like maps exceptions4878 HTTParty::Error4879 should raise Sentry::Client::Error with "Error when connecting to Sentry"4880 Net::OpenTimeout4881 should raise Sentry::Client::Error with "Connection to Sentry timed out"4882 SocketError4883 should raise Sentry::Client::Error with "Received SocketError when trying to connect to Sentry"4884 OpenSSL::SSL::SSLError4885 should raise Sentry::Client::Error with "Sentry returned invalid SSL data"4886 Errno::ECONNREFUSED4887 should raise Sentry::Client::Error with "Connection refused"4888 StandardError4889 should raise Sentry::Client::Error with "Sentry request failed due to StandardError"4890 #list_projects4891 behaves like calls sentry api4892 calls sentry api4893 behaves like has correct return type4894 returns objects of type Gitlab::ErrorTracking::Project4895 behaves like has correct length4896 should eq 24897 essential keys missing in API response4898 raises exception4899 optional keys missing in sentry response4900 behaves like calls sentry api4901 calls sentry api4902 behaves like has correct return type4903 returns objects of type Gitlab::ErrorTracking::Project4904 behaves like has correct length4905 should eq 14906 error object created from sentry response4907 sentry_project_object: :id, sentry_response: :id4908 should eq "2"4909 sentry_project_object: :name, sentry_response: :name4910 should eq "sentry-example"4911 sentry_project_object: :status, sentry_response: :status4912 should eq "active"4913 sentry_project_object: :slug, sentry_response: :slug4914 should eq "sentry-example"4915 sentry_project_object: :organization_name, sentry_response: [:organization, :name]4916 should eq "Sentry"4917 sentry_project_object: :organization_id, sentry_response: [:organization, :id]4918 should eq "1"4919 sentry_project_object: :organization_slug, sentry_response: [:organization, :slug]4920 should eq "sentry"4921 redirects4922 behaves like no redirects4923 does not follow redirects4924 extra slashes in URL4925 removes extra slashes in api url4926 when exception is raised4927 behaves like maps exceptions4928 HTTParty::Error4929 should raise Sentry::Client::Error with "Error when connecting to Sentry"4930 Net::OpenTimeout4931 should raise Sentry::Client::Error with "Connection to Sentry timed out"4932 SocketError4933 should raise Sentry::Client::Error with "Received SocketError when trying to connect to Sentry"4934 OpenSSL::SSL::SSLError4935 should raise Sentry::Client::Error with "Sentry returned invalid SSL data"4936 Errno::ECONNREFUSED4937 should raise Sentry::Client::Error with "Connection refused"4938 StandardError4939 should raise Sentry::Client::Error with "Sentry request failed due to StandardError"4940Gitlab::LoopHelpers4941 #loop_until4942 when limit is not given4943 raises an error4944 when timeout is specified4945 returns false after it's expired4946 executes the block at least once4947 when iteration limit is specified4948 returns false after it's expired4949 executes the block once4950layouts/nav/sidebar/_admin4951 on home page4952 behaves like page has active tab4953 activates Overview tab4954 behaves like has nav sidebar4955 has collapsed nav sidebar on mobile4956 on projects4957 behaves like page has active tab4958 activates Overview tab4959 behaves like page has active sub tab4960 activates Projects sub tab4961 on groups4962 behaves like page has active tab4963 activates Overview tab4964 behaves like page has active sub tab4965 activates Groups sub tab4966 on users4967 behaves like page has active tab4968 activates Overview tab4969 behaves like page has active sub tab4970 activates Users sub tab4971 on logs4972 behaves like page has active tab4973 activates Monitoring tab4974 behaves like page has active sub tab4975 activates Logs sub tab4976 on messages4977 behaves like page has active tab4978 activates Messages tab4979 on hooks4980 behaves like page has active tab4981 activates Hooks tab4982 on background jobs4983 behaves like page has active tab4984 activates Monitoring tab4985 behaves like page has active sub tab4986 activates Background Jobs sub tab4987MergeWorker4988 remove source branch4989 clears cache of source repo after removing source branch4990CleanupStagesPositionMigration4991NOTICE: trigger "trigger_36edafd19664" for relation "epics" does not exist, skipping4992NOTICE: trigger "trigger_dd1443fbd36e" for relation "application_settings" does not exist, skipping4993NOTICE: trigger "trigger_806273a4d8be" for relation "application_settings" does not exist, skipping4994 when there are pending background migrations4995 processes pending jobs synchronously4996 when there are no background migrations pending4997 does nothing4998 when there are still unmigrated stages present4999 migrates stages sequentially for every stage5000NOTICE: table "design_management_designs" does not exist, skipping5001NOTICE: table "design_management_designs_versions" does not exist, skipping5002NOTICE: table "design_management_versions" does not exist, skipping5003NOTICE: table "geo_container_repository_updated_events" does not exist, skipping5004NOTICE: trigger "trigger_806273a4d8be" for relation "application_settings" does not exist, skipping5005NOTICE: trigger "trigger_dd1443fbd36e" for relation "application_settings" does not exist, skipping5006NOTICE: trigger "trigger_84853438aac0" for relation "epics" does not exist, skipping5007PagesDomainSslRenewalCronWorker5008 #perform5009 enqueues a PagesDomainSslRenewalWorker for domains needing renewal5010 when letsencrypt integration is disabled5011 does nothing5012AddPipelineBuildForeignKey5013NOTICE: trigger "trigger_36edafd19664" for relation "epics" does not exist, skipping5014NOTICE: trigger "trigger_dd1443fbd36e" for relation "application_settings" does not exist, skipping5015NOTICE: trigger "trigger_806273a4d8be" for relation "application_settings" does not exist, skipping5016 adds foreign key after removing orphans5017NOTICE: table "design_management_designs" does not exist, skipping5018NOTICE: table "design_management_designs_versions" does not exist, skipping5019NOTICE: table "design_management_versions" does not exist, skipping5020NOTICE: table "geo_container_repository_updated_events" does not exist, skipping5021NOTICE: trigger "trigger_806273a4d8be" for relation "application_settings" does not exist, skipping5022NOTICE: trigger "trigger_dd1443fbd36e" for relation "application_settings" does not exist, skipping5023NOTICE: trigger "trigger_84853438aac0" for relation "epics" does not exist, skipping5024Backup::Files5025 #restore5026 folders with permission5027 moves all necessary files5028 raises no errors5029 calls tar command with unlink5030 folders without permissions5031 shows error message5032 folders that are a mountpoint5033 shows error message5034GroupMemberPresenter5035 #can_resend_invite?5036 when group_member is invited5037 and user can admin_group_member5038 should eq true5039 and user cannot admin_group_member5040 should eq false5041 when group_member is not invited5042 and user can admin_group_member5043 should eq false5044 and user cannot admin_group_member5045 should eq false5046 #can_update?5047 when user can update_group_member5048 should eq true5049 when user cannot update_group_member5050 should eq false5051 #can_remove?5052 when user can destroy_group_member5053 should eq true5054 when user cannot destroy_group_member5055 should eq false5056 #can_approve?5057 when group_member has request an invite5058 when user can update_group_member5059 should eq true5060 when user cannot update_group_member5061 should eq false5062 when group_member did not request an invite5063 when user can update_group_member5064 should eq false5065 when user cannot update_group_member5066 should eq false5067 behaves like #valid_level_roles5068 returns all roles when no parent member is present5069 returns higher roles when a parent member is present5070Tags::DestroyService5071 #execute5072 removes the tag5073 when there is an associated release on the tag5074 destroys the release5075Import/Export attribute configuration5076 has no new columns5077Gitlab::BitbucketImport::ProjectCreator5078 creates project5079Gitlab::Prometheus::Queries::DeploymentQuery5080 sends appropriate queries to prometheus5081AnalyticsMergeRequestSerializer5082 when there is a single object provided5083 contains important elements of the merge request5084ProtectableDropdown5085 initialize5086 raises ArgumentError for invalid ref type5087 #protectable_ref_names5088 should include "feature"5089 should not include "master"5090 includes branches matching a protected branch wildcard5091Gitlab::Diff::ParallelDiff5092 #parallelize5093 returns an array of arrays containing the parsed diff5094Gitlab::Git::Compare5095 #commits5096 has 8 elements5097 should include "6f6d7e7ed97bb5f0054f2b1df789b39ca89b6ff9"5098 should not include "cfe32cf61b73a0d5e9f13e774abde7ff789b1660"5099 non-existing base ref5100 should be empty5101 non-existing head ref5102 should be empty5103 base ref is equal to head ref5104 should be empty5105 providing nil as base ref or head ref5106 should be empty5107 #diffs5108 has 10 elements5109 should include "files/ruby/popen.rb"5110 should not include "LICENSE"5111 non-existing base ref5112 should be empty5113 non-existing head ref5114 should be empty5115 #same5116 should eq false5117 base ref is equal to head ref5118 should eq true5119 #commits straight compare5120 has 8 elements5121 should include "6f6d7e7ed97bb5f0054f2b1df789b39ca89b6ff9"5122 should not include "cfe32cf61b73a0d5e9f13e774abde7ff789b1660"5123 #diffs straight compare5124 has 10 elements5125 should include "files/ruby/popen.rb"5126 should not include "LICENSE"5127Gitlab::CycleAnalytics::PlanEventFetcher5128 behaves like default query config5129 has the stage attribute5130 has the projection attributes5131 no commits5132 does not blow up if there are no commits5133Gitlab::BackgroundMigration::SetConfidentialNoteEventsOnWebhooks5134NOTICE: trigger "trigger_36edafd19664" for relation "epics" does not exist, skipping5135NOTICE: trigger "trigger_dd1443fbd36e" for relation "application_settings" does not exist, skipping5136NOTICE: trigger "trigger_806273a4d8be" for relation "application_settings" does not exist, skipping5137NOTICE: trigger "trigger_f1016db1483e" for relation "users" does not exist, skipping5138 #perform5139 migrates hooks where note_events is true5140 ignores hooks where note_events is false5141 ignores hooks where confidential_note_events has already been set5142NOTICE: trigger "trigger_7dc952250ffd" for relation "users" does not exist, skipping5143NOTICE: table "design_management_designs" does not exist, skipping5144NOTICE: table "design_management_designs_versions" does not exist, skipping5145NOTICE: table "design_management_versions" does not exist, skipping5146NOTICE: table "geo_container_repository_updated_events" does not exist, skipping5147NOTICE: trigger "trigger_806273a4d8be" for relation "application_settings" does not exist, skipping5148NOTICE: trigger "trigger_dd1443fbd36e" for relation "application_settings" does not exist, skipping5149NOTICE: trigger "trigger_84853438aac0" for relation "epics" does not exist, skipping5150PipelineProcessWorker5151 #perform5152 when pipeline exists5153 processes pipeline5154 when build_ids are passed5155 processes pipeline with a list of builds5156 when pipeline does not exist5157 does not raise exception5158CreatePipelineWorker5159 #perform5160 when a project not found5161 does not call the Service5162 when a user not found5163 does not call the Service5164 when everything is ok5165 calls the Service5166CreateNoteDiffFileWorker5167 #perform5168 creates diff file5169Gitlab::Experimentation::ControllerConcern5170 #set_experimentation_subject_id_cookie5171 cookie is present5172 does not change the cookie5173 cookie is not present5174 sets a permanent signed cookie5175 #experiment_enabled?5176 cookie is not present5177 calls Gitlab::Experimentation.enabled? with the name of the experiment and an experimentation_subject_index of nil5178 cookie is present5179 calls Gitlab::Experimentation.enabled? with the name of the experiment and an experimentation_subject_index of the modulo 100 of the hex value of the uuid5180Gitlab::Experimentation5181 .enabled?5182 feature toggle is enabled, we are on the right environment and we are selected5183 should be truthy5184 experiment is not defined5185 returns false5186 feature toggle5187 feature toggle is not set5188 should be truthy5189 feature toggle is not set, but a feature with the experiment key as name does exist5190 should be falsey5191 feature toggle is disabled5192 should be falsey5193 environment5194 environment is not set5195 should be truthy5196 we are on the wrong environment5197 should be falsey5198 enabled ratio5199 enabled ratio is not set5200 should be falsey5201 experimentation_subject_index is not set5202 should be falsey5203 experimentation_subject_index is an empty string5204 should be falsey5205 experimentation_subject_index outside enabled ratio5206 should be falsey5207Users::SetStatusService5208 #execute5209 when params are set5210 creates a status5211 updates a status if it already existed5212 for another user5213 does not update the status if the current user is not allowed5214 the current user is admin5215 changes the status when the current user is allowed to do that5216 without params5217 deletes the status5218FixNullTypeLabels5219NOTICE: trigger "trigger_36edafd19664" for relation "epics" does not exist, skipping5220NOTICE: trigger "trigger_dd1443fbd36e" for relation "application_settings" does not exist, skipping5221NOTICE: trigger "trigger_806273a4d8be" for relation "application_settings" does not exist, skipping5222 #up5223 fix labels with type missing5224NOTICE: table "design_management_designs" does not exist, skipping5225NOTICE: table "design_management_designs_versions" does not exist, skipping5226NOTICE: table "design_management_versions" does not exist, skipping5227NOTICE: table "geo_container_repository_updated_events" does not exist, skipping5228NOTICE: trigger "trigger_806273a4d8be" for relation "application_settings" does not exist, skipping5229NOTICE: trigger "trigger_dd1443fbd36e" for relation "application_settings" does not exist, skipping5230NOTICE: trigger "trigger_84853438aac0" for relation "epics" does not exist, skipping5231Users::RespondToTermsService5232 #execute5233 creates a new agreement if it did not exist5234 updates an agreement if it existed5235 adds the accepted terms to the user5236 removes accepted terms when declining5237MigrateCreateTraceArtifactSidekiqQueue5238 when there are jobs in the queues5239 correctly migrates queue when migrating up5240 does not affect other queues under the same namespace5241 correctly migrates queue when migrating down5242 when there are no jobs in the queues5243 does not raise error when migrating up5244 does not raise error when migrating down5245BlobViewer::PackageJson5246 #package_name5247 returns the package name5248 #package_url5249 returns the package URL5250 #package_type5251 returns "package"5252 when package.json has "private": true5253 #package_url5254 when the homepage has a valid URL5255 returns homepage URL5256 when the homepage has an invalid URL5257 returns nil5258 #package_type5259 returns "private package"5260FlowdockService5261 Associations5262 should belong to project required:5263 should have one service_hook5264 Validations5265 when service is active5266 should validate that :token cannot be empty/falsy5267 when service is inactive5268 should not validate that :token cannot be empty/falsy5269 Execute5270 calls FlowDock API5271Gitlab::Auth::Saml::IdentityLinker5272 with valid GitLab initiated request5273 linked identity exists5274 doesn't create new identity5275 sets #changed? to false5276 identity needs to be created5277 creates linked identity5278 sets identity provider5279 sets identity extern_uid5280 sets #changed? to true5281 with identity provider initiated request5282 attempting to link accounts raises an exception5283MigrateClusterConfigureWorkerSidekiqQueue5284 when there are jobs in the queue5285 correctly migrates queue when migrating up5286 does not affect other queues under the same namespace5287 correctly migrates queue when migrating down5288 when there are no jobs in the queues5289 does not raise error when migrating up5290 does not raise error when migrating down5291Gitlab::Ci::Config::External::Mapper5292 #process5293 when single 'include' keyword is defined5294 when the string is a local file5295 returns File instances5296 when the key is a local file hash5297 returns File instances5298 when the string is a remote file5299 returns File instances5300 when the key is a remote file hash5301 returns File instances5302 when the key is a template file hash5303 returns File instances5304 when the key is a hash of file and remote5305 returns ambigious specification error5306 when 'include' is defined as an array5307 returns Files instances5308 when 'include' is defined as an array of hashes5309 returns Files instances5310 when it has ambigious match5311 returns ambigious specification error5312 when 'include' is not defined5313 returns an empty array5314 when duplicate 'include' is defined5315 raises an exception5316 when too many 'includes' are defined5317 raises an exception5318Gitlab::Blame5319 #groups5320 groups lines properly5321LfsObjectUploader5322 behaves like builds correct paths5323 #store_dir5324 behaves like matches the method pattern5325 should match /\h{2}\/\h{2}/5326 #cache_dir5327 behaves like matches the method pattern5328 should match /\/lfs-objects\/tmp\/cache/5329 #work_dir5330 behaves like matches the method pattern5331 should match /\/lfs-objects\/tmp\/work/5332 #upload_path5333 behaves like matches the method pattern5334 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5335 #relative_path5336 is relative (PENDING: Path not set, skipping.)5337 .absolute_path5338 behaves like matches the method pattern5339 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5340 .base_dir5341 behaves like matches the method pattern5342 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5343 object store is REMOTE5344 behaves like builds correct paths5345 #store_dir5346 behaves like matches the method pattern5347 should match /\h{2}\/\h{2}/5348 #cache_dir5349 behaves like matches the method pattern5350 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5351 #work_dir5352 behaves like matches the method pattern5353 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5354 #upload_path5355 behaves like matches the method pattern5356 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5357 #relative_path5358 is relative (PENDING: Path not set, skipping.)5359 .absolute_path5360 behaves like matches the method pattern5361 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5362 .base_dir5363 behaves like matches the method pattern5364 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5365 migration to object storage5366 with object storage disabled5367 is skipped5368 with object storage enabled5369 is scheduled to run after creation5370 remote file5371 with object storage enabled5372 can store file remotely5373Gitlab::CycleAnalytics::Updater5374 updates authors5375 maps the correct user5376 updates builds5377 maps the correct build5378Gitlab::Serializer::Pagination5379 #paginate5380 when a multiple resources are present in relation5381 correctly paginates the resource5382 appends relevant headers5383 when an invalid resource is about to be paginated5384 raises error5385Gitlab::Ci::Variables::Collection5386 .new5387 can be initialized with an array5388 can be initialized without an argument5389 #append5390 appends a hash5391 appends a Ci::Variable5392 appends an internal resource5393 returns self5394 #concat5395 appends all elements from an array5396 appends all elements from other collection5397 does not concatenate resource if it undefined5398 returns self5399 #+5400 makes it possible to combine with an array5401 makes it possible to combine with another collection5402 #to_runner_variables5403 creates an array of hashes in a runner-compatible format5404 #to_hash5405 returns regular hash in valid order without duplicates5406EnqueueVerifyPagesDomainWorkers5407NOTICE: trigger "trigger_36edafd19664" for relation "epics" does not exist, skipping5408NOTICE: trigger "trigger_dd1443fbd36e" for relation "application_settings" does not exist, skipping5409NOTICE: trigger "trigger_806273a4d8be" for relation "application_settings" does not exist, skipping5410NOTICE: trigger "trigger_f1016db1483e" for relation "users" does not exist, skipping5411 #up5412 enqueues a verification worker for every domain5413NOTICE: trigger "trigger_7dc952250ffd" for relation "users" does not exist, skipping5414NOTICE: table "design_management_designs" does not exist, skipping5415NOTICE: table "design_management_designs_versions" does not exist, skipping5416NOTICE: table "design_management_versions" does not exist, skipping5417NOTICE: table "geo_container_repository_updated_events" does not exist, skipping5418NOTICE: trigger "trigger_806273a4d8be" for relation "application_settings" does not exist, skipping5419NOTICE: trigger "trigger_dd1443fbd36e" for relation "application_settings" does not exist, skipping5420NOTICE: trigger "trigger_84853438aac0" for relation "epics" does not exist, skipping5421Gitlab::Ci::Config::Entry::Rules::Rule5422 .new5423 with a when: value but no clauses5424 should be valid5425 when specifying an if: clause5426 should be valid5427 #when5428 should eq "manual"5429 using a list of multiple expressions5430 should not be valid5431 reports an error about invalid format5432 when specifying an invalid if: clause expression5433 should not be valid5434 reports an error about invalid statement5435 when specifying an if: clause expression with an invalid token5436 should not be valid5437 reports an error about invalid statement5438 when using invalid regex in an if: clause5439 reports an error about invalid expression5440 when using an if: clause with lookahead regex character "?"5441 when allow_unsafe_ruby_regexp is disabled5442 should not be valid5443 reports an error about invalid expression syntax5444 when using a changes: clause5445 should be valid5446 when using a string as an invalid changes: clause5447 should not be valid5448 reports an error about invalid policy5449 when using a list as an invalid changes: clause5450 should not be valid5451 returns errors5452 when using a long list as an invalid changes: clause5453 should not be valid5454 returns errors5455 when using a exists: clause5456 should be valid5457 when using a string as an invalid exists: clause5458 should not be valid5459 reports an error about invalid policy5460 when using a list as an invalid exists: clause5461 should not be valid5462 returns errors5463 when using a long list as an invalid exists: clause5464 should not be valid5465 returns errors5466 specifying a delayed job5467 should be valid5468 sets attributes for the job delay5469 without a when: key5470 should not be valid5471 returns an error about the disallowed key5472 without a start_in: key5473 should not be valid5474 returns an error about tstart_in being blank5475 when specifying unknown policy5476 should not be valid5477 returns error about invalid key5478 when clause is empty5479 should not be valid5480 is not a valid configuration5481 when policy strategy does not match5482 should not be valid5483 returns information about errors5484 #value5485 when specifying an if: clause5486 stores the expression as "if"5487 when using a changes: clause5488 should eq {:changes=>["app/", "lib/", "spec/", "other/*", "paths/**/*.rb"]}5489 when default value has been provided5490 does not set a default value5491 does not add to provided configuration5492 when using a exists: clause5493 should eq {:exists=>["app/", "lib/", "spec/", "other/*", "paths/**/*.rb"]}5494 .default5495 does not have default value5496ProtectedTags::DestroyService5497 #execute5498 destroy a protected tag5499gitlab:gitaly namespace rake task5500 install5501 no dir given5502 aborts and display a help message5503 no storage path given5504 aborts and display a help message5505 when an underlying Git command fail5506 aborts and display a help message5507 checkout or clone5508 calls checkout_or_clone_version with the right arguments5509 gmake/make5510 gmake is available5511 calls gmake in the gitaly directory5512 gmake is not available5513 calls make in the gitaly directory5514 when Rails.env is test5515 calls make in the gitaly directory with --no-deployment flag for bundle5516Gitlab::GithubImport5517 .new_client_for5518 returns a new Client with a custom token5519 returns a new Client with a token stored in the import data5520 .ghost_user_id5521 returns the ID of the ghost user5522 caches the ghost user ID5523#<Doorkeeper::Config:0x00005574b0fe7e80>5524 #default_scopes5525 matches Gitlab::Auth::DEFAULT_SCOPES5526 #optional_scopes5527 matches Gitlab::Auth.optional_scopes5528 #resource_owner_authenticator5529 with a user present5530 returns the user5531 does not redirect5532 does not store the return path5533 without a user present5534 returns nil5535 redirects to the login form5536 stores the return path5537Gitlab::Regex5538 .project_name_regex5539 should match "gitlab-ce"5540 should match "GitLab CE"5541 should match "100 lines"5542 should match "gitlab.git"5543 should match "Český název"5544 should match "Dash – is this"5545 should not match "?gitlab"5546 .environment_name_regex5547 should match "foo"5548 should match "a"5549 should match "foo-1"5550 should match "FOO"5551 should match "foo/1"5552 should match "foo.1"5553 should not match "9&foo"5554 should not match "foo-^"5555 should not match "!!()()"5556 should not match "/foo"5557 should not match "foo/"5558 should not match "/foo/"5559 should not match "/"5560 .environment_scope_regex5561 should match "foo"5562 should match "foo*Z"5563 should not match "!!()()"5564 .environment_slug_regex5565 should match "foo"5566 should match "foo-1"5567 should not match "FOO"5568 should not match "foo/1"5569 should not match "foo.1"5570 should not match "foo*1"5571 should not match "9foo"5572 should not match "foo-"5573 .container_repository_name_regex5574 should match "image"5575 should match "my/image"5576 should match "my/awesome/image-1"5577 should match "my/awesome/image.test"5578 should not match ".my/image"5579 should not match "my/image."5580Emails::DestroyService5581 #execute5582 removes an email5583Gitlab::DependencyLinker::ComposerJsonLinker5584 .support?5585 supports composer.json5586 does not support other files5587 #link5588 does not link the module name5589 links the homepage5590 links the repository URL5591 links the license5592 links dependencies5593 does not link core dependencies5594RuboCop::Cop::Migration::AddLimitToStringColumns5595 in migration5596 when creating a table5597 with string columns and limit5598 register no offense5599 with limit in a different position5600 registers an offense5601 with string columns and no limit5602 registers an offense5603 with no string columns5604 register no offense5605 when adding columns5606 with string columns with limit5607 registers no offense5608 with limit in a different position5609 registers no offense5610 with string columns with no limit5611 registers offense5612 with no string columns5613 registers no offense5614 with add_column_with_default5615 with a limit5616 registers no offense5617 without a limit5618 registers an offense5619 with methods5620 registers no offense5621 outside of migrations5622 registers no offense5623DashboardHelper5624 #dashboard_nav_links5625 has all the expected links by default5626 does not contain cross project elements when the user cannot read cross project5627 #feature_entry5628 when implicitly enabled5629 considers feature enabled by default5630 when explicitly enabled5631 returns a link5632 returns text if href is not provided5633 when disabled5634 returns text without link5635 .has_start_trial?5636 should eq false5637PreferencesHelper5638 #dashboard_choices5639 raises an exception when defined choices may be missing5640 raises an exception when defined choices may be using the wrong key5641 provides better option descriptions5642 #first_day_of_week_choices5643 returns Saturday, Sunday and Monday as choices5644 #first_day_of_week_choices_with_default5645 returns choices including system default5646 returns choices including system default set to Monday5647 returns choices including system default set to Saturday5648 #user_application_theme5649 with a user5650 returns user's theme's css_class5651 returns the default when id is invalid5652 without a user5653 returns the default theme5654 #user_color_scheme5655 with a user5656 returns user's scheme's css_class5657 returns the default when id is invalid5658 without a user5659 returns the default theme5660 #language_choices5661 returns an array of all available languages5662EventPresenter5663 #resource_parent_name5664 with group event5665 should eq "group192"5666 with project label5667 should eq "group192 / project979"5668 #target_link_options5669 with group event5670 should eq [#<Group id:2025 @group192>, #<Milestone id:15 group192/project979%"My title 345">]5671 with project label5672 should eq [#<Namespace id: 2025, name: "group192", path: "group192", owner_id: nil, created_at: "2019-10-15 08:...nil>, #<Project id:1015 group192/project979>, #<Milestone id:15 group192/project979%"My title 345">]5673Gitlab::GithubImport::Representation::PullRequest5674 .from_api_response5675 does not set the user if the response did not include a user5676 behaves like a PullRequest5677 returns an instance of PullRequest5678 the returned PullRequest5679 includes the pull request number5680 includes the pull request title5681 includes the pull request description5682 includes the source branch name5683 includes the source branch SHA5684 includes the target branch name5685 includes the target branch SHA5686 includes the milestone number5687 includes the user details5688 includes the assignee details5689 includes the created timestamp5690 includes the updated timestamp5691 includes the merged timestamp5692 includes the source repository ID5693 includes the target repository ID5694 includes the source repository owner name5695 includes the pull request state5696 .from_json_hash5697 does not convert the author if it was not specified5698 behaves like a PullRequest5699 returns an instance of PullRequest5700 the returned PullRequest5701 includes the pull request number5702 includes the pull request title5703 includes the pull request description5704 includes the source branch name5705 includes the source branch SHA5706 includes the target branch name5707 includes the target branch SHA5708 includes the milestone number5709 includes the user details5710 includes the assignee details5711 includes the created timestamp5712 includes the updated timestamp5713 includes the merged timestamp5714 includes the source repository ID5715 includes the target repository ID5716 includes the source repository owner name5717 includes the pull request state5718 #state5719 returns :opened for an open pull request5720 returns :closed for a closed pull request5721 returns :merged for a merged pull request5722 #cross_project?5723 returns false for a pull request submitted from the target project5724 returns true for a pull request submitted from a different project5725 returns true if no source repository is present5726 #formatted_source_branch5727 for a cross-project pull request5728 includes the owner name in the branch name5729 for a regular pull request5730 returns the source branch name5731 for a pull request with the same source and target branches5732 returns a generated source branch name5733 #truncated_title5734 truncates the title to 255 characters5735 does not truncate the title if it is shorter than 255 characters5736ProjectSnippet5737 Associations5738 should belong to project required:5739 Validation5740 should validate that :project cannot be empty/falsy5741IconsHelper5742 icon5743 returns aria-hidden by default5744 does not return aria-hidden if aria-label is set5745 sprite_icon_path5746 returns relative path5747 when an asset_host is set in the config it will return an absolute local URL5748 returns an absolute URL on that asset host5749 sprite_icon5750 returns svg icon html5751 returns svg icon html + size classes5752 returns svg icon html + size classes + additional class5753 non existing icon5754 raises in development mode5755 raises in test mode5756 does not raise in production mode5757 audit icon5758 returns right icon name for standard auth5759 returns right icon name for two-factor auth5760 returns right icon name for google_oauth2 auth5761 file_type_icon_class5762 returns folder class5763 returns share class5764 returns file-pdf-o class with .pdf5765 returns file-image-o class with .jpg5766 returns file-image-o class with .JPG5767 returns file-image-o class with .png5768 returns file-image-o class with .apng5769 returns file-image-o class with .webp5770 returns file-archive-o class with .tar5771 returns file-archive-o class with .TAR5772 returns file-archive-o class with .tar.gz5773 returns file-audio-o class with .mp35774 returns file-audio-o class with .MP35775 returns file-audio-o class with .m4a5776 returns file-audio-o class with .wav5777 returns file-video-o class with .avi5778 returns file-video-o class with .AVI5779 returns file-video-o class with .mp45780 returns file-word-o class with .odt5781 returns file-word-o class with .doc5782 returns file-word-o class with .DOC5783 returns file-word-o class with .docx5784 returns file-excel-o class with .xls5785 returns file-excel-o class with .XLS5786 returns file-excel-o class with .xlsx5787 returns file-excel-o class with .odp5788 returns file-excel-o class with .ppt5789 returns file-excel-o class with .PPT5790 returns file-excel-o class with .pptx5791 returns file-text-o class with .unknow5792 returns file-text-o class with no extension5793 #external_snippet_icon5794 returns external snippet icon5795admin/sessions/new.html.haml5796 admin has password set5797 shows enter password form5798 admin has no password set5799 warns authentication not possible5800Gitlab::DependencyLinker::GemfileLinker5801 .support?5802 supports Gemfile5803 supports gems.rb5804 does not support other files5805 #link5806 links sources5807 links dependencies5808 links to external dependencies5809 links GitHub repos5810 links Git repos5811Resolvers::MergeRequestsResolver5812 #resolve5813 batch-resolves by target project full path and individual IID5814 batch-resolves by target project full path and IIDS5815 can batch-resolve merge requests from different projects5816 resolves an unknown iid to be empty5817 resolves empty iids to be empty5818Gitlab::LanguageDetection5819 #languages5820 returns the language names5821 #insertions5822 only includes new languages5823 #updates5824 updates the share of languages5825 does not include languages to be removed5826 when silent writes occur5827 doesn't include them in the result5828 #deletions5829 lists undetected languages5830RspecFlaky::FlakyExample5831 #initialize5832 when given an Rspec::Example5833 behaves like a valid FlakyExample instance5834 returns valid attributes5835 when given a hash5836 behaves like a valid FlakyExample instance5837 returns valid attributes5838 #update_flakiness!5839 when given an Rspec::Example5840 behaves like an up-to-date FlakyExample instance5841 updates the first_flaky_at5842 updates the last_flaky_at5843 updates the flaky_reports5844 when passed a :last_attempts_count5845 updates the last_attempts_count5846 when run on the CI5847 updates the last_flaky_job5848 when given a hash5849 behaves like an up-to-date FlakyExample instance5850 updates the first_flaky_at5851 updates the last_flaky_at5852 updates the flaky_reports5853 when passed a :last_attempts_count5854 updates the last_attempts_count5855 when run on the CI5856 updates the last_flaky_job5857 #to_h5858 when given an Rspec::Example5859 behaves like a valid FlakyExample hash5860 returns a valid hash5861 when given a hash5862 behaves like a valid FlakyExample hash5863 returns a valid hash5864Gitlab::SlashCommands::ApplicationHelp5865 #execute5866 displays the help section5867Gitlab::Ci::Config::Extendable::Entry5868 .new5869 when entry key is not included in the context hash5870 raises error5871 #value5872 reads a hash value from the context5873 #extensible?5874 when entry has inheritance defined5875 is extensible5876 when entry does not have inheritance specified5877 is not extensible5878 when entry value is not a hash5879 is not extensible5880 #extends_keys5881 when entry is extensible5882 returns symbolized extends key value5883 when entry is not extensible5884 returns nil5885 #ancestors5886 returns ancestors keys5887 #base_hashes!5888 when base hash is not extensible5889 returns unchanged base hashes5890 when base hash is extensible too5891 extends the base hashes first5892 mutates original context5893 #extend!5894 when extending a non-hash value5895 raises an error5896 when extending unknown key5897 raises an error5898 when extending a hash correctly5899 returns extended part of the hash5900 mutates original context5901 when extending multiple hashes correctly5902 returns extended part of the hash5903 mutates original context5904 when hash is not extensible5905 returns original key value5906 does not mutate orignal context5907 when circular depenency gets detected5908 raises an error5909 when nesting level is too deep5910 raises an error5911Gitlab::DowntimeCheck5912 #check5913 when a migration does not specify if downtime is required5914 raises RuntimeError5915 when a migration requires downtime5916 when no reason is specified5917 raises RuntimeError5918 when a reason is specified5919 returns an Array of messages5920 #check_and_print5921 checks the migrations and prints the results to STDOUT5922 #class_for_migration_file5923 returns the class for a migration file path5924 #online?5925 returns true when a migration can be performed online5926 returns false when a migration can not be performed online5927 #downtime_reason5928 when a reason is defined5929 returns the downtime reason5930 when a reason is not defined5931 returns nil5932Gitlab::Ci::Config::Entry::Key5933 validations5934 when entry config value is correct5935 #value5936 returns key value5937 #valid?5938 is valid5939 when entry value is not correct5940 #errors5941 saves errors5942 when entry value contains slash5943 behaves like key with slash5944 is invalid5945 reports errors with config value5946 when entry value contains URI encoded slash (%2F)5947 behaves like key with slash5948 is invalid5949 reports errors with config value5950 when entry value is a dot5951 behaves like key with only dots5952 is invalid5953 reports errors with config value5954 when entry value is two dots5955 behaves like key with only dots5956 is invalid5957 reports errors with config value5958 when entry value is a URI encoded dot (%2E)5959 behaves like key with only dots5960 is invalid5961 reports errors with config value5962 when entry value is two URI encoded dots (%2E)5963 behaves like key with only dots5964 is invalid5965 reports errors with config value5966 when entry value is one dot and one URI encoded dot5967 behaves like key with only dots5968 is invalid5969 reports errors with config value5970 .default5971 returns default key5972PaginationHelper5973 #paginate_collection5974 paginates a collection without using a COUNT5975 paginates a collection using a COUNT5976MailScheduler::NotificationServiceWorker5977 #perform5978 deserializes arguments from global IDs5979 when the arguments cannot be deserialized5980 when the arguments are not deserializeable5981 raises exception5982 when the arguments are deserializeable5983 does nothing5984 when the method is not a public method5985 raises NoMethodError5986 .perform_async5987 serializes arguments as global IDs when scheduling5988 with ActiveController::Parameters5989 when permitted5990 serializes as a serializable Hash5991 when not permitted5992 fails to serialize5993Banzai::Filter::SpacedLinkFilter5994 converts multiple URLs5995 ignores valid links contained inside 'a' element5996 ignores valid links contained inside 'code' element5997 ignores valid links contained inside 'kbd' element5998 ignores valid links contained inside 'pre' element5999 ignores valid links contained inside 'script' element6000 ignores valid links contained inside 'style' element6001 when a link is detected6002 converts slug with spaces to a link6003 converts slug with spaces and a title to a link6004 does nothing with empty text6005 does nothing with an empty slug6006 when an image is detected6007 converts slug with spaces to an iamge6008 converts slug with spaces and a title to an image6009Gitlab::Ci::Config::Entry::Image6010 when configuration is a string6011 #value6012 returns image hash6013 #errors6014 does not append errors6015 #valid?6016 is valid6017 #image6018 returns image's name6019 #entrypoint6020 returns image's entrypoint6021 #ports6022 returns image's ports6023 when configuration is a hash6024 #value6025 returns image hash6026 #errors6027 does not append errors6028 #valid?6029 is valid6030 #image6031 returns image's name6032 #entrypoint6033 returns image's entrypoint6034 when configuration has ports6035 when with_image_ports metadata is not enabled6036 #valid?6037 is not valid6038 when with_image_ports metadata is enabled6039 #valid?6040 is valid6041 #ports6042 returns image's ports6043 when entry value is not correct6044 #errors6045 saves errors6046 #valid?6047 is not valid6048 when unexpected key is specified6049 #errors6050 saves errors6051 #valid?6052 is not valid6053TestReportsComparerSerializer6054 #to_json6055 when head and base reports include two test suites6056 when the status of head report is success6057 matches the schema6058 when the status of head report is failed6059 matches the schema6060 when the status of head report is resolved6061 matches the schema6062Gitlab::DependencyLinker::RequirementsTxtLinker6063 .support?6064 supports requirements.txt6065 supports doc-requirements.txt6066 does not support other files6067 #link6068 links dependencies6069 links URLs6070 does not contain link with a newline as package name6071Gitlab::FileMarkdownLinkBuilder6072 markdown_link6073 when file name has the character ]6074 escapes the character6075 when file is an image6076 returns preview markdown link6077 when file is video6078 returns preview markdown link6079 when file is audio6080 returns preview markdown link6081 when file is not embeddable6082 returns markdown link6083 when file name is blank6084 returns nil6085 mardown_name6086 when file is an image6087 retrieves the name without the extension6088 when file is video6089 retrieves the name without the extension6090 when file is audio6091 retrieves the name without the extension6092 when file is not embeddable6093 retrieves the name with the extesion6094 when file name is blank6095 returns nil6096Gitlab::ExternalAuthorization::Cache6097 #load6098 reads stored info from redis6099 #store6100 sets the values in redis6101Postgresql::ReplicationSlot6102 .in_use?6103 returns true when replication slots are present6104unknown OID 28: failed to recognize type of 'xmin'. It will be treated as String.6105unknown OID 3220: failed to recognize type of 'restart_lsn'. It will be treated as String.6106 returns false when replication slots are not present6107 returns false if the existence check is invalid6108 .lag_too_great?6109 returns true when replication lag is too great6110 returns false when more than one replicas is up to date enough6111 returns false when replication lag is not too great6112 returns false when there is a nil replication lag6113Gitlab::HookData::BaseBuilder6114 #absolute_image_urls6115 with an upload prefix specified6116 relative image URL6117 should eq ""6118 absolute upload URL6119 should eq ""6120 absolute non-upload URL6121 should eq ""6122 without an upload prefix specified6123 relative image URL6124 should eq ""6125 absolute upload URL6126 should eq ""6127 absolute non-upload URL6128 should eq ""6129 HTTP URL6130 should eq ""6131 HTTPS URL6132 should eq ""6133 protocol-relative URL6134 should eq ""6135 URL reference by title6136 should eq "![foo]\n\n[foo]: foo.png"6137 URL reference by label6138 should eq "![][foo]\n\n[foo]: foo.png"6139 in Markdown inline code block6140 should eq "``"6141 in HTML tag on the same line6142 should eq "<p></p>"6143 in Markdown multi-line code block6144 should eq "```\n\n```"6145 in HTML tag on different lines6146 should eq "<p>\n\n</p>"6147errors/access_denied6148 does not fail to render when there is no message provided6149Gitlab::Config::Entry::Undefined6150 #leaf?6151 is leaf node6152 #valid?6153 is always valid6154 #errors6155 is does not contain errors6156 #value6157 returns nil6158 #relevant?6159 is not relevant6160 #specified?6161 is not defined6162gitlab:db namespace rake task6163 configure6164 invokes db:migrate when schema has already been loaded6165 invokes db:shema:load and db:seed_fu when schema is not loaded6166 invokes db:shema:load and db:seed_fu when there is only a single table present6167 does not invoke any other rake tasks during an error6168 does not invoke seed after a failed schema_load6169 SKIP_POST_DEPLOYMENT_MIGRATIONS environment variable set6170 adds post deployment migrations before schema load if the schema is not already loaded6171 ignores post deployment migrations when schema has already been loaded6172Gitlab::Ci::Config::Normalizer6173 .normalize_jobs6174 does not have original job6175 has parallelized jobs6176 sets job instance in options6177 parallelizes jobs with original config6178 when the job is not parallelized6179 returns the same hash6180 when there is a job with a slash in it6181 properly parallelizes job names6182 when job has dependencies on parallelized jobs6183 parallelizes dependencies6184 does not include original job name in dependencies6185 when there are dependencies which are both parallelized and not6186 parallelizes dependencies6187 includes the regular job in dependencies6188 when job has needs on parallelized jobs6189 parallelizes needs6190 does not include original job name in needs6191 when there are needs which are both parallelized and not6192 parallelizes needs6193 includes the regular job in needs6194API::Helpers::RelatedResourcesHelpers6195 #expose_path6196 empty relative URL root6197 returns the existing path6198 slash relative URL root6199 returns the existing path6200 with relative URL root6201 returns the existing path6202 #expose_url6203 respects the protocol if it is HTTP6204 respects the protocol if it is HTTPS6205 accepts port to be nil6206 includes port if provided6207 includes the relative_url before the path if it is set6208 includes the path after the host6209RspecFlaky::Example6210 #initialize6211 when given an Rspec::Core::Example that responds to #example6212 behaves like a valid Example instance6213 returns valid attributes6214 when given an Rspec::Core::Example that does not respond to #example6215 behaves like a valid Example instance6216 returns valid attributes6217 #uid6218 returns a hash of the full description6219 #example_id6220 returns the ID of the RSpec::Core::Example6221 #attempts6222 returns the attempts of the RSpec::Core::Example6223 #file6224 returns the metadata[:file_path] of the RSpec::Core::Example6225 #line6226 returns the metadata[:line_number] of the RSpec::Core::Example6227 #description6228 returns the metadata[:full_description] of the RSpec::Core::Example6229 #status6230 returns the execution_result.status of the RSpec::Core::Example6231 #exception6232 returns the execution_result.exception of the RSpec::Core::Example6233ClusterWaitForIngressIpAddressWorker6234 #perform6235 finds the application and calls CheckIngressIpAddressService#execute6236RuboCop::Cop::Migration::RemoveColumn6237 in a regular migration6238 registers an offense when remove_column is used in the change method6239 registers an offense when remove_column is used in the up method6240 registers no offense when remove_column is used in the down method6241 in a post-deployment migration6242 registers no offense6243 outside of a migration6244 registers no offense6245Gitlab::QueryLimiting6246 .enable?6247 returns true in a test environment6248 returns true in a development environment6249 returns false on GitLab.com6250 returns false in a non GitLab.com6251 .whitelist6252 raises ArgumentError when an invalid issue URL is given6253 without a transaction6254 does nothing6255 with a transaction6256 does not increment the number of SQL queries executed in the block6257Gitlab::Middleware::BasicHealthCheck6258 #call6259 outside IP6260 returns a 4046261 forwards the call for other paths6262 with X-Forwarded-For headers6263 returns 200 response when endpoint is allowed6264 returns 404 when whitelist is not configured6265 whitelisted IP6266 returns 200 response when endpoint is hit6267 forwards the call for other paths6268Gitlab::IssuablesCountForState6269 #for_state_or_opened6270 returns the number of issuables for the given state6271 returns the number of open issuables when no state is given6272 returns the number of open issuables when a nil value is given6273 #[]6274 returns the number of issuables for the given state6275 casts valid states from Strings to Symbols6276 returns 0 when using an invalid state name as a String6277Gitlab::Ci::Config::Entry::Artifacts6278 validation6279 when entry config value is correct6280 #value6281 returns artifacts configuration6282 #valid?6283 is valid6284 when value includes 'reports' keyword6285 returns general artifact and report-type artifacts configuration6286 when entry value is not correct6287 #errors6288 when value of attribute is invalid6289 reports error6290 when there is an unknown key present6291 reports error6292 when 'reports' keyword is not hash6293 reports error6294ZoomNotesService6295 #execute6296 behaves like no notifications6297 doesn't create notifications6298 when the zoom link exists in both description and old_description6299 behaves like no notifications6300 doesn't create notifications6301 when the zoom link doesn't exist in both description and old_description6302 behaves like no notifications6303 doesn't create notifications6304 when description == old_description6305 behaves like no notifications6306 doesn't create notifications6307 when the description contains a zoom link and old_description is nil6308 creates a zoom_link_added notification6309 when the zoom link has been added to the description6310 creates a zoom_link_added notification6311 when the zoom link has been removed from the description6312 creates a zoom_link_removed notification6313ProjectSerializer6314 when serializer option is :import6315 represents with ProjectImportEntity6316 when serializer option is omitted6317 represents with ProjectEntity6318Gitlab::Metrics::System6319 .memory_usage6320 returns the process' memory usage in bytes6321 .file_descriptor_count6322 returns the amount of open file descriptors6323 .max_open_file_descriptors6324 returns the max allowed open file descriptors6325 .cpu_time6326 returns a Float6327 .real_time6328 returns a Float6329 .monotonic_time6330 returns a Float6331Gitlab::Ci::Pipeline::Expression::Lexeme::Variable6332 .build6333 creates a new instance of the token6334 .type6335 is a value lexeme6336 #evaluate6337 returns variable value if it is defined6338 allows to use a string as a variable key too6339 returns nil if it is not defined6340 returns an empty string if it is empty6341Gitlab::Analytics::CycleAnalytics::StageEvents::MergeRequestMerged6342 behaves like cycle analytics event6343 should be a kind of String6344 should be a kind of Symbol6345 should include ApplicationRecord(abstract)6346 should respond to #timestamp_projection6347 #apply_query_customization6348 expects an ActiveRecord::Relation object as argument and returns a modified version of it6349Bitbucket::Connection6350 #get6351 calls OAuth2::AccessToken::get6352 #expired?6353 calls connection.expired?6354 #refresh!6355 calls connection.refresh!6356Gitlab::UsageDataCounters::SearchCounter6357 increments counter and return the total count6358Gitlab::Kubernetes::ServiceAccountToken6359 should eq "token-name"6360 should eq "a_service_account"6361 should eq "a_namespace"6362 #generate6363 builds a Kubeclient Resource6364Gitlab::Graphql::FindArgumentInParent6365 #find6366 searches parents and returns the argument6367 can find argument when passed in as both Ruby and GraphQL-formatted symbols and strings6368 returns nil if no arguments found in parents6369 can limit the depth it searches to6370Gitlab::Sherlock::LineSample6371 #duration6372 returns the duration6373 #events6374 returns the amount of events6375 #percentage_of6376 returns the percentage of 1500.06377 #majority_of6378 returns true if the sample takes up the majority of the given duration6379 returns false if the sample doesn't take up the majority of the given duration6380Gitlab::Email::Handler6381 .for6382 picks issue handler if there is not merge request prefix6383 picks merge request handler if there is merge request key6384 returns nil if no handler is found6385 regexps are set properly6386 picks each handler at least once6387 can pick exactly one handler for each address6388Repository6389 should eq "Repository"6390 should require graphql authorizations :download_code6391 should have graphql field :root_ref6392 should have graphql field :tree6393Gitlab::Config::Entry::Unspecified6394 #valid?6395 delegates method to entry6396 #errors6397 delegates method to entry6398 #value6399 delegates method to entry6400 #specified?6401 is always false6402Gitlab::StringRangeMarker6403 #mark6404 when the rich text is html safe6405 marks the inline diffs6406 when the rich text is not html safe6407 when rich text equals raw text6408 marks the inline diffs6409 when rich text doeas not equal raw text6410 marks the inline diffs6411Gitlab::ContentSecurityPolicy::ConfigLoader6412 .default_settings_hash6413 returns empty defaults6414 #load6415 sets the policy properly6416 ignores malformed policy statements6417Gitlab::NamespacedSessionStore6418 current session6419 stores data under the specified key6420 retrieves data from the given key6421 passed in session6422 retrieves data from the given key6423Gitlab::Git::BundleFile6424 .check!6425 returns nil for a valid bundle6426 raises an exception for an invalid bundle6427Types::PermissionTypes::Project6428 should have graphql field :read_pages_content6429DetailedStatusEntity6430 #as_json6431 contains status details6432DiffRefs6433 should eq "DiffRefs"6434 should have graphql fields :base_sha, :head_sha, and :start_sha6435Projects::ImportErrorFilter6436 filters any full paths6437 filters any relative paths ignoring single slash ones6438GitHelper6439 #short_sha6440 should eq "d4e043f6"6441IssueState6442 should eq "IssueState"6443 behaves like issuable state6444 exposes all the existing issuable states6445SystemHookPushWorker6446 #perform6447 executes SystemHooksService with expected values6448Bitbucket::Representation::User6449 #username6450 returns correct value6451Forever6452 .date6453 returns Postgresql future date6454Knapsack report was generated. Preview:6455{6456 "spec/services/ci/create_pipeline_service_spec.rb": 64.9687933921814,6457 "spec/policies/project_policy_spec.rb": 56.44609832763672,6458 "spec/models/gpg_signature_spec.rb": 39.80149030685425,6459 "spec/services/users/migrate_to_ghost_user_service_spec.rb": 22.19920325279236,6460 "spec/lib/banzai/filter/relative_link_filter_spec.rb": 18.53286862373352,6461 "spec/lib/gitlab/git/repository_spec.rb": 24.054323434829712,6462 "spec/services/system_note_service_spec.rb": 20.309614181518555,6463 "spec/helpers/visibility_level_helper_spec.rb": 12.536739587783813,6464 "spec/serializers/environment_status_entity_spec.rb": 13.286300659179688,6465 "spec/lib/gitlab/import_export/relation_rename_service_spec.rb": 10.789670467376709,6466 "spec/services/groups/destroy_service_spec.rb": 11.57624101638794,6467 "spec/models/clusters/applications/helm_spec.rb": 12.338890075683594,6468 "spec/services/users/destroy_service_spec.rb": 9.054180383682251,6469 "spec/services/projects/update_service_spec.rb": 8.97066068649292,6470 "spec/services/clusters/gcp/provision_service_spec.rb": 6.808324575424194,6471 "spec/models/protected_branch_spec.rb": 4.760305404663086,6472 "spec/services/todos/destroy/group_private_service_spec.rb": 6.131762504577637,6473 "spec/models/project_services/teamcity_service_spec.rb": 6.605262279510498,6474 "spec/uploaders/external_diff_uploader_spec.rb": 5.794670104980469,6475 "spec/migrations/fix_wrong_pages_access_level_spec.rb": 5.285368204116821,6476 "spec/lib/gitlab/hook_data/issuable_builder_spec.rb": 4.774768352508545,6477 "spec/lib/gitlab/cache/ci/project_pipeline_status_spec.rb": 6.004460334777832,6478 "spec/services/lfs/file_transformer_spec.rb": 4.240938901901245,6479 "spec/services/groups/update_service_spec.rb": 3.9320576190948486,6480 "spec/lib/gitlab/badge/coverage/report_spec.rb": 2.963102102279663,6481 "spec/models/concerns/subscribable_spec.rb": 3.482978343963623,6482 "spec/services/delete_merged_branches_service_spec.rb": 3.638465166091919,6483 "spec/services/merge_requests/post_merge_service_spec.rb": 3.289531707763672,6484 "spec/models/discussion_spec.rb": 4.254375696182251,6485 "spec/workers/pipeline_schedule_worker_spec.rb": 2.458228588104248,6486 "spec/lib/gitlab/diff/suggestion_spec.rb": 2.0741915702819824,6487 "spec/models/concerns/expirable_spec.rb": 2.3936052322387695,6488 "spec/models/board_project_recent_visit_spec.rb": 2.4284181594848633,6489 "spec/services/notification_recipient_service_spec.rb": 2.2834715843200684,6490 "spec/models/concerns/deployable_spec.rb": 2.094590187072754,6491 "spec/lib/banzai/filter/video_link_filter_spec.rb": 2.7701919078826904,6492 "spec/services/issues/reopen_service_spec.rb": 1.7645103931427002,6493 "spec/services/metrics/dashboard/dynamic_embed_service_spec.rb": 2.352367639541626,6494 "spec/models/concerns/cache_markdown_field_spec.rb": 2.258018970489502,6495 "spec/views/ci/status/_icon.html.haml_spec.rb": 2.600918769836426,6496 "spec/lib/gitlab/auth/saml/user_spec.rb": 1.673717737197876,6497 "spec/lib/banzai/reference_parser/milestone_parser_spec.rb": 1.493210792541504,6498 "spec/services/boards/lists/generate_service_spec.rb": 1.3027751445770264,6499 "spec/lib/gitlab/issuable_metadata_spec.rb": 1.5093624591827393,6500 "spec/lib/gitlab/ci/templates/templates_spec.rb": 1.1319475173950195,6501 "spec/services/projects/move_project_authorizations_service_spec.rb": 1.6151182651519775,6502 "spec/views/notify/pipeline_failed_email.text.erb_spec.rb": 0.8937537670135498,6503 "spec/lib/gitlab/email/smime/signer_spec.rb": 0.8232498168945312,6504 "spec/services/notes/resolve_service_spec.rb": 1.203369140625,6505 "spec/views/shared/runners/show.html.haml_spec.rb": 0.8657011985778809,6506 "spec/lib/gitlab/slash_commands/run_spec.rb": 1.263122797012329,6507 "spec/lib/gitlab/ci/yaml_processor_spec.rb": 1.0732204914093018,6508 "spec/workers/deployments/finished_worker_spec.rb": 1.0890519618988037,6509 "spec/services/merge_requests/resolved_discussion_notification_service_spec.rb": 1.7349967956542969,6510 "spec/lib/gitlab/import_export/wiki_restorer_spec.rb": 0.8963005542755127,6511 "spec/migrations/migrate_discussion_id_on_promoted_epics_spec.rb": 1.1582937240600586,6512 "spec/workers/remove_unreferenced_lfs_objects_worker_spec.rb": 2.089012861251831,6513 "spec/workers/repository_update_remote_mirror_worker_spec.rb": 1.0260930061340332,6514 "spec/serializers/test_suite_entity_spec.rb": 1.4515953063964844,6515 "spec/services/chat_names/find_user_service_spec.rb": 0.7615518569946289,6516 "spec/helpers/button_helper_spec.rb": 0.8701202869415283,6517 "spec/migrations/change_packages_size_defaults_in_project_statistics_spec.rb": 0.9350674152374268,6518 "spec/services/notes/destroy_service_spec.rb": 1.3180184364318848,6519 "spec/models/tree_spec.rb": 1.3515684604644775,6520 "spec/presenters/award_emoji_presenter_spec.rb": 0.9633805751800537,6521 "spec/finders/boards/visits_finder_spec.rb": 1.008453369140625,6522 "spec/lib/gitlab/ci/build/policy/variables_spec.rb": 1.041585922241211,6523 "spec/lib/gitlab/legacy_github_import/milestone_formatter_spec.rb": 1.7160799503326416,6524 "spec/services/chat_names/authorize_user_service_spec.rb": 0.63002610206604,6525 "spec/services/error_tracking/list_issues_service_spec.rb": 0.7120969295501709,6526 "spec/lib/sentry/client_spec.rb": 1.160874605178833,6527 "spec/lib/gitlab/loop_helpers_spec.rb": 1.0152368545532227,6528 "spec/views/layouts/nav/sidebar/_admin.html.haml_spec.rb": 0.7517929077148438,6529 "spec/workers/merge_worker_spec.rb": 0.7274882793426514,6530 "spec/migrations/cleanup_stages_position_migration_spec.rb": 0.6299300193786621,6531 "spec/workers/pages_domain_ssl_renewal_cron_worker_spec.rb": 0.875831127166748,6532 "spec/migrations/add_pipeline_build_foreign_key_spec.rb": 0.8509712219238281,6533 "spec/lib/backup/files_spec.rb": 1.1473448276519775,6534 "spec/presenters/group_member_presenter_spec.rb": 0.47496938705444336,6535 "spec/services/tags/destroy_service_spec.rb": 0.7520060539245605,6536 "spec/lib/gitlab/import_export/attribute_configuration_spec.rb": 0.7591698169708252,6537 "spec/lib/gitlab/bitbucket_import/project_creator_spec.rb": 0.5432038307189941,6538 "spec/lib/gitlab/prometheus/queries/deployment_query_spec.rb": 0.5532066822052002,6539 "spec/serializers/analytics_merge_request_serializer_spec.rb": 0.17862606048583984,6540 "spec/models/protectable_dropdown_spec.rb": 0.5732202529907227,6541 "spec/lib/gitlab/diff/parallel_diff_spec.rb": 0.26387810707092285,6542 "spec/lib/gitlab/git/compare_spec.rb": 0.5398283004760742,6543 "spec/lib/gitlab/cycle_analytics/plan_event_fetcher_spec.rb": 0.4465372562408447,6544 "spec/lib/gitlab/background_migration/set_confidential_note_events_on_webhooks_spec.rb": 0.3221299648284912,6545 "spec/workers/pipeline_process_worker_spec.rb": 0.8777256011962891,6546 "spec/workers/create_pipeline_worker_spec.rb": 0.4255993366241455,6547 "spec/workers/create_note_diff_file_worker_spec.rb": 1.0587718486785889,6548 "spec/lib/gitlab/experimentation_spec.rb": 0.41548800468444824,6549 "spec/services/users/set_status_service_spec.rb": 0.3224313259124756,6550 "spec/migrations/fix_null_type_labels_spec.rb": 0.379788875579834,6551 "spec/services/users/respond_to_terms_service_spec.rb": 0.40875840187072754,6552 "spec/migrations/migrate_create_trace_artifact_sidekiq_queue_spec.rb": 0.45999717712402344,6553 "spec/models/blob_viewer/package_json_spec.rb": 0.5257148742675781,6554 "spec/models/project_services/flowdock_service_spec.rb": 0.519904375076294,6555 "spec/lib/gitlab/auth/saml/identity_linker_spec.rb": 0.3854029178619385,6556 "spec/migrations/migrate_cluster_configure_worker_sidekiq_queue_spec.rb": 0.5047211647033691,6557 "spec/lib/gitlab/ci/config/external/mapper_spec.rb": 0.2803988456726074,6558 "spec/lib/gitlab/blame_spec.rb": 0.7334682941436768,6559 "spec/uploaders/lfs_object_uploader_spec.rb": 0.2490079402923584,6560 "spec/lib/gitlab/cycle_analytics/updater_spec.rb": 0.63775634765625,6561 "spec/lib/gitlab/serializer/pagination_spec.rb": 0.30895233154296875,6562 "spec/lib/gitlab/ci/variables/collection_spec.rb": 0.21913480758666992,6563 "spec/migrations/enqueue_verify_pages_domain_workers_spec.rb": 0.2373974323272705,6564 "spec/lib/gitlab/ci/config/entry/rules/rule_spec.rb": 0.12987971305847168,6565 "spec/services/protected_tags/destroy_service_spec.rb": 0.6688389778137207,6566 "spec/tasks/gitlab/gitaly_rake_spec.rb": 0.1876084804534912,6567 "spec/lib/gitlab/github_import_spec.rb": 0.11093974113464355,6568 "spec/initializers/doorkeeper_spec.rb": 0.19748926162719727,6569 "spec/lib/gitlab/regex_spec.rb": 0.08805561065673828,6570 "spec/services/emails/destroy_service_spec.rb": 0.3994123935699463,6571 "spec/lib/gitlab/dependency_linker/composer_json_linker_spec.rb": 0.10733366012573242,6572 "spec/rubocop/cop/migration/add_limit_to_string_columns_spec.rb": 0.14091086387634277,6573 "spec/helpers/dashboard_helper_spec.rb": 0.10553240776062012,6574 "spec/helpers/preferences_helper_spec.rb": 0.10848021507263184,6575 "spec/presenters/event_presenter_spec.rb": 0.1409611701965332,6576 "spec/lib/gitlab/github_import/representation/pull_request_spec.rb": 0.11033201217651367,6577 "spec/models/project_snippet_spec.rb": 0.06572556495666504,6578 "spec/helpers/icons_helper_spec.rb": 0.0857534408569336,6579 "spec/views/admin/sessions/new.html.haml_spec.rb": 0.06039142608642578,6580 "spec/lib/gitlab/dependency_linker/gemfile_linker_spec.rb": 0.057802438735961914,6581 "spec/graphql/resolvers/merge_requests_resolver_spec.rb": 0.09319877624511719,6582 "spec/lib/gitlab/language_detection_spec.rb": 0.06454896926879883,6583 "spec/lib/rspec_flaky/flaky_example_spec.rb": 0.055637359619140625,6584 "spec/lib/gitlab/slash_commands/application_help_spec.rb": 0.06402206420898438,6585 "spec/lib/gitlab/ci/config/extendable/entry_spec.rb": 0.05895829200744629,6586 "spec/lib/gitlab/downtime_check_spec.rb": 0.03104400634765625,6587 "spec/lib/gitlab/ci/config/entry/key_spec.rb": 0.0613558292388916,6588 "spec/helpers/pagination_helper_spec.rb": 0.05156588554382324,6589 "spec/workers/mail_scheduler/notification_service_worker_spec.rb": 0.4361703395843506,6590 "spec/lib/banzai/filter/spaced_link_filter_spec.rb": 0.052831172943115234,6591 "spec/lib/gitlab/ci/config/entry/image_spec.rb": 0.053557395935058594,6592 "spec/serializers/test_reports_comparer_serializer_spec.rb": 0.03991866111755371,6593 "spec/lib/gitlab/dependency_linker/requirements_txt_linker_spec.rb": 0.03567934036254883,6594 "spec/lib/gitlab/file_markdown_link_builder_spec.rb": 0.03846931457519531,6595 "spec/lib/gitlab/external_authorization/cache_spec.rb": 0.032285213470458984,6596 "spec/models/postgresql/replication_slot_spec.rb": 0.0368196964263916,6597 "spec/lib/gitlab/hook_data/base_builder_spec.rb": 0.038571834564208984,6598 "spec/views/errors/access_denied.html.haml_spec.rb": 0.03630328178405762,6599 "spec/lib/gitlab/config/entry/undefined_spec.rb": 0.013280153274536133,6600 "spec/tasks/gitlab/db_rake_spec.rb": 0.03188371658325195,6601 "spec/lib/gitlab/ci/config/normalizer_spec.rb": 0.03466296195983887,6602 "spec/lib/api/helpers/related_resources_helpers_spec.rb": 0.02470254898071289,6603 "spec/lib/rspec_flaky/example_spec.rb": 0.024098634719848633,6604 "spec/workers/cluster_wait_for_ingress_ip_address_worker_spec.rb": 0.023729324340820312,6605 "spec/rubocop/cop/migration/remove_column_spec.rb": 0.01862931251525879,6606 "spec/lib/gitlab/query_limiting_spec.rb": 0.019553661346435547,6607 "spec/lib/gitlab/middleware/basic_health_check_spec.rb": 0.013360023498535156,6608 "spec/lib/gitlab/issuables_count_for_state_spec.rb": 0.01195383071899414,6609 "spec/lib/gitlab/ci/config/entry/artifacts_spec.rb": 0.016263484954833984,6610 "spec/services/zoom_notes_service_spec.rb": 0.018247127532958984,6611 "spec/serializers/project_serializer_spec.rb": 0.011127710342407227,6612 "spec/lib/gitlab/metrics/system_spec.rb": 0.011803150177001953,6613 "spec/lib/gitlab/ci/pipeline/expression/lexeme/variable_spec.rb": 0.011010408401489258,6614 "spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_merged_spec.rb": 0.044455766677856445,6615 "spec/lib/bitbucket/connection_spec.rb": 0.012891530990600586,6616 "spec/lib/gitlab/usage_data_counters/search_counter_spec.rb": 0.010055303573608398,6617 "spec/lib/gitlab/kubernetes/service_account_token_spec.rb": 0.011296749114990234,6618 "spec/lib/gitlab/graphql/find_argument_in_parent_spec.rb": 0.012581348419189453,6619 "spec/lib/gitlab/sherlock/line_sample_spec.rb": 0.012476682662963867,6620 "spec/lib/gitlab/email/handler_spec.rb": 0.013338565826416016,6621 "spec/graphql/types/repository_type_spec.rb": 0.011256933212280273,6622 "spec/lib/gitlab/config/entry/unspecified_spec.rb": 0.01058816909790039,6623 "spec/lib/gitlab/string_range_marker_spec.rb": 0.008040189743041992,6624 "spec/lib/gitlab/content_security_policy/config_loader_spec.rb": 0.008213520050048828,6625 "spec/lib/gitlab/namespaced_session_store_spec.rb": 0.007728099822998047,6626 "spec/lib/gitlab/git/bundle_file_spec.rb": 0.006288766860961914,6627 "spec/graphql/types/permission_types/project_spec.rb": 0.00714421272277832,6628 "spec/serializers/detailed_status_entity_spec.rb": 0.0046844482421875,6629 "spec/graphql/types/diff_refs_type_spec.rb": 0.00563359260559082,6630 "spec/services/projects/import_error_filter_spec.rb": 0.005303382873535156,6631 "spec/helpers/git_helper_spec.rb": 0.00380706787109375,6632 "spec/graphql/types/issue_state_enum_spec.rb": 0.005586147308349609,6633 "spec/workers/system_hook_push_worker_spec.rb": 0.003412008285522461,6634 "spec/lib/bitbucket/representation/user_spec.rb": 0.002664804458618164,6635 "spec/lib/forever_spec.rb": 0.0030331611633300786636}6637Knapsack global time execution for tests: 08m 03s6638Pending: (Failures listed here are expected and do not affect your suite's status)6639 1) Ci::CreatePipelineService#execute Pipeline for external pull requests when source is external pull request when config has external_pull_requests keywords when external pull request is specified when pull request is created from fork does not create an external pull request pipeline6640 # Not yet implemented6641 # ./spec/services/ci/create_pipeline_service_spec.rb:10326642 2) Gitlab::Git::Repository#squash sparse checkout6643 # No reason given6644 # ./spec/lib/gitlab/git/repository_spec.rb:21196645 3) Gitlab::Git::Repository#squash with an ASCII-8BIT diff6646 # No reason given6647 # ./spec/lib/gitlab/git/repository_spec.rb:21636648 4) Gitlab::Git::Repository#squash with trailing whitespace in an invalid patch6649 # No reason given6650 # ./spec/lib/gitlab/git/repository_spec.rb:21756651 5) ExternalDiffUploader behaves like builds correct paths #upload_path behaves like matches the method pattern 6652 # No pattern provided, skipping.6653 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:86654 6) ExternalDiffUploader behaves like builds correct paths #relative_path is relative6655 # Path not set, skipping.6656 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:396657 7) ExternalDiffUploader behaves like builds correct paths .absolute_path behaves like matches the method pattern 6658 # No pattern provided, skipping.6659 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:86660 8) ExternalDiffUploader behaves like builds correct paths .base_dir behaves like matches the method pattern 6661 # No pattern provided, skipping.6662 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:86663 9) ExternalDiffUploader object store is REMOTE behaves like builds correct paths #cache_dir behaves like matches the method pattern 6664 # No pattern provided, skipping.6665 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:86666 10) ExternalDiffUploader object store is REMOTE behaves like builds correct paths #work_dir behaves like matches the method pattern 6667 # No pattern provided, skipping.6668 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:86669 11) ExternalDiffUploader object store is REMOTE behaves like builds correct paths #upload_path behaves like matches the method pattern 6670 # No pattern provided, skipping.6671 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:86672 12) ExternalDiffUploader object store is REMOTE behaves like builds correct paths #relative_path is relative6673 # Path not set, skipping.6674 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:396675 13) ExternalDiffUploader object store is REMOTE behaves like builds correct paths .absolute_path behaves like matches the method pattern 6676 # No pattern provided, skipping.6677 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:86678 14) ExternalDiffUploader object store is REMOTE behaves like builds correct paths .base_dir behaves like matches the method pattern 6679 # No pattern provided, skipping.6680 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:86681 15) LfsObjectUploader behaves like builds correct paths #upload_path behaves like matches the method pattern 6682 # No pattern provided, skipping.6683 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:86684 16) LfsObjectUploader behaves like builds correct paths #relative_path is relative6685 # Path not set, skipping.6686 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:396687 17) LfsObjectUploader behaves like builds correct paths .absolute_path behaves like matches the method pattern 6688 # No pattern provided, skipping.6689 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:86690 18) LfsObjectUploader behaves like builds correct paths .base_dir behaves like matches the method pattern 6691 # No pattern provided, skipping.6692 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:86693 19) LfsObjectUploader object store is REMOTE behaves like builds correct paths #cache_dir behaves like matches the method pattern 6694 # No pattern provided, skipping.6695 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:86696 20) LfsObjectUploader object store is REMOTE behaves like builds correct paths #work_dir behaves like matches the method pattern 6697 # No pattern provided, skipping.6698 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:86699 21) LfsObjectUploader object store is REMOTE behaves like builds correct paths #upload_path behaves like matches the method pattern 6700 # No pattern provided, skipping.6701 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:86702 22) LfsObjectUploader object store is REMOTE behaves like builds correct paths #relative_path is relative6703 # Path not set, skipping.6704 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:396705 23) LfsObjectUploader object store is REMOTE behaves like builds correct paths .absolute_path behaves like matches the method pattern 6706 # No pattern provided, skipping.6707 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:86708 24) LfsObjectUploader object store is REMOTE behaves like builds correct paths .base_dir behaves like matches the method pattern 6709 # No pattern provided, skipping.6710 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:86711Finished in 10 minutes 54 seconds (files took 30.62 seconds to load)67122494 examples, 0 failures, 24 pending6713Tue Oct 15 08:52:06 UTC 20196715$ date6716Tue Oct 15 08:52:08 UTC 20196719coverage/: found 5 matching files 6720knapsack/: found 6 matching files 6721rspec_flaky/: found 4 matching files 6722rspec_profiling/: found 1 matching files 6723WARNING: tmp/capybara/: no matching files 6724tmp/memory_test/: found 2 matching files 6725Uploading artifacts to coordinator... ok id=321109336 responseStatus=201 Created token=hJ31vk3z6726Uploading artifacts...6727junit_rspec.xml: found 1 matching files 6728Uploading artifacts to coordinator... ok id=321109336 responseStatus=201 Created token=hJ31vk3z6729Job succeeded