mirror of
https://github.com/hanzoai/sentinel.git
synced 2026-09-29 22:34:33 +00:00
76 lines
2.1 KiB
TypeScript
76 lines
2.1 KiB
TypeScript
import {DataScrubbingRelayPiiConfigFixture} from 'sentry-fixture/dataScrubbingRelayPiiConfig';
|
|
import {EventFixture} from 'sentry-fixture/event';
|
|
|
|
import {render, screen, userEvent} from 'sentry-test/reactTestingLibrary';
|
|
import {textWithMarkupMatcher} from 'sentry-test/utils';
|
|
|
|
import {DeviceEventContext} from 'sentry/components/events/contexts/device';
|
|
import type {DeviceContext} from 'sentry/types';
|
|
|
|
export const deviceMockData: DeviceContext = {
|
|
screen_resolution: '1136x768',
|
|
orientation: 'portrait',
|
|
family: 'Android',
|
|
battery_level: 100,
|
|
screen_dpi: 480,
|
|
memory_size: 1055186944,
|
|
timezone: 'America/Los_Angeles',
|
|
external_storage_size: 534761472,
|
|
external_free_storage: 534702080,
|
|
screen_width_pixels: 768,
|
|
low_memory: false,
|
|
simulator: true,
|
|
screen_height_pixels: 1136,
|
|
free_memory: 658702336,
|
|
online: true,
|
|
screen_density: 3,
|
|
type: 'device',
|
|
charging: true,
|
|
model_id: 'NYC',
|
|
brand: 'google',
|
|
storage_size: 817143808,
|
|
boot_time: '2019-12-11T11:38:15Z',
|
|
arch: 'x86',
|
|
manufacturer: 'Google',
|
|
name: '', // redacted
|
|
free_storage: 508784640,
|
|
model: 'Android SDK built for x86',
|
|
};
|
|
|
|
export const deviceContextMetaMockData = {
|
|
name: {
|
|
'': {
|
|
rem: [['organization:0', 's', 0, 0]],
|
|
len: 25,
|
|
},
|
|
},
|
|
};
|
|
|
|
const event = EventFixture({
|
|
_meta: {
|
|
contexts: {
|
|
device: deviceContextMetaMockData,
|
|
},
|
|
},
|
|
});
|
|
|
|
describe('device event context', function () {
|
|
it('display redacted data', async function () {
|
|
render(<DeviceEventContext event={event} data={deviceMockData} />, {
|
|
organization: {
|
|
relayPiiConfig: JSON.stringify(DataScrubbingRelayPiiConfigFixture()),
|
|
},
|
|
});
|
|
expect(screen.getByText('Name')).toBeInTheDocument(); // subject
|
|
expect(screen.getByText(/redacted/)).toBeInTheDocument(); // value
|
|
await userEvent.hover(screen.getByText(/redacted/));
|
|
expect(
|
|
await screen.findByText(
|
|
textWithMarkupMatcher(
|
|
"Replaced because of the data scrubbing rule [Replace] [Password fields] with [Scrubbed] from [password] in your organization's settings"
|
|
)
|
|
)
|
|
).toBeInTheDocument(); // tooltip description
|
|
});
|
|
});
|