From 86ccea546f93eb74cab7474fe146303d7cb296eb Mon Sep 17 00:00:00 2001 From: Bryan Newbold Date: Thu, 4 Apr 2019 15:22:27 -0700 Subject: start improving webface test coverage --- python/tests/routes.py | 118 ------------------------------ python/tests/web_editgroup.py | 20 +++++ python/tests/web_entity_views.py | 153 +++++++++++++++++++++++++++++++++++++++ python/tests/web_routes.py | 34 +++++++++ 4 files changed, 207 insertions(+), 118 deletions(-) delete mode 100644 python/tests/routes.py create mode 100644 python/tests/web_editgroup.py create mode 100644 python/tests/web_entity_views.py create mode 100644 python/tests/web_routes.py (limited to 'python/tests') diff --git a/python/tests/routes.py b/python/tests/routes.py deleted file mode 100644 index ece91d65..00000000 --- a/python/tests/routes.py +++ /dev/null @@ -1,118 +0,0 @@ - -import json -import tempfile -import pytest -from fatcat_client.rest import ApiException -from fixtures import * - - -def test_static_routes(app): - for route in ('/health.json', '/robots.txt', '/', '/about'): - rv = app.get(route) - assert rv.status_code == 200 - - assert app.get("/static/bogus/route").status_code == 404 - - -def test_all_views(app): - for route in ('work', 'release', 'creator', 'container', 'file'): - print(route) - rv = app.get('/{}/9999999999'.format(route)) - assert rv.status_code == 400 - - rv = app.get('/{}/f1f046a3-45c9-ffff-ffff-ffffffffffff'.format(route)) - assert rv.status_code == 400 - - rv = app.get('/{}/ccccccccccccccccccccccccca'.format(route)) - assert rv.status_code == 404 - - rv = app.get('/container/aaaaaaaaaaaaaeiraaaaaaaaai') - assert rv.status_code == 200 - - rv = app.get('/container/aaaaaaaaaaaaaeiraaaaaaaaai/history') - assert rv.status_code == 200 - - rv = app.get('/container/aaaaaaaaaaaaaeiraaaaaaaaai/edit') - assert rv.status_code == 200 - - # TODO: - #rv = app.get('/container/create') - #assert rv.status_code == 200 - - rv = app.get('/container/lookup') - assert rv.status_code == 400 - - rv = app.get('/container/lookup?issnl=9999-9999') - assert rv.status_code == 404 - - rv = app.get('/container/lookup?issnl=1234-5678') - assert rv.status_code == 302 - - rv = app.get('/creator/aaaaaaaaaaaaaircaaaaaaaaai') - assert rv.status_code == 200 - - rv = app.get('/creator/aaaaaaaaaaaaaircaaaaaaaaai/history') - assert rv.status_code == 200 - - rv = app.get('/creator/aaaaaaaaaaaaaircaaaaaaaaai/edit') - assert rv.status_code == 200 - - rv = app.get('/creator/lookup?orcid=0000-0003-2088-7465') - assert rv.status_code == 302 - - rv = app.get('/file/aaaaaaaaaaaaamztaaaaaaaaai') - assert rv.status_code == 200 - - rv = app.get('/file/lookup?sha1=7d97e98f8af710c7e7fe703abc8f639e0ee507c4') - assert rv.status_code == 302 - - rv = app.get('/release/aaaaaaaaaaaaarceaaaaaaaaai') - assert rv.status_code == 200 - - rv = app.get('/release/aaaaaaaaaaaaarceaaaaaaaaai/history') - assert rv.status_code == 200 - - rv = app.get('/release/aaaaaaaaaaaaarceaaaaaaaaai/edit') - assert rv.status_code == 200 - - # TODO: - #rv = app.get('/release/create') - #assert rv.status_code == 200 - - rv = app.get('/release/lookup?doi=10.123/abc') - assert rv.status_code == 302 - - rv = app.get('/release/lookup?doi=10.123%2Fabc') - assert rv.status_code == 302 - - rv = app.get('/release/search') - assert rv.status_code == 200 - - rv = app.get('/work/aaaaaaaaaaaaavkvaaaaaaaaai') - assert rv.status_code == 200 - - rv = app.get('/work/aaaaaaaaaaaaavkvaaaaaaaaai/history') - assert rv.status_code == 200 - - rv = app.get('/work/aaaaaaaaaaaaavkvaaaaaaaaai/edit') - assert rv.status_code == 200 - - rv = app.get('/work/create') - assert rv.status_code == 404 - - rv = app.get('/editgroup/aaaaaaaaaaaabo53aaaaaaaaae') - assert rv.status_code == 200 - - rv = app.get('/editgroup/ccccccccccccccccccccccccca') - print(rv) - print(rv.data) - assert rv.status_code == 404 - - #rv = app.get('/editgroup/current') - #assert rv.status_code == 302 - - rv = app.get('/editor/aaaaaaaaaaaabkvkaaaaaaaaae') - assert rv.status_code == 200 - - rv = app.get('/editor/aaaaaaaaaaaabkvkaaaaaaaaae/editgroups') - assert rv.status_code == 200 diff --git a/python/tests/web_editgroup.py b/python/tests/web_editgroup.py new file mode 100644 index 00000000..e6185eda --- /dev/null +++ b/python/tests/web_editgroup.py @@ -0,0 +1,20 @@ + +import json +import tempfile +import pytest +from fatcat_client.rest import ApiException +from fixtures import * + +def test_web_editgroup(app): + + rv = app.get('/editgroup/aaaaaaaaaaaabo53aaaaaaaaae') + assert rv.status_code == 200 + + rv = app.get('/editgroup/ccccccccccccccccccccccccca') + assert rv.status_code == 404 + + rv = app.get('/editor/aaaaaaaaaaaabkvkaaaaaaaaae') + assert rv.status_code == 200 + + rv = app.get('/editor/aaaaaaaaaaaabkvkaaaaaaaaae/editgroups') + assert rv.status_code == 200 diff --git a/python/tests/web_entity_views.py b/python/tests/web_entity_views.py new file mode 100644 index 00000000..fe2371ed --- /dev/null +++ b/python/tests/web_entity_views.py @@ -0,0 +1,153 @@ + +import json +import tempfile +import pytest +from fatcat_client.rest import ApiException +from fixtures import * + +DUMMY_DEMO_ENTITIES = { + 'container': 'aaaaaaaaaaaaaeiraaaaaaaaai', + 'creator': 'aaaaaaaaaaaaaircaaaaaaaaai', + 'file': 'aaaaaaaaaaaaamztaaaaaaaaai', + 'fileset': 'aaaaaaaaaaaaaztgaaaaaaaaai', + 'webcapture': 'aaaaaaaaaaaaa53xaaaaaaaaai', + 'release': 'aaaaaaaaaaaaarceaaaaaaaaai', + 'work': 'aaaaaaaaaaaaavkvaaaaaaaaai', +} + +REALISTIC_DEMO_ENTITIES = { + 'container': 'aaaaaaaaaaaaaeiraaaaaaaaam', + 'creator': 'aaaaaaaaaaaaaircaaaaaaaaam', + 'file': 'aaaaaaaaaaaaamztaaaaaaaaam', + 'fileset': 'aaaaaaaaaaaaaztgaaaaaaaaam', + 'webcapture': 'aaaaaaaaaaaaa53xaaaaaaaaam', + 'release': 'aaaaaaaaaaaaarceaaaaaaaaam', + 'work': 'aaaaaaaaaaaaavkvaaaaaaaaam', +} + + +def test_entity_basics(app): + + for entity_type, ident in DUMMY_DEMO_ENTITIES.items(): + # good requests + rv = app.get('/{}/{}'.format(entity_type, ident)) + assert rv.status_code == 200 + rv = app.get('/{}/{}/history'.format(entity_type, ident)) + assert rv.status_code == 200 + + # bad requests + rv = app.get('/{}/9999999999'.format(entity_type)) + assert rv.status_code == 400 + rv = app.get('/{}/9999999999/history'.format(entity_type)) + assert rv.status_code == 400 + rv = app.get('/{}/f1f046a3-45c9-ffff-ffff-ffffffffffff'.format(entity_type)) + assert rv.status_code == 400 + rv = app.get('/{}/ccccccccccccccccccccccccca'.format(entity_type)) + assert rv.status_code == 404 + + +def test_container(app): + + rv = app.get('/container/aaaaaaaaaaaaaeiraaaaaaaaai') + assert rv.status_code == 200 + + rv = app.get('/container/aaaaaaaaaaaaaeiraaaaaaaaai/edit') + assert rv.status_code == 200 + + rv = app.get('/container/create') + # XXX: login assert rv.status_code == 200 + + +def test_lookups(app): + + rv = app.get('/container/lookup') + assert rv.status_code == 400 + rv = app.get('/container/lookup?issnl=9999-9999') + assert rv.status_code == 404 + rv = app.get('/container/lookup?issnl=1234-5678') + assert rv.status_code == 302 + + rv = app.get('/creator/lookup') + assert rv.status_code == 400 + rv = app.get('/creator/lookup?orcid=0000-0003-2088-7465') + assert rv.status_code == 302 + rv = app.get('/creator/lookup?orcid=0000-0003-2088-0000') + assert rv.status_code == 404 + + rv = app.get('/file/lookup') + assert rv.status_code == 400 + rv = app.get('/file/lookup?sha1=7d97e98f8af710c7e7fe703abc8f639e0ee507c4') + assert rv.status_code == 302 + rv = app.get('/file/lookup?sha1=7d97e98f8af710c7e7f00000000000000ee507c4') + assert rv.status_code == 404 + + rv = app.get('/fileset/lookup') + assert rv.status_code == 404 + + rv = app.get('/webcapture/lookup') + assert rv.status_code == 404 + + rv = app.get('/release/lookup') + assert rv.status_code == 400 + rv = app.get('/release/lookup?doi=10.123/abc') + assert rv.status_code == 302 + rv = app.get('/release/lookup?doi=10.123%2Fabc') + assert rv.status_code == 302 + rv = app.get('/release/lookup?doi=abcde') + assert rv.status_code == 400 + rv = app.get('/release/lookup?doi=10.1234/uuu') + assert rv.status_code == 404 + + rv = app.get('/work/lookup') + assert rv.status_code == 404 + + +def test_web_creator(app): + + rv = app.get('/creator/aaaaaaaaaaaaaircaaaaaaaaai') + assert rv.status_code == 200 + + rv = app.get('/creator/aaaaaaaaaaaaaircaaaaaaaaai/edit') + assert rv.status_code == 200 + + +def test_web_file(app): + + rv = app.get('/file/aaaaaaaaaaaaamztaaaaaaaaai') + assert rv.status_code == 200 + + rv = app.get('/file/aaaaaaaaaaaaamztaaaaaaaaai/edit') + assert rv.status_code == 200 + + rv = app.get('/file/aaaaaaaaaaaaamztaaaaaaaaai/history') + assert rv.status_code == 200 + +def test_web_release(app): + + rv = app.get('/release/aaaaaaaaaaaaarceaaaaaaaaai') + assert rv.status_code == 200 + + rv = app.get('/release/aaaaaaaaaaaaarceaaaaaaaaai/edit') + assert rv.status_code == 200 + + rv = app.get('/release/create') + # XXX: login assert rv.status_code == 200 + + +def test_web_search(app): + + rv = app.get('/release/search') + assert rv.status_code == 200 + + +def test_web_work(app): + + rv = app.get('/work/aaaaaaaaaaaaavkvaaaaaaaaai') + assert rv.status_code == 200 + + rv = app.get('/work/aaaaaaaaaaaaavkvaaaaaaaaai/edit') + assert rv.status_code == 404 + + rv = app.get('/work/create') + assert rv.status_code == 404 + diff --git a/python/tests/web_routes.py b/python/tests/web_routes.py new file mode 100644 index 00000000..e6387882 --- /dev/null +++ b/python/tests/web_routes.py @@ -0,0 +1,34 @@ + +import json +import tempfile +import pytest +from fatcat_client.rest import ApiException +from fixtures import * + + +def test_static_routes(app): + for route in ('/health.json', '/robots.txt', '/', '/about'): + rv = app.get(route) + assert rv.status_code == 200 + + assert app.get("/static/bogus/route").status_code == 404 + + +def test_all_views(app): + + rv = app.get('/editgroup/aaaaaaaaaaaabo53aaaaaaaaae') + assert rv.status_code == 200 + + rv = app.get('/editgroup/ccccccccccccccccccccccccca') + print(rv) + print(rv.data) + assert rv.status_code == 404 + + #rv = app.get('/editgroup/current') + #assert rv.status_code == 302 + + rv = app.get('/editor/aaaaaaaaaaaabkvkaaaaaaaaae') + assert rv.status_code == 200 + + rv = app.get('/editor/aaaaaaaaaaaabkvkaaaaaaaaae/editgroups') + assert rv.status_code == 200 -- cgit v1.2.3