Commit fda1f5bc authored by Kyle Wiebers's avatar Kyle Wiebers

Revert "Merge branch 'extend-dashboard-fixture' into 'master'"

This reverts merge request !33301
parent c7fe7c79
...@@ -353,10 +353,7 @@ export default { ...@@ -353,10 +353,7 @@ export default {
</gl-deprecated-button> </gl-deprecated-button>
</div> </div>
<div <div v-if="externalDashboardUrl.length" class="mb-2 mr-2 d-flex d-sm-block">
v-if="externalDashboardUrl && externalDashboardUrl.length"
class="mb-2 mr-2 d-flex d-sm-block"
>
<gl-deprecated-button <gl-deprecated-button
class="flex-grow-1 js-external-dashboard-link" class="flex-grow-1 js-external-dashboard-link"
variant="primary" variant="primary"
......
...@@ -6,11 +6,10 @@ RSpec.describe MetricsDashboard, '(JavaScript fixtures)', type: :controller do ...@@ -6,11 +6,10 @@ RSpec.describe MetricsDashboard, '(JavaScript fixtures)', type: :controller do
include JavaScriptFixturesHelpers include JavaScriptFixturesHelpers
include MetricsDashboardHelpers include MetricsDashboardHelpers
let_it_be(:user) { create(:user) } let(:user) { create(:user) }
let_it_be(:namespace) { create(:namespace, name: 'monitoring' )} let(:project) { project_with_dashboard('.gitlab/dashboards/test.yml') }
let_it_be(:project) { project_with_dashboard_namespace('.gitlab/dashboards/test.yml', namespace: namespace) } let(:environment) { create(:environment, project: project) }
let_it_be(:environment) { create(:environment, id: 1, project: project) } let(:params) { { environment: environment } }
let_it_be(:params) { { environment: environment } }
before(:all) do before(:all) do
clean_frontend_fixtures('metrics_dashboard/') clean_frontend_fixtures('metrics_dashboard/')
...@@ -25,7 +24,6 @@ RSpec.describe MetricsDashboard, '(JavaScript fixtures)', type: :controller do ...@@ -25,7 +24,6 @@ RSpec.describe MetricsDashboard, '(JavaScript fixtures)', type: :controller do
project.add_maintainer(user) project.add_maintainer(user)
allow(controller).to receive(:project).and_return(project) allow(controller).to receive(:project).and_return(project)
allow(controller).to receive(:environment).and_return(environment)
allow(controller) allow(controller)
.to receive(:metrics_dashboard_params) .to receive(:metrics_dashboard_params)
.and_return(params) .and_return(params)
...@@ -37,9 +35,7 @@ RSpec.describe MetricsDashboard, '(JavaScript fixtures)', type: :controller do ...@@ -37,9 +35,7 @@ RSpec.describe MetricsDashboard, '(JavaScript fixtures)', type: :controller do
it 'metrics_dashboard/environment_metrics_dashboard.json' do it 'metrics_dashboard/environment_metrics_dashboard.json' do
routes.draw { get "metrics_dashboard" => "anonymous#metrics_dashboard" } routes.draw { get "metrics_dashboard" => "anonymous#metrics_dashboard" }
response = get :metrics_dashboard, format: :json response = get :metrics_dashboard, format: :json
expect(response).to be_successful expect(response).to be_successful
end end
end end
...@@ -3,19 +3,7 @@ ...@@ -3,19 +3,7 @@
exports[`Dashboard template matches the default snapshot 1`] = ` exports[`Dashboard template matches the default snapshot 1`] = `
<div <div
class="prometheus-graphs" class="prometheus-graphs"
currentenvironmentname="environment1"
customdashboardbasepath=".gitlab/dashboards"
dashboardendpoint="/monitoring/monitor-project/-/environments/1/metrics_dashboard.json"
dashboardsendpoint="/monitoring/monitor-project/-/performance_monitoring/dashboards.json"
dashboardtimezone="LOCAL"
data-qa-selector="prometheus_graphs" data-qa-selector="prometheus_graphs"
deploymentsendpoint="/monitoring/monitor-project/-/environments/1/deployments.json"
environmentstate="available"
logspath="/monitoring/monitor-project/-/logs?environment_name=environment1"
metricsdashboardbasepath="/monitoring/monitor-project/-/environments/1/metrics"
metricsendpoint="/monitoring/monitor-project/-/environments/1/additional_metrics.json"
projectpath="/monitoring/monitor-project"
prometheusstatus=""
> >
<div <div
class="prometheus-graphs-header d-sm-flex flex-sm-wrap pt-2 pr-1 pb-0 pl-2 border-bottom bg-gray-light" class="prometheus-graphs-header d-sm-flex flex-sm-wrap pt-2 pr-1 pb-0 pl-2 border-bottom bg-gray-light"
...@@ -147,15 +135,15 @@ exports[`Dashboard template matches the default snapshot 1`] = ` ...@@ -147,15 +135,15 @@ exports[`Dashboard template matches the default snapshot 1`] = `
<!----> <!---->
<empty-state-stub <empty-state-stub
clusterspath="/monitoring/monitor-project/-/clusters" clusterspath="/path/to/clusters"
documentationpath="/help/administration/monitoring/prometheus/index.md" documentationpath="/path/to/docs"
emptygettingstartedsvgpath="/images/illustrations/monitoring/getting_started.svg" emptygettingstartedsvgpath="/path/to/getting-started.svg"
emptyloadingsvgpath="/images/illustrations/monitoring/loading.svg" emptyloadingsvgpath="/path/to/loading.svg"
emptynodatasmallsvgpath="/images/illustrations/chart-empty-state-small.svg" emptynodatasmallsvgpath="/path/to/no-data-small.svg"
emptynodatasvgpath="/images/illustrations/monitoring/no_data.svg" emptynodatasvgpath="/path/to/no-data.svg"
emptyunabletoconnectsvgpath="/images/illustrations/monitoring/unable_to_connect.svg" emptyunabletoconnectsvgpath="/path/to/unable-to-connect.svg"
selectedstate="gettingStarted" selectedstate="gettingStarted"
settingspath="/monitoring/monitor-project/-/services/prometheus/edit" settingspath="/path/to/settings"
/> />
</div> </div>
`; `;
...@@ -18,8 +18,8 @@ import { ...@@ -18,8 +18,8 @@ import {
singleStatMetricsResult, singleStatMetricsResult,
graphDataPrometheusQueryRangeMultiTrack, graphDataPrometheusQueryRangeMultiTrack,
barMockData, barMockData,
propsData,
} from '../mock_data'; } from '../mock_data';
import { dashboardProps, graphData, graphDataEmpty } from '../fixture_data';
import { panelTypes } from '~/monitoring/constants'; import { panelTypes } from '~/monitoring/constants';
...@@ -32,6 +32,7 @@ import MonitorColumnChart from '~/monitoring/components/charts/column.vue'; ...@@ -32,6 +32,7 @@ import MonitorColumnChart from '~/monitoring/components/charts/column.vue';
import MonitorBarChart from '~/monitoring/components/charts/bar.vue'; import MonitorBarChart from '~/monitoring/components/charts/bar.vue';
import MonitorStackedColumnChart from '~/monitoring/components/charts/stacked_column.vue'; import MonitorStackedColumnChart from '~/monitoring/components/charts/stacked_column.vue';
import { graphData, graphDataEmpty } from '../fixture_data';
import { createStore, monitoringDashboard } from '~/monitoring/stores'; import { createStore, monitoringDashboard } from '~/monitoring/stores';
import { createStore as createEmbedGroupStore } from '~/monitoring/stores/embed_group'; import { createStore as createEmbedGroupStore } from '~/monitoring/stores/embed_group';
...@@ -62,7 +63,7 @@ describe('Dashboard Panel', () => { ...@@ -62,7 +63,7 @@ describe('Dashboard Panel', () => {
wrapper = shallowMount(DashboardPanel, { wrapper = shallowMount(DashboardPanel, {
propsData: { propsData: {
graphData, graphData,
settingsPath: dashboardProps.settingsPath, settingsPath: propsData.settingsPath,
...props, ...props,
}, },
store, store,
...@@ -315,7 +316,7 @@ describe('Dashboard Panel', () => { ...@@ -315,7 +316,7 @@ describe('Dashboard Panel', () => {
return wrapper.vm.$nextTick(() => { return wrapper.vm.$nextTick(() => {
expect(findEditCustomMetricLink().text()).toBe('Edit metrics'); expect(findEditCustomMetricLink().text()).toBe('Edit metrics');
expect(findEditCustomMetricLink().attributes('href')).toBe(dashboardProps.settingsPath); expect(findEditCustomMetricLink().attributes('href')).toBe(propsData.settingsPath);
}); });
}); });
}); });
...@@ -432,7 +433,7 @@ describe('Dashboard Panel', () => { ...@@ -432,7 +433,7 @@ describe('Dashboard Panel', () => {
wrapper = shallowMount(DashboardPanel, { wrapper = shallowMount(DashboardPanel, {
propsData: { propsData: {
clipboardText: exampleText, clipboardText: exampleText,
settingsPath: dashboardProps.settingsPath, settingsPath: propsData.settingsPath,
graphData: { graphData: {
y_label: 'metric', y_label: 'metric',
...graphData, ...graphData,
...@@ -482,7 +483,7 @@ describe('Dashboard Panel', () => { ...@@ -482,7 +483,7 @@ describe('Dashboard Panel', () => {
wrapper = shallowMount(DashboardPanel, { wrapper = shallowMount(DashboardPanel, {
propsData: { propsData: {
graphData, graphData,
settingsPath: dashboardProps.settingsPath, settingsPath: propsData.settingsPath,
namespace: mockNamespace, namespace: mockNamespace,
}, },
store, store,
......
...@@ -27,12 +27,8 @@ import { ...@@ -27,12 +27,8 @@ import {
setupStoreWithVariable, setupStoreWithVariable,
setupStoreWithLinks, setupStoreWithLinks,
} from '../store_utils'; } from '../store_utils';
import { environmentData, dashboardGitResponse } from '../mock_data'; import { environmentData, dashboardGitResponse, propsData } from '../mock_data';
import { import { metricsDashboardViewModel, metricsDashboardPanelCount } from '../fixture_data';
metricsDashboardViewModel,
metricsDashboardPanelCount,
dashboardProps,
} from '../fixture_data';
import createFlash from '~/flash'; import createFlash from '~/flash';
jest.mock('~/flash'); jest.mock('~/flash');
...@@ -52,7 +48,7 @@ describe('Dashboard', () => { ...@@ -52,7 +48,7 @@ describe('Dashboard', () => {
const createShallowWrapper = (props = {}, options = {}) => { const createShallowWrapper = (props = {}, options = {}) => {
wrapper = shallowMount(Dashboard, { wrapper = shallowMount(Dashboard, {
propsData: { ...dashboardProps, ...props }, propsData: { ...propsData, ...props },
store, store,
stubs: { stubs: {
DashboardHeader, DashboardHeader,
...@@ -63,7 +59,7 @@ describe('Dashboard', () => { ...@@ -63,7 +59,7 @@ describe('Dashboard', () => {
const createMountedWrapper = (props = {}, options = {}) => { const createMountedWrapper = (props = {}, options = {}) => {
wrapper = mount(Dashboard, { wrapper = mount(Dashboard, {
propsData: { ...dashboardProps, ...props }, propsData: { ...propsData, ...props },
store, store,
stubs: { stubs: {
'graph-group': true, 'graph-group': true,
......
...@@ -5,7 +5,7 @@ import Dashboard from '~/monitoring/components/dashboard.vue'; ...@@ -5,7 +5,7 @@ import Dashboard from '~/monitoring/components/dashboard.vue';
import DashboardHeader from '~/monitoring/components/dashboard_header.vue'; import DashboardHeader from '~/monitoring/components/dashboard_header.vue';
import { createStore } from '~/monitoring/stores'; import { createStore } from '~/monitoring/stores';
import { setupAllDashboards } from '../store_utils'; import { setupAllDashboards } from '../store_utils';
import { dashboardProps } from '../fixture_data'; import { propsData } from '../mock_data';
jest.mock('~/lib/utils/url_utility'); jest.mock('~/lib/utils/url_utility');
...@@ -29,7 +29,7 @@ describe('Dashboard template', () => { ...@@ -29,7 +29,7 @@ describe('Dashboard template', () => {
it('matches the default snapshot', () => { it('matches the default snapshot', () => {
wrapper = shallowMount(Dashboard, { wrapper = shallowMount(Dashboard, {
propsData: { ...dashboardProps }, propsData: { ...propsData },
store, store,
stubs: { stubs: {
DashboardHeader, DashboardHeader,
......
...@@ -9,8 +9,7 @@ import { ...@@ -9,8 +9,7 @@ import {
updateHistory, updateHistory,
} from '~/lib/utils/url_utility'; } from '~/lib/utils/url_utility';
import axios from '~/lib/utils/axios_utils'; import axios from '~/lib/utils/axios_utils';
import { mockProjectDir } from '../mock_data'; import { mockProjectDir, propsData } from '../mock_data';
import { dashboardProps } from '../fixture_data';
import Dashboard from '~/monitoring/components/dashboard.vue'; import Dashboard from '~/monitoring/components/dashboard.vue';
import DashboardHeader from '~/monitoring/components/dashboard_header.vue'; import DashboardHeader from '~/monitoring/components/dashboard_header.vue';
...@@ -27,7 +26,7 @@ describe('dashboard invalid url parameters', () => { ...@@ -27,7 +26,7 @@ describe('dashboard invalid url parameters', () => {
const createMountedWrapper = (props = { hasMetrics: true }, options = {}) => { const createMountedWrapper = (props = { hasMetrics: true }, options = {}) => {
wrapper = mount(Dashboard, { wrapper = mount(Dashboard, {
propsData: { ...dashboardProps, ...props }, propsData: { ...propsData, ...props },
store, store,
stubs: { 'graph-group': true, 'dashboard-panel': true, 'dashboard-header': DashboardHeader }, stubs: { 'graph-group': true, 'dashboard-panel': true, 'dashboard-header': DashboardHeader },
...options, ...options,
......
import { mapToDashboardViewModel } from '~/monitoring/stores/utils'; import { mapToDashboardViewModel } from '~/monitoring/stores/utils';
import { metricStates } from '~/monitoring/constants'; import { metricStates } from '~/monitoring/constants';
import { parseBoolean, convertObjectProps } from '~/lib/utils/common_utils';
import { convertToCamelCase } from '~/lib/utils/text_utility';
import { metricsResult } from './mock_data'; import { metricsResult } from './mock_data';
...@@ -10,20 +8,6 @@ export const metricsDashboardResponse = getJSONFixture( ...@@ -10,20 +8,6 @@ export const metricsDashboardResponse = getJSONFixture(
'metrics_dashboard/environment_metrics_dashboard.json', 'metrics_dashboard/environment_metrics_dashboard.json',
); );
export const metricsDashboardPayload = metricsDashboardResponse.dashboard; export const metricsDashboardPayload = metricsDashboardResponse.dashboard;
const metricsData = convertObjectProps(
// Some props use kebab-case, convert to snake_case first
key => convertToCamelCase(key.replace(/-/g, '_')),
metricsDashboardResponse.metrics_data,
);
export const dashboardProps = {
...metricsData,
hasMetrics: parseBoolean(metricsData.hasMetrics),
customMetricsAvailable: parseBoolean(metricsData.customMetricsAvailable),
prometheusAlertsAvailable: parseBoolean(metricsData.prometheusAlertsAvailable),
};
export const metricsDashboardViewModel = mapToDashboardViewModel(metricsDashboardPayload); export const metricsDashboardViewModel = mapToDashboardViewModel(metricsDashboardPayload);
export const metricsDashboardPanelCount = 22; export const metricsDashboardPanelCount = 22;
......
...@@ -11,8 +11,8 @@ import MockAdapter from 'axios-mock-adapter'; ...@@ -11,8 +11,8 @@ import MockAdapter from 'axios-mock-adapter';
import Dashboard from '~/monitoring/components/dashboard.vue'; import Dashboard from '~/monitoring/components/dashboard.vue';
import { createStore } from '~/monitoring/stores'; import { createStore } from '~/monitoring/stores';
import axios from '~/lib/utils/axios_utils'; import axios from '~/lib/utils/axios_utils';
import { mockApiEndpoint } from '../mock_data'; import { mockApiEndpoint, propsData } from '../mock_data';
import { metricsDashboardPayload, dashboardProps } from '../fixture_data'; import { metricsDashboardPayload } from '../fixture_data';
import { setupStoreWithData } from '../store_utils'; import { setupStoreWithData } from '../store_utils';
const localVue = createLocalVue(); const localVue = createLocalVue();
...@@ -56,7 +56,7 @@ describe('Dashboard', () => { ...@@ -56,7 +56,7 @@ describe('Dashboard', () => {
component = new DashboardComponent({ component = new DashboardComponent({
el: document.querySelector('.prometheus-graphs'), el: document.querySelector('.prometheus-graphs'),
propsData: { propsData: {
...dashboardProps, ...propsData,
hasMetrics: true, hasMetrics: true,
showPanels: true, showPanels: true,
}, },
......
...@@ -7,12 +7,6 @@ module MetricsDashboardHelpers ...@@ -7,12 +7,6 @@ module MetricsDashboardHelpers
create(:project, :custom_repo, files: { dashboard_path => dashboard_yml }) create(:project, :custom_repo, files: { dashboard_path => dashboard_yml })
end end
def project_with_dashboard_namespace(dashboard_path, dashboard_yml = nil)
dashboard_yml ||= fixture_file('lib/gitlab/metrics/dashboard/sample_dashboard.yml')
create(:project, :custom_repo, namespace: namespace, path: 'monitor-project', files: { dashboard_path => dashboard_yml })
end
def delete_project_dashboard(project, user, dashboard_path) def delete_project_dashboard(project, user, dashboard_path)
project.repository.delete_file( project.repository.delete_file(
user, user,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment