blob: 898899e4815cbf6bb222aa127bac90f119f104a9 [file] [log] [blame]
import {
AddSkipTaskRuleRequest,
AddSkipTaskRuleResponse,
CancelJobRequest,
CancelJobResponse,
DeleteSkipTaskRuleRequest,
DeleteSkipTaskRuleResponse,
GetJobRequest,
GetJobResponse,
GetTaskRequest,
GetTaskResponse,
GetSkipTaskRulesRequest,
GetSkipTaskRulesResponse,
Job,
SearchJobsRequest,
SearchJobsResponse,
SearchTasksRequest,
SearchTasksResponse,
Task,
TaskSchedulerService,
TriggerJobsRequest,
TriggerJobsResponse,
} from '../rpc';
import { job1, task0, task1, task2, task3, task4, job2 } from './fake-data';
import { JobStatus } from '../rpc/rpc';
export * from './fake-data';
/**
* FakeTaskSchedulerService provides a mocked implementation of
* TaskSchedulerService.
*/
export class FakeTaskSchedulerService implements TaskSchedulerService {
private jobs: { [key: string]: Job } = {
[job1.id]: job1,
[job2.id]: job2,
};
private tasks: { [key: string]: Task } = {
[task0.id]: task0,
[task1.id]: task1,
[task2.id]: task2,
[task3.id]: task3,
[task4.id]: task4,
};
private jobID: number = 0;
triggerJobs(
triggerJobsRequest: TriggerJobsRequest
): Promise<TriggerJobsResponse> {
const ids = triggerJobsRequest.jobs!.map((job) => '' + this.jobID++);
return Promise.resolve({
jobIds: ids,
});
}
getJob(getJobRequest: GetJobRequest): Promise<GetJobResponse> {
return Promise.resolve({
job: this.jobs[getJobRequest.id],
});
}
cancelJob(cancelJobRequest: CancelJobRequest): Promise<CancelJobResponse> {
const job = this.jobs[cancelJobRequest.id];
job.status = JobStatus.JOB_STATUS_CANCELED;
return Promise.resolve({
job: job,
});
}
searchJobs(
searchJobsRequest: SearchJobsRequest
): Promise<SearchJobsResponse> {
return new Promise((_, reject) => {
reject('not implemented');
});
}
getTask(getTaskRequest: GetTaskRequest): Promise<GetTaskResponse> {
return Promise.resolve({
task: this.tasks[getTaskRequest.id],
});
}
searchTasks(
searchTasksRequest: SearchTasksRequest
): Promise<SearchTasksResponse> {
return new Promise((_, reject) => {
reject('not implemented');
});
}
getSkipTaskRules(
getSkipTaskRulesRequest: GetSkipTaskRulesRequest
): Promise<GetSkipTaskRulesResponse> {
return new Promise((_, reject) => {
reject('not implemented');
});
}
addSkipTaskRule(
addSkipTaskRuleRequest: AddSkipTaskRuleRequest
): Promise<AddSkipTaskRuleResponse> {
return new Promise((_, reject) => {
reject('not implemented');
});
}
deleteSkipTaskRule(
deleteSkipTaskRuleRequest: DeleteSkipTaskRuleRequest
): Promise<DeleteSkipTaskRuleResponse> {
return new Promise((_, reject) => {
reject('not implemented');
});
}
}