viewVideo,
wait,
waitUntilLog,
- checkVideoFilesWereRemoved, removeVideo
-} from '../../utils'
-import { waitJobs } from '../../utils/server/jobs'
+ checkVideoFilesWereRemoved, removeVideo, getVideoWithToken
+} from '../../../../shared/utils'
+import { waitJobs } from '../../../../shared/utils/server/jobs'
+
import * as magnetUtil from 'magnet-uri'
-import { updateRedundancy } from '../../utils/server/redundancy'
+import { updateRedundancy } from '../../../../shared/utils/server/redundancy'
import { ActorFollow } from '../../../../shared/models/actors'
import { readdir } from 'fs-extra'
import { join } from 'path'
import { VideoRedundancyStrategy } from '../../../../shared/models/redundancy'
-import { getStats } from '../../utils/server/stats'
+import { getStats } from '../../../../shared/utils/server/stats'
import { ServerStats } from '../../../../shared/models/server/server-stats.model'
const expect = chai.expect
immutableAssign({
min_lifetime: '1 hour',
strategy: strategy,
- size: '100KB'
+ size: '200KB'
}, additionalParams)
]
}
for (const server of servers) {
{
- const res = await getVideo(server.url, videoUUID)
+ // With token to avoid issues with video follow constraints
+ const res = await getVideoWithToken(server.url, server.accessToken, videoUUID)
const video: VideoDetails = res.body
for (const f of video.files) {
const stat = data.videosRedundancy[0]
expect(stat.strategy).to.equal(strategy)
- expect(stat.totalSize).to.equal(102400)
- expect(stat.totalUsed).to.be.at.least(1).and.below(102401)
+ expect(stat.totalSize).to.equal(204800)
+ expect(stat.totalUsed).to.be.at.least(1).and.below(204801)
expect(stat.totalVideoFiles).to.equal(4)
expect(stat.totalVideos).to.equal(1)
}
const stat = data.videosRedundancy[0]
expect(stat.strategy).to.equal(strategy)
- expect(stat.totalSize).to.equal(102400)
+ expect(stat.totalSize).to.equal(204800)
expect(stat.totalUsed).to.equal(0)
expect(stat.totalVideoFiles).to.equal(0)
expect(stat.totalVideos).to.equal(0)
if (!videoUUID) videoUUID = video1Server2UUID
const webseeds = [
- 'http://localhost:9001/static/webseed/' + videoUUID,
+ 'http://localhost:9001/static/redundancy/' + videoUUID,
'http://localhost:9002/static/webseed/' + videoUUID
]
for (const file of video.files) {
checkMagnetWebseeds(file, webseeds, server)
- // Only servers 1 and 2 have the video
- if (server.serverNumber !== 3) {
- await makeGetRequest({
- url: server.url,
- statusCodeExpected: 200,
- path: '/static/webseed/' + `${videoUUID}-${file.resolution.id}.mp4`,
- contentType: null
- })
- }
+ await makeGetRequest({
+ url: servers[0].url,
+ statusCodeExpected: 200,
+ path: '/static/redundancy/' + `${videoUUID}-${file.resolution.id}.mp4`,
+ contentType: null
+ })
+ await makeGetRequest({
+ url: servers[1].url,
+ statusCodeExpected: 200,
+ path: '/static/webseed/' + `${videoUUID}-${file.resolution.id}.mp4`,
+ contentType: null
+ })
}
}
- for (const directory of [ 'test1', 'test2' ]) {
- const files = await readdir(join(root(), directory, 'videos'))
+ for (const directory of [ 'test1/redundancy', 'test2/videos' ]) {
+ const files = await readdir(join(root(), directory))
expect(files).to.have.length.at.least(4)
for (const resolution of [ 240, 360, 480, 720 ]) {
return enableRedundancyOnServer1()
})
- it('Should have 2 webseed on the first video', async function () {
+ it('Should have 2 webseeds on the first video', async function () {
this.timeout(40000)
await waitJobs(servers)
return enableRedundancyOnServer1()
})
- it('Should have 2 webseed on the first video', async function () {
+ it('Should have 2 webseeds on the first video', async function () {
this.timeout(40000)
await waitJobs(servers)
await waitJobs(servers)
})
- it('Should have 2 webseed on the first video', async function () {
+ it('Should have 2 webseeds on the first video', async function () {
this.timeout(40000)
await waitJobs(servers)
killallServers([ servers[0] ])
- await wait(10000)
+ await wait(15000)
await checkNotContains([ servers[1], servers[2] ], 'http%3A%2F%2Flocalhost%3A9001')
})
video2Server2UUID = res.body.video.uuid
})
- it('Should cache video 2 webseed on the first video', async function () {
- this.timeout(50000)
+ it('Should cache video 2 webseeds on the first video', async function () {
+ this.timeout(120000)
await waitJobs(servers)
- await wait(7000)
+ let checked = false
- try {
- await check1WebSeed(strategy, video1Server2UUID)
- await check2Webseeds(strategy, video2Server2UUID)
- } catch {
- await wait(3000)
+ while (checked === false) {
+ await wait(1000)
try {
await check1WebSeed(strategy, video1Server2UUID)
await check2Webseeds(strategy, video2Server2UUID)
- } catch {
- await wait(5000)
- await check1WebSeed(strategy, video1Server2UUID)
- await check2Webseeds(strategy, video2Server2UUID)
+ checked = true
+ } catch {
+ checked = false
}
}
})