def make_request(self, method, path, headers=None, protocols=False): self.app = mock.Mock() self.app._debug = False if headers is None: headers = CIMultiDict({ 'HOST': 'server.example.com', 'UPGRADE': 'websocket', 'CONNECTION': 'Upgrade', 'SEC-WEBSOCKET-KEY': 'dGhlIHNhbXBsZSBub25jZQ==', 'ORIGIN': 'http://example.com', 'SEC-WEBSOCKET-VERSION': '13' }) if protocols: headers['SEC-WEBSOCKET-PROTOCOL'] = 'chat, superchat' message = RawRequestMessage(method, path, HttpVersion11, headers, [(k.encode('utf-8'), v.encode('utf-8')) for k, v in headers.items()], False, False) self.payload = mock.Mock() self.transport = mock.Mock() self.reader = mock.Mock() self.writer = mock.Mock() self.app.loop = self.loop self.app.on_response_prepare = signals.Signal(self.app) req = Request(self.app, message, self.payload, self.transport, self.reader, self.writer) return req
def make_request(self, method='GET', path='/', headers=CIMultiDict()): self.app = mock.Mock() message = RawRequestMessage(method, path, HttpVersion11, headers, False, False) req = Request(self.app, message, self.payload, self.transport, self.reader, self.writer) return req
def make_request(self, method, path, headers=CIMultiDict(), *, version=HttpVersion(1, 1), closing=False, sslcontext=None, secure_proxy_ssl_header=None): if version < HttpVersion(1, 1): closing = True self.app = mock.Mock() message = RawRequestMessage(method, path, version, headers, closing, False) self.payload = mock.Mock() self.transport = mock.Mock() def get_extra_info(key): if key == 'sslcontext': return sslcontext else: return None self.transport.get_extra_info.side_effect = get_extra_info self.writer = mock.Mock() self.reader = mock.Mock() req = Request(self.app, message, self.payload, self.transport, self.reader, self.writer, secure_proxy_ssl_header=secure_proxy_ssl_header) return req
def maker(method, path, headers=CIMultiDict(), *, version=HttpVersion(1, 1), closing=False, sslcontext=None, secure_proxy_ssl_header=None): if version < HttpVersion(1, 1): closing = True app = mock.Mock() app._debug = False app.on_response_prepare = Signal(app) message = RawRequestMessage(method, path, version, headers, [(k.encode('utf-8'), v.encode('utf-8')) for k, v in headers.items()], closing, False) payload = mock.Mock() transport = mock.Mock() def get_extra_info(key): if key == 'sslcontext': return sslcontext else: return None transport.get_extra_info.side_effect = get_extra_info writer = mock.Mock() reader = mock.Mock() req = Request(app, message, payload, transport, reader, writer, secure_proxy_ssl_header=secure_proxy_ssl_header) assert req.app is app assert req.content is payload assert req.transport is transport return req
def request_from_message(message, app): payload = mock.Mock() transport = mock.Mock() reader = mock.Mock() writer = mock.Mock() req = Request(app, message, payload, transport, reader, writer) return req
def make_request(self, method, path, query_params={}, headers=None, match_info=None): if query_params: path = '%s?%s' % (path, urllib.parse.urlencode(query_params)) # Ported from: # https://github.com/KeepSafe/aiohttp/blob/fa06acc2392c516491bdb25301ad3ef2b700ff5f/tests/test_web_websocket.py#L21-L45 # noqa self.app = mock.Mock() self.app._debug = False if headers is None: headers = CIMultiDict({ 'HOST': 'server.example.com', 'UPGRADE': 'websocket', 'CONNECTION': 'Upgrade', 'SEC-WEBSOCKET-KEY': 'dGhlIHNhbXBsZSBub25jZQ==', 'ORIGIN': 'http://example.com', 'SEC-WEBSOCKET-PROTOCOL': 'chat, superchat', 'SEC-WEBSOCKET-VERSION': '13' }) message = make_raw_request_message(method, path, headers) self.payload = mock.Mock() self.transport = mock.Mock() self.reader = mock.Mock() self.writer = mock.Mock() self.app.loop = self.loop self.app.on_response_prepare = Signal(self.app) req = Request(self.app, message, self.payload, self.transport, self.reader, self.writer) req._match_info = match_info return req
def handle_request(self, message, payload): app = self._app request = Request(app, message, payload, self.transport, self.reader, self.writer) try: match_info = yield from self._router.resolve(request) assert isinstance(match_info, AbstractMatchInfo), match_info request._match_info = match_info handler = match_info.handler for factory in reversed(self._middlewares): handler = yield from factory(app, handler) resp = yield from handler(request) if not isinstance(resp, StreamResponse): raise RuntimeError( ("Handler {!r} should return response instance, " "got {!r} [middlewares {!r}]").format( match_info.handler, type(resp), self._middlewares)) except HTTPException as exc: resp = exc return resp
def make_request(self, method, path, headers=MultiDict()): self.app = mock.Mock() message = RawRequestMessage(method, path, HttpVersion11, headers, False, False) self.payload = mock.Mock() self.writer = mock.Mock() req = Request(self.app, message, self.payload, self.writer) return req
def request_from_message(self, message): self.app = mock.Mock() self.payload = mock.Mock() self.transport = mock.Mock() self.reader = mock.Mock() self.writer = mock.Mock() req = Request(self.app, message, self.payload, self.transport, self.reader, self.writer) return req
def request_from_message(message, **kwargs): app = kwargs.get('app') or mock.Mock() app._debug = False app.on_response_prepare = signals.Signal(app) payload = mock.Mock() transport = mock.Mock() reader = mock.Mock() writer = kwargs.get('writer') or mock.Mock() req = Request(app, message, payload, transport, reader, writer) return req
def make_request(self, method, path): self.app = mock.Mock() message = RawRequestMessage(method, path, HttpVersion(1, 1), MultiDict(), False, False) self.payload = mock.Mock() self.transport = mock.Mock() self.writer = mock.Mock() req = Request(self.app, message, self.payload, self.transport, self.writer, 15) return req
def make_request(self, method, path, headers=CIMultiDict(), *, version=HttpVersion(1, 1), closing=False): self.app = mock.Mock() message = RawRequestMessage(method, path, version, headers, closing, False) self.payload = mock.Mock() self.transport = mock.Mock() self.writer = mock.Mock() self.reader = mock.Mock() req = Request(self.app, message, self.payload, self.transport, self.reader, self.writer) return req
def make_request(self, method, path, headers=None): self.app = mock.Mock() if headers is None: headers = CIMultiDict( {'HOST': 'server.example.com', 'UPGRADE': 'websocket', 'CONNECTION': 'Upgrade', 'SEC-WEBSOCKET-KEY': 'dGhlIHNhbXBsZSBub25jZQ==', 'ORIGIN': 'http://example.com', 'SEC-WEBSOCKET-PROTOCOL': 'chat, superchat', 'SEC-WEBSOCKET-VERSION': '13'}) message = RawRequestMessage(method, path, HttpVersion11, headers, False, False) self.payload = mock.Mock() self.transport = mock.Mock() self.reader = mock.Mock() self.writer = mock.Mock() self.app.loop = self.loop req = Request(self.app, message, self.payload, self.transport, self.reader, self.writer) return req
def request(buf): method = 'GET' path = '/' headers = CIMultiDict() transport = mock.Mock() payload = mock.Mock() reader = mock.Mock() writer = mock.Mock() writer.drain.return_value = () def append(data): buf.extend(data) writer.write.side_effect = append app = mock.Mock() app._debug = False app.on_response_prepare = signals.Signal(app) message = RawRequestMessage(method, path, HttpVersion11, headers, [], False, False) req = Request(app, message, payload, transport, reader, writer) return req
def make_request(self, method, path, headers=CIMultiDict(), *, version=HttpVersion(1, 1), closing=False): self.app = mock.Mock() if tuple(int(i) for i in aiohttp.__version__.split('.')) < (0, 21): message = RawRequestMessage(method, path, version, headers, closing, False) else: message = RawRequestMessage(method, path, version, headers, [(k.encode('utf-8'), v.encode('utf-8')) for k, v in headers.items()], closing, False) self.payload = mock.Mock() self.transport = mock.Mock() self.writer = mock.Mock() self.reader = mock.Mock() req = Request(self.app, message, self.payload, self.transport, self.reader, self.writer) return req