Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
0
 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'))
Ejemplo n.º 3
0
 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))
Ejemplo n.º 4
0
    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())
Ejemplo n.º 5
0
 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())
Ejemplo n.º 6
0
    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())
Ejemplo n.º 7
0
 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))
Ejemplo n.º 8
0
    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))
Ejemplo n.º 9
0
    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))
Ejemplo n.º 10
0
    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))
Ejemplo n.º 11
0
 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))
Ejemplo n.º 12
0
    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())
Ejemplo n.º 13
0
 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)
Ejemplo n.º 14
0
    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)
Ejemplo n.º 15
0
    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())
Ejemplo n.º 16
0
 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())
Ejemplo n.º 17
0
 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)
Ejemplo n.º 18
0
    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)
Ejemplo n.º 19
0
    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)
Ejemplo n.º 20
0
    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())
Ejemplo n.º 21
0
 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())
Ejemplo n.º 22
0
    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())
Ejemplo n.º 23
0
    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)
Ejemplo n.º 24
0
 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)
Ejemplo n.º 25
0
    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)
Ejemplo n.º 26
0
 def test_applyTransform_no_utility(self):
     published = FauxPublished()
     request = FauxRequest(published)
     applyTransformOnSuccess(FauxPubEvent(request))
Ejemplo n.º 27
0
 def test_applyTransform_no_utility(self):
     published = FauxPublished()
     request = FauxRequest(published)
     applyTransformOnSuccess(FauxPubEvent(request))