[PYTHON] Comment écrire un test unitaire pour l'extraction d'URL dans GAE / P

Copier ci-dessous

http://stackoverflow.com/questions/9943996/how-to-mock-ndb-get-context-urlfetch

import unittest
from google.appengine.ext import testbed, ndb
from mock import patch, Mock

class MyTestCase(unittest.TestCase):

    def setUp(self):
        self.testbed = testbed.Testbed()
        self.testbed.activate()
        self.testbed.init_urlfetch_stub()

        # mock urlrfetch service
        uf = self.testbed.get_stub('urlfetch')
        uf._Dynamic_Fetch = Mock()

    @patch('google.appengine.api.urlfetch.urlfetch_service_pb.URLFetchResponse')
    def test_make_request(self, URLFetchResponse):
        # mocking rpc response object
        response = URLFetchResponse.return_value
        response.contentwastruncated.return_value = False
        response.statuscode.return_value = 200
        response.content.return_value = 'Hello world!'        

        ctx = ndb.get_context()
        fut = ctx.urlfetch('http://google.com')
        result = fut.get_result()

        self.assertEquals(result.content, 'Hello world!')

    def tearDown(self):
        self.testbed.deactivate()

Recommended Posts

Comment écrire un test unitaire pour l'extraction d'URL dans GAE / P
Remarques sur la rédaction de requirements.txt
Je ne sais pas comment obtenir les paramètres de requête dans GAE / P
Pour écrire dans Error Repoting en Python sur GAE
XPath Basics (2) - Comment écrire XPath
Comment s'inscrire auprès de pypi
[ROS] Comment écrire un éditeur et un abonné sur un nœud
Comment installer mysql-connector-python sur Mac
Comment écrire sobrement avec des pandas
Comment utiliser Dataiku sous Windows
Réutilisation du flacon Comment écrire du HTML
Remarques sur l'utilisation de pywinauto
Comment installer Graph-Tool sur macOS
Comment installer VMware-Tools sur Linux
Comment installer pycrypto sur Windows
Comment déployer django-compresseur sous Windows
Remarques sur l'utilisation des featuretools
Comment installer OpenCV sur Mac
Comment exécuter matplotlib sur heroku
Comment installer PyPy sur CentOS
Comment utiliser l'homebrew dans Debian
Malentendu sur la façon de connecter CNN
Comment installer TensorFlow sur CentOS 7
Commandes souvent utilisées dans GAE / P
Comment écrire une image de base Docker
Comment écrire un fichier wsgi.py indépendant de l'environnement Django1.9
Comment installer Maven sur CentOS
Comment installer Music 21 sur Windows
Comment écrire du code pour accéder à python dashDB sur Bluemix ou local
Différence de vitesse d'exécution en fonction de la façon d'écrire la fonction Cython
Une histoire sur le fait de vouloir penser à des personnages déformés dans GAE / P
Comment installer aws-session-manager-plugin sur Manajro Linux
Qiita (1) Comment écrire un nom de code
Comment lire pydoc sur l'interpréteur python
Comment installer drobertadams / toggl-cli sur Mac
Comment définir optuna (comment écrire un espace de recherche)
[Kivy] Comment installer Kivy sur Windows [Python]
Comment utiliser mecab, neologd-ipadic sur colab
Comment écrire des commentaires de document Python (Docstrings)
Comment créer Hello, World avec #Nix
Comment mettre à jour PHP sur Amazon Linux 2
Comment utiliser l'Assistant Google sur Windows 10
Comment effacer Python 2.x sur Mac.
Comment afficher des pictogrammes sur Manjaro Linux
Mémorandum sur l'utilisation du python gremlin
Comment installer des packages sur Alpine Linux
[Python2.7] Résumé de l'utilisation d'unittest
Comment installer Richzhang / Colorisation sur Windows 10
Comment mettre à jour la sécurité sur CentOS Linux 8
Comment installer Apache (httpd) sur CentOS7
Comment installer php7.4 sur Linux (Ubuntu)
Comment installer Eclipse GlassFish 5.1.0 sur CentOS7
Comment installer Apache (httpd) sur CentOS8
Comment tester sur une page authentifiée par Django
Notes sur la façon d'exécuter Cython sur OSX
Comment trouver des fichiers volumineux sous Linux