|
3 | 3 | require 'rex/proto/steam/message'
|
4 | 4 |
|
5 | 5 | describe Rex::Proto::Steam do
|
6 |
| - subject do |
| 6 | + subject(:steam) do |
7 | 7 | mod = Module.new
|
8 | 8 | mod.extend described_class
|
9 | 9 | mod
|
10 | 10 | end
|
11 | 11 |
|
12 | 12 | describe '#encode_message' do
|
13 |
| - it 'should properly encode messages' do |
14 |
| - message = subject.encode_message('T', 'Test') |
| 13 | + it 'properly encodes messages' do |
| 14 | + message = steam.encode_message('T', 'Test') |
15 | 15 | expect(message).to eq("\xFF\xFF\xFF\xFF\x54Test")
|
16 | 16 | end
|
17 | 17 | end
|
18 | 18 |
|
19 | 19 | describe '#decode_message' do
|
20 |
| - it 'should not decode overly short messages' do |
21 |
| - expect(subject.decode_message('foo')).to eq(nil) |
| 20 | + it 'does not decode overly short messages' do |
| 21 | + expect(steam.decode_message('foo')).to eq(nil) |
22 | 22 | end
|
23 | 23 |
|
24 |
| - it 'should not decode unknown messages' do |
25 |
| - expect(subject.decode_message("\xFF\xFF\xFF\x01blahblahblah")).to eq(nil) |
| 24 | + it 'does not decode unknown messages' do |
| 25 | + expect(steam.decode_message("\xFF\xFF\xFF\x01blahblahblah")).to eq(nil) |
26 | 26 | end
|
27 | 27 |
|
28 |
| - it 'should properly decode valid messages' do |
29 |
| - header, type, message = subject.decode_message("\xFF\xFF\xFF\xFF\x54Test") |
| 28 | + it 'properly decodes valid messages' do |
| 29 | + header, type, message = steam.decode_message("\xFF\xFF\xFF\xFF\x54Test") |
30 | 30 | expect(header).to eq(Rex::Proto::Steam::UNFRAGMENTED_HEADER)
|
31 | 31 | expect(type).to eq(0x54)
|
32 | 32 | expect(message).to eq('Test')
|
33 | 33 | end
|
34 | 34 | end
|
35 | 35 |
|
36 | 36 | describe '#a2s_info_decode' do
|
37 |
| - it 'should extract a2s_info fields properly' do |
| 37 | + it 'extracts a2s_info fields properly' do |
38 | 38 | expected_info = {
|
39 | 39 | version: 17, name: "-=THE BATTLEGROUNDS *HARDCORE*=-", map: "aoc_battleground",
|
40 | 40 | folder: "ageofchivalry", game_name: "Age of Chivalry", game_id: 17510,
|
41 | 41 | players: "22/32", bots: 0, game_version: "1.0.0.6", type: "Dedicated",
|
42 | 42 | environment: "Linux", visibility: "public", VAC: "secured"
|
43 | 43 | }
|
44 |
| - actual_info = subject.a2s_info_decode(IO.read(File.join(File.dirname(__FILE__), 'steam_info.bin'))) |
| 44 | + actual_info = steam.a2s_info_decode(IO.read(File.join(File.dirname(__FILE__), 'steam_info.bin'))) |
45 | 45 | expect(actual_info).to eq(expected_info)
|
46 | 46 | end
|
47 | 47 | end
|
|
0 commit comments