mirror of
https://github.com/Chocobozzz/PeerTube.git
synced 2025-02-25 18:55:32 -06:00
Support additional video extensions
This commit is contained in:
@@ -54,6 +54,7 @@ describe('Test config API validators', function () {
|
||||
},
|
||||
transcoding: {
|
||||
enabled: true,
|
||||
allowAdditionalExtensions: true,
|
||||
threads: 1,
|
||||
resolutions: {
|
||||
'240p': false,
|
||||
|
||||
@@ -320,10 +320,15 @@ describe('Test videos API validator', function () {
|
||||
|
||||
it('Should fail without an incorrect input file', async function () {
|
||||
const fields = baseCorrectParams
|
||||
const attaches = {
|
||||
let attaches = {
|
||||
'videofile': join(__dirname, '..', '..', 'fixtures', 'video_short_fake.webm')
|
||||
}
|
||||
await makeUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches })
|
||||
|
||||
attaches = {
|
||||
'videofile': join(__dirname, '..', '..', 'fixtures', 'video_short.mkv')
|
||||
}
|
||||
await makeUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches })
|
||||
})
|
||||
|
||||
it('Should fail with an incorrect thumbnail file', async function () {
|
||||
|
||||
@@ -17,6 +17,7 @@ import {
|
||||
setAccessTokensToServers,
|
||||
updateCustomConfig
|
||||
} from '../../../../shared/utils'
|
||||
import { ServerConfig } from '../../../../shared/models'
|
||||
|
||||
const expect = chai.expect
|
||||
|
||||
@@ -43,6 +44,7 @@ function checkInitialConfig (data: CustomConfig) {
|
||||
expect(data.user.videoQuota).to.equal(5242880)
|
||||
expect(data.user.videoQuotaDaily).to.equal(-1)
|
||||
expect(data.transcoding.enabled).to.be.false
|
||||
expect(data.transcoding.allowAdditionalExtensions).to.be.false
|
||||
expect(data.transcoding.threads).to.equal(2)
|
||||
expect(data.transcoding.resolutions['240p']).to.be.true
|
||||
expect(data.transcoding.resolutions['360p']).to.be.true
|
||||
@@ -74,6 +76,7 @@ function checkUpdatedConfig (data: CustomConfig) {
|
||||
expect(data.user.videoQuotaDaily).to.equal(318742)
|
||||
expect(data.transcoding.enabled).to.be.true
|
||||
expect(data.transcoding.threads).to.equal(1)
|
||||
expect(data.transcoding.allowAdditionalExtensions).to.be.true
|
||||
expect(data.transcoding.resolutions['240p']).to.be.false
|
||||
expect(data.transcoding.resolutions['360p']).to.be.true
|
||||
expect(data.transcoding.resolutions['480p']).to.be.true
|
||||
@@ -96,7 +99,7 @@ describe('Test config', function () {
|
||||
|
||||
it('Should have a correct config on a server with registration enabled', async function () {
|
||||
const res = await getConfig(server.url)
|
||||
const data = res.body
|
||||
const data: ServerConfig = res.body
|
||||
|
||||
expect(data.signup.allowed).to.be.true
|
||||
})
|
||||
@@ -111,11 +114,21 @@ describe('Test config', function () {
|
||||
])
|
||||
|
||||
const res = await getConfig(server.url)
|
||||
const data = res.body
|
||||
const data: ServerConfig = res.body
|
||||
|
||||
expect(data.signup.allowed).to.be.false
|
||||
})
|
||||
|
||||
it('Should have the correct video allowed extensions', async function () {
|
||||
const res = await getConfig(server.url)
|
||||
const data: ServerConfig = res.body
|
||||
|
||||
expect(data.video.file.extensions).to.have.lengthOf(3)
|
||||
expect(data.video.file.extensions).to.contain('.mp4')
|
||||
expect(data.video.file.extensions).to.contain('.webm')
|
||||
expect(data.video.file.extensions).to.contain('.ogv')
|
||||
})
|
||||
|
||||
it('Should get the customized configuration', async function () {
|
||||
const res = await getCustomConfig(server.url, server.accessToken)
|
||||
const data = res.body as CustomConfig
|
||||
@@ -165,6 +178,7 @@ describe('Test config', function () {
|
||||
},
|
||||
transcoding: {
|
||||
enabled: true,
|
||||
allowAdditionalExtensions: true,
|
||||
threads: 1,
|
||||
resolutions: {
|
||||
'240p': false,
|
||||
@@ -193,6 +207,18 @@ describe('Test config', function () {
|
||||
checkUpdatedConfig(data)
|
||||
})
|
||||
|
||||
it('Should have the correct updated video allowed extensions', async function () {
|
||||
const res = await getConfig(server.url)
|
||||
const data: ServerConfig = res.body
|
||||
|
||||
expect(data.video.file.extensions).to.have.length.above(3)
|
||||
expect(data.video.file.extensions).to.contain('.mp4')
|
||||
expect(data.video.file.extensions).to.contain('.webm')
|
||||
expect(data.video.file.extensions).to.contain('.ogv')
|
||||
expect(data.video.file.extensions).to.contain('.flv')
|
||||
expect(data.video.file.extensions).to.contain('.mkv')
|
||||
})
|
||||
|
||||
it('Should have the configuration updated after a restart', async function () {
|
||||
this.timeout(10000)
|
||||
|
||||
|
||||
@@ -20,9 +20,8 @@ import {
|
||||
uploadVideo,
|
||||
webtorrentAdd
|
||||
} from '../../../../shared/utils'
|
||||
import { join } from 'path'
|
||||
import { extname, join } from 'path'
|
||||
import { waitJobs } from '../../../../shared/utils/server/jobs'
|
||||
import { pathExists } from 'fs-extra'
|
||||
import { VIDEO_TRANSCODING_FPS } from '../../../../server/initializers/constants'
|
||||
|
||||
const expect = chai.expect
|
||||
@@ -322,6 +321,34 @@ describe('Test video transcoding', function () {
|
||||
}
|
||||
})
|
||||
|
||||
it('Should accept and transcode additional extensions', async function () {
|
||||
this.timeout(300000)
|
||||
|
||||
for (const fixture of [ 'video_short.mkv', 'video_short.avi' ]) {
|
||||
const videoAttributes = {
|
||||
name: fixture,
|
||||
fixture
|
||||
}
|
||||
|
||||
await uploadVideo(servers[ 1 ].url, servers[ 1 ].accessToken, videoAttributes)
|
||||
|
||||
await waitJobs(servers)
|
||||
|
||||
for (const server of servers) {
|
||||
const res = await getVideosList(server.url)
|
||||
|
||||
const video = res.body.data.find(v => v.name === videoAttributes.name)
|
||||
const res2 = await getVideo(server.url, video.id)
|
||||
const videoDetails = res2.body
|
||||
|
||||
expect(videoDetails.files).to.have.lengthOf(4)
|
||||
|
||||
const magnetUri = videoDetails.files[ 0 ].magnetUri
|
||||
expect(magnetUri).to.contain('.mp4')
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
after(async function () {
|
||||
killallServers(servers)
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user