summaryrefslogtreecommitdiff
path: root/spec/services
diff options
context:
space:
mode:
authorValery Sizov <vsv2711@gmail.com>2015-06-01 14:33:04 +0300
committerValery Sizov <vsv2711@gmail.com>2015-06-03 16:36:54 +0300
commit550bcc8aaab26f94ef6b288c28159be21d11f269 (patch)
tree3958de94cc933bfedbefcf144c37fb9d811169f5 /spec/services
parent227ffbc87c0d989c9213e4a4e4b87df0c8d01720 (diff)
downloadgitlab-ci-550bcc8aaab26f94ef6b288c28159be21d11f269.tar.gz
fix specs
Diffstat (limited to 'spec/services')
-rw-r--r--spec/services/create_commit_service_spec.rb87
-rw-r--r--spec/services/create_project_service_spec.rb2
-rw-r--r--spec/services/register_build_service_spec.rb3
3 files changed, 48 insertions, 44 deletions
diff --git a/spec/services/create_commit_service_spec.rb b/spec/services/create_commit_service_spec.rb
index 7a4ff7d..4b4f788 100644
--- a/spec/services/create_commit_service_spec.rb
+++ b/spec/services/create_commit_service_spec.rb
@@ -6,7 +6,14 @@ describe CreateCommitService do
describe :execute do
context 'valid params' do
- let(:commit) { service.execute(project, ref: 'refs/heads/master', before: '00000000', after: '31das312') }
+ let(:commit) do
+ service.execute(project,
+ ref: 'refs/heads/master',
+ before: '00000000',
+ after: '31das312',
+ ci_yaml_file: gitlab_ci_yaml
+ )
+ end
it { commit.should be_kind_of(Commit) }
it { commit.should be_valid }
@@ -15,61 +22,50 @@ describe CreateCommitService do
it { commit.builds.first.should be_kind_of(Build) }
end
- context 'without params' do
- subject { service.execute(project, {}) }
-
- it { should be_false }
- end
-
context "deploy builds" do
it "calls create_deploy_builds if there are no builds" do
- project.jobs.destroy_all
+ config = YAML.dump({jobs: [], build_jobs: ["ls"]})
Commit.any_instance.should_receive(:create_deploy_builds)
- service.execute(project, ref: 'refs/heads/master', before: '00000000', after: '31das312')
+ service.execute(project, ref: 'refs/heads/master', before: '00000000', after: '31das312', ci_yaml_file: config)
end
it "does not call create_deploy_builds if there is build" do
+ config = YAML.dump({jobs: ["ls"], build_jobs: ["ls"]})
Commit.any_instance.should_not_receive(:create_deploy_builds)
- service.execute(project, ref: 'refs/heads/master', before: '00000000', after: '31das312')
+ service.execute(project, ref: 'refs/heads/master', before: '00000000', after: '31das312', ci_yaml_file: config)
end
end
context "skip tag if there is no build for it" do
- it "does not create commit if there is no appropriate job" do
- project.jobs
-
- result = service.execute(project, ref: 'refs/tags/0_1', before: '00000000', after: '31das312')
- result.should be_false
- end
-
it "creates commit if there is appropriate job" do
- project.jobs.first.update(build_tags: true)
-
- result = service.execute(project, ref: 'refs/tags/0_1', before: '00000000', after: '31das312')
+ result = service.execute(project,
+ ref: 'refs/tags/0_1',
+ before: '00000000',
+ after: '31das312',
+ ci_yaml_file: gitlab_ci_yaml
+ )
result.should be_persisted
end
it "does not create commit if there is no appropriate job nor deploy job" do
- project.jobs.first.update(build_tags: false)
- FactoryGirl.create(:deploy_job, project: project, refs: "release")
-
- result = service.execute(project, ref: 'refs/tags/0_1', before: '00000000', after: '31das312')
+ result = service.execute(project,
+ ref: 'refs/tags/0_1',
+ before: '00000000',
+ after: '31das312',
+ ci_yaml_file: YAML.dump({})
+ )
result.should be_false
end
it "creates commit if there is no appropriate job but deploy job has right ref setting" do
- project.jobs.first.update(build_tags: false)
- FactoryGirl.create(:deploy_job, project: project, refs: "0_1")
-
- result = service.execute(project, ref: 'refs/tags/0_1', before: '00000000', after: '31das312')
- result.should be_persisted
- end
-
- it "creates commit if there is no appropriate job and deploy job has no ref setting" do
- project.jobs.first.update(build_tags: true)
- FactoryGirl.create(:deploy_job, project: project)
-
- result = service.execute(project, ref: 'refs/tags/0_1', before: '00000000', after: '31das312')
+ config = YAML.dump({deploy_jobs: [{script: "ls", refs: "0_1"}]})
+
+ result = service.execute(project,
+ ref: 'refs/heads/0_1',
+ before: '00000000',
+ after: '31das312',
+ ci_yaml_file: config
+ )
result.should be_persisted
end
end
@@ -77,16 +73,27 @@ describe CreateCommitService do
describe :ci_skip? do
it "skips commit creation if there is [ci skip] tag in commit message" do
commits = [{message: "some message[ci skip]"}]
- result = service.execute(project, ref: 'refs/tags/0_1', before: '00000000', after: '31das312', commits: commits)
+ result = service.execute(project,
+ ref: 'refs/tags/0_1',
+ before: '00000000',
+ after: '31das312',
+ commits: commits,
+ ci_yaml_file: gitlab_ci_yaml
+ )
result.should be_false
end
it "does not skips commit creation if there is no [ci skip] tag in commit message" do
- project.jobs.first.update(build_tags: true)
-
commits = [{message: "some message"}]
- result = service.execute(project, ref: 'refs/tags/0_1', before: '00000000', after: '31das312', commits: commits)
+ result = service.execute(project,
+ ref: 'refs/tags/0_1',
+ before: '00000000',
+ after: '31das312',
+ commits: commits,
+ ci_yaml_file: gitlab_ci_yaml
+ )
+
result.should be_persisted
end
end
diff --git a/spec/services/create_project_service_spec.rb b/spec/services/create_project_service_spec.rb
index 6ecb93e..b28cf5a 100644
--- a/spec/services/create_project_service_spec.rb
+++ b/spec/services/create_project_service_spec.rb
@@ -24,7 +24,6 @@ describe CreateProjectService do
context "forking" do
it "uses project as a template for settings and jobs" do
origin_project = FactoryGirl.create(:project)
- origin_project.jobs << Job.new(commands: "pwd")
origin_project.shared_runners_enabled = true
origin_project.public = true
origin_project.allow_git_fetch = true
@@ -35,7 +34,6 @@ describe CreateProjectService do
project.shared_runners_enabled.should be_true
project.public.should be_true
project.allow_git_fetch.should be_true
- project.jobs.last.commands.should == "pwd"
end
end
end
diff --git a/spec/services/register_build_service_spec.rb b/spec/services/register_build_service_spec.rb
index 7925dca..1407346 100644
--- a/spec/services/register_build_service_spec.rb
+++ b/spec/services/register_build_service_spec.rb
@@ -3,9 +3,8 @@ require 'spec_helper'
describe RegisterBuildService do
let!(:service) { RegisterBuildService.new }
let!(:project) { FactoryGirl.create :project }
- let!(:job) { FactoryGirl.create :job, project: project }
let!(:commit) { FactoryGirl.create :commit, project: project }
- let!(:pending_build) { commit.create_build_from_job(job) }
+ let!(:pending_build) { FactoryGirl.create :build, project: project, commit: commit }
let!(:shared_runner) { FactoryGirl.create(:runner, is_shared: true) }
let!(:specific_runner) { FactoryGirl.create(:runner, is_shared: false) }