consoleText

download

20 Started by upstream project "cubes-oaipmh" build number 51
originally caused by:
Started by an SCM change
Building on master in workspace /var/lib/jenkins/jobs/cubes-oaipmh/workspace/TOXENV/py27
[py27] $ hg showconfig paths.default
[py27] $ hg pull --rev 87201450bcc073ca9dafa5ac4df3a9eb75ca90ff
pulling from http://hg.logilab.org/review/cubes/oaipmh
searching for changes
adding changesets
adding manifests
adding file changes
added 3 changesets with 3 changes to 3 files (+1 heads)
4 new obsolescence markers
(run 'hg heads' to see heads, 'hg merge' to merge)
working directory parent is obsolete!
(use "hg evolve" to update to its successor)
[py27] $ hg update --clean --rev 87201450bcc073ca9dafa5ac4df3a9eb75ca90ff
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
[py27] $ hg --config extensions.purge= clean --all
[py27] $ hg log --rev . --template {node}
[py27] $ hg log --rev . --template {rev}
[py27] $ hg log --rev 708cb7dd119121ca7ddf62a808da449181b781b4
abort: hidden revision '708cb7dd119121ca7ddf62a808da449181b781b4'!
(use --hidden to access hidden revisions)
ERROR: Previously built revision 708cb7dd119121ca7ddf62a808da449181b781b4 is not known in this clone; unable to determine change log
[py27] $ /bin/bash -xe /tmp/hudson5267430775922380785.sh
+ find . -name 'tmpdb*' -delete
[py27] $ /bin/bash -xe /tmp/hudson4285751571816607002.sh
+ tox --recreate
GLOB sdist-make: /var/lib/jenkins/jobs/cubes-oaipmh/workspace/TOXENV/py27/setup.py
py27 create: /var/lib/jenkins/jobs/cubes-oaipmh/workspace/TOXENV/py27/.tox/py27
py27 installdeps: pytest
py27 inst: /var/lib/jenkins/jobs/cubes-oaipmh/workspace/TOXENV/py27/.tox/dist/cubicweb-oaipmh-0.3.0.zip
py27 installed: beautifulsoup4==4.3.2,boto==2.34.0,bzr-etckeeper==0.0.0,cffi==0.8.6,characteristic==0.1.0,chardet==2.3.0,Cheetah==2.4.4,cloud-init==0.7.6,colorama==0.3.2,configobj==5.0.6,coverage==3.7.1,croniter==0.3.4,cryptography==0.6.1,cubicweb==3.23.1,cubicweb-oaipmh==0.3.0,cwclientlib==0.4.1,Cython==0.21.1,decorator==3.4.0,docutils==0.12,ecdsa==0.11,euca2ools==3.1.0,GDAL==1.10.1,hg-evolve==5.4.1,html2text==2016.9.19,html5lib==0.999,isodate==0.5.0,Jinja2==2.7.3,joblib==0.8.3,jsonpatch==1.3,jsonpointer==1.0,linecache2==1.0.0,logilab-common==1.2.2,logilab-constraint==0.6.0,logilab-database==1.15.0,logilab-mtconverter==0.9.0,lxml==3.4.0,M2Crypto==0.21.1,Mako==1.0.0,Markdown==2.5.1,MarkupSafe==0.23,matplotlib==1.4.2,mccabe==0.2.1,mercurial==3.9.1,mock==1.0.1,msgpack-python==0.4.2,mysqlclient==1.3.7,nose==1.3.4,numexpr==2.4,numpy==1.8.2,oauth==1.0.1,openpyxl==1.7.0,pandas==0.14.1,paramiko==1.15.1,passlib==1.6.5,pep8==1.5.7,Pillow==2.6.1,pluggy==0.3.1,ply==3.4,prettytable==0.7.2,psycopg2==2.5.4,py==1.4.31,pyasn1==0.1.7,pyasn1-modules==0.0.5,pycparser==2.10,pycrypto==2.6.1,pycurl==7.19.5,Pygments==2.0.1,pyinotify==0.9.4,pyOpenSSL==0.14,pyparsing==2.0.3,pyserial==2.6,pysqlite==2.6.3,pytest==3.0.3,python-apt==0.9.3.12,python-augeas==0.4.1,python-dateutil==2.2,python-jenkins==0.2.1,python-ldap==2.4.10,python-yapps==2.1.1,python3-ldap==0.9.4.2,pytz==2012rc0,PyYAML==3.11,pyzmq==14.4.0,rdflib==4.1.2,requestbuilder==0.2.3,requests==2.4.3,roman==2.0.0,rql==0.34.0,rubber==1.1,salt==2016.3.0,scikit-learn==0.14.1,scipy==0.14.0,service-identity==1.0.0,Shapely==1.4.3,simplejson==3.6.5,SimpleTAL==4.1,six==1.8.0,SPARQLWrapper==1.6.0,Sphinx==1.2.3,statsmodels==0.4.2,tables==3.1.1,tornado==4.2,tox==2.3.1,traceback2==1.4.0,unittest2==1.1.0,urllib3==1.9.1,virtualenv==15.0.3,xlrd==0.9.2,xlwt==0.7.5,yams==0.44.0,Yapps==2.2.0,Yapps2==2.2.0
py27 runtests: PYTHONHASHSEED='495023263'
py27 runtests: commands[0] | /var/lib/jenkins/jobs/cubes-oaipmh/workspace/TOXENV/py27/.tox/py27/bin/python -m pytest /var/lib/jenkins/jobs/cubes-oaipmh/workspace/TOXENV/py27/test
============================= test session starts ==============================
platform linux2 -- Python 2.7.9, pytest-3.0.3, py-1.4.31, pluggy-0.4.0
rootdir: /var/lib/jenkins/jobs/cubes-oaipmh/workspace/TOXENV/py27, inifile:
collected 48 items

test/test_oaipmh.py ..........F.FF..FFFFFFF..FF.FF.FFFFFFFF.FFFF..F.

=================================== FAILURES ===================================
___________________________ OAIRequestTC.test_to_xml ___________________________

self = <test_oaipmh.OAIRequestTC testMethod=test_to_xml>

def test_to_xml(self):
oairq = OAIRequest('http://testing.fr', verb='GetRecord',
identifier='abc', metadata_prefix='oai_dc')
> xml = oairq.to_xml()

test/test_oaipmh.py:206:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <[AttributeError("'OAIRequest' object has no attribute 'rtoken'") raised in repr()] SafeRepr object at 0x7f0a922c7098>
errors = None

def to_xml(self, errors=None):
if not errors:
# In cases where the request that generated this response resulted
# in a badVerb or badArgument error condition, the repository must
# return the base URL of the protocol request only. Attributes
# must not be provided in these cases.
attributes = {
'verb': self.verb,
'identifier': self.identifier,
'set': self.setspec,
}
if self.from_date:
attributes['from'] = datetime_isoformat(self.from_date)
if self.until_date:
attributes['until'] = datetime_isoformat(self.until_date)
if self.metadata_prefix:
attributes['metadataPrefix'] = self.metadata_prefix
> if self.rtoken:
E AttributeError: 'OAIRequest' object has no attribute 'rtoken'

.tox/py27/share/cubicweb/cubes/oaipmh/views.py:256: AttributeError
_____________________ OAIRequestTC.test_to_xml_with_dates ______________________

self = <test_oaipmh.OAIRequestTC testMethod=test_to_xml_with_dates>

def test_to_xml_with_dates(self):
datestr = '2016-09-23T12:34:44Z'
oairq = OAIRequest('http://testing.fr', verb='ListIdentifiers',
from_date=datestr, until_date=None)
> xml = oairq.to_xml()

test/test_oaipmh.py:218:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <[AttributeError("'OAIRequest' object has no attribute 'rtoken'") raised in repr()] SafeRepr object at 0x7f0a92dc9680>
errors = None

