2020-03-04 16:07:54 -05:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
require 'spec_helper'
|
2021-06-11 14:10:13 -04:00
|
|
|
require_migration!
|
2020-03-04 16:07:54 -05:00
|
|
|
|
2020-06-24 14:09:03 -04:00
|
|
|
RSpec.describe CleanGrafanaUrl do
|
2020-03-04 16:07:54 -05:00
|
|
|
let(:application_settings_table) { table(:application_settings) }
|
|
|
|
|
|
|
|
[
|
|
|
|
'javascript:alert(window.opener.document.location)',
|
|
|
|
' javascript:alert(window.opener.document.location)'
|
|
|
|
].each do |grafana_url|
|
|
|
|
it "sets grafana_url back to its default value when grafana_url is '#{grafana_url}'" do
|
|
|
|
application_settings = application_settings_table.create!(grafana_url: grafana_url)
|
|
|
|
|
|
|
|
migrate!
|
|
|
|
|
|
|
|
expect(application_settings.reload.grafana_url).to eq('/-/grafana')
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
['/-/grafana', '/some/relative/url', 'http://localhost:9000'].each do |grafana_url|
|
|
|
|
it "does not modify grafana_url when grafana_url is '#{grafana_url}'" do
|
|
|
|
application_settings = application_settings_table.create!(grafana_url: grafana_url)
|
|
|
|
|
|
|
|
migrate!
|
|
|
|
|
|
|
|
expect(application_settings.reload.grafana_url).to eq(grafana_url)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
context 'when application_settings table has no rows' do
|
|
|
|
it 'does not fail' do
|
|
|
|
migrate!
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|