cleanup test/automated/api/publicstatic.test.js (#2533)

This commit is contained in:
Meisam 2023-01-01 00:10:31 +01:00 committed by GitHub
parent a7e198b5d2
commit db3e20b480
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -3,29 +3,60 @@ request = request('http://127.0.0.1:8080');
const fs = require('fs');
const path = require('path');
const publicPath = path.resolve(__dirname, '../../../public');
const filename = randomString(20) + '.txt';
const fileContent = randomString(8);
test('random public static file does not exist', async (done) => {
request.get('/public/' + filename).expect(404);
done();
});
test('public directory is writable', async (done) => {
try {
writeFileToPublic();
} catch (err) {
if (err) {
if (err.code === "ENOENT") { // path does not exist
fs.mkdirSync(publicPath);
writeFileToPublic();
} else {
throw err;
}
}
}
done();
});
test('public static file is accessible', async (done) => {
request.get('/public/' + filename).expect(200).then((res) => {
expect(res.text).toEqual(fileContent);
done();
});
});
test('public static file is persistent and not locked', async (done) => {
fs.unlink(path.join(publicPath, filename), (err) => {
if (err) { throw err; }
});
done();
});
function randomString(length) {
return Math.random().toString(36).substring(length);
return Math.random().toString(36).substr(2, length);
}
const filename = `${randomString(20)}.txt`;
test('public static file should not exist', async (done) => {
await request.get(`/public/${filename}`).expect(404);
done();
});
test('public static file should exist', async (done) => {
// make public static files directory
try {
fs.mkdirSync(path.join(__dirname, '../../../public/'));
fs.writeFileSync(
path.join(__dirname, `../../../public/${filename}`),
'hello world'
);
} catch (e) {}
await request.get(`/public/${filename}`).expect(200);
done();
});
function writeFileToPublic() {
fs.writeFileSync(
path.join(publicPath, filename),
fileContent
);
}