示例#1
0
 def testOkWithMock(
     self
 ):  # test avec un user qui n'est obtenu avec une fausse requête http (simulée)
     responses.add(responses.GET,
                   'https://randomuser.me/api',
                   json=FAKE_USER)
     us = createUserFromAPIUrl('https://randomuser.me/api')
     assert isinstance(us, User)
     assert us.name == 'mr balder fjelldal'
     print('testOkWithMock completed')
示例#2
0
    def test_my_mock(self, mocker):  # nom mocker obligatoire ?

        # affectation de la méthode qui simule
        mocker.patch('fetch_user_from_api.createUserFromAPIUrl',
                     return_value=User.createFromJson(FAKE_USER))
        from fetch_user_from_api import createUserFromAPIUrl  # réécarsement du pointeur vers la méthode simulée
        user = createUserFromAPIUrl(
            'https://randomuser.me/api')  # appel de test
        # comparaison avec ce qu'on sait qu'on est censé recevoir
        fake_user = User.createFromJson(FAKE_USER)
        assert user == fake_user
        print('test_my_mock completed')
 def testMockUser(
     self, mocker_create_user
 ):  # mocker_create_user est l'alias que l'on utilise pour la méthode définie avec @mock.patch
     # truc bizarre : nécessaire pour réécraser la référence de pointeur vers la méthode qui doit être simulée
     # car celle-ci a été importée en tête de fichier et que la référence de pointeur est en mémoire
     from fetch_user_from_api import createUserFromAPIUrl
     mocker_create_user.return_value = User.createFromJson(
         FAKE_USER)  # affectation de la méthode qui simule
     user = createUserFromAPIUrl(
         'https://randomuser.me/api')  # appel de test
     # comparaison avec ce qu'on sait qu'on est censé recevoir
     fake_user = User.createFromJson(FAKE_USER)
     self.assertEqual(user, fake_user)
     print('testMockUser completed')
示例#4
0
 def testWrongServer(self):
     with pytest.raises(CannotConnectToAPIException):
         us = createUserFromAPIUrl('https://jklhmhjjklmhjklhjklh/apiXXXXXX')
     print('testWrongServer completed')
示例#5
0
 def testWrongPage(self):
     with pytest.raises(Exception404):
         createUserFromAPIUrl('https://randomuser.me/apiXXXXXX')
     print('testWrongPage completed')
示例#6
0
 def testOk(self):
     us = createUserFromAPIUrl('https://randomuser.me/api')
     assert isinstance(us, User)
     print('testOk completed')
示例#7
0
 def testServerDownWithMock(self):  # même principe
     # pas de responses.add pour simuler que le serveur est HS
     with pytest.raises(CannotConnectToAPIException):
         createUserFromAPIUrl('https://randomuser.me/api')
     print('testWrongServerWithMock completed')
示例#8
0
 def testWrongServerWithMock(self):  # même principe
     # le serveur est ok mais on va demander une URL incorrecte
     responses.add(responses.GET, 'https://randomuser.me/api', status=404)
     with pytest.raises(CannotConnectToAPIException):
         createUserFromAPIUrl('https://randomuserXXXX.me/api')
     print('testWrongServerWithMock completed')
示例#9
0
 def testWrongPageWithMock(self):
     # le serveur va renvoyer une erreur 404
     responses.add(responses.GET, 'https://randomuser.me/api', status=404)
     with pytest.raises(Exception404):
         createUserFromAPIUrl('https://randomuser.me/api')
     print('testWrongPageWithMock completed')