X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Ftests%2Fapi%2Fcheck-params%2Fuser-notifications.ts;h=4bc8084a1de5a1be7ff5740d85793ce1f97fb78e;hb=c55e3d7227fe1453869e309025996b9d75256d5d;hp=c6384677e682df6193dbbb08aedc9603eb51c22b;hpb=594d3e48d8a887bbf48ce4cc594c1c36c9640fb1;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 c6384677e..4bc8084a1 100644 --- a/server/tests/api/check-params/user-notifications.ts +++ b/server/tests/api/check-params/user-notifications.ts @@ -1,35 +1,29 @@ /* 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 { checkBadCountPagination, checkBadSortPagination, checkBadStartPagination } from '@server/tests/shared' +import { wait } from '@shared/core-utils' +import { HttpStatusCode, UserNotificationSetting, UserNotificationSettingValue } from '@shared/models' import { cleanupTests, - flushAndRunServer, - immutableAssign, + createSingleServer, makeGetRequest, makePostBodyRequest, makePutBodyRequest, - ServerInfo, - setAccessTokensToServers, - wait -} from '../../../../shared/extra-utils' -import { - checkBadCountPagination, - checkBadSortPagination, - checkBadStartPagination -} from '../../../../shared/extra-utils/requests/check-api-params' -import { UserNotificationSetting, UserNotificationSettingValue } from '../../../../shared/models/users' + PeerTubeServer, + setAccessTokensToServers +} from '@shared/server-commands' describe('Test user notifications API validators', function () { - let server: ServerInfo + let server: PeerTubeServer // --------------------------------------------------------------- before(async function () { this.timeout(30000) - server = await flushAndRunServer(1) + server = await createSingleServer(1) await setAccessTokensToServers([ server ]) }) @@ -57,7 +51,7 @@ describe('Test user notifications API validators', function () { unread: 'toto' }, token: server.accessToken, - statusCodeExpected: 200 + expectedStatus: HttpStatusCode.OK_200 }) }) @@ -65,7 +59,7 @@ describe('Test user notifications API validators', function () { await makeGetRequest({ url: server.url, path, - statusCodeExpected: 401 + expectedStatus: HttpStatusCode.UNAUTHORIZED_401 }) }) @@ -74,7 +68,7 @@ describe('Test user notifications API validators', function () { url: server.url, path, token: server.accessToken, - statusCodeExpected: 200 + expectedStatus: HttpStatusCode.OK_200 }) }) }) @@ -90,7 +84,7 @@ describe('Test user notifications API validators', function () { ids: [ 'hello' ] }, token: server.accessToken, - statusCodeExpected: 400 + expectedStatus: HttpStatusCode.BAD_REQUEST_400 }) await makePostBodyRequest({ @@ -100,7 +94,7 @@ describe('Test user notifications API validators', function () { ids: [ ] }, token: server.accessToken, - statusCodeExpected: 400 + expectedStatus: HttpStatusCode.BAD_REQUEST_400 }) await makePostBodyRequest({ @@ -110,7 +104,7 @@ describe('Test user notifications API validators', function () { ids: 5 }, token: server.accessToken, - statusCodeExpected: 400 + expectedStatus: HttpStatusCode.BAD_REQUEST_400 }) }) @@ -121,7 +115,7 @@ describe('Test user notifications API validators', function () { fields: { ids: [ 5 ] }, - statusCodeExpected: 401 + expectedStatus: HttpStatusCode.UNAUTHORIZED_401 }) }) @@ -133,7 +127,7 @@ describe('Test user notifications API validators', function () { ids: [ 5 ] }, token: server.accessToken, - statusCodeExpected: 204 + expectedStatus: HttpStatusCode.NO_CONTENT_204 }) }) }) @@ -145,7 +139,7 @@ describe('Test user notifications API validators', function () { await makePostBodyRequest({ url: server.url, path, - statusCodeExpected: 401 + expectedStatus: HttpStatusCode.UNAUTHORIZED_401 }) }) @@ -154,7 +148,7 @@ describe('Test user notifications API validators', function () { url: server.url, path, token: server.accessToken, - statusCodeExpected: 204 + expectedStatus: HttpStatusCode.NO_CONTENT_204 }) }) }) @@ -175,7 +169,9 @@ describe('Test user notifications API validators', function () { newInstanceFollower: UserNotificationSettingValue.WEB, autoInstanceFollowing: UserNotificationSettingValue.WEB, abuseNewMessage: UserNotificationSettingValue.WEB, - abuseStateChange: UserNotificationSettingValue.WEB + abuseStateChange: UserNotificationSettingValue.WEB, + newPeerTubeVersion: UserNotificationSettingValue.WEB, + newPluginVersion: UserNotificationSettingValue.WEB } it('Should fail with missing fields', async function () { @@ -184,32 +180,32 @@ describe('Test user notifications API validators', function () { path, token: server.accessToken, fields: { newVideoFromSubscription: UserNotificationSettingValue.WEB }, - statusCodeExpected: 400 + expectedStatus: HttpStatusCode.BAD_REQUEST_400 }) }) it('Should fail with incorrect field values', async function () { { - const fields = immutableAssign(correctFields, { newCommentOnMyVideo: 15 }) + const fields = { ...correctFields, newCommentOnMyVideo: 15 } await makePutBodyRequest({ url: server.url, path, token: server.accessToken, fields, - statusCodeExpected: 400 + expectedStatus: HttpStatusCode.BAD_REQUEST_400 }) } { - const fields = immutableAssign(correctFields, { newCommentOnMyVideo: 'toto' }) + const fields = { ...correctFields, newCommentOnMyVideo: 'toto' } await makePutBodyRequest({ url: server.url, path, fields, token: server.accessToken, - statusCodeExpected: 400 + expectedStatus: HttpStatusCode.BAD_REQUEST_400 }) } }) @@ -219,7 +215,7 @@ describe('Test user notifications API validators', function () { url: server.url, path, fields: correctFields, - statusCodeExpected: 401 + expectedStatus: HttpStatusCode.UNAUTHORIZED_401 }) }) @@ -229,17 +225,17 @@ describe('Test user notifications API validators', function () { path, token: server.accessToken, fields: correctFields, - statusCodeExpected: 204 + expectedStatus: 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:${server.port}/user-notifications`, { reconnection: false }) - socket.on('error', () => { - socket.removeListener('error', this) + socket.once('connect_error', function () { socket.disconnect() next() }) @@ -256,8 +252,7 @@ describe('Test user notifications API validators', function () { reconnection: false }) - socket.on('error', () => { - socket.removeListener('error', this) + socket.once('connect_error', function () { socket.disconnect() next() }) @@ -274,12 +269,13 @@ describe('Test user notifications API validators', function () { reconnection: false }) - const errorListener = socket.on('error', err => { + function errorListener (err) { next(new Error('Error in connection: ' + err)) - }) + } + + socket.on('connect_error', errorListener) - socket.on('connect', async () => { - socket.removeListener('error', errorListener) + socket.once('connect', async () => { socket.disconnect() await wait(500)