diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-08-26 18:10:35 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-08-26 18:10:35 +0000 |
commit | a56971e97f0385640c2f3568017bd221897b78ef (patch) | |
tree | a22308ba6707f73199e3c80523e88b6363044ca4 /spec/tasks | |
parent | d3fafe0995cb26212095568f95de6692ec629157 (diff) | |
download | gitlab-ce-a56971e97f0385640c2f3568017bd221897b78ef.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/tasks')
-rw-r--r-- | spec/tasks/gitlab/product_intelligence_rake_spec.rb | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/spec/tasks/gitlab/product_intelligence_rake_spec.rb b/spec/tasks/gitlab/product_intelligence_rake_spec.rb deleted file mode 100644 index 029e181ad06..00000000000 --- a/spec/tasks/gitlab/product_intelligence_rake_spec.rb +++ /dev/null @@ -1,80 +0,0 @@ -# frozen_string_literal: true - -require 'rake_helper' - -RSpec.describe 'gitlab:product_intelligence:activate_metrics', :silence_stdout do - def fake_metric(key_path, milestone: 'test_milestone', status: 'implemented') - Gitlab::Usage::MetricDefinition.new(key_path, { key_path: key_path, milestone: milestone, status: status }) - end - - before do - Rake.application.rake_require 'tasks/gitlab/product_intelligence' - stub_warn_user_is_not_gitlab - end - - describe 'activate_metrics' do - it 'fails if the MILESTONE env var is not set' do - stub_env('MILESTONE' => nil) - - expect { run_rake_task('gitlab:product_intelligence:activate_metrics') }.to raise_error(RuntimeError, 'Please supply the MILESTONE env var') - end - - context 'with MILESTONE env var' do - subject do - updated_metrics = [] - - file = double('file') - allow(file).to receive(:<<) { |contents| updated_metrics << YAML.safe_load(contents) } - allow(File).to receive(:open).and_yield(file) - - stub_env('MILESTONE' => 'test_milestone') - run_rake_task('gitlab:product_intelligence:activate_metrics') - - updated_metrics - end - - let(:metric_definitions) do - { - matching_metric: fake_metric('matching_metric'), - matching_metric2: fake_metric('matching_metric2'), - other_status_metric: fake_metric('other_status_metric', status: 'deprecated'), - other_milestone_metric: fake_metric('other_milestone_metric', milestone: 'other_milestone') - } - end - - before do - allow(Gitlab::Usage::MetricDefinition).to receive(:definitions).and_return(metric_definitions) - end - - context 'with metric matching status and milestone' do - it 'updates matching_metric yaml file' do - expect(subject).to eq([ - { 'key_path' => 'matching_metric', 'milestone' => 'test_milestone', 'status' => 'data_available' }, - { 'key_path' => 'matching_metric2', 'milestone' => 'test_milestone', 'status' => 'data_available' } - ]) - end - end - - context 'without metrics definitions' do - let(:metric_definitions) { {} } - - it 'runs successfully with no updates' do - expect(subject).to eq([]) - end - end - - context 'without matching metrics' do - let(:metric_definitions) do - { - other_status_metric: fake_metric('other_status_metric', status: 'deprecated'), - other_milestone_metric: fake_metric('other_milestone_metric', milestone: 'other_milestone') - } - end - - it 'runs successfully with no updates' do - expect(subject).to eq([]) - end - end - end - end -end |