From b3af2601da92a6c0835cb2473b4c7a41a0d86e98 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 20 Apr 2020 15:32:11 +0200 Subject: Add ability to remove privacies using plugins --- .../fixtures/peertube-plugin-test-three/main.js | 7 ++- server/tests/plugins/video-constants.ts | 55 ++++++++++++++++++++-- 2 files changed, 58 insertions(+), 4 deletions(-) (limited to 'server/tests') diff --git a/server/tests/fixtures/peertube-plugin-test-three/main.js b/server/tests/fixtures/peertube-plugin-test-three/main.js index 4945feb55..f2b89bcf0 100644 --- a/server/tests/fixtures/peertube-plugin-test-three/main.js +++ b/server/tests/fixtures/peertube-plugin-test-three/main.js @@ -5,7 +5,9 @@ async function register ({ storageManager, videoCategoryManager, videoLicenceManager, - videoLanguageManager + videoLanguageManager, + videoPrivacyManager, + playlistPrivacyManager }) { videoLanguageManager.addLanguage('al_bhed', 'Al Bhed') videoLanguageManager.addLanguage('al_bhed2', 'Al Bhed 2') @@ -21,6 +23,9 @@ async function register ({ videoLicenceManager.addLicence(43, 'High best licence') videoLicenceManager.deleteLicence(1) // Attribution videoLicenceManager.deleteLicence(7) // Public domain + + videoPrivacyManager.deletePrivacy(2) + playlistPrivacyManager.deletePlaylistPrivacy(3) } async function unregister () { diff --git a/server/tests/plugins/video-constants.ts b/server/tests/plugins/video-constants.ts index 5374b5ecc..fec9196e2 100644 --- a/server/tests/plugins/video-constants.ts +++ b/server/tests/plugins/video-constants.ts @@ -4,17 +4,18 @@ import * as chai from 'chai' import 'mocha' import { cleanupTests, flushAndRunServer, ServerInfo } from '../../../shared/extra-utils/server/servers' import { + createVideoPlaylist, getPluginTestPath, getVideo, getVideoCategories, getVideoLanguages, - getVideoLicences, + getVideoLicences, getVideoPlaylistPrivacies, getVideoPrivacies, installPlugin, setAccessTokensToServers, uninstallPlugin, uploadVideo } from '../../../shared/extra-utils' -import { VideoDetails } from '../../../shared/models/videos' +import { VideoDetails, VideoPlaylistPrivacy } from '../../../shared/models/videos' const expect = chai.expect @@ -67,6 +68,35 @@ describe('Test plugin altering video constants', function () { expect(licences[43]).to.equal('High best licence') }) + it('Should have updated video privacies', async function () { + const res = await getVideoPrivacies(server.url) + const privacies = res.body + + expect(privacies[1]).to.exist + expect(privacies[2]).to.not.exist + expect(privacies[3]).to.exist + expect(privacies[4]).to.exist + }) + + it('Should have updated playlist privacies', async function () { + const res = await getVideoPlaylistPrivacies(server.url) + const playlistPrivacies = res.body + + expect(playlistPrivacies[1]).to.exist + expect(playlistPrivacies[2]).to.exist + expect(playlistPrivacies[3]).to.not.exist + }) + + it('Should not be able to create a video with this privacy', async function () { + const attrs = { name: 'video', privacy: 2 } + await uploadVideo(server.url, server.accessToken, attrs, 400) + }) + + it('Should not be able to create a video with this privacy', async function () { + const attrs = { displayName: 'video playlist', privacy: VideoPlaylistPrivacy.PRIVATE } + await createVideoPlaylist({ url: server.url, token: server.accessToken, playlistAttrs: attrs, expectedStatus: 400 }) + }) + it('Should be able to upload a video with these values', async function () { const attrs = { name: 'video', category: 42, licence: 42, language: 'al_bhed2' } const resUpload = await uploadVideo(server.url, server.accessToken, attrs) @@ -79,7 +109,7 @@ describe('Test plugin altering video constants', function () { expect(video.category.label).to.equal('Best category') }) - it('Should uninstall the plugin and reset languages, categories and licences', async function () { + it('Should uninstall the plugin and reset languages, categories, licences and privacies', async function () { await uninstallPlugin({ url: server.url, accessToken: server.accessToken, npmName: 'peertube-plugin-test-three' }) { @@ -114,6 +144,25 @@ describe('Test plugin altering video constants', function () { expect(licences[42]).to.not.exist expect(licences[43]).to.not.exist } + + { + const res = await getVideoPrivacies(server.url) + const privacies = res.body + + expect(privacies[1]).to.exist + expect(privacies[2]).to.exist + expect(privacies[3]).to.exist + expect(privacies[4]).to.exist + } + + { + const res = await getVideoPlaylistPrivacies(server.url) + const playlistPrivacies = res.body + + expect(playlistPrivacies[1]).to.exist + expect(playlistPrivacies[2]).to.exist + expect(playlistPrivacies[3]).to.exist + } }) after(async function () { -- cgit v1.2.3