@@ -73,6 +73,133 @@ fn test_decode_v136_add_task() -> anyhow::Result<()> {
7373 Ok ( ( ) )
7474}
7575
76+ #[ test]
77+ fn test_decode_v136_task_message ( ) -> anyhow:: Result < ( ) > {
78+ let want_task = || mt:: Task {
79+ task_id : 11 ,
80+ task_name : "task_c" . to_string ( ) ,
81+ query_text : "SELECT * FROM t1" . to_string ( ) ,
82+ when_condition : Some ( "c1 > 1" . to_string ( ) ) ,
83+ after : vec ! [ "task_a" . to_string( ) , "task_b" . to_string( ) ] ,
84+ comment : Some ( "comment" . to_string ( ) ) ,
85+ owner : "public" . to_string ( ) ,
86+ owner_user : "me" . to_string ( ) ,
87+ schedule_options : Some ( ScheduleOptions {
88+ interval : Some ( 11 ) ,
89+ cron : Some ( "30 12 * * *" . to_string ( ) ) ,
90+ time_zone : Some ( "UTC" . to_string ( ) ) ,
91+ schedule_type : ScheduleType :: IntervalType ,
92+ milliseconds_interval : Some ( 11 ) ,
93+ } ) ,
94+ warehouse_options : Some ( WarehouseOptions {
95+ warehouse : Some ( "warehouse_a" . to_string ( ) ) ,
96+ using_warehouse_size : Some ( "10" . to_string ( ) ) ,
97+ } ) ,
98+ next_scheduled_at : Some ( DateTime :: from_timestamp ( 10 , 0 ) . unwrap ( ) ) ,
99+ suspend_task_after_num_failures : Some ( 10 ) ,
100+ error_integration : None ,
101+ status : mt:: Status :: Suspended ,
102+ created_at : DateTime :: from_timestamp ( 11 , 0 ) . unwrap ( ) ,
103+ updated_at : DateTime :: from_timestamp ( 12 , 0 ) . unwrap ( ) ,
104+ last_suspended_at : Some ( DateTime :: from_timestamp ( 13 , 0 ) . unwrap ( ) ) ,
105+ session_params : btreemap ! { s( "a" ) => s( "b" ) } ,
106+ } ;
107+
108+ {
109+ let task_message_execute_v136 = vec ! [
110+ 10 , 239 , 1 , 8 , 11 , 18 , 6 , 116 , 97 , 115 , 107 , 95 , 99 , 34 , 16 , 83 , 69 , 76 , 69 , 67 , 84 ,
111+ 32 , 42 , 32 , 70 , 82 , 79 , 77 , 32 , 116 , 49 , 42 , 7 , 99 , 111 , 109 , 109 , 101 , 110 , 116 , 50 ,
112+ 6 , 112 , 117 , 98 , 108 , 105 , 99 , 58 , 22 , 8 , 11 , 18 , 11 , 51 , 48 , 32 , 49 , 50 , 32 , 42 , 32 ,
113+ 42 , 32 , 42 , 26 , 3 , 85 , 84 , 67 , 40 , 11 , 66 , 17 , 10 , 11 , 119 , 97 , 114 , 101 , 104 , 111 ,
114+ 117 , 115 , 101 , 95 , 97 , 18 , 2 , 49 , 48 , 74 , 23 , 49 , 57 , 55 , 48 , 45 , 48 , 49 , 45 , 48 , 49 ,
115+ 32 , 48 , 48 , 58 , 48 , 48 , 58 , 49 , 48 , 32 , 85 , 84 , 67 , 80 , 10 , 114 , 23 , 49 , 57 , 55 , 48 ,
116+ 45 , 48 , 49 , 45 , 48 , 49 , 32 , 48 , 48 , 58 , 48 , 48 , 58 , 49 , 49 , 32 , 85 , 84 , 67 , 122 , 23 ,
117+ 49 , 57 , 55 , 48 , 45 , 48 , 49 , 45 , 48 , 49 , 32 , 48 , 48 , 58 , 48 , 48 , 58 , 49 , 50 , 32 , 85 , 84 ,
118+ 67 , 130 , 1 , 23 , 49 , 57 , 55 , 48 , 45 , 48 , 49 , 45 , 48 , 49 , 32 , 48 , 48 , 58 , 48 , 48 , 58 , 49 ,
119+ 51 , 32 , 85 , 84 , 67 , 138 , 1 , 6 , 116 , 97 , 115 , 107 , 95 , 97 , 138 , 1 , 6 , 116 , 97 , 115 , 107 ,
120+ 95 , 98 , 146 , 1 , 6 , 99 , 49 , 32 , 62 , 32 , 49 , 154 , 1 , 6 , 10 , 1 , 97 , 18 , 1 , 98 , 170 , 1 , 2 ,
121+ 109 , 101 , 160 , 6 , 136 , 1 , 168 , 6 , 24 , 160 , 6 , 136 , 1 , 168 , 6 , 24 ,
122+ ] ;
123+ let want_execute = || mt:: TaskMessage :: ExecuteTask ( want_task ( ) ) ;
124+
125+ common:: test_pb_from_to ( func_name ! ( ) , want_execute ( ) ) ?;
126+ common:: test_load_old (
127+ func_name ! ( ) ,
128+ task_message_execute_v136. as_slice ( ) ,
129+ 136 ,
130+ want_execute ( ) ,
131+ ) ?;
132+ }
133+ {
134+ let task_message_schedule_v136 = vec ! [
135+ 18 , 239 , 1 , 8 , 11 , 18 , 6 , 116 , 97 , 115 , 107 , 95 , 99 , 34 , 16 , 83 , 69 , 76 , 69 , 67 , 84 ,
136+ 32 , 42 , 32 , 70 , 82 , 79 , 77 , 32 , 116 , 49 , 42 , 7 , 99 , 111 , 109 , 109 , 101 , 110 , 116 , 50 ,
137+ 6 , 112 , 117 , 98 , 108 , 105 , 99 , 58 , 22 , 8 , 11 , 18 , 11 , 51 , 48 , 32 , 49 , 50 , 32 , 42 , 32 ,
138+ 42 , 32 , 42 , 26 , 3 , 85 , 84 , 67 , 40 , 11 , 66 , 17 , 10 , 11 , 119 , 97 , 114 , 101 , 104 , 111 ,
139+ 117 , 115 , 101 , 95 , 97 , 18 , 2 , 49 , 48 , 74 , 23 , 49 , 57 , 55 , 48 , 45 , 48 , 49 , 45 , 48 , 49 ,
140+ 32 , 48 , 48 , 58 , 48 , 48 , 58 , 49 , 48 , 32 , 85 , 84 , 67 , 80 , 10 , 114 , 23 , 49 , 57 , 55 , 48 ,
141+ 45 , 48 , 49 , 45 , 48 , 49 , 32 , 48 , 48 , 58 , 48 , 48 , 58 , 49 , 49 , 32 , 85 , 84 , 67 , 122 , 23 ,
142+ 49 , 57 , 55 , 48 , 45 , 48 , 49 , 45 , 48 , 49 , 32 , 48 , 48 , 58 , 48 , 48 , 58 , 49 , 50 , 32 , 85 , 84 ,
143+ 67 , 130 , 1 , 23 , 49 , 57 , 55 , 48 , 45 , 48 , 49 , 45 , 48 , 49 , 32 , 48 , 48 , 58 , 48 , 48 , 58 , 49 ,
144+ 51 , 32 , 85 , 84 , 67 , 138 , 1 , 6 , 116 , 97 , 115 , 107 , 95 , 97 , 138 , 1 , 6 , 116 , 97 , 115 , 107 ,
145+ 95 , 98 , 146 , 1 , 6 , 99 , 49 , 32 , 62 , 32 , 49 , 154 , 1 , 6 , 10 , 1 , 97 , 18 , 1 , 98 , 170 , 1 , 2 ,
146+ 109 , 101 , 160 , 6 , 136 , 1 , 168 , 6 , 24 , 160 , 6 , 136 , 1 , 168 , 6 , 24 ,
147+ ] ;
148+ let want_schedule = || mt:: TaskMessage :: ScheduleTask ( want_task ( ) ) ;
149+
150+ common:: test_pb_from_to ( func_name ! ( ) , want_schedule ( ) ) ?;
151+ common:: test_load_old (
152+ func_name ! ( ) ,
153+ task_message_schedule_v136. as_slice ( ) ,
154+ 136 ,
155+ want_schedule ( ) ,
156+ ) ?;
157+ }
158+ {
159+ let task_message_after_v136 = vec ! [
160+ 34 , 239 , 1 , 8 , 11 , 18 , 6 , 116 , 97 , 115 , 107 , 95 , 99 , 34 , 16 , 83 , 69 , 76 , 69 , 67 , 84 ,
161+ 32 , 42 , 32 , 70 , 82 , 79 , 77 , 32 , 116 , 49 , 42 , 7 , 99 , 111 , 109 , 109 , 101 , 110 , 116 , 50 ,
162+ 6 , 112 , 117 , 98 , 108 , 105 , 99 , 58 , 22 , 8 , 11 , 18 , 11 , 51 , 48 , 32 , 49 , 50 , 32 , 42 , 32 ,
163+ 42 , 32 , 42 , 26 , 3 , 85 , 84 , 67 , 40 , 11 , 66 , 17 , 10 , 11 , 119 , 97 , 114 , 101 , 104 , 111 ,
164+ 117 , 115 , 101 , 95 , 97 , 18 , 2 , 49 , 48 , 74 , 23 , 49 , 57 , 55 , 48 , 45 , 48 , 49 , 45 , 48 , 49 ,
165+ 32 , 48 , 48 , 58 , 48 , 48 , 58 , 49 , 48 , 32 , 85 , 84 , 67 , 80 , 10 , 114 , 23 , 49 , 57 , 55 , 48 ,
166+ 45 , 48 , 49 , 45 , 48 , 49 , 32 , 48 , 48 , 58 , 48 , 48 , 58 , 49 , 49 , 32 , 85 , 84 , 67 , 122 , 23 ,
167+ 49 , 57 , 55 , 48 , 45 , 48 , 49 , 45 , 48 , 49 , 32 , 48 , 48 , 58 , 48 , 48 , 58 , 49 , 50 , 32 , 85 , 84 ,
168+ 67 , 130 , 1 , 23 , 49 , 57 , 55 , 48 , 45 , 48 , 49 , 45 , 48 , 49 , 32 , 48 , 48 , 58 , 48 , 48 , 58 , 49 ,
169+ 51 , 32 , 85 , 84 , 67 , 138 , 1 , 6 , 116 , 97 , 115 , 107 , 95 , 97 , 138 , 1 , 6 , 116 , 97 , 115 , 107 ,
170+ 95 , 98 , 146 , 1 , 6 , 99 , 49 , 32 , 62 , 32 , 49 , 154 , 1 , 6 , 10 , 1 , 97 , 18 , 1 , 98 , 170 , 1 , 2 ,
171+ 109 , 101 , 160 , 6 , 136 , 1 , 168 , 6 , 24 , 160 , 6 , 136 , 1 , 168 , 6 , 24 ,
172+ ] ;
173+ let want_after = || mt:: TaskMessage :: AfterTask ( want_task ( ) ) ;
174+
175+ common:: test_pb_from_to ( func_name ! ( ) , want_after ( ) ) ?;
176+ common:: test_load_old (
177+ func_name ! ( ) ,
178+ task_message_after_v136. as_slice ( ) ,
179+ 136 ,
180+ want_after ( ) ,
181+ ) ?;
182+ }
183+ {
184+ let task_message_delete_v136 =
185+ vec ! [ 26 , 6 , 116 , 97 , 115 , 107 , 95 , 99 , 160 , 6 , 136 , 1 , 168 , 6 , 24 ] ;
186+ let want_delete = || {
187+ let task = want_task ( ) ;
188+ mt:: TaskMessage :: DeleteTask ( task. task_name )
189+ } ;
190+
191+ common:: test_pb_from_to ( func_name ! ( ) , want_delete ( ) ) ?;
192+ common:: test_load_old (
193+ func_name ! ( ) ,
194+ task_message_delete_v136. as_slice ( ) ,
195+ 136 ,
196+ want_delete ( ) ,
197+ ) ?;
198+ }
199+
200+ Ok ( ( ) )
201+ }
202+
76203fn s ( ss : impl ToString ) -> String {
77204 ss. to_string ( )
78205}
0 commit comments