JunitTest

import org.junit.jupiter.api.BeforeEach;

import org.junit.jupiter.api.Test;

import org.mockito.Mockito;

import org.springframework.batch.core.Step;

import org.springframework.batch.core.job.builder.StepBuilder;

import org.springframework.batch.core.repository.JobRepository;

import org.springframework.batch.core.step.builder.StepBuilderHelper;

import org.springframework.batch.repeat.RepeatStatus;

import org.springframework.transaction.PlatformTransactionManager;


import static org.junit.jupiter.api.Assertions.*;

import static org.mockito.Mockito.*;


public class MyJobConfigurationTest {


    private MyJobConfiguration myJobConfiguration;

    private FileBackUpTasklet fileBackUpTasklet;

    private JobCompletionListener jobCompletionListener;


    private JobRepository jobRepository;

    private PlatformTransactionManager transactionManager;


    @BeforeEach

    public void setUp() {

        fileBackUpTasklet = mock(FileBackUpTasklet.class);

        jobCompletionListener = mock(JobCompletionListener.class);

        jobRepository = mock(JobRepository.class);

        transactionManager = mock(PlatformTransactionManager.class);


        myJobConfiguration = new MyJobConfiguration();

        // Using reflection or setter injection to inject mocks if needed

        myJobConfiguration.fileBackUpTasklet = fileBackUpTasklet;

        myJobConfiguration.jobCompletionListener = jobCompletionListener;

    }


    @Test

    public void testSendNotificationStep() {

        Step step = myJobConfiguration.sendNotificationStep(jobRepository, transactionManager);

        assertNotNull(step);

        assertEquals("sendNotification", step.getName());

    }


    @Test

    public void testErrorMetadataStep() {

        Step step = myJobConfiguration.errorMetadataStep(jobRepository, transactionManager);

        assertNotNull(step);

        assertEquals("errorMetaDataStep", step.getName());

    }

}

Comments

Popular posts from this blog

Log4j2 Setup