I don't know enought to answer, I can only give an example of how I tested
forms with auth tokens.
This is a few months ago now, so I'm a bit fuzzy on why I did it like this
and hope others have better examples.

In routing.py:
map.connect('authToken',      '/accounts/authtoken',
controller='accounts',  action='authToken')

That authToken action uses authentication_token()
 from webhelpers.pylonslib.secure_form

In the test two requests happen, one to get the form and one to get the auth
token.
....
    def test_exampletest(self):
        #1 get form
        response = self.app.get(url('urlThatReturnsTheForm'))
        resendForm = response.forms.get('FormName')
        resendForm.set(u'fieldName', 'ValueToSet')

        #2 get auth token, and put in it the form
        authTokenResponse = self.app.get(url('authToken'))
        resendForm.set(u'_authentication_token', authTokenResponse.body)
        response3 = resendForm.submit()
....


If I remember correctly, the reason why there is a route just for getting
the auth token is because some times a user would submit a form with an
error or hit the back button and return to the form with a now stale auth
token, so some javascript was used to always get a new token whenever a form
was shown.

Just my two cents, I think others on here might have better suggestions.
Ian


On Tue, Oct 5, 2010 at 1:12 PM, Ryan <[email protected]> wrote:

> I'm using:
> from pylons.decorators.secure import authenticate_form
>
> And the decorator:
> @authenticate_form
>
> I started off decorating both the action the renders the form (edit),
> and the action that handles the form (update). But that prevented the
> form from even loading (403 on account of CSF), so I moved the
> decorator exclusively to the handler action.
>
> Seems to work, but I have a question: I don't understanding how merely
> importing authenticate_form and decorating my update action magically
> creates an "_authentication_token" hidden field on the form rendered
> by the non-decorated edit action. Can someone explain?
>
> Second question: While the authenticity token works, my functional
> tests now fail. Can someone give an example of how to functionally
> test a form that uses authenticity tokens?
>
> Thanks.
>
> --
> 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]<pylons-discuss%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/pylons-discuss?hl=en.
>
>

-- 
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