Merge "Provide Karaf 4 features"
[lispflowmapping.git] / mappingservice / implementation / src / test / java / org / opendaylight / lispflowmapping / implementation / lisp / MapResolverTest.java
index 92f68f12755efd18caee37d1e83191647906c751..632bbc27c2528666caae9a12c777d6417df90a64 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016 Cisco Systems, Inc. and others.  All rights reserved.
+ * Copyright (c) 2016, 2017 Cisco Systems, Inc. and others.  All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
@@ -21,7 +21,8 @@ import org.opendaylight.lispflowmapping.config.ConfigIni;
 import org.opendaylight.lispflowmapping.implementation.LispMappingService;
 import org.opendaylight.lispflowmapping.implementation.MappingService;
 import org.opendaylight.lispflowmapping.interfaces.dao.SubKeys;
-import org.opendaylight.lispflowmapping.interfaces.dao.SubscriberRLOC;
+import org.opendaylight.lispflowmapping.interfaces.dao.Subscriber;
+import org.opendaylight.lispflowmapping.lisp.type.LispMessage;
 import org.opendaylight.lispflowmapping.lisp.type.MappingData;
 import org.opendaylight.lispflowmapping.lisp.util.LispAddressUtil;
 import org.opendaylight.lispflowmapping.lisp.util.SourceDestKeyHelper;
