[Security Solution] remove unused BrowserField references (#130206)

A property was passed through many react components, but never used. This commit cleans this up.
This commit is contained in:
Robert Austin 2022-04-14 08:09:23 -04:00 committed by GitHub
parent 3af9f04ff4
commit 4835a5d7d1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
67 changed files with 45 additions and 2132 deletions

View file

@ -114,7 +114,6 @@ describe('PreviewTableCellRenderer', () => {
expect(mockImplementation.renderColumn).toBeCalledWith({
asPlainText: false,
browserFields,
columnName: header.id,
ecsData,
eventId,

View file

@ -18,7 +18,6 @@ import { CellValueElementProps } from '../../../../../../timelines/common';
export const PreviewRenderCellValue: React.FC<
EuiDataGridCellValueElementProps & CellValueElementProps
> = ({
browserFields,
columnId,
data,
ecsData,
@ -38,7 +37,6 @@ export const PreviewRenderCellValue: React.FC<
truncate,
}) => (
<PreviewTableCellRenderer
browserFields={browserFields}
columnId={columnId}
data={data}
ecsData={ecsData}
@ -60,7 +58,6 @@ export const PreviewRenderCellValue: React.FC<
);
export const PreviewTableCellRenderer: React.FC<CellValueElementProps> = ({
browserFields,
data,
ecsData,
eventId,
@ -95,7 +92,6 @@ export const PreviewTableCellRenderer: React.FC<CellValueElementProps> = ({
<StyledContent className={styledContentClassName} $isDetails={isDetails}>
{getColumnRenderer(header.id, columnRenderers, data).renderColumn({
asPlainText,
browserFields,
columnName: header.id,
ecsData,
eventId,

View file

@ -24,7 +24,6 @@ const AlertsExampleComponent: React.FC = () => {
return (
<>
{alertsRowRenderer.renderRow({
browserFields: {},
data: mockEndpointProcessExecutionMalwarePreventionAlert,
isDraggable: false,
timelineId: ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID,

View file

@ -21,7 +21,6 @@ const AuditdExampleComponent: React.FC = () => {
return (
<>
{auditdRowRenderer.renderRow({
browserFields: {},
data: mockTimelineData[26].ecs,
isDraggable: false,
timelineId: ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID,

View file

@ -21,7 +21,6 @@ const AuditdFileExampleComponent: React.FC = () => {
return (
<>
{auditdFileRowRenderer.renderRow({
browserFields: {},
data: mockTimelineData[27].ecs,
isDraggable: false,
timelineId: ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID,

View file

@ -21,7 +21,6 @@ const LibraryExampleComponent: React.FC = () => {
return (
<>
{libraryRowRenderer.renderRow({
browserFields: {},
data: mockEndpointLibraryLoadEvent,
isDraggable: false,
timelineId: ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID,

View file

@ -14,7 +14,6 @@ import { ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID } from '../constants';
const NetflowExampleComponent: React.FC = () => (
<>
{netflowRowRenderer.renderRow({
browserFields: {},
data: getMockNetflowData(),
isDraggable: false,
timelineId: ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID,

View file

@ -21,7 +21,6 @@ const RegistryExampleComponent: React.FC = () => {
return (
<>
{registryRowRenderer.renderRow({
browserFields: {},
data: mockEndpointRegistryModificationEvent,
isDraggable: false,
timelineId: ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID,

View file

@ -14,7 +14,6 @@ import { ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID } from '../constants';
const SuricataExampleComponent: React.FC = () => (
<>
{suricataRowRenderer.renderRow({
browserFields: {},
data: mockTimelineData[2].ecs,
isDraggable: false,
timelineId: ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID,

View file

@ -21,7 +21,6 @@ const SystemExampleComponent: React.FC = () => {
return (
<>
{systemRowRenderer.renderRow({
browserFields: {},
data: mockEndgameTerminationEvent,
isDraggable: false,
timelineId: ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID,

View file

@ -17,7 +17,6 @@ const SystemDnsExampleComponent: React.FC = () => {
return (
<>
{systemDnsRowRenderer.renderRow({
browserFields: {},
data: mockEndgameDnsRequest,
isDraggable: false,
timelineId: ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID,

View file

@ -21,7 +21,6 @@ const SystemEndgameProcessExampleComponent: React.FC = () => {
return (
<>
{systemEndgameProcessRowRenderer.renderRow({
browserFields: {},
data: mockEndgameCreationEvent,
isDraggable: false,
timelineId: ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID,

View file

@ -21,7 +21,6 @@ const SystemFileExampleComponent: React.FC = () => {
return (
<>
{systemFileRowRenderer.renderRow({
browserFields: {},
data: mockEndgameFileDeleteEvent,
isDraggable: false,
timelineId: ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID,

View file

@ -21,7 +21,6 @@ const SystemFimExampleComponent: React.FC = () => {
return (
<>
{systemFimRowRenderer.renderRow({
browserFields: {},
data: mockEndgameFileCreateEvent,
isDraggable: false,
timelineId: ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID,

View file

@ -19,7 +19,6 @@ const SystemSecurityEventExampleComponent: React.FC = () => {
return (
<>
{systemSecurityEventRowRenderer.renderRow({
browserFields: {},
data: mockEndgameUserLogon,
isDraggable: false,
timelineId: ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID,

View file

@ -20,7 +20,6 @@ const SystemSocketExampleComponent: React.FC = () => {
return (
<>
{systemSocketRowRenderer.renderRow({
browserFields: {},
data: mockEndgameIpv4ConnectionAcceptEvent,
isDraggable: false,
timelineId: ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID,

View file

@ -14,7 +14,6 @@ import { ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID } from '../constants';
const ThreatMatchExampleComponent: React.FC = () => (
<>
{threatMatchRowRenderer.renderRow({
browserFields: {},
data: mockTimelineData[31].ecs,
isDraggable: false,
timelineId: ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID,

View file

@ -14,7 +14,6 @@ import { ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID } from '../constants';
const ZeekExampleComponent: React.FC = () => (
<>
{zeekRowRenderer.renderRow({
browserFields: {},
data: mockTimelineData[13].ecs,
isDraggable: false,
timelineId: ROW_RENDERER_BROWSER_EXAMPLE_TIMELINE_ID,

View file

@ -9,7 +9,6 @@ import React from 'react';
import { isEmpty } from 'lodash';
import { inputsModel } from '../../../../../common/store';
import { BrowserFields } from '../../../../../common/containers/source';
import {
TimelineItem,
TimelineNonEcsData,
@ -31,7 +30,6 @@ const ARIA_ROW_INDEX_OFFSET = 2;
interface Props {
actionsColumnWidth: number;
browserFields: BrowserFields;
columnHeaders: ColumnHeaderOptions[];
containerRef: React.MutableRefObject<HTMLDivElement | null>;
data: TimelineItem[];
@ -55,7 +53,6 @@ interface Props {
const EventsComponent: React.FC<Props> = ({
actionsColumnWidth,
browserFields,
columnHeaders,
containerRef,
data,
@ -81,7 +78,6 @@ const EventsComponent: React.FC<Props> = ({
<StatefulEvent
actionsColumnWidth={actionsColumnWidth}
ariaRowindex={i + ARIA_ROW_INDEX_OFFSET}
browserFields={browserFields}
columnHeaders={columnHeaders}
containerRef={containerRef}
event={event}

View file

@ -19,7 +19,6 @@ import {
TimelineTabs,
} from '../../../../../../common/types/timeline';
import type { SetEventsDeleted, SetEventsLoading } from '../../../../../../../timelines/common';
import { BrowserFields } from '../../../../../common/containers/source';
import {
TimelineItem,
TimelineNonEcsData,
@ -45,7 +44,6 @@ import { StatefulEventContext } from '../../../../../../../timelines/public';
interface Props {
actionsColumnWidth: number;
containerRef: React.MutableRefObject<HTMLDivElement | null>;
browserFields: BrowserFields;
columnHeaders: ColumnHeaderOptions[];
event: TimelineItem;
eventIdToNoteIds: Readonly<Record<string, string[]>>;
@ -78,7 +76,6 @@ EventsTrSupplementContainerWrapper.displayName = 'EventsTrSupplementContainerWra
const StatefulEventComponent: React.FC<Props> = ({
actionsColumnWidth,
browserFields,
containerRef,
columnHeaders,
event,
@ -236,31 +233,6 @@ const StatefulEventComponent: React.FC<Props> = ({
[dispatch, timelineId]
);
const RowRendererContent = useMemo(
() => (
<EventsTrSupplement>
<StatefulRowRenderer
ariaRowindex={ariaRowindex}
browserFields={browserFields}
containerRef={containerRef}
event={event}
lastFocusedAriaColindex={lastFocusedAriaColindex}
rowRenderers={rowRenderers}
timelineId={timelineId}
/>
</EventsTrSupplement>
),
[
ariaRowindex,
browserFields,
containerRef,
event,
lastFocusedAriaColindex,
rowRenderers,
timelineId,
]
);
return (
<StatefulEventContext.Provider value={activeStatefulEventContext}>
<EventsTrGroup
@ -319,7 +291,16 @@ const StatefulEventComponent: React.FC<Props> = ({
/>
</EventsTrSupplement>
{RowRendererContent}
<EventsTrSupplement>
<StatefulRowRenderer
ariaRowindex={ariaRowindex}
containerRef={containerRef}
event={event}
lastFocusedAriaColindex={lastFocusedAriaColindex}
rowRenderers={rowRenderers}
timelineId={timelineId}
/>
</EventsTrSupplement>
</EventsTrSupplementContainerWrapper>
</EventsTrGroup>
</StatefulEventContext.Provider>

View file

@ -15,7 +15,6 @@ import {
getRowRendererClassName,
} from '../../../../../../../../timelines/public';
import { RowRenderer } from '../../../../../../../common/types';
import { BrowserFields } from '../../../../../../common/containers/source';
import { TimelineItem } from '../../../../../../../common/search_strategy/timeline';
import { getRowRenderer } from '../../renderers/get_row_renderer';
import { useStatefulEventFocus } from '../use_stateful_event_focus';
@ -37,7 +36,6 @@ import * as i18n from '../translations';
*/
export const StatefulRowRenderer = ({
ariaRowindex,
browserFields,
containerRef,
event,
lastFocusedAriaColindex,
@ -45,7 +43,6 @@ export const StatefulRowRenderer = ({
timelineId,
}: {
ariaRowindex: number;
browserFields: BrowserFields;
containerRef: React.MutableRefObject<HTMLDivElement | null>;
event: TimelineItem;
lastFocusedAriaColindex: number;
@ -78,7 +75,6 @@ export const StatefulRowRenderer = ({
</EuiScreenReaderOnly>
<div onKeyDown={onKeyDown}>
{rowRenderer.renderRow({
browserFields,
data: event.ecs,
isDraggable: true,
timelineId,
@ -90,7 +86,6 @@ export const StatefulRowRenderer = ({
),
[
ariaRowindex,
browserFields,
event.ecs,
focusOwnership,
onFocus,

View file

@ -260,7 +260,6 @@ export const StatefulBody = React.memo<Props>(
<Events
containerRef={containerRef}
actionsColumnWidth={actionsColumnWidth}
browserFields={browserFields}
columnHeaders={columnHeaders}
data={data}
eventIdToNoteIds={eventIdToNoteIds}

View file

@ -4,7 +4,6 @@ exports[`GenericRowRenderer #createGenericAuditRowRenderer renders correctly aga
<span>
<RowRendererContainer>
<AuditdGenericDetails
browserFields={Object {}}
contextId="connected-to-test"
data={
Object {
@ -110,7 +109,6 @@ exports[`GenericRowRenderer #createGenericFileRowRenderer renders correctly agai
<span>
<RowRendererContainer>
<AuditdGenericFileDetails
browserFields={Object {}}
contextId="opened-file-test"
data={
Object {

View file

@ -9,8 +9,6 @@ import { shallow } from 'enzyme';
import React from 'react';
import '../../../../../../common/mock/match_media';
import { BrowserFields } from '../../../../../../common/containers/source';
import { mockBrowserFields } from '../../../../../../common/containers/source/mock';
import { mockTimelineData, TestProviders } from '../../../../../../common/mock';
import { AuditdGenericDetails, AuditdGenericLine } from './generic_details';
import { useMountAppended } from '../../../../../../common/utils/use_mount_appended';
@ -30,13 +28,10 @@ describe('GenericDetails', () => {
describe('rendering', () => {
test('it renders the default AuditAcquiredCredsDetails', () => {
// I cannot and do not want to use BrowserFields for the mocks for the snapshot tests as they are too heavy
const browserFields: BrowserFields = {};
const wrapper = shallow(
<AuditdGenericDetails
contextId="contextid-123"
text="generic-text-123"
browserFields={browserFields}
data={mockTimelineData[21].ecs}
timelineId="test"
/>
@ -50,7 +45,6 @@ describe('GenericDetails', () => {
<AuditdGenericDetails
contextId="contextid-123"
text="generic-text-123"
browserFields={mockBrowserFields}
data={mockTimelineData[19].ecs}
timelineId="test"
/>
@ -66,7 +60,6 @@ describe('GenericDetails', () => {
<AuditdGenericDetails
contextId="contextid-123"
text="generic-text-123"
browserFields={mockBrowserFields}
data={mockTimelineData[0].ecs}
timelineId="test"
/>

View file

@ -9,7 +9,6 @@ import { EuiFlexGroup, EuiSpacer } from '@elastic/eui';
import { get } from 'lodash/fp';
import React from 'react';
import { BrowserFields } from '../../../../../../common/containers/source';
import { Ecs } from '../../../../../../../common/ecs';
import { DraggableBadge } from '../../../../../../common/components/draggables';
@ -116,7 +115,6 @@ export const AuditdGenericLine = React.memo<Props>(
AuditdGenericLine.displayName = 'AuditdGenericLine';
interface GenericDetailsProps {
browserFields: BrowserFields;
data: Ecs;
isDraggable?: boolean;
contextId: string;

View file

@ -9,8 +9,6 @@ import { shallow } from 'enzyme';
import React from 'react';
import '../../../../../../common/mock/match_media';
import { BrowserFields } from '../../../../../../common/containers/source';
import { mockBrowserFields } from '../../../../../../common/containers/source/mock';
import { mockTimelineData, TestProviders } from '../../../../../../common/mock';
import { AuditdGenericFileDetails, AuditdGenericFileLine } from './generic_file_details';
import { useMountAppended } from '../../../../../../common/utils/use_mount_appended';
@ -30,13 +28,10 @@ describe('GenericFileDetails', () => {
describe('rendering', () => {
test('it renders the default GenericFileDetails', () => {
// I cannot and do not want to use BrowserFields for the mocks for the snapshot tests as they are too heavy
const browserFields: BrowserFields = {};
const wrapper = shallow(
<AuditdGenericFileDetails
contextId="contextid-123"
text="generic-text-123"
browserFields={browserFields}
data={mockTimelineData[27].ecs}
fileIcon="document"
timelineId="test"
@ -51,7 +46,6 @@ describe('GenericFileDetails', () => {
<AuditdGenericFileDetails
contextId="contextid-123"
text="generic-text-123"
browserFields={mockBrowserFields}
data={mockTimelineData[19].ecs}
fileIcon="document"
timelineId="test"
@ -68,7 +62,6 @@ describe('GenericFileDetails', () => {
<AuditdGenericFileDetails
contextId="contextid-123"
text="generic-text-123"
browserFields={mockBrowserFields}
data={mockTimelineData[0].ecs}
fileIcon="document"
timelineId="test"

View file

@ -9,7 +9,6 @@ import { EuiFlexGroup, EuiSpacer, IconType } from '@elastic/eui';
import { get } from 'lodash/fp';
import React from 'react';
import { BrowserFields } from '../../../../../../common/containers/source';
import { Ecs } from '../../../../../../../common/ecs';
import { DraggableBadge } from '../../../../../../common/components/draggables';
@ -135,7 +134,6 @@ export const AuditdGenericFileLine = React.memo<Props>(
AuditdGenericFileLine.displayName = 'AuditdGenericFileLine';
interface GenericDetailsProps {
browserFields: BrowserFields;
contextId: string;
data: Ecs;
text: string;

View file

@ -10,8 +10,6 @@ import { cloneDeep } from 'lodash/fp';
import React from 'react';
import { RowRenderer } from '../../../../../../../common/types';
import { BrowserFields } from '../../../../../../common/containers/source';
import { mockBrowserFields } from '../../../../../../common/containers/source/mock';
import { Ecs } from '../../../../../../../common/ecs';
import { mockTimelineData, TestProviders } from '../../../../../../common/mock';
import { useMountAppended } from '../../../../../../common/utils/use_mount_appended';
@ -49,10 +47,7 @@ describe('GenericRowRenderer', () => {
});
});
test('renders correctly against snapshot', () => {
// I cannot and do not want to use BrowserFields mocks for the snapshot tests as they are too heavy
const browserFields: BrowserFields = {};
const children = connectedToRenderer.renderRow({
browserFields,
data: auditd,
isDraggable: true,
timelineId: 'test',
@ -82,7 +77,6 @@ describe('GenericRowRenderer', () => {
test('should render a auditd row', () => {
const children = connectedToRenderer.renderRow({
browserFields: mockBrowserFields,
data: auditd,
isDraggable: true,
timelineId: 'test',
@ -113,10 +107,7 @@ describe('GenericRowRenderer', () => {
});
test('renders correctly against snapshot', () => {
// I cannot and do not want to use BrowserFields mocks for the snapshot tests as they are too heavy
const browserFields: BrowserFields = {};
const children = fileToRenderer.renderRow({
browserFields,
data: auditdFile,
isDraggable: true,
timelineId: 'test',
@ -146,7 +137,6 @@ describe('GenericRowRenderer', () => {
test('should render a auditd row', () => {
const children = fileToRenderer.renderRow({
browserFields: mockBrowserFields,
data: auditdFile,
isDraggable: true,
timelineId: 'test',

View file

@ -34,10 +34,9 @@ export const createGenericAuditRowRenderer = ({
action.toLowerCase() === actionName
);
},
renderRow: ({ browserFields, data, isDraggable, timelineId }) => (
renderRow: ({ data, isDraggable, timelineId }) => (
<RowRendererContainer>
<AuditdGenericDetails
browserFields={browserFields}
data={data}
isDraggable={isDraggable}
contextId={`${actionName}-${timelineId}`}
@ -68,10 +67,9 @@ export const createGenericFileRowRenderer = ({
action.toLowerCase() === actionName
);
},
renderRow: ({ browserFields, data, isDraggable, timelineId }) => (
renderRow: ({ data, isDraggable, timelineId }) => (
<RowRendererContainer>
<AuditdGenericFileDetails
browserFields={browserFields}
contextId={`${actionName}-${timelineId}`}
data={data}
fileIcon={fileIcon}

View file

@ -7,7 +7,6 @@
import type React from 'react';
import type { Filter } from '@kbn/es-query';
import { BrowserFields } from '../../../../../../../timelines/common/search_strategy';
import { ColumnHeaderOptions, RowRenderer } from '../../../../../../common/types';
import { Ecs } from '../../../../../../common/ecs';
@ -16,7 +15,6 @@ import { TimelineNonEcsData } from '../../../../../../common/search_strategy/tim
export interface ColumnRenderer {
isInstance: (columnName: string, data: TimelineNonEcsData[]) => boolean;
renderColumn: ({
browserFields,
className,
columnName,
eventId,
@ -31,7 +29,6 @@ export interface ColumnRenderer {
values,
}: {
asPlainText?: boolean;
browserFields?: BrowserFields;
className?: string;
columnName: string;
ecsData?: Ecs;

View file

@ -54,7 +54,6 @@ describe('threatMatchRowRenderer', () => {
describe('#renderRow', () => {
it('renders correctly against snapshot', () => {
const children = threatMatchRowRenderer.renderRow({
browserFields: {},
data: threatMatchData,
isDraggable: true,
timelineId: 'test',

View file

@ -9,7 +9,6 @@ import React from 'react';
import '../../../../../../common/mock/match_media';
import { TestProviders } from '../../../../../../common/mock';
import { mockBrowserFields } from '../../../../../../common/containers/source/mock';
import { mockEndgameDnsRequest } from '../../../../../../common/mock/mock_endgame_ecs_data';
import { useMountAppended } from '../../../../../../common/utils/use_mount_appended';
@ -32,7 +31,6 @@ describe('DnsRequestEventDetails', () => {
const wrapper = mount(
<TestProviders>
<DnsRequestEventDetails
browserFields={mockBrowserFields}
contextId="test-context"
data={mockEndgameDnsRequest}
timelineId="timeline-id-test"

View file

@ -9,7 +9,6 @@ import { EuiSpacer } from '@elastic/eui';
import { get } from 'lodash/fp';
import React from 'react';
import { BrowserFields } from '../../../../../../common/containers/source';
import { Details } from '../helpers';
import { Ecs } from '../../../../../../../common/ecs';
import { NetflowRenderer } from '../netflow';
@ -17,7 +16,6 @@ import { NetflowRenderer } from '../netflow';
import { DnsRequestEventDetailsLine } from './dns_request_event_details_line';
interface Props {
browserFields: BrowserFields;
contextId: string;
data: Ecs;
isDraggable?: boolean;

View file

@ -9,7 +9,6 @@ import React from 'react';
import '../../../../../../common/mock/match_media';
import { TestProviders } from '../../../../../../common/mock';
import { mockBrowserFields } from '../../../../../../common/containers/source/mock';
import {
mockEndgameAdminLogon,
mockEndgameExplicitUserLogon,
@ -37,7 +36,6 @@ describe('EndgameSecurityEventDetails', () => {
const wrapper = mount(
<TestProviders>
<EndgameSecurityEventDetails
browserFields={mockBrowserFields}
contextId="test-context"
data={mockEndgameUserLogon}
timelineId="timeline-id-test"
@ -53,7 +51,6 @@ describe('EndgameSecurityEventDetails', () => {
const wrapper = mount(
<TestProviders>
<EndgameSecurityEventDetails
browserFields={mockBrowserFields}
contextId="test-context"
data={mockEndgameAdminLogon}
timelineId="timeline-id-test"
@ -69,7 +66,6 @@ describe('EndgameSecurityEventDetails', () => {
const wrapper = mount(
<TestProviders>
<EndgameSecurityEventDetails
browserFields={mockBrowserFields}
contextId="test-context"
data={mockEndgameExplicitUserLogon}
timelineId="timeline-id-test"
@ -85,7 +81,6 @@ describe('EndgameSecurityEventDetails', () => {
const wrapper = mount(
<TestProviders>
<EndgameSecurityEventDetails
browserFields={mockBrowserFields}
contextId="test-context"
data={mockEndgameUserLogoff}
timelineId="timeline-id-test"

View file

@ -9,7 +9,6 @@ import { EuiSpacer } from '@elastic/eui';
import { get } from 'lodash/fp';
import React from 'react';
import { BrowserFields } from '../../../../../../common/containers/source';
import { Ecs } from '../../../../../../../common/ecs';
import { NetflowRenderer } from '../netflow';
@ -17,7 +16,6 @@ import { EndgameSecurityEventDetailsLine } from './endgame_security_event_detail
import { Details } from '../helpers';
interface Props {
browserFields: BrowserFields;
contextId: string;
data: Ecs;
isDraggable?: boolean;

View file

@ -11,7 +11,6 @@ import React from 'react';
import { removeExternalLinkText } from '@kbn/securitysolution-io-ts-utils';
import '../../../../../common/mock/match_media';
import { mockBrowserFields } from '../../../../../common/containers/source/mock';
import { Ecs } from '../../../../../../common/ecs';
import { mockTimelineData } from '../../../../../common/mock';
import { TestProviders } from '../../../../../common/mock/test_providers';
@ -57,7 +56,6 @@ describe('get_column_renderer', () => {
test('renders correctly against snapshot', () => {
const rowRenderer = getRowRenderer(nonSuricata, defaultRowRenderers);
const row = rowRenderer?.renderRow({
browserFields: mockBrowserFields,
data: nonSuricata,
isDraggable: true,
timelineId: 'test',
@ -70,7 +68,6 @@ describe('get_column_renderer', () => {
test('should render plain row data when it is a non suricata row', () => {
const rowRenderer = getRowRenderer(nonSuricata, defaultRowRenderers);
const row = rowRenderer?.renderRow({
browserFields: mockBrowserFields,
data: nonSuricata,
isDraggable: true,
timelineId: 'test',
@ -86,7 +83,6 @@ describe('get_column_renderer', () => {
test('should render a suricata row data when it is a suricata row', () => {
const rowRenderer = getRowRenderer(suricata, defaultRowRenderers);
const row = rowRenderer?.renderRow({
browserFields: mockBrowserFields,
data: suricata,
isDraggable: true,
timelineId: 'test',
@ -105,7 +101,6 @@ describe('get_column_renderer', () => {
suricata.event = { ...suricata.event, ...{ category: ['network_traffic'] } };
const rowRenderer = getRowRenderer(suricata, defaultRowRenderers);
const row = rowRenderer?.renderRow({
browserFields: mockBrowserFields,
data: suricata,
isDraggable: true,
timelineId: 'test',
@ -124,7 +119,6 @@ describe('get_column_renderer', () => {
zeek.event = { ...zeek.event, ...{ category: ['network_traffic'] } };
const rowRenderer = getRowRenderer(zeek, defaultRowRenderers);
const row = rowRenderer?.renderRow({
browserFields: mockBrowserFields,
data: zeek,
isDraggable: true,
timelineId: 'test',
@ -143,7 +137,6 @@ describe('get_column_renderer', () => {
system.event = { ...system.event, ...{ category: ['network_traffic'] } };
const rowRenderer = getRowRenderer(system, defaultRowRenderers);
const row = rowRenderer?.renderRow({
browserFields: mockBrowserFields,
data: system,
isDraggable: true,
timelineId: 'test',
@ -162,7 +155,6 @@ describe('get_column_renderer', () => {
auditd.event = { ...auditd.event, ...{ category: ['network_traffic'] } };
const rowRenderer = getRowRenderer(auditd, defaultRowRenderers);
const row = rowRenderer?.renderRow({
browserFields: mockBrowserFields,
data: auditd,
isDraggable: true,
timelineId: 'test',

View file

@ -9,8 +9,6 @@ import { shallow } from 'enzyme';
import React from 'react';
import '../../../../../../common/mock/match_media';
import { BrowserFields } from '../../../../../../common/containers/source';
import { mockBrowserFields } from '../../../../../../common/containers/source/mock';
import { Ecs } from '../../../../../../../common/ecs';
import { getMockNetflowData, TestProviders } from '../../../../../../common/mock';
import { useMountAppended } from '../../../../../../common/utils/use_mount_appended';
@ -34,9 +32,7 @@ describe('netflowRowRenderer', () => {
const mount = useMountAppended();
test('renders correctly against snapshot', () => {
const browserFields: BrowserFields = {};
const children = netflowRowRenderer.renderRow({
browserFields,
data: getMockNetflowData(),
isDraggable: true,
timelineId: 'test',
@ -106,7 +102,6 @@ describe('netflowRowRenderer', () => {
test('should render netflow data', () => {
const children = netflowRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: getMockNetflowData(),
isDraggable: true,
timelineId: 'test',

View file

@ -9,7 +9,6 @@ import { mount, shallow } from 'enzyme';
import { cloneDeep } from 'lodash';
import React from 'react';
import { mockBrowserFields } from '../../../../../common/containers/source/mock';
import { Ecs } from '../../../../../../common/ecs';
import { mockTimelineData } from '../../../../../common/mock';
import { plainRowRenderer } from './plain_row_renderer';
@ -22,7 +21,6 @@ describe('plain_row_renderer', () => {
test('renders correctly against snapshot', () => {
const children = plainRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: mockDatum,
isDraggable: true,
timelineId: 'test',
@ -37,7 +35,6 @@ describe('plain_row_renderer', () => {
test('should render a plain row', () => {
const children = plainRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: mockDatum,
isDraggable: true,
timelineId: 'test',

View file

@ -14,7 +14,6 @@ import { reasonColumnRenderer } from './reason_column_renderer';
import { plainColumnRenderer } from './plain_column_renderer';
import { RowRendererId, ColumnHeaderOptions, RowRenderer } from '../../../../../../common/types';
import { BrowserFields } from '../../../../../../common/search_strategy';
import { render } from '@testing-library/react';
import { TestProviders } from '../../../../../../../timelines/public/mock';
@ -61,7 +60,6 @@ const rowRenderers: RowRenderer[] = [
renderRow: () => <span data-test-subj="test-row-render" />,
},
];
const browserFields: BrowserFields = {};
const defaultProps = {
columnName: REASON_FIELD_NAME,
@ -83,19 +81,18 @@ describe('reasonColumnRenderer', () => {
});
describe('renderColumn', () => {
it('calls `plainColumnRenderer.renderColumn` when ecsData, rowRenderers or browserFields is empty', () => {
it('calls `plainColumnRenderer.renderColumn` when ecsData, or rowRenderers is empty', () => {
reasonColumnRenderer.renderColumn(defaultProps);
expect(plainColumnRenderer.renderColumn).toBeCalledTimes(1);
});
it("doesn't call `plainColumnRenderer.renderColumn` in expanded value when ecsData, rowRenderers or browserFields fields are not empty", () => {
it("doesn't call `plainColumnRenderer.renderColumn` in expanded value when ecsData, or rowRenderers fields are not empty", () => {
reasonColumnRenderer.renderColumn({
...defaultProps,
isDetails: true,
ecsData: invalidEcs,
rowRenderers,
browserFields,
});
expect(plainColumnRenderer.renderColumn).toBeCalledTimes(0);
@ -107,7 +104,6 @@ describe('reasonColumnRenderer', () => {
isDetails: false,
ecsData: invalidEcs,
rowRenderers,
browserFields,
});
expect(plainColumnRenderer.renderColumn).toBeCalledTimes(1);
@ -119,7 +115,6 @@ describe('reasonColumnRenderer', () => {
isDetails: true,
ecsData: invalidEcs,
rowRenderers,
browserFields,
});
const wrapper = render(<TestProviders>{renderedColumn}</TestProviders>);
@ -133,7 +128,6 @@ describe('reasonColumnRenderer', () => {
isDetails: true,
ecsData: validEcs,
rowRenderers,
browserFields,
});
const wrapper = render(<TestProviders>{renderedColumn}</TestProviders>);

View file

@ -10,7 +10,6 @@ import { isEqual } from 'lodash/fp';
import React, { useMemo } from 'react';
import { ColumnHeaderOptions, RowRenderer } from '../../../../../../common/types';
import { BrowserFields } from '../../../../../../common/search_strategy';
import { Ecs } from '../../../../../../common/ecs';
import { eventRendererNames } from '../../../row_renderers_browser/catalog/constants';
import { ColumnRenderer } from './column_renderer';
@ -23,7 +22,6 @@ export const reasonColumnRenderer: ColumnRenderer = {
isInstance: isEqual(REASON_FIELD_NAME),
renderColumn: ({
browserFields,
columnName,
ecsData,
eventId,
@ -36,7 +34,6 @@ export const reasonColumnRenderer: ColumnRenderer = {
truncate,
values,
}: {
browserFields?: BrowserFields;
columnName: string;
ecsData?: Ecs;
eventId: string;
@ -49,10 +46,9 @@ export const reasonColumnRenderer: ColumnRenderer = {
truncate?: boolean;
values: string[] | undefined | null;
}) => {
if (isDetails && values && ecsData && rowRenderers && browserFields) {
if (isDetails && values && ecsData && rowRenderers) {
return values.map((value, i) => (
<ReasonCell
browserFields={browserFields}
ecsData={ecsData}
key={`reason-column-renderer-value-${timelineId}-${columnName}-${eventId}-${field.id}-${value}-${i}`}
rowRenderers={rowRenderers}
@ -81,21 +77,19 @@ const ReasonCell: React.FC<{
timelineId: string;
ecsData: Ecs;
rowRenderers: RowRenderer[];
browserFields: BrowserFields;
}> = ({ ecsData, rowRenderers, browserFields, timelineId, value }) => {
}> = ({ ecsData, rowRenderers, timelineId, value }) => {
const rowRenderer = useMemo(() => getRowRenderer(ecsData, rowRenderers), [ecsData, rowRenderers]);
const rowRender = useMemo(() => {
return (
rowRenderer &&
rowRenderer.renderRow({
browserFields,
data: ecsData,
isDraggable: false,
timelineId,
})
);
}, [rowRenderer, browserFields, ecsData, timelineId]);
}, [rowRenderer, ecsData, timelineId]);
return (
<>

View file

@ -4,596 +4,6 @@ exports[`suricata_row_renderer renders correctly against snapshot 1`] = `
<span>
<RowRendererContainer>
<SuricataDetails
browserFields={
Object {
"agent": Object {
"fields": Object {
"agent.ephemeral_id": Object {
"aggregatable": true,
"category": "agent",
"description": "Ephemeral identifier of this agent (if one exists). This id normally changes across restarts, but \`agent.id\` does not.",
"example": "8a4f500f",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "agent.ephemeral_id",
"searchable": true,
"type": "string",
},
"agent.hostname": Object {
"aggregatable": true,
"category": "agent",
"description": null,
"example": null,
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "agent.hostname",
"searchable": true,
"type": "string",
},
"agent.id": Object {
"aggregatable": true,
"category": "agent",
"description": "Unique identifier of this agent (if one exists). Example: For Beats this would be beat.id.",
"example": "8a4f500d",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "agent.id",
"searchable": true,
"type": "string",
},
"agent.name": Object {
"aggregatable": true,
"category": "agent",
"description": "Name of the agent. This is a name that can be given to an agent. This can be helpful if for example two Filebeat instances are running on the same host but a human readable separation is needed on which Filebeat instance data is coming from. If no name is given, the name is often left empty.",
"example": "foo",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "agent.name",
"searchable": true,
"type": "string",
},
},
},
"auditd": Object {
"fields": Object {
"auditd.data.a0": Object {
"aggregatable": true,
"category": "auditd",
"description": null,
"example": null,
"format": "",
"indexes": Array [
"auditbeat",
],
"name": "auditd.data.a0",
"searchable": true,
"type": "string",
},
"auditd.data.a1": Object {
"aggregatable": true,
"category": "auditd",
"description": null,
"example": null,
"format": "",
"indexes": Array [
"auditbeat",
],
"name": "auditd.data.a1",
"searchable": true,
"type": "string",
},
"auditd.data.a2": Object {
"aggregatable": true,
"category": "auditd",
"description": null,
"example": null,
"format": "",
"indexes": Array [
"auditbeat",
],
"name": "auditd.data.a2",
"searchable": true,
"type": "string",
},
},
},
"base": Object {
"fields": Object {
"@timestamp": Object {
"aggregatable": true,
"category": "base",
"description": "Date/time when the event originated. For log events this is the date/time when the event was generated, and not when it was read. Required field for all events.",
"example": "2016-05-23T08:05:34.853Z",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "@timestamp",
"readFromDocValues": true,
"searchable": true,
"type": "date",
},
"_id": Object {
"aggregatable": false,
"category": "base",
"description": "Each document has an _id that uniquely identifies it",
"example": "Y-6TfmcB0WOhS6qyMv3s",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "_id",
"searchable": true,
"type": "string",
},
"message": Object {
"aggregatable": false,
"category": "base",
"description": "For log events the message field contains the log message, optimized for viewing in a log viewer. For structured logs without an original message field, other fields can be concatenated to form a human-readable summary of the event. If multiple messages exist, they can be combined into one message.",
"example": "Hello World",
"format": "string",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "message",
"searchable": true,
"type": "string",
},
},
},
"client": Object {
"fields": Object {
"client.address": Object {
"aggregatable": true,
"category": "client",
"description": "Some event client addresses are defined ambiguously. The event will sometimes list an IP, a domain or a unix socket. You should always store the raw address in the \`.address\` field. Then it should be duplicated to \`.ip\` or \`.domain\`, depending on which one it is.",
"example": null,
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "client.address",
"searchable": true,
"type": "string",
},
"client.bytes": Object {
"aggregatable": true,
"category": "client",
"description": "Bytes sent from the client to the server.",
"example": "184",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "client.bytes",
"searchable": true,
"type": "number",
},
"client.domain": Object {
"aggregatable": true,
"category": "client",
"description": "Client domain.",
"example": null,
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "client.domain",
"searchable": true,
"type": "string",
},
"client.geo.country_iso_code": Object {
"aggregatable": true,
"category": "client",
"description": "Country ISO code.",
"example": "CA",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "client.geo.country_iso_code",
"searchable": true,
"type": "string",
},
},
},
"cloud": Object {
"fields": Object {
"cloud.account.id": Object {
"aggregatable": true,
"category": "cloud",
"description": "The cloud account or organization id used to identify different entities in a multi-tenant environment. Examples: AWS account id, Google Cloud ORG Id, or other unique identifier.",
"example": "666777888999",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "cloud.account.id",
"searchable": true,
"type": "string",
},
"cloud.availability_zone": Object {
"aggregatable": true,
"category": "cloud",
"description": "Availability zone in which this host is running.",
"example": "us-east-1c",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "cloud.availability_zone",
"searchable": true,
"type": "string",
},
},
},
"container": Object {
"fields": Object {
"container.id": Object {
"aggregatable": true,
"category": "container",
"description": "Unique container id.",
"example": null,
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "container.id",
"searchable": true,
"type": "string",
},
"container.image.name": Object {
"aggregatable": true,
"category": "container",
"description": "Name of the image the container was built on.",
"example": null,
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "container.image.name",
"searchable": true,
"type": "string",
},
"container.image.tag": Object {
"aggregatable": true,
"category": "container",
"description": "Container image tag.",
"example": null,
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "container.image.tag",
"searchable": true,
"type": "string",
},
},
},
"destination": Object {
"fields": Object {
"destination.address": Object {
"aggregatable": true,
"category": "destination",
"description": "Some event destination addresses are defined ambiguously. The event will sometimes list an IP, a domain or a unix socket. You should always store the raw address in the \`.address\` field. Then it should be duplicated to \`.ip\` or \`.domain\`, depending on which one it is.",
"example": null,
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "destination.address",
"searchable": true,
"type": "string",
},
"destination.bytes": Object {
"aggregatable": true,
"category": "destination",
"description": "Bytes sent from the destination to the source.",
"example": "184",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "destination.bytes",
"searchable": true,
"type": "number",
},
"destination.domain": Object {
"aggregatable": true,
"category": "destination",
"description": "Destination domain.",
"example": null,
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "destination.domain",
"searchable": true,
"type": "string",
},
"destination.ip": Object {
"aggregatable": true,
"category": "destination",
"description": "IP address of the destination. Can be one or multiple IPv4 or IPv6 addresses.",
"example": "",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "destination.ip",
"searchable": true,
"type": "ip",
},
"destination.port": Object {
"aggregatable": true,
"category": "destination",
"description": "Port of the destination.",
"example": "",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "destination.port",
"searchable": true,
"type": "long",
},
},
},
"event": Object {
"fields": Object {
"event.action": Object {
"aggregatable": true,
"category": "event",
"description": "The action captured by the event. This describes the information in the event. It is more specific than \`event.category\`. Examples are \`group-add\`, \`process-started\`, \`file-created\`. The value is normally defined by the implementer.",
"example": "user-password-change",
"format": "string",
"indexes": Array [
"apm-*-transaction*",
"traces-apm*",
"auditbeat-*",
"endgame-*",
"filebeat-*",
"logs-*",
"packetbeat-*",
"winlogbeat-*",
],
"name": "event.action",
"searchable": true,
"type": "string",
},
"event.category": Object {
"aggregatable": true,
"category": "event",
"description": "This is one of four ECS Categorization Fields, and indicates the second level in the ECS category hierarchy. \`event.category\` represents the \\"big buckets\\" of ECS categories. For example, filtering on \`event.category:process\` yields all events relating to process activity. This field is closely related to \`event.type\`, which is used as a subcategory. This field is an array. This will allow proper categorization of some events that fall in multiple categories.",
"example": "authentication",
"format": "string",
"indexes": Array [
"apm-*-transaction*",
"traces-apm*",
"auditbeat-*",
"endgame-*",
"filebeat-*",
"logs-*",
"packetbeat-*",
"winlogbeat-*",
],
"name": "event.category",
"searchable": true,
"type": "string",
},
"event.end": Object {
"aggregatable": true,
"category": "event",
"description": "event.end contains the date when the event ended or when the activity was last observed.",
"example": null,
"format": "",
"indexes": Array [
"apm-*-transaction*",
"traces-apm*",
"auditbeat-*",
"endgame-*",
"filebeat-*",
"logs-*",
"packetbeat-*",
"winlogbeat-*",
],
"name": "event.end",
"searchable": true,
"type": "date",
},
"event.severity": Object {
"aggregatable": true,
"category": "event",
"description": "The numeric severity of the event according to your event source. What the different severity values mean can be different between sources and use cases. It's up to the implementer to make sure severities are consistent across events from the same source. The Syslog severity belongs in \`log.syslog.severity.code\`. \`event.severity\` is meant to represent the severity according to the event source (e.g. firewall, IDS). If the event source does not publish its own severity, you may optionally copy the \`log.syslog.severity.code\` to \`event.severity\`.",
"example": 7,
"format": "number",
"indexes": Array [
"apm-*-transaction*",
"traces-apm*",
"auditbeat-*",
"endgame-*",
"filebeat-*",
"logs-*",
"packetbeat-*",
"winlogbeat-*",
],
"name": "event.severity",
"searchable": true,
"type": "number",
},
},
},
"host": Object {
"fields": Object {
"host.name": Object {
"aggregatable": true,
"category": "host",
"description": "Name of the host. It can contain what \`hostname\` returns on Unix systems, the fully qualified domain name, or a name specified by the user. The sender decides which value to use.",
"format": "string",
"indexes": Array [
"apm-*-transaction*",
"traces-apm*",
"auditbeat-*",
"endgame-*",
"filebeat-*",
"logs-*",
"packetbeat-*",
"winlogbeat-*",
],
"name": "host.name",
"searchable": true,
"type": "string",
},
},
},
"nestedField": Object {
"fields": Object {
"nestedField.firstAttributes": Object {
"aggregatable": false,
"category": "nestedField",
"description": "",
"example": "",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "nestedField.firstAttributes",
"searchable": true,
"subType": Object {
"nested": Object {
"path": "nestedField",
},
},
"type": "string",
},
"nestedField.secondAttributes": Object {
"aggregatable": false,
"category": "nestedField",
"description": "",
"example": "",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "nestedField.secondAttributes",
"searchable": true,
"subType": Object {
"nested": Object {
"path": "nestedField",
},
},
"type": "string",
},
},
},
"source": Object {
"fields": Object {
"source.ip": Object {
"aggregatable": true,
"category": "source",
"description": "IP address of the source. Can be one or multiple IPv4 or IPv6 addresses.",
"example": "",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "source.ip",
"searchable": true,
"type": "ip",
},
"source.port": Object {
"aggregatable": true,
"category": "source",
"description": "Port of the source.",
"example": "",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "source.port",
"searchable": true,
"type": "long",
},
},
},
"user": Object {
"fields": Object {
"user.name": Object {
"aggregatable": true,
"category": "user",
"description": "Short name or login of the user.",
"example": "albert",
"format": "string",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "user.name",
"searchable": true,
"type": "string",
},
},
},
}
}
data={
Object {
"_id": "1",

View file

@ -9,7 +9,6 @@ import { shallow } from 'enzyme';
import React from 'react';
import { removeExternalLinkText } from '@kbn/securitysolution-io-ts-utils';
import { mockBrowserFields } from '../../../../../../common/containers/source/mock';
import { mockTimelineData } from '../../../../../../common/mock';
import '../../../../../../common/mock/match_media';
import { TestProviders } from '../../../../../../common/mock/test_providers';
@ -33,24 +32,14 @@ describe('SuricataDetails', () => {
describe('rendering', () => {
test('it renders the default SuricataDetails', () => {
const wrapper = shallow(
<SuricataDetails
data={mockTimelineData[2].ecs}
browserFields={mockBrowserFields}
timelineId="test"
/>
);
const wrapper = shallow(<SuricataDetails data={mockTimelineData[2].ecs} timelineId="test" />);
expect(wrapper).toMatchSnapshot();
});
test('it returns text if the data does contain suricata data', () => {
const wrapper = mount(
<TestProviders>
<SuricataDetails
data={mockTimelineData[2].ecs}
browserFields={mockBrowserFields}
timelineId="test"
/>
<SuricataDetails data={mockTimelineData[2].ecs} timelineId="test" />
</TestProviders>
);
const removeEuiIconText = removeExternalLinkText(wrapper.text()).replaceAll(
@ -63,13 +52,7 @@ describe('SuricataDetails', () => {
});
test('it returns null for text if the data contains no suricata data', () => {
const wrapper = shallow(
<SuricataDetails
data={mockTimelineData[0].ecs}
browserFields={mockBrowserFields}
timelineId="test"
/>
);
const wrapper = shallow(<SuricataDetails data={mockTimelineData[0].ecs} timelineId="test" />);
expect(wrapper.isEmptyRender()).toBeTruthy();
});
});

View file

@ -10,7 +10,6 @@ import { get } from 'lodash/fp';
import React from 'react';
import styled from 'styled-components';
import { BrowserFields } from '../../../../../../common/containers/source';
import { Ecs } from '../../../../../../../common/ecs';
import { NetflowRenderer } from '../netflow';
@ -24,7 +23,6 @@ const Details = styled.div`
Details.displayName = 'Details';
export const SuricataDetails = React.memo<{
browserFields: BrowserFields;
data: Ecs;
isDraggable?: boolean;
timelineId: string;

View file

@ -10,7 +10,6 @@ import { cloneDeep } from 'lodash/fp';
import React from 'react';
import { removeExternalLinkText } from '@kbn/securitysolution-io-ts-utils';
import { mockBrowserFields } from '../../../../../../common/containers/source/mock';
import { Ecs } from '../../../../../../../common/ecs';
import { mockTimelineData } from '../../../../../../common/mock';
import '../../../../../../common/mock/match_media';
@ -42,7 +41,6 @@ describe('suricata_row_renderer', () => {
test('renders correctly against snapshot', () => {
const children = suricataRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: nonSuricata,
isDraggable: true,
timelineId: 'test',
@ -62,7 +60,6 @@ describe('suricata_row_renderer', () => {
test('should render a suricata row', () => {
const children = suricataRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: suricata,
isDraggable: true,
timelineId: 'test',
@ -85,7 +82,6 @@ describe('suricata_row_renderer', () => {
test('should render a suricata row even if it does not have a suricata signature', () => {
delete suricata?.suricata?.eve?.alert?.signature;
const children = suricataRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: suricata,
isDraggable: true,
timelineId: 'test',

View file

@ -19,14 +19,9 @@ export const suricataRowRenderer: RowRenderer = {
const module: string | null | undefined = get('event.module[0]', ecs);
return module != null && module.toLowerCase() === 'suricata';
},
renderRow: ({ browserFields, data, isDraggable, timelineId }) => (
renderRow: ({ data, isDraggable, timelineId }) => (
<RowRendererContainer>
<SuricataDetails
data={data}
browserFields={browserFields}
isDraggable={isDraggable}
timelineId={timelineId}
/>
<SuricataDetails data={data} isDraggable={isDraggable} timelineId={timelineId} />
</RowRendererContainer>
),
};

View file

@ -4,7 +4,6 @@ exports[`GenericRowRenderer #createGenericFileRowRenderer renders correctly agai
<span>
<RowRendererContainer>
<SystemGenericFileDetails
browserFields={Object {}}
contextId="user_login-test"
data={
Object {
@ -68,7 +67,6 @@ exports[`GenericRowRenderer #createGenericSystemRowRenderer renders correctly ag
<span>
<RowRendererContainer>
<SystemGenericDetails
browserFields={Object {}}
contextId="process_started-test"
data={
Object {

View file

@ -9,8 +9,6 @@ import { shallow } from 'enzyme';
import React from 'react';
import '../../../../../../common/mock/match_media';
import { BrowserFields } from '../../../../../../common/containers/source';
import { mockBrowserFields } from '../../../../../../common/containers/source/mock';
import { mockTimelineData, TestProviders } from '../../../../../../common/mock';
import { SystemGenericDetails, SystemGenericLine } from './generic_details';
import { useMountAppended } from '../../../../../../common/utils/use_mount_appended';
@ -32,13 +30,10 @@ describe('SystemGenericDetails', () => {
describe('rendering', () => {
test('it renders the default SystemGenericDetails', () => {
// I cannot and do not want to use BrowserFields for the mocks for the snapshot tests as they are too heavy
const browserFields: BrowserFields = {};
const wrapper = shallow(
<SystemGenericDetails
contextId="[contextid-123]"
text="[generic-text-123]"
browserFields={browserFields}
data={mockTimelineData[28].ecs}
timelineId="test"
/>
@ -52,7 +47,6 @@ describe('SystemGenericDetails', () => {
<SystemGenericDetails
contextId="[contextid-123]"
text="[generic-text-123]"
browserFields={mockBrowserFields}
data={mockTimelineData[28].ecs}
timelineId="test"
/>

View file

@ -9,7 +9,6 @@ import { EuiFlexGroup, EuiSpacer } from '@elastic/eui';
import { get } from 'lodash/fp';
import React from 'react';
import { BrowserFields } from '../../../../../../common/containers/source';
import { Ecs } from '../../../../../../../common/ecs';
import { DraggableBadge } from '../../../../../../common/components/draggables';
import { OverflowField } from '../../../../../../common/components/tables/helpers';
@ -141,7 +140,6 @@ export const SystemGenericLine = React.memo<Props>(
SystemGenericLine.displayName = 'SystemGenericLine';
interface GenericDetailsProps {
browserFields: BrowserFields;
contextId: string;
data: Ecs;
isDraggable?: boolean;

View file

@ -8,8 +8,6 @@
import { shallow } from 'enzyme';
import React from 'react';
import { BrowserFields } from '../../../../../../common/containers/source';
import { mockBrowserFields } from '../../../../../../common/containers/source/mock';
import '../../../../../../common/mock/match_media';
import { mockTimelineData, TestProviders } from '../../../../../../common/mock';
import { mockEndgameCreationEvent } from '../../../../../../common/mock/mock_endgame_ecs_data';
@ -43,13 +41,10 @@ describe('SystemGenericFileDetails', () => {
describe('rendering', () => {
test('it renders the default SystemGenericDetails', () => {
// I cannot and do not want to use BrowserFields for the mocks for the snapshot tests as they are too heavy
const browserFields: BrowserFields = {};
const wrapper = shallow(
<SystemGenericFileDetails
contextId="[contextid-123]"
text="[generic-text-123]"
browserFields={browserFields}
data={mockTimelineData[29].ecs}
timelineId="test"
/>
@ -63,7 +58,6 @@ describe('SystemGenericFileDetails', () => {
<SystemGenericFileDetails
contextId="[contextid-123]"
text="[generic-text-123]"
browserFields={mockBrowserFields}
data={mockTimelineData[29].ecs}
timelineId="test"
/>
@ -80,7 +74,6 @@ describe('SystemGenericFileDetails', () => {
<SystemGenericFileDetails
contextId="[contextid-123]"
text="[generic-text-123]"
browserFields={mockBrowserFields}
data={mockEndgameCreationEvent}
timelineId="test"
/>

View file

@ -9,7 +9,6 @@ import { EuiFlexGroup, EuiSpacer } from '@elastic/eui';
import { get } from 'lodash/fp';
import React from 'react';
import { BrowserFields } from '../../../../../../common/containers/source';
import { Ecs } from '../../../../../../../common/ecs';
import { DraggableBadge } from '../../../../../../common/components/draggables';
import { OverflowField } from '../../../../../../common/components/tables/helpers';
@ -251,7 +250,6 @@ export const SystemGenericFileLine = React.memo<Props>(
SystemGenericFileLine.displayName = 'SystemGenericFileLine';
interface GenericDetailsProps {
browserFields: BrowserFields;
contextId: string;
data: Ecs;
isDraggable?: boolean;

View file

@ -10,8 +10,6 @@ import { cloneDeep } from 'lodash/fp';
import React from 'react';
import { removeExternalLinkText } from '@kbn/securitysolution-io-ts-utils';
import { BrowserFields } from '../../../../../../common/containers/source';
import { mockBrowserFields } from '../../../../../../common/containers/source/mock';
import { Ecs } from '../../../../../../../common/ecs';
import {
mockDnsEvent,
@ -118,10 +116,7 @@ describe('GenericRowRenderer', () => {
});
});
test('renders correctly against snapshot', () => {
// I cannot and do not want to use BrowserFields mocks for the snapshot tests as they are too heavy
const browserFields: BrowserFields = {};
const children = connectedToRenderer.renderRow({
browserFields,
data: system,
isDraggable: true,
timelineId: 'test',
@ -151,7 +146,6 @@ describe('GenericRowRenderer', () => {
});
test('should render a system row', () => {
const children = connectedToRenderer.renderRow({
browserFields: mockBrowserFields,
data: system,
isDraggable: true,
timelineId: 'test',
@ -182,10 +176,7 @@ describe('GenericRowRenderer', () => {
});
test('renders correctly against snapshot', () => {
// I cannot and do not want to use BrowserFields mocks for the snapshot tests as they are too heavy
const browserFields: BrowserFields = {};
const children = fileToRenderer.renderRow({
browserFields,
data: systemFile,
isDraggable: true,
timelineId: 'test',
@ -214,7 +205,6 @@ describe('GenericRowRenderer', () => {
test('should render a system row', () => {
const children = fileToRenderer.renderRow({
browserFields: mockBrowserFields,
data: systemFile,
isDraggable: true,
timelineId: 'test',
@ -246,7 +236,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{endpointAlertsRowRenderer.isInstance(mockEndpointFileCreationMalwarePreventionAlert) &&
endpointAlertsRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: mockEndpointFileCreationMalwarePreventionAlert,
isDraggable: true,
timelineId: 'test',
@ -274,7 +263,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{endpointAlertsRowRenderer.isInstance(mockEndpointFileCreationMalwareDetectionAlert) &&
endpointAlertsRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: mockEndpointFileCreationMalwareDetectionAlert,
isDraggable: true,
timelineId: 'test',
@ -304,7 +292,6 @@ describe('GenericRowRenderer', () => {
mockEndpointFilesEncryptedRansomwarePreventionAlert
) &&
endpointAlertsRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: mockEndpointFilesEncryptedRansomwarePreventionAlert,
isDraggable: true,
timelineId: 'test',
@ -334,7 +321,6 @@ describe('GenericRowRenderer', () => {
mockEndpointFilesEncryptedRansomwareDetectionAlert
) &&
endpointAlertsRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: mockEndpointFilesEncryptedRansomwareDetectionAlert,
isDraggable: true,
timelineId: 'test',
@ -364,7 +350,6 @@ describe('GenericRowRenderer', () => {
mockEndpointFileModificationMalwarePreventionAlert
) &&
endpointAlertsRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: mockEndpointFileModificationMalwarePreventionAlert,
isDraggable: true,
timelineId: 'test',
@ -394,7 +379,6 @@ describe('GenericRowRenderer', () => {
mockEndpointFileModificationMalwareDetectionAlert
) &&
endpointAlertsRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: mockEndpointFileModificationMalwareDetectionAlert,
isDraggable: true,
timelineId: 'test',
@ -422,7 +406,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{endpointAlertsRowRenderer.isInstance(mockEndpointFileRenameMalwarePreventionAlert) &&
endpointAlertsRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: mockEndpointFileRenameMalwarePreventionAlert,
isDraggable: true,
timelineId: 'test',
@ -450,7 +433,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{endpointAlertsRowRenderer.isInstance(mockEndpointFileRenameMalwareDetectionAlert) &&
endpointAlertsRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: mockEndpointFileRenameMalwareDetectionAlert,
isDraggable: true,
timelineId: 'test',
@ -480,7 +462,6 @@ describe('GenericRowRenderer', () => {
mockEndpointProcessExecutionMalwarePreventionAlert
) &&
endpointAlertsRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: mockEndpointProcessExecutionMalwarePreventionAlert,
isDraggable: true,
timelineId: 'test',
@ -510,7 +491,6 @@ describe('GenericRowRenderer', () => {
mockEndpointProcessExecutionMalwareDetectionAlert
) &&
endpointAlertsRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: mockEndpointProcessExecutionMalwareDetectionAlert,
isDraggable: true,
timelineId: 'test',
@ -538,7 +518,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{endpointProcessStartRowRenderer.isInstance(mockEndpointProcessExecEvent) &&
endpointProcessStartRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: mockEndpointProcessExecEvent,
isDraggable: true,
timelineId: 'test',
@ -564,7 +543,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{endpointProcessStartRowRenderer.isInstance(mockEndpointProcessForkEvent) &&
endpointProcessStartRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: mockEndpointProcessForkEvent,
isDraggable: true,
timelineId: 'test',
@ -590,7 +568,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{endpointProcessStartRowRenderer.isInstance(mockEndpointProcessStartEvent) &&
endpointProcessStartRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: mockEndpointProcessStartEvent,
isDraggable: true,
timelineId: 'test',
@ -619,7 +596,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{endgameProcessCreationEventRowRenderer.isInstance(endgameCreationEvent) &&
endgameProcessCreationEventRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: endgameCreationEvent,
isDraggable: true,
timelineId: 'test',
@ -645,7 +621,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{endpointProcessEndRowRenderer.isInstance(mockEndpointProcessEndEvent) &&
endpointProcessEndRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: mockEndpointProcessEndEvent,
isDraggable: true,
timelineId: 'test',
@ -674,7 +649,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{endgameProcessTerminationEventRowRenderer.isInstance(endgameTerminationEvent) &&
endgameProcessTerminationEventRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: endgameTerminationEvent,
isDraggable: true,
timelineId: 'test',
@ -703,7 +677,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{endgameProcessCreationEventRowRenderer.isInstance(endgameCreationEvent) &&
endgameProcessCreationEventRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: endgameCreationEvent,
isDraggable: true,
timelineId: 'test',
@ -734,7 +707,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{endgameProcessCreationEventRowRenderer.isInstance(endgameCreationEvent) &&
endgameProcessCreationEventRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: endgameCreationEvent,
isDraggable: true,
timelineId: 'test',
@ -765,7 +737,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{endgameProcessCreationEventRowRenderer.isInstance(endgameCreationEvent) &&
endgameProcessCreationEventRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: endgameCreationEvent,
isDraggable: true,
timelineId: 'test',
@ -791,7 +762,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{endpointFileCreationRowRenderer.isInstance(mockEndpointFileCreationEvent) &&
endpointFileCreationRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: mockEndpointFileCreationEvent,
isDraggable: true,
timelineId: 'test',
@ -820,7 +790,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{endgameFileCreateEventRowRenderer.isInstance(endgameFileCreateEvent) &&
endgameFileCreateEventRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: endgameFileCreateEvent,
isDraggable: true,
timelineId: 'test',
@ -846,7 +815,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{endpointFileDeletionRowRenderer.isInstance(mockEndpointFileDeletionEvent) &&
endpointFileDeletionRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: mockEndpointFileDeletionEvent,
isDraggable: true,
timelineId: 'test',
@ -872,7 +840,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{endpointFileModificationRowRenderer.isInstance(mockEndpointFileModificationEvent) &&
endpointFileModificationRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: mockEndpointFileModificationEvent,
isDraggable: true,
timelineId: 'test',
@ -898,7 +865,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{endpointFileOverwriteRowRenderer.isInstance(mockEndpointFileOverwriteEvent) &&
endpointFileOverwriteRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: mockEndpointFileOverwriteEvent,
isDraggable: true,
timelineId: 'test',
@ -924,7 +890,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{endpointFileRenameRowRenderer.isInstance(mockEndpointFileRenameEvent) &&
endpointFileRenameRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: mockEndpointFileRenameEvent,
isDraggable: true,
timelineId: 'test',
@ -953,7 +918,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{endgameFileDeleteEventRowRenderer.isInstance(endgameFileDeleteEvent) &&
endgameFileDeleteEventRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: endgameFileDeleteEvent,
isDraggable: true,
timelineId: 'test',
@ -982,7 +946,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{fileCreatedEventRowRenderer.isInstance(fimFileCreatedEvent) &&
fileCreatedEventRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: fimFileCreatedEvent,
isDraggable: true,
timelineId: 'test',
@ -1009,7 +972,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{fileDeletedEventRowRenderer.isInstance(fimFileDeletedEvent) &&
fileDeletedEventRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: fimFileDeletedEvent,
isDraggable: true,
timelineId: 'test',
@ -1038,7 +1000,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{endgameFileCreateEventRowRenderer.isInstance(endgameFileCreateEvent) &&
endgameFileCreateEventRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: endgameFileCreateEvent,
isDraggable: true,
timelineId: 'test',
@ -1069,7 +1030,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{endgameFileCreateEventRowRenderer.isInstance(endgameFileCreateEvent) &&
endgameFileCreateEventRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: endgameFileCreateEvent,
isDraggable: true,
timelineId: 'test',
@ -1100,7 +1060,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{fileCreatedEventRowRenderer.isInstance(fimFileCreatedEvent) &&
fileCreatedEventRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: fimFileCreatedEvent,
isDraggable: true,
timelineId: 'test',
@ -1128,7 +1087,6 @@ describe('GenericRowRenderer', () => {
mockEndpointNetworkConnectionAcceptedEvent
) &&
endpointConnectionAcceptedRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: mockEndpointNetworkConnectionAcceptedEvent,
isDraggable: true,
timelineId: 'test',
@ -1157,7 +1115,6 @@ describe('GenericRowRenderer', () => {
mockEndpointRegistryModificationEvent
) &&
endpointRegistryModificationRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: mockEndpointRegistryModificationEvent,
isDraggable: true,
timelineId: 'test',
@ -1185,7 +1142,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{endpointLibraryLoadRowRenderer.isInstance(mockEndpointLibraryLoadEvent) &&
endpointLibraryLoadRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: mockEndpointLibraryLoadEvent,
isDraggable: true,
timelineId: 'test',
@ -1212,7 +1168,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{endpointHttpRequestEventRowRenderer.isInstance(mockEndpointNetworkHttpRequestEvent) &&
endpointHttpRequestEventRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: mockEndpointNetworkHttpRequestEvent,
isDraggable: true,
timelineId: 'test',
@ -1241,7 +1196,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{endgameIpv4ConnectionAcceptEventRowRenderer.isInstance(ipv4ConnectionAcceptEvent) &&
endgameIpv4ConnectionAcceptEventRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: ipv4ConnectionAcceptEvent,
isDraggable: true,
timelineId: 'test',
@ -1270,7 +1224,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{endgameIpv6ConnectionAcceptEventRowRenderer.isInstance(ipv6ConnectionAcceptEvent) &&
endgameIpv6ConnectionAcceptEventRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: ipv6ConnectionAcceptEvent,
isDraggable: true,
timelineId: 'test',
@ -1296,7 +1249,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{endpointDisconnectReceivedRowRenderer.isInstance(mockEndpointDisconnectReceivedEvent) &&
endpointDisconnectReceivedRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: mockEndpointDisconnectReceivedEvent,
isDraggable: true,
timelineId: 'test',
@ -1325,7 +1277,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{endgameIpv4DisconnectReceivedEventRowRenderer.isInstance(ipv4DisconnectReceivedEvent) &&
endgameIpv4DisconnectReceivedEventRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: ipv4DisconnectReceivedEvent,
isDraggable: true,
timelineId: 'test',
@ -1354,7 +1305,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{endgameIpv6DisconnectReceivedEventRowRenderer.isInstance(ipv6DisconnectReceivedEvent) &&
endgameIpv6DisconnectReceivedEventRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: ipv6DisconnectReceivedEvent,
isDraggable: true,
timelineId: 'test',
@ -1383,7 +1333,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{socketOpenedEventRowRenderer.isInstance(socketOpenedEvent) &&
socketOpenedEventRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: socketOpenedEvent,
isDraggable: true,
timelineId: 'test',
@ -1412,7 +1361,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{socketClosedEventRowRenderer.isInstance(socketClosedEvent) &&
socketClosedEventRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: socketClosedEvent,
isDraggable: true,
timelineId: 'test',
@ -1441,7 +1389,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{endgameIpv4ConnectionAcceptEventRowRenderer.isInstance(ipv4ConnectionAcceptEvent) &&
endgameIpv4ConnectionAcceptEventRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: ipv4ConnectionAcceptEvent,
isDraggable: true,
timelineId: 'test',
@ -1463,7 +1410,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{securityLogOnRowRenderer.isInstance(mockEndpointSecurityLogOnSuccessEvent) &&
securityLogOnRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: mockEndpointSecurityLogOnSuccessEvent,
isDraggable: true,
timelineId: 'test',
@ -1485,7 +1431,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{securityLogOnRowRenderer.isInstance(mockEndpointSecurityLogOnFailureEvent) &&
securityLogOnRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: mockEndpointSecurityLogOnFailureEvent,
isDraggable: true,
timelineId: 'test',
@ -1510,7 +1455,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{userLogonEventRowRenderer.isInstance(userLogonEvent) &&
userLogonEventRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: userLogonEvent,
isDraggable: true,
timelineId: 'test',
@ -1535,7 +1479,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{adminLogonEventRowRenderer.isInstance(adminLogonEvent) &&
adminLogonEventRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: adminLogonEvent,
isDraggable: true,
timelineId: 'test',
@ -1560,7 +1503,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{explicitUserLogonEventRowRenderer.isInstance(explicitUserLogonEvent) &&
explicitUserLogonEventRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: explicitUserLogonEvent,
isDraggable: true,
timelineId: 'test',
@ -1582,7 +1524,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{securityLogOffRowRenderer.isInstance(mockEndpointSecurityLogOffEvent) &&
securityLogOffRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: mockEndpointSecurityLogOffEvent,
isDraggable: true,
timelineId: 'test',
@ -1607,7 +1548,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{userLogoffEventRowRenderer.isInstance(userLogoffEvent) &&
userLogoffEventRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: userLogoffEvent,
isDraggable: true,
timelineId: 'test',
@ -1632,7 +1572,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{userLogonEventRowRenderer.isInstance(userLogonEvent) &&
userLogonEventRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: userLogonEvent,
isDraggable: true,
timelineId: 'test',
@ -1652,7 +1591,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{dnsRowRenderer.isInstance(mockEndpointNetworkLookupRequestedEvent) &&
dnsRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: mockEndpointNetworkLookupRequestedEvent,
isDraggable: true,
timelineId: 'test',
@ -1672,7 +1610,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{dnsRowRenderer.isInstance(mockEndpointNetworkLookupResultEvent) &&
dnsRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: mockEndpointNetworkLookupResultEvent,
isDraggable: true,
timelineId: 'test',
@ -1696,7 +1633,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{dnsRowRenderer.isInstance(requestEvent) &&
dnsRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: requestEvent,
isDraggable: true,
timelineId: 'test',
@ -1720,7 +1656,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{dnsRowRenderer.isInstance(dnsEvent) &&
dnsRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: dnsEvent,
isDraggable: true,
timelineId: 'test',
@ -1750,7 +1685,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{dnsRowRenderer.isInstance(requestEvent) &&
dnsRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: requestEvent,
isDraggable: true,
timelineId: 'test',
@ -1778,7 +1712,6 @@ describe('GenericRowRenderer', () => {
<TestProviders>
{dnsRowRenderer.isInstance(requestEvent) &&
dnsRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: requestEvent,
isDraggable: true,
timelineId: 'test',

View file

@ -38,10 +38,9 @@ export const createGenericSystemRowRenderer = ({
action.toLowerCase() === actionName
);
},
renderRow: ({ browserFields, data, isDraggable, timelineId }) => (
renderRow: ({ data, isDraggable, timelineId }) => (
<RowRendererContainer>
<SystemGenericDetails
browserFields={browserFields}
contextId={`${actionName}-${timelineId}`}
data={data}
isDraggable={isDraggable}
@ -70,10 +69,9 @@ export const createEndgameProcessRowRenderer = ({
action?.toLowerCase() === actionName
);
},
renderRow: ({ browserFields, data, isDraggable, timelineId }) => (
renderRow: ({ data, isDraggable, timelineId }) => (
<RowRendererContainer>
<SystemGenericFileDetails
browserFields={browserFields}
data={data}
contextId={`endgame-process-${actionName}-${timelineId}`}
isDraggable={isDraggable}
@ -102,10 +100,9 @@ export const createFimRowRenderer = ({
action?.toLowerCase() === actionName
);
},
renderRow: ({ browserFields, data, isDraggable, timelineId }) => (
renderRow: ({ data, isDraggable, timelineId }) => (
<RowRendererContainer>
<SystemGenericFileDetails
browserFields={browserFields}
data={data}
contextId={`fim-${actionName}-${timelineId}`}
isDraggable={isDraggable}
@ -152,10 +149,9 @@ export const createEndpointAlertsRowRenderer = ({
eventActionMatches
);
},
renderRow: ({ browserFields, data, isDraggable, timelineId }) => (
renderRow: ({ data, isDraggable, timelineId }) => (
<RowRendererContainer>
<SystemGenericFileDetails
browserFields={browserFields}
contextId={`endpoint-alerts-row-renderer-${eventAction}-${eventCategory}-${eventType}-${timelineId}`}
data={data}
isDraggable={isDraggable}
@ -184,10 +180,9 @@ export const createEndpointLibraryRowRenderer = ({
dataset?.toLowerCase() === 'endpoint.events.library' && action?.toLowerCase() === actionName
);
},
renderRow: ({ browserFields, data, isDraggable, timelineId }) => (
renderRow: ({ data, isDraggable, timelineId }) => (
<RowRendererContainer>
<SystemGenericFileDetails
browserFields={browserFields}
contextId={`library-row-renderer-${actionName}-${timelineId}`}
data={data}
isDraggable={isDraggable}
@ -217,10 +212,9 @@ export const createGenericFileRowRenderer = ({
action.toLowerCase() === actionName
);
},
renderRow: ({ browserFields, data, isDraggable, timelineId }) => (
renderRow: ({ data, isDraggable, timelineId }) => (
<RowRendererContainer>
<SystemGenericFileDetails
browserFields={browserFields}
contextId={`${actionName}-${timelineId}`}
data={data}
isDraggable={isDraggable}
@ -243,10 +237,9 @@ export const createSocketRowRenderer = ({
const action: string | null | undefined = get('event.action[0]', ecs);
return action != null && action.toLowerCase() === actionName;
},
renderRow: ({ browserFields, data, isDraggable, timelineId }) => (
renderRow: ({ data, isDraggable, timelineId }) => (
<RowRendererContainer>
<SystemGenericFileDetails
browserFields={browserFields}
contextId={`socket-${actionName}-${timelineId}`}
data={data}
isDraggable={isDraggable}
@ -273,10 +266,9 @@ export const createSecurityEventRowRenderer = ({
action?.toLowerCase() === actionName
);
},
renderRow: ({ browserFields, data, isDraggable, timelineId }) => (
renderRow: ({ data, isDraggable, timelineId }) => (
<RowRendererContainer>
<EndgameSecurityEventDetails
browserFields={browserFields}
contextId={`authentication-${actionName}-${timelineId}`}
data={data}
isDraggable={isDraggable}
@ -293,10 +285,9 @@ export const createDnsRowRenderer = (): RowRenderer => ({
const dnsQuestionName: string | null | undefined = get('dns.question.name[0]', ecs);
return !isNillEmptyOrNotFinite(dnsQuestionType) && !isNillEmptyOrNotFinite(dnsQuestionName);
},
renderRow: ({ browserFields, data, isDraggable, timelineId }) => (
renderRow: ({ data, isDraggable, timelineId }) => (
<RowRendererContainer>
<DnsRequestEventDetails
browserFields={browserFields}
contextId={`dns-request-${timelineId}`}
data={data}
isDraggable={isDraggable}

View file

@ -2,596 +2,6 @@
exports[`ZeekDetails rendering it renders the default ZeekDetails 1`] = `
<ZeekDetails
browserFields={
Object {
"agent": Object {
"fields": Object {
"agent.ephemeral_id": Object {
"aggregatable": true,
"category": "agent",
"description": "Ephemeral identifier of this agent (if one exists). This id normally changes across restarts, but \`agent.id\` does not.",
"example": "8a4f500f",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "agent.ephemeral_id",
"searchable": true,
"type": "string",
},
"agent.hostname": Object {
"aggregatable": true,
"category": "agent",
"description": null,
"example": null,
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "agent.hostname",
"searchable": true,
"type": "string",
},
"agent.id": Object {
"aggregatable": true,
"category": "agent",
"description": "Unique identifier of this agent (if one exists). Example: For Beats this would be beat.id.",
"example": "8a4f500d",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "agent.id",
"searchable": true,
"type": "string",
},
"agent.name": Object {
"aggregatable": true,
"category": "agent",
"description": "Name of the agent. This is a name that can be given to an agent. This can be helpful if for example two Filebeat instances are running on the same host but a human readable separation is needed on which Filebeat instance data is coming from. If no name is given, the name is often left empty.",
"example": "foo",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "agent.name",
"searchable": true,
"type": "string",
},
},
},
"auditd": Object {
"fields": Object {
"auditd.data.a0": Object {
"aggregatable": true,
"category": "auditd",
"description": null,
"example": null,
"format": "",
"indexes": Array [
"auditbeat",
],
"name": "auditd.data.a0",
"searchable": true,
"type": "string",
},
"auditd.data.a1": Object {
"aggregatable": true,
"category": "auditd",
"description": null,
"example": null,
"format": "",
"indexes": Array [
"auditbeat",
],
"name": "auditd.data.a1",
"searchable": true,
"type": "string",
},
"auditd.data.a2": Object {
"aggregatable": true,
"category": "auditd",
"description": null,
"example": null,
"format": "",
"indexes": Array [
"auditbeat",
],
"name": "auditd.data.a2",
"searchable": true,
"type": "string",
},
},
},
"base": Object {
"fields": Object {
"@timestamp": Object {
"aggregatable": true,
"category": "base",
"description": "Date/time when the event originated. For log events this is the date/time when the event was generated, and not when it was read. Required field for all events.",
"example": "2016-05-23T08:05:34.853Z",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "@timestamp",
"readFromDocValues": true,
"searchable": true,
"type": "date",
},
"_id": Object {
"aggregatable": false,
"category": "base",
"description": "Each document has an _id that uniquely identifies it",
"example": "Y-6TfmcB0WOhS6qyMv3s",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "_id",
"searchable": true,
"type": "string",
},
"message": Object {
"aggregatable": false,
"category": "base",
"description": "For log events the message field contains the log message, optimized for viewing in a log viewer. For structured logs without an original message field, other fields can be concatenated to form a human-readable summary of the event. If multiple messages exist, they can be combined into one message.",
"example": "Hello World",
"format": "string",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "message",
"searchable": true,
"type": "string",
},
},
},
"client": Object {
"fields": Object {
"client.address": Object {
"aggregatable": true,
"category": "client",
"description": "Some event client addresses are defined ambiguously. The event will sometimes list an IP, a domain or a unix socket. You should always store the raw address in the \`.address\` field. Then it should be duplicated to \`.ip\` or \`.domain\`, depending on which one it is.",
"example": null,
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "client.address",
"searchable": true,
"type": "string",
},
"client.bytes": Object {
"aggregatable": true,
"category": "client",
"description": "Bytes sent from the client to the server.",
"example": "184",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "client.bytes",
"searchable": true,
"type": "number",
},
"client.domain": Object {
"aggregatable": true,
"category": "client",
"description": "Client domain.",
"example": null,
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "client.domain",
"searchable": true,
"type": "string",
},
"client.geo.country_iso_code": Object {
"aggregatable": true,
"category": "client",
"description": "Country ISO code.",
"example": "CA",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "client.geo.country_iso_code",
"searchable": true,
"type": "string",
},
},
},
"cloud": Object {
"fields": Object {
"cloud.account.id": Object {
"aggregatable": true,
"category": "cloud",
"description": "The cloud account or organization id used to identify different entities in a multi-tenant environment. Examples: AWS account id, Google Cloud ORG Id, or other unique identifier.",
"example": "666777888999",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "cloud.account.id",
"searchable": true,
"type": "string",
},
"cloud.availability_zone": Object {
"aggregatable": true,
"category": "cloud",
"description": "Availability zone in which this host is running.",
"example": "us-east-1c",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "cloud.availability_zone",
"searchable": true,
"type": "string",
},
},
},
"container": Object {
"fields": Object {
"container.id": Object {
"aggregatable": true,
"category": "container",
"description": "Unique container id.",
"example": null,
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "container.id",
"searchable": true,
"type": "string",
},
"container.image.name": Object {
"aggregatable": true,
"category": "container",
"description": "Name of the image the container was built on.",
"example": null,
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "container.image.name",
"searchable": true,
"type": "string",
},
"container.image.tag": Object {
"aggregatable": true,
"category": "container",
"description": "Container image tag.",
"example": null,
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "container.image.tag",
"searchable": true,
"type": "string",
},
},
},
"destination": Object {
"fields": Object {
"destination.address": Object {
"aggregatable": true,
"category": "destination",
"description": "Some event destination addresses are defined ambiguously. The event will sometimes list an IP, a domain or a unix socket. You should always store the raw address in the \`.address\` field. Then it should be duplicated to \`.ip\` or \`.domain\`, depending on which one it is.",
"example": null,
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "destination.address",
"searchable": true,
"type": "string",
},
"destination.bytes": Object {
"aggregatable": true,
"category": "destination",
"description": "Bytes sent from the destination to the source.",
"example": "184",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "destination.bytes",
"searchable": true,
"type": "number",
},
"destination.domain": Object {
"aggregatable": true,
"category": "destination",
"description": "Destination domain.",
"example": null,
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "destination.domain",
"searchable": true,
"type": "string",
},
"destination.ip": Object {
"aggregatable": true,
"category": "destination",
"description": "IP address of the destination. Can be one or multiple IPv4 or IPv6 addresses.",
"example": "",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "destination.ip",
"searchable": true,
"type": "ip",
},
"destination.port": Object {
"aggregatable": true,
"category": "destination",
"description": "Port of the destination.",
"example": "",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "destination.port",
"searchable": true,
"type": "long",
},
},
},
"event": Object {
"fields": Object {
"event.action": Object {
"aggregatable": true,
"category": "event",
"description": "The action captured by the event. This describes the information in the event. It is more specific than \`event.category\`. Examples are \`group-add\`, \`process-started\`, \`file-created\`. The value is normally defined by the implementer.",
"example": "user-password-change",
"format": "string",
"indexes": Array [
"apm-*-transaction*",
"traces-apm*",
"auditbeat-*",
"endgame-*",
"filebeat-*",
"logs-*",
"packetbeat-*",
"winlogbeat-*",
],
"name": "event.action",
"searchable": true,
"type": "string",
},
"event.category": Object {
"aggregatable": true,
"category": "event",
"description": "This is one of four ECS Categorization Fields, and indicates the second level in the ECS category hierarchy. \`event.category\` represents the \\"big buckets\\" of ECS categories. For example, filtering on \`event.category:process\` yields all events relating to process activity. This field is closely related to \`event.type\`, which is used as a subcategory. This field is an array. This will allow proper categorization of some events that fall in multiple categories.",
"example": "authentication",
"format": "string",
"indexes": Array [
"apm-*-transaction*",
"traces-apm*",
"auditbeat-*",
"endgame-*",
"filebeat-*",
"logs-*",
"packetbeat-*",
"winlogbeat-*",
],
"name": "event.category",
"searchable": true,
"type": "string",
},
"event.end": Object {
"aggregatable": true,
"category": "event",
"description": "event.end contains the date when the event ended or when the activity was last observed.",
"example": null,
"format": "",
"indexes": Array [
"apm-*-transaction*",
"traces-apm*",
"auditbeat-*",
"endgame-*",
"filebeat-*",
"logs-*",
"packetbeat-*",
"winlogbeat-*",
],
"name": "event.end",
"searchable": true,
"type": "date",
},
"event.severity": Object {
"aggregatable": true,
"category": "event",
"description": "The numeric severity of the event according to your event source. What the different severity values mean can be different between sources and use cases. It's up to the implementer to make sure severities are consistent across events from the same source. The Syslog severity belongs in \`log.syslog.severity.code\`. \`event.severity\` is meant to represent the severity according to the event source (e.g. firewall, IDS). If the event source does not publish its own severity, you may optionally copy the \`log.syslog.severity.code\` to \`event.severity\`.",
"example": 7,
"format": "number",
"indexes": Array [
"apm-*-transaction*",
"traces-apm*",
"auditbeat-*",
"endgame-*",
"filebeat-*",
"logs-*",
"packetbeat-*",
"winlogbeat-*",
],
"name": "event.severity",
"searchable": true,
"type": "number",
},
},
},
"host": Object {
"fields": Object {
"host.name": Object {
"aggregatable": true,
"category": "host",
"description": "Name of the host. It can contain what \`hostname\` returns on Unix systems, the fully qualified domain name, or a name specified by the user. The sender decides which value to use.",
"format": "string",
"indexes": Array [
"apm-*-transaction*",
"traces-apm*",
"auditbeat-*",
"endgame-*",
"filebeat-*",
"logs-*",
"packetbeat-*",
"winlogbeat-*",
],
"name": "host.name",
"searchable": true,
"type": "string",
},
},
},
"nestedField": Object {
"fields": Object {
"nestedField.firstAttributes": Object {
"aggregatable": false,
"category": "nestedField",
"description": "",
"example": "",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "nestedField.firstAttributes",
"searchable": true,
"subType": Object {
"nested": Object {
"path": "nestedField",
},
},
"type": "string",
},
"nestedField.secondAttributes": Object {
"aggregatable": false,
"category": "nestedField",
"description": "",
"example": "",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "nestedField.secondAttributes",
"searchable": true,
"subType": Object {
"nested": Object {
"path": "nestedField",
},
},
"type": "string",
},
},
},
"source": Object {
"fields": Object {
"source.ip": Object {
"aggregatable": true,
"category": "source",
"description": "IP address of the source. Can be one or multiple IPv4 or IPv6 addresses.",
"example": "",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "source.ip",
"searchable": true,
"type": "ip",
},
"source.port": Object {
"aggregatable": true,
"category": "source",
"description": "Port of the source.",
"example": "",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "source.port",
"searchable": true,
"type": "long",
},
},
},
"user": Object {
"fields": Object {
"user.name": Object {
"aggregatable": true,
"category": "user",
"description": "Short name or login of the user.",
"example": "albert",
"format": "string",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "user.name",
"searchable": true,
"type": "string",
},
},
},
}
}
data={
Object {
"_id": "4",

View file

@ -4,596 +4,6 @@ exports[`zeek_row_renderer renders correctly against snapshot 1`] = `
<span>
<RowRendererContainer>
<ZeekDetails
browserFields={
Object {
"agent": Object {
"fields": Object {
"agent.ephemeral_id": Object {
"aggregatable": true,
"category": "agent",
"description": "Ephemeral identifier of this agent (if one exists). This id normally changes across restarts, but \`agent.id\` does not.",
"example": "8a4f500f",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "agent.ephemeral_id",
"searchable": true,
"type": "string",
},
"agent.hostname": Object {
"aggregatable": true,
"category": "agent",
"description": null,
"example": null,
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "agent.hostname",
"searchable": true,
"type": "string",
},
"agent.id": Object {
"aggregatable": true,
"category": "agent",
"description": "Unique identifier of this agent (if one exists). Example: For Beats this would be beat.id.",
"example": "8a4f500d",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "agent.id",
"searchable": true,
"type": "string",
},
"agent.name": Object {
"aggregatable": true,
"category": "agent",
"description": "Name of the agent. This is a name that can be given to an agent. This can be helpful if for example two Filebeat instances are running on the same host but a human readable separation is needed on which Filebeat instance data is coming from. If no name is given, the name is often left empty.",
"example": "foo",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "agent.name",
"searchable": true,
"type": "string",
},
},
},
"auditd": Object {
"fields": Object {
"auditd.data.a0": Object {
"aggregatable": true,
"category": "auditd",
"description": null,
"example": null,
"format": "",
"indexes": Array [
"auditbeat",
],
"name": "auditd.data.a0",
"searchable": true,
"type": "string",
},
"auditd.data.a1": Object {
"aggregatable": true,
"category": "auditd",
"description": null,
"example": null,
"format": "",
"indexes": Array [
"auditbeat",
],
"name": "auditd.data.a1",
"searchable": true,
"type": "string",
},
"auditd.data.a2": Object {
"aggregatable": true,
"category": "auditd",
"description": null,
"example": null,
"format": "",
"indexes": Array [
"auditbeat",
],
"name": "auditd.data.a2",
"searchable": true,
"type": "string",
},
},
},
"base": Object {
"fields": Object {
"@timestamp": Object {
"aggregatable": true,
"category": "base",
"description": "Date/time when the event originated. For log events this is the date/time when the event was generated, and not when it was read. Required field for all events.",
"example": "2016-05-23T08:05:34.853Z",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "@timestamp",
"readFromDocValues": true,
"searchable": true,
"type": "date",
},
"_id": Object {
"aggregatable": false,
"category": "base",
"description": "Each document has an _id that uniquely identifies it",
"example": "Y-6TfmcB0WOhS6qyMv3s",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "_id",
"searchable": true,
"type": "string",
},
"message": Object {
"aggregatable": false,
"category": "base",
"description": "For log events the message field contains the log message, optimized for viewing in a log viewer. For structured logs without an original message field, other fields can be concatenated to form a human-readable summary of the event. If multiple messages exist, they can be combined into one message.",
"example": "Hello World",
"format": "string",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "message",
"searchable": true,
"type": "string",
},
},
},
"client": Object {
"fields": Object {
"client.address": Object {
"aggregatable": true,
"category": "client",
"description": "Some event client addresses are defined ambiguously. The event will sometimes list an IP, a domain or a unix socket. You should always store the raw address in the \`.address\` field. Then it should be duplicated to \`.ip\` or \`.domain\`, depending on which one it is.",
"example": null,
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "client.address",
"searchable": true,
"type": "string",
},
"client.bytes": Object {
"aggregatable": true,
"category": "client",
"description": "Bytes sent from the client to the server.",
"example": "184",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "client.bytes",
"searchable": true,
"type": "number",
},
"client.domain": Object {
"aggregatable": true,
"category": "client",
"description": "Client domain.",
"example": null,
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "client.domain",
"searchable": true,
"type": "string",
},
"client.geo.country_iso_code": Object {
"aggregatable": true,
"category": "client",
"description": "Country ISO code.",
"example": "CA",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "client.geo.country_iso_code",
"searchable": true,
"type": "string",
},
},
},
"cloud": Object {
"fields": Object {
"cloud.account.id": Object {
"aggregatable": true,
"category": "cloud",
"description": "The cloud account or organization id used to identify different entities in a multi-tenant environment. Examples: AWS account id, Google Cloud ORG Id, or other unique identifier.",
"example": "666777888999",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "cloud.account.id",
"searchable": true,
"type": "string",
},
"cloud.availability_zone": Object {
"aggregatable": true,
"category": "cloud",
"description": "Availability zone in which this host is running.",
"example": "us-east-1c",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "cloud.availability_zone",
"searchable": true,
"type": "string",
},
},
},
"container": Object {
"fields": Object {
"container.id": Object {
"aggregatable": true,
"category": "container",
"description": "Unique container id.",
"example": null,
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "container.id",
"searchable": true,
"type": "string",
},
"container.image.name": Object {
"aggregatable": true,
"category": "container",
"description": "Name of the image the container was built on.",
"example": null,
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "container.image.name",
"searchable": true,
"type": "string",
},
"container.image.tag": Object {
"aggregatable": true,
"category": "container",
"description": "Container image tag.",
"example": null,
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "container.image.tag",
"searchable": true,
"type": "string",
},
},
},
"destination": Object {
"fields": Object {
"destination.address": Object {
"aggregatable": true,
"category": "destination",
"description": "Some event destination addresses are defined ambiguously. The event will sometimes list an IP, a domain or a unix socket. You should always store the raw address in the \`.address\` field. Then it should be duplicated to \`.ip\` or \`.domain\`, depending on which one it is.",
"example": null,
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "destination.address",
"searchable": true,
"type": "string",
},
"destination.bytes": Object {
"aggregatable": true,
"category": "destination",
"description": "Bytes sent from the destination to the source.",
"example": "184",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "destination.bytes",
"searchable": true,
"type": "number",
},
"destination.domain": Object {
"aggregatable": true,
"category": "destination",
"description": "Destination domain.",
"example": null,
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "destination.domain",
"searchable": true,
"type": "string",
},
"destination.ip": Object {
"aggregatable": true,
"category": "destination",
"description": "IP address of the destination. Can be one or multiple IPv4 or IPv6 addresses.",
"example": "",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "destination.ip",
"searchable": true,
"type": "ip",
},
"destination.port": Object {
"aggregatable": true,
"category": "destination",
"description": "Port of the destination.",
"example": "",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "destination.port",
"searchable": true,
"type": "long",
},
},
},
"event": Object {
"fields": Object {
"event.action": Object {
"aggregatable": true,
"category": "event",
"description": "The action captured by the event. This describes the information in the event. It is more specific than \`event.category\`. Examples are \`group-add\`, \`process-started\`, \`file-created\`. The value is normally defined by the implementer.",
"example": "user-password-change",
"format": "string",
"indexes": Array [
"apm-*-transaction*",
"traces-apm*",
"auditbeat-*",
"endgame-*",
"filebeat-*",
"logs-*",
"packetbeat-*",
"winlogbeat-*",
],
"name": "event.action",
"searchable": true,
"type": "string",
},
"event.category": Object {
"aggregatable": true,
"category": "event",
"description": "This is one of four ECS Categorization Fields, and indicates the second level in the ECS category hierarchy. \`event.category\` represents the \\"big buckets\\" of ECS categories. For example, filtering on \`event.category:process\` yields all events relating to process activity. This field is closely related to \`event.type\`, which is used as a subcategory. This field is an array. This will allow proper categorization of some events that fall in multiple categories.",
"example": "authentication",
"format": "string",
"indexes": Array [
"apm-*-transaction*",
"traces-apm*",
"auditbeat-*",
"endgame-*",
"filebeat-*",
"logs-*",
"packetbeat-*",
"winlogbeat-*",
],
"name": "event.category",
"searchable": true,
"type": "string",
},
"event.end": Object {
"aggregatable": true,
"category": "event",
"description": "event.end contains the date when the event ended or when the activity was last observed.",
"example": null,
"format": "",
"indexes": Array [
"apm-*-transaction*",
"traces-apm*",
"auditbeat-*",
"endgame-*",
"filebeat-*",
"logs-*",
"packetbeat-*",
"winlogbeat-*",
],
"name": "event.end",
"searchable": true,
"type": "date",
},
"event.severity": Object {
"aggregatable": true,
"category": "event",
"description": "The numeric severity of the event according to your event source. What the different severity values mean can be different between sources and use cases. It's up to the implementer to make sure severities are consistent across events from the same source. The Syslog severity belongs in \`log.syslog.severity.code\`. \`event.severity\` is meant to represent the severity according to the event source (e.g. firewall, IDS). If the event source does not publish its own severity, you may optionally copy the \`log.syslog.severity.code\` to \`event.severity\`.",
"example": 7,
"format": "number",
"indexes": Array [
"apm-*-transaction*",
"traces-apm*",
"auditbeat-*",
"endgame-*",
"filebeat-*",
"logs-*",
"packetbeat-*",
"winlogbeat-*",
],
"name": "event.severity",
"searchable": true,
"type": "number",
},
},
},
"host": Object {
"fields": Object {
"host.name": Object {
"aggregatable": true,
"category": "host",
"description": "Name of the host. It can contain what \`hostname\` returns on Unix systems, the fully qualified domain name, or a name specified by the user. The sender decides which value to use.",
"format": "string",
"indexes": Array [
"apm-*-transaction*",
"traces-apm*",
"auditbeat-*",
"endgame-*",
"filebeat-*",
"logs-*",
"packetbeat-*",
"winlogbeat-*",
],
"name": "host.name",
"searchable": true,
"type": "string",
},
},
},
"nestedField": Object {
"fields": Object {
"nestedField.firstAttributes": Object {
"aggregatable": false,
"category": "nestedField",
"description": "",
"example": "",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "nestedField.firstAttributes",
"searchable": true,
"subType": Object {
"nested": Object {
"path": "nestedField",
},
},
"type": "string",
},
"nestedField.secondAttributes": Object {
"aggregatable": false,
"category": "nestedField",
"description": "",
"example": "",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "nestedField.secondAttributes",
"searchable": true,
"subType": Object {
"nested": Object {
"path": "nestedField",
},
},
"type": "string",
},
},
},
"source": Object {
"fields": Object {
"source.ip": Object {
"aggregatable": true,
"category": "source",
"description": "IP address of the source. Can be one or multiple IPv4 or IPv6 addresses.",
"example": "",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "source.ip",
"searchable": true,
"type": "ip",
},
"source.port": Object {
"aggregatable": true,
"category": "source",
"description": "Port of the source.",
"example": "",
"format": "",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "source.port",
"searchable": true,
"type": "long",
},
},
},
"user": Object {
"fields": Object {
"user.name": Object {
"aggregatable": true,
"category": "user",
"description": "Short name or login of the user.",
"example": "albert",
"format": "string",
"indexes": Array [
"auditbeat",
"filebeat",
"packetbeat",
],
"name": "user.name",
"searchable": true,
"type": "string",
},
},
},
}
}
data={
Object {
"_id": "1",

View file

@ -9,7 +9,6 @@ import React from 'react';
import { removeExternalLinkText } from '@kbn/securitysolution-io-ts-utils';
import '../../../../../../common/mock/match_media';
import { mockBrowserFields } from '../../../../../../common/containers/source/mock';
import { mockTimelineData, TestProviders } from '../../../../../../common/mock';
import { useMountAppended } from '../../../../../../common/utils/use_mount_appended';
import { ZeekDetails } from './zeek_details';
@ -39,11 +38,7 @@ describe('ZeekDetails', () => {
test('it renders the default ZeekDetails', () => {
const wrapper = mount(
<TestProviders>
<ZeekDetails
data={mockTimelineData[2].ecs}
browserFields={mockBrowserFields}
timelineId="test"
/>
<ZeekDetails data={mockTimelineData[2].ecs} timelineId="test" />
</TestProviders>
);
expect(wrapper.find('ZeekDetails')).toMatchSnapshot();
@ -52,11 +47,7 @@ describe('ZeekDetails', () => {
test('it returns zeek.connection if the data does contain zeek.connection data', () => {
const wrapper = mount(
<TestProviders>
<ZeekDetails
data={mockTimelineData[13].ecs}
browserFields={mockBrowserFields}
timelineId="test"
/>
<ZeekDetails data={mockTimelineData[13].ecs} timelineId="test" />
</TestProviders>
);
expect(extractEuiIconText(removeExternalLinkText(wrapper.text()))).toEqual(
@ -67,11 +58,7 @@ describe('ZeekDetails', () => {
test('it returns zeek.dns if the data does contain zeek.dns data', () => {
const wrapper = mount(
<TestProviders>
<ZeekDetails
data={mockTimelineData[14].ecs}
browserFields={mockBrowserFields}
timelineId="test"
/>
<ZeekDetails data={mockTimelineData[14].ecs} timelineId="test" />
</TestProviders>
);
expect(extractEuiIconText(removeExternalLinkText(wrapper.text()))).toEqual(
@ -82,11 +69,7 @@ describe('ZeekDetails', () => {
test('it returns zeek.http if the data does contain zeek.http data', () => {
const wrapper = mount(
<TestProviders>
<ZeekDetails
data={mockTimelineData[15].ecs}
browserFields={mockBrowserFields}
timelineId="test"
/>
<ZeekDetails data={mockTimelineData[15].ecs} timelineId="test" />
</TestProviders>
);
expect(extractEuiIconText(removeExternalLinkText(wrapper.text()))).toEqual(
@ -97,11 +80,7 @@ describe('ZeekDetails', () => {
test('it returns zeek.notice if the data does contain zeek.notice data', () => {
const wrapper = mount(
<TestProviders>
<ZeekDetails
data={mockTimelineData[16].ecs}
browserFields={mockBrowserFields}
timelineId="test"
/>
<ZeekDetails data={mockTimelineData[16].ecs} timelineId="test" />
</TestProviders>
);
expect(extractEuiIconText(removeExternalLinkText(wrapper.text()))).toEqual(
@ -112,11 +91,7 @@ describe('ZeekDetails', () => {
test('it returns zeek.ssl if the data does contain zeek.ssl data', () => {
const wrapper = mount(
<TestProviders>
<ZeekDetails
data={mockTimelineData[17].ecs}
browserFields={mockBrowserFields}
timelineId="test"
/>
<ZeekDetails data={mockTimelineData[17].ecs} timelineId="test" />
</TestProviders>
);
expect(extractEuiIconText(removeExternalLinkText(wrapper.text()))).toEqual(
@ -127,11 +102,7 @@ describe('ZeekDetails', () => {
test('it returns zeek.files if the data does contain zeek.files data', () => {
const wrapper = mount(
<TestProviders>
<ZeekDetails
data={mockTimelineData[18].ecs}
browserFields={mockBrowserFields}
timelineId="test"
/>
<ZeekDetails data={mockTimelineData[18].ecs} timelineId="test" />
</TestProviders>
);
expect(wrapper.text()).toEqual('Cu0n232QMyvNtzb75jfilessha1: fa5195a...md5: f7653f1...');
@ -140,11 +111,7 @@ describe('ZeekDetails', () => {
test('it returns null for text if the data contains no zeek data', () => {
const wrapper = mount(
<TestProviders>
<ZeekDetails
data={mockTimelineData[0].ecs}
browserFields={mockBrowserFields}
timelineId="test"
/>
<ZeekDetails data={mockTimelineData[0].ecs} timelineId="test" />
</TestProviders>
);
expect(wrapper.find('ZeekDetails').children().exists()).toBeFalsy();

View file

@ -9,7 +9,6 @@ import { EuiSpacer } from '@elastic/eui';
import React from 'react';
import styled from 'styled-components';
import { BrowserFields } from '../../../../../../common/containers/source';
import { Ecs } from '../../../../../../../common/ecs';
import { NetflowRenderer } from '../netflow';
@ -22,7 +21,6 @@ const Details = styled.div`
Details.displayName = 'Details';
interface ZeekDetailsProps {
browserFields: BrowserFields;
data: Ecs;
isDraggable?: boolean;
timelineId: string;

View file

@ -10,7 +10,6 @@ import { cloneDeep } from 'lodash/fp';
import React from 'react';
import { removeExternalLinkText } from '@kbn/securitysolution-io-ts-utils';
import { mockBrowserFields } from '../../../../../../common/containers/source/mock';
import { Ecs } from '../../../../../../../common/ecs';
import { mockTimelineData, TestProviders } from '../../../../../../common/mock';
import '../../../../../../common/mock/match_media';
@ -41,7 +40,6 @@ describe('zeek_row_renderer', () => {
test('renders correctly against snapshot', () => {
const children = zeekRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: nonZeek,
isDraggable: true,
timelineId: 'test',
@ -61,7 +59,6 @@ describe('zeek_row_renderer', () => {
test('should render a zeek row', () => {
const children = zeekRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: zeek,
isDraggable: true,
timelineId: 'test',

View file

@ -19,14 +19,9 @@ export const zeekRowRenderer: RowRenderer = {
const module: string | null | undefined = get('event.module[0]', ecs);
return module != null && module.toLowerCase() === 'zeek';
},
renderRow: ({ browserFields, data, isDraggable, timelineId }) => (
renderRow: ({ data, isDraggable, timelineId }) => (
<RowRendererContainer>
<ZeekDetails
data={data}
browserFields={browserFields}
isDraggable={isDraggable}
timelineId={timelineId}
/>
<ZeekDetails data={data} isDraggable={isDraggable} timelineId={timelineId} />
</RowRendererContainer>
),
};

View file

@ -114,7 +114,6 @@ describe('DefaultCellRenderer', () => {
expect(mockImplementation.renderColumn).toBeCalledWith({
asPlainText: false,
browserFields,
columnName: header.id,
ecsData,
eventId,

View file

@ -60,7 +60,6 @@ export const DefaultCellRenderer: React.FC<CellValueElementProps> = ({
<StyledContent className={styledContentClassName} $isDetails={isDetails}>
{getColumnRenderer(header.id, columnRenderers, data).renderColumn({
asPlainText, // we want to render value with links as plain text but keep other formatters like badge.
browserFields,
columnName: header.id,
ecsData,
eventId,

View file

@ -7,18 +7,15 @@
import { RowRendererId } from '..';
import { Ecs } from '../../../ecs';
import { BrowserFields } from '../../../search_strategy/index_fields';
export interface RowRenderer {
id: RowRendererId;
isInstance: (data: Ecs) => boolean;
renderRow: ({
browserFields,
data,
isDraggable,
timelineId,
}: {
browserFields: BrowserFields;
data: Ecs;
isDraggable: boolean;
timelineId: string;

View file

@ -161,7 +161,6 @@ const StatefulEventComponent: React.FC<Props> = ({
<EventsTrSupplement>
<StatefulRowRenderer
ariaRowindex={ariaRowindex}
browserFields={browserFields}
containerRef={containerRef}
event={event}
lastFocusedAriaColindex={lastFocusedAriaColindex}
@ -170,15 +169,7 @@ const StatefulEventComponent: React.FC<Props> = ({
/>
</EventsTrSupplement>
),
[
ariaRowindex,
browserFields,
containerRef,
event,
lastFocusedAriaColindex,
rowRenderers,
timelineId,
]
[ariaRowindex, containerRef, event, lastFocusedAriaColindex, rowRenderers, timelineId]
);
return (

View file

@ -17,7 +17,6 @@ import {
import { useStatefulEventFocus } from '../use_stateful_event_focus';
import * as i18n from '../translations';
import type { BrowserFields } from '../../../../../../common/search_strategy/index_fields';
import type { TimelineItem } from '../../../../../../common/search_strategy';
import type { RowRenderer } from '../../../../../../common/types/timeline';
import { getRowRenderer } from '../../renderers/get_row_renderer';
@ -37,7 +36,6 @@ import { getRowRenderer } from '../../renderers/get_row_renderer';
*/
export const StatefulRowRenderer = ({
ariaRowindex,
browserFields,
containerRef,
event,
lastFocusedAriaColindex,
@ -45,7 +43,6 @@ export const StatefulRowRenderer = ({
timelineId,
}: {
ariaRowindex: number;
browserFields: BrowserFields;
containerRef: React.MutableRefObject<HTMLDivElement | null>;
event: TimelineItem;
lastFocusedAriaColindex: number;
@ -78,7 +75,6 @@ export const StatefulRowRenderer = ({
</EuiScreenReaderOnly>
<div onKeyDown={onKeyDown}>
{rowRenderer.renderRow({
browserFields,
data: event.ecs,
isDraggable: false,
timelineId,
@ -90,7 +86,6 @@ export const StatefulRowRenderer = ({
),
[
ariaRowindex,
browserFields,
event.ecs,
focusOwnership,
onFocus,

View file

@ -851,7 +851,6 @@ export const BodyComponent = React.memo<StatefulBodyProps>(
<EventRenderedView
appId={appId}
alertToolbar={alertToolbar}
browserFields={browserFields}
events={data}
leadingControlColumns={leadingTGridControlColumns ?? []}
onChangePage={onChangePage}

View file

@ -9,7 +9,7 @@ import { mount, shallow } from 'enzyme';
import { cloneDeep } from 'lodash';
import React from 'react';
import { Ecs } from '../../../../../common/ecs';
import { mockBrowserFields, mockTimelineData } from '../../../../mock';
import { mockTimelineData } from '../../../../mock';
import { plainRowRenderer } from './plain_row_renderer';
@ -21,7 +21,6 @@ describe('plain_row_renderer', () => {
test('renders correctly against snapshot', () => {
const children = plainRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: mockDatum,
isDraggable: false,
timelineId: 'test',
@ -36,7 +35,6 @@ describe('plain_row_renderer', () => {
test('should render a plain row', () => {
const children = plainRowRenderer.renderRow({
browserFields: mockBrowserFields,
data: mockDatum,
isDraggable: false,
timelineId: 'test',

View file

@ -23,7 +23,7 @@ import styled from 'styled-components';
import { useUiSetting } from '../../../../../../../src/plugins/kibana_react/public';
import type { BrowserFields, TimelineItem } from '../../../../common/search_strategy';
import type { TimelineItem } from '../../../../common/search_strategy';
import type { RowRenderer } from '../../../../common/types';
import { RuleName } from '../../rule_name';
import { isEventBuildingBlockType } from '../body/helpers';
@ -62,7 +62,6 @@ const StyledEuiBasicTable = styled(EuiBasicTable as BasicTableType)`
export interface EventRenderedViewProps {
alertToolbar: React.ReactNode;
appId: string;
browserFields: BrowserFields;
events: TimelineItem[];
leadingControlColumns: EuiDataGridControlColumn[];
onChangePage: (newActivePage: number) => void;
@ -85,7 +84,6 @@ export const PreferenceFormattedDate = React.memo(PreferenceFormattedDateCompone
const EventRenderedViewComponent = ({
alertToolbar,
appId,
browserFields,
events,
leadingControlColumns,
onChangePage,
@ -192,7 +190,6 @@ const EventRenderedViewComponent = ({
<EventRenderedFlexItem className="eui-xScroll">
<div className="eui-displayInlineBlock">
{rowRenderer.renderRow({
browserFields,
data: ecsData,
isDraggable: false,
timelineId: 'NONE',
@ -207,7 +204,7 @@ const EventRenderedViewComponent = ({
width: '60%',
},
],
[ActionTitle, browserFields, events, leadingControlColumns, rowRenderers, appId]
[ActionTitle, events, leadingControlColumns, rowRenderers, appId]
);
const handleTableChange = useCallback(

View file

@ -134,7 +134,6 @@ export const tGridIntegratedProps: TGridIntegratedProps = {
export const eventRenderedProps: EventRenderedViewProps = {
alertToolbar: <></>,
appId: '',
browserFields: mockBrowserFields,
events: mockTimelineData,
leadingControlColumns: [],
onChangePage: () => null,