atom.mock_service | index /usr/local/google/home/afshar/src/external-gdata-release/google3/src/atom/mock_service.py

`MockService provides CRUD ops. for mocking calls to AtomPub services.
MockService: Exposes the publicly used methods of AtomService to provide
a mock interface which can be used in unit tests.`

Modules

``

atom | pickle |  |

Classes

``

__builtin__.object
  MockHttpResponse
  MockRequest

class MockHttpResponse(__builtin__.object)
`` | `Returned from MockService crud methods as the server's response.`

Methods defined here:

__init__(self, body=None, status=None, reason=None, headers=None)
  `Construct a mock HTTPResponse and set members.
  Args:
  body: str (optional) The HTTP body of the server's response.
  status: int (optional)
  reason: str (optional)
  headers: dict (optional)`

getheader(self, header_name)

read(self)

Data descriptors defined here:

__dict__
  `dictionary for instance variables (if defined)`

__weakref__
  `list of weak references to the object (if defined)`

class MockRequest(__builtin__.object)
`` | `Represents a request made to an AtomPub server. These objects are used to determine if a client request matches a recorded HTTP request to determine what the mock server's response will be.`

Methods defined here:

ConcealSecrets(self, conceal_func)
  `Conceal secret data in this request.`

IsMatch(self, other_request)
  `Check to see if the other_request is equivalent to this request.
  Used to determine if a recording matches an incoming request so that a
  recorded response should be sent to the client.
  The matching is not exact, only the operation and URL are examined
  currently.
  Args:
  other_request: MockRequest The request which we want to check this
  (self) MockRequest against to see if they are equivalent.`

__init__(self, operation, uri, host=None, ssl=False, port=None, data=None, extra_headers=None, url_params=None, escape_params=True, content_type='application/atom+xml')
  `Constructor for a MockRequest
  Args:
  operation: str One of 'GET', 'POST', 'PUT', or 'DELETE' this is the
  HTTP operation requested on the resource.
  uri: str The URL describing the resource to be modified or feed to be
  retrieved. This should include the protocol (http/https) and the host
  (aka domain). For example, these are some valud full_uris:
  'http://example.com', 'https://www.google.com/accounts/ClientLogin'
  host: str (optional) The server name which will be placed at the
  beginning of the URL if the uri parameter does not begin with 'http'.
  Examples include 'example.com', 'www.google.com', 'www.blogger.com'.
  ssl: boolean (optional) If true, the request URL will begin with https
  instead of http.
  data: ElementTree, filestream, list of parts, or other object which can be
  converted to a string. (optional)
  Should be set to None when performing a GET or PUT.
  If data is a file-like object which can be read, the constructor
  will read the entire file into memory. If the data is a list of
  parts to be sent, each part will be evaluated and stored.
  extra_headers: dict (optional) HTTP headers included in the request.
  url_params: dict (optional) Key value pairs which should be added to
  the URL as URL parameters in the request. For example uri='/',
  url_parameters={'foo':'1','bar':'2'} could become '/?foo=1&bar=2'.
  escape_params: boolean (optional) Perform URL escaping on the keys and
  values specified in url_params. Defaults to True.
  content_type: str (optional) Provides the MIME type of the data being
  sent.`

Data descriptors defined here:

__dict__
  `dictionary for instance variables (if defined)`

__weakref__
  `list of weak references to the object (if defined)`

Functions

``

ConcealValueWithSha(source)

DumpRecordings(conceal_func=<function ConcealValueWithSha>)

HttpRequest(service, operation, data, uri, extra_headers=None, url_params=None, escape_params=True, content_type='application/atom+xml')
  `Simulates an HTTP call to the server, makes an actual HTTP request if
  real_request_handler is set.
  This function operates in two different modes depending on if
  real_request_handler is set or not. If real_request_handler is not set,
  HttpRequest will look in this module's recordings list to find a response
  which matches the parameters in the function call. If real_request_handler
  is set, this function will call real_request_handler.HttpRequest, add the
  response to the recordings list, and respond with the actual response.
  Args:
  service: atom.AtomService object which contains some of the parameters
  needed to make the request. The following members are used to
  construct the HTTP call: server (str), additional_headers (dict),
  port (int), and ssl (bool).
  operation: str The HTTP operation to be performed. This is usually one of
  'GET', 'POST', 'PUT', or 'DELETE'
  data: ElementTree, filestream, list of parts, or other object which can be
  converted to a string.
  Should be set to None when performing a GET or PUT.
  If data is a file-like object which can be read, this method will read
  a chunk of 100K bytes at a time and send them.
  If the data is a list of parts to be sent, each part will be evaluated
  and sent.
  uri: The beginning of the URL to which the request should be sent.
  Examples: '/', '/base/feeds/snippets',
  '/m8/feeds/contacts/default/base'
  extra_headers: dict of strings. HTTP headers which should be sent
  in the request. These headers are in addition to those stored in
  service.additional_headers.
  url_params: dict of strings. Key value pairs to be added to the URL as
  URL parameters. For example {'foo':'bar', 'test':'param'} will
  become ?foo=bar&test=param.
  escape_params: bool default True. If true, the keys and values in
  url_params will be URL escaped when the form is constructed
  (Special characters converted to %XX form.)
  content_type: str The MIME type for the data being sent. Defaults to
  'application/atom+xml', this is only used if data is set.`

LoadRecordings(recordings_file_or_string)

Data
`` |  | __author__ = 'api.jscudder (Jeffrey Scudder)' real_request_handler = None recordings = []

Author
`` |  | api.jscudder (Jeffrey Scudder)