Haven't anyone experienced anything like this?

On May 7, 5:49 pm, Pavel Skvazh <[EMAIL PROTECTED]> wrote:
> Has anyone experienced problems with running nosetests on contoller,
> that is routed to the sub-domain?
>
> Here's what I've got
>
> controller/test.py
> class TestController(BaseController):
>         def get(self):
>                 return True
>
> routing.py
> Out of the box
>     map.connect(':controller/:action/:id')
>     map.connect(':action/:id', controller='main')
>     map.connect('*url', controller='template', action='view')
>
> class TestController(TestController):
>     def test_get(self):
>         response = self.app.get(url_for(controller='test',
> action='get'))
>         r = response.body
>         assert_true(r)
>
> This works just fine.
> What do i change
>     map.connect(':controller/:action/:id',
> conditions=dict(sub_domain=['my']))
>     map.connect(':action/:id', controller='main',
> conditions=dict(sub_domain=['my']))
>     map.connect('*url', controller='template', action='view')
>
> I change in routing
>     map.sub_domains = True
>     map.sub_domains_ignore = ['www']
>     map.connect(':controller/:action/:id',
> conditions=dict(sub_domain=['my']))
>     map.connect(':action/:id', controller='main',
> conditions=dict(sub_domain=['my']))
>     map.connect('*url', controller='template', action='view')
>
> And then no matter what i do in test
> class TestController(TestController):
>     def test_get(self):
>         response = self.app.get(url_for(controller='test',
> action='get', sub_domain='my'))
>         r = response.body
>         assert_true(r)
>
> Here's what i get
> Traceback (most recent call last):
>   File "\tests\functional\test.py", line 10
> , in setUp
>     self.login('storos', 'explore')
>   File "\tests\functional\test.py", line 16
> , in login
>     response = self.app.post(url_for(controller='test', action='get',
> sub_dom
> ain='my'),
>   File "D:\Python25\lib\site-packages\routes-1.8-py2.5.egg\routes
> \util.py", line
>  205, in url_for
>     newargs = _screenargs(kargs)
>   File "D:\Python25\lib\site-packages\routes-1.8-py2.5.egg\routes
> \util.py", line
>  55, in _screenargs
>     memory_kargs = _subdomain_check(config, memory_kargs)
>   File "D:\Python25\lib\site-packages\routes-1.8-py2.5.egg\routes
> \util.py", line
>  66, in _subdomain_check
>     fullhost = config.environ.get('HTTP_HOST') or \
>   File "D:\Python25\lib\site-packages\routes-1.8-py2.5.egg\routes
> \__init__.py",
> line 14, in __getattr__
>     return getattr(self.__shared_state, name)
> AttributeError: 'thread._local' object has no attribute 'environ'
>
> I cann't really figure what's going on here.
> return h.url_for(controller='tests', action='get', sub_domain='my')
> returns a perfectly legal url, so i cann't really see why test cann't
> see it as well
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to