def to_xml(self, errors=None):
if not errors:
# In cases where the request that generated this response resulted
# in a badVerb or badArgument error condition, the repository must
# return the base URL of the protocol request only. Attributes
# must not be provided in these cases.
attributes = {
'verb': self.verb,
'identifier': self.identifier,
'set': self.setspec,
}
if self.from_date:
attributes['from'] = datetime_isoformat(self.from_date)
if self.until_date:
attributes['until'] = datetime_isoformat(self.until_date)
if self.metadata_prefix:
attributes['metadataPrefix'] = self.metadata_prefix
> if self.rtoken:
E AttributeError: 'OAIRequest' object has no attribute 'rtoken'

.tox/py27/share/cubicweb/cubes/oaipmh/views.py:256: AttributeError
_____________________ OAIRequestTC.test_to_xml_with_token ______________________

self = <test_oaipmh.OAIRequestTC testMethod=test_to_xml_with_token>

def test_to_xml_with_token(self):
token = ResumptionToken(7)
oairq = OAIRequest('http://testing.fr', verb='ListIdentifiers',
resumption_token=token.encode())
> xml = oairq.to_xml()

test/test_oaipmh.py:229:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <[AttributeError("'OAIRequest' object has no attribute 'rtoken'") raised in repr()] SafeRepr object at 0x7f0a92a2d128>
errors = None

def to_xml(self, errors=None):
if not errors:
# In cases where the request that generated this response resulted
# in a badVerb or badArgument error condition, the repository must
# return the base URL of the protocol request only. Attributes
# must not be provided in these cases.
attributes = {
'verb': self.verb,
'identifier': self.identifier,
'set': self.setspec,
}
if self.from_date:
attributes['from'] = datetime_isoformat(self.from_date)
if self.until_date:
attributes['until'] = datetime_isoformat(self.until_date)
if self.metadata_prefix:
attributes['metadataPrefix'] = self.metadata_prefix
> if self.rtoken:
E AttributeError: 'OAIRequest' object has no attribute 'rtoken'

.tox/py27/share/cubicweb/cubes/oaipmh/views.py:256: AttributeError
________________ OAIPMHViewsTC.test_from_until_listidentifiers _________________

self = <test_oaipmh.OAIPMHViewsTC testMethod=test_from_until_listidentifiers>

def test_from_until_listidentifiers(self):
with self.admin_access.cnx() as cnx:
alice = agent(cnx, u'alice')
bob = agent(cnx, u'bob')
cnx.commit()
with self.admin_access.repo_cnx() as cnx:
alice_date = cnx.entity_from_eid(alice.eid).modification_date
bob_date = alice_date + timedelta(seconds=2)
cnx.entity_from_eid(bob.eid).cw_set(modification_date=bob_date)
cnx.commit()
in_between_date = datetime_isoformat(alice_date + timedelta(seconds=1))
with self.admin_access.web_request() as req:
result = self.oai_request(req, verb='ListIdentifiers', set='agent',
metadataPrefix='oai_dc',
> **{'from': in_between_date})

test/test_oaipmh.py:792:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
test/test_oaipmh.py:279: in oai_request
out = self.app_handle_request(req, 'oai')
.tox/py27/local/lib/python2.7/site-packages/cubicweb/devtools/testlib.py:721: in app_handle_request
return self.app.core_handle(req, path)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:417: in core_handle
result = self.error_handler(req, ex, tb=True)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:365: in core_handle
result = controller.publish(rset=rset)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basecontrollers.py:136: in publish
rset=rset, view=view)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/cwvreg.py:223: in main_template
res = obj.render(**kwargs)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basetemplates.py:122: in call
view.render()
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:402: in call
response_elem = oai_response.to_xml(self.verb_content(), errors=errors)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:299: in to_xml
request = self.oai_request.to_xml(errors)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <[AttributeError("'OAIRequest' object has no attribute 'rtoken'") raised in repr()] SafeRepr object at 0x7f0a92b96b90>
errors = {}

def to_xml(self, errors=None):
if not errors:
# In cases where the request that generated this response resulted
# in a badVerb or badArgument error condition, the repository must
# return the base URL of the protocol request only. Attributes
# must not be provided in these cases.
attributes = {
'verb': self.verb,
'identifier': self.identifier,
'set': self.setspec,
}
if self.from_date:
attributes['from'] = datetime_isoformat(self.from_date)
if self.until_date:
attributes['until'] = datetime_isoformat(self.until_date)
if self.metadata_prefix:
attributes['metadataPrefix'] = self.metadata_prefix
> if self.rtoken:
E AttributeError: 'OAIRequest' object has no attribute 'rtoken'

.tox/py27/share/cubicweb/cubes/oaipmh/views.py:256: AttributeError
____________ OAIPMHViewsTC.test_from_until_listidentifiers_setspec _____________

self = <test_oaipmh.OAIPMHViewsTC testMethod=test_from_until_listidentifiers_setspec>

def test_from_until_listidentifiers_setspec(self):
"""Check from/until restriction with a multi-level setspec
`agent:kind:family`
"""
with self.admin_access.cnx() as cnx:
alice = agent(cnx, u'alice')
simpsons = agent(cnx, u'The Simpson', u'family')
adams = agent(cnx, u'Adams family', u'family')
cnx.commit()
with self.admin_access.cnx() as cnx:
simpsons_date = cnx.entity_from_eid(simpsons.eid).modification_date
adams = cnx.entity_from_eid(adams.eid)
adams_date = simpsons_date + timedelta(seconds=2)
adams.cw_set(modification_date=adams_date)
cnx.commit()
in_between_date = datetime_isoformat(
simpsons_date + timedelta(seconds=1))
with self.admin_access.web_request() as req:
result = self.oai_request(req, verb='ListIdentifiers',
set='agent:kind:family',
metadataPrefix='oai_dc',
> **{'from': in_between_date})

test/test_oaipmh.py:835:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
test/test_oaipmh.py:279: in oai_request
out = self.app_handle_request(req, 'oai')
.tox/py27/local/lib/python2.7/site-packages/cubicweb/devtools/testlib.py:721: in app_handle_request
return self.app.core_handle(req, path)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:417: in core_handle
result = self.error_handler(req, ex, tb=True)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:365: in core_handle
result = controller.publish(rset=rset)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basecontrollers.py:136: in publish
rset=rset, view=view)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/cwvreg.py:223: in main_template
res = obj.render(**kwargs)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basetemplates.py:122: in call
view.render()
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:402: in call
response_elem = oai_response.to_xml(self.verb_content(), errors=errors)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:299: in to_xml
request = self.oai_request.to_xml(errors)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <[AttributeError("'OAIRequest' object has no attribute 'rtoken'") raised in repr()] SafeRepr object at 0x7f0a929acf80>
errors = {}

def to_xml(self, errors=None):
if not errors:
# In cases where the request that generated this response resulted
# in a badVerb or badArgument error condition, the repository must
# return the base URL of the protocol request only. Attributes
# must not be provided in these cases.
attributes = {
'verb': self.verb,
'identifier': self.identifier,
'set': self.setspec,
}
if self.from_date:
attributes['from'] = datetime_isoformat(self.from_date)
if self.until_date:
attributes['until'] = datetime_isoformat(self.until_date)
if self.metadata_prefix:
attributes['metadataPrefix'] = self.metadata_prefix
> if self.rtoken:
E AttributeError: 'OAIRequest' object has no attribute 'rtoken'

.tox/py27/share/cubicweb/cubes/oaipmh/views.py:256: AttributeError
_________________________ OAIPMHViewsTC.test_getrecord _________________________

self = <test_oaipmh.OAIPMHViewsTC testMethod=test_getrecord>

@wraps(method)
def wrapper(self):
self._validate_xml = False
self._debug_xml = True
> return method(self)

