senaite json api
senaite.jsonapi的Python项目详细描述
senaite json api
json api为senaite核心提供了一个restful json接口。
senaite json api v1
从构建目录运行此测试:
bin/test test_doctests -t JSONAPIv1
测试设置
需要的导入:
>>> import transaction >>> from plone.app.testing import TEST_USER_ID >>> from plone.app.testing import TEST_USER_PASSWORD >>> from senaite import api
功能助手:
>>> def start_server(): ... from Testing.ZopeTestCase.utils import startZServer ... ip, port = startZServer() ... return "http://{}:{}/{}".format(ip, port, portal.id) >>> def login(user=TEST_USER_ID, password=TEST_USER_PASSWORD): ... browser.open(portal_url + "/login_form") ... browser.getControl(name='__ac_name').value = user ... browser.getControl(name='__ac_password').value = password ... browser.getControl(name='submit').click() ... assert("__ac_password" not in browser.contents) >>> def logout(): ... browser.open(portal_url + "/logout") ... assert("You are now logged out" in browser.contents)
变量:
>>> portal = self.portal >>> portal_url = portal.absolute_url() >>> bika_setup = portal.bika_setup >>> bika_setup_url = portal_url + "/bika_setup" >>> browser = self.getBrowser()
json api:
>>> api_base_url = portal_url + "/@@API/senaite/v1"
版本
确保我们已注销:
>>> logout()
未经验证的用户应该可以看到版本路由:
>>> browser.open(api_base_url + "/version") >>> browser.contents '{"url": "http://nohost/plone/@@API/senaite/v1/version", "date": "...", "version": ..., "_runtime": ...}'
更改日志
1.2.0(2018-01-03)
已添加
- 将父路径添加到响应数据中
- 允许自定义方法作为适配器中的属性
已删除
已更改
- 集成到Senaite Core
- 许可证已更改为GPLv2
已修复
- 固定测试
安全性
1.1.0(2017-11-04)
1.0.1(2017-09-30)
- 修复了中断的释放(缺少manifest.in)
1.0.0(2017-09-30)
- 首次发布