3445 lines
188 KiB
Text
3445 lines
188 KiB
Text
[0KRunning with gitlab-runner 10.6.0 (a3543a27)
|
||
[0;m[0K on docker-auto-scale-com 30d62d59
|
||
[0;m[0KUsing Docker executor with image dev.gitlab.org:5005/gitlab/gitlab-build-images:ruby-2.3.6-golang-1.9-git-2.16-chrome-63.0-node-8.x-yarn-1.2-postgresql-9.6 ...
|
||
[0;m[0KStarting service mysql:latest ...
|
||
[0;m[0KPulling docker image mysql:latest ...
|
||
[0;m[0KUsing docker image sha256:5195076672a7e30525705a18f7d352c920bbd07a5ae72b30e374081fe660a011 for mysql:latest ...
|
||
[0;m[0KStarting service redis:alpine ...
|
||
[0;m[0KPulling docker image redis:alpine ...
|
||
[0;m[0KUsing docker image sha256:98bd7cfc43b8ef0ff130465e3d5427c0771002c2f35a6a9b62cb2d04602bed0a for redis:alpine ...
|
||
[0;m[0KWaiting for services to be up and running...
|
||
[0;m[0KPulling docker image dev.gitlab.org:5005/gitlab/gitlab-build-images:ruby-2.3.6-golang-1.9-git-2.16-chrome-63.0-node-8.x-yarn-1.2-postgresql-9.6 ...
|
||
[0;m[0KUsing docker image sha256:1b06077bb03d9d42d801b53f45701bb6a7e862ca02e1e75f30ca7fcf1270eb02 for dev.gitlab.org:5005/gitlab/gitlab-build-images:ruby-2.3.6-golang-1.9-git-2.16-chrome-63.0-node-8.x-yarn-1.2-postgresql-9.6 ...
|
||
[0;msection_start:1522927103:prepare_script
|
||
[0KRunning on runner-30d62d59-project-13083-concurrent-0 via runner-30d62d59-prm-1522922015-ddc29478...
|
||
section_end:1522927104:prepare_script
|
||
[0Ksection_start:1522927104:get_sources
|
||
[0K[32;1mFetching changes for master with git depth set to 20...[0;m
|
||
Removing .gitlab_shell_secret
|
||
Removing .gitlab_workhorse_secret
|
||
Removing .yarn-cache/
|
||
Removing builds/2018_04/
|
||
Removing config/database.yml
|
||
Removing config/gitlab.yml
|
||
Removing config/redis.cache.yml
|
||
Removing config/redis.queues.yml
|
||
Removing config/redis.shared_state.yml
|
||
Removing config/resque.yml
|
||
Removing config/secrets.yml
|
||
Removing log/api_json.log
|
||
Removing log/application.log
|
||
Removing log/gitaly-test.log
|
||
Removing log/grpc.log
|
||
Removing log/test_json.log
|
||
Removing tmp/tests/
|
||
Removing vendor/ruby/
|
||
HEAD is now at b7cbff3d Add `direct_upload` setting for artifacts
|
||
From https://gitlab.com/gitlab-org/gitlab-ce
|
||
2dbcb9cb..641bb13b master -> origin/master
|
||
[32;1mChecking out 21488c74 as master...[0;m
|
||
[32;1mSkipping Git submodules setup[0;m
|
||
section_end:1522927113:get_sources
|
||
[0Ksection_start:1522927113:restore_cache
|
||
[0K[32;1mChecking cache for ruby-2.3.6-with-yarn...[0;m
|
||
Downloading cache.zip from http://runners-cache-5-internal.gitlab.com:444/runner/project/13083/ruby-2.3.6-with-yarn[0;m
|
||
[32;1mSuccessfully extracted cache[0;m
|
||
section_end:1522927128:restore_cache
|
||
[0Ksection_start:1522927128:download_artifacts
|
||
[0K[32;1mDownloading artifacts for retrieve-tests-metadata (61303215)...[0;m
|
||
Downloading artifacts from coordinator... ok [0;m id[0;m=61303215 responseStatus[0;m=200 OK token[0;m=AdWPNg2R
|
||
[32;1mDownloading artifacts for compile-assets (61303216)...[0;m
|
||
Downloading artifacts from coordinator... ok [0;m id[0;m=61303216 responseStatus[0;m=200 OK token[0;m=iy2yYbq8
|
||
[32;1mDownloading artifacts for setup-test-env (61303217)...[0;m
|
||
Downloading artifacts from coordinator... ok [0;m id[0;m=61303217 responseStatus[0;m=200 OK token[0;m=ur1g79-4
|
||
[0;33mWARNING: tmp/tests/gitlab-shell/.gitlab_shell_secret: chmod tmp/tests/gitlab-shell/.gitlab_shell_secret: no such file or directory (suppressing repeats)[0;m
|
||
section_end:1522927141:download_artifacts
|
||
[0Ksection_start:1522927141:build_script
|
||
[0K[32;1m$ bundle --version[0;m
|
||
Bundler version 1.16.1
|
||
[32;1m$ date[0;m
|
||
Thu Apr 5 11:19:01 UTC 2018
|
||
[32;1m$ source scripts/utils.sh[0;m
|
||
[32;1m$ date[0;m
|
||
Thu Apr 5 11:19:01 UTC 2018
|
||
[32;1m$ source scripts/prepare_build.sh[0;m
|
||
The Gemfile's dependencies are satisfied
|
||
Successfully installed knapsack-1.16.0
|
||
1 gem installed
|
||
-- enable_extension("plpgsql")
|
||
-> 0.0010s
|
||
-- enable_extension("pg_trgm")
|
||
-> 0.0000s
|
||
-- create_table("abuse_reports", {:force=>:cascade})
|
||
-> 0.0401s
|
||
-- create_table("appearances", {:force=>:cascade})
|
||
-> 0.1035s
|
||
-- create_table("application_settings", {:force=>:cascade})
|
||
-> 0.0871s
|
||
-- create_table("audit_events", {:force=>:cascade})
|
||
-> 0.0539s
|
||
-- add_index("audit_events", ["entity_id", "entity_type"], {:name=>"index_audit_events_on_entity_id_and_entity_type", :using=>:btree})
|
||
-> 0.0647s
|
||
-- create_table("award_emoji", {:force=>:cascade})
|
||
-> 0.0134s
|
||
-- add_index("award_emoji", ["awardable_type", "awardable_id"], {:name=>"index_award_emoji_on_awardable_type_and_awardable_id", :using=>:btree})
|
||
-> 0.0074s
|
||
-- add_index("award_emoji", ["user_id", "name"], {:name=>"index_award_emoji_on_user_id_and_name", :using=>:btree})
|
||
-> 0.0072s
|
||
-- create_table("badges", {:force=>:cascade})
|
||
-> 0.0122s
|
||
-- add_index("badges", ["group_id"], {:name=>"index_badges_on_group_id", :using=>:btree})
|
||
-> 0.0086s
|
||
-- add_index("badges", ["project_id"], {:name=>"index_badges_on_project_id", :using=>:btree})
|
||
-> 0.0069s
|
||
-- create_table("boards", {:force=>:cascade})
|
||
-> 0.0075s
|
||
-- add_index("boards", ["group_id"], {:name=>"index_boards_on_group_id", :using=>:btree})
|
||
-> 0.0050s
|
||
-- add_index("boards", ["project_id"], {:name=>"index_boards_on_project_id", :using=>:btree})
|
||
-> 0.0051s
|
||
-- create_table("broadcast_messages", {:force=>:cascade})
|
||
-> 0.0082s
|
||
-- add_index("broadcast_messages", ["starts_at", "ends_at", "id"], {:name=>"index_broadcast_messages_on_starts_at_and_ends_at_and_id", :using=>:btree})
|
||
-> 0.0063s
|
||
-- create_table("chat_names", {:force=>:cascade})
|
||
-> 0.0084s
|
||
-- add_index("chat_names", ["service_id", "team_id", "chat_id"], {:name=>"index_chat_names_on_service_id_and_team_id_and_chat_id", :unique=>true, :using=>:btree})
|
||
-> 0.0088s
|
||
-- add_index("chat_names", ["user_id", "service_id"], {:name=>"index_chat_names_on_user_id_and_service_id", :unique=>true, :using=>:btree})
|
||
-> 0.0077s
|
||
-- create_table("chat_teams", {:force=>:cascade})
|
||
-> 0.0120s
|
||
-- add_index("chat_teams", ["namespace_id"], {:name=>"index_chat_teams_on_namespace_id", :unique=>true, :using=>:btree})
|
||
-> 0.0135s
|
||
-- create_table("ci_build_trace_section_names", {:force=>:cascade})
|
||
-> 0.0125s
|
||
-- add_index("ci_build_trace_section_names", ["project_id", "name"], {:name=>"index_ci_build_trace_section_names_on_project_id_and_name", :unique=>true, :using=>:btree})
|
||
-> 0.0087s
|
||
-- create_table("ci_build_trace_sections", {:force=>:cascade})
|
||
-> 0.0094s
|
||
-- add_index("ci_build_trace_sections", ["build_id", "section_name_id"], {:name=>"index_ci_build_trace_sections_on_build_id_and_section_name_id", :unique=>true, :using=>:btree})
|
||
-> 0.0916s
|
||
-- add_index("ci_build_trace_sections", ["project_id"], {:name=>"index_ci_build_trace_sections_on_project_id", :using=>:btree})
|
||
-> 0.0089s
|
||
-- add_index("ci_build_trace_sections", ["section_name_id"], {:name=>"index_ci_build_trace_sections_on_section_name_id", :using=>:btree})
|
||
-> 0.0132s
|
||
-- create_table("ci_builds", {:force=>:cascade})
|
||
-> 0.0140s
|
||
-- add_index("ci_builds", ["artifacts_expire_at"], {:name=>"index_ci_builds_on_artifacts_expire_at", :where=>"(artifacts_file <> ''::text)", :using=>:btree})
|
||
-> 0.0325s
|
||
-- add_index("ci_builds", ["auto_canceled_by_id"], {:name=>"index_ci_builds_on_auto_canceled_by_id", :using=>:btree})
|
||
-> 0.0081s
|
||
-- add_index("ci_builds", ["commit_id", "stage_idx", "created_at"], {:name=>"index_ci_builds_on_commit_id_and_stage_idx_and_created_at", :using=>:btree})
|
||
-> 0.0114s
|
||
-- add_index("ci_builds", ["commit_id", "status", "type"], {:name=>"index_ci_builds_on_commit_id_and_status_and_type", :using=>:btree})
|
||
-> 0.0119s
|
||
-- add_index("ci_builds", ["commit_id", "type", "name", "ref"], {:name=>"index_ci_builds_on_commit_id_and_type_and_name_and_ref", :using=>:btree})
|
||
-> 0.0116s
|
||
-- add_index("ci_builds", ["commit_id", "type", "ref"], {:name=>"index_ci_builds_on_commit_id_and_type_and_ref", :using=>:btree})
|
||
-> 0.0144s
|
||
-- add_index("ci_builds", ["project_id", "id"], {:name=>"index_ci_builds_on_project_id_and_id", :using=>:btree})
|
||
-> 0.0136s
|
||
-- add_index("ci_builds", ["protected"], {:name=>"index_ci_builds_on_protected", :using=>:btree})
|
||
-> 0.0113s
|
||
-- add_index("ci_builds", ["runner_id"], {:name=>"index_ci_builds_on_runner_id", :using=>:btree})
|
||
-> 0.0082s
|
||
-- add_index("ci_builds", ["stage_id"], {:name=>"index_ci_builds_on_stage_id", :using=>:btree})
|
||
-> 0.0086s
|
||
-- add_index("ci_builds", ["status", "type", "runner_id"], {:name=>"index_ci_builds_on_status_and_type_and_runner_id", :using=>:btree})
|
||
-> 0.0091s
|
||
-- add_index("ci_builds", ["status"], {:name=>"index_ci_builds_on_status", :using=>:btree})
|
||
-> 0.0081s
|
||
-- add_index("ci_builds", ["token"], {:name=>"index_ci_builds_on_token", :unique=>true, :using=>:btree})
|
||
-> 0.0103s
|
||
-- add_index("ci_builds", ["updated_at"], {:name=>"index_ci_builds_on_updated_at", :using=>:btree})
|
||
-> 0.0149s
|
||
-- add_index("ci_builds", ["user_id"], {:name=>"index_ci_builds_on_user_id", :using=>:btree})
|
||
-> 0.0156s
|
||
-- create_table("ci_builds_metadata", {:force=>:cascade})
|
||
-> 0.0134s
|
||
-- add_index("ci_builds_metadata", ["build_id"], {:name=>"index_ci_builds_metadata_on_build_id", :unique=>true, :using=>:btree})
|
||
-> 0.0067s
|
||
-- add_index("ci_builds_metadata", ["project_id"], {:name=>"index_ci_builds_metadata_on_project_id", :using=>:btree})
|
||
-> 0.0061s
|
||
-- create_table("ci_group_variables", {:force=>:cascade})
|
||
-> 0.0088s
|
||
-- add_index("ci_group_variables", ["group_id", "key"], {:name=>"index_ci_group_variables_on_group_id_and_key", :unique=>true, :using=>:btree})
|
||
-> 0.0073s
|
||
-- create_table("ci_job_artifacts", {:force=>:cascade})
|
||
-> 0.0089s
|
||
-- add_index("ci_job_artifacts", ["expire_at", "job_id"], {:name=>"index_ci_job_artifacts_on_expire_at_and_job_id", :using=>:btree})
|
||
-> 0.0061s
|
||
-- add_index("ci_job_artifacts", ["job_id", "file_type"], {:name=>"index_ci_job_artifacts_on_job_id_and_file_type", :unique=>true, :using=>:btree})
|
||
-> 0.0077s
|
||
-- add_index("ci_job_artifacts", ["project_id"], {:name=>"index_ci_job_artifacts_on_project_id", :using=>:btree})
|
||
-> 0.0071s
|
||
-- create_table("ci_pipeline_schedule_variables", {:force=>:cascade})
|
||
-> 0.0512s
|
||
-- add_index("ci_pipeline_schedule_variables", ["pipeline_schedule_id", "key"], {:name=>"index_ci_pipeline_schedule_variables_on_schedule_id_and_key", :unique=>true, :using=>:btree})
|
||
-> 0.0144s
|
||
-- create_table("ci_pipeline_schedules", {:force=>:cascade})
|
||
-> 0.0603s
|
||
-- add_index("ci_pipeline_schedules", ["next_run_at", "active"], {:name=>"index_ci_pipeline_schedules_on_next_run_at_and_active", :using=>:btree})
|
||
-> 0.0247s
|
||
-- add_index("ci_pipeline_schedules", ["project_id"], {:name=>"index_ci_pipeline_schedules_on_project_id", :using=>:btree})
|
||
-> 0.0082s
|
||
-- create_table("ci_pipeline_variables", {:force=>:cascade})
|
||
-> 0.0112s
|
||
-- add_index("ci_pipeline_variables", ["pipeline_id", "key"], {:name=>"index_ci_pipeline_variables_on_pipeline_id_and_key", :unique=>true, :using=>:btree})
|
||
-> 0.0075s
|
||
-- create_table("ci_pipelines", {:force=>:cascade})
|
||
-> 0.0111s
|
||
-- add_index("ci_pipelines", ["auto_canceled_by_id"], {:name=>"index_ci_pipelines_on_auto_canceled_by_id", :using=>:btree})
|
||
-> 0.0074s
|
||
-- add_index("ci_pipelines", ["pipeline_schedule_id"], {:name=>"index_ci_pipelines_on_pipeline_schedule_id", :using=>:btree})
|
||
-> 0.0086s
|
||
-- add_index("ci_pipelines", ["project_id", "ref", "status", "id"], {:name=>"index_ci_pipelines_on_project_id_and_ref_and_status_and_id", :using=>:btree})
|
||
-> 0.0104s
|
||
-- add_index("ci_pipelines", ["project_id", "sha"], {:name=>"index_ci_pipelines_on_project_id_and_sha", :using=>:btree})
|
||
-> 0.0107s
|
||
-- add_index("ci_pipelines", ["project_id"], {:name=>"index_ci_pipelines_on_project_id", :using=>:btree})
|
||
-> 0.0084s
|
||
-- add_index("ci_pipelines", ["status"], {:name=>"index_ci_pipelines_on_status", :using=>:btree})
|
||
-> 0.0065s
|
||
-- add_index("ci_pipelines", ["user_id"], {:name=>"index_ci_pipelines_on_user_id", :using=>:btree})
|
||
-> 0.0071s
|
||
-- create_table("ci_runner_projects", {:force=>:cascade})
|
||
-> 0.0077s
|
||
-- add_index("ci_runner_projects", ["project_id"], {:name=>"index_ci_runner_projects_on_project_id", :using=>:btree})
|
||
-> 0.0072s
|
||
-- add_index("ci_runner_projects", ["runner_id"], {:name=>"index_ci_runner_projects_on_runner_id", :using=>:btree})
|
||
-> 0.0064s
|
||
-- create_table("ci_runners", {:force=>:cascade})
|
||
-> 0.0090s
|
||
-- add_index("ci_runners", ["contacted_at"], {:name=>"index_ci_runners_on_contacted_at", :using=>:btree})
|
||
-> 0.0078s
|
||
-- add_index("ci_runners", ["is_shared"], {:name=>"index_ci_runners_on_is_shared", :using=>:btree})
|
||
-> 0.0054s
|
||
-- add_index("ci_runners", ["locked"], {:name=>"index_ci_runners_on_locked", :using=>:btree})
|
||
-> 0.0052s
|
||
-- add_index("ci_runners", ["token"], {:name=>"index_ci_runners_on_token", :using=>:btree})
|
||
-> 0.0057s
|
||
-- create_table("ci_stages", {:force=>:cascade})
|
||
-> 0.0059s
|
||
-- add_index("ci_stages", ["pipeline_id", "name"], {:name=>"index_ci_stages_on_pipeline_id_and_name", :unique=>true, :using=>:btree})
|
||
-> 0.0054s
|
||
-- add_index("ci_stages", ["pipeline_id"], {:name=>"index_ci_stages_on_pipeline_id", :using=>:btree})
|
||
-> 0.0045s
|
||
-- add_index("ci_stages", ["project_id"], {:name=>"index_ci_stages_on_project_id", :using=>:btree})
|
||
-> 0.0053s
|
||
-- create_table("ci_trigger_requests", {:force=>:cascade})
|
||
-> 0.0079s
|
||
-- add_index("ci_trigger_requests", ["commit_id"], {:name=>"index_ci_trigger_requests_on_commit_id", :using=>:btree})
|
||
-> 0.0059s
|
||
-- create_table("ci_triggers", {:force=>:cascade})
|
||
-> 0.0100s
|
||
-- add_index("ci_triggers", ["project_id"], {:name=>"index_ci_triggers_on_project_id", :using=>:btree})
|
||
-> 0.0059s
|
||
-- create_table("ci_variables", {:force=>:cascade})
|
||
-> 0.0110s
|
||
-- add_index("ci_variables", ["project_id", "key", "environment_scope"], {:name=>"index_ci_variables_on_project_id_and_key_and_environment_scope", :unique=>true, :using=>:btree})
|
||
-> 0.0066s
|
||
-- create_table("cluster_platforms_kubernetes", {:force=>:cascade})
|
||
-> 0.0082s
|
||
-- add_index("cluster_platforms_kubernetes", ["cluster_id"], {:name=>"index_cluster_platforms_kubernetes_on_cluster_id", :unique=>true, :using=>:btree})
|
||
-> 0.0047s
|
||
-- create_table("cluster_projects", {:force=>:cascade})
|
||
-> 0.0079s
|
||
-- add_index("cluster_projects", ["cluster_id"], {:name=>"index_cluster_projects_on_cluster_id", :using=>:btree})
|
||
-> 0.0045s
|
||
-- add_index("cluster_projects", ["project_id"], {:name=>"index_cluster_projects_on_project_id", :using=>:btree})
|
||
-> 0.0044s
|
||
-- create_table("cluster_providers_gcp", {:force=>:cascade})
|
||
-> 0.0247s
|
||
-- add_index("cluster_providers_gcp", ["cluster_id"], {:name=>"index_cluster_providers_gcp_on_cluster_id", :unique=>true, :using=>:btree})
|
||
-> 0.0088s
|
||
-- create_table("clusters", {:force=>:cascade})
|
||
-> 0.0767s
|
||
-- add_index("clusters", ["enabled"], {:name=>"index_clusters_on_enabled", :using=>:btree})
|
||
-> 0.0162s
|
||
-- add_index("clusters", ["user_id"], {:name=>"index_clusters_on_user_id", :using=>:btree})
|
||
-> 0.0216s
|
||
-- create_table("clusters_applications_helm", {:force=>:cascade})
|
||
-> 0.0379s
|
||
-- create_table("clusters_applications_ingress", {:force=>:cascade})
|
||
-> 0.0409s
|
||
-- create_table("clusters_applications_prometheus", {:force=>:cascade})
|
||
-> 0.0178s
|
||
-- create_table("clusters_applications_runners", {:force=>:cascade})
|
||
-> 0.0471s
|
||
-- add_index("clusters_applications_runners", ["cluster_id"], {:name=>"index_clusters_applications_runners_on_cluster_id", :unique=>true, :using=>:btree})
|
||
-> 0.0487s
|
||
-- add_index("clusters_applications_runners", ["runner_id"], {:name=>"index_clusters_applications_runners_on_runner_id", :using=>:btree})
|
||
-> 0.0094s
|
||
-- create_table("container_repositories", {:force=>:cascade})
|
||
-> 0.0142s
|
||
-- add_index("container_repositories", ["project_id", "name"], {:name=>"index_container_repositories_on_project_id_and_name", :unique=>true, :using=>:btree})
|
||
-> 0.0080s
|
||
-- add_index("container_repositories", ["project_id"], {:name=>"index_container_repositories_on_project_id", :using=>:btree})
|
||
-> 0.0070s
|
||
-- create_table("conversational_development_index_metrics", {:force=>:cascade})
|
||
-> 0.0204s
|
||
-- create_table("deploy_keys_projects", {:force=>:cascade})
|
||
-> 0.0154s
|
||
-- add_index("deploy_keys_projects", ["project_id"], {:name=>"index_deploy_keys_projects_on_project_id", :using=>:btree})
|
||
-> 0.0471s
|
||
-- create_table("deployments", {:force=>:cascade})
|
||
-> 0.0191s
|
||
-- add_index("deployments", ["created_at"], {:name=>"index_deployments_on_created_at", :using=>:btree})
|
||
-> 0.0552s
|
||
-- add_index("deployments", ["environment_id", "id"], {:name=>"index_deployments_on_environment_id_and_id", :using=>:btree})
|
||
-> 0.0294s
|
||
-- add_index("deployments", ["environment_id", "iid", "project_id"], {:name=>"index_deployments_on_environment_id_and_iid_and_project_id", :using=>:btree})
|
||
-> 0.0408s
|
||
-- add_index("deployments", ["project_id", "iid"], {:name=>"index_deployments_on_project_id_and_iid", :unique=>true, :using=>:btree})
|
||
-> 0.0094s
|
||
-- create_table("emails", {:force=>:cascade})
|
||
-> 0.0127s
|
||
-- add_index("emails", ["confirmation_token"], {:name=>"index_emails_on_confirmation_token", :unique=>true, :using=>:btree})
|
||
-> 0.0082s
|
||
-- add_index("emails", ["email"], {:name=>"index_emails_on_email", :unique=>true, :using=>:btree})
|
||
-> 0.0110s
|
||
-- add_index("emails", ["user_id"], {:name=>"index_emails_on_user_id", :using=>:btree})
|
||
-> 0.0079s
|
||
-- create_table("environments", {:force=>:cascade})
|
||
-> 0.0106s
|
||
-- add_index("environments", ["project_id", "name"], {:name=>"index_environments_on_project_id_and_name", :unique=>true, :using=>:btree})
|
||
-> 0.0086s
|
||
-- add_index("environments", ["project_id", "slug"], {:name=>"index_environments_on_project_id_and_slug", :unique=>true, :using=>:btree})
|
||
-> 0.0076s
|
||
-- create_table("events", {:force=>:cascade})
|
||
-> 0.0122s
|
||
-- add_index("events", ["action"], {:name=>"index_events_on_action", :using=>:btree})
|
||
-> 0.0068s
|
||
-- add_index("events", ["author_id", "project_id"], {:name=>"index_events_on_author_id_and_project_id", :using=>:btree})
|
||
-> 0.0081s
|
||
-- add_index("events", ["project_id", "id"], {:name=>"index_events_on_project_id_and_id", :using=>:btree})
|
||
-> 0.0064s
|
||
-- add_index("events", ["target_type", "target_id"], {:name=>"index_events_on_target_type_and_target_id", :using=>:btree})
|
||
-> 0.0087s
|
||
-- create_table("feature_gates", {:force=>:cascade})
|
||
-> 0.0105s
|
||
-- add_index("feature_gates", ["feature_key", "key", "value"], {:name=>"index_feature_gates_on_feature_key_and_key_and_value", :unique=>true, :using=>:btree})
|
||
-> 0.0080s
|
||
-- create_table("features", {:force=>:cascade})
|
||
-> 0.0086s
|
||
-- add_index("features", ["key"], {:name=>"index_features_on_key", :unique=>true, :using=>:btree})
|
||
-> 0.0058s
|
||
-- create_table("fork_network_members", {:force=>:cascade})
|
||
-> 0.0081s
|
||
-- add_index("fork_network_members", ["fork_network_id"], {:name=>"index_fork_network_members_on_fork_network_id", :using=>:btree})
|
||
-> 0.0056s
|
||
-- add_index("fork_network_members", ["project_id"], {:name=>"index_fork_network_members_on_project_id", :unique=>true, :using=>:btree})
|
||
-> 0.0053s
|
||
-- create_table("fork_networks", {:force=>:cascade})
|
||
-> 0.0081s
|
||
-- add_index("fork_networks", ["root_project_id"], {:name=>"index_fork_networks_on_root_project_id", :unique=>true, :using=>:btree})
|
||
-> 0.0051s
|
||
-- create_table("forked_project_links", {:force=>:cascade})
|
||
-> 0.0070s
|
||
-- add_index("forked_project_links", ["forked_to_project_id"], {:name=>"index_forked_project_links_on_forked_to_project_id", :unique=>true, :using=>:btree})
|
||
-> 0.0061s
|
||
-- create_table("gcp_clusters", {:force=>:cascade})
|
||
-> 0.0090s
|
||
-- add_index("gcp_clusters", ["project_id"], {:name=>"index_gcp_clusters_on_project_id", :unique=>true, :using=>:btree})
|
||
-> 0.0073s
|
||
-- create_table("gpg_key_subkeys", {:force=>:cascade})
|
||
-> 0.0092s
|
||
-- add_index("gpg_key_subkeys", ["fingerprint"], {:name=>"index_gpg_key_subkeys_on_fingerprint", :unique=>true, :using=>:btree})
|
||
-> 0.0063s
|
||
-- add_index("gpg_key_subkeys", ["gpg_key_id"], {:name=>"index_gpg_key_subkeys_on_gpg_key_id", :using=>:btree})
|
||
-> 0.0603s
|
||
-- add_index("gpg_key_subkeys", ["keyid"], {:name=>"index_gpg_key_subkeys_on_keyid", :unique=>true, :using=>:btree})
|
||
-> 0.0705s
|
||
-- create_table("gpg_keys", {:force=>:cascade})
|
||
-> 0.0235s
|
||
-- add_index("gpg_keys", ["fingerprint"], {:name=>"index_gpg_keys_on_fingerprint", :unique=>true, :using=>:btree})
|
||
-> 0.0220s
|
||
-- add_index("gpg_keys", ["primary_keyid"], {:name=>"index_gpg_keys_on_primary_keyid", :unique=>true, :using=>:btree})
|
||
-> 0.0329s
|
||
-- add_index("gpg_keys", ["user_id"], {:name=>"index_gpg_keys_on_user_id", :using=>:btree})
|
||
-> 0.0087s
|
||
-- create_table("gpg_signatures", {:force=>:cascade})
|
||
-> 0.0126s
|
||
-- add_index("gpg_signatures", ["commit_sha"], {:name=>"index_gpg_signatures_on_commit_sha", :unique=>true, :using=>:btree})
|
||
-> 0.0105s
|
||
-- add_index("gpg_signatures", ["gpg_key_id"], {:name=>"index_gpg_signatures_on_gpg_key_id", :using=>:btree})
|
||
-> 0.0094s
|
||
-- add_index("gpg_signatures", ["gpg_key_primary_keyid"], {:name=>"index_gpg_signatures_on_gpg_key_primary_keyid", :using=>:btree})
|
||
-> 0.0100s
|
||
-- add_index("gpg_signatures", ["gpg_key_subkey_id"], {:name=>"index_gpg_signatures_on_gpg_key_subkey_id", :using=>:btree})
|
||
-> 0.0079s
|
||
-- add_index("gpg_signatures", ["project_id"], {:name=>"index_gpg_signatures_on_project_id", :using=>:btree})
|
||
-> 0.0081s
|
||
-- create_table("group_custom_attributes", {:force=>:cascade})
|
||
-> 0.0092s
|
||
-- add_index("group_custom_attributes", ["group_id", "key"], {:name=>"index_group_custom_attributes_on_group_id_and_key", :unique=>true, :using=>:btree})
|
||
-> 0.0086s
|
||
-- add_index("group_custom_attributes", ["key", "value"], {:name=>"index_group_custom_attributes_on_key_and_value", :using=>:btree})
|
||
-> 0.0071s
|
||
-- create_table("identities", {:force=>:cascade})
|
||
-> 0.0114s
|
||
-- add_index("identities", ["user_id"], {:name=>"index_identities_on_user_id", :using=>:btree})
|
||
-> 0.0064s
|
||
-- create_table("internal_ids", {:id=>:bigserial, :force=>:cascade})
|
||
-> 0.0097s
|
||
-- add_index("internal_ids", ["usage", "project_id"], {:name=>"index_internal_ids_on_usage_and_project_id", :unique=>true, :using=>:btree})
|
||
-> 0.0073s
|
||
-- create_table("issue_assignees", {:id=>false, :force=>:cascade})
|
||
-> 0.0127s
|
||
-- add_index("issue_assignees", ["issue_id", "user_id"], {:name=>"index_issue_assignees_on_issue_id_and_user_id", :unique=>true, :using=>:btree})
|
||
-> 0.0110s
|
||
-- add_index("issue_assignees", ["user_id"], {:name=>"index_issue_assignees_on_user_id", :using=>:btree})
|
||
-> 0.0079s
|
||
-- create_table("issue_metrics", {:force=>:cascade})
|
||
-> 0.0098s
|
||
-- add_index("issue_metrics", ["issue_id"], {:name=>"index_issue_metrics", :using=>:btree})
|
||
-> 0.0053s
|
||
-- create_table("issues", {:force=>:cascade})
|
||
-> 0.0090s
|
||
-- add_index("issues", ["author_id"], {:name=>"index_issues_on_author_id", :using=>:btree})
|
||
-> 0.0056s
|
||
-- add_index("issues", ["confidential"], {:name=>"index_issues_on_confidential", :using=>:btree})
|
||
-> 0.0055s
|
||
-- add_index("issues", ["description"], {:name=>"index_issues_on_description_trigram", :using=>:gin, :opclasses=>{"description"=>"gin_trgm_ops"}})
|
||
-> 0.0006s
|
||
-- add_index("issues", ["milestone_id"], {:name=>"index_issues_on_milestone_id", :using=>:btree})
|
||
-> 0.0061s
|
||
-- add_index("issues", ["moved_to_id"], {:name=>"index_issues_on_moved_to_id", :where=>"(moved_to_id IS NOT NULL)", :using=>:btree})
|
||
-> 0.0051s
|
||
-- add_index("issues", ["project_id", "created_at", "id", "state"], {:name=>"index_issues_on_project_id_and_created_at_and_id_and_state", :using=>:btree})
|
||
-> 0.0069s
|
||
-- add_index("issues", ["project_id", "due_date", "id", "state"], {:name=>"idx_issues_on_project_id_and_due_date_and_id_and_state_partial", :where=>"(due_date IS NOT NULL)", :using=>:btree})
|
||
-> 0.0073s
|
||
-- add_index("issues", ["project_id", "iid"], {:name=>"index_issues_on_project_id_and_iid", :unique=>true, :using=>:btree})
|
||
-> 0.0060s
|
||
-- add_index("issues", ["project_id", "updated_at", "id", "state"], {:name=>"index_issues_on_project_id_and_updated_at_and_id_and_state", :using=>:btree})
|
||
-> 0.0094s
|
||
-- add_index("issues", ["relative_position"], {:name=>"index_issues_on_relative_position", :using=>:btree})
|
||
-> 0.0070s
|
||
-- add_index("issues", ["state"], {:name=>"index_issues_on_state", :using=>:btree})
|
||
-> 0.0078s
|
||
-- add_index("issues", ["title"], {:name=>"index_issues_on_title_trigram", :using=>:gin, :opclasses=>{"title"=>"gin_trgm_ops"}})
|
||
-> 0.0007s
|
||
-- add_index("issues", ["updated_at"], {:name=>"index_issues_on_updated_at", :using=>:btree})
|
||
-> 0.0068s
|
||
-- add_index("issues", ["updated_by_id"], {:name=>"index_issues_on_updated_by_id", :where=>"(updated_by_id IS NOT NULL)", :using=>:btree})
|
||
-> 0.0066s
|
||
-- create_table("keys", {:force=>:cascade})
|
||
-> 0.0087s
|
||
-- add_index("keys", ["fingerprint"], {:name=>"index_keys_on_fingerprint", :unique=>true, :using=>:btree})
|
||
-> 0.0066s
|
||
-- add_index("keys", ["user_id"], {:name=>"index_keys_on_user_id", :using=>:btree})
|
||
-> 0.0063s
|
||
-- create_table("label_links", {:force=>:cascade})
|
||
-> 0.0073s
|
||
-- add_index("label_links", ["label_id"], {:name=>"index_label_links_on_label_id", :using=>:btree})
|
||
-> 0.0050s
|
||
-- add_index("label_links", ["target_id", "target_type"], {:name=>"index_label_links_on_target_id_and_target_type", :using=>:btree})
|
||
-> 0.0062s
|
||
-- create_table("label_priorities", {:force=>:cascade})
|
||
-> 0.0073s
|
||
-- add_index("label_priorities", ["priority"], {:name=>"index_label_priorities_on_priority", :using=>:btree})
|
||
-> 0.0058s
|
||
-- add_index("label_priorities", ["project_id", "label_id"], {:name=>"index_label_priorities_on_project_id_and_label_id", :unique=>true, :using=>:btree})
|
||
-> 0.0056s
|
||
-- create_table("labels", {:force=>:cascade})
|
||
-> 0.0087s
|
||
-- add_index("labels", ["group_id", "project_id", "title"], {:name=>"index_labels_on_group_id_and_project_id_and_title", :unique=>true, :using=>:btree})
|
||
-> 0.0074s
|
||
-- add_index("labels", ["project_id"], {:name=>"index_labels_on_project_id", :using=>:btree})
|
||
-> 0.0061s
|
||
-- add_index("labels", ["template"], {:name=>"index_labels_on_template", :where=>"template", :using=>:btree})
|
||
-> 0.0060s
|
||
-- add_index("labels", ["title"], {:name=>"index_labels_on_title", :using=>:btree})
|
||
-> 0.0076s
|
||
-- add_index("labels", ["type", "project_id"], {:name=>"index_labels_on_type_and_project_id", :using=>:btree})
|
||
-> 0.0061s
|
||
-- create_table("lfs_file_locks", {:force=>:cascade})
|
||
-> 0.0078s
|
||
-- add_index("lfs_file_locks", ["project_id", "path"], {:name=>"index_lfs_file_locks_on_project_id_and_path", :unique=>true, :using=>:btree})
|
||
-> 0.0067s
|
||
-- add_index("lfs_file_locks", ["user_id"], {:name=>"index_lfs_file_locks_on_user_id", :using=>:btree})
|
||
-> 0.0060s
|
||
-- create_table("lfs_objects", {:force=>:cascade})
|
||
-> 0.0109s
|
||
-- add_index("lfs_objects", ["oid"], {:name=>"index_lfs_objects_on_oid", :unique=>true, :using=>:btree})
|
||
-> 0.0059s
|
||
-- create_table("lfs_objects_projects", {:force=>:cascade})
|
||
-> 0.0091s
|
||
-- add_index("lfs_objects_projects", ["project_id"], {:name=>"index_lfs_objects_projects_on_project_id", :using=>:btree})
|
||
-> 0.0060s
|
||
-- create_table("lists", {:force=>:cascade})
|
||
-> 0.0115s
|
||
-- add_index("lists", ["board_id", "label_id"], {:name=>"index_lists_on_board_id_and_label_id", :unique=>true, :using=>:btree})
|
||
-> 0.0055s
|
||
-- add_index("lists", ["label_id"], {:name=>"index_lists_on_label_id", :using=>:btree})
|
||
-> 0.0055s
|
||
-- create_table("members", {:force=>:cascade})
|
||
-> 0.0140s
|
||
-- add_index("members", ["access_level"], {:name=>"index_members_on_access_level", :using=>:btree})
|
||
-> 0.0067s
|
||
-- add_index("members", ["invite_token"], {:name=>"index_members_on_invite_token", :unique=>true, :using=>:btree})
|
||
-> 0.0069s
|
||
-- add_index("members", ["requested_at"], {:name=>"index_members_on_requested_at", :using=>:btree})
|
||
-> 0.0057s
|
||
-- add_index("members", ["source_id", "source_type"], {:name=>"index_members_on_source_id_and_source_type", :using=>:btree})
|
||
-> 0.0057s
|
||
-- add_index("members", ["user_id"], {:name=>"index_members_on_user_id", :using=>:btree})
|
||
-> 0.0073s
|
||
-- create_table("merge_request_diff_commits", {:id=>false, :force=>:cascade})
|
||
-> 0.0087s
|
||
-- add_index("merge_request_diff_commits", ["merge_request_diff_id", "relative_order"], {:name=>"index_merge_request_diff_commits_on_mr_diff_id_and_order", :unique=>true, :using=>:btree})
|
||
-> 0.0151s
|
||
-- add_index("merge_request_diff_commits", ["sha"], {:name=>"index_merge_request_diff_commits_on_sha", :using=>:btree})
|
||
-> 0.0057s
|
||
-- create_table("merge_request_diff_files", {:id=>false, :force=>:cascade})
|
||
-> 0.0094s
|
||
-- add_index("merge_request_diff_files", ["merge_request_diff_id", "relative_order"], {:name=>"index_merge_request_diff_files_on_mr_diff_id_and_order", :unique=>true, :using=>:btree})
|
||
-> 0.0138s
|
||
-- create_table("merge_request_diffs", {:force=>:cascade})
|
||
-> 0.0077s
|
||
-- add_index("merge_request_diffs", ["merge_request_id", "id"], {:name=>"index_merge_request_diffs_on_merge_request_id_and_id", :using=>:btree})
|
||
-> 0.0060s
|
||
-- create_table("merge_request_metrics", {:force=>:cascade})
|
||
-> 0.0098s
|
||
-- add_index("merge_request_metrics", ["first_deployed_to_production_at"], {:name=>"index_merge_request_metrics_on_first_deployed_to_production_at", :using=>:btree})
|
||
-> 0.0060s
|
||
-- add_index("merge_request_metrics", ["merge_request_id"], {:name=>"index_merge_request_metrics", :using=>:btree})
|
||
-> 0.0050s
|
||
-- add_index("merge_request_metrics", ["pipeline_id"], {:name=>"index_merge_request_metrics_on_pipeline_id", :using=>:btree})
|
||
-> 0.0045s
|
||
-- create_table("merge_requests", {:force=>:cascade})
|
||
-> 0.0066s
|
||
-- add_index("merge_requests", ["assignee_id"], {:name=>"index_merge_requests_on_assignee_id", :using=>:btree})
|
||
-> 0.0072s
|
||
-- add_index("merge_requests", ["author_id"], {:name=>"index_merge_requests_on_author_id", :using=>:btree})
|
||
-> 0.0050s
|
||
-- add_index("merge_requests", ["created_at"], {:name=>"index_merge_requests_on_created_at", :using=>:btree})
|
||
-> 0.0053s
|
||
-- add_index("merge_requests", ["description"], {:name=>"index_merge_requests_on_description_trigram", :using=>:gin, :opclasses=>{"description"=>"gin_trgm_ops"}})
|
||
-> 0.0008s
|
||
-- add_index("merge_requests", ["head_pipeline_id"], {:name=>"index_merge_requests_on_head_pipeline_id", :using=>:btree})
|
||
-> 0.0053s
|
||
-- add_index("merge_requests", ["latest_merge_request_diff_id"], {:name=>"index_merge_requests_on_latest_merge_request_diff_id", :using=>:btree})
|
||
-> 0.0048s
|
||
-- add_index("merge_requests", ["merge_user_id"], {:name=>"index_merge_requests_on_merge_user_id", :where=>"(merge_user_id IS NOT NULL)", :using=>:btree})
|
||
-> 0.0051s
|
||
-- add_index("merge_requests", ["milestone_id"], {:name=>"index_merge_requests_on_milestone_id", :using=>:btree})
|
||
-> 0.0055s
|
||
-- add_index("merge_requests", ["source_branch"], {:name=>"index_merge_requests_on_source_branch", :using=>:btree})
|
||
-> 0.0055s
|
||
-- add_index("merge_requests", ["source_project_id", "source_branch"], {:name=>"index_merge_requests_on_source_project_and_branch_state_opened", :where=>"((state)::text = 'opened'::text)", :using=>:btree})
|
||
-> 0.0061s
|
||
-- add_index("merge_requests", ["source_project_id", "source_branch"], {:name=>"index_merge_requests_on_source_project_id_and_source_branch", :using=>:btree})
|
||
-> 0.0068s
|
||
-- add_index("merge_requests", ["target_branch"], {:name=>"index_merge_requests_on_target_branch", :using=>:btree})
|
||
-> 0.0054s
|
||
-- add_index("merge_requests", ["target_project_id", "iid"], {:name=>"index_merge_requests_on_target_project_id_and_iid", :unique=>true, :using=>:btree})
|
||
-> 0.0061s
|
||
-- add_index("merge_requests", ["target_project_id", "merge_commit_sha", "id"], {:name=>"index_merge_requests_on_tp_id_and_merge_commit_sha_and_id", :using=>:btree})
|
||
-> 0.0077s
|
||
-- add_index("merge_requests", ["title"], {:name=>"index_merge_requests_on_title", :using=>:btree})
|
||
-> 0.0105s
|
||
-- add_index("merge_requests", ["title"], {:name=>"index_merge_requests_on_title_trigram", :using=>:gin, :opclasses=>{"title"=>"gin_trgm_ops"}})
|
||
-> 0.0008s
|
||
-- add_index("merge_requests", ["updated_by_id"], {:name=>"index_merge_requests_on_updated_by_id", :where=>"(updated_by_id IS NOT NULL)", :using=>:btree})
|
||
-> 0.0074s
|
||
-- create_table("merge_requests_closing_issues", {:force=>:cascade})
|
||
-> 0.0125s
|
||
-- add_index("merge_requests_closing_issues", ["issue_id"], {:name=>"index_merge_requests_closing_issues_on_issue_id", :using=>:btree})
|
||
-> 0.0064s
|
||
-- add_index("merge_requests_closing_issues", ["merge_request_id"], {:name=>"index_merge_requests_closing_issues_on_merge_request_id", :using=>:btree})
|
||
-> 0.0061s
|
||
-- create_table("milestones", {:force=>:cascade})
|
||
-> 0.0064s
|
||
-- add_index("milestones", ["description"], {:name=>"index_milestones_on_description_trigram", :using=>:gin, :opclasses=>{"description"=>"gin_trgm_ops"}})
|
||
-> 0.0007s
|
||
-- add_index("milestones", ["due_date"], {:name=>"index_milestones_on_due_date", :using=>:btree})
|
||
-> 0.0053s
|
||
-- add_index("milestones", ["group_id"], {:name=>"index_milestones_on_group_id", :using=>:btree})
|
||
-> 0.0068s
|
||
-- add_index("milestones", ["project_id", "iid"], {:name=>"index_milestones_on_project_id_and_iid", :unique=>true, :using=>:btree})
|
||
-> 0.0057s
|
||
-- add_index("milestones", ["title"], {:name=>"index_milestones_on_title", :using=>:btree})
|
||
-> 0.0051s
|
||
-- add_index("milestones", ["title"], {:name=>"index_milestones_on_title_trigram", :using=>:gin, :opclasses=>{"title"=>"gin_trgm_ops"}})
|
||
-> 0.0006s
|
||
-- create_table("namespaces", {:force=>:cascade})
|
||
-> 0.0083s
|
||
-- add_index("namespaces", ["created_at"], {:name=>"index_namespaces_on_created_at", :using=>:btree})
|
||
-> 0.0061s
|
||
-- add_index("namespaces", ["name", "parent_id"], {:name=>"index_namespaces_on_name_and_parent_id", :unique=>true, :using=>:btree})
|
||
-> 0.0062s
|
||
-- add_index("namespaces", ["name"], {:name=>"index_namespaces_on_name_trigram", :using=>:gin, :opclasses=>{"name"=>"gin_trgm_ops"}})
|
||
-> 0.0006s
|
||
-- add_index("namespaces", ["owner_id"], {:name=>"index_namespaces_on_owner_id", :using=>:btree})
|
||
-> 0.0061s
|
||
-- add_index("namespaces", ["parent_id", "id"], {:name=>"index_namespaces_on_parent_id_and_id", :unique=>true, :using=>:btree})
|
||
-> 0.0072s
|
||
-- add_index("namespaces", ["path"], {:name=>"index_namespaces_on_path", :using=>:btree})
|
||
-> 0.0056s
|
||
-- add_index("namespaces", ["path"], {:name=>"index_namespaces_on_path_trigram", :using=>:gin, :opclasses=>{"path"=>"gin_trgm_ops"}})
|
||
-> 0.0006s
|
||
-- add_index("namespaces", ["require_two_factor_authentication"], {:name=>"index_namespaces_on_require_two_factor_authentication", :using=>:btree})
|
||
-> 0.0061s
|
||
-- add_index("namespaces", ["type"], {:name=>"index_namespaces_on_type", :using=>:btree})
|
||
-> 0.0055s
|
||
-- create_table("notes", {:force=>:cascade})
|
||
-> 0.0092s
|
||
-- add_index("notes", ["author_id"], {:name=>"index_notes_on_author_id", :using=>:btree})
|
||
-> 0.0072s
|
||
-- add_index("notes", ["commit_id"], {:name=>"index_notes_on_commit_id", :using=>:btree})
|
||
-> 0.0057s
|
||
-- add_index("notes", ["created_at"], {:name=>"index_notes_on_created_at", :using=>:btree})
|
||
-> 0.0065s
|
||
-- add_index("notes", ["discussion_id"], {:name=>"index_notes_on_discussion_id", :using=>:btree})
|
||
-> 0.0064s
|
||
-- add_index("notes", ["line_code"], {:name=>"index_notes_on_line_code", :using=>:btree})
|
||
-> 0.0078s
|
||
-- add_index("notes", ["note"], {:name=>"index_notes_on_note_trigram", :using=>:gin, :opclasses=>{"note"=>"gin_trgm_ops"}})
|
||
-> 0.0006s
|
||
-- add_index("notes", ["noteable_id", "noteable_type"], {:name=>"index_notes_on_noteable_id_and_noteable_type", :using=>:btree})
|
||
-> 0.0102s
|
||
-- add_index("notes", ["noteable_type"], {:name=>"index_notes_on_noteable_type", :using=>:btree})
|
||
-> 0.0092s
|
||
-- add_index("notes", ["project_id", "noteable_type"], {:name=>"index_notes_on_project_id_and_noteable_type", :using=>:btree})
|
||
-> 0.0082s
|
||
-- add_index("notes", ["updated_at"], {:name=>"index_notes_on_updated_at", :using=>:btree})
|
||
-> 0.0062s
|
||
-- create_table("notification_settings", {:force=>:cascade})
|
||
-> 0.0088s
|
||
-- add_index("notification_settings", ["source_id", "source_type"], {:name=>"index_notification_settings_on_source_id_and_source_type", :using=>:btree})
|
||
-> 0.0405s
|
||
-- add_index("notification_settings", ["user_id", "source_id", "source_type"], {:name=>"index_notifications_on_user_id_and_source_id_and_source_type", :unique=>true, :using=>:btree})
|
||
-> 0.0677s
|
||
-- add_index("notification_settings", ["user_id"], {:name=>"index_notification_settings_on_user_id", :using=>:btree})
|
||
-> 0.1199s
|
||
-- create_table("oauth_access_grants", {:force=>:cascade})
|
||
-> 0.0140s
|
||
-- add_index("oauth_access_grants", ["token"], {:name=>"index_oauth_access_grants_on_token", :unique=>true, :using=>:btree})
|
||
-> 0.0076s
|
||
-- create_table("oauth_access_tokens", {:force=>:cascade})
|
||
-> 0.0167s
|
||
-- add_index("oauth_access_tokens", ["refresh_token"], {:name=>"index_oauth_access_tokens_on_refresh_token", :unique=>true, :using=>:btree})
|
||
-> 0.0098s
|
||
-- add_index("oauth_access_tokens", ["resource_owner_id"], {:name=>"index_oauth_access_tokens_on_resource_owner_id", :using=>:btree})
|
||
-> 0.0074s
|
||
-- add_index("oauth_access_tokens", ["token"], {:name=>"index_oauth_access_tokens_on_token", :unique=>true, :using=>:btree})
|
||
-> 0.0078s
|
||
-- create_table("oauth_applications", {:force=>:cascade})
|
||
-> 0.0112s
|
||
-- add_index("oauth_applications", ["owner_id", "owner_type"], {:name=>"index_oauth_applications_on_owner_id_and_owner_type", :using=>:btree})
|
||
-> 0.0079s
|
||
-- add_index("oauth_applications", ["uid"], {:name=>"index_oauth_applications_on_uid", :unique=>true, :using=>:btree})
|
||
-> 0.0114s
|
||
-- create_table("oauth_openid_requests", {:force=>:cascade})
|
||
-> 0.0102s
|
||
-- create_table("pages_domains", {:force=>:cascade})
|
||
-> 0.0102s
|
||
-- add_index("pages_domains", ["domain"], {:name=>"index_pages_domains_on_domain", :unique=>true, :using=>:btree})
|
||
-> 0.0067s
|
||
-- add_index("pages_domains", ["project_id", "enabled_until"], {:name=>"index_pages_domains_on_project_id_and_enabled_until", :using=>:btree})
|
||
-> 0.0114s
|
||
-- add_index("pages_domains", ["project_id"], {:name=>"index_pages_domains_on_project_id", :using=>:btree})
|
||
-> 0.0066s
|
||
-- add_index("pages_domains", ["verified_at", "enabled_until"], {:name=>"index_pages_domains_on_verified_at_and_enabled_until", :using=>:btree})
|
||
-> 0.0073s
|
||
-- add_index("pages_domains", ["verified_at"], {:name=>"index_pages_domains_on_verified_at", :using=>:btree})
|
||
-> 0.0063s
|
||
-- create_table("personal_access_tokens", {:force=>:cascade})
|
||
-> 0.0084s
|
||
-- add_index("personal_access_tokens", ["token"], {:name=>"index_personal_access_tokens_on_token", :unique=>true, :using=>:btree})
|
||
-> 0.0075s
|
||
-- add_index("personal_access_tokens", ["user_id"], {:name=>"index_personal_access_tokens_on_user_id", :using=>:btree})
|
||
-> 0.0066s
|
||
-- create_table("project_authorizations", {:id=>false, :force=>:cascade})
|
||
-> 0.0087s
|
||
-- add_index("project_authorizations", ["project_id"], {:name=>"index_project_authorizations_on_project_id", :using=>:btree})
|
||
-> 0.0056s
|
||
-- add_index("project_authorizations", ["user_id", "project_id", "access_level"], {:name=>"index_project_authorizations_on_user_id_project_id_access_level", :unique=>true, :using=>:btree})
|
||
-> 0.0075s
|
||
-- create_table("project_auto_devops", {:force=>:cascade})
|
||
-> 0.0079s
|
||
-- add_index("project_auto_devops", ["project_id"], {:name=>"index_project_auto_devops_on_project_id", :unique=>true, :using=>:btree})
|
||
-> 0.0067s
|
||
-- create_table("project_custom_attributes", {:force=>:cascade})
|
||
-> 0.0071s
|
||
-- add_index("project_custom_attributes", ["key", "value"], {:name=>"index_project_custom_attributes_on_key_and_value", :using=>:btree})
|
||
-> 0.0060s
|
||
-- add_index("project_custom_attributes", ["project_id", "key"], {:name=>"index_project_custom_attributes_on_project_id_and_key", :unique=>true, :using=>:btree})
|
||
-> 0.0069s
|
||
-- create_table("project_features", {:force=>:cascade})
|
||
-> 0.0100s
|
||
-- add_index("project_features", ["project_id"], {:name=>"index_project_features_on_project_id", :using=>:btree})
|
||
-> 0.0069s
|
||
-- create_table("project_group_links", {:force=>:cascade})
|
||
-> 0.0117s
|
||
-- add_index("project_group_links", ["group_id"], {:name=>"index_project_group_links_on_group_id", :using=>:btree})
|
||
-> 0.0121s
|
||
-- add_index("project_group_links", ["project_id"], {:name=>"index_project_group_links_on_project_id", :using=>:btree})
|
||
-> 0.0076s
|
||
-- create_table("project_import_data", {:force=>:cascade})
|
||
-> 0.0084s
|
||
-- add_index("project_import_data", ["project_id"], {:name=>"index_project_import_data_on_project_id", :using=>:btree})
|
||
-> 0.0058s
|
||
-- create_table("project_statistics", {:force=>:cascade})
|
||
-> 0.0075s
|
||
-- add_index("project_statistics", ["namespace_id"], {:name=>"index_project_statistics_on_namespace_id", :using=>:btree})
|
||
-> 0.0054s
|
||
-- add_index("project_statistics", ["project_id"], {:name=>"index_project_statistics_on_project_id", :unique=>true, :using=>:btree})
|
||
-> 0.0054s
|
||
-- create_table("projects", {:force=>:cascade})
|
||
-> 0.0077s
|
||
-- add_index("projects", ["ci_id"], {:name=>"index_projects_on_ci_id", :using=>:btree})
|
||
-> 0.0070s
|
||
-- add_index("projects", ["created_at"], {:name=>"index_projects_on_created_at", :using=>:btree})
|
||
-> 0.0060s
|
||
-- add_index("projects", ["creator_id"], {:name=>"index_projects_on_creator_id", :using=>:btree})
|
||
-> 0.0071s
|
||
-- add_index("projects", ["description"], {:name=>"index_projects_on_description_trigram", :using=>:gin, :opclasses=>{"description"=>"gin_trgm_ops"}})
|
||
-> 0.0009s
|
||
-- add_index("projects", ["id"], {:name=>"index_projects_on_id_partial_for_visibility", :unique=>true, :where=>"(visibility_level = ANY (ARRAY[10, 20]))", :using=>:btree})
|
||
-> 0.0062s
|
||
-- add_index("projects", ["last_activity_at"], {:name=>"index_projects_on_last_activity_at", :using=>:btree})
|
||
-> 0.0060s
|
||
-- add_index("projects", ["last_repository_check_failed"], {:name=>"index_projects_on_last_repository_check_failed", :using=>:btree})
|
||
-> 0.0063s
|
||
-- add_index("projects", ["last_repository_updated_at"], {:name=>"index_projects_on_last_repository_updated_at", :using=>:btree})
|
||
-> 0.0633s
|
||
-- add_index("projects", ["name"], {:name=>"index_projects_on_name_trigram", :using=>:gin, :opclasses=>{"name"=>"gin_trgm_ops"}})
|
||
-> 0.0012s
|
||
-- add_index("projects", ["namespace_id"], {:name=>"index_projects_on_namespace_id", :using=>:btree})
|
||
-> 0.0167s
|
||
-- add_index("projects", ["path"], {:name=>"index_projects_on_path", :using=>:btree})
|
||
-> 0.0222s
|
||
-- add_index("projects", ["path"], {:name=>"index_projects_on_path_trigram", :using=>:gin, :opclasses=>{"path"=>"gin_trgm_ops"}})
|
||
-> 0.0010s
|
||
-- add_index("projects", ["pending_delete"], {:name=>"index_projects_on_pending_delete", :using=>:btree})
|
||
-> 0.0229s
|
||
-- add_index("projects", ["repository_storage"], {:name=>"index_projects_on_repository_storage", :using=>:btree})
|
||
-> 0.0173s
|
||
-- add_index("projects", ["runners_token"], {:name=>"index_projects_on_runners_token", :using=>:btree})
|
||
-> 0.0167s
|
||
-- add_index("projects", ["star_count"], {:name=>"index_projects_on_star_count", :using=>:btree})
|
||
-> 0.0491s
|
||
-- add_index("projects", ["visibility_level"], {:name=>"index_projects_on_visibility_level", :using=>:btree})
|
||
-> 0.0598s
|
||
-- create_table("protected_branch_merge_access_levels", {:force=>:cascade})
|
||
-> 0.1964s
|
||
-- add_index("protected_branch_merge_access_levels", ["protected_branch_id"], {:name=>"index_protected_branch_merge_access", :using=>:btree})
|
||
-> 0.1112s
|
||
-- create_table("protected_branch_push_access_levels", {:force=>:cascade})
|
||
-> 0.0195s
|
||
-- add_index("protected_branch_push_access_levels", ["protected_branch_id"], {:name=>"index_protected_branch_push_access", :using=>:btree})
|
||
-> 0.0069s
|
||
-- create_table("protected_branches", {:force=>:cascade})
|
||
-> 0.0113s
|
||
-- add_index("protected_branches", ["project_id"], {:name=>"index_protected_branches_on_project_id", :using=>:btree})
|
||
-> 0.0071s
|
||
-- create_table("protected_tag_create_access_levels", {:force=>:cascade})
|
||
-> 0.0180s
|
||
-- add_index("protected_tag_create_access_levels", ["protected_tag_id"], {:name=>"index_protected_tag_create_access", :using=>:btree})
|
||
-> 0.0068s
|
||
-- add_index("protected_tag_create_access_levels", ["user_id"], {:name=>"index_protected_tag_create_access_levels_on_user_id", :using=>:btree})
|
||
-> 0.0077s
|
||
-- create_table("protected_tags", {:force=>:cascade})
|
||
-> 0.0115s
|
||
-- add_index("protected_tags", ["project_id"], {:name=>"index_protected_tags_on_project_id", :using=>:btree})
|
||
-> 0.0081s
|
||
-- create_table("push_event_payloads", {:id=>false, :force=>:cascade})
|
||
-> 0.0108s
|
||
-- add_index("push_event_payloads", ["event_id"], {:name=>"index_push_event_payloads_on_event_id", :unique=>true, :using=>:btree})
|
||
-> 0.0189s
|
||
-- create_table("redirect_routes", {:force=>:cascade})
|
||
-> 0.0106s
|
||
-- add_index("redirect_routes", ["path"], {:name=>"index_redirect_routes_on_path", :unique=>true, :using=>:btree})
|
||
-> 0.0075s
|
||
-- add_index("redirect_routes", ["source_type", "source_id"], {:name=>"index_redirect_routes_on_source_type_and_source_id", :using=>:btree})
|
||
-> 0.0099s
|
||
-- create_table("releases", {:force=>:cascade})
|
||
-> 0.0126s
|
||
-- add_index("releases", ["project_id", "tag"], {:name=>"index_releases_on_project_id_and_tag", :using=>:btree})
|
||
-> 0.0066s
|
||
-- add_index("releases", ["project_id"], {:name=>"index_releases_on_project_id", :using=>:btree})
|
||
-> 0.0060s
|
||
-- create_table("routes", {:force=>:cascade})
|
||
-> 0.0091s
|
||
-- add_index("routes", ["path"], {:name=>"index_routes_on_path", :unique=>true, :using=>:btree})
|
||
-> 0.0073s
|
||
-- add_index("routes", ["path"], {:name=>"index_routes_on_path_text_pattern_ops", :using=>:btree, :opclasses=>{"path"=>"varchar_pattern_ops"}})
|
||
-> 0.0004s
|
||
-- add_index("routes", ["source_type", "source_id"], {:name=>"index_routes_on_source_type_and_source_id", :unique=>true, :using=>:btree})
|
||
-> 0.0111s
|
||
-- create_table("sent_notifications", {:force=>:cascade})
|
||
-> 0.0093s
|
||
-- add_index("sent_notifications", ["reply_key"], {:name=>"index_sent_notifications_on_reply_key", :unique=>true, :using=>:btree})
|
||
-> 0.0060s
|
||
-- create_table("services", {:force=>:cascade})
|
||
-> 0.0099s
|
||
-- add_index("services", ["project_id"], {:name=>"index_services_on_project_id", :using=>:btree})
|
||
-> 0.0068s
|
||
-- add_index("services", ["template"], {:name=>"index_services_on_template", :using=>:btree})
|
||
-> 0.0076s
|
||
-- create_table("snippets", {:force=>:cascade})
|
||
-> 0.0073s
|
||
-- add_index("snippets", ["author_id"], {:name=>"index_snippets_on_author_id", :using=>:btree})
|
||
-> 0.0055s
|
||
-- add_index("snippets", ["file_name"], {:name=>"index_snippets_on_file_name_trigram", :using=>:gin, :opclasses=>{"file_name"=>"gin_trgm_ops"}})
|
||
-> 0.0006s
|
||
-- add_index("snippets", ["project_id"], {:name=>"index_snippets_on_project_id", :using=>:btree})
|
||
-> 0.0058s
|
||
-- add_index("snippets", ["title"], {:name=>"index_snippets_on_title_trigram", :using=>:gin, :opclasses=>{"title"=>"gin_trgm_ops"}})
|
||
-> 0.0005s
|
||
-- add_index("snippets", ["updated_at"], {:name=>"index_snippets_on_updated_at", :using=>:btree})
|
||
-> 0.0100s
|
||
-- add_index("snippets", ["visibility_level"], {:name=>"index_snippets_on_visibility_level", :using=>:btree})
|
||
-> 0.0091s
|
||
-- create_table("spam_logs", {:force=>:cascade})
|
||
-> 0.0129s
|
||
-- create_table("subscriptions", {:force=>:cascade})
|
||
-> 0.0094s
|
||
-- add_index("subscriptions", ["subscribable_id", "subscribable_type", "user_id", "project_id"], {:name=>"index_subscriptions_on_subscribable_and_user_id_and_project_id", :unique=>true, :using=>:btree})
|
||
-> 0.0107s
|
||
-- create_table("system_note_metadata", {:force=>:cascade})
|
||
-> 0.0138s
|
||
-- add_index("system_note_metadata", ["note_id"], {:name=>"index_system_note_metadata_on_note_id", :unique=>true, :using=>:btree})
|
||
-> 0.0060s
|
||
-- create_table("taggings", {:force=>:cascade})
|
||
-> 0.0121s
|
||
-- add_index("taggings", ["tag_id", "taggable_id", "taggable_type", "context", "tagger_id", "tagger_type"], {:name=>"taggings_idx", :unique=>true, :using=>:btree})
|
||
-> 0.0078s
|
||
-- add_index("taggings", ["tag_id"], {:name=>"index_taggings_on_tag_id", :using=>:btree})
|
||
-> 0.0058s
|
||
-- add_index("taggings", ["taggable_id", "taggable_type", "context"], {:name=>"index_taggings_on_taggable_id_and_taggable_type_and_context", :using=>:btree})
|
||
-> 0.0059s
|
||
-- add_index("taggings", ["taggable_id", "taggable_type"], {:name=>"index_taggings_on_taggable_id_and_taggable_type", :using=>:btree})
|
||
-> 0.0056s
|
||
-- create_table("tags", {:force=>:cascade})
|
||
-> 0.0063s
|
||
-- add_index("tags", ["name"], {:name=>"index_tags_on_name", :unique=>true, :using=>:btree})
|
||
-> 0.0055s
|
||
-- create_table("timelogs", {:force=>:cascade})
|
||
-> 0.0061s
|
||
-- add_index("timelogs", ["issue_id"], {:name=>"index_timelogs_on_issue_id", :using=>:btree})
|
||
-> 0.0063s
|
||
-- add_index("timelogs", ["merge_request_id"], {:name=>"index_timelogs_on_merge_request_id", :using=>:btree})
|
||
-> 0.0052s
|
||
-- add_index("timelogs", ["user_id"], {:name=>"index_timelogs_on_user_id", :using=>:btree})
|
||
-> 0.0055s
|
||
-- create_table("todos", {:force=>:cascade})
|
||
-> 0.0065s
|
||
-- add_index("todos", ["author_id"], {:name=>"index_todos_on_author_id", :using=>:btree})
|
||
-> 0.0081s
|
||
-- add_index("todos", ["commit_id"], {:name=>"index_todos_on_commit_id", :using=>:btree})
|
||
-> 0.0085s
|
||
-- add_index("todos", ["note_id"], {:name=>"index_todos_on_note_id", :using=>:btree})
|
||
-> 0.0083s
|
||
-- add_index("todos", ["project_id"], {:name=>"index_todos_on_project_id", :using=>:btree})
|
||
-> 0.0094s
|
||
-- add_index("todos", ["target_type", "target_id"], {:name=>"index_todos_on_target_type_and_target_id", :using=>:btree})
|
||
-> 0.0070s
|
||
-- add_index("todos", ["user_id", "id"], {:name=>"index_todos_on_user_id_and_id_done", :where=>"((state)::text = 'done'::text)", :using=>:btree})
|
||
-> 0.0099s
|
||
-- add_index("todos", ["user_id", "id"], {:name=>"index_todos_on_user_id_and_id_pending", :where=>"((state)::text = 'pending'::text)", :using=>:btree})
|
||
-> 0.0080s
|
||
-- add_index("todos", ["user_id"], {:name=>"index_todos_on_user_id", :using=>:btree})
|
||
-> 0.0061s
|
||
-- create_table("trending_projects", {:force=>:cascade})
|
||
-> 0.0081s
|
||
-- add_index("trending_projects", ["project_id"], {:name=>"index_trending_projects_on_project_id", :unique=>true, :using=>:btree})
|
||
-> 0.0046s
|
||
-- create_table("u2f_registrations", {:force=>:cascade})
|
||
-> 0.0063s
|
||
-- add_index("u2f_registrations", ["key_handle"], {:name=>"index_u2f_registrations_on_key_handle", :using=>:btree})
|
||
-> 0.0052s
|
||
-- add_index("u2f_registrations", ["user_id"], {:name=>"index_u2f_registrations_on_user_id", :using=>:btree})
|
||
-> 0.0072s
|
||
-- create_table("uploads", {:force=>:cascade})
|
||
-> 0.0067s
|
||
-- add_index("uploads", ["checksum"], {:name=>"index_uploads_on_checksum", :using=>:btree})
|
||
-> 0.0046s
|
||
-- add_index("uploads", ["model_id", "model_type"], {:name=>"index_uploads_on_model_id_and_model_type", :using=>:btree})
|
||
-> 0.0049s
|
||
-- add_index("uploads", ["uploader", "path"], {:name=>"index_uploads_on_uploader_and_path", :using=>:btree})
|
||
-> 0.0052s
|
||
-- create_table("user_agent_details", {:force=>:cascade})
|
||
-> 0.0059s
|
||
-- add_index("user_agent_details", ["subject_id", "subject_type"], {:name=>"index_user_agent_details_on_subject_id_and_subject_type", :using=>:btree})
|
||
-> 0.0052s
|
||
-- create_table("user_callouts", {:force=>:cascade})
|
||
-> 0.0059s
|
||
-- add_index("user_callouts", ["user_id", "feature_name"], {:name=>"index_user_callouts_on_user_id_and_feature_name", :unique=>true, :using=>:btree})
|
||
-> 0.0094s
|
||
-- add_index("user_callouts", ["user_id"], {:name=>"index_user_callouts_on_user_id", :using=>:btree})
|
||
-> 0.0064s
|
||
-- create_table("user_custom_attributes", {:force=>:cascade})
|
||
-> 0.0086s
|
||
-- add_index("user_custom_attributes", ["key", "value"], {:name=>"index_user_custom_attributes_on_key_and_value", :using=>:btree})
|
||
-> 0.0080s
|
||
-- add_index("user_custom_attributes", ["user_id", "key"], {:name=>"index_user_custom_attributes_on_user_id_and_key", :unique=>true, :using=>:btree})
|
||
-> 0.0066s
|
||
-- create_table("user_interacted_projects", {:id=>false, :force=>:cascade})
|
||
-> 0.0108s
|
||
-- add_index("user_interacted_projects", ["project_id", "user_id"], {:name=>"index_user_interacted_projects_on_project_id_and_user_id", :unique=>true, :using=>:btree})
|
||
-> 0.0114s
|
||
-- add_index("user_interacted_projects", ["user_id"], {:name=>"index_user_interacted_projects_on_user_id", :using=>:btree})
|
||
-> 0.0056s
|
||
-- create_table("user_synced_attributes_metadata", {:force=>:cascade})
|
||
-> 0.0115s
|
||
-- add_index("user_synced_attributes_metadata", ["user_id"], {:name=>"index_user_synced_attributes_metadata_on_user_id", :unique=>true, :using=>:btree})
|
||
-> 0.0054s
|
||
-- create_table("users", {:force=>:cascade})
|
||
-> 0.0111s
|
||
-- add_index("users", ["admin"], {:name=>"index_users_on_admin", :using=>:btree})
|
||
-> 0.0065s
|
||
-- add_index("users", ["confirmation_token"], {:name=>"index_users_on_confirmation_token", :unique=>true, :using=>:btree})
|
||
-> 0.0065s
|
||
-- add_index("users", ["created_at"], {:name=>"index_users_on_created_at", :using=>:btree})
|
||
-> 0.0068s
|
||
-- add_index("users", ["email"], {:name=>"index_users_on_email", :unique=>true, :using=>:btree})
|
||
-> 0.0066s
|
||
-- add_index("users", ["email"], {:name=>"index_users_on_email_trigram", :using=>:gin, :opclasses=>{"email"=>"gin_trgm_ops"}})
|
||
-> 0.0011s
|
||
-- add_index("users", ["ghost"], {:name=>"index_users_on_ghost", :using=>:btree})
|
||
-> 0.0063s
|
||
-- add_index("users", ["incoming_email_token"], {:name=>"index_users_on_incoming_email_token", :using=>:btree})
|
||
-> 0.0057s
|
||
-- add_index("users", ["name"], {:name=>"index_users_on_name", :using=>:btree})
|
||
-> 0.0056s
|
||
-- add_index("users", ["name"], {:name=>"index_users_on_name_trigram", :using=>:gin, :opclasses=>{"name"=>"gin_trgm_ops"}})
|
||
-> 0.0011s
|
||
-- add_index("users", ["reset_password_token"], {:name=>"index_users_on_reset_password_token", :unique=>true, :using=>:btree})
|
||
-> 0.0055s
|
||
-- add_index("users", ["rss_token"], {:name=>"index_users_on_rss_token", :using=>:btree})
|
||
-> 0.0068s
|
||
-- add_index("users", ["state"], {:name=>"index_users_on_state", :using=>:btree})
|
||
-> 0.0067s
|
||
-- add_index("users", ["username"], {:name=>"index_users_on_username", :using=>:btree})
|
||
-> 0.0072s
|
||
-- add_index("users", ["username"], {:name=>"index_users_on_username_trigram", :using=>:gin, :opclasses=>{"username"=>"gin_trgm_ops"}})
|
||
-> 0.0012s
|
||
-- create_table("users_star_projects", {:force=>:cascade})
|
||
-> 0.0100s
|
||
-- add_index("users_star_projects", ["project_id"], {:name=>"index_users_star_projects_on_project_id", :using=>:btree})
|
||
-> 0.0061s
|
||
-- add_index("users_star_projects", ["user_id", "project_id"], {:name=>"index_users_star_projects_on_user_id_and_project_id", :unique=>true, :using=>:btree})
|
||
-> 0.0068s
|
||
-- create_table("web_hook_logs", {:force=>:cascade})
|
||
-> 0.0097s
|
||
-- add_index("web_hook_logs", ["web_hook_id"], {:name=>"index_web_hook_logs_on_web_hook_id", :using=>:btree})
|
||
-> 0.0057s
|
||
-- create_table("web_hooks", {:force=>:cascade})
|
||
-> 0.0080s
|
||
-- add_index("web_hooks", ["project_id"], {:name=>"index_web_hooks_on_project_id", :using=>:btree})
|
||
-> 0.0062s
|
||
-- add_index("web_hooks", ["type"], {:name=>"index_web_hooks_on_type", :using=>:btree})
|
||
-> 0.0065s
|
||
-- add_foreign_key("badges", "namespaces", {:column=>"group_id", :on_delete=>:cascade})
|
||
-> 0.0158s
|
||
-- add_foreign_key("badges", "projects", {:on_delete=>:cascade})
|
||
-> 0.0140s
|
||
-- add_foreign_key("boards", "namespaces", {:column=>"group_id", :on_delete=>:cascade})
|
||
-> 0.0138s
|
||
-- add_foreign_key("boards", "projects", {:name=>"fk_f15266b5f9", :on_delete=>:cascade})
|
||
-> 0.0118s
|
||
-- add_foreign_key("chat_teams", "namespaces", {:on_delete=>:cascade})
|
||
-> 0.0130s
|
||
-- add_foreign_key("ci_build_trace_section_names", "projects", {:on_delete=>:cascade})
|
||
-> 0.0131s
|
||
-- add_foreign_key("ci_build_trace_sections", "ci_build_trace_section_names", {:column=>"section_name_id", :name=>"fk_264e112c66", :on_delete=>:cascade})
|
||
-> 0.0210s
|
||
-- add_foreign_key("ci_build_trace_sections", "ci_builds", {:column=>"build_id", :name=>"fk_4ebe41f502", :on_delete=>:cascade})
|
||
-> 0.0823s
|
||
-- add_foreign_key("ci_build_trace_sections", "projects", {:on_delete=>:cascade})
|
||
-> 0.0942s
|
||
-- add_foreign_key("ci_builds", "ci_pipelines", {:column=>"auto_canceled_by_id", :name=>"fk_a2141b1522", :on_delete=>:nullify})
|
||
-> 0.1346s
|
||
-- add_foreign_key("ci_builds", "ci_stages", {:column=>"stage_id", :name=>"fk_3a9eaa254d", :on_delete=>:cascade})
|
||
-> 0.0506s
|
||
-- add_foreign_key("ci_builds", "projects", {:name=>"fk_befce0568a", :on_delete=>:cascade})
|
||
-> 0.0403s
|
||
-- add_foreign_key("ci_builds_metadata", "ci_builds", {:column=>"build_id", :on_delete=>:cascade})
|
||
-> 0.0160s
|
||
-- add_foreign_key("ci_builds_metadata", "projects", {:on_delete=>:cascade})
|
||
-> 0.0165s
|
||
-- add_foreign_key("ci_group_variables", "namespaces", {:column=>"group_id", :name=>"fk_33ae4d58d8", :on_delete=>:cascade})
|
||
-> 0.0153s
|
||
-- add_foreign_key("ci_job_artifacts", "ci_builds", {:column=>"job_id", :on_delete=>:cascade})
|
||
-> 0.0160s
|
||
-- add_foreign_key("ci_job_artifacts", "projects", {:on_delete=>:cascade})
|
||
-> 0.0278s
|
||
-- add_foreign_key("ci_pipeline_schedule_variables", "ci_pipeline_schedules", {:column=>"pipeline_schedule_id", :name=>"fk_41c35fda51", :on_delete=>:cascade})
|
||
-> 0.0193s
|
||
-- add_foreign_key("ci_pipeline_schedules", "projects", {:name=>"fk_8ead60fcc4", :on_delete=>:cascade})
|
||
-> 0.0184s
|
||
-- add_foreign_key("ci_pipeline_schedules", "users", {:column=>"owner_id", :name=>"fk_9ea99f58d2", :on_delete=>:nullify})
|
||
-> 0.0158s
|
||
-- add_foreign_key("ci_pipeline_variables", "ci_pipelines", {:column=>"pipeline_id", :name=>"fk_f29c5f4380", :on_delete=>:cascade})
|
||
-> 0.0097s
|
||
-- add_foreign_key("ci_pipelines", "ci_pipeline_schedules", {:column=>"pipeline_schedule_id", :name=>"fk_3d34ab2e06", :on_delete=>:nullify})
|
||
-> 0.0693s
|
||
-- add_foreign_key("ci_pipelines", "ci_pipelines", {:column=>"auto_canceled_by_id", :name=>"fk_262d4c2d19", :on_delete=>:nullify})
|
||
-> 0.1599s
|
||
-- add_foreign_key("ci_pipelines", "projects", {:name=>"fk_86635dbd80", :on_delete=>:cascade})
|
||
-> 0.1505s
|
||
-- add_foreign_key("ci_runner_projects", "projects", {:name=>"fk_4478a6f1e4", :on_delete=>:cascade})
|
||
-> 0.0984s
|
||
-- add_foreign_key("ci_stages", "ci_pipelines", {:column=>"pipeline_id", :name=>"fk_fb57e6cc56", :on_delete=>:cascade})
|
||
-> 0.1152s
|
||
-- add_foreign_key("ci_stages", "projects", {:name=>"fk_2360681d1d", :on_delete=>:cascade})
|
||
-> 0.1062s
|
||
-- add_foreign_key("ci_trigger_requests", "ci_triggers", {:column=>"trigger_id", :name=>"fk_b8ec8b7245", :on_delete=>:cascade})
|
||
-> 0.0455s
|
||
-- add_foreign_key("ci_triggers", "projects", {:name=>"fk_e3e63f966e", :on_delete=>:cascade})
|
||
-> 0.0725s
|
||
-- add_foreign_key("ci_triggers", "users", {:column=>"owner_id", :name=>"fk_e8e10d1964", :on_delete=>:cascade})
|
||
-> 0.0774s
|
||
-- add_foreign_key("ci_variables", "projects", {:name=>"fk_ada5eb64b3", :on_delete=>:cascade})
|
||
-> 0.0626s
|
||
-- add_foreign_key("cluster_platforms_kubernetes", "clusters", {:on_delete=>:cascade})
|
||
-> 0.0529s
|
||
-- add_foreign_key("cluster_projects", "clusters", {:on_delete=>:cascade})
|
||
-> 0.0678s
|
||
-- add_foreign_key("cluster_projects", "projects", {:on_delete=>:cascade})
|
||
-> 0.0391s
|
||
-- add_foreign_key("cluster_providers_gcp", "clusters", {:on_delete=>:cascade})
|
||
-> 0.0328s
|
||
-- add_foreign_key("clusters", "users", {:on_delete=>:nullify})
|
||
-> 0.1266s
|
||
-- add_foreign_key("clusters_applications_helm", "clusters", {:on_delete=>:cascade})
|
||
-> 0.0489s
|
||
-- add_foreign_key("clusters_applications_ingress", "clusters", {:name=>"fk_753a7b41c1", :on_delete=>:cascade})
|
||
-> 0.0565s
|
||
-- add_foreign_key("clusters_applications_prometheus", "clusters", {:name=>"fk_557e773639", :on_delete=>:cascade})
|
||
-> 0.0174s
|
||
-- add_foreign_key("clusters_applications_runners", "ci_runners", {:column=>"runner_id", :name=>"fk_02de2ded36", :on_delete=>:nullify})
|
||
-> 0.0182s
|
||
-- add_foreign_key("clusters_applications_runners", "clusters", {:on_delete=>:cascade})
|
||
-> 0.0208s
|
||
-- add_foreign_key("container_repositories", "projects")
|
||
-> 0.0186s
|
||
-- add_foreign_key("deploy_keys_projects", "projects", {:name=>"fk_58a901ca7e", :on_delete=>:cascade})
|
||
-> 0.0140s
|
||
-- add_foreign_key("deployments", "projects", {:name=>"fk_b9a3851b82", :on_delete=>:cascade})
|
||
-> 0.0328s
|
||
-- add_foreign_key("environments", "projects", {:name=>"fk_d1c8c1da6a", :on_delete=>:cascade})
|
||
-> 0.0221s
|
||
-- add_foreign_key("events", "projects", {:on_delete=>:cascade})
|
||
-> 0.0212s
|
||
-- add_foreign_key("events", "users", {:column=>"author_id", :name=>"fk_edfd187b6f", :on_delete=>:cascade})
|
||
-> 0.0150s
|
||
-- add_foreign_key("fork_network_members", "fork_networks", {:on_delete=>:cascade})
|
||
-> 0.0134s
|
||
-- add_foreign_key("fork_network_members", "projects", {:column=>"forked_from_project_id", :name=>"fk_b01280dae4", :on_delete=>:nullify})
|
||
-> 0.0200s
|
||
-- add_foreign_key("fork_network_members", "projects", {:on_delete=>:cascade})
|
||
-> 0.0162s
|
||
-- add_foreign_key("fork_networks", "projects", {:column=>"root_project_id", :name=>"fk_e7b436b2b5", :on_delete=>:nullify})
|
||
-> 0.0138s
|
||
-- add_foreign_key("forked_project_links", "projects", {:column=>"forked_to_project_id", :name=>"fk_434510edb0", :on_delete=>:cascade})
|
||
-> 0.0137s
|
||
-- add_foreign_key("gcp_clusters", "projects", {:on_delete=>:cascade})
|
||
-> 0.0148s
|
||
-- add_foreign_key("gcp_clusters", "services", {:on_delete=>:nullify})
|
||
-> 0.0216s
|
||
-- add_foreign_key("gcp_clusters", "users", {:on_delete=>:nullify})
|
||
-> 0.0156s
|
||
-- add_foreign_key("gpg_key_subkeys", "gpg_keys", {:on_delete=>:cascade})
|
||
-> 0.0139s
|
||
-- add_foreign_key("gpg_keys", "users", {:on_delete=>:cascade})
|
||
-> 0.0142s
|
||
-- add_foreign_key("gpg_signatures", "gpg_key_subkeys", {:on_delete=>:nullify})
|
||
-> 0.0216s
|
||
-- add_foreign_key("gpg_signatures", "gpg_keys", {:on_delete=>:nullify})
|
||
-> 0.0211s
|
||
-- add_foreign_key("gpg_signatures", "projects", {:on_delete=>:cascade})
|
||
-> 0.0215s
|
||
-- add_foreign_key("group_custom_attributes", "namespaces", {:column=>"group_id", :on_delete=>:cascade})
|
||
-> 0.0174s
|
||
-- add_foreign_key("internal_ids", "projects", {:on_delete=>:cascade})
|
||
-> 0.0143s
|
||
-- add_foreign_key("issue_assignees", "issues", {:name=>"fk_b7d881734a", :on_delete=>:cascade})
|
||
-> 0.0139s
|
||
-- add_foreign_key("issue_assignees", "users", {:name=>"fk_5e0c8d9154", :on_delete=>:cascade})
|
||
-> 0.0138s
|
||
-- add_foreign_key("issue_metrics", "issues", {:on_delete=>:cascade})
|
||
-> 0.0106s
|
||
-- add_foreign_key("issues", "issues", {:column=>"moved_to_id", :name=>"fk_a194299be1", :on_delete=>:nullify})
|
||
-> 0.0366s
|
||
-- add_foreign_key("issues", "milestones", {:name=>"fk_96b1dd429c", :on_delete=>:nullify})
|
||
-> 0.0309s
|
||
-- add_foreign_key("issues", "projects", {:name=>"fk_899c8f3231", :on_delete=>:cascade})
|
||
-> 0.0314s
|
||
-- add_foreign_key("issues", "users", {:column=>"author_id", :name=>"fk_05f1e72feb", :on_delete=>:nullify})
|
||
-> 0.0504s
|
||
-- add_foreign_key("issues", "users", {:column=>"closed_by_id", :name=>"fk_c63cbf6c25", :on_delete=>:nullify})
|
||
-> 0.0428s
|
||
-- add_foreign_key("issues", "users", {:column=>"updated_by_id", :name=>"fk_ffed080f01", :on_delete=>:nullify})
|
||
-> 0.0333s
|
||
-- add_foreign_key("label_priorities", "labels", {:on_delete=>:cascade})
|
||
-> 0.0143s
|
||
-- add_foreign_key("label_priorities", "projects", {:on_delete=>:cascade})
|
||
-> 0.0160s
|
||
-- add_foreign_key("labels", "namespaces", {:column=>"group_id", :on_delete=>:cascade})
|
||
-> 0.0176s
|
||
-- add_foreign_key("labels", "projects", {:name=>"fk_7de4989a69", :on_delete=>:cascade})
|
||
-> 0.0216s
|
||
-- add_foreign_key("lfs_file_locks", "projects", {:on_delete=>:cascade})
|
||
-> 0.0144s
|
||
-- add_foreign_key("lfs_file_locks", "users", {:on_delete=>:cascade})
|
||
-> 0.0178s
|
||
-- add_foreign_key("lists", "boards", {:name=>"fk_0d3f677137", :on_delete=>:cascade})
|
||
-> 0.0161s
|
||
-- add_foreign_key("lists", "labels", {:name=>"fk_7a5553d60f", :on_delete=>:cascade})
|
||
-> 0.0137s
|
||
-- add_foreign_key("members", "users", {:name=>"fk_2e88fb7ce9", :on_delete=>:cascade})
|
||
-> 0.0171s
|
||
-- add_foreign_key("merge_request_diff_commits", "merge_request_diffs", {:on_delete=>:cascade})
|
||
-> 0.0143s
|
||
-- add_foreign_key("merge_request_diff_files", "merge_request_diffs", {:on_delete=>:cascade})
|
||
-> 0.0106s
|
||
-- add_foreign_key("merge_request_diffs", "merge_requests", {:name=>"fk_8483f3258f", :on_delete=>:cascade})
|
||
-> 0.0119s
|
||
-- add_foreign_key("merge_request_metrics", "ci_pipelines", {:column=>"pipeline_id", :on_delete=>:cascade})
|
||
-> 0.0163s
|
||
-- add_foreign_key("merge_request_metrics", "merge_requests", {:on_delete=>:cascade})
|
||
-> 0.0204s
|
||
-- add_foreign_key("merge_request_metrics", "users", {:column=>"latest_closed_by_id", :name=>"fk_ae440388cc", :on_delete=>:nullify})
|
||
-> 0.0196s
|
||
-- add_foreign_key("merge_request_metrics", "users", {:column=>"merged_by_id", :name=>"fk_7f28d925f3", :on_delete=>:nullify})
|
||
-> 0.0202s
|
||
-- add_foreign_key("merge_requests", "ci_pipelines", {:column=>"head_pipeline_id", :name=>"fk_fd82eae0b9", :on_delete=>:nullify})
|
||
-> 0.0394s
|
||
-- add_foreign_key("merge_requests", "merge_request_diffs", {:column=>"latest_merge_request_diff_id", :name=>"fk_06067f5644", :on_delete=>:nullify})
|
||
-> 0.0532s
|
||
-- add_foreign_key("merge_requests", "milestones", {:name=>"fk_6a5165a692", :on_delete=>:nullify})
|
||
-> 0.0291s
|
||
-- add_foreign_key("merge_requests", "projects", {:column=>"source_project_id", :name=>"fk_3308fe130c", :on_delete=>:nullify})
|
||
-> 0.0278s
|
||
-- add_foreign_key("merge_requests", "projects", {:column=>"target_project_id", :name=>"fk_a6963e8447", :on_delete=>:cascade})
|
||
-> 0.0367s
|
||
-- add_foreign_key("merge_requests", "users", {:column=>"assignee_id", :name=>"fk_6149611a04", :on_delete=>:nullify})
|
||
-> 0.0327s
|
||
-- add_foreign_key("merge_requests", "users", {:column=>"author_id", :name=>"fk_e719a85f8a", :on_delete=>:nullify})
|
||
-> 0.0337s
|
||
-- add_foreign_key("merge_requests", "users", {:column=>"merge_user_id", :name=>"fk_ad525e1f87", :on_delete=>:nullify})
|
||
-> 0.0517s
|
||
-- add_foreign_key("merge_requests", "users", {:column=>"updated_by_id", :name=>"fk_641731faff", :on_delete=>:nullify})
|
||
-> 0.0335s
|
||
-- add_foreign_key("merge_requests_closing_issues", "issues", {:on_delete=>:cascade})
|
||
-> 0.0167s
|
||
-- add_foreign_key("merge_requests_closing_issues", "merge_requests", {:on_delete=>:cascade})
|
||
-> 0.0191s
|
||
-- add_foreign_key("milestones", "namespaces", {:column=>"group_id", :name=>"fk_95650a40d4", :on_delete=>:cascade})
|
||
-> 0.0206s
|
||
-- add_foreign_key("milestones", "projects", {:name=>"fk_9bd0a0c791", :on_delete=>:cascade})
|
||
-> 0.0221s
|
||
-- add_foreign_key("notes", "projects", {:name=>"fk_99e097b079", :on_delete=>:cascade})
|
||
-> 0.0332s
|
||
-- add_foreign_key("oauth_openid_requests", "oauth_access_grants", {:column=>"access_grant_id", :name=>"fk_oauth_openid_requests_oauth_access_grants_access_grant_id"})
|
||
-> 0.0128s
|
||
-- add_foreign_key("pages_domains", "projects", {:name=>"fk_ea2f6dfc6f", :on_delete=>:cascade})
|
||
-> 0.0220s
|
||
-- add_foreign_key("personal_access_tokens", "users")
|
||
-> 0.0187s
|
||
-- add_foreign_key("project_authorizations", "projects", {:on_delete=>:cascade})
|
||
-> 0.0149s
|
||
-- add_foreign_key("project_authorizations", "users", {:on_delete=>:cascade})
|
||
-> 0.0167s
|
||
-- add_foreign_key("project_auto_devops", "projects", {:on_delete=>:cascade})
|
||
-> 0.0142s
|
||
-- add_foreign_key("project_custom_attributes", "projects", {:on_delete=>:cascade})
|
||
-> 0.0218s
|
||
-- add_foreign_key("project_features", "projects", {:name=>"fk_18513d9b92", :on_delete=>:cascade})
|
||
-> 0.0204s
|
||
-- add_foreign_key("project_group_links", "projects", {:name=>"fk_daa8cee94c", :on_delete=>:cascade})
|
||
-> 0.0174s
|
||
-- add_foreign_key("project_import_data", "projects", {:name=>"fk_ffb9ee3a10", :on_delete=>:cascade})
|
||
-> 0.0138s
|
||
-- add_foreign_key("project_statistics", "projects", {:on_delete=>:cascade})
|
||
-> 0.0125s
|
||
-- add_foreign_key("protected_branch_merge_access_levels", "protected_branches", {:name=>"fk_8a3072ccb3", :on_delete=>:cascade})
|
||
-> 0.0157s
|
||
-- add_foreign_key("protected_branch_push_access_levels", "protected_branches", {:name=>"fk_9ffc86a3d9", :on_delete=>:cascade})
|
||
-> 0.0112s
|
||
-- add_foreign_key("protected_branches", "projects", {:name=>"fk_7a9c6d93e7", :on_delete=>:cascade})
|
||
-> 0.0122s
|
||
-- add_foreign_key("protected_tag_create_access_levels", "namespaces", {:column=>"group_id"})
|
||
-> 0.0131s
|
||
-- add_foreign_key("protected_tag_create_access_levels", "protected_tags", {:name=>"fk_f7dfda8c51", :on_delete=>:cascade})
|
||
-> 0.0168s
|
||
-- add_foreign_key("protected_tag_create_access_levels", "users")
|
||
-> 0.0221s
|
||
-- add_foreign_key("protected_tags", "projects", {:name=>"fk_8e4af87648", :on_delete=>:cascade})
|
||
-> 0.0135s
|
||
-- add_foreign_key("push_event_payloads", "events", {:name=>"fk_36c74129da", :on_delete=>:cascade})
|
||
-> 0.0107s
|
||
-- add_foreign_key("releases", "projects", {:name=>"fk_47fe2a0596", :on_delete=>:cascade})
|
||
-> 0.0131s
|
||
-- add_foreign_key("services", "projects", {:name=>"fk_71cce407f9", :on_delete=>:cascade})
|
||
-> 0.0142s
|
||
-- add_foreign_key("snippets", "projects", {:name=>"fk_be41fd4bb7", :on_delete=>:cascade})
|
||
-> 0.0178s
|
||
-- add_foreign_key("subscriptions", "projects", {:on_delete=>:cascade})
|
||
-> 0.0160s
|
||
-- add_foreign_key("system_note_metadata", "notes", {:name=>"fk_d83a918cb1", :on_delete=>:cascade})
|
||
-> 0.0156s
|
||
-- add_foreign_key("timelogs", "issues", {:name=>"fk_timelogs_issues_issue_id", :on_delete=>:cascade})
|
||
-> 0.0183s
|
||
-- add_foreign_key("timelogs", "merge_requests", {:name=>"fk_timelogs_merge_requests_merge_request_id", :on_delete=>:cascade})
|
||
-> 0.0198s
|
||
-- add_foreign_key("todos", "notes", {:name=>"fk_91d1f47b13", :on_delete=>:cascade})
|
||
-> 0.0276s
|
||
-- add_foreign_key("todos", "projects", {:name=>"fk_45054f9c45", :on_delete=>:cascade})
|
||
-> 0.0175s
|
||
-- add_foreign_key("todos", "users", {:column=>"author_id", :name=>"fk_ccf0373936", :on_delete=>:cascade})
|
||
-> 0.0182s
|
||
-- add_foreign_key("todos", "users", {:name=>"fk_d94154aa95", :on_delete=>:cascade})
|
||
-> 0.0184s
|
||
-- add_foreign_key("trending_projects", "projects", {:on_delete=>:cascade})
|
||
-> 0.0338s
|
||
-- add_foreign_key("u2f_registrations", "users")
|
||
-> 0.0176s
|
||
-- add_foreign_key("user_callouts", "users", {:on_delete=>:cascade})
|
||
-> 0.0160s
|
||
-- add_foreign_key("user_custom_attributes", "users", {:on_delete=>:cascade})
|
||
-> 0.0191s
|
||
-- add_foreign_key("user_interacted_projects", "projects", {:name=>"fk_722ceba4f7", :on_delete=>:cascade})
|
||
-> 0.0171s
|
||
-- add_foreign_key("user_interacted_projects", "users", {:name=>"fk_0894651f08", :on_delete=>:cascade})
|
||
-> 0.0155s
|
||
-- add_foreign_key("user_synced_attributes_metadata", "users", {:on_delete=>:cascade})
|
||
-> 0.0164s
|
||
-- add_foreign_key("users_star_projects", "projects", {:name=>"fk_22cd27ddfc", :on_delete=>:cascade})
|
||
-> 0.0180s
|
||
-- add_foreign_key("web_hook_logs", "web_hooks", {:on_delete=>:cascade})
|
||
-> 0.0164s
|
||
-- add_foreign_key("web_hooks", "projects", {:name=>"fk_0c8ca6d9d1", :on_delete=>:cascade})
|
||
-> 0.0172s
|
||
-- initialize_schema_migrations_table()
|
||
-> 0.0212s
|
||
Adding limits to schema.rb for mysql
|
||
-- column_exists?(:merge_request_diffs, :st_commits)
|
||
-> 0.0010s
|
||
-- column_exists?(:merge_request_diffs, :st_diffs)
|
||
-> 0.0006s
|
||
-- change_column(:snippets, :content, :text, {:limit=>2147483647})
|
||
-> 0.0308s
|
||
-- change_column(:notes, :st_diff, :text, {:limit=>2147483647})
|
||
-> 0.0366s
|
||
-- change_column(:snippets, :content_html, :text, {:limit=>2147483647})
|
||
-> 0.0272s
|
||
-- change_column(:merge_request_diff_files, :diff, :text, {:limit=>2147483647})
|
||
-> 0.0170s
|
||
[32;1m$ date[0;m
|
||
Thu Apr 5 11:19:41 UTC 2018
|
||
[32;1m$ JOB_NAME=( $CI_JOB_NAME )[0;m
|
||
[32;1m$ export CI_NODE_INDEX=${JOB_NAME[-2]}[0;m
|
||
[32;1m$ export CI_NODE_TOTAL=${JOB_NAME[-1]}[0;m
|
||
[32;1m$ export KNAPSACK_REPORT_PATH=knapsack/${CI_PROJECT_NAME}/${JOB_NAME[0]}_node_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_report.json[0;m
|
||
[32;1m$ export KNAPSACK_GENERATE_REPORT=true[0;m
|
||
[32;1m$ export SUITE_FLAKY_RSPEC_REPORT_PATH=${FLAKY_RSPEC_SUITE_REPORT_PATH}[0;m
|
||
[32;1m$ export FLAKY_RSPEC_REPORT_PATH=rspec_flaky/all_${JOB_NAME[0]}_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_report.json[0;m
|
||
[32;1m$ export NEW_FLAKY_RSPEC_REPORT_PATH=rspec_flaky/new_${JOB_NAME[0]}_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_report.json[0;m
|
||
[32;1m$ export FLAKY_RSPEC_GENERATE_REPORT=true[0;m
|
||
[32;1m$ export CACHE_CLASSES=true[0;m
|
||
[32;1m$ cp ${KNAPSACK_RSPEC_SUITE_REPORT_PATH} ${KNAPSACK_REPORT_PATH}[0;m
|
||
[32;1m$ [[ -f $FLAKY_RSPEC_REPORT_PATH ]] || echo "{}" > ${FLAKY_RSPEC_REPORT_PATH}[0;m
|
||
[32;1m$ [[ -f $NEW_FLAKY_RSPEC_REPORT_PATH ]] || echo "{}" > ${NEW_FLAKY_RSPEC_REPORT_PATH}[0;m
|
||
[32;1m$ scripts/gitaly-test-spawn[0;m
|
||
59
|
||
[32;1m$ knapsack rspec "--color --format documentation"[0;m
|
||
|
||
Report specs:
|
||
spec/services/todo_service_spec.rb
|
||
spec/lib/gitlab/import_export/project_tree_saver_spec.rb
|
||
spec/lib/gitlab/background_migration/deserialize_merge_request_diffs_and_commits_spec.rb
|
||
spec/controllers/projects/merge_requests_controller_spec.rb
|
||
spec/controllers/groups_controller_spec.rb
|
||
spec/features/projects/import_export/import_file_spec.rb
|
||
spec/lib/gitlab/middleware/go_spec.rb
|
||
spec/services/groups/transfer_service_spec.rb
|
||
spec/features/projects/blobs/edit_spec.rb
|
||
spec/services/boards/lists/move_service_spec.rb
|
||
spec/services/create_deployment_service_spec.rb
|
||
spec/controllers/groups/milestones_controller_spec.rb
|
||
spec/helpers/groups_helper_spec.rb
|
||
spec/requests/api/v3/todos_spec.rb
|
||
spec/models/project_services/teamcity_service_spec.rb
|
||
spec/lib/gitlab/conflict/file_spec.rb
|
||
spec/lib/banzai/filter/snippet_reference_filter_spec.rb
|
||
spec/finders/autocomplete_users_finder_spec.rb
|
||
spec/models/service_spec.rb
|
||
spec/services/test_hooks/project_service_spec.rb
|
||
spec/features/projects/merge_requests/user_views_open_merge_request_spec.rb
|
||
spec/finders/runner_jobs_finder_spec.rb
|
||
spec/features/projects/snippets_spec.rb
|
||
spec/requests/api/v3/environments_spec.rb
|
||
spec/requests/api/namespaces_spec.rb
|
||
spec/services/merge_requests/get_urls_service_spec.rb
|
||
spec/models/lfs_file_lock_spec.rb
|
||
spec/lib/gitlab/ci/config/entry/boolean_spec.rb
|
||
|
||
Leftover specs:
|
||
|
||
Knapsack report generator started!
|
||
|
||
==> Setting up GitLab Shell...
|
||
GitLab Shell setup in 0.307428917 seconds...
|
||
|
||
==> Setting up Gitaly...
|
||
Gitaly setup in 0.000135767 seconds...
|
||
|
||
TodoService
|
||
updates cached counts when a todo is created
|
||
Issues
|
||
#new_issue
|
||
creates a todo if assigned
|
||
does not create a todo if unassigned
|
||
creates a todo if assignee is the current user
|
||
creates a todo for each valid mentioned user
|
||
creates a directly addressed todo for each valid addressed user
|
||
creates correct todos for each valid user based on the type of mention
|
||
does not create todo if user can not see the issue when issue is confidential
|
||
does not create directly addressed todo if user cannot see the issue when issue is confidential
|
||
when a private group is mentioned
|
||
creates a todo for group members
|
||
#update_issue
|
||
creates a todo for each valid mentioned user not included in skip_users
|
||
creates a todo for each valid user not included in skip_users based on the type of mention
|
||
creates a directly addressed todo for each valid addressed user not included in skip_users
|
||
does not create a todo if user was already mentioned and todo is pending
|
||
does not create a todo if user was already mentioned and todo is done
|
||
does not create a directly addressed todo if user was already mentioned or addressed and todo is pending
|
||
does not create a directly addressed todo if user was already mentioned or addressed and todo is done
|
||
does not create todo if user can not see the issue when issue is confidential
|
||
does not create a directly addressed todo if user can not see the issue when issue is confidential
|
||
issues with a task list
|
||
does not create todo when tasks are marked as completed
|
||
does not create directly addressed todo when tasks are marked as completed
|
||
does not raise an error when description not change
|
||
#close_issue
|
||
marks related pending todos to the target for the user as done
|
||
#destroy_target
|
||
refreshes the todos count cache for users with todos on the target
|
||
does not refresh the todos count cache for users with only done todos on the target
|
||
yields the target to the caller
|
||
#reassigned_issue
|
||
creates a pending todo for new assignee
|
||
does not create a todo if unassigned
|
||
creates a todo if new assignee is the current user
|
||
#mark_pending_todos_as_done
|
||
marks related pending todos to the target for the user as done
|
||
cached counts
|
||
updates when todos change
|
||
#mark_todos_as_done
|
||
behaves like updating todos state
|
||
updates related todos for the user with the new_state
|
||
returns the updated ids
|
||
cached counts
|
||
updates when todos change
|
||
#mark_todos_as_done_by_ids
|
||
behaves like updating todos state
|
||
updates related todos for the user with the new_state
|
||
returns the updated ids
|
||
cached counts
|
||
updates when todos change
|
||
#mark_todos_as_pending
|
||
behaves like updating todos state
|
||
updates related todos for the user with the new_state
|
||
returns the updated ids
|
||
cached counts
|
||
updates when todos change
|
||
#mark_todos_as_pending_by_ids
|
||
behaves like updating todos state
|
||
updates related todos for the user with the new_state
|
||
returns the updated ids
|
||
cached counts
|
||
updates when todos change
|
||
#new_note
|
||
mark related pending todos to the noteable for the note author as done
|
||
does not mark related pending todos it is a system note
|
||
creates a todo for each valid mentioned user
|
||
creates a todo for each valid user based on the type of mention
|
||
creates a directly addressed todo for each valid addressed user
|
||
does not create todo if user can not see the issue when leaving a note on a confidential issue
|
||
does not create a directly addressed todo if user can not see the issue when leaving a note on a confidential issue
|
||
does not create todo when leaving a note on snippet
|
||
on commit
|
||
creates a todo for each valid mentioned user when leaving a note on commit
|
||
creates a directly addressed todo for each valid mentioned user when leaving a note on commit
|
||
#mark_todo
|
||
creates a todo from a issue
|
||
#todo_exists?
|
||
returns false when no todo exist for the given issuable
|
||
returns true when a todo exist for the given issuable
|
||
Merge Requests
|
||
#new_merge_request
|
||
creates a pending todo if assigned
|
||
does not create a todo if unassigned
|
||
does not create a todo if assignee is the current user
|
||
creates a todo for each valid mentioned user
|
||
creates a todo for each valid user based on the type of mention
|
||
creates a directly addressed todo for each valid addressed user
|
||
#update_merge_request
|
||
creates a todo for each valid mentioned user not included in skip_users
|
||
creates a todo for each valid user not included in skip_users based on the type of mention
|
||
creates a directly addressed todo for each valid addressed user not included in skip_users
|
||
does not create a todo if user was already mentioned and todo is pending
|
||
does not create a todo if user was already mentioned and todo is done
|
||
does not create a directly addressed todo if user was already mentioned or addressed and todo is pending
|
||
does not create a directly addressed todo if user was already mentioned or addressed and todo is done
|
||
with a task list
|
||
does not create todo when tasks are marked as completed
|
||
does not create directly addressed todo when tasks are marked as completed
|
||
does not raise an error when description not change
|
||
#close_merge_request
|
||
marks related pending todos to the target for the user as done
|
||
#reassigned_merge_request
|
||
creates a pending todo for new assignee
|
||
does not create a todo if unassigned
|
||
creates a todo if new assignee is the current user
|
||
does not create a todo for guests
|
||
does not create a directly addressed todo for guests
|
||
#merge_merge_request
|
||
marks related pending todos to the target for the user as done
|
||
does not create todo for guests
|
||
does not create directly addressed todo for guests
|
||
#new_award_emoji
|
||
marks related pending todos to the target for the user as done
|
||
#merge_request_build_failed
|
||
creates a pending todo for the merge request author
|
||
creates a pending todo for merge_user
|
||
#merge_request_push
|
||
marks related pending todos to the target for the user as done
|
||
#merge_request_became_unmergeable
|
||
creates a pending todo for a merge_user
|
||
#mark_todo
|
||
creates a todo from a merge request
|
||
#new_note
|
||
creates a todo for mentioned user on new diff note
|
||
creates a directly addressed todo for addressed user on new diff note
|
||
creates a todo for mentioned user on legacy diff note
|
||
does not create todo for guests
|
||
#update_note
|
||
creates a todo for each valid mentioned user not included in skip_users
|
||
creates a todo for each valid user not included in skip_users based on the type of mention
|
||
creates a directly addressed todo for each valid addressed user not included in skip_users
|
||
does not create a todo if user was already mentioned and todo is pending
|
||
does not create a todo if user was already mentioned and todo is done
|
||
does not create a directly addressed todo if user was already mentioned or addressed and todo is pending
|
||
does not create a directly addressed todo if user was already mentioned or addressed and todo is done
|
||
#mark_todos_as_done
|
||
marks a relation of todos as done
|
||
marks an array of todos as done
|
||
returns the ids of updated todos
|
||
when some of the todos are done already
|
||
returns the ids of those still pending
|
||
returns an empty array if all are done
|
||
#mark_todos_as_done_by_ids
|
||
marks an array of todo ids as done
|
||
marks a single todo id as done
|
||
caches the number of todos of a user
|
||
|
||
Gitlab::ImportExport::ProjectTreeSaver
|
||
saves the project tree into a json object
|
||
saves project successfully
|
||
JSON
|
||
saves the correct json
|
||
has milestones
|
||
has merge requests
|
||
has merge request's milestones
|
||
has merge request's source branch SHA
|
||
has merge request's target branch SHA
|
||
has events
|
||
has snippets
|
||
has snippet notes
|
||
has releases
|
||
has issues
|
||
has issue comments
|
||
has issue assignees
|
||
has author on issue comments
|
||
has project members
|
||
has merge requests diffs
|
||
has merge request diff files
|
||
has merge request diff commits
|
||
has merge requests comments
|
||
has author on merge requests comments
|
||
has pipeline stages
|
||
has pipeline statuses
|
||
has pipeline builds
|
||
has no when YML attributes but only the DB column
|
||
has pipeline commits
|
||
has ci pipeline notes
|
||
has labels with no associations
|
||
has labels associated to records
|
||
has project and group labels
|
||
has priorities associated to labels
|
||
saves the correct service type
|
||
saves the properties for a service
|
||
has project feature
|
||
has custom attributes
|
||
has badges
|
||
does not complain about non UTF-8 characters in MR diff files
|
||
with description override
|
||
overrides the project description
|
||
group members
|
||
does not export group members if it has no permission
|
||
does not export group members as maintainer
|
||
exports group members as group owner
|
||
as admin
|
||
exports group members as admin
|
||
exports group members as project members
|
||
project attributes
|
||
contains the html description
|
||
does not contain the runners token
|
||
|
||
Gitlab::BackgroundMigration::DeserializeMergeRequestDiffsAndCommits
|
||
#perform
|
||
when the diff IDs passed do not exist
|
||
does not raise
|
||
when the merge request diff has no serialised commits or diffs
|
||
does not raise
|
||
processing multiple merge request diffs
|
||
when BUFFER_ROWS is exceeded
|
||
inserts commit rows in chunks of BUFFER_ROWS
|
||
inserts diff rows in chunks of DIFF_FILE_BUFFER_ROWS
|
||
when BUFFER_ROWS is not exceeded
|
||
only updates once
|
||
when some rows were already inserted due to a previous failure
|
||
does not raise
|
||
logs a message
|
||
ends up with the correct rows
|
||
when the merge request diff update fails
|
||
raises an error
|
||
logs the error
|
||
still adds diff commits
|
||
still adds diff files
|
||
when the merge request diff has valid commits and diffs
|
||
creates correct entries in the merge_request_diff_commits table
|
||
creates correct entries in the merge_request_diff_files table
|
||
sets the st_commits and st_diffs columns to nil
|
||
when the merge request diff has diffs but no commits
|
||
creates correct entries in the merge_request_diff_commits table
|
||
creates correct entries in the merge_request_diff_files table
|
||
sets the st_commits and st_diffs columns to nil
|
||
when the merge request diffs do not have too_large set
|
||
creates correct entries in the merge_request_diff_commits table
|
||
creates correct entries in the merge_request_diff_files table
|
||
sets the st_commits and st_diffs columns to nil
|
||
when the merge request diffs do not have a_mode and b_mode set
|
||
creates correct entries in the merge_request_diff_commits table
|
||
creates correct entries in the merge_request_diff_files table
|
||
sets the st_commits and st_diffs columns to nil
|
||
when the merge request diffs have binary content
|
||
creates correct entries in the merge_request_diff_commits table
|
||
creates correct entries in the merge_request_diff_files table
|
||
sets the st_commits and st_diffs columns to nil
|
||
when the merge request diff has commits, but no diffs
|
||
creates correct entries in the merge_request_diff_commits table
|
||
creates correct entries in the merge_request_diff_files table
|
||
sets the st_commits and st_diffs columns to nil
|
||
when the merge request diffs have invalid content
|
||
creates correct entries in the merge_request_diff_commits table
|
||
creates correct entries in the merge_request_diff_files table
|
||
sets the st_commits and st_diffs columns to nil
|
||
when the merge request diffs are Rugged::Patch instances
|
||
creates correct entries in the merge_request_diff_commits table
|
||
creates correct entries in the merge_request_diff_files table
|
||
sets the st_commits and st_diffs columns to nil
|
||
when the merge request diffs are Rugged::Diff::Delta instances
|
||
creates correct entries in the merge_request_diff_commits table
|
||
creates correct entries in the merge_request_diff_files table
|
||
sets the st_commits and st_diffs columns to nil
|
||
|
||
Projects::MergeRequestsController
|
||
GET commit_change_content
|
||
renders commit_change_content template
|
||
GET show
|
||
behaves like loads labels
|
||
loads labels into the @labels variable
|
||
as html
|
||
renders merge request page
|
||
loads notes
|
||
with special_role FIRST_TIME_CONTRIBUTOR
|
||
as json
|
||
with basic serializer param
|
||
renders basic MR entity as json
|
||
with widget serializer param
|
||
renders widget MR entity as json
|
||
when no serialiser was passed
|
||
renders widget MR entity as json
|
||
as diff
|
||
triggers workhorse to serve the request
|
||
as patch
|
||
triggers workhorse to serve the request
|
||
GET index
|
||
behaves like issuables list meta-data
|
||
creates indexed meta-data object for issuable notes and votes count
|
||
when given empty collection
|
||
doesn't execute any queries with false conditions
|
||
when page param
|
||
redirects to last_page if page number is larger than number of pages
|
||
redirects to specified page
|
||
does not redirect to external sites when provided a host field
|
||
when filtering by opened state
|
||
with opened merge requests
|
||
lists those merge requests
|
||
with reopened merge requests
|
||
lists those merge requests
|
||
PUT update
|
||
changing the assignee
|
||
limits the attributes exposed on the assignee
|
||
when user does not have access to update issue
|
||
responds with 404
|
||
there is no source project
|
||
closes MR without errors
|
||
allows editing of a closed merge request
|
||
does not allow to update target branch closed merge request
|
||
behaves like update invalid issuable
|
||
when updating causes conflicts
|
||
renders edit when format is html
|
||
renders json error message when format is json
|
||
when updating an invalid issuable
|
||
renders edit when merge request is invalid
|
||
POST merge
|
||
when user cannot access
|
||
returns 404
|
||
when the merge request is not mergeable
|
||
returns :failed
|
||
when the sha parameter does not match the source SHA
|
||
returns :sha_mismatch
|
||
when the sha parameter matches the source SHA
|
||
returns :success
|
||
starts the merge immediately
|
||
when the pipeline succeeds is passed
|
||
returns :merge_when_pipeline_succeeds
|
||
sets the MR to merge when the pipeline succeeds
|
||
when project.only_allow_merge_if_pipeline_succeeds? is true
|
||
returns :merge_when_pipeline_succeeds
|
||
and head pipeline is not the current one
|
||
returns :failed
|
||
only_allow_merge_if_all_discussions_are_resolved? setting
|
||
when enabled
|
||
with unresolved discussion
|
||
returns :failed
|
||
with all discussions resolved
|
||
returns :success
|
||
when disabled
|
||
with unresolved discussion
|
||
returns :success
|
||
with all discussions resolved
|
||
returns :success
|
||
DELETE destroy
|
||
denies access to users unless they're admin or project owner
|
||
when the user is owner
|
||
deletes the merge request
|
||
delegates the update of the todos count cache to TodoService
|
||
GET commits
|
||
renders the commits template to a string
|
||
GET pipelines
|
||
responds with serialized pipelines
|
||
POST remove_wip
|
||
removes the wip status
|
||
renders MergeRequest as JSON
|
||
POST cancel_merge_when_pipeline_succeeds
|
||
calls MergeRequests::MergeWhenPipelineSucceedsService
|
||
should respond with numeric status code success
|
||
renders MergeRequest as JSON
|
||
POST assign_related_issues
|
||
shows a flash message on success
|
||
correctly pluralizes flash message on success
|
||
calls MergeRequests::AssignIssuesService
|
||
is skipped when not signed in
|
||
GET ci_environments_status
|
||
the environment is from a forked project
|
||
links to the environment on that project
|
||
GET pipeline_status.json
|
||
when head_pipeline exists
|
||
return a detailed head_pipeline status in json
|
||
when head_pipeline does not exist
|
||
return empty
|
||
POST #rebase
|
||
successfully
|
||
enqeues a RebaseWorker
|
||
with a forked project
|
||
user cannot push to source branch
|
||
returns 404
|
||
user can push to source branch
|
||
returns 200
|
||
|
||
GroupsController
|
||
GET #show
|
||
as html
|
||
assigns whether or not a group has children
|
||
as atom
|
||
assigns events for all the projects in the group
|
||
GET #new
|
||
when creating subgroups
|
||
and can_create_group is true
|
||
and logged in as Admin
|
||
behaves like member with ability to create subgroups
|
||
renders the new page (PENDING: around hook at ./spec/spec_helper.rb:186 did not execute the example)
|
||
and logged in as Owner
|
||
behaves like member with ability to create subgroups
|
||
renders the new page (PENDING: around hook at ./spec/spec_helper.rb:186 did not execute the example)
|
||
and logged in as Guest
|
||
behaves like member without ability to create subgroups
|
||
renders the 404 page (PENDING: around hook at ./spec/spec_helper.rb:186 did not execute the example)
|
||
and logged in as Developer
|
||
behaves like member without ability to create subgroups
|
||
renders the 404 page (PENDING: around hook at ./spec/spec_helper.rb:186 did not execute the example)
|
||
and logged in as Maintainer
|
||
behaves like member without ability to create subgroups
|
||
renders the 404 page (PENDING: around hook at ./spec/spec_helper.rb:186 did not execute the example)
|
||
and can_create_group is false
|
||
and logged in as Admin
|
||
behaves like member with ability to create subgroups
|
||
renders the new page (PENDING: around hook at ./spec/spec_helper.rb:186 did not execute the example)
|
||
and logged in as Owner
|
||
behaves like member with ability to create subgroups
|
||
renders the new page (PENDING: around hook at ./spec/spec_helper.rb:186 did not execute the example)
|
||
and logged in as Guest
|
||
behaves like member without ability to create subgroups
|
||
renders the 404 page (PENDING: around hook at ./spec/spec_helper.rb:186 did not execute the example)
|
||
and logged in as Developer
|
||
behaves like member without ability to create subgroups
|
||
renders the 404 page (PENDING: around hook at ./spec/spec_helper.rb:186 did not execute the example)
|
||
and logged in as Maintainer
|
||
behaves like member without ability to create subgroups
|
||
renders the 404 page (PENDING: around hook at ./spec/spec_helper.rb:186 did not execute the example)
|
||
GET #activity
|
||
as json
|
||
includes all projects in event feed
|
||
POST #create
|
||
when creating subgroups
|
||
and can_create_group is true
|
||
and logged in as Owner
|
||
creates the subgroup (PENDING: around hook at ./spec/spec_helper.rb:186 did not execute the example)
|
||
and logged in as Developer
|
||
renders the new template (PENDING: around hook at ./spec/spec_helper.rb:186 did not execute the example)
|
||
and can_create_group is false
|
||
and logged in as Owner
|
||
creates the subgroup (PENDING: around hook at ./spec/spec_helper.rb:186 did not execute the example)
|
||
and logged in as Developer
|
||
renders the new template (PENDING: around hook at ./spec/spec_helper.rb:186 did not execute the example)
|
||
when creating a top level group
|
||
and can_create_group is enabled
|
||
creates the Group
|
||
and can_create_group is disabled
|
||
does not create the Group
|
||
GET #index
|
||
as a user
|
||
redirects to Groups Dashboard
|
||
as a guest
|
||
redirects to Explore Groups
|
||
GET #issues
|
||
sorting by votes
|
||
sorts most popular issues
|
||
sorts least popular issues
|
||
GET #merge_requests
|
||
sorting by votes
|
||
sorts most popular merge requests
|
||
sorts least popular merge requests
|
||
DELETE #destroy
|
||
as another user
|
||
returns 404
|
||
as the group owner
|
||
schedules a group destroy
|
||
redirects to the root path
|
||
PUT update
|
||
updates the path successfully
|
||
does not update the path on error
|
||
#ensure_canonical_path
|
||
for a GET request
|
||
when requesting groups at the root path
|
||
when requesting the canonical path with different casing
|
||
redirects to the correct casing
|
||
when requesting a redirected path
|
||
redirects to the canonical path
|
||
when the old group path is a substring of the scheme or host
|
||
does not modify the requested host
|
||
when the old group path is substring of groups
|
||
does not modify the /groups part of the path
|
||
when requesting groups under the /groups path
|
||
when requesting the canonical path
|
||
non-show path
|
||
with exactly matching casing
|
||
does not redirect
|
||
with different casing
|
||
redirects to the correct casing
|
||
show path
|
||
with exactly matching casing
|
||
does not redirect
|
||
with different casing
|
||
redirects to the correct casing at the root path
|
||
when requesting a redirected path
|
||
redirects to the canonical path
|
||
when the old group path is a substring of the scheme or host
|
||
does not modify the requested host
|
||
when the old group path is substring of groups
|
||
does not modify the /groups part of the path
|
||
when the old group path is substring of groups plus the new path
|
||
does not modify the /groups part of the path
|
||
for a POST request
|
||
when requesting the canonical path with different casing
|
||
does not 404
|
||
does not redirect to the correct casing
|
||
when requesting a redirected path
|
||
returns not found
|
||
for a DELETE request
|
||
when requesting the canonical path with different casing
|
||
does not 404
|
||
does not redirect to the correct casing
|
||
when requesting a redirected path
|
||
returns not found
|
||
PUT transfer
|
||
when transferring to a subgroup goes right
|
||
should return a notice (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
should redirect to the new path (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
when converting to a root group goes right
|
||
should return a notice (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
should redirect to the new path (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
When the transfer goes wrong
|
||
should return an alert (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
should redirect to the current path (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
when the user is not allowed to transfer the group
|
||
should be denied (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
|
||
Import/Export - project import integration test
|
||
Starting the Capybara driver server...
|
||
invalid project
|
||
when selecting the namespace
|
||
prefilled the path
|
||
user imports an exported project successfully
|
||
path is not prefilled
|
||
user imports an exported project successfully
|
||
|
||
Gitlab::Middleware::Go
|
||
#call
|
||
when go-get=0
|
||
skips go-import generation
|
||
when go-get=1
|
||
with SSH disabled
|
||
with simple 2-segment project path
|
||
with subpackages
|
||
returns the full project path
|
||
without subpackages
|
||
returns the full project path
|
||
with a nested project path
|
||
with subpackages
|
||
behaves like a nested project
|
||
when the project is public
|
||
returns the full project path
|
||
when the project is private
|
||
when not authenticated
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
when authenticated
|
||
using warden
|
||
when active
|
||
behaves like authenticated
|
||
with access to the project
|
||
returns the full project path
|
||
without access to the project
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
when blocked
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
using a personal access token
|
||
with api scope
|
||
behaves like authenticated
|
||
with access to the project
|
||
returns the full project path
|
||
without access to the project
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
with read_user scope
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
with a subpackage that is not a valid project path
|
||
behaves like a nested project
|
||
when the project is public
|
||
returns the full project path
|
||
when the project is private
|
||
when not authenticated
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
when authenticated
|
||
using warden
|
||
when active
|
||
behaves like authenticated
|
||
with access to the project
|
||
returns the full project path
|
||
without access to the project
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
when blocked
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
using a personal access token
|
||
with api scope
|
||
behaves like authenticated
|
||
with access to the project
|
||
returns the full project path
|
||
without access to the project
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
with read_user scope
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
without subpackages
|
||
behaves like a nested project
|
||
when the project is public
|
||
returns the full project path
|
||
when the project is private
|
||
when not authenticated
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
when authenticated
|
||
using warden
|
||
when active
|
||
behaves like authenticated
|
||
with access to the project
|
||
returns the full project path
|
||
without access to the project
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
when blocked
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
using a personal access token
|
||
with api scope
|
||
behaves like authenticated
|
||
with access to the project
|
||
returns the full project path
|
||
without access to the project
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
with read_user scope
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
with a bogus path
|
||
skips go-import generation
|
||
with HTTP disabled
|
||
with simple 2-segment project path
|
||
with subpackages
|
||
returns the full project path
|
||
without subpackages
|
||
returns the full project path
|
||
with a nested project path
|
||
with subpackages
|
||
behaves like a nested project
|
||
when the project is public
|
||
returns the full project path
|
||
when the project is private
|
||
when not authenticated
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
when authenticated
|
||
using warden
|
||
when active
|
||
behaves like authenticated
|
||
with access to the project
|
||
returns the full project path
|
||
without access to the project
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
when blocked
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
using a personal access token
|
||
with api scope
|
||
behaves like authenticated
|
||
with access to the project
|
||
returns the full project path
|
||
without access to the project
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
with read_user scope
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
with a subpackage that is not a valid project path
|
||
behaves like a nested project
|
||
when the project is public
|
||
returns the full project path
|
||
when the project is private
|
||
when not authenticated
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
when authenticated
|
||
using warden
|
||
when active
|
||
behaves like authenticated
|
||
with access to the project
|
||
returns the full project path
|
||
without access to the project
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
when blocked
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
using a personal access token
|
||
with api scope
|
||
behaves like authenticated
|
||
with access to the project
|
||
returns the full project path
|
||
without access to the project
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
with read_user scope
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
without subpackages
|
||
behaves like a nested project
|
||
when the project is public
|
||
returns the full project path
|
||
when the project is private
|
||
when not authenticated
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
when authenticated
|
||
using warden
|
||
when active
|
||
behaves like authenticated
|
||
with access to the project
|
||
returns the full project path
|
||
without access to the project
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
when blocked
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
using a personal access token
|
||
with api scope
|
||
behaves like authenticated
|
||
with access to the project
|
||
returns the full project path
|
||
without access to the project
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
with read_user scope
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
with a bogus path
|
||
skips go-import generation
|
||
with nothing disabled
|
||
with simple 2-segment project path
|
||
with subpackages
|
||
returns the full project path
|
||
without subpackages
|
||
returns the full project path
|
||
with a nested project path
|
||
with subpackages
|
||
behaves like a nested project
|
||
when the project is public
|
||
returns the full project path
|
||
when the project is private
|
||
when not authenticated
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
when authenticated
|
||
using warden
|
||
when active
|
||
behaves like authenticated
|
||
with access to the project
|
||
returns the full project path
|
||
without access to the project
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
when blocked
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
using a personal access token
|
||
with api scope
|
||
behaves like authenticated
|
||
with access to the project
|
||
returns the full project path
|
||
without access to the project
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
with read_user scope
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
with a subpackage that is not a valid project path
|
||
behaves like a nested project
|
||
when the project is public
|
||
returns the full project path
|
||
when the project is private
|
||
when not authenticated
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
when authenticated
|
||
using warden
|
||
when active
|
||
behaves like authenticated
|
||
with access to the project
|
||
returns the full project path
|
||
without access to the project
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
when blocked
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
using a personal access token
|
||
with api scope
|
||
behaves like authenticated
|
||
with access to the project
|
||
returns the full project path
|
||
without access to the project
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
with read_user scope
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
without subpackages
|
||
behaves like a nested project
|
||
when the project is public
|
||
returns the full project path
|
||
when the project is private
|
||
when not authenticated
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
when authenticated
|
||
using warden
|
||
when active
|
||
behaves like authenticated
|
||
with access to the project
|
||
returns the full project path
|
||
without access to the project
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
when blocked
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
using a personal access token
|
||
with api scope
|
||
behaves like authenticated
|
||
with access to the project
|
||
returns the full project path
|
||
without access to the project
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
with read_user scope
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
with a bogus path
|
||
skips go-import generation
|
||
with nothing disabled (blank string)
|
||
with simple 2-segment project path
|
||
with subpackages
|
||
returns the full project path
|
||
without subpackages
|
||
returns the full project path
|
||
with a nested project path
|
||
with subpackages
|
||
behaves like a nested project
|
||
when the project is public
|
||
returns the full project path
|
||
when the project is private
|
||
when not authenticated
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
when authenticated
|
||
using warden
|
||
when active
|
||
behaves like authenticated
|
||
with access to the project
|
||
returns the full project path
|
||
without access to the project
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
when blocked
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
using a personal access token
|
||
with api scope
|
||
behaves like authenticated
|
||
with access to the project
|
||
returns the full project path
|
||
without access to the project
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
with read_user scope
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
with a subpackage that is not a valid project path
|
||
behaves like a nested project
|
||
when the project is public
|
||
returns the full project path
|
||
when the project is private
|
||
when not authenticated
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
when authenticated
|
||
using warden
|
||
when active
|
||
behaves like authenticated
|
||
with access to the project
|
||
returns the full project path
|
||
without access to the project
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
when blocked
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
using a personal access token
|
||
with api scope
|
||
behaves like authenticated
|
||
with access to the project
|
||
returns the full project path
|
||
without access to the project
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
with read_user scope
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
without subpackages
|
||
behaves like a nested project
|
||
when the project is public
|
||
returns the full project path
|
||
when the project is private
|
||
when not authenticated
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
when authenticated
|
||
using warden
|
||
when active
|
||
behaves like authenticated
|
||
with access to the project
|
||
returns the full project path
|
||
without access to the project
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
when blocked
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
using a personal access token
|
||
with api scope
|
||
behaves like authenticated
|
||
with access to the project
|
||
returns the full project path
|
||
without access to the project
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
with read_user scope
|
||
behaves like unauthorized
|
||
returns the 2-segment group path
|
||
with a bogus path
|
||
skips go-import generation
|
||
|
||
Groups::TransferService
|
||
#execute
|
||
when transforming a group into a root group
|
||
behaves like ensuring allowed transfer for a group
|
||
with other database than PostgreSQL
|
||
should return false (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
should add an error on group (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
when there's an exception on Gitlab shell directories
|
||
should return false (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
should add an error on group (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
when the group is already a root group
|
||
should add an error on group (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
when the user does not have the right policies
|
||
should return false (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
should add an error on group (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
when there is a group with the same path
|
||
should return false (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
should add an error on group (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
when the group is a subgroup and the transfer is valid
|
||
should update group attributes (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
should update group children path (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
should update group projects path (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
when transferring a subgroup into another group
|
||
behaves like ensuring allowed transfer for a group
|
||
with other database than PostgreSQL
|
||
should return false (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
should add an error on group (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
when there's an exception on Gitlab shell directories
|
||
should return false (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
should add an error on group (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
when the new parent group is the same as the previous parent group
|
||
should return false (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
should add an error on group (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
when the user does not have the right policies
|
||
should return false (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
should add an error on group (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
when the parent has a group with the same path
|
||
should return false (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
should add an error on group (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
when the parent group has a project with the same path
|
||
should return false (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
should add an error on group (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
when the group is allowed to be transferred
|
||
should update visibility for the group based on the parent group (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
should update parent group to the new parent (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
should return the group as children of the new parent (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
should create a redirect for the group (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
when the group has a lower visibility than the parent group
|
||
should not update the visibility for the group (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
when the group has a higher visibility than the parent group
|
||
should update visibility level based on the parent group (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
when transferring a group with group descendants
|
||
should update subgroups path (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
should create redirects for the subgroups (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
when the new parent has a higher visibility than the children
|
||
should not update the children visibility (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
when the new parent has a lower visibility than the children
|
||
should update children visibility to match the new parent (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
when transferring a group with project descendants
|
||
should update projects path (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
should create permanent redirects for the projects (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
when the new parent has a higher visibility than the projects
|
||
should not update projects visibility (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
when the new parent has a lower visibility than the projects
|
||
should update projects visibility to match the new parent (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
when transferring a group with subgroups & projects descendants
|
||
should update subgroups path (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
should update projects path (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
should create redirect for the subgroups and projects (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
when transferring a group with nested groups and projects
|
||
should update subgroups path (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
should update projects path (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
should create redirect for the subgroups and projects (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
when updating the group goes wrong
|
||
should restore group and projects visibility (PENDING: around hook at ./spec/spec_helper.rb:190 did not execute the example)
|
||
|
||
Editing file blob
|
||
as a developer
|
||
from MR diff
|
||
returns me to the mr
|
||
from blob file path
|
||
updates content
|
||
previews content
|
||
visit blob edit
|
||
redirects to sign in and returns
|
||
as developer
|
||
redirects to sign in and returns
|
||
as guest
|
||
redirects to sign in and returns
|
||
as developer
|
||
on some branch
|
||
shows blob editor with same branch
|
||
with protected branch
|
||
shows blob editor with patch branch
|
||
as maintainer
|
||
shows blob editor with same branch
|
||
|
||
Boards::Lists::MoveService
|
||
#execute
|
||
when board parent is a project
|
||
behaves like lists move service
|
||
keeps position of lists when list type is closed
|
||
when list type is set to label
|
||
keeps position of lists when new position is nil
|
||
keeps position of lists when new position is equal to old position
|
||
keeps position of lists when new position is negative
|
||
keeps position of lists when new position is equal to number of labels lists
|
||
keeps position of lists when new position is greater than number of labels lists
|
||
increments position of intermediate lists when new position is equal to first position
|
||
decrements position of intermediate lists when new position is equal to last position
|
||
decrements position of intermediate lists when new position is greater than old position
|
||
increments position of intermediate lists when new position is lower than old position
|
||
when board parent is a group
|
||
behaves like lists move service
|
||
keeps position of lists when list type is closed
|
||
when list type is set to label
|
||
keeps position of lists when new position is nil
|
||
keeps position of lists when new position is equal to old position
|
||
keeps position of lists when new position is negative
|
||
keeps position of lists when new position is equal to number of labels lists
|
||
keeps position of lists when new position is greater than number of labels lists
|
||
increments position of intermediate lists when new position is equal to first position
|
||
decrements position of intermediate lists when new position is equal to last position
|
||
decrements position of intermediate lists when new position is greater than old position
|
||
increments position of intermediate lists when new position is lower than old position
|
||
|
||
CreateDeploymentService
|
||
#execute
|
||
when environment exists
|
||
creates a deployment
|
||
when environment does not exist
|
||
does not create a deployment
|
||
when start action is defined
|
||
and environment is stopped
|
||
makes environment available
|
||
creates a deployment
|
||
when stop action is defined
|
||
and environment is available
|
||
makes environment stopped
|
||
does not create a deployment
|
||
when variables are used
|
||
creates a new deployment
|
||
does not create a new environment
|
||
updates external url
|
||
when project was removed
|
||
does not create deployment or environment
|
||
#expanded_environment_url
|
||
when yaml environment uses $CI_COMMIT_REF_NAME
|
||
should eq "http://review/master"
|
||
when yaml environment uses $CI_ENVIRONMENT_SLUG
|
||
should eq "http://review/prod-slug"
|
||
when yaml environment uses yaml_variables containing symbol keys
|
||
should eq "http://review/host"
|
||
when yaml environment does not have url
|
||
returns the external_url from persisted environment
|
||
processing of builds
|
||
without environment specified
|
||
behaves like does not create deployment
|
||
does not create a new deployment
|
||
does not call a service
|
||
when environment is specified
|
||
when job succeeds
|
||
behaves like creates deployment
|
||
creates a new deployment
|
||
calls a service
|
||
is set as deployable
|
||
updates environment URL
|
||
when job fails
|
||
behaves like does not create deployment
|
||
does not create a new deployment
|
||
does not call a service
|
||
when job is retried
|
||
behaves like creates deployment
|
||
creates a new deployment
|
||
calls a service
|
||
is set as deployable
|
||
updates environment URL
|
||
merge request metrics
|
||
while updating the 'first_deployed_to_production_at' time
|
||
for merge requests merged before the current deploy
|
||
sets the time if the deploy's environment is 'production'
|
||
doesn't set the time if the deploy's environment is not 'production'
|
||
does not raise errors if the merge request does not have a metrics record
|
||
for merge requests merged before the previous deploy
|
||
if the 'first_deployed_to_production_at' time is already set
|
||
does not overwrite the older 'first_deployed_to_production_at' time
|
||
if the 'first_deployed_to_production_at' time is not already set
|
||
does not overwrite the older 'first_deployed_to_production_at' time
|
||
|
||
Groups::MilestonesController
|
||
#index
|
||
shows group milestones page
|
||
as JSON
|
||
lists legacy group milestones and group milestones
|
||
#show
|
||
when there is a title parameter
|
||
searches for a legacy group milestone
|
||
when there is not a title parameter
|
||
searches for a group milestone
|
||
behaves like milestone tabs
|
||
#merge_requests
|
||
as html
|
||
redirects to milestone#show
|
||
as json
|
||
renders the merge requests tab template to a string
|
||
#participants
|
||
as html
|
||
redirects to milestone#show
|
||
as json
|
||
renders the participants tab template to a string
|
||
#labels
|
||
as html
|
||
redirects to milestone#show
|
||
as json
|
||
renders the labels tab template to a string
|
||
#create
|
||
creates group milestone with Chinese title
|
||
#update
|
||
updates group milestone
|
||
legacy group milestones
|
||
updates only group milestones state
|
||
#ensure_canonical_path
|
||
for a GET request
|
||
when requesting the canonical path
|
||
non-show path
|
||
with exactly matching casing
|
||
does not redirect
|
||
with different casing
|
||
redirects to the correct casing
|
||
show path
|
||
with exactly matching casing
|
||
does not redirect
|
||
with different casing
|
||
redirects to the correct casing
|
||
when requesting a redirected path
|
||
redirects to the canonical path
|
||
when the old group path is a substring of the scheme or host
|
||
does not modify the requested host
|
||
when the old group path is substring of groups
|
||
does not modify the /groups part of the path
|
||
when the old group path is substring of groups plus the new path
|
||
does not modify the /groups part of the path
|
||
for a non-GET request
|
||
when requesting the canonical path with different casing
|
||
does not 404
|
||
does not redirect to the correct casing
|
||
when requesting a redirected path
|
||
returns not found
|
||
|
||
GroupsHelper
|
||
group_icon
|
||
returns an url for the avatar
|
||
group_icon_url
|
||
returns an url for the avatar
|
||
gives default avatar_icon when no avatar is present
|
||
group_lfs_status
|
||
only one project in group
|
||
returns all projects as enabled
|
||
returns all projects as disabled
|
||
more than one project in group
|
||
LFS enabled in group
|
||
returns both projects as enabled
|
||
returns only one as enabled
|
||
LFS disabled in group
|
||
returns both projects as disabled
|
||
returns only one as disabled
|
||
group_title
|
||
outputs the groups in the correct order (PENDING: around hook at ./spec/spec_helper.rb:186 did not execute the example)
|
||
#share_with_group_lock_help_text
|
||
root_share_with_group_locked: false, subgroup_share_with_group_locked: false, sub_subgroup_share_with_group_locked: false, current_user: :root_owner, help_text: :default_help, linked_ancestor: nil
|
||
has the correct help text with correct ancestor links (PENDING: around hook at ./spec/spec_helper.rb:186 did not execute the example)
|
||
root_share_with_group_locked: false, subgroup_share_with_group_locked: false, sub_subgroup_share_with_group_locked: false, current_user: :sub_owner, help_text: :default_help, linked_ancestor: nil
|
||
has the correct help text with correct ancestor links (PENDING: around hook at ./spec/spec_helper.rb:186 did not execute the example)
|
||
root_share_with_group_locked: false, subgroup_share_with_group_locked: false, sub_subgroup_share_with_group_locked: false, current_user: :sub_sub_owner, help_text: :default_help, linked_ancestor: nil
|
||
has the correct help text with correct ancestor links (PENDING: around hook at ./spec/spec_helper.rb:186 did not execute the example)
|
||
root_share_with_group_locked: false, subgroup_share_with_group_locked: false, sub_subgroup_share_with_group_locked: true, current_user: :root_owner, help_text: :default_help, linked_ancestor: nil
|
||
has the correct help text with correct ancestor links (PENDING: around hook at ./spec/spec_helper.rb:186 did not execute the example)
|
||
root_share_with_group_locked: false, subgroup_share_with_group_locked: false, sub_subgroup_share_with_group_locked: true, current_user: :sub_owner, help_text: :default_help, linked_ancestor: nil
|
||
has the correct help text with correct ancestor links (PENDING: around hook at ./spec/spec_helper.rb:186 did not execute the example)
|
||
root_share_with_group_locked: false, subgroup_share_with_group_locked: false, sub_subgroup_share_with_group_locked: true, current_user: :sub_sub_owner, help_text: :default_help, linked_ancestor: nil
|
||
has the correct help text with correct ancestor links (PENDING: around hook at ./spec/spec_helper.rb:186 did not execute the example)
|
||
root_share_with_group_locked: false, subgroup_share_with_group_locked: true, sub_subgroup_share_with_group_locked: false, current_user: :root_owner, help_text: :ancestor_locked_and_has_been_overridden, linked_ancestor: :subgroup
|
||
has the correct help text with correct ancestor links (PENDING: around hook at ./spec/spec_helper.rb:186 did not execute the example)
|
||
root_share_with_group_locked: false, subgroup_share_with_group_locked: true, sub_subgroup_share_with_group_locked: false, current_user: :sub_owner, help_text: :ancestor_locked_and_has_been_overridden, linked_ancestor: :subgroup
|
||
has the correct help text with correct ancestor links (PENDING: around hook at ./spec/spec_helper.rb:186 did not execute the example)
|
||
root_share_with_group_locked: false, subgroup_share_with_group_locked: true, sub_subgroup_share_with_group_locked: false, current_user: :sub_sub_owner, help_text: :ancestor_locked_and_has_been_overridden, linked_ancestor: :subgroup
|
||
has the correct help text with correct ancestor links (PENDING: around hook at ./spec/spec_helper.rb:186 did not execute the example)
|
||
root_share_with_group_locked: false, subgroup_share_with_group_locked: true, sub_subgroup_share_with_group_locked: true, current_user: :root_owner, help_text: :ancestor_locked_but_you_can_override, linked_ancestor: :subgroup
|
||
has the correct help text with correct ancestor links (PENDING: around hook at ./spec/spec_helper.rb:186 did not execute the example)
|
||
root_share_with_group_locked: false, subgroup_share_with_group_locked: true, sub_subgroup_share_with_group_locked: true, current_user: :sub_owner, help_text: :ancestor_locked_but_you_can_override, linked_ancestor: :subgroup
|
||
has the correct help text with correct ancestor links (PENDING: around hook at ./spec/spec_helper.rb:186 did not execute the example)
|
||
root_share_with_group_locked: false, subgroup_share_with_group_locked: true, sub_subgroup_share_with_group_locked: true, current_user: :sub_sub_owner, help_text: :ancestor_locked_so_ask_the_owner, linked_ancestor: :subgroup
|
||
has the correct help text with correct ancestor links (PENDING: around hook at ./spec/spec_helper.rb:186 did not execute the example)
|
||
root_share_with_group_locked: true, subgroup_share_with_group_locked: false, sub_subgroup_share_with_group_locked: false, current_user: :root_owner, help_text: :default_help, linked_ancestor: nil
|
||
has the correct help text with correct ancestor links (PENDING: around hook at ./spec/spec_helper.rb:186 did not execute the example)
|
||
root_share_with_group_locked: true, subgroup_share_with_group_locked: false, sub_subgroup_share_with_group_locked: false, current_user: :sub_owner, help_text: :default_help, linked_ancestor: nil
|
||
has the correct help text with correct ancestor links (PENDING: around hook at ./spec/spec_helper.rb:186 did not execute the example)
|
||
root_share_with_group_locked: true, subgroup_share_with_group_locked: false, sub_subgroup_share_with_group_locked: false, current_user: :sub_sub_owner, help_text: :default_help, linked_ancestor: nil
|
||
has the correct help text with correct ancestor links (PENDING: around hook at ./spec/spec_helper.rb:186 did not execute the example)
|
||
root_share_with_group_locked: true, subgroup_share_with_group_locked: false, sub_subgroup_share_with_group_locked: true, current_user: :root_owner, help_text: :default_help, linked_ancestor: nil
|
||
has the correct help text with correct ancestor links (PENDING: around hook at ./spec/spec_helper.rb:186 did not execute the example)
|
||
root_share_with_group_locked: true, subgroup_share_with_group_locked: false, sub_subgroup_share_with_group_locked: true, current_user: :sub_owner, help_text: :default_help, linked_ancestor: nil
|
||
has the correct help text with correct ancestor links (PENDING: around hook at ./spec/spec_helper.rb:186 did not execute the example)
|
||
root_share_with_group_locked: true, subgroup_share_with_group_locked: false, sub_subgroup_share_with_group_locked: true, current_user: :sub_sub_owner, help_text: :default_help, linked_ancestor: nil
|
||
has the correct help text with correct ancestor links (PENDING: around hook at ./spec/spec_helper.rb:186 did not execute the example)
|
||
root_share_with_group_locked: true, subgroup_share_with_group_locked: true, sub_subgroup_share_with_group_locked: false, current_user: :root_owner, help_text: :ancestor_locked_and_has_been_overridden, linked_ancestor: :root_group
|
||
has the correct help text with correct ancestor links (PENDING: around hook at ./spec/spec_helper.rb:186 did not execute the example)
|
||
root_share_with_group_locked: true, subgroup_share_with_group_locked: true, sub_subgroup_share_with_group_locked: false, current_user: :sub_owner, help_text: :ancestor_locked_and_has_been_overridden, linked_ancestor: :root_group
|
||
has the correct help text with correct ancestor links (PENDING: around hook at ./spec/spec_helper.rb:186 did not execute the example)
|
||
root_share_with_group_locked: true, subgroup_share_with_group_locked: true, sub_subgroup_share_with_group_locked: false, current_user: :sub_sub_owner, help_text: :ancestor_locked_and_has_been_overridden, linked_ancestor: :root_group
|
||
has the correct help text with correct ancestor links (PENDING: around hook at ./spec/spec_helper.rb:186 did not execute the example)
|
||
root_share_with_group_locked: true, subgroup_share_with_group_locked: true, sub_subgroup_share_with_group_locked: true, current_user: :root_owner, help_text: :ancestor_locked_but_you_can_override, linked_ancestor: :root_group
|
||
has the correct help text with correct ancestor links (PENDING: around hook at ./spec/spec_helper.rb:186 did not execute the example)
|
||
root_share_with_group_locked: true, subgroup_share_with_group_locked: true, sub_subgroup_share_with_group_locked: true, current_user: :sub_owner, help_text: :ancestor_locked_so_ask_the_owner, linked_ancestor: :root_group
|
||
has the correct help text with correct ancestor links (PENDING: around hook at ./spec/spec_helper.rb:186 did not execute the example)
|
||
root_share_with_group_locked: true, subgroup_share_with_group_locked: true, sub_subgroup_share_with_group_locked: true, current_user: :sub_sub_owner, help_text: :ancestor_locked_so_ask_the_owner, linked_ancestor: :root_group
|
||
has the correct help text with correct ancestor links (PENDING: around hook at ./spec/spec_helper.rb:186 did not execute the example)
|
||
#group_sidebar_links
|
||
returns all the expected links
|
||
includes settings when the user can admin the group
|
||
excludes cross project features when the user cannot read cross project
|
||
|
||
API::V3::Todos
|
||
DELETE /todos/:id
|
||
when unauthenticated
|
||
returns authentication error
|
||
when authenticated
|
||
marks a todo as done
|
||
updates todos cache
|
||
returns 404 if the todo does not belong to the current user
|
||
DELETE /todos
|
||
when unauthenticated
|
||
returns authentication error
|
||
when authenticated
|
||
marks all todos as done
|
||
updates todos cache
|
||
|
||
TeamcityService
|
||
Associations
|
||
should belong to project
|
||
should have one service_hook
|
||
Validations
|
||
when service is active
|
||
should validate that :build_type cannot be empty/falsy
|
||
should validate that :teamcity_url cannot be empty/falsy
|
||
behaves like issue tracker service URL attribute
|
||
should allow :teamcity_url to be ‹"https://example.com"›
|
||
should not allow :teamcity_url to be ‹"example.com"›
|
||
should not allow :teamcity_url to be ‹"ftp://example.com"›
|
||
should not allow :teamcity_url to be ‹"herp-and-derp"›
|
||
#username
|
||
does not validate the presence of username if password is nil
|
||
validates the presence of username if password is present
|
||
#password
|
||
does not validate the presence of password if username is nil
|
||
validates the presence of password if username is present
|
||
when service is inactive
|
||
should not validate that :build_type cannot be empty/falsy
|
||
should not validate that :teamcity_url cannot be empty/falsy
|
||
should not validate that :username cannot be empty/falsy
|
||
should not validate that :password cannot be empty/falsy
|
||
Callbacks
|
||
before_update :reset_password
|
||
saves password if new url is set together with password when no password was previously set
|
||
when a password was previously set
|
||
resets password if url changed
|
||
does not reset password if username changed
|
||
does not reset password if new url is set together with password, even if it's the same password
|
||
#build_page
|
||
returns the contents of the reactive cache
|
||
#commit_status
|
||
returns the contents of the reactive cache
|
||
#calculate_reactive_cache
|
||
build_page
|
||
returns a specific URL when status is 500
|
||
returns a build URL when teamcity_url has no trailing slash
|
||
teamcity_url has trailing slash
|
||
returns a build URL
|
||
commit_status
|
||
sets commit status to :error when status is 500
|
||
sets commit status to "pending" when status is 404
|
||
sets commit status to "success" when build status contains SUCCESS
|
||
sets commit status to "failed" when build status contains FAILURE
|
||
sets commit status to "pending" when build status contains Pending
|
||
sets commit status to :error when build status is unknown
|
||
|
||
Gitlab::Conflict::File
|
||
#resolve_lines
|
||
raises ResolutionError when passed a hash without resolutions for all sections
|
||
when resolving everything to the same side
|
||
has the correct number of lines
|
||
has content matching the chosen lines
|
||
with mixed resolutions
|
||
has the correct number of lines
|
||
returns a file containing only the chosen parts of the resolved sections
|
||
#highlight_lines!
|
||
modifies the existing lines
|
||
is called implicitly when rich_text is accessed on a line
|
||
sets the rich_text of the lines matching the text content
|
||
highlights the lines correctly
|
||
#sections
|
||
only inserts match lines when there is a gap between sections
|
||
sets conflict to false for sections with only unchanged lines
|
||
only includes a maximum of CONTEXT_LINES (plus an optional match line) in context sections
|
||
sets conflict to true for sections with only changed lines
|
||
adds unique IDs to conflict sections, and not to other sections
|
||
with an example file
|
||
sets the correct match line headers
|
||
does not add match lines where they are not needed
|
||
creates context sections of the correct length
|
||
#as_json
|
||
includes the blob path for the file
|
||
includes the blob icon for the file
|
||
with the full_content option passed
|
||
includes the full content of the conflict
|
||
includes the detected language of the conflict file
|
||
|
||
Banzai::Filter::SnippetReferenceFilter
|
||
requires project context
|
||
ignores valid references contained inside 'pre' element
|
||
ignores valid references contained inside 'code' element
|
||
ignores valid references contained inside 'a' element
|
||
ignores valid references contained inside 'style' element
|
||
internal reference
|
||
links to a valid reference
|
||
links with adjacent text
|
||
ignores invalid snippet IDs
|
||
includes a title attribute
|
||
escapes the title attribute
|
||
includes default classes
|
||
includes a data-project attribute
|
||
includes a data-snippet attribute
|
||
supports an :only_path context
|
||
cross-project / cross-namespace complete reference
|
||
links to a valid reference
|
||
link has valid text
|
||
has valid text
|
||
ignores invalid snippet IDs on the referenced project
|
||
cross-project / same-namespace complete reference
|
||
links to a valid reference
|
||
link has valid text
|
||
has valid text
|
||
ignores invalid snippet IDs on the referenced project
|
||
cross-project shorthand reference
|
||
links to a valid reference
|
||
link has valid text
|
||
has valid text
|
||
ignores invalid snippet IDs on the referenced project
|
||
cross-project URL reference
|
||
links to a valid reference
|
||
links with adjacent text
|
||
ignores invalid snippet IDs on the referenced project
|
||
group context
|
||
links to a valid reference
|
||
|
||
AutocompleteUsersFinder
|
||
#execute
|
||
should contain exactly #<User id:2126 @johndoe>, #<User id:2128 @user2119>, #<User id:2129 @user2120>, and #<User id:2130 @user2121>
|
||
when current_user not passed or nil
|
||
should contain exactly
|
||
when project passed
|
||
should contain exactly #<User id:2140 @user2127>
|
||
when author_id passed
|
||
should contain exactly #<User id:2146 @user2131> and #<User id:2142 @notsorandom>
|
||
when group passed and project not passed
|
||
should contain exactly #<User id:2147 @johndoe>
|
||
when passed a subgroup
|
||
includes users from parent groups as well (PENDING: around hook at ./spec/spec_helper.rb:186 did not execute the example)
|
||
when filtered by search
|
||
should contain exactly #<User id:2152 @johndoe>
|
||
when filtered by skip_users
|
||
should contain exactly #<User id:2157 @johndoe> and #<User id:2159 @user2138>
|
||
when todos exist
|
||
when filtered by todo_filter without todo_state_filter
|
||
should contain exactly
|
||
when filtered by todo_filter with pending todo_state_filter
|
||
should contain exactly #<User id:2175 @johndoe>
|
||
when filtered by todo_filter with done todo_state_filter
|
||
should contain exactly #<User id:2190 @user2163>
|
||
when filtered by current_user
|
||
should contain exactly #<User id:2202 @notsorandom>, #<User id:2201 @johndoe>, #<User id:2203 @user2174>, and #<User id:2204 @user2175>
|
||
when filtered by author_id
|
||
should contain exactly #<User id:2206 @notsorandom>, #<User id:2205 @johndoe>, #<User id:2207 @user2176>, #<User id:2208 @user2177>, and #<User id:2209 @user2178>
|
||
|
||
Service
|
||
Associations
|
||
should belong to project
|
||
should have one service_hook
|
||
Validations
|
||
should validate that :type cannot be empty/falsy
|
||
Scopes
|
||
.confidential_note_hooks
|
||
includes services where confidential_note_events is true
|
||
excludes services where confidential_note_events is false
|
||
Test Button
|
||
#can_test?
|
||
when repository is not empty
|
||
returns true
|
||
when repository is empty
|
||
returns true
|
||
#test
|
||
when repository is not empty
|
||
test runs execute
|
||
when repository is empty
|
||
test runs execute
|
||
Template
|
||
.build_from_template
|
||
when template is invalid
|
||
sets service template to inactive when template is invalid
|
||
for pushover service
|
||
is prefilled for projects pushover service
|
||
has all fields prefilled
|
||
{property}_changed?
|
||
returns false when the property has not been assigned a new value
|
||
returns true when the property has been assigned a different value
|
||
returns true when the property has been assigned a different value twice
|
||
returns false when the property has been re-assigned the same value
|
||
returns false when the property has been assigned a new value then saved
|
||
{property}_touched?
|
||
returns false when the property has not been assigned a new value
|
||
returns true when the property has been assigned a different value
|
||
returns true when the property has been assigned a different value twice
|
||
returns true when the property has been re-assigned the same value
|
||
returns false when the property has been assigned a new value then saved
|
||
{property}_was
|
||
returns nil when the property has not been assigned a new value
|
||
returns the previous value when the property has been assigned a different value
|
||
returns initial value when the property has been re-assigned the same value
|
||
returns initial value when the property has been assigned multiple values
|
||
returns nil when the property has been assigned a new value then saved
|
||
initialize service with no properties
|
||
does not raise error
|
||
creates the properties
|
||
callbacks
|
||
on create
|
||
updates the has_external_issue_tracker boolean
|
||
on update
|
||
updates the has_external_issue_tracker boolean
|
||
#deprecated?
|
||
should return false by default
|
||
#deprecation_message
|
||
should be empty by default
|
||
.find_by_template
|
||
returns service template
|
||
#api_field_names
|
||
filters out sensitive fields
|
||
|
||
TestHooks::ProjectService
|
||
#execute
|
||
hook with not implemented test
|
||
returns error message
|
||
push_events
|
||
returns error message if not enough data
|
||
executes hook
|
||
tag_push_events
|
||
returns error message if not enough data
|
||
executes hook
|
||
note_events
|
||
returns error message if not enough data
|
||
executes hook
|
||
issues_events
|
||
returns error message if not enough data
|
||
executes hook
|
||
confidential_issues_events
|
||
returns error message if not enough data
|
||
executes hook
|
||
merge_requests_events
|
||
returns error message if not enough data
|
||
executes hook
|
||
job_events
|
||
returns error message if not enough data
|
||
executes hook
|
||
pipeline_events
|
||
returns error message if not enough data
|
||
executes hook
|
||
wiki_page_events
|
||
returns error message if wiki disabled
|
||
returns error message if not enough data
|
||
executes hook
|
||
|
||
User views an open merge request
|
||
when a merge request does not have repository
|
||
renders both the title and the description
|
||
when a merge request has repository
|
||
when rendering description preview
|
||
renders empty description preview
|
||
renders description preview
|
||
when the branch is rebased on the target
|
||
does not show diverged commits count
|
||
when the branch is diverged on the target
|
||
shows diverged commits count
|
||
|
||
RunnerJobsFinder
|
||
#execute
|
||
when params is empty
|
||
returns all jobs assigned to Runner
|
||
when params contains status
|
||
when status is created
|
||
returns matched job
|
||
when status is pending
|
||
returns matched job
|
||
when status is running
|
||
returns matched job
|
||
when status is success
|
||
returns matched job
|
||
when status is failed
|
||
returns matched job
|
||
when status is canceled
|
||
returns matched job
|
||
when status is skipped
|
||
returns matched job
|
||
when status is manual
|
||
returns matched job
|
||
|
||
Project snippets
|
||
when the project has snippets
|
||
pagination
|
||
behaves like paginated snippets
|
||
is limited to 20 items per page
|
||
clicking on the link to the second page
|
||
shows the remaining snippets
|
||
list content
|
||
contains all project snippets
|
||
when submitting a note
|
||
should have autocomplete
|
||
should have zen mode
|
||
|
||
API::V3::Environments
|
||
GET /projects/:id/environments
|
||
as member of the project
|
||
returns project environments
|
||
behaves like a paginated resources
|
||
has pagination headers
|
||
as non member
|
||
returns a 404 status code
|
||
POST /projects/:id/environments
|
||
as a member
|
||
creates a environment with valid params
|
||
requires name to be passed
|
||
returns a 400 if environment already exists
|
||
returns a 400 if slug is specified
|
||
a non member
|
||
rejects the request
|
||
returns a 400 when the required params are missing
|
||
PUT /projects/:id/environments/:environment_id
|
||
returns a 200 if name and external_url are changed
|
||
won't allow slug to be changed
|
||
won't update the external_url if only the name is passed
|
||
returns a 404 if the environment does not exist
|
||
DELETE /projects/:id/environments/:environment_id
|
||
as a maintainer
|
||
returns a 200 for an existing environment
|
||
returns a 404 for non existing id
|
||
a non member
|
||
rejects the request
|
||
|
||
API::Namespaces
|
||
GET /namespaces
|
||
when unauthenticated
|
||
returns authentication error
|
||
when authenticated as admin
|
||
returns correct attributes
|
||
admin: returns an array of all namespaces
|
||
admin: returns an array of matched namespaces
|
||
when authenticated as a regular user
|
||
returns correct attributes when user can admin group
|
||
returns correct attributes when user cannot admin group
|
||
user: returns an array of namespaces
|
||
admin: returns an array of matched namespaces
|
||
GET /namespaces/:id
|
||
when unauthenticated
|
||
returns authentication error
|
||
when authenticated as regular user
|
||
when requested namespace is not owned by user
|
||
when requesting group
|
||
returns not-found
|
||
when requesting personal namespace
|
||
returns not-found
|
||
when requested namespace is owned by user
|
||
behaves like namespace reader
|
||
when namespace exists
|
||
when requested by ID
|
||
when requesting group
|
||
behaves like can access namespace
|
||
returns namespace details
|
||
when requesting personal namespace
|
||
behaves like can access namespace
|
||
returns namespace details
|
||
when requested by path
|
||
when requesting group
|
||
behaves like can access namespace
|
||
returns namespace details
|
||
when requesting personal namespace
|
||
behaves like can access namespace
|
||
returns namespace details
|
||
when namespace doesn't exist
|
||
returns not-found
|
||
when authenticated as admin
|
||
when requested namespace is not owned by user
|
||
when requesting group
|
||
behaves like can access namespace
|
||
returns namespace details
|
||
when requesting personal namespace
|
||
behaves like can access namespace
|
||
returns namespace details
|
||
when requested namespace is owned by user
|
||
behaves like namespace reader
|
||
when namespace exists
|
||
when requested by ID
|
||
when requesting group
|
||
behaves like can access namespace
|
||
returns namespace details
|
||
when requesting personal namespace
|
||
behaves like can access namespace
|
||
returns namespace details
|
||
when requested by path
|
||
when requesting group
|
||
behaves like can access namespace
|
||
returns namespace details
|
||
when requesting personal namespace
|
||
behaves like can access namespace
|
||
returns namespace details
|
||
when namespace doesn't exist
|
||
returns not-found
|
||
|
||
MergeRequests::GetUrlsService
|
||
#execute
|
||
pushing to default branch
|
||
behaves like no_merge_request_url
|
||
returns no URL
|
||
pushing to project with MRs disabled
|
||
behaves like no_merge_request_url
|
||
returns no URL
|
||
pushing one completely new branch
|
||
behaves like new_merge_request_link
|
||
returns url to create new merge request
|
||
pushing to existing branch but no merge request
|
||
behaves like new_merge_request_link
|
||
returns url to create new merge request
|
||
pushing to deleted branch
|
||
behaves like no_merge_request_url
|
||
returns no URL
|
||
pushing to existing branch and merge request opened
|
||
behaves like show_merge_request_url
|
||
returns url to view merge request
|
||
pushing to existing branch and merge request is reopened
|
||
behaves like show_merge_request_url
|
||
returns url to view merge request
|
||
pushing to existing branch from forked project
|
||
behaves like show_merge_request_url
|
||
returns url to view merge request
|
||
pushing to existing branch and merge request is closed
|
||
behaves like new_merge_request_link
|
||
returns url to create new merge request
|
||
pushing to existing branch and merge request is merged
|
||
behaves like new_merge_request_link
|
||
returns url to create new merge request
|
||
pushing new branch and existing branch (with merge request created) at once
|
||
returns 2 urls for both creating new and showing merge request
|
||
when printing_merge_request_link_enabled is false
|
||
returns empty array
|
||
|
||
LfsFileLock
|
||
should belong to project
|
||
should belong to user
|
||
should validate that :project_id cannot be empty/falsy
|
||
should validate that :user_id cannot be empty/falsy
|
||
should validate that :path cannot be empty/falsy
|
||
#can_be_unlocked_by?
|
||
when it's forced
|
||
can be unlocked by the author
|
||
can be unlocked by a maintainer
|
||
can't be unlocked by other user
|
||
when it isn't forced
|
||
can be unlocked by the author
|
||
can't be unlocked by a maintainer
|
||
can't be unlocked by other user
|
||
|
||
Gitlab::Ci::Config::Entry::Boolean
|
||
validations
|
||
when entry config value is valid
|
||
#value
|
||
returns key value
|
||
#valid?
|
||
is valid
|
||
when entry value is not valid
|
||
#errors
|
||
saves errors
|
||
Knapsack report was generated. Preview:
|
||
{
|
||
"spec/services/todo_service_spec.rb": 53.71851348876953,
|
||
"spec/lib/gitlab/import_export/project_tree_saver_spec.rb": 48.39624857902527,
|
||
"spec/lib/gitlab/background_migration/deserialize_merge_request_diffs_and_commits_spec.rb": 35.17360734939575,
|
||
"spec/controllers/projects/merge_requests_controller_spec.rb": 25.50887441635132,
|
||
"spec/controllers/groups_controller_spec.rb": 13.007296323776245,
|
||
"spec/features/projects/import_export/import_file_spec.rb": 16.827879428863525,
|
||
"spec/lib/gitlab/middleware/go_spec.rb": 12.497276306152344,
|
||
"spec/features/projects/blobs/edit_spec.rb": 11.511932134628296,
|
||
"spec/services/boards/lists/move_service_spec.rb": 8.695446491241455,
|
||
"spec/services/create_deployment_service_spec.rb": 6.754847526550293,
|
||
"spec/controllers/groups/milestones_controller_spec.rb": 6.8740551471710205,
|
||
"spec/helpers/groups_helper_spec.rb": 0.9002459049224854,
|
||
"spec/requests/api/v3/todos_spec.rb": 6.5924904346466064,
|
||
"spec/models/project_services/teamcity_service_spec.rb": 2.9881808757781982,
|
||
"spec/lib/gitlab/conflict/file_spec.rb": 5.294132709503174,
|
||
"spec/lib/banzai/filter/snippet_reference_filter_spec.rb": 4.118850469589233,
|
||
"spec/finders/autocomplete_users_finder_spec.rb": 3.864232063293457,
|
||
"spec/models/service_spec.rb": 3.1697962284088135,
|
||
"spec/services/test_hooks/project_service_spec.rb": 4.167759656906128,
|
||
"spec/features/projects/merge_requests/user_views_open_merge_request_spec.rb": 4.707003355026245,
|
||
"spec/finders/runner_jobs_finder_spec.rb": 3.2137575149536133,
|
||
"spec/features/projects/snippets_spec.rb": 3.631467580795288,
|
||
"spec/requests/api/v3/environments_spec.rb": 2.314746856689453,
|
||
"spec/requests/api/namespaces_spec.rb": 2.352935314178467,
|
||
"spec/services/merge_requests/get_urls_service_spec.rb": 2.8039824962615967,
|
||
"spec/models/lfs_file_lock_spec.rb": 0.7295050621032715,
|
||
"spec/lib/gitlab/ci/config/entry/boolean_spec.rb": 0.007024049758911133
|
||
}
|
||
|
||
Knapsack global time execution for tests: 04m 49s
|
||
|
||
Pending: (Failures listed here are expected and do not affect your suite's status)
|
||
|
||
1) GroupsController GET #new when creating subgroups and can_create_group is true and logged in as Admin behaves like member with ability to create subgroups renders the new page
|
||
# around hook at ./spec/spec_helper.rb:186 did not execute the example
|
||
# ./spec/controllers/groups_controller_spec.rb:15
|
||
|
||
2) GroupsController GET #new when creating subgroups and can_create_group is true and logged in as Owner behaves like member with ability to create subgroups renders the new page
|
||
# around hook at ./spec/spec_helper.rb:186 did not execute the example
|
||
# ./spec/controllers/groups_controller_spec.rb:15
|
||
|
||
3) GroupsController GET #new when creating subgroups and can_create_group is true and logged in as Guest behaves like member without ability to create subgroups renders the 404 page
|
||
# around hook at ./spec/spec_helper.rb:186 did not execute the example
|
||
# ./spec/controllers/groups_controller_spec.rb:25
|
||
|
||
4) GroupsController GET #new when creating subgroups and can_create_group is true and logged in as Developer behaves like member without ability to create subgroups renders the 404 page
|
||
# around hook at ./spec/spec_helper.rb:186 did not execute the example
|
||
# ./spec/controllers/groups_controller_spec.rb:25
|
||
|
||
5) GroupsController GET #new when creating subgroups and can_create_group is true and logged in as Maintainer behaves like member without ability to create subgroups renders the 404 page
|
||
# around hook at ./spec/spec_helper.rb:186 did not execute the example
|
||
# ./spec/controllers/groups_controller_spec.rb:25
|
||
|
||
6) GroupsController GET #new when creating subgroups and can_create_group is false and logged in as Admin behaves like member with ability to create subgroups renders the new page
|
||
# around hook at ./spec/spec_helper.rb:186 did not execute the example
|
||
# ./spec/controllers/groups_controller_spec.rb:15
|
||
|
||
7) GroupsController GET #new when creating subgroups and can_create_group is false and logged in as Owner behaves like member with ability to create subgroups renders the new page
|
||
# around hook at ./spec/spec_helper.rb:186 did not execute the example
|
||
# ./spec/controllers/groups_controller_spec.rb:15
|
||
|
||
8) GroupsController GET #new when creating subgroups and can_create_group is false and logged in as Guest behaves like member without ability to create subgroups renders the 404 page
|
||
# around hook at ./spec/spec_helper.rb:186 did not execute the example
|
||
# ./spec/controllers/groups_controller_spec.rb:25
|
||
|
||
9) GroupsController GET #new when creating subgroups and can_create_group is false and logged in as Developer behaves like member without ability to create subgroups renders the 404 page
|
||
# around hook at ./spec/spec_helper.rb:186 did not execute the example
|
||
# ./spec/controllers/groups_controller_spec.rb:25
|
||
|
||
10) GroupsController GET #new when creating subgroups and can_create_group is false and logged in as Maintainer behaves like member without ability to create subgroups renders the 404 page
|
||
# around hook at ./spec/spec_helper.rb:186 did not execute the example
|
||
# ./spec/controllers/groups_controller_spec.rb:25
|
||
|
||
11) GroupsController POST #create when creating subgroups and can_create_group is true and logged in as Owner creates the subgroup
|
||
# around hook at ./spec/spec_helper.rb:186 did not execute the example
|
||
# ./spec/controllers/groups_controller_spec.rb:117
|
||
|
||
12) GroupsController POST #create when creating subgroups and can_create_group is true and logged in as Developer renders the new template
|
||
# around hook at ./spec/spec_helper.rb:186 did not execute the example
|
||
# ./spec/controllers/groups_controller_spec.rb:129
|
||
|
||
13) GroupsController POST #create when creating subgroups and can_create_group is false and logged in as Owner creates the subgroup
|
||
# around hook at ./spec/spec_helper.rb:186 did not execute the example
|
||
# ./spec/controllers/groups_controller_spec.rb:117
|
||
|
||
14) GroupsController POST #create when creating subgroups and can_create_group is false and logged in as Developer renders the new template
|
||
# around hook at ./spec/spec_helper.rb:186 did not execute the example
|
||
# ./spec/controllers/groups_controller_spec.rb:129
|
||
|
||
15) GroupsController PUT transfer when transferring to a subgroup goes right should return a notice
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/controllers/groups_controller_spec.rb:516
|
||
|
||
16) GroupsController PUT transfer when transferring to a subgroup goes right should redirect to the new path
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/controllers/groups_controller_spec.rb:520
|
||
|
||
17) GroupsController PUT transfer when converting to a root group goes right should return a notice
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/controllers/groups_controller_spec.rb:535
|
||
|
||
18) GroupsController PUT transfer when converting to a root group goes right should redirect to the new path
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/controllers/groups_controller_spec.rb:539
|
||
|
||
19) GroupsController PUT transfer When the transfer goes wrong should return an alert
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/controllers/groups_controller_spec.rb:557
|
||
|
||
20) GroupsController PUT transfer When the transfer goes wrong should redirect to the current path
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/controllers/groups_controller_spec.rb:561
|
||
|
||
21) GroupsController PUT transfer when the user is not allowed to transfer the group should be denied
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/controllers/groups_controller_spec.rb:577
|
||
|
||
22) Groups::TransferService#execute when transforming a group into a root group behaves like ensuring allowed transfer for a group with other database than PostgreSQL should return false
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:15
|
||
|
||
23) Groups::TransferService#execute when transforming a group into a root group behaves like ensuring allowed transfer for a group with other database than PostgreSQL should add an error on group
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:19
|
||
|
||
24) Groups::TransferService#execute when transforming a group into a root group behaves like ensuring allowed transfer for a group when there's an exception on Gitlab shell directories should return false
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:33
|
||
|
||
25) Groups::TransferService#execute when transforming a group into a root group behaves like ensuring allowed transfer for a group when there's an exception on Gitlab shell directories should add an error on group
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:37
|
||
|
||
26) Groups::TransferService#execute when transforming a group into a root group when the group is already a root group should add an error on group
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:53
|
||
|
||
27) Groups::TransferService#execute when transforming a group into a root group when the user does not have the right policies should return false
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:62
|
||
|
||
28) Groups::TransferService#execute when transforming a group into a root group when the user does not have the right policies should add an error on group
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:66
|
||
|
||
29) Groups::TransferService#execute when transforming a group into a root group when there is a group with the same path should return false
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:79
|
||
|
||
30) Groups::TransferService#execute when transforming a group into a root group when there is a group with the same path should add an error on group
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:83
|
||
|
||
31) Groups::TransferService#execute when transforming a group into a root group when the group is a subgroup and the transfer is valid should update group attributes
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:99
|
||
|
||
32) Groups::TransferService#execute when transforming a group into a root group when the group is a subgroup and the transfer is valid should update group children path
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:103
|
||
|
||
33) Groups::TransferService#execute when transforming a group into a root group when the group is a subgroup and the transfer is valid should update group projects path
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:109
|
||
|
||
34) Groups::TransferService#execute when transferring a subgroup into another group behaves like ensuring allowed transfer for a group with other database than PostgreSQL should return false
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:15
|
||
|
||
35) Groups::TransferService#execute when transferring a subgroup into another group behaves like ensuring allowed transfer for a group with other database than PostgreSQL should add an error on group
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:19
|
||
|
||
36) Groups::TransferService#execute when transferring a subgroup into another group behaves like ensuring allowed transfer for a group when there's an exception on Gitlab shell directories should return false
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:33
|
||
|
||
37) Groups::TransferService#execute when transferring a subgroup into another group behaves like ensuring allowed transfer for a group when there's an exception on Gitlab shell directories should add an error on group
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:37
|
||
|
||
38) Groups::TransferService#execute when transferring a subgroup into another group when the new parent group is the same as the previous parent group should return false
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:125
|
||
|
||
39) Groups::TransferService#execute when transferring a subgroup into another group when the new parent group is the same as the previous parent group should add an error on group
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:129
|
||
|
||
40) Groups::TransferService#execute when transferring a subgroup into another group when the user does not have the right policies should return false
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:138
|
||
|
||
41) Groups::TransferService#execute when transferring a subgroup into another group when the user does not have the right policies should add an error on group
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:142
|
||
|
||
42) Groups::TransferService#execute when transferring a subgroup into another group when the parent has a group with the same path should return false
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:155
|
||
|
||
43) Groups::TransferService#execute when transferring a subgroup into another group when the parent has a group with the same path should add an error on group
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:159
|
||
|
||
44) Groups::TransferService#execute when transferring a subgroup into another group when the parent group has a project with the same path should return false
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:174
|
||
|
||
45) Groups::TransferService#execute when transferring a subgroup into another group when the parent group has a project with the same path should add an error on group
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:178
|
||
|
||
46) Groups::TransferService#execute when transferring a subgroup into another group when the group is allowed to be transferred should update visibility for the group based on the parent group
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:212
|
||
|
||
47) Groups::TransferService#execute when transferring a subgroup into another group when the group is allowed to be transferred should update parent group to the new parent
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:216
|
||
|
||
48) Groups::TransferService#execute when transferring a subgroup into another group when the group is allowed to be transferred should return the group as children of the new parent
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:220
|
||
|
||
49) Groups::TransferService#execute when transferring a subgroup into another group when the group is allowed to be transferred should create a redirect for the group
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:225
|
||
|
||
50) Groups::TransferService#execute when transferring a subgroup into another group when the group is allowed to be transferred when the group has a lower visibility than the parent group should not update the visibility for the group
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:194
|
||
|
||
51) Groups::TransferService#execute when transferring a subgroup into another group when the group is allowed to be transferred when the group has a higher visibility than the parent group should update visibility level based on the parent group
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:205
|
||
|
||
52) Groups::TransferService#execute when transferring a subgroup into another group when transferring a group with group descendants should update subgroups path
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:239
|
||
|
||
53) Groups::TransferService#execute when transferring a subgroup into another group when transferring a group with group descendants should create redirects for the subgroups
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:246
|
||
|
||
54) Groups::TransferService#execute when transferring a subgroup into another group when transferring a group with group descendants when the new parent has a higher visibility than the children should not update the children visibility
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:253
|
||
|
||
55) Groups::TransferService#execute when transferring a subgroup into another group when transferring a group with group descendants when the new parent has a lower visibility than the children should update children visibility to match the new parent
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:264
|
||
|
||
56) Groups::TransferService#execute when transferring a subgroup into another group when transferring a group with project descendants should update projects path
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:282
|
||
|
||
57) Groups::TransferService#execute when transferring a subgroup into another group when transferring a group with project descendants should create permanent redirects for the projects
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:289
|
||
|
||
58) Groups::TransferService#execute when transferring a subgroup into another group when transferring a group with project descendants when the new parent has a higher visibility than the projects should not update projects visibility
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:296
|
||
|
||
59) Groups::TransferService#execute when transferring a subgroup into another group when transferring a group with project descendants when the new parent has a lower visibility than the projects should update projects visibility to match the new parent
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:307
|
||
|
||
60) Groups::TransferService#execute when transferring a subgroup into another group when transferring a group with subgroups & projects descendants should update subgroups path
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:327
|
||
|
||
61) Groups::TransferService#execute when transferring a subgroup into another group when transferring a group with subgroups & projects descendants should update projects path
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:334
|
||
|
||
62) Groups::TransferService#execute when transferring a subgroup into another group when transferring a group with subgroups & projects descendants should create redirect for the subgroups and projects
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:341
|
||
|
||
63) Groups::TransferService#execute when transferring a subgroup into another group when transferring a group with nested groups and projects should update subgroups path
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:363
|
||
|
||
64) Groups::TransferService#execute when transferring a subgroup into another group when transferring a group with nested groups and projects should update projects path
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:375
|
||
|
||
65) Groups::TransferService#execute when transferring a subgroup into another group when transferring a group with nested groups and projects should create redirect for the subgroups and projects
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:383
|
||
|
||
66) Groups::TransferService#execute when transferring a subgroup into another group when updating the group goes wrong should restore group and projects visibility
|
||
# around hook at ./spec/spec_helper.rb:190 did not execute the example
|
||
# ./spec/services/groups/transfer_service_spec.rb:405
|
||
|
||
67) GroupsHelper group_title outputs the groups in the correct order
|
||
# around hook at ./spec/spec_helper.rb:186 did not execute the example
|
||
# ./spec/helpers/groups_helper_spec.rb:106
|
||
|
||
68) GroupsHelper#share_with_group_lock_help_text root_share_with_group_locked: false, subgroup_share_with_group_locked: false, sub_subgroup_share_with_group_locked: false, current_user: :root_owner, help_text: :default_help, linked_ancestor: nil has the correct help text with correct ancestor links
|
||
# around hook at ./spec/spec_helper.rb:186 did not execute the example
|
||
# ./spec/helpers/groups_helper_spec.rb:198
|
||
|
||
69) GroupsHelper#share_with_group_lock_help_text root_share_with_group_locked: false, subgroup_share_with_group_locked: false, sub_subgroup_share_with_group_locked: false, current_user: :sub_owner, help_text: :default_help, linked_ancestor: nil has the correct help text with correct ancestor links
|
||
# around hook at ./spec/spec_helper.rb:186 did not execute the example
|
||
# ./spec/helpers/groups_helper_spec.rb:198
|
||
|
||
70) GroupsHelper#share_with_group_lock_help_text root_share_with_group_locked: false, subgroup_share_with_group_locked: false, sub_subgroup_share_with_group_locked: false, current_user: :sub_sub_owner, help_text: :default_help, linked_ancestor: nil has the correct help text with correct ancestor links
|
||
# around hook at ./spec/spec_helper.rb:186 did not execute the example
|
||
# ./spec/helpers/groups_helper_spec.rb:198
|
||
|
||
71) GroupsHelper#share_with_group_lock_help_text root_share_with_group_locked: false, subgroup_share_with_group_locked: false, sub_subgroup_share_with_group_locked: true, current_user: :root_owner, help_text: :default_help, linked_ancestor: nil has the correct help text with correct ancestor links
|
||
# around hook at ./spec/spec_helper.rb:186 did not execute the example
|
||
# ./spec/helpers/groups_helper_spec.rb:198
|
||
|
||
72) GroupsHelper#share_with_group_lock_help_text root_share_with_group_locked: false, subgroup_share_with_group_locked: false, sub_subgroup_share_with_group_locked: true, current_user: :sub_owner, help_text: :default_help, linked_ancestor: nil has the correct help text with correct ancestor links
|
||
# around hook at ./spec/spec_helper.rb:186 did not execute the example
|
||
# ./spec/helpers/groups_helper_spec.rb:198
|
||
|
||
73) GroupsHelper#share_with_group_lock_help_text root_share_with_group_locked: false, subgroup_share_with_group_locked: false, sub_subgroup_share_with_group_locked: true, current_user: :sub_sub_owner, help_text: :default_help, linked_ancestor: nil has the correct help text with correct ancestor links
|
||
# around hook at ./spec/spec_helper.rb:186 did not execute the example
|
||
# ./spec/helpers/groups_helper_spec.rb:198
|
||
|
||
74) GroupsHelper#share_with_group_lock_help_text root_share_with_group_locked: false, subgroup_share_with_group_locked: true, sub_subgroup_share_with_group_locked: false, current_user: :root_owner, help_text: :ancestor_locked_and_has_been_overridden, linked_ancestor: :subgroup has the correct help text with correct ancestor links
|
||
# around hook at ./spec/spec_helper.rb:186 did not execute the example
|
||
# ./spec/helpers/groups_helper_spec.rb:198
|
||
|
||
75) GroupsHelper#share_with_group_lock_help_text root_share_with_group_locked: false, subgroup_share_with_group_locked: true, sub_subgroup_share_with_group_locked: false, current_user: :sub_owner, help_text: :ancestor_locked_and_has_been_overridden, linked_ancestor: :subgroup has the correct help text with correct ancestor links
|
||
# around hook at ./spec/spec_helper.rb:186 did not execute the example
|
||
# ./spec/helpers/groups_helper_spec.rb:198
|
||
|
||
76) GroupsHelper#share_with_group_lock_help_text root_share_with_group_locked: false, subgroup_share_with_group_locked: true, sub_subgroup_share_with_group_locked: false, current_user: :sub_sub_owner, help_text: :ancestor_locked_and_has_been_overridden, linked_ancestor: :subgroup has the correct help text with correct ancestor links
|
||
# around hook at ./spec/spec_helper.rb:186 did not execute the example
|
||
# ./spec/helpers/groups_helper_spec.rb:198
|
||
|
||
77) GroupsHelper#share_with_group_lock_help_text root_share_with_group_locked: false, subgroup_share_with_group_locked: true, sub_subgroup_share_with_group_locked: true, current_user: :root_owner, help_text: :ancestor_locked_but_you_can_override, linked_ancestor: :subgroup has the correct help text with correct ancestor links
|
||
# around hook at ./spec/spec_helper.rb:186 did not execute the example
|
||
# ./spec/helpers/groups_helper_spec.rb:198
|
||
|
||
78) GroupsHelper#share_with_group_lock_help_text root_share_with_group_locked: false, subgroup_share_with_group_locked: true, sub_subgroup_share_with_group_locked: true, current_user: :sub_owner, help_text: :ancestor_locked_but_you_can_override, linked_ancestor: :subgroup has the correct help text with correct ancestor links
|
||
# around hook at ./spec/spec_helper.rb:186 did not execute the example
|
||
# ./spec/helpers/groups_helper_spec.rb:198
|
||
|
||
79) GroupsHelper#share_with_group_lock_help_text root_share_with_group_locked: false, subgroup_share_with_group_locked: true, sub_subgroup_share_with_group_locked: true, current_user: :sub_sub_owner, help_text: :ancestor_locked_so_ask_the_owner, linked_ancestor: :subgroup has the correct help text with correct ancestor links
|
||
# around hook at ./spec/spec_helper.rb:186 did not execute the example
|
||
# ./spec/helpers/groups_helper_spec.rb:198
|
||
|
||
80) GroupsHelper#share_with_group_lock_help_text root_share_with_group_locked: true, subgroup_share_with_group_locked: false, sub_subgroup_share_with_group_locked: false, current_user: :root_owner, help_text: :default_help, linked_ancestor: nil has the correct help text with correct ancestor links
|
||
# around hook at ./spec/spec_helper.rb:186 did not execute the example
|
||
# ./spec/helpers/groups_helper_spec.rb:198
|
||
|
||
81) GroupsHelper#share_with_group_lock_help_text root_share_with_group_locked: true, subgroup_share_with_group_locked: false, sub_subgroup_share_with_group_locked: false, current_user: :sub_owner, help_text: :default_help, linked_ancestor: nil has the correct help text with correct ancestor links
|
||
# around hook at ./spec/spec_helper.rb:186 did not execute the example
|
||
# ./spec/helpers/groups_helper_spec.rb:198
|
||
|
||
82) GroupsHelper#share_with_group_lock_help_text root_share_with_group_locked: true, subgroup_share_with_group_locked: false, sub_subgroup_share_with_group_locked: false, current_user: :sub_sub_owner, help_text: :default_help, linked_ancestor: nil has the correct help text with correct ancestor links
|
||
# around hook at ./spec/spec_helper.rb:186 did not execute the example
|
||
# ./spec/helpers/groups_helper_spec.rb:198
|
||
|
||
83) GroupsHelper#share_with_group_lock_help_text root_share_with_group_locked: true, subgroup_share_with_group_locked: false, sub_subgroup_share_with_group_locked: true, current_user: :root_owner, help_text: :default_help, linked_ancestor: nil has the correct help text with correct ancestor links
|
||
# around hook at ./spec/spec_helper.rb:186 did not execute the example
|
||
# ./spec/helpers/groups_helper_spec.rb:198
|
||
|
||
84) GroupsHelper#share_with_group_lock_help_text root_share_with_group_locked: true, subgroup_share_with_group_locked: false, sub_subgroup_share_with_group_locked: true, current_user: :sub_owner, help_text: :default_help, linked_ancestor: nil has the correct help text with correct ancestor links
|
||
# around hook at ./spec/spec_helper.rb:186 did not execute the example
|
||
# ./spec/helpers/groups_helper_spec.rb:198
|
||
|
||
85) GroupsHelper#share_with_group_lock_help_text root_share_with_group_locked: true, subgroup_share_with_group_locked: false, sub_subgroup_share_with_group_locked: true, current_user: :sub_sub_owner, help_text: :default_help, linked_ancestor: nil has the correct help text with correct ancestor links
|
||
# around hook at ./spec/spec_helper.rb:186 did not execute the example
|
||
# ./spec/helpers/groups_helper_spec.rb:198
|
||
|
||
86) GroupsHelper#share_with_group_lock_help_text root_share_with_group_locked: true, subgroup_share_with_group_locked: true, sub_subgroup_share_with_group_locked: false, current_user: :root_owner, help_text: :ancestor_locked_and_has_been_overridden, linked_ancestor: :root_group has the correct help text with correct ancestor links
|
||
# around hook at ./spec/spec_helper.rb:186 did not execute the example
|
||
# ./spec/helpers/groups_helper_spec.rb:198
|
||
|
||
87) GroupsHelper#share_with_group_lock_help_text root_share_with_group_locked: true, subgroup_share_with_group_locked: true, sub_subgroup_share_with_group_locked: false, current_user: :sub_owner, help_text: :ancestor_locked_and_has_been_overridden, linked_ancestor: :root_group has the correct help text with correct ancestor links
|
||
# around hook at ./spec/spec_helper.rb:186 did not execute the example
|
||
# ./spec/helpers/groups_helper_spec.rb:198
|
||
|
||
88) GroupsHelper#share_with_group_lock_help_text root_share_with_group_locked: true, subgroup_share_with_group_locked: true, sub_subgroup_share_with_group_locked: false, current_user: :sub_sub_owner, help_text: :ancestor_locked_and_has_been_overridden, linked_ancestor: :root_group has the correct help text with correct ancestor links
|
||
# around hook at ./spec/spec_helper.rb:186 did not execute the example
|
||
# ./spec/helpers/groups_helper_spec.rb:198
|
||
|
||
89) GroupsHelper#share_with_group_lock_help_text root_share_with_group_locked: true, subgroup_share_with_group_locked: true, sub_subgroup_share_with_group_locked: true, current_user: :root_owner, help_text: :ancestor_locked_but_you_can_override, linked_ancestor: :root_group has the correct help text with correct ancestor links
|
||
# around hook at ./spec/spec_helper.rb:186 did not execute the example
|
||
# ./spec/helpers/groups_helper_spec.rb:198
|
||
|
||
90) GroupsHelper#share_with_group_lock_help_text root_share_with_group_locked: true, subgroup_share_with_group_locked: true, sub_subgroup_share_with_group_locked: true, current_user: :sub_owner, help_text: :ancestor_locked_so_ask_the_owner, linked_ancestor: :root_group has the correct help text with correct ancestor links
|
||
# around hook at ./spec/spec_helper.rb:186 did not execute the example
|
||
# ./spec/helpers/groups_helper_spec.rb:198
|
||
|
||
91) GroupsHelper#share_with_group_lock_help_text root_share_with_group_locked: true, subgroup_share_with_group_locked: true, sub_subgroup_share_with_group_locked: true, current_user: :sub_sub_owner, help_text: :ancestor_locked_so_ask_the_owner, linked_ancestor: :root_group has the correct help text with correct ancestor links
|
||
# around hook at ./spec/spec_helper.rb:186 did not execute the example
|
||
# ./spec/helpers/groups_helper_spec.rb:198
|
||
|
||
92) AutocompleteUsersFinder#execute when passed a subgroup includes users from parent groups as well
|
||
# around hook at ./spec/spec_helper.rb:186 did not execute the example
|
||
# ./spec/finders/autocomplete_users_finder_spec.rb:55
|
||
|
||
Finished in 5 minutes 7 seconds (files took 16.6 seconds to load)
|
||
819 examples, 0 failures, 92 pending
|
||
|
||
section_end:1522927514:build_script
|
||
[0Ksection_start:1522927514:after_script
|
||
[0K[32;1mRunning after script...[0;m
|
||
[32;1m$ date[0;m
|
||
Thu Apr 5 11:25:14 UTC 2018
|
||
section_end:1522927515:after_script
|
||
[0Ksection_start:1522927515:archive_cache
|
||
[0K[32;1mNot uploading cache ruby-2.3.6-with-yarn due to policy[0;m
|
||
section_end:1522927516:archive_cache
|
||
[0Ksection_start:1522927516:upload_artifacts
|
||
[0K[32;1mUploading artifacts...[0;m
|
||
coverage/: found 5 matching files [0;m
|
||
knapsack/: found 5 matching files [0;m
|
||
rspec_flaky/: found 4 matching files [0;m
|
||
[0;33mWARNING: tmp/capybara/: no matching files [0;m
|
||
Uploading artifacts to coordinator... ok [0;m id[0;m=61303283 responseStatus[0;m=201 Created token[0;m=rusBKvxM
|
||
section_end:1522927520:upload_artifacts
|
||
[0K[32;1mJob succeeded
|
||
[0;m
|