-
Notifications
You must be signed in to change notification settings - Fork 18
Expand file tree
/
Copy pathtest_env.py
More file actions
83 lines (55 loc) · 2.19 KB
/
test_env.py
File metadata and controls
83 lines (55 loc) · 2.19 KB
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""Test env module."""
import env
import os
import mock
try:
from urlparse import urlparse as _urlparse
except ImportError:
from urllib.parse import urlparse as _urlparse
SEARCH_PREFIX = 'env1'
MATCH_DATA = {'env1TESTS1': 'aA', 'ENV1tests2': 'bB', 'env1tests3': 'cC'}
NO_MATCH_DATA = {'env2TESTS4': 'dD', 'ENV2tests5': 'eE', 'env2tests6': 'fF'}
ALL_DATA = {k: v for d in [MATCH_DATA, NO_MATCH_DATA] for k, v in d.items()}
def test_lower_dict():
lowereddict = env.lower_dict(MATCH_DATA)
assert len(lowereddict) == len(MATCH_DATA)
for item in MATCH_DATA:
assert MATCH_DATA[item] == lowereddict[item.lower()]
def test_lower_dict_non_string_key():
mixed_key_dict = {0: 'aA', 'env1TEST1': 'bB'}
lowereddict = env.lower_dict(mixed_key_dict)
expected_dict = {0: 'aA', 'env1test1': 'bB'}
assert len(lowereddict) == len(mixed_key_dict)
for item in expected_dict:
assert expected_dict[item] == lowereddict[item]
def test_urlparse():
urldata = {'url1': 'http://env1.test', 'url2': 'ftp://env2.test'}
parseddata = env.urlparse(urldata)
assert len(parseddata) == len(urldata)
for item in urldata:
assert _urlparse(urldata[item]) == parseddata[item]
@mock.patch.dict(os.environ, ALL_DATA, clear=True)
def test_prefix():
prefixsearch = env.prefix(SEARCH_PREFIX)
assert len(prefixsearch) == len(MATCH_DATA)
for item in MATCH_DATA:
assert MATCH_DATA[item] == prefixsearch[item.lower()[len(SEARCH_PREFIX):]]
@mock.patch.object(
env,
'lower_dict',
return_value={0: 'test', 'env1test1': 'bB'}
)
def test_prefix_non_string_key(mock_func):
prefixsearch = env.prefix(SEARCH_PREFIX)
assert len(prefixsearch) == 1
assert prefixsearch['test1'] == 'bB'
@mock.patch.dict(os.environ, ALL_DATA, clear=True)
def test_map():
mapdata = {'a': 'env1tests1', 'b': 'env1tests2', 'c': 'env1tests3'}
originaldata = {'env1tests1': 'aA', 'env1tests2': 'bB', 'env1tests3': 'cC'}
mapsearch = env.map(a='env1tests1', b='env1tests2', c='env1tests3')
assert len(mapsearch) == len(mapdata)
for item in mapdata:
assert originaldata[mapdata[item]] == mapsearch[item]