diff options
| author | Kamil Trzciński <ayufan@ayufan.eu> | 2016-04-21 08:10:37 +0000 |
|---|---|---|
| committer | Kamil Trzciński <ayufan@ayufan.eu> | 2016-04-21 08:10:37 +0000 |
| commit | d2406668003f610139b60c036bc6fd9be982a580 (patch) | |
| tree | 17cc8f3adf5ee7d5f086b2a3ce668a38ba9c7c4b /spec/lib | |
| parent | 2ade37e2534108c72d28605cb131dacf771d27d3 (diff) | |
| parent | 27e0c7723ca1eb85222210a20fd3fee1d77733f7 (diff) | |
| download | gitlab-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.rb | 94 | ||||
| -rw-r--r-- | spec/lib/gitlab/badge/build_spec.rb | 6 |
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 |
