Как разрешить фиктивную функцию клиента - PullRequest
0 голосов
/ 06 мая 2020

Я хочу имитировать функцию. Я использую pytest-mock .

Я получаю эту ошибку

E           TypeError: Need a valid target to patch. You supplied: 'Client'

/opt/anaconda3/lib/python3.7/unittest/mock.py:1426: TypeError

Функция для имитации

from twilio.rest import Client
import time

def send_sms(web, clavardez, sms):
    """
    """
    time_now = time.strftime('%X %Z %x')

    account_sid = env("ACCOUNT_SID")
    auth_token = env("AUTH_TOKEN")
    client = Client(account_sid, auth_token)
    message = client.messages.create(
            body="Sent: {0}\nService Downtime\nweb-en:\t{1} min\nweb-fr:\t{2} min\nSMS:\t{3} min\n".format(time_now, web, clavardez, sms),
        from_=env("FROM"),
        to=env("TO")
    )

Тестовая функция

def test_send_sms_during_off_hours(mocker):
    mocker.patch('Client')
    client = Client("9999", "909099")

    mocker.patch('client.messages.create')
    send_sms(3, 3, 3)
    client.messages.create.assert_called_once_with(3,3,3)
...