Skip to content
This repository was archived by the owner on May 17, 2024. It is now read-only.

Commit 9baf256

Browse files
committed
format
1 parent 952c010 commit 9baf256

File tree

2 files changed

+57
-55
lines changed

2 files changed

+57
-55
lines changed

data_diff/format.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -213,16 +213,16 @@ def _jsonify_diff(row: Dict[str, Any], key_columns: List[str]) -> Dict[str, Json
213213
continue
214214

215215
if field.startswith("is_diff_"):
216-
column_name = field[len("is_diff_"):]
216+
column_name = field[len("is_diff_") :]
217217
columns[column_name]["isDiff"] = bool(value)
218218

219219
elif field.endswith("_a"):
220-
column_name = field[:-len("_a")]
220+
column_name = field[: -len("_a")]
221221
columns[column_name]["dataset1"] = value
222222
columns[column_name]["isPK"] = column_name in key_columns
223223

224224
elif field.endswith("_b"):
225-
column_name = field[:-len("_b")]
225+
column_name = field[: -len("_b")]
226226
columns[column_name]["dataset2"] = value
227227
columns[column_name]["isPK"] = column_name in key_columns
228228

@@ -237,11 +237,11 @@ def _jsonify_exclusive(row: Dict[str, Any], key_columns: List[str]) -> Dict[str,
237237
if field.startswith("is_diff_"):
238238
continue
239239
if field.endswith("_b") and row["is_exclusive_b"]:
240-
column_name = field[:-len("_b")]
240+
column_name = field[: -len("_b")]
241241
columns[column_name]["isPK"] = column_name in key_columns
242242
columns[column_name]["value"] = value
243243
elif field.endswith("_a") and row["is_exclusive_a"]:
244-
column_name = field[:-len("_a")]
244+
column_name = field[: -len("_a")]
245245
columns[column_name]["isPK"] = column_name in key_columns
246246
columns[column_name]["value"] = value
247247
return {column: JsonExclusiveRowValue(**data) for column, data in columns.items()}

tests/test_format.py

Lines changed: 52 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -106,56 +106,58 @@ def test_jsonify_diff_no_difeference(self):
106106
)
107107

108108
def test_jsonify_column_suffix_fix(self):
109-
diff = DiffResultWrapper(
110-
info_tree=InfoTree(
111-
info=SegmentInfo(
112-
tables=[
113-
TableSegment(table_path=("db", "schema", "table1"), key_columns=("id_a",), database=Database()),
114-
TableSegment(table_path=("db", "schema", "table2"), key_columns=("id_a",), database=Database()),
115-
],
116-
diff_schema=(
117-
("is_exclusive_a", bool),
118-
("is_exclusive_b", bool),
119-
("is_diff_id_a", int),
120-
("is_diff_value_b", int),
121-
("id_a_a", str),
122-
("id_a_b", str),
123-
("value_b_a", str),
124-
("value_b_b", str),
125-
),
126-
diff=[
127-
(False, False, 0, 1, "1", "1", "3", "201"),
128-
(True, False, 1, 1, "2", None, "4", None),
129-
(False, True, 1, 1, None, "3", None, "202"),
130-
],
131-
)
132-
),
133-
diff=[],
134-
stats={},
135-
)
136-
json_diff = jsonify(diff, dbt_model="my_model")
137-
self.assertEqual(
138-
json_diff,
139-
{
140-
"version": "1.0.0",
141-
"status": "success",
142-
"result": "different",
143-
"model": "my_model",
144-
"dataset1": ["db", "schema", "table1"],
145-
"dataset2": ["db", "schema", "table2"],
146-
"rows": {
147-
"exclusive": {
148-
"dataset1": [{"id_a": {"isPK": True, "value": "2"}, "value_b": {"isPK": False, "value": "4"}}],
149-
"dataset2": [{"id_a": {"isPK": True, "value": "3"}, "value_b": {"isPK": False, "value": "202"}}],
150-
},
151-
"diff": [
152-
{
153-
"id_a": {"isPK": True, "dataset1": "1", "dataset2": "1", "isDiff": False},
154-
"value_b": {"isPK": False, "dataset1": "3", "dataset2": "201", "isDiff": True},
155-
},
109+
diff = DiffResultWrapper(
110+
info_tree=InfoTree(
111+
info=SegmentInfo(
112+
tables=[
113+
TableSegment(table_path=("db", "schema", "table1"), key_columns=("id_a",), database=Database()),
114+
TableSegment(table_path=("db", "schema", "table2"), key_columns=("id_a",), database=Database()),
115+
],
116+
diff_schema=(
117+
("is_exclusive_a", bool),
118+
("is_exclusive_b", bool),
119+
("is_diff_id_a", int),
120+
("is_diff_value_b", int),
121+
("id_a_a", str),
122+
("id_a_b", str),
123+
("value_b_a", str),
124+
("value_b_b", str),
125+
),
126+
diff=[
127+
(False, False, 0, 1, "1", "1", "3", "201"),
128+
(True, False, 1, 1, "2", None, "4", None),
129+
(False, True, 1, 1, None, "3", None, "202"),
130+
],
131+
)
132+
),
133+
diff=[],
134+
stats={},
135+
)
136+
json_diff = jsonify(diff, dbt_model="my_model")
137+
self.assertEqual(
138+
json_diff,
139+
{
140+
"version": "1.0.0",
141+
"status": "success",
142+
"result": "different",
143+
"model": "my_model",
144+
"dataset1": ["db", "schema", "table1"],
145+
"dataset2": ["db", "schema", "table2"],
146+
"rows": {
147+
"exclusive": {
148+
"dataset1": [{"id_a": {"isPK": True, "value": "2"}, "value_b": {"isPK": False, "value": "4"}}],
149+
"dataset2": [
150+
{"id_a": {"isPK": True, "value": "3"}, "value_b": {"isPK": False, "value": "202"}}
156151
],
157152
},
158-
"summary": None,
159-
"columns": None,
153+
"diff": [
154+
{
155+
"id_a": {"isPK": True, "dataset1": "1", "dataset2": "1", "isDiff": False},
156+
"value_b": {"isPK": False, "dataset1": "3", "dataset2": "201", "isDiff": True},
157+
},
158+
],
160159
},
161-
)
160+
"summary": None,
161+
"columns": None,
162+
},
163+
)

0 commit comments

Comments
 (0)