From 156c50af3085468a47b8ae73fe8cfcae46b42398 Mon Sep 17 00:00:00 2001 From: Lucas Declercq Date: Sat, 6 Oct 2018 19:17:21 +0200 Subject: Add downloadingEnabled property to video model --- server/tests/api/check-params/video-imports.ts | 1 + server/tests/api/check-params/videos.ts | 2 ++ 2 files changed, 3 insertions(+) (limited to 'server/tests/api/check-params') diff --git a/server/tests/api/check-params/video-imports.ts b/server/tests/api/check-params/video-imports.ts index 44645b0e2..8dd87b8ae 100644 --- a/server/tests/api/check-params/video-imports.ts +++ b/server/tests/api/check-params/video-imports.ts @@ -84,6 +84,7 @@ describe('Test video imports API validator', function () { language: 'pt', nsfw: false, commentsEnabled: true, + downloadingEnabled: true, waitTranscoding: true, description: 'my super description', support: 'my super support text', diff --git a/server/tests/api/check-params/videos.ts b/server/tests/api/check-params/videos.ts index 904d22870..c5740087c 100644 --- a/server/tests/api/check-params/videos.ts +++ b/server/tests/api/check-params/videos.ts @@ -175,6 +175,7 @@ describe('Test videos API validator', function () { language: 'pt', nsfw: false, commentsEnabled: true, + downloadingEnabled: true, waitTranscoding: true, description: 'my super description', support: 'my super support text', @@ -419,6 +420,7 @@ describe('Test videos API validator', function () { language: 'pt', nsfw: false, commentsEnabled: false, + downloadingEnabled: false, description: 'my super description', privacy: VideoPrivacy.PUBLIC, tags: [ 'tag1', 'tag2' ] -- cgit v1.2.3 From 7f2cfe3a792856f7de6f1d13688aa3d06ec1bf70 Mon Sep 17 00:00:00 2001 From: Lucas Declercq Date: Mon, 8 Oct 2018 14:45:22 +0200 Subject: Rename downloadingEnabled property to downloadEnabled --- server/tests/api/check-params/video-imports.ts | 2 +- server/tests/api/check-params/videos.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'server/tests/api/check-params') diff --git a/server/tests/api/check-params/video-imports.ts b/server/tests/api/check-params/video-imports.ts index 8dd87b8ae..1ffb81a38 100644 --- a/server/tests/api/check-params/video-imports.ts +++ b/server/tests/api/check-params/video-imports.ts @@ -84,7 +84,7 @@ describe('Test video imports API validator', function () { language: 'pt', nsfw: false, commentsEnabled: true, - downloadingEnabled: true, + downloadEnabled: true, waitTranscoding: true, description: 'my super description', support: 'my super support text', diff --git a/server/tests/api/check-params/videos.ts b/server/tests/api/check-params/videos.ts index c5740087c..bc28e2422 100644 --- a/server/tests/api/check-params/videos.ts +++ b/server/tests/api/check-params/videos.ts @@ -175,7 +175,7 @@ describe('Test videos API validator', function () { language: 'pt', nsfw: false, commentsEnabled: true, - downloadingEnabled: true, + downloadEnabled: true, waitTranscoding: true, description: 'my super description', support: 'my super support text', @@ -420,7 +420,7 @@ describe('Test videos API validator', function () { language: 'pt', nsfw: false, commentsEnabled: false, - downloadingEnabled: false, + downloadEnabled: false, description: 'my super description', privacy: VideoPrivacy.PUBLIC, tags: [ 'tag1', 'tag2' ] -- cgit v1.2.3 From 5abb9fbbd12e7097e348d6a38622d364b1fa47ed Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 10 Jan 2019 15:39:51 +0100 Subject: Add ability to unfederate a local video (on blacklist) --- server/tests/api/check-params/video-blacklist.ts | 118 +++++++++++++---------- 1 file changed, 68 insertions(+), 50 deletions(-) (limited to 'server/tests/api/check-params') diff --git a/server/tests/api/check-params/video-blacklist.ts b/server/tests/api/check-params/video-blacklist.ts index 8e1206db3..6b82643f4 100644 --- a/server/tests/api/check-params/video-blacklist.ts +++ b/server/tests/api/check-params/video-blacklist.ts @@ -4,17 +4,20 @@ import 'mocha' import { createUser, + doubleFollow, + flushAndRunMultipleServers, flushTests, - getBlacklistedVideosList, getVideo, getVideoWithToken, + getBlacklistedVideosList, + getVideo, + getVideoWithToken, killallServers, makePostBodyRequest, makePutBodyRequest, removeVideoFromBlacklist, - runServer, ServerInfo, setAccessTokensToServers, uploadVideo, - userLogin + userLogin, waitJobs } from '../../../../shared/utils' import { checkBadCountPagination, @@ -25,8 +28,9 @@ import { VideoDetails } from '../../../../shared/models/videos' import { expect } from 'chai' describe('Test video blacklist API validators', function () { - let server: ServerInfo + let servers: ServerInfo[] let notBlacklistedVideoId: number + let remoteVideoUUID: string let userAccessToken1 = '' let userAccessToken2 = '' @@ -36,75 +40,89 @@ describe('Test video blacklist API validators', function () { this.timeout(120000) await flushTests() + servers = await flushAndRunMultipleServers(2) - server = await runServer(1) - - await setAccessTokensToServers([ server ]) + await setAccessTokensToServers(servers) + await doubleFollow(servers[0], servers[1]) { const username = 'user1' const password = 'my super password' - await createUser(server.url, server.accessToken, username, password) - userAccessToken1 = await userLogin(server, { username, password }) + await createUser(servers[0].url, servers[0].accessToken, username, password) + userAccessToken1 = await userLogin(servers[0], { username, password }) } { const username = 'user2' const password = 'my super password' - await createUser(server.url, server.accessToken, username, password) - userAccessToken2 = await userLogin(server, { username, password }) + await createUser(servers[0].url, servers[0].accessToken, username, password) + userAccessToken2 = await userLogin(servers[0], { username, password }) } { - const res = await uploadVideo(server.url, userAccessToken1, {}) - server.video = res.body.video + const res = await uploadVideo(servers[0].url, userAccessToken1, {}) + servers[0].video = res.body.video } { - const res = await uploadVideo(server.url, server.accessToken, {}) + const res = await uploadVideo(servers[0].url, servers[0].accessToken, {}) notBlacklistedVideoId = res.body.video.uuid } + + { + const res = await uploadVideo(servers[1].url, servers[1].accessToken, {}) + remoteVideoUUID = res.body.video.uuid + } + + await waitJobs(servers) }) describe('When adding a video in blacklist', function () { const basePath = '/api/v1/videos/' it('Should fail with nothing', async function () { - const path = basePath + server.video + '/blacklist' + const path = basePath + servers[0].video + '/blacklist' const fields = {} - await makePostBodyRequest({ url: server.url, path, token: server.accessToken, fields }) + await makePostBodyRequest({ url: servers[0].url, path, token: servers[0].accessToken, fields }) }) it('Should fail with a wrong video', async function () { const wrongPath = '/api/v1/videos/blabla/blacklist' const fields = {} - await makePostBodyRequest({ url: server.url, path: wrongPath, token: server.accessToken, fields }) + await makePostBodyRequest({ url: servers[0].url, path: wrongPath, token: servers[0].accessToken, fields }) }) it('Should fail with a non authenticated user', async function () { - const path = basePath + server.video + '/blacklist' + const path = basePath + servers[0].video + '/blacklist' const fields = {} - await makePostBodyRequest({ url: server.url, path, token: 'hello', fields, statusCodeExpected: 401 }) + await makePostBodyRequest({ url: servers[0].url, path, token: 'hello', fields, statusCodeExpected: 401 }) }) it('Should fail with a non admin user', async function () { - const path = basePath + server.video + '/blacklist' + const path = basePath + servers[0].video + '/blacklist' const fields = {} - await makePostBodyRequest({ url: server.url, path, token: userAccessToken2, fields, statusCodeExpected: 403 }) + await makePostBodyRequest({ url: servers[0].url, path, token: userAccessToken2, fields, statusCodeExpected: 403 }) }) it('Should fail with an invalid reason', async function () { - const path = basePath + server.video.uuid + '/blacklist' + const path = basePath + servers[0].video.uuid + '/blacklist' const fields = { reason: 'a'.repeat(305) } - await makePostBodyRequest({ url: server.url, path, token: server.accessToken, fields }) + await makePostBodyRequest({ url: servers[0].url, path, token: servers[0].accessToken, fields }) + }) + + it('Should fail to unfederate a remote video', async function () { + const path = basePath + remoteVideoUUID + '/blacklist' + const fields = { unfederate: true } + + await makePostBodyRequest({ url: servers[0].url, path, token: servers[0].accessToken, fields, statusCodeExpected: 409 }) }) it('Should succeed with the correct params', async function () { - const path = basePath + server.video.uuid + '/blacklist' + const path = basePath + servers[0].video.uuid + '/blacklist' const fields = { } - await makePostBodyRequest({ url: server.url, path, token: server.accessToken, fields, statusCodeExpected: 204 }) + await makePostBodyRequest({ url: servers[0].url, path, token: servers[0].accessToken, fields, statusCodeExpected: 204 }) }) }) @@ -114,61 +132,61 @@ describe('Test video blacklist API validators', function () { it('Should fail with a wrong video', async function () { const wrongPath = '/api/v1/videos/blabla/blacklist' const fields = {} - await makePutBodyRequest({ url: server.url, path: wrongPath, token: server.accessToken, fields }) + await makePutBodyRequest({ url: servers[0].url, path: wrongPath, token: servers[0].accessToken, fields }) }) it('Should fail with a video not blacklisted', async function () { const path = '/api/v1/videos/' + notBlacklistedVideoId + '/blacklist' const fields = {} - await makePutBodyRequest({ url: server.url, path, token: server.accessToken, fields, statusCodeExpected: 404 }) + await makePutBodyRequest({ url: servers[0].url, path, token: servers[0].accessToken, fields, statusCodeExpected: 404 }) }) it('Should fail with a non authenticated user', async function () { - const path = basePath + server.video + '/blacklist' + const path = basePath + servers[0].video + '/blacklist' const fields = {} - await makePutBodyRequest({ url: server.url, path, token: 'hello', fields, statusCodeExpected: 401 }) + await makePutBodyRequest({ url: servers[0].url, path, token: 'hello', fields, statusCodeExpected: 401 }) }) it('Should fail with a non admin user', async function () { - const path = basePath + server.video + '/blacklist' + const path = basePath + servers[0].video + '/blacklist' const fields = {} - await makePutBodyRequest({ url: server.url, path, token: userAccessToken2, fields, statusCodeExpected: 403 }) + await makePutBodyRequest({ url: servers[0].url, path, token: userAccessToken2, fields, statusCodeExpected: 403 }) }) it('Should fail with an invalid reason', async function () { - const path = basePath + server.video.uuid + '/blacklist' + const path = basePath + servers[0].video.uuid + '/blacklist' const fields = { reason: 'a'.repeat(305) } - await makePutBodyRequest({ url: server.url, path, token: server.accessToken, fields }) + await makePutBodyRequest({ url: servers[0].url, path, token: servers[0].accessToken, fields }) }) it('Should succeed with the correct params', async function () { - const path = basePath + server.video.uuid + '/blacklist' + const path = basePath + servers[0].video.uuid + '/blacklist' const fields = { reason: 'hello' } - await makePutBodyRequest({ url: server.url, path, token: server.accessToken, fields, statusCodeExpected: 204 }) + await makePutBodyRequest({ url: servers[0].url, path, token: servers[0].accessToken, fields, statusCodeExpected: 204 }) }) }) describe('When getting blacklisted video', function () { it('Should fail with a non authenticated user', async function () { - await getVideo(server.url, server.video.uuid, 401) + await getVideo(servers[0].url, servers[0].video.uuid, 401) }) it('Should fail with another user', async function () { - await getVideoWithToken(server.url, userAccessToken2, server.video.uuid, 403) + await getVideoWithToken(servers[0].url, userAccessToken2, servers[0].video.uuid, 403) }) it('Should succeed with the owner authenticated user', async function () { - const res = await getVideoWithToken(server.url, userAccessToken1, server.video.uuid, 200) + const res = await getVideoWithToken(servers[0].url, userAccessToken1, servers[0].video.uuid, 200) const video: VideoDetails = res.body expect(video.blacklisted).to.be.true }) it('Should succeed with an admin', async function () { - const res = await getVideoWithToken(server.url, server.accessToken, server.video.uuid, 200) + const res = await getVideoWithToken(servers[0].url, servers[0].accessToken, servers[0].video.uuid, 200) const video: VideoDetails = res.body expect(video.blacklisted).to.be.true @@ -177,24 +195,24 @@ describe('Test video blacklist API validators', function () { describe('When removing a video in blacklist', function () { it('Should fail with a non authenticated user', async function () { - await removeVideoFromBlacklist(server.url, 'fake token', server.video.uuid, 401) + await removeVideoFromBlacklist(servers[0].url, 'fake token', servers[0].video.uuid, 401) }) it('Should fail with a non admin user', async function () { - await removeVideoFromBlacklist(server.url, userAccessToken2, server.video.uuid, 403) + await removeVideoFromBlacklist(servers[0].url, userAccessToken2, servers[0].video.uuid, 403) }) it('Should fail with an incorrect id', async function () { - await removeVideoFromBlacklist(server.url, server.accessToken, 'hello', 400) + await removeVideoFromBlacklist(servers[0].url, servers[0].accessToken, 'hello', 400) }) it('Should fail with a not blacklisted video', async function () { // The video was not added to the blacklist so it should fail - await removeVideoFromBlacklist(server.url, server.accessToken, notBlacklistedVideoId, 404) + await removeVideoFromBlacklist(servers[0].url, servers[0].accessToken, notBlacklistedVideoId, 404) }) it('Should succeed with the correct params', async function () { - await removeVideoFromBlacklist(server.url, server.accessToken, server.video.uuid, 204) + await removeVideoFromBlacklist(servers[0].url, servers[0].accessToken, servers[0].video.uuid, 204) }) }) @@ -202,28 +220,28 @@ describe('Test video blacklist API validators', function () { const basePath = '/api/v1/videos/blacklist/' it('Should fail with a non authenticated user', async function () { - await getBlacklistedVideosList(server.url, 'fake token', 401) + await getBlacklistedVideosList(servers[0].url, 'fake token', 401) }) it('Should fail with a non admin user', async function () { - await getBlacklistedVideosList(server.url, userAccessToken2, 403) + await getBlacklistedVideosList(servers[0].url, userAccessToken2, 403) }) it('Should fail with a bad start pagination', async function () { - await checkBadStartPagination(server.url, basePath, server.accessToken) + await checkBadStartPagination(servers[0].url, basePath, servers[0].accessToken) }) it('Should fail with a bad count pagination', async function () { - await checkBadCountPagination(server.url, basePath, server.accessToken) + await checkBadCountPagination(servers[0].url, basePath, servers[0].accessToken) }) it('Should fail with an incorrect sort', async function () { - await checkBadSortPagination(server.url, basePath, server.accessToken) + await checkBadSortPagination(servers[0].url, basePath, servers[0].accessToken) }) }) after(async function () { - killallServers([ server ]) + killallServers(servers) // Keep the logs if the test failed if (this['ok']) { -- cgit v1.2.3 From 1506307f2f903ce0f80155072a33345c702b7c76 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 14 Jan 2019 16:48:38 +0100 Subject: Increase abuse length to 3000 And correctly handle new lines --- server/tests/api/check-params/video-abuses.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'server/tests/api/check-params') diff --git a/server/tests/api/check-params/video-abuses.ts b/server/tests/api/check-params/video-abuses.ts index a79ab4201..3b8f5f14d 100644 --- a/server/tests/api/check-params/video-abuses.ts +++ b/server/tests/api/check-params/video-abuses.ts @@ -113,8 +113,8 @@ describe('Test video abuses API validators', function () { await makePostBodyRequest({ url: server.url, path, token: server.accessToken, fields }) }) - it('Should fail with a reason too big', async function () { - const fields = { reason: 'super'.repeat(61) } + it('Should fail with a too big reason', async function () { + const fields = { reason: 'super'.repeat(605) } await makePostBodyRequest({ url: server.url, path, token: server.accessToken, fields }) }) @@ -154,7 +154,7 @@ describe('Test video abuses API validators', function () { }) it('Should fail with a bad moderation comment', async function () { - const body = { moderationComment: 'b'.repeat(305) } + const body = { moderationComment: 'b'.repeat(3001) } await updateVideoAbuse(server.url, server.accessToken, server.video.uuid, videoAbuseId, body, 400) }) -- cgit v1.2.3 From 848f499def54db2dd36437ef0dfb74dd5041c23b Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Tue, 15 Jan 2019 11:14:12 +0100 Subject: Prepare Dislike/Flag/View fixes For now we Create these activities, but we should just send them directly. This fix handles correctly direct Dislikes/Flags/Views, we'll implement the sending correctly these activities in the next peertube version --- server/tests/api/check-params/contact-form.ts | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'server/tests/api/check-params') diff --git a/server/tests/api/check-params/contact-form.ts b/server/tests/api/check-params/contact-form.ts index 2407ac0b5..c7e014b1f 100644 --- a/server/tests/api/check-params/contact-form.ts +++ b/server/tests/api/check-params/contact-form.ts @@ -46,6 +46,8 @@ describe('Test contact form API validators', function () { }) it('Should not accept a contact form if it is disabled in the configuration', async function () { + this.timeout(10000) + killallServers([ server ]) // Contact form is disabled @@ -54,6 +56,8 @@ describe('Test contact form API validators', function () { }) it('Should not accept a contact form if from email is invalid', async function () { + this.timeout(10000) + killallServers([ server ]) // Email & contact form enabled -- cgit v1.2.3 From 926cd3df339772dd1cbb9e10996518e8cb2e001d Mon Sep 17 00:00:00 2001 From: Josh Morel Date: Mon, 28 Jan 2019 05:45:40 -0500 Subject: fix typo in test accounts api validators --- server/tests/api/check-params/accounts.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'server/tests/api/check-params') diff --git a/server/tests/api/check-params/accounts.ts b/server/tests/api/check-params/accounts.ts index 567fd072c..68f9519c6 100644 --- a/server/tests/api/check-params/accounts.ts +++ b/server/tests/api/check-params/accounts.ts @@ -10,7 +10,7 @@ import { } from '../../../../shared/utils/requests/check-api-params' import { getAccount } from '../../../../shared/utils/users/accounts' -describe('Test users API validators', function () { +describe('Test accounts API validators', function () { const path = '/api/v1/accounts/' let server: ServerInfo -- cgit v1.2.3 From 092092969633bbcf6d4891a083ea497a7d5c3154 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Tue, 29 Jan 2019 08:37:25 +0100 Subject: Add hls support on server --- server/tests/api/check-params/config.ts | 3 +++ 1 file changed, 3 insertions(+) (limited to 'server/tests/api/check-params') diff --git a/server/tests/api/check-params/config.ts b/server/tests/api/check-params/config.ts index 4038ecbf0..07de2b5a5 100644 --- a/server/tests/api/check-params/config.ts +++ b/server/tests/api/check-params/config.ts @@ -65,6 +65,9 @@ describe('Test config API validators', function () { '480p': true, '720p': false, '1080p': false + }, + hls: { + enabled: false } }, import: { -- cgit v1.2.3 From b426edd4854adc6e65844d8c54b8998e792b5778 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 11 Feb 2019 09:30:29 +0100 Subject: Cleanup reset user password by admin And add some tests --- server/tests/api/check-params/users.ts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'server/tests/api/check-params') diff --git a/server/tests/api/check-params/users.ts b/server/tests/api/check-params/users.ts index a3e8e2e9c..13be8b460 100644 --- a/server/tests/api/check-params/users.ts +++ b/server/tests/api/check-params/users.ts @@ -464,6 +464,24 @@ describe('Test users API validators', function () { await makePutBodyRequest({ url: server.url, path: path + userId, token: server.accessToken, fields }) }) + it('Should fail with a too small password', async function () { + const fields = { + currentPassword: 'my super password', + password: 'bla' + } + + await makePutBodyRequest({ url: server.url, path: path + userId, token: server.accessToken, fields }) + }) + + it('Should fail with a too long password', async function () { + const fields = { + currentPassword: 'my super password', + password: 'super'.repeat(61) + } + + await makePutBodyRequest({ url: server.url, path: path + userId, token: server.accessToken, fields }) + }) + it('Should fail with an non authenticated user', async function () { const fields = { videoQuota: 42 -- cgit v1.2.3