| |
| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
| <html><head><title>Python: module atom.mock_service</title> |
| </head><body bgcolor="#f0f0f8"> |
| |
| <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading"> |
| <tr bgcolor="#7799ee"> |
| <td valign=bottom> <br> |
| <font color="#ffffff" face="helvetica, arial"> <br><big><big><strong><a href="atom.html"><font color="#ffffff">atom</font></a>.mock_service</strong></big></big></font></td |
| ><td align=right valign=bottom |
| ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/usr/local/google/home/afshar/src/external-gdata-release/google3/src/atom/mock_service.py">/usr/local/google/home/afshar/src/external-gdata-release/google3/src/atom/mock_service.py</a></font></td></tr></table> |
| <p><tt>MockService provides CRUD ops. for mocking calls to AtomPub services.<br> |
| <br> |
| MockService: Exposes the publicly used methods of AtomService to provide<br> |
| a mock interface which can be used in unit tests.</tt></p> |
| <p> |
| <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> |
| <tr bgcolor="#aa55cc"> |
| <td colspan=3 valign=bottom> <br> |
| <font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr> |
| |
| <tr><td bgcolor="#aa55cc"><tt> </tt></td><td> </td> |
| <td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="atom.html">atom</a><br> |
| </td><td width="25%" valign=top><a href="pickle.html">pickle</a><br> |
| </td><td width="25%" valign=top></td><td width="25%" valign=top></td></tr></table></td></tr></table><p> |
| <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> |
| <tr bgcolor="#ee77aa"> |
| <td colspan=3 valign=bottom> <br> |
| <font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr> |
| |
| <tr><td bgcolor="#ee77aa"><tt> </tt></td><td> </td> |
| <td width="100%"><dl> |
| <dt><font face="helvetica, arial"><a href="__builtin__.html#object">__builtin__.object</a> |
| </font></dt><dd> |
| <dl> |
| <dt><font face="helvetica, arial"><a href="atom.mock_service.html#MockHttpResponse">MockHttpResponse</a> |
| </font></dt><dt><font face="helvetica, arial"><a href="atom.mock_service.html#MockRequest">MockRequest</a> |
| </font></dt></dl> |
| </dd> |
| </dl> |
| <p> |
| <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> |
| <tr bgcolor="#ffc8d8"> |
| <td colspan=3 valign=bottom> <br> |
| <font color="#000000" face="helvetica, arial"><a name="MockHttpResponse">class <strong>MockHttpResponse</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr> |
| |
| <tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td> |
| <td colspan=2><tt>Returned from MockService crud methods as the server's response.<br> </tt></td></tr> |
| <tr><td> </td> |
| <td width="100%">Methods defined here:<br> |
| <dl><dt><a name="MockHttpResponse-__init__"><strong>__init__</strong></a>(self, body<font color="#909090">=None</font>, status<font color="#909090">=None</font>, reason<font color="#909090">=None</font>, headers<font color="#909090">=None</font>)</dt><dd><tt>Construct a mock HTTPResponse and set members.<br> |
| <br> |
| Args:<br> |
| body: str (optional) The HTTP body of the server's response. <br> |
| status: int (optional) <br> |
| reason: str (optional)<br> |
| headers: dict (optional)</tt></dd></dl> |
| |
| <dl><dt><a name="MockHttpResponse-getheader"><strong>getheader</strong></a>(self, header_name)</dt></dl> |
| |
| <dl><dt><a name="MockHttpResponse-read"><strong>read</strong></a>(self)</dt></dl> |
| |
| <hr> |
| Data descriptors defined here:<br> |
| <dl><dt><strong>__dict__</strong></dt> |
| <dd><tt>dictionary for instance variables (if defined)</tt></dd> |
| </dl> |
| <dl><dt><strong>__weakref__</strong></dt> |
| <dd><tt>list of weak references to the object (if defined)</tt></dd> |
| </dl> |
| </td></tr></table> <p> |
| <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> |
| <tr bgcolor="#ffc8d8"> |
| <td colspan=3 valign=bottom> <br> |
| <font color="#000000" face="helvetica, arial"><a name="MockRequest">class <strong>MockRequest</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr> |
| |
| <tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td> |
| <td colspan=2><tt>Represents a request made to an AtomPub server.<br> |
| <br> |
| These objects are used to determine if a client request matches a recorded<br> |
| HTTP request to determine what the mock server's response will be.<br> </tt></td></tr> |
| <tr><td> </td> |
| <td width="100%">Methods defined here:<br> |
| <dl><dt><a name="MockRequest-ConcealSecrets"><strong>ConcealSecrets</strong></a>(self, conceal_func)</dt><dd><tt>Conceal secret data in this request.</tt></dd></dl> |
| |
| <dl><dt><a name="MockRequest-IsMatch"><strong>IsMatch</strong></a>(self, other_request)</dt><dd><tt>Check to see if the other_request is equivalent to this request.<br> |
| <br> |
| Used to determine if a recording matches an incoming request so that a<br> |
| recorded response should be sent to the client.<br> |
| <br> |
| The matching is not exact, only the operation and URL are examined <br> |
| currently.<br> |
| <br> |
| Args:<br> |
| other_request: <a href="#MockRequest">MockRequest</a> The request which we want to check this<br> |
| (self) <a href="#MockRequest">MockRequest</a> against to see if they are equivalent.</tt></dd></dl> |
| |
| <dl><dt><a name="MockRequest-__init__"><strong>__init__</strong></a>(self, operation, uri, host<font color="#909090">=None</font>, ssl<font color="#909090">=False</font>, port<font color="#909090">=None</font>, data<font color="#909090">=None</font>, extra_headers<font color="#909090">=None</font>, url_params<font color="#909090">=None</font>, escape_params<font color="#909090">=True</font>, content_type<font color="#909090">='application/atom+xml'</font>)</dt><dd><tt>Constructor for a <a href="#MockRequest">MockRequest</a><br> |
| <br> |
| Args:<br> |
| operation: str One of 'GET', 'POST', 'PUT', or 'DELETE' this is the<br> |
| HTTP operation requested on the resource.<br> |
| uri: str The URL describing the resource to be modified or feed to be<br> |
| retrieved. This should include the protocol (http/https) and the host<br> |
| (aka domain). For example, these are some valud full_uris:<br> |
| '<a href="http://example.com">http://example.com</a>', 'https://www.google.com/accounts/ClientLogin'<br> |
| host: str (optional) The server name which will be placed at the <br> |
| beginning of the URL if the uri parameter does not begin with 'http'.<br> |
| Examples include 'example.com', 'www.google.com', 'www.blogger.com'.<br> |
| ssl: boolean (optional) If true, the request URL will begin with https <br> |
| instead of http.<br> |
| data: ElementTree, filestream, list of parts, or other <a href="__builtin__.html#object">object</a> which can be<br> |
| converted to a string. (optional)<br> |
| Should be set to None when performing a GET or PUT.<br> |
| If data is a file-like <a href="__builtin__.html#object">object</a> which can be read, the constructor <br> |
| will read the entire file into memory. If the data is a list of <br> |
| parts to be sent, each part will be evaluated and stored.<br> |
| extra_headers: dict (optional) HTTP headers included in the request.<br> |
| url_params: dict (optional) Key value pairs which should be added to <br> |
| the URL as URL parameters in the request. For example uri='/', <br> |
| url_parameters={'foo':'1','bar':'2'} could become '/?foo=1&bar=2'.<br> |
| escape_params: boolean (optional) Perform URL escaping on the keys and <br> |
| values specified in url_params. Defaults to True.<br> |
| content_type: str (optional) Provides the MIME type of the data being <br> |
| sent.</tt></dd></dl> |
| |
| <hr> |
| Data descriptors defined here:<br> |
| <dl><dt><strong>__dict__</strong></dt> |
| <dd><tt>dictionary for instance variables (if defined)</tt></dd> |
| </dl> |
| <dl><dt><strong>__weakref__</strong></dt> |
| <dd><tt>list of weak references to the object (if defined)</tt></dd> |
| </dl> |
| </td></tr></table></td></tr></table><p> |
| <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> |
| <tr bgcolor="#eeaa77"> |
| <td colspan=3 valign=bottom> <br> |
| <font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr> |
| |
| <tr><td bgcolor="#eeaa77"><tt> </tt></td><td> </td> |
| <td width="100%"><dl><dt><a name="-ConcealValueWithSha"><strong>ConcealValueWithSha</strong></a>(source)</dt></dl> |
| <dl><dt><a name="-DumpRecordings"><strong>DumpRecordings</strong></a>(conceal_func<font color="#909090">=<function ConcealValueWithSha></font>)</dt></dl> |
| <dl><dt><a name="-HttpRequest"><strong>HttpRequest</strong></a>(service, operation, data, uri, extra_headers<font color="#909090">=None</font>, url_params<font color="#909090">=None</font>, escape_params<font color="#909090">=True</font>, content_type<font color="#909090">='application/atom+xml'</font>)</dt><dd><tt>Simulates an HTTP call to the server, makes an actual HTTP request if <br> |
| real_request_handler is set.<br> |
| <br> |
| This function operates in two different modes depending on if <br> |
| real_request_handler is set or not. If real_request_handler is not set,<br> |
| HttpRequest will look in this module's recordings list to find a response<br> |
| which matches the parameters in the function call. If real_request_handler<br> |
| is set, this function will call real_request_handler.HttpRequest, add the<br> |
| response to the recordings list, and respond with the actual response.<br> |
| <br> |
| Args:<br> |
| service: atom.AtomService <a href="__builtin__.html#object">object</a> which contains some of the parameters<br> |
| needed to make the request. The following members are used to<br> |
| construct the HTTP call: server (str), additional_headers (dict),<br> |
| port (int), and ssl (bool).<br> |
| operation: str The HTTP operation to be performed. This is usually one of<br> |
| 'GET', 'POST', 'PUT', or 'DELETE'<br> |
| data: ElementTree, filestream, list of parts, or other <a href="__builtin__.html#object">object</a> which can be<br> |
| converted to a string.<br> |
| Should be set to None when performing a GET or PUT.<br> |
| If data is a file-like <a href="__builtin__.html#object">object</a> which can be read, this method will read<br> |
| a chunk of 100K bytes at a time and send them.<br> |
| If the data is a list of parts to be sent, each part will be evaluated<br> |
| and sent.<br> |
| uri: The beginning of the URL to which the request should be sent.<br> |
| Examples: '/', '/base/feeds/snippets',<br> |
| '/m8/feeds/contacts/default/base'<br> |
| extra_headers: dict of strings. HTTP headers which should be sent<br> |
| in the request. These headers are in addition to those stored in<br> |
| service.additional_headers.<br> |
| url_params: dict of strings. Key value pairs to be added to the URL as<br> |
| URL parameters. For example {'foo':'bar', 'test':'param'} will<br> |
| become ?foo=bar&test=param.<br> |
| escape_params: bool default True. If true, the keys and values in<br> |
| url_params will be URL escaped when the form is constructed<br> |
| (Special characters converted to %XX form.)<br> |
| content_type: str The MIME type for the data being sent. Defaults to<br> |
| 'application/atom+xml', this is only used if data is set.</tt></dd></dl> |
| <dl><dt><a name="-LoadRecordings"><strong>LoadRecordings</strong></a>(recordings_file_or_string)</dt></dl> |
| </td></tr></table><p> |
| <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> |
| <tr bgcolor="#55aa55"> |
| <td colspan=3 valign=bottom> <br> |
| <font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr> |
| |
| <tr><td bgcolor="#55aa55"><tt> </tt></td><td> </td> |
| <td width="100%"><strong>__author__</strong> = 'api.jscudder (Jeffrey Scudder)'<br> |
| <strong>real_request_handler</strong> = None<br> |
| <strong>recordings</strong> = []</td></tr></table><p> |
| <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> |
| <tr bgcolor="#7799ee"> |
| <td colspan=3 valign=bottom> <br> |
| <font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr> |
| |
| <tr><td bgcolor="#7799ee"><tt> </tt></td><td> </td> |
| <td width="100%">api.jscudder (Jeffrey Scudder)</td></tr></table> |
| </body></html> |