Fix travis tests

This commit is contained in:
Chocobozzz 2018-07-23 11:28:27 +02:00
parent 6e930af9f8
commit 5bcfd02974
2 changed files with 87 additions and 30 deletions

View File

@ -4,16 +4,19 @@ import 'mocha'
import * as chai from 'chai'
import { About } from '../../../../shared/models/server/about.model'
import { CustomConfig } from '../../../../shared/models/server/custom-config.model'
import { deleteCustomConfig, getAbout, killallServers, makeHTMLRequest, reRunServer } from '../../utils'
const expect = chai.expect
import { deleteCustomConfig, getAbout, killallServers, reRunServer } from '../../utils'
import {
getConfig,
flushTests,
getConfig,
getCustomConfig,
registerUser,
runServer,
registerUser, getCustomConfig, setAccessTokensToServers, updateCustomConfig
setAccessTokensToServers,
updateCustomConfig
} from '../../utils/index'
const expect = chai.expect
function checkInitialConfig (data: CustomConfig) {
expect(data.instance.name).to.equal('PeerTube')
expect(data.instance.shortDescription).to.equal(
@ -69,12 +72,6 @@ function checkUpdatedConfig (data: CustomConfig) {
expect(data.transcoding.resolutions['1080p']).to.be.false
}
function checkIndexTags (html: string, title: string, description: string, css: string) {
expect(html).to.contain('<title>' + title + '</title>')
expect(html).to.contain('<meta name="description" content="' + description + '" />')
expect(html).to.contain('<style class="custom-css-style">' + css + '</style>')
}
describe('Test config', function () {
let server = null
@ -115,14 +112,6 @@ describe('Test config', function () {
checkInitialConfig(data)
})
it('Should have valid index html tags (title, description...)', async function () {
const res = await makeHTMLRequest(server.url, '/videos/trending')
const description = 'PeerTube, a federated (ActivityPub) video streaming platform using P2P (BitTorrent) directly in the web browser ' +
'with WebTorrent and Angular.'
checkIndexTags(res.text, 'PeerTube', description, '')
})
it('Should update the customized configuration', async function () {
const newCustomConfig: CustomConfig = {
instance: {
@ -181,12 +170,6 @@ describe('Test config', function () {
checkUpdatedConfig(data)
})
it('Should have valid index html updated tags (title, description...)', async function () {
const res = await makeHTMLRequest(server.url, '/videos/trending')
checkIndexTags(res.text, 'PeerTube updated', 'my short description', 'body { background-color: red; }')
})
it('Should have the configuration updated after a restart', async function () {
this.timeout(10000)
@ -198,10 +181,6 @@ describe('Test config', function () {
const data = res.body
checkUpdatedConfig(data)
// Check HTML too
const resHtml = await makeHTMLRequest(server.url, '/videos/trending')
checkIndexTags(resHtml.text, 'PeerTube updated', 'my short description', 'body { background-color: red; }')
})
it('Should fetch the about information', async function () {

View File

@ -11,8 +11,15 @@ import {
runServer,
serverLogin,
uploadVideo,
getVideosList, updateCustomConfig, getCustomConfig, killallServers
getVideosList, updateCustomConfig, getCustomConfig, killallServers, makeHTMLRequest
} from './utils'
import { CustomConfig } from '../../shared/models/server/custom-config.model'
function checkIndexTags (html: string, title: string, description: string, css: string) {
expect(html).to.contain('<title>' + title + '</title>')
expect(html).to.contain('<meta name="description" content="' + description + '" />')
expect(html).to.contain('<style class="custom-css-style">' + css + '</style>')
}
describe('Test a client controllers', function () {
let server: ServerInfo
@ -101,6 +108,77 @@ describe('Test a client controllers', function () {
expect(res.text).to.contain('<meta property="twitter:site" content="@Kuja" />')
})
it('Should have valid index html tags (title, description...)', async function () {
const res = await makeHTMLRequest(server.url, '/videos/trending')
const description = 'PeerTube, a federated (ActivityPub) video streaming platform using P2P (BitTorrent) directly in the web browser ' +
'with WebTorrent and Angular.'
checkIndexTags(res.text, 'PeerTube', description, '')
})
it('Should update the customized configuration and have the correct index html tags', async function () {
const newCustomConfig: CustomConfig = {
instance: {
name: 'PeerTube updated',
shortDescription: 'my short description',
description: 'my super description',
terms: 'my super terms',
defaultClientRoute: '/videos/recently-added',
defaultNSFWPolicy: 'blur' as 'blur',
customizations: {
javascript: 'alert("coucou")',
css: 'body { background-color: red; }'
}
},
services: {
twitter: {
username: '@Kuja',
whitelisted: true
}
},
cache: {
previews: {
size: 2
},
captions: {
size: 3
}
},
signup: {
enabled: false,
limit: 5
},
admin: {
email: 'superadmin1@example.com'
},
user: {
videoQuota: 5242881
},
transcoding: {
enabled: true,
threads: 1,
resolutions: {
'240p': false,
'360p': true,
'480p': true,
'720p': false,
'1080p': false
}
}
}
await updateCustomConfig(server.url, server.accessToken, newCustomConfig)
const res = await makeHTMLRequest(server.url, '/videos/trending')
checkIndexTags(res.text, 'PeerTube updated', 'my short description', 'body { background-color: red; }')
})
it('Should have valid index html updated tags (title, description...)', async function () {
const res = await makeHTMLRequest(server.url, '/videos/trending')
checkIndexTags(res.text, 'PeerTube updated', 'my short description', 'body { background-color: red; }')
})
after(async function () {
killallServers([ server ])
})