Using a helper function is a very good idea, thanks! Instead of "<path>" I 
just passed a "pointer" of the controller function. Or is there a 
possibility to call a controller function by (Sub)URL?


Another question. I have a REST function that looks like this: (like above 
but with the "fixed" parameter "username")
@request.restful()
def XYZ():
    def POST(username, *args, **vars):
        return "post"
    return locals()

But now it is not possible to call it like this:
def testXYZ(self):
    request.env.request_method = "POST"
    request.args = []
    request.post_vars["username"] = "test"
    response = XYZ()
    self.assertEqual(...)

It always returns a "400 BAD REQUEST" Error. Do you know how this call 
sould look? If I call XYZ with parameters, what parameters have to be there?

Thanks!

Josua


Am Freitag, 2. Mai 2014 07:57:02 UTC+2 schrieb Samuel Marks:
>
> That's fine; you'll just want to write some helper functions (`get`, 
> `post`, `put`, `delete`, `patch`) to make it more semantic:
>
> self.assertEqual(get("<path>", vars={"x": "y"}), {"a":"b"})
>
>
> Samuel Marks
> http://linkedin.com/in/samuelmarks
>
>
> On Fri, May 2, 2014 at 6:24 AM, JosuaS <[email protected] 
> <javascript:>>wrote:
>
>> Thank you very much for the link, looks very useful.
>>
>>
>> I found a way to call a rest function internally by now, here is an 
>> example:
>>
>> def testXYZ(self):
>>     request.env.request_method = "POST"
>>     request.args = ["event", "1.json"]
>>     request.post_vars["username"] = "test"
>>     request.post_vars["x"] = "y"
>>     response = restFunction()
>>     self.assertEqual(response["a"], "b")
>>
>>
>> But yeah, it probably makes more sense to test the REST functions "from 
>> outside".
>>
>> Josua
>>
>>
>> Am Donnerstag, 1. Mai 2014 16:11:07 UTC+2 schrieb samuel bonill:
>>
>>> I really do not know how to do a REST Unit Testing with web2py api, I 
>>> use postman ( http://www.getpostman.com/ )
>>>
>>> El miércoles, 30 de abril de 2014 05:31:38 UTC-5, JosuaS escribió:
>>>>
>>>> Hello
>>>>
>>>> I found this nice description to do Unit Testing in web2py:
>>>> http://www.web2py.com/AlterEgo/default/show/260
>>>>
>>>> In the example a controller function is called like this:
>>>> resp = list_active_games()
>>>>
>>>> In my code however there are some REST functions for example:
>>>>
>>>> @request.restful()
>>>> def test():
>>>>     def GET():
>>>>         return "get"
>>>>     def POST():
>>>>         return "post"
>>>>     return locals()
>>>>
>>>> Do you have any idea how I can unit test (respectively call) such a 
>>>> REST function? So far I had no success.
>>>>
>>>> Thank you for you help.
>>>>
>>>> Josua
>>>>
>>>  -- 
>> Resources:
>> - http://web2py.com
>> - http://web2py.com/book (Documentation)
>> - http://github.com/web2py/web2py (Source code)
>> - https://code.google.com/p/web2py/issues/list (Report Issues)
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "web2py-users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to