test/test_oaipmh.py:252:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
test/test_oaipmh.py:705: in test_getrecord
identifier=u'aaa', metadataPrefix='oai_dc')
test/test_oaipmh.py:279: in oai_request
out = self.app_handle_request(req, 'oai')
.tox/py27/local/lib/python2.7/site-packages/cubicweb/devtools/testlib.py:721: in app_handle_request
return self.app.core_handle(req, path)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:417: in core_handle
result = self.error_handler(req, ex, tb=True)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:365: in core_handle
result = controller.publish(rset=rset)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basecontrollers.py:136: in publish
rset=rset, view=view)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/cwvreg.py:223: in main_template
res = obj.render(**kwargs)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basetemplates.py:122: in call
view.render()
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:402: in call
response_elem = oai_response.to_xml(self.verb_content(), errors=errors)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:299: in to_xml
request = self.oai_request.to_xml(errors)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <[AttributeError("'OAIRequest' object has no attribute 'rtoken'") raised in repr()] SafeRepr object at 0x7f0a92448710>
errors = {}

def to_xml(self, errors=None):
if not errors:
# In cases where the request that generated this response resulted
# in a badVerb or badArgument error condition, the repository must
# return the base URL of the protocol request only. Attributes
# must not be provided in these cases.
attributes = {
'verb': self.verb,
'identifier': self.identifier,
'set': self.setspec,
}
if self.from_date:
attributes['from'] = datetime_isoformat(self.from_date)
if self.until_date:
attributes['until'] = datetime_isoformat(self.until_date)
if self.metadata_prefix:
attributes['metadataPrefix'] = self.metadata_prefix
> if self.rtoken:
E AttributeError: 'OAIRequest' object has no attribute 'rtoken'

.tox/py27/share/cubicweb/cubes/oaipmh/views.py:256: AttributeError
______________________ OAIPMHViewsTC.test_getrecord_agent ______________________

self = <test_oaipmh.OAIPMHViewsTC testMethod=test_getrecord_agent>

@wraps(method)
def wrapper(self):
self._validate_xml = False
self._debug_xml = True
> return method(self)

test/test_oaipmh.py:252:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
test/test_oaipmh.py:716: in test_getrecord_agent
metadataPrefix='oai_dc')
test/test_oaipmh.py:279: in oai_request
out = self.app_handle_request(req, 'oai')
.tox/py27/local/lib/python2.7/site-packages/cubicweb/devtools/testlib.py:721: in app_handle_request
return self.app.core_handle(req, path)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:417: in core_handle
result = self.error_handler(req, ex, tb=True)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:365: in core_handle
result = controller.publish(rset=rset)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basecontrollers.py:136: in publish
rset=rset, view=view)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/cwvreg.py:223: in main_template
res = obj.render(**kwargs)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basetemplates.py:122: in call
view.render()
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:402: in call
response_elem = oai_response.to_xml(self.verb_content(), errors=errors)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:299: in to_xml
request = self.oai_request.to_xml(errors)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <[AttributeError("'OAIRequest' object has no attribute 'rtoken'") raised in repr()] SafeRepr object at 0x7f0a922bf638>
errors = {}

def to_xml(self, errors=None):
if not errors:
# In cases where the request that generated this response resulted
# in a badVerb or badArgument error condition, the repository must
# return the base URL of the protocol request only. Attributes
# must not be provided in these cases.
attributes = {
'verb': self.verb,
'identifier': self.identifier,
'set': self.setspec,
}
if self.from_date:
attributes['from'] = datetime_isoformat(self.from_date)
if self.until_date:
attributes['until'] = datetime_isoformat(self.until_date)
if self.metadata_prefix:
attributes['metadataPrefix'] = self.metadata_prefix
> if self.rtoken:
E AttributeError: 'OAIRequest' object has no attribute 'rtoken'

.tox/py27/share/cubicweb/cubes/oaipmh/views.py:256: AttributeError
_______________ OAIPMHViewsTC.test_getrecord_agent_other_prefix ________________

self = <test_oaipmh.OAIPMHViewsTC testMethod=test_getrecord_agent_other_prefix>

@wraps(method)
def wrapper(self):
self._validate_xml = False
self._debug_xml = True
> return method(self)

test/test_oaipmh.py:252:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
test/test_oaipmh.py:728: in test_getrecord_agent_other_prefix
metadataPrefix='eac_cpf')
test/test_oaipmh.py:279: in oai_request
out = self.app_handle_request(req, 'oai')
.tox/py27/local/lib/python2.7/site-packages/cubicweb/devtools/testlib.py:721: in app_handle_request
return self.app.core_handle(req, path)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:417: in core_handle
result = self.error_handler(req, ex, tb=True)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:365: in core_handle
result = controller.publish(rset=rset)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basecontrollers.py:136: in publish
rset=rset, view=view)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/cwvreg.py:223: in main_template
res = obj.render(**kwargs)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basetemplates.py:122: in call
view.render()
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:402: in call
response_elem = oai_response.to_xml(self.verb_content(), errors=errors)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:299: in to_xml
request = self.oai_request.to_xml(errors)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <[AttributeError("'OAIRequest' object has no attribute 'rtoken'") raised in repr()] SafeRepr object at 0x7f0a92c675f0>
errors = {}

def to_xml(self, errors=None):
if not errors:
# In cases where the request that generated this response resulted
# in a badVerb or badArgument error condition, the repository must
# return the base URL of the protocol request only. Attributes
# must not be provided in these cases.
attributes = {
'verb': self.verb,
'identifier': self.identifier,
'set': self.setspec,
}
if self.from_date:
attributes['from'] = datetime_isoformat(self.from_date)
if self.until_date:
attributes['until'] = datetime_isoformat(self.until_date)
if self.metadata_prefix:
attributes['metadataPrefix'] = self.metadata_prefix
> if self.rtoken:
E AttributeError: 'OAIRequest' object has no attribute 'rtoken'

.tox/py27/share/cubicweb/cubes/oaipmh/views.py:256: AttributeError
_____________________ OAIPMHViewsTC.test_getrecord_deleted _____________________

self = <test_oaipmh.OAIPMHViewsTC testMethod=test_getrecord_deleted>

def test_getrecord_deleted(self):
"""Check absence of <metadata> or <about> elements for deleted
records in GetRecord response.
"""
with self.admin_access.cnx() as cnx:
cnx.create_entity('Thing', identifier=u'd', deleted=True)
cnx.commit()
with self.admin_access.web_request() as req:
result = self.oai_request(req, verb='GetRecord', identifier=u'd',
> metadataPrefix='oai_dc')

test/test_oaipmh.py:757:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
test/test_oaipmh.py:279: in oai_request
out = self.app_handle_request(req, 'oai')
.tox/py27/local/lib/python2.7/site-packages/cubicweb/devtools/testlib.py:721: in app_handle_request
return self.app.core_handle(req, path)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:417: in core_handle
result = self.error_handler(req, ex, tb=True)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:365: in core_handle
result = controller.publish(rset=rset)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basecontrollers.py:136: in publish
rset=rset, view=view)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/cwvreg.py:223: in main_template
res = obj.render(**kwargs)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basetemplates.py:122: in call
view.render()
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:402: in call
response_elem = oai_response.to_xml(self.verb_content(), errors=errors)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:299: in to_xml
request = self.oai_request.to_xml(errors)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <[AttributeError("'OAIRequest' object has no attribute 'rtoken'") raised in repr()] SafeRepr object at 0x7f0a927684d0>
errors = {}

def to_xml(self, errors=None):
if not errors:
# In cases where the request that generated this response resulted
# in a badVerb or badArgument error condition, the repository must
# return the base URL of the protocol request only. Attributes
# must not be provided in these cases.
attributes = {
'verb': self.verb,
'identifier': self.identifier,
'set': self.setspec,
}
if self.from_date:
attributes['from'] = datetime_isoformat(self.from_date)
if self.until_date:
attributes['until'] = datetime_isoformat(self.until_date)
if self.metadata_prefix:
attributes['metadataPrefix'] = self.metadata_prefix
> if self.rtoken:
E AttributeError: 'OAIRequest' object has no attribute 'rtoken'

.tox/py27/share/cubicweb/cubes/oaipmh/views.py:256: AttributeError
___________________ OAIPMHViewsTC.test_getrecord_inexistant ____________________

self = <test_oaipmh.OAIPMHViewsTC testMethod=test_getrecord_inexistant>

