[PYTHON] Wenn Sie den HTTP-Header des Testclients von Flask ändern möchten

Ich konnte das tun Spielen Sie beispielsweise mit UserAgent

Oder besser gesagt, es ist einfach so 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

Wenn Sie den HTTP-Header des Testclients von Flask ändern möchten
Wenn Sie den Chrome-Treiber aktualisieren möchten.
Python Hinweis: Wenn Sie die Attribute eines Objekts kennen möchten
[Python3] Code, der verwendet werden kann, wenn Sie die Erweiterung eines Bildes sofort ändern möchten
Wenn Sie möchten, dass das Thema Ihrer Sphinx-Dokumentation dasselbe ist
Wenn Sie das Intervall der Achsenskala mit APLpy anpassen möchten
Wenn Sie mehrere Versionen derselben Python-Bibliothek verwenden möchten (virtuelle Umgebung mit venv)
Skript zum Ändern der Beschreibung von Fasta
Bedeutet Memo, wenn versucht wird, maschinelles Lernen mit 50 Bildern durchzuführen
Ändern Sie den Dezimalpunkt der Protokollierung von, nach.
Was Sie sich mit der grundlegenden Grammatik "String Manipulation" von Python merken möchten
Linux: Netplan-Konfigurationshandbuch, um zu sehen, wann Sie die IP-Adresse korrigieren möchten
Ich möchte das Erscheinungsbild von zabbix anpassen
Was tun, wenn Sie Dateien remote von einem Windows-Client empfangen möchten?
Wenn die Variable, die Sie in Matplotlib als hochgestellt verwenden möchten, aus zwei oder mehr Zeichen besteht
Ich möchte über die Verbindungsumgebung benachrichtigt werden, wenn RaspberryPi eine Verbindung zum Netzwerk herstellt
Ich möchte das Ausführungsergebnis von strace erfassen
Einstellungen, wenn Sie Python-Mecab mit Travis ausführen möchten
Wenn Sie mit dem Django REST-Framework filtern möchten
Ich möchte die Grundlagen von Bokeh vollständig verstehen
Wenn Sie in der for-Anweisung plt.save möchten
Wenn Sie das Update von ManjaroLinux für seltsam halten
Die Programmiersprache, die Sie verwenden möchten
Ich möchte die Sicherheit der SSH-Verbindung erhöhen
Ich möchte das symbolische Linkziel von / lib64 unter CentOS von / usr / lib64 in / my-lib64 ändern
Notieren Sie sich, was Sie in Zukunft mit Razpai machen möchten
[Python] Wenn Sie Ihr eigenes Paket im oberen Verzeichnis importieren und verwenden möchten
[Django] Memorandum, wenn Sie asynchron kommunizieren möchten [Python3]
[Python] Ändern Sie die Cache-Steuerung von Objekten, die in den Cloud-Speicher hochgeladen wurden
[AWS] Was tun, wenn Sie mit Lambda pfeifen möchten?
So testen Sie die Attribute, die durch add_request_method of pyramid hinzugefügt wurden
Eine Einführung in die Objektorientierung: Ändern Sie den internen Status eines Objekts
Ich möchte nur die SudachiPy-Normalisierungsverarbeitung verwenden
Verwenden Sie aggdraw, wenn Sie mit Kissen schön zeichnen möchten
Ich möchte mit Numpy die japanische Flagge in die Palau-Flagge ändern
Ich möchte die Authentizität eines Elements eines numpy-Arrays bestimmen
Wenn Sie die Anfangsdaten von Django mit Relationen registrieren möchten
Ändern Sie die Lautstärke von Pepper entsprechend der Umgebung (Ton).
Ich möchte die Natur von Python und Pip kennenlernen
Wenn Sie python2.x unter modernem Gentoo Linux verwenden möchten
Wenn Sie möchten, dass Ihre Kollegen dieselbe Sprache verwenden
Ändern Sie die Meldung, die beim Anmelden bei Raspberry Pi angezeigt wird
Ändern Sie das Installationsziel, wenn --user zu pip hinzugefügt wird
Keras Ich möchte die Ausgabe einer beliebigen Ebene erhalten !!
Ich möchte die Legende der IT-Technologiewelt kennenlernen
Wenn Sie einen UNIX-Befehl in Python ausführen möchten
[Django] Was tun, wenn das zu erstellende Modell viele Felder enthält?
[Django] Erklären Sie den Fluchtweg sorgfältig, wenn Sie die Tabelle einer anderen Anwendung wirklich verwenden möchten
Sie dort, die Rails sowohl auf dem Host als auch auf dem Client mit Docker Compose starten möchten!
Ändern Sie das Thema von Jupyter
Ändern Sie den Stil von matplotlib
[Unterprozess] Wenn Sie ein anderes Python-Programm in Python-Code ausführen möchten
Ich möchte den Namen der ausgeführten Funktion / Methode erhalten
[Pytorch] Ich möchte die Trainingsparameter des Modells manuell zuweisen
So ändern Sie die Protokollstufe von Azure SDK für Python
Machen Sie sich mit der Pipeline von spaCy vertraut (wollen Sie es sein)
[Linux] Ich möchte das Datum wissen, an dem sich der Benutzer angemeldet hat