mirror of
https://github.com/HeyPuter/puter.git
synced 2025-02-02 14:18:43 +08:00
202e7f06e2
One of the test cases has been rendered redundant so it has been removed. Another test was changed to overwrite a file as it's expected to already exist.
100 lines
3.0 KiB
JavaScript
100 lines
3.0 KiB
JavaScript
const { expect } = require("chai");
|
|
const { verify_fsentry } = require("./fsentry");
|
|
|
|
module.exports = {
|
|
name: 'batch',
|
|
do: async t => {
|
|
let results;
|
|
|
|
await t.case('path reference resolution', async () => {
|
|
results = null;
|
|
results = await t.batch('batch', [
|
|
{
|
|
op: 'mkdir',
|
|
as: 'dest_1',
|
|
path: t.resolve('q/w'),
|
|
create_missing_parents: true,
|
|
},
|
|
{
|
|
op: 'write',
|
|
path: t.resolve('$dest_1/file_1.txt'),
|
|
},
|
|
], [
|
|
'file 1 contents',
|
|
]);
|
|
expect(results.length).equal(2);
|
|
expect(results[0].name).equal('w');
|
|
expect(results[1].path).equal(t.resolve('q/w/file_1.txt'));
|
|
});
|
|
|
|
await t.case('batch mkdir and write', async () => {
|
|
results = null;
|
|
results = await t.batch('batch', [
|
|
{
|
|
op: 'mkdir',
|
|
path: t.resolve('test_x_1_dir'),
|
|
overwrite: true,
|
|
},
|
|
{
|
|
op: 'write',
|
|
path: t.resolve('test_x_1.txt'),
|
|
},
|
|
{
|
|
op: 'mkdir',
|
|
path: t.resolve('test_x_2_dir'),
|
|
},
|
|
{
|
|
op: 'write',
|
|
path: t.resolve('test_x_2.txt'),
|
|
}
|
|
], [
|
|
'first file',
|
|
'second file',
|
|
]);
|
|
console.log('res?', results)
|
|
expect(results.length).equal(4);
|
|
for ( const result of results ) {
|
|
// await verify_fsentry(t, result)
|
|
}
|
|
});
|
|
|
|
// Test for path reference resolution
|
|
await t.case('path reference resolution', async () => {
|
|
results = null;
|
|
results = await t.batch('batch', [
|
|
{
|
|
op: 'mkdir',
|
|
as: 'dest_1',
|
|
path: t.resolve('q/w'),
|
|
create_missing_parents: true,
|
|
},
|
|
{
|
|
op: 'write',
|
|
overwrite: true,
|
|
path: t.resolve('$dest_1/file_1.txt'),
|
|
},
|
|
], [
|
|
'file 1 contents',
|
|
]);
|
|
console.log('res?', results)
|
|
expect(results.length).equal(2);
|
|
expect(results[0].name).equal('w');
|
|
expect(results[1].path).equal(t.resolve('q/w/file_1.txt'));
|
|
});
|
|
|
|
// Test for a single write
|
|
await t.case('single write', async () => {
|
|
results = null;
|
|
results = await t.batch('batch', [
|
|
{
|
|
op: 'write',
|
|
path: t.resolve('just_one_file.txt'),
|
|
},
|
|
], [
|
|
'file 1 contents',
|
|
]);
|
|
console.log('res?', results)
|
|
});
|
|
}
|
|
};
|