Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 0fb0711

Browse files
fix "NameError: name 'model_name' is not defined"; add 3 test cases
1 parent 915a47e commit 0fb0711

File tree

2 files changed

+44
-1
lines changed

2 files changed

+44
-1
lines changed

‎tests/test.py‎

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -371,6 +371,49 @@ def test_apijson_get():
371371
>>> print(d)
372372
{'code': 400, 'msg': "page should >0, but get '-2'"}
373373
374+
>>> #query array with @count/@page/@query, @query bad param
375+
>>> data ='''{
376+
... "[]":{
377+
... "@count":2,
378+
... "@page":1,
379+
... "@query":3,
380+
... "user": {
381+
... }
382+
... }
383+
... }'''
384+
>>> r = handler.post('/apijson/get', data=data, pre_call=pre_call_as("usera"), middlewares=[])
385+
>>> d = json_loads(r.data)
386+
>>> print(d)
387+
{'code': 400, 'msg': "bad param 'query': 3"}
388+
389+
>>> #query array with @count/@page/@query, @query = 0
390+
>>> data ='''{
391+
... "[]":{
392+
... "@count":2,
393+
... "@page":1,
394+
... "@query":0,
395+
... "user": {
396+
... }
397+
... }
398+
... }'''
399+
>>> r = handler.post('/apijson/get', data=data, pre_call=pre_call_as("usera"), middlewares=[])
400+
>>> d = json_loads(r.data)
401+
>>> print(d)
402+
{'code': 200, 'msg': 'success', '[]': [{'user': {'username': 'userb', 'nickname': 'User B', 'email': 'userb@localhost', 'is_superuser': False, 'last_login': None, 'date_join': '2018年03月03日 00:00:00', 'image': '', 'active': False, 'locked': False, 'deleted': False, 'auth_type': 'default', 'timezone': '', 'id': 3}}, {'user': {'username': 'userc', 'nickname': 'User C', 'email': 'userc@localhost', 'is_superuser': False, 'last_login': None, 'date_join': '2018年04月04日 00:00:00', 'image': '', 'active': False, 'locked': False, 'deleted': False, 'auth_type': 'default', 'timezone': '', 'id': 4}}]}
403+
404+
>>> #query array with OWNER but cannot filter with OWNER
405+
>>> data ='''{
406+
... "[]":{
407+
... "publicnotice": {
408+
... "@role":"OWNER"
409+
... }
410+
... }
411+
... }'''
412+
>>> r = handler.post('/apijson/get', data=data, pre_call=pre_call_as("admin"), middlewares=[])
413+
>>> d = json_loads(r.data)
414+
>>> print(d)
415+
{'code': 400, 'msg': "'publicnotice' cannot filter with owner"}
416+
374417
>>> #Association query: Two tables, one to one,ref path is absolute path
375418
>>> data ='''{
376419
... "moment":{},

‎uliweb_apijson/apijson/__init__.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ def _filter_owner(self,q):
153153
q = q.filter(getattr(model.c,user_id_field)==request.user.id)
154154
owner_filtered = True
155155
if not owner_filtered:
156-
raise UliwebError("'%s' cannot filter with owner"%(model_name))
156+
raise UliwebError("'%s' cannot filter with owner"%(self.name))
157157
return q
158158

159159
def _get_array_q(self,params):

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /