Fix and add skipping ping log tests

pull/3592/head
Chocobozzz 2021-01-13 09:38:19 +01:00
parent 9bb720f3f9
commit 78d62f4d18
No known key found for this signature in database
GPG Key ID: 583A612D890159BE
3 changed files with 41 additions and 4 deletions

View File

@ -159,9 +159,7 @@ morgan.token('user-agent', (req: express.Request) => {
})
app.use(morgan('combined', {
stream: { write: logger.info.bind(logger) },
skip: function (req, res) {
return (req.path === '/api/v1/ping' && CONFIG.LOG.LOG_PING_REQUESTS === false)
},
skip: req => CONFIG.LOG.LOG_PING_REQUESTS === false && req.originalUrl === '/api/v1/ping'
}))
// For body requests

View File

@ -2,7 +2,7 @@
import * as chai from 'chai'
import 'mocha'
import { cleanupTests, flushAndRunServer, ServerInfo, setAccessTokensToServers } from '../../../../shared/extra-utils/index'
import { cleanupTests, flushAndRunServer, killallServers, makeGetRequest, makePingRequest, reRunServer, ServerInfo, setAccessTokensToServers } from '../../../../shared/extra-utils/index'
import { waitJobs } from '../../../../shared/extra-utils/server/jobs'
import { uploadVideo } from '../../../../shared/extra-utils/videos/videos'
import { getAuditLogs, getLogs } from '../../../../shared/extra-utils/logs/logs'
@ -20,6 +20,7 @@ describe('Test logs', function () {
})
describe('With the standard log file', function () {
it('Should get logs with a start date', async function () {
this.timeout(10000)
@ -84,6 +85,34 @@ describe('Test logs', function () {
expect(logsString.includes('video 6')).to.be.false
}
})
it('Should log ping requests', async function () {
const now = new Date()
await makePingRequest(server)
const res = await getLogs(server.url, server.accessToken, now, undefined, 'info')
const logsString = JSON.stringify(res.body)
expect(logsString.includes('/api/v1/ping')).to.be.true
})
it('Should not log ping requests', async function () {
this.timeout(30000)
killallServers([ server ])
await reRunServer(server, { log: { log_ping_requests: false } })
const now = new Date()
await makePingRequest(server)
const res = await getLogs(server.url, server.accessToken, now, undefined, 'info')
const logsString = JSON.stringify(res.body)
expect(logsString.includes('/api/v1/ping')).to.be.false
})
})
describe('With the audit log', function () {

View File

@ -7,6 +7,7 @@ import { join } from 'path'
import { randomInt } from '../../core-utils/miscs/miscs'
import { VideoChannel } from '../../models/videos'
import { buildServerDirectory, getFileSize, isGithubCI, root, wait } from '../miscs/miscs'
import { makeGetRequest } from '../requests/requests'
interface ServerInfo {
app: ChildProcess
@ -347,6 +348,14 @@ async function getServerFileSize (server: ServerInfo, subPath: string) {
return getFileSize(path)
}
function makePingRequest (server: ServerInfo) {
return makeGetRequest({
url: server.url,
path: '/api/v1/ping',
statusCodeExpected: 200
})
}
// ---------------------------------------------------------------------------
export {
@ -358,6 +367,7 @@ export {
cleanupTests,
flushAndRunMultipleServers,
flushTests,
makePingRequest,
flushAndRunServer,
killallServers,
reRunServer,