def test_getrecord_inexistant(self):
with self.admin_access.web_request() as req:
result = self.oai_request(req, verb='GetRecord', identifier=u'z',
> metadataPrefix='doesnotmatter')

test/test_oaipmh.py:767:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
test/test_oaipmh.py:279: in oai_request
out = self.app_handle_request(req, 'oai')
.tox/py27/local/lib/python2.7/site-packages/cubicweb/devtools/testlib.py:721: in app_handle_request
return self.app.core_handle(req, path)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:417: in core_handle
result = self.error_handler(req, ex, tb=True)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:365: in core_handle
result = controller.publish(rset=rset)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basecontrollers.py:136: in publish
rset=rset, view=view)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/cwvreg.py:223: in main_template
res = obj.render(**kwargs)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basetemplates.py:122: in call
view.render()
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:402: in call
response_elem = oai_response.to_xml(self.verb_content(), errors=errors)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:299: in to_xml
request = self.oai_request.to_xml(errors)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <[AttributeError("'OAIRequest' object has no attribute 'rtoken'") raised in repr()] SafeRepr object at 0x7f0a928c5dd0>
errors = {}

def to_xml(self, errors=None):
if not errors:
# In cases where the request that generated this response resulted
# in a badVerb or badArgument error condition, the repository must
# return the base URL of the protocol request only. Attributes
# must not be provided in these cases.
attributes = {
'verb': self.verb,
'identifier': self.identifier,
'set': self.setspec,
}
if self.from_date:
attributes['from'] = datetime_isoformat(self.from_date)
if self.until_date:
attributes['until'] = datetime_isoformat(self.until_date)
if self.metadata_prefix:
attributes['metadataPrefix'] = self.metadata_prefix
> if self.rtoken:
E AttributeError: 'OAIRequest' object has no attribute 'rtoken'

.tox/py27/share/cubicweb/cubes/oaipmh/views.py:256: AttributeError
___________ OAIPMHViewsTC.test_getrecord_unsupported_metadataprefix ____________

self = <test_oaipmh.OAIPMHViewsTC testMethod=test_getrecord_unsupported_metadataprefix>

def test_getrecord_unsupported_metadataprefix(self):
with self.admin_access.repo_cnx() as cnx:
cnx.create_entity('Thing', identifier=u'aaa')
cnx.commit()
with self.admin_access.web_request() as req:
result = self.oai_request(req, verb='GetRecord',
identifier=u'aaa',
> metadataPrefix='ahah')

test/test_oaipmh.py:744:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
test/test_oaipmh.py:279: in oai_request
out = self.app_handle_request(req, 'oai')
.tox/py27/local/lib/python2.7/site-packages/cubicweb/devtools/testlib.py:721: in app_handle_request
return self.app.core_handle(req, path)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:417: in core_handle
result = self.error_handler(req, ex, tb=True)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:365: in core_handle
result = controller.publish(rset=rset)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basecontrollers.py:136: in publish
rset=rset, view=view)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/cwvreg.py:223: in main_template
res = obj.render(**kwargs)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basetemplates.py:122: in call
view.render()
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:402: in call
response_elem = oai_response.to_xml(self.verb_content(), errors=errors)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:299: in to_xml
request = self.oai_request.to_xml(errors)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <[AttributeError("'OAIRequest' object has no attribute 'rtoken'") raised in repr()] SafeRepr object at 0x7f0a9245cb90>
errors = {}

def to_xml(self, errors=None):
if not errors:
# In cases where the request that generated this response resulted
# in a badVerb or badArgument error condition, the repository must
# return the base URL of the protocol request only. Attributes
# must not be provided in these cases.
attributes = {
'verb': self.verb,
'identifier': self.identifier,
'set': self.setspec,
}
if self.from_date:
attributes['from'] = datetime_isoformat(self.from_date)
if self.until_date:
attributes['until'] = datetime_isoformat(self.until_date)
if self.metadata_prefix:
attributes['metadataPrefix'] = self.metadata_prefix
> if self.rtoken:
E AttributeError: 'OAIRequest' object has no attribute 'rtoken'

.tox/py27/share/cubicweb/cubes/oaipmh/views.py:256: AttributeError
_________________________ OAIPMHViewsTC.test_identify __________________________

self = <test_oaipmh.OAIPMHViewsTC testMethod=test_identify>

def test_identify(self):
self.config.global_set_option('admin-email', 'oai-admin@example.org')
with self.admin_access.web_request() as req:
> result = self.oai_request(req, verb='Identify')

test/test_oaipmh.py:332:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
test/test_oaipmh.py:279: in oai_request
out = self.app_handle_request(req, 'oai')
.tox/py27/local/lib/python2.7/site-packages/cubicweb/devtools/testlib.py:721: in app_handle_request
return self.app.core_handle(req, path)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:417: in core_handle
result = self.error_handler(req, ex, tb=True)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:365: in core_handle
result = controller.publish(rset=rset)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basecontrollers.py:136: in publish
rset=rset, view=view)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/cwvreg.py:223: in main_template
res = obj.render(**kwargs)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basetemplates.py:122: in call
view.render()
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:402: in call
response_elem = oai_response.to_xml(self.verb_content(), errors=errors)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:299: in to_xml
request = self.oai_request.to_xml(errors)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <[AttributeError("'OAIRequest' object has no attribute 'rtoken'") raised in repr()] SafeRepr object at 0x7f0a9298a638>
errors = {}

def to_xml(self, errors=None):
if not errors:
# In cases where the request that generated this response resulted
# in a badVerb or badArgument error condition, the repository must
# return the base URL of the protocol request only. Attributes
# must not be provided in these cases.
attributes = {
'verb': self.verb,
'identifier': self.identifier,
'set': self.setspec,
}
if self.from_date:
attributes['from'] = datetime_isoformat(self.from_date)
if self.until_date:
attributes['until'] = datetime_isoformat(self.until_date)
if self.metadata_prefix:
attributes['metadataPrefix'] = self.metadata_prefix
> if self.rtoken:
E AttributeError: 'OAIRequest' object has no attribute 'rtoken'

.tox/py27/share/cubicweb/cubes/oaipmh/views.py:256: AttributeError
______________________ OAIPMHViewsTC.test_listidentifiers ______________________

self = <test_oaipmh.OAIPMHViewsTC testMethod=test_listidentifiers>

def test_listidentifiers(self):
with self.admin_access.cnx() as cnx:
alice = agent(cnx, u'alice').eid
newyork = agent(cnx, u'New York City', u'authority').eid
cnx.create_entity('Thing', identifier=u'007')
cnx.commit()
with self.admin_access.web_request() as req:
result = self.oai_request(req, verb='ListIdentifiers',
> metadataPrefix='oai_dc')

test/test_oaipmh.py:453:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
test/test_oaipmh.py:279: in oai_request
out = self.app_handle_request(req, 'oai')
.tox/py27/local/lib/python2.7/site-packages/cubicweb/devtools/testlib.py:721: in app_handle_request
return self.app.core_handle(req, path)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:417: in core_handle
result = self.error_handler(req, ex, tb=True)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:365: in core_handle
result = controller.publish(rset=rset)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basecontrollers.py:136: in publish
rset=rset, view=view)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/cwvreg.py:223: in main_template
res = obj.render(**kwargs)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basetemplates.py:122: in call
view.render()
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:402: in call
response_elem = oai_response.to_xml(self.verb_content(), errors=errors)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:299: in to_xml
request = self.oai_request.to_xml(errors)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <[AttributeError("'OAIRequest' object has no attribute 'rtoken'") raised in repr()] SafeRepr object at 0x7f0a92cd3bd8>
errors = {}

def to_xml(self, errors=None):
if not errors:
# In cases where the request that generated this response resulted
# in a badVerb or badArgument error condition, the repository must
# return the base URL of the protocol request only. Attributes
# must not be provided in these cases.
attributes = {
'verb': self.verb,
'identifier': self.identifier,
'set': self.setspec,
}
if self.from_date:
attributes['from'] = datetime_isoformat(self.from_date)
if self.until_date:
attributes['until'] = datetime_isoformat(self.until_date)
if self.metadata_prefix:
attributes['metadataPrefix'] = self.metadata_prefix
> if self.rtoken:
E AttributeError: 'OAIRequest' object has no attribute 'rtoken'

