mirror of
https://github.com/HeyPuter/puter.git
synced 2025-12-30 09:40:00 -06:00
fs/stat: return_permissions -> return_shares, update tests as well
This commit is contained in:
@@ -29,7 +29,8 @@ class HLStat extends HLFilesystemOperation {
|
||||
const {
|
||||
subject, user,
|
||||
return_subdomains,
|
||||
return_permissions,
|
||||
return_permissions, // Deprecated: kept for backwards compatiable with `return_shares`
|
||||
return_shares,
|
||||
return_versions,
|
||||
return_size,
|
||||
} = this.values;
|
||||
@@ -55,8 +56,7 @@ class HLStat extends HLFilesystemOperation {
|
||||
|
||||
if (return_size) await subject.fetchSize(user);
|
||||
if (return_subdomains) await subject.fetchSubdomains(user)
|
||||
if (return_permissions) {
|
||||
subject.entry.permissions = [];
|
||||
if (return_shares || return_permissions) {
|
||||
await subject.fetchShares();
|
||||
}
|
||||
if (return_versions) await subject.fetchVersions();
|
||||
|
||||
@@ -43,6 +43,7 @@ module.exports = eggspress('/stat', {
|
||||
user: req.user,
|
||||
return_subdomains: req.body.return_subdomains,
|
||||
return_permissions: req.body.return_permissions,
|
||||
return_shares: req.body.return_shares,
|
||||
return_versions: req.body.return_versions,
|
||||
return_size: req.body.return_size,
|
||||
});
|
||||
|
||||
@@ -46,7 +46,23 @@ module.exports = {
|
||||
expect(threw).true;
|
||||
});
|
||||
|
||||
const flags = ['permissions', 'versions'];
|
||||
await t.case('stat with versions', async () => {
|
||||
result = await t.stat(TEST_FILENAME, {
|
||||
return_versions: true,
|
||||
});
|
||||
|
||||
await verify_fsentry(t, result);
|
||||
await t.case('filename is correct', () => {
|
||||
expect(result.name).equal(`test_stat.txt`);
|
||||
});
|
||||
await t.case(`result has versions array`, () => {
|
||||
expect(Array.isArray(result.versions)).true;
|
||||
});
|
||||
})
|
||||
|
||||
// Backend should return 'shares' field when 'return_shares' is true. And
|
||||
// the backwards compatiable of `return_permissions` is also tested here.
|
||||
const flags = ['shares', 'permissions'];
|
||||
for ( const flag of flags ) {
|
||||
await t.case('stat with ' + flag, async () => {
|
||||
result = await t.stat(TEST_FILENAME, {
|
||||
@@ -57,8 +73,10 @@ module.exports = {
|
||||
await t.case('filename is correct', () => {
|
||||
expect(result.name).equal(`test_stat.txt`);
|
||||
});
|
||||
await t.case(`result has ${flag} array`, () => {
|
||||
expect(Array.isArray(result[flag])).true;
|
||||
await t.case(`result has shares (apps and users)`, () => {
|
||||
expect('shares' in result).true;
|
||||
expect(Array.isArray(result['shares']['users'])).true;
|
||||
expect(Array.isArray(result['shares']['apps'])).true;
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user