Files
attune/tests/generated_client/models/pack_test_execution.py
2026-02-04 17:46:30 -06:00

183 lines
4.0 KiB
Python

from __future__ import annotations
from collections.abc import Mapping
from typing import Any, TypeVar, BinaryIO, TextIO, TYPE_CHECKING, Generator
from attrs import define as _attrs_define
from attrs import field as _attrs_field
from ..types import UNSET, Unset
from dateutil.parser import isoparse
from typing import cast
import datetime
T = TypeVar("T", bound="PackTestExecution")
@_attrs_define
class PackTestExecution:
""" Pack test execution record
Attributes:
created (datetime.datetime):
duration_ms (int):
execution_time (datetime.datetime):
failed (int):
id (int):
pack_id (int):
pack_version (str):
pass_rate (float):
passed (int):
result (Any):
skipped (int):
total_tests (int):
trigger_reason (str):
"""
created: datetime.datetime
duration_ms: int
execution_time: datetime.datetime
failed: int
id: int
pack_id: int
pack_version: str
pass_rate: float
passed: int
result: Any
skipped: int
total_tests: int
trigger_reason: str
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
def to_dict(self) -> dict[str, Any]:
created = self.created.isoformat()
duration_ms = self.duration_ms
execution_time = self.execution_time.isoformat()
failed = self.failed
id = self.id
pack_id = self.pack_id
pack_version = self.pack_version
pass_rate = self.pass_rate
passed = self.passed
result = self.result
skipped = self.skipped
total_tests = self.total_tests
trigger_reason = self.trigger_reason
field_dict: dict[str, Any] = {}
field_dict.update(self.additional_properties)
field_dict.update({
"created": created,
"durationMs": duration_ms,
"executionTime": execution_time,
"failed": failed,
"id": id,
"packId": pack_id,
"packVersion": pack_version,
"passRate": pass_rate,
"passed": passed,
"result": result,
"skipped": skipped,
"totalTests": total_tests,
"triggerReason": trigger_reason,
})
return field_dict
@classmethod
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
d = dict(src_dict)
created = isoparse(d.pop("created"))
duration_ms = d.pop("durationMs")
execution_time = isoparse(d.pop("executionTime"))
failed = d.pop("failed")
id = d.pop("id")
pack_id = d.pop("packId")
pack_version = d.pop("packVersion")
pass_rate = d.pop("passRate")
passed = d.pop("passed")
result = d.pop("result")
skipped = d.pop("skipped")
total_tests = d.pop("totalTests")
trigger_reason = d.pop("triggerReason")
pack_test_execution = cls(
created=created,
duration_ms=duration_ms,
execution_time=execution_time,
failed=failed,
id=id,
pack_id=pack_id,
pack_version=pack_version,
pass_rate=pass_rate,
passed=passed,
result=result,
skipped=skipped,
total_tests=total_tests,
trigger_reason=trigger_reason,
)
pack_test_execution.additional_properties = d
return pack_test_execution
@property
def additional_keys(self) -> list[str]:
return list(self.additional_properties.keys())
def __getitem__(self, key: str) -> Any:
return self.additional_properties[key]
def __setitem__(self, key: str, value: Any) -> None:
self.additional_properties[key] = value
def __delitem__(self, key: str) -> None:
del self.additional_properties[key]
def __contains__(self, key: str) -> bool:
return key in self.additional_properties