Diff for "TestingWebServices"

Not logged in - Log In / Register

Differences between revisions 1 and 2
Revision 1 as of 2010-04-12 16:25:18
Size: 710
Editor: adiroiban
Comment:
Revision 2 as of 2010-04-12 17:11:39
Size: 1574
Editor: adiroiban
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
Webservice data can be retrieved using ''webservice.get(URL).jsonBody()'' Webservices are testes using doctests.

= GET =
Default get method
data can be retrieved using ''webservice.get(URL).jsonBody()''
Line 13: Line 16:
Custom get methods:

{{{
    >>> permissions = user_webservice.named_get(
    ... URL, METHODNAME, PARAMETER1=VALUE1,...).jsonBody()
}}}

= POST =

For post we have ''webservice.post'' and ''webservice.named_post''

{{{
  >>> print webservice.named_post(
  ... URL, METHODNAME, PARAMETER1=VALUE1,...)
  HTTP/1.1 201 Created
  ...
}}}

= PATCH =

{{{
  >>> patch = {u'milestone_link': webservice.getAbsoluteUrl(
  ... '/debian/+milestone/3.1')}
  >>> print webservice.patch(bugtask_path, 'application/json', dumps(patch))
  HTTP/1.1 209 Content Returned...
}}}

= Delete =

{{{
    >>> response = webservice.delete('/~eric/fooix/feature-branch')
    >>> print response
    HTTP/1.1 200 Ok
    ...
}}}

= Helping handlers =

Webservices are testes using doctests.

GET

Default get method data can be retrieved using webservice.get(URL).jsonBody()

    >>> es = anon_webservice.get('/+languages/es').jsonBody()
    >>> es['resource_type_link']
    u'http.../#language'
    >>> print es['text_direction']
    Left to Right
    >>> print es['code']
    es

Custom get methods:

    >>> permissions = user_webservice.named_get(
    ...     URL, METHODNAME, PARAMETER1=VALUE1,...).jsonBody()

POST

For post we have webservice.post and webservice.named_post

  >>> print webservice.named_post(
  ...     URL, METHODNAME, PARAMETER1=VALUE1,...)
  HTTP/1.1 201 Created
  ...

PATCH

  >>> patch = {u'milestone_link': webservice.getAbsoluteUrl(
  ...                                 '/debian/+milestone/3.1')}
  >>> print webservice.patch(bugtask_path, 'application/json', dumps(patch))
  HTTP/1.1 209 Content Returned...

Delete

    >>> response = webservice.delete('/~eric/fooix/feature-branch')
    >>> print response
    HTTP/1.1 200 Ok
    ...

Helping handlers

There are a couple of already configured webservice handlers:

  • webservice - Read access to everything. write access to all writable attributes. Logged in user salgado.

  • public_webservice - salgado-read-nonprivate ?!?!?

  • user_webservice - nopriv-read-noprivate ?!?!?!

  • anon_webservice - read access to all data available for anonymous users.

--

CategoryTesting

TestingWebServices (last edited 2020-07-17 15:34:39 by doismellburning)