Skip to content

Commit 1ae5329

Browse files
committed
fix rule snooze/unsnooze change history logging
1 parent edf8611 commit 1ae5329

4 files changed

Lines changed: 36 additions & 4 deletions

File tree

x-pack/platform/plugins/shared/alerting/server/application/rule/methods/snooze/snooze_rule.test.ts

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,15 @@ const context = {
5858
} as unknown as RulesClientContext;
5959

6060
describe('validate snooze params and body', () => {
61+
beforeEach(() => {
62+
savedObjectsMock.update = jest.fn().mockResolvedValue({
63+
id: '123',
64+
type: 'alert',
65+
attributes: { snoozeSchedule: [] },
66+
references: [],
67+
});
68+
});
69+
6170
afterEach(() => {
6271
jest.clearAllMocks();
6372
});
@@ -232,7 +241,12 @@ describe('snoozeRule change tracking', () => {
232241
beforeEach(() => {
233242
getBeforeSetup(rulesClientParams, taskManager, ruleTypeRegistry);
234243
unsecuredSavedObjectsClient.get.mockResolvedValue(existingRuleSO);
235-
unsecuredSavedObjectsClient.update.mockResolvedValue(updatedRuleSO);
244+
unsecuredSavedObjectsClient.update.mockResolvedValue({
245+
id: 'rule-1',
246+
type: 'alert',
247+
attributes: { snoozeSchedule: updatedRuleSO.attributes.snoozeSchedule },
248+
references: [],
249+
});
236250
setRuleType();
237251
});
238252

x-pack/platform/plugins/shared/alerting/server/application/rule/methods/snooze/snooze_rule.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,9 @@ async function snoozeWithOCC<Params extends RuleParams = never>(
121121
});
122122

123123
await logRuleChanges({
124-
ruleSOs: [updatedRuleRaw] as Array<SavedObject<RawRule>>,
124+
ruleSOs: [
125+
{ ...updatedRuleRaw, attributes: { ...attributes, ...updatedRuleRaw.attributes } },
126+
] as Array<SavedObject<RawRule>>,
125127
rulesClientContext: context,
126128
changesContext: {
127129
action: RuleChangeTrackingAction.ruleSnooze,

x-pack/platform/plugins/shared/alerting/server/application/rule/methods/unsnooze/unsnooze_rule.test.ts

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,15 @@ const context = {
7070
} as unknown as RulesClientContext;
7171

7272
describe('validate unsnooze params', () => {
73+
beforeEach(() => {
74+
savedObjectsMock.update = jest.fn().mockResolvedValue({
75+
id: '123',
76+
type: 'alert',
77+
attributes: { snoozeSchedule: [] },
78+
references: [],
79+
});
80+
});
81+
7382
afterEach(() => {
7483
jest.clearAllMocks();
7584
});
@@ -212,7 +221,12 @@ describe('unsnoozeRule change tracking', () => {
212221
beforeEach(() => {
213222
getBeforeSetup(rulesClientParams, taskManager, ruleTypeRegistry);
214223
unsecuredSavedObjectsClient.get.mockResolvedValue(existingRuleSO);
215-
unsecuredSavedObjectsClient.update.mockResolvedValue(updatedRuleSO);
224+
unsecuredSavedObjectsClient.update.mockResolvedValue({
225+
id: 'rule-1',
226+
type: 'alert',
227+
attributes: { snoozeSchedule: updatedRuleSO.attributes.snoozeSchedule },
228+
references: [],
229+
});
216230
setRuleType();
217231
});
218232

x-pack/platform/plugins/shared/alerting/server/application/rule/methods/unsnooze/unsnooze_rule.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,9 @@ async function unsnoozeWithOCC(context: RulesClientContext, { id, scheduleIds }:
9999
});
100100

101101
await logRuleChanges({
102-
ruleSOs: [updatedRuleRaw] as Array<SavedObject<RawRule>>,
102+
ruleSOs: [
103+
{ ...updatedRuleRaw, attributes: { ...attributes, ...updatedRuleRaw.attributes } },
104+
] as Array<SavedObject<RawRule>>,
103105
rulesClientContext: context,
104106
changesContext: {
105107
action: RuleChangeTrackingAction.ruleUnsnooze,

0 commit comments

Comments
 (0)