Python3: fix test_insecure

test_insecure() fails because it ends up calling guess_json_utf8() in the
requests module, where the count() method of the str type is called with bytes
input:

    nullcount = sample.count(_null)

This patch makes sure that we pass 'sample' as bytes.

Change-Id: I70071623d425ebbf910d3568a7b5c5d857892402
This commit is contained in:
Cyril Roelandt
2014-02-07 21:35:18 +01:00
parent 2a64a1b37b
commit 65abf74e1a

View File

@@ -17,6 +17,7 @@
import httpretty import httpretty
import mock import mock
import requests import requests
import six
import testtools import testtools
import webob import webob
@@ -126,9 +127,12 @@ class S3TokenMiddlewareTestGood(S3TokenMiddlewareTestBase):
self.middleware = ( self.middleware = (
s3_token.filter_factory({'insecure': True})(FakeApp())) s3_token.filter_factory({'insecure': True})(FakeApp()))
text_return_value = jsonutils.dumps(GOOD_RESPONSE)
if six.PY3:
text_return_value = text_return_value.encode()
MOCK_REQUEST.return_value = utils.TestResponse({ MOCK_REQUEST.return_value = utils.TestResponse({
'status_code': 201, 'status_code': 201,
'text': jsonutils.dumps(GOOD_RESPONSE)}) 'text': text_return_value})
req = webob.Request.blank('/v1/AUTH_cfa/c/o') req = webob.Request.blank('/v1/AUTH_cfa/c/o')
req.headers['Authorization'] = 'access:signature' req.headers['Authorization'] = 'access:signature'