summaryrefslogtreecommitdiff
path: root/spec/lib/gitlab/metrics/dashboard/stages/panel_ids_inserter_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/lib/gitlab/metrics/dashboard/stages/panel_ids_inserter_spec.rb')
-rw-r--r--spec/lib/gitlab/metrics/dashboard/stages/panel_ids_inserter_spec.rb19
1 files changed, 19 insertions, 0 deletions
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