Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Tags: ae86sen/aomaker

Tags

v3.0.3

Toggle v3.0.3's commit message
fix:apischema适配attrs,同时进行类型归一化处理(),支持attrs类的字段解析,兼容from __future__ im…

…port annotations

v3.0.2

Toggle v3.0.2's commit message
update: 优化模型收集逻辑,增加对自定义类型的依赖闭包处理

v3.0.1

Toggle v3.0.1's commit message
更新PyYAML版本

v3.0.0

Toggle v3.0.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
合并v3.0.0 (#24)

* 新增openapi代码生成器
新增接口定义请求核心

* 优化router的处理逻辑,增加prefix替换

* 1.优化converters组件处理逻辑和数据结构,增加钩子函数post_prepare支持用户自定义处理prepare后的数据
2.优化BaseAPIObjects基类请求属性的类型注解并增加类型校验

* 中间件及其注册机制优化

* 优化请求日志中间件

* 一、增加jsonschema断言
1.schema表来存储jsonschema,取自接口定义中的response(通过jsonschema_extractor转换)
二、通过泛型类增加响应模型建模
1.将response.json转化为模型来取值

* 1.增加接口类基类配置项
2.增加maker配置文件

* 增加代码生成部分rich打印

* 1.移除流量录制
2.移除har解析
3.移除swagger生成yaml
4.移除自动用例生成cli

* 增加接口模型文件代码生成cli

* 优化日志中间件

* 优化AO模型生成过程中类名出现同名的情况

* cattrs_converter增加uuid structure_hook

* 优化接口类和模型的导入

* 修复生成模型字段类型和默认值不一致的情况

* 请求headers信息放到debug日志中

* 优化日志中间件,增加调用接口名和注释

* 简化jsonschema校验异常信息

* 整合schema_manager到cache中

* 对类型为uuid的字段添加jsonschema元数据信息

* 1.增加stats表,统计静态接口信息
2.增加service,提供项目统计信息、进度等接口给测试平台
3.增加pytest插件统计pytest进度信息
4.增加service,show等cli子命令

* 1.stats表增加自动创建
2.调整api统计收集逻辑
3.调整service API收集接口

* 脚手架增加stats表创建

* 1.查询接口的AO模型的query_params调整为必填参数,自动实例化
2.schema校验失败抛出Assertion错误

* 删除不必要的注释

* 调整core模块名

* 1.解析openapi暂时去掉翻译
2.优化sqlite查询接口

* 1.修复request body的schema非引用,而是直接定义的情况
2.调整模型代码生成时,接口类名的命名策略,并增加cli参数

* 1.模型命名策略改为字典存储

* 1.fix: 修复enum模型解析问题
2.优化request body/response的content多类型解析

* 优化black异常信息

* 1.调整cache.py模块名为storage.py
2.优化storage.py内部api

* fix:修复config表插入数据报错问题

* 1.优化单/多进程下的session管理
2.优化鉴权管理
3.cache模块更名为storage

* 1.调整优化response jsonschema存储方案
2.优化sqlite基类操作api
3.优化cache,stats,schema,config四张表的操作api

* - 移除@dependence,@aysnc_api,@update
- 优化aomaker live console页面ui
- 优化脚手架
- 优化数据库路径查找
- 增加项目标记文件

* -feat: 增加mock server和cli命令
-bugfix: 修复openapi文档解析时anyof字段处理问题
-bugfix: 修复openapi文档解析时非必填参数类型问题
-update: 增加转换器对datetime,decimal,uuid等类型的反序列化钩子
-bugfix: 修复日志中间件未生效问题
-update: 脚手架增加mock示例文件

* 1.parser解析适配java泛型类
2.修复live console页面日志和进度条显示问题

* 优化aomaker live console UI

* fix:修复main_run执行失败的问题
fix: 修复main_run带自定义参数时参数解析错误的问题
fix:修复脚手架创建时报错找不到.aomaker文件的问题

* feat: 增加兼容swagger2.0接口文档转换
fix: 修复模板渲染时模型中有python关键字导致失败的问题

* fix: 修复接口响应头无content-type时response转化json格式失败的问题

* fix: 修复解析器初始化时swagger2.0判断逻辑

* fix: 修复openapi解析器请求/响应体多媒体类型为通配符时未解析的问题

* feat: 优化 OpenAPI 解析器,增强对多媒体类型和参数处理的兼容性

主要变更:
1. 增强 SwaggerAdapter 对 body、formData 参数的处理逻辑
2. 优化 ClassNameStrategy 生成类名的策略
3. 改进 JsonSchemaParser 中模型名称和导入的规范化处理
4. 修复 OpenAPIParser 中请求体和响应体解析的边界情况

* 增强响应模式验证逻辑,支持动态更新和比较模式

* -remove: 移除APIRouter的backend_prefix和frontend_prefix参数,参数重组聚焦在post_prepare钩子函数中处理

* 更新版本号至3.0.0beta11,
新增dist_strategy.yaml配置文件,
重构命名策略加载逻辑,支持自定义命名策略。
优化命令行参数处理,确保优先使用命令行参数。
修正相关函数签名以适应新逻辑。

* 更正版本号beta0.10

* 1.增加text/plain类型的请求体构造类
2.修正自动生成代码时接口类名的判断逻辑

* py3.8不支持list[dict]写法,改成List

* 更新版本号至3.0.0beta11,增强API对象的请求发送和响应处理逻辑,支持流式响应,优化日志记录中间件以区分流式和普通响应,重构相关方法以提高可读性和可维护性。

* 新增中间件注册机制

* 新增中间件注册中心及相关功能,支持中间件的注册、启用、禁用和优先级设置,提供配置文件加载和应用功能,增强中间件管理的灵活性和可扩展性。

* 优化 JsonSchemaParser 中属性名称的处理逻辑,确保生成的模型名称符合规范。

* 更新自动生成的apis.py和models.py文件写入逻辑,确保生成的文件使用UTF-8编码

* 内置中间件添加名字

* 脚手架新增中间件文件夹及配置文件

* 脚手架新增中间件文件夹及配置文件

* 优化类型名称处理逻辑,确保自定义类型名称规范化,增强代码可读性和一致性。

* 优化 JsonSchemaParser 和模型名称处理逻辑,添加名称映射功能,确保引用解析和模型名称规范化,增强代码可读性和一致性。

* 增加jsonschema和middlewares的单元测试

* jsonschema支持openapi 3.1中的const字段,并增加单元测试

* 增强类型映射,支持更多format关键字,补充相关单元测试

* openapi解析优化:完善约束转换,将 JSON Schema 约束,如minLength,minimum等转换为 DataModelField 属性,支持后续的验证和元数据生成。并新增相关单元测试

* 移除models.py中的normalize处理

* normalize重构v1,调整到generate阶段处理

* 回退到 commit:9d3688d79c2884b1073b81e0a2d1210862cc8591

* 重构类名规范化处理逻辑

* mock-server增加登录接口,所有mock接口增加权限校验

* Create LICENSE

* update ASCII TEXT and slogan

* add MIT LICENSE

* 新增aomaker图标和logo,更新progress.html以包含图标链接

* 移除hook_manager.py中的调试打印信息

* 优化normalize_enum_name函数,增强对Unicode字符的支持,添加空值处理和合法性检查,确保生成有效的Python标识符

* 优化类名规范化函数,增强对Unicode字符的支持,处理非法字符和数字开头的情况,确保生成有效的Python类名,并添加相应的调试日志。

* 在测试中将JsonSchemaObject的引用创建方式更新为使用model_validate方法,确保引用的正确性和一致性。
修复 anyOf 或 oneOf 只包含一个非 null 类型和一个 null 类型的时,生成的type_hint,重复生成Optional的问题。

* 修复JsonSchemaParser类中type_hint生成逻辑,移除对Optional的使用,以确保在处理多个非null类型时生成正确的Union类型提示。

* 在JsonSchemaParser类中添加递归深度检查,以防止在处理schema时出现过深递归导致的潜在问题。返回类型为Any以确保稳定性。

* 修复文档描述中的空格问题,更新JsonSchemaParser类中的类型映射,确保required字段使用集合类型以提高性能,优化合并描述逻辑,确保合并后的模型描述不包含空值。同时,更新测试用例以反映新的类型生成逻辑。

* 优化OpenAPIParser类中的响应解析逻辑,增加对响应内容存在性的检查,确保在解析schema时捕获异常并记录错误。同时,添加新的测试用例以验证解析功能的正确性和稳定性。

* 修复接口定义中response字段type_hint为列表嵌套自定义模型时,导入信息不对的问题

* 修复流式响应异常处理的问题

* 更新介绍文档

* 调整介绍文档中的超链接

* 调整介绍文档中的更新日志和LICENSE超链接

* 优化OpenAPIParser类中的描述逻辑,确保在缺少描述时优先使用参数对象的描述,提升解析的准确性和稳定性。

* 优化OpenAPIParser类,增加对参数对象(#/components/parameters )的支持,确保在解析引用参数时能够正确返回对应的参数对象,同时提升代码的可读性和注释的完整性。

* 优化OpenAPIParser类,增强对引用参数的处理逻辑,确保在解析参数时能够正确获取schema的默认值和描述,同时提升代码的可读性和注释的完整性。

* 更新JsonSchemaParser类,新增required字段的集合类型支持,以提高模型注册的性能和准确性。

* 增加parser模块单元测试

* 补充parser模块response解析部分单元测试

* 增加generator模块单元测试

* 新增compat.py模块单元测试

* 增加core/http_client模块单元测试

* 增加对BaseAPIObject传入自定义base_url属性的一致性处理

* 优化当AO无response定义时,跳过响应数据解析

* 修复BaseAPIObject的send简写方法没有return返回值的问题

* 增加api_object模块单元测试

* 增加base_model模块单元测试

* 增加request_builder模块单元测试

* 修复EndpointConfig的route_params默认值为None的问题,改为使用空列表以提高代码的健壮性。同时更新RequestConverter以处理route_params为空的情况。

* 新增converters模块单元测试

* 用例调整

* 新增router模块的单元测试

* 增加middlewares单元测试

* 1.移除base_api模块
2.优化jsonschema校验的报错信息

* 重构测试报告UI

* 测试报告UI优化

* 统一测试监控dashboardUI风格

* 打印信息优化

* 移除dataclass

* 1.优化整体打印信息
2.移除tabulate库
3.优化allure commandline未安装的异常提示

* 优化脚手架创建打印信息

* 拆分runner模块,调整cli run接口

* 1.sqlite调整为WAL模式,增加超时时间
2.cache表增加upsert方法

* 拆分重组cli.gen_models

* readme更新

* 增加runner单元测试用例

* 版本号更新为3.0.0

* openapi默认解析递归深度调整到15

* 移除maker.main调试文件

---------

Co-authored-by: listen <[email protected]>