Size: a a a

Django [ru] #STAY HOME

2020 February 07

tn

tot samiy neizvestniy in Django [ru] #STAY HOME
Думаю, может, как-то можно замокать эту stripe.Event... на 37 строке, не вынося её из post?
источник

MB

Muslim Beibytuly in Django [ru] #STAY HOME
tot samiy neizvestniy
Думаю, может, как-то можно замокать эту stripe.Event... на 37 строке, не вынося её из post?
unittest patch?
источник

tn

tot samiy neizvestniy in Django [ru] #STAY HOME
Muslim Beibytuly
unittest patch?
Да
источник

tn

tot samiy neizvestniy in Django [ru] #STAY HOME
Unittest mock patch
источник

PZ

Pavel Zagrebelin in Django [ru] #STAY HOME
Event.construct_from во внешнией сервис долбит?
источник

tn

tot samiy neizvestniy in Django [ru] #STAY HOME
Ага
источник

MB

Muslim Beibytuly in Django [ru] #STAY HOME
Pavel Zagrebelin
Event.construct_from во внешнией сервис долбит?
это платежный сервис, думаю это просто абстракция над сетевыми запросами
источник

MB

Muslim Beibytuly in Django [ru] #STAY HOME
там не одна реализация, каким вариантом пользуетесь?
источник

tn

tot samiy neizvestniy in Django [ru] #STAY HOME
Muslim Beibytuly
там не одна реализация, каким вариантом пользуетесь?
@mock.patch('donation.views.get_event')
источник

tn

tot samiy neizvestniy in Django [ru] #STAY HOME
def test_stripe_web_hook(self, mockEvent) -> None:
источник

tn

tot samiy neizvestniy in Django [ru] #STAY HOME
Хотя погоди
источник

MB

Muslim Beibytuly in Django [ru] #STAY HOME
tot samiy neizvestniy
@mock.patch('donation.views.get_event')
скорее о самом stripe. Он может обращаться используя requests(https://github.com/getsentry/responses в этом случае решает проблему), а может обращаться через pycurl или fetch api
источник

tn

tot samiy neizvestniy in Django [ru] #STAY HOME
Тут питоновские моки
источник

tn

tot samiy neizvestniy in Django [ru] #STAY HOME
Типа patch с дефолтной питоновской либы
источник

tn

tot samiy neizvestniy in Django [ru] #STAY HOME
Muslim Beibytuly
скорее о самом stripe. Он может обращаться используя requests(https://github.com/getsentry/responses в этом случае решает проблему), а может обращаться через pycurl или fetch api
Спасибо, почитаю
источник

MB

Muslim Beibytuly in Django [ru] #STAY HOME
tot samiy neizvestniy
Типа patch с дефолтной питоновской либы
patch для тестов вполне подходит
источник

tn

tot samiy neizvestniy in Django [ru] #STAY HOME
Muslim Beibytuly
patch для тестов вполне подходит
То есть, с помощью этой либы можно замокать запрос к внешнему сервису, не вынося его из функции основной?
источник

MB

Muslim Beibytuly in Django [ru] #STAY HOME
tot samiy neizvestniy
То есть, с помощью этой либы можно замокать запрос к внешнему сервису, не вынося его из функции основной?
with patch('stripe.Event.construct_from') as mocked_function:
   mocked_function.return_value = <по контракту с этой функцией>
   # вызов
   mocked_function.assert_called<_with_args(args)>
источник

tn

tot samiy neizvestniy in Django [ru] #STAY HOME
Muslim Beibytuly
with patch('stripe.Event.construct_from') as mocked_function:
   mocked_function.return_value = <по контракту с этой функцией>
   # вызов
   mocked_function.assert_called<_with_args(args)>
Спасибо, попробую
источник

tn

tot samiy neizvestniy in Django [ru] #STAY HOME
У меня вот ещё какой вопрос. Чтобы протестить различные исключения, нужно сайд эффект юзать?
источник