fix: NodeBB#11482 thumbs Post Can not upload a thumbnail, only multip… (#11483)

* fix: NodeBB#11482 thumbs Post Can not upload a thumbnail, only multiple uploads

* Modify upload thumbnail test

* Modify upload thumbnail test +,

* Get rid of v2 uploads test

* edit times

* Modify amount of files associated post test

* edit post file amount
isekai-main
Veronikya 2 years ago committed by GitHub
parent ae5afdbc66
commit c931183287
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -102,11 +102,20 @@ middleware.pluginHooks = helpers.try(async (req, res, next) => {
});
middleware.validateFiles = function validateFiles(req, res, next) {
if (!Array.isArray(req.files.files) || !req.files.files.length) {
if (!req.files.files) {
return next(new Error(['[[error:invalid-files]]']));
}
next();
if (Array.isArray(req.files.files) && req.files.files.length) {
return next();
}
if (typeof req.files.files === 'object') {
req.files.files = [req.files.files];
return next();
}
return next(new Error(['[[error:invalid-files]]']));
};
middleware.prepareAPI = function prepareAPI(req, res, next) {

@ -121,7 +121,6 @@ helpers.uploadFile = function (uploadEndPoint, filePath, body, jar, csrf_token,
let formData = {
files: [
fs.createReadStream(filePath),
fs.createReadStream(filePath), // see https://github.com/request/request/issues/2445
],
};
formData = utils.merge(formData, body);

@ -88,7 +88,7 @@ describe('Upload Controllers', () => {
meta.config.allowedFileExtensions = 'png,jpg,bmp,html';
require('../src/middleware/uploads').clearCache();
// why / 2? see: helpers.uploadFile for a weird quirk where we actually upload 2 files per upload in our tests.
const times = (meta.config.uploadRateLimitThreshold / 2) + 1;
const times = (meta.config.uploadRateLimitThreshold) + 1;
async.timesSeries(times, (i, next) => {
helpers.uploadFile(`${nconf.get('url')}/api/post/upload`, path.join(__dirname, '../test/files/503.html'), {}, jar, csrf_token, (err, res, body) => {
if (i + 1 >= times) {
@ -522,7 +522,7 @@ describe('Upload Controllers', () => {
it('should return files with no post associated with them', async () => {
const orphans = await posts.uploads.getOrphans();
assert.strictEqual(orphans.length, 2);
assert.strictEqual(orphans.length, 1);
orphans.forEach((relPath) => {
assert(relPath.startsWith('files/'));
assert(relPath.endsWith('test.png'));
@ -553,7 +553,7 @@ describe('Upload Controllers', () => {
await posts.uploads.cleanOrphans();
const orphans = await posts.uploads.getOrphans();
assert.strictEqual(orphans.length, 2);
assert.strictEqual(orphans.length, 1);
});
it('should not touch orphans if they are newer than the configured expiry', async () => {
@ -561,7 +561,7 @@ describe('Upload Controllers', () => {
await posts.uploads.cleanOrphans();
const orphans = await posts.uploads.getOrphans();
assert.strictEqual(orphans.length, 2);
assert.strictEqual(orphans.length, 1);
});
it('should delete orphans older than the configured number of days', async () => {

Loading…
Cancel
Save