summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKamil Trzcinski <ayufan@ayufan.eu>2015-10-05 13:51:28 +0200
committerKamil Trzcinski <ayufan@ayufan.eu>2015-10-05 13:51:28 +0200
commit5064c9038c1ae2fa6c48bc46c58f49c72ff1963a (patch)
treeba007fd7cc9721b72e8438b28f6b33de990e2d20
parent782c8f9aa0a32def807da126e9f07f278772b6a2 (diff)
downloadgitlab-ce-5064c9038c1ae2fa6c48bc46c58f49c72ff1963a.tar.gz
Fix next bunch of tests
-rw-r--r--app/models/ci/build.rb4
-rw-r--r--app/services/ci/create_trigger_request_service.rb7
-rw-r--r--spec/requests/ci/api/builds_spec.rb4
-rw-r--r--spec/requests/ci/api/triggers_spec.rb18
4 files changed, 23 insertions, 10 deletions
diff --git a/app/models/ci/build.rb b/app/models/ci/build.rb
index 30a8b5aa816..89af83d8efc 100644
--- a/app/models/ci/build.rb
+++ b/app/models/ci/build.rb
@@ -146,6 +146,10 @@ module Ci
delegate :sha, :short_sha, :project,
to: :commit, prefix: false
+ def before_sha
+ Gitlab::Git::BLANK_SHA
+ end
+
def trace_html
html = Ci::Ansi2html::convert(trace) if trace.present?
html || ''
diff --git a/app/services/ci/create_trigger_request_service.rb b/app/services/ci/create_trigger_request_service.rb
index 3597372528b..083cea77202 100644
--- a/app/services/ci/create_trigger_request_service.rb
+++ b/app/services/ci/create_trigger_request_service.rb
@@ -1,10 +1,11 @@
module Ci
class CreateTriggerRequestService
def execute(project, trigger, ref, variables = nil)
- target = project.gl_project.repository.rev_parse_target(ref)
- return unless target
+ return unless project.gl_project
+ return unless project.gl_project.repository
# check if ref is tag
+ target = project.gl_project.repository.rev_parse_target(ref)
sha = target.oid
tag = target.is_a?(Rugged::Tag) || target.is_a?(Rugged::Tag::Annotation)
@@ -16,6 +17,8 @@ module Ci
if ci_commit.create_builds(ref, tag, nil, trigger_request)
trigger_request
end
+ rescue Rugged::OdbError
+ nil
end
end
end
diff --git a/spec/requests/ci/api/builds_spec.rb b/spec/requests/ci/api/builds_spec.rb
index 576b0a11b9e..54c1d0199f6 100644
--- a/spec/requests/ci/api/builds_spec.rb
+++ b/spec/requests/ci/api/builds_spec.rb
@@ -7,6 +7,10 @@ describe Ci::API::API do
let(:project) { FactoryGirl.create(:ci_project) }
let(:gl_project) { FactoryGirl.create(:empty_project, gitlab_ci_project: project) }
+ before do
+ stub_ci_commit_to_return_yaml_file
+ end
+
describe "Builds API for runners" do
let(:shared_runner) { FactoryGirl.create(:ci_runner, token: "SharedRunner") }
let(:shared_project) { FactoryGirl.create(:ci_project, name: "SharedProject") }
diff --git a/spec/requests/ci/api/triggers_spec.rb b/spec/requests/ci/api/triggers_spec.rb
index bbe98e7dacd..c98a74dcc2c 100644
--- a/spec/requests/ci/api/triggers_spec.rb
+++ b/spec/requests/ci/api/triggers_spec.rb
@@ -6,7 +6,7 @@ describe Ci::API::API do
describe 'POST /projects/:project_id/refs/:ref/trigger' do
let!(:trigger_token) { 'secure token' }
let!(:project) { FactoryGirl.create(:ci_project) }
- let!(:gl_project) { FactoryGirl.create(:empty_project, gitlab_ci_project: project) }
+ let!(:gl_project) { FactoryGirl.create(:project, gitlab_ci_project: project) }
let!(:project2) { FactoryGirl.create(:ci_project) }
let!(:trigger) { FactoryGirl.create(:ci_trigger, project: project, token: trigger_token) }
let(:options) do
@@ -15,6 +15,10 @@ describe Ci::API::API do
}
end
+ before do
+ stub_ci_commit_to_return_yaml_file
+ end
+
context 'Handles errors' do
it 'should return bad request if token is missing' do
post ci_api("/projects/#{project.id}/refs/master/trigger")
@@ -33,15 +37,13 @@ describe Ci::API::API do
end
context 'Have a commit' do
- before do
- @commit = FactoryGirl.create(:ci_commit, gl_project: gl_project)
- end
+ let(:commit) { project.commits.last }
it 'should create builds' do
post ci_api("/projects/#{project.id}/refs/master/trigger"), options
expect(response.status).to eq(201)
- @commit.builds.reload
- expect(@commit.builds.size).to eq(2)
+ commit.builds.reload
+ expect(commit.builds.size).to eq(2)
end
it 'should return bad request with no builds created if there\'s no commit for that ref' do
@@ -70,8 +72,8 @@ describe Ci::API::API do
it 'create trigger request with variables' do
post ci_api("/projects/#{project.id}/refs/master/trigger"), options.merge(variables: variables)
expect(response.status).to eq(201)
- @commit.builds.reload
- expect(@commit.builds.first.trigger_request.variables).to eq(variables)
+ commit.builds.reload
+ expect(commit.builds.first.trigger_request.variables).to eq(variables)
end
end
end