From c72d565bb58226b20625b2bce5f0019046bee649 Mon Sep 17 00:00:00 2001 From: "Sonsino, Ofir (os0695)" Date: Tue, 10 Jul 2018 14:20:54 +0300 Subject: Merge 1806 code of vid-common Change-Id: I75d52abed4a24dfe3827d79edc4a2938726aa87a Issue-ID: VID-208 Signed-off-by: Sonsino, Ofir (os0695) --- .../vid/job/command/JobCommandFactoryTest.java | 68 ++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 vid-app-common/src/test/java/org/onap/vid/job/command/JobCommandFactoryTest.java (limited to 'vid-app-common/src/test/java/org/onap/vid/job/command/JobCommandFactoryTest.java') diff --git a/vid-app-common/src/test/java/org/onap/vid/job/command/JobCommandFactoryTest.java b/vid-app-common/src/test/java/org/onap/vid/job/command/JobCommandFactoryTest.java new file mode 100644 index 000000000..b51553be7 --- /dev/null +++ b/vid-app-common/src/test/java/org/onap/vid/job/command/JobCommandFactoryTest.java @@ -0,0 +1,68 @@ +package org.onap.vid.job.command; + +import com.google.common.collect.ImmutableMap; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.onap.vid.job.Job; +import org.onap.vid.job.JobCommand; +import org.onap.vid.job.JobType; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.DataProvider; +import org.testng.annotations.Test; + +import java.util.Arrays; +import java.util.Map; +import java.util.UUID; +import java.util.stream.Collectors; + +import static org.hamcrest.CoreMatchers.equalTo; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +public class JobCommandFactoryTest { + + private JobCommandFactory jobCommandFactory; + + @Mock + private Job job; + + @Mock + private JobCommand mockCommand; + + @BeforeMethod + public void initMocks() { + MockitoAnnotations.initMocks(this); + } + + @BeforeMethod + public void setUp() { + jobCommandFactory = new JobCommandFactory(any -> mockCommand); + } + + @DataProvider + public Object[][] jobTypes() { + return Arrays.stream( + JobType.values() + ).map(v -> new Object[]{v}).collect(Collectors.toList()).toArray(new Object[][]{}); + + } + + @Test(dataProvider = "jobTypes") + public void givenJob_createCommandCallsTheInitAndReturnsTheInstance(JobType jobType) { + + final UUID uuid = UUID.randomUUID(); + final Map data = ImmutableMap.of("foo", "bar"); + + when(job.getType()).thenReturn(jobType); + when(job.getUuid()).thenReturn(uuid); + when(job.getData()).thenReturn(data); + + final JobCommand command = jobCommandFactory.toCommand(job); + + verify(mockCommand).init(uuid, data); + + assertThat(command, equalTo(mockCommand)); + } + +} \ No newline at end of file -- cgit 1.2.3-korg