X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Ftests%2Fapi%2Fserver%2Fstats.ts;h=942cbeaa43accd807cab2f1c6e8ac17e17aa40a9;hb=7b97127e8ba718d673b8a43afa964d136723e6a2;hp=a35709c2688a1954a6dd0f1316f40cd883fd8853;hpb=7926c5f9b3ffcabb1ffb0dcfa5e48b8e0b88fbc0;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/tests/api/server/stats.ts b/server/tests/api/server/stats.ts index a35709c26..942cbeaa4 100644 --- a/server/tests/api/server/stats.ts +++ b/server/tests/api/server/stats.ts @@ -1,24 +1,21 @@ /* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */ -import 'mocha' -import * as chai from 'chai' +import { expect } from 'chai' +import { wait } from '@shared/core-utils' +import { ActivityType, VideoPlaylistPrivacy } from '@shared/models' import { cleanupTests, + createMultipleServers, doubleFollow, - flushAndRunMultipleServers, - ServerInfo, + PeerTubeServer, setAccessTokensToServers, - uploadVideo, - viewVideo, - wait, + setDefaultAccountAvatar, + setDefaultChannelAvatar, waitJobs -} from '@shared/extra-utils' -import { ActivityType, VideoPlaylistPrivacy } from '@shared/models' - -const expect = chai.expect +} from '@shared/server-commands' describe('Test stats (excluding redundancy)', function () { - let servers: ServerInfo[] = [] + let servers: PeerTubeServer[] = [] let channelId const user = { username: 'user1', @@ -26,32 +23,33 @@ describe('Test stats (excluding redundancy)', function () { } before(async function () { - this.timeout(60000) + this.timeout(120000) - servers = await flushAndRunMultipleServers(3) + servers = await createMultipleServers(3) await setAccessTokensToServers(servers) + await setDefaultChannelAvatar(servers) + await setDefaultAccountAvatar(servers) await doubleFollow(servers[0], servers[1]) - await servers[0].usersCommand.create({ username: user.username, password: user.password }) + await servers[0].users.create({ username: user.username, password: user.password }) - const resVideo = await uploadVideo(servers[0].url, servers[0].accessToken, { fixture: 'video_short.webm' }) - const videoUUID = resVideo.body.video.uuid + const { uuid } = await servers[0].videos.upload({ attributes: { fixture: 'video_short.webm' } }) - await servers[0].commentsCommand.createThread({ videoId: videoUUID, text: 'comment' }) + await servers[0].comments.createThread({ videoId: uuid, text: 'comment' }) - await viewVideo(servers[0].url, videoUUID) + await servers[0].views.simulateView({ id: uuid }) // Wait the video views repeatable job await wait(8000) - await servers[2].followsCommand.follow({ targets: [ servers[0].url ] }) + await servers[2].follows.follow({ hosts: [ servers[0].url ] }) await waitJobs(servers) }) it('Should have the correct stats on instance 1', async function () { - const data = await servers[0].statsCommand.get() + const data = await servers[0].stats.get() expect(data.totalLocalVideoComments).to.equal(1) expect(data.totalLocalVideos).to.equal(1) @@ -66,7 +64,7 @@ describe('Test stats (excluding redundancy)', function () { }) it('Should have the correct stats on instance 2', async function () { - const data = await servers[1].statsCommand.get() + const data = await servers[1].stats.get() expect(data.totalLocalVideoComments).to.equal(0) expect(data.totalLocalVideos).to.equal(0) @@ -81,7 +79,7 @@ describe('Test stats (excluding redundancy)', function () { }) it('Should have the correct stats on instance 3', async function () { - const data = await servers[2].statsCommand.get() + const data = await servers[2].stats.get() expect(data.totalLocalVideoComments).to.equal(0) expect(data.totalLocalVideos).to.equal(0) @@ -97,10 +95,10 @@ describe('Test stats (excluding redundancy)', function () { it('Should have the correct total videos stats after an unfollow', async function () { this.timeout(15000) - await servers[2].followsCommand.unfollow({ target: servers[0] }) + await servers[2].follows.unfollow({ target: servers[0] }) await waitJobs(servers) - const data = await servers[2].statsCommand.get() + const data = await servers[2].stats.get() expect(data.totalVideos).to.equal(0) }) @@ -109,7 +107,7 @@ describe('Test stats (excluding redundancy)', function () { const server = servers[0] { - const data = await server.statsCommand.get() + const data = await server.stats.get() expect(data.totalDailyActiveUsers).to.equal(1) expect(data.totalWeeklyActiveUsers).to.equal(1) @@ -117,9 +115,9 @@ describe('Test stats (excluding redundancy)', function () { } { - await server.loginCommand.getAccessToken(user) + await server.login.getAccessToken(user) - const data = await server.statsCommand.get() + const data = await server.stats.get() expect(data.totalDailyActiveUsers).to.equal(2) expect(data.totalWeeklyActiveUsers).to.equal(2) @@ -131,8 +129,9 @@ describe('Test stats (excluding redundancy)', function () { const server = servers[0] { - const data = await server.statsCommand.get() + const data = await server.stats.get() + expect(data.totalLocalVideoChannels).to.equal(2) expect(data.totalLocalDailyActiveVideoChannels).to.equal(1) expect(data.totalLocalWeeklyActiveVideoChannels).to.equal(1) expect(data.totalLocalMonthlyActiveVideoChannels).to.equal(1) @@ -143,21 +142,23 @@ describe('Test stats (excluding redundancy)', function () { name: 'stats_channel', displayName: 'My stats channel' } - const created = await server.channelsCommand.create({ attributes }) + const created = await server.channels.create({ attributes }) channelId = created.id - const data = await server.statsCommand.get() + const data = await server.stats.get() + expect(data.totalLocalVideoChannels).to.equal(3) expect(data.totalLocalDailyActiveVideoChannels).to.equal(1) expect(data.totalLocalWeeklyActiveVideoChannels).to.equal(1) expect(data.totalLocalMonthlyActiveVideoChannels).to.equal(1) } { - await uploadVideo(server.url, server.accessToken, { fixture: 'video_short.webm', channelId }) + await server.videos.upload({ attributes: { fixture: 'video_short.webm', channelId } }) - const data = await server.statsCommand.get() + const data = await server.stats.get() + expect(data.totalLocalVideoChannels).to.equal(3) expect(data.totalLocalDailyActiveVideoChannels).to.equal(2) expect(data.totalLocalWeeklyActiveVideoChannels).to.equal(2) expect(data.totalLocalMonthlyActiveVideoChannels).to.equal(2) @@ -168,12 +169,12 @@ describe('Test stats (excluding redundancy)', function () { const server = servers[0] { - const data = await server.statsCommand.get() + const data = await server.stats.get() expect(data.totalLocalPlaylists).to.equal(0) } { - await server.playlistsCommand.create({ + await server.playlists.create({ attributes: { displayName: 'playlist for count', privacy: VideoPlaylistPrivacy.PUBLIC, @@ -181,15 +182,15 @@ describe('Test stats (excluding redundancy)', function () { } }) - const data = await server.statsCommand.get() + const data = await server.stats.get() expect(data.totalLocalPlaylists).to.equal(1) } }) it('Should correctly count video file sizes if transcoding is enabled', async function () { - this.timeout(60000) + this.timeout(120000) - await servers[0].configCommand.updateCustomSubConfig({ + await servers[0].config.updateCustomSubConfig({ newConfig: { transcoding: { enabled: true, @@ -201,6 +202,7 @@ describe('Test stats (excluding redundancy)', function () { }, resolutions: { '0p': false, + '144p': false, '240p': false, '360p': false, '480p': false, @@ -213,17 +215,17 @@ describe('Test stats (excluding redundancy)', function () { } }) - await uploadVideo(servers[0].url, servers[0].accessToken, { name: 'video', fixture: 'video_short.webm' }) + await servers[0].videos.upload({ attributes: { name: 'video', fixture: 'video_short.webm' } }) await waitJobs(servers) { - const data = await servers[1].statsCommand.get() + const data = await servers[1].stats.get() expect(data.totalLocalVideoFilesSize).to.equal(0) } { - const data = await servers[0].statsCommand.get() + const data = await servers[0].stats.get() expect(data.totalLocalVideoFilesSize).to.be.greaterThan(500000) expect(data.totalLocalVideoFilesSize).to.be.lessThan(600000) } @@ -232,25 +234,19 @@ describe('Test stats (excluding redundancy)', function () { it('Should have the correct AP stats', async function () { this.timeout(60000) - await servers[0].configCommand.updateCustomSubConfig({ - newConfig: { - transcoding: { - enabled: false - } - } - }) + await servers[0].config.disableTranscoding() - const first = await servers[1].statsCommand.get() + const first = await servers[1].stats.get() for (let i = 0; i < 10; i++) { - await uploadVideo(servers[0].url, servers[0].accessToken, { name: 'video' }) + await servers[0].videos.upload({ attributes: { name: 'video' } }) } await waitJobs(servers) await wait(6000) - const second = await servers[1].statsCommand.get() + const second = await servers[1].stats.get() expect(second.totalActivityPubMessagesProcessed).to.be.greaterThan(first.totalActivityPubMessagesProcessed) const apTypes: ActivityType[] = [ @@ -272,7 +268,7 @@ describe('Test stats (excluding redundancy)', function () { await wait(6000) - const third = await servers[1].statsCommand.get() + const third = await servers[1].stats.get() expect(third.totalActivityPubMessagesWaiting).to.equal(0) expect(third.activityPubMessagesProcessedPerSecond).to.be.lessThan(second.activityPubMessagesProcessedPerSecond) })