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