Skip to content
Snippets Groups Projects
Commit 0e338147 authored by Kamil Trzcińśki's avatar Kamil Trzcińśki
Browse files

Fix tests

parent 30c78e70
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -186,7 +186,7 @@ module Ci
end
 
def project_id
commit.gl_project.gitlab_id
commit.project.id
end
 
def project_name
Loading
Loading
Loading
Loading
@@ -37,8 +37,15 @@ module Ci
end
 
def project
@project ||= gl_project.gitlab_ci_project
@project ||= gl_project.create_gitlab_ci_project
unless @project
gl_project.ensure_ci_project
@project = gl_project.gitlab_ci_project
end
@project
end
def project_id
project.id
end
 
def last_build
Loading
Loading
@@ -116,14 +123,14 @@ module Ci
builds_attrs = config_processor.builds_for_stage_and_ref(stage, ref, tag)
builds_attrs.map do |build_attrs|
builds.create!({
name: build_attrs[:name],
commands: build_attrs[:script],
tag_list: build_attrs[:tags],
options: build_attrs[:options],
allow_failure: build_attrs[:allow_failure],
stage: build_attrs[:stage],
trigger_request: trigger_request,
})
name: build_attrs[:name],
commands: build_attrs[:script],
tag_list: build_attrs[:tags],
options: build_attrs[:options],
allow_failure: build_attrs[:allow_failure],
stage: build_attrs[:stage],
trigger_request: trigger_request,
})
end
end
 
Loading
Loading
Loading
Loading
@@ -748,6 +748,12 @@ class Project < ActiveRecord::Base
gitlab_ci_project.commits.find_by(sha: sha) if gitlab_ci?
end
 
def ensure_ci_project
unless gitlab_ci_project
create_gitlab_ci_project
end
end
def enable_ci(user)
# Enable service
service = gitlab_ci_service || create_gitlab_ci_service
Loading
Loading
Loading
Loading
@@ -18,11 +18,13 @@
require 'spec_helper'
 
describe Ci::Commit do
let(:commit) { FactoryGirl.create :ci_commit }
let(:commit_with_project) { FactoryGirl.create :ci_commit }
let(:project) { FactoryGirl.create :ci_project }
let(:gl_project) { FactoryGirl.create :empty_project, gitlab_ci_project: project }
let(:commit) { FactoryGirl.create :ci_commit, gl_project: gl_project }
let(:commit_with_project) { FactoryGirl.create :ci_commit, gl_project: gl_project }
let(:config_processor) { Ci::GitlabCiYamlProcessor.new(gitlab_ci_yaml) }
 
it { is_expected.to belong_to(:project) }
it { is_expected.to belong_to(:gl_project) }
it { is_expected.to have_many(:builds) }
it { is_expected.to validate_presence_of :before_sha }
it { is_expected.to validate_presence_of :sha }
Loading
Loading
@@ -87,7 +89,7 @@ describe Ci::Commit do
email_add_pusher: false,
email_recipients: 'rec1 rec2'
gl_project = FactoryGirl.create :empty_project, gitlab_ci_project: project
commit = FactoryGirl.create :ci_commit, project: gl_project
commit = FactoryGirl.create :ci_commit, gl_project: gl_project
expect(commit.project_recipients).to eq(['rec1', 'rec2'])
end
 
Loading
Loading
@@ -96,7 +98,7 @@ describe Ci::Commit do
email_add_pusher: true,
email_recipients: 'rec1 rec1 rec2'
gl_project = FactoryGirl.create :empty_project, gitlab_ci_project: project
commit = FactoryGirl.create :ci_commit, project: gl_project
commit = FactoryGirl.create :ci_commit, gl_project: gl_project
expected = 'rec2'
allow(commit).to receive(:push_data) { { user_email: expected } }
expect(commit.project_recipients).to eq(['rec1', 'rec2'])
Loading
Loading
Loading
Loading
@@ -3,10 +3,8 @@ require 'spec_helper'
describe Ci::HipChatMessage do
subject { Ci::HipChatMessage.new(build) }
 
let(:project) { FactoryGirl.create(:ci_project) }
context "One build" do
let(:commit) { FactoryGirl.create(:ci_commit_with_one_job, project: project) }
let(:commit) { FactoryGirl.create(:ci_commit_with_one_job) }
 
let(:build) do
commit.create_builds
Loading
Loading
@@ -37,7 +35,7 @@ describe Ci::HipChatMessage do
end
 
context "Several builds" do
let(:commit) { FactoryGirl.create(:ci_commit_with_two_jobs, project: project) }
let(:commit) { FactoryGirl.create(:ci_commit_with_two_jobs) }
 
let(:build) do
commit.builds.first
Loading
Loading
Loading
Loading
@@ -39,8 +39,8 @@ describe Ci::HipChatService do
 
