Skip to content

Commit 7817d35

Browse files
committed
fix(v9): unit test fixes - Procedure updater, audit fixture camelCase, Entity UNSET defaults
- Procedure.updater(): make definition optional (default '') so updater(qualified_name, name) works - Entity: set classification_names, meanings, labels, pending_tasks defaults to UNSET so workflow package serialization omits them (fixes test_packages AssertionError on connection payload) - Audit search: audit_search_paging.json entity audit keys to camelCase (entityQualifiedName, typeName, entityId) for EntityAudit decode; assert helpers use first['entityId'] etc. Made-with: Cursor
1 parent 3a151b5 commit 7817d35

5 files changed

Lines changed: 34 additions & 31 deletions

File tree

pyatlan_v9/model/assets/entity.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -177,15 +177,15 @@ class Entity(msgspec.Struct, kw_only=True, omit_defaults=True, rename="camel"):
177177
remove_classifications: Union[list[Any], UnsetType] = UNSET
178178
"""Classifications to remove from this entity (used during save)."""
179179

180-
classification_names: Union[list, None, UnsetType] = None
180+
classification_names: Union[list, None, UnsetType] = UNSET
181181
"""Simple list of classification type names assigned to this entity."""
182182

183183
# Meanings - typed for better validation
184-
meanings: Union[list[TermAssignment], None, UnsetType] = None
184+
meanings: Union[list[TermAssignment], None, UnsetType] = UNSET
185185
"""Glossary term assignments for this entity."""
186186

187187
# Labels
188-
labels: Union[list[str], None, UnsetType] = None
188+
labels: Union[list[str], None, UnsetType] = UNSET
189189
"""Simple string labels attached to this entity."""
190190

191191
# Additional metadata
@@ -195,7 +195,7 @@ class Entity(msgspec.Struct, kw_only=True, omit_defaults=True, rename="camel"):
195195
custom_attributes: Union[dict[str, str], UnsetType] = UNSET
196196
"""Custom key-value pairs for this entity."""
197197

198-
pending_tasks: Union[list[str], None, UnsetType] = None
198+
pending_tasks: Union[list[str], None, UnsetType] = UNSET
199199
"""Identifiers of pending tasks for this entity."""
200200

201201
proxy: Union[bool, UnsetType] = UNSET

pyatlan_v9/model/assets/procedure.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -193,13 +193,20 @@ def creator(
193193
)
194194

195195
@classmethod
196-
def updater(cls, *, qualified_name: str, name: str, definition: str) -> "Procedure":
196+
def updater(
197+
cls,
198+
*,
199+
qualified_name: str,
200+
name: str,
201+
definition: str = "",
202+
) -> "Procedure":
197203
validate_required_fields(
198-
["qualified_name", "name", "definition"],
199-
[qualified_name, name, definition],
204+
["qualified_name", "name"],
205+
[qualified_name, name],
200206
)
201207
proc = cls(qualified_name=qualified_name, name=name)
202-
proc.definition = definition
208+
if definition:
209+
proc.definition = definition
203210
return proc
204211

205212
def trim_to_required(self) -> "Procedure":

tests/unit/data/search_responses/audit_search_paging.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
"totalCount": 1,
33
"entityAudits": [
44
{
5-
"entity_qualified_name": "sample_entity_1",
6-
"type_name": "AtlasGlossaryTerm",
7-
"entity_id": "guid_1",
5+
"entityQualifiedName": "sample_entity_1",
6+
"typeName": "AtlasGlossaryTerm",
7+
"entityId": "guid_1",
88
"timestamp": 1733491479782,
99
"created": 1733491480576,
1010
"user": "user1",

tests_v9/unit/aio/test_audit_search.py

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -47,23 +47,21 @@ def load_json(filename):
4747
async def _assert_audit_search_results(
4848
results: AsyncAuditSearchResults, response_json, sorts, bulk=False
4949
):
50+
first = response_json["entityAudits"][0]
5051
async for audit in results:
51-
assert audit.entity_id == response_json["entityAudits"][0]["entity_id"]
52-
assert (
53-
audit.entity_qualified_name
54-
== response_json["entityAudits"][0]["entity_qualified_name"]
55-
)
56-
assert audit.type_name == response_json["entityAudits"][0]["type_name"]
52+
assert audit.entity_id == first["entityId"]
53+
assert audit.entity_qualified_name == first["entityQualifiedName"]
54+
assert audit.type_name == first["typeName"]
5755
expected_timestamp = datetime.fromtimestamp(
58-
response_json["entityAudits"][0]["timestamp"] / 1000, tz=timezone.utc
56+
first["timestamp"] / 1000, tz=timezone.utc
5957
)
6058
assert audit.timestamp == expected_timestamp
6159
expected_created = datetime.fromtimestamp(
62-
response_json["entityAudits"][0]["created"] / 1000, tz=timezone.utc
60+
first["created"] / 1000, tz=timezone.utc
6361
)
6462
assert audit.created == expected_created
65-
assert audit.user == response_json["entityAudits"][0]["user"]
66-
assert audit.action == response_json["entityAudits"][0]["action"]
63+
assert audit.user == first["user"]
64+
assert audit.action == first["action"]
6765

6866
assert results.total_count == response_json["totalCount"]
6967
assert results._bulk == bulk

tests_v9/unit/test_audit_search.py

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -55,23 +55,21 @@ def load_json(filename):
5555
def _assert_audit_search_results(
5656
results: AuditSearchResults, response_json, sorts, bulk=False
5757
):
58+
first = response_json["entityAudits"][0]
5859
for audit in results:
59-
assert audit.entity_id == response_json["entityAudits"][0]["entity_id"]
60-
assert (
61-
audit.entity_qualified_name
62-
== response_json["entityAudits"][0]["entity_qualified_name"]
63-
)
64-
assert audit.type_name == response_json["entityAudits"][0]["type_name"]
60+
assert audit.entity_id == first["entityId"]
61+
assert audit.entity_qualified_name == first["entityQualifiedName"]
62+
assert audit.type_name == first["typeName"]
6563
expected_timestamp = datetime.fromtimestamp(
66-
response_json["entityAudits"][0]["timestamp"] / 1000, tz=timezone.utc
64+
first["timestamp"] / 1000, tz=timezone.utc
6765
)
6866
assert audit.timestamp == expected_timestamp
6967
expected_created = datetime.fromtimestamp(
70-
response_json["entityAudits"][0]["created"] / 1000, tz=timezone.utc
68+
first["created"] / 1000, tz=timezone.utc
7169
)
7270
assert audit.created == expected_created
73-
assert audit.user == response_json["entityAudits"][0]["user"]
74-
assert audit.action == response_json["entityAudits"][0]["action"]
71+
assert audit.user == first["user"]
72+
assert audit.action == first["action"]
7573

7674
assert results.total_count == response_json["totalCount"]
7775
assert results._bulk == bulk

0 commit comments

Comments
 (0)