summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
Diffstat (limited to 'spec')
-rw-r--r--spec/lib/gitlab/ci/build/artifacts/metadata/entry_spec.rb15
-rw-r--r--spec/lib/gitlab/ci/build/artifacts/metadata_spec.rb17
-rw-r--r--spec/models/build_spec.rb8
3 files changed, 29 insertions, 11 deletions
diff --git a/spec/lib/gitlab/ci/build/artifacts/metadata/entry_spec.rb b/spec/lib/gitlab/ci/build/artifacts/metadata/entry_spec.rb
index 41257103ead..acca0b08bab 100644
--- a/spec/lib/gitlab/ci/build/artifacts/metadata/entry_spec.rb
+++ b/spec/lib/gitlab/ci/build/artifacts/metadata/entry_spec.rb
@@ -4,13 +4,13 @@ describe Gitlab::Ci::Build::Artifacts::Metadata::Entry do
let(:entries) do
{ 'path/' => {},
'path/dir_1/' => {},
- 'path/dir_1/file_1' => {},
- 'path/dir_1/file_b' => {},
+ 'path/dir_1/file_1' => { size: 10 },
+ 'path/dir_1/file_b' => { size: 10 },
'path/dir_1/subdir/' => {},
- 'path/dir_1/subdir/subfile' => {},
+ 'path/dir_1/subdir/subfile' => { size: 10 },
'path/second_dir' => {},
- 'path/second_dir/dir_3/file_2' => {},
- 'path/second_dir/dir_3/file_3'=> {},
+ 'path/second_dir/dir_3/file_2' => { size: 10 },
+ 'path/second_dir/dir_3/file_3'=> { size: 10 },
'another_directory/'=> {},
'another_file' => {},
'/file/with/absolute_path' => {} }
@@ -112,6 +112,11 @@ describe Gitlab::Ci::Build::Artifacts::Metadata::Entry do
subject { |example| path(example).empty? }
it { is_expected.to be false }
end
+
+ describe '#total_size' do
+ subject { |example| path(example).total_size }
+ it { is_expected.to eq(30) }
+ end
end
end
diff --git a/spec/lib/gitlab/ci/build/artifacts/metadata_spec.rb b/spec/lib/gitlab/ci/build/artifacts/metadata_spec.rb
index 828eedfa7b0..eea01f91879 100644
--- a/spec/lib/gitlab/ci/build/artifacts/metadata_spec.rb
+++ b/spec/lib/gitlab/ci/build/artifacts/metadata_spec.rb
@@ -1,8 +1,8 @@
require 'spec_helper'
describe Gitlab::Ci::Build::Artifacts::Metadata do
- def metadata(path = '')
- described_class.new(metadata_file_path, path)
+ def metadata(path = '', **opts)
+ described_class.new(metadata_file_path, path, **opts)
end
let(:metadata_file_path) do
@@ -51,6 +51,19 @@ describe Gitlab::Ci::Build::Artifacts::Metadata do
end
end
+ describe '#find_entries! recursively for other_artifacts_0.1.2/' do
+ subject { metadata('other_artifacts_0.1.2/', recursive: true).find_entries! }
+
+ it 'matches correct paths' do
+ expect(subject.keys).
+ to contain_exactly 'other_artifacts_0.1.2/',
+ 'other_artifacts_0.1.2/doc_sample.txt',
+ 'other_artifacts_0.1.2/another-subdirectory/',
+ 'other_artifacts_0.1.2/another-subdirectory/empty_directory/',
+ 'other_artifacts_0.1.2/another-subdirectory/banana_sample.gif'
+ end
+ end
+
describe '#to_entry' do
subject { metadata('').to_entry }
it { is_expected.to be_an_instance_of(Gitlab::Ci::Build::Artifacts::Metadata::Entry) }
diff --git a/spec/models/build_spec.rb b/spec/models/build_spec.rb
index d12b9e65c82..d30bc7d0554 100644
--- a/spec/models/build_spec.rb
+++ b/spec/models/build_spec.rb
@@ -362,12 +362,12 @@ describe Ci::Build, models: true do
subject { build.artifacts_browse_url }
it "should be nil if artifacts browser is unsupported" do
- allow(build).to receive(:artifacts_browser_supported?).and_return(false)
+ allow(build).to receive(:artifacts_metadata?).and_return(false)
is_expected.to be_nil
end
it 'should not be nil if artifacts browser is supported' do
- allow(build).to receive(:artifacts_browser_supported?).and_return(true)
+ allow(build).to receive(:artifacts_metadata?).and_return(true)
is_expected.to_not be_nil
end
end
@@ -391,8 +391,8 @@ describe Ci::Build, models: true do
end
- describe :artifacts_browser_supported? do
- subject { build.artifacts_browser_supported? }
+ describe :artifacts_metadata? do
+ subject { build.artifacts_metadata? }
context 'artifacts metadata does not exist' do
it { is_expected.to be_falsy }
end