1
0
Fork 0

Use test wrapper exit function

This commit is contained in:
Chocobozzz 2019-04-24 15:10:37 +02:00
parent 913b1d71e6
commit 7c3b79768b
No known key found for this signature in database
GPG key ID: 583A612D890159BE
80 changed files with 426 additions and 384 deletions

View file

@ -12,7 +12,7 @@ addons:
- ubuntu-toolchain-r-test
packages:
- g++-4.9
postgresql: "9.4"
postgresql: "9.6"
cache:
directories:

View file

@ -6,7 +6,7 @@ import { CustomConfig } from '../../../../shared/models/server/custom-config.mod
import {
createUser, flushTests, killallServers, makeDeleteRequest, makeGetRequest, makePutBodyRequest, flushAndRunServer, ServerInfo,
setAccessTokensToServers, userLogin, immutableAssign
setAccessTokensToServers, userLogin, immutableAssign, cleanupTests
} from '../../../../shared/extra-utils'
describe('Test config API validators', function () {
@ -181,7 +181,7 @@ describe('Test config API validators', function () {
})
it('Should fail if email disabled and signup requires email verification', async function () {
// opposite scenario - succcess when enable enabled - covered via tests/api/users/user-verification.ts
// opposite scenario - success when enable enabled - covered via tests/api/users/user-verification.ts
const newUpdateParams = immutableAssign(updateParams, {
signup: {
enabled: true,
@ -229,7 +229,7 @@ describe('Test config API validators', function () {
})
})
after(function () {
killallServers([ server ])
after(async function () {
await cleanupTests([ server ])
})
})

View file

@ -9,7 +9,7 @@ import {
reRunServer,
flushAndRunServer,
ServerInfo,
setAccessTokensToServers
setAccessTokensToServers, cleanupTests
} from '../../../../shared/extra-utils'
import {
checkBadCountPagination,
@ -28,13 +28,14 @@ describe('Test contact form API validators', function () {
fromEmail: 'toto@example.com',
body: 'Hello, how are you?'
}
let emailPort: number
// ---------------------------------------------------------------
before(async function () {
this.timeout(60000)
await MockSmtpServer.Instance.collectEmails(emails)
emailPort = await MockSmtpServer.Instance.collectEmails(emails)
// Email is disabled
server = await flushAndRunServer(1)
@ -50,7 +51,7 @@ describe('Test contact form API validators', function () {
killallServers([ server ])
// Contact form is disabled
await reRunServer(server, { smtp: { hostname: 'localhost' }, contact_form: { enabled: false } })
await reRunServer(server, { smtp: { hostname: 'localhost', port: emailPort }, contact_form: { enabled: false } })
await sendContactForm(immutableAssign(defaultBody, { url: server.url, expectedStatus: 409 }))
})
@ -60,7 +61,7 @@ describe('Test contact form API validators', function () {
killallServers([ server ])
// Email & contact form enabled
await reRunServer(server, { smtp: { hostname: 'localhost' } })
await reRunServer(server, { smtp: { hostname: 'localhost', port: emailPort } })
await sendContactForm(immutableAssign(defaultBody, { url: server.url, expectedStatus: 400, fromEmail: 'badEmail' }))
await sendContactForm(immutableAssign(defaultBody, { url: server.url, expectedStatus: 400, fromEmail: 'badEmail@' }))
@ -83,8 +84,9 @@ describe('Test contact form API validators', function () {
await sendContactForm(immutableAssign(defaultBody, { url: server.url }))
})
after(function () {
after(async function () {
MockSmtpServer.Instance.kill()
killallServers([ server ])
// await cleanupTests([ server ])
})
})

View file

@ -9,7 +9,7 @@ import {
flushAndRunServer,
ServerInfo,
setAccessTokensToServers,
userLogin
userLogin, cleanupTests
} from '../../../../shared/extra-utils'
import { makeGetRequest } from '../../../../shared/extra-utils/requests/requests'
@ -65,7 +65,7 @@ describe('Test debug API validators', function () {
})
})
after(function () {
killallServers([ server ])
after(async function () {
await cleanupTests([ server ])
})
})

View file

@ -3,7 +3,13 @@
import 'mocha'
import {
createUser, flushTests, killallServers, makeDeleteRequest, makePostBodyRequest, flushAndRunServer, ServerInfo, setAccessTokensToServers,
cleanupTests,
createUser,
flushAndRunServer,
makeDeleteRequest,
makePostBodyRequest,
ServerInfo,
setAccessTokensToServers,
userLogin
} from '../../../../shared/extra-utils'
import {
@ -295,7 +301,7 @@ describe('Test server follows API validators', function () {
})
})
after(function () {
killallServers([ server ])
after(async function () {
await cleanupTests([ server ])
})
})

View file

@ -9,7 +9,8 @@ import {
flushAndRunServer,
ServerInfo,
setAccessTokensToServers,
userLogin
userLogin,
cleanupTests
} from '../../../../shared/extra-utils'
import {
checkBadCountPagination,
@ -80,7 +81,7 @@ describe('Test jobs API validators', function () {
})
})
after(function () {
killallServers([ server ])
after(async function () {
await cleanupTests([ server ])
})
})

View file

@ -9,7 +9,8 @@ import {
flushAndRunServer,
ServerInfo,
setAccessTokensToServers,
userLogin
userLogin,
cleanupTests
} from '../../../../shared/extra-utils'
import { makeGetRequest } from '../../../../shared/extra-utils/requests/requests'
@ -104,7 +105,7 @@ describe('Test logs API validators', function () {
})
})
after(function () {
killallServers([ server ])
after(async function () {
await cleanupTests([ server ])
})
})

View file

@ -3,6 +3,7 @@
import 'mocha'
import {
cleanupTests,
createUser,
doubleFollow,
flushAndRunMultipleServers,
@ -43,7 +44,7 @@ describe('Test server redundancy API validators', function () {
it('Should fail with an invalid token', async function () {
await makePutBodyRequest({
url: servers[0].url,
path: path + '/localhost:9002',
path: path + '/localhost:' + servers[1].port,
fields: { redundancyAllowed: true },
token: 'fake_token',
statusCodeExpected: 401
@ -53,7 +54,7 @@ describe('Test server redundancy API validators', function () {
it('Should fail if the user is not an administrator', async function () {
await makePutBodyRequest({
url: servers[0].url,
path: path + '/localhost:9002',
path: path + '/localhost:' + servers[1].port,
fields: { redundancyAllowed: true },
token: userAccessToken,
statusCodeExpected: 403
@ -73,7 +74,7 @@ describe('Test server redundancy API validators', function () {
it('Should fail without de redundancyAllowed param', async function () {
await makePutBodyRequest({
url: servers[0].url,
path: path + '/localhost:9002',
path: path + '/localhost:' + servers[1].port,
fields: { blabla: true },
token: servers[0].accessToken,
statusCodeExpected: 400
@ -83,7 +84,7 @@ describe('Test server redundancy API validators', function () {
it('Should succeed with the correct parameters', async function () {
await makePutBodyRequest({
url: servers[0].url,
path: path + '/localhost:9002',
path: path + '/localhost:' + servers[1].port,
fields: { redundancyAllowed: true },
token: servers[0].accessToken,
statusCodeExpected: 204
@ -91,7 +92,7 @@ describe('Test server redundancy API validators', function () {
})
})
after(function () {
killallServers(servers)
after(async function () {
await cleanupTests(servers)
})
})

View file

@ -2,7 +2,7 @@
import 'mocha'
import { flushTests, immutableAssign, killallServers, makeGetRequest, flushAndRunServer, ServerInfo } from '../../../../shared/extra-utils'
import { cleanupTests, flushAndRunServer, immutableAssign, makeGetRequest, ServerInfo } from '../../../../shared/extra-utils'
import {
checkBadCountPagination,
checkBadSortPagination,
@ -144,7 +144,7 @@ describe('Test videos API validator', function () {
})
})
after(function () {
killallServers([ server ])
after(async function () {
await cleanupTests([ server ])
})
})

View file

@ -3,10 +3,9 @@
import 'mocha'
import {
flushTests,
killallServers,
makeGetRequest,
cleanupTests,
flushAndRunServer,
makeGetRequest,
ServerInfo,
setAccessTokensToServers,
uploadVideo
@ -40,47 +39,47 @@ describe('Test services API validators', function () {
})
it('Should fail with an invalid video id', async function () {
const embedUrl = 'http://localhost:9001/videos/watch/blabla'
const embedUrl = `http://localhost:${server.port}/videos/watch/blabla`
await checkParamEmbed(server, embedUrl)
})
it('Should fail with an unknown video', async function () {
const embedUrl = 'http://localhost:9001/videos/watch/88fc0165-d1f0-4a35-a51a-3b47f668689c'
const embedUrl = `http://localhost:${server.port}/videos/watch/88fc0165-d1f0-4a35-a51a-3b47f668689c`
await checkParamEmbed(server, embedUrl, 404)
})
it('Should fail with an invalid path', async function () {
const embedUrl = 'http://localhost:9001/videos/watchs/' + server.video.uuid
const embedUrl = `http://localhost:${server.port}/videos/watchs/${server.video.uuid}`
await checkParamEmbed(server, embedUrl)
})
it('Should fail with an invalid max height', async function () {
const embedUrl = 'http://localhost:9001/videos/watch/' + server.video.uuid
const embedUrl = `http://localhost:${server.port}/videos/watch/${server.video.uuid}`
await checkParamEmbed(server, embedUrl, 400, { maxheight: 'hello' })
})
it('Should fail with an invalid max width', async function () {
const embedUrl = 'http://localhost:9001/videos/watch/' + server.video.uuid
const embedUrl = `http://localhost:${server.port}/videos/watch/${server.video.uuid}`
await checkParamEmbed(server, embedUrl, 400, { maxwidth: 'hello' })
})
it('Should fail with an invalid format', async function () {
const embedUrl = 'http://localhost:9001/videos/watch/' + server.video.uuid
const embedUrl = `http://localhost:${server.port}/videos/watch/${server.video.uuid}`
await checkParamEmbed(server, embedUrl, 400, { format: 'blabla' })
})
it('Should fail with a non supported format', async function () {
const embedUrl = 'http://localhost:9001/videos/watch/' + server.video.uuid
const embedUrl = `http://localhost:${server.port}/videos/watch/${server.video.uuid}`
await checkParamEmbed(server, embedUrl, 501, { format: 'xml' })
})
it('Should succeed with the correct params', async function () {
const embedUrl = 'http://localhost:9001/videos/watch/' + server.video.uuid
const embedUrl = `http://localhost:${server.port}/videos/watch/${server.video.uuid}`
const query = {
format: 'json',
maxheight: 400,
@ -91,8 +90,8 @@ describe('Test services API validators', function () {
})
})
after(function () {
killallServers([ server ])
after(async function () {
await cleanupTests([ server ])
})
})

View file

@ -4,13 +4,12 @@ import 'mocha'
import * as io from 'socket.io-client'
import {
flushTests,
cleanupTests,
flushAndRunServer,
immutableAssign,
killallServers,
makeGetRequest,
makePostBodyRequest,
makePutBodyRequest,
flushAndRunServer,
ServerInfo,
setAccessTokensToServers,
wait
@ -234,7 +233,7 @@ describe('Test user notifications API validators', function () {
describe('When connecting to my notification socket', function () {
it('Should fail with no token', function (next) {
const socket = io('http://localhost:9001/user-notifications', { reconnection: false })
const socket = io(`http://localhost:${server.port}/user-notifications`, { reconnection: false })
socket.on('error', () => {
socket.removeListener('error', this)
@ -249,7 +248,7 @@ describe('Test user notifications API validators', function () {
})
it('Should fail with an invalid token', function (next) {
const socket = io('http://localhost:9001/user-notifications', {
const socket = io(`http://localhost:${server.port}/user-notifications`, {
query: { accessToken: 'bad_access_token' },
reconnection: false
})
@ -267,7 +266,7 @@ describe('Test user notifications API validators', function () {
})
it('Should success with the correct token', function (next) {
const socket = io('http://localhost:9001/user-notifications', {
const socket = io(`http://localhost:${server.port}/user-notifications`, {
query: { accessToken: server.accessToken },
reconnection: false
})
@ -286,7 +285,7 @@ describe('Test user notifications API validators', function () {
})
})
after(function () {
killallServers([ server ])
after(async function () {
await cleanupTests([ server ])
})
})

View file

@ -3,13 +3,12 @@
import 'mocha'
import {
cleanupTests,
createUser,
flushTests,
killallServers,
flushAndRunServer,
makeDeleteRequest,
makeGetRequest,
makePostBodyRequest,
flushAndRunServer,
ServerInfo,
setAccessTokensToServers,
userLogin
@ -113,7 +112,7 @@ describe('Test user subscriptions API validators', function () {
await makePostBodyRequest({
url: server.url,
path,
fields: { uri: 'user1_channel@localhost:9001' },
fields: { uri: 'user1_channel@localhost:' + server.port },
statusCodeExpected: 401
})
})
@ -151,7 +150,7 @@ describe('Test user subscriptions API validators', function () {
url: server.url,
path,
token: server.accessToken,
fields: { uri: 'user1_channel@localhost:9001' },
fields: { uri: 'user1_channel@localhost:' + server.port },
statusCodeExpected: 204
})
@ -163,7 +162,7 @@ describe('Test user subscriptions API validators', function () {
it('Should fail with a non authenticated user', async function () {
await makeGetRequest({
url: server.url,
path: path + '/user1_channel@localhost:9001',
path: path + '/user1_channel@localhost:' + server.port,
statusCodeExpected: 401
})
})
@ -194,7 +193,7 @@ describe('Test user subscriptions API validators', function () {
it('Should fail with an unknown subscription', async function () {
await makeGetRequest({
url: server.url,
path: path + '/root1@localhost:9001',
path: path + '/root1@localhost:' + server.port,
token: server.accessToken,
statusCodeExpected: 404
})
@ -203,7 +202,7 @@ describe('Test user subscriptions API validators', function () {
it('Should succeed with the correct parameters', async function () {
await makeGetRequest({
url: server.url,
path: path + '/user1_channel@localhost:9001',
path: path + '/user1_channel@localhost:' + server.port,
token: server.accessToken,
statusCodeExpected: 200
})
@ -243,7 +242,7 @@ describe('Test user subscriptions API validators', function () {
await makeGetRequest({
url: server.url,
path: existPath,
query: { 'uris[]': 'coucou@localhost:9001' },
query: { 'uris[]': 'coucou@localhost:' + server.port },
token: server.accessToken,
statusCodeExpected: 200
})
@ -254,7 +253,7 @@ describe('Test user subscriptions API validators', function () {
it('Should fail with a non authenticated user', async function () {
await makeDeleteRequest({
url: server.url,
path: path + '/user1_channel@localhost:9001',
path: path + '/user1_channel@localhost:' + server.port,
statusCodeExpected: 401
})
})
@ -285,7 +284,7 @@ describe('Test user subscriptions API validators', function () {
it('Should fail with an unknown subscription', async function () {
await makeDeleteRequest({
url: server.url,
path: path + '/root1@localhost:9001',
path: path + '/root1@localhost:' + server.port,
token: server.accessToken,
statusCodeExpected: 404
})
@ -294,14 +293,14 @@ describe('Test user subscriptions API validators', function () {
it('Should succeed with the correct parameters', async function () {
await makeDeleteRequest({
url: server.url,
path: path + '/user1_channel@localhost:9001',
path: path + '/user1_channel@localhost:' + server.port,
token: server.accessToken,
statusCodeExpected: 204
})
})
})
after(function () {
killallServers([ server ])
after(async function () {
await cleanupTests([ server ])
})
})

View file

@ -7,6 +7,7 @@ import { UserRole, VideoImport, VideoImportState } from '../../../../shared'
import {
blockUser,
cleanupTests,
createUser,
deleteMe,
flushAndRunServer,
@ -14,7 +15,6 @@ import {
getMyUserVideoRating,
getUsersList,
immutableAssign,
killallServers,
makeGetRequest,
makePostBodyRequest,
makePutBodyRequest,
@ -713,7 +713,7 @@ describe('Test users API validators', function () {
})
it('Should fail if we register a user with the same email', async function () {
const fields = immutableAssign(baseCorrectParams, { email: 'admin1@example.com' })
const fields = immutableAssign(baseCorrectParams, { email: 'admin' + server.internalServerNumber + '@example.com' })
await makePostBodyRequest({
url: server.url,
@ -897,7 +897,7 @@ describe('Test users API validators', function () {
})
})
after(function () {
killallServers([ server, serverWithRegistrationDisabled ])
after(async function () {
await cleanupTests([ server, serverWithRegistrationDisabled ])
})
})

View file

@ -3,13 +3,12 @@
import 'mocha'
import {
cleanupTests,
createUser,
deleteVideoAbuse,
flushTests,
killallServers,
flushAndRunServer,
makeGetRequest,
makePostBodyRequest,
flushAndRunServer,
ServerInfo,
setAccessTokensToServers,
updateVideoAbuse,
@ -188,7 +187,7 @@ describe('Test video abuses API validators', function () {
})
})
after(function () {
killallServers([ server ])
after(async function () {
await cleanupTests([ server ])
})
})

View file

@ -3,6 +3,7 @@
import 'mocha'
import {
cleanupTests,
createUser,
doubleFollow,
flushAndRunMultipleServers,
@ -247,7 +248,7 @@ describe('Test video blacklist API validators', function () {
})
})
after(function () {
killallServers(servers)
after(async function () {
await cleanupTests(servers)
})
})

View file

@ -2,13 +2,12 @@
import 'mocha'
import {
cleanupTests,
createUser,
flushTests,
killallServers,
flushAndRunServer,
makeDeleteRequest,
makeGetRequest,
makeUploadRequest,
flushAndRunServer,
ServerInfo,
setAccessTokensToServers,
uploadVideo,
@ -269,7 +268,7 @@ describe('Test video captions API validator', function () {
})
})
after(function () {
killallServers([ server ])
after(async function () {
await cleanupTests([ server ])
})
})

View file

@ -4,19 +4,16 @@ import * as chai from 'chai'
import { omit } from 'lodash'
import 'mocha'
import {
cleanupTests,
createUser,
deleteVideoChannel,
flushTests,
flushAndRunServer,
getAccountVideoChannelsList,
getMyUserInformation,
getVideoChannelsList,
immutableAssign,
killallServers,
makeGetRequest,
makePostBodyRequest,
makePutBodyRequest,
makeUploadRequest,
flushAndRunServer,
ServerInfo,
setAccessTokensToServers,
userLogin
@ -26,7 +23,6 @@ import {
checkBadSortPagination,
checkBadStartPagination
} from '../../../../shared/extra-utils/requests/check-api-params'
import { User } from '../../../../shared/models/users'
import { join } from 'path'
const expect = chai.expect
@ -310,7 +306,7 @@ describe('Test video channels API validator', function () {
})
})
after(function () {
killallServers([ server ])
after(async function () {
await cleanupTests([ server ])
})
})

View file

@ -3,9 +3,9 @@
import * as chai from 'chai'
import 'mocha'
import {
cleanupTests,
createUser,
flushAndRunServer,
killallServers,
makeDeleteRequest,
makeGetRequest,
makePostBodyRequest,
@ -258,7 +258,7 @@ describe('Test video comments API validator', function () {
it('Should return conflict on comment thread add')
})
after(function () {
killallServers([ server ])
after(async function () {
await cleanupTests([ server ])
})
})

View file

@ -5,15 +5,14 @@ import 'mocha'
import { join } from 'path'
import { VideoPrivacy } from '../../../../shared/models/videos/video-privacy.enum'
import {
cleanupTests,
createUser,
flushTests,
flushAndRunServer,
getMyUserInformation,
immutableAssign,
killallServers,
makeGetRequest,
makePostBodyRequest,
makeUploadRequest,
flushAndRunServer,
ServerInfo,
setAccessTokensToServers,
updateCustomSubConfig,
@ -311,7 +310,7 @@ describe('Test video imports API validator', function () {
})
})
after(function () {
killallServers([ server ])
after(async function () {
await cleanupTests([ server ])
})
})

View file

@ -3,20 +3,20 @@
import 'mocha'
import {
addVideoInPlaylist,
cleanupTests,
createVideoPlaylist,
deleteVideoPlaylist,
flushTests,
flushAndRunServer,
generateUserAccessToken,
getAccountPlaylistsListWithToken,
getVideoPlaylist,
immutableAssign,
killallServers,
makeGetRequest,
removeVideoFromPlaylist,
reorderVideosPlaylist,
flushAndRunServer,
ServerInfo,
setAccessTokensToServers, setDefaultVideoChannel,
setAccessTokensToServers,
setDefaultVideoChannel,
updateVideoPlaylist,
updateVideoPlaylistElement,
uploadVideoAndGetId
@ -668,7 +668,7 @@ describe('Test video playlists API validator', function () {
})
})
after(function () {
killallServers([ server ])
after(async function () {
await cleanupTests([ server ])
})
})

View file

@ -2,14 +2,14 @@
import 'mocha'
import {
cleanupTests,
createUser,
createVideoPlaylist,
flushTests,
killallServers,
makeGetRequest,
flushAndRunServer,
makeGetRequest,
ServerInfo,
setAccessTokensToServers, setDefaultVideoChannel,
setAccessTokensToServers,
setDefaultVideoChannel,
userLogin
} from '../../../../shared/extra-utils'
import { UserRole } from '../../../../shared/models/users'
@ -129,7 +129,7 @@ describe('Test videos filters', function () {
})
})
after(function () {
killallServers([ server ])
after(async function () {
await cleanupTests([ server ])
})
})

View file

@ -5,12 +5,11 @@ import 'mocha'
import {
checkBadCountPagination,
checkBadStartPagination,
flushTests,
killallServers,
cleanupTests,
flushAndRunServer,
makeGetRequest,
makePostBodyRequest,
makePutBodyRequest,
flushAndRunServer,
ServerInfo,
setAccessTokensToServers,
uploadVideo
@ -126,7 +125,7 @@ describe('Test videos history API validator', function () {
})
})
after(function () {
killallServers([ server ])
after(async function () {
await cleanupTests([ server ])
})
})

View file

@ -6,16 +6,28 @@ import 'mocha'
import { join } from 'path'
import { VideoPrivacy } from '../../../../shared/models/videos/video-privacy.enum'
import {
createUser, flushTests, getMyUserInformation, getVideo, getVideosList, immutableAssign, killallServers, makeDeleteRequest,
makeGetRequest, makeUploadRequest, makePutBodyRequest, removeVideo, uploadVideo,
flushAndRunServer, ServerInfo, setAccessTokensToServers, userLogin, updateCustomSubConfig
cleanupTests,
createUser,
flushAndRunServer,
getMyUserInformation,
getVideo,
getVideosList,
immutableAssign,
makeDeleteRequest,
makeGetRequest,
makePutBodyRequest,
makeUploadRequest,
removeVideo,
ServerInfo,
setAccessTokensToServers,
userLogin,
root
} from '../../../../shared/extra-utils'
import {
checkBadCountPagination,
checkBadSortPagination,
checkBadStartPagination
} from '../../../../shared/extra-utils/requests/check-api-params'
import { getAccountsList } from '../../../../shared/extra-utils/users/accounts'
const expect = chai.expect
@ -166,7 +178,7 @@ describe('Test videos API validator', function () {
describe('When adding a video', function () {
let baseCorrectParams
const baseCorrectAttaches = {
'videofile': join(__dirname, '..', '..', 'fixtures', 'video_short.webm')
'videofile': join(root(), 'server', 'tests', 'fixtures', 'video_short.webm')
}
before(function () {
@ -326,15 +338,15 @@ describe('Test videos API validator', function () {
await makeUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches })
})
it('Should fail without an incorrect input file', async function () {
it('Should fail with an incorrect input file', async function () {
const fields = baseCorrectParams
let attaches = {
'videofile': join(__dirname, '..', '..', 'fixtures', 'video_short_fake.webm')
'videofile': join(root(), 'server', 'tests', 'fixtures', 'video_short_fake.webm')
}
await makeUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches })
attaches = {
'videofile': join(__dirname, '..', '..', 'fixtures', 'video_short.mkv')
'videofile': join(root(), 'server', 'tests', 'fixtures', 'video_short.mkv')
}
await makeUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches })
})
@ -342,8 +354,8 @@ describe('Test videos API validator', function () {
it('Should fail with an incorrect thumbnail file', async function () {
const fields = baseCorrectParams
const attaches = {
'thumbnailfile': join(__dirname, '..', '..', 'fixtures', 'avatar.png'),
'videofile': join(__dirname, '..', '..', 'fixtures', 'video_short.mp4')
'thumbnailfile': join(root(), 'server', 'tests', 'fixtures', 'avatar.png'),
'videofile': join(root(), 'server', 'tests', 'fixtures', 'video_short.mp4')
}
await makeUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches })
@ -352,8 +364,8 @@ describe('Test videos API validator', function () {
it('Should fail with a big thumbnail file', async function () {
const fields = baseCorrectParams
const attaches = {
'thumbnailfile': join(__dirname, '..', '..', 'fixtures', 'avatar-big.png'),
'videofile': join(__dirname, '..', '..', 'fixtures', 'video_short.mp4')
'thumbnailfile': join(root(), 'server', 'tests', 'fixtures', 'avatar-big.png'),
'videofile': join(root(), 'server', 'tests', 'fixtures', 'video_short.mp4')
}
await makeUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches })
@ -362,8 +374,8 @@ describe('Test videos API validator', function () {
it('Should fail with an incorrect preview file', async function () {
const fields = baseCorrectParams
const attaches = {
'previewfile': join(__dirname, '..', '..', 'fixtures', 'avatar.png'),
'videofile': join(__dirname, '..', '..', 'fixtures', 'video_short.mp4')
'previewfile': join(root(), 'server', 'tests', 'fixtures', 'avatar.png'),
'videofile': join(root(), 'server', 'tests', 'fixtures', 'video_short.mp4')
}
await makeUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches })
@ -372,8 +384,8 @@ describe('Test videos API validator', function () {
it('Should fail with a big preview file', async function () {
const fields = baseCorrectParams
const attaches = {
'previewfile': join(__dirname, '..', '..', 'fixtures', 'avatar-big.png'),
'videofile': join(__dirname, '..', '..', 'fixtures', 'video_short.mp4')
'previewfile': join(root(), 'server', 'tests', 'fixtures', 'avatar-big.png'),
'videofile': join(root(), 'server', 'tests', 'fixtures', 'video_short.mp4')
}
await makeUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches })
@ -398,7 +410,7 @@ describe('Test videos API validator', function () {
{
const attaches = immutableAssign(baseCorrectAttaches, {
videofile: join(__dirname, '..', '..', 'fixtures', 'video_short.mp4')
videofile: join(root(), 'server', 'tests', 'fixtures', 'video_short.mp4')
})
await makeUploadRequest({
@ -413,7 +425,7 @@ describe('Test videos API validator', function () {
{
const attaches = immutableAssign(baseCorrectAttaches, {
videofile: join(__dirname, '..', '..', 'fixtures', 'video_short.ogv')
videofile: join(root(), 'server', 'tests', 'fixtures', 'video_short.ogv')
})
await makeUploadRequest({
@ -550,7 +562,7 @@ describe('Test videos API validator', function () {
it('Should fail with an incorrect thumbnail file', async function () {
const fields = baseCorrectParams
const attaches = {
'thumbnailfile': join(__dirname, '..', '..', 'fixtures', 'avatar.png')
'thumbnailfile': join(root(), 'server', 'tests', 'fixtures', 'avatar.png')
}
await makeUploadRequest({
@ -566,7 +578,7 @@ describe('Test videos API validator', function () {
it('Should fail with a big thumbnail file', async function () {
const fields = baseCorrectParams
const attaches = {
'thumbnailfile': join(__dirname, '..', '..', 'fixtures', 'avatar-big.png')
'thumbnailfile': join(root(), 'server', 'tests', 'fixtures', 'avatar-big.png')
}
await makeUploadRequest({
@ -582,7 +594,7 @@ describe('Test videos API validator', function () {
it('Should fail with an incorrect preview file', async function () {
const fields = baseCorrectParams
const attaches = {
'previewfile': join(__dirname, '..', '..', 'fixtures', 'avatar.png')
'previewfile': join(root(), 'server', 'tests', 'fixtures', 'avatar.png')
}
await makeUploadRequest({
@ -598,7 +610,7 @@ describe('Test videos API validator', function () {
it('Should fail with a big preview file', async function () {
const fields = baseCorrectParams
const attaches = {
'previewfile': join(__dirname, '..', '..', 'fixtures', 'avatar-big.png')
'previewfile': join(root(), 'server', 'tests', 'fixtures', 'avatar-big.png')
}
await makeUploadRequest({
@ -728,7 +740,7 @@ describe('Test videos API validator', function () {
})
})
after(function () {
killallServers([ server ])
after(async function () {
await cleanupTests([ server ])
})
})

View file

@ -19,7 +19,7 @@ import {
userLogin,
wait,
getCustomConfig,
updateCustomConfig, getVideoThreadComments, getVideoCommentThreads, follow
updateCustomConfig, getVideoThreadComments, getVideoCommentThreads, follow, cleanupTests
} from '../../../../shared/extra-utils'
import { killallServers, ServerInfo, uploadVideo } from '../../../../shared/extra-utils/index'
import { setAccessTokensToServers } from '../../../../shared/extra-utils/users/login'
@ -1295,9 +1295,9 @@ describe('Test users notifications', function () {
})
})
after(function () {
after(async function () {
MockSmtpServer.Instance.kill()
killallServers(servers)
await cleanupTests(servers)
})
})

View file

@ -5,7 +5,7 @@ import 'mocha'
import { VideoDetails } from '../../../../shared/models/videos'
import {
checkSegmentHash,
checkVideoFilesWereRemoved,
checkVideoFilesWereRemoved, cleanupTests,
doubleFollow,
flushAndRunMultipleServers,
getFollowingListPaginationAndSort,
@ -52,7 +52,7 @@ function checkMagnetWebseeds (file: { magnetUri: string, resolution: { id: numbe
expect(parsed.urlList).to.have.lengthOf(baseWebseeds.length)
}
async function runServers (strategy: VideoRedundancyStrategy, additionalParams: any = {}) {
async function flushAndRunServers (strategy: VideoRedundancyStrategy, additionalParams: any = {}) {
const config = {
transcoding: {
hls: {
@ -264,10 +264,6 @@ async function disableRedundancyOnServer1 () {
expect(server2.following.hostRedundancyAllowed).to.be.false
}
async function cleanServers () {
killallServers(servers)
}
describe('Test videos redundancy', function () {
describe('With most-views strategy', function () {
@ -276,7 +272,7 @@ describe('Test videos redundancy', function () {
before(function () {
this.timeout(120000)
return runServers(strategy)
return flushAndRunServers(strategy)
})
it('Should have 1 webseed on the first video', async function () {
@ -315,8 +311,8 @@ describe('Test videos redundancy', function () {
await checkVideoFilesWereRemoved(video1Server2UUID, servers[0].serverNumber, [ 'videos', join('playlists', 'hls') ])
})
after(function () {
return cleanServers()
after(async function () {
return cleanupTests(servers)
})
})
@ -326,7 +322,7 @@ describe('Test videos redundancy', function () {
before(function () {
this.timeout(120000)
return runServers(strategy)
return flushAndRunServers(strategy)
})
it('Should have 1 webseed on the first video', async function () {
@ -365,8 +361,8 @@ describe('Test videos redundancy', function () {
await checkVideoFilesWereRemoved(video1Server2UUID, servers[0].serverNumber, [ 'videos' ])
})
after(function () {
return cleanServers()
after(async function () {
await cleanupTests(servers)
})
})
@ -376,7 +372,7 @@ describe('Test videos redundancy', function () {
before(function () {
this.timeout(120000)
return runServers(strategy, { min_views: 3 })
return flushAndRunServers(strategy, { min_views: 3 })
})
it('Should have 1 webseed on the first video', async function () {
@ -435,8 +431,8 @@ describe('Test videos redundancy', function () {
}
})
after(function () {
return cleanServers()
after(async function () {
await cleanupTests(servers)
})
})
@ -468,7 +464,7 @@ describe('Test videos redundancy', function () {
before(async function () {
this.timeout(120000)
await runServers(strategy, { min_lifetime: '7 seconds', min_views: 0 })
await flushAndRunServers(strategy, { min_lifetime: '7 seconds', min_views: 0 })
await enableRedundancyOnServer1()
})
@ -498,8 +494,8 @@ describe('Test videos redundancy', function () {
await checkNotContains([ servers[1], servers[2] ], 'http%3A%2F%2Flocalhost%3A9001')
})
after(function () {
return killallServers([ servers[1], servers[2] ])
after(async function () {
await cleanupTests(servers)
})
})
@ -510,7 +506,7 @@ describe('Test videos redundancy', function () {
before(async function () {
this.timeout(120000)
await runServers(strategy, { min_lifetime: '7 seconds', min_views: 0 })
await flushAndRunServers(strategy, { min_lifetime: '7 seconds', min_views: 0 })
await enableRedundancyOnServer1()
@ -569,8 +565,8 @@ describe('Test videos redundancy', function () {
await checkVideoFilesWereRemoved(video1Server2UUID, servers[0].serverNumber, [ join('redundancy', 'hls') ])
})
after(function () {
return cleanServers()
after(async function () {
await cleanupTests(servers)
})
})
})

View file

@ -3,7 +3,7 @@
import * as chai from 'chai'
import 'mocha'
import {
addVideoChannel,
addVideoChannel, cleanupTests,
createUser,
deleteVideoChannel,
flushAndRunMultipleServers,
@ -205,7 +205,7 @@ describe('Test a ActivityPub video channels search', function () {
expect(res.body.data).to.have.lengthOf(0)
})
after(function () {
killallServers(servers)
after(async function () {
await cleanupTests(servers)
})
})

View file

@ -15,7 +15,7 @@ import {
updateVideo,
uploadVideo,
wait,
searchVideo
searchVideo, cleanupTests
} from '../../../../shared/extra-utils'
import { waitJobs } from '../../../../shared/extra-utils/server/jobs'
import { Video, VideoPrivacy } from '../../../../shared/models/videos'
@ -149,7 +149,7 @@ describe('Test a ActivityPub videos search', function () {
expect(res.body.data).to.have.lengthOf(0)
})
after(function () {
killallServers(servers)
after(async function () {
await cleanupTests(servers)
})
})

View file

@ -12,7 +12,8 @@ import {
setAccessTokensToServers,
uploadVideo,
wait,
immutableAssign
immutableAssign,
cleanupTests
} from '../../../../shared/extra-utils'
const expect = chai.expect
@ -405,7 +406,7 @@ describe('Test a videos search', function () {
}
})
after(function () {
killallServers([ server ])
after(async function () {
await cleanupTests([ server ])
})
})

View file

@ -5,15 +5,15 @@ import * as chai from 'chai'
import { About } from '../../../../shared/models/server/about.model'
import { CustomConfig } from '../../../../shared/models/server/custom-config.model'
import {
cleanupTests,
deleteCustomConfig,
flushAndRunServer,
getAbout,
killallServers,
reRunServer,
flushTests,
getConfig,
getCustomConfig,
killallServers,
registerUser,
flushAndRunServer,
reRunServer,
setAccessTokensToServers,
updateCustomConfig
} from '../../../../shared/extra-utils'
@ -300,7 +300,7 @@ describe('Test config', function () {
checkInitialConfig(data)
})
after(function () {
killallServers([ server ])
after(async function () {
await cleanupTests([ server ])
})
})

View file

@ -2,7 +2,15 @@
import * as chai from 'chai'
import 'mocha'
import { flushTests, killallServers, flushAndRunServer, ServerInfo, setAccessTokensToServers, wait } from '../../../../shared/extra-utils'
import {
flushTests,
killallServers,
flushAndRunServer,
ServerInfo,
setAccessTokensToServers,
wait,
cleanupTests
} from '../../../../shared/extra-utils'
import { MockSmtpServer } from '../../../../shared/extra-utils/miscs/email'
import { waitJobs } from '../../../../shared/extra-utils/server/jobs'
import { sendContactForm } from '../../../../shared/extra-utils/server/contact-form'
@ -78,8 +86,9 @@ describe('Test contact form', function () {
})
})
after(function () {
after(async function () {
MockSmtpServer.Instance.kill()
killallServers([ server ])
await cleanupTests([ server ])
})
})

View file

@ -18,7 +18,7 @@ import {
flushTests,
killallServers,
ServerInfo,
setAccessTokensToServers
setAccessTokensToServers, cleanupTests
} from '../../../../shared/extra-utils'
import { MockSmtpServer } from '../../../../shared/extra-utils/miscs/email'
import { waitJobs } from '../../../../shared/extra-utils/server/jobs'
@ -256,8 +256,9 @@ describe('Test emails', function () {
})
})
after(function () {
after(async function () {
MockSmtpServer.Instance.kill()
killallServers([ server ])
await cleanupTests([ server ])
})
})

View file

@ -12,7 +12,7 @@ import {
killallServers,
ServerInfo,
setAccessTokensToServers,
uploadVideo
uploadVideo, cleanupTests
} from '../../../../shared/extra-utils'
import { unfollow } from '../../../../shared/extra-utils/server/follows'
import { userLogin } from '../../../../shared/extra-utils/users/login'
@ -219,7 +219,7 @@ describe('Test follow constraints', function () {
})
})
after(function () {
killallServers(servers)
after(async function () {
await cleanupTests(servers)
})
})

View file

@ -3,7 +3,7 @@
import * as chai from 'chai'
import 'mocha'
import {
acceptFollower,
acceptFollower, cleanupTests,
flushAndRunMultipleServers,
killallServers,
ServerInfo,
@ -189,7 +189,7 @@ describe('Test follows moderation', function () {
}
})
after(function () {
killallServers(servers)
after(async function () {
await cleanupTests(servers)
})
})

View file

@ -4,7 +4,7 @@ import * as chai from 'chai'
import 'mocha'
import { Video, VideoPrivacy } from '../../../../shared/models/videos'
import { VideoComment, VideoCommentThreadTree } from '../../../../shared/models/videos/video-comment.model'
import { completeVideoCheck } from '../../../../shared/extra-utils'
import { cleanupTests, completeVideoCheck } from '../../../../shared/extra-utils'
import {
flushAndRunMultipleServers,
getVideosList,
@ -435,7 +435,7 @@ describe('Test follows', function () {
})
after(function () {
killallServers(servers)
after(async function () {
await cleanupTests(servers)
})
})

View file

@ -7,6 +7,7 @@ import { VideoPrivacy } from '../../../../shared/models/videos'
import { VideoCommentThreadTree } from '../../../../shared/models/videos/video-comment.model'
import {
cleanupTests,
completeVideoCheck,
flushAndRunMultipleServers,
getVideo,
@ -296,7 +297,7 @@ describe('Test handle downs', function () {
}
})
after(function () {
killallServers(servers)
after(async function () {
await cleanupTests(servers)
})
})

View file

@ -2,7 +2,7 @@
import * as chai from 'chai'
import 'mocha'
import { killallServers, ServerInfo, setAccessTokensToServers } from '../../../../shared/extra-utils/index'
import { cleanupTests, killallServers, ServerInfo, setAccessTokensToServers } from '../../../../shared/extra-utils/index'
import { doubleFollow } from '../../../../shared/extra-utils/server/follows'
import { getJobsList, getJobsListPaginationAndSort, waitJobs } from '../../../../shared/extra-utils/server/jobs'
import { flushAndRunMultipleServers } from '../../../../shared/extra-utils/server/servers'
@ -56,7 +56,7 @@ describe('Test jobs', function () {
expect(dateIsValid(job.finishedOn)).to.be.true
})
after(function () {
killallServers(servers)
after(async function () {
await cleanupTests(servers)
})
})

View file

@ -2,7 +2,14 @@
import * as chai from 'chai'
import 'mocha'
import { flushTests, killallServers, flushAndRunServer, ServerInfo, setAccessTokensToServers } from '../../../../shared/extra-utils/index'
import {
flushTests,
killallServers,
flushAndRunServer,
ServerInfo,
setAccessTokensToServers,
cleanupTests
} from '../../../../shared/extra-utils/index'
import { waitJobs } from '../../../../shared/extra-utils/server/jobs'
import { uploadVideo } from '../../../../shared/extra-utils/videos/videos'
import { getLogs } from '../../../../shared/extra-utils/logs/logs'
@ -84,7 +91,7 @@ describe('Test logs', function () {
}
})
after(function () {
killallServers([ server ])
after(async function () {
await cleanupTests([ server ])
})
})

View file

@ -1,11 +1,7 @@
import 'mocha'
import * as request from 'supertest'
import {
flushTests,
killallServers,
ServerInfo
} from '../../../../shared/extra-utils'
import { flushAndRunServer } from '../../../../shared/extra-utils/server/servers'
import { ServerInfo } from '../../../../shared/extra-utils'
import { cleanupTests, flushAndRunServer } from '../../../../shared/extra-utils/server/servers'
describe('Start and stop server without web client routes', function () {
let server: ServerInfo
@ -23,7 +19,7 @@ describe('Start and stop server without web client routes', function () {
return req.expect(404)
})
after(function () {
killallServers([ server ])
after(async function () {
await cleanupTests([ server ])
})
})

View file

@ -2,28 +2,10 @@
import 'mocha'
import * as chai from 'chai'
import { About } from '../../../../shared/models/server/about.model'
import { CustomConfig } from '../../../../shared/models/server/custom-config.model'
import {
deleteCustomConfig,
getAbout,
getVideo,
killallServers,
login,
reRunServer,
uploadVideo,
userLogin,
viewVideo,
wait
} from '../../../../shared/extra-utils'
const expect = chai.expect
import { cleanupTests, getVideo, uploadVideo, userLogin, viewVideo, wait } from '../../../../shared/extra-utils'
import { flushAndRunServer, setAccessTokensToServers } from '../../../../shared/extra-utils/index'
import {
getConfig,
flushTests,
flushAndRunServer,
registerUser, getCustomConfig, setAccessTokensToServers, updateCustomConfig
} from '../../../../shared/extra-utils/index'
const expect = chai.expect
describe('Test application behind a reverse proxy', function () {
let server = null
@ -100,7 +82,7 @@ describe('Test application behind a reverse proxy', function () {
await userLogin(server, user, 429)
})
after(function () {
killallServers([ server ])
after(async function () {
await cleanupTests([ server ])
})
})

View file

@ -4,6 +4,7 @@ import * as chai from 'chai'
import 'mocha'
import { ServerStats } from '../../../../shared/models/server/server-stats.model'
import {
cleanupTests,
createUser,
doubleFollow,
flushAndRunMultipleServers,
@ -95,7 +96,7 @@ describe('Test stats (excluding redundancy)', function () {
expect(data.totalInstanceFollowers).to.equal(0)
})
after(function () {
killallServers(servers)
after(async function () {
await cleanupTests(servers)
})
})

View file

@ -2,8 +2,16 @@
import * as magnetUtil from 'magnet-uri'
import 'mocha'
import { getVideo, killallServers, reRunServer, flushAndRunServer, ServerInfo, uploadVideo } from '../../../../shared/extra-utils'
import { flushTests, setAccessTokensToServers } from '../../../../shared/extra-utils/index'
import {
cleanupTests,
flushAndRunServer,
getVideo,
killallServers,
reRunServer,
ServerInfo,
uploadVideo
} from '../../../../shared/extra-utils'
import { setAccessTokensToServers } from '../../../../shared/extra-utils/index'
import { VideoDetails } from '../../../../shared/models/videos'
import * as WebTorrent from 'webtorrent'
@ -82,7 +90,7 @@ describe('Test tracker', function () {
})
})
after(function () {
killallServers([ server ])
after(async function () {
await cleanupTests([ server ])
})
})

View file

@ -4,6 +4,7 @@ import * as chai from 'chai'
import 'mocha'
import { AccountBlock, ServerBlock, Video } from '../../../../shared/index'
import {
cleanupTests,
createUser,
doubleFollow,
flushAndRunMultipleServers,
@ -498,7 +499,7 @@ describe('Test blocklist', function () {
})
})
after(function () {
killallServers(servers)
after(async function () {
await cleanupTests(servers)
})
})

View file

@ -3,6 +3,7 @@
import * as chai from 'chai'
import 'mocha'
import {
cleanupTests,
createUser,
doubleFollow,
flushAndRunMultipleServers,
@ -368,7 +369,7 @@ describe('Test users subscriptions', function () {
}
})
after(function () {
killallServers(servers)
after(async function () {
await cleanupTests(servers)
})
})

View file

@ -5,7 +5,7 @@ import 'mocha'
import { Account } from '../../../../shared/models/actors'
import {
checkTmpIsEmpty,
checkVideoFilesWereRemoved,
checkVideoFilesWereRemoved, cleanupTests,
createUser,
doubleFollow,
flushAndRunMultipleServers,
@ -235,7 +235,7 @@ describe('Test users with multiple servers', function () {
}
})
after(function () {
killallServers(servers)
after(async function () {
await cleanupTests(servers)
})
})

View file

@ -4,7 +4,7 @@ import * as chai from 'chai'
import 'mocha'
import {
registerUser, flushTests, getUserInformation, getMyUserInformation, killallServers,
userLogin, login, flushAndRunServer, ServerInfo, verifyEmail, updateCustomSubConfig, wait
userLogin, login, flushAndRunServer, ServerInfo, verifyEmail, updateCustomSubConfig, wait, cleanupTests
} from '../../../../shared/extra-utils'
import { setAccessTokensToServers } from '../../../../shared/extra-utils/users/login'
import { MockSmtpServer } from '../../../../shared/extra-utils/miscs/email'
@ -120,8 +120,9 @@ describe('Test users account verification', function () {
await userLogin(server, user2)
})
after(function () {
after(async function () {
MockSmtpServer.Instance.kill()
killallServers([ server ])
await cleanupTests([ server ])
})
})

View file

@ -5,9 +5,10 @@ import 'mocha'
import { User, UserRole } from '../../../../shared/index'
import {
blockUser,
cleanupTests,
createUser,
deleteMe,
flushTests,
flushAndRunServer,
getAccountRatings,
getBlacklistedVideosList,
getMyUserInformation,
@ -17,14 +18,12 @@ import {
getUsersList,
getUsersListPaginationAndSort,
getVideosList,
killallServers,
login,
makePutBodyRequest,
rateVideo,
registerUser,
removeUser,
removeVideo,
flushAndRunServer,
ServerInfo,
testImage,
unblockUser,
@ -677,7 +676,7 @@ describe('Test users', function () {
})
})
after(function () {
killallServers([ server ])
after(async function () {
await cleanupTests([ server ])
})
})

View file

@ -9,7 +9,7 @@ import { VideoComment, VideoCommentThreadTree } from '../../../../shared/models/
import {
addVideoChannel,
checkTmpIsEmpty,
checkVideoFilesWereRemoved,
checkVideoFilesWereRemoved, cleanupTests,
completeVideoCheck,
createUser,
dateIsValid,
@ -1029,7 +1029,7 @@ describe('Test multiple servers', function () {
})
})
after(function () {
killallServers(servers)
after(async function () {
await cleanupTests(servers)
})
})

View file

@ -2,16 +2,8 @@
import * as chai from 'chai'
import 'mocha'
import {
flushTests,
getOEmbed,
getVideosList,
killallServers,
ServerInfo,
setAccessTokensToServers,
uploadVideo
} from '../../../../shared/extra-utils/index'
import { flushAndRunServer } from '../../../../shared/extra-utils/server/servers'
import { getOEmbed, getVideosList, ServerInfo, setAccessTokensToServers, uploadVideo } from '../../../../shared/extra-utils/index'
import { cleanupTests, flushAndRunServer } from '../../../../shared/extra-utils/server/servers'
const expect = chai.expect
@ -74,7 +66,7 @@ describe('Test services', function () {
expect(res.body).to.not.have.property('thumbnail_height')
})
after(function () {
killallServers([ server ])
after(async function () {
await cleanupTests([ server ])
})
})

View file

@ -6,8 +6,9 @@ import 'mocha'
import { VideoPrivacy } from '../../../../shared/models/videos'
import {
checkVideoFilesWereRemoved,
cleanupTests,
completeVideoCheck,
flushTests,
flushAndRunServer,
getVideo,
getVideoCategories,
getVideoLanguages,
@ -17,10 +18,8 @@ import {
getVideosListPagination,
getVideosListSort,
getVideosWithFilters,
killallServers,
rateVideo,
removeVideo,
flushAndRunServer,
ServerInfo,
setAccessTokensToServers,
testImage,
@ -424,7 +423,7 @@ describe('Test a single server', function () {
expect(video.dislikes).to.equal(1)
})
after(function () {
killallServers([ server ])
after(async function () {
await cleanupTests([ server ])
})
})

View file

@ -4,6 +4,7 @@ import * as chai from 'chai'
import 'mocha'
import { VideoAbuse, VideoAbuseState } from '../../../../shared/models/videos'
import {
cleanupTests,
deleteVideoAbuse,
flushAndRunMultipleServers,
getVideoAbusesList,
@ -172,7 +173,7 @@ describe('Test video abuses', function () {
expect(res.body.data.length).to.equal(0)
})
after(function () {
killallServers(servers)
after(async function () {
await cleanupTests(servers)
})
})

View file

@ -4,7 +4,7 @@ import * as chai from 'chai'
import { orderBy } from 'lodash'
import 'mocha'
import {
addVideoToBlacklist,
addVideoToBlacklist, cleanupTests,
createUser,
flushAndRunMultipleServers,
getBlacklistedVideosList,
@ -425,7 +425,7 @@ describe('Test video blacklist', function () {
})
})
after(function () {
killallServers(servers)
after(async function () {
await cleanupTests(servers)
})
})

View file

@ -3,7 +3,7 @@
import * as chai from 'chai'
import 'mocha'
import {
checkVideoFilesWereRemoved,
checkVideoFilesWereRemoved, cleanupTests,
doubleFollow,
flushAndRunMultipleServers,
removeVideo,
@ -195,7 +195,7 @@ describe('Test video captions', function () {
await checkVideoFilesWereRemoved(videoUUID, 1)
})
after(function () {
killallServers(servers)
after(async function () {
await cleanupTests(servers)
})
})

View file

@ -4,7 +4,7 @@ import * as chai from 'chai'
import 'mocha'
import {
acceptChangeOwnership,
changeVideoOwnership,
changeVideoOwnership, cleanupTests,
createUser,
doubleFollow,
flushAndRunMultipleServers,
@ -297,7 +297,7 @@ describe('Test video change ownership - quota too small', function () {
await acceptChangeOwnership(server.url, secondUserAccessToken, lastRequestChangeOwnershipId, channelId, 403)
})
after(function () {
killallServers([server])
after(async function () {
await cleanupTests([ server ])
})
})

View file

@ -4,6 +4,7 @@ import * as chai from 'chai'
import 'mocha'
import { User, Video } from '../../../../shared/index'
import {
cleanupTests,
createUser,
doubleFollow,
flushAndRunMultipleServers,
@ -277,7 +278,7 @@ describe('Test video channels', function () {
}
})
after(function () {
killallServers(servers)
after(async function () {
await cleanupTests(servers)
})
})

View file

@ -3,11 +3,9 @@
import * as chai from 'chai'
import 'mocha'
import { VideoComment, VideoCommentThreadTree } from '../../../../shared/models/videos/video-comment.model'
import { testImage } from '../../../../shared/extra-utils'
import { cleanupTests, testImage } from '../../../../shared/extra-utils'
import {
dateIsValid,
flushTests,
killallServers,
flushAndRunServer,
ServerInfo,
setAccessTokensToServers,
@ -199,7 +197,7 @@ describe('Test video comments', function () {
expect(res.body.data[1].totalReplies).to.equal(0)
})
after(function () {
killallServers([ server ])
after(async function () {
await cleanupTests([ server ])
})
})

View file

@ -3,6 +3,7 @@
import * as chai from 'chai'
import 'mocha'
import {
cleanupTests,
flushAndRunMultipleServers,
getVideo,
getVideoDescription,
@ -99,7 +100,7 @@ describe('Test video description', function () {
}
})
after(function () {
killallServers(servers)
after(async function () {
await cleanupTests(servers)
})
})

View file

@ -5,7 +5,7 @@ import 'mocha'
import {
checkDirectoryIsEmpty,
checkSegmentHash,
checkTmpIsEmpty,
checkTmpIsEmpty, cleanupTests,
doubleFollow,
flushAndRunMultipleServers,
flushTests,
@ -128,7 +128,7 @@ describe('Test HLS videos', function () {
}
})
after(function () {
killallServers(servers)
after(async function () {
await cleanupTests(servers)
})
})

View file

@ -4,6 +4,7 @@ import * as chai from 'chai'
import 'mocha'
import { VideoDetails, VideoImport, VideoPrivacy } from '../../../../shared/models/videos'
import {
cleanupTests,
doubleFollow,
flushAndRunMultipleServers,
getMyUserInformation,
@ -241,7 +242,7 @@ describe('Test video imports', function () {
}
})
after(function () {
killallServers(servers)
after(async function () {
await cleanupTests(servers)
})
})

View file

@ -2,25 +2,18 @@
import * as chai from 'chai'
import 'mocha'
import {
flushTests,
getVideosList,
killallServers,
ServerInfo,
setAccessTokensToServers,
uploadVideo
} from '../../../../shared/extra-utils/index'
import { cleanupTests, getVideosList, ServerInfo, setAccessTokensToServers, uploadVideo } from '../../../../shared/extra-utils/index'
import { userLogin } from '../../../../shared/extra-utils/users/login'
import { createUser } from '../../../../shared/extra-utils/users/users'
import { getMyVideos } from '../../../../shared/extra-utils/videos/videos'
import {
flushAndRunServer,
getAccountVideos,
getConfig,
getCustomConfig,
getMyUserInformation,
getVideoChannelVideos,
getVideosListWithToken,
flushAndRunServer,
searchVideo,
searchVideoWithToken,
updateCustomConfig,
@ -241,7 +234,7 @@ describe('Test video NSFW policy', function () {
})
})
after(function () {
killallServers([ server ])
after(async function () {
await cleanupTests([ server ])
})
})

View file

@ -5,7 +5,7 @@ import 'mocha'
import {
addVideoChannel,
addVideoInPlaylist,
checkPlaylistFilesWereRemoved,
checkPlaylistFilesWereRemoved, cleanupTests,
createUser,
createVideoPlaylist,
deleteVideoChannel,
@ -860,7 +860,7 @@ describe('Test video playlists', function () {
}
})
after(function () {
killallServers(servers)
after(async function () {
await cleanupTests(servers)
})
})

View file

@ -4,6 +4,7 @@ import * as chai from 'chai'
import 'mocha'
import { VideoPrivacy } from '../../../../shared/models/videos/video-privacy.enum'
import {
cleanupTests,
flushAndRunMultipleServers,
getVideosList,
killallServers,
@ -152,7 +153,7 @@ describe('Test video privacy', function () {
}
})
after(function () {
killallServers(servers)
after(async function () {
await cleanupTests(servers)
})
})

View file

@ -4,6 +4,7 @@ import * as chai from 'chai'
import 'mocha'
import { VideoPrivacy } from '../../../../shared/models/videos'
import {
cleanupTests,
doubleFollow,
flushAndRunMultipleServers,
getMyVideos,
@ -165,7 +166,7 @@ describe('Test video update scheduler', function () {
}
})
after(function () {
killallServers(servers)
after(async function () {
await cleanupTests(servers)
})
})

View file

@ -6,7 +6,7 @@ import { omit } from 'lodash'
import { getMaxBitrate, VideoDetails, VideoResolution, VideoState } from '../../../../shared/models/videos'
import { audio, getVideoFileBitrate, getVideoFileFPS, getVideoFileResolution } from '../../../helpers/ffmpeg-utils'
import {
buildAbsoluteFixturePath,
buildAbsoluteFixturePath, cleanupTests,
doubleFollow,
flushAndRunMultipleServers,
generateHighBitrateVideo,
@ -349,7 +349,7 @@ describe('Test video transcoding', function () {
}
})
after(function () {
killallServers(servers)
after(async function () {
await cleanupTests(servers)
})
})

View file

@ -3,6 +3,7 @@
import * as chai from 'chai'
import 'mocha'
import {
cleanupTests,
createUser,
doubleFollow,
flushAndRunMultipleServers,
@ -119,7 +120,7 @@ describe('Test videos filter validator', function () {
})
})
after(function () {
killallServers(servers)
after(async function () {
await cleanupTests(servers)
})
})

View file

@ -3,12 +3,13 @@
import * as chai from 'chai'
import 'mocha'
import {
cleanupTests,
createUser,
flushTests,
flushAndRunServer,
getVideosListWithToken,
getVideoWithToken,
killallServers, reRunServer,
flushAndRunServer,
killallServers,
reRunServer,
searchVideoWithToken,
ServerInfo,
setAccessTokensToServers,
@ -220,7 +221,7 @@ describe('Test videos history', function () {
expect(res.body.total).to.equal(0)
})
after(function () {
killallServers([ server ])
after(async function () {
await cleanupTests([ server ])
})
})

View file

@ -2,7 +2,7 @@
import * as chai from 'chai'
import 'mocha'
import { flushAndRunServer, killallServers, ServerInfo, setAccessTokensToServers, uploadVideo } from '../../../../shared/extra-utils'
import { cleanupTests, flushAndRunServer, ServerInfo, setAccessTokensToServers, uploadVideo } from '../../../../shared/extra-utils'
import { getVideosOverview } from '../../../../shared/extra-utils/overviews/overviews'
import { VideosOverview } from '../../../../shared/models/overviews'
@ -87,7 +87,7 @@ describe('Test a videos overview', function () {
expect(overview.channels[0].channel.name).to.equal('root_channel')
})
after(function () {
killallServers([ server ])
after(async function () {
await cleanupTests([ server ])
})
})

View file

@ -10,7 +10,7 @@ import {
flushAndRunServer,
ServerInfo,
setAccessTokensToServers,
uploadVideo, uploadVideoAndGetId, viewVideo, wait, countVideoViewsOf, doubleFollow, waitJobs
uploadVideo, uploadVideoAndGetId, viewVideo, wait, countVideoViewsOf, doubleFollow, waitJobs, cleanupTests
} from '../../../../shared/extra-utils'
import { getVideosOverview } from '../../../../shared/extra-utils/overviews/overviews'
import { VideosOverview } from '../../../../shared/models/overviews'
@ -100,7 +100,7 @@ describe('Test video views cleaner', function () {
}
})
after(function () {
killallServers(servers)
after(async function () {
await cleanupTests(servers)
})
})

View file

@ -4,6 +4,7 @@ import 'mocha'
import * as chai from 'chai'
import { VideoDetails, VideoFile } from '../../../shared/models/videos'
import {
cleanupTests,
doubleFollow,
execCLI,
flushAndRunMultipleServers,
@ -130,7 +131,7 @@ describe('Test create import video jobs', function () {
}
})
after(function () {
killallServers(servers)
after(async function () {
await cleanupTests(servers)
})
})

View file

@ -4,6 +4,7 @@ import 'mocha'
import * as chai from 'chai'
import { VideoDetails } from '../../../shared/models/videos'
import {
cleanupTests,
doubleFollow,
execCLI,
flushAndRunMultipleServers,
@ -124,7 +125,7 @@ describe('Test create transcoding jobs', function () {
}
})
after(function () {
killallServers(servers)
after(async function () {
await cleanupTests(servers)
})
})

View file

@ -4,6 +4,7 @@ import 'mocha'
import * as chai from 'chai'
import { getMaxBitrate, Video, VideoDetails, VideoResolution } from '../../../shared/models/videos'
import {
cleanupTests,
doubleFollow,
execCLI,
flushAndRunMultipleServers,
@ -112,7 +113,7 @@ describe('Test optimize old videos', function () {
}
})
after(function () {
killallServers(servers)
after(async function () {
await cleanupTests(servers)
})
})

View file

@ -10,7 +10,7 @@ import {
killallServers,
flushAndRunServer,
ServerInfo,
setAccessTokensToServers
setAccessTokensToServers, cleanupTests
} from '../../../shared/extra-utils'
describe('Test CLI wrapper', function () {
@ -46,6 +46,6 @@ describe('Test CLI wrapper', function () {
await execCLI(cmd + ` auth del ${server.url}`)
killallServers([ server ])
await cleanupTests([ server ])
})
})

View file

@ -1,13 +1,12 @@
import 'mocha'
import {
cleanupTests,
createUser,
execCLI,
flushTests,
getEnvCli,
killallServers,
login,
flushAndRunServer,
getEnvCli,
login,
ServerInfo,
setAccessTokensToServers
} from '../../../shared/extra-utils'
@ -32,7 +31,7 @@ describe('Test reset password scripts', function () {
await login(server.url, server.client, { username: 'user_1', password: 'coucou' }, 200)
})
after(function () {
killallServers([ server ])
after(async function () {
await cleanupTests([ server ])
})
})

View file

@ -7,17 +7,17 @@ import { waitJobs } from '../../../shared/extra-utils/server/jobs'
import { addVideoCommentThread } from '../../../shared/extra-utils/videos/video-comments'
import {
addVideoChannel,
cleanupTests,
createUser,
execCLI,
flushTests,
flushAndRunServer,
getEnvCli,
getVideo,
getVideoChannelsList,
getVideosList,
killallServers,
makeActivityPubGetRequest,
parseTorrentVideo,
flushAndRunServer,
parseTorrentVideo, reRunServer,
ServerInfo,
setAccessTokensToServers,
uploadVideo
@ -70,7 +70,7 @@ describe('Test update host scripts', function () {
killallServers([ server ])
// Run server with standard configuration
server = await flushAndRunServer(2)
await reRunServer(server)
const env = getEnvCli(server)
await execCLI(`${env} npm run update-host`)
@ -146,7 +146,7 @@ describe('Test update host scripts', function () {
}
})
after(function () {
killallServers([ server ])
after(async function () {
await cleanupTests([ server ])
})
})

View file

@ -4,12 +4,11 @@ import 'mocha'
import * as chai from 'chai'
import * as request from 'supertest'
import {
flushTests,
cleanupTests,
flushAndRunServer,
getCustomConfig,
getVideosList,
killallServers,
makeHTMLRequest,
flushAndRunServer,
ServerInfo,
serverLogin,
updateCustomConfig,
@ -145,7 +144,7 @@ describe('Test a client controllers', function () {
checkIndexTags(res.text, 'PeerTube updated', 'my short description', 'body { background-color: red; }')
})
after(function () {
killallServers([ server ])
after(async function () {
await cleanupTests([ server ])
})
})

View file

@ -3,6 +3,7 @@
import * as chai from 'chai'
import 'mocha'
import {
cleanupTests,
createUser,
doubleFollow,
flushAndRunMultipleServers,
@ -207,7 +208,7 @@ describe('Test syndication feeds', () => {
})
})
after(function () {
killallServers(servers)
after(async function () {
await cleanupTests(servers)
})
})

View file

@ -4,11 +4,10 @@ import 'mocha'
import * as chai from 'chai'
import {
addVideoChannel,
cleanupTests,
createUser,
flushTests,
killallServers,
makeGetRequest,
flushAndRunServer,
makeGetRequest,
ServerInfo,
setAccessTokensToServers,
uploadVideo
@ -171,7 +170,7 @@ describe('Test misc endpoints', function () {
})
})
after(function () {
killallServers([ server ])
after(async function () {
await cleanupTests([ server ])
})
})

View file

@ -0,0 +1,7 @@
function randomInt (low: number, high: number) {
return Math.floor(Math.random() * (high - low) + low)
}
export {
randomInt
}

View file

@ -6,7 +6,7 @@ process.on('message', (msg) => {
if (msg.start) {
const maildev = new MailDev({
ip: '127.0.0.1',
smtp: 1025,
smtp: msg.port,
disableWeb: true,
silent: true
})

View file

@ -1,4 +1,6 @@
import { fork, ChildProcess } from 'child_process'
import { ChildProcess, fork } from 'child_process'
import { randomInt } from '../../core-utils/miscs/miscs'
import { parallelTests } from '../server/servers'
class MockSmtpServer {
@ -20,7 +22,9 @@ class MockSmtpServer {
}
collectEmails (emailsCollection: object[]) {
return new Promise((res, rej) => {
return new Promise<number>((res, rej) => {
const port = parallelTests() ? randomInt(1000, 2000) : 1025
if (this.started) {
this.emails = emailsCollection
return res()
@ -28,7 +32,7 @@ class MockSmtpServer {
// ensure maildev isn't started until
// unexpected exit can be reported to test runner
this.emailChildProcess.send({ start: true })
this.emailChildProcess.send({ start: true, port })
this.emailChildProcess.on('exit', () => {
return rej(new Error('maildev exited unexpectedly, confirm port not in use'))
})
@ -38,7 +42,7 @@ class MockSmtpServer {
}
this.started = true
this.emails = emailsCollection
return res()
return res(port)
})
})
}

View file

@ -3,10 +3,11 @@
import { ChildProcess, exec, fork } from 'child_process'
import { join } from 'path'
import { root, wait } from '../miscs/miscs'
import { readdir, readFile } from 'fs-extra'
import { copy, readdir, readFile, remove } from 'fs-extra'
import { existsSync } from 'fs'
import { expect } from 'chai'
import { VideoChannel } from '../../models/videos'
import { randomInt } from '../../core-utils/miscs/miscs'
interface ServerInfo {
app: ChildProcess,
@ -29,6 +30,8 @@ interface ServerInfo {
email?: string
}
customConfigFile?: string
accessToken?: string
videoChannel?: VideoChannel
@ -49,6 +52,10 @@ interface ServerInfo {
videos?: { id: number, uuid: string }[]
}
function parallelTests () {
return process.env.MOCHA_PARALLEL === 'true'
}
function flushAndRunMultipleServers (totalServers: number, configOverride?: Object) {
let apps = []
let i = 0
@ -84,23 +91,23 @@ function randomServer () {
const low = 10
const high = 10000
return Math.floor(Math.random() * (high - low) + low)
return randomInt(low, high)
}
async function flushAndRunServer (serverNumber: number, configOverride?: Object, args = []) {
const parallel = process.env.MOCHA_PARALLEL === 'true'
const parallel = parallelTests()
const internalServerNumber = parallel ? randomServer() : serverNumber
const port = 9000 + internalServerNumber
await flushTests(serverNumber)
await flushTests(internalServerNumber)
const server: ServerInfo = {
app: null,
port,
internalServerNumber,
parallel,
serverNumber: internalServerNumber,
serverNumber,
url: `http://localhost:${port}`,
host: `localhost:${port}`,
client: {
@ -116,7 +123,7 @@ async function flushAndRunServer (serverNumber: number, configOverride?: Object,
return runServer(server, configOverride, args)
}
function runServer (server: ServerInfo, configOverrideArg?: any, args = []) {
async function runServer (server: ServerInfo, configOverrideArg?: any, args = []) {
// These actions are async so we need to be sure that they have both been done
const serverRunString = {
'Server listening': false
@ -131,15 +138,19 @@ function runServer (server: ServerInfo, configOverrideArg?: any, args = []) {
user_password: 'User password: (.+)'
}
// Share the environment
const env = Object.create(process.env)
env['NODE_ENV'] = 'test'
env['NODE_APP_INSTANCE'] = server.serverNumber.toString()
if (server.internalServerNumber !== server.serverNumber) {
const basePath = join(root(), 'config')
let configOverride: any = {}
const tmpConfigFile = join(basePath, `test-${server.internalServerNumber}.yaml`)
await copy(join(basePath, `test-${server.serverNumber}.yaml`), tmpConfigFile)
server.customConfigFile = tmpConfigFile
}
const configOverride: any = {}
if (server.parallel) {
configOverride = {
Object.assign(configOverride, {
listen: {
port: server.port
},
@ -165,18 +176,22 @@ function runServer (server: ServerInfo, configOverrideArg?: any, args = []) {
admin: {
email: `admin${server.internalServerNumber}@example.com`
}
}
})
}
if (configOverrideArg !== undefined) {
Object.assign(configOverride, configOverrideArg)
}
// Share the environment
const env = Object.create(process.env)
env['NODE_ENV'] = 'test'
env['NODE_APP_INSTANCE'] = server.internalServerNumber.toString()
env['NODE_CONFIG'] = JSON.stringify(configOverride)
const options = {
silent: true,
env: env,
env,
detached: true
}
@ -244,7 +259,10 @@ async function checkDirectoryIsEmpty (server: ServerInfo, directory: string) {
function killallServers (servers: ServerInfo[]) {
for (const server of servers) {
if (!server.app) continue
process.kill(-server.app.pid)
server.app = null
}
}
@ -256,6 +274,10 @@ function cleanupTests (servers: ServerInfo[]) {
if (server.parallel) {
p.push(flushTests(server.internalServerNumber))
}
if (server.customConfigFile) {
p.push(remove(server.customConfigFile))
}
}
return Promise.all(p)
@ -280,6 +302,7 @@ export {
checkDirectoryIsEmpty,
checkTmpIsEmpty,
ServerInfo,
parallelTests,
cleanupTests,
flushAndRunMultipleServers,
flushTests,