Test Failed
Pull Request — master (#1184)
by Konstantin
06:35
created

tests.utils.test_config.test_str()   A

Complexity

Conditions 2

Size

Total Lines 5
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 5
dl 0
loc 5
rs 10
c 0
b 0
f 0
cc 2
nop 0
1
from os import environ
2
from contextlib import contextmanager
3
4
from pytest import raises
5
6
from ocrd_utils.config import config, OcrdEnvConfig
7
8
@contextmanager
9
def temp_env_var(k, v):
10
    v_before = environ.get(k, None)
0 ignored issues
show
Comprehensibility Best Practice introduced by
The variable environ does not seem to be defined.
Loading history...
11
    environ[k] = v
12
    yield
13
    if v_before is not None:
14
        environ[k] = v_before
15
    else:
16
        environ.pop(k)
17
18
def test_str():
19
    c = OcrdEnvConfig()
20
    v = c.add('OCRD_FOO_BAR_ETC', description="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus lacinia, eros id accumsan tempor, arcu augue viverra est, quis ultrices lectus eros et quam. Donec vel metus iaculis, maximus enim eget, mattis leo. Morbi molestie placerat dolor non finibus. Vivamus egestas rutrum est quis gravida. Vivamus sed cursus lectus. Etiam sed felis nisl. Suspendisse massa nunc, eleifend vitae pretium sit amet, porta et velit. Pellentesque risus justo, tincidunt at mattis ac, sollicitudin sit amet quam. Donec euismod suscipit bibendum.", default=(True, lambda: 42))
21
    print(c.describe('OCRD_FOO_BAR_ETC'))
22
    assert c.describe('OCRD_FOO_BAR_ETC') == """\
23
  OCRD_FOO_BAR_ETC
24
    Lorem ipsum dolor sit amet, consectetur adipiscing
25
    elit. Phasellus lacinia, eros id accumsan tempor,
26
    arcu augue viverra est, quis ultrices lectus eros
27
    et quam. Donec vel metus iaculis, maximus enim
28
    eget, mattis leo. Morbi molestie placerat dolor
29
    non finibus. Vivamus egestas rutrum est quis
30
    gravida. Vivamus sed cursus lectus. Etiam sed
31
    felis nisl. Suspendisse massa nunc, eleifend vitae
32
    pretium sit amet, porta et velit. Pellentesque
33
    risus justo, tincidunt at mattis ac, sollicitudin
34
    sit amet quam. Donec euismod suscipit bibendum.
35
    (Default: "42")"""
36
37
def test_OCRD_METS_CACHING():
38
    with temp_env_var('OCRD_METS_CACHING', 'true'):
39
        assert config.OCRD_METS_CACHING == True
40
    with temp_env_var('OCRD_METS_CACHING', '1'):
41
        assert config.OCRD_METS_CACHING == True
42
    with temp_env_var('OCRD_METS_CACHING', '0'):
43
        assert config.OCRD_METS_CACHING == False
44
    with temp_env_var('OCRD_METS_CACHING', 'false'):
45
        assert config.OCRD_METS_CACHING == False
46
    with temp_env_var('OCRD_METS_CACHING', 'some other value'):
47
        with raises(ValueError, match="'OCRD_METS_CACHING' set to invalid value 'some other value'"):
48
            config.OCRD_METS_CACHING
49
50
def test_OCRD_PROFILE():
51
    with temp_env_var('OCRD_PROFILE', ''):
52
        config.OCRD_PROFILE
53
    with temp_env_var('OCRD_PROFILE', 'CPU'):
54
        config.OCRD_PROFILE
55
    with temp_env_var('OCRD_PROFILE', 'RSS,CPU'):
56
        config.OCRD_PROFILE
57
    with temp_env_var('OCRD_PROFILE', 'some other value'):
58
        with raises(ValueError, match="'OCRD_PROFILE' set to invalid value 'some other value'"):
59
            config.OCRD_PROFILE
60