File: test_attr.py

package info (click to toggle)
pyroute2 0.8.1-3
  • links: PTS, VCS
  • area: main
  • in suites: forky
  • size: 3,700 kB
  • sloc: python: 50,245; makefile: 280; javascript: 183; ansic: 81; sh: 44; awk: 17
file content (36 lines) | stat: -rw-r--r-- 722 bytes parent folder | download | duplicates (4)
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
import pytest

from pyroute2.netlink import nlmsg

prime = {
    'attrs': (
        ('A', 2),
        ('A', 3),
        ('A', 4),
        ('B', {'attrs': (('C', 5), ('D', {'attrs': (('E', 6), ('F', 7))}))}),
    )
}


@pytest.fixture
def msg():
    msg = nlmsg()
    msg.setvalue(prime)
    yield msg


def test_get_attr(msg):
    assert msg.get_attr('A') == 2
    assert msg.get_attr('C') is None


def test_get_attrs(msg):
    assert msg.get_attrs('A') == [2, 3, 4]
    assert msg.get_attrs('C') == []


def test_get_nested(msg):
    assert msg.get_nested('B', 'D', 'E') == 6
    assert msg.get_nested('B', 'D', 'F') == 7
    assert msg.get_nested('B', 'D', 'G') is None
    assert msg.get_nested('C', 'D', 'E') is None