.tox/py27/share/cubicweb/cubes/oaipmh/views.py:256: AttributeError
__________________ OAIPMHViewsTC.test_listidentifiers_deleted __________________

self = <test_oaipmh.OAIPMHViewsTC testMethod=test_listidentifiers_deleted>

def test_listidentifiers_deleted(self):
"""Check <header> element (status attribute, datestamp) for deleted
records in ListIdentifiers response.
"""
with self.admin_access.cnx() as cnx:
cnx.create_entity('Thing', identifier=u'a')
deleted = cnx.create_entity('Thing', identifier=u'b')
date_before = deleted.modification_date.replace(tzinfo=pytz.utc)
cnx.commit()
time.sleep(1)
deleted.cw_set(deleted=True)
cnx.commit()
with self.admin_access.web_request() as req:
result = self.oai_request(req, verb='ListIdentifiers', set='thing',
> metadataPrefix='oai_dc')

test/test_oaipmh.py:505:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
test/test_oaipmh.py:279: in oai_request
out = self.app_handle_request(req, 'oai')
.tox/py27/local/lib/python2.7/site-packages/cubicweb/devtools/testlib.py:721: in app_handle_request
return self.app.core_handle(req, path)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:417: in core_handle
result = self.error_handler(req, ex, tb=True)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:365: in core_handle
result = controller.publish(rset=rset)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basecontrollers.py:136: in publish
rset=rset, view=view)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/cwvreg.py:223: in main_template
res = obj.render(**kwargs)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basetemplates.py:122: in call
view.render()
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:402: in call
response_elem = oai_response.to_xml(self.verb_content(), errors=errors)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:299: in to_xml
request = self.oai_request.to_xml(errors)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <[AttributeError("'OAIRequest' object has no attribute 'rtoken'") raised in repr()] SafeRepr object at 0x7f0a9274a368>
errors = {}

def to_xml(self, errors=None):
if not errors:
# In cases where the request that generated this response resulted
# in a badVerb or badArgument error condition, the repository must
# return the base URL of the protocol request only. Attributes
# must not be provided in these cases.
attributes = {
'verb': self.verb,
'identifier': self.identifier,
'set': self.setspec,
}
if self.from_date:
attributes['from'] = datetime_isoformat(self.from_date)
if self.until_date:
attributes['until'] = datetime_isoformat(self.until_date)
if self.metadata_prefix:
attributes['metadataPrefix'] = self.metadata_prefix
> if self.rtoken:
E AttributeError: 'OAIRequest' object has no attribute 'rtoken'

.tox/py27/share/cubicweb/cubes/oaipmh/views.py:256: AttributeError
__________________ OAIPMHViewsTC.test_listidentifiers_setspec __________________

self = <test_oaipmh.OAIPMHViewsTC testMethod=test_listidentifiers_setspec>

def test_listidentifiers_setspec(self):
with self.admin_access.cnx() as cnx:
alice = agent(cnx, u'alice').eid
newyork = agent(cnx, u'New York City', u'authority').eid
cnx.create_entity('Thing', identifier=u'007')
cnx.commit()
with self.admin_access.web_request() as req:
result = self.oai_request(req, verb='ListIdentifiers', set='agent',
> metadataPrefix='oai_dc')

test/test_oaipmh.py:474:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
test/test_oaipmh.py:279: in oai_request
out = self.app_handle_request(req, 'oai')
.tox/py27/local/lib/python2.7/site-packages/cubicweb/devtools/testlib.py:721: in app_handle_request
return self.app.core_handle(req, path)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:417: in core_handle
result = self.error_handler(req, ex, tb=True)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:365: in core_handle
result = controller.publish(rset=rset)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basecontrollers.py:136: in publish
rset=rset, view=view)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/cwvreg.py:223: in main_template
res = obj.render(**kwargs)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basetemplates.py:122: in call
view.render()
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:402: in call
response_elem = oai_response.to_xml(self.verb_content(), errors=errors)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:299: in to_xml
request = self.oai_request.to_xml(errors)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <[AttributeError("'OAIRequest' object has no attribute 'rtoken'") raised in repr()] SafeRepr object at 0x7f0a924f7638>
errors = {}

def to_xml(self, errors=None):
if not errors:
# In cases where the request that generated this response resulted
# in a badVerb or badArgument error condition, the repository must
# return the base URL of the protocol request only. Attributes
# must not be provided in these cases.
attributes = {
'verb': self.verb,
'identifier': self.identifier,
'set': self.setspec,
}
if self.from_date:
attributes['from'] = datetime_isoformat(self.from_date)
if self.until_date:
attributes['until'] = datetime_isoformat(self.until_date)
if self.metadata_prefix:
attributes['metadataPrefix'] = self.metadata_prefix
> if self.rtoken:
E AttributeError: 'OAIRequest' object has no attribute 'rtoken'

.tox/py27/share/cubicweb/cubes/oaipmh/views.py:256: AttributeError
_____________________ OAIPMHViewsTC.test_listmetadaformats _____________________

self = <test_oaipmh.OAIPMHViewsTC testMethod=test_listmetadaformats>

def test_listmetadaformats(self):
with self.admin_access.web_request() as req:
> result = self.oai_request(req, verb='ListMetadataFormats')

test/test_oaipmh.py:349:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
test/test_oaipmh.py:279: in oai_request
out = self.app_handle_request(req, 'oai')
.tox/py27/local/lib/python2.7/site-packages/cubicweb/devtools/testlib.py:721: in app_handle_request
return self.app.core_handle(req, path)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:417: in core_handle
result = self.error_handler(req, ex, tb=True)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:365: in core_handle
result = controller.publish(rset=rset)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basecontrollers.py:136: in publish
rset=rset, view=view)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/cwvreg.py:223: in main_template
res = obj.render(**kwargs)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basetemplates.py:122: in call
view.render()
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:402: in call
response_elem = oai_response.to_xml(self.verb_content(), errors=errors)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:299: in to_xml
request = self.oai_request.to_xml(errors)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <[AttributeError("'OAIRequest' object has no attribute 'rtoken'") raised in repr()] SafeRepr object at 0x7f0a926ff248>
errors = {}

def to_xml(self, errors=None):
if not errors:
# In cases where the request that generated this response resulted
# in a badVerb or badArgument error condition, the repository must
# return the base URL of the protocol request only. Attributes
# must not be provided in these cases.
attributes = {
'verb': self.verb,
'identifier': self.identifier,
'set': self.setspec,
}
if self.from_date:
attributes['from'] = datetime_isoformat(self.from_date)
if self.until_date:
attributes['until'] = datetime_isoformat(self.until_date)
if self.metadata_prefix:
attributes['metadataPrefix'] = self.metadata_prefix
> if self.rtoken:
E AttributeError: 'OAIRequest' object has no attribute 'rtoken'

.tox/py27/share/cubicweb/cubes/oaipmh/views.py:256: AttributeError
______________ OAIPMHViewsTC.test_listmetadaformats_by_identifier ______________

self = <test_oaipmh.OAIPMHViewsTC testMethod=test_listmetadaformats_by_identifier>

def test_listmetadaformats_by_identifier(self):
with self.admin_access.cnx() as cnx:
agent_eid = agent(cnx, u'bob').eid
cnx.create_entity('Thing', identifier=u'123')
cnx.commit()
with self.admin_access.web_request() as req:
result = self.oai_request(req, verb='ListMetadataFormats',
> identifier=str(agent_eid))

