This repository was archived by the owner on Dec 17, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
This repository was archived by the owner on Dec 17, 2024. It is now read-only.
WrongStatus object has no attribute 'code' #3
Copy link
Copy link
Open
Labels
Description
Error 500 when requesting unnamed tags and tag provider was missconfigured.
Steps to reproduce the issue
- Configure devicehub-teal to use an invalid tag_provider (e.g. http://example.org)
devicehub_testing=# SELECT id, tag_provider FROM common.inventory;
id | tag_provider
-----------+--------------------------------
testdb00 | http://example.com
2A. Go to DeviceHubClient > Tags > Create unnamed empty tags > choose a number (e.g. 2)
2B. Perform following request to devicehub-teal POST https://api.testing.usody.com/usodybeta/tags/?num=1
3A. On DeviceHubClient you will get the following error:
{"code":500,"message":"'WrongStatus' object has no attribute 'code'","type":"AttributeError"}3B. On devicehub-teal:
ERROR in app: Exception on /tags/ [POST]
Traceback (most recent call last):
File "/venv/lib/python3.7/site-packages/flask/app.py", line 2292, in wsgi_app
response = self.full_dispatch_request()
File "/venv/lib/python3.7/site-packages/flask/app.py", line 1815, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/venv/lib/python3.7/site-packages/flask_cors/extension.py", line 161, in wrapped_function
return cors_after_request(app.make_response(f(*args, **kwargs)))
File "/venv/lib/python3.7/site-packages/flask/app.py", line 1718, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/venv/lib/python3.7/site-packages/flask/_compat.py", line 35, in reraise
raise value
File "/venv/lib/python3.7/site-packages/flask/app.py", line 1813, in full_dispatch_request
rv = self.dispatch_request()
File "/venv/lib/python3.7/site-packages/flask/app.py", line 1799, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/venv/lib/python3.7/site-packages/flask/views.py", line 88, in view
return self.dispatch_request(*args, **kwargs)
File "/venv/lib/python3.7/site-packages/teal/resource.py", line 189, in dispatch_request
return super().dispatch_request(*args, **kwargs)
File "/venv/lib/python3.7/site-packages/flask/views.py", line 158, in dispatch_request
return meth(*args, **kwargs)
File "/venv/lib/python3.7/site-packages/teal/auth.py", line 44, in decorated
return f(*args, **kwargs)
File "/devicehub/ereuse_devicehub/resources/tag/view.py", line 19, in post
res = self._create_many_regular_tags(num)
File "/devicehub/ereuse_devicehub/resources/tag/view.py", line 36, in _create_many_regular_tags
tags_id, _ = g.tag_provider.post('/', {}, query=[('num', num)])
File "/venv/lib/python3.7/site-packages/ereuse_utils/session.py", line 152, in post
token=token, **kwargs)
File "/venv/lib/python3.7/site-packages/requests/sessions.py", line 559, in post
return self.request('POST', url, data=data, json=json, **kwargs)
File "/venv/lib/python3.7/site-packages/ereuse_utils/session.py", line 229, in request
.format(url, response.status_code, _status))
ereuse_utils.session.WrongStatus: Req to /?num=1 failed bc the status is 200 but it should have been 201Expected behaviour
devicehub-teal error should be properly propagated to DeviceHubClient (e.g. WrongStatus expected 201 but received 200)
Reactions are currently unavailable