$30 off During Our Annual Pro Sale. View Details »

Dredd @ Devel.cz'16

Dredd @ Devel.cz'16

Naprogramovali jste v Djangu, Rails nebo Symfony svoje HTTP API a chystáte se jej spustit pro vývojáře klientských aplikací. Jenže jak zaručit, aby se váš API server teď i do budoucna choval doopravdy tak, jak to slibujete v dokumentaci?

Musíte svůj kód testovat. Jenže testovat HTTP API, to je pořád samá kontrola status kódů, hlaviček, JSON sem, JSON tam, do nekonečna, do omrzení. V Apiary vyvíjíme testovací framework Dredd, který vám bez ohledu na váš programovací jazyk kontrolu API výrazně ulehčí.

Honza Javorek

March 19, 2016
Tweet

More Decks by Honza Javorek

Other Decks in Technology

Transcript

  1. DREDD
    Do Justice to Your Web API

    View Slide

  2. HONZA JAVOREK
    @honzajavorek
    honzajavorek.cz

    View Slide

  3. Day Night
    apiary.io
    Czech Python
    Community Mascot
    python.cz
    Spaghetti Code
    Hunter

    View Slide

  4. View Slide

  5. View Slide

  6. View Slide

  7. View Slide

  8. View Slide

  9. View Slide

  10. API works as in docs

    View Slide

  11. API works as in docs

    View Slide

  12. API doesn't work as in docs

    View Slide

  13. API doesn't work as in docs

    View Slide

  14. vs

    View Slide

  15. vs
    Tested Untested

    View Slide

  16. How many of you test
    your web API docs?

    View Slide

  17. Almost nobody!

    View Slide

  18. Why?

    View Slide

  19. View Slide

  20. Tedious
    Perform request…
    Assert status code…
    Assert headers…
    Assert body payload…

    View Slide

  21. Easily gets out of sync
    Contract in Code
    Maintaining Docs
    Contract in Docs
    Testing Code
    vs

    View Slide

  22. 1. Contract in Docs

    View Slide

  23. API Description
    API Blueprint
    apiblueprint.org

    View Slide

  24. API Description
    Swagger / OAI
    swagger.io

    View Slide

  25. Lifes depend on that
    contract

    View Slide

  26. 2. Testing

    View Slide

  27. dredd.readthedocs.org
    github.com/apiaryio/dredd
    DREDD

    View Slide

  28. View Slide

  29. View Slide

  30. 100%
    Open Source

    View Slide

  31. DREDD HOOKS

    View Slide

  32. View Slide

  33. View Slide

  34. CONTINUOUS
    INTEGRATION

    View Slide

  35. …and any other *NIX environment

    View Slide

  36. REPORTERS

    View Slide

  37. View Slide

  38. View Slide

  39. Public!

    View Slide

  40. APIARY
    INTEGRATION

    View Slide

  41. View Slide

  42. View Slide

  43. Test Reports
    from Local
    Development
    Test Reports
    from CI
    Periodic Checks
    of Production
    Beta

    View Slide

  44. DREDD
    BRINGS THE LAW

    View Slide

  45. View Slide

  46. View Slide

  47. THANKS!
    Dredd
    dredd.rtfd.org
    API Blueprint
    apiblueprint.org
    @apiblueprint
    Apiary
    apiary.io
    @apiaryio
    Honza
    honzajavorek.cz
    @honzajavorek

    View Slide