/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
import 'mocha'
+import { ServerHookName, VideoPlaylistPrivacy, VideoPrivacy } from '@shared/models'
import {
cleanupTests,
- flushAndRunMultipleServers,
+ createMultipleServers,
killallServers,
+ PeerTubeServer,
PluginsCommand,
- reRunServer,
- ServerInfo,
setAccessTokensToServers,
setDefaultVideoChannel
-} from '@shared/extra-utils'
-import { ServerHookName, VideoPlaylistPrivacy, VideoPrivacy } from '@shared/models'
+} from '@shared/server-commands'
describe('Test plugin action hooks', function () {
- let servers: ServerInfo[]
+ let servers: PeerTubeServer[]
let videoUUID: string
let threadId: number
before(async function () {
this.timeout(30000)
- servers = await flushAndRunMultipleServers(2)
+ servers = await createMultipleServers(2)
await setAccessTokensToServers(servers)
await setDefaultVideoChannel(servers)
await killallServers([ servers[0] ])
- await reRunServer(servers[0], {
+ await servers[0].run({
live: {
enabled: true
}
})
it('Should run action:api.video.viewed', async function () {
- await servers[0].videos.view({ id: videoUUID })
+ await servers[0].views.simulateView({ id: videoUUID })
await checkHook('action:api.video.viewed')
})
})
})
+ describe('Captions hooks', function () {
+ it('Should run action:api.video-caption.created', async function () {
+ await servers[0].captions.add({ videoId: videoUUID, language: 'en', fixture: 'subtitle-good.srt' })
+
+ await checkHook('action:api.video-caption.created')
+ })
+
+ it('Should run action:api.video-caption.deleted', async function () {
+ await servers[0].captions.delete({ videoId: videoUUID, language: 'en' })
+
+ await checkHook('action:api.video-caption.deleted')
+ })
+ })
+
describe('Users hooks', function () {
let userId: number
})
it('Should run action:api.user.oauth2-got-token', async function () {
- await servers[0].login.getAccessToken('created_user', 'super_password')
+ await servers[0].login.login({ user: { username: 'created_user' } })
await checkHook('action:api.user.oauth2-got-token')
})