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
path: root/spec
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-02-04 09:09:13 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-02-04 09:09:13 +0300
commitcebee31a0483ef7f2cade3d6dde0a53a68e86cc6 (patch)
treeb818a3e84bde169e6b2a9c96d9b794b6b8708094 /spec
parent7ec2694360b4d4bd9a4b00ef5166a77c854d9d4f (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec')
-rw-r--r--spec/models/repository_spec.rb95
-rw-r--r--spec/services/merge_requests/rebase_service_spec.rb24
2 files changed, 38 insertions, 81 deletions
diff --git a/spec/models/repository_spec.rb b/spec/models/repository_spec.rb
index 3d28adade05..679e6142416 100644
--- a/spec/models/repository_spec.rb
+++ b/spec/models/repository_spec.rb
@@ -1618,79 +1618,58 @@ describe Repository do
end
end
- context 'when two_step_rebase feature is enabled' do
- before do
- stub_feature_flags(two_step_rebase: true)
- end
-
- it_behaves_like 'a method that can rebase successfully'
-
- it 'executes the new Gitaly RPC' do
- expect_any_instance_of(Gitlab::GitalyClient::OperationService).to receive(:rebase)
- expect_any_instance_of(Gitlab::GitalyClient::OperationService).not_to receive(:user_rebase)
-
- repository.rebase(user, merge_request)
- end
-
- describe 'rolling back the `rebase_commit_sha`' do
- let(:new_sha) { Digest::SHA1.hexdigest('foo') }
+ it_behaves_like 'a method that can rebase successfully'
- it 'does not rollback when there are no errors' do
- second_response = double(pre_receive_error: nil, git_error: nil)
- mock_gitaly(second_response)
+ it 'executes the new Gitaly RPC' do
+ expect_any_instance_of(Gitlab::GitalyClient::OperationService).to receive(:rebase)
+ expect_any_instance_of(Gitlab::GitalyClient::OperationService).not_to receive(:user_rebase)
- repository.rebase(user, merge_request)
+ repository.rebase(user, merge_request)
+ end
- expect(merge_request.reload.rebase_commit_sha).to eq(new_sha)
- end
+ describe 'rolling back the `rebase_commit_sha`' do
+ let(:new_sha) { Digest::SHA1.hexdigest('foo') }
- it 'does rollback when a PreReceiveError is encountered in the second step' do
- second_response = double(pre_receive_error: 'my_error', git_error: nil)
- mock_gitaly(second_response)
+ it 'does not rollback when there are no errors' do
+ second_response = double(pre_receive_error: nil, git_error: nil)
+ mock_gitaly(second_response)
- expect do
- repository.rebase(user, merge_request)
- end.to raise_error(Gitlab::Git::PreReceiveError)
+ repository.rebase(user, merge_request)
- expect(merge_request.reload.rebase_commit_sha).to be_nil
- end
+ expect(merge_request.reload.rebase_commit_sha).to eq(new_sha)
+ end
- it 'does rollback when a GitError is encountered in the second step' do
- second_response = double(pre_receive_error: nil, git_error: 'git error')
- mock_gitaly(second_response)
+ it 'does rollback when a PreReceiveError is encountered in the second step' do
+ second_response = double(pre_receive_error: 'my_error', git_error: nil)
+ mock_gitaly(second_response)
- expect do
- repository.rebase(user, merge_request)
- end.to raise_error(Gitlab::Git::Repository::GitError)
+ expect do
+ repository.rebase(user, merge_request)
+ end.to raise_error(Gitlab::Git::PreReceiveError)
- expect(merge_request.reload.rebase_commit_sha).to be_nil
- end
+ expect(merge_request.reload.rebase_commit_sha).to be_nil
+ end
- def mock_gitaly(second_response)
- responses = [
- double(rebase_sha: new_sha).as_null_object,
- second_response
- ]
+ it 'does rollback when a GitError is encountered in the second step' do
+ second_response = double(pre_receive_error: nil, git_error: 'git error')
+ mock_gitaly(second_response)
- expect_any_instance_of(
- Gitaly::OperationService::Stub
- ).to receive(:user_rebase_confirmable).and_return(responses.each)
- end
- end
- end
+ expect do
+ repository.rebase(user, merge_request)
+ end.to raise_error(Gitlab::Git::Repository::GitError)
- context 'when two_step_rebase feature is disabled' do
- before do
- stub_feature_flags(two_step_rebase: false)
+ expect(merge_request.reload.rebase_commit_sha).to be_nil
end
- it_behaves_like 'a method that can rebase successfully'
-
- it 'executes the deprecated Gitaly RPC' do
- expect_any_instance_of(Gitlab::GitalyClient::OperationService).to receive(:user_rebase)
- expect_any_instance_of(Gitlab::GitalyClient::OperationService).not_to receive(:rebase)
+ def mock_gitaly(second_response)
+ responses = [
+ double(rebase_sha: new_sha).as_null_object,
+ second_response
+ ]
- repository.rebase(user, merge_request)
+ expect_any_instance_of(
+ Gitaly::OperationService::Stub
+ ).to receive(:user_rebase_confirmable).and_return(responses.each)
end
end
end
diff --git a/spec/services/merge_requests/rebase_service_spec.rb b/spec/services/merge_requests/rebase_service_spec.rb
index 184f3f37339..22df3b84243 100644
--- a/spec/services/merge_requests/rebase_service_spec.rb
+++ b/spec/services/merge_requests/rebase_service_spec.rb
@@ -71,14 +71,6 @@ describe MergeRequests::RebaseService do
it_behaves_like 'sequence of failure and success'
- context 'with deprecated step rebase feature' do
- before do
- stub_feature_flags(two_step_rebase: false)
- end
-
- it_behaves_like 'sequence of failure and success'
- end
-
context 'when unexpected error occurs' do
before do
allow(repository).to receive(:gitaly_operation_client).and_raise('Something went wrong')
@@ -140,21 +132,7 @@ describe MergeRequests::RebaseService do
end
end
- context 'when the two_step_rebase feature is enabled' do
- before do
- stub_feature_flags(two_step_rebase: true)
- end
-
- it_behaves_like 'a service that can execute a successful rebase'
- end
-
- context 'when the two_step_rebase feature is disabled' do
- before do
- stub_feature_flags(two_step_rebase: false)
- end
-
- it_behaves_like 'a service that can execute a successful rebase'
- end
+ it_behaves_like 'a service that can execute a successful rebase'
context 'when skip_ci flag is set' do
let(:skip_ci) { true }