]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/tests/cli/update-host.ts
Introduce channels command
[github/Chocobozzz/PeerTube.git] / server / tests / cli / update-host.ts
index 811ea6a9f44f71871cb17fbeb466f535e593144b..09a3dd1e7a181c47d622e3da780ff405843628ff 100644 (file)
@@ -1,28 +1,23 @@
-/* tslint:disable:no-unused-expression */
+/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
 
 import 'mocha'
-import * as chai from 'chai'
-import { VideoDetails } from '../../../shared/models/videos'
-import { waitJobs } from '../../../shared/utils/server/jobs'
-import { addVideoCommentThread } from '../../../shared/utils/videos/video-comments'
 import {
-  addVideoChannel,
+  addVideoCommentThread,
+  cleanupTests,
   createUser,
-  execCLI,
-  flushTests,
-  getEnvCli,
+  flushAndRunServer,
   getVideo,
-  getVideoChannelsList,
   getVideosList,
   killallServers,
   makeActivityPubGetRequest,
   parseTorrentVideo,
-  runServer,
+  reRunServer,
   ServerInfo,
   setAccessTokensToServers,
-  uploadVideo
-} from '../../../shared/utils'
-import { getAccountsList } from '../../../shared/utils/users/accounts'
+  uploadVideo,
+  waitJobs
+} from '@shared/extra-utils'
+import { VideoDetails } from '@shared/models'
 
 const expect = chai.expect
 
@@ -32,15 +27,13 @@ describe('Test update host scripts', function () {
   before(async function () {
     this.timeout(60000)
 
-    await flushTests()
-
     const overrideConfig = {
       webserver: {
         port: 9256
       }
     }
     // Run server 2 to have transcoding enabled
-    server = await runServer(2, overrideConfig)
+    server = await flushAndRunServer(2, overrideConfig)
     await setAccessTokensToServers([ server ])
 
     // Upload two videos for our needs
@@ -50,7 +43,7 @@ describe('Test update host scripts', function () {
     await uploadVideo(server.url, server.accessToken, videoAttributes)
 
     // Create a user
-    await createUser(server.url, server.accessToken, 'toto', 'coucou')
+    await createUser({ url: server.url, accessToken: server.accessToken, username: 'toto', password: 'coucou' })
 
     // Create channel
     const videoChannel = {
@@ -58,7 +51,7 @@ describe('Test update host scripts', function () {
       displayName: 'second video channel',
       description: 'super video channel description'
     }
-    await addVideoChannel(server.url, server.accessToken, videoChannel)
+    await server.channelsCommand.create({ attributes: videoChannel })
 
     // Create comments
     const text = 'my super first comment'
@@ -72,10 +65,9 @@ describe('Test update host scripts', function () {
 
     killallServers([ server ])
     // Run server with standard configuration
-    server = await runServer(2)
+    await reRunServer(server)
 
-    const env = getEnvCli(server)
-    await execCLI(`${env} npm run update-host`)
+    await server.cliCommand.execWithEnv(`npm run update-host`)
   })
 
   it('Should have updated videos url', async function () {
@@ -86,25 +78,32 @@ describe('Test update host scripts', function () {
       const { body } = await makeActivityPubGetRequest(server.url, '/videos/watch/' + video.uuid)
 
       expect(body.id).to.equal('http://localhost:9002/videos/watch/' + video.uuid)
+
+      const res = await getVideo(server.url, video.uuid)
+      const videoDetails: VideoDetails = res.body
+
+      expect(videoDetails.trackerUrls[0]).to.include(server.host)
+      expect(videoDetails.streamingPlaylists[0].playlistUrl).to.include(server.host)
+      expect(videoDetails.streamingPlaylists[0].segmentsSha256Url).to.include(server.host)
     }
   })
 
   it('Should have updated video channels url', async function () {
-    const res = await getVideoChannelsList(server.url, 0, 5, '-name')
-    expect(res.body.total).to.equal(3)
+    const { data, total } = await server.channelsCommand.list({ sort: '-name' })
+    expect(total).to.equal(3)
 
-    for (const channel of res.body.data) {
+    for (const channel of data) {
       const { body } = await makeActivityPubGetRequest(server.url, '/video-channels/' + channel.name)
 
       expect(body.id).to.equal('http://localhost:9002/video-channels/' + channel.name)
     }
   })
 
-  it('Should have update accounts url', async function () {
-    const res = await getAccountsList(server.url)
-    expect(res.body.total).to.equal(3)
+  it('Should have updated accounts url', async function () {
+    const body = await server.accountsCommand.list()
+    expect(body.total).to.equal(3)
 
-    for (const account of res.body.data) {
+    for (const account of body.data) {
       const usernameWithDomain = account.name
       const { body } = await makeActivityPubGetRequest(server.url, '/accounts/' + usernameWithDomain)
 
@@ -112,7 +111,7 @@ describe('Test update host scripts', function () {
     }
   })
 
-  it('Should update torrent hosts', async function () {
+  it('Should have updated torrent hosts', async function () {
     this.timeout(30000)
 
     const res = await getVideosList(server.url)
@@ -142,6 +141,6 @@ describe('Test update host scripts', function () {
   })
 
   after(async function () {
-    killallServers([ server ])
+    await cleanupTests([ server ])
   })
 })