Re: Pylons session in Model unit tests
class MyMockSession(dict): def save(*args, **kw): pass etc, ... from pylons import session session._push_object(MyMockSession(user_id=fooo)) You might want to place that in the setUp method and place the followiing in the tearDown this: session._pop_object() It sounds like it would work, but I get an empty session when I try to pass a regular dict. Is there something that I am missing? (Using pylons 0.9.6.2) --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-discuss@googlegroups.com 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 -~--~~~~--~~--~--~---
Pylons session in Model unit tests
I've been searching throught the docs to figure it out but there's no clue. I've got a set up like Using SQLAlchemy with Pylons suggests and my model relies on session, where current user_id is stored. Is there any way to access Pylons session in my model tests? Thanks! --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-discuss@googlegroups.com 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 -~--~~~~--~~--~--~---
Re: Pylons session in Model unit tests
Pavel Skvazh wrote: I've been searching throught the docs to figure it out but there's no clue. I've got a set up like Using SQLAlchemy with Pylons suggests and my model relies on session, where current user_id is stored. Is there any way to access Pylons session in my model tests? Relying on the HTTP session (if you're not referring to this one please stop reading now :) in the model is very bad coupling IMHO. As a workaround you could try to mock a session with something like: class MyMockSession(dict): def save(*args, **kw): pass etc, ... from pylons import session session._push_object(MyMockSession(user_id=fooo)) You might want to place that in the setUp method and place the followiing in the tearDown this: session._pop_object() Alberto --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-discuss@googlegroups.com 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 -~--~~~~--~~--~--~---
Re: Pylons session in Model unit tests
Thanks a lot, Alberto! That works just fine. It's not a good practice indeed, but that's the best way, I could figure to do with user-specific stuff. For instance if we're dealing with mail, for get_incoming, get_sent, get_drafts etc I'll have to pass session['user_id'] from the controller to the model method, when It's obvious that this is the only value it'll ever be getting. Checking if the current user can delete a certain letter (if he's the author of it) should obviously be done inside the model, but where will I get the user_id to check? Passing it to the delete function looks just wrong to me. Giving the model access to the session looks far from being good MVC practice, but I couldn't figure a better way. If anyone have any suggestions - i'd love to hear any advice :) On Apr 30, 1:15 pm, Alberto Valverde [EMAIL PROTECTED] wrote: Pavel Skvazh wrote: I've been searching throught the docs to figure it out but there's no clue. I've got a set up like Using SQLAlchemy with Pylons suggests and my model relies on session, where current user_id is stored. Is there any way to access Pylons session in my model tests? Relying on the HTTP session (if you're not referring to this one please stop reading now :) in the model is very bad coupling IMHO. As a workaround you could try to mock a session with something like: class MyMockSession(dict): def save(*args, **kw): pass etc, ... from pylons import session session._push_object(MyMockSession(user_id=fooo)) You might want to place that in the setUp method and place the followiing in the tearDown this: session._pop_object() Alberto --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups pylons-discuss group. To post to this group, send email to pylons-discuss@googlegroups.com 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 -~--~~~~--~~--~--~---