Fix server redundancy tests
This commit is contained in:
parent
2fbe7f1933
commit
742ddee1f1
|
@ -185,11 +185,12 @@ export class VideosRedundancyScheduler extends AbstractScheduler {
|
||||||
}
|
}
|
||||||
|
|
||||||
private async isTooHeavy (redundancy: VideosRedundancy, filesToDuplicate: VideoFileModel[]) {
|
private async isTooHeavy (redundancy: VideosRedundancy, filesToDuplicate: VideoFileModel[]) {
|
||||||
const maxSize = redundancy.size - this.getTotalFileSizes(filesToDuplicate)
|
const maxSize = redundancy.size
|
||||||
|
|
||||||
const totalDuplicated = await VideoRedundancyModel.getTotalDuplicated(redundancy.strategy)
|
const totalDuplicated = await VideoRedundancyModel.getTotalDuplicated(redundancy.strategy)
|
||||||
|
const totalWillDuplicate = totalDuplicated + this.getTotalFileSizes(filesToDuplicate)
|
||||||
|
|
||||||
return totalDuplicated > maxSize
|
return totalWillDuplicate > maxSize
|
||||||
}
|
}
|
||||||
|
|
||||||
private buildNewExpiration (expiresAfterMs: number) {
|
private buildNewExpiration (expiresAfterMs: number) {
|
||||||
|
|
|
@ -293,6 +293,11 @@ export class VideoRedundancyModel extends Model<VideoRedundancyModel> {
|
||||||
}
|
}
|
||||||
|
|
||||||
return VideoFileModel.sum('size', options as any) // FIXME: typings
|
return VideoFileModel.sum('size', options as any) // FIXME: typings
|
||||||
|
.then(v => {
|
||||||
|
if (!v || isNaN(v)) return 0
|
||||||
|
|
||||||
|
return v
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
static async listLocalExpired () {
|
static async listLocalExpired () {
|
||||||
|
|
|
@ -54,7 +54,7 @@ async function runServers (strategy: VideoRedundancyStrategy, additionalParams:
|
||||||
immutableAssign({
|
immutableAssign({
|
||||||
min_lifetime: '1 hour',
|
min_lifetime: '1 hour',
|
||||||
strategy: strategy,
|
strategy: strategy,
|
||||||
size: '100KB'
|
size: '200KB'
|
||||||
}, additionalParams)
|
}, additionalParams)
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -111,8 +111,8 @@ async function checkStatsWith2Webseed (strategy: VideoRedundancyStrategy) {
|
||||||
const stat = data.videosRedundancy[0]
|
const stat = data.videosRedundancy[0]
|
||||||
|
|
||||||
expect(stat.strategy).to.equal(strategy)
|
expect(stat.strategy).to.equal(strategy)
|
||||||
expect(stat.totalSize).to.equal(102400)
|
expect(stat.totalSize).to.equal(204800)
|
||||||
expect(stat.totalUsed).to.be.at.least(1).and.below(102401)
|
expect(stat.totalUsed).to.be.at.least(1).and.below(204800)
|
||||||
expect(stat.totalVideoFiles).to.equal(4)
|
expect(stat.totalVideoFiles).to.equal(4)
|
||||||
expect(stat.totalVideos).to.equal(1)
|
expect(stat.totalVideos).to.equal(1)
|
||||||
}
|
}
|
||||||
|
@ -125,7 +125,7 @@ async function checkStatsWith1Webseed (strategy: VideoRedundancyStrategy) {
|
||||||
|
|
||||||
const stat = data.videosRedundancy[0]
|
const stat = data.videosRedundancy[0]
|
||||||
expect(stat.strategy).to.equal(strategy)
|
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.totalUsed).to.equal(0)
|
||||||
expect(stat.totalVideoFiles).to.equal(0)
|
expect(stat.totalVideoFiles).to.equal(0)
|
||||||
expect(stat.totalVideos).to.equal(0)
|
expect(stat.totalVideos).to.equal(0)
|
||||||
|
@ -223,7 +223,7 @@ describe('Test videos redundancy', function () {
|
||||||
return enableRedundancyOnServer1()
|
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)
|
this.timeout(40000)
|
||||||
|
|
||||||
await waitJobs(servers)
|
await waitJobs(servers)
|
||||||
|
@ -270,7 +270,7 @@ describe('Test videos redundancy', function () {
|
||||||
return enableRedundancyOnServer1()
|
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)
|
this.timeout(40000)
|
||||||
|
|
||||||
await waitJobs(servers)
|
await waitJobs(servers)
|
||||||
|
@ -338,7 +338,7 @@ describe('Test videos redundancy', function () {
|
||||||
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)
|
this.timeout(40000)
|
||||||
|
|
||||||
await waitJobs(servers)
|
await waitJobs(servers)
|
||||||
|
@ -399,7 +399,7 @@ describe('Test videos redundancy', function () {
|
||||||
await enableRedundancyOnServer1()
|
await enableRedundancyOnServer1()
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Should still have 2 webseeds after 10 seconds', async function () {
|
it('Should still have 2 webseedss after 10 seconds', async function () {
|
||||||
this.timeout(40000)
|
this.timeout(40000)
|
||||||
|
|
||||||
await wait(10000)
|
await wait(10000)
|
||||||
|
@ -451,7 +451,7 @@ describe('Test videos redundancy', function () {
|
||||||
video2Server2UUID = res.body.video.uuid
|
video2Server2UUID = res.body.video.uuid
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Should cache video 2 webseed on the first video', async function () {
|
it('Should cache video 2 webseeds on the first video', async function () {
|
||||||
this.timeout(120000)
|
this.timeout(120000)
|
||||||
|
|
||||||
await waitJobs(servers)
|
await waitJobs(servers)
|
||||||
|
|
Loading…
Reference in New Issue