package org.ovirt.engine.core.bll.exportimport; import static java.util.Arrays.asList; import static java.util.Collections.emptyList; import static java.util.Collections.singletonList; import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.sameInstance; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertThat; import java.util.List; import java.util.Optional; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.junit.MockitoJUnitRunner; import org.ovirt.engine.core.common.businessentities.network.ExternalVnicProfileMapping; import org.ovirt.engine.core.compat.Guid; @RunWith(MockitoJUnitRunner.class) public class ExternalVnicProfileMappingFinderTest { private static final String NETWORK_NAME = "network name"; private static final String VNIC_PROFILE1_NAME = "vnic profile1 name"; private static final String VNIC_PROFILE2_NAME = "vnic profile2 name"; private static final Guid TARGET_VNIC_PROFILE_ID = Guid.newGuid(); private ExternalVnicProfileMappingFinder underTest; private List<ExternalVnicProfileMapping> externalVnicProfileMappings; private ExternalVnicProfileMapping externalVnicProfileMapping1; private ExternalVnicProfileMapping externalVnicProfileMapping2; private ExternalVnicProfileMapping emptySourceMapping; @Before public void setUp() { underTest = new ExternalVnicProfileMappingFinder(); externalVnicProfileMapping1 = new ExternalVnicProfileMapping(NETWORK_NAME, VNIC_PROFILE1_NAME, TARGET_VNIC_PROFILE_ID); externalVnicProfileMapping2 = new ExternalVnicProfileMapping(NETWORK_NAME, VNIC_PROFILE2_NAME, null); externalVnicProfileMappings = asList(externalVnicProfileMapping1, externalVnicProfileMapping2); emptySourceMapping = new ExternalVnicProfileMapping(null, null, TARGET_VNIC_PROFILE_ID); } @Test public void testFindMappingEntryEmptyInput() { final Optional<ExternalVnicProfileMapping> actual = underTest.findMappingEntry(NETWORK_NAME, VNIC_PROFILE1_NAME, emptyList()); assertThat(actual, is(Optional.empty())); } @Test public void testFindMappingEntry() { final Optional<ExternalVnicProfileMapping> actual = underTest.findMappingEntry(NETWORK_NAME, VNIC_PROFILE1_NAME, externalVnicProfileMappings); assertThat(actual.get(), sameInstance(externalVnicProfileMapping1)); } @Test public void testFindMappingEntryEmptyExternal() { final Optional<ExternalVnicProfileMapping> actual = underTest.findMappingEntry(NETWORK_NAME, VNIC_PROFILE1_NAME, singletonList(emptySourceMapping)); assertFalse(actual.isPresent()); } @Test public void testFindMappingEntryEmptySourceVnicProfile() { final Optional<ExternalVnicProfileMapping> actual = underTest.findMappingEntry(null, null, singletonList(emptySourceMapping)); assertThat(actual.get(), sameInstance(emptySourceMapping)); } @Test public void testFindMappingEntryNotFound() { final Optional<ExternalVnicProfileMapping> actual = underTest.findMappingEntry("not" + NETWORK_NAME, VNIC_PROFILE2_NAME, externalVnicProfileMappings); assertThat(actual, is(Optional.empty())); } }