mirror of
https://github.com/elastic/kibana.git
synced 2025-04-23 09:19:04 -04:00
[SecuritySolution] Fix schedule risk engine callout when engine is installed but disabled (#196496)
## Summary Fix the visibility of the Schedule Risk Engine Callout inside the asset criticality bulk upload when the risk engine is disabled. The callout should not be displayed when the risk engine is installed but disabled. ### How to test it? * Open Kibana - Security Solution * Navigate to the risk engine page and install the risk engine * On the same page, disable the risk engine * Navigate to the asset criticality page * Successfully upload a document * You should see a "success" but no risk engine callout.  ### Checklist - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios
This commit is contained in:
parent
7e310f049b
commit
1de6fb5b63
2 changed files with 27 additions and 7 deletions
|
@ -8,6 +8,7 @@ import React from 'react';
|
|||
import { render, fireEvent, waitFor } from '@testing-library/react';
|
||||
import { TestProviders } from '../../../../common/mock';
|
||||
import { ScheduleRiskEngineCallout } from './schedule_risk_engine_callout';
|
||||
import { RiskEngineStatusEnum } from '../../../../../common/api/entity_analytics';
|
||||
|
||||
const oneHourFromNow = () => {
|
||||
const date = new Date();
|
||||
|
@ -48,7 +49,7 @@ describe('ScheduleRiskEngineCallout', () => {
|
|||
mockUseRiskEngineStatus.mockReturnValue({
|
||||
data: {
|
||||
isNewRiskScoreModuleInstalled: true,
|
||||
|
||||
risk_engine_status: RiskEngineStatusEnum.ENABLED,
|
||||
risk_engine_task_status: {
|
||||
status: 'idle',
|
||||
runAt: oneHourFromNow().toISOString(),
|
||||
|
@ -70,7 +71,7 @@ describe('ScheduleRiskEngineCallout', () => {
|
|||
mockUseRiskEngineStatus.mockReturnValue({
|
||||
data: {
|
||||
isNewRiskScoreModuleInstalled: true,
|
||||
|
||||
risk_engine_status: RiskEngineStatusEnum.ENABLED,
|
||||
risk_engine_task_status: {
|
||||
status: 'running',
|
||||
runAt: oneHourFromNow().toISOString(),
|
||||
|
@ -89,7 +90,7 @@ describe('ScheduleRiskEngineCallout', () => {
|
|||
mockUseRiskEngineStatus.mockReturnValue({
|
||||
data: {
|
||||
isNewRiskScoreModuleInstalled: true,
|
||||
|
||||
risk_engine_status: RiskEngineStatusEnum.ENABLED,
|
||||
risk_engine_task_status: {
|
||||
status: 'idle',
|
||||
runAt: new Date().toISOString(), // past date
|
||||
|
@ -110,7 +111,7 @@ describe('ScheduleRiskEngineCallout', () => {
|
|||
mockUseRiskEngineStatus.mockReturnValueOnce({
|
||||
data: {
|
||||
isNewRiskScoreModuleInstalled: true,
|
||||
|
||||
risk_engine_status: RiskEngineStatusEnum.ENABLED,
|
||||
risk_engine_task_status: {
|
||||
status: 'idle',
|
||||
runAt: oneHourFromNow(),
|
||||
|
@ -127,7 +128,7 @@ describe('ScheduleRiskEngineCallout', () => {
|
|||
mockUseRiskEngineStatus.mockReturnValueOnce({
|
||||
data: {
|
||||
isNewRiskScoreModuleInstalled: true,
|
||||
|
||||
risk_engine_status: RiskEngineStatusEnum.ENABLED,
|
||||
risk_engine_task_status: {
|
||||
status: 'idle',
|
||||
runAt: thirtyMinutesFromNow(),
|
||||
|
@ -143,7 +144,7 @@ describe('ScheduleRiskEngineCallout', () => {
|
|||
mockUseRiskEngineStatus.mockReturnValue({
|
||||
data: {
|
||||
isNewRiskScoreModuleInstalled: true,
|
||||
|
||||
risk_engine_status: RiskEngineStatusEnum.ENABLED,
|
||||
risk_engine_task_status: {
|
||||
status: 'idle',
|
||||
runAt: new Date().toISOString(), // past date
|
||||
|
@ -173,4 +174,19 @@ describe('ScheduleRiskEngineCallout', () => {
|
|||
|
||||
expect(queryByTestId('risk-engine-callout')).toBeNull();
|
||||
});
|
||||
|
||||
it('should not show the callout if the risk engine is disabled', () => {
|
||||
mockUseRiskEngineStatus.mockReturnValue({
|
||||
data: {
|
||||
isNewRiskScoreModuleInstalled: true,
|
||||
risk_engine_status: RiskEngineStatusEnum.DISABLED,
|
||||
},
|
||||
});
|
||||
|
||||
const { queryByTestId } = render(<ScheduleRiskEngineCallout />, {
|
||||
wrapper: TestProviders,
|
||||
});
|
||||
|
||||
expect(queryByTestId('risk-engine-callout')).toBeNull();
|
||||
});
|
||||
});
|
||||
|
|
|
@ -16,6 +16,7 @@ import React, { useCallback, useMemo } from 'react';
|
|||
import { FormattedMessage } from '@kbn/i18n-react';
|
||||
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import { RiskEngineStatusEnum } from '../../../../../common/api/entity_analytics';
|
||||
import { useAppToasts } from '../../../../common/hooks/use_app_toasts';
|
||||
import { formatTimeFromNow } from '../helpers';
|
||||
import { useScheduleNowRiskEngineMutation } from '../../../api/hooks/use_schedule_now_risk_engine_mutation';
|
||||
|
@ -76,7 +77,10 @@ export const ScheduleRiskEngineCallout: React.FC = () => {
|
|||
scheduleRiskEngineMutation();
|
||||
}, [scheduleRiskEngineMutation]);
|
||||
|
||||
if (!riskEngineStatus?.isNewRiskScoreModuleInstalled) {
|
||||
if (
|
||||
!riskEngineStatus?.isNewRiskScoreModuleInstalled ||
|
||||
riskEngineStatus?.risk_engine_status !== RiskEngineStatusEnum.ENABLED
|
||||
) {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue