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>2021-07-20 12:55:51 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2021-07-20 12:55:51 +0300
commite8d2c2579383897a1dd7f9debd359abe8ae8373d (patch)
treec42be41678c2586d49a75cabce89322082698334 /spec/lib/gitlab/gitaly_client
parentfc845b37ec3a90aaa719975f607740c22ba6a113 (diff)
Add latest changes from gitlab-org/gitlab@14-1-stable-eev14.1.0-rc42
Diffstat (limited to 'spec/lib/gitlab/gitaly_client')
-rw-r--r--spec/lib/gitlab/gitaly_client/blob_service_spec.rb100
-rw-r--r--spec/lib/gitlab/gitaly_client/commit_service_spec.rb33
-rw-r--r--spec/lib/gitlab/gitaly_client/operation_service_spec.rb1
-rw-r--r--spec/lib/gitlab/gitaly_client/repository_service_spec.rb13
4 files changed, 134 insertions, 13 deletions
diff --git a/spec/lib/gitlab/gitaly_client/blob_service_spec.rb b/spec/lib/gitlab/gitaly_client/blob_service_spec.rb
index f0ec58f3c2d..50078d8c127 100644
--- a/spec/lib/gitlab/gitaly_client/blob_service_spec.rb
+++ b/spec/lib/gitlab/gitaly_client/blob_service_spec.rb
@@ -88,4 +88,104 @@ RSpec.describe Gitlab::GitalyClient::BlobService do
subject
end
end
+
+ describe '#list_blobs' do
+ let(:limit) { 0 }
+ let(:bytes_limit) { 0 }
+ let(:expected_params) { { revisions: revisions, limit: limit, bytes_limit: bytes_limit } }
+
+ before do
+ ::Gitlab::GitalyClient.clear_stubs!
+ end
+
+ subject { client.list_blobs(revisions, limit: limit, bytes_limit: bytes_limit) }
+
+ context 'with a single revision' do
+ let(:revisions) { ['master'] }
+
+ it 'sends a list_blobs message' do
+ expect_next_instance_of(Gitaly::BlobService::Stub) do |service|
+ expect(service)
+ .to receive(:list_blobs)
+ .with(gitaly_request_with_params(expected_params), kind_of(Hash))
+ .and_return([])
+ end
+
+ subject
+ end
+ end
+
+ context 'with multiple revisions' do
+ let(:revisions) { ['master', '--not', '--all'] }
+
+ it 'sends a list_blobs message' do
+ expect_next_instance_of(Gitaly::BlobService::Stub) do |service|
+ expect(service)
+ .to receive(:list_blobs)
+ .with(gitaly_request_with_params(expected_params), kind_of(Hash))
+ .and_return([])
+ end
+
+ subject
+ end
+ end
+
+ context 'with multiple revisions and limits' do
+ let(:revisions) { ['master', '--not', '--all'] }
+ let(:limit) { 10 }
+ let(:bytes_lmit) { 1024 }
+
+ it 'sends a list_blobs message' do
+ expect_next_instance_of(Gitaly::BlobService::Stub) do |service|
+ expect(service)
+ .to receive(:list_blobs)
+ .with(gitaly_request_with_params(expected_params), kind_of(Hash))
+ .and_return([])
+ end
+
+ subject
+ end
+ end
+
+ context 'with split contents' do
+ let(:revisions) { ['master'] }
+
+ it 'sends a list_blobs message', :aggregate_failures do
+ expect_next_instance_of(Gitaly::BlobService::Stub) do |service|
+ expect(service)
+ .to receive(:list_blobs)
+ .with(gitaly_request_with_params(expected_params), kind_of(Hash))
+ .and_return([
+ Gitaly::ListBlobsResponse.new(blobs: [
+ Gitaly::ListBlobsResponse::Blob.new(oid: "012345", size: 8, data: "0x01"),
+ Gitaly::ListBlobsResponse::Blob.new(data: "23")
+ ]),
+ Gitaly::ListBlobsResponse.new(blobs: [
+ Gitaly::ListBlobsResponse::Blob.new(data: "45"),
+ Gitaly::ListBlobsResponse::Blob.new(oid: "56", size: 4, data: "0x5"),
+ Gitaly::ListBlobsResponse::Blob.new(data: "6")
+ ]),
+ Gitaly::ListBlobsResponse.new(blobs: [
+ Gitaly::ListBlobsResponse::Blob.new(oid: "78", size: 4, data: "0x78")
+ ])
+ ])
+ end
+
+ blobs = subject.to_a
+ expect(blobs.size).to be(3)
+
+ expect(blobs[0].id).to eq('012345')
+ expect(blobs[0].size).to eq(8)
+ expect(blobs[0].data).to eq('0x012345')
+
+ expect(blobs[1].id).to eq('56')
+ expect(blobs[1].size).to eq(4)
+ expect(blobs[1].data).to eq('0x56')
+
+ expect(blobs[2].id).to eq('78')
+ expect(blobs[2].size).to eq(4)
+ expect(blobs[2].data).to eq('0x78')
+ end
+ end
+ end
end
diff --git a/spec/lib/gitlab/gitaly_client/commit_service_spec.rb b/spec/lib/gitlab/gitaly_client/commit_service_spec.rb
index ac4c42d57ee..22c29403255 100644
--- a/spec/lib/gitlab/gitaly_client/commit_service_spec.rb
+++ b/spec/lib/gitlab/gitaly_client/commit_service_spec.rb
@@ -287,6 +287,39 @@ RSpec.describe Gitlab::GitalyClient::CommitService do
end
end
+ describe '#list_commits' do
+ shared_examples 'a ListCommits request' do
+ before do
+ ::Gitlab::GitalyClient.clear_stubs!
+ end
+
+ it 'sends a list_commits message' do
+ expect_next_instance_of(Gitaly::CommitService::Stub) do |service|
+ expect(service)
+ .to receive(:list_commits)
+ .with(gitaly_request_with_params(expected_params), kind_of(Hash))
+ .and_return([])
+ end
+
+ client.list_commits(revisions)
+ end
+ end
+
+ context 'with a single revision' do
+ let(:revisions) { 'master' }
+ let(:expected_params) { %w[master] }
+
+ it_behaves_like 'a ListCommits request'
+ end
+
+ context 'with multiple revisions' do
+ let(:revisions) { %w[master --not --all] }
+ let(:expected_params) { %w[master --not --all] }
+
+ it_behaves_like 'a ListCommits request'
+ end
+ end
+
describe '#commit_stats' do
let(:request) do
Gitaly::CommitStatsRequest.new(
diff --git a/spec/lib/gitlab/gitaly_client/operation_service_spec.rb b/spec/lib/gitlab/gitaly_client/operation_service_spec.rb
index 9a17140a1e0..3789bc76a94 100644
--- a/spec/lib/gitlab/gitaly_client/operation_service_spec.rb
+++ b/spec/lib/gitlab/gitaly_client/operation_service_spec.rb
@@ -5,6 +5,7 @@ require 'spec_helper'
RSpec.describe Gitlab::GitalyClient::OperationService do
let_it_be(:user) { create(:user) }
let_it_be(:project) { create(:project, :repository) }
+
let(:repository) { project.repository.raw }
let(:client) { described_class.new(repository) }
let(:gitaly_user) { Gitlab::Git::User.from_gitlab(user).to_gitaly }
diff --git a/spec/lib/gitlab/gitaly_client/repository_service_spec.rb b/spec/lib/gitlab/gitaly_client/repository_service_spec.rb
index 56c8fe20eca..53805d67f9f 100644
--- a/spec/lib/gitlab/gitaly_client/repository_service_spec.rb
+++ b/spec/lib/gitlab/gitaly_client/repository_service_spec.rb
@@ -209,19 +209,6 @@ RSpec.describe Gitlab::GitalyClient::RepositoryService do
end
end
- describe '#rebase_in_progress?' do
- let(:rebase_id) { 1 }
-
- it 'sends a repository_rebase_in_progress message' do
- expect_any_instance_of(Gitaly::RepositoryService::Stub)
- .to receive(:is_rebase_in_progress)
- .with(gitaly_request_with_path(storage_name, relative_path), kind_of(Hash))
- .and_return(double(in_progress: true))
-
- client.rebase_in_progress?(rebase_id)
- end
- end
-
describe '#squash_in_progress?' do
let(:squash_id) { 1 }