beep<span></span><br><br>On Saturday, August 8, 2015, Mauro Troiaio <<a href="mailto:mauro.trs@gmail.com">mauro.trs@gmail.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
<br>
Inviato da iPhone<br>
<br>
> Il giorno 08/ago/2015, alle ore 12:00, <a href="javascript:;" onclick="_e(event, 'cvml', 'python-request@lists.python.it')">python-request@lists.python.it</a> ha scritto:<br>
><br>
> Invia le richieste di iscrizione alla lista Python all'indirizzo<br>
>    <a href="javascript:;" onclick="_e(event, 'cvml', 'python@lists.python.it')">python@lists.python.it</a><br>
><br>
> Per iscriverti o cancellarti attraverso il web, visita<br>
>    <a href="http://lists.python.it/mailman/listinfo/python" target="_blank">http://lists.python.it/mailman/listinfo/python</a><br>
> oppure, via email, manda un messaggio con oggetto `help' all'indirizzo<br>
>    <a href="javascript:;" onclick="_e(event, 'cvml', 'python-request@lists.python.it')">python-request@lists.python.it</a><br>
><br>
> Puoi contattare la persona che gestisce la lista all'indirizzo<br>
>    <a href="javascript:;" onclick="_e(event, 'cvml', 'python-owner@lists.python.it')">python-owner@lists.python.it</a><br>
><br>
> Se rispondi a questo messaggio, per favore edita la linea dell'oggetto<br>
> in modo che sia più utile di un semplice "Re: Contenuti del digest<br>
> della lista Python..."<br>
><br>
><br>
> Argomenti del Giorno:<br>
><br>
>   1. Mockare aiohttp per tests (flandero)<br>
>   2. Re: Mockare aiohttp per tests (Manlio Perillo)<br>
>   3. Re: Mockare aiohttp per tests (flandero)<br>
>   4. Re: Mockare aiohttp per tests (Manlio Perillo)<br>
>   5. Re: Mockare aiohttp per tests (enrico franchi)<br>
><br>
><br>
> ----------------------------------------------------------------------<br>
><br>
> Message: 1<br>
> Date: Fri, 7 Aug 2015 16:50:32 +0200<br>
> From: flandero <<a href="javascript:;" onclick="_e(event, 'cvml', 'flandero@gmail.com')">flandero@gmail.com</a>><br>
> To: Discussioni generali sul linguaggio Python<br>
>    <<a href="javascript:;" onclick="_e(event, 'cvml', 'python@lists.python.it')">python@lists.python.it</a>><br>
> Subject: [Python] Mockare aiohttp per tests<br>
> Message-ID:<br>
>    <CANkwUuYfEdy6a6vg4C-nBokz1V7jD=<a href="javascript:;" onclick="_e(event, 'cvml', 'Lq-kZ7wkmPfVtuptK2Vw@mail.gmail.com')">Lq-kZ7wkmPfVtuptK2Vw@mail.gmail.com</a>><br>
> Content-Type: text/plain; charset="utf-8"<br>
><br>
> Ciao,<br>
> sto usando una library per mockare su requests, chiamata httpretty. Un<br>
> codice tipo questo:<br>
><br>
> import httpretty<br>
> import requests<br>
> @httpretty.httprettified<br>
> def prova():<br>
>  httpretty.register_uri(method=httpretty.POST,uri='<a href="http://url/" target="_blank">http://url/</a>',body='ciao<br>
> ciao')<br>
>  requests.post('<a href="http://url/" target="_blank">http://url/</a>', data={'a': 1})<br>
>  print(httpretty.last_request().body)<br>
><br>
> Molto bello, e rende testabili componenti che altrimenti non lo sarebbero.<br>
><br>
> La faccenda si complica quando inizio a testare codice asincrono, in cui ho<br>
> usato aiohttp e non requests, perché non ho niente di simile per aiohttp.<br>
> Dopo qualche ora di infruttuosa ricerca ho deciso di scrivere questa mail:<br>
> mi serve qualcosa che mi permetta di mockare aiohttp come fa httpretty con<br>
> requests.<br>
><br>
> Ogni suggerimento, quindi, è ben accetto. Grazie! :-)<br>
> -------------- parte successiva --------------<br>
> Un allegato HTML è stato rimosso...<br>
> URL: <<a href="http://lists.python.it/pipermail/python/attachments/20150807/1c4faaa8/attachment-0001.html" target="_blank">http://lists.python.it/pipermail/python/attachments/20150807/1c4faaa8/attachment-0001.html</a>><br>
><br>
> ------------------------------<br>
><br>
> Message: 2<br>
> Date: Fri, 7 Aug 2015 17:42:32 +0200<br>
> From: Manlio Perillo <<a href="javascript:;" onclick="_e(event, 'cvml', 'manlio.perillo@gmail.com')">manlio.perillo@gmail.com</a>><br>
> To: Discussioni generali sul linguaggio Python<br>
>    <<a href="javascript:;" onclick="_e(event, 'cvml', 'python@lists.python.it')">python@lists.python.it</a>><br>
> Subject: Re: [Python] Mockare aiohttp per tests<br>
> Message-ID:<br>
>    <<a href="javascript:;" onclick="_e(event, 'cvml', 'CAAToxAEqm_hRh3VBA-p6hmrCxoQiiCaBKsn9vPV4LZNuwR5w9Q@mail.gmail.com')">CAAToxAEqm_hRh3VBA-p6hmrCxoQiiCaBKsn9vPV4LZNuwR5w9Q@mail.gmail.com</a>><br>
> Content-Type: text/plain; charset="utf-8"<br>
><br>
> 2015-08-07 16:50 GMT+02:00 flandero <<a href="javascript:;" onclick="_e(event, 'cvml', 'flandero@gmail.com')">flandero@gmail.com</a>>:<br>
><br>
>> Ciao,<br>
>> sto usando una library per mockare su requests, chiamata httpretty. Un<br>
>> codice tipo questo:<br>
>><br>
>> import httpretty<br>
>> import requests<br>
>> @httpretty.httprettified<br>
>> def prova():<br>
>>  httpretty.register_uri(method=httpretty.POST,uri='<a href="http://url/" target="_blank">http://url/</a>',body='ciao<br>
>> ciao')<br>
>>  requests.post('<a href="http://url/" target="_blank">http://url/</a>', data={'a': 1})<br>
>>  print(httpretty.last_request().body)<br>
>><br>
>> Molto bello, e rende testabili componenti che altrimenti non lo sarebbero.<br>
> Io quando devo testare un client HTTP lancio un server WSGI in un processo<br>
> separato (multiprocessing),<br>
> utilizzando una Queue per la comunicazione.<br>
><br>
>> [...]<br>
><br>
> Ciao  Manlio<br>
> -------------- parte successiva --------------<br>
> Un allegato HTML è stato rimosso...<br>
> URL: <<a href="http://lists.python.it/pipermail/python/attachments/20150807/c97e3060/attachment-0001.html" target="_blank">http://lists.python.it/pipermail/python/attachments/20150807/c97e3060/attachment-0001.html</a>><br>
><br>
> ------------------------------<br>
><br>
> Message: 3<br>
> Date: Fri, 7 Aug 2015 18:41:58 +0200<br>
> From: flandero <<a href="javascript:;" onclick="_e(event, 'cvml', 'flandero@gmail.com')">flandero@gmail.com</a>><br>
> To: Discussioni generali sul linguaggio Python<br>
>    <<a href="javascript:;" onclick="_e(event, 'cvml', 'python@lists.python.it')">python@lists.python.it</a>><br>
> Subject: Re: [Python] Mockare aiohttp per tests<br>
> Message-ID:<br>
>    <<a href="javascript:;" onclick="_e(event, 'cvml', 'CANkwUuaCLS_A9VnfC-aExdV2+R6R9rZ0XbATj6nC2HFzPzjW-Q@mail.gmail.com')">CANkwUuaCLS_A9VnfC-aExdV2+R6R9rZ0XbATj6nC2HFzPzjW-Q@mail.gmail.com</a>><br>
> Content-Type: text/plain; charset="utf-8"<br>
><br>
> La cosa bella e' che lavorando con asyncio non avrei neanche bisogno di<br>
> multiprocessing e queues, ma cosi' non si sconfina dal contesto test di<br>
> unita' a quello dei test di interoperabilita'?<br>
>> On Aug 7, 2015 5:42 PM, "Manlio Perillo" <<a href="javascript:;" onclick="_e(event, 'cvml', 'manlio.perillo@gmail.com')">manlio.perillo@gmail.com</a>> wrote:<br>
>><br>
>> 2015-08-07 16:50 GMT+02:00 flandero <<a href="javascript:;" onclick="_e(event, 'cvml', 'flandero@gmail.com')">flandero@gmail.com</a>>:<br>
>><br>
>>> Ciao,<br>
>>> sto usando una library per mockare su requests, chiamata httpretty. Un<br>
>>> codice tipo questo:<br>
>>><br>
>>> import httpretty<br>
>>> import requests<br>
>>> @httpretty.httprettified<br>
>>> def prova():<br>
>>>  httpretty.register_uri(method=httpretty.POST,uri='<a href="http://url/" target="_blank">http://url/</a>',body='ciao<br>
>>> ciao')<br>
>>>  requests.post('<a href="http://url/" target="_blank">http://url/</a>', data={'a': 1})<br>
>>>  print(httpretty.last_request().body)<br>
>>><br>
>>> Molto bello, e rende testabili componenti che altrimenti non lo sarebbero.<br>
>> Io quando devo testare un client HTTP lancio un server WSGI in un processo<br>
>> separato (multiprocessing),<br>
>> utilizzando una Queue per la comunicazione.<br>
>><br>
>>> [...]<br>
>><br>
>> Ciao  Manlio<br>
>><br>
>> _______________________________________________<br>
>> Python mailing list<br>
>> <a href="javascript:;" onclick="_e(event, 'cvml', 'Python@lists.python.it')">Python@lists.python.it</a><br>
>> <a href="http://lists.python.it/mailman/listinfo/python" target="_blank">http://lists.python.it/mailman/listinfo/python</a><br>
> -------------- parte successiva --------------<br>
> Un allegato HTML è stato rimosso...<br>
> URL: <<a href="http://lists.python.it/pipermail/python/attachments/20150807/52cf438f/attachment-0001.html" target="_blank">http://lists.python.it/pipermail/python/attachments/20150807/52cf438f/attachment-0001.html</a>><br>
><br>
> ------------------------------<br>
><br>
> Message: 4<br>
> Date: Fri, 7 Aug 2015 19:21:00 +0200<br>
> From: Manlio Perillo <<a href="javascript:;" onclick="_e(event, 'cvml', 'manlio.perillo@gmail.com')">manlio.perillo@gmail.com</a>><br>
> To: Discussioni generali sul linguaggio Python<br>
>    <<a href="javascript:;" onclick="_e(event, 'cvml', 'python@lists.python.it')">python@lists.python.it</a>><br>
> Subject: Re: [Python] Mockare aiohttp per tests<br>
> Message-ID:<br>
>    <CAAToxAGSnwhZ_KjuPGUtEZT1SG7Swd4ADyRMciZLSPQEn+LY=<a href="javascript:;" onclick="_e(event, 'cvml', 'A@mail.gmail.com')">A@mail.gmail.com</a>><br>
> Content-Type: text/plain; charset="utf-8"<br>
><br>
> 2015-08-07 18:41 GMT+02:00 flandero <<a href="javascript:;" onclick="_e(event, 'cvml', 'flandero@gmail.com')">flandero@gmail.com</a>>:<br>
><br>
>> La cosa bella e' che lavorando con asyncio non avrei neanche bisogno di<br>
>> multiprocessing e queues,<br>
><br>
> Puoi anche lanciare il server HTTP all'interno dello stesso processo usando<br>
> un thread o asyncio ma hai comunque bisogno di un canale di comunicazione.<br>
> Come implementi tale canale è solo un dettaglio; una queue è la soluzione<br>
> forse più semplice.<br>
><br>
>> ma cosi' non si sconfina dal contesto test di unita' a quello dei test di<br>
>> interoperabilita'?<br>
><br>
> Se hai un client HTTP e devi testare che la richiesta che fa è corretta,<br>
> non vedo modo migliore di usare un server HTTP<br>
> e verificare quello che viene ricevuto.<br>
><br>
> Fare il mocking la vedo come ultima risorsa.<br>
><br>
><br>
> Ciao  Manlio<br>
> -------------- parte successiva --------------<br>
> Un allegato HTML è stato rimosso...<br>
> URL: <<a href="http://lists.python.it/pipermail/python/attachments/20150807/e37ee24d/attachment-0001.html" target="_blank">http://lists.python.it/pipermail/python/attachments/20150807/e37ee24d/attachment-0001.html</a>><br>
><br>
> ------------------------------<br>
><br>
> Message: 5<br>
> Date: Fri, 7 Aug 2015 23:52:12 +0100<br>
> From: enrico franchi <<a href="javascript:;" onclick="_e(event, 'cvml', 'enrico.franchi@gmail.com')">enrico.franchi@gmail.com</a>><br>
> To: Discussioni generali sul linguaggio Python<br>
>    <<a href="javascript:;" onclick="_e(event, 'cvml', 'python@lists.python.it')">python@lists.python.it</a>><br>
> Subject: Re: [Python] Mockare aiohttp per tests<br>
> Message-ID:<br>
>    <<a href="javascript:;" onclick="_e(event, 'cvml', 'CA+T0K1Z3wMruAk7pcM9OLmqaP7FZLEGUGh8TM35AJn8msA2rfA@mail.gmail.com')">CA+T0K1Z3wMruAk7pcM9OLmqaP7FZLEGUGh8TM35AJn8msA2rfA@mail.gmail.com</a>><br>
> Content-Type: text/plain; charset="utf-8"<br>
><br>
> 2015-08-07 18:21 GMT+01:00 Manlio Perillo <<a href="javascript:;" onclick="_e(event, 'cvml', 'manlio.perillo@gmail.com')">manlio.perillo@gmail.com</a>>:<br>
><br>
>> Se hai un client HTTP e devi testare che la richiesta che fa è corretta,<br>
>> non vedo modo migliore di usare un server HTTP<br>
>> e verificare quello che viene ricevuto.<br>
>><br>
>> Fare il mocking la vedo come ultima risorsa.<br>
><br>
><br>
> Sono due cose diverse.<br>
><br>
> --<br>
> .<br>
> ..: -enrico-<br>
> -------------- parte successiva --------------<br>
> Un allegato HTML è stato rimosso...<br>
> URL: <<a href="http://lists.python.it/pipermail/python/attachments/20150807/f03a4c7f/attachment-0001.html" target="_blank">http://lists.python.it/pipermail/python/attachments/20150807/f03a4c7f/attachment-0001.html</a>><br>
><br>
> ------------------------------<br>
><br>
> _______________________________________________<br>
> Python mailing list<br>
> <a href="javascript:;" onclick="_e(event, 'cvml', 'Python@lists.python.it')">Python@lists.python.it</a><br>
> <a href="http://lists.python.it/mailman/listinfo/python" target="_blank">http://lists.python.it/mailman/listinfo/python</a><br>
><br>
><br>
> Fine di Digest di Python, Volume 114, Numero 3<br>
> **********************************************<br>
_______________________________________________<br>
Python mailing list<br>
<a href="javascript:;" onclick="_e(event, 'cvml', 'Python@lists.python.it')">Python@lists.python.it</a><br>
<a href="http://lists.python.it/mailman/listinfo/python" target="_blank">http://lists.python.it/mailman/listinfo/python</a><br>
</blockquote><br><br>-- <br>Simone Federici<div>------------------------<br>Software Craftsman</div><div>XP, Agile, Scrum, Kanban</div><div>Quality, performance & security</div><div><br></div><div>Explicit is better than implicit.</div><div><br></div><br>