test/test_oaipmh.py:366:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
test/test_oaipmh.py:279: in oai_request
out = self.app_handle_request(req, 'oai')
.tox/py27/local/lib/python2.7/site-packages/cubicweb/devtools/testlib.py:721: in app_handle_request
return self.app.core_handle(req, path)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:417: in core_handle
result = self.error_handler(req, ex, tb=True)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:365: in core_handle
result = controller.publish(rset=rset)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basecontrollers.py:136: in publish
rset=rset, view=view)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/cwvreg.py:223: in main_template
res = obj.render(**kwargs)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basetemplates.py:122: in call
view.render()
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:402: in call
response_elem = oai_response.to_xml(self.verb_content(), errors=errors)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:299: in to_xml
request = self.oai_request.to_xml(errors)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <[AttributeError("'OAIRequest' object has no attribute 'rtoken'") raised in repr()] SafeRepr object at 0x7f0a9299dc68>
errors = {}

def to_xml(self, errors=None):
if not errors:
# In cases where the request that generated this response resulted
# in a badVerb or badArgument error condition, the repository must
# return the base URL of the protocol request only. Attributes
# must not be provided in these cases.
attributes = {
'verb': self.verb,
'identifier': self.identifier,
'set': self.setspec,
}
if self.from_date:
attributes['from'] = datetime_isoformat(self.from_date)
if self.until_date:
attributes['until'] = datetime_isoformat(self.until_date)
if self.metadata_prefix:
attributes['metadataPrefix'] = self.metadata_prefix
> if self.rtoken:
E AttributeError: 'OAIRequest' object has no attribute 'rtoken'

.tox/py27/share/cubicweb/cubes/oaipmh/views.py:256: AttributeError
_____________ OAIPMHViewsTC.test_listmetadaformats_iddoesnotexist ______________

self = <test_oaipmh.OAIPMHViewsTC testMethod=test_listmetadaformats_iddoesnotexist>

def test_listmetadaformats_iddoesnotexist(self):
with self.admin_access.web_request() as req:
result = self.oai_request(req, verb='ListMetadataFormats',
> identifier='-123')

test/test_oaipmh.py:356:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
test/test_oaipmh.py:279: in oai_request
out = self.app_handle_request(req, 'oai')
.tox/py27/local/lib/python2.7/site-packages/cubicweb/devtools/testlib.py:721: in app_handle_request
return self.app.core_handle(req, path)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:417: in core_handle
result = self.error_handler(req, ex, tb=True)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:365: in core_handle
result = controller.publish(rset=rset)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basecontrollers.py:136: in publish
rset=rset, view=view)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/cwvreg.py:223: in main_template
res = obj.render(**kwargs)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basetemplates.py:122: in call
view.render()
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:402: in call
response_elem = oai_response.to_xml(self.verb_content(), errors=errors)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:299: in to_xml
request = self.oai_request.to_xml(errors)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <[AttributeError("'OAIRequest' object has no attribute 'rtoken'") raised in repr()] SafeRepr object at 0x7f0a9232c7e8>
errors = {}

def to_xml(self, errors=None):
if not errors:
# In cases where the request that generated this response resulted
# in a badVerb or badArgument error condition, the repository must
# return the base URL of the protocol request only. Attributes
# must not be provided in these cases.
attributes = {
'verb': self.verb,
'identifier': self.identifier,
'set': self.setspec,
}
if self.from_date:
attributes['from'] = datetime_isoformat(self.from_date)
if self.until_date:
attributes['until'] = datetime_isoformat(self.until_date)
if self.metadata_prefix:
attributes['metadataPrefix'] = self.metadata_prefix
> if self.rtoken:
E AttributeError: 'OAIRequest' object has no attribute 'rtoken'

.tox/py27/share/cubicweb/cubes/oaipmh/views.py:256: AttributeError
____________________ OAIPMHViewsTC.test_listrecord_deleted _____________________

self = <test_oaipmh.OAIPMHViewsTC testMethod=test_listrecord_deleted>

@wraps(method)
def wrapper(self):
self._validate_xml = False
self._debug_xml = True
> return method(self)

test/test_oaipmh.py:252:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
test/test_oaipmh.py:676: in test_listrecord_deleted
metadataPrefix='oai_dc')
test/test_oaipmh.py:279: in oai_request
out = self.app_handle_request(req, 'oai')
.tox/py27/local/lib/python2.7/site-packages/cubicweb/devtools/testlib.py:721: in app_handle_request
return self.app.core_handle(req, path)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:417: in core_handle
result = self.error_handler(req, ex, tb=True)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:365: in core_handle
result = controller.publish(rset=rset)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basecontrollers.py:136: in publish
rset=rset, view=view)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/cwvreg.py:223: in main_template
res = obj.render(**kwargs)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basetemplates.py:122: in call
view.render()
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:402: in call
response_elem = oai_response.to_xml(self.verb_content(), errors=errors)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:299: in to_xml
request = self.oai_request.to_xml(errors)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <[AttributeError("'OAIRequest' object has no attribute 'rtoken'") raised in repr()] SafeRepr object at 0x7f0a92872488>
errors = {}

def to_xml(self, errors=None):
if not errors:
# In cases where the request that generated this response resulted
# in a badVerb or badArgument error condition, the repository must
# return the base URL of the protocol request only. Attributes
# must not be provided in these cases.
attributes = {
'verb': self.verb,
'identifier': self.identifier,
'set': self.setspec,
}
if self.from_date:
attributes['from'] = datetime_isoformat(self.from_date)
if self.until_date:
attributes['until'] = datetime_isoformat(self.until_date)
if self.metadata_prefix:
attributes['metadataPrefix'] = self.metadata_prefix
> if self.rtoken:
E AttributeError: 'OAIRequest' object has no attribute 'rtoken'

.tox/py27/share/cubicweb/cubes/oaipmh/views.py:256: AttributeError
________________________ OAIPMHViewsTC.test_listrecords ________________________

self = <test_oaipmh.OAIPMHViewsTC testMethod=test_listrecords>

@wraps(method)
def wrapper(self):
self._validate_xml = False
self._debug_xml = True
> return method(self)

test/test_oaipmh.py:252:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
test/test_oaipmh.py:536: in test_listrecords
result = self.oai_request(req, verb='ListRecords', metadataPrefix='oai_dc')
test/test_oaipmh.py:279: in oai_request
out = self.app_handle_request(req, 'oai')
.tox/py27/local/lib/python2.7/site-packages/cubicweb/devtools/testlib.py:721: in app_handle_request
return self.app.core_handle(req, path)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:417: in core_handle
result = self.error_handler(req, ex, tb=True)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:365: in core_handle
result = controller.publish(rset=rset)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basecontrollers.py:136: in publish
rset=rset, view=view)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/cwvreg.py:223: in main_template
res = obj.render(**kwargs)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basetemplates.py:122: in call
view.render()
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:402: in call
response_elem = oai_response.to_xml(self.verb_content(), errors=errors)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:299: in to_xml
request = self.oai_request.to_xml(errors)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <[AttributeError("'OAIRequest' object has no attribute 'rtoken'") raised in repr()] SafeRepr object at 0x7f0a92502170>
errors = {}

def to_xml(self, errors=None):
if not errors:
# In cases where the request that generated this response resulted
# in a badVerb or badArgument error condition, the repository must
# return the base URL of the protocol request only. Attributes
# must not be provided in these cases.
attributes = {
'verb': self.verb,
'identifier': self.identifier,
'set': self.setspec,
}
if self.from_date:
attributes['from'] = datetime_isoformat(self.from_date)
if self.until_date:
attributes['until'] = datetime_isoformat(self.until_date)
if self.metadata_prefix:
attributes['metadataPrefix'] = self.metadata_prefix
> if self.rtoken:
E AttributeError: 'OAIRequest' object has no attribute 'rtoken'

.tox/py27/share/cubicweb/cubes/oaipmh/views.py:256: AttributeError
____________ OAIPMHViewsTC.test_listrecords_filter_metadata_prefix _____________

self = <test_oaipmh.OAIPMHViewsTC testMethod=test_listrecords_filter_metadata_prefix>

@wraps(method)
def wrapper(self):
self._validate_xml = False
self._debug_xml = True
> return method(self)

