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