From 253c15f0b2326acd517145ca4bc38ff3db92c756 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ionu=C8=9B=20Ar=C8=9B=C4=83ri=C8=99i?= Date: Mon, 23 Jul 2012 16:50:51 +0200 Subject: [PATCH] use boto's HTTPResponse class for versions of boto >=2.5.2 Fixes bug: 1027984 Change-Id: I2101ddaa78ede90f39b55d28aab73e7f5a816af5 --- nova/tests/test_api.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/nova/tests/test_api.py b/nova/tests/test_api.py index fe29db741..f176231d2 100644 --- a/nova/tests/test_api.py +++ b/nova/tests/test_api.py @@ -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()