[SEBA-41] Operational Status IGMP Data
Change-Id: I8e3d9bdfafe61d7d357dc1fae8735ed78b9a77eb
diff --git a/src/test/java/org/opencord/igmpproxy/IgmpManagerBase.java b/src/test/java/org/opencord/igmpproxy/IgmpManagerBase.java
index 43cc24a..05581ed 100644
--- a/src/test/java/org/opencord/igmpproxy/IgmpManagerBase.java
+++ b/src/test/java/org/opencord/igmpproxy/IgmpManagerBase.java
@@ -20,7 +20,13 @@
import org.onlab.packet.Ip4Address;
import org.onlab.packet.IpAddress;
import org.onlab.packet.MacAddress;
+import org.onosproject.cfg.ComponentConfigService;
+import org.onosproject.cfg.ConfigProperty;
import org.onosproject.core.ApplicationId;
+import org.onosproject.event.DefaultEventSinkRegistry;
+import org.onosproject.event.Event;
+import org.onosproject.event.EventDeliveryService;
+import org.onosproject.event.EventSink;
import org.onosproject.mastership.MastershipServiceAdapter;
import org.onosproject.mcast.api.McastListener;
import org.onosproject.mcast.api.McastRoute;
@@ -57,9 +63,18 @@
import org.opencord.sadis.SubscriberAndDeviceInformation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+import org.osgi.service.component.ComponentContext;
+import org.osgi.service.component.ComponentInstance;
+
+import static com.google.common.base.Preconditions.checkState;
import java.nio.ByteBuffer;
import java.util.ArrayList;
+import java.util.Dictionary;
+import java.util.Hashtable;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;
@@ -92,6 +107,8 @@
protected static final String CLIENT_CIRCUIT_ID = "CIR-PON 1/1";
protected String dsBpId = "HSIA-DS";
+ private static final int STATISTICS_GEN_PERIOD_IN_SEC = 2;
+
private static final String NNI_PREFIX = "nni";
protected List<Port> lsPorts = new ArrayList<Port>();
@@ -191,6 +208,7 @@
class TestNetworkConfigRegistry extends NetworkConfigRegistryAdapter {
Boolean igmpOnPodFlag = false;
+
TestNetworkConfigRegistry(Boolean igmpFlag) {
igmpOnPodFlag = igmpFlag;
}
@@ -377,28 +395,36 @@
}
/**
- * Sends an Ethernet packet to the process method of the Packet Processor.
+ * Sends Ethernet packet to the process method of the Packet Processor.
*
* @param reply Ethernet packet
* @throws InterruptedException
*/
- void sendPacket(Ethernet reply) {
+ void sendPacket(Ethernet reply, boolean isSingleSend) {
final ByteBuffer byteBuffer = ByteBuffer.wrap(reply.serialize());
- if (flagForPacket) {
- InboundPacket inPacket = new DefaultInboundPacket(CONNECT_POINT_A, reply, byteBuffer);
- context = new TestPacketContext(127L, inPacket, null, false);
- flagForPacket = false;
+ if (isSingleSend) {
+ InboundPacket inBoundPacket = new DefaultInboundPacket(CONNECT_POINT_B, reply, byteBuffer);
+ context = new TestPacketContext(127L, inBoundPacket, null, false);
packetProcessor.process(context);
} else {
- InboundPacket inBoundPacket = new DefaultInboundPacket(CONNECT_POINT_B, reply, byteBuffer);
- context = new TestPacketContext(127L, inBoundPacket, null, false);
- flagForPacket = true;
+ if (flagForPacket) {
+ InboundPacket inPacket = new DefaultInboundPacket(CONNECT_POINT_A, reply, byteBuffer);
+ context = new TestPacketContext(127L, inPacket, null, false);
+ flagForPacket = false;
- packetProcessor.process(context);
+ packetProcessor.process(context);
+ } else {
+ InboundPacket inBoundPacket = new DefaultInboundPacket(CONNECT_POINT_B, reply, byteBuffer);
+ context = new TestPacketContext(127L, inBoundPacket, null, false);
+ flagForPacket = true;
+
+ packetProcessor.process(context);
+ }
}
+
}
protected class MockSadisService implements SadisService {
@@ -484,4 +510,134 @@
}
}
+ protected class MockCfgService implements ComponentConfigService {
+
+ @Override
+ public Set<String> getComponentNames() {
+ return null;
+ }
+
+ @Override
+ public void registerProperties(Class<?> componentClass) {
+
+ }
+
+ @Override
+ public void unregisterProperties(Class<?> componentClass, boolean clear) {
+
+ }
+
+ @Override
+ public Set<ConfigProperty> getProperties(String componentName) {
+ return null;
+ }
+
+ @Override
+ public void setProperty(String componentName, String name, String value) {
+
+ }
+
+ @Override
+ public void preSetProperty(String componentName, String name, String value) {
+
+ }
+
+ @Override
+ public void preSetProperty(String componentName, String name, String value, boolean override) {
+
+ }
+
+ @Override
+ public void unsetProperty(String componentName, String name) {
+
+ }
+
+ @Override
+ public ConfigProperty getProperty(String componentName, String attribute) {
+ return null;
+ }
+
+ }
+
+ public static class TestEventDispatcher extends DefaultEventSinkRegistry implements EventDeliveryService {
+
+ @Override
+ @SuppressWarnings("unchecked")
+ public synchronized void post(Event event) {
+ EventSink sink = getSink(event.getClass());
+ checkState(sink != null, "No sink for event %s", event);
+ sink.process(event);
+ }
+
+ @Override
+ public void setDispatchTimeLimit(long millis) {
+ }
+
+ @Override
+ public long getDispatchTimeLimit() {
+ return 0;
+ }
+ }
+
+ class MockComponentContext implements ComponentContext {
+
+ @Override
+ public Dictionary<String, Object> getProperties() {
+ Dictionary<String, Object> cfgDict = new Hashtable<String, Object>();
+ cfgDict.put("statisticsGenerationPeriodInSeconds", STATISTICS_GEN_PERIOD_IN_SEC);
+ return cfgDict;
+ }
+
+ @Override
+ public Object locateService(String name) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public Object locateService(String name, ServiceReference reference) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public Object[] locateServices(String name) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public BundleContext getBundleContext() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public Bundle getUsingBundle() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public ComponentInstance getComponentInstance() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public void enableComponent(String name) {
+ // TODO Auto-generated method stub
+ }
+
+ @Override
+ public void disableComponent(String name) {
+ // TODO Auto-generated method stub
+ }
+
+ @Override
+ public ServiceReference getServiceReference() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+ }
}