summaryrefslogtreecommitdiff
path: root/spec/lib/gitlab/import_export/command_line_util_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/lib/gitlab/import_export/command_line_util_spec.rb')
-rw-r--r--spec/lib/gitlab/import_export/command_line_util_spec.rb23
1 files changed, 23 insertions, 0 deletions
diff --git a/spec/lib/gitlab/import_export/command_line_util_spec.rb b/spec/lib/gitlab/import_export/command_line_util_spec.rb
index 4000e303816..39a10f87083 100644
--- a/spec/lib/gitlab/import_export/command_line_util_spec.rb
+++ b/spec/lib/gitlab/import_export/command_line_util_spec.rb
@@ -42,6 +42,8 @@ RSpec.describe Gitlab::ImportExport::CommandLineUtil do
filename = File.basename(tempfile.path)
subject.gzip(dir: path, filename: filename)
+
+ expect(File.exist?("#{tempfile.path}.gz")).to eq(true)
end
context 'when exception occurs' do
@@ -50,4 +52,25 @@ RSpec.describe Gitlab::ImportExport::CommandLineUtil do
end
end
end
+
+ describe '#gunzip' do
+ it 'decompresses specified file' do
+ tmpdir = Dir.mktmpdir
+ filename = 'labels.ndjson.gz'
+ gz_filepath = "spec/fixtures/bulk_imports/gz/#{filename}"
+ FileUtils.copy_file(gz_filepath, File.join(tmpdir, filename))
+
+ subject.gunzip(dir: tmpdir, filename: filename)
+
+ expect(File.exist?(File.join(tmpdir, 'labels.ndjson'))).to eq(true)
+
+ FileUtils.remove_entry(tmpdir)
+ end
+
+ context 'when exception occurs' do
+ it 'raises an exception' do
+ expect { subject.gunzip(dir: path, filename: 'test') }.to raise_error(Gitlab::ImportExport::Error)
+ end
+ end
+ end
end