X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=shared%2Fextra-utils%2Fvideos%2Fvideos.ts;h=0d36a38a24a59d9240a531a4bd79bf6f035b8a37;hb=8319d6ae72d4da6de51bd3d4b5c68040fc8dc3b4;hp=9dec12703d0080720850288424e0788b01c19462;hpb=fe98765624cdd6695739bda719fcb726b71c2b2a;p=github%2FChocobozzz%2FPeerTube.git diff --git a/shared/extra-utils/videos/videos.ts b/shared/extra-utils/videos/videos.ts index 9dec12703..0d36a38a2 100644 --- a/shared/extra-utils/videos/videos.ts +++ b/shared/extra-utils/videos/videos.ts @@ -1,4 +1,4 @@ -/* tslint:disable:no-unused-expression */ +/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/no-floating-promises */ import { expect } from 'chai' import { pathExists, readdir, readFile } from 'fs-extra' @@ -95,6 +95,14 @@ function getVideo (url: string, id: number | string, expectedStatus = 200) { .expect(expectedStatus) } +function getVideoFileMetadataUrl (url: string) { + return request(url) + .get('/') + .set('Accept', 'application/json') + .expect(200) + .expect('Content-Type', /json/) +} + function viewVideo (url: string, id: number | string, expectedStatus = 204, xForwardedFor?: string) { const path = '/api/v1/videos/' + id + '/views' @@ -465,7 +473,7 @@ function rateVideo (url: string, accessToken: string, id: number, rating: string function parseTorrentVideo (server: ServerInfo, videoUUID: string, resolution: number) { return new Promise((res, rej) => { const torrentName = videoUUID + '-' + resolution + '.torrent' - const torrentPath = join(root(), 'test' + server.serverNumber, 'torrents', torrentName) + const torrentPath = join(root(), 'test' + server.internalServerNumber, 'torrents', torrentName) readFile(torrentPath, (err, data) => { if (err) return rej(err) @@ -488,7 +496,7 @@ async function completeVideoCheck ( description: string publishedAt?: string support: string - originallyPublishedAt?: string, + originallyPublishedAt?: string account: { name: string host: string @@ -509,7 +517,7 @@ async function completeVideoCheck ( files: { resolution: number size: number - }[], + }[] thumbnailfile?: string previewfile?: string } @@ -583,23 +591,22 @@ async function completeVideoCheck ( const minSize = attributeFile.size - ((10 * attributeFile.size) / 100) const maxSize = attributeFile.size + ((10 * attributeFile.size) / 100) - expect(file.size, - 'File size for resolution ' + file.resolution.label + ' outside confidence interval (' + minSize + '> size <' + maxSize + ')') - .to.be.above(minSize).and.below(maxSize) - - { - await testImage(url, attributes.thumbnailfile || attributes.fixture, videoDetails.thumbnailPath) - } - - if (attributes.previewfile) { - await testImage(url, attributes.previewfile, videoDetails.previewPath) - } + expect( + file.size, + 'File size for resolution ' + file.resolution.label + ' outside confidence interval (' + minSize + '> size <' + maxSize + ')' + ).to.be.above(minSize).and.below(maxSize) const torrent = await webtorrentAdd(file.magnetUri, true) expect(torrent.files).to.be.an('array') expect(torrent.files.length).to.equal(1) expect(torrent.files[0].path).to.exist.and.to.not.equal('') } + + await testImage(url, attributes.thumbnailfile || attributes.fixture, videoDetails.thumbnailPath) + + if (attributes.previewfile) { + await testImage(url, attributes.previewfile, videoDetails.previewPath) + } } async function videoUUIDToId (url: string, id: number | string) { @@ -609,15 +616,28 @@ async function videoUUIDToId (url: string, id: number | string) { return res.body.id } -async function uploadVideoAndGetId (options: { server: ServerInfo, videoName: string, nsfw?: boolean, token?: string }) { +async function uploadVideoAndGetId (options: { + server: ServerInfo + videoName: string + nsfw?: boolean + privacy?: VideoPrivacy + token?: string +}) { const videoAttrs: any = { name: options.videoName } if (options.nsfw) videoAttrs.nsfw = options.nsfw + if (options.privacy) videoAttrs.privacy = options.privacy const res = await uploadVideo(options.server.url, options.token || options.server.accessToken, videoAttrs) return { id: res.body.video.id, uuid: res.body.video.uuid } } +async function getLocalIdByUUID (url: string, uuid: string) { + const res = await getVideo(url, uuid) + + return res.body.id +} + // --------------------------------------------------------------------------- export { @@ -631,6 +651,7 @@ export { getAccountVideos, getVideoChannelVideos, getVideo, + getVideoFileMetadataUrl, getVideoWithToken, getVideosList, getVideosListPagination, @@ -647,5 +668,6 @@ export { completeVideoCheck, checkVideoFilesWereRemoved, getPlaylistVideos, - uploadVideoAndGetId + uploadVideoAndGetId, + getLocalIdByUUID }