微服务是设计师处理当今世界应用程序复杂性的方法。然而,这些应用程序的验证和部署在实现过程中丢失了,因为在现实世界中这个过程很少被传达。
一个可以分解为模型-视图-控制器架构的 web 应用程序已经变成了非结构化数据的世界 <-> 微服务 <-> 前端。具有可配置后端(数据存储而不是数据库)和灵活前端的能力使得 Microservice API 成为数据交换的主要来源。
对于传统的测试/验证团队来说,这种检查是一项正在进行的工作,目的是解决将 Infrastructure as Code 部署为代码时遇到的实际挑战。
openapi: "3.0.0"
info:
title: Simple API overview
version: 2.0.0
description: >-
API To Test Hello World.
version: '1'
termsOfService: 'http://swagger.io/terms/'
host: 'localhost'
paths:
/:
get:
operationId: listVersionsv2
summary: List API versions
responses:
'200':
description: |-
200 response
content:
application/json:
examples:
foo:
value:
{
"versions": [
{
"status": "CURRENT",
"updated": "2011-01-21T11:33:21Z",
"id": "v2.0",
"links": [
{
"href": "http://127.0.0.1:8774/v2/",
"rel": "self"
}
]
},
{
"status": "EXPERIMENTAL",
"updated": "2013-07-23T11:33:21Z",
"id": "v3.0",
"links": [
{
"href": "http://127.0.0.1:8774/v3/",
"rel": "self"
}
]
}
]
}
'300':
description: |-
300 response
content:
application/json:
examples:
foo:
value: |
{
"versions": [
{
"status": "CURRENT",
"updated": "2011-01-21T11:33:21Z",
"id": "v2.0",
"links": [
{
"href": "http://127.0.0.1:8774/v2/",
"rel": "self"
}
]
},
{
"status": "EXPERIMENTAL",
"updated": "2013-07-23T11:33:21Z",
"id": "v3.0",
"links": [
{
"href": "http://127.0.0.1:8774/v3/",
"rel": "self"
}
]
}
]
}
/v2:
get:
operationId: getVersionDetailsv2
summary: Show API version details
responses:
'200':
description: |-
200 response
content:
application/json:
examples:
foo:
value:
{
"version": {
"status": "CURRENT",
"updated": "2011-01-21T11:33:21Z",
"media-types": [
{
"base": "application/xml",
"type": "application/vnd.openstack.compute+xml;version=2"
},
{
"base": "application/json",
"type": "application/vnd.openstack.compute+json;version=2"
}
],
"id": "v2.0",
"links": [
{
"href": "http://127.0.0.1:8774/v2/",
"rel": "self"
},
{
"href": "http://docs.openstack.org/api/openstack-compute/2/os-compute-devguide-2.pdf",
"type": "application/pdf",
"rel": "describedby"
},
{
"href": "http://docs.openstack.org/api/openstack-compute/2/wadl/os-compute-2.wadl",
"type": "application/vnd.sun.wadl+xml",
"rel": "describedby"
},
{
"href": "http://docs.openstack.org/api/openstack-compute/2/wadl/os-compute-2.wadl",
"type": "application/vnd.sun.wadl+xml",
"rel": "describedby"
}
]
}
}
'203':
description: |-
203 response
content:
application/json:
examples:
foo:
value:
{
"version": {
"status": "CURRENT",
"updated": "2011-01-21T11:33:21Z",
"media-types": [
{
"base": "application/xml",
"type": "application/vnd.openstack.compute+xml;version=2"
},
{
"base": "application/json",
"type": "application/vnd.openstack.compute+json;version=2"
}
],
"id": "v2.0",
"links": [
{
"href": "http://23.253.228.211:8774/v2/",
"rel": "self"
},
{
"href": "http://docs.openstack.org/api/openstack-compute/2/os-compute-devguide-2.pdf",
"type": "application/pdf",
"rel": "describedby"
},
{
"href": "http://docs.openstack.org/api/openstack-compute/2/wadl/os-compute-2.wadl",
"type": "application/vnd.sun.wadl+xml",
"rel": "describedby"
}
]
}
}这些指南可用于检查 YAML 中要测试的 API 的有效负载、响应、部署和参数。
1. 获取列出 URL (即 https://localhost:8089/API/vx/resource )的 YAML 或 API 规范
2.确认和验证方法(GET/POST/PUT/PATCH/UPDATE)和到服务器的 URL 部署到 ex: (https://< ENVIRONMENT > : PORT/)以及有效:
A:持记名信物的凭证
B: Parameters?XXKEY=XXVAL&YYKEY=YYVAL ( 来自路径部分)
C: 方法的主体是格式良好的(来自 Schema) ,并在标题中声明
3.验证 API 和 API 版本是否部署到 < ENVIRONMENT > 进行测试
4. 检查有效载荷主体中的最小/最大值和超出范围值的有效载荷范围
5. 检查 YAML/API 中列出的 REST API 响应代码
6. 将 UI 上的 Data 与 GET/PUT Body 匹配,以匹配 UI 上显示的值。
7. 检查 API Body/header 中的强制/可选字段是否存在模式错误。请参考[3]以进行模式验证。
| 留言与评论(共有 0 条评论) “” |