Py-Autodoc 0.3 リリースした

主に仕事で必要になりそうと思ったので、requests に対応した。


仕事で JavaAPI サーバを書いていて、応答が JSON のみで、
リクエストとレスポンスを自動でドキュメントに出して楽をしたかったので、
以前作った Py-Autodoc を使おうとした。


自分で作っといてアレだけど、いざ使おうとして API サーバが Python しかダメなのに気づいた。
API サーバが Python に限定する理由はないので、requests を使って、取得したレスポンスをドキュメントにするようにした。
requests のレスポンスに送信した requests オブジェクトが格納されてるので実現できた。


こんな感じで書く。

import requests

class TestUnittest(TestCase):
  def setUp(self):
    self.client = requests

  @classmethod
  @autodoc.generate('var/test_unittest.rst')
  def tearDownClass(cls):
    pass

  @autodoc.describe('POST /')
  def test_post(self):
    """ POST / """
    params = {'id': 1, 'message': 'foo'}
    headers = {'content-type': 'application/json'}
    res = self.client.post('http://example.com/',
                           data=params, headers=headers)
    self.assertEqual(res.status_code, 200)

    return res

後は実際に使ってみて不満点を直そうと思う。。