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_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))