Skip to content

Commit f296aa2

Browse files
refactor DocumentDB methods to use 'creator' instead of 'create'. create unit tests for documentDB
1 parent 3d2c04a commit f296aa2

File tree

11 files changed

+230
-197
lines changed

11 files changed

+230
-197
lines changed

pyatlan/generator/templates/methods/asset/document_d_b_collection.jinja2

Lines changed: 3 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -5,29 +5,14 @@
55
database_qualified_name: str,
66
database_name: Optional[str] = None,
77
connection_qualified_name: Optional[str] = None,
8-
) -> DocumentDBCollection: #
8+
) -> DocumentDBCollection:
99
validate_required_fields(
10-
["name, database_qualified_name"], [name, database_qualified_name]
10+
["name", "database_qualified_name"], [name, database_qualified_name]
1111
)
12-
attributes = DocumentDBCollection.Attributes.create(
12+
attributes = DocumentDBCollection.Attributes.creator(
1313
name=name,
1414
database_qualified_name=database_qualified_name,
1515
database_name=database_name,
1616
connection_qualified_name=connection_qualified_name,
1717
)
1818
return cls(attributes=attributes)
19-
20-
@classmethod
21-
@init_guid
22-
def create(cls, *, name: str, connection_qualified_name: str) -> DocumentDBCollection:
23-
warn(
24-
(
25-
"This method is deprecated, please use 'creator' "
26-
"instead, which offers identical functionality."
27-
),
28-
DeprecationWarning,
29-
stacklevel=2,
30-
)
31-
return cls.creator(
32-
name=name, connection_qualified_name=connection_qualified_name
33-
)
Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,10 @@
11
@classmethod
22
@init_guid
3-
def creator(cls, *, name: str, connection_qualified_name: str) -> : DocumentDBDatabase
3+
def creator(cls, *, name: str, connection_qualified_name: str) -> DocumentDBDatabase:
44
validate_required_fields(
55
["name", "connection_qualified_name"], [name, connection_qualified_name]
66
)
7-
attributes = DocumentDBDatabase.Attributes.create(
7+
attributes = DocumentDBDatabase.Attributes.creator(
88
name=name, connection_qualified_name=connection_qualified_name
99
)
1010
return cls(attributes=attributes)
11-
12-
@classmethod
13-
@init_guid
14-
def create(cls, *, name: str, connection_qualified_name: str) -> DocumentDBDatabase:
15-
warn(
16-
(
17-
"This method is deprecated, please use 'creator' "
18-
"instead, which offers identical functionality."
19-
),
20-
DeprecationWarning,
21-
stacklevel=2,
22-
)
23-
return cls.creator(
24-
name=name, connection_qualified_name=connection_qualified_name
25-
)

pyatlan/generator/templates/methods/attribute/document_d_b_collection.jinja2

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
@classmethod
22
@init_guid
3-
def create(cls,
3+
def creator(cls,
44
*,
55
name: str,
66
database_qualified_name: str,
77
database_name: Optional[str] = None,
88
connection_qualified_name: Optional[str] = None,
99
) -> DocumentDBCollection.Attributes:
1010
validate_required_fields(
11-
["name, database_qualified_name"], [name, database_qualified_name]
11+
["name", "database_qualified_name"], [name, database_qualified_name]
1212
)
1313
if connection_qualified_name:
1414
connector_name = AtlanConnectorType.get_connector_name(
@@ -23,12 +23,10 @@
2323
database_name = database_name or fields[3]
2424
qualified_name = f"{database_qualified_name}/{name}"
2525
connection_qualified_name = connection_qualified_name or connection_qn
26-
database = DocumentDBDatabase.ref_by_qualified_name(database_qualified_name)
2726

2827
return DocumentDBCollection.Attributes(
2928
name=name,
3029
qualified_name=qualified_name,
31-
database=database,
3230
database_name=database_name,
3331
database_qualified_name=database_qualified_name,
3432
connector_name=connector_name,

pyatlan/generator/templates/methods/attribute/document_d_b_database.jinja2

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
@classmethod
22
@init_guid
3-
def create(cls, *, name: str, connection_qualified_name: str) -> DocumentDBDatabase.Attributes:
3+
def creator(cls, *, name: str, connection_qualified_name: str) -> DocumentDBDatabase.Attributes:
44
validate_required_fields(
55
["name", "connection_qualified_name"],
66
[name, connection_qualified_name]
77
)
8-
return DocumentDBDatabase.Attributes( #
8+
return DocumentDBDatabase.Attributes(
99
name=name,
1010
qualified_name=f"{connection_qualified_name}/{name}",
1111
connection_qualified_name=connection_qualified_name,

pyatlan/model/assets/core/document_d_b_collection.py

Lines changed: 5 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66

77
from datetime import datetime
88
from typing import ClassVar, Dict, List, Optional
9-
from warnings import warn
109

1110
from pydantic.v1 import Field, validator
1211

@@ -36,35 +35,18 @@ def creator(
3635
database_qualified_name: str,
3736
database_name: Optional[str] = None,
3837
connection_qualified_name: Optional[str] = None,
39-
) -> DocumentDBCollection: #
38+
) -> DocumentDBCollection:
4039
validate_required_fields(
41-
["name, database_qualified_name"], [name, database_qualified_name]
40+
["name", "database_qualified_name"], [name, database_qualified_name]
4241
)
43-
attributes = DocumentDBCollection.Attributes.create(
42+
attributes = DocumentDBCollection.Attributes.creator(
4443
name=name,
4544
database_qualified_name=database_qualified_name,
4645
database_name=database_name,
4746
connection_qualified_name=connection_qualified_name,
4847
)
4948
return cls(attributes=attributes)
5049

51-
@classmethod
52-
@init_guid
53-
def create(
54-
cls, *, name: str, connection_qualified_name: str
55-
) -> DocumentDBCollection:
56-
warn(
57-
(
58-
"This method is deprecated, please use 'creator' "
59-
"instead, which offers identical functionality."
60-
),
61-
DeprecationWarning,
62-
stacklevel=2,
63-
)
64-
return cls.creator(
65-
name=name, connection_qualified_name=connection_qualified_name
66-
)
67-
6850
type_name: str = Field(default="DocumentDBCollection", allow_mutation=False)
6951

7052
@validator("type_name")
@@ -226,12 +208,6 @@ def __setattr__(self, name, value):
226208
"""
227209
List of partitions in this table.
228210
"""
229-
SYNTHETIC_DATA_URL: ClassVar[KeywordTextField] = KeywordTextField(
230-
"syntheticDataUrl", "syntheticDataUrl", "syntheticDataUrl.text"
231-
)
232-
"""
233-
TBC
234-
"""
235211
IS_SHARDED: ClassVar[BooleanField] = BooleanField("isSharded", "isSharded")
236212
"""
237213
Whether this table is a sharded table (true) or not (false).
@@ -380,12 +356,6 @@ def __setattr__(self, name, value):
380356
"""
381357
Time (epoch) at which this asset was last profiled, in milliseconds.
382358
"""
383-
SQL_ASSET_COMMENT: ClassVar[TextField] = TextField(
384-
"sqlAssetComment", "sqlAssetComment"
385-
)
386-
"""
387-
Comments added in SAP tables, columns and views to document their purpose and functionality.
388-
"""
389359
NO_SQL_SCHEMA_DEFINITION: ClassVar[TextField] = TextField(
390360
"noSQLSchemaDefinition", "noSQLSchemaDefinition"
391361
)
@@ -425,7 +395,6 @@ def __setattr__(self, name, value):
425395
"partition_strategy",
426396
"partition_count",
427397
"partition_list",
428-
"synthetic_data_url",
429398
"is_sharded",
430399
"table_type",
431400
"iceberg_catalog_name",
@@ -452,7 +421,6 @@ def __setattr__(self, name, value):
452421
"calculation_view_qualified_name",
453422
"is_profiled",
454423
"last_profiled_at",
455-
"sql_asset_comment",
456424
"no_s_q_l_schema_definition",
457425
"document_d_b_database",
458426
]
@@ -821,16 +789,6 @@ def partition_list(self, partition_list: Optional[str]):
821789
self.attributes = self.Attributes()
822790
self.attributes.partition_list = partition_list
823791

824-
@property
825-
def synthetic_data_url(self) -> Optional[str]:
826-
return None if self.attributes is None else self.attributes.synthetic_data_url
827-
828-
@synthetic_data_url.setter
829-
def synthetic_data_url(self, synthetic_data_url: Optional[str]):
830-
if self.attributes is None:
831-
self.attributes = self.Attributes()
832-
self.attributes.synthetic_data_url = synthetic_data_url
833-
834792
@property
835793
def is_sharded(self) -> Optional[bool]:
836794
return None if self.attributes is None else self.attributes.is_sharded
@@ -1129,16 +1087,6 @@ def last_profiled_at(self, last_profiled_at: Optional[datetime]):
11291087
self.attributes = self.Attributes()
11301088
self.attributes.last_profiled_at = last_profiled_at
11311089

1132-
@property
1133-
def sql_asset_comment(self) -> Optional[str]:
1134-
return None if self.attributes is None else self.attributes.sql_asset_comment
1135-
1136-
@sql_asset_comment.setter
1137-
def sql_asset_comment(self, sql_asset_comment: Optional[str]):
1138-
if self.attributes is None:
1139-
self.attributes = self.Attributes()
1140-
self.attributes.sql_asset_comment = sql_asset_comment
1141-
11421090
@property
11431091
def no_s_q_l_schema_definition(self) -> Optional[str]:
11441092
return (
@@ -1220,7 +1168,6 @@ class Attributes(Table.Attributes):
12201168
partition_strategy: Optional[str] = Field(default=None, description="")
12211169
partition_count: Optional[int] = Field(default=None, description="")
12221170
partition_list: Optional[str] = Field(default=None, description="")
1223-
synthetic_data_url: Optional[str] = Field(default=None, description="")
12241171
is_sharded: Optional[bool] = Field(default=None, description="")
12251172
table_type: Optional[TableType] = Field(default=None, description="")
12261173
iceberg_catalog_name: Optional[str] = Field(default=None, description="")
@@ -1251,15 +1198,14 @@ class Attributes(Table.Attributes):
12511198
)
12521199
is_profiled: Optional[bool] = Field(default=None, description="")
12531200
last_profiled_at: Optional[datetime] = Field(default=None, description="")
1254-
sql_asset_comment: Optional[str] = Field(default=None, description="")
12551201
no_s_q_l_schema_definition: Optional[str] = Field(default=None, description="")
12561202
document_d_b_database: Optional[DocumentDBDatabase] = Field(
12571203
default=None, description=""
12581204
) # relationship
12591205

12601206
@classmethod
12611207
@init_guid
1262-
def create(
1208+
def creator(
12631209
cls,
12641210
*,
12651211
name: str,
@@ -1268,7 +1214,7 @@ def create(
12681214
connection_qualified_name: Optional[str] = None,
12691215
) -> DocumentDBCollection.Attributes:
12701216
validate_required_fields(
1271-
["name, database_qualified_name"], [name, database_qualified_name]
1217+
["name", "database_qualified_name"], [name, database_qualified_name]
12721218
)
12731219
if connection_qualified_name:
12741220
connector_name = AtlanConnectorType.get_connector_name(
@@ -1283,12 +1229,10 @@ def create(
12831229
database_name = database_name or fields[3]
12841230
qualified_name = f"{database_qualified_name}/{name}"
12851231
connection_qualified_name = connection_qualified_name or connection_qn
1286-
database = DocumentDBDatabase.ref_by_qualified_name(database_qualified_name)
12871232

12881233
return DocumentDBCollection.Attributes(
12891234
name=name,
12901235
qualified_name=qualified_name,
1291-
database=database,
12921236
database_name=database_name,
12931237
database_qualified_name=database_qualified_name,
12941238
connector_name=connector_name,

pyatlan/model/assets/core/document_d_b_database.py

Lines changed: 3 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66

77
from datetime import datetime
88
from typing import ClassVar, Dict, List, Optional
9-
from warnings import warn
109

1110
from pydantic.v1 import Field, validator
1211

@@ -35,26 +34,11 @@ def creator(
3534
validate_required_fields(
3635
["name", "connection_qualified_name"], [name, connection_qualified_name]
3736
)
38-
attributes = DocumentDBDatabase.Attributes.create(
37+
attributes = DocumentDBDatabase.Attributes.creator(
3938
name=name, connection_qualified_name=connection_qualified_name
4039
)
4140
return cls(attributes=attributes)
4241

43-
@classmethod
44-
@init_guid
45-
def create(cls, *, name: str, connection_qualified_name: str) -> DocumentDBDatabase:
46-
warn(
47-
(
48-
"This method is deprecated, please use 'creator' "
49-
"instead, which offers identical functionality."
50-
),
51-
DeprecationWarning,
52-
stacklevel=2,
53-
)
54-
return cls.creator(
55-
name=name, connection_qualified_name=connection_qualified_name
56-
)
57-
5842
type_name: str = Field(default="DocumentDBDatabase", allow_mutation=False)
5943

6044
@validator("type_name")
@@ -176,12 +160,6 @@ def __setattr__(self, name, value):
176160
"""
177161
Time (epoch) at which this asset was last profiled, in milliseconds.
178162
"""
179-
SQL_ASSET_COMMENT: ClassVar[TextField] = TextField(
180-
"sqlAssetComment", "sqlAssetComment"
181-
)
182-
"""
183-
Comments added in SAP tables, columns and views to document their purpose and functionality.
184-
"""
185163

186164
DBT_SOURCES: ClassVar[RelationField] = RelationField("dbtSources")
187165
"""
@@ -234,7 +212,6 @@ def __setattr__(self, name, value):
234212
"calculation_view_qualified_name",
235213
"is_profiled",
236214
"last_profiled_at",
237-
"sql_asset_comment",
238215
"dbt_sources",
239216
"sql_dbt_models",
240217
"dbt_tests",
@@ -462,16 +439,6 @@ def last_profiled_at(self, last_profiled_at: Optional[datetime]):
462439
self.attributes = self.Attributes()
463440
self.attributes.last_profiled_at = last_profiled_at
464441

465-
@property
466-
def sql_asset_comment(self) -> Optional[str]:
467-
return None if self.attributes is None else self.attributes.sql_asset_comment
468-
469-
@sql_asset_comment.setter
470-
def sql_asset_comment(self, sql_asset_comment: Optional[str]):
471-
if self.attributes is None:
472-
self.attributes = self.Attributes()
473-
self.attributes.sql_asset_comment = sql_asset_comment
474-
475442
@property
476443
def dbt_sources(self) -> Optional[List[DbtSource]]:
477444
return None if self.attributes is None else self.attributes.dbt_sources
@@ -572,7 +539,6 @@ class Attributes(DocumentDB.Attributes):
572539
)
573540
is_profiled: Optional[bool] = Field(default=None, description="")
574541
last_profiled_at: Optional[datetime] = Field(default=None, description="")
575-
sql_asset_comment: Optional[str] = Field(default=None, description="")
576542
dbt_sources: Optional[List[DbtSource]] = Field(
577543
default=None, description=""
578544
) # relationship
@@ -597,13 +563,13 @@ class Attributes(DocumentDB.Attributes):
597563

598564
@classmethod
599565
@init_guid
600-
def create(
566+
def creator(
601567
cls, *, name: str, connection_qualified_name: str
602568
) -> DocumentDBDatabase.Attributes:
603569
validate_required_fields(
604570
["name", "connection_qualified_name"], [name, connection_qualified_name]
605571
)
606-
return DocumentDBDatabase.Attributes( #
572+
return DocumentDBDatabase.Attributes(
607573
name=name,
608574
qualified_name=f"{connection_qualified_name}/{name}",
609575
connection_qualified_name=connection_qualified_name,

0 commit comments

Comments
 (0)