mirror of
https://github.com/grafana/grafana.git
synced 2025-02-15 10:03:33 -06:00
* Update Tempo devenv to include profiles * Update devenv to scrape profiles from local services * Cleanup devenv * Fix issue with flame graph * Add width prop to ProfileTypeCascader * Add trace to profiles settings * Add new spanSelector API * Add spanSelector to query editor * Update span link query * Conditionally show span link * Combine profile and spanProfile query types and run specific query type in backend based on spanSelector presence * Update placeholder * Create feature toggle * Remove spanProfile query type * Cleanup * Use feeature toggle * Update feature toggle * Update devenv * Update devenv * Tests * Tests * Profiles for this span * Styling * Types * Update type check * Tidier funcs * Add config links from dataframe * Remove time shift * Update tests * Update range in test * Simplify span link logic * Update default keys * Update pyro link * Use const
57 lines
1.8 KiB
TypeScript
57 lines
1.8 KiB
TypeScript
import { render, screen, waitFor } from '@testing-library/react';
|
|
import React from 'react';
|
|
|
|
import { DataSourceInstanceSettings, DataSourceSettings } from '@grafana/data';
|
|
import { DataSourceSrv, setDataSourceSrv } from '@grafana/runtime';
|
|
|
|
import { TraceToProfilesData, TraceToProfilesSettings } from './TraceToProfilesSettings';
|
|
|
|
const defaultOption: DataSourceSettings<TraceToProfilesData> = {
|
|
jsonData: {
|
|
tracesToProfilesV2: {
|
|
datasourceUid: 'profiling1_uid',
|
|
tags: [{ key: 'someTag', value: 'newName' }],
|
|
spanStartTimeShift: '1m',
|
|
spanEndTimeShift: '1m',
|
|
customQuery: true,
|
|
query: '{${__tags}}',
|
|
},
|
|
},
|
|
} as unknown as DataSourceSettings<TraceToProfilesData>;
|
|
|
|
const pyroSettings = {
|
|
uid: 'profiling1_uid',
|
|
name: 'profiling1',
|
|
type: 'grafana-pyroscope-datasource',
|
|
meta: { info: { logos: { small: '' } } },
|
|
} as unknown as DataSourceInstanceSettings;
|
|
|
|
describe('TraceToProfilesSettings', () => {
|
|
beforeAll(() => {
|
|
setDataSourceSrv({
|
|
getList() {
|
|
return [pyroSettings];
|
|
},
|
|
getInstanceSettings() {
|
|
return pyroSettings;
|
|
},
|
|
} as unknown as DataSourceSrv);
|
|
});
|
|
|
|
it('should render without error', () => {
|
|
waitFor(() => {
|
|
expect(() =>
|
|
render(<TraceToProfilesSettings options={defaultOption} onOptionsChange={() => {}} />)
|
|
).not.toThrow();
|
|
});
|
|
});
|
|
|
|
it('should render all options', () => {
|
|
render(<TraceToProfilesSettings options={defaultOption} onOptionsChange={() => {}} />);
|
|
expect(screen.getByText('Select data source')).toBeInTheDocument();
|
|
expect(screen.getByText('Tags')).toBeInTheDocument();
|
|
expect(screen.getByText('Profile type')).toBeInTheDocument();
|
|
expect(screen.getByText('Use custom query')).toBeInTheDocument();
|
|
});
|
|
});
|