X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Ftests%2Fapi%2Fcheck-params%2Fuser-notifications.ts;h=26d4423f9313d3a545e4a94f9b916a5d69212ca5;hb=dc48fdbe68e9dd3a3a6028181e61d8595d98e654;hp=714f481e9a2dba71659e96c44a7f1162640885f0;hpb=2f1548fda32c3ba9e53913270394eedfacd55986;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/tests/api/check-params/user-notifications.ts b/server/tests/api/check-params/user-notifications.ts index 714f481e9..26d4423f9 100644 --- a/server/tests/api/check-params/user-notifications.ts +++ b/server/tests/api/check-params/user-notifications.ts @@ -1,26 +1,26 @@ -/* tslint:disable:no-unused-expression */ +/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */ import 'mocha' -import * as io from 'socket.io-client' +import { io } from 'socket.io-client' import { - flushTests, + cleanupTests, + flushAndRunServer, immutableAssign, - killallServers, makeGetRequest, makePostBodyRequest, makePutBodyRequest, - runServer, ServerInfo, setAccessTokensToServers, wait -} from '../../../../shared/utils' +} from '../../../../shared/extra-utils' import { checkBadCountPagination, checkBadSortPagination, checkBadStartPagination -} from '../../../../shared/utils/requests/check-api-params' +} from '../../../../shared/extra-utils/requests/check-api-params' import { UserNotificationSetting, UserNotificationSettingValue } from '../../../../shared/models/users' +import { HttpStatusCode } from '../../../../shared/core-utils/miscs/http-error-codes' describe('Test user notifications API validators', function () { let server: ServerInfo @@ -30,9 +30,7 @@ describe('Test user notifications API validators', function () { before(async function () { this.timeout(30000) - await flushTests() - - server = await runServer(1) + server = await flushAndRunServer(1) await setAccessTokensToServers([ server ]) }) @@ -60,7 +58,7 @@ describe('Test user notifications API validators', function () { unread: 'toto' }, token: server.accessToken, - statusCodeExpected: 200 + statusCodeExpected: HttpStatusCode.OK_200 }) }) @@ -68,7 +66,7 @@ describe('Test user notifications API validators', function () { await makeGetRequest({ url: server.url, path, - statusCodeExpected: 401 + statusCodeExpected: HttpStatusCode.UNAUTHORIZED_401 }) }) @@ -77,7 +75,7 @@ describe('Test user notifications API validators', function () { url: server.url, path, token: server.accessToken, - statusCodeExpected: 200 + statusCodeExpected: HttpStatusCode.OK_200 }) }) }) @@ -93,7 +91,7 @@ describe('Test user notifications API validators', function () { ids: [ 'hello' ] }, token: server.accessToken, - statusCodeExpected: 400 + statusCodeExpected: HttpStatusCode.BAD_REQUEST_400 }) await makePostBodyRequest({ @@ -103,7 +101,7 @@ describe('Test user notifications API validators', function () { ids: [ ] }, token: server.accessToken, - statusCodeExpected: 400 + statusCodeExpected: HttpStatusCode.BAD_REQUEST_400 }) await makePostBodyRequest({ @@ -113,7 +111,7 @@ describe('Test user notifications API validators', function () { ids: 5 }, token: server.accessToken, - statusCodeExpected: 400 + statusCodeExpected: HttpStatusCode.BAD_REQUEST_400 }) }) @@ -124,7 +122,7 @@ describe('Test user notifications API validators', function () { fields: { ids: [ 5 ] }, - statusCodeExpected: 401 + statusCodeExpected: HttpStatusCode.UNAUTHORIZED_401 }) }) @@ -136,7 +134,7 @@ describe('Test user notifications API validators', function () { ids: [ 5 ] }, token: server.accessToken, - statusCodeExpected: 204 + statusCodeExpected: HttpStatusCode.NO_CONTENT_204 }) }) }) @@ -148,7 +146,7 @@ describe('Test user notifications API validators', function () { await makePostBodyRequest({ url: server.url, path, - statusCodeExpected: 401 + statusCodeExpected: HttpStatusCode.UNAUTHORIZED_401 }) }) @@ -157,7 +155,7 @@ describe('Test user notifications API validators', function () { url: server.url, path, token: server.accessToken, - statusCodeExpected: 204 + statusCodeExpected: HttpStatusCode.NO_CONTENT_204 }) }) }) @@ -167,13 +165,20 @@ describe('Test user notifications API validators', function () { const correctFields: UserNotificationSetting = { newVideoFromSubscription: UserNotificationSettingValue.WEB, newCommentOnMyVideo: UserNotificationSettingValue.WEB, - videoAbuseAsModerator: UserNotificationSettingValue.WEB, + abuseAsModerator: UserNotificationSettingValue.WEB, + videoAutoBlacklistAsModerator: UserNotificationSettingValue.WEB, blacklistOnMyVideo: UserNotificationSettingValue.WEB, myVideoImportFinished: UserNotificationSettingValue.WEB, myVideoPublished: UserNotificationSettingValue.WEB, commentMention: UserNotificationSettingValue.WEB, newFollow: UserNotificationSettingValue.WEB, - newUserRegistration: UserNotificationSettingValue.WEB + newUserRegistration: UserNotificationSettingValue.WEB, + newInstanceFollower: UserNotificationSettingValue.WEB, + autoInstanceFollowing: UserNotificationSettingValue.WEB, + abuseNewMessage: UserNotificationSettingValue.WEB, + abuseStateChange: UserNotificationSettingValue.WEB, + newPeerTubeVersion: UserNotificationSettingValue.WEB, + newPluginVersion: UserNotificationSettingValue.WEB } it('Should fail with missing fields', async function () { @@ -182,7 +187,7 @@ describe('Test user notifications API validators', function () { path, token: server.accessToken, fields: { newVideoFromSubscription: UserNotificationSettingValue.WEB }, - statusCodeExpected: 400 + statusCodeExpected: HttpStatusCode.BAD_REQUEST_400 }) }) @@ -195,7 +200,7 @@ describe('Test user notifications API validators', function () { path, token: server.accessToken, fields, - statusCodeExpected: 400 + statusCodeExpected: HttpStatusCode.BAD_REQUEST_400 }) } @@ -207,7 +212,7 @@ describe('Test user notifications API validators', function () { path, fields, token: server.accessToken, - statusCodeExpected: 400 + statusCodeExpected: HttpStatusCode.BAD_REQUEST_400 }) } }) @@ -217,7 +222,7 @@ describe('Test user notifications API validators', function () { url: server.url, path, fields: correctFields, - statusCodeExpected: 401 + statusCodeExpected: HttpStatusCode.UNAUTHORIZED_401 }) }) @@ -227,17 +232,17 @@ describe('Test user notifications API validators', function () { path, token: server.accessToken, fields: correctFields, - statusCodeExpected: 204 + statusCodeExpected: HttpStatusCode.NO_CONTENT_204 }) }) }) 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) + socket.once('connect_error', function () { socket.disconnect() next() }) @@ -249,13 +254,12 @@ 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 }) - socket.on('error', () => { - socket.removeListener('error', this) + socket.once('connect_error', function () { socket.disconnect() next() }) @@ -267,17 +271,18 @@ 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 }) - const errorListener = socket.on('error', err => { + function errorListener (err) { next(new Error('Error in connection: ' + err)) - }) + } - socket.on('connect', async () => { - socket.removeListener('error', errorListener) + socket.on('connect_error', errorListener) + + socket.once('connect', async () => { socket.disconnect() await wait(500) @@ -287,11 +292,6 @@ describe('Test user notifications API validators', function () { }) after(async function () { - killallServers([ server ]) - - // Keep the logs if the test failed - if (this['ok']) { - await flushTests() - } + await cleanupTests([ server ]) }) })