-------------------------------------------------------------------------------
Test set: org.dataone.integration.it.apiTests.MNAuthorizationV2IT
-------------------------------------------------------------------------------
Tests run: 19, Failures: 17, Errors: 0, Skipped: 0, Time elapsed: 859.996 sec <<< FAILURE!
testIsAuthorized_NullPolicy_testPerson_is_RightsHolder(org.dataone.integration.it.apiTests.MNAuthorizationV2IT) Time elapsed: 71.429 sec <<< FAILURE!
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/Access allowed only for subjects with Create/Update/Delete permission. active_subjects="CN=testPerson,DC=dataone,DC=org (primary), CN=testGroup,DC=dataone,DC=org, CN=testEQPerson1,DC=dataone,DC=org, CN=testEQPerson2,DC=dataone,DC=org, authenticatedUser, CN=someLegacyAcct,DC=somewhere,DC=org, verifiedUser, CN=testEQPerson3,DC=dataone,DC=org, public" [for host https://pangaea-dev-orc-1.test.dataone.org/mn ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.testImplementations.AbstractAuthorizationTestImplementations.testIsAuthorized_NullPolicy_testPerson_is_RightsHolder(AbstractAuthorizationTestImplementations.java:346)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
testIsAuthorized_NullPolicy_testGroup_is_RightsHolder(org.dataone.integration.it.apiTests.MNAuthorizationV2IT) Time elapsed: 47.427 sec <<< FAILURE!
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/Access allowed only for subjects with Create/Update/Delete permission. active_subjects="CN=testPerson,DC=dataone,DC=org (primary), CN=testGroup,DC=dataone,DC=org, CN=testEQPerson1,DC=dataone,DC=org, CN=testEQPerson2,DC=dataone,DC=org, authenticatedUser, CN=someLegacyAcct,DC=somewhere,DC=org, verifiedUser, CN=testEQPerson3,DC=dataone,DC=org, public" [for host https://pangaea-dev-orc-1.test.dataone.org/mn ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.testImplementations.AbstractAuthorizationTestImplementations.testIsAuthorized_NullPolicy_testGroup_is_RightsHolder(AbstractAuthorizationTestImplementations.java:495)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
testIsAuthorized_AccessPolicy_is_Public_can_Read(org.dataone.integration.it.apiTests.MNAuthorizationV2IT) Time elapsed: 87.704 sec <<< FAILURE!
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:
InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15
name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"
Request Method:
GET
Request URL:
https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15
Django Version:
1.11.6
Exception Type:
InvalidToken
Exception Value:
name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"
Exception Location:
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69
Python Executable:
/var/local/dataone/gmn_venv/bin/python
Python Version:
2.7.12
Python Path:
['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages']
Server time:
Mon, 5 Feb 2018 22:13:36 +0000
Traceback
Switch to copy-and-paste view
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner
This decorator is automatically applied to all middleware to ensure that
no middleware leaks an exception and that the next middleware in the stack
can rely on getting a response instead of an exception.
"""
@wraps(get_response, assigned=available_attrs(get_response))
def inner(request):
try:
response = get_response(request) ...
except Exception as exc:
response = response_for_exception(request, exc)
return response
return inner
▶ Local vars
Variable
Value
exc
InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"", identifier="None", nodeId="None", traceInformation="None")
get_response
<bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>>
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15'>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response
# Apply request middleware
for middleware_method in self._request_middleware:
response = middleware_method(request)
if response:
break
if response is None:
response = self._get_response(request) ...
return response
▶ Local vars
Variable
Value
middleware_method
<bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15'>
response
None
self
<_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response
resolver_match = resolver.resolve(request.path_info)
callback, callback_args, callback_kwargs = resolver_match
request.resolver_match = resolver_match
# Apply view middleware
for middleware_method in self._view_middleware:
response = middleware_method(request, callback, callback_args, callback_kwargs) ...
if response:
break
if response is None:
wrapped_callback = self.make_view_atomic(callback)
try:
▶ Local vars
Variable
Value
callback
<function get_meta at 0x7f53fb9d92a8>
callback_args
(u'TierTesting:pangaea-dev-orc-1:Public_READ.15',)
callback_kwargs
{}
middleware_method
<bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15'>
resolver
<RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>
resolver_match
ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'TierTesting:pangaea-dev-orc-1:Public_READ.15',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[])
response
None
self
<_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view
logging.info(
u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'
.format(
view_func.__name__, request.method, view_args, view_kwargs, request.path_info
)
)
# logging.debug(request.headers)
self.process_session(request) ...
def process_session(self, request):
# For simulating an HTTPS connection with client authentication when
# debugging via regular HTTP, two mechanisms are supported. (1) A full
# client side certificate can be included and (2) a list of subjects can be
# included. Both use vendor specific extensions (HTTP headers that start
▶ Local vars
Variable
Value
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15'>
self
<d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>
view_args
(u'TierTesting:pangaea-dev-orc-1:Public_READ.15',)
view_func
<function get_meta at 0x7f53fb9d92a8>
view_kwargs
{}
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session
# client side certificate can be included and (2) a list of subjects can be
# included. Both use vendor specific extensions (HTTP headers that start
# with the string "VENDOR_".) In some testing scenarios, it is convenient to
# submit lists of subjects without having to generate certificates. In other
# scenarios, it is desirable to simulate an HTTPS interaction as closely as
# possible by providing a complete certificate.
request.primary_subject_str, request.all_subjects_set = (
self.get_active_subject_set(request) ...
)
def get_active_subject_set(self, request):
"""Get a set containing all subjects for which the current connection has
been successfully authenticated
"""
▶ Local vars
Variable
Value
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15'>
self
<d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set
request.META['SSL_CLIENT_CERT'] = \
self.pem_in_http_header_to_pem_in_string(
request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])
# Add subjects from any provided certificate and JWT and store them in
# the Django request obj.
cert_primary_str, cert_equivalent_set = (
d1_gmn.app.middleware.session_cert.get_subjects(request) ...
)
jwt_subject_list = (
d1_gmn.app.middleware.session_jwt.
validate_jwt_and_get_subject_list(request)
)
primary_subject_str = cert_primary_str
▶ Local vars
Variable
Value
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15'>
self
<d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects
"""
if _is_certificate_provided(request):
try:
return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])
except Exception as e:
raise d1_common.types.exceptions.InvalidToken(
0,
u'Error extracting session from certificate. error="{}"'.format(str(e)) ...
)
else:
return d1_common.const.SUBJECT_PUBLIC, set()
def get_authenticated_subjects(cert_pem):
▶ Local vars
Variable
Value
e
InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15'>
Environment:
Request Method: GET
Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15
Django Version: 1.11.6
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles',
'd1_gmn.app',
'd1_gmn.app.startup.GMNStartupChecks']
Installed Middleware:
('d1_gmn.app.middleware.request_handler.RequestHandler',
'd1_gmn.app.middleware.exception_handler.ExceptionHandler',
'd1_gmn.app.middleware.response_handler.ResponseHandler',
'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',
'd1_gmn.app.middleware.view_handler.ViewHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
41. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py" in process_view
47. self.process_session(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py" in process_session
59. self.get_active_subject_set(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py" in get_active_subject_set
76. d1_gmn.app.middleware.session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"
Request information
USER
[unable to retrieve the current user]
GET
No GET data
POST
No POST data
FILES
No FILES data
COOKIES
No cookie data
META
Variable
Value
CONTEXT_DOCUMENT_ROOT
'/var/www/html'
CONTEXT_PREFIX
''
DOCUMENT_ROOT
'/var/www/html'
GATEWAY_INTERFACE
'CGI/1.1'
HTTP_ACCEPT_ENCODING
'gzip,deflate'
HTTP_CONNECTION
'Keep-Alive'
HTTP_HOST
'pangaea-dev-orc-1.test.dataone.org'
HTTP_USER_AGENT
'Apache-HttpClient/4.3.6 (java 1.5)'
HTTP_VIA
'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'
PATH_INFO
u'/v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15'
PATH_TRANSLATED
'/var/www/html/v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15'
QUERY_STRING
''
REMOTE_ADDR
'64.106.40.19'
REMOTE_PORT
'42959'
REQUEST_METHOD
'GET'
REQUEST_SCHEME
'https'
REQUEST_URI
'/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15'
SCRIPT_FILENAME
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'
SCRIPT_NAME
u'/mn'
SERVER_ADDR
'160.36.13.167'
SERVER_ADMIN
'email@monicaihli.com'
SERVER_NAME
'pangaea-dev-orc-1.test.dataone.org'
SERVER_PORT
'443'
SERVER_PROTOCOL
'HTTP/1.1'
SERVER_SIGNATURE
'<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\n'
SERVER_SOFTWARE
'Apache/2.4.18 (Ubuntu)'
SSL_CLIENT_CERT
'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'
SSL_SERVER_CERT
'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\n-----END CERTIFICATE-----\n'
SSL_TLS_SNI
'pangaea-dev-orc-1.test.dataone.org'
apache.version
(2, 4, 18)
mod_wsgi.application_group
''
mod_wsgi.callable_object
'application'
mod_wsgi.daemon_connects
'1'
mod_wsgi.daemon_restarts
'0'
mod_wsgi.daemon_start
'1517868816556392'
mod_wsgi.enable_sendfile
'0'
mod_wsgi.handler_script
''
mod_wsgi.input_chunked
'0'
mod_wsgi.listener_host
''
mod_wsgi.listener_port
'443'
mod_wsgi.process_group
'gmn2'
mod_wsgi.queue_start
'1517868816556074'
mod_wsgi.request_handler
'wsgi-script'
mod_wsgi.request_start
'1517868816555682'
mod_wsgi.script_reloading
'1'
mod_wsgi.script_start
'1517868816556474'
mod_wsgi.version
(4, 3, 0)
wsgi.errors
<mod_wsgi.Log object at 0x7f53fad2a6f0>
wsgi.file_wrapper
''
wsgi.input
<mod_wsgi.Input object at 0x7f5401145b30>
wsgi.multiprocess
True
wsgi.multithread
True
wsgi.run_once
False
wsgi.url_scheme
'https'
wsgi.version
(1, 0)
Settings
Using settings module d1_gmn.settings
Setting
Value
ABSOLUTE_URL_OVERRIDES
{}
ADMINS
(('My Name', 'my_address@my_email.tld'),)
ALLOWED_HOSTS
['localhost', '127.0.0.1']
APPEND_SLASH
True
AUTHENTICATION_BACKENDS
[u'django.contrib.auth.backends.ModelBackend']
AUTH_PASSWORD_VALIDATORS
u'********************'
AUTH_USER_MODEL
u'auth.User'
CACHES
{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}
CACHE_MIDDLEWARE_ALIAS
u'default'
CACHE_MIDDLEWARE_KEY_PREFIX
u'********************'
CACHE_MIDDLEWARE_SECONDS
600
CLIENT_CERT_PATH
'/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'
CLIENT_CERT_PRIVATE_KEY_PATH
u'********************'
CSRF_COOKIE_AGE
31449600
CSRF_COOKIE_DOMAIN
None
CSRF_COOKIE_HTTPONLY
False
CSRF_COOKIE_NAME
u'csrftoken'
CSRF_COOKIE_PATH
u'/'
CSRF_COOKIE_SECURE
False
CSRF_FAILURE_VIEW
u'django.views.csrf.csrf_failure'
CSRF_HEADER_NAME
u'HTTP_X_CSRFTOKEN'
CSRF_TRUSTED_ORIGINS
[]
CSRF_USE_SESSIONS
False
DATABASES
{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}
DATABASE_ROUTERS
[]
DATAONE_ROOT
'https://cn-sandbox.test.dataone.org/cn'
DATAONE_TRUSTED_SUBJECTS
set([])
DATA_UPLOAD_MAX_MEMORY_SIZE
2621440
DATA_UPLOAD_MAX_NUMBER_FIELDS
1000
DATETIME_FORMAT
u'N j, Y, P'
DATETIME_INPUT_FORMATS
[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']
DATE_FORMAT
u'N j, Y'
DATE_INPUT_FORMATS
[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']
DEBUG
True
DEBUG_ALLOW_INTEGRATION_TESTS
False
DEBUG_ECHO_REQUEST
False
DEBUG_GMN
True
DEBUG_PROFILE_SQL
False
DEBUG_PROPAGATE_EXCEPTIONS
False
DEBUG_PYCHARM
False
DEBUG_PYCHARM_BIN
'pycharm.sh'
DECIMAL_SEPARATOR
u'.'
DEFAULT_CHARSET
u'utf-8'
DEFAULT_CONTENT_TYPE
u'text/html'
DEFAULT_EXCEPTION_REPORTER_FILTER
u'django.views.debug.SafeExceptionReporterFilter'
DEFAULT_FILE_STORAGE
u'django.core.files.storage.FileSystemStorage'
DEFAULT_FROM_EMAIL
u'webmaster@localhost'
DEFAULT_INDEX_TABLESPACE
u''
DEFAULT_TABLESPACE
u''
DISALLOWED_USER_AGENTS
[]
EMAIL_BACKEND
u'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST
u'localhost'
EMAIL_HOST_PASSWORD
u'********************'
EMAIL_HOST_USER
u''
EMAIL_PORT
25
EMAIL_SSL_CERTFILE
None
EMAIL_SSL_KEYFILE
u'********************'
EMAIL_SUBJECT_PREFIX
u'[Django] '
EMAIL_TIMEOUT
None
EMAIL_USE_LOCALTIME
False
EMAIL_USE_SSL
False
EMAIL_USE_TLS
False
FILE_CHARSET
u'utf-8'
FILE_UPLOAD_DIRECTORY_PERMISSIONS
None
FILE_UPLOAD_HANDLERS
[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']
FILE_UPLOAD_MAX_MEMORY_SIZE
2621440
FILE_UPLOAD_PERMISSIONS
None
FILE_UPLOAD_TEMP_DIR
None
FIRST_DAY_OF_WEEK
0
FIXTURE_DIRS
[]
FORCE_SCRIPT_NAME
None
FORMAT_MODULE_PATH
None
FORM_RENDERER
u'django.forms.renderers.DjangoTemplates'
IGNORABLE_404_URLS
[]
INSTALLED_APPS
['django.contrib.staticfiles',
'd1_gmn.app',
'd1_gmn.app.startup.GMNStartupChecks']
INTERNAL_IPS
[]
LANGUAGES
[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]
LANGUAGES_BIDI
[u'he', u'ar', u'fa', u'ur']
LANGUAGE_CODE
'en-us'
LANGUAGE_COOKIE_AGE
None
LANGUAGE_COOKIE_DOMAIN
None
LANGUAGE_COOKIE_NAME
u'django_language'
LANGUAGE_COOKIE_PATH
u'/'
LOCALE_PATHS
[]
LOGGING
{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}
LOGGING_CONFIG
u'logging.config.dictConfig'
LOGIN_REDIRECT_URL
u'/accounts/profile/'
LOGIN_URL
u'/accounts/login/'
LOGOUT_REDIRECT_URL
None
LOG_LEVEL
'DEBUG'
LOG_PATH
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'
MANAGERS
[]
MAX_XML_DOCUMENT_SIZE
10485760
MEDIA_ROOT
u''
MEDIA_URL
''
MESSAGE_STORAGE
u'django.contrib.messages.storage.fallback.FallbackStorage'
MIDDLEWARE
None
MIDDLEWARE_CLASSES
('d1_gmn.app.middleware.request_handler.RequestHandler',
'd1_gmn.app.middleware.exception_handler.ExceptionHandler',
'd1_gmn.app.middleware.response_handler.ResponseHandler',
'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',
'd1_gmn.app.middleware.view_handler.ViewHandler')
MIGRATION_MODULES
{}
MONITOR
True
MONTH_DAY_FORMAT
u'F j'
NODE_BASEURL
'https://pangaea-dev-orc-1.test.dataone.org/mn'
NODE_CONTACT_SUBJECT
'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'
NODE_DESCRIPTION
'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'
NODE_IDENTIFIER
'urn:node:mnTestPANGAEA'
NODE_NAME
'Pangaea'
NODE_REPLICATE
False
NODE_STATE
'up'
NODE_SUBJECT
'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'
NODE_SYNCHRONIZE
True
NODE_SYNC_SCHEDULE_HOUR
'*'
NODE_SYNC_SCHEDULE_MINUTE
'42'
NODE_SYNC_SCHEDULE_MONTH
'*'
NODE_SYNC_SCHEDULE_MONTHDAY
'*'
NODE_SYNC_SCHEDULE_SECOND
'0'
NODE_SYNC_SCHEDULE_WEEKDAY
'?'
NODE_SYNC_SCHEDULE_YEAR
'*'
NUMBER_GROUPING
0
NUM_CHUNK_BYTES
1048576
OBJECT_STORE_PATH
'/var/local/dataone/gmn_object_store'
PASSWORD_HASHERS
u'********************'
PASSWORD_RESET_TIMEOUT_DAYS
u'********************'
PREPEND_WWW
False
PROXY_MODE_BASIC_AUTH_ENABLED
False
PROXY_MODE_BASIC_AUTH_PASSWORD
u'********************'
PROXY_MODE_BASIC_AUTH_USERNAME
''
PROXY_MODE_STREAM_TIMEOUT
30
PUBLIC_LOG_RECORDS
True
PUBLIC_OBJECT_LIST
True
REPLICATION_ALLOWEDNODE
()
REPLICATION_ALLOWEDOBJECTFORMAT
()
REPLICATION_ALLOW_ONLY_PUBLIC
False
REPLICATION_MAXOBJECTSIZE
-1
REPLICATION_MAX_ATTEMPTS
24
REPLICATION_SPACEALLOCATED
10737418240
REQUIRE_WHITELIST_FOR_UPDATE
True
ROOT_URLCONF
'd1_gmn.app.urls'
SECRET_KEY
u'********************'
SECURE_BROWSER_XSS_FILTER
False
SECURE_CONTENT_TYPE_NOSNIFF
False
SECURE_HSTS_INCLUDE_SUBDOMAINS
False
SECURE_HSTS_PRELOAD
False
SECURE_HSTS_SECONDS
0
SECURE_PROXY_SSL_HEADER
None
SECURE_REDIRECT_EXEMPT
[]
SECURE_SSL_HOST
None
SECURE_SSL_REDIRECT
False
SERVER_EMAIL
u'root@localhost'
SESSION_CACHE_ALIAS
u'default'
SESSION_COOKIE_AGE
1209600
SESSION_COOKIE_DOMAIN
None
SESSION_COOKIE_HTTPONLY
True
SESSION_COOKIE_NAME
u'sessionid'
SESSION_COOKIE_PATH
u'/'
SESSION_COOKIE_SECURE
True
SESSION_ENGINE
u'django.contrib.sessions.backends.db'
SESSION_EXPIRE_AT_BROWSER_CLOSE
False
SESSION_FILE_PATH
None
SESSION_SAVE_EVERY_REQUEST
False
SESSION_SERIALIZER
u'django.contrib.sessions.serializers.JSONSerializer'
SETTINGS_MODULE
'd1_gmn.settings'
SHORT_DATETIME_FORMAT
u'm/d/Y P'
SHORT_DATE_FORMAT
u'm/d/Y'
SIGNING_BACKEND
u'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS
[]
STAND_ALONE
False
STATICFILES_DIRS
[]
STATICFILES_FINDERS
[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']
STATICFILES_STORAGE
u'django.contrib.staticfiles.storage.StaticFilesStorage'
STATIC_ROOT
None
STATIC_URL
'/static/'
SYSMETA_REFRESH_MAX_ATTEMPTS
24
TEMPLATES
[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]
TEST_NON_SERIALIZED_APPS
[]
TEST_RUNNER
u'django.test.runner.DiscoverRunner'
THOUSAND_SEPARATOR
u','
TIME_FORMAT
u'P'
TIME_INPUT_FORMATS
[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']
TIME_ZONE
'UTC'
TRUST_CLIENT_AUTHORITATIVEMEMBERNODE
True
TRUST_CLIENT_DATESYSMETADATAMODIFIED
True
TRUST_CLIENT_DATEUPLOADED
True
TRUST_CLIENT_ORIGINMEMBERNODE
True
TRUST_CLIENT_SERIALVERSION
False
TRUST_CLIENT_SUBMITTER
True
USE_ETAGS
False
USE_I18N
False
USE_L10N
False
USE_THOUSAND_SEPARATOR
False
USE_TZ
False
USE_X_FORWARDED_HOST
False
USE_X_FORWARDED_PORT
False
WSGI_APPLICATION
None
X_FRAME_OPTIONS
u'SAMEORIGIN'
YEAR_MONTH_FORMAT
u'F Y'
You're seeing this error because you have DEBUG = True in your
Django settings file. Change that to False, and Django will
display a standard page generated by the handler for this status code.
[for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Public_READ.15 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.testImplementations.AbstractAuthorizationTestImplementations.testIsAuthorized_AccessPolicy_is_Public_can_Read(AbstractAuthorizationTestImplementations.java:628)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
testIsAuthorized_AccessPolicy_is_AuthenticatedUser_can_Read(org.dataone.integration.it.apiTests.MNAuthorizationV2IT) Time elapsed: 85.561 sec <<< FAILURE!
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:
InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15
name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"
Request Method:
GET
Request URL:
https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15
Django Version:
1.11.6
Exception Type:
InvalidToken
Exception Value:
name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"
Exception Location:
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69
Python Executable:
/var/local/dataone/gmn_venv/bin/python
Python Version:
2.7.12
Python Path:
['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages']
Server time:
Mon, 5 Feb 2018 22:15:02 +0000
Traceback
Switch to copy-and-paste view
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner
This decorator is automatically applied to all middleware to ensure that
no middleware leaks an exception and that the next middleware in the stack
can rely on getting a response instead of an exception.
"""
@wraps(get_response, assigned=available_attrs(get_response))
def inner(request):
try:
response = get_response(request) ...
except Exception as exc:
response = response_for_exception(request, exc)
return response
return inner
▶ Local vars
Variable
Value
exc
InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"", identifier="None", nodeId="None", traceInformation="None")
get_response
<bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>>
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15'>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response
# Apply request middleware
for middleware_method in self._request_middleware:
response = middleware_method(request)
if response:
break
if response is None:
response = self._get_response(request) ...
return response
▶ Local vars
Variable
Value
middleware_method
<bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15'>
response
None
self
<_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response
resolver_match = resolver.resolve(request.path_info)
callback, callback_args, callback_kwargs = resolver_match
request.resolver_match = resolver_match
# Apply view middleware
for middleware_method in self._view_middleware:
response = middleware_method(request, callback, callback_args, callback_kwargs) ...
if response:
break
if response is None:
wrapped_callback = self.make_view_atomic(callback)
try:
▶ Local vars
Variable
Value
callback
<function get_meta at 0x7f53fb9d92a8>
callback_args
(u'TierTesting:pangaea-dev-orc-1:Authenticated_READ.15',)
callback_kwargs
{}
middleware_method
<bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15'>
resolver
<RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>
resolver_match
ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'TierTesting:pangaea-dev-orc-1:Authenticated_READ.15',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[])
response
None
self
<_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view
logging.info(
u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'
.format(
view_func.__name__, request.method, view_args, view_kwargs, request.path_info
)
)
# logging.debug(request.headers)
self.process_session(request) ...
def process_session(self, request):
# For simulating an HTTPS connection with client authentication when
# debugging via regular HTTP, two mechanisms are supported. (1) A full
# client side certificate can be included and (2) a list of subjects can be
# included. Both use vendor specific extensions (HTTP headers that start
▶ Local vars
Variable
Value
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15'>
self
<d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>
view_args
(u'TierTesting:pangaea-dev-orc-1:Authenticated_READ.15',)
view_func
<function get_meta at 0x7f53fb9d92a8>
view_kwargs
{}
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session
# client side certificate can be included and (2) a list of subjects can be
# included. Both use vendor specific extensions (HTTP headers that start
# with the string "VENDOR_".) In some testing scenarios, it is convenient to
# submit lists of subjects without having to generate certificates. In other
# scenarios, it is desirable to simulate an HTTPS interaction as closely as
# possible by providing a complete certificate.
request.primary_subject_str, request.all_subjects_set = (
self.get_active_subject_set(request) ...
)
def get_active_subject_set(self, request):
"""Get a set containing all subjects for which the current connection has
been successfully authenticated
"""
▶ Local vars
Variable
Value
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15'>
self
<d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set
request.META['SSL_CLIENT_CERT'] = \
self.pem_in_http_header_to_pem_in_string(
request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])
# Add subjects from any provided certificate and JWT and store them in
# the Django request obj.
cert_primary_str, cert_equivalent_set = (
d1_gmn.app.middleware.session_cert.get_subjects(request) ...
)
jwt_subject_list = (
d1_gmn.app.middleware.session_jwt.
validate_jwt_and_get_subject_list(request)
)
primary_subject_str = cert_primary_str
▶ Local vars
Variable
Value
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15'>
self
<d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects
"""
if _is_certificate_provided(request):
try:
return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])
except Exception as e:
raise d1_common.types.exceptions.InvalidToken(
0,
u'Error extracting session from certificate. error="{}"'.format(str(e)) ...
)
else:
return d1_common.const.SUBJECT_PUBLIC, set()
def get_authenticated_subjects(cert_pem):
▶ Local vars
Variable
Value
e
InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15'>
Environment:
Request Method: GET
Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15
Django Version: 1.11.6
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles',
'd1_gmn.app',
'd1_gmn.app.startup.GMNStartupChecks']
Installed Middleware:
('d1_gmn.app.middleware.request_handler.RequestHandler',
'd1_gmn.app.middleware.exception_handler.ExceptionHandler',
'd1_gmn.app.middleware.response_handler.ResponseHandler',
'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',
'd1_gmn.app.middleware.view_handler.ViewHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
41. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py" in process_view
47. self.process_session(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py" in process_session
59. self.get_active_subject_set(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py" in get_active_subject_set
76. d1_gmn.app.middleware.session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"
Request information
USER
[unable to retrieve the current user]
GET
No GET data
POST
No POST data
FILES
No FILES data
COOKIES
No cookie data
META
Variable
Value
CONTEXT_DOCUMENT_ROOT
'/var/www/html'
CONTEXT_PREFIX
''
DOCUMENT_ROOT
'/var/www/html'
GATEWAY_INTERFACE
'CGI/1.1'
HTTP_ACCEPT_ENCODING
'gzip,deflate'
HTTP_CONNECTION
'Keep-Alive'
HTTP_HOST
'pangaea-dev-orc-1.test.dataone.org'
HTTP_USER_AGENT
'Apache-HttpClient/4.3.6 (java 1.5)'
HTTP_VIA
'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'
PATH_INFO
u'/v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15'
PATH_TRANSLATED
'/var/www/html/v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15'
QUERY_STRING
''
REMOTE_ADDR
'64.106.40.19'
REMOTE_PORT
'43112'
REQUEST_METHOD
'GET'
REQUEST_SCHEME
'https'
REQUEST_URI
'/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15'
SCRIPT_FILENAME
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'
SCRIPT_NAME
u'/mn'
SERVER_ADDR
'160.36.13.167'
SERVER_ADMIN
'email@monicaihli.com'
SERVER_NAME
'pangaea-dev-orc-1.test.dataone.org'
SERVER_PORT
'443'
SERVER_PROTOCOL
'HTTP/1.1'
SERVER_SIGNATURE
'<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\n'
SERVER_SOFTWARE
'Apache/2.4.18 (Ubuntu)'
SSL_CLIENT_CERT
'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'
SSL_SERVER_CERT
'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\n-----END CERTIFICATE-----\n'
SSL_TLS_SNI
'pangaea-dev-orc-1.test.dataone.org'
apache.version
(2, 4, 18)
mod_wsgi.application_group
''
mod_wsgi.callable_object
'application'
mod_wsgi.daemon_connects
'1'
mod_wsgi.daemon_restarts
'0'
mod_wsgi.daemon_start
'1517868902113743'
mod_wsgi.enable_sendfile
'0'
mod_wsgi.handler_script
''
mod_wsgi.input_chunked
'0'
mod_wsgi.listener_host
''
mod_wsgi.listener_port
'443'
mod_wsgi.process_group
'gmn2'
mod_wsgi.queue_start
'1517868902113494'
mod_wsgi.request_handler
'wsgi-script'
mod_wsgi.request_start
'1517868902113114'
mod_wsgi.script_reloading
'1'
mod_wsgi.script_start
'1517868902113802'
mod_wsgi.version
(4, 3, 0)
wsgi.errors
<mod_wsgi.Log object at 0x7f53fad2a6f0>
wsgi.file_wrapper
''
wsgi.input
<mod_wsgi.Input object at 0x7f5401145b30>
wsgi.multiprocess
True
wsgi.multithread
True
wsgi.run_once
False
wsgi.url_scheme
'https'
wsgi.version
(1, 0)
Settings
Using settings module d1_gmn.settings
Setting
Value
ABSOLUTE_URL_OVERRIDES
{}
ADMINS
(('My Name', 'my_address@my_email.tld'),)
ALLOWED_HOSTS
['localhost', '127.0.0.1']
APPEND_SLASH
True
AUTHENTICATION_BACKENDS
[u'django.contrib.auth.backends.ModelBackend']
AUTH_PASSWORD_VALIDATORS
u'********************'
AUTH_USER_MODEL
u'auth.User'
CACHES
{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}
CACHE_MIDDLEWARE_ALIAS
u'default'
CACHE_MIDDLEWARE_KEY_PREFIX
u'********************'
CACHE_MIDDLEWARE_SECONDS
600
CLIENT_CERT_PATH
'/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'
CLIENT_CERT_PRIVATE_KEY_PATH
u'********************'
CSRF_COOKIE_AGE
31449600
CSRF_COOKIE_DOMAIN
None
CSRF_COOKIE_HTTPONLY
False
CSRF_COOKIE_NAME
u'csrftoken'
CSRF_COOKIE_PATH
u'/'
CSRF_COOKIE_SECURE
False
CSRF_FAILURE_VIEW
u'django.views.csrf.csrf_failure'
CSRF_HEADER_NAME
u'HTTP_X_CSRFTOKEN'
CSRF_TRUSTED_ORIGINS
[]
CSRF_USE_SESSIONS
False
DATABASES
{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}
DATABASE_ROUTERS
[]
DATAONE_ROOT
'https://cn-sandbox.test.dataone.org/cn'
DATAONE_TRUSTED_SUBJECTS
set([])
DATA_UPLOAD_MAX_MEMORY_SIZE
2621440
DATA_UPLOAD_MAX_NUMBER_FIELDS
1000
DATETIME_FORMAT
u'N j, Y, P'
DATETIME_INPUT_FORMATS
[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']
DATE_FORMAT
u'N j, Y'
DATE_INPUT_FORMATS
[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']
DEBUG
True
DEBUG_ALLOW_INTEGRATION_TESTS
False
DEBUG_ECHO_REQUEST
False
DEBUG_GMN
True
DEBUG_PROFILE_SQL
False
DEBUG_PROPAGATE_EXCEPTIONS
False
DEBUG_PYCHARM
False
DEBUG_PYCHARM_BIN
'pycharm.sh'
DECIMAL_SEPARATOR
u'.'
DEFAULT_CHARSET
u'utf-8'
DEFAULT_CONTENT_TYPE
u'text/html'
DEFAULT_EXCEPTION_REPORTER_FILTER
u'django.views.debug.SafeExceptionReporterFilter'
DEFAULT_FILE_STORAGE
u'django.core.files.storage.FileSystemStorage'
DEFAULT_FROM_EMAIL
u'webmaster@localhost'
DEFAULT_INDEX_TABLESPACE
u''
DEFAULT_TABLESPACE
u''
DISALLOWED_USER_AGENTS
[]
EMAIL_BACKEND
u'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST
u'localhost'
EMAIL_HOST_PASSWORD
u'********************'
EMAIL_HOST_USER
u''
EMAIL_PORT
25
EMAIL_SSL_CERTFILE
None
EMAIL_SSL_KEYFILE
u'********************'
EMAIL_SUBJECT_PREFIX
u'[Django] '
EMAIL_TIMEOUT
None
EMAIL_USE_LOCALTIME
False
EMAIL_USE_SSL
False
EMAIL_USE_TLS
False
FILE_CHARSET
u'utf-8'
FILE_UPLOAD_DIRECTORY_PERMISSIONS
None
FILE_UPLOAD_HANDLERS
[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']
FILE_UPLOAD_MAX_MEMORY_SIZE
2621440
FILE_UPLOAD_PERMISSIONS
None
FILE_UPLOAD_TEMP_DIR
None
FIRST_DAY_OF_WEEK
0
FIXTURE_DIRS
[]
FORCE_SCRIPT_NAME
None
FORMAT_MODULE_PATH
None
FORM_RENDERER
u'django.forms.renderers.DjangoTemplates'
IGNORABLE_404_URLS
[]
INSTALLED_APPS
['django.contrib.staticfiles',
'd1_gmn.app',
'd1_gmn.app.startup.GMNStartupChecks']
INTERNAL_IPS
[]
LANGUAGES
[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]
LANGUAGES_BIDI
[u'he', u'ar', u'fa', u'ur']
LANGUAGE_CODE
'en-us'
LANGUAGE_COOKIE_AGE
None
LANGUAGE_COOKIE_DOMAIN
None
LANGUAGE_COOKIE_NAME
u'django_language'
LANGUAGE_COOKIE_PATH
u'/'
LOCALE_PATHS
[]
LOGGING
{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}
LOGGING_CONFIG
u'logging.config.dictConfig'
LOGIN_REDIRECT_URL
u'/accounts/profile/'
LOGIN_URL
u'/accounts/login/'
LOGOUT_REDIRECT_URL
None
LOG_LEVEL
'DEBUG'
LOG_PATH
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'
MANAGERS
[]
MAX_XML_DOCUMENT_SIZE
10485760
MEDIA_ROOT
u''
MEDIA_URL
''
MESSAGE_STORAGE
u'django.contrib.messages.storage.fallback.FallbackStorage'
MIDDLEWARE
None
MIDDLEWARE_CLASSES
('d1_gmn.app.middleware.request_handler.RequestHandler',
'd1_gmn.app.middleware.exception_handler.ExceptionHandler',
'd1_gmn.app.middleware.response_handler.ResponseHandler',
'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',
'd1_gmn.app.middleware.view_handler.ViewHandler')
MIGRATION_MODULES
{}
MONITOR
True
MONTH_DAY_FORMAT
u'F j'
NODE_BASEURL
'https://pangaea-dev-orc-1.test.dataone.org/mn'
NODE_CONTACT_SUBJECT
'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'
NODE_DESCRIPTION
'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'
NODE_IDENTIFIER
'urn:node:mnTestPANGAEA'
NODE_NAME
'Pangaea'
NODE_REPLICATE
False
NODE_STATE
'up'
NODE_SUBJECT
'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'
NODE_SYNCHRONIZE
True
NODE_SYNC_SCHEDULE_HOUR
'*'
NODE_SYNC_SCHEDULE_MINUTE
'42'
NODE_SYNC_SCHEDULE_MONTH
'*'
NODE_SYNC_SCHEDULE_MONTHDAY
'*'
NODE_SYNC_SCHEDULE_SECOND
'0'
NODE_SYNC_SCHEDULE_WEEKDAY
'?'
NODE_SYNC_SCHEDULE_YEAR
'*'
NUMBER_GROUPING
0
NUM_CHUNK_BYTES
1048576
OBJECT_STORE_PATH
'/var/local/dataone/gmn_object_store'
PASSWORD_HASHERS
u'********************'
PASSWORD_RESET_TIMEOUT_DAYS
u'********************'
PREPEND_WWW
False
PROXY_MODE_BASIC_AUTH_ENABLED
False
PROXY_MODE_BASIC_AUTH_PASSWORD
u'********************'
PROXY_MODE_BASIC_AUTH_USERNAME
''
PROXY_MODE_STREAM_TIMEOUT
30
PUBLIC_LOG_RECORDS
True
PUBLIC_OBJECT_LIST
True
REPLICATION_ALLOWEDNODE
()
REPLICATION_ALLOWEDOBJECTFORMAT
()
REPLICATION_ALLOW_ONLY_PUBLIC
False
REPLICATION_MAXOBJECTSIZE
-1
REPLICATION_MAX_ATTEMPTS
24
REPLICATION_SPACEALLOCATED
10737418240
REQUIRE_WHITELIST_FOR_UPDATE
True
ROOT_URLCONF
'd1_gmn.app.urls'
SECRET_KEY
u'********************'
SECURE_BROWSER_XSS_FILTER
False
SECURE_CONTENT_TYPE_NOSNIFF
False
SECURE_HSTS_INCLUDE_SUBDOMAINS
False
SECURE_HSTS_PRELOAD
False
SECURE_HSTS_SECONDS
0
SECURE_PROXY_SSL_HEADER
None
SECURE_REDIRECT_EXEMPT
[]
SECURE_SSL_HOST
None
SECURE_SSL_REDIRECT
False
SERVER_EMAIL
u'root@localhost'
SESSION_CACHE_ALIAS
u'default'
SESSION_COOKIE_AGE
1209600
SESSION_COOKIE_DOMAIN
None
SESSION_COOKIE_HTTPONLY
True
SESSION_COOKIE_NAME
u'sessionid'
SESSION_COOKIE_PATH
u'/'
SESSION_COOKIE_SECURE
True
SESSION_ENGINE
u'django.contrib.sessions.backends.db'
SESSION_EXPIRE_AT_BROWSER_CLOSE
False
SESSION_FILE_PATH
None
SESSION_SAVE_EVERY_REQUEST
False
SESSION_SERIALIZER
u'django.contrib.sessions.serializers.JSONSerializer'
SETTINGS_MODULE
'd1_gmn.settings'
SHORT_DATETIME_FORMAT
u'm/d/Y P'
SHORT_DATE_FORMAT
u'm/d/Y'
SIGNING_BACKEND
u'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS
[]
STAND_ALONE
False
STATICFILES_DIRS
[]
STATICFILES_FINDERS
[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']
STATICFILES_STORAGE
u'django.contrib.staticfiles.storage.StaticFilesStorage'
STATIC_ROOT
None
STATIC_URL
'/static/'
SYSMETA_REFRESH_MAX_ATTEMPTS
24
TEMPLATES
[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]
TEST_NON_SERIALIZED_APPS
[]
TEST_RUNNER
u'django.test.runner.DiscoverRunner'
THOUSAND_SEPARATOR
u','
TIME_FORMAT
u'P'
TIME_INPUT_FORMATS
[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']
TIME_ZONE
'UTC'
TRUST_CLIENT_AUTHORITATIVEMEMBERNODE
True
TRUST_CLIENT_DATESYSMETADATAMODIFIED
True
TRUST_CLIENT_DATEUPLOADED
True
TRUST_CLIENT_ORIGINMEMBERNODE
True
TRUST_CLIENT_SERIALVERSION
False
TRUST_CLIENT_SUBMITTER
True
USE_ETAGS
False
USE_I18N
False
USE_L10N
False
USE_THOUSAND_SEPARATOR
False
USE_TZ
False
USE_X_FORWARDED_HOST
False
USE_X_FORWARDED_PORT
False
WSGI_APPLICATION
None
X_FRAME_OPTIONS
u'SAMEORIGIN'
YEAR_MONTH_FORMAT
u'F Y'
You're seeing this error because you have DEBUG = True in your
Django settings file. Change that to False, and Django will
display a standard page generated by the handler for this status code.
[for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Authenticated_READ.15 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.testImplementations.AbstractAuthorizationTestImplementations.testIsAuthorized_AccessPolicy_is_AuthenticatedUser_can_Read(AbstractAuthorizationTestImplementations.java:765)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
testIsAuthorized_AccessPolicy_is_VerifiedUser_can_Read(org.dataone.integration.it.apiTests.MNAuthorizationV2IT) Time elapsed: 88.227 sec <<< FAILURE!
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:
InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15
name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"
Request Method:
GET
Request URL:
https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15
Django Version:
1.11.6
Exception Type:
InvalidToken
Exception Value:
name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"
Exception Location:
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69
Python Executable:
/var/local/dataone/gmn_venv/bin/python
Python Version:
2.7.12
Python Path:
['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages']
Server time:
Mon, 5 Feb 2018 22:16:30 +0000
Traceback
Switch to copy-and-paste view
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner
This decorator is automatically applied to all middleware to ensure that
no middleware leaks an exception and that the next middleware in the stack
can rely on getting a response instead of an exception.
"""
@wraps(get_response, assigned=available_attrs(get_response))
def inner(request):
try:
response = get_response(request) ...
except Exception as exc:
response = response_for_exception(request, exc)
return response
return inner
▶ Local vars
Variable
Value
exc
InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"", identifier="None", nodeId="None", traceInformation="None")
get_response
<bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15'>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response
# Apply request middleware
for middleware_method in self._request_middleware:
response = middleware_method(request)
if response:
break
if response is None:
response = self._get_response(request) ...
return response
▶ Local vars
Variable
Value
middleware_method
<bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15'>
response
None
self
<_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response
resolver_match = resolver.resolve(request.path_info)
callback, callback_args, callback_kwargs = resolver_match
request.resolver_match = resolver_match
# Apply view middleware
for middleware_method in self._view_middleware:
response = middleware_method(request, callback, callback_args, callback_kwargs) ...
if response:
break
if response is None:
wrapped_callback = self.make_view_atomic(callback)
try:
▶ Local vars
Variable
Value
callback
<function get_meta at 0x7f53fb9d92a8>
callback_args
(u'TierTesting:pangaea-dev-orc-1:Verified_READ.15',)
callback_kwargs
{}
middleware_method
<bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15'>
resolver
<RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>
resolver_match
ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'TierTesting:pangaea-dev-orc-1:Verified_READ.15',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[])
response
None
self
<_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view
logging.info(
u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'
.format(
view_func.__name__, request.method, view_args, view_kwargs, request.path_info
)
)
# logging.debug(request.headers)
self.process_session(request) ...
def process_session(self, request):
# For simulating an HTTPS connection with client authentication when
# debugging via regular HTTP, two mechanisms are supported. (1) A full
# client side certificate can be included and (2) a list of subjects can be
# included. Both use vendor specific extensions (HTTP headers that start
▶ Local vars
Variable
Value
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15'>
self
<d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>
view_args
(u'TierTesting:pangaea-dev-orc-1:Verified_READ.15',)
view_func
<function get_meta at 0x7f53fb9d92a8>
view_kwargs
{}
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session
# client side certificate can be included and (2) a list of subjects can be
# included. Both use vendor specific extensions (HTTP headers that start
# with the string "VENDOR_".) In some testing scenarios, it is convenient to
# submit lists of subjects without having to generate certificates. In other
# scenarios, it is desirable to simulate an HTTPS interaction as closely as
# possible by providing a complete certificate.
request.primary_subject_str, request.all_subjects_set = (
self.get_active_subject_set(request) ...
)
def get_active_subject_set(self, request):
"""Get a set containing all subjects for which the current connection has
been successfully authenticated
"""
▶ Local vars
Variable
Value
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15'>
self
<d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set
request.META['SSL_CLIENT_CERT'] = \
self.pem_in_http_header_to_pem_in_string(
request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])
# Add subjects from any provided certificate and JWT and store them in
# the Django request obj.
cert_primary_str, cert_equivalent_set = (
d1_gmn.app.middleware.session_cert.get_subjects(request) ...
)
jwt_subject_list = (
d1_gmn.app.middleware.session_jwt.
validate_jwt_and_get_subject_list(request)
)
primary_subject_str = cert_primary_str
▶ Local vars
Variable
Value
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15'>
self
<d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects
"""
if _is_certificate_provided(request):
try:
return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])
except Exception as e:
raise d1_common.types.exceptions.InvalidToken(
0,
u'Error extracting session from certificate. error="{}"'.format(str(e)) ...
)
else:
return d1_common.const.SUBJECT_PUBLIC, set()
def get_authenticated_subjects(cert_pem):
▶ Local vars
Variable
Value
e
InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15'>
Environment:
Request Method: GET
Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15
Django Version: 1.11.6
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles',
'd1_gmn.app',
'd1_gmn.app.startup.GMNStartupChecks']
Installed Middleware:
('d1_gmn.app.middleware.request_handler.RequestHandler',
'd1_gmn.app.middleware.exception_handler.ExceptionHandler',
'd1_gmn.app.middleware.response_handler.ResponseHandler',
'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',
'd1_gmn.app.middleware.view_handler.ViewHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
41. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py" in process_view
47. self.process_session(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py" in process_session
59. self.get_active_subject_set(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py" in get_active_subject_set
76. d1_gmn.app.middleware.session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"
Request information
USER
[unable to retrieve the current user]
GET
No GET data
POST
No POST data
FILES
No FILES data
COOKIES
No cookie data
META
Variable
Value
CONTEXT_DOCUMENT_ROOT
'/var/www/html'
CONTEXT_PREFIX
''
DOCUMENT_ROOT
'/var/www/html'
GATEWAY_INTERFACE
'CGI/1.1'
HTTP_ACCEPT_ENCODING
'gzip,deflate'
HTTP_CONNECTION
'Keep-Alive'
HTTP_HOST
'pangaea-dev-orc-1.test.dataone.org'
HTTP_USER_AGENT
'Apache-HttpClient/4.3.6 (java 1.5)'
HTTP_VIA
'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'
PATH_INFO
u'/v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15'
PATH_TRANSLATED
'/var/www/html/v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15'
QUERY_STRING
''
REMOTE_ADDR
'64.106.40.19'
REMOTE_PORT
'43261'
REQUEST_METHOD
'GET'
REQUEST_SCHEME
'https'
REQUEST_URI
'/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15'
SCRIPT_FILENAME
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'
SCRIPT_NAME
u'/mn'
SERVER_ADDR
'160.36.13.167'
SERVER_ADMIN
'email@monicaihli.com'
SERVER_NAME
'pangaea-dev-orc-1.test.dataone.org'
SERVER_PORT
'443'
SERVER_PROTOCOL
'HTTP/1.1'
SERVER_SIGNATURE
'<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\n'
SERVER_SOFTWARE
'Apache/2.4.18 (Ubuntu)'
SSL_CLIENT_CERT
'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'
SSL_SERVER_CERT
'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\n-----END CERTIFICATE-----\n'
SSL_TLS_SNI
'pangaea-dev-orc-1.test.dataone.org'
apache.version
(2, 4, 18)
mod_wsgi.application_group
''
mod_wsgi.callable_object
'application'
mod_wsgi.daemon_connects
'1'
mod_wsgi.daemon_restarts
'0'
mod_wsgi.daemon_start
'1517868990331675'
mod_wsgi.enable_sendfile
'0'
mod_wsgi.handler_script
''
mod_wsgi.input_chunked
'0'
mod_wsgi.listener_host
''
mod_wsgi.listener_port
'443'
mod_wsgi.process_group
'gmn2'
mod_wsgi.queue_start
'1517868990331427'
mod_wsgi.request_handler
'wsgi-script'
mod_wsgi.request_start
'1517868990331028'
mod_wsgi.script_reloading
'1'
mod_wsgi.script_start
'1517868990331760'
mod_wsgi.version
(4, 3, 0)
wsgi.errors
<mod_wsgi.Log object at 0x7f53fad54c90>
wsgi.file_wrapper
''
wsgi.input
<mod_wsgi.Input object at 0x7f53faf723f0>
wsgi.multiprocess
True
wsgi.multithread
True
wsgi.run_once
False
wsgi.url_scheme
'https'
wsgi.version
(1, 0)
Settings
Using settings module d1_gmn.settings
Setting
Value
ABSOLUTE_URL_OVERRIDES
{}
ADMINS
(('My Name', 'my_address@my_email.tld'),)
ALLOWED_HOSTS
['localhost', '127.0.0.1']
APPEND_SLASH
True
AUTHENTICATION_BACKENDS
[u'django.contrib.auth.backends.ModelBackend']
AUTH_PASSWORD_VALIDATORS
u'********************'
AUTH_USER_MODEL
u'auth.User'
CACHES
{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}
CACHE_MIDDLEWARE_ALIAS
u'default'
CACHE_MIDDLEWARE_KEY_PREFIX
u'********************'
CACHE_MIDDLEWARE_SECONDS
600
CLIENT_CERT_PATH
'/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'
CLIENT_CERT_PRIVATE_KEY_PATH
u'********************'
CSRF_COOKIE_AGE
31449600
CSRF_COOKIE_DOMAIN
None
CSRF_COOKIE_HTTPONLY
False
CSRF_COOKIE_NAME
u'csrftoken'
CSRF_COOKIE_PATH
u'/'
CSRF_COOKIE_SECURE
False
CSRF_FAILURE_VIEW
u'django.views.csrf.csrf_failure'
CSRF_HEADER_NAME
u'HTTP_X_CSRFTOKEN'
CSRF_TRUSTED_ORIGINS
[]
CSRF_USE_SESSIONS
False
DATABASES
{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}
DATABASE_ROUTERS
[]
DATAONE_ROOT
'https://cn-sandbox.test.dataone.org/cn'
DATAONE_TRUSTED_SUBJECTS
set([])
DATA_UPLOAD_MAX_MEMORY_SIZE
2621440
DATA_UPLOAD_MAX_NUMBER_FIELDS
1000
DATETIME_FORMAT
u'N j, Y, P'
DATETIME_INPUT_FORMATS
[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']
DATE_FORMAT
u'N j, Y'
DATE_INPUT_FORMATS
[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']
DEBUG
True
DEBUG_ALLOW_INTEGRATION_TESTS
False
DEBUG_ECHO_REQUEST
False
DEBUG_GMN
True
DEBUG_PROFILE_SQL
False
DEBUG_PROPAGATE_EXCEPTIONS
False
DEBUG_PYCHARM
False
DEBUG_PYCHARM_BIN
'pycharm.sh'
DECIMAL_SEPARATOR
u'.'
DEFAULT_CHARSET
u'utf-8'
DEFAULT_CONTENT_TYPE
u'text/html'
DEFAULT_EXCEPTION_REPORTER_FILTER
u'django.views.debug.SafeExceptionReporterFilter'
DEFAULT_FILE_STORAGE
u'django.core.files.storage.FileSystemStorage'
DEFAULT_FROM_EMAIL
u'webmaster@localhost'
DEFAULT_INDEX_TABLESPACE
u''
DEFAULT_TABLESPACE
u''
DISALLOWED_USER_AGENTS
[]
EMAIL_BACKEND
u'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST
u'localhost'
EMAIL_HOST_PASSWORD
u'********************'
EMAIL_HOST_USER
u''
EMAIL_PORT
25
EMAIL_SSL_CERTFILE
None
EMAIL_SSL_KEYFILE
u'********************'
EMAIL_SUBJECT_PREFIX
u'[Django] '
EMAIL_TIMEOUT
None
EMAIL_USE_LOCALTIME
False
EMAIL_USE_SSL
False
EMAIL_USE_TLS
False
FILE_CHARSET
u'utf-8'
FILE_UPLOAD_DIRECTORY_PERMISSIONS
None
FILE_UPLOAD_HANDLERS
[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']
FILE_UPLOAD_MAX_MEMORY_SIZE
2621440
FILE_UPLOAD_PERMISSIONS
None
FILE_UPLOAD_TEMP_DIR
None
FIRST_DAY_OF_WEEK
0
FIXTURE_DIRS
[]
FORCE_SCRIPT_NAME
None
FORMAT_MODULE_PATH
None
FORM_RENDERER
u'django.forms.renderers.DjangoTemplates'
IGNORABLE_404_URLS
[]
INSTALLED_APPS
['django.contrib.staticfiles',
'd1_gmn.app',
'd1_gmn.app.startup.GMNStartupChecks']
INTERNAL_IPS
[]
LANGUAGES
[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]
LANGUAGES_BIDI
[u'he', u'ar', u'fa', u'ur']
LANGUAGE_CODE
'en-us'
LANGUAGE_COOKIE_AGE
None
LANGUAGE_COOKIE_DOMAIN
None
LANGUAGE_COOKIE_NAME
u'django_language'
LANGUAGE_COOKIE_PATH
u'/'
LOCALE_PATHS
[]
LOGGING
{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}
LOGGING_CONFIG
u'logging.config.dictConfig'
LOGIN_REDIRECT_URL
u'/accounts/profile/'
LOGIN_URL
u'/accounts/login/'
LOGOUT_REDIRECT_URL
None
LOG_LEVEL
'DEBUG'
LOG_PATH
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'
MANAGERS
[]
MAX_XML_DOCUMENT_SIZE
10485760
MEDIA_ROOT
u''
MEDIA_URL
''
MESSAGE_STORAGE
u'django.contrib.messages.storage.fallback.FallbackStorage'
MIDDLEWARE
None
MIDDLEWARE_CLASSES
('d1_gmn.app.middleware.request_handler.RequestHandler',
'd1_gmn.app.middleware.exception_handler.ExceptionHandler',
'd1_gmn.app.middleware.response_handler.ResponseHandler',
'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',
'd1_gmn.app.middleware.view_handler.ViewHandler')
MIGRATION_MODULES
{}
MONITOR
True
MONTH_DAY_FORMAT
u'F j'
NODE_BASEURL
'https://pangaea-dev-orc-1.test.dataone.org/mn'
NODE_CONTACT_SUBJECT
'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'
NODE_DESCRIPTION
'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'
NODE_IDENTIFIER
'urn:node:mnTestPANGAEA'
NODE_NAME
'Pangaea'
NODE_REPLICATE
False
NODE_STATE
'up'
NODE_SUBJECT
'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'
NODE_SYNCHRONIZE
True
NODE_SYNC_SCHEDULE_HOUR
'*'
NODE_SYNC_SCHEDULE_MINUTE
'42'
NODE_SYNC_SCHEDULE_MONTH
'*'
NODE_SYNC_SCHEDULE_MONTHDAY
'*'
NODE_SYNC_SCHEDULE_SECOND
'0'
NODE_SYNC_SCHEDULE_WEEKDAY
'?'
NODE_SYNC_SCHEDULE_YEAR
'*'
NUMBER_GROUPING
0
NUM_CHUNK_BYTES
1048576
OBJECT_STORE_PATH
'/var/local/dataone/gmn_object_store'
PASSWORD_HASHERS
u'********************'
PASSWORD_RESET_TIMEOUT_DAYS
u'********************'
PREPEND_WWW
False
PROXY_MODE_BASIC_AUTH_ENABLED
False
PROXY_MODE_BASIC_AUTH_PASSWORD
u'********************'
PROXY_MODE_BASIC_AUTH_USERNAME
''
PROXY_MODE_STREAM_TIMEOUT
30
PUBLIC_LOG_RECORDS
True
PUBLIC_OBJECT_LIST
True
REPLICATION_ALLOWEDNODE
()
REPLICATION_ALLOWEDOBJECTFORMAT
()
REPLICATION_ALLOW_ONLY_PUBLIC
False
REPLICATION_MAXOBJECTSIZE
-1
REPLICATION_MAX_ATTEMPTS
24
REPLICATION_SPACEALLOCATED
10737418240
REQUIRE_WHITELIST_FOR_UPDATE
True
ROOT_URLCONF
'd1_gmn.app.urls'
SECRET_KEY
u'********************'
SECURE_BROWSER_XSS_FILTER
False
SECURE_CONTENT_TYPE_NOSNIFF
False
SECURE_HSTS_INCLUDE_SUBDOMAINS
False
SECURE_HSTS_PRELOAD
False
SECURE_HSTS_SECONDS
0
SECURE_PROXY_SSL_HEADER
None
SECURE_REDIRECT_EXEMPT
[]
SECURE_SSL_HOST
None
SECURE_SSL_REDIRECT
False
SERVER_EMAIL
u'root@localhost'
SESSION_CACHE_ALIAS
u'default'
SESSION_COOKIE_AGE
1209600
SESSION_COOKIE_DOMAIN
None
SESSION_COOKIE_HTTPONLY
True
SESSION_COOKIE_NAME
u'sessionid'
SESSION_COOKIE_PATH
u'/'
SESSION_COOKIE_SECURE
True
SESSION_ENGINE
u'django.contrib.sessions.backends.db'
SESSION_EXPIRE_AT_BROWSER_CLOSE
False
SESSION_FILE_PATH
None
SESSION_SAVE_EVERY_REQUEST
False
SESSION_SERIALIZER
u'django.contrib.sessions.serializers.JSONSerializer'
SETTINGS_MODULE
'd1_gmn.settings'
SHORT_DATETIME_FORMAT
u'm/d/Y P'
SHORT_DATE_FORMAT
u'm/d/Y'
SIGNING_BACKEND
u'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS
[]
STAND_ALONE
False
STATICFILES_DIRS
[]
STATICFILES_FINDERS
[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']
STATICFILES_STORAGE
u'django.contrib.staticfiles.storage.StaticFilesStorage'
STATIC_ROOT
None
STATIC_URL
'/static/'
SYSMETA_REFRESH_MAX_ATTEMPTS
24
TEMPLATES
[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]
TEST_NON_SERIALIZED_APPS
[]
TEST_RUNNER
u'django.test.runner.DiscoverRunner'
THOUSAND_SEPARATOR
u','
TIME_FORMAT
u'P'
TIME_INPUT_FORMATS
[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']
TIME_ZONE
'UTC'
TRUST_CLIENT_AUTHORITATIVEMEMBERNODE
True
TRUST_CLIENT_DATESYSMETADATAMODIFIED
True
TRUST_CLIENT_DATEUPLOADED
True
TRUST_CLIENT_ORIGINMEMBERNODE
True
TRUST_CLIENT_SERIALVERSION
False
TRUST_CLIENT_SUBMITTER
True
USE_ETAGS
False
USE_I18N
False
USE_L10N
False
USE_THOUSAND_SEPARATOR
False
USE_TZ
False
USE_X_FORWARDED_HOST
False
USE_X_FORWARDED_PORT
False
WSGI_APPLICATION
None
X_FRAME_OPTIONS
u'SAMEORIGIN'
YEAR_MONTH_FORMAT
u'F Y'
You're seeing this error because you have DEBUG = True in your
Django settings file. Change that to False, and Django will
display a standard page generated by the handler for this status code.
[for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:Verified_READ.15 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.testImplementations.AbstractAuthorizationTestImplementations.testIsAuthorized_AccessPolicy_is_VerifiedUser_can_Read(AbstractAuthorizationTestImplementations.java:914)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
testIsAuthorized_AccessPolicy_is_testPerson_can_Read(org.dataone.integration.it.apiTests.MNAuthorizationV2IT) Time elapsed: 85.914 sec <<< FAILURE!
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:
InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15
name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"
Request Method:
GET
Request URL:
https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15
Django Version:
1.11.6
Exception Type:
InvalidToken
Exception Value:
name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"
Exception Location:
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69
Python Executable:
/var/local/dataone/gmn_venv/bin/python
Python Version:
2.7.12
Python Path:
['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages']
Server time:
Mon, 5 Feb 2018 22:17:56 +0000
Traceback
Switch to copy-and-paste view
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner
This decorator is automatically applied to all middleware to ensure that
no middleware leaks an exception and that the next middleware in the stack
can rely on getting a response instead of an exception.
"""
@wraps(get_response, assigned=available_attrs(get_response))
def inner(request):
try:
response = get_response(request) ...
except Exception as exc:
response = response_for_exception(request, exc)
return response
return inner
▶ Local vars
Variable
Value
exc
InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"", identifier="None", nodeId="None", traceInformation="None")
get_response
<bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15'>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response
# Apply request middleware
for middleware_method in self._request_middleware:
response = middleware_method(request)
if response:
break
if response is None:
response = self._get_response(request) ...
return response
▶ Local vars
Variable
Value
middleware_method
<bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15'>
response
None
self
<_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response
resolver_match = resolver.resolve(request.path_info)
callback, callback_args, callback_kwargs = resolver_match
request.resolver_match = resolver_match
# Apply view middleware
for middleware_method in self._view_middleware:
response = middleware_method(request, callback, callback_args, callback_kwargs) ...
if response:
break
if response is None:
wrapped_callback = self.make_view_atomic(callback)
try:
▶ Local vars
Variable
Value
callback
<function get_meta at 0x7f53fb9d92a8>
callback_args
(u'TierTesting:pangaea-dev-orc-1:testPerson_READ.15',)
callback_kwargs
{}
middleware_method
<bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15'>
resolver
<RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>
resolver_match
ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'TierTesting:pangaea-dev-orc-1:testPerson_READ.15',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[])
response
None
self
<_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view
logging.info(
u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'
.format(
view_func.__name__, request.method, view_args, view_kwargs, request.path_info
)
)
# logging.debug(request.headers)
self.process_session(request) ...
def process_session(self, request):
# For simulating an HTTPS connection with client authentication when
# debugging via regular HTTP, two mechanisms are supported. (1) A full
# client side certificate can be included and (2) a list of subjects can be
# included. Both use vendor specific extensions (HTTP headers that start
▶ Local vars
Variable
Value
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15'>
self
<d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>
view_args
(u'TierTesting:pangaea-dev-orc-1:testPerson_READ.15',)
view_func
<function get_meta at 0x7f53fb9d92a8>
view_kwargs
{}
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session
# client side certificate can be included and (2) a list of subjects can be
# included. Both use vendor specific extensions (HTTP headers that start
# with the string "VENDOR_".) In some testing scenarios, it is convenient to
# submit lists of subjects without having to generate certificates. In other
# scenarios, it is desirable to simulate an HTTPS interaction as closely as
# possible by providing a complete certificate.
request.primary_subject_str, request.all_subjects_set = (
self.get_active_subject_set(request) ...
)
def get_active_subject_set(self, request):
"""Get a set containing all subjects for which the current connection has
been successfully authenticated
"""
▶ Local vars
Variable
Value
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15'>
self
<d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set
request.META['SSL_CLIENT_CERT'] = \
self.pem_in_http_header_to_pem_in_string(
request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])
# Add subjects from any provided certificate and JWT and store them in
# the Django request obj.
cert_primary_str, cert_equivalent_set = (
d1_gmn.app.middleware.session_cert.get_subjects(request) ...
)
jwt_subject_list = (
d1_gmn.app.middleware.session_jwt.
validate_jwt_and_get_subject_list(request)
)
primary_subject_str = cert_primary_str
▶ Local vars
Variable
Value
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15'>
self
<d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects
"""
if _is_certificate_provided(request):
try:
return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])
except Exception as e:
raise d1_common.types.exceptions.InvalidToken(
0,
u'Error extracting session from certificate. error="{}"'.format(str(e)) ...
)
else:
return d1_common.const.SUBJECT_PUBLIC, set()
def get_authenticated_subjects(cert_pem):
▶ Local vars
Variable
Value
e
InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15'>
Environment:
Request Method: GET
Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15
Django Version: 1.11.6
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles',
'd1_gmn.app',
'd1_gmn.app.startup.GMNStartupChecks']
Installed Middleware:
('d1_gmn.app.middleware.request_handler.RequestHandler',
'd1_gmn.app.middleware.exception_handler.ExceptionHandler',
'd1_gmn.app.middleware.response_handler.ResponseHandler',
'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',
'd1_gmn.app.middleware.view_handler.ViewHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
41. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py" in process_view
47. self.process_session(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py" in process_session
59. self.get_active_subject_set(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py" in get_active_subject_set
76. d1_gmn.app.middleware.session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"
Request information
USER
[unable to retrieve the current user]
GET
No GET data
POST
No POST data
FILES
No FILES data
COOKIES
No cookie data
META
Variable
Value
CONTEXT_DOCUMENT_ROOT
'/var/www/html'
CONTEXT_PREFIX
''
DOCUMENT_ROOT
'/var/www/html'
GATEWAY_INTERFACE
'CGI/1.1'
HTTP_ACCEPT_ENCODING
'gzip,deflate'
HTTP_CONNECTION
'Keep-Alive'
HTTP_HOST
'pangaea-dev-orc-1.test.dataone.org'
HTTP_USER_AGENT
'Apache-HttpClient/4.3.6 (java 1.5)'
HTTP_VIA
'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'
PATH_INFO
u'/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15'
PATH_TRANSLATED
'/var/www/html/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15'
QUERY_STRING
''
REMOTE_ADDR
'64.106.40.19'
REMOTE_PORT
'43428'
REQUEST_METHOD
'GET'
REQUEST_SCHEME
'https'
REQUEST_URI
'/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15'
SCRIPT_FILENAME
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'
SCRIPT_NAME
u'/mn'
SERVER_ADDR
'160.36.13.167'
SERVER_ADMIN
'email@monicaihli.com'
SERVER_NAME
'pangaea-dev-orc-1.test.dataone.org'
SERVER_PORT
'443'
SERVER_PROTOCOL
'HTTP/1.1'
SERVER_SIGNATURE
'<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\n'
SERVER_SOFTWARE
'Apache/2.4.18 (Ubuntu)'
SSL_CLIENT_CERT
'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'
SSL_SERVER_CERT
'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\n-----END CERTIFICATE-----\n'
SSL_TLS_SNI
'pangaea-dev-orc-1.test.dataone.org'
apache.version
(2, 4, 18)
mod_wsgi.application_group
''
mod_wsgi.callable_object
'application'
mod_wsgi.daemon_connects
'1'
mod_wsgi.daemon_restarts
'0'
mod_wsgi.daemon_start
'1517869076262552'
mod_wsgi.enable_sendfile
'0'
mod_wsgi.handler_script
''
mod_wsgi.input_chunked
'0'
mod_wsgi.listener_host
''
mod_wsgi.listener_port
'443'
mod_wsgi.process_group
'gmn2'
mod_wsgi.queue_start
'1517869076262256'
mod_wsgi.request_handler
'wsgi-script'
mod_wsgi.request_start
'1517869076261816'
mod_wsgi.script_reloading
'1'
mod_wsgi.script_start
'1517869076262643'
mod_wsgi.version
(4, 3, 0)
wsgi.errors
<mod_wsgi.Log object at 0x7f53fad54c90>
wsgi.file_wrapper
''
wsgi.input
<mod_wsgi.Input object at 0x7f5400067870>
wsgi.multiprocess
True
wsgi.multithread
True
wsgi.run_once
False
wsgi.url_scheme
'https'
wsgi.version
(1, 0)
Settings
Using settings module d1_gmn.settings
Setting
Value
ABSOLUTE_URL_OVERRIDES
{}
ADMINS
(('My Name', 'my_address@my_email.tld'),)
ALLOWED_HOSTS
['localhost', '127.0.0.1']
APPEND_SLASH
True
AUTHENTICATION_BACKENDS
[u'django.contrib.auth.backends.ModelBackend']
AUTH_PASSWORD_VALIDATORS
u'********************'
AUTH_USER_MODEL
u'auth.User'
CACHES
{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}
CACHE_MIDDLEWARE_ALIAS
u'default'
CACHE_MIDDLEWARE_KEY_PREFIX
u'********************'
CACHE_MIDDLEWARE_SECONDS
600
CLIENT_CERT_PATH
'/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'
CLIENT_CERT_PRIVATE_KEY_PATH
u'********************'
CSRF_COOKIE_AGE
31449600
CSRF_COOKIE_DOMAIN
None
CSRF_COOKIE_HTTPONLY
False
CSRF_COOKIE_NAME
u'csrftoken'
CSRF_COOKIE_PATH
u'/'
CSRF_COOKIE_SECURE
False
CSRF_FAILURE_VIEW
u'django.views.csrf.csrf_failure'
CSRF_HEADER_NAME
u'HTTP_X_CSRFTOKEN'
CSRF_TRUSTED_ORIGINS
[]
CSRF_USE_SESSIONS
False
DATABASES
{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}
DATABASE_ROUTERS
[]
DATAONE_ROOT
'https://cn-sandbox.test.dataone.org/cn'
DATAONE_TRUSTED_SUBJECTS
set([])
DATA_UPLOAD_MAX_MEMORY_SIZE
2621440
DATA_UPLOAD_MAX_NUMBER_FIELDS
1000
DATETIME_FORMAT
u'N j, Y, P'
DATETIME_INPUT_FORMATS
[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']
DATE_FORMAT
u'N j, Y'
DATE_INPUT_FORMATS
[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']
DEBUG
True
DEBUG_ALLOW_INTEGRATION_TESTS
False
DEBUG_ECHO_REQUEST
False
DEBUG_GMN
True
DEBUG_PROFILE_SQL
False
DEBUG_PROPAGATE_EXCEPTIONS
False
DEBUG_PYCHARM
False
DEBUG_PYCHARM_BIN
'pycharm.sh'
DECIMAL_SEPARATOR
u'.'
DEFAULT_CHARSET
u'utf-8'
DEFAULT_CONTENT_TYPE
u'text/html'
DEFAULT_EXCEPTION_REPORTER_FILTER
u'django.views.debug.SafeExceptionReporterFilter'
DEFAULT_FILE_STORAGE
u'django.core.files.storage.FileSystemStorage'
DEFAULT_FROM_EMAIL
u'webmaster@localhost'
DEFAULT_INDEX_TABLESPACE
u''
DEFAULT_TABLESPACE
u''
DISALLOWED_USER_AGENTS
[]
EMAIL_BACKEND
u'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST
u'localhost'
EMAIL_HOST_PASSWORD
u'********************'
EMAIL_HOST_USER
u''
EMAIL_PORT
25
EMAIL_SSL_CERTFILE
None
EMAIL_SSL_KEYFILE
u'********************'
EMAIL_SUBJECT_PREFIX
u'[Django] '
EMAIL_TIMEOUT
None
EMAIL_USE_LOCALTIME
False
EMAIL_USE_SSL
False
EMAIL_USE_TLS
False
FILE_CHARSET
u'utf-8'
FILE_UPLOAD_DIRECTORY_PERMISSIONS
None
FILE_UPLOAD_HANDLERS
[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']
FILE_UPLOAD_MAX_MEMORY_SIZE
2621440
FILE_UPLOAD_PERMISSIONS
None
FILE_UPLOAD_TEMP_DIR
None
FIRST_DAY_OF_WEEK
0
FIXTURE_DIRS
[]
FORCE_SCRIPT_NAME
None
FORMAT_MODULE_PATH
None
FORM_RENDERER
u'django.forms.renderers.DjangoTemplates'
IGNORABLE_404_URLS
[]
INSTALLED_APPS
['django.contrib.staticfiles',
'd1_gmn.app',
'd1_gmn.app.startup.GMNStartupChecks']
INTERNAL_IPS
[]
LANGUAGES
[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]
LANGUAGES_BIDI
[u'he', u'ar', u'fa', u'ur']
LANGUAGE_CODE
'en-us'
LANGUAGE_COOKIE_AGE
None
LANGUAGE_COOKIE_DOMAIN
None
LANGUAGE_COOKIE_NAME
u'django_language'
LANGUAGE_COOKIE_PATH
u'/'
LOCALE_PATHS
[]
LOGGING
{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}
LOGGING_CONFIG
u'logging.config.dictConfig'
LOGIN_REDIRECT_URL
u'/accounts/profile/'
LOGIN_URL
u'/accounts/login/'
LOGOUT_REDIRECT_URL
None
LOG_LEVEL
'DEBUG'
LOG_PATH
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'
MANAGERS
[]
MAX_XML_DOCUMENT_SIZE
10485760
MEDIA_ROOT
u''
MEDIA_URL
''
MESSAGE_STORAGE
u'django.contrib.messages.storage.fallback.FallbackStorage'
MIDDLEWARE
None
MIDDLEWARE_CLASSES
('d1_gmn.app.middleware.request_handler.RequestHandler',
'd1_gmn.app.middleware.exception_handler.ExceptionHandler',
'd1_gmn.app.middleware.response_handler.ResponseHandler',
'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',
'd1_gmn.app.middleware.view_handler.ViewHandler')
MIGRATION_MODULES
{}
MONITOR
True
MONTH_DAY_FORMAT
u'F j'
NODE_BASEURL
'https://pangaea-dev-orc-1.test.dataone.org/mn'
NODE_CONTACT_SUBJECT
'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'
NODE_DESCRIPTION
'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'
NODE_IDENTIFIER
'urn:node:mnTestPANGAEA'
NODE_NAME
'Pangaea'
NODE_REPLICATE
False
NODE_STATE
'up'
NODE_SUBJECT
'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'
NODE_SYNCHRONIZE
True
NODE_SYNC_SCHEDULE_HOUR
'*'
NODE_SYNC_SCHEDULE_MINUTE
'42'
NODE_SYNC_SCHEDULE_MONTH
'*'
NODE_SYNC_SCHEDULE_MONTHDAY
'*'
NODE_SYNC_SCHEDULE_SECOND
'0'
NODE_SYNC_SCHEDULE_WEEKDAY
'?'
NODE_SYNC_SCHEDULE_YEAR
'*'
NUMBER_GROUPING
0
NUM_CHUNK_BYTES
1048576
OBJECT_STORE_PATH
'/var/local/dataone/gmn_object_store'
PASSWORD_HASHERS
u'********************'
PASSWORD_RESET_TIMEOUT_DAYS
u'********************'
PREPEND_WWW
False
PROXY_MODE_BASIC_AUTH_ENABLED
False
PROXY_MODE_BASIC_AUTH_PASSWORD
u'********************'
PROXY_MODE_BASIC_AUTH_USERNAME
''
PROXY_MODE_STREAM_TIMEOUT
30
PUBLIC_LOG_RECORDS
True
PUBLIC_OBJECT_LIST
True
REPLICATION_ALLOWEDNODE
()
REPLICATION_ALLOWEDOBJECTFORMAT
()
REPLICATION_ALLOW_ONLY_PUBLIC
False
REPLICATION_MAXOBJECTSIZE
-1
REPLICATION_MAX_ATTEMPTS
24
REPLICATION_SPACEALLOCATED
10737418240
REQUIRE_WHITELIST_FOR_UPDATE
True
ROOT_URLCONF
'd1_gmn.app.urls'
SECRET_KEY
u'********************'
SECURE_BROWSER_XSS_FILTER
False
SECURE_CONTENT_TYPE_NOSNIFF
False
SECURE_HSTS_INCLUDE_SUBDOMAINS
False
SECURE_HSTS_PRELOAD
False
SECURE_HSTS_SECONDS
0
SECURE_PROXY_SSL_HEADER
None
SECURE_REDIRECT_EXEMPT
[]
SECURE_SSL_HOST
None
SECURE_SSL_REDIRECT
False
SERVER_EMAIL
u'root@localhost'
SESSION_CACHE_ALIAS
u'default'
SESSION_COOKIE_AGE
1209600
SESSION_COOKIE_DOMAIN
None
SESSION_COOKIE_HTTPONLY
True
SESSION_COOKIE_NAME
u'sessionid'
SESSION_COOKIE_PATH
u'/'
SESSION_COOKIE_SECURE
True
SESSION_ENGINE
u'django.contrib.sessions.backends.db'
SESSION_EXPIRE_AT_BROWSER_CLOSE
False
SESSION_FILE_PATH
None
SESSION_SAVE_EVERY_REQUEST
False
SESSION_SERIALIZER
u'django.contrib.sessions.serializers.JSONSerializer'
SETTINGS_MODULE
'd1_gmn.settings'
SHORT_DATETIME_FORMAT
u'm/d/Y P'
SHORT_DATE_FORMAT
u'm/d/Y'
SIGNING_BACKEND
u'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS
[]
STAND_ALONE
False
STATICFILES_DIRS
[]
STATICFILES_FINDERS
[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']
STATICFILES_STORAGE
u'django.contrib.staticfiles.storage.StaticFilesStorage'
STATIC_ROOT
None
STATIC_URL
'/static/'
SYSMETA_REFRESH_MAX_ATTEMPTS
24
TEMPLATES
[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]
TEST_NON_SERIALIZED_APPS
[]
TEST_RUNNER
u'django.test.runner.DiscoverRunner'
THOUSAND_SEPARATOR
u','
TIME_FORMAT
u'P'
TIME_INPUT_FORMATS
[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']
TIME_ZONE
'UTC'
TRUST_CLIENT_AUTHORITATIVEMEMBERNODE
True
TRUST_CLIENT_DATESYSMETADATAMODIFIED
True
TRUST_CLIENT_DATEUPLOADED
True
TRUST_CLIENT_ORIGINMEMBERNODE
True
TRUST_CLIENT_SERIALVERSION
False
TRUST_CLIENT_SUBMITTER
True
USE_ETAGS
False
USE_I18N
False
USE_L10N
False
USE_THOUSAND_SEPARATOR
False
USE_TZ
False
USE_X_FORWARDED_HOST
False
USE_X_FORWARDED_PORT
False
WSGI_APPLICATION
None
X_FRAME_OPTIONS
u'SAMEORIGIN'
YEAR_MONTH_FORMAT
u'F Y'
You're seeing this error because you have DEBUG = True in your
Django settings file. Change that to False, and Django will
display a standard page generated by the handler for this status code.
[for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_READ.15 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.testImplementations.AbstractAuthorizationTestImplementations.testIsAuthorized_AccessPolicy_is_testPerson_can_Read(AbstractAuthorizationTestImplementations.java:1057)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
testIsAuthorized_AccessPolicy_is_testPerson_can_Write(org.dataone.integration.it.apiTests.MNAuthorizationV2IT) Time elapsed: 87.49 sec <<< FAILURE!
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:
InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15
name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"
Request Method:
GET
Request URL:
https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15
Django Version:
1.11.6
Exception Type:
InvalidToken
Exception Value:
name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"
Exception Location:
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69
Python Executable:
/var/local/dataone/gmn_venv/bin/python
Python Version:
2.7.12
Python Path:
['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages']
Server time:
Mon, 5 Feb 2018 22:19:23 +0000
Traceback
Switch to copy-and-paste view
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner
This decorator is automatically applied to all middleware to ensure that
no middleware leaks an exception and that the next middleware in the stack
can rely on getting a response instead of an exception.
"""
@wraps(get_response, assigned=available_attrs(get_response))
def inner(request):
try:
response = get_response(request) ...
except Exception as exc:
response = response_for_exception(request, exc)
return response
return inner
▶ Local vars
Variable
Value
exc
InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"", identifier="None", nodeId="None", traceInformation="None")
get_response
<bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15'>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response
# Apply request middleware
for middleware_method in self._request_middleware:
response = middleware_method(request)
if response:
break
if response is None:
response = self._get_response(request) ...
return response
▶ Local vars
Variable
Value
middleware_method
<bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15'>
response
None
self
<_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response
resolver_match = resolver.resolve(request.path_info)
callback, callback_args, callback_kwargs = resolver_match
request.resolver_match = resolver_match
# Apply view middleware
for middleware_method in self._view_middleware:
response = middleware_method(request, callback, callback_args, callback_kwargs) ...
if response:
break
if response is None:
wrapped_callback = self.make_view_atomic(callback)
try:
▶ Local vars
Variable
Value
callback
<function get_meta at 0x7f53fb9d92a8>
callback_args
(u'TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15',)
callback_kwargs
{}
middleware_method
<bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15'>
resolver
<RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>
resolver_match
ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[])
response
None
self
<_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view
logging.info(
u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'
.format(
view_func.__name__, request.method, view_args, view_kwargs, request.path_info
)
)
# logging.debug(request.headers)
self.process_session(request) ...
def process_session(self, request):
# For simulating an HTTPS connection with client authentication when
# debugging via regular HTTP, two mechanisms are supported. (1) A full
# client side certificate can be included and (2) a list of subjects can be
# included. Both use vendor specific extensions (HTTP headers that start
▶ Local vars
Variable
Value
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15'>
self
<d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>
view_args
(u'TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15',)
view_func
<function get_meta at 0x7f53fb9d92a8>
view_kwargs
{}
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session
# client side certificate can be included and (2) a list of subjects can be
# included. Both use vendor specific extensions (HTTP headers that start
# with the string "VENDOR_".) In some testing scenarios, it is convenient to
# submit lists of subjects without having to generate certificates. In other
# scenarios, it is desirable to simulate an HTTPS interaction as closely as
# possible by providing a complete certificate.
request.primary_subject_str, request.all_subjects_set = (
self.get_active_subject_set(request) ...
)
def get_active_subject_set(self, request):
"""Get a set containing all subjects for which the current connection has
been successfully authenticated
"""
▶ Local vars
Variable
Value
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15'>
self
<d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set
request.META['SSL_CLIENT_CERT'] = \
self.pem_in_http_header_to_pem_in_string(
request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])
# Add subjects from any provided certificate and JWT and store them in
# the Django request obj.
cert_primary_str, cert_equivalent_set = (
d1_gmn.app.middleware.session_cert.get_subjects(request) ...
)
jwt_subject_list = (
d1_gmn.app.middleware.session_jwt.
validate_jwt_and_get_subject_list(request)
)
primary_subject_str = cert_primary_str
▶ Local vars
Variable
Value
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15'>
self
<d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects
"""
if _is_certificate_provided(request):
try:
return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])
except Exception as e:
raise d1_common.types.exceptions.InvalidToken(
0,
u'Error extracting session from certificate. error="{}"'.format(str(e)) ...
)
else:
return d1_common.const.SUBJECT_PUBLIC, set()
def get_authenticated_subjects(cert_pem):
▶ Local vars
Variable
Value
e
InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15'>
Environment:
Request Method: GET
Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15
Django Version: 1.11.6
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles',
'd1_gmn.app',
'd1_gmn.app.startup.GMNStartupChecks']
Installed Middleware:
('d1_gmn.app.middleware.request_handler.RequestHandler',
'd1_gmn.app.middleware.exception_handler.ExceptionHandler',
'd1_gmn.app.middleware.response_handler.ResponseHandler',
'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',
'd1_gmn.app.middleware.view_handler.ViewHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
41. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py" in process_view
47. self.process_session(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py" in process_session
59. self.get_active_subject_set(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py" in get_active_subject_set
76. d1_gmn.app.middleware.session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"
Request information
USER
[unable to retrieve the current user]
GET
No GET data
POST
No POST data
FILES
No FILES data
COOKIES
No cookie data
META
Variable
Value
CONTEXT_DOCUMENT_ROOT
'/var/www/html'
CONTEXT_PREFIX
''
DOCUMENT_ROOT
'/var/www/html'
GATEWAY_INTERFACE
'CGI/1.1'
HTTP_ACCEPT_ENCODING
'gzip,deflate'
HTTP_CONNECTION
'Keep-Alive'
HTTP_HOST
'pangaea-dev-orc-1.test.dataone.org'
HTTP_USER_AGENT
'Apache-HttpClient/4.3.6 (java 1.5)'
HTTP_VIA
'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'
PATH_INFO
u'/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15'
PATH_TRANSLATED
'/var/www/html/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15'
QUERY_STRING
''
REMOTE_ADDR
'64.106.40.19'
REMOTE_PORT
'43565'
REQUEST_METHOD
'GET'
REQUEST_SCHEME
'https'
REQUEST_URI
'/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15'
SCRIPT_FILENAME
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'
SCRIPT_NAME
u'/mn'
SERVER_ADDR
'160.36.13.167'
SERVER_ADMIN
'email@monicaihli.com'
SERVER_NAME
'pangaea-dev-orc-1.test.dataone.org'
SERVER_PORT
'443'
SERVER_PROTOCOL
'HTTP/1.1'
SERVER_SIGNATURE
'<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\n'
SERVER_SOFTWARE
'Apache/2.4.18 (Ubuntu)'
SSL_CLIENT_CERT
'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'
SSL_SERVER_CERT
'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\n-----END CERTIFICATE-----\n'
SSL_TLS_SNI
'pangaea-dev-orc-1.test.dataone.org'
apache.version
(2, 4, 18)
mod_wsgi.application_group
''
mod_wsgi.callable_object
'application'
mod_wsgi.daemon_connects
'1'
mod_wsgi.daemon_restarts
'0'
mod_wsgi.daemon_start
'1517869163749915'
mod_wsgi.enable_sendfile
'0'
mod_wsgi.handler_script
''
mod_wsgi.input_chunked
'0'
mod_wsgi.listener_host
''
mod_wsgi.listener_port
'443'
mod_wsgi.process_group
'gmn2'
mod_wsgi.queue_start
'1517869163749593'
mod_wsgi.request_handler
'wsgi-script'
mod_wsgi.request_start
'1517869163749219'
mod_wsgi.script_reloading
'1'
mod_wsgi.script_start
'1517869163749976'
mod_wsgi.version
(4, 3, 0)
wsgi.errors
<mod_wsgi.Log object at 0x7f53fad54c90>
wsgi.file_wrapper
''
wsgi.input
<mod_wsgi.Input object at 0x7f5400067870>
wsgi.multiprocess
True
wsgi.multithread
True
wsgi.run_once
False
wsgi.url_scheme
'https'
wsgi.version
(1, 0)
Settings
Using settings module d1_gmn.settings
Setting
Value
ABSOLUTE_URL_OVERRIDES
{}
ADMINS
(('My Name', 'my_address@my_email.tld'),)
ALLOWED_HOSTS
['localhost', '127.0.0.1']
APPEND_SLASH
True
AUTHENTICATION_BACKENDS
[u'django.contrib.auth.backends.ModelBackend']
AUTH_PASSWORD_VALIDATORS
u'********************'
AUTH_USER_MODEL
u'auth.User'
CACHES
{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}
CACHE_MIDDLEWARE_ALIAS
u'default'
CACHE_MIDDLEWARE_KEY_PREFIX
u'********************'
CACHE_MIDDLEWARE_SECONDS
600
CLIENT_CERT_PATH
'/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'
CLIENT_CERT_PRIVATE_KEY_PATH
u'********************'
CSRF_COOKIE_AGE
31449600
CSRF_COOKIE_DOMAIN
None
CSRF_COOKIE_HTTPONLY
False
CSRF_COOKIE_NAME
u'csrftoken'
CSRF_COOKIE_PATH
u'/'
CSRF_COOKIE_SECURE
False
CSRF_FAILURE_VIEW
u'django.views.csrf.csrf_failure'
CSRF_HEADER_NAME
u'HTTP_X_CSRFTOKEN'
CSRF_TRUSTED_ORIGINS
[]
CSRF_USE_SESSIONS
False
DATABASES
{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}
DATABASE_ROUTERS
[]
DATAONE_ROOT
'https://cn-sandbox.test.dataone.org/cn'
DATAONE_TRUSTED_SUBJECTS
set([])
DATA_UPLOAD_MAX_MEMORY_SIZE
2621440
DATA_UPLOAD_MAX_NUMBER_FIELDS
1000
DATETIME_FORMAT
u'N j, Y, P'
DATETIME_INPUT_FORMATS
[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']
DATE_FORMAT
u'N j, Y'
DATE_INPUT_FORMATS
[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']
DEBUG
True
DEBUG_ALLOW_INTEGRATION_TESTS
False
DEBUG_ECHO_REQUEST
False
DEBUG_GMN
True
DEBUG_PROFILE_SQL
False
DEBUG_PROPAGATE_EXCEPTIONS
False
DEBUG_PYCHARM
False
DEBUG_PYCHARM_BIN
'pycharm.sh'
DECIMAL_SEPARATOR
u'.'
DEFAULT_CHARSET
u'utf-8'
DEFAULT_CONTENT_TYPE
u'text/html'
DEFAULT_EXCEPTION_REPORTER_FILTER
u'django.views.debug.SafeExceptionReporterFilter'
DEFAULT_FILE_STORAGE
u'django.core.files.storage.FileSystemStorage'
DEFAULT_FROM_EMAIL
u'webmaster@localhost'
DEFAULT_INDEX_TABLESPACE
u''
DEFAULT_TABLESPACE
u''
DISALLOWED_USER_AGENTS
[]
EMAIL_BACKEND
u'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST
u'localhost'
EMAIL_HOST_PASSWORD
u'********************'
EMAIL_HOST_USER
u''
EMAIL_PORT
25
EMAIL_SSL_CERTFILE
None
EMAIL_SSL_KEYFILE
u'********************'
EMAIL_SUBJECT_PREFIX
u'[Django] '
EMAIL_TIMEOUT
None
EMAIL_USE_LOCALTIME
False
EMAIL_USE_SSL
False
EMAIL_USE_TLS
False
FILE_CHARSET
u'utf-8'
FILE_UPLOAD_DIRECTORY_PERMISSIONS
None
FILE_UPLOAD_HANDLERS
[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']
FILE_UPLOAD_MAX_MEMORY_SIZE
2621440
FILE_UPLOAD_PERMISSIONS
None
FILE_UPLOAD_TEMP_DIR
None
FIRST_DAY_OF_WEEK
0
FIXTURE_DIRS
[]
FORCE_SCRIPT_NAME
None
FORMAT_MODULE_PATH
None
FORM_RENDERER
u'django.forms.renderers.DjangoTemplates'
IGNORABLE_404_URLS
[]
INSTALLED_APPS
['django.contrib.staticfiles',
'd1_gmn.app',
'd1_gmn.app.startup.GMNStartupChecks']
INTERNAL_IPS
[]
LANGUAGES
[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]
LANGUAGES_BIDI
[u'he', u'ar', u'fa', u'ur']
LANGUAGE_CODE
'en-us'
LANGUAGE_COOKIE_AGE
None
LANGUAGE_COOKIE_DOMAIN
None
LANGUAGE_COOKIE_NAME
u'django_language'
LANGUAGE_COOKIE_PATH
u'/'
LOCALE_PATHS
[]
LOGGING
{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}
LOGGING_CONFIG
u'logging.config.dictConfig'
LOGIN_REDIRECT_URL
u'/accounts/profile/'
LOGIN_URL
u'/accounts/login/'
LOGOUT_REDIRECT_URL
None
LOG_LEVEL
'DEBUG'
LOG_PATH
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'
MANAGERS
[]
MAX_XML_DOCUMENT_SIZE
10485760
MEDIA_ROOT
u''
MEDIA_URL
''
MESSAGE_STORAGE
u'django.contrib.messages.storage.fallback.FallbackStorage'
MIDDLEWARE
None
MIDDLEWARE_CLASSES
('d1_gmn.app.middleware.request_handler.RequestHandler',
'd1_gmn.app.middleware.exception_handler.ExceptionHandler',
'd1_gmn.app.middleware.response_handler.ResponseHandler',
'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',
'd1_gmn.app.middleware.view_handler.ViewHandler')
MIGRATION_MODULES
{}
MONITOR
True
MONTH_DAY_FORMAT
u'F j'
NODE_BASEURL
'https://pangaea-dev-orc-1.test.dataone.org/mn'
NODE_CONTACT_SUBJECT
'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'
NODE_DESCRIPTION
'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'
NODE_IDENTIFIER
'urn:node:mnTestPANGAEA'
NODE_NAME
'Pangaea'
NODE_REPLICATE
False
NODE_STATE
'up'
NODE_SUBJECT
'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'
NODE_SYNCHRONIZE
True
NODE_SYNC_SCHEDULE_HOUR
'*'
NODE_SYNC_SCHEDULE_MINUTE
'42'
NODE_SYNC_SCHEDULE_MONTH
'*'
NODE_SYNC_SCHEDULE_MONTHDAY
'*'
NODE_SYNC_SCHEDULE_SECOND
'0'
NODE_SYNC_SCHEDULE_WEEKDAY
'?'
NODE_SYNC_SCHEDULE_YEAR
'*'
NUMBER_GROUPING
0
NUM_CHUNK_BYTES
1048576
OBJECT_STORE_PATH
'/var/local/dataone/gmn_object_store'
PASSWORD_HASHERS
u'********************'
PASSWORD_RESET_TIMEOUT_DAYS
u'********************'
PREPEND_WWW
False
PROXY_MODE_BASIC_AUTH_ENABLED
False
PROXY_MODE_BASIC_AUTH_PASSWORD
u'********************'
PROXY_MODE_BASIC_AUTH_USERNAME
''
PROXY_MODE_STREAM_TIMEOUT
30
PUBLIC_LOG_RECORDS
True
PUBLIC_OBJECT_LIST
True
REPLICATION_ALLOWEDNODE
()
REPLICATION_ALLOWEDOBJECTFORMAT
()
REPLICATION_ALLOW_ONLY_PUBLIC
False
REPLICATION_MAXOBJECTSIZE
-1
REPLICATION_MAX_ATTEMPTS
24
REPLICATION_SPACEALLOCATED
10737418240
REQUIRE_WHITELIST_FOR_UPDATE
True
ROOT_URLCONF
'd1_gmn.app.urls'
SECRET_KEY
u'********************'
SECURE_BROWSER_XSS_FILTER
False
SECURE_CONTENT_TYPE_NOSNIFF
False
SECURE_HSTS_INCLUDE_SUBDOMAINS
False
SECURE_HSTS_PRELOAD
False
SECURE_HSTS_SECONDS
0
SECURE_PROXY_SSL_HEADER
None
SECURE_REDIRECT_EXEMPT
[]
SECURE_SSL_HOST
None
SECURE_SSL_REDIRECT
False
SERVER_EMAIL
u'root@localhost'
SESSION_CACHE_ALIAS
u'default'
SESSION_COOKIE_AGE
1209600
SESSION_COOKIE_DOMAIN
None
SESSION_COOKIE_HTTPONLY
True
SESSION_COOKIE_NAME
u'sessionid'
SESSION_COOKIE_PATH
u'/'
SESSION_COOKIE_SECURE
True
SESSION_ENGINE
u'django.contrib.sessions.backends.db'
SESSION_EXPIRE_AT_BROWSER_CLOSE
False
SESSION_FILE_PATH
None
SESSION_SAVE_EVERY_REQUEST
False
SESSION_SERIALIZER
u'django.contrib.sessions.serializers.JSONSerializer'
SETTINGS_MODULE
'd1_gmn.settings'
SHORT_DATETIME_FORMAT
u'm/d/Y P'
SHORT_DATE_FORMAT
u'm/d/Y'
SIGNING_BACKEND
u'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS
[]
STAND_ALONE
False
STATICFILES_DIRS
[]
STATICFILES_FINDERS
[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']
STATICFILES_STORAGE
u'django.contrib.staticfiles.storage.StaticFilesStorage'
STATIC_ROOT
None
STATIC_URL
'/static/'
SYSMETA_REFRESH_MAX_ATTEMPTS
24
TEMPLATES
[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]
TEST_NON_SERIALIZED_APPS
[]
TEST_RUNNER
u'django.test.runner.DiscoverRunner'
THOUSAND_SEPARATOR
u','
TIME_FORMAT
u'P'
TIME_INPUT_FORMATS
[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']
TIME_ZONE
'UTC'
TRUST_CLIENT_AUTHORITATIVEMEMBERNODE
True
TRUST_CLIENT_DATESYSMETADATAMODIFIED
True
TRUST_CLIENT_DATEUPLOADED
True
TRUST_CLIENT_ORIGINMEMBERNODE
True
TRUST_CLIENT_SERIALVERSION
False
TRUST_CLIENT_SUBMITTER
True
USE_ETAGS
False
USE_I18N
False
USE_L10N
False
USE_THOUSAND_SEPARATOR
False
USE_TZ
False
USE_X_FORWARDED_HOST
False
USE_X_FORWARDED_PORT
False
WSGI_APPLICATION
None
X_FRAME_OPTIONS
u'SAMEORIGIN'
YEAR_MONTH_FORMAT
u'F Y'
You're seeing this error because you have DEBUG = True in your
Django settings file. Change that to False, and Django will
display a standard page generated by the handler for this status code.
[for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_WRITE.15 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.testImplementations.AbstractAuthorizationTestImplementations.testIsAuthorized_AccessPolicy_is_testPerson_can_Write(AbstractAuthorizationTestImplementations.java:1197)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
testIsAuthorized_AccessPolicy_is_testPerson_can_ChangePerm(org.dataone.integration.it.apiTests.MNAuthorizationV2IT) Time elapsed: 5.147 sec <<< FAILURE!
java.lang.AssertionError: org.dataone.integration.TestIterationEndingException: the AccessRule of the returned object has either multiple subjects or multiple permissions [for host https://mn-sandbox-ucsb-1.test.dataone.org/knb/d1/mn ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.testImplementations.AbstractAuthorizationTestImplementations.testIsAuthorized_AccessPolicy_is_testPerson_can_ChangePerm(AbstractAuthorizationTestImplementations.java:1343)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
testIsAuthorized_AccessPolicy_is_testPerson_can_ChangePerm(org.dataone.integration.it.apiTests.MNAuthorizationV2IT) Time elapsed: 5.147 sec <<< FAILURE!
java.lang.AssertionError: org.dataone.integration.TestIterationEndingException: the AccessRule of the returned object has either multiple subjects or multiple permissions [for host https://mn-sandbox-ucsb-2.test.dataone.org/knb/d1/mn ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.testImplementations.AbstractAuthorizationTestImplementations.testIsAuthorized_AccessPolicy_is_testPerson_can_ChangePerm(AbstractAuthorizationTestImplementations.java:1343)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
testIsAuthorized_AccessPolicy_is_testPerson_can_ChangePerm(org.dataone.integration.it.apiTests.MNAuthorizationV2IT) Time elapsed: 5.148 sec <<< FAILURE!
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:
InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15
name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"
Request Method:
GET
Request URL:
https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15
Django Version:
1.11.6
Exception Type:
InvalidToken
Exception Value:
name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"
Exception Location:
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69
Python Executable:
/var/local/dataone/gmn_venv/bin/python
Python Version:
2.7.12
Python Path:
['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages']
Server time:
Mon, 5 Feb 2018 22:19:28 +0000
Traceback
Switch to copy-and-paste view
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner
This decorator is automatically applied to all middleware to ensure that
no middleware leaks an exception and that the next middleware in the stack
can rely on getting a response instead of an exception.
"""
@wraps(get_response, assigned=available_attrs(get_response))
def inner(request):
try:
response = get_response(request) ...
except Exception as exc:
response = response_for_exception(request, exc)
return response
return inner
▶ Local vars
Variable
Value
exc
InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"", identifier="None", nodeId="None", traceInformation="None")
get_response
<bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15'>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response
# Apply request middleware
for middleware_method in self._request_middleware:
response = middleware_method(request)
if response:
break
if response is None:
response = self._get_response(request) ...
return response
▶ Local vars
Variable
Value
middleware_method
<bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15'>
response
None
self
<_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response
resolver_match = resolver.resolve(request.path_info)
callback, callback_args, callback_kwargs = resolver_match
request.resolver_match = resolver_match
# Apply view middleware
for middleware_method in self._view_middleware:
response = middleware_method(request, callback, callback_args, callback_kwargs) ...
if response:
break
if response is None:
wrapped_callback = self.make_view_atomic(callback)
try:
▶ Local vars
Variable
Value
callback
<function get_meta at 0x7f53fb9d92a8>
callback_args
(u'TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15',)
callback_kwargs
{}
middleware_method
<bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15'>
resolver
<RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>
resolver_match
ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[])
response
None
self
<_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view
logging.info(
u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'
.format(
view_func.__name__, request.method, view_args, view_kwargs, request.path_info
)
)
# logging.debug(request.headers)
self.process_session(request) ...
def process_session(self, request):
# For simulating an HTTPS connection with client authentication when
# debugging via regular HTTP, two mechanisms are supported. (1) A full
# client side certificate can be included and (2) a list of subjects can be
# included. Both use vendor specific extensions (HTTP headers that start
▶ Local vars
Variable
Value
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15'>
self
<d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>
view_args
(u'TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15',)
view_func
<function get_meta at 0x7f53fb9d92a8>
view_kwargs
{}
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session
# client side certificate can be included and (2) a list of subjects can be
# included. Both use vendor specific extensions (HTTP headers that start
# with the string "VENDOR_".) In some testing scenarios, it is convenient to
# submit lists of subjects without having to generate certificates. In other
# scenarios, it is desirable to simulate an HTTPS interaction as closely as
# possible by providing a complete certificate.
request.primary_subject_str, request.all_subjects_set = (
self.get_active_subject_set(request) ...
)
def get_active_subject_set(self, request):
"""Get a set containing all subjects for which the current connection has
been successfully authenticated
"""
▶ Local vars
Variable
Value
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15'>
self
<d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set
request.META['SSL_CLIENT_CERT'] = \
self.pem_in_http_header_to_pem_in_string(
request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])
# Add subjects from any provided certificate and JWT and store them in
# the Django request obj.
cert_primary_str, cert_equivalent_set = (
d1_gmn.app.middleware.session_cert.get_subjects(request) ...
)
jwt_subject_list = (
d1_gmn.app.middleware.session_jwt.
validate_jwt_and_get_subject_list(request)
)
primary_subject_str = cert_primary_str
▶ Local vars
Variable
Value
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15'>
self
<d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects
"""
if _is_certificate_provided(request):
try:
return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])
except Exception as e:
raise d1_common.types.exceptions.InvalidToken(
0,
u'Error extracting session from certificate. error="{}"'.format(str(e)) ...
)
else:
return d1_common.const.SUBJECT_PUBLIC, set()
def get_authenticated_subjects(cert_pem):
▶ Local vars
Variable
Value
e
InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15'>
Environment:
Request Method: GET
Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15
Django Version: 1.11.6
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles',
'd1_gmn.app',
'd1_gmn.app.startup.GMNStartupChecks']
Installed Middleware:
('d1_gmn.app.middleware.request_handler.RequestHandler',
'd1_gmn.app.middleware.exception_handler.ExceptionHandler',
'd1_gmn.app.middleware.response_handler.ResponseHandler',
'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',
'd1_gmn.app.middleware.view_handler.ViewHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
41. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py" in process_view
47. self.process_session(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py" in process_session
59. self.get_active_subject_set(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py" in get_active_subject_set
76. d1_gmn.app.middleware.session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"
Request information
USER
[unable to retrieve the current user]
GET
No GET data
POST
No POST data
FILES
No FILES data
COOKIES
No cookie data
META
Variable
Value
CONTEXT_DOCUMENT_ROOT
'/var/www/html'
CONTEXT_PREFIX
''
DOCUMENT_ROOT
'/var/www/html'
GATEWAY_INTERFACE
'CGI/1.1'
HTTP_ACCEPT_ENCODING
'gzip,deflate'
HTTP_CONNECTION
'Keep-Alive'
HTTP_HOST
'pangaea-dev-orc-1.test.dataone.org'
HTTP_USER_AGENT
'Apache-HttpClient/4.3.6 (java 1.5)'
HTTP_VIA
'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'
PATH_INFO
u'/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15'
PATH_TRANSLATED
'/var/www/html/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15'
QUERY_STRING
''
REMOTE_ADDR
'64.106.40.19'
REMOTE_PORT
'43587'
REQUEST_METHOD
'GET'
REQUEST_SCHEME
'https'
REQUEST_URI
'/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15'
SCRIPT_FILENAME
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'
SCRIPT_NAME
u'/mn'
SERVER_ADDR
'160.36.13.167'
SERVER_ADMIN
'email@monicaihli.com'
SERVER_NAME
'pangaea-dev-orc-1.test.dataone.org'
SERVER_PORT
'443'
SERVER_PROTOCOL
'HTTP/1.1'
SERVER_SIGNATURE
'<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\n'
SERVER_SOFTWARE
'Apache/2.4.18 (Ubuntu)'
SSL_CLIENT_CERT
'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'
SSL_SERVER_CERT
'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\n-----END CERTIFICATE-----\n'
SSL_TLS_SNI
'pangaea-dev-orc-1.test.dataone.org'
apache.version
(2, 4, 18)
mod_wsgi.application_group
''
mod_wsgi.callable_object
'application'
mod_wsgi.daemon_connects
'1'
mod_wsgi.daemon_restarts
'0'
mod_wsgi.daemon_start
'1517869168900009'
mod_wsgi.enable_sendfile
'0'
mod_wsgi.handler_script
''
mod_wsgi.input_chunked
'0'
mod_wsgi.listener_host
''
mod_wsgi.listener_port
'443'
mod_wsgi.process_group
'gmn2'
mod_wsgi.queue_start
'1517869168899710'
mod_wsgi.request_handler
'wsgi-script'
mod_wsgi.request_start
'1517869168899364'
mod_wsgi.script_reloading
'1'
mod_wsgi.script_start
'1517869168900071'
mod_wsgi.version
(4, 3, 0)
wsgi.errors
<mod_wsgi.Log object at 0x7f53fad54c90>
wsgi.file_wrapper
''
wsgi.input
<mod_wsgi.Input object at 0x7f5400067870>
wsgi.multiprocess
True
wsgi.multithread
True
wsgi.run_once
False
wsgi.url_scheme
'https'
wsgi.version
(1, 0)
Settings
Using settings module d1_gmn.settings
Setting
Value
ABSOLUTE_URL_OVERRIDES
{}
ADMINS
(('My Name', 'my_address@my_email.tld'),)
ALLOWED_HOSTS
['localhost', '127.0.0.1']
APPEND_SLASH
True
AUTHENTICATION_BACKENDS
[u'django.contrib.auth.backends.ModelBackend']
AUTH_PASSWORD_VALIDATORS
u'********************'
AUTH_USER_MODEL
u'auth.User'
CACHES
{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}
CACHE_MIDDLEWARE_ALIAS
u'default'
CACHE_MIDDLEWARE_KEY_PREFIX
u'********************'
CACHE_MIDDLEWARE_SECONDS
600
CLIENT_CERT_PATH
'/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'
CLIENT_CERT_PRIVATE_KEY_PATH
u'********************'
CSRF_COOKIE_AGE
31449600
CSRF_COOKIE_DOMAIN
None
CSRF_COOKIE_HTTPONLY
False
CSRF_COOKIE_NAME
u'csrftoken'
CSRF_COOKIE_PATH
u'/'
CSRF_COOKIE_SECURE
False
CSRF_FAILURE_VIEW
u'django.views.csrf.csrf_failure'
CSRF_HEADER_NAME
u'HTTP_X_CSRFTOKEN'
CSRF_TRUSTED_ORIGINS
[]
CSRF_USE_SESSIONS
False
DATABASES
{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}
DATABASE_ROUTERS
[]
DATAONE_ROOT
'https://cn-sandbox.test.dataone.org/cn'
DATAONE_TRUSTED_SUBJECTS
set([])
DATA_UPLOAD_MAX_MEMORY_SIZE
2621440
DATA_UPLOAD_MAX_NUMBER_FIELDS
1000
DATETIME_FORMAT
u'N j, Y, P'
DATETIME_INPUT_FORMATS
[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']
DATE_FORMAT
u'N j, Y'
DATE_INPUT_FORMATS
[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']
DEBUG
True
DEBUG_ALLOW_INTEGRATION_TESTS
False
DEBUG_ECHO_REQUEST
False
DEBUG_GMN
True
DEBUG_PROFILE_SQL
False
DEBUG_PROPAGATE_EXCEPTIONS
False
DEBUG_PYCHARM
False
DEBUG_PYCHARM_BIN
'pycharm.sh'
DECIMAL_SEPARATOR
u'.'
DEFAULT_CHARSET
u'utf-8'
DEFAULT_CONTENT_TYPE
u'text/html'
DEFAULT_EXCEPTION_REPORTER_FILTER
u'django.views.debug.SafeExceptionReporterFilter'
DEFAULT_FILE_STORAGE
u'django.core.files.storage.FileSystemStorage'
DEFAULT_FROM_EMAIL
u'webmaster@localhost'
DEFAULT_INDEX_TABLESPACE
u''
DEFAULT_TABLESPACE
u''
DISALLOWED_USER_AGENTS
[]
EMAIL_BACKEND
u'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST
u'localhost'
EMAIL_HOST_PASSWORD
u'********************'
EMAIL_HOST_USER
u''
EMAIL_PORT
25
EMAIL_SSL_CERTFILE
None
EMAIL_SSL_KEYFILE
u'********************'
EMAIL_SUBJECT_PREFIX
u'[Django] '
EMAIL_TIMEOUT
None
EMAIL_USE_LOCALTIME
False
EMAIL_USE_SSL
False
EMAIL_USE_TLS
False
FILE_CHARSET
u'utf-8'
FILE_UPLOAD_DIRECTORY_PERMISSIONS
None
FILE_UPLOAD_HANDLERS
[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']
FILE_UPLOAD_MAX_MEMORY_SIZE
2621440
FILE_UPLOAD_PERMISSIONS
None
FILE_UPLOAD_TEMP_DIR
None
FIRST_DAY_OF_WEEK
0
FIXTURE_DIRS
[]
FORCE_SCRIPT_NAME
None
FORMAT_MODULE_PATH
None
FORM_RENDERER
u'django.forms.renderers.DjangoTemplates'
IGNORABLE_404_URLS
[]
INSTALLED_APPS
['django.contrib.staticfiles',
'd1_gmn.app',
'd1_gmn.app.startup.GMNStartupChecks']
INTERNAL_IPS
[]
LANGUAGES
[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]
LANGUAGES_BIDI
[u'he', u'ar', u'fa', u'ur']
LANGUAGE_CODE
'en-us'
LANGUAGE_COOKIE_AGE
None
LANGUAGE_COOKIE_DOMAIN
None
LANGUAGE_COOKIE_NAME
u'django_language'
LANGUAGE_COOKIE_PATH
u'/'
LOCALE_PATHS
[]
LOGGING
{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}
LOGGING_CONFIG
u'logging.config.dictConfig'
LOGIN_REDIRECT_URL
u'/accounts/profile/'
LOGIN_URL
u'/accounts/login/'
LOGOUT_REDIRECT_URL
None
LOG_LEVEL
'DEBUG'
LOG_PATH
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'
MANAGERS
[]
MAX_XML_DOCUMENT_SIZE
10485760
MEDIA_ROOT
u''
MEDIA_URL
''
MESSAGE_STORAGE
u'django.contrib.messages.storage.fallback.FallbackStorage'
MIDDLEWARE
None
MIDDLEWARE_CLASSES
('d1_gmn.app.middleware.request_handler.RequestHandler',
'd1_gmn.app.middleware.exception_handler.ExceptionHandler',
'd1_gmn.app.middleware.response_handler.ResponseHandler',
'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',
'd1_gmn.app.middleware.view_handler.ViewHandler')
MIGRATION_MODULES
{}
MONITOR
True
MONTH_DAY_FORMAT
u'F j'
NODE_BASEURL
'https://pangaea-dev-orc-1.test.dataone.org/mn'
NODE_CONTACT_SUBJECT
'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'
NODE_DESCRIPTION
'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'
NODE_IDENTIFIER
'urn:node:mnTestPANGAEA'
NODE_NAME
'Pangaea'
NODE_REPLICATE
False
NODE_STATE
'up'
NODE_SUBJECT
'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'
NODE_SYNCHRONIZE
True
NODE_SYNC_SCHEDULE_HOUR
'*'
NODE_SYNC_SCHEDULE_MINUTE
'42'
NODE_SYNC_SCHEDULE_MONTH
'*'
NODE_SYNC_SCHEDULE_MONTHDAY
'*'
NODE_SYNC_SCHEDULE_SECOND
'0'
NODE_SYNC_SCHEDULE_WEEKDAY
'?'
NODE_SYNC_SCHEDULE_YEAR
'*'
NUMBER_GROUPING
0
NUM_CHUNK_BYTES
1048576
OBJECT_STORE_PATH
'/var/local/dataone/gmn_object_store'
PASSWORD_HASHERS
u'********************'
PASSWORD_RESET_TIMEOUT_DAYS
u'********************'
PREPEND_WWW
False
PROXY_MODE_BASIC_AUTH_ENABLED
False
PROXY_MODE_BASIC_AUTH_PASSWORD
u'********************'
PROXY_MODE_BASIC_AUTH_USERNAME
''
PROXY_MODE_STREAM_TIMEOUT
30
PUBLIC_LOG_RECORDS
True
PUBLIC_OBJECT_LIST
True
REPLICATION_ALLOWEDNODE
()
REPLICATION_ALLOWEDOBJECTFORMAT
()
REPLICATION_ALLOW_ONLY_PUBLIC
False
REPLICATION_MAXOBJECTSIZE
-1
REPLICATION_MAX_ATTEMPTS
24
REPLICATION_SPACEALLOCATED
10737418240
REQUIRE_WHITELIST_FOR_UPDATE
True
ROOT_URLCONF
'd1_gmn.app.urls'
SECRET_KEY
u'********************'
SECURE_BROWSER_XSS_FILTER
False
SECURE_CONTENT_TYPE_NOSNIFF
False
SECURE_HSTS_INCLUDE_SUBDOMAINS
False
SECURE_HSTS_PRELOAD
False
SECURE_HSTS_SECONDS
0
SECURE_PROXY_SSL_HEADER
None
SECURE_REDIRECT_EXEMPT
[]
SECURE_SSL_HOST
None
SECURE_SSL_REDIRECT
False
SERVER_EMAIL
u'root@localhost'
SESSION_CACHE_ALIAS
u'default'
SESSION_COOKIE_AGE
1209600
SESSION_COOKIE_DOMAIN
None
SESSION_COOKIE_HTTPONLY
True
SESSION_COOKIE_NAME
u'sessionid'
SESSION_COOKIE_PATH
u'/'
SESSION_COOKIE_SECURE
True
SESSION_ENGINE
u'django.contrib.sessions.backends.db'
SESSION_EXPIRE_AT_BROWSER_CLOSE
False
SESSION_FILE_PATH
None
SESSION_SAVE_EVERY_REQUEST
False
SESSION_SERIALIZER
u'django.contrib.sessions.serializers.JSONSerializer'
SETTINGS_MODULE
'd1_gmn.settings'
SHORT_DATETIME_FORMAT
u'm/d/Y P'
SHORT_DATE_FORMAT
u'm/d/Y'
SIGNING_BACKEND
u'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS
[]
STAND_ALONE
False
STATICFILES_DIRS
[]
STATICFILES_FINDERS
[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']
STATICFILES_STORAGE
u'django.contrib.staticfiles.storage.StaticFilesStorage'
STATIC_ROOT
None
STATIC_URL
'/static/'
SYSMETA_REFRESH_MAX_ATTEMPTS
24
TEMPLATES
[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]
TEST_NON_SERIALIZED_APPS
[]
TEST_RUNNER
u'django.test.runner.DiscoverRunner'
THOUSAND_SEPARATOR
u','
TIME_FORMAT
u'P'
TIME_INPUT_FORMATS
[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']
TIME_ZONE
'UTC'
TRUST_CLIENT_AUTHORITATIVEMEMBERNODE
True
TRUST_CLIENT_DATESYSMETADATAMODIFIED
True
TRUST_CLIENT_DATEUPLOADED
True
TRUST_CLIENT_ORIGINMEMBERNODE
True
TRUST_CLIENT_SERIALVERSION
False
TRUST_CLIENT_SUBMITTER
True
USE_ETAGS
False
USE_I18N
False
USE_L10N
False
USE_THOUSAND_SEPARATOR
False
USE_TZ
False
USE_X_FORWARDED_HOST
False
USE_X_FORWARDED_PORT
False
WSGI_APPLICATION
None
X_FRAME_OPTIONS
u'SAMEORIGIN'
YEAR_MONTH_FORMAT
u'F Y'
You're seeing this error because you have DEBUG = True in your
Django settings file. Change that to False, and Django will
display a standard page generated by the handler for this status code.
[for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testPerson_CHANGE.15 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.testImplementations.AbstractAuthorizationTestImplementations.testIsAuthorized_AccessPolicy_is_testPerson_can_ChangePerm(AbstractAuthorizationTestImplementations.java:1338)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
testIsAuthorized_AccessPolicy_is_testGroup_can_Read(org.dataone.integration.it.apiTests.MNAuthorizationV2IT) Time elapsed: 84.179 sec <<< FAILURE!
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:
InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15
name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"
Request Method:
GET
Request URL:
https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15
Django Version:
1.11.6
Exception Type:
InvalidToken
Exception Value:
name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"
Exception Location:
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69
Python Executable:
/var/local/dataone/gmn_venv/bin/python
Python Version:
2.7.12
Python Path:
['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages']
Server time:
Mon, 5 Feb 2018 22:20:53 +0000
Traceback
Switch to copy-and-paste view
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner
This decorator is automatically applied to all middleware to ensure that
no middleware leaks an exception and that the next middleware in the stack
can rely on getting a response instead of an exception.
"""
@wraps(get_response, assigned=available_attrs(get_response))
def inner(request):
try:
response = get_response(request) ...
except Exception as exc:
response = response_for_exception(request, exc)
return response
return inner
▶ Local vars
Variable
Value
exc
InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"", identifier="None", nodeId="None", traceInformation="None")
get_response
<bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>>
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15'>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response
# Apply request middleware
for middleware_method in self._request_middleware:
response = middleware_method(request)
if response:
break
if response is None:
response = self._get_response(request) ...
return response
▶ Local vars
Variable
Value
middleware_method
<bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15'>
response
None
self
<_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response
resolver_match = resolver.resolve(request.path_info)
callback, callback_args, callback_kwargs = resolver_match
request.resolver_match = resolver_match
# Apply view middleware
for middleware_method in self._view_middleware:
response = middleware_method(request, callback, callback_args, callback_kwargs) ...
if response:
break
if response is None:
wrapped_callback = self.make_view_atomic(callback)
try:
▶ Local vars
Variable
Value
callback
<function get_meta at 0x7f53fb9d92a8>
callback_args
(u'TierTesting:pangaea-dev-orc-1:testGroup_READ.15',)
callback_kwargs
{}
middleware_method
<bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15'>
resolver
<RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>
resolver_match
ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'TierTesting:pangaea-dev-orc-1:testGroup_READ.15',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[])
response
None
self
<_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view
logging.info(
u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'
.format(
view_func.__name__, request.method, view_args, view_kwargs, request.path_info
)
)
# logging.debug(request.headers)
self.process_session(request) ...
def process_session(self, request):
# For simulating an HTTPS connection with client authentication when
# debugging via regular HTTP, two mechanisms are supported. (1) A full
# client side certificate can be included and (2) a list of subjects can be
# included. Both use vendor specific extensions (HTTP headers that start
▶ Local vars
Variable
Value
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15'>
self
<d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>
view_args
(u'TierTesting:pangaea-dev-orc-1:testGroup_READ.15',)
view_func
<function get_meta at 0x7f53fb9d92a8>
view_kwargs
{}
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session
# client side certificate can be included and (2) a list of subjects can be
# included. Both use vendor specific extensions (HTTP headers that start
# with the string "VENDOR_".) In some testing scenarios, it is convenient to
# submit lists of subjects without having to generate certificates. In other
# scenarios, it is desirable to simulate an HTTPS interaction as closely as
# possible by providing a complete certificate.
request.primary_subject_str, request.all_subjects_set = (
self.get_active_subject_set(request) ...
)
def get_active_subject_set(self, request):
"""Get a set containing all subjects for which the current connection has
been successfully authenticated
"""
▶ Local vars
Variable
Value
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15'>
self
<d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set
request.META['SSL_CLIENT_CERT'] = \
self.pem_in_http_header_to_pem_in_string(
request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])
# Add subjects from any provided certificate and JWT and store them in
# the Django request obj.
cert_primary_str, cert_equivalent_set = (
d1_gmn.app.middleware.session_cert.get_subjects(request) ...
)
jwt_subject_list = (
d1_gmn.app.middleware.session_jwt.
validate_jwt_and_get_subject_list(request)
)
primary_subject_str = cert_primary_str
▶ Local vars
Variable
Value
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15'>
self
<d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects
"""
if _is_certificate_provided(request):
try:
return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])
except Exception as e:
raise d1_common.types.exceptions.InvalidToken(
0,
u'Error extracting session from certificate. error="{}"'.format(str(e)) ...
)
else:
return d1_common.const.SUBJECT_PUBLIC, set()
def get_authenticated_subjects(cert_pem):
▶ Local vars
Variable
Value
e
InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15'>
Environment:
Request Method: GET
Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15
Django Version: 1.11.6
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles',
'd1_gmn.app',
'd1_gmn.app.startup.GMNStartupChecks']
Installed Middleware:
('d1_gmn.app.middleware.request_handler.RequestHandler',
'd1_gmn.app.middleware.exception_handler.ExceptionHandler',
'd1_gmn.app.middleware.response_handler.ResponseHandler',
'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',
'd1_gmn.app.middleware.view_handler.ViewHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
41. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py" in process_view
47. self.process_session(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py" in process_session
59. self.get_active_subject_set(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py" in get_active_subject_set
76. d1_gmn.app.middleware.session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"
Request information
USER
[unable to retrieve the current user]
GET
No GET data
POST
No POST data
FILES
No FILES data
COOKIES
No cookie data
META
Variable
Value
CONTEXT_DOCUMENT_ROOT
'/var/www/html'
CONTEXT_PREFIX
''
DOCUMENT_ROOT
'/var/www/html'
GATEWAY_INTERFACE
'CGI/1.1'
HTTP_ACCEPT_ENCODING
'gzip,deflate'
HTTP_CONNECTION
'Keep-Alive'
HTTP_HOST
'pangaea-dev-orc-1.test.dataone.org'
HTTP_USER_AGENT
'Apache-HttpClient/4.3.6 (java 1.5)'
HTTP_VIA
'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'
PATH_INFO
u'/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15'
PATH_TRANSLATED
'/var/www/html/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15'
QUERY_STRING
''
REMOTE_ADDR
'64.106.40.19'
REMOTE_PORT
'43744'
REQUEST_METHOD
'GET'
REQUEST_SCHEME
'https'
REQUEST_URI
'/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15'
SCRIPT_FILENAME
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'
SCRIPT_NAME
u'/mn'
SERVER_ADDR
'160.36.13.167'
SERVER_ADMIN
'email@monicaihli.com'
SERVER_NAME
'pangaea-dev-orc-1.test.dataone.org'
SERVER_PORT
'443'
SERVER_PROTOCOL
'HTTP/1.1'
SERVER_SIGNATURE
'<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\n'
SERVER_SOFTWARE
'Apache/2.4.18 (Ubuntu)'
SSL_CLIENT_CERT
'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'
SSL_SERVER_CERT
'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\n-----END CERTIFICATE-----\n'
SSL_TLS_SNI
'pangaea-dev-orc-1.test.dataone.org'
apache.version
(2, 4, 18)
mod_wsgi.application_group
''
mod_wsgi.callable_object
'application'
mod_wsgi.daemon_connects
'1'
mod_wsgi.daemon_restarts
'0'
mod_wsgi.daemon_start
'1517869253077220'
mod_wsgi.enable_sendfile
'0'
mod_wsgi.handler_script
''
mod_wsgi.input_chunked
'0'
mod_wsgi.listener_host
''
mod_wsgi.listener_port
'443'
mod_wsgi.process_group
'gmn2'
mod_wsgi.queue_start
'1517869253076936'
mod_wsgi.request_handler
'wsgi-script'
mod_wsgi.request_start
'1517869253076541'
mod_wsgi.script_reloading
'1'
mod_wsgi.script_start
'1517869253077291'
mod_wsgi.version
(4, 3, 0)
wsgi.errors
<mod_wsgi.Log object at 0x7f53fad2a6f0>
wsgi.file_wrapper
''
wsgi.input
<mod_wsgi.Input object at 0x7f5401145b30>
wsgi.multiprocess
True
wsgi.multithread
True
wsgi.run_once
False
wsgi.url_scheme
'https'
wsgi.version
(1, 0)
Settings
Using settings module d1_gmn.settings
Setting
Value
ABSOLUTE_URL_OVERRIDES
{}
ADMINS
(('My Name', 'my_address@my_email.tld'),)
ALLOWED_HOSTS
['localhost', '127.0.0.1']
APPEND_SLASH
True
AUTHENTICATION_BACKENDS
[u'django.contrib.auth.backends.ModelBackend']
AUTH_PASSWORD_VALIDATORS
u'********************'
AUTH_USER_MODEL
u'auth.User'
CACHES
{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}
CACHE_MIDDLEWARE_ALIAS
u'default'
CACHE_MIDDLEWARE_KEY_PREFIX
u'********************'
CACHE_MIDDLEWARE_SECONDS
600
CLIENT_CERT_PATH
'/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'
CLIENT_CERT_PRIVATE_KEY_PATH
u'********************'
CSRF_COOKIE_AGE
31449600
CSRF_COOKIE_DOMAIN
None
CSRF_COOKIE_HTTPONLY
False
CSRF_COOKIE_NAME
u'csrftoken'
CSRF_COOKIE_PATH
u'/'
CSRF_COOKIE_SECURE
False
CSRF_FAILURE_VIEW
u'django.views.csrf.csrf_failure'
CSRF_HEADER_NAME
u'HTTP_X_CSRFTOKEN'
CSRF_TRUSTED_ORIGINS
[]
CSRF_USE_SESSIONS
False
DATABASES
{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}
DATABASE_ROUTERS
[]
DATAONE_ROOT
'https://cn-sandbox.test.dataone.org/cn'
DATAONE_TRUSTED_SUBJECTS
set([])
DATA_UPLOAD_MAX_MEMORY_SIZE
2621440
DATA_UPLOAD_MAX_NUMBER_FIELDS
1000
DATETIME_FORMAT
u'N j, Y, P'
DATETIME_INPUT_FORMATS
[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']
DATE_FORMAT
u'N j, Y'
DATE_INPUT_FORMATS
[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']
DEBUG
True
DEBUG_ALLOW_INTEGRATION_TESTS
False
DEBUG_ECHO_REQUEST
False
DEBUG_GMN
True
DEBUG_PROFILE_SQL
False
DEBUG_PROPAGATE_EXCEPTIONS
False
DEBUG_PYCHARM
False
DEBUG_PYCHARM_BIN
'pycharm.sh'
DECIMAL_SEPARATOR
u'.'
DEFAULT_CHARSET
u'utf-8'
DEFAULT_CONTENT_TYPE
u'text/html'
DEFAULT_EXCEPTION_REPORTER_FILTER
u'django.views.debug.SafeExceptionReporterFilter'
DEFAULT_FILE_STORAGE
u'django.core.files.storage.FileSystemStorage'
DEFAULT_FROM_EMAIL
u'webmaster@localhost'
DEFAULT_INDEX_TABLESPACE
u''
DEFAULT_TABLESPACE
u''
DISALLOWED_USER_AGENTS
[]
EMAIL_BACKEND
u'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST
u'localhost'
EMAIL_HOST_PASSWORD
u'********************'
EMAIL_HOST_USER
u''
EMAIL_PORT
25
EMAIL_SSL_CERTFILE
None
EMAIL_SSL_KEYFILE
u'********************'
EMAIL_SUBJECT_PREFIX
u'[Django] '
EMAIL_TIMEOUT
None
EMAIL_USE_LOCALTIME
False
EMAIL_USE_SSL
False
EMAIL_USE_TLS
False
FILE_CHARSET
u'utf-8'
FILE_UPLOAD_DIRECTORY_PERMISSIONS
None
FILE_UPLOAD_HANDLERS
[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']
FILE_UPLOAD_MAX_MEMORY_SIZE
2621440
FILE_UPLOAD_PERMISSIONS
None
FILE_UPLOAD_TEMP_DIR
None
FIRST_DAY_OF_WEEK
0
FIXTURE_DIRS
[]
FORCE_SCRIPT_NAME
None
FORMAT_MODULE_PATH
None
FORM_RENDERER
u'django.forms.renderers.DjangoTemplates'
IGNORABLE_404_URLS
[]
INSTALLED_APPS
['django.contrib.staticfiles',
'd1_gmn.app',
'd1_gmn.app.startup.GMNStartupChecks']
INTERNAL_IPS
[]
LANGUAGES
[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]
LANGUAGES_BIDI
[u'he', u'ar', u'fa', u'ur']
LANGUAGE_CODE
'en-us'
LANGUAGE_COOKIE_AGE
None
LANGUAGE_COOKIE_DOMAIN
None
LANGUAGE_COOKIE_NAME
u'django_language'
LANGUAGE_COOKIE_PATH
u'/'
LOCALE_PATHS
[]
LOGGING
{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}
LOGGING_CONFIG
u'logging.config.dictConfig'
LOGIN_REDIRECT_URL
u'/accounts/profile/'
LOGIN_URL
u'/accounts/login/'
LOGOUT_REDIRECT_URL
None
LOG_LEVEL
'DEBUG'
LOG_PATH
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'
MANAGERS
[]
MAX_XML_DOCUMENT_SIZE
10485760
MEDIA_ROOT
u''
MEDIA_URL
''
MESSAGE_STORAGE
u'django.contrib.messages.storage.fallback.FallbackStorage'
MIDDLEWARE
None
MIDDLEWARE_CLASSES
('d1_gmn.app.middleware.request_handler.RequestHandler',
'd1_gmn.app.middleware.exception_handler.ExceptionHandler',
'd1_gmn.app.middleware.response_handler.ResponseHandler',
'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',
'd1_gmn.app.middleware.view_handler.ViewHandler')
MIGRATION_MODULES
{}
MONITOR
True
MONTH_DAY_FORMAT
u'F j'
NODE_BASEURL
'https://pangaea-dev-orc-1.test.dataone.org/mn'
NODE_CONTACT_SUBJECT
'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'
NODE_DESCRIPTION
'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'
NODE_IDENTIFIER
'urn:node:mnTestPANGAEA'
NODE_NAME
'Pangaea'
NODE_REPLICATE
False
NODE_STATE
'up'
NODE_SUBJECT
'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'
NODE_SYNCHRONIZE
True
NODE_SYNC_SCHEDULE_HOUR
'*'
NODE_SYNC_SCHEDULE_MINUTE
'42'
NODE_SYNC_SCHEDULE_MONTH
'*'
NODE_SYNC_SCHEDULE_MONTHDAY
'*'
NODE_SYNC_SCHEDULE_SECOND
'0'
NODE_SYNC_SCHEDULE_WEEKDAY
'?'
NODE_SYNC_SCHEDULE_YEAR
'*'
NUMBER_GROUPING
0
NUM_CHUNK_BYTES
1048576
OBJECT_STORE_PATH
'/var/local/dataone/gmn_object_store'
PASSWORD_HASHERS
u'********************'
PASSWORD_RESET_TIMEOUT_DAYS
u'********************'
PREPEND_WWW
False
PROXY_MODE_BASIC_AUTH_ENABLED
False
PROXY_MODE_BASIC_AUTH_PASSWORD
u'********************'
PROXY_MODE_BASIC_AUTH_USERNAME
''
PROXY_MODE_STREAM_TIMEOUT
30
PUBLIC_LOG_RECORDS
True
PUBLIC_OBJECT_LIST
True
REPLICATION_ALLOWEDNODE
()
REPLICATION_ALLOWEDOBJECTFORMAT
()
REPLICATION_ALLOW_ONLY_PUBLIC
False
REPLICATION_MAXOBJECTSIZE
-1
REPLICATION_MAX_ATTEMPTS
24
REPLICATION_SPACEALLOCATED
10737418240
REQUIRE_WHITELIST_FOR_UPDATE
True
ROOT_URLCONF
'd1_gmn.app.urls'
SECRET_KEY
u'********************'
SECURE_BROWSER_XSS_FILTER
False
SECURE_CONTENT_TYPE_NOSNIFF
False
SECURE_HSTS_INCLUDE_SUBDOMAINS
False
SECURE_HSTS_PRELOAD
False
SECURE_HSTS_SECONDS
0
SECURE_PROXY_SSL_HEADER
None
SECURE_REDIRECT_EXEMPT
[]
SECURE_SSL_HOST
None
SECURE_SSL_REDIRECT
False
SERVER_EMAIL
u'root@localhost'
SESSION_CACHE_ALIAS
u'default'
SESSION_COOKIE_AGE
1209600
SESSION_COOKIE_DOMAIN
None
SESSION_COOKIE_HTTPONLY
True
SESSION_COOKIE_NAME
u'sessionid'
SESSION_COOKIE_PATH
u'/'
SESSION_COOKIE_SECURE
True
SESSION_ENGINE
u'django.contrib.sessions.backends.db'
SESSION_EXPIRE_AT_BROWSER_CLOSE
False
SESSION_FILE_PATH
None
SESSION_SAVE_EVERY_REQUEST
False
SESSION_SERIALIZER
u'django.contrib.sessions.serializers.JSONSerializer'
SETTINGS_MODULE
'd1_gmn.settings'
SHORT_DATETIME_FORMAT
u'm/d/Y P'
SHORT_DATE_FORMAT
u'm/d/Y'
SIGNING_BACKEND
u'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS
[]
STAND_ALONE
False
STATICFILES_DIRS
[]
STATICFILES_FINDERS
[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']
STATICFILES_STORAGE
u'django.contrib.staticfiles.storage.StaticFilesStorage'
STATIC_ROOT
None
STATIC_URL
'/static/'
SYSMETA_REFRESH_MAX_ATTEMPTS
24
TEMPLATES
[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]
TEST_NON_SERIALIZED_APPS
[]
TEST_RUNNER
u'django.test.runner.DiscoverRunner'
THOUSAND_SEPARATOR
u','
TIME_FORMAT
u'P'
TIME_INPUT_FORMATS
[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']
TIME_ZONE
'UTC'
TRUST_CLIENT_AUTHORITATIVEMEMBERNODE
True
TRUST_CLIENT_DATESYSMETADATAMODIFIED
True
TRUST_CLIENT_DATEUPLOADED
True
TRUST_CLIENT_ORIGINMEMBERNODE
True
TRUST_CLIENT_SERIALVERSION
False
TRUST_CLIENT_SUBMITTER
True
USE_ETAGS
False
USE_I18N
False
USE_L10N
False
USE_THOUSAND_SEPARATOR
False
USE_TZ
False
USE_X_FORWARDED_HOST
False
USE_X_FORWARDED_PORT
False
WSGI_APPLICATION
None
X_FRAME_OPTIONS
u'SAMEORIGIN'
YEAR_MONTH_FORMAT
u'F Y'
You're seeing this error because you have DEBUG = True in your
Django settings file. Change that to False, and Django will
display a standard page generated by the handler for this status code.
[for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_READ.15 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.testImplementations.AbstractAuthorizationTestImplementations.testIsAuthorized_AccessPolicy_is_testGroup_can_Read(AbstractAuthorizationTestImplementations.java:1485)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
testIsAuthorized_AccessPolicy_is_testGroup_can_Write(org.dataone.integration.it.apiTests.MNAuthorizationV2IT) Time elapsed: 86.674 sec <<< FAILURE!
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:
InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15
name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"
Request Method:
GET
Request URL:
https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15
Django Version:
1.11.6
Exception Type:
InvalidToken
Exception Value:
name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"
Exception Location:
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69
Python Executable:
/var/local/dataone/gmn_venv/bin/python
Python Version:
2.7.12
Python Path:
['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages']
Server time:
Mon, 5 Feb 2018 22:22:19 +0000
Traceback
Switch to copy-and-paste view
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner
This decorator is automatically applied to all middleware to ensure that
no middleware leaks an exception and that the next middleware in the stack
can rely on getting a response instead of an exception.
"""
@wraps(get_response, assigned=available_attrs(get_response))
def inner(request):
try:
response = get_response(request) ...
except Exception as exc:
response = response_for_exception(request, exc)
return response
return inner
▶ Local vars
Variable
Value
exc
InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"", identifier="None", nodeId="None", traceInformation="None")
get_response
<bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15'>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response
# Apply request middleware
for middleware_method in self._request_middleware:
response = middleware_method(request)
if response:
break
if response is None:
response = self._get_response(request) ...
return response
▶ Local vars
Variable
Value
middleware_method
<bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15'>
response
None
self
<_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response
resolver_match = resolver.resolve(request.path_info)
callback, callback_args, callback_kwargs = resolver_match
request.resolver_match = resolver_match
# Apply view middleware
for middleware_method in self._view_middleware:
response = middleware_method(request, callback, callback_args, callback_kwargs) ...
if response:
break
if response is None:
wrapped_callback = self.make_view_atomic(callback)
try:
▶ Local vars
Variable
Value
callback
<function get_meta at 0x7f53fb9d92a8>
callback_args
(u'TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15',)
callback_kwargs
{}
middleware_method
<bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15'>
resolver
<RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>
resolver_match
ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[])
response
None
self
<_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view
logging.info(
u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'
.format(
view_func.__name__, request.method, view_args, view_kwargs, request.path_info
)
)
# logging.debug(request.headers)
self.process_session(request) ...
def process_session(self, request):
# For simulating an HTTPS connection with client authentication when
# debugging via regular HTTP, two mechanisms are supported. (1) A full
# client side certificate can be included and (2) a list of subjects can be
# included. Both use vendor specific extensions (HTTP headers that start
▶ Local vars
Variable
Value
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15'>
self
<d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>
view_args
(u'TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15',)
view_func
<function get_meta at 0x7f53fb9d92a8>
view_kwargs
{}
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session
# client side certificate can be included and (2) a list of subjects can be
# included. Both use vendor specific extensions (HTTP headers that start
# with the string "VENDOR_".) In some testing scenarios, it is convenient to
# submit lists of subjects without having to generate certificates. In other
# scenarios, it is desirable to simulate an HTTPS interaction as closely as
# possible by providing a complete certificate.
request.primary_subject_str, request.all_subjects_set = (
self.get_active_subject_set(request) ...
)
def get_active_subject_set(self, request):
"""Get a set containing all subjects for which the current connection has
been successfully authenticated
"""
▶ Local vars
Variable
Value
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15'>
self
<d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set
request.META['SSL_CLIENT_CERT'] = \
self.pem_in_http_header_to_pem_in_string(
request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])
# Add subjects from any provided certificate and JWT and store them in
# the Django request obj.
cert_primary_str, cert_equivalent_set = (
d1_gmn.app.middleware.session_cert.get_subjects(request) ...
)
jwt_subject_list = (
d1_gmn.app.middleware.session_jwt.
validate_jwt_and_get_subject_list(request)
)
primary_subject_str = cert_primary_str
▶ Local vars
Variable
Value
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15'>
self
<d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects
"""
if _is_certificate_provided(request):
try:
return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])
except Exception as e:
raise d1_common.types.exceptions.InvalidToken(
0,
u'Error extracting session from certificate. error="{}"'.format(str(e)) ...
)
else:
return d1_common.const.SUBJECT_PUBLIC, set()
def get_authenticated_subjects(cert_pem):
▶ Local vars
Variable
Value
e
InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15'>
Environment:
Request Method: GET
Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15
Django Version: 1.11.6
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles',
'd1_gmn.app',
'd1_gmn.app.startup.GMNStartupChecks']
Installed Middleware:
('d1_gmn.app.middleware.request_handler.RequestHandler',
'd1_gmn.app.middleware.exception_handler.ExceptionHandler',
'd1_gmn.app.middleware.response_handler.ResponseHandler',
'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',
'd1_gmn.app.middleware.view_handler.ViewHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
41. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py" in process_view
47. self.process_session(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py" in process_session
59. self.get_active_subject_set(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py" in get_active_subject_set
76. d1_gmn.app.middleware.session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"
Request information
USER
[unable to retrieve the current user]
GET
No GET data
POST
No POST data
FILES
No FILES data
COOKIES
No cookie data
META
Variable
Value
CONTEXT_DOCUMENT_ROOT
'/var/www/html'
CONTEXT_PREFIX
''
DOCUMENT_ROOT
'/var/www/html'
GATEWAY_INTERFACE
'CGI/1.1'
HTTP_ACCEPT_ENCODING
'gzip,deflate'
HTTP_CONNECTION
'Keep-Alive'
HTTP_HOST
'pangaea-dev-orc-1.test.dataone.org'
HTTP_USER_AGENT
'Apache-HttpClient/4.3.6 (java 1.5)'
HTTP_VIA
'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'
PATH_INFO
u'/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15'
PATH_TRANSLATED
'/var/www/html/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15'
QUERY_STRING
''
REMOTE_ADDR
'64.106.40.19'
REMOTE_PORT
'43881'
REQUEST_METHOD
'GET'
REQUEST_SCHEME
'https'
REQUEST_URI
'/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15'
SCRIPT_FILENAME
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'
SCRIPT_NAME
u'/mn'
SERVER_ADDR
'160.36.13.167'
SERVER_ADMIN
'email@monicaihli.com'
SERVER_NAME
'pangaea-dev-orc-1.test.dataone.org'
SERVER_PORT
'443'
SERVER_PROTOCOL
'HTTP/1.1'
SERVER_SIGNATURE
'<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\n'
SERVER_SOFTWARE
'Apache/2.4.18 (Ubuntu)'
SSL_CLIENT_CERT
'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'
SSL_SERVER_CERT
'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\n-----END CERTIFICATE-----\n'
SSL_TLS_SNI
'pangaea-dev-orc-1.test.dataone.org'
apache.version
(2, 4, 18)
mod_wsgi.application_group
''
mod_wsgi.callable_object
'application'
mod_wsgi.daemon_connects
'1'
mod_wsgi.daemon_restarts
'0'
mod_wsgi.daemon_start
'1517869339750035'
mod_wsgi.enable_sendfile
'0'
mod_wsgi.handler_script
''
mod_wsgi.input_chunked
'0'
mod_wsgi.listener_host
''
mod_wsgi.listener_port
'443'
mod_wsgi.process_group
'gmn2'
mod_wsgi.queue_start
'1517869339749793'
mod_wsgi.request_handler
'wsgi-script'
mod_wsgi.request_start
'1517869339749361'
mod_wsgi.script_reloading
'1'
mod_wsgi.script_start
'1517869339750103'
mod_wsgi.version
(4, 3, 0)
wsgi.errors
<mod_wsgi.Log object at 0x7f53fad54c90>
wsgi.file_wrapper
''
wsgi.input
<mod_wsgi.Input object at 0x7f5400067870>
wsgi.multiprocess
True
wsgi.multithread
True
wsgi.run_once
False
wsgi.url_scheme
'https'
wsgi.version
(1, 0)
Settings
Using settings module d1_gmn.settings
Setting
Value
ABSOLUTE_URL_OVERRIDES
{}
ADMINS
(('My Name', 'my_address@my_email.tld'),)
ALLOWED_HOSTS
['localhost', '127.0.0.1']
APPEND_SLASH
True
AUTHENTICATION_BACKENDS
[u'django.contrib.auth.backends.ModelBackend']
AUTH_PASSWORD_VALIDATORS
u'********************'
AUTH_USER_MODEL
u'auth.User'
CACHES
{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}
CACHE_MIDDLEWARE_ALIAS
u'default'
CACHE_MIDDLEWARE_KEY_PREFIX
u'********************'
CACHE_MIDDLEWARE_SECONDS
600
CLIENT_CERT_PATH
'/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'
CLIENT_CERT_PRIVATE_KEY_PATH
u'********************'
CSRF_COOKIE_AGE
31449600
CSRF_COOKIE_DOMAIN
None
CSRF_COOKIE_HTTPONLY
False
CSRF_COOKIE_NAME
u'csrftoken'
CSRF_COOKIE_PATH
u'/'
CSRF_COOKIE_SECURE
False
CSRF_FAILURE_VIEW
u'django.views.csrf.csrf_failure'
CSRF_HEADER_NAME
u'HTTP_X_CSRFTOKEN'
CSRF_TRUSTED_ORIGINS
[]
CSRF_USE_SESSIONS
False
DATABASES
{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}
DATABASE_ROUTERS
[]
DATAONE_ROOT
'https://cn-sandbox.test.dataone.org/cn'
DATAONE_TRUSTED_SUBJECTS
set([])
DATA_UPLOAD_MAX_MEMORY_SIZE
2621440
DATA_UPLOAD_MAX_NUMBER_FIELDS
1000
DATETIME_FORMAT
u'N j, Y, P'
DATETIME_INPUT_FORMATS
[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']
DATE_FORMAT
u'N j, Y'
DATE_INPUT_FORMATS
[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']
DEBUG
True
DEBUG_ALLOW_INTEGRATION_TESTS
False
DEBUG_ECHO_REQUEST
False
DEBUG_GMN
True
DEBUG_PROFILE_SQL
False
DEBUG_PROPAGATE_EXCEPTIONS
False
DEBUG_PYCHARM
False
DEBUG_PYCHARM_BIN
'pycharm.sh'
DECIMAL_SEPARATOR
u'.'
DEFAULT_CHARSET
u'utf-8'
DEFAULT_CONTENT_TYPE
u'text/html'
DEFAULT_EXCEPTION_REPORTER_FILTER
u'django.views.debug.SafeExceptionReporterFilter'
DEFAULT_FILE_STORAGE
u'django.core.files.storage.FileSystemStorage'
DEFAULT_FROM_EMAIL
u'webmaster@localhost'
DEFAULT_INDEX_TABLESPACE
u''
DEFAULT_TABLESPACE
u''
DISALLOWED_USER_AGENTS
[]
EMAIL_BACKEND
u'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST
u'localhost'
EMAIL_HOST_PASSWORD
u'********************'
EMAIL_HOST_USER
u''
EMAIL_PORT
25
EMAIL_SSL_CERTFILE
None
EMAIL_SSL_KEYFILE
u'********************'
EMAIL_SUBJECT_PREFIX
u'[Django] '
EMAIL_TIMEOUT
None
EMAIL_USE_LOCALTIME
False
EMAIL_USE_SSL
False
EMAIL_USE_TLS
False
FILE_CHARSET
u'utf-8'
FILE_UPLOAD_DIRECTORY_PERMISSIONS
None
FILE_UPLOAD_HANDLERS
[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']
FILE_UPLOAD_MAX_MEMORY_SIZE
2621440
FILE_UPLOAD_PERMISSIONS
None
FILE_UPLOAD_TEMP_DIR
None
FIRST_DAY_OF_WEEK
0
FIXTURE_DIRS
[]
FORCE_SCRIPT_NAME
None
FORMAT_MODULE_PATH
None
FORM_RENDERER
u'django.forms.renderers.DjangoTemplates'
IGNORABLE_404_URLS
[]
INSTALLED_APPS
['django.contrib.staticfiles',
'd1_gmn.app',
'd1_gmn.app.startup.GMNStartupChecks']
INTERNAL_IPS
[]
LANGUAGES
[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]
LANGUAGES_BIDI
[u'he', u'ar', u'fa', u'ur']
LANGUAGE_CODE
'en-us'
LANGUAGE_COOKIE_AGE
None
LANGUAGE_COOKIE_DOMAIN
None
LANGUAGE_COOKIE_NAME
u'django_language'
LANGUAGE_COOKIE_PATH
u'/'
LOCALE_PATHS
[]
LOGGING
{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}
LOGGING_CONFIG
u'logging.config.dictConfig'
LOGIN_REDIRECT_URL
u'/accounts/profile/'
LOGIN_URL
u'/accounts/login/'
LOGOUT_REDIRECT_URL
None
LOG_LEVEL
'DEBUG'
LOG_PATH
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'
MANAGERS
[]
MAX_XML_DOCUMENT_SIZE
10485760
MEDIA_ROOT
u''
MEDIA_URL
''
MESSAGE_STORAGE
u'django.contrib.messages.storage.fallback.FallbackStorage'
MIDDLEWARE
None
MIDDLEWARE_CLASSES
('d1_gmn.app.middleware.request_handler.RequestHandler',
'd1_gmn.app.middleware.exception_handler.ExceptionHandler',
'd1_gmn.app.middleware.response_handler.ResponseHandler',
'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',
'd1_gmn.app.middleware.view_handler.ViewHandler')
MIGRATION_MODULES
{}
MONITOR
True
MONTH_DAY_FORMAT
u'F j'
NODE_BASEURL
'https://pangaea-dev-orc-1.test.dataone.org/mn'
NODE_CONTACT_SUBJECT
'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'
NODE_DESCRIPTION
'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'
NODE_IDENTIFIER
'urn:node:mnTestPANGAEA'
NODE_NAME
'Pangaea'
NODE_REPLICATE
False
NODE_STATE
'up'
NODE_SUBJECT
'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'
NODE_SYNCHRONIZE
True
NODE_SYNC_SCHEDULE_HOUR
'*'
NODE_SYNC_SCHEDULE_MINUTE
'42'
NODE_SYNC_SCHEDULE_MONTH
'*'
NODE_SYNC_SCHEDULE_MONTHDAY
'*'
NODE_SYNC_SCHEDULE_SECOND
'0'
NODE_SYNC_SCHEDULE_WEEKDAY
'?'
NODE_SYNC_SCHEDULE_YEAR
'*'
NUMBER_GROUPING
0
NUM_CHUNK_BYTES
1048576
OBJECT_STORE_PATH
'/var/local/dataone/gmn_object_store'
PASSWORD_HASHERS
u'********************'
PASSWORD_RESET_TIMEOUT_DAYS
u'********************'
PREPEND_WWW
False
PROXY_MODE_BASIC_AUTH_ENABLED
False
PROXY_MODE_BASIC_AUTH_PASSWORD
u'********************'
PROXY_MODE_BASIC_AUTH_USERNAME
''
PROXY_MODE_STREAM_TIMEOUT
30
PUBLIC_LOG_RECORDS
True
PUBLIC_OBJECT_LIST
True
REPLICATION_ALLOWEDNODE
()
REPLICATION_ALLOWEDOBJECTFORMAT
()
REPLICATION_ALLOW_ONLY_PUBLIC
False
REPLICATION_MAXOBJECTSIZE
-1
REPLICATION_MAX_ATTEMPTS
24
REPLICATION_SPACEALLOCATED
10737418240
REQUIRE_WHITELIST_FOR_UPDATE
True
ROOT_URLCONF
'd1_gmn.app.urls'
SECRET_KEY
u'********************'
SECURE_BROWSER_XSS_FILTER
False
SECURE_CONTENT_TYPE_NOSNIFF
False
SECURE_HSTS_INCLUDE_SUBDOMAINS
False
SECURE_HSTS_PRELOAD
False
SECURE_HSTS_SECONDS
0
SECURE_PROXY_SSL_HEADER
None
SECURE_REDIRECT_EXEMPT
[]
SECURE_SSL_HOST
None
SECURE_SSL_REDIRECT
False
SERVER_EMAIL
u'root@localhost'
SESSION_CACHE_ALIAS
u'default'
SESSION_COOKIE_AGE
1209600
SESSION_COOKIE_DOMAIN
None
SESSION_COOKIE_HTTPONLY
True
SESSION_COOKIE_NAME
u'sessionid'
SESSION_COOKIE_PATH
u'/'
SESSION_COOKIE_SECURE
True
SESSION_ENGINE
u'django.contrib.sessions.backends.db'
SESSION_EXPIRE_AT_BROWSER_CLOSE
False
SESSION_FILE_PATH
None
SESSION_SAVE_EVERY_REQUEST
False
SESSION_SERIALIZER
u'django.contrib.sessions.serializers.JSONSerializer'
SETTINGS_MODULE
'd1_gmn.settings'
SHORT_DATETIME_FORMAT
u'm/d/Y P'
SHORT_DATE_FORMAT
u'm/d/Y'
SIGNING_BACKEND
u'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS
[]
STAND_ALONE
False
STATICFILES_DIRS
[]
STATICFILES_FINDERS
[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']
STATICFILES_STORAGE
u'django.contrib.staticfiles.storage.StaticFilesStorage'
STATIC_ROOT
None
STATIC_URL
'/static/'
SYSMETA_REFRESH_MAX_ATTEMPTS
24
TEMPLATES
[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]
TEST_NON_SERIALIZED_APPS
[]
TEST_RUNNER
u'django.test.runner.DiscoverRunner'
THOUSAND_SEPARATOR
u','
TIME_FORMAT
u'P'
TIME_INPUT_FORMATS
[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']
TIME_ZONE
'UTC'
TRUST_CLIENT_AUTHORITATIVEMEMBERNODE
True
TRUST_CLIENT_DATESYSMETADATAMODIFIED
True
TRUST_CLIENT_DATEUPLOADED
True
TRUST_CLIENT_ORIGINMEMBERNODE
True
TRUST_CLIENT_SERIALVERSION
False
TRUST_CLIENT_SUBMITTER
True
USE_ETAGS
False
USE_I18N
False
USE_L10N
False
USE_THOUSAND_SEPARATOR
False
USE_TZ
False
USE_X_FORWARDED_HOST
False
USE_X_FORWARDED_PORT
False
WSGI_APPLICATION
None
X_FRAME_OPTIONS
u'SAMEORIGIN'
YEAR_MONTH_FORMAT
u'F Y'
You're seeing this error because you have DEBUG = True in your
Django settings file. Change that to False, and Django will
display a standard page generated by the handler for this status code.
[for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_WRITE.15 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.testImplementations.AbstractAuthorizationTestImplementations.testIsAuthorized_AccessPolicy_is_testGroup_can_Write(AbstractAuthorizationTestImplementations.java:1632)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
testIsAuthorized_AccessPolicy_is_testGroup_can_ChangePerm(org.dataone.integration.it.apiTests.MNAuthorizationV2IT) Time elapsed: 4.828 sec <<< FAILURE!
java.lang.AssertionError: org.dataone.integration.TestIterationEndingException: the AccessRule of the returned object has either multiple subjects or multiple permissions [for host https://mn-sandbox-ucsb-1.test.dataone.org/knb/d1/mn ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.testImplementations.AbstractAuthorizationTestImplementations.testIsAuthorized_AccessPolicy_is_testGroup_can_ChangePerm(AbstractAuthorizationTestImplementations.java:1784)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
testIsAuthorized_AccessPolicy_is_testGroup_can_ChangePerm(org.dataone.integration.it.apiTests.MNAuthorizationV2IT) Time elapsed: 4.828 sec <<< FAILURE!
java.lang.AssertionError: org.dataone.integration.TestIterationEndingException: the AccessRule of the returned object has either multiple subjects or multiple permissions [for host https://mn-sandbox-ucsb-2.test.dataone.org/knb/d1/mn ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.testImplementations.AbstractAuthorizationTestImplementations.testIsAuthorized_AccessPolicy_is_testGroup_can_ChangePerm(AbstractAuthorizationTestImplementations.java:1784)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
testIsAuthorized_AccessPolicy_is_testGroup_can_ChangePerm(org.dataone.integration.it.apiTests.MNAuthorizationV2IT) Time elapsed: 4.829 sec <<< FAILURE!
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:
InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15
name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"
Request Method:
GET
Request URL:
https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15
Django Version:
1.11.6
Exception Type:
InvalidToken
Exception Value:
name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"
Exception Location:
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69
Python Executable:
/var/local/dataone/gmn_venv/bin/python
Python Version:
2.7.12
Python Path:
['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages']
Server time:
Mon, 5 Feb 2018 22:22:24 +0000
Traceback
Switch to copy-and-paste view
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner
This decorator is automatically applied to all middleware to ensure that
no middleware leaks an exception and that the next middleware in the stack
can rely on getting a response instead of an exception.
"""
@wraps(get_response, assigned=available_attrs(get_response))
def inner(request):
try:
response = get_response(request) ...
except Exception as exc:
response = response_for_exception(request, exc)
return response
return inner
▶ Local vars
Variable
Value
exc
InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"", identifier="None", nodeId="None", traceInformation="None")
get_response
<bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>>
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15'>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response
# Apply request middleware
for middleware_method in self._request_middleware:
response = middleware_method(request)
if response:
break
if response is None:
response = self._get_response(request) ...
return response
▶ Local vars
Variable
Value
middleware_method
<bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15'>
response
None
self
<_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response
resolver_match = resolver.resolve(request.path_info)
callback, callback_args, callback_kwargs = resolver_match
request.resolver_match = resolver_match
# Apply view middleware
for middleware_method in self._view_middleware:
response = middleware_method(request, callback, callback_args, callback_kwargs) ...
if response:
break
if response is None:
wrapped_callback = self.make_view_atomic(callback)
try:
▶ Local vars
Variable
Value
callback
<function get_meta at 0x7f53fb9d92a8>
callback_args
(u'TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15',)
callback_kwargs
{}
middleware_method
<bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15'>
resolver
<RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>
resolver_match
ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[])
response
None
self
<_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view
logging.info(
u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'
.format(
view_func.__name__, request.method, view_args, view_kwargs, request.path_info
)
)
# logging.debug(request.headers)
self.process_session(request) ...
def process_session(self, request):
# For simulating an HTTPS connection with client authentication when
# debugging via regular HTTP, two mechanisms are supported. (1) A full
# client side certificate can be included and (2) a list of subjects can be
# included. Both use vendor specific extensions (HTTP headers that start
▶ Local vars
Variable
Value
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15'>
self
<d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>
view_args
(u'TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15',)
view_func
<function get_meta at 0x7f53fb9d92a8>
view_kwargs
{}
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session
# client side certificate can be included and (2) a list of subjects can be
# included. Both use vendor specific extensions (HTTP headers that start
# with the string "VENDOR_".) In some testing scenarios, it is convenient to
# submit lists of subjects without having to generate certificates. In other
# scenarios, it is desirable to simulate an HTTPS interaction as closely as
# possible by providing a complete certificate.
request.primary_subject_str, request.all_subjects_set = (
self.get_active_subject_set(request) ...
)
def get_active_subject_set(self, request):
"""Get a set containing all subjects for which the current connection has
been successfully authenticated
"""
▶ Local vars
Variable
Value
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15'>
self
<d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set
request.META['SSL_CLIENT_CERT'] = \
self.pem_in_http_header_to_pem_in_string(
request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])
# Add subjects from any provided certificate and JWT and store them in
# the Django request obj.
cert_primary_str, cert_equivalent_set = (
d1_gmn.app.middleware.session_cert.get_subjects(request) ...
)
jwt_subject_list = (
d1_gmn.app.middleware.session_jwt.
validate_jwt_and_get_subject_list(request)
)
primary_subject_str = cert_primary_str
▶ Local vars
Variable
Value
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15'>
self
<d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects
"""
if _is_certificate_provided(request):
try:
return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])
except Exception as e:
raise d1_common.types.exceptions.InvalidToken(
0,
u'Error extracting session from certificate. error="{}"'.format(str(e)) ...
)
else:
return d1_common.const.SUBJECT_PUBLIC, set()
def get_authenticated_subjects(cert_pem):
▶ Local vars
Variable
Value
e
InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15'>
Environment:
Request Method: GET
Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15
Django Version: 1.11.6
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles',
'd1_gmn.app',
'd1_gmn.app.startup.GMNStartupChecks']
Installed Middleware:
('d1_gmn.app.middleware.request_handler.RequestHandler',
'd1_gmn.app.middleware.exception_handler.ExceptionHandler',
'd1_gmn.app.middleware.response_handler.ResponseHandler',
'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',
'd1_gmn.app.middleware.view_handler.ViewHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
41. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py" in process_view
47. self.process_session(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py" in process_session
59. self.get_active_subject_set(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py" in get_active_subject_set
76. d1_gmn.app.middleware.session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"
Request information
USER
[unable to retrieve the current user]
GET
No GET data
POST
No POST data
FILES
No FILES data
COOKIES
No cookie data
META
Variable
Value
CONTEXT_DOCUMENT_ROOT
'/var/www/html'
CONTEXT_PREFIX
''
DOCUMENT_ROOT
'/var/www/html'
GATEWAY_INTERFACE
'CGI/1.1'
HTTP_ACCEPT_ENCODING
'gzip,deflate'
HTTP_CONNECTION
'Keep-Alive'
HTTP_HOST
'pangaea-dev-orc-1.test.dataone.org'
HTTP_USER_AGENT
'Apache-HttpClient/4.3.6 (java 1.5)'
HTTP_VIA
'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'
PATH_INFO
u'/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15'
PATH_TRANSLATED
'/var/www/html/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15'
QUERY_STRING
''
REMOTE_ADDR
'64.106.40.19'
REMOTE_PORT
'43898'
REQUEST_METHOD
'GET'
REQUEST_SCHEME
'https'
REQUEST_URI
'/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15'
SCRIPT_FILENAME
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'
SCRIPT_NAME
u'/mn'
SERVER_ADDR
'160.36.13.167'
SERVER_ADMIN
'email@monicaihli.com'
SERVER_NAME
'pangaea-dev-orc-1.test.dataone.org'
SERVER_PORT
'443'
SERVER_PROTOCOL
'HTTP/1.1'
SERVER_SIGNATURE
'<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\n'
SERVER_SOFTWARE
'Apache/2.4.18 (Ubuntu)'
SSL_CLIENT_CERT
'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'
SSL_SERVER_CERT
'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\n-----END CERTIFICATE-----\n'
SSL_TLS_SNI
'pangaea-dev-orc-1.test.dataone.org'
apache.version
(2, 4, 18)
mod_wsgi.application_group
''
mod_wsgi.callable_object
'application'
mod_wsgi.daemon_connects
'1'
mod_wsgi.daemon_restarts
'0'
mod_wsgi.daemon_start
'1517869344581393'
mod_wsgi.enable_sendfile
'0'
mod_wsgi.handler_script
''
mod_wsgi.input_chunked
'0'
mod_wsgi.listener_host
''
mod_wsgi.listener_port
'443'
mod_wsgi.process_group
'gmn2'
mod_wsgi.queue_start
'1517869344581101'
mod_wsgi.request_handler
'wsgi-script'
mod_wsgi.request_start
'1517869344580757'
mod_wsgi.script_reloading
'1'
mod_wsgi.script_start
'1517869344581456'
mod_wsgi.version
(4, 3, 0)
wsgi.errors
<mod_wsgi.Log object at 0x7f53fad2a6f0>
wsgi.file_wrapper
''
wsgi.input
<mod_wsgi.Input object at 0x7f5401145b30>
wsgi.multiprocess
True
wsgi.multithread
True
wsgi.run_once
False
wsgi.url_scheme
'https'
wsgi.version
(1, 0)
Settings
Using settings module d1_gmn.settings
Setting
Value
ABSOLUTE_URL_OVERRIDES
{}
ADMINS
(('My Name', 'my_address@my_email.tld'),)
ALLOWED_HOSTS
['localhost', '127.0.0.1']
APPEND_SLASH
True
AUTHENTICATION_BACKENDS
[u'django.contrib.auth.backends.ModelBackend']
AUTH_PASSWORD_VALIDATORS
u'********************'
AUTH_USER_MODEL
u'auth.User'
CACHES
{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}
CACHE_MIDDLEWARE_ALIAS
u'default'
CACHE_MIDDLEWARE_KEY_PREFIX
u'********************'
CACHE_MIDDLEWARE_SECONDS
600
CLIENT_CERT_PATH
'/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'
CLIENT_CERT_PRIVATE_KEY_PATH
u'********************'
CSRF_COOKIE_AGE
31449600
CSRF_COOKIE_DOMAIN
None
CSRF_COOKIE_HTTPONLY
False
CSRF_COOKIE_NAME
u'csrftoken'
CSRF_COOKIE_PATH
u'/'
CSRF_COOKIE_SECURE
False
CSRF_FAILURE_VIEW
u'django.views.csrf.csrf_failure'
CSRF_HEADER_NAME
u'HTTP_X_CSRFTOKEN'
CSRF_TRUSTED_ORIGINS
[]
CSRF_USE_SESSIONS
False
DATABASES
{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}
DATABASE_ROUTERS
[]
DATAONE_ROOT
'https://cn-sandbox.test.dataone.org/cn'
DATAONE_TRUSTED_SUBJECTS
set([])
DATA_UPLOAD_MAX_MEMORY_SIZE
2621440
DATA_UPLOAD_MAX_NUMBER_FIELDS
1000
DATETIME_FORMAT
u'N j, Y, P'
DATETIME_INPUT_FORMATS
[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']
DATE_FORMAT
u'N j, Y'
DATE_INPUT_FORMATS
[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']
DEBUG
True
DEBUG_ALLOW_INTEGRATION_TESTS
False
DEBUG_ECHO_REQUEST
False
DEBUG_GMN
True
DEBUG_PROFILE_SQL
False
DEBUG_PROPAGATE_EXCEPTIONS
False
DEBUG_PYCHARM
False
DEBUG_PYCHARM_BIN
'pycharm.sh'
DECIMAL_SEPARATOR
u'.'
DEFAULT_CHARSET
u'utf-8'
DEFAULT_CONTENT_TYPE
u'text/html'
DEFAULT_EXCEPTION_REPORTER_FILTER
u'django.views.debug.SafeExceptionReporterFilter'
DEFAULT_FILE_STORAGE
u'django.core.files.storage.FileSystemStorage'
DEFAULT_FROM_EMAIL
u'webmaster@localhost'
DEFAULT_INDEX_TABLESPACE
u''
DEFAULT_TABLESPACE
u''
DISALLOWED_USER_AGENTS
[]
EMAIL_BACKEND
u'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST
u'localhost'
EMAIL_HOST_PASSWORD
u'********************'
EMAIL_HOST_USER
u''
EMAIL_PORT
25
EMAIL_SSL_CERTFILE
None
EMAIL_SSL_KEYFILE
u'********************'
EMAIL_SUBJECT_PREFIX
u'[Django] '
EMAIL_TIMEOUT
None
EMAIL_USE_LOCALTIME
False
EMAIL_USE_SSL
False
EMAIL_USE_TLS
False
FILE_CHARSET
u'utf-8'
FILE_UPLOAD_DIRECTORY_PERMISSIONS
None
FILE_UPLOAD_HANDLERS
[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']
FILE_UPLOAD_MAX_MEMORY_SIZE
2621440
FILE_UPLOAD_PERMISSIONS
None
FILE_UPLOAD_TEMP_DIR
None
FIRST_DAY_OF_WEEK
0
FIXTURE_DIRS
[]
FORCE_SCRIPT_NAME
None
FORMAT_MODULE_PATH
None
FORM_RENDERER
u'django.forms.renderers.DjangoTemplates'
IGNORABLE_404_URLS
[]
INSTALLED_APPS
['django.contrib.staticfiles',
'd1_gmn.app',
'd1_gmn.app.startup.GMNStartupChecks']
INTERNAL_IPS
[]
LANGUAGES
[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]
LANGUAGES_BIDI
[u'he', u'ar', u'fa', u'ur']
LANGUAGE_CODE
'en-us'
LANGUAGE_COOKIE_AGE
None
LANGUAGE_COOKIE_DOMAIN
None
LANGUAGE_COOKIE_NAME
u'django_language'
LANGUAGE_COOKIE_PATH
u'/'
LOCALE_PATHS
[]
LOGGING
{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}
LOGGING_CONFIG
u'logging.config.dictConfig'
LOGIN_REDIRECT_URL
u'/accounts/profile/'
LOGIN_URL
u'/accounts/login/'
LOGOUT_REDIRECT_URL
None
LOG_LEVEL
'DEBUG'
LOG_PATH
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'
MANAGERS
[]
MAX_XML_DOCUMENT_SIZE
10485760
MEDIA_ROOT
u''
MEDIA_URL
''
MESSAGE_STORAGE
u'django.contrib.messages.storage.fallback.FallbackStorage'
MIDDLEWARE
None
MIDDLEWARE_CLASSES
('d1_gmn.app.middleware.request_handler.RequestHandler',
'd1_gmn.app.middleware.exception_handler.ExceptionHandler',
'd1_gmn.app.middleware.response_handler.ResponseHandler',
'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',
'd1_gmn.app.middleware.view_handler.ViewHandler')
MIGRATION_MODULES
{}
MONITOR
True
MONTH_DAY_FORMAT
u'F j'
NODE_BASEURL
'https://pangaea-dev-orc-1.test.dataone.org/mn'
NODE_CONTACT_SUBJECT
'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'
NODE_DESCRIPTION
'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'
NODE_IDENTIFIER
'urn:node:mnTestPANGAEA'
NODE_NAME
'Pangaea'
NODE_REPLICATE
False
NODE_STATE
'up'
NODE_SUBJECT
'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'
NODE_SYNCHRONIZE
True
NODE_SYNC_SCHEDULE_HOUR
'*'
NODE_SYNC_SCHEDULE_MINUTE
'42'
NODE_SYNC_SCHEDULE_MONTH
'*'
NODE_SYNC_SCHEDULE_MONTHDAY
'*'
NODE_SYNC_SCHEDULE_SECOND
'0'
NODE_SYNC_SCHEDULE_WEEKDAY
'?'
NODE_SYNC_SCHEDULE_YEAR
'*'
NUMBER_GROUPING
0
NUM_CHUNK_BYTES
1048576
OBJECT_STORE_PATH
'/var/local/dataone/gmn_object_store'
PASSWORD_HASHERS
u'********************'
PASSWORD_RESET_TIMEOUT_DAYS
u'********************'
PREPEND_WWW
False
PROXY_MODE_BASIC_AUTH_ENABLED
False
PROXY_MODE_BASIC_AUTH_PASSWORD
u'********************'
PROXY_MODE_BASIC_AUTH_USERNAME
''
PROXY_MODE_STREAM_TIMEOUT
30
PUBLIC_LOG_RECORDS
True
PUBLIC_OBJECT_LIST
True
REPLICATION_ALLOWEDNODE
()
REPLICATION_ALLOWEDOBJECTFORMAT
()
REPLICATION_ALLOW_ONLY_PUBLIC
False
REPLICATION_MAXOBJECTSIZE
-1
REPLICATION_MAX_ATTEMPTS
24
REPLICATION_SPACEALLOCATED
10737418240
REQUIRE_WHITELIST_FOR_UPDATE
True
ROOT_URLCONF
'd1_gmn.app.urls'
SECRET_KEY
u'********************'
SECURE_BROWSER_XSS_FILTER
False
SECURE_CONTENT_TYPE_NOSNIFF
False
SECURE_HSTS_INCLUDE_SUBDOMAINS
False
SECURE_HSTS_PRELOAD
False
SECURE_HSTS_SECONDS
0
SECURE_PROXY_SSL_HEADER
None
SECURE_REDIRECT_EXEMPT
[]
SECURE_SSL_HOST
None
SECURE_SSL_REDIRECT
False
SERVER_EMAIL
u'root@localhost'
SESSION_CACHE_ALIAS
u'default'
SESSION_COOKIE_AGE
1209600
SESSION_COOKIE_DOMAIN
None
SESSION_COOKIE_HTTPONLY
True
SESSION_COOKIE_NAME
u'sessionid'
SESSION_COOKIE_PATH
u'/'
SESSION_COOKIE_SECURE
True
SESSION_ENGINE
u'django.contrib.sessions.backends.db'
SESSION_EXPIRE_AT_BROWSER_CLOSE
False
SESSION_FILE_PATH
None
SESSION_SAVE_EVERY_REQUEST
False
SESSION_SERIALIZER
u'django.contrib.sessions.serializers.JSONSerializer'
SETTINGS_MODULE
'd1_gmn.settings'
SHORT_DATETIME_FORMAT
u'm/d/Y P'
SHORT_DATE_FORMAT
u'm/d/Y'
SIGNING_BACKEND
u'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS
[]
STAND_ALONE
False
STATICFILES_DIRS
[]
STATICFILES_FINDERS
[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']
STATICFILES_STORAGE
u'django.contrib.staticfiles.storage.StaticFilesStorage'
STATIC_ROOT
None
STATIC_URL
'/static/'
SYSMETA_REFRESH_MAX_ATTEMPTS
24
TEMPLATES
[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]
TEST_NON_SERIALIZED_APPS
[]
TEST_RUNNER
u'django.test.runner.DiscoverRunner'
THOUSAND_SEPARATOR
u','
TIME_FORMAT
u'P'
TIME_INPUT_FORMATS
[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']
TIME_ZONE
'UTC'
TRUST_CLIENT_AUTHORITATIVEMEMBERNODE
True
TRUST_CLIENT_DATESYSMETADATAMODIFIED
True
TRUST_CLIENT_DATEUPLOADED
True
TRUST_CLIENT_ORIGINMEMBERNODE
True
TRUST_CLIENT_SERIALVERSION
False
TRUST_CLIENT_SUBMITTER
True
USE_ETAGS
False
USE_I18N
False
USE_L10N
False
USE_THOUSAND_SEPARATOR
False
USE_TZ
False
USE_X_FORWARDED_HOST
False
USE_X_FORWARDED_PORT
False
WSGI_APPLICATION
None
X_FRAME_OPTIONS
u'SAMEORIGIN'
YEAR_MONTH_FORMAT
u'F Y'
You're seeing this error because you have DEBUG = True in your
Django settings file. Change that to False, and Django will
display a standard page generated by the handler for this status code.
[for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:testGroup_CHANGE.15 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.testImplementations.AbstractAuthorizationTestImplementations.testIsAuthorized_AccessPolicy_is_testGroup_can_ChangePerm(AbstractAuthorizationTestImplementations.java:1778)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
testIsAuthorized_AccessPolicy_is_legacyAccount_can_Write(org.dataone.integration.it.apiTests.MNAuthorizationV2IT) Time elapsed: 86.825 sec <<< FAILURE!
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:
InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15
name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"
Request Method:
GET
Request URL:
https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15
Django Version:
1.11.6
Exception Type:
InvalidToken
Exception Value:
name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"
Exception Location:
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69
Python Executable:
/var/local/dataone/gmn_venv/bin/python
Python Version:
2.7.12
Python Path:
['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages']
Server time:
Mon, 5 Feb 2018 22:23:51 +0000
Traceback
Switch to copy-and-paste view
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner
This decorator is automatically applied to all middleware to ensure that
no middleware leaks an exception and that the next middleware in the stack
can rely on getting a response instead of an exception.
"""
@wraps(get_response, assigned=available_attrs(get_response))
def inner(request):
try:
response = get_response(request) ...
except Exception as exc:
response = response_for_exception(request, exc)
return response
return inner
▶ Local vars
Variable
Value
exc
InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"", identifier="None", nodeId="None", traceInformation="None")
get_response
<bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>>
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15'>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response
# Apply request middleware
for middleware_method in self._request_middleware:
response = middleware_method(request)
if response:
break
if response is None:
response = self._get_response(request) ...
return response
▶ Local vars
Variable
Value
middleware_method
<bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15'>
response
None
self
<_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response
resolver_match = resolver.resolve(request.path_info)
callback, callback_args, callback_kwargs = resolver_match
request.resolver_match = resolver_match
# Apply view middleware
for middleware_method in self._view_middleware:
response = middleware_method(request, callback, callback_args, callback_kwargs) ...
if response:
break
if response is None:
wrapped_callback = self.make_view_atomic(callback)
try:
▶ Local vars
Variable
Value
callback
<function get_meta at 0x7f53fb9d92a8>
callback_args
(u'TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15',)
callback_kwargs
{}
middleware_method
<bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15'>
resolver
<RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>
resolver_match
ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[])
response
None
self
<_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408327410>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view
logging.info(
u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'
.format(
view_func.__name__, request.method, view_args, view_kwargs, request.path_info
)
)
# logging.debug(request.headers)
self.process_session(request) ...
def process_session(self, request):
# For simulating an HTTPS connection with client authentication when
# debugging via regular HTTP, two mechanisms are supported. (1) A full
# client side certificate can be included and (2) a list of subjects can be
# included. Both use vendor specific extensions (HTTP headers that start
▶ Local vars
Variable
Value
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15'>
self
<d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>
view_args
(u'TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15',)
view_func
<function get_meta at 0x7f53fb9d92a8>
view_kwargs
{}
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session
# client side certificate can be included and (2) a list of subjects can be
# included. Both use vendor specific extensions (HTTP headers that start
# with the string "VENDOR_".) In some testing scenarios, it is convenient to
# submit lists of subjects without having to generate certificates. In other
# scenarios, it is desirable to simulate an HTTPS interaction as closely as
# possible by providing a complete certificate.
request.primary_subject_str, request.all_subjects_set = (
self.get_active_subject_set(request) ...
)
def get_active_subject_set(self, request):
"""Get a set containing all subjects for which the current connection has
been successfully authenticated
"""
▶ Local vars
Variable
Value
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15'>
self
<d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set
request.META['SSL_CLIENT_CERT'] = \
self.pem_in_http_header_to_pem_in_string(
request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])
# Add subjects from any provided certificate and JWT and store them in
# the Django request obj.
cert_primary_str, cert_equivalent_set = (
d1_gmn.app.middleware.session_cert.get_subjects(request) ...
)
jwt_subject_list = (
d1_gmn.app.middleware.session_jwt.
validate_jwt_and_get_subject_list(request)
)
primary_subject_str = cert_primary_str
▶ Local vars
Variable
Value
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15'>
self
<d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects
"""
if _is_certificate_provided(request):
try:
return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])
except Exception as e:
raise d1_common.types.exceptions.InvalidToken(
0,
u'Error extracting session from certificate. error="{}"'.format(str(e)) ...
)
else:
return d1_common.const.SUBJECT_PUBLIC, set()
def get_authenticated_subjects(cert_pem):
▶ Local vars
Variable
Value
e
InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15'>
Environment:
Request Method: GET
Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15
Django Version: 1.11.6
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles',
'd1_gmn.app',
'd1_gmn.app.startup.GMNStartupChecks']
Installed Middleware:
('d1_gmn.app.middleware.request_handler.RequestHandler',
'd1_gmn.app.middleware.exception_handler.ExceptionHandler',
'd1_gmn.app.middleware.response_handler.ResponseHandler',
'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',
'd1_gmn.app.middleware.view_handler.ViewHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
41. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py" in process_view
47. self.process_session(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py" in process_session
59. self.get_active_subject_set(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py" in get_active_subject_set
76. d1_gmn.app.middleware.session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"
Request information
USER
[unable to retrieve the current user]
GET
No GET data
POST
No POST data
FILES
No FILES data
COOKIES
No cookie data
META
Variable
Value
CONTEXT_DOCUMENT_ROOT
'/var/www/html'
CONTEXT_PREFIX
''
DOCUMENT_ROOT
'/var/www/html'
GATEWAY_INTERFACE
'CGI/1.1'
HTTP_ACCEPT_ENCODING
'gzip,deflate'
HTTP_CONNECTION
'Keep-Alive'
HTTP_HOST
'pangaea-dev-orc-1.test.dataone.org'
HTTP_USER_AGENT
'Apache-HttpClient/4.3.6 (java 1.5)'
HTTP_VIA
'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'
PATH_INFO
u'/v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15'
PATH_TRANSLATED
'/var/www/html/v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15'
QUERY_STRING
''
REMOTE_ADDR
'64.106.40.19'
REMOTE_PORT
'44084'
REQUEST_METHOD
'GET'
REQUEST_SCHEME
'https'
REQUEST_URI
'/mn/v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15'
SCRIPT_FILENAME
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'
SCRIPT_NAME
u'/mn'
SERVER_ADDR
'160.36.13.167'
SERVER_ADMIN
'email@monicaihli.com'
SERVER_NAME
'pangaea-dev-orc-1.test.dataone.org'
SERVER_PORT
'443'
SERVER_PROTOCOL
'HTTP/1.1'
SERVER_SIGNATURE
'<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\n'
SERVER_SOFTWARE
'Apache/2.4.18 (Ubuntu)'
SSL_CLIENT_CERT
'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'
SSL_SERVER_CERT
'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\n-----END CERTIFICATE-----\n'
SSL_TLS_SNI
'pangaea-dev-orc-1.test.dataone.org'
apache.version
(2, 4, 18)
mod_wsgi.application_group
''
mod_wsgi.callable_object
'application'
mod_wsgi.daemon_connects
'1'
mod_wsgi.daemon_restarts
'0'
mod_wsgi.daemon_start
'1517869431404113'
mod_wsgi.enable_sendfile
'0'
mod_wsgi.handler_script
''
mod_wsgi.input_chunked
'0'
mod_wsgi.listener_host
''
mod_wsgi.listener_port
'443'
mod_wsgi.process_group
'gmn2'
mod_wsgi.queue_start
'1517869431403803'
mod_wsgi.request_handler
'wsgi-script'
mod_wsgi.request_start
'1517869431403293'
mod_wsgi.script_reloading
'1'
mod_wsgi.script_start
'1517869431404187'
mod_wsgi.version
(4, 3, 0)
wsgi.errors
<mod_wsgi.Log object at 0x7f53fad2a6f0>
wsgi.file_wrapper
''
wsgi.input
<mod_wsgi.Input object at 0x7f5401145b30>
wsgi.multiprocess
True
wsgi.multithread
True
wsgi.run_once
False
wsgi.url_scheme
'https'
wsgi.version
(1, 0)
Settings
Using settings module d1_gmn.settings
Setting
Value
ABSOLUTE_URL_OVERRIDES
{}
ADMINS
(('My Name', 'my_address@my_email.tld'),)
ALLOWED_HOSTS
['localhost', '127.0.0.1']
APPEND_SLASH
True
AUTHENTICATION_BACKENDS
[u'django.contrib.auth.backends.ModelBackend']
AUTH_PASSWORD_VALIDATORS
u'********************'
AUTH_USER_MODEL
u'auth.User'
CACHES
{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}
CACHE_MIDDLEWARE_ALIAS
u'default'
CACHE_MIDDLEWARE_KEY_PREFIX
u'********************'
CACHE_MIDDLEWARE_SECONDS
600
CLIENT_CERT_PATH
'/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'
CLIENT_CERT_PRIVATE_KEY_PATH
u'********************'
CSRF_COOKIE_AGE
31449600
CSRF_COOKIE_DOMAIN
None
CSRF_COOKIE_HTTPONLY
False
CSRF_COOKIE_NAME
u'csrftoken'
CSRF_COOKIE_PATH
u'/'
CSRF_COOKIE_SECURE
False
CSRF_FAILURE_VIEW
u'django.views.csrf.csrf_failure'
CSRF_HEADER_NAME
u'HTTP_X_CSRFTOKEN'
CSRF_TRUSTED_ORIGINS
[]
CSRF_USE_SESSIONS
False
DATABASES
{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}
DATABASE_ROUTERS
[]
DATAONE_ROOT
'https://cn-sandbox.test.dataone.org/cn'
DATAONE_TRUSTED_SUBJECTS
set([])
DATA_UPLOAD_MAX_MEMORY_SIZE
2621440
DATA_UPLOAD_MAX_NUMBER_FIELDS
1000
DATETIME_FORMAT
u'N j, Y, P'
DATETIME_INPUT_FORMATS
[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']
DATE_FORMAT
u'N j, Y'
DATE_INPUT_FORMATS
[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']
DEBUG
True
DEBUG_ALLOW_INTEGRATION_TESTS
False
DEBUG_ECHO_REQUEST
False
DEBUG_GMN
True
DEBUG_PROFILE_SQL
False
DEBUG_PROPAGATE_EXCEPTIONS
False
DEBUG_PYCHARM
False
DEBUG_PYCHARM_BIN
'pycharm.sh'
DECIMAL_SEPARATOR
u'.'
DEFAULT_CHARSET
u'utf-8'
DEFAULT_CONTENT_TYPE
u'text/html'
DEFAULT_EXCEPTION_REPORTER_FILTER
u'django.views.debug.SafeExceptionReporterFilter'
DEFAULT_FILE_STORAGE
u'django.core.files.storage.FileSystemStorage'
DEFAULT_FROM_EMAIL
u'webmaster@localhost'
DEFAULT_INDEX_TABLESPACE
u''
DEFAULT_TABLESPACE
u''
DISALLOWED_USER_AGENTS
[]
EMAIL_BACKEND
u'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST
u'localhost'
EMAIL_HOST_PASSWORD
u'********************'
EMAIL_HOST_USER
u''
EMAIL_PORT
25
EMAIL_SSL_CERTFILE
None
EMAIL_SSL_KEYFILE
u'********************'
EMAIL_SUBJECT_PREFIX
u'[Django] '
EMAIL_TIMEOUT
None
EMAIL_USE_LOCALTIME
False
EMAIL_USE_SSL
False
EMAIL_USE_TLS
False
FILE_CHARSET
u'utf-8'
FILE_UPLOAD_DIRECTORY_PERMISSIONS
None
FILE_UPLOAD_HANDLERS
[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']
FILE_UPLOAD_MAX_MEMORY_SIZE
2621440
FILE_UPLOAD_PERMISSIONS
None
FILE_UPLOAD_TEMP_DIR
None
FIRST_DAY_OF_WEEK
0
FIXTURE_DIRS
[]
FORCE_SCRIPT_NAME
None
FORMAT_MODULE_PATH
None
FORM_RENDERER
u'django.forms.renderers.DjangoTemplates'
IGNORABLE_404_URLS
[]
INSTALLED_APPS
['django.contrib.staticfiles',
'd1_gmn.app',
'd1_gmn.app.startup.GMNStartupChecks']
INTERNAL_IPS
[]
LANGUAGES
[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]
LANGUAGES_BIDI
[u'he', u'ar', u'fa', u'ur']
LANGUAGE_CODE
'en-us'
LANGUAGE_COOKIE_AGE
None
LANGUAGE_COOKIE_DOMAIN
None
LANGUAGE_COOKIE_NAME
u'django_language'
LANGUAGE_COOKIE_PATH
u'/'
LOCALE_PATHS
[]
LOGGING
{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}
LOGGING_CONFIG
u'logging.config.dictConfig'
LOGIN_REDIRECT_URL
u'/accounts/profile/'
LOGIN_URL
u'/accounts/login/'
LOGOUT_REDIRECT_URL
None
LOG_LEVEL
'DEBUG'
LOG_PATH
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'
MANAGERS
[]
MAX_XML_DOCUMENT_SIZE
10485760
MEDIA_ROOT
u''
MEDIA_URL
''
MESSAGE_STORAGE
u'django.contrib.messages.storage.fallback.FallbackStorage'
MIDDLEWARE
None
MIDDLEWARE_CLASSES
('d1_gmn.app.middleware.request_handler.RequestHandler',
'd1_gmn.app.middleware.exception_handler.ExceptionHandler',
'd1_gmn.app.middleware.response_handler.ResponseHandler',
'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',
'd1_gmn.app.middleware.view_handler.ViewHandler')
MIGRATION_MODULES
{}
MONITOR
True
MONTH_DAY_FORMAT
u'F j'
NODE_BASEURL
'https://pangaea-dev-orc-1.test.dataone.org/mn'
NODE_CONTACT_SUBJECT
'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'
NODE_DESCRIPTION
'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'
NODE_IDENTIFIER
'urn:node:mnTestPANGAEA'
NODE_NAME
'Pangaea'
NODE_REPLICATE
False
NODE_STATE
'up'
NODE_SUBJECT
'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'
NODE_SYNCHRONIZE
True
NODE_SYNC_SCHEDULE_HOUR
'*'
NODE_SYNC_SCHEDULE_MINUTE
'42'
NODE_SYNC_SCHEDULE_MONTH
'*'
NODE_SYNC_SCHEDULE_MONTHDAY
'*'
NODE_SYNC_SCHEDULE_SECOND
'0'
NODE_SYNC_SCHEDULE_WEEKDAY
'?'
NODE_SYNC_SCHEDULE_YEAR
'*'
NUMBER_GROUPING
0
NUM_CHUNK_BYTES
1048576
OBJECT_STORE_PATH
'/var/local/dataone/gmn_object_store'
PASSWORD_HASHERS
u'********************'
PASSWORD_RESET_TIMEOUT_DAYS
u'********************'
PREPEND_WWW
False
PROXY_MODE_BASIC_AUTH_ENABLED
False
PROXY_MODE_BASIC_AUTH_PASSWORD
u'********************'
PROXY_MODE_BASIC_AUTH_USERNAME
''
PROXY_MODE_STREAM_TIMEOUT
30
PUBLIC_LOG_RECORDS
True
PUBLIC_OBJECT_LIST
True
REPLICATION_ALLOWEDNODE
()
REPLICATION_ALLOWEDOBJECTFORMAT
()
REPLICATION_ALLOW_ONLY_PUBLIC
False
REPLICATION_MAXOBJECTSIZE
-1
REPLICATION_MAX_ATTEMPTS
24
REPLICATION_SPACEALLOCATED
10737418240
REQUIRE_WHITELIST_FOR_UPDATE
True
ROOT_URLCONF
'd1_gmn.app.urls'
SECRET_KEY
u'********************'
SECURE_BROWSER_XSS_FILTER
False
SECURE_CONTENT_TYPE_NOSNIFF
False
SECURE_HSTS_INCLUDE_SUBDOMAINS
False
SECURE_HSTS_PRELOAD
False
SECURE_HSTS_SECONDS
0
SECURE_PROXY_SSL_HEADER
None
SECURE_REDIRECT_EXEMPT
[]
SECURE_SSL_HOST
None
SECURE_SSL_REDIRECT
False
SERVER_EMAIL
u'root@localhost'
SESSION_CACHE_ALIAS
u'default'
SESSION_COOKIE_AGE
1209600
SESSION_COOKIE_DOMAIN
None
SESSION_COOKIE_HTTPONLY
True
SESSION_COOKIE_NAME
u'sessionid'
SESSION_COOKIE_PATH
u'/'
SESSION_COOKIE_SECURE
True
SESSION_ENGINE
u'django.contrib.sessions.backends.db'
SESSION_EXPIRE_AT_BROWSER_CLOSE
False
SESSION_FILE_PATH
None
SESSION_SAVE_EVERY_REQUEST
False
SESSION_SERIALIZER
u'django.contrib.sessions.serializers.JSONSerializer'
SETTINGS_MODULE
'd1_gmn.settings'
SHORT_DATETIME_FORMAT
u'm/d/Y P'
SHORT_DATE_FORMAT
u'm/d/Y'
SIGNING_BACKEND
u'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS
[]
STAND_ALONE
False
STATICFILES_DIRS
[]
STATICFILES_FINDERS
[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']
STATICFILES_STORAGE
u'django.contrib.staticfiles.storage.StaticFilesStorage'
STATIC_ROOT
None
STATIC_URL
'/static/'
SYSMETA_REFRESH_MAX_ATTEMPTS
24
TEMPLATES
[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]
TEST_NON_SERIALIZED_APPS
[]
TEST_RUNNER
u'django.test.runner.DiscoverRunner'
THOUSAND_SEPARATOR
u','
TIME_FORMAT
u'P'
TIME_INPUT_FORMATS
[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']
TIME_ZONE
'UTC'
TRUST_CLIENT_AUTHORITATIVEMEMBERNODE
True
TRUST_CLIENT_DATESYSMETADATAMODIFIED
True
TRUST_CLIENT_DATEUPLOADED
True
TRUST_CLIENT_ORIGINMEMBERNODE
True
TRUST_CLIENT_SERIALVERSION
False
TRUST_CLIENT_SUBMITTER
True
USE_ETAGS
False
USE_I18N
False
USE_L10N
False
USE_THOUSAND_SEPARATOR
False
USE_TZ
False
USE_X_FORWARDED_HOST
False
USE_X_FORWARDED_PORT
False
WSGI_APPLICATION
None
X_FRAME_OPTIONS
u'SAMEORIGIN'
YEAR_MONTH_FORMAT
u'F Y'
You're seeing this error because you have DEBUG = True in your
Django settings file. Change that to False, and Django will
display a standard page generated by the handler for this status code.
[for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:legacyAcct_WRITE.15 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.testImplementations.AbstractAuthorizationTestImplementations.testIsAuthorized_AccessPolicy_is_legacyAccount_can_Write(AbstractAuthorizationTestImplementations.java:1923)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
testIsAuthorized_ComplicatedAccessPolicy(org.dataone.integration.it.apiTests.MNAuthorizationV2IT) Time elapsed: 19.222 sec <<< FAILURE!
java.lang.AssertionError: ServiceFailure: -1: 500: Internal Server Error: parser for deserializing HTML not written yet. Providing stripped-down html message body starting next line:
InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15
name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"
Request Method:
GET
Request URL:
https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15
Django Version:
1.11.6
Exception Type:
InvalidToken
Exception Value:
name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"
Exception Location:
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects, line 69
Python Executable:
/var/local/dataone/gmn_venv/bin/python
Python Version:
2.7.12
Python Path:
['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages']
Server time:
Mon, 5 Feb 2018 22:24:10 +0000
Traceback
Switch to copy-and-paste view
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py in inner
This decorator is automatically applied to all middleware to ensure that
no middleware leaks an exception and that the next middleware in the stack
can rely on getting a response instead of an exception.
"""
@wraps(get_response, assigned=available_attrs(get_response))
def inner(request):
try:
response = get_response(request) ...
except Exception as exc:
response = response_for_exception(request, exc)
return response
return inner
▶ Local vars
Variable
Value
exc
InvalidToken(errorCode="401", detailCode="0", description="Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"", identifier="None", nodeId="None", traceInformation="None")
get_response
<bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>>
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15'>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _legacy_get_response
# Apply request middleware
for middleware_method in self._request_middleware:
response = middleware_method(request)
if response:
break
if response is None:
response = self._get_response(request) ...
return response
▶ Local vars
Variable
Value
middleware_method
<bound method RequestHandler.process_request of <d1_gmn.app.middleware.request_handler.RequestHandler object at 0x7f5401195350>>
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15'>
response
None
self
<_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py in _get_response
resolver_match = resolver.resolve(request.path_info)
callback, callback_args, callback_kwargs = resolver_match
request.resolver_match = resolver_match
# Apply view middleware
for middleware_method in self._view_middleware:
response = middleware_method(request, callback, callback_args, callback_kwargs) ...
if response:
break
if response is None:
wrapped_callback = self.make_view_atomic(callback)
try:
▶ Local vars
Variable
Value
callback
<function get_meta at 0x7f53fb9d92a8>
callback_args
(u'TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15',)
callback_kwargs
{}
middleware_method
<bound method ViewHandler.process_view of <d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>>
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15'>
resolver
<RegexURLResolver 'd1_gmn.app.urls' (None:None) ^/>
resolver_match
ResolverMatch(func=d1_gmn.app.views.external.get_meta, args=(u'TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15',), kwargs={}, url_name=get_meta, app_names=[], namespaces=[])
response
None
self
<_mod_wsgi_f3e916cfa46d3529aa9d5eaf0de8f85e.D1WSGIHandler object at 0x7f5408329410>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_view
logging.info(
u'Calling view: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'
.format(
view_func.__name__, request.method, view_args, view_kwargs, request.path_info
)
)
# logging.debug(request.headers)
self.process_session(request) ...
def process_session(self, request):
# For simulating an HTTPS connection with client authentication when
# debugging via regular HTTP, two mechanisms are supported. (1) A full
# client side certificate can be included and (2) a list of subjects can be
# included. Both use vendor specific extensions (HTTP headers that start
▶ Local vars
Variable
Value
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15'>
self
<d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>
view_args
(u'TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15',)
view_func
<function get_meta at 0x7f53fb9d92a8>
view_kwargs
{}
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in process_session
# client side certificate can be included and (2) a list of subjects can be
# included. Both use vendor specific extensions (HTTP headers that start
# with the string "VENDOR_".) In some testing scenarios, it is convenient to
# submit lists of subjects without having to generate certificates. In other
# scenarios, it is desirable to simulate an HTTPS interaction as closely as
# possible by providing a complete certificate.
request.primary_subject_str, request.all_subjects_set = (
self.get_active_subject_set(request) ...
)
def get_active_subject_set(self, request):
"""Get a set containing all subjects for which the current connection has
been successfully authenticated
"""
▶ Local vars
Variable
Value
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15'>
self
<d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py in get_active_subject_set
request.META['SSL_CLIENT_CERT'] = \
self.pem_in_http_header_to_pem_in_string(
request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])
# Add subjects from any provided certificate and JWT and store them in
# the Django request obj.
cert_primary_str, cert_equivalent_set = (
d1_gmn.app.middleware.session_cert.get_subjects(request) ...
)
jwt_subject_list = (
d1_gmn.app.middleware.session_jwt.
validate_jwt_and_get_subject_list(request)
)
primary_subject_str = cert_primary_str
▶ Local vars
Variable
Value
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15'>
self
<d1_gmn.app.middleware.view_handler.ViewHandler object at 0x7f5400042990>
/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py in get_subjects
"""
if _is_certificate_provided(request):
try:
return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])
except Exception as e:
raise d1_common.types.exceptions.InvalidToken(
0,
u'Error extracting session from certificate. error="{}"'.format(str(e)) ...
)
else:
return d1_common.const.SUBJECT_PUBLIC, set()
def get_authenticated_subjects(cert_pem):
▶ Local vars
Variable
Value
e
InvalidToken(errorCode="401", detailCode="0", description="Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""", identifier="None", nodeId="None", traceInformation="None")
request
<D1WSGIRequest: GET '/mn/v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15'>
Environment:
Request Method: GET
Request URL: https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15
Django Version: 1.11.6
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles',
'd1_gmn.app',
'd1_gmn.app.startup.GMNStartupChecks']
Installed Middleware:
('d1_gmn.app.middleware.request_handler.RequestHandler',
'd1_gmn.app.middleware.exception_handler.ExceptionHandler',
'd1_gmn.app.middleware.response_handler.ResponseHandler',
'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',
'd1_gmn.app.middleware.view_handler.ViewHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
41. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py" in process_view
47. self.process_session(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py" in process_session
59. self.get_active_subject_set(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/view_handler.py" in get_active_subject_set
76. d1_gmn.app.middleware.session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Unable to deserialize XML to PyXB. error="Invalid non-element content at <unknown>[1:113]" xml="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>""
"
Request information
USER
[unable to retrieve the current user]
GET
No GET data
POST
No POST data
FILES
No FILES data
COOKIES
No cookie data
META
Variable
Value
CONTEXT_DOCUMENT_ROOT
'/var/www/html'
CONTEXT_PREFIX
''
DOCUMENT_ROOT
'/var/www/html'
GATEWAY_INTERFACE
'CGI/1.1'
HTTP_ACCEPT_ENCODING
'gzip,deflate'
HTTP_CONNECTION
'Keep-Alive'
HTTP_HOST
'pangaea-dev-orc-1.test.dataone.org'
HTTP_USER_AGENT
'Apache-HttpClient/4.3.6 (java 1.5)'
HTTP_VIA
'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'
PATH_INFO
u'/v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15'
PATH_TRANSLATED
'/var/www/html/v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15'
QUERY_STRING
''
REMOTE_ADDR
'64.106.40.19'
REMOTE_PORT
'44119'
REQUEST_METHOD
'GET'
REQUEST_SCHEME
'https'
REQUEST_URI
'/mn/v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15'
SCRIPT_FILENAME
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/d1_gmn/wsgi.py'
SCRIPT_NAME
u'/mn'
SERVER_ADDR
'160.36.13.167'
SERVER_ADMIN
'email@monicaihli.com'
SERVER_NAME
'pangaea-dev-orc-1.test.dataone.org'
SERVER_PORT
'443'
SERVER_PROTOCOL
'HTTP/1.1'
SERVER_SIGNATURE
'<address>Apache/2.4.18 (Ubuntu) Server at pangaea-dev-orc-1.test.dataone.org Port 443</address>\n'
SERVER_SOFTWARE
'Apache/2.4.18 (Ubuntu)'
SSL_CLIENT_CERT
'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'
SSL_SERVER_CERT
'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISBDWLQm4kWDEU0nlZbn/BZyG+MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODAxMTQyMzI5NDlaFw0x\nODA0MTQyMzI5NDlaMC0xKzApBgNVBAMTInBhbmdhZWEtZGV2LW9yYy0xLnRlc3Qu\nZGF0YW9uZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8VVzN\nfyPYsK+Tmewu8jGX5ErhZizzpFiSSR9V3OgUJ9dZfEwxf4Us7R8hEAh+fvgEAhOW\nhfDB0/GmdIpa275ta1KeI/oPJQ7DnGomlShnya5asu+Gp7jLVcVD8OftBY/mU4Dg\nC7+MsdCImtOU4t0vLCmpFgj5I7JtMpYO/eft6PAlMA30pqABJMgAYSoXUdfruXcm\nBHP7zjL0wJ9Jho3HsD6dYJ1nGVzvzuZGwI2TbI04yBrSKJkE4FMGm+R8/dQrWsM9\n77pzZ4WbvIWKdklo4EVhB/LHFt7Z3JDx37T334el7FdBA7+nBUIU6m3XaYvsciyd\n+G9GtQVMF4MaRF/NAgMBAAGjggIiMIICHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l\nBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE\nFDuBqWP/0fm7M3w8Q4sU84zXCLGfMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF\nZe/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au\naW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu\naW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wLQYDVR0RBCYwJIIicGFuZ2FlYS1kZXYt\nb3JjLTEudGVzdC5kYXRhb25lLm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQA4RL6VvVT1mwnpEo8r3LUTUhr/pB3IX3+0HEmPcW+0XVXKA2OB\nGH4N9fQGId0vBpPRFtSrKwsPMoudB82tvPadgcQSc2BKi96HVb7hd28B5z9J+/Tb\n4Y9g8xCIadwSPZ5kE9bdjgP+/AnesARsYdKpykc5r6h0onWm1SznH2MPUIEYE3wq\nLwUDvhdIoThBmF7I4MjXNmw9Aa+8ktqkDmTBAAl3x8xFSXmR+2iliA6fQHMUM4ci\n7tqTXjxOWYzAaLxvPqwli8G+26bZI7sjVMmzY7LuS4Pw9qo13FKYNqDtqMafvTSz\ni9nwPFfq38q8424Pty+4F/0QIc/GJviLHZUD\n-----END CERTIFICATE-----\n'
SSL_TLS_SNI
'pangaea-dev-orc-1.test.dataone.org'
apache.version
(2, 4, 18)
mod_wsgi.application_group
''
mod_wsgi.callable_object
'application'
mod_wsgi.daemon_connects
'1'
mod_wsgi.daemon_restarts
'0'
mod_wsgi.daemon_start
'1517869450623199'
mod_wsgi.enable_sendfile
'0'
mod_wsgi.handler_script
''
mod_wsgi.input_chunked
'0'
mod_wsgi.listener_host
''
mod_wsgi.listener_port
'443'
mod_wsgi.process_group
'gmn2'
mod_wsgi.queue_start
'1517869450622949'
mod_wsgi.request_handler
'wsgi-script'
mod_wsgi.request_start
'1517869450622596'
mod_wsgi.script_reloading
'1'
mod_wsgi.script_start
'1517869450623249'
mod_wsgi.version
(4, 3, 0)
wsgi.errors
<mod_wsgi.Log object at 0x7f53fad54c90>
wsgi.file_wrapper
''
wsgi.input
<mod_wsgi.Input object at 0x7f53fb05f6f0>
wsgi.multiprocess
True
wsgi.multithread
True
wsgi.run_once
False
wsgi.url_scheme
'https'
wsgi.version
(1, 0)
Settings
Using settings module d1_gmn.settings
Setting
Value
ABSOLUTE_URL_OVERRIDES
{}
ADMINS
(('My Name', 'my_address@my_email.tld'),)
ALLOWED_HOSTS
['localhost', '127.0.0.1']
APPEND_SLASH
True
AUTHENTICATION_BACKENDS
[u'django.contrib.auth.backends.ModelBackend']
AUTH_PASSWORD_VALIDATORS
u'********************'
AUTH_USER_MODEL
u'auth.User'
CACHES
{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}
CACHE_MIDDLEWARE_ALIAS
u'default'
CACHE_MIDDLEWARE_KEY_PREFIX
u'********************'
CACHE_MIDDLEWARE_SECONDS
600
CLIENT_CERT_PATH
'/var/local/dataone/certs/client/urn_node_mnTestPANGAEA-1.pem'
CLIENT_CERT_PRIVATE_KEY_PATH
u'********************'
CSRF_COOKIE_AGE
31449600
CSRF_COOKIE_DOMAIN
None
CSRF_COOKIE_HTTPONLY
False
CSRF_COOKIE_NAME
u'csrftoken'
CSRF_COOKIE_PATH
u'/'
CSRF_COOKIE_SECURE
False
CSRF_FAILURE_VIEW
u'django.views.csrf.csrf_failure'
CSRF_HEADER_NAME
u'HTTP_X_CSRFTOKEN'
CSRF_TRUSTED_ORIGINS
[]
CSRF_USE_SESSIONS
False
DATABASES
{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}
DATABASE_ROUTERS
[]
DATAONE_ROOT
'https://cn-sandbox.test.dataone.org/cn'
DATAONE_TRUSTED_SUBJECTS
set([])
DATA_UPLOAD_MAX_MEMORY_SIZE
2621440
DATA_UPLOAD_MAX_NUMBER_FIELDS
1000
DATETIME_FORMAT
u'N j, Y, P'
DATETIME_INPUT_FORMATS
[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']
DATE_FORMAT
u'N j, Y'
DATE_INPUT_FORMATS
[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']
DEBUG
True
DEBUG_ALLOW_INTEGRATION_TESTS
False
DEBUG_ECHO_REQUEST
False
DEBUG_GMN
True
DEBUG_PROFILE_SQL
False
DEBUG_PROPAGATE_EXCEPTIONS
False
DEBUG_PYCHARM
False
DEBUG_PYCHARM_BIN
'pycharm.sh'
DECIMAL_SEPARATOR
u'.'
DEFAULT_CHARSET
u'utf-8'
DEFAULT_CONTENT_TYPE
u'text/html'
DEFAULT_EXCEPTION_REPORTER_FILTER
u'django.views.debug.SafeExceptionReporterFilter'
DEFAULT_FILE_STORAGE
u'django.core.files.storage.FileSystemStorage'
DEFAULT_FROM_EMAIL
u'webmaster@localhost'
DEFAULT_INDEX_TABLESPACE
u''
DEFAULT_TABLESPACE
u''
DISALLOWED_USER_AGENTS
[]
EMAIL_BACKEND
u'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST
u'localhost'
EMAIL_HOST_PASSWORD
u'********************'
EMAIL_HOST_USER
u''
EMAIL_PORT
25
EMAIL_SSL_CERTFILE
None
EMAIL_SSL_KEYFILE
u'********************'
EMAIL_SUBJECT_PREFIX
u'[Django] '
EMAIL_TIMEOUT
None
EMAIL_USE_LOCALTIME
False
EMAIL_USE_SSL
False
EMAIL_USE_TLS
False
FILE_CHARSET
u'utf-8'
FILE_UPLOAD_DIRECTORY_PERMISSIONS
None
FILE_UPLOAD_HANDLERS
[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']
FILE_UPLOAD_MAX_MEMORY_SIZE
2621440
FILE_UPLOAD_PERMISSIONS
None
FILE_UPLOAD_TEMP_DIR
None
FIRST_DAY_OF_WEEK
0
FIXTURE_DIRS
[]
FORCE_SCRIPT_NAME
None
FORMAT_MODULE_PATH
None
FORM_RENDERER
u'django.forms.renderers.DjangoTemplates'
IGNORABLE_404_URLS
[]
INSTALLED_APPS
['django.contrib.staticfiles',
'd1_gmn.app',
'd1_gmn.app.startup.GMNStartupChecks']
INTERNAL_IPS
[]
LANGUAGES
[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]
LANGUAGES_BIDI
[u'he', u'ar', u'fa', u'ur']
LANGUAGE_CODE
'en-us'
LANGUAGE_COOKIE_AGE
None
LANGUAGE_COOKIE_DOMAIN
None
LANGUAGE_COOKIE_NAME
u'django_language'
LANGUAGE_COOKIE_PATH
u'/'
LOCALE_PATHS
[]
LOGGING
{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}
LOGGING_CONFIG
u'logging.config.dictConfig'
LOGIN_REDIRECT_URL
u'/accounts/profile/'
LOGIN_URL
u'/accounts/login/'
LOGOUT_REDIRECT_URL
None
LOG_LEVEL
'DEBUG'
LOG_PATH
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/gmn.log'
MANAGERS
[]
MAX_XML_DOCUMENT_SIZE
10485760
MEDIA_ROOT
u''
MEDIA_URL
''
MESSAGE_STORAGE
u'django.contrib.messages.storage.fallback.FallbackStorage'
MIDDLEWARE
None
MIDDLEWARE_CLASSES
('d1_gmn.app.middleware.request_handler.RequestHandler',
'd1_gmn.app.middleware.exception_handler.ExceptionHandler',
'd1_gmn.app.middleware.response_handler.ResponseHandler',
'd1_gmn.app.middleware.profiling_handler.ProfilingHandler',
'd1_gmn.app.middleware.view_handler.ViewHandler')
MIGRATION_MODULES
{}
MONITOR
True
MONTH_DAY_FORMAT
u'F j'
NODE_BASEURL
'https://pangaea-dev-orc-1.test.dataone.org/mn'
NODE_CONTACT_SUBJECT
'CN=M I A213106, O=Google, C=US, DC=cilogon, DC=org'
NODE_DESCRIPTION
'PANGAEA is an Open Access library aimed at archiving, publishing and distributing georeferenced data from earth system research.'
NODE_IDENTIFIER
'urn:node:mnTestPANGAEA'
NODE_NAME
'Pangaea'
NODE_REPLICATE
False
NODE_STATE
'up'
NODE_SUBJECT
'CN=urn:node:mnTestPANGAEA,DC=dataone,DC=org'
NODE_SYNCHRONIZE
True
NODE_SYNC_SCHEDULE_HOUR
'*'
NODE_SYNC_SCHEDULE_MINUTE
'42'
NODE_SYNC_SCHEDULE_MONTH
'*'
NODE_SYNC_SCHEDULE_MONTHDAY
'*'
NODE_SYNC_SCHEDULE_SECOND
'0'
NODE_SYNC_SCHEDULE_WEEKDAY
'?'
NODE_SYNC_SCHEDULE_YEAR
'*'
NUMBER_GROUPING
0
NUM_CHUNK_BYTES
1048576
OBJECT_STORE_PATH
'/var/local/dataone/gmn_object_store'
PASSWORD_HASHERS
u'********************'
PASSWORD_RESET_TIMEOUT_DAYS
u'********************'
PREPEND_WWW
False
PROXY_MODE_BASIC_AUTH_ENABLED
False
PROXY_MODE_BASIC_AUTH_PASSWORD
u'********************'
PROXY_MODE_BASIC_AUTH_USERNAME
''
PROXY_MODE_STREAM_TIMEOUT
30
PUBLIC_LOG_RECORDS
True
PUBLIC_OBJECT_LIST
True
REPLICATION_ALLOWEDNODE
()
REPLICATION_ALLOWEDOBJECTFORMAT
()
REPLICATION_ALLOW_ONLY_PUBLIC
False
REPLICATION_MAXOBJECTSIZE
-1
REPLICATION_MAX_ATTEMPTS
24
REPLICATION_SPACEALLOCATED
10737418240
REQUIRE_WHITELIST_FOR_UPDATE
True
ROOT_URLCONF
'd1_gmn.app.urls'
SECRET_KEY
u'********************'
SECURE_BROWSER_XSS_FILTER
False
SECURE_CONTENT_TYPE_NOSNIFF
False
SECURE_HSTS_INCLUDE_SUBDOMAINS
False
SECURE_HSTS_PRELOAD
False
SECURE_HSTS_SECONDS
0
SECURE_PROXY_SSL_HEADER
None
SECURE_REDIRECT_EXEMPT
[]
SECURE_SSL_HOST
None
SECURE_SSL_REDIRECT
False
SERVER_EMAIL
u'root@localhost'
SESSION_CACHE_ALIAS
u'default'
SESSION_COOKIE_AGE
1209600
SESSION_COOKIE_DOMAIN
None
SESSION_COOKIE_HTTPONLY
True
SESSION_COOKIE_NAME
u'sessionid'
SESSION_COOKIE_PATH
u'/'
SESSION_COOKIE_SECURE
True
SESSION_ENGINE
u'django.contrib.sessions.backends.db'
SESSION_EXPIRE_AT_BROWSER_CLOSE
False
SESSION_FILE_PATH
None
SESSION_SAVE_EVERY_REQUEST
False
SESSION_SERIALIZER
u'django.contrib.sessions.serializers.JSONSerializer'
SETTINGS_MODULE
'd1_gmn.settings'
SHORT_DATETIME_FORMAT
u'm/d/Y P'
SHORT_DATE_FORMAT
u'm/d/Y'
SIGNING_BACKEND
u'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS
[]
STAND_ALONE
False
STATICFILES_DIRS
[]
STATICFILES_FINDERS
[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']
STATICFILES_STORAGE
u'django.contrib.staticfiles.storage.StaticFilesStorage'
STATIC_ROOT
None
STATIC_URL
'/static/'
SYSMETA_REFRESH_MAX_ATTEMPTS
24
TEMPLATES
[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/d1_gmn/app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]
TEST_NON_SERIALIZED_APPS
[]
TEST_RUNNER
u'django.test.runner.DiscoverRunner'
THOUSAND_SEPARATOR
u','
TIME_FORMAT
u'P'
TIME_INPUT_FORMATS
[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']
TIME_ZONE
'UTC'
TRUST_CLIENT_AUTHORITATIVEMEMBERNODE
True
TRUST_CLIENT_DATESYSMETADATAMODIFIED
True
TRUST_CLIENT_DATEUPLOADED
True
TRUST_CLIENT_ORIGINMEMBERNODE
True
TRUST_CLIENT_SERIALVERSION
False
TRUST_CLIENT_SUBMITTER
True
USE_ETAGS
False
USE_I18N
False
USE_L10N
False
USE_THOUSAND_SEPARATOR
False
USE_TZ
False
USE_X_FORWARDED_HOST
False
USE_X_FORWARDED_PORT
False
WSGI_APPLICATION
None
X_FRAME_OPTIONS
u'SAMEORIGIN'
YEAR_MONTH_FORMAT
u'F Y'
You're seeing this error because you have DEBUG = True in your
Django settings file. Change that to False, and Django will
display a standard page generated by the handler for this status code.
[for host GET https://pangaea-dev-orc-1.test.dataone.org/mn/v2/meta/TierTesting:pangaea-dev-orc-1:ComplicatedPolicy.15 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.testImplementations.AbstractAuthorizationTestImplementations.testIsAuthorized_ComplicatedAccessPolicy(AbstractAuthorizationTestImplementations.java:2059)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)