11import unittest
22from data_diff .diff_tables import DiffResultWrapper , InfoTree , SegmentInfo , TableSegment
33from data_diff .format import jsonify
4+ from data_diff .sqeleton .abcs .database_types import Integer
45from data_diff .sqeleton .databases import Database
56
67
@@ -38,14 +39,14 @@ def test_jsonify_diff(self):
3839 json_diff = jsonify (
3940 diff ,
4041 dbt_model = "my_model" ,
41- dataset1_columns = {
42- "id" : ('id' , 'integer ' , None , None , None ),
43- "value" : ('value' , 'integer ' , None , None , None ),
44- } ,
45- dataset2_columns = {
46- "id" : ('id' , 'integer ' , None , None , None ),
47- "value" : ('value' , 'integer ' , None , None , None ),
48- } ,
42+ dataset1_columns = [
43+ ('id' , 'NUMBER ' , Integer () ),
44+ ('value' , 'NUMBER ' , Integer () ),
45+ ] ,
46+ dataset2_columns = [
47+ ('id' , 'NUMBER ' , Integer () ),
48+ ('value' , 'NUMBER ' , Integer () ),
49+ ] ,
4950 columns_diff = {
5051 "added" : [],
5152 "removed" : [],
@@ -76,12 +77,12 @@ def test_jsonify_diff(self):
7677 },
7778 "columns" : {
7879 "dataset1" : [
79- {"name" : "id" , "type" : "integer" },
80- {"name" : "value" , "type" : "integer" }
80+ {"name" : "id" , "type" : "NUMBER" , "kind" : " integer" },
81+ {"name" : "value" , "type" : "NUMBER" , "kind" : " integer" }
8182 ],
8283 "dataset2" : [
83- {"name" : "id" , "type" : "integer" },
84- {"name" : "value" , "type" : "integer" }
84+ {"name" : "id" , "type" : "NUMBER" , "kind" : " integer" },
85+ {"name" : "value" , "type" : "NUMBER" , "kind" : " integer" }
8586 ],
8687 "primaryKey" : ["id" ],
8788 "exclusive" : {
@@ -121,14 +122,14 @@ def test_jsonify_diff_no_difeference(self):
121122 json_diff = jsonify (
122123 diff ,
123124 dbt_model = "model" ,
124- dataset1_columns = {
125- "id" : ('id' , 'integer ' , None , None , None ),
126- "value" : ('value' , 'integer ' , None , None , None ),
127- } ,
128- dataset2_columns = {
129- "id" : ('id' , 'integer ' , None , None , None ),
130- "value" : ('value' , 'integer ' , None , None , None ),
131- } ,
125+ dataset1_columns = [
126+ ('id' , 'NUMBER ' , Integer () ),
127+ ('value' , 'NUMBER ' , Integer () ),
128+ ] ,
129+ dataset2_columns = [
130+ ('id' , 'NUMBER ' , Integer () ),
131+ ('value' , 'NUMBER ' , Integer () ),
132+ ] ,
132133 columns_diff = {
133134 "added" : [],
134135 "removed" : [],
@@ -151,12 +152,12 @@ def test_jsonify_diff_no_difeference(self):
151152 "columns" : {
152153 "primaryKey" : ["id" ],
153154 "dataset1" : [
154- {"name" : "id" , "type" : "integer" },
155- {"name" : "value" , "type" : "integer" }
155+ {"name" : "id" , "type" : "NUMBER" , "kind" : " integer" },
156+ {"name" : "value" , "type" : "NUMBER" , "kind" : " integer" }
156157 ],
157158 "dataset2" : [
158- {"name" : "id" , "type" : "integer" },
159- {"name" : "value" , "type" : "integer" }
159+ {"name" : "id" , "type" : "NUMBER" , "kind" : " integer" },
160+ {"name" : "value" , "type" : "NUMBER" , "kind" : " integer" }
160161 ],
161162 "exclusive" : {
162163 "dataset1" : [],
@@ -196,11 +197,27 @@ def test_jsonify_column_suffix_fix(self):
196197 diff = [],
197198 stats = {},
198199 )
199- json_diff = jsonify (diff , dbt_model = "my_model" )
200+ json_diff = jsonify (
201+ diff ,
202+ dbt_model = "my_model" ,
203+ dataset1_columns = [
204+ ('id_a' , 'NUMBER' , Integer ()),
205+ ('value_b' , 'NUMBER' , Integer ()),
206+ ],
207+ dataset2_columns = [
208+ ('id_a' , 'NUMBER' , Integer ()),
209+ ('value_b' , 'NUMBER' , Integer ()),
210+ ],
211+ columns_diff = {
212+ "added" : [],
213+ "removed" : [],
214+ "typeChanged" : [],
215+ },
216+ )
200217 self .assertEqual (
201218 json_diff ,
202219 {
203- "version" : "1.0 .0" ,
220+ "version" : "1.1 .0" ,
204221 "status" : "success" ,
205222 "result" : "different" ,
206223 "model" : "my_model" ,
@@ -221,6 +238,21 @@ def test_jsonify_column_suffix_fix(self):
221238 ],
222239 },
223240 "summary" : None ,
224- "columns" : None ,
241+ "columns" : {
242+ "dataset1" : [
243+ {"name" : "id_a" , "type" : "NUMBER" , "kind" : "integer" },
244+ {"name" : "value_b" , "type" : "NUMBER" , "kind" : "integer" }
245+ ],
246+ "dataset2" : [
247+ {"name" : "id_a" , "type" : "NUMBER" , "kind" : "integer" },
248+ {"name" : "value_b" , "type" : "NUMBER" , "kind" : "integer" }
249+ ],
250+ "primaryKey" : ["id_a" ],
251+ "exclusive" : {
252+ "dataset1" : [],
253+ "dataset2" : [],
254+ },
255+ "typeChanged" : [],
256+ },
225257 },
226258 )
0 commit comments