예제 #1
0
 def test_handle_post__ok(self, mockFilterSystem):
     middleware = self._make_one({'options': {}})
     env = {'REQUEST_METHOD': 'POST', 'REMOTE_ADDR': '127.0.0.1',
            'HTTP_HOST': 'localhost'}
     request = Request.blank('/', env)
     mockFilterSystem.test.return_value = True
     mockFilterSystem._backend_factory = mock.Mock()
     result = middleware.handle_post(request)
     self.assertEqual(result, (True, ''))
예제 #2
0
    def test_handle_post__nope(self, mockFilterSystem):
        middleware = self._make_one({'options': {}})
        env = {'REQUEST_METHOD': 'POST', 'REMOTE_ADDR': '127.0.0.1',
               'HTTP_HOST': 'localhost'}
        request = Request.blank('/', env)
        from hamage.filter import RejectContent
        mockFilterSystem.return_value.test.side_effect = RejectContent('oh no')

        result = middleware.handle_post(request)
        self.assertEqual(result, (False, 'oh no'))
예제 #3
0
    def test_handle_spam(self):
        middleware = self._make_one({'options': {}})
        env = {'REQUEST_METHOD': 'POST', 'REMOTE_ADDR': '127.0.0.1',
               'HTTP_HOST': 'localhost'}
        request = Request.blank('/', env)

        def app_side_effect(environ, start_response):
            # need this to make webob.Request.get_response(app) happy
            start_response('200 OK', headers=[])
            return ['This is the response body']

        middleware.app.side_effect = app_side_effect
        middleware.handle_spam(request)