[PYTHON] Lorsque vous souhaitez modifier l'en-tête HTTP du client de test de Flask

J'ai pu faire ça Par exemple, jouez avec UserAgent

Ou plutôt, c'est juste comme ça http://stackoverflow.com/questions/15278285/setting-mocking-request-headers-for-flask-app-unit-test

tests.py


# -*- coding: utf-8 -*-
from nose.tools import ok_, eq_
import flask

class ClientProxy(object):
    def __init__(self, app):
        self.app = app

    def __call__(self, environ, start_response):
        environ['HTTP_USER_AGENT'] = environ.get('HTTP_USER_AGENT', 'hogehoge')
        return self.app(environ, start_response)


def sample_test():
    app = flask.Flask(__name__)
    app.wsgi_app = ClientProxy(app.wsgi_app)
    with app.test_client() as c:
        c.get('/')
        eq_(flask.request.user_agent.string, 'hogehoge')

Recommended Posts

Lorsque vous souhaitez modifier l'en-tête HTTP du client de test de Flask
Lorsque vous souhaitez mettre à jour le pilote Chrome.
Remarque Python: lorsque vous souhaitez connaître les attributs d'un objet
[Python3] Code qui peut être utilisé lorsque vous souhaitez modifier l'extension d'une image à la fois
Lorsque vous souhaitez que le thème de votre documentation Sphinx soit le même
Lorsque vous souhaitez ajuster l'intervalle de l'échelle de l'axe avec APLpy
Lorsque vous souhaitez utiliser plusieurs versions de la même bibliothèque Python (environnement virtuel utilisant venv)
Script pour changer la description de fasta
Signifie mémo lorsque vous essayez de faire de l'apprentissage automatique avec 50 images
Modifiez le point décimal de la journalisation de, à.
Ce que vous voulez mémoriser avec la grammaire de base de "manipulation de chaînes" de python
Linux: guide de configuration Netplan pour savoir quand vous souhaitez corriger l'adresse IP
Je souhaite personnaliser l'apparence de zabbix
Que faire lorsque vous souhaitez recevoir des fichiers à distance depuis un client Windows
Lorsque la variable que vous souhaitez utiliser comme exposant dans matplotlib comporte deux caractères ou plus
Je souhaite être informé de l'environnement de connexion lorsque RaspberryPi se connecte au réseau
Je veux grep le résultat de l'exécution de strace
Paramètres lorsque vous souhaitez exécuter python-mecab avec travis
Lorsque vous souhaitez filtrer avec le framework Django REST
Je veux bien comprendre les bases de Bokeh
Lorsque vous voulez plt.save dans l'instruction for
Quand vous pensez que la mise à jour de ManjaroLinux est étrange
Le langage de programmation que vous souhaitez pouvoir utiliser
Je souhaite augmenter la sécurité de la connexion SSH
Je veux changer la destination du lien symbolique de / lib64 de / usr / lib64 à / my-lib64 sur CentOS
Notez ce que vous voulez faire à l'avenir avec Razpai
[Python] Lorsque vous souhaitez importer et utiliser votre propre package dans le répertoire supérieur
[Django] Mémorandum lorsque vous souhaitez communiquer de manière asynchrone [Python3]
[Python] Modifier le contrôle du cache des objets téléchargés sur Cloud Storage
[AWS] Que faire lorsque vous souhaitez piper avec Lambda
Comment tester les attributs ajoutés par add_request_method de pyramid
Une introduction à l'orientation des objets - changeons l'état interne d'un objet
Je souhaite utiliser uniquement le traitement de normalisation SudachiPy
Utilisez aggdraw lorsque vous voulez dessiner magnifiquement avec un oreiller
Je veux changer le drapeau japonais en drapeau des Palaos avec Numpy
Je veux déterminer l'authenticité d'un élément du tableau numpy
Lorsque vous souhaitez enregistrer les données initiales de Django avec des relations
Changer le volume de Pepper en fonction de l'environnement environnant (son)
Je veux connaître la nature de Python et pip
Lorsque vous souhaitez utiliser python 2.x sur Gentoo Linux moderne
Si vous souhaitez que vos collègues utilisent la même langue
Changer le message affiché lors de la connexion à Raspberry Pi
Changez la destination d'installation lorsque --user est ajouté à pip
Keras Je veux obtenir la sortie de n'importe quelle couche !!
Je veux connaître la légende du monde des technologies informatiques
Lorsque vous souhaitez lancer une commande UNIX sur Python
[Django] Que faire quand il y a de nombreux champs dans le modèle que vous souhaitez créer
[Django] Expliquez soigneusement la voie d'échappement si vous voulez vraiment utiliser la table d'une autre application
Vous qui voulez lancer Rails à la fois sur l'hôte et le client avec Docker Compose!
Changer le thème de Jupyter
Changer le style de matplotlib
[Sous-processus] Lorsque vous souhaitez exécuter un autre programme Python en code Python
Je veux obtenir le nom de la fonction / méthode en cours d'exécution
[Pytorch] Je souhaite attribuer manuellement les paramètres d'entraînement du modèle
Comment modifier le niveau de journalisation d'Azure SDK pour Python
Familiarisez-vous avec (voulez être) autour du pipeline de spaCy
[Linux] Je souhaite connaître la date à laquelle l'utilisateur s'est connecté