Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-03-03 03:08:11 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-03-03 03:08:11 +0300
commitbd8fb5668ae739a83d55ec5ca4a04344eef2167e (patch)
treebaf085c6cd58b3b5e5a192d4d3db360d623bb056 /spec/lib/banzai
parent561e1b470f0a99fe6304c8f197348c47a637d594 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/lib/banzai')
-rw-r--r--spec/lib/banzai/filter/inline_grafana_metrics_filter_spec.rb47
1 files changed, 43 insertions, 4 deletions
diff --git a/spec/lib/banzai/filter/inline_grafana_metrics_filter_spec.rb b/spec/lib/banzai/filter/inline_grafana_metrics_filter_spec.rb
index 9ac06a90efd..2092b9e9db8 100644
--- a/spec/lib/banzai/filter/inline_grafana_metrics_filter_spec.rb
+++ b/spec/lib/banzai/filter/inline_grafana_metrics_filter_spec.rb
@@ -10,18 +10,20 @@ describe Banzai::Filter::InlineGrafanaMetricsFilter do
let(:input) { %(<a href="#{trigger_url}">example</a>) }
let(:doc) { filter(input) }
+ let(:embed_url) { doc.at_css('.js-render-metrics')['data-dashboard-url'] }
+
let(:dashboard_path) do
'/d/XDaNK6amz/gitlab-omnibus-redis' \
- '?from=1570397739557&to=1570484139557' \
- '&var-instance=All&panelId=14'
+ '?from=1570397739557&panelId=14' \
+ '&to=1570484139557&var-instance=All'
end
let(:trigger_url) { grafana_integration.grafana_url + dashboard_path }
let(:dashboard_url) do
urls.project_grafana_api_metrics_dashboard_url(
project,
- embedded: true,
grafana_url: trigger_url,
+ embedded: true,
start: "2019-10-06T21:35:39Z",
end: "2019-10-07T21:35:39Z"
)
@@ -29,6 +31,10 @@ describe Banzai::Filter::InlineGrafanaMetricsFilter do
it_behaves_like 'a metrics embed filter'
+ around do |example|
+ Timecop.freeze(Time.utc(2019, 3, 17, 13, 10)) { example.run }
+ end
+
context 'when grafana is not configured' do
before do
allow(project).to receive(:grafana_integration).and_return(nil)
@@ -39,7 +45,7 @@ describe Banzai::Filter::InlineGrafanaMetricsFilter do
end
end
- context 'when parameters are missing' do
+ context 'when "panelId" parameter is missing' do
let(:dashboard_path) { '/d/XDaNK6amz/gitlab-omnibus-redis' }
it 'leaves the markdown unchanged' do
@@ -47,6 +53,39 @@ describe Banzai::Filter::InlineGrafanaMetricsFilter do
end
end
+ context 'when time window parameters are missing' do
+ let(:dashboard_path) { '/d/XDaNK6amz/gitlab-omnibus-redis?panelId=16' }
+
+ it 'sets the window to the last 8 hrs' do
+ expect(embed_url).to include(
+ 'from%3D1552799400000', 'to%3D1552828200000',
+ 'start=2019-03-17T05%3A10%3A00Z', 'end=2019-03-17T13%3A10%3A00Z'
+ )
+ end
+ end
+
+ context 'when "to" parameter is missing' do
+ let(:dashboard_path) { '/d/XDaNK6amz/gitlab-omnibus-redis?panelId=16&from=1570397739557' }
+
+ it 'sets "to" to 8 hrs after "from"' do
+ expect(embed_url).to include(
+ 'from%3D1570397739557', 'to%3D1570426539000',
+ 'start=2019-10-06T21%3A35%3A39Z', 'end=2019-10-07T05%3A35%3A39Z'
+ )
+ end
+ end
+
+ context 'when "from" parameter is missing' do
+ let(:dashboard_path) { '/d/XDaNK6amz/gitlab-omnibus-redis?panelId=16&to=1570484139557' }
+
+ it 'sets "from" to 8 hrs before "to"' do
+ expect(embed_url).to include(
+ 'from%3D1570455339000', 'to%3D1570484139557',
+ 'start=2019-10-07T13%3A35%3A39Z', 'end=2019-10-07T21%3A35%3A39Z'
+ )
+ end
+ end
+
private
# Nokogiri escapes the URLs, but we don't care about that