+ it('Should remove unavailable remote resources', async function () {
+ this.timeout(240000)
+
+ async function expectNotDeleted () {
+ {
+ const video = await servers[0].videos.get({ id: uuid })
+
+ expect(video.likes).to.equal(3)
+ expect(video.dislikes).to.equal(0)
+ }
+
+ {
+ const { total } = await servers[0].comments.listThreads({ videoId: uuid })
+ expect(total).to.equal(3)
+ }
+ }
+
+ async function expectDeleted () {
+ {
+ const video = await servers[0].videos.get({ id: uuid })
+
+ expect(video.likes).to.equal(2)
+ expect(video.dislikes).to.equal(0)
+ }
+
+ {
+ const { total } = await servers[0].comments.listThreads({ videoId: uuid })
+ expect(total).to.equal(2)
+ }
+ }
+
+ const uuid = (await servers[0].videos.quickUpload({ name: 'server 1 video 2' })).uuid
+
+ await waitJobs(servers)
+
+ for (const server of servers) {
+ await server.videos.rate({ id: uuid, rating: 'like' })
+ await server.comments.createThread({ videoId: uuid, text: 'comment' })
+ }
+
+ await waitJobs(servers)
+
+ await expectNotDeleted()
+
+ await servers[1].kill()
+
+ await wait(5000)
+ await expectNotDeleted()
+
+ let continueWhile = true
+
+ do {
+ try {
+ await expectDeleted()
+ continueWhile = false
+ } catch {
+ }
+ } while (continueWhile)
+ })
+