Ejemplo n.º 1
0
 def test_handle_service_request_with_length(self):
     self._environ['wsgi.input'] = StringIO('foobar')
     self._environ['CONTENT_LENGTH'] = 3
     mat = re.search('.*', '/git-upload-pack')
     output = ''.join(handle_service_request(self._req, 'backend', mat,
                                             services=self.services()))
     self.assertEqual('handled input: foo', output)
     response_type = 'application/x-git-upload-pack-response'
     self.assertTrue(('Content-Type', response_type) in self._headers)
Ejemplo n.º 2
0
 def test_handle_service_request(self):
     self._environ['wsgi.input'] = StringIO('foo')
     mat = re.search('.*', '/git-upload-pack')
     output = ''.join(handle_service_request(self._req, 'backend', mat,
                                             services=self.services()))
     self.assertEqual('handled input: foo', output)
     response_type = 'application/x-git-upload-pack-response'
     self.assertTrue(('Content-Type', response_type) in self._headers)
     self.assertFalse(self._handler.advertise_refs)
     self.assertTrue(self._handler.stateless_rpc)
Ejemplo n.º 3
0
 def _run_handle_service_request(self, content_length=None):
     self._environ["wsgi.input"] = StringIO("foo")
     if content_length is not None:
         self._environ["CONTENT_LENGTH"] = content_length
     mat = re.search(".*", "/git-upload-pack")
     handler_output = "".join(handle_service_request(self._req, "backend", mat))
     write_output = self._output.getvalue()
     # Ensure all output was written via the write callback.
     self.assertEqual("", handler_output)
     self.assertEqual("handled input: foo", write_output)
     self.assertContentTypeEquals("application/x-git-upload-pack-result")
     self.assertFalse(self._handler.advertise_refs)
     self.assertTrue(self._handler.http_req)
     self.assertFalse(self._req.cached)
Ejemplo n.º 4
0
 def _run_handle_service_request(self, content_length=None):
     self._environ['wsgi.input'] = StringIO('foo')
     if content_length is not None:
         self._environ['CONTENT_LENGTH'] = content_length
     mat = re.search('.*', '/git-upload-pack')
     handler_output = ''.join(
       handle_service_request(self._req, 'backend', mat))
     write_output = self._output.getvalue()
     # Ensure all output was written via the write callback.
     self.assertEqual('', handler_output)
     self.assertEqual('handled input: foo', write_output)
     self.assertContentTypeEquals('application/x-git-upload-pack-result')
     self.assertFalse(self._handler.advertise_refs)
     self.assertTrue(self._handler.http_req)
     self.assertFalse(self._req.cached)
Ejemplo n.º 5
0
 def _run_handle_service_request(self, content_length=None):
     self._environ['wsgi.input'] = StringIO('foo')
     if content_length is not None:
         self._environ['CONTENT_LENGTH'] = content_length
     mat = re.search('.*', '/git-upload-pack')
     handler_output = ''.join(
       handle_service_request(self._req, 'backend', mat))
     write_output = self._output.getvalue()
     # Ensure all output was written via the write callback.
     self.assertEqual('', handler_output)
     self.assertEqual('handled input: foo', write_output)
     self.assertContentTypeEquals('application/x-git-upload-pack-result')
     self.assertFalse(self._handler.advertise_refs)
     self.assertTrue(self._handler.http_req)
     self.assertFalse(self._req.cached)
Ejemplo n.º 6
0
    def _run_handle_service_request(self, content_length=None):
        self._environ["wsgi.input"] = BytesIO(b"foo")
        if content_length is not None:
            self._environ["CONTENT_LENGTH"] = content_length
        mat = re.search(".*", "/git-upload-pack")

        class Backend(object):
            def open_repository(self, path):
                return None

        handler_output = b"".join(handle_service_request(self._req, Backend(), mat))
        write_output = self._output.getvalue()
        # Ensure all output was written via the write callback.
        self.assertEqual(b"", handler_output)
        self.assertEqual(b"handled input: foo", write_output)
        self.assertContentTypeEquals("application/x-git-upload-pack-result")
        self.assertFalse(self._handler.advertise_refs)
        self.assertTrue(self._handler.stateless_rpc)
        self.assertFalse(self._req.cached)
Ejemplo n.º 7
0
    def _run_handle_service_request(self, content_length=None):
        self._environ['wsgi.input'] = BytesIO(b'foo')
        if content_length is not None:
            self._environ['CONTENT_LENGTH'] = content_length
        mat = re.search('.*', '/git-upload-pack')

        class Backend(object):
            def open_repository(self, path):
                return None
        handler_output = b''.join(
          handle_service_request(self._req, Backend(), mat))
        write_output = self._output.getvalue()
        # Ensure all output was written via the write callback.
        self.assertEqual(b'', handler_output)
        self.assertEqual(b'handled input: foo', write_output)
        self.assertContentTypeEquals('application/x-git-upload-pack-result')
        self.assertFalse(self._handler.advertise_refs)
        self.assertTrue(self._handler.http_req)
        self.assertFalse(self._req.cached)
Ejemplo n.º 8
0
    def _run_handle_service_request(self, content_length=None):
        self._environ['wsgi.input'] = BytesIO(b'foo')
        if content_length is not None:
            self._environ['CONTENT_LENGTH'] = content_length
        mat = re.search('.*', '/git-upload-pack')

        class Backend(object):
            def open_repository(self, path):
                return None

        handler_output = b''.join(
            handle_service_request(self._req, Backend(), mat))
        write_output = self._output.getvalue()
        # Ensure all output was written via the write callback.
        self.assertEqual(b'', handler_output)
        self.assertEqual(b'handled input: foo', write_output)
        self.assertContentTypeEquals('application/x-git-upload-pack-result')
        self.assertFalse(self._handler.advertise_refs)
        self.assertTrue(self._handler.http_req)
        self.assertFalse(self._req.cached)
Ejemplo n.º 9
0
 def test_handle_service_request_unknown(self):
     mat = re.search('.*', '/git-evil-handler')
     list(handle_service_request(self._req, 'backend', mat))
     self.assertEquals(HTTP_FORBIDDEN, self._status)
     self.assertFalse(self._req.cached)
Ejemplo n.º 10
0
 def test_handle_service_request_unknown(self):
     mat = re.search('.*', '/git-evil-handler')
     list(handle_service_request(self._req, 'backend', mat))
     self.assertEquals(HTTP_FORBIDDEN, self._status)
     self.assertFalse(self._req.cached)
Ejemplo n.º 11
0
 def test_handle_service_request_unknown(self):
     mat = re.search(".*", "/git-evil-handler")
     content = list(handle_service_request(self._req, "backend", mat))
     self.assertEqual(HTTP_FORBIDDEN, self._status)
     self.assertNotIn(b"git-evil-handler", b"".join(content))
     self.assertFalse(self._req.cached)