summaryrefslogtreecommitdiff
path: root/spec/models/route_spec.rb
diff options
context:
space:
mode:
authorMichael Kozono <mkozono@gmail.com>2017-05-05 14:31:33 -0700
committerMichael Kozono <mkozono@gmail.com>2017-05-05 14:31:33 -0700
commitb0ee22609a89572d6e3f98eebccf9fb2335dd939 (patch)
tree3fb75c0f2eea7ff932a127bb416c130db3d7ce20 /spec/models/route_spec.rb
parente1c245af51e294c84552cff8021342e7ae493b8a (diff)
downloadgitlab-ce-b0ee22609a89572d6e3f98eebccf9fb2335dd939.tar.gz
Reduce risk of deadlocks17361-redirect-renamed-paths
We’ve seen a deadlock in CI here https://gitlab.com/mkozono/gitlab-ce/builds/15644492#down-build-trace. This commit should not fix that particular failure, but perhaps it will avoid others. * Don’t call delete_conflicting_redirects after update if the path wasn’t changed * Rename descendants without using recursion again, so we can run delete_conflicting_redirects exactly once.
Diffstat (limited to 'spec/models/route_spec.rb')
-rw-r--r--spec/models/route_spec.rb15
1 files changed, 1 insertions, 14 deletions
diff --git a/spec/models/route_spec.rb b/spec/models/route_spec.rb
index 1aeddcef982..c1fe1b06c52 100644
--- a/spec/models/route_spec.rb
+++ b/spec/models/route_spec.rb
@@ -50,20 +50,7 @@ describe Route, models: true do
end
end
- describe '.direct_descendant_routes' do
- let!(:nested_group) { create(:group, path: 'test', name: 'test', parent: group) }
- let!(:deep_nested_group) { create(:group, path: 'foo', name: 'foo', parent: nested_group) }
- let!(:another_group) { create(:group, path: 'other') }
- let!(:similar_group) { create(:group, path: 'gitllab') }
- let!(:another_group_nested) { create(:group, path: 'another', name: 'another', parent: similar_group) }
-
- it 'returns correct routes' do
- expect(Route.direct_descendant_routes('git_lab')).to match_array([nested_group.route])
- expect(Route.direct_descendant_routes('git_lab/test')).to match_array([deep_nested_group.route])
- end
- end
-
- describe '#rename_direct_descendant_routes' do
+ describe '#rename_descendants' do
let!(:nested_group) { create(:group, path: 'test', name: 'test', parent: group) }
let!(:deep_nested_group) { create(:group, path: 'foo', name: 'foo', parent: nested_group) }
let!(:similar_group) { create(:group, path: 'gitlab-org', name: 'gitlab-org') }