28 lines
1.2 KiB
C++
28 lines
1.2 KiB
C++
|
|
#include <gtest/gtest.h>
|
||
|
|
#include "OpenApiConfig.h"
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @brief 测试 customOpenAPI 函数正常返回非空 OpenAPI 对象并包含正确的文档信息。
|
||
|
|
*/
|
||
|
|
TEST(OpenApiConfigTest, customOpenAPIReturnsValidOpenAPI) {
|
||
|
|
OpenApiConfig config;
|
||
|
|
OpenAPI api = config.customOpenAPI();
|
||
|
|
|
||
|
|
// 验证返回的 OpenAPI 对象不为空(通过 info 成员非空间接验证)
|
||
|
|
Info info = api.getInfo();
|
||
|
|
EXPECT_FALSE(info.getTitle().empty());
|
||
|
|
EXPECT_EQ(info.getTitle(), "信息管理系统 (IMS) API 文档");
|
||
|
|
EXPECT_EQ(info.getVersion(), "1.0.0");
|
||
|
|
EXPECT_EQ(info.getDescription(), "信息管理系统后端接口文档,支持用户权限管理、业务数据管理、统计分析、日志审计和系统对接等功能。");
|
||
|
|
|
||
|
|
// 验证联系人信息
|
||
|
|
Contact contact = info.getContact();
|
||
|
|
EXPECT_EQ(contact.getName(), "IMS 开发团队");
|
||
|
|
EXPECT_EQ(contact.getEmail(), "dev@ims-demo.com");
|
||
|
|
EXPECT_EQ(contact.getUrl(), "https://github.com/ims-demo");
|
||
|
|
|
||
|
|
// 验证许可证信息
|
||
|
|
License license = info.getLicense();
|
||
|
|
EXPECT_EQ(license.getName(), "Apache 2.0");
|
||
|
|
EXPECT_EQ(license.getUrl(), "https://www.apache.org/licenses/LICENSE-2.0");
|
||
|
|
}
|