]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/tests/api/check-params/channel-import-videos.ts
Improve remote runner config UX
[github/Chocobozzz/PeerTube.git] / server / tests / api / check-params / channel-import-videos.ts
index 14587c3761207577864bd53064a82712b00ef2de..2de13b629d243aa331af15ed767380195342be53 100644 (file)
@@ -1,6 +1,5 @@
 /* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
 
-import 'mocha'
 import { FIXTURE_URLS } from '@server/tests/shared'
 import { areHttpImportTestsDisabled } from '@shared/core-utils'
 import { HttpStatusCode } from '@shared/models'
@@ -18,22 +17,27 @@ describe('Test videos import in a channel API validator', function () {
   const userInfo = {
     accessToken: '',
     channelName: 'fake_channel',
+    channelId: -1,
     id: -1,
     videoQuota: -1,
-    videoQuotaDaily: -1
+    videoQuotaDaily: -1,
+    channelSyncId: -1
   }
   let command: ChannelsCommand
 
   // ---------------------------------------------------------------
 
   before(async function () {
-    this.timeout(30000)
+    this.timeout(120000)
 
     server = await createSingleServer(1)
 
     await setAccessTokensToServers([ server ])
     await setDefaultVideoChannel([ server ])
 
+    await server.config.enableImports()
+    await server.config.enableChannelSync()
+
     const userCreds = {
       username: 'fake',
       password: 'fake_password'
@@ -43,12 +47,27 @@ describe('Test videos import in a channel API validator', function () {
       const user = await server.users.create({ username: userCreds.username, password: userCreds.password })
       userInfo.id = user.id
       userInfo.accessToken = await server.login.getAccessToken(userCreds)
+
+      const info = await server.users.getMyInfo({ token: userInfo.accessToken })
+      userInfo.channelId = info.videoChannels[0].id
+    }
+
+    {
+      const { videoChannelSync } = await server.channelSyncs.create({
+        token: userInfo.accessToken,
+        attributes: {
+          externalChannelUrl: FIXTURE_URLS.youtubeChannel,
+          videoChannelId: userInfo.channelId
+        }
+      })
+      userInfo.channelSyncId = videoChannelSync.id
     }
 
     command = server.channels
   })
 
   it('Should fail when HTTP upload is disabled', async function () {
+    await server.config.disableChannelSync()
     await server.config.disableImports()
 
     await command.importVideos({
@@ -99,6 +118,16 @@ describe('Test videos import in a channel API validator', function () {
     })
   })
 
+  it('Should fail with a sync id of another channel', async function () {
+    await command.importVideos({
+      channelName: server.store.channel.name,
+      externalChannelUrl: FIXTURE_URLS.youtubeChannel,
+      videoChannelSyncId: userInfo.channelSyncId,
+      token: server.accessToken,
+      expectedStatus: HttpStatusCode.FORBIDDEN_403
+    })
+  })
+
   it('Should fail with no authentication', async function () {
     await command.importVideos({
       channelName: server.store.channel.name,