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:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2015-08-11 15:27:38 +0300
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2015-08-11 15:27:38 +0300
commit5daf44b7c86e0e2641a902b1da8b01d91fa3dbfa (patch)
treedbf754ad57c523759284cf5d8af84fd9f096701a /spec/requests
parent2f706fbd231cabe7a76a5d17ac44285aaaf8592c (diff)
parent3a63c00505307a1d1e8196c0eae72a79b2a6885f (diff)
Merge branch 'revert-satellites' into 'master'
Revert satellites Return satellites to master for 7.14 We remove satellites in next release (8.0) See merge request !1136
Diffstat (limited to 'spec/requests')
-rw-r--r--spec/requests/api/files_spec.rb40
-rw-r--r--spec/requests/api/merge_requests_spec.rb26
2 files changed, 49 insertions, 17 deletions
diff --git a/spec/requests/api/files_spec.rb b/spec/requests/api/files_spec.rb
index 042e6352567..78f2cb56b02 100644
--- a/spec/requests/api/files_spec.rb
+++ b/spec/requests/api/files_spec.rb
@@ -49,6 +49,8 @@ describe API::API, api: true do
end
it "should create a new file in project repo" do
+ expect_any_instance_of(Gitlab::Satellite::NewFileAction).to receive(:commit!).and_return(true)
+
post api("/projects/#{project.id}/repository/files", user), valid_params
expect(response.status).to eq(201)
expect(json_response['file_path']).to eq('newfile.rb')
@@ -59,9 +61,8 @@ describe API::API, api: true do
expect(response.status).to eq(400)
end
- it "should return a 400 if editor fails to create file" do
- allow_any_instance_of(Repository).to receive(:commit_file).
- and_return(false)
+ it "should return a 400 if satellite fails to create file" do
+ expect_any_instance_of(Gitlab::Satellite::NewFileAction).to receive(:commit!).and_return(false)
post api("/projects/#{project.id}/repository/files", user), valid_params
expect(response.status).to eq(400)
@@ -79,6 +80,8 @@ describe API::API, api: true do
end
it "should update existing file in project repo" do
+ expect_any_instance_of(Gitlab::Satellite::EditFileAction).to receive(:commit!).and_return(true)
+
put api("/projects/#{project.id}/repository/files", user), valid_params
expect(response.status).to eq(200)
expect(json_response['file_path']).to eq(file_path)
@@ -88,6 +91,32 @@ describe API::API, api: true do
put api("/projects/#{project.id}/repository/files", user)
expect(response.status).to eq(400)
end
+
+ it 'should return a 400 if the checkout fails' do
+ expect_any_instance_of(Gitlab::Satellite::EditFileAction).to receive(:commit!).and_raise(Gitlab::Satellite::CheckoutFailed)
+
+ put api("/projects/#{project.id}/repository/files", user), valid_params
+ expect(response.status).to eq(400)
+
+ ref = valid_params[:branch_name]
+ expect(response.body).to match("ref '#{ref}' could not be checked out")
+ end
+
+ it 'should return a 409 if the file was not modified' do
+ expect_any_instance_of(Gitlab::Satellite::EditFileAction).to receive(:commit!).and_raise(Gitlab::Satellite::CommitFailed)
+
+ put api("/projects/#{project.id}/repository/files", user), valid_params
+ expect(response.status).to eq(409)
+ expect(response.body).to match("Maybe there was nothing to commit?")
+ end
+
+ it 'should return a 409 if the push fails' do
+ expect_any_instance_of(Gitlab::Satellite::EditFileAction).to receive(:commit!).and_raise(Gitlab::Satellite::PushFailed)
+
+ put api("/projects/#{project.id}/repository/files", user), valid_params
+ expect(response.status).to eq(409)
+ expect(response.body).to match("Maybe the file was changed by another process?")
+ end
end
describe "DELETE /projects/:id/repository/files" do
@@ -100,6 +129,7 @@ describe API::API, api: true do
end
it "should delete existing file in project repo" do
+ expect_any_instance_of(Gitlab::Satellite::DeleteFileAction).to receive(:commit!).and_return(true)
delete api("/projects/#{project.id}/repository/files", user), valid_params
expect(response.status).to eq(200)
expect(json_response['file_path']).to eq(file_path)
@@ -110,8 +140,8 @@ describe API::API, api: true do
expect(response.status).to eq(400)
end
- it "should return a 400 if fails to create file" do
- allow_any_instance_of(Repository).to receive(:remove_file).and_return(false)
+ it "should return a 400 if satellite fails to create file" do
+ expect_any_instance_of(Gitlab::Satellite::DeleteFileAction).to receive(:commit!).and_return(false)
delete api("/projects/#{project.id}/repository/files", user), valid_params
expect(response.status).to eq(400)
diff --git a/spec/requests/api/merge_requests_spec.rb b/spec/requests/api/merge_requests_spec.rb
index 942768fa254..29db035b2de 100644
--- a/spec/requests/api/merge_requests_spec.rb
+++ b/spec/requests/api/merge_requests_spec.rb
@@ -148,7 +148,7 @@ describe API::API, api: true do
it "should return merge_request" do
post api("/projects/#{project.id}/merge_requests", user),
title: 'Test merge_request',
- source_branch: 'feature_conflict',
+ source_branch: 'stable',
target_branch: 'master',
author: user,
labels: 'label, label2'
@@ -171,20 +171,20 @@ describe API::API, api: true do
it "should return 400 when target_branch is missing" do
post api("/projects/#{project.id}/merge_requests", user),
- title: "Test merge_request", source_branch: "markdown", author: user
+ title: "Test merge_request", source_branch: "stable", author: user
expect(response.status).to eq(400)
end
it "should return 400 when title is missing" do
post api("/projects/#{project.id}/merge_requests", user),
- target_branch: 'master', source_branch: 'markdown'
+ target_branch: 'master', source_branch: 'stable'
expect(response.status).to eq(400)
end
it 'should return 400 on invalid label names' do
post api("/projects/#{project.id}/merge_requests", user),
title: 'Test merge_request',
- source_branch: 'markdown',
+ source_branch: 'stable',
target_branch: 'master',
author: user,
labels: 'label, ?'
@@ -198,7 +198,7 @@ describe API::API, api: true do
before do
post api("/projects/#{project.id}/merge_requests", user),
title: 'Test merge_request',
- source_branch: 'feature_conflict',
+ source_branch: 'stable',
target_branch: 'master',
author: user
@mr = MergeRequest.all.last
@@ -208,7 +208,7 @@ describe API::API, api: true do
expect do
post api("/projects/#{project.id}/merge_requests", user),
title: 'New test merge_request',
- source_branch: 'feature_conflict',
+ source_branch: 'stable',
target_branch: 'master',
author: user
end.to change { MergeRequest.count }.by(0)
@@ -228,8 +228,7 @@ describe API::API, api: true do
it "should return merge_request" do
post api("/projects/#{fork_project.id}/merge_requests", user2),
- title: 'Test merge_request', source_branch: "feature_conflict", target_branch: "master",
- author: user2, target_project_id: project.id, description: 'Test description for Test merge_request'
+ title: 'Test merge_request', source_branch: "stable", target_branch: "master", author: user2, target_project_id: project.id, description: 'Test description for Test merge_request'
expect(response.status).to eq(201)
expect(json_response['title']).to eq('Test merge_request')
expect(json_response['description']).to eq('Test description for Test merge_request')
@@ -259,7 +258,7 @@ describe API::API, api: true do
it "should return 400 when title is missing" do
post api("/projects/#{fork_project.id}/merge_requests", user2),
- target_branch: 'master', source_branch: 'markdown', author: user2, target_project_id: project.id
+ target_branch: 'master', source_branch: 'stable', author: user2, target_project_id: project.id
expect(response.status).to eq(400)
end
@@ -268,7 +267,7 @@ describe API::API, api: true do
post api("/projects/#{project.id}/merge_requests", user),
title: 'Test merge_request',
target_branch: 'master',
- source_branch: 'markdown',
+ source_branch: 'stable',
author: user,
target_project_id: fork_project.id
expect(response.status).to eq(422)
@@ -278,7 +277,7 @@ describe API::API, api: true do
post api("/projects/#{fork_project.id}/merge_requests", user2),
title: 'Test merge_request',
target_branch: 'master',
- source_branch: 'markdown',
+ source_branch: 'stable',
author: user2,
target_project_id: unrelated_project.id
expect(response.status).to eq(422)
@@ -287,7 +286,7 @@ describe API::API, api: true do
it "should return 201 when target_branch is specified and for the same project" do
post api("/projects/#{fork_project.id}/merge_requests", user2),
- title: 'Test merge_request', target_branch: 'master', source_branch: 'markdown', author: user2, target_project_id: fork_project.id
+ title: 'Test merge_request', target_branch: 'master', source_branch: 'stable', author: user2, target_project_id: fork_project.id
expect(response.status).to eq(201)
end
end
@@ -303,6 +302,9 @@ describe API::API, api: true do
describe "PUT /projects/:id/merge_request/:merge_request_id/merge" do
it "should return merge_request in case of success" do
+ allow_any_instance_of(MergeRequest).
+ to receive_messages(can_be_merged?: true, automerge!: true)
+
put api("/projects/#{project.id}/merge_request/#{merge_request.id}/merge", user)
expect(response.status).to eq(200)