@@ -104,3 +104,60 @@ def test_jsonify_diff_no_difeference(self):
104104 "columns" : None ,
105105 },
106106 )
107+
108+ 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" : [
150+ {"id_a" : {"isPK" : True , "value" : "3" }, "value_b" : {"isPK" : False , "value" : "202" }}
151+ ],
152+ },
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+ ],
159+ },
160+ "summary" : None ,
161+ "columns" : None ,
162+ },
163+ )
0 commit comments