return value
}
-function toArray (value: any) {
- if (value && isArray(value) === false) return [ value ]
-
- return value
-}
-
function toIntArray (value: any) {
if (!value) return []
if (isArray(value) === false) return [ validator.toInt(value) ]
isBooleanValid,
toIntOrNull,
areUUIDsValid,
- toArray,
toIntArray,
isFileValid,
checkMimetypeRegex
import express from 'express'
import { body, param, query } from 'express-validator'
import { areValidActorHandles } from '@server/helpers/custom-validators/activitypub/actor'
-import { toArray } from '@server/helpers/custom-validators/misc'
import { getServerActor } from '@server/models/application/application'
+import { arrayify } from '@shared/core-utils'
import { HttpStatusCode } from '../../../shared/models/http/http-error-codes'
import { isEachUniqueHostValid, isHostValid } from '../../helpers/custom-validators/servers'
import { WEBSERVER } from '../../initializers/constants'
const blocklistStatusValidator = [
query('hosts')
.optional()
- .customSanitizer(toArray)
+ .customSanitizer(arrayify)
.custom(isEachUniqueHostValid).withMessage('Should have a valid hosts array'),
query('accounts')
.optional()
- .customSanitizer(toArray)
+ .customSanitizer(arrayify)
.custom(areValidActorHandles).withMessage('Should have a valid accounts array'),
(req: express.Request, res: express.Response, next: express.NextFunction) => {
import { isUrlValid } from '@server/helpers/custom-validators/activitypub/misc'
import { isStringArray } from '@server/helpers/custom-validators/search'
import { CONFIG } from '@server/initializers/config'
+import { arrayify } from '@shared/core-utils'
import { HttpStatusCode } from '@shared/models'
import {
isValidClientLogLevel,
isValidClientLogUserAgent,
isValidLogLevel
} from '../../helpers/custom-validators/logs'
-import { isDateValid, toArray } from '../../helpers/custom-validators/misc'
+import { isDateValid } from '../../helpers/custom-validators/misc'
import { areValidationErrors } from './shared'
const createClientLogValidator = [
.custom(isValidLogLevel),
query('tagsOneOf')
.optional()
- .customSanitizer(toArray)
+ .customSanitizer(arrayify)
.custom(isStringArray).withMessage('Should have a valid one of tags array'),
query('endDate')
.optional()
+import { arrayify } from '@shared/core-utils'
import express from 'express'
import { body, param, query } from 'express-validator'
import { HttpStatusCode } from '../../../shared/models/http/http-error-codes'
import { areValidActorHandles, isValidActorHandle } from '../../helpers/custom-validators/activitypub/actor'
-import { toArray } from '../../helpers/custom-validators/misc'
import { WEBSERVER } from '../../initializers/constants'
import { ActorFollowModel } from '../../models/actor/actor-follow'
import { areValidationErrors } from './shared'
const areSubscriptionsExistValidator = [
query('uris')
- .customSanitizer(toArray)
+ .customSanitizer(arrayify)
.custom(areValidActorHandles).withMessage('Should have a valid array of URIs'),
(req: express.Request, res: express.Response, next: express.NextFunction) => {
import { getServerActor } from '@server/models/application/application'
import { ExpressPromiseHandler } from '@server/types/express-handler'
import { MUserAccountId, MVideoFullLight } from '@server/types/models'
-import { getAllPrivacies } from '@shared/core-utils'
+import { arrayify, getAllPrivacies } from '@shared/core-utils'
import { HttpStatusCode, ServerErrorCode, UserRight, VideoInclude } from '@shared/models'
import {
exists,
isDateValid,
isFileValid,
isIdValid,
- toArray,
toBooleanOrNull,
toIntOrNull,
toValueOrNull
const commonVideosFiltersValidator = [
query('categoryOneOf')
.optional()
- .customSanitizer(toArray)
+ .customSanitizer(arrayify)
.custom(isNumberArray).withMessage('Should have a valid categoryOneOf array'),
query('licenceOneOf')
.optional()
- .customSanitizer(toArray)
+ .customSanitizer(arrayify)
.custom(isNumberArray).withMessage('Should have a valid licenceOneOf array'),
query('languageOneOf')
.optional()
- .customSanitizer(toArray)
+ .customSanitizer(arrayify)
.custom(isStringArray).withMessage('Should have a valid languageOneOf array'),
query('privacyOneOf')
.optional()
- .customSanitizer(toArray)
+ .customSanitizer(arrayify)
.custom(isNumberArray).withMessage('Should have a valid privacyOneOf array'),
query('tagsOneOf')
.optional()
- .customSanitizer(toArray)
+ .customSanitizer(arrayify)
.custom(isStringArray).withMessage('Should have a valid tagsOneOf array'),
query('tagsAllOf')
.optional()
- .customSanitizer(toArray)
+ .customSanitizer(arrayify)
.custom(isStringArray).withMessage('Should have a valid tagsAllOf array'),
query('nsfw')
.optional()
/* 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 {
cleanupTests,
waitJobs
} from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test AP cleaner', function () {
let servers: PeerTubeServer[] = []
let videoUUID1: string
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { processViewersStats } from '@server/tests/shared'
import { HttpStatusCode, VideoPlaylistPrivacy, WatchActionObject } from '@shared/models'
import {
setDefaultVideoChannel
} from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test activitypub', function () {
let servers: PeerTubeServer[] = []
let video: { id: number, uuid: string, shortUUID: string }
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import 'mocha'
-import * as chai from 'chai'
+import { expect } from 'chai'
import {
cleanupTests,
createMultipleServers,
waitJobs
} from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test ActivityPub fetcher', function () {
let servers: PeerTubeServer[]
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import 'mocha'
import { wait } from '@shared/core-utils'
import { HttpStatusCode, VideoPlaylistPrivacy } from '@shared/models'
import {
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { buildDigest } from '@server/helpers/peertube-crypto'
import { HTTP_SIGNATURE } from '@server/initializers/constants'
import { activityPubContextify } from '@server/lib/activitypub/context'
import { HttpStatusCode } from '@shared/models'
import { cleanupTests, createMultipleServers, killallServers, PeerTubeServer } from '@shared/server-commands'
-const expect = chai.expect
-
function setKeysOfServer (onServer: PeerTubeServer, ofServer: PeerTubeServer, publicKey: string, privateKey: string) {
const url = 'http://localhost:' + ofServer.port + '/accounts/peertube'
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import 'mocha'
import { checkBadCountPagination, checkBadSortPagination, checkBadStartPagination } from '@server/tests/shared'
import { AbuseCreate, AbuseState, HttpStatusCode } from '@shared/models'
import {
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import 'mocha'
import { checkBadCountPagination, checkBadSortPagination, checkBadStartPagination } from '@server/tests/shared'
import { HttpStatusCode } from '@shared/models'
import {
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import 'mocha'
import { FIXTURE_URLS } from '@server/tests/shared'
import { areHttpImportTestsDisabled } from '@shared/core-utils'
import { HttpStatusCode } from '@shared/models'
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import 'mocha'
import { expect } from 'chai'
import { HttpStatusCode } from '@shared/models'
import { cleanupTests, createSingleServer, makeGetRequest, PeerTubeServer, setAccessTokensToServers } from '@shared/server-commands'
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import 'mocha'
import { checkBadCountPagination, checkBadSortPagination, checkBadStartPagination } from '@server/tests/shared'
import { HttpStatusCode, PeerTubePlugin, PluginType } from '@shared/models'
import {
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import 'mocha'
import { expect } from 'chai'
import { checkBadCountPagination, checkBadSortPagination, checkBadStartPagination } from '@server/tests/shared'
import { HttpStatusCode, VideoBlacklistType } from '@shared/models'
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { checkBadCountPagination, checkBadSortPagination, checkBadStartPagination } from '@server/tests/shared'
import { HttpStatusCode, VideoCreateResult, VideoPrivacy } from '@shared/models'
import {
setAccessTokensToServers
} from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test video comments API validator', function () {
let pathThread: string
let pathComment: string
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { wait } from '@shared/core-utils'
import { LiveVideoError, VideoPrivacy } from '@shared/models'
import {
} from '@shared/server-commands'
import { checkLiveCleanup } from '../../shared'
-const expect = chai.expect
-
describe('Test live constraints', function () {
let servers: PeerTubeServer[] = []
let userId: number
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { wait } from '@shared/core-utils'
import { HttpStatusCode, LiveVideoCreate, VideoPrivacy } from '@shared/models'
import {
waitJobs
} from '@shared/server-commands'
-const expect = chai.expect
-
describe('Fast restream in live', function () {
let server: PeerTubeServer
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { wait } from '@shared/core-utils'
import { LiveVideoCreate, VideoPrivacy, VideoState } from '@shared/models'
import {
waitJobs
} from '@shared/server-commands'
-const expect = chai.expect
-
describe('Permanent live', function () {
let servers: PeerTubeServer[] = []
let videoUUID: string
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { buildAbsoluteFixturePath } from '@shared/core-utils'
import { VideoPrivacy } from '@shared/models'
import {
waitUntilLivePublishedOnAllServers
} from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test live RTMPS', function () {
let server: PeerTubeServer
let rtmpUrl: string
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { FfmpegCommand } from 'fluent-ffmpeg'
import { checkLiveCleanup } from '@server/tests/shared'
import { wait } from '@shared/core-utils'
waitUntilLiveWaitingOnAllServers
} from '@shared/server-commands'
-const expect = chai.expect
-
describe('Save replay setting', function () {
let servers: PeerTubeServer[] = []
let liveVideoUUID: string
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { wait } from '@shared/core-utils'
import { VideoPrivacy, VideoState } from '@shared/models'
import {
waitUntilLivePublishedOnAllServers
} from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test live socket messages', function () {
let servers: PeerTubeServer[] = []
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { basename, join } from 'path'
import { ffprobePromise, getVideoStream } from '@server/helpers/ffmpeg'
import { checkLiveSegmentHash, checkResolutionsInMasterPlaylist, getAllFiles, testImage } from '@server/tests/shared'
waitUntilLivePublishedOnAllServers
} from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test live', function () {
let servers: PeerTubeServer[] = []
let commands: LiveCommand[]
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { AbuseMessage, AbusePredefinedReasonsString, AbuseState, AdminAbuse, UserAbuse } from '@shared/models'
import {
AbusesCommand,
waitJobs
} from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test abuses', function () {
let servers: PeerTubeServer[] = []
let abuseServer1: AdminAbuse
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { UserNotificationType } from '@shared/models'
import {
cleanupTests,
waitJobs
} from '@shared/server-commands'
-const expect = chai.expect
-
async function checkNotifications (server: PeerTubeServer, token: string, expected: UserNotificationType[]) {
const { data } = await server.notifications.list({ token, start: 0, count: 10, unread: true })
expect(data).to.have.lengthOf(expected.length)
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { UserNotificationType } from '@shared/models'
import {
BlocklistCommand,
waitJobs
} from '@shared/server-commands'
-const expect = chai.expect
-
async function checkAllVideos (server: PeerTubeServer, token: string) {
{
const { data } = await server.videos.listWithToken({ token })
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { FIXTURE_URLS } from '@server/tests/shared'
import { sortObjectComparator } from '@shared/core-utils'
import { UserAdminFlag, UserRole, VideoBlacklist, VideoBlacklistType } from '@shared/models'
waitJobs
} from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test video blacklist', function () {
let servers: PeerTubeServer[] = []
let videoId: number
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import {
checkCommentMention,
CheckerBaseParams,
import { UserNotification } from '@shared/models'
import { cleanupTests, PeerTubeServer, waitJobs } from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test comments notifications', function () {
let servers: PeerTubeServer[] = []
let userToken: string
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import {
CheckerBaseParams,
checkNewVideoFromSubscription,
import { UserNotification, UserNotificationSettingValue } from '@shared/models'
import { cleanupTests, PeerTubeServer, waitJobs } from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test notifications API', function () {
let server: PeerTubeServer
let userNotifications: UserNotification[] = []
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import {
CheckerBaseParams,
checkMyVideoImportIsFinished,
import { UserNotification, UserNotificationType, VideoPrivacy, VideoStudioTask } from '@shared/models'
import { cleanupTests, findExternalSavedVideo, PeerTubeServer, stopFfmpeg, waitJobs } from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test user notifications', function () {
let servers: PeerTubeServer[] = []
let userAccessToken: string
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { expectStartWith } from '@server/tests/shared'
import { areObjectStorageTestsDisabled } from '@shared/core-utils'
import { HttpStatusCode, LiveVideoCreate, VideoFile, VideoPrivacy } from '@shared/models'
waitUntilLiveWaitingOnAllServers
} from '@shared/server-commands'
-const expect = chai.expect
-
async function createLive (server: PeerTubeServer, permanent: boolean) {
const attributes: LiveVideoCreate = {
channelId: server.store.channel.id,
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { expectStartWith, FIXTURE_URLS } from '@server/tests/shared'
import { areObjectStorageTestsDisabled } from '@shared/core-utils'
import { HttpStatusCode, VideoPrivacy } from '@shared/models'
waitJobs
} from '@shared/server-commands'
-const expect = chai.expect
-
async function importVideo (server: PeerTubeServer) {
const attributes = {
name: 'import 2',
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
import bytes from 'bytes'
-import * as chai from 'chai'
+import { expect } from 'chai'
import { stat } from 'fs-extra'
import { merge } from 'lodash'
import {
webtorrentAdd
} from '@shared/server-commands'
-const expect = chai.expect
-
async function checkFiles (options: {
video: VideoDetails
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import {
cleanupTests,
createMultipleServers,
} from '@shared/server-commands'
import { VideoPrivacy, VideoRedundanciesTarget } from '@shared/models'
-const expect = chai.expect
-
describe('Test manage videos redundancy', function () {
const targets: VideoRedundanciesTarget[] = [ 'my-videos', 'remote-videos' ]
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { readdir } from 'fs-extra'
import magnetUtil from 'magnet-uri'
import { basename, join } from 'path'
waitJobs
} from '@shared/server-commands'
-const expect = chai.expect
-
let servers: PeerTubeServer[] = []
let video1Server2: VideoDetails
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { wait } from '@shared/core-utils'
import { VideoChannel } from '@shared/models'
import {
waitJobs
} from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test ActivityPub video channels search', function () {
let servers: PeerTubeServer[]
let userServer2Token: string
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { wait } from '@shared/core-utils'
import { VideoPlaylistPrivacy } from '@shared/models'
import {
waitJobs
} from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test ActivityPub playlists search', function () {
let servers: PeerTubeServer[]
let playlistServer1UUID: string
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { wait } from '@shared/core-utils'
import { VideoPrivacy } from '@shared/models'
import {
waitJobs
} from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test ActivityPub videos search', function () {
let servers: PeerTubeServer[]
let videoServer1UUID: string
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { VideoChannel } from '@shared/models'
import {
cleanupTests,
setDefaultChannelAvatar
} from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test channels search', function () {
let server: PeerTubeServer
let remoteServer: PeerTubeServer
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import {
BooleanBothQuery,
VideoChannelsSearchQuery,
} from '@shared/models'
import { cleanupTests, createSingleServer, PeerTubeServer, SearchCommand, setAccessTokensToServers } from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test index search', function () {
const localVideoName = 'local video' + new Date().toISOString()
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { VideoPlaylistPrivacy } from '@shared/models'
import {
cleanupTests,
setDefaultVideoChannel
} from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test playlists search', function () {
let server: PeerTubeServer
let remoteServer: PeerTubeServer
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { wait } from '@shared/core-utils'
import { VideoPrivacy } from '@shared/models'
import {
stopFfmpeg
} from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test videos search', function () {
let server: PeerTubeServer
let remoteServer: PeerTubeServer
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { MockInstancesIndex } from '@server/tests/shared'
import { wait } from '@shared/core-utils'
import { cleanupTests, createMultipleServers, PeerTubeServer, setAccessTokensToServers, waitJobs } from '@shared/server-commands'
-const expect = chai.expect
-
async function checkFollow (follower: PeerTubeServer, following: PeerTubeServer, exists: boolean) {
{
const body = await following.follows.getFollowers({ start: 0, count: 5, sort: '-createdAt' })
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import {
BulkCommand,
cleanupTests,
waitJobs
} from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test bulk actions', function () {
const commentsUser3: { videoId: number, commentId: number }[] = []
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { FIXTURE_URLS } from '@server/tests/shared'
import { VideoDetails, VideoPrivacy } from '@shared/models'
import { cleanupTests, createSingleServer, PeerTubeServer, setAccessTokensToServers, setDefaultVideoChannel } from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test config defaults', function () {
let server: PeerTubeServer
let channelId: number
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { parallelTests } from '@shared/core-utils'
import { CustomConfig, HttpStatusCode } from '@shared/models'
import {
setAccessTokensToServers
} from '@shared/server-commands'
-const expect = chai.expect
-
function checkInitialConfig (server: PeerTubeServer, data: CustomConfig) {
expect(data.instance.name).to.equal('PeerTube')
expect(data.instance.shortDescription).to.equal(
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { MockSmtpServer } from '@server/tests/shared'
import { wait } from '@shared/core-utils'
import { HttpStatusCode } from '@shared/models'
waitJobs
} from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test contact form', function () {
let server: PeerTubeServer
const emails: object[] = []
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { MockSmtpServer } from '@server/tests/shared'
import { HttpStatusCode } from '@shared/models'
import { cleanupTests, createSingleServer, PeerTubeServer, setAccessTokensToServers, waitJobs } from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test emails', function () {
let server: PeerTubeServer
let userId: number
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { cleanupTests, createMultipleServers, doubleFollow, PeerTubeServer, setAccessTokensToServers } from '@shared/server-commands'
import { HttpStatusCode, PeerTubeProblemDocument, ServerErrorCode } from '@shared/models'
-const expect = chai.expect
-
describe('Test follow constraints', function () {
let servers: PeerTubeServer[] = []
let video1UUID: string
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { expectStartWith } from '@server/tests/shared'
import { ActorFollow, FollowState } from '@shared/models'
import {
waitJobs
} from '@shared/server-commands'
-const expect = chai.expect
-
async function checkServer1And2HasFollowers (servers: PeerTubeServer[], state = 'accepted') {
const fns = [
servers[0].follows.getFollowings.bind(servers[0].follows),
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { completeVideoCheck, dateIsValid, expectAccountFollows, expectChannelsFollows, testCaptionFile } from '@server/tests/shared'
import { VideoCreateResult, VideoPrivacy } from '@shared/models'
import { cleanupTests, createMultipleServers, PeerTubeServer, setAccessTokensToServers, waitJobs } from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test follows', function () {
let servers: PeerTubeServer[] = []
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { completeVideoCheck } from '@server/tests/shared'
import { wait } from '@shared/core-utils'
import { HttpStatusCode, JobState, VideoCreateResult, VideoPrivacy } from '@shared/models'
waitJobs
} from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test handle downs', function () {
let servers: PeerTubeServer[] = []
let threadIdServer1: number
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { HttpStatusCode } from '@shared/models'
import {
cleanupTests,
setDefaultChannelAvatar
} from '../../../../shared/server-commands/index'
-const expect = chai.expect
-
async function getHomepageState (server: PeerTubeServer) {
const config = await server.config.getConfig()
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { dateIsValid } from '@server/tests/shared'
import { wait } from '@shared/core-utils'
import {
waitJobs
} from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test jobs', function () {
let servers: PeerTubeServer[]
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { HttpStatusCode } from '@shared/models'
import {
cleanupTests,
waitJobs
} from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test logs', function () {
let server: PeerTubeServer
let logsCommand: LogsCommand
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { pathExists, remove } from 'fs-extra'
import { join } from 'path'
import { testHelloWorldRegisteredSettings } from '@server/tests/shared'
setAccessTokensToServers
} from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test plugins', function () {
let server: PeerTubeServer = null
let command: PluginsCommand
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { expectNotStartWith, expectStartWith, FIXTURE_URLS, MockProxy } from '@server/tests/shared'
import { areObjectStorageTestsDisabled } from '@shared/core-utils'
import { HttpStatusCode, VideoPrivacy } from '@shared/models'
waitJobs
} from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test proxy', function () {
let servers: PeerTubeServer[] = []
let proxy: MockProxy
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { cleanupTests, createSingleServer, PeerTubeServer, setAccessTokensToServers, setDefaultVideoChannel } from '@shared/server-commands'
import { Video, VideoPlaylistPrivacy } from '@shared/models'
-const expect = chai.expect
-
describe('Test services', function () {
let server: PeerTubeServer = null
let playlistUUID: string
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { Job } from '@shared/models'
import {
cleanupTests,
waitJobs
} from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test slow follows', function () {
let servers: PeerTubeServer[] = []
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { wait } from '@shared/core-utils'
import { ActivityType, VideoPlaylistPrivacy } from '@shared/models'
import {
waitJobs
} from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test stats (excluding redundancy)', function () {
let servers: PeerTubeServer[] = []
let channelId
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { getAudioStream, getVideoStreamDimensionsInfo } from '@server/helpers/ffmpeg'
import {
cleanupTests,
waitJobs
} from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test audio only video transcoding', function () {
let servers: PeerTubeServer[] = []
let videoUUID: string
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { checkResolutionsInMasterPlaylist, expectStartWith } from '@server/tests/shared'
import { areObjectStorageTestsDisabled } from '@shared/core-utils'
import { HttpStatusCode, VideoDetails } from '@shared/models'
waitJobs
} from '@shared/server-commands'
-const expect = chai.expect
-
async function checkFilesInObjectStorage (video: VideoDetails) {
for (const file of video.files) {
expectStartWith(file.fileUrl, ObjectStorageCommand.getWebTorrentBaseUrl())
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { basename, join } from 'path'
import {
checkDirectoryIsEmpty,
} from '@shared/server-commands'
import { DEFAULT_AUDIO_RESOLUTION } from '../../../initializers/constants'
-const expect = chai.expect
-
async function checkHlsPlaylist (options: {
servers: PeerTubeServer[]
videoUUID: string
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { VideoPrivacy } from '@shared/models'
import {
cleanupTests,
waitJobs
} from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test users subscriptions', function () {
let servers: PeerTubeServer[] = []
const users: { accessToken: string }[] = []
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { HttpStatusCode } from '@shared/models'
import {
cleanupTests,
waitJobs
} from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test user videos', function () {
let server: PeerTubeServer
let videoId: number
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import {
checkActorFilesWereRemoved,
checkTmpIsEmpty,
waitJobs
} from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test users with multiple servers', function () {
let servers: PeerTubeServer[] = []
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { MockSmtpServer } from '@server/tests/shared'
import { HttpStatusCode } from '@shared/models'
import { cleanupTests, createSingleServer, PeerTubeServer, setAccessTokensToServers, waitJobs } from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test users account verification', function () {
let server: PeerTubeServer
let userId: number
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { testImage } from '@server/tests/shared'
import { AbuseState, HttpStatusCode, OAuth2ErrorCode, UserAdminFlag, UserRole, VideoPlaylistType } from '@shared/models'
import {
setAccessTokensToServers
} from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test users', function () {
let server: PeerTubeServer
let token: string
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import request from 'supertest'
import {
checkTmpIsEmpty,
webtorrentAdd
} from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test multiple servers', function () {
let servers: PeerTubeServer[] = []
const toRemove = []
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { pathExists, readdir, stat } from 'fs-extra'
import { join } from 'path'
import { buildAbsoluteFixturePath } from '@shared/core-utils'
import { HttpStatusCode, VideoPrivacy } from '@shared/models'
import { cleanupTests, createSingleServer, PeerTubeServer, setAccessTokensToServers, setDefaultVideoChannel } from '@shared/server-commands'
-const expect = chai.expect
-
// Most classic resumable upload tests are done in other test suites
describe('Test resumable upload', function () {
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { checkVideoFilesWereRemoved, completeVideoCheck, testImage } from '@server/tests/shared'
import { wait } from '@shared/core-utils'
import { Video, VideoPrivacy } from '@shared/models'
waitJobs
} from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test a single server', function () {
function runSuite (mode: 'legacy' | 'resumable') {
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { checkVideoFilesWereRemoved, testCaptionFile } from '@server/tests/shared'
import { wait } from '@shared/core-utils'
import {
waitJobs
} from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test video captions', function () {
const uuidRegex = '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}'
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import {
ChangeOwnershipCommand,
cleanupTests,
} from '@shared/server-commands'
import { HttpStatusCode, VideoPrivacy } from '@shared/models'
-const expect = chai.expect
-
describe('Test video change ownership - nominal', function () {
let servers: PeerTubeServer[] = []
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { basename } from 'path'
import { ACTOR_IMAGES_SIZE } from '@server/initializers/constants'
import { testFileExistsOrNot, testImage } from '@server/tests/shared'
waitJobs
} from '@shared/server-commands'
-const expect = chai.expect
-
async function findChannel (server: PeerTubeServer, channelId: number) {
const body = await server.channels.list({ sort: '-name' })
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { dateIsValid, testImage } from '@server/tests/shared'
import {
cleanupTests,
setDefaultChannelAvatar
} from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test video comments', function () {
let server: PeerTubeServer
let videoId: number
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import {
cleanupTests,
createMultipleServers,
waitJobs
} from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test video description', function () {
let servers: PeerTubeServer[] = []
let videoUUID = ''
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { cleanupTests, createSingleServer, PeerTubeServer, setAccessTokensToServers } from '@shared/server-commands'
import { BooleanBothQuery, CustomConfig, ResultList, Video, VideosOverview } from '@shared/models'
-const expect = chai.expect
-
function createOverviewRes (overview: VideosOverview) {
const videos = overview.categories[0].videos
return { data: videos, total: videos.length }
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { testImage } from '@server/tests/shared'
import { VideoPlaylistPrivacy } from '@shared/models'
import {
waitJobs
} from '@shared/server-commands'
-const expect = chai.expect
-
describe('Playlist thumbnail', function () {
let servers: PeerTubeServer[] = []
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { checkPlaylistFilesWereRemoved, testImage } from '@server/tests/shared'
import { wait } from '@shared/core-utils'
import {
waitJobs
} from '@shared/server-commands'
-const expect = chai.expect
-
async function checkPlaylistElementType (
servers: PeerTubeServer[],
playlistId: string,
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { wait } from '@shared/core-utils'
import { HttpStatusCode, VideoCreateResult, VideoPrivacy } from '@shared/models'
import { cleanupTests, createSingleServer, doubleFollow, PeerTubeServer, setAccessTokensToServers, waitJobs } from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test video privacy', function () {
const servers: PeerTubeServer[] = []
let anotherUserToken: string
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { wait } from '@shared/core-utils'
import { VideoPrivacy } from '@shared/models'
import {
waitJobs
} from '@shared/server-commands'
-const expect = chai.expect
-
function in10Seconds () {
const now = new Date()
now.setSeconds(now.getSeconds() + 10)
-import * as chai from 'chai'
+import { expect } from 'chai'
import { cleanupTests, createSingleServer, PeerTubeServer, setAccessTokensToServers } from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test video source', () => {
let server: PeerTubeServer = null
const fixture = 'video_short.webm'
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { wait } from '@shared/core-utils'
import { Video } from '@shared/models'
import { cleanupTests, createSingleServer, killallServers, PeerTubeServer, setAccessTokensToServers } from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test videos history', function () {
let server: PeerTubeServer = null
let video1Id: number
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { wait } from '@shared/core-utils'
import { VideosOverview } from '@shared/models'
import { cleanupTests, createSingleServer, PeerTubeServer, setAccessTokensToServers } from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test a videos overview', function () {
let server: PeerTubeServer = null
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { FfmpegCommand } from 'fluent-ffmpeg'
import { prepareViewsServers, prepareViewsVideos, processViewsBuffer } from '@server/tests/shared'
import { wait } from '@shared/core-utils'
import { cleanupTests, PeerTubeServer, stopFfmpeg, waitJobs } from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test video views/viewers counters', function () {
let servers: PeerTubeServer[]
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { FfmpegCommand } from 'fluent-ffmpeg'
import { prepareViewsServers, prepareViewsVideos, processViewersStats } from '@server/tests/shared'
import { cleanupTests, PeerTubeServer, stopFfmpeg, waitJobs } from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test views overall stats', function () {
let servers: PeerTubeServer[]
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { prepareViewsServers, prepareViewsVideos, processViewersStats } from '@server/tests/shared'
import { cleanupTests, PeerTubeServer } from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test views retention stats', function () {
let servers: PeerTubeServer[]
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { FfmpegCommand } from 'fluent-ffmpeg'
import { prepareViewsServers, prepareViewsVideos, processViewersStats } from '@server/tests/shared'
import { VideoStatsTimeserie, VideoStatsTimeserieMetric } from '@shared/models'
import { cleanupTests, PeerTubeServer, stopFfmpeg } from '@shared/server-commands'
-const expect = chai.expect
-
function buildOneMonthAgo () {
const monthAgo = new Date()
monthAgo.setHours(0, 0, 0, 0)
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { wait } from '@shared/core-utils'
import {
cleanupTests,
waitJobs
} from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test video views cleaner', function () {
let servers: PeerTubeServer[]
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { areObjectStorageTestsDisabled } from '@shared/core-utils'
import { HttpStatusCode, VideoDetails, VideoFile, VideoInclude } from '@shared/models'
import {
} from '@shared/server-commands'
import { expectStartWith } from '../shared'
-const expect = chai.expect
-
function assertVideoProperties (video: VideoFile, resolution: number, extname: string, size?: number) {
expect(video).to.have.nested.property('resolution.id', resolution)
expect(video).to.have.property('torrentUrl').that.includes(`-${resolution}.torrent`)
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { areObjectStorageTestsDisabled } from '@shared/core-utils'
import { HttpStatusCode, VideoFile } from '@shared/models'
import {
} from '@shared/server-commands'
import { checkResolutionsInMasterPlaylist, expectStartWith } from '../shared'
-const expect = chai.expect
-
async function checkFilesInObjectStorage (files: VideoFile[], type: 'webtorrent' | 'playlist') {
for (const file of files) {
const shouldStartWith = type === 'webtorrent'
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { buildAbsoluteFixturePath } from '@shared/core-utils'
import { CLICommand } from '@shared/server-commands'
import { VideoResolution } from '../../../shared/models/videos'
-const expect = chai.expect
-
describe('Test print transcode jobs', function () {
it('Should print the correct command for each resolution', async function () {
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { createFile, readdir } from 'fs-extra'
import { join } from 'path'
import { wait } from '@shared/core-utils'
waitJobs
} from '@shared/server-commands'
-const expect = chai.expect
-
async function countFiles (server: PeerTubeServer, directory: string) {
const files = await readdir(server.servers.buildDirectory(directory))
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { omit } from '@shared/core-utils'
import {
Account,
waitJobs
} from '../../shared/server-commands'
-const expect = chai.expect
-
function checkIndexTags (html: string, title: string, description: string, css: string, config: ServerConfig) {
expect(html).to.contain('<title>' + title + '</title>')
expect(html).to.contain('<meta name="description" content="' + description + '" />')
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { XMLParser, XMLValidator } from 'fast-xml-parser'
import { HttpStatusCode, VideoPrivacy } from '@shared/models'
import {
chai.use(require('chai-xml'))
chai.use(require('chai-json-schema'))
chai.config.includeStack = true
-const expect = chai.expect
-
describe('Test syndication feeds', () => {
let servers: PeerTubeServer[] = []
let serverHLSOnly: PeerTubeServer
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { VideoCommentModel } from '../../models/video/video-comment'
-const expect = chai.expect
-
class CommentMock {
text: string
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { snakeCase } from 'lodash'
import validator from 'validator'
import { getAverageBitrate, getMaxBitrate } from '@shared/core-utils'
import { VideoResolution } from '@shared/models'
import { objectConverter, parseBytes, parseDurationToMs } from '../../helpers/core-utils'
-const expect = chai.expect
-
describe('Parse Bytes', function () {
it('Should pass on valid value', async function () {
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { cleanupTests, createSingleServer, makeGetRequest, PeerTubeServer, setAccessTokensToServers } from '@shared/server-commands'
import { HttpStatusCode, VideoPrivacy } from '@shared/models'
-const expect = chai.expect
-
describe('Test misc endpoints', function () {
let server: PeerTubeServer
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { HttpStatusCode, VideoDetails, VideoImportState, VideoPlaylist, VideoPlaylistPrivacy, VideoPrivacy } from '@shared/models'
import {
cleanupTests,
} from '@shared/server-commands'
import { FIXTURE_URLS } from '../shared'
-const expect = chai.expect
-
describe('Test plugin filter hooks', function () {
let servers: PeerTubeServer[]
let videoUUID: string
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import {
cleanupTests,
createSingleServer,
setAccessTokensToServers
} from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test plugins HTML injection', function () {
let server: PeerTubeServer = null
let command: PluginsCommand
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import { cleanupTests, createSingleServer, PeerTubeServer, PluginsCommand, setAccessTokensToServers } from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test plugin translations', function () {
let server: PeerTubeServer
let command: PluginsCommand
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
+import { expect } from 'chai'
import {
cleanupTests,
createSingleServer,
} from '@shared/server-commands'
import { HttpStatusCode, VideoPlaylistPrivacy } from '@shared/models'
-const expect = chai.expect
-
describe('Test plugin altering video constants', function () {
let server: PeerTubeServer