mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 01:38:56 -04:00
[SecuritySolution] Migrate (some) resolver tests to testing-library
(#134643)
* chore: remove unused file * test: migrate to testing-library Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
This commit is contained in:
parent
2010a56a35
commit
f65685b2ac
3 changed files with 35 additions and 58 deletions
|
@ -1,18 +0,0 @@
|
|||
/*
|
||||
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
||||
* or more contributor license agreements. Licensed under the Elastic License
|
||||
* 2.0; you may not use this file except in compliance with the Elastic License
|
||||
* 2.0.
|
||||
*/
|
||||
|
||||
import { ReactWrapper } from 'enzyme';
|
||||
|
||||
/**
|
||||
* Return a collection of attribute 'entries'.
|
||||
* The 'entries' are attributeName-attributeValue tuples.
|
||||
*/
|
||||
export function attributeEntries(wrapper: ReactWrapper): Array<[string, string]> {
|
||||
return Array.prototype.slice
|
||||
.call(wrapper.getDOMNode().attributes)
|
||||
.map(({ name, value }) => [name, value]);
|
||||
}
|
|
@ -6,46 +6,48 @@
|
|||
*/
|
||||
|
||||
import React from 'react';
|
||||
import { render, screen } from '@testing-library/react';
|
||||
import { I18nProvider } from '@kbn/i18n-react';
|
||||
|
||||
import { EndpointDocGenerator } from '../../../../common/endpoint/generate_data';
|
||||
import { DescriptiveName } from './descriptive_name';
|
||||
import { SafeResolverEvent } from '../../../../common/endpoint/types';
|
||||
import { mount, ReactWrapper } from 'enzyme';
|
||||
import { I18nProvider } from '@kbn/i18n-react';
|
||||
|
||||
describe('DescriptiveName', () => {
|
||||
let generator: EndpointDocGenerator;
|
||||
let wrapper: (event: SafeResolverEvent) => ReactWrapper;
|
||||
beforeEach(() => {
|
||||
generator = new EndpointDocGenerator('seed');
|
||||
wrapper = (event: SafeResolverEvent) =>
|
||||
mount(
|
||||
<I18nProvider>
|
||||
<DescriptiveName event={event} />
|
||||
</I18nProvider>
|
||||
);
|
||||
});
|
||||
const generator = new EndpointDocGenerator('seed');
|
||||
|
||||
function renderEvent(event: SafeResolverEvent) {
|
||||
render(
|
||||
<I18nProvider>
|
||||
<DescriptiveName event={event} />
|
||||
</I18nProvider>
|
||||
);
|
||||
}
|
||||
|
||||
it('returns the right name for a registry event', () => {
|
||||
const extensions = { registry: { key: `HKLM/Windows/Software/abc` } };
|
||||
const event = generator.generateEvent({ eventCategory: 'registry', extensions });
|
||||
expect(wrapper(event).text()).toEqual(`HKLM/Windows/Software/abc`);
|
||||
renderEvent(generator.generateEvent({ eventCategory: 'registry', extensions }));
|
||||
expect(screen.queryByText('HKLM/Windows/Software/abc')).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('returns the right name for a network event', () => {
|
||||
const randomIP = `${generator.randomIP()}`;
|
||||
const extensions = { network: { direction: 'outbound', forwarded_ip: randomIP } };
|
||||
const event = generator.generateEvent({ eventCategory: 'network', extensions });
|
||||
expect(wrapper(event).text()).toEqual(`outbound ${randomIP}`);
|
||||
renderEvent(generator.generateEvent({ eventCategory: 'network', extensions }));
|
||||
expect(screen.queryByText(`outbound ${randomIP}`)).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('returns the right name for a file event', () => {
|
||||
const extensions = { file: { path: 'C:\\My Documents\\business\\January\\processName' } };
|
||||
const event = generator.generateEvent({ eventCategory: 'file', extensions });
|
||||
expect(wrapper(event).text()).toEqual('C:\\My Documents\\business\\January\\processName');
|
||||
renderEvent(generator.generateEvent({ eventCategory: 'file', extensions }));
|
||||
expect(
|
||||
screen.queryByText('C:\\My Documents\\business\\January\\processName')
|
||||
).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('returns the right name for a dns event', () => {
|
||||
const extensions = { dns: { question: { name: `${generator.randomIP()}` } } };
|
||||
const event = generator.generateEvent({ eventCategory: 'dns', extensions });
|
||||
expect(wrapper(event).text()).toEqual(extensions.dns.question.name);
|
||||
renderEvent(generator.generateEvent({ eventCategory: 'dns', extensions }));
|
||||
expect(screen.queryByText(extensions.dns.question.name)).toBeInTheDocument();
|
||||
});
|
||||
});
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
* 2.0.
|
||||
*/
|
||||
|
||||
import { mount } from 'enzyme';
|
||||
import { render, screen } from '@testing-library/react';
|
||||
|
||||
import React from 'react';
|
||||
import { useFormattedDate } from './use_formatted_date';
|
||||
|
@ -16,23 +16,11 @@ import { uiSetting } from '../../mocks/ui_setting';
|
|||
describe(`useFormattedDate, when the "dateFormat" UI setting is "${uiSetting(
|
||||
'dateFormat'
|
||||
)}" and the "dateFormat:tz" setting is "${uiSetting('dateFormat:tz')}"`, () => {
|
||||
let formattedDate: (date: ConstructorParameters<typeof Date>[0] | Date | undefined) => string;
|
||||
|
||||
beforeEach(async () => {
|
||||
const mockCoreStart = coreMock.createStart();
|
||||
mockCoreStart.uiSettings.get.mockImplementation(uiSetting);
|
||||
|
||||
function Test({ date }: { date: ConstructorParameters<typeof Date>[0] | Date | undefined }) {
|
||||
return <>{useFormattedDate(date)}</>;
|
||||
}
|
||||
|
||||
formattedDate = (date: ConstructorParameters<typeof Date>[0] | Date | undefined): string =>
|
||||
mount(
|
||||
<KibanaContextProvider services={mockCoreStart}>
|
||||
<Test date={date} />
|
||||
</KibanaContextProvider>
|
||||
).text();
|
||||
});
|
||||
function Test({ date }: { date: ConstructorParameters<typeof Date>[0] | Date | undefined }) {
|
||||
return <span data-test-subj="useFormattedDateTest">{useFormattedDate(date)}</span>;
|
||||
}
|
||||
const mockCoreStart = coreMock.createStart();
|
||||
mockCoreStart.uiSettings.get.mockImplementation(uiSetting);
|
||||
|
||||
it.each([
|
||||
['randomString', 'an invalid string', 'Invalid Date'],
|
||||
|
@ -51,6 +39,11 @@ describe(`useFormattedDate, when the "dateFormat" UI setting is "${uiSetting(
|
|||
],
|
||||
[new Date(1600863932316), 'a defined Date object', 'Sep 23, 2020 @ 08:25:32.316'],
|
||||
])('when the provided date is %p (%s) it should return %p', (value, _explanation, expected) => {
|
||||
expect(formattedDate(value)).toBe(expected);
|
||||
render(
|
||||
<KibanaContextProvider services={mockCoreStart}>
|
||||
<Test date={value} />
|
||||
</KibanaContextProvider>
|
||||
);
|
||||
expect(screen.queryByTestId('useFormattedDateTest')?.textContent).toBe(expected);
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue