diff options
author | Valery Sizov <vsv2711@gmail.com> | 2015-06-01 14:33:04 +0300 |
---|---|---|
committer | Valery Sizov <vsv2711@gmail.com> | 2015-06-03 16:36:54 +0300 |
commit | 550bcc8aaab26f94ef6b288c28159be21d11f269 (patch) | |
tree | 3958de94cc933bfedbefcf144c37fb9d811169f5 /spec/services | |
parent | 227ffbc87c0d989c9213e4a4e4b87df0c8d01720 (diff) | |
download | gitlab-ci-550bcc8aaab26f94ef6b288c28159be21d11f269.tar.gz |
fix specs
Diffstat (limited to 'spec/services')
-rw-r--r-- | spec/services/create_commit_service_spec.rb | 87 | ||||
-rw-r--r-- | spec/services/create_project_service_spec.rb | 2 | ||||
-rw-r--r-- | spec/services/register_build_service_spec.rb | 3 |
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) } |