* terms of the Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-
package org.opendaylight.openflowplugin.impl.karaf;
-import static org.mockito.ArgumentMatchers.matches;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.atLeastOnce;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
import java.util.function.Function;
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Test;
-import org.mockito.Mockito;
+import org.junit.jupiter.api.Test;
+import org.mockito.InjectMocks;
import org.opendaylight.openflowplugin.api.openflow.statistics.ofpspecific.MessageIntelligenceAgency;
import org.opendaylight.openflowplugin.api.openflow.statistics.ofpspecific.MessageSpy;
-import org.opendaylight.openflowplugin.impl.OpenFlowPluginProviderImpl;
+import org.opendaylight.openflowplugin.impl.statistics.ofpspecific.MessageIntelligenceAgencyImpl;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.OfHeader;
/**
* Test for {@link ShowStatsCommandProvider}.
*/
-public class ShowStatsCommandProviderTest extends AbstractKarafTest {
+class ShowStatsCommandProviderTest extends AbstractKarafTest {
+ private final MessageIntelligenceAgency messageIntelligenceAgency = new MessageIntelligenceAgencyImpl();
- private ShowStatsCommandProvider showStatsCommandProvider;
- private MessageIntelligenceAgency messageIntelligenceAgency;
+ @InjectMocks
+ private ShowStatsCommandProvider showStatsCommand;
private static final Function<String, Boolean> CHECK_NO_ACTIVITY_FUNCTION =
input -> input.endsWith(": no activity detected");
@Override
- public void doSetUp() {
- showStatsCommandProvider = new ShowStatsCommandProvider();
- messageIntelligenceAgency = OpenFlowPluginProviderImpl.getMessageIntelligenceAgency();
- messageIntelligenceAgency.resetStatistics();
- }
-
- @After
- public void tearDown() {
- // Pattern.DOTALL is set inline via "(?s)" at the beginning
- Mockito.verify(console).print(matches("(?s).+"));
+ protected void doBeforeEach() {
+ showStatsCommand.messageIntelligenceAgency = messageIntelligenceAgency;
messageIntelligenceAgency.resetStatistics();
+ assertNoActivity(messageIntelligenceAgency.provideIntelligence(), CHECK_NO_ACTIVITY_FUNCTION);
}
/**
- * Test for {@link ShowEventTimesComandProvider#doExecute()} when no stats were touched before.
+ * Test for {@link ShowEventTimesComandProvider#execute()} when no stats were touched before.
*/
@Test
- public void testDoExecute_clean() throws Exception {
- Assert.assertTrue(checkNoActivity(messageIntelligenceAgency.provideIntelligence(), CHECK_NO_ACTIVITY_FUNCTION));
- showStatsCommandProvider.execute(cmdSession);
- Assert.assertTrue(checkNoActivity(messageIntelligenceAgency.provideIntelligence(), CHECK_NO_ACTIVITY_FUNCTION));
+ void showNoActivity() {
+ showStatsCommand.execute();
+ verify(console, never()).println();
+ assertNoActivity(messageIntelligenceAgency.provideIntelligence(), CHECK_NO_ACTIVITY_FUNCTION);
}
/**
- * Test for {@link ShowEventTimesComandProvider#doExecute()} when stats were touched before.
+ * Test for {@link ShowEventTimesComandProvider#execute()} when stats were touched before.
*/
@Test
- public void testDoExecute_dirty() throws Exception {
- Assert.assertTrue(checkNoActivity(messageIntelligenceAgency.provideIntelligence(), CHECK_NO_ACTIVITY_FUNCTION));
-
+ void showHavingActivity() {
messageIntelligenceAgency.spyMessage(OfHeader.class, MessageSpy.StatisticsGroup.FROM_SWITCH);
- Assert.assertFalse(checkNoActivity(messageIntelligenceAgency.provideIntelligence(),
- CHECK_NO_ACTIVITY_FUNCTION));
+ assertHasActivity(messageIntelligenceAgency.provideIntelligence(),CHECK_NO_ACTIVITY_FUNCTION);
- showStatsCommandProvider.execute(cmdSession);
- Assert.assertFalse(checkNoActivity(messageIntelligenceAgency.provideIntelligence(),
- CHECK_NO_ACTIVITY_FUNCTION));
+ showStatsCommand.execute();
+ verify(console, atLeastOnce()).println(anyString());
+ assertHasActivity(messageIntelligenceAgency.provideIntelligence(),CHECK_NO_ACTIVITY_FUNCTION);
}
}