summaryrefslogtreecommitdiff
path: root/spec/lib
diff options
context:
space:
mode:
authorKamil Trzciński <ayufan@ayufan.eu>2016-04-21 08:10:37 +0000
committerKamil Trzciński <ayufan@ayufan.eu>2016-04-21 08:10:37 +0000
commitd2406668003f610139b60c036bc6fd9be982a580 (patch)
tree17cc8f3adf5ee7d5f086b2a3ce668a38ba9c7c4b /spec/lib
parent2ade37e2534108c72d28605cb131dacf771d27d3 (diff)
parent27e0c7723ca1eb85222210a20fd3fee1d77733f7 (diff)
downloadgitlab-ce-d2406668003f610139b60c036bc6fd9be982a580.tar.gz
Merge branch 'ci-commit-as-pipeline' into 'master'
Ci::Commit becomes a Pipeline object 1. Ci::Commit receives context: ref, :tag. 1. One Ci::Commit describes a one Pipeline 1. Pipeline is created from `.gitlab-ci.yml` 1. Pipeline is a ordered group of builds 1. We test MR against Pipeline 1. Pipelines have a separate view (https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/3703) 1. Pipeline can be triggered from UI (https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/3703) 1. Later we change `Trigger -> TriggerRequest -> Build` to `Trigger -> Pipeline` (future) 1. We add a Pipeline Hook that will be triggered on Pipeline status change (future) 1. We extend notifications to use `Pipeline Hook` to send summary on pipeline changes (future) After merging that I'll prepare a separate MR that will unify naming, database columns, table names: ``` Ci::Commit -> Pipeline Ci::Build -> Build CommitStatus -> Job GenericCommitStatus -> ExternalJob ci_commits -> pipelines ci_builds -> jobs ``` This MR implements first 5 points. This is made to solve this issue https://gitlab.com/gitlab-org/gitlab-ce/issues/14149. See merge request !3653
Diffstat (limited to 'spec/lib')
-rw-r--r--spec/lib/ci/status_spec.rb94
-rw-r--r--spec/lib/gitlab/badge/build_spec.rb6
2 files changed, 3 insertions, 97 deletions
diff --git a/spec/lib/ci/status_spec.rb b/spec/lib/ci/status_spec.rb
deleted file mode 100644
index 47f3df6e3ce..00000000000
--- a/spec/lib/ci/status_spec.rb
+++ /dev/null
@@ -1,94 +0,0 @@
-require 'spec_helper'
-
-describe Ci::Status do
- describe '.get_status' do
- subject { described_class.get_status(statuses) }
-
- shared_examples 'build status summary' do
- context 'all successful' do
- let(:statuses) { Array.new(2) { create(type, status: :success) } }
- it { is_expected.to eq 'success' }
- end
-
- context 'at least one failed' do
- let(:statuses) do
- [create(type, status: :success), create(type, status: :failed)]
- end
-
- it { is_expected.to eq 'failed' }
- end
-
- context 'at least one running' do
- let(:statuses) do
- [create(type, status: :success), create(type, status: :running)]
- end
-
- it { is_expected.to eq 'running' }
- end
-
- context 'at least one pending' do
- let(:statuses) do
- [create(type, status: :success), create(type, status: :pending)]
- end
-
- it { is_expected.to eq 'running' }
- end
-
- context 'success and failed but allowed to fail' do
- let(:statuses) do
- [create(type, status: :success),
- create(type, status: :failed, allow_failure: true)]
- end
-
- it { is_expected.to eq 'success' }
- end
-
- context 'one failed but allowed to fail' do
- let(:statuses) { [create(type, status: :failed, allow_failure: true)] }
- it { is_expected.to eq 'success' }
- end
-
- context 'success and canceled' do
- let(:statuses) do
- [create(type, status: :success), create(type, status: :canceled)]
- end
- it { is_expected.to eq 'failed' }
- end
-
- context 'all canceled' do
- let(:statuses) do
- [create(type, status: :canceled), create(type, status: :canceled)]
- end
- it { is_expected.to eq 'canceled' }
- end
-
- context 'success and canceled but allowed to fail' do
- let(:statuses) do
- [create(type, status: :success),
- create(type, status: :canceled, allow_failure: true)]
- end
-
- it { is_expected.to eq 'success' }
- end
-
- context 'one finished and second running but allowed to fail' do
- let(:statuses) do
- [create(type, status: :success),
- create(type, status: :running, allow_failure: true)]
- end
-
- it { is_expected.to eq 'running' }
- end
- end
-
- context 'ci build statuses' do
- let(:type) { :ci_build }
- it_behaves_like 'build status summary'
- end
-
- context 'generic commit statuses' do
- let(:type) { :generic_commit_status }
- it_behaves_like 'build status summary'
- end
- end
-end
diff --git a/spec/lib/gitlab/badge/build_spec.rb b/spec/lib/gitlab/badge/build_spec.rb
index 329792bb685..b6f7a2e7ec4 100644
--- a/spec/lib/gitlab/badge/build_spec.rb
+++ b/spec/lib/gitlab/badge/build_spec.rb
@@ -42,7 +42,7 @@ describe Gitlab::Badge::Build do
end
context 'build exists' do
- let(:ci_commit) { create(:ci_commit, project: project, sha: sha) }
+ let(:ci_commit) { create(:ci_commit, project: project, sha: sha, ref: branch) }
let!(:build) { create(:ci_build, commit: ci_commit) }
@@ -57,7 +57,7 @@ describe Gitlab::Badge::Build do
describe '#data' do
let(:data) { badge.data }
- it 'contains infromation about success' do
+ it 'contains information about success' do
expect(status_node(data, 'success')).to be_truthy
end
end
@@ -74,7 +74,7 @@ describe Gitlab::Badge::Build do
describe '#data' do
let(:data) { badge.data }
- it 'contains infromation about failure' do
+ it 'contains information about failure' do
expect(status_node(data, 'failed')).to be_truthy
end
end