[Repoze-dev] [bfg 1.29a] render_template_to_response returning the view class?

2010-01-02 Thread Andreas Jung
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Running the zopyx.smartprintng.server tests with Repoze 1.2a9:

Calling the index() view no longer returns a response object with
a status attribute:



/data/develop/repository/svn.zope.org/zopyx.smartprintng.server/trunk/zopyx/smartprintng/server/tests.py(96)test_index()
- - self.assertEqual(result.status, '200 OK')
(Pdb) list
 91  def test_index(self):
 92  from zopyx.smartprintng.server.views import index
 93  context = Server()
 94  request = testing.DummyRequest()
 95  result = index(context, request)
 96  -self.assertEqual(result.status, '200 OK')
 97  body = result.app_iter[0]
 98  self.assertEqual(len(result.headerlist), 2)
 99  self.assertEqual(result.headerlist[0],
100   ('Content-Type', 'text/html;
charset=UTF-8'))
101  self.assertEqual(result.headerlist[1], ('Content-Length',
(Pdb) print result
zopyx.smartprintng.server.views.index object at 0x1c57590

So 'result' is now the view class itself?


 36 @bfg_view(for_=Server, request_method='GET', permission='read')
 37 class index(object):
 38  The default view providing some system information 
 39
 40 def __init__(self, context, request):
 41 self.context = context
 42 self.request = request
 43
 44 def __call__(self):
 45 converters = self.context.availableConverters()
 46 version =
pkg_resources.require('zopyx.smartprintng.server')[0].versionĀ·
 47 return render_template_to_response('templates/index.pt',
 48context=self.context,
 49converters=converters,
 50request=self.request,
 51version=version,
 52   
project='zopyx.smartprintng.server')

Andreas
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAks/f9gACgkQCJIWIbr9KYxEpACfWsrY42pivfgSJJX5d0GtL8fC
dWgAoJu2McNlFv7BlTmDC4hz9oWttwTA
=Cibm
-END PGP SIGNATURE-

attachment: lists.vcf___
Repoze-dev mailing list
Repoze-dev@lists.repoze.org
http://lists.repoze.org/listinfo/repoze-dev


Re: [Repoze-dev] [bfg 1.29a] render_template_to_response returning the view class?

2010-01-02 Thread Chris McDonough
I'm not sure which version of bfg you're contrasting this against, but if the 
view is a class, constructing the class just constructs the class.  It's not 
until the class' __call__ is invoked that a response is potentially generated. 
  If a previous BFG version worked differently, it was a bug.

In general, when you're testing code in BFG 1.1+, test the code as it appears 
in your editor buffer without taking any bfg_view decorators into account. 
bfg_view decorators don't actually influence the behavior of the code in 1.1+, 
so you need to test the code literally.  In the case of a class-based view, 
this means constructing the class with a context and a request, then invoking 
its __call__ method.

- C


Andreas Jung wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1
 
 Running the zopyx.smartprintng.server tests with Repoze 1.2a9:
 
 Calling the index() view no longer returns a response object with
 a status attribute:
 
 
 /data/develop/repository/svn.zope.org/zopyx.smartprintng.server/trunk/zopyx/smartprintng/server/tests.py(96)test_index()
 - - self.assertEqual(result.status, '200 OK')
 (Pdb) list
  91  def test_index(self):
  92  from zopyx.smartprintng.server.views import index
  93  context = Server()
  94  request = testing.DummyRequest()
  95  result = index(context, request)
  96  -self.assertEqual(result.status, '200 OK')
  97  body = result.app_iter[0]
  98  self.assertEqual(len(result.headerlist), 2)
  99  self.assertEqual(result.headerlist[0],
 100   ('Content-Type', 'text/html;
 charset=UTF-8'))
 101  self.assertEqual(result.headerlist[1], ('Content-Length',
 (Pdb) print result
 zopyx.smartprintng.server.views.index object at 0x1c57590
 
 So 'result' is now the view class itself?
 
 
  36 @bfg_view(for_=Server, request_method='GET', permission='read')
  37 class index(object):
  38  The default view providing some system information 
  39
  40 def __init__(self, context, request):
  41 self.context = context
  42 self.request = request
  43
  44 def __call__(self):
  45 converters = self.context.availableConverters()
  46 version =
 pkg_resources.require('zopyx.smartprintng.server')[0].versionĀ·
  47 return render_template_to_response('templates/index.pt',
  48context=self.context,
  49converters=converters,
  50request=self.request,
  51version=version,
  52   
 project='zopyx.smartprintng.server')
 
 Andreas
 -BEGIN PGP SIGNATURE-
 Version: GnuPG v1.4.10 (Darwin)
 Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
 
 iEYEARECAAYFAks/f9gACgkQCJIWIbr9KYxEpACfWsrY42pivfgSJJX5d0GtL8fC
 dWgAoJu2McNlFv7BlTmDC4hz9oWttwTA
 =Cibm
 -END PGP SIGNATURE-
 
 
 ___
 Repoze-dev mailing list
 Repoze-dev@lists.repoze.org
 http://lists.repoze.org/listinfo/repoze-dev

___
Repoze-dev mailing list
Repoze-dev@lists.repoze.org
http://lists.repoze.org/listinfo/repoze-dev