diff --git a/scripts/travis.sh b/scripts/travis.sh index 49b7233e1879e96a75386cb9b957476b02146c79..509b40d873b200e11aaebb6521cd8a3bde5a4c84 100755 --- a/scripts/travis.sh +++ b/scripts/travis.sh @@ -11,28 +11,25 @@ killall -q peertube || true if [ "$1" = "misc" ]; then npm run build -- --light-fr - mocha --timeout 5000 --exit --require ts-node/register/type-check --bail server/tests/client.ts \ + mocha --timeout 5000 --exit --require ts-node/register --bail server/tests/client.ts \ server/tests/feeds/index.ts \ server/tests/misc-endpoints.ts \ server/tests/helpers/index.ts -elif [ "$1" = "api" ]; then - npm run build:server - mocha --timeout 5000 --exit --require ts-node/register/type-check --bail server/tests/api/index.ts elif [ "$1" = "cli" ]; then npm run build:server - mocha --timeout 5000 --exit --require ts-node/register/type-check --bail server/tests/cli/index.ts + mocha --timeout 5000 --exit --require ts-node/register --bail server/tests/cli/index.ts elif [ "$1" = "api-1" ]; then npm run build:server - mocha --timeout 5000 --exit --require ts-node/register/type-check --bail server/tests/api/index-1.ts + mocha --timeout 5000 --exit --require ts-node/register --bail server/tests/api/index-1.ts elif [ "$1" = "api-2" ]; then npm run build:server - mocha --timeout 5000 --exit --require ts-node/register/type-check --bail server/tests/api/index-2.ts + mocha --timeout 5000 --exit --require ts-node/register --bail server/tests/api/index-2.ts elif [ "$1" = "api-3" ]; then npm run build:server - mocha --timeout 5000 --exit --require ts-node/register/type-check --bail server/tests/api/index-3.ts + mocha --timeout 5000 --exit --require ts-node/register --bail server/tests/api/index-3.ts elif [ "$1" = "api-4" ]; then npm run build:server - mocha --timeout 5000 --exit --require ts-node/register/type-check --bail server/tests/api/index-4.ts + mocha --timeout 5000 --exit --require ts-node/register --bail server/tests/api/index-4.ts elif [ "$1" = "lint" ]; then npm run tslint -- --project ./tsconfig.json -c ./tslint.json server.ts "server/**/*.ts" "shared/**/*.ts" diff --git a/server/helpers/ffmpeg-utils.ts b/server/helpers/ffmpeg-utils.ts index 8b9045038dba412f4dbb54187d1f7c4c9e88accd..b59e7e40e692e99ef19bb5e49b6d4745ae412a35 100644 --- a/server/helpers/ffmpeg-utils.ts +++ b/server/helpers/ffmpeg-utils.ts @@ -1,7 +1,7 @@ import * as ffmpeg from 'fluent-ffmpeg' import { join } from 'path' import { getTargetBitrate, VideoResolution } from '../../shared/models/videos' -import { CONFIG, FFMPEG_NICE, VIDEO_TRANSCODING_FPS } from '../initializers' +import { CONFIG, FFMPEG_NICE, VIDEO_TRANSCODING_FPS } from '../initializers/constants' import { processImage } from './image-utils' import { logger } from './logger' import { checkFFmpegEncoders } from '../initializers/checker-before-init' diff --git a/server/lib/user.ts b/server/lib/user.ts index acb883e23d202668403a48dc2af039515779aa47..29d6d087d1bbde1821815a863f738f0de793d8be 100644 --- a/server/lib/user.ts +++ b/server/lib/user.ts @@ -17,10 +17,8 @@ async function createUserAccountAndChannel (userToCreate: UserModel, validateUse validate: validateUser } - const [ userCreated, accountCreated ] = await Promise.all([ - userToCreate.save(userOptions), - createLocalAccountWithoutKeys(userToCreate.username, userToCreate.id, null, t) - ]) + const userCreated = await userToCreate.save(userOptions) + const accountCreated = await createLocalAccountWithoutKeys(userCreated.username, userCreated.id, null, t) userCreated.Account = accountCreated let channelName = userCreated.username + '_channel' diff --git a/server/models/account/user.ts b/server/models/account/user.ts index 34aafa1a7c586abc7930d471a5dcd78582b2a970..1843603f1e935ec16c37241e75fe42c4357ffa94 100644 --- a/server/models/account/user.ts +++ b/server/models/account/user.ts @@ -1,6 +1,6 @@ import * as Sequelize from 'sequelize' import { - AfterDelete, + AfterDestroy, AfterUpdate, AllowNull, BeforeCreate, @@ -179,7 +179,7 @@ export class UserModel extends Model<UserModel> { } @AfterUpdate - @AfterDelete + @AfterDestroy static removeTokenCache (instance: UserModel) { return clearCacheByUserId(instance.id) } diff --git a/server/models/oauth/oauth-token.ts b/server/models/oauth/oauth-token.ts index ecf846821012c492daa1482c6e96845475c1b353..08d892da43b2ea59cd60c7cd8735ad2c9282302a 100644 --- a/server/models/oauth/oauth-token.ts +++ b/server/models/oauth/oauth-token.ts @@ -1,5 +1,5 @@ import { - AfterDelete, + AfterDestroy, AfterUpdate, AllowNull, BelongsTo, @@ -126,7 +126,7 @@ export class OAuthTokenModel extends Model<OAuthTokenModel> { OAuthClients: OAuthClientModel[] @AfterUpdate - @AfterDelete + @AfterDestroy static removeTokenCache (token: OAuthTokenModel) { return clearCacheByToken(token.accessToken) } diff --git a/server/tests/api/activitypub/security.ts b/server/tests/api/activitypub/security.ts index e7899bb14c48be01171aaa8ee8fbefdab40c47db..7349749f1fc8e8b574a46554bef5bac0444369c3 100644 --- a/server/tests/api/activitypub/security.ts +++ b/server/tests/api/activitypub/security.ts @@ -2,12 +2,13 @@ import 'mocha' -import { flushAndRunMultipleServers, flushTests, killallServers, makePOSTAPRequest, makeFollowRequest, ServerInfo } from '../../utils' +import { flushAndRunMultipleServers, flushTests, killallServers, ServerInfo } from '../../utils' import { HTTP_SIGNATURE } from '../../../initializers' import { buildDigest, buildGlobalHeaders } from '../../../lib/job-queue/handlers/utils/activitypub-http-utils' import * as chai from 'chai' import { setActorField } from '../../utils/miscs/sql' import { activityPubContextify, buildSignedActivity } from '../../../helpers/activitypub' +import { makeFollowRequest, makePOSTAPRequest } from '../../utils/requests/activitypub' const expect = chai.expect diff --git a/server/tests/api/users/index.ts b/server/tests/api/users/index.ts index 0a1b8b0b27aac11e1bb22bd4bca4d4ad9982be7e..ff433315d38762071e2b256c95273d1840c7c722 100644 --- a/server/tests/api/users/index.ts +++ b/server/tests/api/users/index.ts @@ -1,5 +1,5 @@ import './blocklist' import './user-subscriptions' import './users' -import './users-verification' import './users-multiple-servers' +import './users-verification' diff --git a/server/tests/api/videos/video-blacklist-management.ts b/server/tests/api/videos/video-blacklist-management.ts index 7bf39dc9962fbb838ad23cee8c4290d63485b832..fab577b30fa955589796bec8adf4b9bf72e700ce 100644 --- a/server/tests/api/videos/video-blacklist-management.ts +++ b/server/tests/api/videos/video-blacklist-management.ts @@ -1,7 +1,7 @@ /* tslint:disable:no-unused-expression */ import * as chai from 'chai' -import * as lodash from 'lodash' +import { orderBy } from 'lodash' import 'mocha' import { addVideoToBlacklist, @@ -22,7 +22,6 @@ import { waitJobs } from '../../utils/server/jobs' import { VideoAbuse } from '../../../../shared/models/videos' const expect = chai.expect -const orderBy = lodash.orderBy describe('Test video blacklist management', function () { let servers: ServerInfo[] = [] diff --git a/server/tests/api/videos/video-channels.ts b/server/tests/api/videos/video-channels.ts index 8138c65d60528015c2b274641232f9e958ed71ab..41429a3d85f8b11f43d72354333a0c62ae4c8f05 100644 --- a/server/tests/api/videos/video-channels.ts +++ b/server/tests/api/videos/video-channels.ts @@ -7,10 +7,12 @@ import { createUser, doubleFollow, flushAndRunMultipleServers, - getVideoChannelVideos, serverLogin, testImage, + getVideoChannelVideos, + testImage, updateVideo, updateVideoChannelAvatar, - uploadVideo, wait, userLogin + uploadVideo, + userLogin } from '../../utils' import { addVideoChannel, diff --git a/server/tests/api/videos/video-schedule-update.ts b/server/tests/api/videos/video-schedule-update.ts index a260fa4dacb0a0af661c5edcc76db034ca5fd964..b226a9d5016cdbc0476522bbc0f78673de8f03e9 100644 --- a/server/tests/api/videos/video-schedule-update.ts +++ b/server/tests/api/videos/video-schedule-update.ts @@ -16,7 +16,6 @@ import { uploadVideo, wait } from '../../utils' -import { join } from 'path' import { waitJobs } from '../../utils/server/jobs' const expect = chai.expect diff --git a/server/tests/api/videos/video-transcoder.ts b/server/tests/api/videos/video-transcoder.ts index 85795d2edac11472165527223ddb85ff6a55cda0..23920d45258ec1ef7df09f8246016b470df112e5 100644 --- a/server/tests/api/videos/video-transcoder.ts +++ b/server/tests/api/videos/video-transcoder.ts @@ -3,13 +3,13 @@ import * as chai from 'chai' import 'mocha' import { omit } from 'lodash' -import * as ffmpeg from 'fluent-ffmpeg' import { getMaxBitrate, VideoDetails, VideoResolution, VideoState } from '../../../../shared/models/videos' import { audio, getVideoFileBitrate, getVideoFileFPS, getVideoFileResolution } from '../../../helpers/ffmpeg-utils' import { buildAbsoluteFixturePath, doubleFollow, flushAndRunMultipleServers, + generateHighBitrateVideo, getMyVideos, getVideo, getVideosList, @@ -18,12 +18,10 @@ import { ServerInfo, setAccessTokensToServers, uploadVideo, - webtorrentAdd, - generateHighBitrateVideo + webtorrentAdd } from '../../utils' import { join } from 'path' import { waitJobs } from '../../utils/server/jobs' -import { pathExists } from 'fs-extra' import { VIDEO_TRANSCODING_FPS } from '../../../../server/initializers/constants' const expect = chai.expect diff --git a/server/tests/utils/index.ts b/server/tests/utils/index.ts index 905d938238ac6588aeb185a9f1fa056747ffb761..8349631c96a9eb0badf7cdef161de84974f9ae40 100644 --- a/server/tests/utils/index.ts +++ b/server/tests/utils/index.ts @@ -7,7 +7,6 @@ export * from './miscs/miscs' export * from './miscs/stubs' export * from './server/follows' export * from './requests/requests' -export * from './requests/activitypub' export * from './server/servers' export * from './videos/services' export * from './users/users' diff --git a/server/tests/utils/requests/check-api-params.ts b/server/tests/utils/requests/check-api-params.ts index edb47e0e96dd092ff20e6a18e76af50698dad158..a2a549682aac9bd5f1646f8a69cfa85fc3475269 100644 --- a/server/tests/utils/requests/check-api-params.ts +++ b/server/tests/utils/requests/check-api-params.ts @@ -1,5 +1,5 @@ import { makeGetRequest } from './requests' -import { immutableAssign } from '..' +import { immutableAssign } from '../miscs/miscs' function checkBadStartPagination (url: string, path: string, token?: string, query = {}) { return makeGetRequest({ diff --git a/server/tests/utils/search/videos.ts b/server/tests/utils/search/videos.ts index 3a0c10e4249deb31d0ea8a2369b0f9c5c16a26b2..8c0037ccc1eaed20740ee728daa5ae28ae22b5f4 100644 --- a/server/tests/utils/search/videos.ts +++ b/server/tests/utils/search/videos.ts @@ -2,7 +2,7 @@ import * as request from 'supertest' import { VideosSearchQuery } from '../../../../shared/models/search' -import { immutableAssign } from '..' +import { immutableAssign } from '../miscs/miscs' function searchVideo (url: string, search: string) { const path = '/api/v1/search/videos' diff --git a/server/tests/utils/server/config.ts b/server/tests/utils/server/config.ts index b85e02ab7712a41ad370a82aa9b8f2a247ed7219..aa3100d3439962735477487f567233170d7a78ca 100644 --- a/server/tests/utils/server/config.ts +++ b/server/tests/utils/server/config.ts @@ -1,4 +1,4 @@ -import { makeDeleteRequest, makeGetRequest, makePutBodyRequest } from '../' +import { makeDeleteRequest, makeGetRequest, makePutBodyRequest } from '../requests/requests' import { CustomConfig } from '../../../../shared/models/server/custom-config.model' function getConfig (url: string) { diff --git a/server/tests/utils/server/jobs.ts b/server/tests/utils/server/jobs.ts index 4c02cace56871e8ab30b0e8fb6364c90b36c20cf..26180ec725cb2de12f27991d5e3d85aed32a56cb 100644 --- a/server/tests/utils/server/jobs.ts +++ b/server/tests/utils/server/jobs.ts @@ -1,6 +1,7 @@ import * as request from 'supertest' import { Job, JobState } from '../../../../shared/models' -import { ServerInfo, wait } from '../index' +import { ServerInfo } from './servers' +import { wait } from '../miscs/miscs' function getJobsList (url: string, accessToken: string, state: JobState) { const path = '/api/v1/jobs/' + state diff --git a/server/tests/utils/server/stats.ts b/server/tests/utils/server/stats.ts index 01989d952b8c460fc811fef0f1abd4c68e159207..6f079ad189c70c7cd9e0857c8617d0ae3ecc4e26 100644 --- a/server/tests/utils/server/stats.ts +++ b/server/tests/utils/server/stats.ts @@ -1,4 +1,4 @@ -import { makeGetRequest } from '../' +import { makeGetRequest } from '../requests/requests' function getStats (url: string, useCache = false) { const path = '/api/v1/server/stats' diff --git a/server/tests/utils/users/accounts.ts b/server/tests/utils/users/accounts.ts index f82b8d90699cd6462c4784b3c8a59ee9ce634efb..257fa5b2750ad593fa81b7e6797464d68c06dd3d 100644 --- a/server/tests/utils/users/accounts.ts +++ b/server/tests/utils/users/accounts.ts @@ -4,7 +4,7 @@ import { expect } from 'chai' import { existsSync, readdir } from 'fs-extra' import { join } from 'path' import { Account } from '../../../../shared/models/actors' -import { root } from '../index' +import { root } from '../miscs/miscs' import { makeGetRequest } from '../requests/requests' function getAccountsList (url: string, sort = '-createdAt', statusCodeExpected = 200) { diff --git a/server/tests/utils/users/blocklist.ts b/server/tests/utils/users/blocklist.ts index 35b537571d34195e6580aa7f2073342f271e3c34..0ead5e5f680c2f582d443af1b14f314f11c2fb59 100644 --- a/server/tests/utils/users/blocklist.ts +++ b/server/tests/utils/users/blocklist.ts @@ -1,6 +1,6 @@ /* tslint:disable:no-unused-expression */ -import { makeDeleteRequest, makePostBodyRequest } from '../index' +import { makeDeleteRequest, makePostBodyRequest } from '../requests/requests' import { makeGetRequest } from '../requests/requests' function getAccountBlocklistByAccount ( diff --git a/server/tests/utils/users/user-subscriptions.ts b/server/tests/utils/users/user-subscriptions.ts index b0e7da7cc17dbc7302390a2dce8e4c34ee5d7a1d..7148fbfca98e00e4fe923bdbb2697b2ab3a55914 100644 --- a/server/tests/utils/users/user-subscriptions.ts +++ b/server/tests/utils/users/user-subscriptions.ts @@ -1,4 +1,4 @@ -import { makeDeleteRequest, makeGetRequest, makePostBodyRequest } from '../' +import { makeDeleteRequest, makeGetRequest, makePostBodyRequest } from '../requests/requests' function addUserSubscription (url: string, token: string, targetUri: string, statusCodeExpected = 204) { const path = '/api/v1/users/me/subscriptions' diff --git a/server/tests/utils/users/users.ts b/server/tests/utils/users/users.ts index d77233d6289cee5e3e8e23fb891339b59a8e87be..2c21a9ecf9c5c3ea4e41778eec9d6b5f12886c71 100644 --- a/server/tests/utils/users/users.ts +++ b/server/tests/utils/users/users.ts @@ -1,5 +1,5 @@ import * as request from 'supertest' -import { makePostBodyRequest, makePutBodyRequest, updateAvatarRequest } from '../' +import { makePostBodyRequest, makePutBodyRequest, updateAvatarRequest } from '../requests/requests' import { UserRole } from '../../../../shared/index' import { NSFWPolicyType } from '../../../../shared/models/videos/nsfw-policy.type' diff --git a/server/tests/utils/videos/video-abuses.ts b/server/tests/utils/videos/video-abuses.ts index 14907e6a0921ac430314d7919e255c7e8f442689..4ad82ad8cb7dcec2cc1691e00d462144834daf81 100644 --- a/server/tests/utils/videos/video-abuses.ts +++ b/server/tests/utils/videos/video-abuses.ts @@ -1,6 +1,6 @@ import * as request from 'supertest' import { VideoAbuseUpdate } from '../../../../shared/models/videos/abuse/video-abuse-update.model' -import { makeDeleteRequest, makePutBodyRequest } from '..' +import { makeDeleteRequest, makePutBodyRequest } from '../requests/requests' function reportVideoAbuse (url: string, token: string, videoId: number | string, reason: string, specialStatus = 200) { const path = '/api/v1/videos/' + videoId + '/abuse' diff --git a/server/tests/utils/videos/video-captions.ts b/server/tests/utils/videos/video-captions.ts index 41e52be0702fcf97244cc3b6b67aca54964c29f6..8d67f617b299ae5fcd1049c3de052dae9e090614 100644 --- a/server/tests/utils/videos/video-captions.ts +++ b/server/tests/utils/videos/video-captions.ts @@ -1,7 +1,7 @@ -import { makeDeleteRequest, makeGetRequest } from '../' -import { buildAbsoluteFixturePath, makeUploadRequest } from '../index' +import { makeDeleteRequest, makeGetRequest, makeUploadRequest } from '../requests/requests' import * as request from 'supertest' import * as chai from 'chai' +import { buildAbsoluteFixturePath } from '../miscs/miscs' const expect = chai.expect diff --git a/server/tests/utils/videos/video-channels.ts b/server/tests/utils/videos/video-channels.ts index 09298577798ff98eb69ba547ff62b0a6e8d58d2d..70e8d1a6b7e4905a9e17ee0e978771960c2f43e6 100644 --- a/server/tests/utils/videos/video-channels.ts +++ b/server/tests/utils/videos/video-channels.ts @@ -1,6 +1,6 @@ import * as request from 'supertest' import { VideoChannelCreate, VideoChannelUpdate } from '../../../../shared/models/videos' -import { updateAvatarRequest } from '../index' +import { updateAvatarRequest } from '../requests/requests' function getVideoChannelsList (url: string, start: number, count: number, sort?: string) { const path = '/api/v1/video-channels' diff --git a/server/tests/utils/videos/video-comments.ts b/server/tests/utils/videos/video-comments.ts index 7d4cae3647ec29f7c8c86ec8c7d58f3895cf3e70..0ebf69ced7278eb9d99e8cb50ab3b26c7e38585b 100644 --- a/server/tests/utils/videos/video-comments.ts +++ b/server/tests/utils/videos/video-comments.ts @@ -1,5 +1,5 @@ import * as request from 'supertest' -import { makeDeleteRequest } from '../' +import { makeDeleteRequest } from '../requests/requests' function getVideoCommentThreads (url: string, videoId: number | string, start: number, count: number, sort?: string, token?: string) { const path = '/api/v1/videos/' + videoId + '/comment-threads' diff --git a/server/tests/utils/videos/video-imports.ts b/server/tests/utils/videos/video-imports.ts index 59dfd481abf21f35487b635c862d2a152f8dd4fa..eb985a5b16ddf2dccf4c6eb8a96a53025ebb3215 100644 --- a/server/tests/utils/videos/video-imports.ts +++ b/server/tests/utils/videos/video-imports.ts @@ -1,5 +1,5 @@ import { VideoImportCreate } from '../../../../shared/models/videos' -import { makeGetRequest, makeUploadRequest } from '..' +import { makeGetRequest, makeUploadRequest } from '../requests/requests' function getYoutubeVideoUrl () { return 'https://youtu.be/msX3jv1XdvM' diff --git a/server/tests/utils/videos/videos.ts b/server/tests/utils/videos/videos.ts index 87c385f3877f87109c23e21f187a87fc0c793b4a..d6c3e5dac06b0ce5de86906053a6404b05257316 100644 --- a/server/tests/utils/videos/videos.ts +++ b/server/tests/utils/videos/videos.ts @@ -17,8 +17,8 @@ import { testImage } from '../' import { VideoDetails, VideoPrivacy } from '../../../../shared/models/videos' -import { VIDEO_CATEGORIES, VIDEO_LANGUAGES, VIDEO_LICENCES, VIDEO_PRIVACIES } from '../../../initializers' -import { dateIsValid, webtorrentAdd } from '../index' +import { VIDEO_CATEGORIES, VIDEO_LANGUAGES, VIDEO_LICENCES, VIDEO_PRIVACIES } from '../../../initializers/constants' +import { dateIsValid, webtorrentAdd } from '../miscs/miscs' type VideoAttributes = { name?: string