From 66a85d3414e7df5b8ff3e72e58cb64765ac54bd2 Mon Sep 17 00:00:00 2001 From: Krasimir Angelov Date: Mon, 21 Aug 2023 11:49:43 +0300 Subject: [PATCH] Do not fail when query stats are missing This may happen for self-managed only migrations. --- notifier/migration.rb | 3 ++- notifier/spec/migration_spec.rb | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/notifier/migration.rb b/notifier/migration.rb index f3bdaed3..dcd8642f 100644 --- a/notifier/migration.rb +++ b/notifier/migration.rb @@ -198,7 +198,8 @@ class Migration end def init_queries(stats) - @queries = stats['query_statistics'].map do |query| + query_statistics = stats['query_statistics'] || [] + @queries = query_statistics.map do |query| Query.new(query, execution_context: self) end end diff --git a/notifier/spec/migration_spec.rb b/notifier/spec/migration_spec.rb index 70bdde9a..e452d2e4 100644 --- a/notifier/spec/migration_spec.rb +++ b/notifier/spec/migration_spec.rb @@ -93,6 +93,14 @@ RSpec.describe Migration do expect(subject.queries.first).to be_a(Query) end + context 'when no query statistics' do + let(:queries) { nil } + + it 'does not throw error' do + expect { subject.queries }.not_to raise_error + end + end + describe 'types predicates' do context 'with "regular" type' do it { is_expected.to be_regular } -- GitLab