X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;ds=sidebyside;f=scripts%2Fbenchmark.ts;h=011519fe38d11ea3d173d0b0a87690df39e930a0;hb=1e9c1b1b44b4cbd4bc4b1e97e8e6ba2df93371de;hp=69d902b5c1cc7dbb7f6edcfbe5e0d92dbd4924fa;hpb=4abbeff5758daad6d0639cc61a0ae27f9bb758da;p=github%2FChocobozzz%2FPeerTube.git diff --git a/scripts/benchmark.ts b/scripts/benchmark.ts index 69d902b5c..011519fe3 100644 --- a/scripts/benchmark.ts +++ b/scripts/benchmark.ts @@ -1,22 +1,12 @@ import { registerTSPaths } from '../server/helpers/register-ts-paths' registerTSPaths() -import * as autocannon from 'autocannon' -import { - addVideoCommentReply, - addVideoCommentThread, - createVideoCaption, - flushAndRunServer, - getVideosList, - killallServers, - ServerInfo, - setAccessTokensToServers, - uploadVideo -} from '@shared/extra-utils' -import { Video, VideoPrivacy } from '@shared/models' +import autocannon, { printResult } from 'autocannon' import { writeJson } from 'fs-extra' +import { createSingleServer, killallServers, PeerTubeServer, setAccessTokensToServers } from '@shared/server-commands' +import { Video, VideoPrivacy } from '@shared/models' -let server: ServerInfo +let server: PeerTubeServer let video: Video let threadId: number @@ -25,7 +15,7 @@ const outfile = process.argv[2] run() .catch(err => console.error(err)) .finally(() => { - if (server) killallServers([ server ]) + if (server) return killallServers([ server ]) }) function buildAuthorizationHeader () { @@ -34,98 +24,118 @@ function buildAuthorizationHeader () { } } +function buildAPHeader () { + return { + Accept: 'application/ld+json; profile="https://www.w3.org/ns/activitystreams"' + } +} + async function run () { console.log('Preparing server...') await prepare() const tests = [ + { + title: 'AP - account peertube', + path: '/accounts/peertube', + headers: buildAPHeader(), + expecter: (body, status) => { + return status === 200 && body.startsWith('{"type":') + } + }, + { + title: 'AP - video', + path: '/videos/watch/' + video.uuid, + headers: buildAPHeader(), + expecter: (body, status) => { + return status === 200 && body.startsWith('{"type":"Video"') + } + }, + { + title: 'Misc - webfinger peertube', + path: '/.well-known/webfinger?resource=acct:peertube@' + server.host, + expecter: (body, status) => { + return status === 200 && body.startsWith('{"subject":') + } + }, { title: 'API - unread notifications', path: '/api/v1/users/me/notifications?start=0&count=0&unread=true', headers: buildAuthorizationHeader(), - expecter: (_client, statusCode) => { - return statusCode === 200 + expecter: (_body, status) => { + return status === 200 } }, { title: 'API - me', path: '/api/v1/users/me', headers: buildAuthorizationHeader(), - expecter: (client, statusCode) => { - const body = client.resData[0].body - - return statusCode === 200 && body.startsWith('{"id":') + expecter: (body, status) => { + return status === 200 && body.startsWith('{"id":') } }, { title: 'API - videos list', path: '/api/v1/videos', - expecter: (client, statusCode) => { - const body = client.resData[0].body - - return statusCode === 200 && body.startsWith('{"total":10') + expecter: (body, status) => { + return status === 200 && body.startsWith('{"total":10') } }, { title: 'API - video get', path: '/api/v1/videos/' + video.uuid, - expecter: (client, statusCode) => { - const body = client.resData[0].body - - return statusCode === 200 && body.startsWith('{"id":') + expecter: (body, status) => { + return status === 200 && body.startsWith('{"id":') } }, { title: 'API - video captions', path: '/api/v1/videos/' + video.uuid + '/captions', - expecter: (client, statusCode) => { - const body = client.resData[0].body - - return statusCode === 200 && body.startsWith('{"total":4') + expecter: (body, status) => { + return status === 200 && body.startsWith('{"total":4') } }, { title: 'API - video threads', path: '/api/v1/videos/' + video.uuid + '/comment-threads', - expecter: (client, statusCode) => { - const body = client.resData[0].body - - return statusCode === 200 && body.startsWith('{"total":10') + expecter: (body, status) => { + return status === 200 && body.startsWith('{"total":10') } }, { title: 'API - video replies', path: '/api/v1/videos/' + video.uuid + '/comment-threads/' + threadId, - expecter: (client, statusCode) => { - const body = client.resData[0].body - - return statusCode === 200 && body.startsWith('{"comment":{') + expecter: (body, status) => { + return status === 200 && body.startsWith('{"comment":{') } }, { title: 'HTML - video watch', path: '/videos/watch/' + video.uuid, - expecter: (client, statusCode) => { - const body = client.resData[0].body - - return statusCode === 200 && body.includes('