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 static org.mockito.Mockito.doReturn; import org.mockito.InjectMocks; import org.mockito.Mock; import org.testng.annotations.Test; import rocks.inspectit.shared.all.communication.data.HttpInfo; import rocks.inspectit.shared.all.communication.data.HttpTimerData; import rocks.inspectit.shared.all.communication.data.InvocationSequenceData; import rocks.inspectit.shared.all.communication.data.TimerData; import rocks.inspectit.shared.all.testbase.TestBase; import rocks.inspectit.shared.cs.cmr.service.cache.CachedDataService; /** * @author Alexander Wert * @author Marius Oehler * */ @SuppressWarnings("PMD") public class HttpUriValueSourceTest extends TestBase { @InjectMocks HttpUriValueSource valueSource; @Mock CachedDataService cachedDataService; @Mock InvocationSequenceData invocationSequenceData; @Mock HttpTimerData httpTimerData; /** * Test * {@link HttpUriValueSource#getStringValues(InvocationSequenceData, rocks.inspectit.shared.all.cmr.service.ICachedDataService)} * . */ public static class GetStringValues extends HttpUriValueSourceTest { @Test public void retrieveURI() { HttpInfo httpInfo = new HttpInfo("/test/uri", "POST", null); doReturn(httpTimerData).when(invocationSequenceData).getTimerData(); doReturn(httpInfo).when(httpTimerData).getHttpInfo(); String[] values = valueSource.getStringValues(invocationSequenceData, cachedDataService); assertThat(values, hasItemInArray("/test/uri")); } @Test public void noHttpData() { doReturn(new TimerData()).when(invocationSequenceData).getTimerData(); String[] values = valueSource.getStringValues(invocationSequenceData, cachedDataService); assertThat(values, is(notNullValue())); assertThat(values.length, is(equalTo(0))); } } }