Skip to main content

MM-WS-ICM Library: Machine-to-Machine Web Service Interactive Command Modules (ICM) -- 一组基于 Swagger (Open-API) 规范通过 ICM 开发 Performer 和 Invoker Web 服务的工具。

项目描述

<nav class="contents" id="contents" role="doc-toc">

内容

</nav>

MM-WS-ICM 库:机器对机器 Web 服务交互命令模块 (ICM) – 一组工具,用于通过 ICM 基于 Swagger (Open-API) 规范开发 Performer 和 Invoker Web 服务。

源和包

资源库

包存储库

支持

支持、批评、评论和问题;请联系作者/维护者

文档

ByStar 数字生态系统的一部分http://www.by-star.net

在调用者方面,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 (48.5 kB 查看哈希

已上传 source