drun 2.2.1__tar.gz → 2.2.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. {drun-2.2.1 → drun-2.2.2}/PKG-INFO +1 -1
  2. {drun-2.2.1 → drun-2.2.2}/drun/__init__.py +1 -1
  3. {drun-2.2.1 → drun-2.2.2}/drun/cli.py +8 -17
  4. {drun-2.2.1 → drun-2.2.2}/drun.egg-info/PKG-INFO +1 -1
  5. {drun-2.2.1 → drun-2.2.2}/pyproject.toml +1 -1
  6. {drun-2.2.1 → drun-2.2.2}/LICENSE +0 -0
  7. {drun-2.2.1 → drun-2.2.2}/README.md +0 -0
  8. {drun-2.2.1 → drun-2.2.2}/drun/db/__init__.py +0 -0
  9. {drun-2.2.1 → drun-2.2.2}/drun/db/database_proxy.py +0 -0
  10. {drun-2.2.1 → drun-2.2.2}/drun/db/generate_mysql_config.py +0 -0
  11. {drun-2.2.1 → drun-2.2.2}/drun/engine/__init__.py +0 -0
  12. {drun-2.2.1 → drun-2.2.2}/drun/engine/http.py +0 -0
  13. {drun-2.2.1 → drun-2.2.2}/drun/exporters/curl.py +0 -0
  14. {drun-2.2.1 → drun-2.2.2}/drun/importers/base.py +0 -0
  15. {drun-2.2.1 → drun-2.2.2}/drun/importers/curl.py +0 -0
  16. {drun-2.2.1 → drun-2.2.2}/drun/importers/har.py +0 -0
  17. {drun-2.2.1 → drun-2.2.2}/drun/importers/openapi.py +0 -0
  18. {drun-2.2.1 → drun-2.2.2}/drun/importers/postman.py +0 -0
  19. {drun-2.2.1 → drun-2.2.2}/drun/loader/__init__.py +0 -0
  20. {drun-2.2.1 → drun-2.2.2}/drun/loader/collector.py +0 -0
  21. {drun-2.2.1 → drun-2.2.2}/drun/loader/env.py +0 -0
  22. {drun-2.2.1 → drun-2.2.2}/drun/loader/hooks.py +0 -0
  23. {drun-2.2.1 → drun-2.2.2}/drun/loader/yaml_loader.py +0 -0
  24. {drun-2.2.1 → drun-2.2.2}/drun/models/case.py +0 -0
  25. {drun-2.2.1 → drun-2.2.2}/drun/models/config.py +0 -0
  26. {drun-2.2.1 → drun-2.2.2}/drun/models/report.py +0 -0
  27. {drun-2.2.1 → drun-2.2.2}/drun/models/request.py +0 -0
  28. {drun-2.2.1 → drun-2.2.2}/drun/models/step.py +0 -0
  29. {drun-2.2.1 → drun-2.2.2}/drun/models/validators.py +0 -0
  30. {drun-2.2.1 → drun-2.2.2}/drun/notifier/__init__.py +0 -0
  31. {drun-2.2.1 → drun-2.2.2}/drun/notifier/base.py +0 -0
  32. {drun-2.2.1 → drun-2.2.2}/drun/notifier/dingtalk.py +0 -0
  33. {drun-2.2.1 → drun-2.2.2}/drun/notifier/emailer.py +0 -0
  34. {drun-2.2.1 → drun-2.2.2}/drun/notifier/feishu.py +0 -0
  35. {drun-2.2.1 → drun-2.2.2}/drun/notifier/format.py +0 -0
  36. {drun-2.2.1 → drun-2.2.2}/drun/reporter/__init__.py +0 -0
  37. {drun-2.2.1 → drun-2.2.2}/drun/reporter/allure_reporter.py +0 -0
  38. {drun-2.2.1 → drun-2.2.2}/drun/reporter/html_reporter.py +0 -0
  39. {drun-2.2.1 → drun-2.2.2}/drun/reporter/json_reporter.py +0 -0
  40. {drun-2.2.1 → drun-2.2.2}/drun/runner/__init__.py +0 -0
  41. {drun-2.2.1 → drun-2.2.2}/drun/runner/assertions.py +0 -0
  42. {drun-2.2.1 → drun-2.2.2}/drun/runner/extractors.py +0 -0
  43. {drun-2.2.1 → drun-2.2.2}/drun/runner/runner.py +0 -0
  44. {drun-2.2.1 → drun-2.2.2}/drun/scaffolds/__init__.py +0 -0
  45. {drun-2.2.1 → drun-2.2.2}/drun/scaffolds/templates.py +0 -0
  46. {drun-2.2.1 → drun-2.2.2}/drun/templating/__init__.py +0 -0
  47. {drun-2.2.1 → drun-2.2.2}/drun/templating/builtins.py +0 -0
  48. {drun-2.2.1 → drun-2.2.2}/drun/templating/context.py +0 -0
  49. {drun-2.2.1 → drun-2.2.2}/drun/templating/engine.py +0 -0
  50. {drun-2.2.1 → drun-2.2.2}/drun/utils/__init__.py +0 -0
  51. {drun-2.2.1 → drun-2.2.2}/drun/utils/curl.py +0 -0
  52. {drun-2.2.1 → drun-2.2.2}/drun/utils/errors.py +0 -0
  53. {drun-2.2.1 → drun-2.2.2}/drun/utils/logging.py +0 -0
  54. {drun-2.2.1 → drun-2.2.2}/drun/utils/mask.py +0 -0
  55. {drun-2.2.1 → drun-2.2.2}/drun/utils/timeit.py +0 -0
  56. {drun-2.2.1 → drun-2.2.2}/drun.egg-info/SOURCES.txt +0 -0
  57. {drun-2.2.1 → drun-2.2.2}/drun.egg-info/dependency_links.txt +0 -0
  58. {drun-2.2.1 → drun-2.2.2}/drun.egg-info/entry_points.txt +0 -0
  59. {drun-2.2.1 → drun-2.2.2}/drun.egg-info/requires.txt +0 -0
  60. {drun-2.2.1 → drun-2.2.2}/drun.egg-info/top_level.txt +0 -0
  61. {drun-2.2.1 → drun-2.2.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: drun
3
- Version: 2.2.1
3
+ Version: 2.2.2
4
4
  Summary: Minimal HTTP API test runner (MVP)
5
5
  Author: Drun Team
6
6
  Requires-Python: >=3.10
@@ -1,2 +1,2 @@
1
1
  __all__ = ["__version__"]
2
- __version__ = "2.2.1"
2
+ __version__ = "2.2.2"
@@ -1677,7 +1677,7 @@ def init_project(
1677
1677
  from drun import scaffolds
1678
1678
 
1679
1679
  # Display version
1680
- typer.echo(f"Drun v{_get_drun_version()}\n")
1680
+ typer.echo(f"Drun v{_get_drun_version()}")
1681
1681
 
1682
1682
  # 确定目标目录
1683
1683
  if name:
@@ -1809,7 +1809,8 @@ def init_project(
1809
1809
  ("│ ├── ", "test_api_health.yaml", "健康检查示例"),
1810
1810
  ("│ ├── ", "test_stream.yaml", "流式响应 (SSE) 示例"),
1811
1811
  ("│ ├── ", "test_db_assert.yaml", "数据库断言示例"),
1812
- ("│ └── ", "test_import_users.yaml", "CSV 参数化示例"),
1812
+ ("│ ├── ", "test_import_users.yaml", "CSV 参数化示例"),
1813
+ ("│ └── ", "test_assertions.yaml", "断言操作符完整示例"),
1813
1814
  ("├── ", "testsuites/", ""),
1814
1815
  ("│ ├── ", "testsuite_smoke.yaml", "冒烟测试套件"),
1815
1816
  ("│ └── ", "testsuite_csv.yaml", "CSV 示例套件"),
@@ -1844,7 +1845,7 @@ def init_project(
1844
1845
  else:
1845
1846
  typer.echo(full)
1846
1847
  typer.echo("")
1847
- typer.echo("9 directories, 17 files")
1848
+ typer.echo("9 directories, 18 files")
1848
1849
 
1849
1850
  if skipped_files:
1850
1851
  typer.echo("")
@@ -1865,20 +1866,10 @@ def init_project(
1865
1866
  if name:
1866
1867
  typer.echo(f" cd {name}")
1867
1868
  typer.echo(" drun run testcases/test_api_health.yaml")
1868
- # httpstat 功能已删除
1869
- typer.echo(" drun run testcases/test_stream.yaml # 流式响应 (SSE) 示例")
1870
- typer.echo(" drun run testcases/test_db_assert.yaml # 数据库断言示例")
1871
- typer.echo(" drun run testcases/test_import_users.yaml # CSV 数据驱动示例")
1872
- typer.echo("")
1873
- typer.echo("格式转换 (查看 converts/README.md 获取详细说明):")
1874
- typer.echo(" - cURL 转用例:")
1875
- typer.echo(" drun convert converts/curl/sample.curl --outfile testcases/new_test.yaml")
1876
- typer.echo(" - Postman 转用例:")
1877
- typer.echo(" drun convert converts/postman/sample_collection.json --split-output --suite-out testsuites/new_suite.yaml")
1878
- typer.echo(" - HAR 转用例:")
1879
- typer.echo(" drun convert converts/har/sample_recording.har --exclude-static --only-2xx --outfile testcases/from_har.yaml")
1880
- typer.echo(" - OpenAPI 转用例:")
1881
- typer.echo(" drun convert-openapi converts/openapi/sample_openapi.json --split-output --outfile testcases/from_openapi.yaml")
1869
+ typer.echo(" drun run testcases/test_stream.yaml")
1870
+ typer.echo(" drun run testcases/test_db_assert.yaml")
1871
+ typer.echo(" drun run testcases/test_import_users.yaml")
1872
+ typer.echo(" drun run testcases/test_assertions.yaml")
1882
1873
  typer.echo("")
1883
1874
  typer.echo("文档: https://github.com/Devliang24/drun")
1884
1875
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: drun
3
- Version: 2.2.1
3
+ Version: 2.2.2
4
4
  Summary: Minimal HTTP API test runner (MVP)
5
5
  Author: Drun Team
6
6
  Requires-Python: >=3.10
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "drun"
7
- version = "2.2.1"
7
+ version = "2.2.2"
8
8
  description = "Minimal HTTP API test runner (MVP)"
9
9
  requires-python = ">=3.10"
10
10
  authors = [{ name = "Drun Team" }]
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes