Skip to content

Commit

Permalink
fix AccessionWriterTest
Browse files Browse the repository at this point in the history
  • Loading branch information
nitin-ebi committed Apr 30, 2024
1 parent a9186fb commit 8447974
Show file tree
Hide file tree
Showing 4 changed files with 43 additions and 22 deletions.
Original file line number Diff line number Diff line change
@@ -1,22 +1,17 @@
package uk.ac.ebi.eva.accession.pipeline.configuration.batch.listeners;

import org.springframework.batch.core.JobExecution;
import org.springframework.batch.core.JobExecutionListener;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.web.client.RestTemplate;
import uk.ac.ebi.eva.accession.pipeline.batch.io.AccessionWriter;
import uk.ac.ebi.eva.accession.pipeline.batch.listeners.SubsnpAccessionsStepListener;
import uk.ac.ebi.eva.accession.pipeline.metric.AccessioningMetricCompute;
import uk.ac.ebi.eva.accession.pipeline.parameters.InputParameters;
import uk.ac.ebi.eva.metrics.configuration.MetricConfiguration;
import uk.ac.ebi.eva.metrics.count.CountServiceParameters;
import uk.ac.ebi.eva.metrics.metric.MetricCompute;

import static uk.ac.ebi.eva.accession.pipeline.configuration.BeanNames.ACCESSION_WRITER;
import static uk.ac.ebi.eva.accession.pipeline.configuration.BeanNames.SUBSNP_ACCESSION_JOB_LISTENER;
import static uk.ac.ebi.eva.accession.pipeline.configuration.BeanNames.SUBSNP_ACCESSION_STEP_LISTENER;

@Configuration
Expand All @@ -34,19 +29,4 @@ public MetricCompute getClusteringMetricCompute(CountServiceParameters countServ
return new AccessioningMetricCompute(countServiceParameters, restTemplate, inputParameters.getAssemblyAccession(),
inputParameters.getProjectAccession());
}

@Bean(SUBSNP_ACCESSION_JOB_LISTENER)
public JobExecutionListener jobExecutionListener(@Qualifier(ACCESSION_WRITER) AccessionWriter accessionWriter) {
return new JobExecutionListener() {
@Override
public void beforeJob(JobExecution jobExecution) {
accessionWriter.setJobExecution(jobExecution);
}

@Override
public void afterJob(JobExecution jobExecution) {
// Do nothing
}
};
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package uk.ac.ebi.eva.accession.pipeline.configuration.batch.listeners;

import org.springframework.batch.core.JobExecution;
import org.springframework.batch.core.JobExecutionListener;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import uk.ac.ebi.eva.accession.pipeline.batch.io.AccessionWriter;

import static uk.ac.ebi.eva.accession.pipeline.configuration.BeanNames.ACCESSION_WRITER;
import static uk.ac.ebi.eva.accession.pipeline.configuration.BeanNames.SUBSNP_ACCESSION_JOB_LISTENER;

@Configuration
public class SubsnpAccessionJobExecutionListener {

@Bean(SUBSNP_ACCESSION_JOB_LISTENER)
public JobExecutionListener jobExecutionListener(@Qualifier(ACCESSION_WRITER) AccessionWriter accessionWriter) {
return new JobExecutionListener() {
@Override
public void beforeJob(JobExecution jobExecution) {
accessionWriter.setJobExecution(jobExecution);
}

@Override
public void afterJob(JobExecution jobExecution) {
// Do nothing
}
};
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,12 @@
import org.junit.rules.ExpectedException;
import org.junit.rules.TemporaryFolder;
import org.junit.runner.RunWith;
import org.mockito.Mockito;
import org.springframework.batch.core.JobExecution;
import org.springframework.batch.item.ExecutionContext;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.ContextConfiguration;
Expand All @@ -46,7 +48,9 @@
import uk.ac.ebi.eva.accession.core.model.eva.SubmittedVariantEntity;
import uk.ac.ebi.eva.accession.pipeline.batch.processors.VariantConverter;
import uk.ac.ebi.eva.accession.pipeline.configuration.InputParametersConfiguration;
import uk.ac.ebi.eva.accession.pipeline.configuration.batch.io.AccessionWriterConfiguration;
import uk.ac.ebi.eva.accession.pipeline.configuration.batch.listeners.ListenersConfiguration;
import uk.ac.ebi.eva.accession.pipeline.configuration.batch.listeners.SubsnpAccessionJobExecutionListener;
import uk.ac.ebi.eva.accession.pipeline.metric.AccessioningMetric;
import uk.ac.ebi.eva.commons.core.models.pipeline.Variant;
import uk.ac.ebi.eva.commons.core.models.pipeline.VariantSourceEntry;
Expand Down Expand Up @@ -76,7 +80,8 @@

@RunWith(SpringRunner.class)
@EnableAutoConfiguration
@ContextConfiguration(classes = {SubmittedVariantAccessioningConfiguration.class, ListenersConfiguration.class, InputParametersConfiguration.class})
@ContextConfiguration(classes = {SubmittedVariantAccessioningConfiguration.class, ListenersConfiguration.class,
InputParametersConfiguration.class})
@TestPropertySource("classpath:accession-pipeline-test.properties")
public class AccessionWriterTest {

Expand Down Expand Up @@ -135,6 +140,9 @@ public class AccessionWriterTest {

private ContigMapping contigMapping;

@MockBean
private JobExecution jobExecution;

@Rule
public TemporaryFolder temporaryFolderRule = new TemporaryFolder();

Expand Down Expand Up @@ -165,6 +173,8 @@ public void setUp() throws Exception {
accessionWriter = new AccessionWriter(service, accessionReportWriter, variantConverter, metricCompute);
accessionReportWriter.open(new ExecutionContext());
mongoTemplate.dropCollection(SubmittedVariantEntity.class);
Mockito.when(jobExecution.getJobId()).thenReturn(1L);
accessionWriter.setJobExecution(jobExecution);
}

@After
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
import org.springframework.transaction.PlatformTransactionManager;

import uk.ac.ebi.eva.accession.pipeline.configuration.batch.io.AccessionWriterConfiguration;
import uk.ac.ebi.eva.accession.pipeline.configuration.batch.listeners.SubsnpAccessionJobExecutionListener;
import uk.ac.ebi.eva.accession.pipeline.configuration.batch.policies.ChunkSizeCompletionPolicyConfiguration;
import uk.ac.ebi.eva.accession.pipeline.configuration.batch.policies.InvalidVariantSkipPolicyConfiguration;
import uk.ac.ebi.eva.accession.pipeline.configuration.batch.processors.VariantProcessorConfiguration;
Expand All @@ -49,7 +50,7 @@
VcfReaderConfiguration.class, VariantProcessorConfiguration.class, AccessionWriterConfiguration.class,
BuildReportStepConfiguration.class, AccessioningShutdownStepConfiguration.class,
ChunkSizeCompletionPolicyConfiguration.class, InvalidVariantSkipPolicyConfiguration.class,
EvaAccessionJobLauncherCommandLineRunner.class})
EvaAccessionJobLauncherCommandLineRunner.class, SubsnpAccessionJobExecutionListener.class})
public class BatchTestConfiguration {

@Autowired
Expand Down

0 comments on commit 8447974

Please sign in to comment.