@@ -497,8 +497,8 @@ class K8sTaskHandlerTest extends Specification {
497497 1 * handler. getState() >> fullState
498498 1 * handler. updateTimestamps(termState)
499499 1 * handler. readExitFile() >> EXIT_STATUS
500- 1 * handler. deletePodIfSuccessful (task) >> null
501- 1 * handler. savePodLogOnError (task) >> null
500+ 1 * handler. deleteJobIfSuccessful (task) >> null
501+ 1 * handler. saveJobLogOnError (task) >> null
502502 handler. task. exitStatus == EXIT_STATUS
503503 handler. task. @stdout == OUT_FILE
504504 handler. task. @stderr == ERR_FILE
@@ -528,8 +528,8 @@ class K8sTaskHandlerTest extends Specification {
528528 1 * handler. getState() >> [terminated : termState]
529529 1 * handler. updateTimestamps(termState)
530530 0 * handler. readExitFile()
531- 1 * handler. deletePodIfSuccessful (task) >> null
532- 1 * handler. savePodLogOnError (task) >> null
531+ 1 * handler. deleteJobIfSuccessful (task) >> null
532+ 1 * handler. saveJobLogOnError (task) >> null
533533 handler. task. exitStatus == 137
534534 handler. status == TaskStatus . COMPLETED
535535 result == true
@@ -764,30 +764,57 @@ class K8sTaskHandlerTest extends Specification {
764764 def executor = Mock (K8sExecutor )
765765 def client = Mock (K8sClient )
766766 def handler = Spy (new K8sTaskHandler (podName : POD_NAME , executor :executor, client :client))
767+ handler. useJobResource() >> false
767768 and :
768769 def TASK_OK = Mock (TaskRun ); TASK_OK . isSuccess() >> true
769770 def TASK_FAIL = Mock (TaskRun ); TASK_FAIL . isSuccess() >> false
770771
771772 when :
772- handler. deletePodIfSuccessful (TASK_OK )
773+ handler. deleteJobIfSuccessful (TASK_OK )
773774 then :
774775 1 * executor. getK8sConfig() >> new K8sConfig ()
775776 1 * client. podDelete(POD_NAME ) >> null
776777
777778 when :
778- handler. deletePodIfSuccessful (TASK_OK )
779+ handler. deleteJobIfSuccessful (TASK_OK )
779780 then :
780781 1 * executor. getK8sConfig() >> new K8sConfig (cleanup : true )
781782 1 * client. podDelete(POD_NAME ) >> null
782783
783784 when :
784- handler. deletePodIfSuccessful (TASK_FAIL )
785+ handler. deleteJobIfSuccessful (TASK_FAIL )
785786 then :
786787 1 * executor. getK8sConfig() >> new K8sConfig (cleanup : false )
787788 0 * client. podDelete(POD_NAME ) >> null
788789
789790 }
790791
792+ def ' should not delete job if ttlSecondsAfterFinished is set' () {
793+
794+ given :
795+ def POD_NAME = ' the-job-name'
796+ def executor = Mock (K8sExecutor )
797+ def client = Mock (K8sClient )
798+ def handler = Spy (new K8sTaskHandler (podName : POD_NAME , executor :executor, client :client))
799+ handler. useJobResource() >> true
800+ and :
801+ def TASK_OK = Mock (TaskRun ); TASK_OK . isSuccess() >> true
802+
803+ when : ' job with ttlSecondsAfterFinished should not be deleted'
804+ handler. deleteJobIfSuccessful(TASK_OK )
805+ then :
806+ 1 * executor. getK8sConfig() >> new K8sConfig ()
807+ 1 * handler. getPodOptions() >> new PodOptions ([[ttlSecondsAfterFinished : 100 ]])
808+ 0 * client. jobDelete(POD_NAME )
809+
810+ when : ' job without ttlSecondsAfterFinished should be deleted'
811+ handler. deleteJobIfSuccessful(TASK_OK )
812+ then :
813+ 1 * executor. getK8sConfig() >> new K8sConfig ()
814+ 1 * handler. getPodOptions() >> new PodOptions ()
815+ 1 * client. jobDelete(POD_NAME ) >> null
816+ }
817+
791818 def ' should save pod log' () {
792819
793820 given :
@@ -803,13 +830,13 @@ class K8sTaskHandlerTest extends Specification {
803830 def handler = Spy (new K8sTaskHandler (executor : executor, client : client, podName : POD_NAME ))
804831
805832 when :
806- handler. savePodLogOnError (task)
833+ handler. saveJobLogOnError (task)
807834 then :
808835 task. isSuccess() >> true
809836 0 * client. podLog(_)
810837
811838 when :
812- handler. savePodLogOnError (task)
839+ handler. saveJobLogOnError (task)
813840 then :
814841 task. isSuccess() >> false
815842 task. getWorkDir() >> folder
0 commit comments