From 13cc7999c5a8661f07c686cb522950cd8c8cda97 Mon Sep 17 00:00:00 2001 From: syasonik Date: Thu, 25 Jul 2019 19:06:19 +0300 Subject: Ensure metrics embeds are cached --- app/services/metrics/dashboard/default_embed_service.rb | 2 +- spec/services/metrics/dashboard/default_embed_service_spec.rb | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/app/services/metrics/dashboard/default_embed_service.rb b/app/services/metrics/dashboard/default_embed_service.rb index 0967c5bcfeb..8b01b44fc98 100644 --- a/app/services/metrics/dashboard/default_embed_service.rb +++ b/app/services/metrics/dashboard/default_embed_service.rb @@ -23,7 +23,7 @@ module Metrics # Returns a new dashboard with only the matching # metrics from the system dashboard, stripped of groups. # @return [Hash] - def raw_dashboard + def get_raw_dashboard panels = panel_groups.each_with_object([]) do |group, panels| matched_panels = group['panels'].select { |panel| matching_panel?(panel) } diff --git a/spec/services/metrics/dashboard/default_embed_service_spec.rb b/spec/services/metrics/dashboard/default_embed_service_spec.rb index 5b24b9b2a14..803b9a93be7 100644 --- a/spec/services/metrics/dashboard/default_embed_service_spec.rb +++ b/spec/services/metrics/dashboard/default_embed_service_spec.rb @@ -14,14 +14,16 @@ describe Metrics::Dashboard::DefaultEmbedService, :use_clean_rails_memory_store_ end describe '#get_dashboard' do - let(:service_params) { [project, user, { environment: environment, dashboard_path: nil }] } + let(:service_params) { [project, user, { environment: environment }] } let(:service_call) { described_class.new(*service_params).get_dashboard } it_behaves_like 'valid embedded dashboard service response' it_behaves_like 'raises error for users with insufficient permissions' it 'caches the unprocessed dashboard for subsequent calls' do - expect(YAML).to receive(:safe_load).once.and_call_original + system_service = Metrics::Dashboard::SystemDashboardService + + expect(system_service).to receive(:new).once.and_call_original described_class.new(*service_params).get_dashboard described_class.new(*service_params).get_dashboard -- cgit v1.2.1