@@ -1266,129 +1266,6 @@ def test_handle_zim_generation_create_new_schedule(
12661266
12671267 self .assertEqual (b"1234-a" , result )
12681268
1269- @patch ("wp1.logic.builder.zimfarm.is_zim_file_ready" )
1270- @patch ("wp1.logic.builder.wp10_connect" )
1271- @patch ("wp1.logic.builder.redis_connect" )
1272- @patch (
1273- "wp1.logic.selection.utcnow" ,
1274- return_value = datetime .datetime (2022 , 12 , 25 , 0 , 1 , 2 ),
1275- )
1276- def test_on_zim_file_status_poll_file_ready (
1277- self , mock_utcnow , mock_redis , mock_connect , mock_is_ready
1278- ):
1279- mock_is_ready .return_value = "FILE_READY"
1280- builder_id = self ._insert_builder (zim_version = 1 )
1281- self ._insert_selection (
1282- 1 ,
1283- "text/tab-separated-values" ,
1284- version = 1 ,
1285- builder_id = builder_id ,
1286- has_errors = False ,
1287- zim_file_ready = True ,
1288- )
1289- self ._insert_selection (
1290- 2 ,
1291- "text/tab-separated-values" ,
1292- version = 2 ,
1293- builder_id = builder_id ,
1294- has_errors = False ,
1295- zim_task_id = "9abc" ,
1296- zim_file_ready = False ,
1297- )
1298-
1299- orig_close = self .wp10db .close
1300- try :
1301- self .wp10db .close = lambda : True
1302- mock_connect .return_value = self .wp10db
1303- logic_builder .on_zim_file_status_poll ("9abc" )
1304- finally :
1305- self .wp10db .close = orig_close
1306-
1307- with self .wp10db .cursor () as cursor :
1308- cursor .execute (
1309- "SELECT z_status, z_updated_at "
1310- "FROM zim_tasks WHERE z_selection_id = 2"
1311- )
1312- data = cursor .fetchone ()
1313-
1314- self .assertIsNotNone (data )
1315- self .assertEqual (b"FILE_READY" , data ["z_status" ])
1316- self .assertEqual (b"20221225000102" , data ["z_updated_at" ])
1317-
1318- with self .wp10db .cursor () as cursor :
1319- cursor .execute (
1320- "SELECT b.b_selection_zim_version FROM builders b " "WHERE b.b_id = %s" ,
1321- (builder_id ,),
1322- )
1323- zim_version = cursor .fetchone ()["b_selection_zim_version" ]
1324-
1325- self .assertEqual (2 , zim_version )
1326-
1327- @patch (
1328- "wp1.logic.builder.utcnow" , return_value = datetime .datetime (2023 , 1 , 1 , 5 , 5 , 5 )
1329- )
1330- @patch ("wp1.logic.builder.zimfarm.is_zim_file_ready" )
1331- @patch ("wp1.logic.builder.wp10_connect" )
1332- @patch ("wp1.logic.builder.redis_connect" )
1333- def test_on_zim_file_status_poll_expired (
1334- self , mock_redis , mock_connect , mock_is_ready , mock_utcnow
1335- ):
1336- mock_is_ready .return_value = "REQUESTED"
1337- builder_id = self ._insert_builder ()
1338- self ._insert_selection (
1339- 1 , "text/tab-separated-values" , builder_id = builder_id , has_errors = False
1340- )
1341-
1342- orig_close = self .wp10db .close
1343- try :
1344- self .wp10db .close = lambda : True
1345- mock_connect .return_value = self .wp10db
1346- logic_builder .on_zim_file_status_poll ("5678" )
1347- finally :
1348- self .wp10db .close = orig_close
1349-
1350- with self .wp10db .cursor () as cursor :
1351- cursor .execute (
1352- "SELECT z_status, z_updated_at "
1353- "FROM zim_tasks WHERE z_selection_id = 1"
1354- )
1355- data = cursor .fetchone ()
1356-
1357- self .assertIsNotNone (data )
1358- self .assertEqual (b"FAILED" , data ["z_status" ])
1359- self .assertIsNone (data ["z_updated_at" ])
1360-
1361- @patch ("wp1.logic.builder.zimfarm.is_zim_file_ready" )
1362- @patch ("wp1.logic.builder.wp10_connect" )
1363- @patch ("wp1.logic.builder.redis_connect" )
1364- def test_on_zim_file_status_poll_failed (
1365- self , mock_redis , mock_connect , mock_is_ready
1366- ):
1367- mock_is_ready .return_value = "FAILED"
1368- builder_id = self ._insert_builder ()
1369- self ._insert_selection (
1370- 1 , "text/tab-separated-values" , builder_id = builder_id , has_errors = False
1371- )
1372-
1373- orig_close = self .wp10db .close
1374- try :
1375- self .wp10db .close = lambda : True
1376- mock_connect .return_value = self .wp10db
1377- logic_builder .on_zim_file_status_poll ("5678" )
1378- finally :
1379- self .wp10db .close = orig_close
1380-
1381- with self .wp10db .cursor () as cursor :
1382- cursor .execute (
1383- "SELECT z_status, z_updated_at "
1384- "FROM zim_tasks WHERE z_selection_id = 1"
1385- )
1386- data = cursor .fetchone ()
1387-
1388- self .assertIsNotNone (data )
1389- self .assertEqual (b"FAILED" , data ["z_status" ])
1390- self .assertIsNone (data ["z_updated_at" ])
1391-
13921269 def test_update_version_for_finished_zim (self ):
13931270 builder_id = self ._insert_builder (zim_version = 1 )
13941271 self ._insert_selection (
0 commit comments