atom.mock_http_core | index /usr/local/svn/gdata-python-client/src/atom/mock_http_core.py

`# Copyright (C) 2009 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.`

Modules

``

StringIO atom | os pickle | tempfile |

Classes

``

__builtin__.object
  EchoHttpClient
  MockHttpClient
  SettableHttpClient
atom.http_core.HttpResponse(__builtin__.object)
  MockHttpResponse

class EchoHttpClient(__builtin__.object)

``

`Sends the request data back in the response.
Used to check the formatting of the request as it was sent. Always responds
with a 200 OK, and some information from the HTTP request is returned in
special Echo-X headers in the response. The following headers are added
in the response:
'Echo-Host': The host name and port number to which the HTTP connection is
made. If no port was passed in, the header will contain
host:None.
'Echo-Uri': The path portion of the URL being requested. /example?x=1&y=2
'Echo-Scheme': The beginning of the URL, usually 'http' or 'https'
'Echo-Method': The HTTP method being used, 'GET', 'POST', 'PUT', etc.
`

Methods defined here:

request(self, http_request)

Data descriptors defined here:

__dict__
  `dictionary for instance variables (if defined)`

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

class MockHttpClient(__builtin__.object)

``

Methods defined here:

AddResponse = add_response(self, http_request, status, reason, headers=None, body=None)

Request = request(self, http_request)

__init__(self, recordings=None, real_client=None)

add_response(self, http_request, status, reason, headers=None, body=None)

close_session(self)
  `Saves recordings in the temporary file named in use_cached_session.`

delete_session(self, name=None)
  `Removes recordings from a previous live request.`

get_cache_file_name(self)

request(self, http_request)
  `Provide a recorded response, or record a response for replay.
  If the real_client is set, the request will be made using the
  real_client, and the response from the server will be recorded.
  If the real_client is None (the default), this method will examine
  the recordings and find the first which matches.`

use_cached_session(self, name=None, real_http_client=None)
  `Attempts to load recordings from a previous live request.
  If a temp file with the recordings exists, then it is used to fulfill
  requests. If the file does not exist, then a real client is used to
  actually make the desired HTTP requests. Requests and responses are
  recorded and will be written to the desired temprary cache file when
  close_session is called.
  Args:
  name: str (optional) The file name of session file to be used. The file
  is loaded from the temporary directory of this machine. If no name
  is passed in, a default name will be constructed using the
  cache_name_prefix, cache_case_name, and cache_test_name of this
  object.
  real_http_client: atom.http_core.HttpClient the real client to be used
  if the cached recordings are not found. If the default
  value is used, this will be an
  atom.http_core.HttpClient.`

Data descriptors defined here:

__dict__
  `dictionary for instance variables (if defined)`

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

Data and other attributes defined here:

cache_case_name = ''

cache_name_prefix = 'gdata_live_test'

cache_test_name = ''

debug = None

real_client = None

class MockHttpResponse(atom.http_core.HttpResponse)

``

Method resolution order:
  MockHttpResponse
  atom.http_core.HttpResponse
  __builtin__.object

Methods defined here:

__init__(self, status=None, reason=None, headers=None, body=None)

read(self)

Methods inherited from atom.http_core.HttpResponse:

getheader(self, name, default=None)

getheaders(self)

Data descriptors inherited from atom.http_core.HttpResponse:

__dict__
  `dictionary for instance variables (if defined)`

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

Data and other attributes inherited from atom.http_core.HttpResponse:

reason = None

status = None

class SettableHttpClient(__builtin__.object)
`` | `An HTTP Client which responds with the data given in set_response.`

Methods defined here:

__init__(self, status, reason, body, headers)
  `Configures the response for the server.
  See set_response for details on the arguments to the constructor.`

request(self, http_request)

set_response(self, status, reason, body, headers)
  `Determines the response which will be sent for each request.
  Args:
  status: An int for the HTTP status code, example: 200, 404, etc.
  reason: String for the HTTP reason, example: OK, NOT FOUND, etc.
  body: The body of the HTTP response as a string or a file-like
  object (something with a read method).
  headers: dict of strings containing the HTTP headers in the response.`

Data descriptors defined here:

__dict__
  `dictionary for instance variables (if defined)`

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

Data
`` |  | __author__ = 'j.s@google.com (Jeff Scudder)'

Author
`` |  | j.s@google.com (Jeff Scudder)