summaryrefslogtreecommitdiff
path: root/_test/lib/test_canonical.py
blob: b5cd14d255293875e55aa090d57fe7739cf411de (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


import ruamel.yaml
import canonical  # NOQA


def test_canonical_scanner(canonical_filename, verbose=False):
    with open(canonical_filename, 'rb') as fp0:
        data = fp0.read()
    tokens = list(ruamel.yaml.canonical_scan(data))
    assert tokens, tokens
    if verbose:
        for token in tokens:
            print(token)


test_canonical_scanner.unittest = ['.canonical']


def test_canonical_parser(canonical_filename, verbose=False):
    with open(canonical_filename, 'rb') as fp0:
        data = fp0.read()
    events = list(ruamel.yaml.canonical_parse(data))
    assert events, events
    if verbose:
        for event in events:
            print(event)


test_canonical_parser.unittest = ['.canonical']


def test_canonical_error(data_filename, canonical_filename, verbose=False):
    with open(data_filename, 'rb') as fp0:
        data = fp0.read()
    try:
        output = list(ruamel.yaml.canonical_load_all(data))  # NOQA
    except ruamel.yaml.YAMLError as exc:
        if verbose:
            print(exc)
    else:
        raise AssertionError('expected an exception')


test_canonical_error.unittest = ['.data', '.canonical']
test_canonical_error.skip = ['.empty']

if __name__ == '__main__':
    import test_appliance

    test_appliance.run(globals())