наблюдаемость: завершить базовый контур Community
Добавить структурированные журналы, метрики, трассировку и безопасный канал критических ошибок. Усилить границы рантайма, тесты, проверку зависимостей и сценарии развёртывания.
This commit is contained in:
@@ -87,6 +87,65 @@ class RustBoundaryCheckTests(unittest.TestCase):
|
||||
self.assertEqual(violations[0].source, "crank-registry")
|
||||
self.assertEqual(violations[0].dependency, "crank-adapter-rest")
|
||||
|
||||
def test_allows_apps_to_depend_on_observability(self) -> None:
|
||||
packages = [
|
||||
package(
|
||||
self.root,
|
||||
"admin-api",
|
||||
"apps/admin-api",
|
||||
["crank-observability"],
|
||||
),
|
||||
package(
|
||||
self.root,
|
||||
"crank-observability",
|
||||
"crates/crank-observability",
|
||||
),
|
||||
]
|
||||
|
||||
violations = self.checker.find_violations(metadata(packages, self.root))
|
||||
|
||||
self.assertEqual(violations, [])
|
||||
|
||||
def test_rejects_observability_dependency_on_workspace_crates(self) -> None:
|
||||
for dependency in ("crank-core", "crank-registry", "crank-runtime"):
|
||||
packages = [
|
||||
package(
|
||||
self.root,
|
||||
"crank-observability",
|
||||
"crates/crank-observability",
|
||||
[dependency],
|
||||
),
|
||||
package(self.root, dependency, f"crates/{dependency}"),
|
||||
]
|
||||
|
||||
violations = self.checker.find_violations(metadata(packages, self.root))
|
||||
|
||||
self.assertEqual(len(violations), 1, dependency)
|
||||
self.assertEqual(violations[0].source, "crank-observability")
|
||||
self.assertEqual(violations[0].dependency, dependency)
|
||||
|
||||
def test_rejects_domain_and_runtime_dependencies_on_observability(self) -> None:
|
||||
for source in ("crank-core", "crank-registry", "crank-runtime"):
|
||||
packages = [
|
||||
package(
|
||||
self.root,
|
||||
source,
|
||||
f"crates/{source}",
|
||||
["crank-observability"],
|
||||
),
|
||||
package(
|
||||
self.root,
|
||||
"crank-observability",
|
||||
"crates/crank-observability",
|
||||
),
|
||||
]
|
||||
|
||||
violations = self.checker.find_violations(metadata(packages, self.root))
|
||||
|
||||
self.assertEqual(len(violations), 1, source)
|
||||
self.assertEqual(violations[0].source, source)
|
||||
self.assertEqual(violations[0].dependency, "crank-observability")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
||||
Reference in New Issue
Block a user