@@ -49,7 +50,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.ei
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.eid.list.EidItemBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.locatorrecords.LocatorRecordBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.locatorrecords.LocatorRecordKey;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapping.authkey.container.MappingAuthkeyBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapping.record.container.MappingRecord;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapping.record.container.MappingRecordBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapping.record.list.MappingRecordItemBuilder;
@@ -67,7 +67,7 @@ public class MapResolverTest {
 
     private static MapResolver mapResolver;
     private static MappingService mapServiceMock;
-    private static Set<SubscriberRLOC> subscriberSetMock;
+    private static Set<Subscriber> subscriberSetMock;
     private static LispMappingService lispMappingServiceMock;
 
     private static final String ITR_RLOC_KEY_STRING =   "itr_rloc_key";
@@ -107,8 +107,8 @@ public class MapResolverTest {
 
     private static final Rloc RLOC_1 = LispAddressUtil.asIpv4Rloc(IPV4_RLOC_STRING_1);
     private static MapRequestBuilder mapRequestBuilder = getDefaultMapRequestBuilder();
-    private static final SubscriberRLOC SUBSCRIBER_RLOC_1 = new SubscriberRLOC(RLOC_1,
-            LispAddressUtil.asIpv4Eid(IPV4_SOURCE), SubscriberRLOC.DEFAULT_SUBSCRIBER_TIMEOUT);
+    private static final Subscriber SUBSCRIBER_RLOC_1 = new Subscriber(RLOC_1,
+            LispAddressUtil.asIpv4Eid(IPV4_SOURCE), Subscriber.DEFAULT_SUBSCRIBER_TIMEOUT);
 
     @Before
     @SuppressWarnings("unchecked")
@@ -153,14 +153,13 @@ public class MapResolverTest {
                 .setAuthoritative(false)
                 .setMapVersion((short) 0)
                 .setEid(IPV4_PREFIX_EID_1)
-                .setAction(MappingRecord.Action.NativelyForward)
+                .setAction(LispMessage.NEGATIVE_MAPPING_ACTION)
                 .setRecordTtl(TTL_RLOC_TIMED_OUT);
 
         Mockito.when(mapServiceMock.getMapping(mapRequestBuilder.getSourceEid().getEid(), IPV4_PREFIX_EID_1))
                 .thenReturn(null);
-        Mockito.when(mapServiceMock.getAuthenticationKey(IPV4_PREFIX_EID_1))
-                .thenReturn(new MappingAuthkeyBuilder().build());
-        Mockito.when(mapServiceMock.getWidestNegativePrefix(IPV4_PREFIX_EID_1)).thenReturn(IPV4_PREFIX_EID_1);
+        Mockito.when(mapServiceMock.addNegativeMapping(IPV4_PREFIX_EID_1))
+                .thenReturn(getDefaultMappingData(mappingRecordBuilder.build()));
 
         // result
         final MapReplyBuilder mapReplyBuilder = getDefaultMapReplyBuilder();
@@ -186,7 +185,7 @@ public class MapResolverTest {
                 .thenReturn(mappingData);
         Mockito.when(mapServiceMock.getData(MappingOrigin.Southbound, IPV4_PREFIX_EID_1, SubKeys.SUBSCRIBERS))
                 .thenReturn(subscriberSetMock);
-        Mockito.when(subscriberSetMock.contains(Mockito.any(SubscriberRLOC.class))).thenReturn(false);
+        Mockito.when(subscriberSetMock.contains(Mockito.any(Subscriber.class))).thenReturn(false);
 
         // result
         final MapReplyBuilder mapReplyBuilder = getDefaultMapReplyBuilder();
@@ -195,7 +194,7 @@ public class MapResolverTest {
 
         mapResolver.handleMapRequest(mapRequestBuilder.build());
         Mockito.verify(lispMappingServiceMock).handleMapReply(mapReplyBuilder.build());
-        Mockito.verify(subscriberSetMock, Mockito.never()).remove(Mockito.any(SubscriberRLOC.class));
+        Mockito.verify(subscriberSetMock, Mockito.never()).remove(Mockito.any(Subscriber.class));
     }
 
     /**
@@ -213,7 +212,7 @@ public class MapResolverTest {
                 .thenReturn(mappingData);
         Mockito.when(mapServiceMock.getData(MappingOrigin.Southbound, IPV4_PREFIX_EID_1, SubKeys.SUBSCRIBERS))
                 .thenReturn(subscriberSetMock);
-        Mockito.when(subscriberSetMock.contains(Mockito.any(SubscriberRLOC.class))).thenReturn(false);
+        Mockito.when(subscriberSetMock.contains(Mockito.any(Subscriber.class))).thenReturn(false);
 
         // ----------------------
         // with sourceRloc = null
@@ -221,7 +220,7 @@ public class MapResolverTest {
                 newItrRloc(MacAfi.class, null),
                 newItrRloc(Ipv4BinaryAfi.class, IPV4_ADDRESS));
 
-        ArgumentCaptor<SubscriberRLOC> captor = ArgumentCaptor.forClass(SubscriberRLOC.class);
+        ArgumentCaptor<Subscriber> captor = ArgumentCaptor.forClass(Subscriber.class);
         mapResolver.handleMapRequest(mapRequestBuilder.setSourceRloc(null).setItrRloc(itrRlocList).build());
         Mockito.verify(subscriberSetMock).add(captor.capture());
         // Since mapRequest's sourceRloc is null, first ItrRloc from the itrRlocList must be used.
@@ -237,7 +236,7 @@ public class MapResolverTest {
                 .setSourceRloc(IPV4_ADDRESS_BINARY_1)
                 .setItrRloc(itrRlocList).build();
 
-        captor = ArgumentCaptor.forClass(SubscriberRLOC.class);
+        captor = ArgumentCaptor.forClass(Subscriber.class);
         mapResolver.handleMapRequest(mapRequest);
         Mockito.verify(subscriberSetMock, Mockito.times(2)).add(captor.capture());
         assertEquals(IPV4_ADDRESS, captor.getValue().getSrcRloc().getAddress());
@@ -253,7 +252,7 @@ public class MapResolverTest {
                 .setSourceRloc(IPV6_ADDRESS_BINARY)
                 .setItrRloc(itrRlocList).build();
 
-        captor = ArgumentCaptor.forClass(SubscriberRLOC.class);
+        captor = ArgumentCaptor.forClass(Subscriber.class);
         mapResolver.handleMapRequest(mapRequest);
         Mockito.verify(subscriberSetMock, Mockito.times(3)).add(captor.capture());
         assertEquals(IPV6_ADDRESS, captor.getValue().getSrcRloc().getAddress());
@@ -269,7 +268,7 @@ public class MapResolverTest {
                 .setSourceRloc(IPV4_ADDRESS_BINARY_2)
                 .setItrRloc(itrRlocList).build();
 
-        captor = ArgumentCaptor.forClass(SubscriberRLOC.class);
+        captor = ArgumentCaptor.forClass(Subscriber.class);
         mapResolver.handleMapRequest(mapRequest);
         Mockito.verify(subscriberSetMock, Mockito.times(4)).add(captor.capture());
         assertEquals(IPV4_ADDRESS, captor.getValue().getSrcRloc().getAddress());
@@ -285,7 +284,7 @@ public class MapResolverTest {
                 .setSourceRloc(IPV4_ADDRESS_BINARY_1)
                 .setItrRloc(itrRlocList).build();
 
-        captor = ArgumentCaptor.forClass(SubscriberRLOC.class);
+        captor = ArgumentCaptor.forClass(Subscriber.class);
         mapResolver.handleMapRequest(mapRequest);
         Mockito.verify(subscriberSetMock, Mockito.times(5)).add(captor.capture());
         assertEquals(mac, captor.getValue().getSrcRloc().getAddress());
@@ -306,12 +305,12 @@ public class MapResolverTest {
                 .thenReturn(mappingData);
         Mockito.when(mapServiceMock.getData(MappingOrigin.Southbound, IPV4_PREFIX_EID_1, SubKeys.SUBSCRIBERS))
                 .thenReturn(subscriberSetMock);
-        SubscriberRLOC subscriberRLOCMock = new SubscriberRLOC(
+        Subscriber subscriberMock = new Subscriber(
                 mapRequestBuilder.getItrRloc().get(0).getRloc(),
-                mapRequestBuilder.getSourceEid().getEid(), SubscriberRLOC.DEFAULT_SUBSCRIBER_TIMEOUT);
-        subscriberRLOCMock.setSubscriberTimeoutByRecordTtl(
+                mapRequestBuilder.getSourceEid().getEid(), Subscriber.DEFAULT_SUBSCRIBER_TIMEOUT);
+        subscriberMock.setSubscriberTimeoutByRecordTtl(
                 mappingRecordBuilder.getRecordTtl());
-        Mockito.when(subscriberSetMock.contains(subscriberRLOCMock))
+        Mockito.when(subscriberSetMock.contains(subscriberMock))
                 .thenReturn(true);
 
         // result