2021-10-18
(C) Questetra, Inc. (MIT License)
2
Delete files on Box. You can delete multiple files at once. When you delete multiple ones, you should write one file ID on each line.
Box 上のファイルを削除します。一度に複数の削除が可能です。複数削除する場合、データ項目では1行につき1つずつIDを書くようにしてください。
https://support.questetra.com/bpmn-icons/service-task-box-file-delete/
https://support.questetra.com/ja/bpmn-icons/service-task-box-file-delete/
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAD/UlEQVRYR82XbWibVRTHf/fJ2jXJ
2qSd65x11aC0YgJWZUwEWZ0D/SJaHYKKmgykbL70Bf2k4IYwZOKWOhFRMM9QZxHUjSEo+7AOlA1E
7WSRThzdqq1tWWxjm7Zrk1y5N+SlydM2XdvN50sebs5z7u+e8z/n3iu4xo9Y1Pz+3x6F5BagAYQb
oX4BSTfIUaAbIboIeY8W63dhAH+vGyZaQLYihLsox1LBiCA4OjA9CmzOZ34Af9gP8kDRE+dPo0GM
AObtR+YimBvAfzaIEC1FrXghIymDmL42KzNrgMBZE8RzC/ld1P8SE9MbyP+mEGA5V16Ykg5MX2vu
8GwAlXNBaFErW6yxFE25msgCaLXHeq9YcMWCaGE6PenqyAEI70bwRrF+lmQn2YPp3a18ZAECYVWv
rrTj0I4bqHLaeOTgn0uay/JjFQXTV5kFUB1OyK9zjYeC9ThKBeW7epYfQHfPlBZSEbBQ/nBHCmDN
zpUCkLoiUgCBcBegenzmUQDO1QaHT0dpqC3T4yd7YrzyxZB+33V/Jds3VbBmtUH/SJzmQwN07ryR
7r4p2jtTNh88uwHPdaU8uP+iVRRPEvI2pgEuADflA6wrtxV8+GPvJBcuzfDY3RXYjBzgfxNU2A0M
AW2fD1Jht/FmUzWx6STuFyyiqDYw03tnGkDmz6QioADUZO98F8HtMHh521o9lpQwNSMxvx/l9PkJ
XtpWxSaPnZFYArfDRmQ8oeFcDhvvHv+Hts5Bax2FvGJeAFUFW97q5Yc/JrWDVx9ay74n1uv3Iz+P
0fRetkIiB+uxlxj80jfFvbfatc2Jnhhb91mGPwWUA1CQgoH9dawrX0VN+zmGxxLa/qnNLj5rrtHv
ShtPf9ifWdnfB+p02X7z6zhNd5Xr8U9PRXnmo6zN7DDIM4R8DXOK8NRrHu65xY7K+QNvX2SDaxXH
Wmqpu75U+1FhVsL78qcxDjfX8ORml05BeZmN6YTUDUalQenh/RMjC4jQogwb6x189eJGKp02YpeT
2AxBWYmgLzLDwGhcw8UTaJG57AaT0xIlJGXTcTyi09HcWMml8QTVLecKAWRuGVo0IvXF1tuc7N1e
rUspnpSE+y+z4+N+/hqJ88nzNdxX58BRajAYjbPn6DB7H1/P70PTPNzRpyf8tr2WjVUleF8/bwGQ
24jU33mt2Fq2yzYaJeTVx7v/0WaktmMxoaohsyEt23pnO4oiHTcXbsfK6JoeSNKUK3oky54D0tNd
vUMp8hAhnz8/rVfpWF648vkjkEmHPqiYSxBmFCn8V3YxyUDoq1krAnWcLrZCokjU1Sy4tKtZfsJS
l9NGhGgA6QZxR8pEngExipTdYHTNt+LiNbBCTSDf7X8FbX8wYecpbwAAAABJRU5ErkJggg==
{
configs.put('conf_OAuth2', 'Box');
const fileIdDef = engine.createDataDefinition('ファイル ID', 3, 'q_fileId', 'STRING_TEXTAREA');
configs.putObject('conf_FileIds', fileIdDef);
engine.setData(fileIdDef, fileId);
return fileIdDef;
};
/**
* リクエストのテスト
* @param url
* @param method
* @param id
*/
const assertRequest = ({url, method}, fileId) => {
expect(url).toEqual(`https://api.box.com/2.0/files/${fileId}`);
expect(method).toEqual('DELETE');
};
test('IDs is null', () => {
prepareConfigs(configs, null);
try {
execute();
fail('not come here');
} catch (e) {
expect(e.message).endsWith("File IDs aren't set.");
}
});
test('IDs is blank', () => {
prepareConfigs(configs, '\n\n\n'); //空行が複数行あるだけ
try {
execute();
fail('not come here');
} catch (e) {
expect(e.message).endsWith("File IDs aren't set.");
}
});
test('Number of File IDs is over the limit', () => {
let ids = '';
for (let i = 0; i <= httpClient.getRequestingLimit(); i++) {
ids += `f${i}\n`;
}
prepareConfigs(configs, ids);
try {
execute();
fail('not come here');
} catch (e) {
expect(e.message).endsWith('Number of File IDs is over the limit.');
}
});
/**
* 削除するファイルが複数の場合(この場合、最大リクエスト数)
*/
test('Succeed to delete multiple files', () => {
let ids = '';
for (let i = 0; i < httpClient.getRequestingLimit(); i++) {
ids += `f${i}\n`;
}
const fileIdDef = prepareConfigs(configs, ids);
let requestCount = 0;
httpClient.setRequestHandler((request) => {
assertRequest(request, `f${requestCount++}`);
return httpClient.createHttpResponse(204, 'application/json', '{}');
});
//