use boto's HTTPResponse class for versions of boto >=2.5.2

Fixes bug: 1027984

Change-Id: I2101ddaa78ede90f39b55d28aab73e7f5a816af5
This commit is contained in:
Ionuț Arțăriși 2012-07-23 16:50:51 +02:00
parent 3351ac4ee2
commit 253c15f0b2

View File

@ -18,13 +18,17 @@
"""Unit tests for the API endpoint"""
import httplib
import random
import StringIO
import boto
from boto.ec2 import regioninfo
from boto import exception as boto_exc
# newer versions of boto use their own wrapper on top of httplib.HTTPResponse
try:
from boto.connection import HTTPResponse
except ImportError:
from httplib import HTTPResponse
import webob
from nova.api import auth
@ -58,7 +62,7 @@ class FakeHttplibConnection(object):
requests made via this connection actually get translated and routed into
our WSGI app, we then wait for the response and turn it back into
the httplib.HTTPResponse that boto expects.
the HTTPResponse that boto expects.
"""
def __init__(self, app, host, is_secure=False):
self.app = app
@ -77,7 +81,7 @@ class FakeHttplibConnection(object):
# guess that's a function the web server usually provides.
resp = "HTTP/1.0 %s" % resp
self.sock = FakeHttplibSocket(resp)
self.http_response = httplib.HTTPResponse(self.sock)
self.http_response = HTTPResponse(self.sock)
# NOTE(vish): boto is accessing private variables for some reason
self._HTTPConnection__response = self.http_response
self.http_response.begin()