-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpyproject.toml
More file actions
110 lines (94 loc) · 2.47 KB
/
Copy pathpyproject.toml
File metadata and controls
110 lines (94 loc) · 2.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "ztwim-test-framework"
version = "0.1.0"
description = "AI-Powered Test Framework for ZTWIM Operator & SPIFFE/SPIRE on OpenShift"
readme = "README.md"
license = "Apache-2.0"
requires-python = ">=3.10"
authors = [
{ name = "Sayak Das", email = "sayadas@redhat.com" }
]
keywords = ["ztwim", "spiffe", "spire", "openshift", "kubernetes", "testing", "pytest"]
dependencies = [
# Testing
"pytest>=7.4.0",
"pytest-asyncio>=0.21.0",
"pytest-html>=4.1.0",
"pytest-xdist>=3.5.0",
"pytest-timeout>=2.2.0",
"pytest-order>=1.2.0",
# Better Reporting
"pytest-sugar>=1.0.0",
# Kubernetes/OpenShift
"kubernetes>=28.1.0",
"openshift-client>=1.0.0",
# HTTP & Async
"httpx>=0.25.0",
"aiohttp>=3.9.0",
# Data & Config
"pydantic>=2.0.0",
"pydantic-settings>=2.0.0",
"pyyaml>=6.0",
"python-dotenv>=1.0.0",
# CLI & Output
"rich>=13.0.0",
"typer>=0.9.0",
]
[project.optional-dependencies]
ai = [
"anthropic>=0.18.0",
"google-generativeai>=0.3.0",
"openai>=1.12.0",
]
dev = [
"black>=23.0.0",
"ruff>=0.1.0",
"mypy>=1.5.0",
"pre-commit>=3.4.0",
]
[project.scripts]
ztwim-test = "src.cli:app"
[tool.pytest.ini_options]
testpaths = ["tests/federation", "tests/ossm"]
python_files = ["test_*.py"]
python_classes = ["Test*"]
python_functions = ["test_*"]
addopts = [
"-v",
"-s",
"--tb=short",
"-ra",
"--self-contained-html",
"--css=assets/pytest-html-style.css",
]
markers = [
"federation: Tests for cluster federation",
"ossm: Tests for single-cluster OSSM + SPIRE integration",
"ossm_federation: Cross-cluster OSSM + SPIRE federation tests",
"slow: Marks tests as slow running",
"destructive: Tests that modify cluster state significantly",
]
filterwarnings = [
"ignore::DeprecationWarning",
]
# Live logging configuration
log_cli = true
log_cli_level = "INFO"
log_cli_format = "[%(asctime)s] %(levelname)-8s %(name)s: %(message)s"
log_cli_date_format = "%Y-%m-%d %H:%M:%S"
# File logging (optional)
log_file = "logs/pytest.log"
log_file_level = "DEBUG"
log_file_format = "[%(asctime)s] %(levelname)-8s %(name)s: %(message)s"
log_file_date_format = "%Y-%m-%d %H:%M:%S"
[tool.black]
line-length = 100
target-version = ["py310", "py311", "py312"]
[tool.ruff]
line-length = 100
select = ["E", "F", "I", "N", "W"]
[tool.hatch.build.targets.wheel]
packages = ["src"]