Skip to content

Commit f9d0ae1

Browse files
author
Yi-Ting Lee
committed
query lineage result str function test added
1 parent 628ba0f commit f9d0ae1

File tree

3 files changed

+38
-12
lines changed

3 files changed

+38
-12
lines changed

src/sagemaker/lineage/query.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -339,17 +339,21 @@ def __str__(self):
339339
'edges':[
340340
{'source_arn': 'string', 'destination_arn': 'string', 'association_type': 'string'},
341341
...],
342-
342+
343343
'vertices':[
344-
{'arn': 'string', 'lineage_entity': 'string', 'lineage_source': 'string', '_session': <sagemaker.session.Session object>},
344+
{'arn': 'string', 'lineage_entity': 'string', 'lineage_source': 'string',
345+
'_session': <sagemaker.session.Session object>},
345346
...],
346-
347+
347348
'startarn':['string', ...]
348349
}
349350
350351
"""
351-
result_dict = vars(self)
352-
return '{\n' + '\n\n'.join('\'{}\': {},'.format(key, val) for key, val in self.__dict__.items()) + '\n}'
352+
return (
353+
"{\n"
354+
+ "\n\n".join("'{}': {},".format(key, val) for key, val in self.__dict__.items())
355+
+ "\n}"
356+
)
353357

354358
def _covert_edges_to_tuples(self):
355359
"""Convert edges to tuple format for visualizer."""

tests/integ/sagemaker/lineage/helpers.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@
1616
import uuid
1717
from datetime import datetime
1818
import time
19-
import boto3
20-
from botocore.config import Config
19+
2120

2221
def name():
2322
return "lineage-integ-{}-{}".format(

tests/unit/sagemaker/lineage/test_query.py

Lines changed: 28 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
from sagemaker.lineage.lineage_trial_component import LineageTrialComponent
1919
from sagemaker.lineage.query import LineageEntityEnum, LineageSourceEnum, Vertex, LineageQuery
2020
import pytest
21+
import re
2122

2223

2324
def test_lineage_query(sagemaker_session):
@@ -540,15 +541,37 @@ def test_get_visualization_elements(sagemaker_session):
540541
start_arns=["arn:aws:sagemaker:us-west-2:0123456789012:context/mycontext"]
541542
)
542543

543-
print(query_response)
544-
545544
elements = query_response._get_visualization_elements()
546545

547-
print(elements)
548-
549546
assert elements["nodes"][0] == ("arn1", "Endpoint", "Artifact", False)
550547
assert elements["nodes"][1] == ("arn2", "Model", "Context", False)
551548
assert elements["edges"][0] == ("arn1", "arn2", "Produced")
552549

553-
554550

551+
def test_query_lineage_result_str(sagemaker_session):
552+
lineage_query = LineageQuery(sagemaker_session)
553+
sagemaker_session.sagemaker_client.query_lineage.return_value = {
554+
"Vertices": [
555+
{"Arn": "arn1", "Type": "Endpoint", "LineageType": "Artifact"},
556+
{"Arn": "arn2", "Type": "Model", "LineageType": "Context"},
557+
],
558+
"Edges": [{"SourceArn": "arn1", "DestinationArn": "arn2", "AssociationType": "Produced"}],
559+
}
560+
561+
query_response = lineage_query.query(
562+
start_arns=["arn:aws:sagemaker:us-west-2:0123456789012:context/mycontext"]
563+
)
564+
565+
response_str = query_response.__str__()
566+
pattern = "Mock id='\d*'"
567+
replace = "Mock id=''"
568+
response_str = re.sub(pattern, replace, response_str)
569+
570+
assert (
571+
response_str
572+
== "{\n'edges': [\n\t{'source_arn': 'arn1', 'destination_arn': 'arn2', 'association_type': 'Produced'}],"
573+
+ "\n\n'vertices': [\n\t{'arn': 'arn1', 'lineage_entity': 'Artifact', 'lineage_source': 'Endpoint', "
574+
+ "'_session': <Mock id=''>}, \n\t{'arn': 'arn2', 'lineage_entity': 'Context', 'lineage_source': "
575+
+ "'Model', '_session': <Mock id=''>}],\n\n'startarn': "
576+
+ "['arn:aws:sagemaker:us-west-2:0123456789012:context/mycontext'],\n}"
577+
)

0 commit comments

Comments
 (0)