Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-02-25 19:31:46 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2022-02-25 19:32:06 +0300
commite92c90758eb4126acc84962d37bb273d6d87b27b (patch)
tree6d5f4ca9731a6aa76b80372276c68ab39e0f4149 /spec/models
parentb485c8c3723dc5aaba15ab9fa258010d1ec66d61 (diff)
Add latest changes from gitlab-org/security/gitlab@14-8-stable-ee
Diffstat (limited to 'spec/models')
-rw-r--r--spec/models/snippet_spec.rb34
1 files changed, 34 insertions, 0 deletions
diff --git a/spec/models/snippet_spec.rb b/spec/models/snippet_spec.rb
index 5d4a78bb15f..92e4bc7d1a9 100644
--- a/spec/models/snippet_spec.rb
+++ b/spec/models/snippet_spec.rb
@@ -3,6 +3,8 @@
require 'spec_helper'
RSpec.describe Snippet do
+ include FakeBlobHelpers
+
describe 'modules' do
subject { described_class }
@@ -526,6 +528,21 @@ RSpec.describe Snippet do
end
end
+ describe '#all_files' do
+ let(:snippet) { create(:snippet, :repository) }
+ let(:files) { double(:files) }
+
+ subject(:all_files) { snippet.all_files }
+
+ before do
+ allow(snippet.repository).to receive(:ls_files).with(snippet.default_branch).and_return(files)
+ end
+
+ it 'lists files from the repository with the default branch' do
+ expect(all_files).to eq(files)
+ end
+ end
+
describe '#blobs' do
context 'when repository does not exist' do
let(:snippet) { create(:snippet) }
@@ -552,6 +569,23 @@ RSpec.describe Snippet do
end
end
end
+
+ context 'when some blobs are not retrievable from repository' do
+ let(:snippet) { create(:snippet, :repository) }
+ let(:container) { double(:container) }
+ let(:retrievable_filename) { 'retrievable_file'}
+ let(:unretrievable_filename) { 'unretrievable_file'}
+
+ before do
+ allow(snippet).to receive(:list_files).and_return([retrievable_filename, unretrievable_filename])
+ blob = fake_blob(path: retrievable_filename, container: container)
+ allow(snippet.repository).to receive(:blobs_at).and_return([blob, nil])
+ end
+
+ it 'does not include unretrievable blobs' do
+ expect(snippet.blobs.map(&:name)).to contain_exactly(retrievable_filename)
+ end
+ end
end
describe '#to_json' do