@@ -73,6 +73,133 @@ fn test_decode_v136_add_task() -> anyhow::Result<()> {
73
73
Ok ( ( ) )
74
74
}
75
75
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
+
76
203
fn s ( ss : impl ToString ) -> String {
77
204
ss. to_string ( )
78
205
}
0 commit comments