MM-WS-ICM Library: Machine-to-Machine Web Service Interactive Command Modules (ICM) -- 一组基于 Swagger (Open-API) 规范通过 ICM 开发 Performer 和 Invoker Web 服务的工具。
项目描述
内容
MM-WS-ICM 库:机器对机器 Web 服务交互命令模块 (ICM) – 一组工具,用于通过 ICM 基于 Swagger (Open-API) 规范开发 Performer 和 Invoker Web 服务。
源和包
资源库
包存储库
皮皮: https ://pypi.org/project/unisos.mmwsIcm
支持
文档
ByStar 数字生态系统的一部分http://www.by-star.net。
- 远程操作交互式命令模块 (RO-ICM) – Web 服务开发的最佳当前 (2019) 实践
- 以通用 Swagger (Open-API) 为中心的 Web 服务测试框架
- 交互式命令模块 (ICM) 和播放器
在调用者方面,Swagger (Open-API) 规范用虚张声势消化,并用 ICM 映射到命令行。
在执行者方面,Swagger (Open-API) 规范与代码生成器一起使用,以创建一致的起点。
ICM 可以自动转换为 Web 服务。
二进制文件和命令行示例
- bin/rinvoker.py为您自己的 swagger 文件定制的起点模板。
- bin/rinvokerPetstore.py提供 Petstore 示例命令行调用的列表。
- bin/opScnPetstore.py指向 Petstore 示例的各种场景文件。
远程调用程序 (rinvoker-svc.py) 示例
对于http://petstore.swagger.io/v2/swagger.json在命令行(或在 bash 中)的示例“Pet Store Service”, 您可以运行:
rinvokerPetstore.py
这将自动生成 Swagger 服务规范中所有支持的远程操作的完整列表。
然后,您可以通过执行以下命令从命令行调用任何远程操作:
rinvokerPetstore.py --svcSpec="http://petstore.swagger.io/v2/swagger.json" --resource="pet" --opName="getPetById" -i rinvoke petId=1
这将产生类似的东西:
Operation Status: 200 OK
Operation Result: { u'category': { u'id': 0, u'name': u'string'},
u'id': 1,
u'name': u'testsw',
u'photoUrls': [u'string'],
u'status': u'tttest',
u'tags': [{ u'id': 0, u'name': u'string'}]}
通过将详细程度设置为 15 级 (rinvokerPetstore.py -v 15),您可以观察请求库报告的完整 http 流量。
操作场景(opScn-svc.py)示例
对于http://petstore.swagger.io/v2/swagger.json中使用带有 RO_ 抽象的 python的示例“Pet Store Service”, 您可以指定远程调用和期望。
要获取一些示例场景的列表,请运行:
opScnPetstore.py
要运行特定的示例场景,您可以运行:
opScnPetstore.py --load /tmp/py2v1/local/lib/python2.7/site-packages/unisos/mmwsIcm-base/opScn-1.py -i roListExpectations
这将产生类似的东西:
* ->:: @None@pet@getPetById
** ->:: svcSpec=http://petstore.swagger.io/v2/swagger.json
** ->:: Header Params: None
** ->:: Url Params:
{ 'petId': 1}
** ->:: Body Params: None
* <-:: httpStatus=200 -- httpText=OK -- resultsFormat=json
** <-:: Operation Result:
{ u'category': { u'id': 1, u'name': u'dog'},
u'id': 1,
u'name': u'Dog1',
u'photoUrls': [],
u'status': u'pending',
u'tags': []}
* ==:: SUCCESS
* XX:: Sleeping For 1 Second
* ->:: @None@pet@getPetById
** ->:: svcSpec=http://petstore.swagger.io/v2/swagger.json
** ->:: Header Params: None
** ->:: Url Params:
{ 'petId': 9999}
** ->:: Body Params: None
* <-:: httpStatus=200 -- httpText=OK -- resultsFormat=json
** <-:: Operation Result:
{ u'category': { u'id': 99, u'name': u'SAGScope'},
u'id': 9999,
u'name': u'doggie',
u'photoUrls': [u'string'],
u'status': u'available',
u'tags': [{ u'id': 99, u'name': u'SAGTags'}]}
* ==:: SUCCESS
Python 示例用法
调用者(客户端)开发
from unisos.mmwsIcm import wsInvokerIcm from unisos.mmwsIcm import ro
测试框架
from unisos.mmwsIcm import wsInvokerIcm from unisos.mmwsIcm import ro
表演者(服务器)开发
from unisos.mmwsIcm import wsInvokerIcm from unisos.mmwsIcm import ro
项目详情
unisos.mmwsIcm -0.22.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 07b675b2065966fb0207764cd2cbc9a7d1471a2699a361b176efb36c1a8f0496 |
|
| MD5 | 3cfc028ed388e1d823b112fe6b514059 |
|
| 布莱克2-256 | bf30dc52b23e9b32fd8ba3b49455beda0baf4d593a4be3122abde5a4ba880e03 |