logs.ts 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. /* tslint:disable:no-unused-expression */
  2. import * as chai from 'chai'
  3. import 'mocha'
  4. import {
  5. flushTests,
  6. killallServers,
  7. flushAndRunServer,
  8. ServerInfo,
  9. setAccessTokensToServers,
  10. cleanupTests
  11. } from '../../../../shared/extra-utils/index'
  12. import { waitJobs } from '../../../../shared/extra-utils/server/jobs'
  13. import { uploadVideo } from '../../../../shared/extra-utils/videos/videos'
  14. import { getLogs } from '../../../../shared/extra-utils/logs/logs'
  15. const expect = chai.expect
  16. describe('Test logs', function () {
  17. let server: ServerInfo
  18. before(async function () {
  19. this.timeout(30000)
  20. server = await flushAndRunServer(1)
  21. await setAccessTokensToServers([ server ])
  22. })
  23. it('Should get logs with a start date', async function () {
  24. this.timeout(10000)
  25. await uploadVideo(server.url, server.accessToken, { name: 'video 1' })
  26. await waitJobs([ server ])
  27. const now = new Date()
  28. await uploadVideo(server.url, server.accessToken, { name: 'video 2' })
  29. await waitJobs([ server ])
  30. const res = await getLogs(server.url, server.accessToken, now)
  31. const logsString = JSON.stringify(res.body)
  32. expect(logsString.includes('video 1')).to.be.false
  33. expect(logsString.includes('video 2')).to.be.true
  34. })
  35. it('Should get logs with an end date', async function () {
  36. this.timeout(20000)
  37. await uploadVideo(server.url, server.accessToken, { name: 'video 3' })
  38. await waitJobs([ server ])
  39. const now1 = new Date()
  40. await uploadVideo(server.url, server.accessToken, { name: 'video 4' })
  41. await waitJobs([ server ])
  42. const now2 = new Date()
  43. await uploadVideo(server.url, server.accessToken, { name: 'video 5' })
  44. await waitJobs([ server ])
  45. const res = await getLogs(server.url, server.accessToken, now1, now2)
  46. const logsString = JSON.stringify(res.body)
  47. expect(logsString.includes('video 3')).to.be.false
  48. expect(logsString.includes('video 4')).to.be.true
  49. expect(logsString.includes('video 5')).to.be.false
  50. })
  51. it('Should get filter by level', async function () {
  52. this.timeout(10000)
  53. const now = new Date()
  54. await uploadVideo(server.url, server.accessToken, { name: 'video 6' })
  55. await waitJobs([ server ])
  56. {
  57. const res = await getLogs(server.url, server.accessToken, now, undefined, 'info')
  58. const logsString = JSON.stringify(res.body)
  59. expect(logsString.includes('video 6')).to.be.true
  60. }
  61. {
  62. const res = await getLogs(server.url, server.accessToken, now, undefined, 'warn')
  63. const logsString = JSON.stringify(res.body)
  64. expect(logsString.includes('video 6')).to.be.false
  65. }
  66. })
  67. after(async function () {
  68. await cleanupTests([ server ])
  69. })
  70. })