diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-04-15 12:09:18 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-04-15 12:09:18 +0000 |
commit | b7c735c8ac11b8182807070fc6f84f2606e15427 (patch) | |
tree | e74b4d25abb8bbf23546f001dd94515e2840a3a3 /spec/lib | |
parent | 221b529789f4090341a825695aeb49b8df6dd11d (diff) | |
download | gitlab-ce-b7c735c8ac11b8182807070fc6f84f2606e15427.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/lib')
5 files changed, 39 insertions, 7 deletions
diff --git a/spec/lib/gitlab/import_export/all_models.yml b/spec/lib/gitlab/import_export/all_models.yml index 515d72add92..5d5e2fe2a33 100644 --- a/spec/lib/gitlab/import_export/all_models.yml +++ b/spec/lib/gitlab/import_export/all_models.yml @@ -58,6 +58,7 @@ notes: - system_note_metadata - note_diff_file - suggestions +- diff_note_positions - review label_links: - target @@ -134,6 +135,7 @@ merge_requests: - pipelines_for_merge_request - merge_request_assignees - suggestions +- diff_note_positions - unresolved_notes - assignees - reviews @@ -517,6 +519,8 @@ error_tracking_setting: - project suggestions: - note +diff_note_positions: +- note metrics_setting: - project protected_environments: diff --git a/spec/lib/gitlab/import_export/project/tree_restorer_spec.rb b/spec/lib/gitlab/import_export/project/tree_restorer_spec.rb index 1eac580bc5e..80ae9a08257 100644 --- a/spec/lib/gitlab/import_export/project/tree_restorer_spec.rb +++ b/spec/lib/gitlab/import_export/project/tree_restorer_spec.rb @@ -25,7 +25,7 @@ describe Gitlab::ImportExport::Project::TreeRestorer, quarantine: { flaky: 'http @project = create(:project, :builds_enabled, :issues_disabled, name: 'project', path: 'project') @shared = @project.import_export_shared - allow(Feature).to receive(:enabled?).and_call_original + allow(Feature).to receive(:enabled?) { true } stub_feature_flags(project_import_ndjson: ndjson_enabled) setup_import_export_config('complex') @@ -34,6 +34,7 @@ describe Gitlab::ImportExport::Project::TreeRestorer, quarantine: { flaky: 'http allow_any_instance_of(Repository).to receive(:fetch_source_branch!).and_return(true) allow_any_instance_of(Gitlab::Git::Repository).to receive(:branch_exists?).and_return(false) + expect(@shared).not_to receive(:error) expect_any_instance_of(Gitlab::Git::Repository).to receive(:create_branch).with('feature', 'DCBA') allow_any_instance_of(Gitlab::Git::Repository).to receive(:create_branch) diff --git a/spec/lib/gitlab/import_export/project/tree_saver_spec.rb b/spec/lib/gitlab/import_export/project/tree_saver_spec.rb index ded57b1d576..8adc360026d 100644 --- a/spec/lib/gitlab/import_export/project/tree_saver_spec.rb +++ b/spec/lib/gitlab/import_export/project/tree_saver_spec.rb @@ -29,12 +29,11 @@ describe Gitlab::ImportExport::Project::TreeSaver do before_all do RSpec::Mocks.with_temporary_scope do - allow(Feature).to receive(:enabled?).and_call_original + allow(Feature).to receive(:enabled?) { true } stub_feature_flags(project_export_as_ndjson: ndjson_enabled) project.add_maintainer(user) - stub_feature_flags(project_export_as_ndjson: ndjson_enabled) project_tree_saver = described_class.new(project: project, current_user: user, shared: shared) project_tree_saver.save diff --git a/spec/lib/gitlab/metrics/dashboard/processor_spec.rb b/spec/lib/gitlab/metrics/dashboard/processor_spec.rb index 3cb02a8bcb3..b2fca0b5954 100644 --- a/spec/lib/gitlab/metrics/dashboard/processor_spec.rb +++ b/spec/lib/gitlab/metrics/dashboard/processor_spec.rb @@ -15,7 +15,8 @@ describe Gitlab::Metrics::Dashboard::Processor do Gitlab::Metrics::Dashboard::Stages::CustomMetricsDetailsInserter, Gitlab::Metrics::Dashboard::Stages::EndpointInserter, Gitlab::Metrics::Dashboard::Stages::Sorter, - Gitlab::Metrics::Dashboard::Stages::AlertsInserter + Gitlab::Metrics::Dashboard::Stages::AlertsInserter, + Gitlab::Metrics::Dashboard::Stages::PanelIdsInserter ] end @@ -28,6 +29,12 @@ describe Gitlab::Metrics::Dashboard::Processor do end end + it 'includes an id for each dashboard panel' do + expect(all_panels).to satisfy_all do |panel| + panel[:id].present? + end + end + it 'includes boolean to indicate if panel group has custom metrics' do expect(dashboard[:panel_groups]).to all(include( { has_custom_metrics: boolean } )) end @@ -199,9 +206,11 @@ describe Gitlab::Metrics::Dashboard::Processor do private def all_metrics - dashboard[:panel_groups].flat_map do |group| - group[:panels].flat_map { |panel| panel[:metrics] } - end + all_panels.flat_map { |panel| panel[:metrics] } + end + + def all_panels + dashboard[:panel_groups].flat_map { |group| group[:panels] } end def get_metric_details(metric) diff --git a/spec/lib/gitlab/metrics/dashboard/stages/panel_ids_inserter_spec.rb b/spec/lib/gitlab/metrics/dashboard/stages/panel_ids_inserter_spec.rb index 426a54bea78..6124f471e39 100644 --- a/spec/lib/gitlab/metrics/dashboard/stages/panel_ids_inserter_spec.rb +++ b/spec/lib/gitlab/metrics/dashboard/stages/panel_ids_inserter_spec.rb @@ -63,5 +63,24 @@ describe Gitlab::Metrics::Dashboard::Stages::PanelIdsInserter do ) end end + + context 'when dashboard panels has unknown schema attributes' do + before do + error = ActiveModel::UnknownAttributeError.new(double, 'unknown_panel_attribute') + allow(::PerformanceMonitoring::PrometheusPanel).to receive(:new).and_raise(error) + end + + it 'no panel has assigned id' do + transform! + + expect(fetch_panel_ids(dashboard)).to all be_nil + end + + it 'logs the failure' do + expect(Gitlab::ErrorTracking).to receive(:log_exception) + + transform! + end + end end end |