Closed Bug 794000 Opened 12 years ago Closed 12 years ago

ValueError: No JSON object could be decoded

Categories

(Marketplace Graveyard :: General, defect)

x86
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: tarek, Assigned: tarek)

References

Details

test_invalid_signature (zamboni.mkt.receipts.tests.test_verify.TestVerify) ... 12:23:11 jwt:DEBUG Could not decode a segment :/home/marketplace/.virtualenvs/marketplace/src/pyjwt/jwt/__init__.py:101 Traceback (most recent call last): File "/home/marketplace/.virtualenvs/marketplace/src/pyjwt/jwt/__init__.py", line 96, in decode header = json.loads(base64url_decode(header_segment)) File "/usr/lib/python2.7/json/__init__.py", line 326, in loads return _default_decoder.decode(s) File "/usr/lib/python2.7/json/decoder.py", line 366, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "/usr/lib/python2.7/json/decoder.py", line 384, in raw_decode raise ValueError("No JSON object could be decoded") ValueError: No JSON object could be decoded ok
the sample at https://github.com/mozilla/zamboni/blob/master/mkt/receipts/tests/test_verify.py#L34 cannot be parsed by jwt. it looks like an invalid payload
turns out the mock was active on the right settings module. and the services/util.py module makes teh assumption the settings file is name settings_local.py, which is not our case if we run the tests using settings+local_mkt this fix seems to work, but I wonder if it's the cleanest way Wil, r? (marketplace)marketplace@ubuntu:~/zamboni$ git diff /home/marketplace/zamboni/services/utils.py diff --git a/services/utils.py b/services/utils.py index 2951967..e43cd60 100644 --- a/services/utils.py +++ b/services/utils.py @@ -1,7 +1,14 @@ from datetime import datetime, timedelta import dictconfig import logging -import settings_local as settings +import os + +# get the right settings module +import imp +settingmodule = os.environ['DJANGO_SETTINGS_MODULE'] +res = imp.find_module(settingmodule) +settings = imp.load_module(settingmodule, *res) + import posixpath import re import sys @@ -14,7 +21,6 @@ from django.core.management import setup_environ import commonware.log # Pyflakes will complain about these, but they are required for setup. -import settings_local as settings setup_environ(settings) from lib.log_settings_base import formatters, handlers, loggers
Assignee: nobody → tarek
r+
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.