before do
allow(service).to receive_messages(
project: project,
project_id: project.id,
project: commit.project,
project_id: commit.project_id,
notify_only_broken_builds: false,
hipchat_room: 123,
hipchat_token: 'a1b2c3d4e5f6'
Loading
Loading
Loading
Loading
@@ -3,10 +3,8 @@ require 'spec_helper'
describe Ci::SlackMessage do
subject { Ci::SlackMessage.new(commit) }
 
let(:project) { FactoryGirl.create :ci_project }
context "One build" do
let(:commit) { FactoryGirl.create(:ci_commit_with_one_job, project: project) }
let(:commit) { FactoryGirl.create(:ci_commit_with_one_job) }
 
let(:build) do
commit.create_builds
Loading
Loading
@@ -43,7 +41,7 @@ describe Ci::SlackMessage do
end
 
context "Several builds" do
let(:commit) { FactoryGirl.create(:ci_commit_with_two_jobs, project: project) }
let(:commit) { FactoryGirl.create(:ci_commit_with_two_jobs) }
 
context 'when all matrix builds succeeded' do
let(:color) { 'good' }
Loading
Loading
Loading
Loading
@@ -38,8 +38,8 @@ describe Ci::SlackService do
 
before do
allow(slack).to receive_messages(
project: project,
project_id: project.id,
project: commit.project,
project_id: commit.project_id,
webhook: webhook_url,
notify_only_broken_builds: notify_only_broken_builds
)
Loading
Loading
Loading
Loading
@@ -28,9 +28,17 @@
require 'spec_helper'
 
describe Ci::Project do
let(:gl_project) { FactoryGirl.create :empty_project, gitlab_ci_project: project }
let (:gl_project) { }
subject { FactoryGirl.build :ci_project }
 
it { is_expected.to have_many(:commits) }
it { is_expected.to have_many(:runner_projects) }
it { is_expected.to have_many(:runners) }
it { is_expected.to have_many(:web_hooks) }
it { is_expected.to have_many(:events) }
it { is_expected.to have_many(:variables) }
it { is_expected.to have_many(:triggers) }
it { is_expected.to have_many(:services) }
 
it { is_expected.to validate_presence_of :name }
it { is_expected.to validate_presence_of :timeout }
Loading
Loading
@@ -50,41 +58,44 @@ describe Ci::Project do
 
describe "ordered_by_last_commit_date" do
it "returns ordered projects" do
newest_project = FactoryGirl.create :ci_project
oldest_project = FactoryGirl.create :ci_project
project_without_commits = FactoryGirl.create :ci_project
newest_project = FactoryGirl.create :empty_project
newest_project.ensure_ci_project
oldest_project = FactoryGirl.create :empty_project
oldest_project.ensure_ci_project
project_without_commits = FactoryGirl.create :empty_project
project_without_commits.ensure_ci_project
 
FactoryGirl.create :ci_commit, committed_at: 1.hour.ago, project: newest_project
FactoryGirl.create :ci_commit, committed_at: 2.hour.ago, project: oldest_project
FactoryGirl.create :ci_commit, committed_at: 1.hour.ago, gl_project: newest_project
FactoryGirl.create :ci_commit, committed_at: 2.hour.ago, gl_project: oldest_project
 
expect(Ci::Project.ordered_by_last_commit_date).to eq([newest_project, oldest_project, project_without_commits])
expect(Ci::Project.ordered_by_last_commit_date).to eq([newest_project.gitlab_ci_project, oldest_project.gitlab_ci_project, project_without_commits.gitlab_ci_project])
end
end
 
describe 'ordered commits' do
let(:project) { FactoryGirl.create :ci_project }
let(:project) { FactoryGirl.create :empty_project }
 
it 'returns ordered list of commits' do
commit1 = FactoryGirl.create :ci_commit, committed_at: 1.hour.ago, project: project
commit2 = FactoryGirl.create :ci_commit, committed_at: 2.hour.ago, project: project
expect(project.commits).to eq([commit2, commit1])
commit1 = FactoryGirl.create :ci_commit, committed_at: 1.hour.ago, gl_project: project
commit2 = FactoryGirl.create :ci_commit, committed_at: 2.hour.ago, gl_project: project
expect(project.commits).to eq([commit2.project, commit1.project])
end
 
it 'returns commits ordered by committed_at and id, with nulls last' do
commit1 = FactoryGirl.create :ci_commit, committed_at: 1.hour.ago, project: project
commit2 = FactoryGirl.create :ci_commit, committed_at: nil, project: project
commit3 = FactoryGirl.create :ci_commit, committed_at: 2.hour.ago, project: project
commit4 = FactoryGirl.create :ci_commit, committed_at: nil, project: project
expect(project.commits).to eq([commit2, commit4, commit3, commit1])
commit1 = FactoryGirl.create :ci_commit, committed_at: 1.hour.ago, gl_project: project
commit2 = FactoryGirl.create :ci_commit, committed_at: nil, gl_project: project
commit3 = FactoryGirl.create :ci_commit, committed_at: 2.hour.ago, gl_project: project
commit4 = FactoryGirl.create :ci_commit, committed_at: nil, gl_project: project
expect(project.commits).to eq([commit2.project, commit4.project, commit3.project, commit1.project])
end
end
 
context :valid_project do
let(:project) { FactoryGirl.create :ci_project }
let(:gl_project) { FactoryGirl.create(:empty_project, gitlab_ci_project: project) }
let(:commit) { FactoryGirl.create(:ci_commit, gl_project: gl_project) }
let(:commit) { FactoryGirl.create(:ci_commit) }
 
context :project_with_commit_and_builds do
let(:project) { commit.project }
before do
FactoryGirl.create(:ci_build, commit: commit)
end
Loading
Loading
Loading
Loading
@@ -34,7 +34,7 @@ describe Ci::Service do
 
before do
allow(@service).to receive_messages(
project: project
project: commit.project
)
build
@testable = @service.can_test?
Loading
Loading
Loading
Loading
@@ -3,7 +3,9 @@ require 'spec_helper'
module Ci
describe RegisterBuildService do
let!(:service) { RegisterBuildService.new }
let!(:commit) { FactoryGirl.create :ci_commit }
let!(:project) { FactoryGirl.create :ci_project }
let!(:gl_project) { FactoryGirl.create :empty_project, gitlab_ci_project: project }
let!(:commit) { FactoryGirl.create :ci_commit, gl_project: gl_project }
let!(:pending_build) { FactoryGirl.create :ci_build, commit: commit }
let!(:shared_runner) { FactoryGirl.create(:ci_runner, is_shared: true) }
let!(:specific_runner) { FactoryGirl.create(:ci_runner, is_shared: false) }
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment