X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Ftests%2Fcli%2Fpeertube.ts;h=400d5867c07115737c7374dc3d18835688921115;hb=3a0c2a77b1a6626699514ddaf8135f4397175443;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..400d5867c 100644 --- a/server/tests/cli/peertube.ts +++ b/server/tests/cli/peertube.ts @@ -1,23 +1,20 @@ /* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */ -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 +24,13 @@ describe('Test CLI wrapper', function () { before(async function () { this.timeout(30000) - server = await flushAndRunServer(1) + server = await createSingleServer(1, { + rates_limit: { + login: { + max: 30 + } + } + }) await setAccessTokensToServers([ server ]) await server.users.create({ username: 'user_1', password: 'super_password' }) @@ -117,7 +120,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 +141,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 +168,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 +227,49 @@ 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') + }) + + it('Should install a plugin in requested beta version', async function () { + this.timeout(60000) + + await cliCommand.execWithEnv(`${cmd} plugins install --npm-name peertube-plugin-hello-world --plugin-version 0.0.21-beta.1`) + + const res = await cliCommand.execWithEnv(`${cmd} plugins list`) + + expect(res).to.contain('peertube-plugin-hello-world') + expect(res).to.contain('0.0.21-beta.1') + + await cliCommand.execWithEnv(`${cmd} plugins uninstall --npm-name 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) @@ -248,7 +300,7 @@ describe('Test CLI wrapper', function () { const stdout = await cliCommand.execWithEnv(`${cmd} redundancy ${params}`) expect(stdout).to.contain('super video') - expect(stdout).to.contain(`localhost:${server.port}`) + expect(stdout).to.contain(server.host) } })