[pyar] [django] UI dev // testing

Juan Manuel Schillaci jmschillaci en gmail.com
Mar Oct 21 12:25:38 ART 2014


2014-10-21 11:47 GMT-03:00 Andres Riancho <andres.riancho en gmail.com>:

> Es BUENISIMO! Super similar a lo que estaba pensando, con algunos
> features extra que ni me habia imaginado. Muchas gracias por
> desarrollar la app y hacerme saber que existe :)
>
> Te dejo algunas preguntas:
>  * Lo probaste con monkey-patching de funciones? Quizás para hacer eso
> haga falta un /drs/app/scenario_1/enable y /drs/app/scenario_1/disable
>

Lo probé por ejemplo mockeando funciones dentro del escenario, y anda bien.
No se si es eso a lo que te referís.


> ?
>  * Creo que voy a agregarle algunas funcionalidades como:
>     - No cargar ningun fixture on start, usar la DB existente
>

Habría que cambiar el comando, ya que usa el testserver de django, me
parece muy interesante el feature, si querés haceme un pull request y lo
agregó al paquete de pypi.



>     - El enable/disable mencionado arriba
>
>
PD: En el proyecto para el que originalmente desarrolle esta herramienta,
estoy usando este DockerFile [0], que creo que es de tu autoría :D.

[0]:
https://github.com/andresriancho/django-uwsgi-nginx-ssh/blob/master/Dockerfile


Saludos!
Juan Manuel




> Gracias,
>
> 2014-10-21 11:19 GMT-03:00 Juan Manuel Schillaci <jmschillaci en gmail.com>:
> >
> >
> > 2014-10-20 20:03 GMT-03:00 Sebastián Seba <ssebastianj en gmail.com>:
> >
> >> El lunes, 20 de octubre de 2014, Andres Riancho <
> andres.riancho en gmail.com>
> >> escribió:
> >>>
> >>> 2014-10-20 18:27 GMT-03:00 Sebastián Seba <ssebastianj en gmail.com>:
> >>> > El lunes, 20 de octubre de 2014, Andres Riancho
> >>> > <andres.riancho en gmail.com>
> >>> > escribió:
> >>> >>
> >>> >> Lista,
> >>> >>
> >>> >>     Para una aplicacion que vengo desarrollando migre a AngularJS +
> >>> >> REST API implementada en Django (tastypie). Los desarrolladores de
> >>> >> AngularJS "no tienen ni idea" de Python+Django y prontamente les
> >>> >> tocará desarrollar la UI para algo que se ve asi:
> >>> >>
> >>> >>     * POST /foo/ , aqui obtengo el ID del nuevo foo creado, 1
> >>> >>     * POST /bar/?foo=1
> >>> >>         * Aca el server normalmente iría a una API externa a hacer
> una
> >>> >> consulta sobre foo-1
> >>> >>         * En caso de error de la API externa se debería mostrar un
> >>> >> error en AngularJS y continuar por un branch de error
> >>> >>         * En caso de success se deberia seguir al proximo paso
> >>> >>     * POST /spam/
> >>> >>
> >>> >>     Mi pregunta es... existe en Django una manera recomendada para
> >>> >> "mockear" esto? Estoy pensando quizás en un flag para runserver que
> >>> >> patchee el call a la API externa... quizás:
> >>> >>
> >>> >>     * python manage.py runserver --api-externa-error
> >>> >>     * python manage.py runserver --api-externa-success
> >>> >>
> >>> >>     Entonces ellos pueden desarrollar todo lo que necesitan para el
> >>> >> caso de errores primero (corriendo en sus maquinas el runserver con
> >>> >> --api-externa-error) y despues desarrollar para el caso de success
> >>> >> (--api-externa-success)
> >>> >>
> >>> >>     Se que lo que acabo de escribir es realizable, pero no se si es
> >>> >> recomendable.
> >>> >>
> >>> >>     Cual es la mejor forma de solucionar esto teniendo en cuenta los
> >>> >> infinitamente bajos conocimientos de python de mis desarrolladores
> >>> >> angular?
> >>> >>
> >>> >> Saludos,
> >>> >> --
> >>> >> Andrés Riancho
> >>> >> Project Leader at w3af - http://w3af.org/
> >>> >> Web Application Attack and Audit Framework
> >>> >> Twitter: @w3af
> >>> >> GPG: 0x93C344F3
> >>> >> _______________________________________________
> >>> >> pyar mailing list pyar en python.org.ar
> >>> >> http://listas.python.org.ar/listinfo/pyar
> >>> >>
> >>> >> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
> >>> >>
> >>> >> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre
> de
> >>> >> Argentina - http://www.usla.org.ar
> >>> >
> >>> >
> >>> > No lo llegué a usar pero en la documentación de Django REST Framework
> >>> > me
> >>> > encontré con Apiary [0] y que según parece te permite hacer mock [1]
> de
> >>> > una
> >>> > API REST.
> >>> >
> >>> > [0] http://apiary.io
> >>> > [1] http://apiary.io/how-it-works
> >>>
> >>> Podría intentar hacer algo con apiary, pero no parece ser lo que estoy
> >>> buscando.
> >>>
> >>> Estuve pensando un rato más y creo que voy a ir por un camino como:
> >>>  * Definir un /config/ resource que solo este definido para DEBUG=True
> >>>  * Ese config toma POSTs como {"mock-feature-1": true} ,
> >>> {"mock-feature-1": false}, {"mock-feature-3": "{"foo": "bar"}"}
> >>>  * Despues en el handler tengo funciones que en base a
> >>> "mock-feature-3" hacen monkey-patching de alguna funcion para que
> >>> devuelva {"foo": "bar"}
> >>>  * El UI developer debería poder abrir una consola mientras que esta
> >>> desarrollando y tirar comandos como estos para cambiar las
> >>> "respuestas" de la API externa:
> >>>         - curl http://127.0.0.1:8000/1.0/config/ -XPOST -H "Accept:
> >>> application/json" -H "Content-Type: application/json" -d
> >>> '{"mock-feature-1": false}'
> >>>         - curl http://127.0.0.1:8000/1.0/config/ -XPOST -H "Accept:
> >>> application/json" -H "Content-Type: application/json" -d
> >>> '{"mock-feature-1": true}'
> >>>
> >>> Tiene el problema de que si el user cambia un archivo .py, runserver
> >>> hace un reload y el monkey-patch (muy posiblemente) se pierde.
> >>>
> >>> Saludos,
> >>>
> >>> > Saludos.
> >>> >
> >>> >
> >>> > --
> >>> > Sebastián J. Seba
> >>> >
> >>>
> > Buenas,
> >
> > Yo desarrollé una app django para justamente armar escenarios con
> "Fixtures"
> > en el server, casualmente lo estoy usando con django-rest-framework y
> > Angular.
> >
> > https://pypi.python.org/pypi/django-remote-scenario/0.2.7
> > https://github.com/skalanux/django-remote-scenario
> >
> > Por ahi te sirve.
> >
> > Saludos
> > Juan Manuel
> >
> >
> >
> >
> >
> > _______________________________________________
> > pyar mailing list pyar en python.org.ar
> > http://listas.python.org.ar/listinfo/pyar
> >
> > PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
> >
> > La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> > Argentina - http://www.usla.org.ar
>
>
>
> --
> Andrés Riancho
> Project Leader at w3af - http://w3af.org/
> Web Application Attack and Audit Framework
> Twitter: @w3af
> GPG: 0x93C344F3
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20141021/b2c4a5d4/attachment.html>


More information about the pyar mailing list