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

Commit 4ee1a88

Browse files
committed
format
1 parent a82dbc6 commit 4ee1a88

File tree

3 files changed

+56
-63
lines changed

3 files changed

+56
-63
lines changed

data_diff/dbt.py

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -309,18 +309,12 @@ def _local_diff(diff_vars: TDiffVars, json_output: bool = False) -> None:
309309
return
310310

311311
dataset1_columns = [
312-
(name,
313-
type_,
314-
table1.database.dialect.parse_type(table1.table_path, name, type_, *other))
315-
for (name, type_, *other)
316-
in table1_columns.values()
312+
(name, type_, table1.database.dialect.parse_type(table1.table_path, name, type_, *other))
313+
for (name, type_, *other) in table1_columns.values()
317314
]
318315
dataset2_columns = [
319-
(name,
320-
type_,
321-
table2.database.dialect.parse_type(table2.table_path, name, type_, *other))
322-
for (name, type_, *other)
323-
in table2_columns.values()
316+
(name, type_, table2.database.dialect.parse_type(table2.table_path, name, type_, *other))
317+
for (name, type_, *other) in table2_columns.values()
324318
]
325319
print(
326320
json.dumps(

data_diff/format.py

Lines changed: 23 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
Struct,
1717
TemporalType,
1818
ColType_Alphanum,
19-
String_Alphanum
19+
String_Alphanum,
2020
)
2121

2222

@@ -29,7 +29,9 @@ def jsonify_error(table1: List[str], table2: List[str], dbt_model: str, error: s
2929
error=error,
3030
).json()
3131

32-
Columns = List[Tuple[str, str, ColType]]
32+
33+
Columns = List[Tuple[str, str, ColType]]
34+
3335

3436
def jsonify(
3537
diff: DiffResultWrapper,
@@ -152,15 +154,17 @@ class ExclusiveColumns:
152154
dataset1: List[str]
153155
dataset2: List[str]
154156

157+
155158
class ColumnKind(Enum):
156-
INTEGER = 'integer'
157-
FLOAT = 'float'
158-
STRING = 'string'
159-
DATE = 'date'
160-
TIME = 'time'
161-
DATETIME = 'datetime'
162-
BOOL = 'boolean'
163-
UNSUPPORTED = 'unsupported'
159+
INTEGER = "integer"
160+
FLOAT = "float"
161+
STRING = "string"
162+
DATE = "date"
163+
TIME = "time"
164+
DATETIME = "datetime"
165+
BOOL = "boolean"
166+
UNSUPPORTED = "unsupported"
167+
164168

165169
KIND_MAPPING: List[Tuple[Type[ColType], ColumnKind]] = [
166170
(Boolean, ColumnKind.BOOL),
@@ -174,15 +178,17 @@ class ColumnKind(Enum):
174178
(JSON, ColumnKind.STRING),
175179
(Array, ColumnKind.STRING),
176180
(Struct, ColumnKind.STRING),
177-
(ColType, ColumnKind.UNSUPPORTED)
181+
(ColType, ColumnKind.UNSUPPORTED),
178182
]
179183

184+
180185
@dataclass
181186
class Column:
182187
name: str
183188
type: str
184189
kind: str
185190

191+
186192
@dataclass
187193
class JsonColumnsSummary:
188194
dataset1: List[Column]
@@ -309,23 +315,15 @@ def _jsonify_diff_summary(stats_dict: dict) -> JsonDiffSummary:
309315
)
310316

311317

312-
def _jsonify_columns_diff(dataset1_columns: Columns,
313-
dataset2_columns: Columns,
314-
columns_diff: Dict[str, List[str]], key_columns: List[str]) -> JsonColumnsSummary:
318+
def _jsonify_columns_diff(
319+
dataset1_columns: Columns, dataset2_columns: Columns, columns_diff: Dict[str, List[str]], key_columns: List[str]
320+
) -> JsonColumnsSummary:
315321
return JsonColumnsSummary(
316322
dataset1=[
317-
Column(name=name,
318-
type=type_,
319-
kind=_map_kind(kind).value)
320-
for (name, type_, kind)
321-
in dataset1_columns
323+
Column(name=name, type=type_, kind=_map_kind(kind).value) for (name, type_, kind) in dataset1_columns
322324
],
323325
dataset2=[
324-
Column(name=name,
325-
type=type_,
326-
kind=_map_kind(kind).value)
327-
for (name, type_, kind)
328-
in dataset2_columns
326+
Column(name=name, type=type_, kind=_map_kind(kind).value) for (name, type_, kind) in dataset2_columns
329327
],
330328
primaryKey=key_columns,
331329
exclusive=ExclusiveColumns(
@@ -335,6 +333,7 @@ def _jsonify_columns_diff(dataset1_columns: Columns,
335333
typeChanged=list(columns_diff.get("changed", [])),
336334
)
337335

336+
338337
def _map_kind(kind: ColType) -> ColumnKind:
339338
for raw_kind, json_kind in KIND_MAPPING:
340339
if isinstance(kind, raw_kind):

tests/test_format.py

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -37,23 +37,23 @@ def test_jsonify_diff(self):
3737
stats={},
3838
)
3939
json_diff = jsonify(
40-
diff,
41-
dbt_model="my_model",
40+
diff,
41+
dbt_model="my_model",
4242
dataset1_columns=[
43-
('id', 'NUMBER', Integer()),
44-
('value', 'NUMBER', Integer()),
45-
],
43+
("id", "NUMBER", Integer()),
44+
("value", "NUMBER", Integer()),
45+
],
4646
dataset2_columns=[
47-
('id', 'NUMBER', Integer()),
48-
('value', 'NUMBER', Integer()),
47+
("id", "NUMBER", Integer()),
48+
("value", "NUMBER", Integer()),
4949
],
5050
columns_diff={
5151
"added": [],
5252
"removed": [],
5353
"typeChanged": [],
54-
}
54+
},
5555
)
56-
56+
5757
self.assertEqual(
5858
json_diff,
5959
{
@@ -78,11 +78,11 @@ def test_jsonify_diff(self):
7878
"columns": {
7979
"dataset1": [
8080
{"name": "id", "type": "NUMBER", "kind": "integer"},
81-
{"name": "value", "type": "NUMBER", "kind": "integer"}
81+
{"name": "value", "type": "NUMBER", "kind": "integer"},
8282
],
8383
"dataset2": [
8484
{"name": "id", "type": "NUMBER", "kind": "integer"},
85-
{"name": "value", "type": "NUMBER", "kind": "integer"}
85+
{"name": "value", "type": "NUMBER", "kind": "integer"},
8686
],
8787
"primaryKey": ["id"],
8888
"exclusive": {
@@ -120,21 +120,21 @@ def test_jsonify_diff_no_difeference(self):
120120
stats={},
121121
)
122122
json_diff = jsonify(
123-
diff,
124-
dbt_model="model",
123+
diff,
124+
dbt_model="model",
125125
dataset1_columns=[
126-
('id', 'NUMBER', Integer()),
127-
('value', 'NUMBER', Integer()),
128-
],
126+
("id", "NUMBER", Integer()),
127+
("value", "NUMBER", Integer()),
128+
],
129129
dataset2_columns=[
130-
('id', 'NUMBER', Integer()),
131-
('value', 'NUMBER', Integer()),
130+
("id", "NUMBER", Integer()),
131+
("value", "NUMBER", Integer()),
132132
],
133133
columns_diff={
134134
"added": [],
135135
"removed": [],
136136
"changed": [],
137-
}
137+
},
138138
)
139139
self.assertEqual(
140140
json_diff,
@@ -153,11 +153,11 @@ def test_jsonify_diff_no_difeference(self):
153153
"primaryKey": ["id"],
154154
"dataset1": [
155155
{"name": "id", "type": "NUMBER", "kind": "integer"},
156-
{"name": "value", "type": "NUMBER", "kind": "integer"}
156+
{"name": "value", "type": "NUMBER", "kind": "integer"},
157157
],
158158
"dataset2": [
159159
{"name": "id", "type": "NUMBER", "kind": "integer"},
160-
{"name": "value", "type": "NUMBER", "kind": "integer"}
160+
{"name": "value", "type": "NUMBER", "kind": "integer"},
161161
],
162162
"exclusive": {
163163
"dataset1": [],
@@ -198,15 +198,15 @@ def test_jsonify_column_suffix_fix(self):
198198
stats={},
199199
)
200200
json_diff = jsonify(
201-
diff,
201+
diff,
202202
dbt_model="my_model",
203203
dataset1_columns=[
204-
('id_a', 'NUMBER', Integer()),
205-
('value_b', 'NUMBER', Integer()),
206-
],
204+
("id_a", "NUMBER", Integer()),
205+
("value_b", "NUMBER", Integer()),
206+
],
207207
dataset2_columns=[
208-
('id_a', 'NUMBER', Integer()),
209-
('value_b', 'NUMBER', Integer()),
208+
("id_a", "NUMBER", Integer()),
209+
("value_b", "NUMBER", Integer()),
210210
],
211211
columns_diff={
212212
"added": [],
@@ -241,11 +241,11 @@ def test_jsonify_column_suffix_fix(self):
241241
"columns": {
242242
"dataset1": [
243243
{"name": "id_a", "type": "NUMBER", "kind": "integer"},
244-
{"name": "value_b", "type": "NUMBER", "kind": "integer"}
244+
{"name": "value_b", "type": "NUMBER", "kind": "integer"},
245245
],
246246
"dataset2": [
247247
{"name": "id_a", "type": "NUMBER", "kind": "integer"},
248-
{"name": "value_b", "type": "NUMBER", "kind": "integer"}
248+
{"name": "value_b", "type": "NUMBER", "kind": "integer"},
249249
],
250250
"primaryKey": ["id_a"],
251251
"exclusive": {

0 commit comments

Comments
 (0)