test/test_oaipmh.py:252:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
test/test_oaipmh.py:615: in test_listrecords_filter_metadata_prefix
metadataPrefix='eac_cpf')
test/test_oaipmh.py:279: in oai_request
out = self.app_handle_request(req, 'oai')
.tox/py27/local/lib/python2.7/site-packages/cubicweb/devtools/testlib.py:721: in app_handle_request
return self.app.core_handle(req, path)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:417: in core_handle
result = self.error_handler(req, ex, tb=True)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:365: in core_handle
result = controller.publish(rset=rset)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basecontrollers.py:136: in publish
rset=rset, view=view)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/cwvreg.py:223: in main_template
res = obj.render(**kwargs)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basetemplates.py:122: in call
view.render()
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:402: in call
response_elem = oai_response.to_xml(self.verb_content(), errors=errors)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:299: in to_xml
request = self.oai_request.to_xml(errors)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <[AttributeError("'OAIRequest' object has no attribute 'rtoken'") raised in repr()] SafeRepr object at 0x7f0a9270b878>
errors = {}

def to_xml(self, errors=None):
if not errors:
# In cases where the request that generated this response resulted
# in a badVerb or badArgument error condition, the repository must
# return the base URL of the protocol request only. Attributes
# must not be provided in these cases.
attributes = {
'verb': self.verb,
'identifier': self.identifier,
'set': self.setspec,
}
if self.from_date:
attributes['from'] = datetime_isoformat(self.from_date)
if self.until_date:
attributes['until'] = datetime_isoformat(self.until_date)
if self.metadata_prefix:
attributes['metadataPrefix'] = self.metadata_prefix
> if self.rtoken:
E AttributeError: 'OAIRequest' object has no attribute 'rtoken'

.tox/py27/share/cubicweb/cubes/oaipmh/views.py:256: AttributeError
_______ OAIPMHViewsTC.test_listrecords_filter_metadata_prefix_no_result ________

self = <test_oaipmh.OAIPMHViewsTC testMethod=test_listrecords_filter_metadata_prefix_no_result>

@wraps(method)
def wrapper(self):
self._validate_xml = False
self._debug_xml = True
> return method(self)

test/test_oaipmh.py:252:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
test/test_oaipmh.py:643: in test_listrecords_filter_metadata_prefix_no_result
metadataPrefix='eac_cpf')
test/test_oaipmh.py:279: in oai_request
out = self.app_handle_request(req, 'oai')
.tox/py27/local/lib/python2.7/site-packages/cubicweb/devtools/testlib.py:721: in app_handle_request
return self.app.core_handle(req, path)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:417: in core_handle
result = self.error_handler(req, ex, tb=True)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:365: in core_handle
result = controller.publish(rset=rset)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basecontrollers.py:136: in publish
rset=rset, view=view)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/cwvreg.py:223: in main_template
res = obj.render(**kwargs)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basetemplates.py:122: in call
view.render()
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:402: in call
response_elem = oai_response.to_xml(self.verb_content(), errors=errors)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:299: in to_xml
request = self.oai_request.to_xml(errors)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <[AttributeError("'OAIRequest' object has no attribute 'rtoken'") raised in repr()] SafeRepr object at 0x7f0a92ba1128>
errors = {}

def to_xml(self, errors=None):
if not errors:
# In cases where the request that generated this response resulted
# in a badVerb or badArgument error condition, the repository must
# return the base URL of the protocol request only. Attributes
# must not be provided in these cases.
attributes = {
'verb': self.verb,
'identifier': self.identifier,
'set': self.setspec,
}
if self.from_date:
attributes['from'] = datetime_isoformat(self.from_date)
if self.until_date:
attributes['until'] = datetime_isoformat(self.until_date)
if self.metadata_prefix:
attributes['metadataPrefix'] = self.metadata_prefix
> if self.rtoken:
E AttributeError: 'OAIRequest' object has no attribute 'rtoken'

.tox/py27/share/cubicweb/cubes/oaipmh/views.py:256: AttributeError
________________ OAIPMHViewsTC.test_listrecords_resumptiontoken ________________

self = <test_oaipmh.OAIPMHViewsTC testMethod=test_listrecords_resumptiontoken>

@wraps(method)
def wrapper(self):
self._validate_xml = False
self._debug_xml = True
> return method(self)

test/test_oaipmh.py:252:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
test/test_oaipmh.py:553: in test_listrecords_resumptiontoken
metadataPrefix='oai_dc')
test/test_oaipmh.py:279: in oai_request
out = self.app_handle_request(req, 'oai')
.tox/py27/local/lib/python2.7/site-packages/cubicweb/devtools/testlib.py:721: in app_handle_request
return self.app.core_handle(req, path)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:417: in core_handle
result = self.error_handler(req, ex, tb=True)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:365: in core_handle
result = controller.publish(rset=rset)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basecontrollers.py:136: in publish
rset=rset, view=view)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/cwvreg.py:223: in main_template
res = obj.render(**kwargs)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basetemplates.py:122: in call
view.render()
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:402: in call
response_elem = oai_response.to_xml(self.verb_content(), errors=errors)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:299: in to_xml
request = self.oai_request.to_xml(errors)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <[AttributeError("'OAIRequest' object has no attribute 'rtoken'") raised in repr()] SafeRepr object at 0x7f0a9277a8c0>
errors = {}

def to_xml(self, errors=None):
if not errors:
# In cases where the request that generated this response resulted
# in a badVerb or badArgument error condition, the repository must
# return the base URL of the protocol request only. Attributes
# must not be provided in these cases.
attributes = {
'verb': self.verb,
'identifier': self.identifier,
'set': self.setspec,
}
if self.from_date:
attributes['from'] = datetime_isoformat(self.from_date)
if self.until_date:
attributes['until'] = datetime_isoformat(self.until_date)
if self.metadata_prefix:
attributes['metadataPrefix'] = self.metadata_prefix
> if self.rtoken:
E AttributeError: 'OAIRequest' object has no attribute 'rtoken'

.tox/py27/share/cubicweb/cubes/oaipmh/views.py:256: AttributeError
_______ OAIPMHViewsTC.test_listrecords_resumptiontoken_no_metadataprefix _______

self = <test_oaipmh.OAIPMHViewsTC testMethod=test_listrecords_resumptiontoken_no_metadataprefix>

@wraps(method)
def wrapper(self):
self._validate_xml = False
self._debug_xml = True
> return method(self)

test/test_oaipmh.py:252:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
test/test_oaipmh.py:585: in test_listrecords_resumptiontoken_no_metadataprefix
metadataPrefix='oai_dc')
test/test_oaipmh.py:279: in oai_request
out = self.app_handle_request(req, 'oai')
.tox/py27/local/lib/python2.7/site-packages/cubicweb/devtools/testlib.py:721: in app_handle_request
return self.app.core_handle(req, path)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:417: in core_handle
result = self.error_handler(req, ex, tb=True)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:365: in core_handle
result = controller.publish(rset=rset)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basecontrollers.py:136: in publish
rset=rset, view=view)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/cwvreg.py:223: in main_template
res = obj.render(**kwargs)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basetemplates.py:122: in call
view.render()
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:402: in call
response_elem = oai_response.to_xml(self.verb_content(), errors=errors)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:299: in to_xml
request = self.oai_request.to_xml(errors)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <[AttributeError("'OAIRequest' object has no attribute 'rtoken'") raised in repr()] SafeRepr object at 0x7f0a9232ccb0>
errors = {}

def to_xml(self, errors=None):
if not errors:
# In cases where the request that generated this response resulted
# in a badVerb or badArgument error condition, the repository must
# return the base URL of the protocol request only. Attributes
# must not be provided in these cases.
attributes = {
'verb': self.verb,
'identifier': self.identifier,
'set': self.setspec,
}
if self.from_date:
attributes['from'] = datetime_isoformat(self.from_date)
if self.until_date:
attributes['until'] = datetime_isoformat(self.until_date)
if self.metadata_prefix:
attributes['metadataPrefix'] = self.metadata_prefix
> if self.rtoken:
E AttributeError: 'OAIRequest' object has no attribute 'rtoken'

