74 lines
1.8 KiB
JavaScript
74 lines
1.8 KiB
JavaScript
|
|
// Copyright (C) CVAT.ai Corporation
|
||
|
|
//
|
||
|
|
// SPDX-License-Identifier: MIT
|
||
|
|
import http from 'k6/http';
|
||
|
|
import { validateResponse } from '../../utils/validation.js';
|
||
|
|
import { BASE_URL } from '../../variables/constants.js';
|
||
|
|
|
||
|
|
function getDefaultHeaders(token) {
|
||
|
|
return {
|
||
|
|
Authorization: `Token ${token}`,
|
||
|
|
'Content-Type': 'application/json',
|
||
|
|
};
|
||
|
|
}
|
||
|
|
|
||
|
|
function createTask(token, taskSpec) {
|
||
|
|
const response = http.post(`${BASE_URL}/tasks`, JSON.stringify(taskSpec), {
|
||
|
|
headers: getDefaultHeaders(token),
|
||
|
|
});
|
||
|
|
if (validateResponse(response, 201, 'Create Task')) {
|
||
|
|
return response.json().id;
|
||
|
|
}
|
||
|
|
return null;
|
||
|
|
}
|
||
|
|
|
||
|
|
function patchTask(token, taskId, taskUpdatesSpec) {
|
||
|
|
const response = http.patch(
|
||
|
|
`${BASE_URL}/tasks/${taskId}`,
|
||
|
|
JSON.stringify(taskUpdatesSpec),
|
||
|
|
{
|
||
|
|
headers: getDefaultHeaders(token),
|
||
|
|
},
|
||
|
|
);
|
||
|
|
|
||
|
|
if (validateResponse(response, 200, 'Patch Task')) {
|
||
|
|
return response.json();
|
||
|
|
}
|
||
|
|
return null;
|
||
|
|
}
|
||
|
|
|
||
|
|
function getTask(token, taskId) {
|
||
|
|
const response = http.get(`${BASE_URL}/tasks/${taskId}`, {
|
||
|
|
headers: getDefaultHeaders(token),
|
||
|
|
});
|
||
|
|
if (validateResponse(response, 200, 'Get Task')) {
|
||
|
|
return response.json();
|
||
|
|
}
|
||
|
|
return null;
|
||
|
|
}
|
||
|
|
|
||
|
|
function getTasks(token) {
|
||
|
|
const response = http.get(`${BASE_URL}/tasks`, {
|
||
|
|
headers: getDefaultHeaders(token),
|
||
|
|
});
|
||
|
|
if (validateResponse(response, 200, 'Get Tasks')) {
|
||
|
|
return response.json();
|
||
|
|
}
|
||
|
|
return null;
|
||
|
|
}
|
||
|
|
|
||
|
|
function deleteTask(token, taskId) {
|
||
|
|
const response = http.del(`${BASE_URL}/tasks/${taskId}`, JSON.stringify({}), {
|
||
|
|
headers: getDefaultHeaders(token),
|
||
|
|
});
|
||
|
|
return validateResponse(response, 204, 'Delete Task');
|
||
|
|
}
|
||
|
|
|
||
|
|
export default {
|
||
|
|
createTask,
|
||
|
|
getTask,
|
||
|
|
getTasks,
|
||
|
|
patchTask,
|
||
|
|
deleteTask,
|
||
|
|
};
|