]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/tests/utils/videos/videos.ts
Precisions and security enhancements to the production guide (#287)
[github/Chocobozzz/PeerTube.git] / server / tests / utils / videos / videos.ts
index 270a6042be51270c48a63e4d4326fd37c537c151..9105b5f13650be2492c6989b636f2d929ffc337e 100644 (file)
@@ -5,9 +5,9 @@ import { existsSync, readFile } from 'fs'
 import * as parseTorrent from 'parse-torrent'
 import { extname, isAbsolute, join } from 'path'
 import * as request from 'supertest'
-import { getMyUserInformation, makeGetRequest, root, ServerInfo } from '../'
+import { getMyUserInformation, makeGetRequest, root, ServerInfo, testImage } from '../'
 import { VideoPrivacy } from '../../../../shared/models/videos'
-import { readdirPromise, readFileBufferPromise } from '../../../helpers/core-utils'
+import { readdirPromise } from '../../../helpers/core-utils'
 import { VIDEO_CATEGORIES, VIDEO_LANGUAGES, VIDEO_LICENCES, VIDEO_PRIVACIES } from '../../../initializers'
 import { dateIsValid, webtorrentAdd } from '../index'
 
@@ -219,23 +219,6 @@ async function checkVideoFilesWereRemoved (videoUUID: string, serverNumber: numb
   }
 }
 
-async function testImage (url: string, imageName: string, imagePath: string, extension = '.jpg') {
-  // Don't test images if the node env is not set
-  // Because we need a special ffmpeg version for this test
-  if (process.env['NODE_TEST_IMAGE']) {
-    const res = await request(url)
-                        .get(imagePath)
-                        .expect(200)
-
-    const data = await readFileBufferPromise(join(__dirname, '..', '..', 'api', 'fixtures', imageName + extension))
-
-    return data.equals(res.body)
-  } else {
-    console.log('Do not test images. Enable it by setting NODE_TEST_IMAGE env variable.')
-    return true
-  }
-}
-
 async function uploadVideo (url: string, accessToken: string, videoAttributesArg: VideoAttributes, specialStatus = 200) {
   const path = '/api/v1/videos/upload'
   let defaultChannelId = '1'
@@ -266,17 +249,23 @@ async function uploadVideo (url: string, accessToken: string, videoAttributesArg
               .set('Accept', 'application/json')
               .set('Authorization', 'Bearer ' + accessToken)
               .field('name', attributes.name)
-              .field('category', attributes.category.toString())
-              .field('licence', attributes.licence.toString())
               .field('nsfw', JSON.stringify(attributes.nsfw))
               .field('commentsEnabled', JSON.stringify(attributes.commentsEnabled))
-              .field('description', attributes.description)
               .field('privacy', attributes.privacy.toString())
               .field('channelId', attributes.channelId)
 
+  if (attributes.description !== undefined) {
+    req.field('description', attributes.description)
+  }
   if (attributes.language !== undefined) {
     req.field('language', attributes.language.toString())
   }
+  if (attributes.category !== undefined) {
+    req.field('category', attributes.category.toString())
+  }
+  if (attributes.licence !== undefined) {
+    req.field('licence', attributes.licence.toString())
+  }
 
   for (let i = 0; i < attributes.tags.length; i++) {
     req.field('tags[' + i + ']', attributes.tags[i])
@@ -390,7 +379,7 @@ async function completeVideoCheck (
   expect(dateIsValid(video.createdAt)).to.be.true
   expect(dateIsValid(video.updatedAt)).to.be.true
 
-  const res = await getVideo(url, video.id)
+  const res = await getVideo(url, video.uuid)
   const videoDetails = res.body
 
   expect(videoDetails.files).to.have.lengthOf(attributes.files.length)
@@ -453,7 +442,6 @@ export {
   searchVideo,
   searchVideoWithPagination,
   searchVideoWithSort,
-  testImage,
   uploadVideo,
   updateVideo,
   rateVideo,