Add tests
This commit is contained in:
parent
1e699de339
commit
45ae660dea
|
@ -0,0 +1,57 @@
|
||||||
|
import pickle
|
||||||
|
|
||||||
|
from pipdeptree import req_version, non_top_pkg_name, render_tree
|
||||||
|
|
||||||
|
|
||||||
|
with open('tests/pkgs.p') as f:
|
||||||
|
pkgs = pickle.load(f)
|
||||||
|
|
||||||
|
|
||||||
|
pkg_index = {p.key: p for p in pkgs}
|
||||||
|
|
||||||
|
|
||||||
|
def find_req(req, parent):
|
||||||
|
"""Helper to get the requirement object from it's parent package
|
||||||
|
|
||||||
|
:param req : string
|
||||||
|
:param parent : pkg_resources.Distribution instance
|
||||||
|
:rtype : instance of requirement frozen set
|
||||||
|
|
||||||
|
"""
|
||||||
|
return [r for r in pkg_index[parent].requires() if r.key == req][0]
|
||||||
|
|
||||||
|
|
||||||
|
def test_req_version():
|
||||||
|
sqlalchemy = find_req('sqlalchemy', 'alembic')
|
||||||
|
assert req_version(sqlalchemy) == '>=0.7.3'
|
||||||
|
mako = find_req('mako', 'alembic')
|
||||||
|
assert req_version(mako) is None
|
||||||
|
|
||||||
|
|
||||||
|
def test_non_top_pkg_name():
|
||||||
|
flask_p = pkg_index['flask']
|
||||||
|
flask_r = find_req('flask', 'flask-script')
|
||||||
|
assert non_top_pkg_name(flask_r, flask_p) == 'flask [installed: 0.10.1]'
|
||||||
|
|
||||||
|
markupsafe_p = pkg_index['markupsafe']
|
||||||
|
markupsafe_jinja2_r = find_req('markupsafe', 'jinja2')
|
||||||
|
assert non_top_pkg_name(markupsafe_jinja2_r, markupsafe_p) == 'markupsafe [installed: 0.18]'
|
||||||
|
|
||||||
|
markupsafe_mako_r = find_req('markupsafe', 'mako')
|
||||||
|
assert non_top_pkg_name(markupsafe_mako_r, markupsafe_p) == 'markupsafe [required: >=0.9.2, installed: 0.18]'
|
||||||
|
|
||||||
|
|
||||||
|
def test_render_tree_only_top():
|
||||||
|
tree_str = render_tree(pkgs, False)
|
||||||
|
lines = set(tree_str.split('\n'))
|
||||||
|
assert 'flask-script==0.6.6' in lines
|
||||||
|
assert ' - sqlalchemy [required: >=0.7.3, installed: 0.9.1]' in lines
|
||||||
|
assert 'itsdangerous==0.23' not in lines
|
||||||
|
|
||||||
|
|
||||||
|
def test_render_tree_list_all():
|
||||||
|
tree_str = render_tree(pkgs, True)
|
||||||
|
lines = set(tree_str.split('\n'))
|
||||||
|
assert 'flask-script==0.6.6' in lines
|
||||||
|
assert ' - sqlalchemy [required: >=0.7.3, installed: 0.9.1]' in lines
|
||||||
|
assert 'itsdangerous==0.23' in lines
|
|
@ -0,0 +1,415 @@
|
||||||
|
(lp0
|
||||||
|
ccopy_reg
|
||||||
|
_reconstructor
|
||||||
|
p1
|
||||||
|
(cpkg_resources
|
||||||
|
Distribution
|
||||||
|
p2
|
||||||
|
c__builtin__
|
||||||
|
object
|
||||||
|
p3
|
||||||
|
Ntp4
|
||||||
|
Rp5
|
||||||
|
(dp6
|
||||||
|
S'project_name'
|
||||||
|
p7
|
||||||
|
S'psycopg2'
|
||||||
|
p8
|
||||||
|
sS'precedence'
|
||||||
|
p9
|
||||||
|
I-1
|
||||||
|
sS'_key'
|
||||||
|
p10
|
||||||
|
S'psycopg2'
|
||||||
|
p11
|
||||||
|
sS'_version'
|
||||||
|
p12
|
||||||
|
S'2.5.2'
|
||||||
|
p13
|
||||||
|
sS'platform'
|
||||||
|
p14
|
||||||
|
NsS'location'
|
||||||
|
p15
|
||||||
|
S'/home/vineet/.virtualenvs/equimapper/lib/python2.7/site-packages'
|
||||||
|
p16
|
||||||
|
sS'py_version'
|
||||||
|
p17
|
||||||
|
S'2.7'
|
||||||
|
p18
|
||||||
|
sS'_provider'
|
||||||
|
p19
|
||||||
|
(ipkg_resources
|
||||||
|
PathMetadata
|
||||||
|
p20
|
||||||
|
(dp21
|
||||||
|
S'module_path'
|
||||||
|
p22
|
||||||
|
g16
|
||||||
|
sS'egg_info'
|
||||||
|
p23
|
||||||
|
S'/home/vineet/.virtualenvs/equimapper/lib/python2.7/site-packages/psycopg2-2.5.2-py2.7.egg-info'
|
||||||
|
p24
|
||||||
|
sbsbag1
|
||||||
|
(g2
|
||||||
|
g3
|
||||||
|
Ntp25
|
||||||
|
Rp26
|
||||||
|
(dp27
|
||||||
|
g7
|
||||||
|
S'Werkzeug'
|
||||||
|
p28
|
||||||
|
sg9
|
||||||
|
I-1
|
||||||
|
sg10
|
||||||
|
S'werkzeug'
|
||||||
|
p29
|
||||||
|
sg12
|
||||||
|
S'0.9.4'
|
||||||
|
p30
|
||||||
|
sg14
|
||||||
|
Nsg15
|
||||||
|
g16
|
||||||
|
sg17
|
||||||
|
S'2.7'
|
||||||
|
p31
|
||||||
|
sg19
|
||||||
|
(ipkg_resources
|
||||||
|
PathMetadata
|
||||||
|
p32
|
||||||
|
(dp33
|
||||||
|
g22
|
||||||
|
g16
|
||||||
|
sg23
|
||||||
|
S'/home/vineet/.virtualenvs/equimapper/lib/python2.7/site-packages/Werkzeug-0.9.4-py2.7.egg-info'
|
||||||
|
p34
|
||||||
|
sbsbag1
|
||||||
|
(g2
|
||||||
|
g3
|
||||||
|
Ntp35
|
||||||
|
Rp36
|
||||||
|
(dp37
|
||||||
|
g7
|
||||||
|
S'Flask'
|
||||||
|
p38
|
||||||
|
sg9
|
||||||
|
I-1
|
||||||
|
sg10
|
||||||
|
S'flask'
|
||||||
|
p39
|
||||||
|
sg12
|
||||||
|
S'0.10.1'
|
||||||
|
p40
|
||||||
|
sg14
|
||||||
|
Nsg15
|
||||||
|
g16
|
||||||
|
sg17
|
||||||
|
S'2.7'
|
||||||
|
p41
|
||||||
|
sg19
|
||||||
|
(ipkg_resources
|
||||||
|
PathMetadata
|
||||||
|
p42
|
||||||
|
(dp43
|
||||||
|
g22
|
||||||
|
g16
|
||||||
|
sg23
|
||||||
|
S'/home/vineet/.virtualenvs/equimapper/lib/python2.7/site-packages/Flask-0.10.1-py2.7.egg-info'
|
||||||
|
p44
|
||||||
|
sbsbag1
|
||||||
|
(g2
|
||||||
|
g3
|
||||||
|
Ntp45
|
||||||
|
Rp46
|
||||||
|
(dp47
|
||||||
|
g7
|
||||||
|
S'Mako'
|
||||||
|
p48
|
||||||
|
sg9
|
||||||
|
I-1
|
||||||
|
sg10
|
||||||
|
S'mako'
|
||||||
|
p49
|
||||||
|
sg12
|
||||||
|
S'0.9.1'
|
||||||
|
p50
|
||||||
|
sg14
|
||||||
|
Nsg15
|
||||||
|
g16
|
||||||
|
sg17
|
||||||
|
S'2.7'
|
||||||
|
p51
|
||||||
|
sg19
|
||||||
|
(ipkg_resources
|
||||||
|
PathMetadata
|
||||||
|
p52
|
||||||
|
(dp53
|
||||||
|
g22
|
||||||
|
g16
|
||||||
|
sg23
|
||||||
|
S'/home/vineet/.virtualenvs/equimapper/lib/python2.7/site-packages/Mako-0.9.1-py2.7.egg-info'
|
||||||
|
p54
|
||||||
|
sbsbag1
|
||||||
|
(g2
|
||||||
|
g3
|
||||||
|
Ntp55
|
||||||
|
Rp56
|
||||||
|
(dp57
|
||||||
|
g7
|
||||||
|
S'MarkupSafe'
|
||||||
|
p58
|
||||||
|
sg9
|
||||||
|
I-1
|
||||||
|
sg10
|
||||||
|
S'markupsafe'
|
||||||
|
p59
|
||||||
|
sg12
|
||||||
|
S'0.18'
|
||||||
|
p60
|
||||||
|
sg14
|
||||||
|
Nsg15
|
||||||
|
g16
|
||||||
|
sg17
|
||||||
|
S'2.7'
|
||||||
|
p61
|
||||||
|
sg19
|
||||||
|
(ipkg_resources
|
||||||
|
PathMetadata
|
||||||
|
p62
|
||||||
|
(dp63
|
||||||
|
g22
|
||||||
|
g16
|
||||||
|
sg23
|
||||||
|
S'/home/vineet/.virtualenvs/equimapper/lib/python2.7/site-packages/MarkupSafe-0.18-py2.7.egg-info'
|
||||||
|
p64
|
||||||
|
sbsbag1
|
||||||
|
(g2
|
||||||
|
g3
|
||||||
|
Ntp65
|
||||||
|
Rp66
|
||||||
|
(dp67
|
||||||
|
g7
|
||||||
|
S'Flask-Script'
|
||||||
|
p68
|
||||||
|
sg9
|
||||||
|
I-1
|
||||||
|
sg10
|
||||||
|
S'flask-script'
|
||||||
|
p69
|
||||||
|
sg12
|
||||||
|
S'0.6.6'
|
||||||
|
p70
|
||||||
|
sg14
|
||||||
|
Nsg15
|
||||||
|
g16
|
||||||
|
sg17
|
||||||
|
S'2.7'
|
||||||
|
p71
|
||||||
|
sg19
|
||||||
|
(ipkg_resources
|
||||||
|
PathMetadata
|
||||||
|
p72
|
||||||
|
(dp73
|
||||||
|
g22
|
||||||
|
g16
|
||||||
|
sg23
|
||||||
|
S'/home/vineet/.virtualenvs/equimapper/lib/python2.7/site-packages/Flask_Script-0.6.6-py2.7.egg-info'
|
||||||
|
p74
|
||||||
|
sbsbag1
|
||||||
|
(g2
|
||||||
|
g3
|
||||||
|
Ntp75
|
||||||
|
Rp76
|
||||||
|
(dp77
|
||||||
|
g7
|
||||||
|
S'alembic'
|
||||||
|
p78
|
||||||
|
sg9
|
||||||
|
I-1
|
||||||
|
sg10
|
||||||
|
S'alembic'
|
||||||
|
p79
|
||||||
|
sg12
|
||||||
|
S'0.6.2'
|
||||||
|
p80
|
||||||
|
sg14
|
||||||
|
Nsg15
|
||||||
|
g16
|
||||||
|
sg17
|
||||||
|
S'2.7'
|
||||||
|
p81
|
||||||
|
sg19
|
||||||
|
(ipkg_resources
|
||||||
|
PathMetadata
|
||||||
|
p82
|
||||||
|
(dp83
|
||||||
|
g22
|
||||||
|
g16
|
||||||
|
sg23
|
||||||
|
S'/home/vineet/.virtualenvs/equimapper/lib/python2.7/site-packages/alembic-0.6.2-py2.7.egg-info'
|
||||||
|
p84
|
||||||
|
sbsbag1
|
||||||
|
(g2
|
||||||
|
g3
|
||||||
|
Ntp85
|
||||||
|
Rp86
|
||||||
|
(dp87
|
||||||
|
g7
|
||||||
|
S'itsdangerous'
|
||||||
|
p88
|
||||||
|
sg9
|
||||||
|
I-1
|
||||||
|
sg10
|
||||||
|
S'itsdangerous'
|
||||||
|
p89
|
||||||
|
sg12
|
||||||
|
S'0.23'
|
||||||
|
p90
|
||||||
|
sg14
|
||||||
|
Nsg15
|
||||||
|
g16
|
||||||
|
sg17
|
||||||
|
S'2.7'
|
||||||
|
p91
|
||||||
|
sg19
|
||||||
|
(ipkg_resources
|
||||||
|
PathMetadata
|
||||||
|
p92
|
||||||
|
(dp93
|
||||||
|
g22
|
||||||
|
g16
|
||||||
|
sg23
|
||||||
|
S'/home/vineet/.virtualenvs/equimapper/lib/python2.7/site-packages/itsdangerous-0.23-py2.7.egg-info'
|
||||||
|
p94
|
||||||
|
sbsbag1
|
||||||
|
(g2
|
||||||
|
g3
|
||||||
|
Ntp95
|
||||||
|
Rp96
|
||||||
|
(dp97
|
||||||
|
g7
|
||||||
|
S'SQLAlchemy'
|
||||||
|
p98
|
||||||
|
sg9
|
||||||
|
I-1
|
||||||
|
sg10
|
||||||
|
S'sqlalchemy'
|
||||||
|
p99
|
||||||
|
sg12
|
||||||
|
S'0.9.1'
|
||||||
|
p100
|
||||||
|
sg14
|
||||||
|
Nsg15
|
||||||
|
g16
|
||||||
|
sg17
|
||||||
|
S'2.7'
|
||||||
|
p101
|
||||||
|
sg19
|
||||||
|
(ipkg_resources
|
||||||
|
PathMetadata
|
||||||
|
p102
|
||||||
|
(dp103
|
||||||
|
g22
|
||||||
|
g16
|
||||||
|
sg23
|
||||||
|
S'/home/vineet/.virtualenvs/equimapper/lib/python2.7/site-packages/SQLAlchemy-0.9.1-py2.7.egg-info'
|
||||||
|
p104
|
||||||
|
sbsbag1
|
||||||
|
(g2
|
||||||
|
g3
|
||||||
|
Ntp105
|
||||||
|
Rp106
|
||||||
|
(dp107
|
||||||
|
g7
|
||||||
|
S'slugify'
|
||||||
|
p108
|
||||||
|
sg9
|
||||||
|
I-1
|
||||||
|
sg10
|
||||||
|
S'slugify'
|
||||||
|
p109
|
||||||
|
sg12
|
||||||
|
S'0.0.1'
|
||||||
|
p110
|
||||||
|
sg14
|
||||||
|
Nsg15
|
||||||
|
g16
|
||||||
|
sg17
|
||||||
|
S'2.7'
|
||||||
|
p111
|
||||||
|
sg19
|
||||||
|
(ipkg_resources
|
||||||
|
PathMetadata
|
||||||
|
p112
|
||||||
|
(dp113
|
||||||
|
g22
|
||||||
|
g16
|
||||||
|
sg23
|
||||||
|
S'/home/vineet/.virtualenvs/equimapper/lib/python2.7/site-packages/slugify-0.0.1-py2.7.egg-info'
|
||||||
|
p114
|
||||||
|
sbsbag1
|
||||||
|
(g2
|
||||||
|
g3
|
||||||
|
Ntp115
|
||||||
|
Rp116
|
||||||
|
(dp117
|
||||||
|
g7
|
||||||
|
S'Jinja2'
|
||||||
|
p118
|
||||||
|
sg9
|
||||||
|
I-1
|
||||||
|
sg10
|
||||||
|
S'jinja2'
|
||||||
|
p119
|
||||||
|
sg12
|
||||||
|
S'2.7.2'
|
||||||
|
p120
|
||||||
|
sg14
|
||||||
|
Nsg15
|
||||||
|
g16
|
||||||
|
sg17
|
||||||
|
S'2.7'
|
||||||
|
p121
|
||||||
|
sg19
|
||||||
|
(ipkg_resources
|
||||||
|
PathMetadata
|
||||||
|
p122
|
||||||
|
(dp123
|
||||||
|
g22
|
||||||
|
g16
|
||||||
|
sg23
|
||||||
|
S'/home/vineet/.virtualenvs/equimapper/lib/python2.7/site-packages/Jinja2-2.7.2-py2.7.egg-info'
|
||||||
|
p124
|
||||||
|
sbsbag1
|
||||||
|
(g2
|
||||||
|
g3
|
||||||
|
Ntp125
|
||||||
|
Rp126
|
||||||
|
(dp127
|
||||||
|
g7
|
||||||
|
S'redis'
|
||||||
|
p128
|
||||||
|
sg9
|
||||||
|
I-1
|
||||||
|
sg10
|
||||||
|
S'redis'
|
||||||
|
p129
|
||||||
|
sg12
|
||||||
|
S'2.9.1'
|
||||||
|
p130
|
||||||
|
sg14
|
||||||
|
Nsg15
|
||||||
|
g16
|
||||||
|
sg17
|
||||||
|
S'2.7'
|
||||||
|
p131
|
||||||
|
sg19
|
||||||
|
(ipkg_resources
|
||||||
|
PathMetadata
|
||||||
|
p132
|
||||||
|
(dp133
|
||||||
|
g22
|
||||||
|
g16
|
||||||
|
sg23
|
||||||
|
S'/home/vineet/.virtualenvs/equimapper/lib/python2.7/site-packages/redis-2.9.1-py2.7.egg-info'
|
||||||
|
p134
|
||||||
|
sbsba.
|
Loading…
Reference in New Issue