]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - scripts/benchmark.ts
refactor(types): create dedicated folder for types package src
[github/Chocobozzz/PeerTube.git] / scripts / benchmark.ts
index 272f9e8b19e79bfaa729e638d136c2689908c901..788318313ffe84976837468b1e393095b9f2d96b 100644 (file)
@@ -1,12 +1,12 @@
-import * as autocannon from 'autocannon'
-import { writeJson } from 'fs-extra'
-import { flushAndRunServer, getVideosList, killallServers, ServerInfo, setAccessTokensToServers, uploadVideo } from '@shared/extra-utils'
-import { Video, VideoPrivacy } from '@shared/models'
 import { registerTSPaths } from '../server/helpers/register-ts-paths'
-
 registerTSPaths()
 
-let server: ServerInfo
+import autocannon, { printResult } from 'autocannon'
+import { writeJson } from 'fs-extra'
+import { createSingleServer, killallServers, PeerTubeServer, setAccessTokensToServers } from '@shared/extra-utils'
+import { Video, VideoPrivacy } from '@shared/models'
+
+let server: PeerTubeServer
 let video: Video
 let threadId: number
 
@@ -135,7 +135,7 @@ async function run () {
       title: 'API - config',
       path: '/api/v1/config',
       expecter: (body, status) => {
-        return status === 200 && body.startsWith('{"instance":')
+        return status === 200 && body.startsWith('{"client":')
       }
     }
   ]
@@ -149,7 +149,7 @@ async function run () {
     Object.assign(testResult, { title: test.title, path: test.path })
     finalResult.push(testResult)
 
-    console.log(autocannon.printResult(testResult))
+    console.log(printResult(testResult))
   }
 
   if (outfile) await writeJson(outfile, finalResult)
@@ -188,7 +188,7 @@ function runBenchmark (options: {
 }
 
 async function prepare () {
-  server = await flushAndRunServer(1, {
+  server = await createSingleServer(1, {
     rates_limit: {
       api: {
         max: 5_000_000
@@ -197,7 +197,7 @@ async function prepare () {
   })
   await setAccessTokensToServers([ server ])
 
-  const videoAttributes = {
+  const attributes = {
     name: 'my super video',
     category: 2,
     nsfw: true,
@@ -210,30 +210,29 @@ async function prepare () {
   }
 
   for (let i = 0; i < 10; i++) {
-    Object.assign(videoAttributes, { name: 'my super video ' + i })
-    await uploadVideo(server.url, server.accessToken, videoAttributes)
+    await server.videos.upload({ attributes: { ...attributes, name: 'my super video ' + i } })
   }
 
-  const resVideos = await getVideosList(server.url)
-  video = resVideos.body.data.find(v => v.name === 'my super video 1')
+  const { data } = await server.videos.list()
+  video = data.find(v => v.name === 'my super video 1')
 
   for (let i = 0; i < 10; i++) {
     const text = 'my super first comment'
-    const created = await server.commentsCommand.createThread({ videoId: video.id, text })
+    const created = await server.comments.createThread({ videoId: video.id, text })
     threadId = created.id
 
     const text1 = 'my super answer to thread 1'
-    const child = await server.commentsCommand.addReply({ videoId: video.id, toCommentId: threadId, text: text1 })
+    const child = await server.comments.addReply({ videoId: video.id, toCommentId: threadId, text: text1 })
 
     const text2 = 'my super answer to answer of thread 1'
-    await server.commentsCommand.addReply({ videoId: video.id, toCommentId: child.id, text: text2 })
+    await server.comments.addReply({ videoId: video.id, toCommentId: child.id, text: text2 })
 
     const text3 = 'my second answer to thread 1'
-    await server.commentsCommand.addReply({ videoId: video.id, toCommentId: threadId, text: text3 })
+    await server.comments.addReply({ videoId: video.id, toCommentId: threadId, text: text3 })
   }
 
   for (const caption of [ 'ar', 'fr', 'en', 'zh' ]) {
-    await server.captionsCommand.createVideoCaption({
+    await server.captions.add({
       language: caption,
       videoId: video.id,
       fixture: 'subtitle-good2.vtt'