Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -753,10 +753,11 @@ describe('ScheduledReportsService', () => {
},
]);
expect(taskManager.bulkDisable).toHaveBeenCalledTimes(1);
expect(taskManager.bulkDisable).toHaveBeenCalledWith([
'aa8b6fb3-cf61-4903-bce3-eec9ddc823ca',
'2da1cb75-04c7-4202-a9f0-f8bcce63b0f4',
]);
expect(taskManager.bulkDisable).toHaveBeenCalledWith(
['aa8b6fb3-cf61-4903-bce3-eec9ddc823ca', '2da1cb75-04c7-4202-a9f0-f8bcce63b0f4'],
false,
{ request: fakeRawRequest }
);

expect(auditLogger.log).toHaveBeenCalledTimes(2);
expect(auditLogger.log).toHaveBeenNthCalledWith(1, {
Expand Down Expand Up @@ -845,9 +846,11 @@ describe('ScheduledReportsService', () => {
},
]);
expect(taskManager.bulkDisable).toHaveBeenCalledTimes(1);
expect(taskManager.bulkDisable).toHaveBeenCalledWith([
'aa8b6fb3-cf61-4903-bce3-eec9ddc823ca',
]);
expect(taskManager.bulkDisable).toHaveBeenCalledWith(
['aa8b6fb3-cf61-4903-bce3-eec9ddc823ca'],
false,
{ request: fakeRawRequest }
);

expect(result).toEqual({
scheduled_report_ids: ['aa8b6fb3-cf61-4903-bce3-eec9ddc823ca'],
Expand Down Expand Up @@ -953,9 +956,11 @@ describe('ScheduledReportsService', () => {
},
]);
expect(taskManager.bulkDisable).toHaveBeenCalledTimes(1);
expect(taskManager.bulkDisable).toHaveBeenCalledWith([
'2da1cb75-04c7-4202-a9f0-f8bcce63b0f4',
]);
expect(taskManager.bulkDisable).toHaveBeenCalledWith(
['2da1cb75-04c7-4202-a9f0-f8bcce63b0f4'],
false,
{ request: fakeRawRequest }
);

expect(auditLogger.log).toHaveBeenCalledTimes(1);
expect(auditLogger.log).toHaveBeenNthCalledWith(1, {
Expand Down Expand Up @@ -1085,10 +1090,11 @@ describe('ScheduledReportsService', () => {
);
expect(taskManager.bulkDisable).toHaveBeenCalledTimes(1);
// TM still called with both in case the task was not disabled
expect(taskManager.bulkDisable).toHaveBeenCalledWith([
'2da1cb75-04c7-4202-a9f0-f8bcce63b0f4',
'aa8b6fb3-cf61-4903-bce3-eec9ddc823ca',
]);
expect(taskManager.bulkDisable).toHaveBeenCalledWith(
['2da1cb75-04c7-4202-a9f0-f8bcce63b0f4', 'aa8b6fb3-cf61-4903-bce3-eec9ddc823ca'],
false,
{ request: fakeRawRequest }
);

expect(auditLogger.log).toHaveBeenCalledTimes(1);
expect(auditLogger.log).toHaveBeenNthCalledWith(1, {
Expand Down Expand Up @@ -1162,9 +1168,11 @@ describe('ScheduledReportsService', () => {
},
]);
expect(taskManager.bulkDisable).toHaveBeenCalledTimes(1);
expect(taskManager.bulkDisable).toHaveBeenCalledWith([
'2da1cb75-04c7-4202-a9f0-f8bcce63b0f4',
]);
expect(taskManager.bulkDisable).toHaveBeenCalledWith(
['2da1cb75-04c7-4202-a9f0-f8bcce63b0f4'],
false,
{ request: fakeRawRequest }
);

expect(auditLogger.log).toHaveBeenCalledTimes(3);
expect(auditLogger.log).toHaveBeenNthCalledWith(3, {
Expand Down Expand Up @@ -1240,10 +1248,11 @@ describe('ScheduledReportsService', () => {
},
]);
expect(taskManager.bulkDisable).toHaveBeenCalledTimes(1);
expect(taskManager.bulkDisable).toHaveBeenCalledWith([
'aa8b6fb3-cf61-4903-bce3-eec9ddc823ca',
'2da1cb75-04c7-4202-a9f0-f8bcce63b0f4',
]);
expect(taskManager.bulkDisable).toHaveBeenCalledWith(
['aa8b6fb3-cf61-4903-bce3-eec9ddc823ca', '2da1cb75-04c7-4202-a9f0-f8bcce63b0f4'],
false,
{ request: fakeRawRequest }
);

expect(result).toEqual({
scheduled_report_ids: ['2da1cb75-04c7-4202-a9f0-f8bcce63b0f4'],
Expand Down Expand Up @@ -1337,7 +1346,8 @@ describe('ScheduledReportsService', () => {
expect(taskManager.bulkEnable).toHaveBeenCalledTimes(1);
expect(taskManager.bulkEnable).toHaveBeenCalledWith(
['aa8b6fb3-cf61-4903-bce3-eec9ddc823ca', '2da1cb75-04c7-4202-a9f0-f8bcce63b0f4'],
false
false,
{ request: fakeRawRequest }
);

expect(auditLogger.log).toHaveBeenCalledTimes(2);
Expand Down Expand Up @@ -1429,7 +1439,8 @@ describe('ScheduledReportsService', () => {
expect(taskManager.bulkEnable).toHaveBeenCalledTimes(1);
expect(taskManager.bulkEnable).toHaveBeenCalledWith(
['aa8b6fb3-cf61-4903-bce3-eec9ddc823ca'],
false
false,
{ request: fakeRawRequest }
);

expect(result).toEqual({
Expand Down Expand Up @@ -1538,7 +1549,8 @@ describe('ScheduledReportsService', () => {
expect(taskManager.bulkEnable).toHaveBeenCalledTimes(1);
expect(taskManager.bulkEnable).toHaveBeenCalledWith(
['2da1cb75-04c7-4202-a9f0-f8bcce63b0f4'],
false
false,
{ request: fakeRawRequest }
);

expect(auditLogger.log).toHaveBeenCalledTimes(1);
Expand Down Expand Up @@ -1671,7 +1683,8 @@ describe('ScheduledReportsService', () => {
// TM still called with both in case the task was not disabled
expect(taskManager.bulkEnable).toHaveBeenCalledWith(
['2da1cb75-04c7-4202-a9f0-f8bcce63b0f4', 'aa8b6fb3-cf61-4903-bce3-eec9ddc823ca'],
false
false,
{ request: fakeRawRequest }
);

expect(auditLogger.log).toHaveBeenCalledTimes(1);
Expand Down Expand Up @@ -1748,7 +1761,8 @@ describe('ScheduledReportsService', () => {
expect(taskManager.bulkEnable).toHaveBeenCalledTimes(1);
expect(taskManager.bulkEnable).toHaveBeenCalledWith(
['2da1cb75-04c7-4202-a9f0-f8bcce63b0f4'],
false
false,
{ request: fakeRawRequest }
);

expect(auditLogger.log).toHaveBeenCalledTimes(3);
Expand Down Expand Up @@ -1827,7 +1841,8 @@ describe('ScheduledReportsService', () => {
expect(taskManager.bulkEnable).toHaveBeenCalledTimes(1);
expect(taskManager.bulkEnable).toHaveBeenCalledWith(
['aa8b6fb3-cf61-4903-bce3-eec9ddc823ca', '2da1cb75-04c7-4202-a9f0-f8bcce63b0f4'],
false
false,
{ request: fakeRawRequest }
);

expect(result).toEqual({
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -682,8 +682,8 @@ export class ScheduledReportsService {
updatedScheduledReportIds: Set<string>;
}) {
const resultFromUpdatingTasks = shouldEnable
? await this.taskManager.bulkEnable(taskIdsToUpdate, false)
: await this.taskManager.bulkDisable(taskIdsToUpdate);
? await this.taskManager.bulkEnable(taskIdsToUpdate, false, { request: this.request })
: await this.taskManager.bulkDisable(taskIdsToUpdate, false, { request: this.request });

for (const error of resultFromUpdatingTasks.errors) {
bulkErrors.push({
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -507,6 +507,37 @@ describe('TaskScheduling', () => {
5 * 60 * 1000
);
});
test('should call store bulk update with request when provided', async () => {
const task = taskManagerMock.createTask({
id,
enabled: false,
schedule: { interval: '3h' },
});
mockTaskStore.bulkUpdate.mockImplementation(() =>
Promise.resolve([{ tag: 'ok', value: task }])
);
const mockRequest = httpServerMock.createKibanaRequest();
mockTaskStore.bulkGet.mockResolvedValue([asOk(task)]);

const taskScheduling = new TaskScheduling(taskSchedulingOpts);
await taskScheduling.bulkEnable([id], false, { request: mockRequest });

const bulkUpdatePayload = mockTaskStore.bulkUpdate.mock.calls[0];

expect(bulkUpdatePayload).toEqual([
[
{
...task,
enabled: true,
},
],
{
validate: false,
mergeAttributes: undefined,
options: { request: mockRequest },
},
]);
});
});

describe('bulkDisable', () => {
Expand Down Expand Up @@ -587,6 +618,38 @@ describe('TaskScheduling', () => {

expect(bulkUpdatePayload).toHaveLength(0);
});

test('should call store bulk update with request when provided', async () => {
const task = taskManagerMock.createTask({
id,
enabled: true,
schedule: { interval: '3h' },
});
mockTaskStore.bulkUpdate.mockImplementation(() =>
Promise.resolve([{ tag: 'ok', value: task }])
);
const mockRequest = httpServerMock.createKibanaRequest();
mockTaskStore.bulkGet.mockResolvedValue([asOk(task)]);

const taskScheduling = new TaskScheduling(taskSchedulingOpts);
await taskScheduling.bulkDisable([id], false, { request: mockRequest });

const bulkUpdatePayload = mockTaskStore.bulkUpdate.mock.calls[0];

expect(bulkUpdatePayload).toEqual([
[
{
...task,
enabled: false,
},
],
{
validate: false,
mergeAttributes: undefined,
options: { request: mockRequest },
},
]);
});
});

describe('bulkUpdateState', () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,11 @@ export class TaskScheduling {
);
}

public async bulkDisable(taskIds: string[], clearStateIdsOrBoolean?: string[] | boolean) {
public async bulkDisable(
taskIds: string[],
clearStateIdsOrBoolean?: string[] | boolean,
options?: ApiKeyOptions
) {
return await retryableBulkUpdate({
taskIds,
store: this.store,
Expand All @@ -171,10 +175,11 @@ export class TaskScheduling {
: {}),
}),
validate: false,
options,
});
}

public async bulkEnable(taskIds: string[], runSoon: boolean = true) {
public async bulkEnable(taskIds: string[], runSoon: boolean = true, options?: ApiKeyOptions) {
return await retryableBulkUpdate({
taskIds,
store: this.store,
Expand All @@ -193,6 +198,7 @@ export class TaskScheduling {
return { ...task, enabled: true };
},
validate: false,
options,
});
}

Expand Down