summaryrefslogtreecommitdiff
path: root/spec/lib/gitlab/shell_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/lib/gitlab/shell_spec.rb')
-rw-r--r--spec/lib/gitlab/shell_spec.rb72
1 files changed, 56 insertions, 16 deletions
diff --git a/spec/lib/gitlab/shell_spec.rb b/spec/lib/gitlab/shell_spec.rb
index 14eae22a2ec..155e1663298 100644
--- a/spec/lib/gitlab/shell_spec.rb
+++ b/spec/lib/gitlab/shell_spec.rb
@@ -498,16 +498,34 @@ describe Gitlab::Shell do
)
end
- it 'returns true when the command succeeds' do
- expect(gitlab_projects).to receive(:fork_repository).with('nfs-file05', 'fork/path.git') { true }
+ context 'with gitaly' do
+ it 'returns true when the command succeeds' do
+ expect_any_instance_of(Gitlab::GitalyClient::RepositoryService).to receive(:fork_repository)
+ .with(repository.raw_repository) { :gitaly_response_object }
+
+ is_expected.to be_truthy
+ end
+
+ it 'return false when the command fails' do
+ expect_any_instance_of(Gitlab::GitalyClient::RepositoryService).to receive(:fork_repository)
+ .with(repository.raw_repository) { raise GRPC::BadStatus, 'bla' }
- is_expected.to be_truthy
+ is_expected.to be_falsy
+ end
end
- it 'return false when the command fails' do
- expect(gitlab_projects).to receive(:fork_repository).with('nfs-file05', 'fork/path.git') { false }
+ context 'without gitaly', :disable_gitaly do
+ it 'returns true when the command succeeds' do
+ expect(gitlab_projects).to receive(:fork_repository).with('nfs-file05', 'fork/path.git') { true }
- is_expected.to be_falsy
+ is_expected.to be_truthy
+ end
+
+ it 'return false when the command fails' do
+ expect(gitlab_projects).to receive(:fork_repository).with('nfs-file05', 'fork/path.git') { false }
+
+ is_expected.to be_falsy
+ end
end
end
@@ -662,21 +680,43 @@ describe Gitlab::Shell do
describe '#import_repository' do
let(:import_url) { 'https://gitlab.com/gitlab-org/gitlab-ce.git' }
- it 'returns true when the command succeeds' do
- expect(gitlab_projects).to receive(:import_project).with(import_url, timeout) { true }
+ context 'with gitaly' do
+ it 'returns true when the command succeeds' do
+ expect_any_instance_of(Gitlab::GitalyClient::RepositoryService).to receive(:import_repository).with(import_url)
- result = gitlab_shell.import_repository(project.repository_storage, project.disk_path, import_url)
+ result = gitlab_shell.import_repository(project.repository_storage, project.disk_path, import_url)
- expect(result).to be_truthy
+ expect(result).to be_truthy
+ end
+
+ it 'raises an exception when the command fails' do
+ expect_any_instance_of(Gitlab::GitalyClient::RepositoryService).to receive(:import_repository)
+ .with(import_url) { raise GRPC::BadStatus, 'bla' }
+ expect_any_instance_of(Gitlab::Shell::GitalyGitlabProjects).to receive(:output) { 'error'}
+
+ expect do
+ gitlab_shell.import_repository(project.repository_storage, project.disk_path, import_url)
+ end.to raise_error(Gitlab::Shell::Error, "error")
+ end
end
- it 'raises an exception when the command fails' do
- allow(gitlab_projects).to receive(:output) { 'error' }
- expect(gitlab_projects).to receive(:import_project) { false }
+ context 'without gitaly', :disable_gitaly do
+ it 'returns true when the command succeeds' do
+ expect(gitlab_projects).to receive(:import_project).with(import_url, timeout) { true }
- expect do
- gitlab_shell.import_repository(project.repository_storage, project.disk_path, import_url)
- end.to raise_error(Gitlab::Shell::Error, "error")
+ result = gitlab_shell.import_repository(project.repository_storage, project.disk_path, import_url)
+
+ expect(result).to be_truthy
+ end
+
+ it 'raises an exception when the command fails' do
+ allow(gitlab_projects).to receive(:output) { 'error' }
+ expect(gitlab_projects).to receive(:import_project) { false }
+
+ expect do
+ gitlab_shell.import_repository(project.repository_storage, project.disk_path, import_url)
+ end.to raise_error(Gitlab::Shell::Error, "error")
+ end
end
end
end