Closed mwes closed 5 years ago
Update: is this returning HTML somehow!?
python -m unittest tests/test_sparql_queries.TestSBHQueries.test_query_designs_by_lab_ids
Password:
/Users/markweston/Documents/Netrias/jenkins-integration/synbiohub_adapter/py3/lib/python3.6/site-packages/SPARQLWrapper/Wrapper.py:992: RuntimeWarning: unknown response content type 'text/html; charset=utf-8' returning raw response...
warnings.warn("unknown response content type '%s' returning raw response..." %(ct), RuntimeWarning)
b'<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="description" content="A parts repository for synthetic biology."><script type="application/ld+json">{\n "name": "SD2 Synbiohub",\n "description": "",\n "url": "https://hub.sd2e.org",\n "keywords": "synbiohub",\n "identifier": [\n "SD2Synbiohub"\n ],\n "dataset": [],\n "@context": {\n "scheme": "http://schema.org/",\n "bs": "http://bioschema.org/"\n },\n "@type": "https://bioschemas.org/DataCatalog",\n "provider": [\n "foo@example.com"\n ],\n "publication": "https://pubs.acs.org/doi/abs/10.1021/acssynbio.7b00403",\n "sourceOrganization": [\n "Newcastle University"\n ]\n}</script><title>SD2 Synbiohub</title><link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"><link href="/styles/site.css" rel="stylesheet"><link href="/datatables.min.css" rel="stylesheet"><link rel="stylesheet" href="/css/popupS.min.css"><script>var $buoop = {vs:{i:10,f:-4,o:-4,s:8,c:-4},api:4};\nfunction $buo_f() {\n var e = document.createElement("script");\n e.src = "//browser-update.org/update.min.js";\n document.body.appendChild(e);\n};\n\ntry {\n document.addEventListener("DOMContentLoaded", $buo_f,false)\n} catch(e) {\n window.attachEvent("onload", $buo_f)\n}\n\n</script><script src="/js/popupS.min.js"></script><style>body {\n background-color: #f6f6f6;\n}\n\n.grey-page-mark {\n background-color: #f6f6f6;\n}\n\n.top-search-form {\n display: none;\n}\n\n.main-search-form input {\n width: 60%;\n margin-left: 0;\n background-color: white;\n padding: 14px 16px 13px 32px;\n height: 40px;\n}\n\n.main-search-form .submit {\n padding: 12px 21px;\n height: 40px;\n}\n\n.main-search-form label {\n color: #7F8C8D;\n}\n\n.search-section {\n height: 60px;\n padding: 20px;\n margin: 0 auto;\n width: 50%;\n margin-bottom: 40px;\n text-align: center;\n}\n\n.navbar {\n}\n\n.sbol-breadcrumbs {\n}\n\n.sbol-logo-dark-single-line {\n display: none;\n}\n\nh1 {\n margin-top: 10px;\n margin-bottom: 10px;\n}\n</style><body><nav class="navbar navbar-fixed-top"><div class="content"><a href="/"><div class="pull-left"><h1 style="margin-left: 15px">SD2 Synbiohub</h1></div></a><div class="pull-right menu"><ul><li><a href="/submit"><span class="fa fa-cloud-upload"></span><span class="blue-text"> Submit</span></a></li><li><a href="/login"><span class="fa fa-sign-in"></span><span class="blue-text"> Login or Register</span></a></li></ul></div></div></nav><div class="clearfix"></div><div class="sbol-breadcrumbs" style="display: flex"><ul><li><span class="fa fa-home"></span> Home</li></ul><ul style="flex-grow: 1"><li style="width: 100%; height: 100%"><form class="top-search-form" action="search"><input class="sbh-autocomplete" type="text" name="q" placeholder="Search SD2 Synbiohub" value="" style="width: 96%"><button class="inactive submit" type="submit"><span class="fa fa-search"></span></button></form></li></ul></div><div class="container container-fluid"><div class="row"><div class="col-md-2"></div><div class="col-md-8" style="text-align: center"><h1>SD2 Synbiohub</h1></div></div><div class="row"><div class="col-md-2"></div><div class="col-md-8 sbh-frontpage-blurb"><p></p></div></div><div class="row sbh-main-page-row"><div class="col-md-12" style="text-align: center"><div class="sbh-frontpage-container"><table class="sbh-frontpage-pictures" style="text-align: left"><tr><td><span class="fa fa-search"></span></td><td><h3><b>Search</b> for useful parts and designs</h3><form class="main-search-form" action="/search"><input class="sbh-autocomplete" type="text" name="q" placeholder="Part name" value=""><button class="submit" type="submit" style="padding-top: 10px; padding-bottom: 14px">Search</button></form><br><a class="button btn btn-primary" href="/browse">Browse Design Collections</a></td></tr><tr><td><span class="fa fa-upload"></span></td><td><h3><b>Upload</b> your design for safekeeping</h3><a class="button btn btn-primary" href="/submit">Submit a Design</a></td></tr><tr><td><span class="fa fa-share-alt"></span></td><td><h3><b>Share</b> designs for publication or collaboration</h3><a class="button btn btn-primary" href="/manage">Manage Submissions</a></td></tr></table></div></div></div></div><div class="clearfix"></div><div class="footer-bar home-page-footer blue-text grey-page-mark" align="center"><span>© 2018 <a href="http://ncl.ac.uk">Newcastle University</a>, <a href="http://utah.edu">University of Utah</a>, and collaborators</span><br/><span><a href="http://wiki.synbiohub.org">About SynBioHub</a>\n|\n<a href="https://github.com/SynBioHub/synbiohub">View Source on Github</a>\n|\n<a href="https://github.com/synbiohub/synbiohub/issues">Report an Issue</a>\n <div class="testignore" style="display:inline-block">| v1.4.1 (313175fa)</div></span></div></body><script src="/js/saveSvgAsPng.js"></script><script src="/js/jquery/jquery-2.1.3.min.js"></script><script src="/js/bootstrap/bootstrap-3.3.4.js"></script><script src="/js/typeahead.bundle.js"></script><script src="/js/typeahead.jquery.min.js"></script><script src="/datatables.min.js"></script><script src="/js/pathseg.js"></script><script src="/js/chosen.jquery.js"></script><script src="/js/dropzone.js"></script><script src="/js/BootstrapMenu.js"></script><script src="/bundle.js"></script></head></html>'
E
======================================================================
The other tests work - so it's not an authentication issue:
python -m unittest tests/test_sparql_queries.py
Password:
......................./Users/markweston/Documents/Netrias/jenkins-integration/synbiohub_adapter/py3/lib/python3.6/site-packages/SPARQLWrapper/Wrapper.py:992: RuntimeWarning: unknown response content type 'text/html; charset=utf-8' returning raw response...
warnings.warn("unknown response content type '%s' returning raw response..." %(ct), RuntimeWarning)
E......................
======================================================================
ERROR: test_query_designs_by_lab_ids (tests.test_sparql_queries.TestSBHQueries)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/markweston/Documents/Netrias/jenkins-integration/synbiohub_adapter/tests/test_sparql_queries.py", line 1276, in test_query_designs_by_lab_ids
designs = sbh_query.query_designs_by_lab_ids(SD2Constants.GINKGO, ['1'], verbose=True)
File "/Users/markweston/Documents/Netrias/jenkins-integration/synbiohub_adapter/synbiohub_adapter/query_synbiohub.py", line 1130, in query_designs_by_lab_ids
return self.format_query_result(design_query_result, ['identity', 'name'], 'id')
File "/Users/markweston/Documents/Netrias/jenkins-integration/synbiohub_adapter/synbiohub_adapter/SynBioHubUtil.py", line 590, in format_query_result
for binding in query_result['results']['bindings']:
TypeError: byte indices must be integers or slices, not str
----------------------------------------------------------------------
Ran 46 tests in 15.472s
FAILED (errors=1)
Nevermind - those other tests do an explicit login call now - this is new. I assume this is by design? We can’t do open reads anymore?
Closing.
Just to record the full information here: requiring login is part of making sure people can't access private parts of the backing Virtuoso database without permission. This is intentional and a good thing, but does mean that code that used to be evading login now has to do login.
Gents:
I need to use the latest SBHA given that the query endpoint changed on Friday. However, the previously working
query_designs_by_lab_ids
function no longer works. This breaks all conversion/dictionary lookup processes. There was previously a test for this, but it looks like it was commented out. The following will reproduce the issue locally:Traceback (most recent call last): File "/Users/markweston/Documents/Netrias/jenkins-integration/synbiohub_adapter/tests/test_sparql_queries.py", line 1276, in test_query_designs_by_lab_ids designs = sbh_query.query_designs_by_lab_ids(SD2Constants.GINKGO, ['1'], verbose=True) File "/Users/markweston/Documents/Netrias/jenkins-integration/synbiohub_adapter/synbiohub_adapter/query_synbiohub.py", line 1130, in query_designs_by_lab_ids return self.format_query_result(design_query_result, ['identity', 'name'], 'id') File "/Users/markweston/Documents/Netrias/jenkins-integration/synbiohub_adapter/synbiohub_adapter/SynBioHubUtil.py", line 590, in format_query_result for binding in query_result['results']['bindings']: TypeError: byte indices must be integers or slices, not str