1010
1111import pytest
1212
13- from linode_api4 .errors import ApiError
13+ from linode_api4 .errors import ApiError , UnexpectedResponseError
1414from linode_api4 .objects import (
1515 Config ,
1616 ConfigInterface ,
@@ -231,6 +231,23 @@ def get_status(linode: Instance, status: str):
231231 return linode .status == status
232232
233233
234+ def wait_for_clone_complete_and_delete_linode (
235+ interval : int , timeout : int , linode : Instance
236+ ) -> object :
237+ end_time = time .time () + timeout
238+ while time .time () < end_time :
239+ try :
240+ linode .delete ()
241+ return True
242+ except ApiError as err :
243+ if "[400] Linode is the target of an ongoing clone" not in str (err ):
244+ raise UnexpectedResponseError (f"Unexpected delete linode error" )
245+ time .sleep (interval )
246+ raise TimeoutError (
247+ f"Timeout Error: not possible to delete just cloned linode in { timeout } seconds"
248+ )
249+
250+
234251def instance_type_condition (linode : Instance , type : str ):
235252 return type in str (linode .type )
236253
@@ -385,7 +402,13 @@ def test_linode_alerts_workflow(test_linode_client, create_linode):
385402 "network_out" : 20 ,
386403 "transfer_quota" : 40 ,
387404 }
388- linode .save ()
405+ linode_save_status = linode .save ()
406+ assert linode_save_status == True
407+ assert linode .alerts ["cpu" ] == 50
408+ assert linode .alerts ["io" ] == 6000
409+ assert linode .alerts ["network_in" ] == 20
410+ assert linode .alerts ["network_out" ] == 20
411+ assert linode .alerts ["transfer_quota" ] == 40
389412
390413 wait_for_condition (10 , 100 , get_status , linode , "running" )
391414 new_linode = retry_sending_request (
@@ -403,8 +426,7 @@ def test_linode_alerts_workflow(test_linode_client, create_linode):
403426 assert isinstance (new_linode .alerts .system_alerts , list )
404427 assert isinstance (new_linode .alerts .user_alerts , list )
405428
406- if new_linode is not None :
407- new_linode .delete ()
429+ wait_for_clone_complete_and_delete_linode (10 , 100 , new_linode )
408430
409431
410432def test_update_linode_aclp_alerts (
0 commit comments