X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Ftests%2Fapi%2Fserver%2Flogs.ts;h=ed7555fd76691023f3825c9df40acc4a7ed42674;hb=073deef8862f462de5f159a57877ef415ebe4c69;hp=697f10337980a27822c0df4eb1fd0b4e841b5e24;hpb=bf54587a3e2ad9c2c186828f2a5682b91ee2cc00;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/tests/api/server/logs.ts b/server/tests/api/server/logs.ts index 697f10337..ed7555fd7 100644 --- a/server/tests/api/server/logs.ts +++ b/server/tests/api/server/logs.ts @@ -2,6 +2,7 @@ import 'mocha' import * as chai from 'chai' +import { HttpStatusCode } from '@shared/models' import { cleanupTests, createSingleServer, @@ -198,6 +199,70 @@ describe('Test logs', function () { }) }) + describe('When creating log from the client', function () { + + it('Should create a warn client log', async function () { + const now = new Date() + + await server.logs.createLogClient({ + payload: { + level: 'warn', + url: 'http://example.com', + message: 'my super client message' + }, + token: null + }) + + const body = await logsCommand.getLogs({ startDate: now }) + const logsString = JSON.stringify(body) + + expect(logsString.includes('my super client message')).to.be.true + }) + + it('Should create an error authenticated client log', async function () { + const now = new Date() + + await server.logs.createLogClient({ + payload: { + url: 'https://example.com/page1', + level: 'error', + message: 'my super client message 2', + userAgent: 'super user agent', + meta: '{hello}', + stackTrace: 'super stack trace' + } + }) + + const body = await logsCommand.getLogs({ startDate: now }) + const logsString = JSON.stringify(body) + + expect(logsString.includes('my super client message 2')).to.be.true + expect(logsString.includes('super user agent')).to.be.true + expect(logsString.includes('super stack trace')).to.be.true + expect(logsString.includes('{hello}')).to.be.true + expect(logsString.includes('https://example.com/page1')).to.be.true + }) + + it('Should refuse to create client logs', async function () { + await server.kill() + + await server.run({ + log: { + accept_client_log: false + } + }) + + await server.logs.createLogClient({ + payload: { + level: 'warn', + url: 'http://example.com', + message: 'my super client message' + }, + expectedStatus: HttpStatusCode.FORBIDDEN_403 + }) + }) + }) + after(async function () { await cleanupTests([ server ]) })