juice-shop

Форк
0
/
socketSpec.ts 
52 строки · 1.9 Кб
1
/*
2
 * Copyright (c) 2014-2024 Bjoern Kimminich & the OWASP Juice Shop contributors.
3
 * SPDX-License-Identifier: MIT
4
 */
5

6
import io from 'socket.io-client'
7

8
describe('WebSocket', () => {
9
  let socket: SocketIOClient.Socket
10

11
  beforeEach(done => {
12
    socket = io('http://localhost:3000', {
13
      reconnectionDelay: 0,
14
      forceNew: true
15
    })
16
    socket.on('connect', () => {
17
      done()
18
    })
19
  })
20

21
  afterEach(done => {
22
    if (socket.connected) {
23
      socket.disconnect()
24
    }
25
    done()
26
  })
27

28
  it('server handles confirmation messages for emitted challenge resolutions', done => {
29
    socket.emit('notification received', 'Find the carefully hidden \'Score Board\' page.')
30
    socket.emit('notification received', 'Provoke an error that is not very gracefully handled.')
31
    socket.emit('notification received', 'Log in with the administrator\'s user account.')
32
    socket.emit('notification received', 'Retrieve a list of all user credentials via SQL Injection')
33
    socket.emit('notification received', 'Post some feedback in another user\'s name.')
34
    socket.emit('notification received', 'Wherever you go, there you are.')
35
    socket.emit('notification received', 'Place an order that makes you rich.')
36
    socket.emit('notification received', 'Access a confidential document.')
37
    socket.emit('notification received', 'Access a salesman\'s forgotten backup file.')
38
    socket.emit('notification received', 'Change Bender\'s password into slurmCl4ssic.')
39
    socket.emit('notification received', 'Apply some advanced cryptanalysis to find the real easter egg.')
40
    done()
41
  })
42

43
  it('server handles confirmation message for a non-existent challenge', done => {
44
    socket.emit('notification received', 'Emit a confirmation for a challenge that was never emitted!')
45
    done()
46
  })
47

48
  it('server handles empty confirmation message', done => {
49
    socket.emit('notification received', undefined)
50
    done()
51
  })
52
})
53

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.