v1: executing-plans 模式生成,54 文件 1320 行 Python
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
from __future__ import annotations
|
||||
from dataclasses import dataclass, field
|
||||
from typing import Optional
|
||||
|
||||
|
||||
@dataclass
|
||||
class SparkConfig:
|
||||
num_records: int = 100
|
||||
replication: str = "key_varied"
|
||||
key_field: str = ""
|
||||
edge_cases: list[str] = field(default_factory=list)
|
||||
|
||||
|
||||
@dataclass
|
||||
class TestCase:
|
||||
id: str
|
||||
fields: dict = field(default_factory=dict)
|
||||
coverage_targets: list[str] = field(default_factory=list)
|
||||
|
||||
|
||||
@dataclass
|
||||
class TestSuite:
|
||||
schema: Optional[dict] = None
|
||||
test_cases: list[TestCase] = field(default_factory=list)
|
||||
spark_config: Optional[SparkConfig] = None
|
||||
|
||||
def with_spark(self, num_records: int = 1000, key_field: str = "") -> "TestSuite":
|
||||
self.spark_config = SparkConfig(num_records=num_records, key_field=key_field)
|
||||
return self
|
||||
|
||||
@property
|
||||
def has_spark(self) -> bool:
|
||||
return self.spark_config is not None
|
||||
|
||||
|
||||
_tc = TestCase(id="TC-001", fields={"BR-AMT": 1500000, "BR-TYPE": "A"})
|
||||
assert _tc.id == "TC-001"
|
||||
assert _tc.fields["BR-AMT"] == 1500000
|
||||
|
||||
_ts = TestSuite(test_cases=[_tc], spark_config=SparkConfig(num_records=1000))
|
||||
assert _ts.spark_config.num_records == 1000
|
||||
Reference in New Issue
Block a user