X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Ftests%2Fcli%2Fpeertube.ts;h=3aa24a0f87b49af1ff9641c844f5199697261bc9;hb=84cae54e7a2595bea0c3ea106a4d111fd11a4ec6;hp=a83aa7724e1c5c46e306836c9bd85ff030246496;hpb=89d241a79c262b9775c233b73cff080043ebb5e6;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/tests/cli/peertube.ts b/server/tests/cli/peertube.ts index a83aa7724..3aa24a0f8 100644 --- a/server/tests/cli/peertube.ts +++ b/server/tests/cli/peertube.ts @@ -2,22 +2,20 @@ import 'mocha' import { expect } from 'chai' +import { areHttpImportTestsDisabled, buildAbsoluteFixturePath } from '@shared/core-utils' import { - areHttpImportTestsDisabled, - buildAbsoluteFixturePath, cleanupTests, CLICommand, + createSingleServer, doubleFollow, - flushAndRunServer, - ImportsCommand, - ServerInfo, + PeerTubeServer, setAccessTokensToServers, - testHelloWorldRegisteredSettings, waitJobs -} from '../../../shared/extra-utils' +} from '@shared/server-commands' +import { FIXTURE_URLS, testHelloWorldRegisteredSettings } from '../shared' describe('Test CLI wrapper', function () { - let server: ServerInfo + let server: PeerTubeServer let userAccessToken: string let cliCommand: CLICommand @@ -27,7 +25,7 @@ describe('Test CLI wrapper', function () { before(async function () { this.timeout(30000) - server = await flushAndRunServer(1) + server = await createSingleServer(1) await setAccessTokensToServers([ server ]) await server.users.create({ username: 'user_1', password: 'super_password' }) @@ -117,7 +115,7 @@ describe('Test CLI wrapper', function () { this.timeout(60000) - const params = `--target-url ${ImportsCommand.getYoutubeVideoUrl()} --channel-name user_channel` + const params = `--target-url ${FIXTURE_URLS.youtube} --channel-name user_channel` await cliCommand.execWithEnv(`${cmd} import ${params}`) }) @@ -138,9 +136,26 @@ describe('Test CLI wrapper', function () { expect(videoDetails.channel.name).to.equal('user_channel') expect(videoDetails.support).to.equal('super support text') expect(videoDetails.nsfw).to.be.false + }) + + it('Should not import again the same video', async function () { + if (areHttpImportTestsDisabled()) return + + this.timeout(60000) + + const params = `--target-url ${FIXTURE_URLS.youtube} --channel-name user_channel` + await cliCommand.execWithEnv(`${cmd} import ${params}`) + + await waitJobs([ server ]) + + const { total, data } = await server.videos.list() + expect(total).to.equal(2) + + const videos = data.filter(v => v.name === 'small video - youtube') + expect(videos).to.have.lengthOf(1) // So we can reimport it - await server.videos.remove({ token: userAccessToken, id: video.id }) + await server.videos.remove({ token: userAccessToken, id: videos[0].id }) }) it('Should import and override some imported attributes', async function () { @@ -148,7 +163,7 @@ describe('Test CLI wrapper', function () { this.timeout(60000) - const params = `--target-url ${ImportsCommand.getYoutubeVideoUrl()} ` + + const params = `--target-url ${FIXTURE_URLS.youtube} ` + `--channel-name user_channel --video-name toto --nsfw --support support` await cliCommand.execWithEnv(`${cmd} import ${params}`) @@ -207,17 +222,36 @@ describe('Test CLI wrapper', function () { expect(res).to.not.contain('peertube-plugin-hello-world') }) + + it('Should install a plugin in requested version', async function () { + this.timeout(60000) + + await cliCommand.execWithEnv(`${cmd} plugins install --npm-name peertube-plugin-hello-world --plugin-version 0.0.17`) + }) + + it('Should list installed plugins, in correct version', async function () { + const res = await cliCommand.execWithEnv(`${cmd} plugins list`) + + expect(res).to.contain('peertube-plugin-hello-world') + expect(res).to.contain('0.0.17') + }) + + it('Should uninstall the plugin again', async function () { + const res = await cliCommand.execWithEnv(`${cmd} plugins uninstall --npm-name peertube-plugin-hello-world`) + + expect(res).to.not.contain('peertube-plugin-hello-world') + }) }) describe('Manage video redundancies', function () { - let anotherServer: ServerInfo + let anotherServer: PeerTubeServer let video1Server2: number - let servers: ServerInfo[] + let servers: PeerTubeServer[] before(async function () { this.timeout(120000) - anotherServer = await flushAndRunServer(2) + anotherServer = await createSingleServer(2) await setAccessTokensToServers([ anotherServer ]) await doubleFollow(server, anotherServer)