我们从Python开源项目中,提取了以下50个代码示例,用于说明如何使用werkzeug.test.EnvironBuilder()。
def from_values(cls, *args, **kwargs): """Create a new request object based on the values provided. If environ is given missing values are filled from there. This method is useful for small scripts when you need to simulate a request from an URL. Do not use this method for unittesting, there is a full featured client object (:class:`Client`) that allows to create multipart requests, support for cookies etc. This accepts the same options as the :class:`~werkzeug.test.EnvironBuilder`. .. versionchanged:: 0.5 This method now accepts the same arguments as :class:`~werkzeug.test.EnvironBuilder`. Because of this the `environ` parameter is now called `environ_overrides`. :return: request object """ from werkzeug.test import EnvironBuilder charset = kwargs.pop('charset', cls.charset) builder = EnvironBuilder(*args, **kwargs) try: return builder.get_request(cls) finally: builder.close()
def connect(self, namespace=None): """Connect the client. :param namespace: The namespace for the client. If not provided, the client connects to the server on the global namespace. Note that it is usually not necessary to explicitly call this method, since a connection is automatically established when an instance of this class is created. An example where it this method would be useful is when the application accepts multiple namespace connections. """ environ = EnvironBuilder('/socket.io').get_environ() environ['flask.app'] = self.app self.socketio.server._handle_eio_connect(self.sid, environ) if namespace is not None and namespace != '/': pkt = packet.Packet(packet.CONNECT, namespace=namespace) with self.app.app_context(): self.socketio.server._handle_eio_message(self.sid, pkt.encode())
def build_wsgi_environ_from_event(event): """Create a WSGI environment from the proxy integration event.""" params = event.get('queryStringParameters') environ = EnvironBuilder(method=event.get('httpMethod') or 'GET', path=event.get('path') or '/', headers=event.get('headers') or {}, data=event.get('body') or b'', query_string=params or {}).get_environ() environ['SERVER_PORT'] = 443 if 'execute-api' in environ['HTTP_HOST']: # this is the API-Gateway hostname, which takes the stage as the first # script path component environ['SCRIPT_NAME'] = '/' + event['requestContext'].get('stage') else: # we are using our own hostname, nothing gets added to the script path environ['SCRIPT_NAME'] = '' environ['wsgi.url_scheme'] = 'https' environ['lambda.event'] = event return environ
def test_file_selection_post(self, client, vis, random_image_files): with client.session_transaction() as sess: sess['vis_name'] = vis.__name__ # load some settings into the session if the visualization calls # for it if hasattr(vis, 'settings'): sess['settings'] = {key: vis.settings[key][0] for key in vis.settings} # random images builder = EnvironBuilder(path=url_for('select_files'), method='POST') for path in random_image_files.listdir(): path = str(path) builder.files.add_file('file[]', path, filename=os.path.split(str(path))[-1]) rv = client.post(url_for('select_files'), data=builder.files) assert rv.status_code == 200
def from_values(cls, *args, **kwargs): """Create a new request object based on the values provided. If environ is given missing values are filled from there. This method is useful for small scripts when you need to simulate a request from an URL. Do not use this method for unittesting, there is a full featured client object (:class:`Client`) that allows to create multipart requests, support for cookies etc. This accepts the same options as the :class:`~werkzeug.test.EnvironBuilder`. .. versionchanged:: 0.5 This method now accepts the same arguments as :class:`~werkzeug.test.EnvironBuilder`. Because of this the `environ` parameter is now called `environ_overrides`. :return: request object """ from werkzeug.test import EnvironBuilder charset = kwargs.pop('charset', cls.charset) kwargs['charset'] = charset builder = EnvironBuilder(*args, **kwargs) try: return builder.get_request(cls) finally: builder.close()
def make_test_environ_builder(app, path='/', base_url=None, *args, **kwargs): """Creates a new test builder with some application defaults thrown in.""" http_host = app.config.get('SERVER_NAME') app_root = app.config.get('APPLICATION_ROOT') if base_url is None: url = url_parse(path) base_url = 'http://%s/' % (url.netloc or http_host or 'localhost') if app_root: base_url += app_root.lstrip('/') if url.netloc: path = url.path return EnvironBuilder(path, base_url, *args, **kwargs)
def make_test_environ_builder(app, path='/', base_url=None, *args, **kwargs): """Creates a new test builder with some application defaults thrown in.""" http_host = app.config.get('SERVER_NAME') app_root = app.config.get('APPLICATION_ROOT') if base_url is None: url = url_parse(path) base_url = 'http://%s/' % (url.netloc or http_host or 'localhost') if app_root: base_url += app_root.lstrip('/') if url.netloc: path = url.path if url.query: path += '?' + url.query return EnvironBuilder(path, base_url, *args, **kwargs)