summaryrefslogtreecommitdiffstats
path: root/scripts/automation/trex_control_plane/stl/services/scapy_server/unit_tests/test_utils.py
blob: ceb88b472dc37090536056c97a4909aa68f6f0d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# run with 'nosetests' utility

from basetest import *
from scapy_service import *

def test_generate_random_bytes():
    res = generate_random_bytes(10, 333, ord('0'), ord('9'))
    print(res)
    assert(len(res) == 10)
    assert(res == b'5390532937') # random value with this seed

def test_generate_bytes_from_template_empty():
    res = generate_bytes_from_template(5, b"")
    print(res)
    assert(res == b"")

def test_generate_bytes_from_template_neg():
    res = generate_bytes_from_template(-5, b"qwe")
    assert(res == b"")

def test_generate_bytes_from_template_less():
    res = generate_bytes_from_template(5, b"qwe")
    print(res)
    assert(res == b"qweqw")

def test_generate_bytes_from_template_same():
    res = generate_bytes_from_template(5, b"qwert")
    print(res)
    assert(res == b"qwert")

def test_generate_bytes_from_template_more():
    res = generate_bytes_from_template(5, b"qwerty")
    print(res)
    assert(res == b"qwert")

def test_parse_template_code_with_trash():
    res = parse_template_code("0xDE AD\n be ef \t0xDEAD")
    print(res)
    assert(res == bytearray.fromhex('DEADBEEFDEAD'))

def test_generate_bytes():
    res = generate_bytes({"generate":"random_bytes", "seed": 123, "size": 12})
    print(res)
    assert(len(res) == 12)

def test_generate_ascii_default_seed():
    res = generate_bytes({"generate":"random_ascii", "size": 14})
    print(res)
    assert(len(res) == 14)


def test_generate_template_code_no_size():
    res = generate_bytes({"generate":"template_code", "template_code": "BE EF"})
    assert(res == bytearray.fromhex('BE EF'))

def test_generate_template_code_less():
    res = generate_bytes({"generate":"template_code", "template_code": "DE AD BE EF", "size": 2})
    assert(res == bytearray.fromhex('DE AD'))

def test_generate_template_code_more():
    res = generate_bytes({"generate":"template_code", "template_code": "0xDEAD 0xBEEF", "size": 6})
    assert(res == bytearray.fromhex('DE AD BE EF DE AD'))

def test_generate_template_base64():
    res = generate_bytes({"generate":"template", "template_base64": bytes_to_b64(b'hi'), "size": 5})
    print(res)
    assert(res == b'hihih')