@@ -154,87 +154,6 @@ func TestTryLockClientName(t *testing.T) {
154154 })
155155}
156156
157- func TestCreateChainFromYamlErrors (t * testing.T ) {
158- initmockdb (t )
159- defer mockPool .Close ()
160- mockpge := pgengine .NewDB (mockPool , "pgengine_unit_test" )
161-
162- t .Run ("Database error during chain creation" , func (t * testing.T ) {
163- mockPool .ExpectQuery (`INSERT INTO timetable.chain` ).
164- WithArgs (anyArgs (9 )... ).
165- WillReturnError (fmt .Errorf ("simulated DB error" ))
166- _ , err := mockpge .CreateChainFromYaml (ctx , & pgengine.YamlChain {})
167- assert .Error (t , err )
168- assert .NoError (t , mockPool .ExpectationsWereMet ())
169- })
170-
171- t .Run ("Database error during task creation" , func (t * testing.T ) {
172- mockPool .ExpectQuery (`INSERT INTO timetable.chain` ).
173- WithArgs (anyArgs (9 )... ).
174- WillReturnRows (pgxmock .NewRows ([]string {"chain_id" }).AddRow (1 ))
175- mockPool .ExpectQuery (`INSERT INTO timetable.task` ).
176- WithArgs (anyArgs (10 )... ).
177- WillReturnError (fmt .Errorf ("simulated DB error on task" ))
178-
179- _ , err := mockpge .CreateChainFromYaml (ctx , & pgengine.YamlChain {
180- Chain : pgengine.Chain {ChainName : "test-chain" },
181- Schedule : "0 0 * * *" ,
182- Tasks : []pgengine.YamlTask {
183- {ChainTask : pgengine.ChainTask {Command : "SELECT 1" , Kind : "SQL" }},
184- },
185- })
186- assert .Error (t , err )
187- assert .NoError (t , mockPool .ExpectationsWereMet ())
188- })
189-
190- t .Run ("Database error during parameter unmarshalling" , func (t * testing.T ) {
191- mockPool .ExpectQuery (`INSERT INTO timetable.chain` ).
192- WithArgs (anyArgs (9 )... ).
193- WillReturnRows (pgxmock .NewRows ([]string {"chain_id" }).AddRow (1 ))
194- mockPool .ExpectQuery (`INSERT INTO timetable.task` ).
195- WithArgs (anyArgs (10 )... ).
196- WillReturnRows (pgxmock .NewRows ([]string {"task_id" }).AddRow (1 ))
197-
198- _ , err := mockpge .CreateChainFromYaml (ctx , & pgengine.YamlChain {
199- Chain : pgengine.Chain {ChainName : "test-chain" },
200- Schedule : "0 0 * * *" ,
201- Tasks : []pgengine.YamlTask {
202- {
203- ChainTask : pgengine.ChainTask {Command : "SELECT 1" , Kind : "SQL" },
204- Parameters : []any {func () {}}, // functions cannot be marshalled to JSON
205- },
206- },
207- })
208- assert .Error (t , err )
209- assert .NoError (t , mockPool .ExpectationsWereMet ())
210- })
211-
212- t .Run ("Database error during parameter creation" , func (t * testing.T ) {
213- mockPool .ExpectQuery (`INSERT INTO timetable.chain` ).
214- WithArgs (anyArgs (9 )... ).
215- WillReturnRows (pgxmock .NewRows ([]string {"chain_id" }).AddRow (1 ))
216- mockPool .ExpectQuery (`INSERT INTO timetable.task` ).
217- WithArgs (anyArgs (10 )... ).
218- WillReturnRows (pgxmock .NewRows ([]string {"task_id" }).AddRow (1 ))
219- mockPool .ExpectExec (`INSERT INTO timetable.parameter` ).
220- WithArgs (anyArgs (3 )... ).
221- WillReturnError (fmt .Errorf ("simulated DB error on parameter" ))
222-
223- _ , err := mockpge .CreateChainFromYaml (ctx , & pgengine.YamlChain {
224- Chain : pgengine.Chain {ChainName : "test-chain" },
225- Schedule : "0 0 * * *" ,
226- Tasks : []pgengine.YamlTask {
227- {
228- ChainTask : pgengine.ChainTask {Command : "SELECT 1" , Kind : "SQL" },
229- Parameters : []any {"foo" },
230- },
231- },
232- })
233- assert .Error (t , err )
234- assert .NoError (t , mockPool .ExpectationsWereMet ())
235- })
236- }
237-
238157func TestExecuteFileScript (t * testing.T ) {
239158 initmockdb (t )
240159 defer mockPool .Close ()
0 commit comments