Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Dredd @ Pražské Pyvo 5/2016

Dredd @ Pražské Pyvo 5/2016

Naprogramovali jste v Djangu, Flasku, Tornadu, Twisted nebo aiohttp 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

May 18, 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
    80s child

    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. API works as in docs

    View Slide

  9. API works as in docs

    View Slide

  10. API doesn't work as in docs

    View Slide

  11. API doesn't work as in docs

    View Slide

  12. vs

    View Slide

  13. vs
    Tested Untested

    View Slide

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

    View Slide

  15. Almost nobody!

    View Slide

  16. Why?
    I'M A STREET JUDGE.
    AND I'M VERY LATE
    FOR WORK.

    View Slide

  17. View Slide

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

    View Slide

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

    View Slide

  20. 1. Contract in Docs

    View Slide

  21. API Description
    API Blueprint
    apiblueprint.org

    View Slide

  22. API Description
    Swagger / OAI
    swagger.io

    View Slide

  23. Lifes depend on that
    contract

    View Slide

  24. 2. Testing

    View Slide

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

    View Slide

  26. View Slide

  27. View Slide

  28. 100%
    Open Source

    View Slide

  29. DREDD HOOKS
    JUDGEMENT IS
    COMING

    View Slide

  30. View Slide

  31. View Slide

  32. View Slide

  33. CONTINUOUS
    INTEGRATION
    NEGOTIATION'S OVER,
    SENTENCE IS:
    FAILING CI BUILD

    View Slide

  34. …and any other *NIX environment

    View Slide

  35. REPORTERS
    GUILTY!

    View Slide

  36. View Slide

  37. View Slide

  38. Public!

    View Slide

  39. APIARY
    INTEGRATION
    JUDGEMENT IS
    COMING

    View Slide

  40. View Slide

  41. View Slide

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

    View Slide

  43. DREDD
    BRINGS THE LAW
    I AM THE

    LAW!

    View Slide

  44. View Slide

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

    View Slide