package rocks.inspectit.shared.cs.ci.business.valuesource.impl; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.hasItemInArray; import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.notNullValue; import java.util.ArrayList; import java.util.List; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Mockito; import org.testng.annotations.Test; import rocks.inspectit.shared.all.cmr.model.PlatformIdent; import rocks.inspectit.shared.all.communication.data.InvocationSequenceData; import rocks.inspectit.shared.all.testbase.TestBase; import rocks.inspectit.shared.cs.cmr.service.cache.CachedDataService; /** * @author Alexander Wert * */ @SuppressWarnings("PMD") public class HostValueSourceTest extends TestBase { @InjectMocks HostValueSource valueSource; @Mock CachedDataService cachedDataService; @Mock InvocationSequenceData invocationSeuence; @Mock PlatformIdent platformIdent; /** * Test * {@link HostValueSource#getStringValues(InvocationSequenceData, rocks.inspectit.shared.all.cmr.service.ICachedDataService)} * . */ public static class GetStringVlaues extends HostValueSourceTest { private static final Long PLATFORM_IDENT_ID = 30L; private static final String IP_1 = "127.0.0.1"; private static final String IP_2 = "17.23.31.11"; @Test public void retrieveURI() { List<String> ips = new ArrayList<>(); ips.add(IP_1); ips.add(IP_2); Mockito.doReturn(PLATFORM_IDENT_ID).when(invocationSeuence).getPlatformIdent(); Mockito.doReturn(platformIdent).when(cachedDataService).getPlatformIdentForId(PLATFORM_IDENT_ID); Mockito.doReturn(ips).when(platformIdent).getDefinedIPs(); String[] values = valueSource.getStringValues(invocationSeuence, cachedDataService); assertThat(values, hasItemInArray(IP_1)); assertThat(values, hasItemInArray(IP_2)); } @Test public void platformIdentNull() { Mockito.doReturn(null).when(cachedDataService).getPlatformIdentForId(PLATFORM_IDENT_ID); String[] values = valueSource.getStringValues(invocationSeuence, cachedDataService); assertThat(values, is(notNullValue())); assertThat(values.length, is(equalTo(0))); } } }