def test_applyTransform_streamiterator(self): tmp = tempfile.mkstemp()[1] try: with open(tmp, 'w') as out: out.write('foo') @implementer(ITransformer) class FauxTransformer(object): def __call__(self, request, result, encoding): return filestream_iterator(tmp) transformer = FauxTransformer() provideUtility(transformer) published = FauxPublished() request = FauxRequest(published) applyTransformOnSuccess(FauxPubEvent(request)) self.assertTrue( isinstance( request.response.getBody(), filestream_iterator ) ) finally: os.unlink(tmp)
def test_publish_content(self): context = FauxContent('foo') notify(ObjectCreatedEvent(context)) request = FauxRequest(context) notify(PubAfterTraversal(request)) applyTransformOnSuccess(FauxPubEvent(request)) self.assertEqual('#{}#'.format(IUUID(context)), request.response.getHeader('X-Ids-Involved'))
def test_applyTransform_webdav_port(self): class DoNotCallTransformer(object): implements(ITransformer) encoding = None def __call__(self, request, result, encoding): raise AssertionError("Shouldn't have been called") transformer = DoNotCallTransformer() provideUtility(transformer) published = FauxPublished() request = FauxRequest(published) request['WEBDAV_SOURCE_PORT'] = '8081' applyTransformOnSuccess(FauxPubEvent(request))
def test_applyTransform_iterable(self): @implementer(ITransformer) class FauxTransformer(object): def __call__(self, request, result, encoding): return ['iter', 'one'] transformer = FauxTransformer() provideUtility(transformer) published = FauxPublished() request = FauxRequest(published) applyTransformOnSuccess(FauxPubEvent(request)) self.assertEqual('iterone', request.response.getBody())
def test_applyTransform_iterable(self): class FauxTransformer(object): implements(ITransformer) def __call__(self, request, result, encoding): return ['iter', 'one'] transformer = FauxTransformer() provideUtility(transformer) published = FauxPublished() request = FauxRequest(published) applyTransformOnSuccess(FauxPubEvent(request)) self.assertEquals('iterone', request.response.getBody())
def test_applyTransform_str(self): class FauxTransformer(object): implements(ITransformer) def __call__(self, request, result, encoding): return 'dummystr' transformer = FauxTransformer() provideUtility(transformer) published = FauxPublished() request = FauxRequest(published) applyTransformOnSuccess(FauxPubEvent(request)) self.assertEquals('dummystr', request.response.getBody())
def test_applyTransform_webdav_method(self): class DoNotCallTransformer(object): implements(ITransformer) encoding = None def __call__(self, request, result, encoding): raise AssertionError("Shouldn't have been called") transformer = DoNotCallTransformer() provideUtility(transformer) published = FauxPublished() request = FauxRequest(published) request['REQUEST_METHOD'] = 'PUT' applyTransformOnSuccess(FauxPubEvent(request))
def test_applyTransform_webdav_pathinfo(self): class DoNotCallTransformer(object): implements(ITransformer) encoding = None def __call__(self, request, result, encoding): raise AssertionError("Shouldn't have been called") transformer = DoNotCallTransformer() provideUtility(transformer) published = FauxPublished() request = FauxRequest(published) request['PATH_INFO'] = '/foo/bar/manage_DAVget' applyTransformOnSuccess(FauxPubEvent(request))
def test_applyTransform_webdav_method(self): class DoNotCallTransformer(object): implements(ITransformer) encoding = None def __call__(self, request, result, encoding): raise AssertionError("Shouldn't have been called") transformer = DoNotCallTransformer() provideUtility(transformer) published = FauxPublished() request = FauxRequest(published) request['REQUEST_METHOD'] = 'PUT' applyTransformOnSuccess(FauxPubEvent(request))
def test_applyTransform_webdav_port(self): class DoNotCallTransformer(object): implements(ITransformer) encoding = None def __call__(self, request, result, encoding): raise AssertionError("Shouldn't have been called") transformer = DoNotCallTransformer() provideUtility(transformer) published = FauxPublished() request = FauxRequest(published) request['WEBDAV_SOURCE_PORT'] = '8081' applyTransformOnSuccess(FauxPubEvent(request))
def test_applyTransform_webdav_pathinfo(self): class DoNotCallTransformer(object): implements(ITransformer) encoding = None def __call__(self, request, result, encoding): raise AssertionError("Shouldn't have been called") transformer = DoNotCallTransformer() provideUtility(transformer) published = FauxPublished() request = FauxRequest(published) request['PATH_INFO'] = '/foo/bar/manage_DAVget' applyTransformOnSuccess(FauxPubEvent(request))
def test_applyTransform_unicode(self): @implementer(ITransformer) class FauxTransformer(object): def __call__(self, request, result, encoding): return u'dummystr' transformer = FauxTransformer() provideUtility(transformer) published = FauxPublished() request = FauxRequest(published) applyTransformOnSuccess(FauxPubEvent(request)) # note: the real setBody would encode here self.assertEqual(u'dummystr', request.response.getBody())
def test_applyTransform_default_encoding(self): class EncodingCaptureTransformer(object): implements(ITransformer) encoding = None def __call__(self, request, result, encoding): self.encoding = encoding transformer = EncodingCaptureTransformer() provideUtility(transformer) published = FauxPublished() request = FauxRequest(published) applyTransformOnSuccess(FauxPubEvent(request)) self.assertEquals(default_encoding, transformer.encoding)
def test_applyTransform_default_encoding(self): class EncodingCaptureTransformer(object): implements(ITransformer) encoding = None def __call__(self, request, result, encoding): self.encoding = encoding transformer = EncodingCaptureTransformer() provideUtility(transformer) published = FauxPublished() request = FauxRequest(published) applyTransformOnSuccess(FauxPubEvent(request)) self.assertEquals(default_encoding, transformer.encoding)
def test_applyTransform_str(self): @implementer(ITransformer) class FauxTransformer(object): def __call__(self, request, result, encoding): return 'dummystr' transformer = FauxTransformer() provideUtility(transformer) published = FauxPublished() request = FauxRequest(published) applyTransformOnSuccess(FauxPubEvent(request)) self.assertEqual('dummystr', request.response.getBody())
def test_applyTransform_unicode(self): class FauxTransformer(object): implements(ITransformer) def __call__(self, request, result, encoding): return u'dummystr' transformer = FauxTransformer() provideUtility(transformer) published = FauxPublished() request = FauxRequest(published) applyTransformOnSuccess(FauxPubEvent(request)) # note: the real setBody would encode here self.assertEquals(u'dummystr', request.response.getBody())
def test_applyTransform_other_encoding(self): class EncodingCaptureTransformer(object): implements(ITransformer) encoding = None def __call__(self, request, result, encoding): self.encoding = encoding transformer = EncodingCaptureTransformer() provideUtility(transformer) published = FauxPublished() request = FauxRequest(published) request.response.headers['content-type'] = 'text/html; charset=dummy' applyTransformOnSuccess(FauxPubEvent(request)) self.assertEquals("dummy", transformer.encoding)
def test_applyTransform_other_encoding(self): class EncodingCaptureTransformer(object): implements(ITransformer) encoding = None def __call__(self, request, result, encoding): self.encoding = encoding transformer = EncodingCaptureTransformer() provideUtility(transformer) published = FauxPublished() request = FauxRequest(published) request.response.headers['content-type'] = 'text/html; charset=dummy' applyTransformOnSuccess(FauxPubEvent(request)) self.assertEquals("dummy", transformer.encoding)
def test_applyTransform_other_encoding_with_header_missing_space(self): @implementer(ITransformer) class EncodingCaptureTransformer(object): encoding = None def __call__(self, request, result, encoding): self.encoding = encoding transformer = EncodingCaptureTransformer() provideUtility(transformer) published = FauxPublished() request = FauxRequest(published) request.response.headers['content-type'] = 'text/html;charset=utf-16' applyTransformOnSuccess(FauxPubEvent(request)) self.assertEqual('utf-16', transformer.encoding)
def test_applyTransform_str_input_body(self): @implementer(ITransformer) class FauxTransformer(object): def __call__(self, request, result, encoding): assert isinstance(result, list) assert isinstance(result[0], str) return 'dummystr' transformer = FauxTransformer() provideUtility(transformer) published = FauxPublished() request = FauxRequest(published) request.response.setBody('<html />') applyTransformOnSuccess(FauxPubEvent(request)) # note: the real setBody would encode here self.assertEqual('dummystr', request.response.getBody())
def test_applyTransform_str_input_body(self): class FauxTransformer(object): implements(ITransformer) def __call__(self, request, result, encoding): assert isinstance(result, list) assert isinstance(result[0], str) return 'dummystr' transformer = FauxTransformer() provideUtility(transformer) published = FauxPublished() request = FauxRequest(published) request.response.setBody("<html />") applyTransformOnSuccess(FauxPubEvent(request)) # note: the real setBody would encode here self.assertEquals('dummystr', request.response.getBody())
def test_applyTransform_unicode_input_body(self): @implementer(ITransformer) class FauxTransformer(object): def __call__(self, request, result, encoding): assert isinstance(result, list) assert isinstance(result[0], six.binary_type) return u'dummystr' transformer = FauxTransformer() provideUtility(transformer) published = FauxPublished() request = FauxRequest(published) request.response.setBody(u'<html />') applyTransformOnSuccess(FauxPubEvent(request)) # note: the real setBody would encode here self.assertEqual(u'dummystr', request.response.getBody())
def test_applyTransform_streamiterator(self): tmp = tempfile.mkstemp()[1] try: with open(tmp, 'w') as out: out.write('foo') @implementer(ITransformer) class FauxTransformer(object): def __call__(self, request, result, encoding): return filestream_iterator(tmp) transformer = FauxTransformer() provideUtility(transformer) published = FauxPublished() request = FauxRequest(published) applyTransformOnSuccess(FauxPubEvent(request)) self.assertTrue( isinstance(request.response.getBody(), filestream_iterator)) finally: os.unlink(tmp)
def test_applyTransform_streamiterator(self): tmp = tempfile.mkstemp()[1] try: out = open(tmp, 'w') print >> out, "foo" out.close() class FauxTransformer(object): implements(ITransformer) def __call__(self, request, result, encoding): return filestream_iterator(tmp) transformer = FauxTransformer() provideUtility(transformer) published = FauxPublished() request = FauxRequest(published) applyTransformOnSuccess(FauxPubEvent(request)) self.failUnless(isinstance(request.response.getBody(), filestream_iterator,)) finally: os.unlink(tmp)
def test_applyTransform_streamiterator(self): tmp = tempfile.mkstemp()[1] try: out = open(tmp, 'w') print >> out, "foo" out.close() class FauxTransformer(object): implements(ITransformer) def __call__(self, request, result, encoding): return filestream_iterator(tmp) transformer = FauxTransformer() provideUtility(transformer) published = FauxPublished() request = FauxRequest(published) applyTransformOnSuccess(FauxPubEvent(request)) self.failUnless(isinstance(request.response.getBody(), filestream_iterator,)) finally: os.unlink(tmp)
def test_applyTransform_no_utility(self): published = FauxPublished() request = FauxRequest(published) applyTransformOnSuccess(FauxPubEvent(request))
def test_applyTransform_no_utility(self): published = FauxPublished() request = FauxRequest(published) applyTransformOnSuccess(FauxPubEvent(request))