]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/commitdiff
Refactor a little bit live tests
authorChocobozzz <me@florianbigard.com>
Fri, 7 May 2021 09:53:46 +0000 (11:53 +0200)
committerChocobozzz <me@florianbigard.com>
Fri, 7 May 2021 09:53:46 +0000 (11:53 +0200)
server/tests/api/live/live-constraints.ts
server/tests/api/live/live-permanent.ts
server/tests/api/live/live-save-replay.ts
shared/extra-utils/server/config.ts
shared/extra-utils/users/users.ts

index 5569e6066999a40f52d9ea4b22e2d55625809e36..cc635de339d2102858ffbcfc08cf225187e98d97 100644 (file)
@@ -2,15 +2,15 @@
 
 import 'mocha'
 import * as chai from 'chai'
-import { User, VideoDetails, VideoPrivacy } from '@shared/models'
+import { VideoDetails, VideoPrivacy } from '@shared/models'
 import {
   checkLiveCleanup,
   cleanupTests,
   createLive,
-  createUser,
   doubleFollow,
   flushAndRunMultipleServers,
-  getMyUserInformation,
+  generateUser,
+  getCustomConfigResolutions,
   getVideo,
   runAndTestFfmpegStreamError,
   ServerInfo,
@@ -18,7 +18,6 @@ import {
   setDefaultVideoChannel,
   updateCustomSubConfig,
   updateUser,
-  userLogin,
   wait,
   waitJobs,
   waitUntilLivePublished
@@ -62,6 +61,16 @@ describe('Test live constraints', function () {
     }
   }
 
+  function updateQuota (options: { total: number, daily: number }) {
+    return updateUser({
+      url: servers[0].url,
+      accessToken: servers[0].accessToken,
+      userId,
+      videoQuota: options.total,
+      videoQuotaDaily: options.daily
+    })
+  }
+
   before(async function () {
     this.timeout(120000)
 
@@ -82,27 +91,12 @@ describe('Test live constraints', function () {
     })
 
     {
-      const user = { username: 'user1', password: 'superpassword' }
-      const res = await createUser({
-        url: servers[0].url,
-        accessToken: servers[0].accessToken,
-        username: user.username,
-        password: user.password
-      })
-      userId = res.body.user.id
-
-      userAccessToken = await userLogin(servers[0], user)
-
-      const resMe = await getMyUserInformation(servers[0].url, userAccessToken)
-      userChannelId = (resMe.body as User).videoChannels[0].id
-
-      await updateUser({
-        url: servers[0].url,
-        userId,
-        accessToken: servers[0].accessToken,
-        videoQuota: 1,
-        videoQuotaDaily: -1
-      })
+      const res = await generateUser(servers[0], 'user1')
+      userId = res.userId
+      userChannelId = res.userChannelId
+      userAccessToken = res.token
+
+      await updateQuota({ total: 1, daily: -1 })
     }
 
     // Server 1 and server 2 follow each other
@@ -137,13 +131,7 @@ describe('Test live constraints', function () {
     // Wait for user quota memoize cache invalidation
     await wait(5000)
 
-    await updateUser({
-      url: servers[0].url,
-      userId,
-      accessToken: servers[0].accessToken,
-      videoQuota: -1,
-      videoQuotaDaily: 1
-    })
+    await updateQuota({ total: -1, daily: 1 })
 
     const userVideoLiveoId = await createLiveWrapper(true)
     await runAndTestFfmpegStreamError(servers[0].url, userAccessToken, userVideoLiveoId, true)
@@ -160,13 +148,7 @@ describe('Test live constraints', function () {
     // Wait for user quota memoize cache invalidation
     await wait(5000)
 
-    await updateUser({
-      url: servers[0].url,
-      userId,
-      accessToken: servers[0].accessToken,
-      videoQuota: 10 * 1000 * 1000,
-      videoQuotaDaily: -1
-    })
+    await updateQuota({ total: 10 * 1000 * 1000, daily: -1 })
 
     const userVideoLiveoId = await createLiveWrapper(true)
     await runAndTestFfmpegStreamError(servers[0].url, userAccessToken, userVideoLiveoId, false)
@@ -182,15 +164,7 @@ describe('Test live constraints', function () {
         maxDuration: 1,
         transcoding: {
           enabled: true,
-          resolutions: {
-            '240p': true,
-            '360p': true,
-            '480p': true,
-            '720p': true,
-            '1080p': true,
-            '1440p': true,
-            '2160p': true
-          }
+          resolutions: getCustomConfigResolutions(true)
         }
       }
     })
index a5bda009fccb0ef8cd44374716503b5c892e9723..d52e8c7e4b898acbbebce83918a2bb1417ff044a 100644 (file)
@@ -8,6 +8,7 @@ import {
   createLive,
   doubleFollow,
   flushAndRunMultipleServers,
+  getCustomConfigResolutions,
   getLive,
   getPlaylistsCount,
   getVideo,
@@ -69,15 +70,7 @@ describe('Permenant live', function () {
         maxDuration: -1,
         transcoding: {
           enabled: true,
-          resolutions: {
-            '240p': true,
-            '360p': true,
-            '480p': true,
-            '720p': true,
-            '1080p': true,
-            '1440p': true,
-            '2160p': true
-          }
+          resolutions: getCustomConfigResolutions(true)
         }
       }
     })
@@ -159,15 +152,7 @@ describe('Permenant live', function () {
         maxDuration: -1,
         transcoding: {
           enabled: true,
-          resolutions: {
-            '240p': false,
-            '360p': false,
-            '480p': false,
-            '720p': false,
-            '1080p': false,
-            '1440p': false,
-            '2160p': false
-          }
+          resolutions: getCustomConfigResolutions(false)
         }
       }
     })
index 61c8e74dd4774516dc8900d15557ee9a4a0350bf..3d4736c8fb65e635de22779547b5f3b2bea44b7b 100644 (file)
@@ -12,6 +12,7 @@ import {
   createLive,
   doubleFollow,
   flushAndRunMultipleServers,
+  getCustomConfigResolutions,
   getVideo,
   getVideosList,
   removeVideo,
@@ -108,15 +109,7 @@ describe('Save replay setting', function () {
         maxDuration: -1,
         transcoding: {
           enabled: false,
-          resolutions: {
-            '240p': true,
-            '360p': true,
-            '480p': true,
-            '720p': true,
-            '1080p': true,
-            '1440p': true,
-            '2160p': true
-          }
+          resolutions: getCustomConfigResolutions(true)
         }
       }
     })
index 026a5e61c3e4869362bb537b6b9d04fce40849cf..b7011085260e64a5b15e9b0314db9b8bd6c5b6b0 100644 (file)
@@ -223,6 +223,18 @@ function updateCustomSubConfig (url: string, token: string, newConfig: DeepParti
   return updateCustomConfig(url, token, updateParams)
 }
 
+function getCustomConfigResolutions (enabled: boolean) {
+  return {
+    '240p': enabled,
+    '360p': enabled,
+    '480p': enabled,
+    '720p': enabled,
+    '1080p': enabled,
+    '1440p': enabled,
+    '2160p': enabled
+  }
+}
+
 function deleteCustomConfig (url: string, token: string, statusCodeExpected = HttpStatusCode.OK_200) {
   const path = '/api/v1/config/custom'
 
@@ -242,5 +254,6 @@ export {
   updateCustomConfig,
   getAbout,
   deleteCustomConfig,
-  updateCustomSubConfig
+  updateCustomSubConfig,
+  getCustomConfigResolutions
 }
index 6040dd9c0ff95d57415f16c5817465b9b61fc28a..0f15962ad40fc94cfe7e8a8896181a9c224a1758 100644 (file)
@@ -1,5 +1,6 @@
 import { omit } from 'lodash'
 import * as request from 'supertest'
+import { HttpStatusCode } from '../../../shared/core-utils/miscs/http-error-codes'
 import { UserUpdateMe } from '../../models/users'
 import { UserAdminFlag } from '../../models/users/user-flag.model'
 import { UserRegister } from '../../models/users/user-register.model'
@@ -7,9 +8,8 @@ import { UserRole } from '../../models/users/user-role'
 import { makeGetRequest, makePostBodyRequest, makePutBodyRequest, updateImageRequest } from '../requests/requests'
 import { ServerInfo } from '../server/servers'
 import { userLogin } from './login'
-import { HttpStatusCode } from '../../../shared/core-utils/miscs/http-error-codes'
 
-type CreateUserArgs = {
+function createUser (parameters: {
   url: string
   accessToken: string
   username: string
@@ -19,8 +19,7 @@ type CreateUserArgs = {
   role?: UserRole
   adminFlags?: UserAdminFlag
   specialStatus?: number
-}
-function createUser (parameters: CreateUserArgs) {
+}) {
   const {
     url,
     accessToken,
@@ -52,6 +51,21 @@ function createUser (parameters: CreateUserArgs) {
           .expect(specialStatus)
 }
 
+async function generateUser (server: ServerInfo, username: string) {
+  const password = 'my super password'
+  const resCreate = await createUser({ url: server.url, accessToken: server.accessToken, username: username, password: password })
+
+  const token = await userLogin(server, { username, password })
+
+  const resMe = await getMyUserInformation(server.url, token)
+
+  return {
+    token,
+    userId: resCreate.body.user.id,
+    userChannelId: resMe.body.videoChannels[0].id
+  }
+}
+
 async function generateUserAccessToken (server: ServerInfo, username: string) {
   const password = 'my super password'
   await createUser({ url: server.url, accessToken: server.accessToken, username: username, password: password })
@@ -393,6 +407,7 @@ export {
   resetPassword,
   renewUserScopedTokens,
   updateMyAvatar,
+  generateUser,
   askSendVerifyEmail,
   generateUserAccessToken,
   verifyEmail,