From fdbda9e3d6564ec908733c7019305f6a3c363a9f Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 7 Sep 2017 15:27:35 +0200 Subject: Add tests for npm run scripts --- server/tests/cli/index.ts | 2 ++ server/tests/cli/reset-password.ts | 45 ++++++++++++++++++++++++ server/tests/cli/update-host.ts | 71 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 118 insertions(+) create mode 100644 server/tests/cli/index.ts create mode 100644 server/tests/cli/reset-password.ts create mode 100644 server/tests/cli/update-host.ts (limited to 'server/tests/cli') diff --git a/server/tests/cli/index.ts b/server/tests/cli/index.ts new file mode 100644 index 000000000..e5a19ff10 --- /dev/null +++ b/server/tests/cli/index.ts @@ -0,0 +1,2 @@ +// Order of the tests we want to execute +import './reset-password' diff --git a/server/tests/cli/reset-password.ts b/server/tests/cli/reset-password.ts new file mode 100644 index 000000000..bbf0b3d11 --- /dev/null +++ b/server/tests/cli/reset-password.ts @@ -0,0 +1,45 @@ +import 'mocha' + +import { + createUser, + execCLI, + flushTests, + getEnvCli, + killallServers, + login, + runServer, + ServerInfo, + setAccessTokensToServers +} from '../utils' + +describe('Test reset password scripts', function () { + let server: ServerInfo + + before(async function () { + this.timeout(30000) + + await flushTests() + server = await runServer(1) + await setAccessTokensToServers([ server ]) + + await createUser(server.url, server.accessToken, 'user_1', 'super password') + }) + + it('Should change the user password from CLI', async function () { + this.timeout(20000) + + const env = getEnvCli(server) + await execCLI(`echo coucou | ${env} npm run reset-password -- -u user_1`) + + await login(server.url, server.client, { username: 'user_1', password: 'coucou' }, 200) + }) + + after(async function () { + killallServers([ server ]) + + // Keep the logs if the test failed + if (this['ok']) { + await flushTests() + } + }) +}) diff --git a/server/tests/cli/update-host.ts b/server/tests/cli/update-host.ts new file mode 100644 index 000000000..af9703b32 --- /dev/null +++ b/server/tests/cli/update-host.ts @@ -0,0 +1,71 @@ +import 'mocha' +import * as chai from 'chai' +const expect = chai.expect + +import { + execCLI, + flushTests, + getEnvCli, + getVideosList, + killallServers, + parseTorrentVideo, + runServer, + ServerInfo, + setAccessTokensToServers, + uploadVideo +} from '../utils' + +describe('Test update host scripts', function () { + let server: ServerInfo + + before(async function () { + this.timeout(30000) + + await flushTests() + + const overrideConfig = { + webserver: { + port: 9256 + } + } + server = await runServer(1, overrideConfig) + await setAccessTokensToServers([ server ]) + + // Upload two videos for our needs + const videoAttributes = {} + await uploadVideo(server.url, server.accessToken, videoAttributes) + await uploadVideo(server.url, server.accessToken, videoAttributes) + }) + + it('Should update torrent hosts', async function () { + this.timeout(20000) + + killallServers([ server ]) + server = await runServer(1) + + const env = getEnvCli(server) + await execCLI(`${env} npm run update-host`) + + const res = await getVideosList(server.url) + const videos = res.body.data + + expect(videos[0].files[0].magnetUri).to.contain('localhost%3A9001%2Ftracker%2Fsocket') + expect(videos[0].files[0].magnetUri).to.contain('localhost%3A9001%2Fstatic%2Fwebseed%2F') + + expect(videos[1].files[0].magnetUri).to.contain('localhost%3A9001%2Ftracker%2Fsocket') + expect(videos[1].files[0].magnetUri).to.contain('localhost%3A9001%2Fstatic%2Fwebseed%2F') + + const torrent = await parseTorrentVideo(server, videos[0].uuid) + expect(torrent.announce[0]).to.equal('ws://localhost:9001/tracker/socket') + expect(torrent.urlList[0]).to.contain('http://localhost:9001/static/webseed') + }) + + after(async function () { + killallServers([ server ]) + + // Keep the logs if the test failed + if (this['ok']) { + await flushTests() + } + }) +}) -- cgit v1.2.3