本文整理汇总了Python中zope.publisher.browser.TestRequest.stdin方法的典型用法代码示例。如果您正苦于以下问题:Python TestRequest.stdin方法的具体用法?Python TestRequest.stdin怎么用?Python TestRequest.stdin使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类zope.publisher.browser.TestRequest
的用法示例。
在下文中一共展示了TestRequest.stdin方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_invalid_input
# 需要导入模块: from zope.publisher.browser import TestRequest [as 别名]
# 或者: from zope.publisher.browser.TestRequest import stdin [as 别名]
def test_invalid_input(self):
import json
import StringIO
from zope.publisher.browser import TestRequest
request = TestRequest()
request.stdin = StringIO.StringIO('invalid json')
view = self.JsonView(None, request)
response = view()
self.assertEqual(
json.loads(response),
{'type': 'error',
'message': 'Invalid JSON input'})
示例2: test_bad_method
# 需要导入模块: from zope.publisher.browser import TestRequest [as 别名]
# 或者: from zope.publisher.browser.TestRequest import stdin [as 别名]
def test_bad_method(self):
import json
import StringIO
import mock
from zope.publisher.browser import TestRequest
request = TestRequest()
request.stdin = StringIO.StringIO()
context = mock.Mock()
context.getPhysicalPath.return_value = ['', 'Plone', 'client', 'api']
view = self.JsonView(context, request)
response = view()
self.assertEqual(request.response.getStatus(), 405)
self.assertEqual(
json.loads(response),
{'type': 'error',
'message': 'HTTP method not allowed'})
示例3: test_input_error
# 需要导入模块: from zope.publisher.browser import TestRequest [as 别名]
# 或者: from zope.publisher.browser.TestRequest import stdin [as 别名]
def test_input_error(self):
request = TestRequest()
request.stdin = StringIO(json.dumps({'template': {
'data': [
{
'name': 'SearchableText',
'value': None,
}
]
}}))
f = search.JsonSearchPage(self.portal, request)
results = json.loads(f())
self.assertEqual(results, {'collection': {
'version': '1.0',
'error': 'input error',
'template': [
{
u'name': u'SearchableText',
u'prompt': u'SearchableText',
u'value': u'',
},
{
u'name': u'Title',
u'prompt': u'Title',
u'value': u'',
},
{
u'name': u'Description',
u'prompt': u'Description',
u'value': u'',
},
{
u'name': u'Subject',
u'prompt': u'Subject',
u'value': u'',
u'options': [],
},
{
u'name': u'portal_type',
u'prompt': u'portal_type',
u'value': u'',
u'options': [],
},
],
}})
示例4: test_query
# 需要导入模块: from zope.publisher.browser import TestRequest [as 别名]
# 或者: from zope.publisher.browser.TestRequest import stdin [as 别名]
def test_query(self):
portal = self.portal
setRoles(portal, TEST_USER_ID, ['Manager'])
login(portal, TEST_USER_NAME)
portal.invokeFactory('News Item', 'testnews', title=u'Test News',
subject=['Portal News'])
portal.invokeFactory('Document', 'testpage', title=u'Test Page',
text='This is a simple page')
workflowTool = getToolByName(portal, 'portal_workflow')
workflowTool.setDefaultChain("simple_publication_workflow")
workflowTool.doActionFor(portal.testpage, 'publish')
setRoles(portal, TEST_USER_ID, ['Member'])
answer = {'collection': {
'version': '1.0',
'template': [
{
u'name': u'SearchableText',
u'prompt': u'SearchableText',
u'value': u'',
},
{
u'name': u'Title',
u'prompt': u'Title',
u'value': u'',
},
{
u'name': u'Description',
u'prompt': u'Description',
u'value': u'',
},
{
u'name': u'Subject',
u'prompt': u'Subject',
u'value': u'',
u'options': [{u'value': u'Portal News'}],
},
{
u'name': u'portal_type',
u'prompt': u'portal_type',
u'value': u'',
u'options': [
{u'value': u'Document'},
{u'value': u'News Item'}
],
},
],
}}
f = search.JsonSearchPage(self.portal, self.request)
results = json.loads(f())
self.assertEqual(results, answer)
import transaction
transaction.commit()
answer['collection']['href'] = 'http://nohost/plone/search'
self.testbrowser.addHeader('Accept',
'application/vnd.physiome.pmr2.json.1')
self.testbrowser.open('http://nohost/plone/search')
self.assertEqual(json.loads(self.testbrowser.contents), answer)
request = TestRequest()
request.stdin = StringIO(json.dumps({'template': {
'data': [
{
'name': 'SearchableText',
'value': 'simple',
}
]
}}))
f = search.JsonSearchPage(self.portal, request)
results = json.loads(f())
links = [{
'href': u'http://nohost/plone/testpage',
'prompt': u'Test Page',
'rel': u'bookmark'
}]
self.assertEqual(results['collection']['links'], links)
self.testbrowser.open('http://nohost/plone/search',
data=request.stdin.getvalue())
self.assertEqual(
json.loads(self.testbrowser.contents)['collection']['links'],
links)