def test_put_no_content_type_header(self): class WriteFile(object): def __init__(self, context): self.context = context self._written = '' self._closed = False mimeType = None encoding = None def write(self, data): self._written += data def close(self): self._closed = True adapterInstance = WriteFile(None) def factory(context): return adapterInstance self.mock_adapter(factory, IRawWriteFile, (Item,)) request = DAVTestRequest(environ={'BODYFILE': StringIO('data')}) item = Item('item') item.REQUEST = request self.replay() item.PUT() self.assertEqual(None, adapterInstance.mimeType) self.assertEqual(None, adapterInstance.encoding) self.assertEqual('data', adapterInstance._written) self.assertEqual(True, adapterInstance._closed)
def test_get_simple_adapter(self): class ReadFileAdapter(object): def __init__(self, context): self.context = context mimeType = 'text/foo' encoding = 'latin1' def size(self): return 10 def read(self, size=None): return '1234567890' self.mock_adapter(ReadFileAdapter, IRawReadFile, (Item,)) request = DAVTestRequest() item = Item('item') item.REQUEST = request self.replay() self.assertEqual('1234567890', item.manage_DAVget()) self.assertEqual( 'text/foo; charset="latin1"', request.response.getHeader('Content-Type') ) self.assertEqual('10', request.response.getHeader('Content-Length'))
def test_get_streaming(self): class ReadFileAdapter(object): implements(IStreamIterator) def __init__(self, context): self.context = context mimeType = None encoding = None def size(self): return 10 def read(self, size=None): return '1234567890' adapterInstance = ReadFileAdapter(None) def factory(context): return adapterInstance self.mock_adapter(factory, IRawReadFile, (Item,)) request = DAVTestRequest() item = Item('item') item.REQUEST = request self.replay() self.assertEqual(adapterInstance, item.manage_DAVget())
def test_put_no_adapter(self): request = DAVTestRequest(environ={'BODYFILE': StringIO('')}) item = Item('item') item.REQUEST = request self.assertRaises(MethodNotAllowed, item.PUT)
def test_put_no_body(self): request = DAVTestRequest() item = Item('item') item.REQUEST = request self.assertRaises(MethodNotAllowed, item.PUT)
def test_put_no_content_type_header(self): class WriteFile(object): def __init__(self, context): self.context = context self._written = '' self._closed = False mimeType = None encoding = None def write(self, data): self._written += data def close(self): self._closed = True adapterInstance = WriteFile(None) def factory(context): return adapterInstance self.mock_adapter(factory, IRawWriteFile, (Item, )) request = DAVTestRequest(environ={'BODYFILE': StringIO('data')}) item = Item('item') item.REQUEST = request self.replay() item.PUT() self.assertEqual(None, adapterInstance.mimeType) self.assertEqual(None, adapterInstance.encoding) self.assertEqual('data', adapterInstance._written) self.assertEqual(True, adapterInstance._closed)
def test_get_minimal_adapter(self): class ReadFileAdapter(object): def __init__(self, context): self.context = context mimeType = None encoding = None def size(self): return None def read(self, size=None): return '1234567890' self.mock_adapter(ReadFileAdapter, IRawReadFile, (Item, )) request = DAVTestRequest() item = Item('item') item.REQUEST = request self.replay() self.assertEqual('1234567890', item.manage_DAVget()) self.assertEqual(None, request.response.getHeader('Content-Type')) self.assertEqual(None, request.response.getHeader('Content-Length'))
def test_get_streaming(self): class ReadFileAdapter(object): implements(IStreamIterator) def __init__(self, context): self.context = context mimeType = None encoding = None def size(self): return 10 def read(self, size=None): return '1234567890' adapterInstance = ReadFileAdapter(None) def factory(context): return adapterInstance self.mock_adapter(factory, IRawReadFile, (Item, )) request = DAVTestRequest() item = Item('item') item.REQUEST = request self.replay() self.assertEqual(adapterInstance, item.manage_DAVget())
def test_get_simple_adapter(self): class ReadFileAdapter(object): def __init__(self, context): self.context = context mimeType = 'text/foo' encoding = 'latin1' def size(self): return 10 def read(self, size=None): return '1234567890' self.mock_adapter(ReadFileAdapter, IRawReadFile, (Item, )) request = DAVTestRequest() item = Item('item') item.REQUEST = request self.replay() self.assertEqual('1234567890', item.manage_DAVget()) self.assertEqual('text/foo; charset="latin1"', request.response.getHeader('Content-Type')) self.assertEqual('10', request.response.getHeader('Content-Length'))
def test_get_minimal_adapter(self): class ReadFileAdapter(object): def __init__(self, context): self.context = context mimeType = None encoding = None def size(self): return None def read(self, size=None): return "1234567890" self.mock_adapter(ReadFileAdapter, IRawReadFile, (Item,)) request = DAVTestRequest() item = Item("item") item.REQUEST = request self.replay() self.assertEqual("1234567890", item.manage_DAVget()) self.assertEqual(None, request.response.getHeader("Content-Type")) self.assertEqual(None, request.response.getHeader("Content-Length"))
def test_put_no_adapter(self): request = DAVTestRequest(environ={"BODYFILE": StringIO("")}) item = Item("item") item.REQUEST = request self.replay() self.assertRaises(MethodNotAllowed, item.PUT)
def test_put_with_content_type_header_and_charset(self): class WriteFile(object): def __init__(self, context): self.context = context self._written = '' self._closed = False mimeType = None encoding = None def write(self, data): self._written += data def close(self): self._closed = True adapterInstance = WriteFile(None) def factory(context): return adapterInstance events = [] def handler(event): events.append(event) self.mock_adapter(factory, IRawWriteFile, (Item,)) self.mock_handler(handler, (IObjectModifiedEvent,)) request = DAVTestRequest( environ={ 'BODYFILE': StringIO('data'), 'HTTP_CONTENT_TYPE': 'text/foo; charset="latin1"' } ) item = Item('item') item.REQUEST = request self.replay() item.PUT() self.assertEqual('text/foo', adapterInstance.mimeType) self.assertEqual('latin1', adapterInstance.encoding) self.assertEqual('data', adapterInstance._written) self.assertEqual(True, adapterInstance._closed) self.assertEqual(1, len(events))
def test_put_with_content_type_header_and_charset(self): class WriteFile(object): def __init__(self, context): self.context = context self._written = '' self._closed = False mimeType = None encoding = None def write(self, data): self._written += data def close(self): self._closed = True adapterInstance = WriteFile(None) def factory(context): return adapterInstance events = [] def handler(event): events.append(event) self.mock_adapter(factory, IRawWriteFile, (Item, )) self.mock_handler(handler, (IObjectModifiedEvent, )) request = DAVTestRequest( environ={ 'BODYFILE': StringIO('data'), 'HTTP_CONTENT_TYPE': 'text/foo; charset="latin1"' }) item = Item('item') item.REQUEST = request self.replay() item.PUT() self.assertEqual('text/foo', adapterInstance.mimeType) self.assertEqual('latin1', adapterInstance.encoding) self.assertEqual('data', adapterInstance._written) self.assertEqual(True, adapterInstance._closed) self.assertEqual(1, len(events))