コード例 #1
0
 def wrapper(self, *args, **kwargs):
     controller_response = func(self, *args, **kwargs)
     if not controller_response:
         controller_response = {}
     if isinstance(controller_response,
                   controllers.ACCEPTABLE_RETURN_TYPES):
         controller_response = {'content': controller_response}
     if isinstance(controller_response, (dict, list, tuple)):
         controller_response = views.Model(data=controller_response)
     if format:
         controller_response.format = format
     if template:
         controller_response.template = template
     return controller_response
コード例 #2
0
 def wrapper(self, *args, **kwargs):
     response = func(self, *args, **kwargs)
     if response is None:
         response = {}
     elif isinstance(response, controllers.ACCEPTABLE_RETURN_TYPES):
         response = {'content': response}
     if not isinstance(response, messages.Response):
         response = views.Model(data=response)
     if isinstance(response, views.Model):
         if format:
             response.format = format
         if template:
             response.template = template
         if renderer_args:
             response.renderer_args = renderer_args
     return response
コード例 #3
0
 def test_render(self):
     app = applications.Http()
     tb = toolbar.Toolbar(
         {
             'panels': {
                 'tests.watson.framework.debug.support.Panel': {'enabled': True}
             }
         },
         app, app.container.get('jinja2_renderer'))
     params = {
         'context': {
             'request': messages.Request.from_environ({}),
             'response': messages.Response(200, body='<html><body></body></html>')
         },
         'view_model': views.Model(format='html')
     }
     event = types.Event('render', params=params)
     response = tb.render(event)
     assert '<!-- Injected Watson Debug Toolbar -->' in response.body
コード例 #4
0
 def test_execute(self):
     app = applications.Http()
     listener = listeners.Render(config.views)
     context = {
         'response': Response(200),
     }
     vm = views.Model(format='text/plain', data={'content': 'test'})
     params = {'context': context, 'view_model': vm, 'container': app.container}
     event = Event('render', params=params)
     # error raised as no template exists
     with raises(InternalServerError):
         listener(event)
     with raises(InternalServerError):
         vm.format = 'exe'
         listener(event)
     vm.format = 'json'
     response = listener(event)
     assert response.status_code == 200
     assert response.headers['Content-Type'] == 'application/json'
コード例 #5
0
 def test_render(self):
     self.panel.view_model = views.Model(format='html')
     output = self.panel.render()
     assert '<dt>Memory Usage:</dt>' in output
コード例 #6
0
 def test_render_listener(self):
     vm = views.Model()
     params = {'view_model': vm}
     event = types.Event('name', params=params)
     self.panel.render_listener(event)
     assert self.panel.view_model is vm
コード例 #7
0
 def test_template(self):
     self.panel.view_model = views.Model(template='test')
     assert self.panel.template == 'test'