def test_utf8_default(self): result = u.parse_api_response({}, u'{"test": "\u2603"}'.encode('utf8')) self.assertEqual({'test': u'\u2603'}, result) result = u.parse_api_response({}, u'{"test": "\\u2603"}'.encode('utf8')) self.assertEqual({'test': u'\u2603'}, result)
def test_utf8_default(self): result = u.parse_api_response( {}, u'{"test": "\u2603"}'.encode('utf8')) self.assertEqual({'test': u'\u2603'}, result) result = u.parse_api_response( {}, u'{"test": "\\u2603"}'.encode('utf8')) self.assertEqual({'test': u'\u2603'}, result)
def test_gzipped_body(self): buf = six.BytesIO() gz = gzip.GzipFile(fileobj=buf, mode='w') gz.write(u'{"test": "\u2603"}'.encode('utf8')) gz.close() result = u.parse_api_response({'content-encoding': 'gzip'}, buf.getvalue()) self.assertEqual({'test': u'\u2603'}, result)
def _bulk_delete(self, container, objects): objects = [quote(('/%s/%s' % (container, obj['name'])).encode('utf-8')) for obj in objects] headers, body = self.swift.post_account( headers=self.POST_HEADERS, query_string='bulk-delete', data=b''.join(obj.encode('utf-8') + b'\n' for obj in objects)) resp = swift_utils.parse_api_response(headers, body) LOG.debug('# of objects deleted: %s, # of objects skipped: %s', resp['Number Deleted'], resp['Number Not Found'])
def test_gzipped_body(self): buf = six.BytesIO() gz = gzip.GzipFile(fileobj=buf, mode='w') gz.write(u'{"test": "\u2603"}'.encode('utf8')) gz.close() result = u.parse_api_response( {'content-encoding': 'gzip'}, buf.getvalue()) self.assertEqual({'test': u'\u2603'}, result)
def _bulk_delete(self, container, objects): objects = [ quote(('/%s/%s' % (container, obj['name'])).encode('utf-8')) for obj in objects ] headers, body = self.swift.post_account( headers=self.POST_HEADERS, query_string='bulk-delete', data=b''.join(obj.encode('utf-8') + b'\n' for obj in objects)) resp = swift_utils.parse_api_response(headers, body) LOG.debug('# of objects deleted: %s, # of objects skipped: %s', resp['Number Deleted'], resp['Number Not Found'])
def bulk_delete(conn, container, objects): objects = [quote(('/%s/%s' % (container, obj['name'])).encode('utf-8')) for obj in objects] resp = {} headers, body = conn.post_account( headers=POST_HEADERS, query_string='bulk-delete', data=b''.join(obj.encode('utf-8') + b'\n' for obj in objects), response_dict=resp) if resp['status'] != 200: raise storage.StorageError( "Unable to bulk-delete, is bulk-delete enabled in Swift?") resp = swift_utils.parse_api_response(headers, body) LOG.debug('# of objects deleted: %s, # of objects skipped: %s', resp['Number Deleted'], resp['Number Not Found'])
def test_latin_1(self): result = u.parse_api_response( {'content-type': 'application/json; charset=iso8859-1'}, b'{"t\xe9st": "\xff"}') self.assertEqual({u't\xe9st': u'\xff'}, result)