diff options
author | Nick Thomas <nick@gitlab.com> | 2018-01-23 19:03:02 +0000 |
---|---|---|
committer | Nick Thomas <nick@gitlab.com> | 2018-02-05 10:38:57 +0000 |
commit | 30a43b7e04b98616f379bdd800532c3354df8b19 (patch) | |
tree | 62711e0084cf584b350469e41f5a02e5654de427 /spec/models/namespace_spec.rb | |
parent | f5990e444a98dc259e2af8c373910cd9ec15b0bd (diff) | |
download | gitlab-ce-30a43b7e04b98616f379bdd800532c3354df8b19.tar.gz |
Fix export removal for hashed-storage projects within a renamed or deleted namespace
Diffstat (limited to 'spec/models/namespace_spec.rb')
-rw-r--r-- | spec/models/namespace_spec.rb | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/spec/models/namespace_spec.rb b/spec/models/namespace_spec.rb index 6b7dbad128c..824cca66fb4 100644 --- a/spec/models/namespace_spec.rb +++ b/spec/models/namespace_spec.rb @@ -596,4 +596,24 @@ describe Namespace do end end end + + describe '#remove_exports' do + let(:legacy_project) { create(:project, :with_export, namespace: namespace) } + let(:hashed_project) { create(:project, :with_export, :hashed, namespace: namespace) } + let(:export_path) { Dir.mktmpdir('namespace_remove_exports_spec') } + let(:legacy_export) { legacy_project.export_project_path } + let(:hashed_export) { hashed_project.export_project_path } + + it 'removes exports for legacy and hashed projects' do + allow(Gitlab::ImportExport).to receive(:storage_path) { export_path } + + expect(File.exist?(legacy_export)).to be_truthy + expect(File.exist?(hashed_export)).to be_truthy + + namespace.remove_exports! + + expect(File.exist?(legacy_export)).to be_falsy + expect(File.exist?(hashed_export)).to be_falsy + end + end end |