.tox/py27/share/cubicweb/cubes/oaipmh/views.py:256: AttributeError
___________________ OAIPMHViewsTC.test_listrecords_with_set ____________________

self = <test_oaipmh.OAIPMHViewsTC testMethod=test_listrecords_with_set>

@wraps(method)
def wrapper(self):
self._validate_xml = False
self._debug_xml = True
> return method(self)

test/test_oaipmh.py:252:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
test/test_oaipmh.py:655: in test_listrecords_with_set
metadataPrefix='oai_dc')
test/test_oaipmh.py:279: in oai_request
out = self.app_handle_request(req, 'oai')
.tox/py27/local/lib/python2.7/site-packages/cubicweb/devtools/testlib.py:721: in app_handle_request
return self.app.core_handle(req, path)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:417: in core_handle
result = self.error_handler(req, ex, tb=True)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:365: in core_handle
result = controller.publish(rset=rset)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basecontrollers.py:136: in publish
rset=rset, view=view)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/cwvreg.py:223: in main_template
res = obj.render(**kwargs)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basetemplates.py:122: in call
view.render()
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:402: in call
response_elem = oai_response.to_xml(self.verb_content(), errors=errors)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:299: in to_xml
request = self.oai_request.to_xml(errors)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <[AttributeError("'OAIRequest' object has no attribute 'rtoken'") raised in repr()] SafeRepr object at 0x7f0a92659560>
errors = {}

def to_xml(self, errors=None):
if not errors:
# In cases where the request that generated this response resulted
# in a badVerb or badArgument error condition, the repository must
# return the base URL of the protocol request only. Attributes
# must not be provided in these cases.
attributes = {
'verb': self.verb,
'identifier': self.identifier,
'set': self.setspec,
}
if self.from_date:
attributes['from'] = datetime_isoformat(self.from_date)
if self.until_date:
attributes['until'] = datetime_isoformat(self.until_date)
if self.metadata_prefix:
attributes['metadataPrefix'] = self.metadata_prefix
> if self.rtoken:
E AttributeError: 'OAIRequest' object has no attribute 'rtoken'

.tox/py27/share/cubicweb/cubes/oaipmh/views.py:256: AttributeError
_________________________ OAIPMHViewsTC.test_listsets __________________________

self = <test_oaipmh.OAIPMHViewsTC testMethod=test_listsets>

def test_listsets(self):
with self.admin_access.cnx() as cnx:
agent(cnx, u'bob')
cnx.commit()
with self.admin_access.web_request() as req:
> result = self.oai_request(req, verb='ListSets')

test/test_oaipmh.py:380:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
test/test_oaipmh.py:279: in oai_request
out = self.app_handle_request(req, 'oai')
.tox/py27/local/lib/python2.7/site-packages/cubicweb/devtools/testlib.py:721: in app_handle_request
return self.app.core_handle(req, path)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:417: in core_handle
result = self.error_handler(req, ex, tb=True)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:365: in core_handle
result = controller.publish(rset=rset)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basecontrollers.py:136: in publish
rset=rset, view=view)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/cwvreg.py:223: in main_template
res = obj.render(**kwargs)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basetemplates.py:122: in call
view.render()
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:402: in call
response_elem = oai_response.to_xml(self.verb_content(), errors=errors)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:299: in to_xml
request = self.oai_request.to_xml(errors)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <[AttributeError("'OAIRequest' object has no attribute 'rtoken'") raised in repr()] SafeRepr object at 0x7f0a9294ef38>
errors = {}

def to_xml(self, errors=None):
if not errors:
# In cases where the request that generated this response resulted
# in a badVerb or badArgument error condition, the repository must
# return the base URL of the protocol request only. Attributes
# must not be provided in these cases.
attributes = {
'verb': self.verb,
'identifier': self.identifier,
'set': self.setspec,
}
if self.from_date:
attributes['from'] = datetime_isoformat(self.from_date)
if self.until_date:
attributes['until'] = datetime_isoformat(self.until_date)
if self.metadata_prefix:
attributes['metadataPrefix'] = self.metadata_prefix
> if self.rtoken:
E AttributeError: 'OAIRequest' object has no attribute 'rtoken'

.tox/py27/share/cubicweb/cubes/oaipmh/views.py:256: AttributeError
______________ OAIPMHViewsTC.test_resumptiontoken_listidentifiers ______________

self = <test_oaipmh.OAIPMHViewsTC testMethod=test_resumptiontoken_listidentifiers>

def test_resumptiontoken_listidentifiers(self):
with self.admin_access.cnx() as cnx:
alice = agent(cnx, u'alice')
bob = agent(cnx, u'bob')
cnx.commit()

def check_request(expected_identifiers, token=None):
with self.admin_access.web_request() as req:
result = self.oai_request(
req, verb='ListIdentifiers', set='agent',
metadataPrefix='oai_dc',
resumptionToken=token)
# Ensure there are as many <identifier> tag than expected items.
self.assertEqual(
result.count('<identifier>'), len(expected_identifiers))
for identifier in expected_identifiers:
self.assertIn(
'<identifier>{0}</identifier>'.format(identifier), result)
return result

> result = check_request([alice.eid, bob.eid])

test/test_oaipmh.py:423:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
test/test_oaipmh.py:414: in check_request
resumptionToken=token)
test/test_oaipmh.py:279: in oai_request
out = self.app_handle_request(req, 'oai')
.tox/py27/local/lib/python2.7/site-packages/cubicweb/devtools/testlib.py:721: in app_handle_request
return self.app.core_handle(req, path)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:417: in core_handle
result = self.error_handler(req, ex, tb=True)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/application.py:365: in core_handle
result = controller.publish(rset=rset)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basecontrollers.py:136: in publish
rset=rset, view=view)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/cwvreg.py:223: in main_template
res = obj.render(**kwargs)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/local/lib/python2.7/site-packages/cubicweb/web/views/basetemplates.py:122: in call
view.render()
.tox/py27/local/lib/python2.7/site-packages/cubicweb/view.py:138: in render
view_func(**context)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:402: in call
response_elem = oai_response.to_xml(self.verb_content(), errors=errors)
.tox/py27/share/cubicweb/cubes/oaipmh/views.py:299: in to_xml
request = self.oai_request.to_xml(errors)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <[AttributeError("'OAIRequest' object has no attribute 'rtoken'") raised in repr()] SafeRepr object at 0x7f0a92b4f4d0>
errors = {}

def to_xml(self, errors=None):
if not errors:
# In cases where the request that generated this response resulted
# in a badVerb or badArgument error condition, the repository must
# return the base URL of the protocol request only. Attributes
# must not be provided in these cases.
attributes = {
'verb': self.verb,
'identifier': self.identifier,
'set': self.setspec,
}
if self.from_date:
attributes['from'] = datetime_isoformat(self.from_date)
if self.until_date:
attributes['until'] = datetime_isoformat(self.until_date)
if self.metadata_prefix:
attributes['metadataPrefix'] = self.metadata_prefix
> if self.rtoken:
E AttributeError: 'OAIRequest' object has no attribute 'rtoken'

.tox/py27/share/cubicweb/cubes/oaipmh/views.py:256: AttributeError
==================== 27 failed, 21 passed in 20.45 seconds =====================
ERROR: InvocationError: '/var/lib/jenkins/jobs/cubes-oaipmh/workspace/TOXENV/py27/.tox/py27/bin/python -m pytest /var/lib/jenkins/jobs/cubes-oaipmh/workspace/TOXENV/py27/test'
___________________________________ summary ____________________________________
ERROR: py27: commands failed
Build step 'Execute shell' marked build as failure
Sending e-mails to: denis.laxalde@logilab.fr syt@logilab.fr
[PostBuildScript] - Execution post build scripts.
[py27] $ /bin/bash -xe /tmp/hudson6075963708839054251.sh
+ /var/lib/jenkins/scripts/notify_forge_apycot.py cwo cubicweb-oaipmh 87201450bcc0 http://jenkins.logilab.fr/job/cubes-oaipmh/TOXENV=py27/51/ --status failure
<br/>

log from execution
download