aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/tests/api
diff options
context:
space:
mode:
Diffstat (limited to 'server/tests/api')
-rw-r--r--server/tests/api/check-params/config.ts2
-rw-r--r--server/tests/api/live/live-constraints.ts2
-rw-r--r--server/tests/api/live/live.ts1
-rw-r--r--server/tests/api/object-storage/live.ts2
-rw-r--r--server/tests/api/object-storage/video-imports.ts4
-rw-r--r--server/tests/api/server/config.ts6
-rw-r--r--server/tests/api/server/stats.ts1
-rw-r--r--server/tests/api/videos/audio-only.ts1
-rw-r--r--server/tests/api/videos/video-hls.ts1
-rw-r--r--server/tests/api/videos/video-imports.ts1
-rw-r--r--server/tests/api/videos/video-transcoder.ts29
11 files changed, 34 insertions, 16 deletions
diff --git a/server/tests/api/check-params/config.ts b/server/tests/api/check-params/config.ts
index 273b1f718..d0cd7722b 100644
--- a/server/tests/api/check-params/config.ts
+++ b/server/tests/api/check-params/config.ts
@@ -93,6 +93,7 @@ describe('Test config API validators', function () {
93 profile: 'vod_profile', 93 profile: 'vod_profile',
94 resolutions: { 94 resolutions: {
95 '0p': false, 95 '0p': false,
96 '144p': false,
96 '240p': false, 97 '240p': false,
97 '360p': true, 98 '360p': true,
98 '480p': true, 99 '480p': true,
@@ -121,6 +122,7 @@ describe('Test config API validators', function () {
121 threads: 4, 122 threads: 4,
122 profile: 'live_profile', 123 profile: 'live_profile',
123 resolutions: { 124 resolutions: {
125 '144p': true,
124 '240p': true, 126 '240p': true,
125 '360p': true, 127 '360p': true,
126 '480p': true, 128 '480p': true,
diff --git a/server/tests/api/live/live-constraints.ts b/server/tests/api/live/live-constraints.ts
index 4acde3cc5..6a6a11796 100644
--- a/server/tests/api/live/live-constraints.ts
+++ b/server/tests/api/live/live-constraints.ts
@@ -168,7 +168,7 @@ describe('Test live constraints', function () {
168 await waitUntilLivePublishedOnAllServers(userVideoLiveoId) 168 await waitUntilLivePublishedOnAllServers(userVideoLiveoId)
169 await waitJobs(servers) 169 await waitJobs(servers)
170 170
171 await checkSaveReplay(userVideoLiveoId, [ 720, 480, 360, 240 ]) 171 await checkSaveReplay(userVideoLiveoId, [ 720, 480, 360, 240, 144 ])
172 }) 172 })
173 173
174 after(async function () { 174 after(async function () {
diff --git a/server/tests/api/live/live.ts b/server/tests/api/live/live.ts
index 0b405dd94..619602d0b 100644
--- a/server/tests/api/live/live.ts
+++ b/server/tests/api/live/live.ts
@@ -421,6 +421,7 @@ describe('Test live', function () {
421 transcoding: { 421 transcoding: {
422 enabled: true, 422 enabled: true,
423 resolutions: { 423 resolutions: {
424 '144p': resolutions.includes(144),
424 '240p': resolutions.includes(240), 425 '240p': resolutions.includes(240),
425 '360p': resolutions.includes(360), 426 '360p': resolutions.includes(360),
426 '480p': resolutions.includes(480), 427 '480p': resolutions.includes(480),
diff --git a/server/tests/api/object-storage/live.ts b/server/tests/api/object-storage/live.ts
index d3e6777f2..3726a717b 100644
--- a/server/tests/api/object-storage/live.ts
+++ b/server/tests/api/object-storage/live.ts
@@ -123,7 +123,7 @@ describe('Object storage for lives', function () {
123 expect(video.streamingPlaylists).to.have.lengthOf(1) 123 expect(video.streamingPlaylists).to.have.lengthOf(1)
124 124
125 const files = video.streamingPlaylists[0].files 125 const files = video.streamingPlaylists[0].files
126 expect(files).to.have.lengthOf(4) 126 expect(files).to.have.lengthOf(5)
127 127
128 await checkFiles(files) 128 await checkFiles(files)
129 } 129 }
diff --git a/server/tests/api/object-storage/video-imports.ts b/server/tests/api/object-storage/video-imports.ts
index efc01f550..363fe3b5b 100644
--- a/server/tests/api/object-storage/video-imports.ts
+++ b/server/tests/api/object-storage/video-imports.ts
@@ -88,9 +88,9 @@ describe('Object storage for video import', function () {
88 88
89 const video = await server.videos.get({ id: uuid }) 89 const video = await server.videos.get({ id: uuid })
90 90
91 expect(video.files).to.have.lengthOf(4) 91 expect(video.files).to.have.lengthOf(5)
92 expect(video.streamingPlaylists).to.have.lengthOf(1) 92 expect(video.streamingPlaylists).to.have.lengthOf(1)
93 expect(video.streamingPlaylists[0].files).to.have.lengthOf(4) 93 expect(video.streamingPlaylists[0].files).to.have.lengthOf(5)
94 94
95 for (const file of video.files) { 95 for (const file of video.files) {
96 expectStartWith(file.fileUrl, ObjectStorageCommand.getWebTorrentBaseUrl()) 96 expectStartWith(file.fileUrl, ObjectStorageCommand.getWebTorrentBaseUrl())
diff --git a/server/tests/api/server/config.ts b/server/tests/api/server/config.ts
index 8d5b3ac7f..ea524723c 100644
--- a/server/tests/api/server/config.ts
+++ b/server/tests/api/server/config.ts
@@ -66,6 +66,7 @@ function checkInitialConfig (server: PeerTubeServer, data: CustomConfig) {
66 expect(data.transcoding.threads).to.equal(2) 66 expect(data.transcoding.threads).to.equal(2)
67 expect(data.transcoding.concurrency).to.equal(2) 67 expect(data.transcoding.concurrency).to.equal(2)
68 expect(data.transcoding.profile).to.equal('default') 68 expect(data.transcoding.profile).to.equal('default')
69 expect(data.transcoding.resolutions['144p']).to.be.false
69 expect(data.transcoding.resolutions['240p']).to.be.true 70 expect(data.transcoding.resolutions['240p']).to.be.true
70 expect(data.transcoding.resolutions['360p']).to.be.true 71 expect(data.transcoding.resolutions['360p']).to.be.true
71 expect(data.transcoding.resolutions['480p']).to.be.true 72 expect(data.transcoding.resolutions['480p']).to.be.true
@@ -84,6 +85,7 @@ function checkInitialConfig (server: PeerTubeServer, data: CustomConfig) {
84 expect(data.live.transcoding.enabled).to.be.false 85 expect(data.live.transcoding.enabled).to.be.false
85 expect(data.live.transcoding.threads).to.equal(2) 86 expect(data.live.transcoding.threads).to.equal(2)
86 expect(data.live.transcoding.profile).to.equal('default') 87 expect(data.live.transcoding.profile).to.equal('default')
88 expect(data.live.transcoding.resolutions['144p']).to.be.false
87 expect(data.live.transcoding.resolutions['240p']).to.be.false 89 expect(data.live.transcoding.resolutions['240p']).to.be.false
88 expect(data.live.transcoding.resolutions['360p']).to.be.false 90 expect(data.live.transcoding.resolutions['360p']).to.be.false
89 expect(data.live.transcoding.resolutions['480p']).to.be.false 91 expect(data.live.transcoding.resolutions['480p']).to.be.false
@@ -163,6 +165,7 @@ function checkUpdatedConfig (data: CustomConfig) {
163 expect(data.transcoding.allowAdditionalExtensions).to.be.true 165 expect(data.transcoding.allowAdditionalExtensions).to.be.true
164 expect(data.transcoding.allowAudioFiles).to.be.true 166 expect(data.transcoding.allowAudioFiles).to.be.true
165 expect(data.transcoding.profile).to.equal('vod_profile') 167 expect(data.transcoding.profile).to.equal('vod_profile')
168 expect(data.transcoding.resolutions['144p']).to.be.false
166 expect(data.transcoding.resolutions['240p']).to.be.false 169 expect(data.transcoding.resolutions['240p']).to.be.false
167 expect(data.transcoding.resolutions['360p']).to.be.true 170 expect(data.transcoding.resolutions['360p']).to.be.true
168 expect(data.transcoding.resolutions['480p']).to.be.true 171 expect(data.transcoding.resolutions['480p']).to.be.true
@@ -180,6 +183,7 @@ function checkUpdatedConfig (data: CustomConfig) {
180 expect(data.live.transcoding.enabled).to.be.true 183 expect(data.live.transcoding.enabled).to.be.true
181 expect(data.live.transcoding.threads).to.equal(4) 184 expect(data.live.transcoding.threads).to.equal(4)
182 expect(data.live.transcoding.profile).to.equal('live_profile') 185 expect(data.live.transcoding.profile).to.equal('live_profile')
186 expect(data.live.transcoding.resolutions['144p']).to.be.true
183 expect(data.live.transcoding.resolutions['240p']).to.be.true 187 expect(data.live.transcoding.resolutions['240p']).to.be.true
184 expect(data.live.transcoding.resolutions['360p']).to.be.true 188 expect(data.live.transcoding.resolutions['360p']).to.be.true
185 expect(data.live.transcoding.resolutions['480p']).to.be.true 189 expect(data.live.transcoding.resolutions['480p']).to.be.true
@@ -281,6 +285,7 @@ const newCustomConfig: CustomConfig = {
281 profile: 'vod_profile', 285 profile: 'vod_profile',
282 resolutions: { 286 resolutions: {
283 '0p': false, 287 '0p': false,
288 '144p': false,
284 '240p': false, 289 '240p': false,
285 '360p': true, 290 '360p': true,
286 '480p': true, 291 '480p': true,
@@ -307,6 +312,7 @@ const newCustomConfig: CustomConfig = {
307 threads: 4, 312 threads: 4,
308 profile: 'live_profile', 313 profile: 'live_profile',
309 resolutions: { 314 resolutions: {
315 '144p': true,
310 '240p': true, 316 '240p': true,
311 '360p': true, 317 '360p': true,
312 '480p': true, 318 '480p': true,
diff --git a/server/tests/api/server/stats.ts b/server/tests/api/server/stats.ts
index 5ec771429..efc80463c 100644
--- a/server/tests/api/server/stats.ts
+++ b/server/tests/api/server/stats.ts
@@ -198,6 +198,7 @@ describe('Test stats (excluding redundancy)', function () {
198 }, 198 },
199 resolutions: { 199 resolutions: {
200 '0p': false, 200 '0p': false,
201 '144p': false,
201 '240p': false, 202 '240p': false,
202 '360p': false, 203 '360p': false,
203 '480p': false, 204 '480p': false,
diff --git a/server/tests/api/videos/audio-only.ts b/server/tests/api/videos/audio-only.ts
index 7fac6e738..f4b635bd5 100644
--- a/server/tests/api/videos/audio-only.ts
+++ b/server/tests/api/videos/audio-only.ts
@@ -21,6 +21,7 @@ describe('Test audio only video transcoding', function () {
21 enabled: true, 21 enabled: true,
22 resolutions: { 22 resolutions: {
23 '0p': true, 23 '0p': true,
24 '144p': false,
24 '240p': true, 25 '240p': true,
25 '360p': false, 26 '360p': false,
26 '480p': false, 27 '480p': false,
diff --git a/server/tests/api/videos/video-hls.ts b/server/tests/api/videos/video-hls.ts
index 91124725f..a18c3d672 100644
--- a/server/tests/api/videos/video-hls.ts
+++ b/server/tests/api/videos/video-hls.ts
@@ -243,6 +243,7 @@ describe('Test HLS videos', function () {
243 enabled: true, 243 enabled: true,
244 allowAudioFiles: true, 244 allowAudioFiles: true,
245 resolutions: { 245 resolutions: {
246 '144p': false,
246 '240p': true, 247 '240p': true,
247 '360p': true, 248 '360p': true,
248 '480p': true, 249 '480p': true,
diff --git a/server/tests/api/videos/video-imports.ts b/server/tests/api/videos/video-imports.ts
index bb1627a27..987f34e97 100644
--- a/server/tests/api/videos/video-imports.ts
+++ b/server/tests/api/videos/video-imports.ts
@@ -300,6 +300,7 @@ describe('Test video imports', function () {
300 transcoding: { 300 transcoding: {
301 enabled: true, 301 enabled: true,
302 resolutions: { 302 resolutions: {
303 '144p': true,
303 '240p': true, 304 '240p': true,
304 '360p': false, 305 '360p': false,
305 '480p': false, 306 '480p': false,
diff --git a/server/tests/api/videos/video-transcoder.ts b/server/tests/api/videos/video-transcoder.ts
index 21609fd82..b3226dbf7 100644
--- a/server/tests/api/videos/video-transcoder.ts
+++ b/server/tests/api/videos/video-transcoder.ts
@@ -40,6 +40,7 @@ function updateConfigForTranscoding (server: PeerTubeServer) {
40 webtorrent: { enabled: true }, 40 webtorrent: { enabled: true },
41 resolutions: { 41 resolutions: {
42 '0p': false, 42 '0p': false,
43 '144p': true,
43 '240p': true, 44 '240p': true,
44 '360p': true, 45 '360p': true,
45 '480p': true, 46 '480p': true,
@@ -119,7 +120,7 @@ describe('Test video transcoding', function () {
119 const video = data.find(v => v.name === attributes.name) 120 const video = data.find(v => v.name === attributes.name)
120 const videoDetails = await server.videos.get({ id: video.id }) 121 const videoDetails = await server.videos.get({ id: video.id })
121 122
122 expect(videoDetails.files).to.have.lengthOf(4) 123 expect(videoDetails.files).to.have.lengthOf(5)
123 124
124 const magnetUri = videoDetails.files[0].magnetUri 125 const magnetUri = videoDetails.files[0].magnetUri
125 expect(magnetUri).to.match(/\.mp4/) 126 expect(magnetUri).to.match(/\.mp4/)
@@ -205,7 +206,7 @@ describe('Test video transcoding', function () {
205 206
206 const video = data.find(v => v.name === attributes.name) 207 const video = data.find(v => v.name === attributes.name)
207 const videoDetails = await server.videos.get({ id: video.id }) 208 const videoDetails = await server.videos.get({ id: video.id })
208 expect(videoDetails.files).to.have.lengthOf(4) 209 expect(videoDetails.files).to.have.lengthOf(5)
209 210
210 const magnetUri = videoDetails.files[0].magnetUri 211 const magnetUri = videoDetails.files[0].magnetUri
211 expect(magnetUri).to.contain('.mp4') 212 expect(magnetUri).to.contain('.mp4')
@@ -226,7 +227,7 @@ describe('Test video transcoding', function () {
226 227
227 await waitJobs(servers) 228 await waitJobs(servers)
228 229
229 const resolutions = [ 240, 360, 480, 720, 1080, 1440, 2160 ] 230 const resolutions = [ 144, 240, 360, 480, 720, 1080, 1440, 2160 ]
230 231
231 for (const server of servers) { 232 for (const server of servers) {
232 const videoDetails = await server.videos.get({ id: video4k }) 233 const videoDetails = await server.videos.get({ id: video4k })
@@ -259,7 +260,7 @@ describe('Test video transcoding', function () {
259 const video = data.find(v => v.name === attributes.name) 260 const video = data.find(v => v.name === attributes.name)
260 const videoDetails = await server.videos.get({ id: video.id }) 261 const videoDetails = await server.videos.get({ id: video.id })
261 262
262 expect(videoDetails.files).to.have.lengthOf(4) 263 expect(videoDetails.files).to.have.lengthOf(5)
263 264
264 const file = videoDetails.files.find(f => f.resolution.id === 240) 265 const file = videoDetails.files.find(f => f.resolution.id === 240)
265 const path = servers[1].servers.buildWebTorrentFilePath(file.fileUrl) 266 const path = servers[1].servers.buildWebTorrentFilePath(file.fileUrl)
@@ -316,7 +317,7 @@ describe('Test video transcoding', function () {
316 const video = data.find(v => v.name === attributes.name) 317 const video = data.find(v => v.name === attributes.name)
317 const videoDetails = await server.videos.get({ id: video.id }) 318 const videoDetails = await server.videos.get({ id: video.id })
318 319
319 expect(videoDetails.files).to.have.lengthOf(4) 320 expect(videoDetails.files).to.have.lengthOf(5)
320 321
321 const fixturePath = buildAbsoluteFixturePath(attributes.fixture) 322 const fixturePath = buildAbsoluteFixturePath(attributes.fixture)
322 const fixtureVideoProbe = await getAudioStream(fixturePath) 323 const fixtureVideoProbe = await getAudioStream(fixturePath)
@@ -348,6 +349,7 @@ describe('Test video transcoding', function () {
348 webtorrent: { enabled: true }, 349 webtorrent: { enabled: true },
349 resolutions: { 350 resolutions: {
350 '0p': false, 351 '0p': false,
352 '144p': false,
351 '240p': false, 353 '240p': false,
352 '360p': false, 354 '360p': false,
353 '480p': false, 355 '480p': false,
@@ -419,6 +421,7 @@ describe('Test video transcoding', function () {
419 webtorrent: { enabled: true }, 421 webtorrent: { enabled: true },
420 resolutions: { 422 resolutions: {
421 '0p': true, 423 '0p': true,
424 '144p': false,
422 '240p': false, 425 '240p': false,
423 '360p': false 426 '360p': false
424 } 427 }
@@ -473,13 +476,14 @@ describe('Test video transcoding', function () {
473 const video = data.find(v => v.name === attributes.name) 476 const video = data.find(v => v.name === attributes.name)
474 const videoDetails = await server.videos.get({ id: video.id }) 477 const videoDetails = await server.videos.get({ id: video.id })
475 478
476 expect(videoDetails.files).to.have.lengthOf(4) 479 expect(videoDetails.files).to.have.lengthOf(5)
477 expect(videoDetails.files[0].fps).to.be.above(58).and.below(62) 480 expect(videoDetails.files[0].fps).to.be.above(58).and.below(62)
478 expect(videoDetails.files[1].fps).to.be.below(31) 481 expect(videoDetails.files[1].fps).to.be.below(31)
479 expect(videoDetails.files[2].fps).to.be.below(31) 482 expect(videoDetails.files[2].fps).to.be.below(31)
480 expect(videoDetails.files[3].fps).to.be.below(31) 483 expect(videoDetails.files[3].fps).to.be.below(31)
484 expect(videoDetails.files[4].fps).to.be.below(31)
481 485
482 for (const resolution of [ 240, 360, 480 ]) { 486 for (const resolution of [ 144, 240, 360, 480 ]) {
483 const file = videoDetails.files.find(f => f.resolution.id === resolution) 487 const file = videoDetails.files.find(f => f.resolution.id === resolution)
484 const path = servers[1].servers.buildWebTorrentFilePath(file.fileUrl) 488 const path = servers[1].servers.buildWebTorrentFilePath(file.fileUrl)
485 const fps = await getVideoFileFPS(path) 489 const fps = await getVideoFileFPS(path)
@@ -586,6 +590,7 @@ describe('Test video transcoding', function () {
586 transcoding: { 590 transcoding: {
587 enabled: true, 591 enabled: true,
588 resolutions: { 592 resolutions: {
593 '144p': true,
589 '240p': true, 594 '240p': true,
590 '360p': true, 595 '360p': true,
591 '480p': true, 596 '480p': true,
@@ -667,7 +672,7 @@ describe('Test video transcoding', function () {
667 672
668 const videoFiles = videoDetails.files 673 const videoFiles = videoDetails.files
669 .concat(videoDetails.streamingPlaylists[0].files) 674 .concat(videoDetails.streamingPlaylists[0].files)
670 expect(videoFiles).to.have.lengthOf(8) 675 expect(videoFiles).to.have.lengthOf(10)
671 676
672 for (const file of videoFiles) { 677 for (const file of videoFiles) {
673 expect(file.metadata).to.be.undefined 678 expect(file.metadata).to.be.undefined
@@ -695,21 +700,21 @@ describe('Test video transcoding', function () {
695 const body = await servers[1].jobs.list({ 700 const body = await servers[1].jobs.list({
696 start: 0, 701 start: 0,
697 count: 100, 702 count: 100,
698 sort: '-createdAt', 703 sort: 'createdAt',
699 jobType: 'video-transcoding' 704 jobType: 'video-transcoding'
700 }) 705 })
701 706
702 const jobs = body.data 707 const jobs = body.data
703 const transcodingJobs = jobs.filter(j => j.data.videoUUID === video4k) 708 const transcodingJobs = jobs.filter(j => j.data.videoUUID === video4k)
704 709
705 expect(transcodingJobs).to.have.lengthOf(14) 710 expect(transcodingJobs).to.have.lengthOf(16)
706 711
707 const hlsJobs = transcodingJobs.filter(j => j.data.type === 'new-resolution-to-hls') 712 const hlsJobs = transcodingJobs.filter(j => j.data.type === 'new-resolution-to-hls')
708 const webtorrentJobs = transcodingJobs.filter(j => j.data.type === 'new-resolution-to-webtorrent') 713 const webtorrentJobs = transcodingJobs.filter(j => j.data.type === 'new-resolution-to-webtorrent')
709 const optimizeJobs = transcodingJobs.filter(j => j.data.type === 'optimize-to-webtorrent') 714 const optimizeJobs = transcodingJobs.filter(j => j.data.type === 'optimize-to-webtorrent')
710 715
711 expect(hlsJobs).to.have.lengthOf(7) 716 expect(hlsJobs).to.have.lengthOf(8)
712 expect(webtorrentJobs).to.have.lengthOf(6) 717 expect(webtorrentJobs).to.have.lengthOf(7)
713 expect(optimizeJobs).to.have.lengthOf(1) 718 expect(optimizeJobs).to.have.lengthOf(1)
714 719
715 for (const j of optimizeJobs.concat(hlsJobs.concat(webtorrentJobs))) { 720 for (const j of optimizeJobs.concat(hlsJobs.concat(webtorrentJobs))) {