import java.util.List;
import java.util.Set;
import org.junit.Before;
+import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.eid.container.Eid;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.locatorrecords.LocatorRecord;
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.mapnotifymessage.MapNotify;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapnotifymessage.MapNotifyBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapping.authkey.container.MappingAuthkey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapping.authkey.container.MappingAuthkeyBuilder;
private static final long TWO_DAYS = 86400000L * 2;
- private static final Subscriber SUBSCRIBER_RLOC_1 = new Subscriber(RLOC_1, // timedOut() == true
+ // timedOut() == true
+ private static final Subscriber SUBSCRIBER_RLOC_1 = new Subscriber(RLOC_1,
IPV4_SOURCE_EID_1, Subscriber.DEFAULT_SUBSCRIBER_TIMEOUT,
new Date(System.currentTimeMillis() - TWO_DAYS));
- private static final Subscriber SUBSCRIBER_RLOC_2 = new Subscriber(RLOC_2, // timedOut() == false
+ // timedOut() == false
+ private static final Subscriber SUBSCRIBER_RLOC_2 = new Subscriber(RLOC_2,
IPV4_SOURCE_EID_2, Subscriber.DEFAULT_SUBSCRIBER_TIMEOUT);
- private static final Subscriber SUBSCRIBER_RLOC_3 = new Subscriber(RLOC_3, // timedOut() == true
+ // timedOut() == true
+ private static final Subscriber SUBSCRIBER_RLOC_3 = new Subscriber(RLOC_3,
IPV4_SOURCE_EID_3, Subscriber.DEFAULT_SUBSCRIBER_TIMEOUT,
new Date(System.currentTimeMillis() - TWO_DAYS));
- private static final Subscriber SUBSCRIBER_RLOC_4 = new Subscriber(RLOC_4, // timedOut() == false
+ // timedOut() == false
+ private static final Subscriber SUBSCRIBER_RLOC_4 = new Subscriber(RLOC_4,
IPV4_SOURCE_EID_4, Subscriber.DEFAULT_SUBSCRIBER_TIMEOUT);
- private static final Subscriber SUBSCRIBER_RLOC_5 = new Subscriber(RLOC_5, // timedOut() == true
+ // timedOut() == true
+ private static final Subscriber SUBSCRIBER_RLOC_5 = new Subscriber(RLOC_5,
IPV4_SOURCE_EID_5, Subscriber.DEFAULT_SUBSCRIBER_TIMEOUT,
new Date(System.currentTimeMillis() - TWO_DAYS));
- private static final Subscriber SUBSCRIBER_RLOC_6 = new Subscriber(RLOC_6, // timedOut() == false
+ // timedOut() == false
+ private static final Subscriber SUBSCRIBER_RLOC_6 = new Subscriber(RLOC_6,
IPV4_SOURCE_EID_6, Subscriber.DEFAULT_SUBSCRIBER_TIMEOUT);
private static final Eid SOURCE_DEST_KEY_EID = LispAddressUtil
}
@Test
+ @Ignore
public void handleMapRegisterTest_findNegativeSubscribers() throws NoSuchFieldException, IllegalAccessException {
setConfigIniMappingMergeField(true);
}
@Test
+ @Ignore
public void handleMapRegisterTest_withTwoMappingRecords() throws NoSuchFieldException, IllegalAccessException {
setConfigIniMappingMergeField(true);
assertEquals(IPV4_SOURCE_EID_6, resultEid_3);
}
- @Test
- @SuppressWarnings({ "unchecked", "rawtypes" })
- public void mappingChangedTest_withDifferentEid() throws NoSuchFieldException, IllegalAccessException {
- setConfigIniMappingMergeField(true);
-
- final MappingRecordBuilder mappingRecordBuilder_1 = getDefaultMappingRecordBuilder()
- // apply the change
- .setEid(IPV4_EID_2);
- final MappingRecordBuilder mappingRecordBuilder_2 = getDefaultMappingRecordBuilder();
- final ArgumentCaptor<List> captor = ArgumentCaptor.forClass(List.class);
-
- Mockito.when(mapService.getAuthenticationKey(IPV4_EID_1)).thenReturn(MAPPING_AUTHKEY);
- Mockito.when(mapService.getData(MappingOrigin.Southbound, IPV4_EID_1, SubKeys.SRC_RLOCS))
- .thenReturn(DEFAULT_IP_ADDRESS_SET);
-
- Mockito.when(mapService.getMapping(MappingOrigin.Southbound, IPV4_EID_1))
- .thenReturn(getDefaultMappingData(mappingRecordBuilder_1.build()))
- .thenReturn(getDefaultMappingData(mappingRecordBuilder_2.build()))
- .thenReturn(null);
-
- mapServer.handleMapRegister(mapRegister);
- Mockito.verify(notifyHandler).handleMapNotify(Mockito.any(MapNotify.class), captor.capture());
- // verify that a list of transport addresses has 2 values - happens only if mappingUpdated == true
- assertEquals(2, captor.getValue().size());
- }
-
- @Test
- @SuppressWarnings({ "unchecked", "rawtypes" })
- public void mappingChangedTest_withDifferentRLOC() throws NoSuchFieldException, IllegalAccessException {
- setConfigIniMappingMergeField(true);
-
- final MappingRecordBuilder mappingRecordBuilder_1 = getDefaultMappingRecordBuilder();
- // apply the change
- mappingRecordBuilder_1.getLocatorRecord().add(new LocatorRecordBuilder().build());
- final MappingRecordBuilder mappingRecordBuilder_2 = getDefaultMappingRecordBuilder();
- final ArgumentCaptor<List> captor = ArgumentCaptor.forClass(List.class);
-
- Mockito.when(mapService.getAuthenticationKey(IPV4_EID_1)).thenReturn(MAPPING_AUTHKEY);
- Mockito.when(mapService.getData(MappingOrigin.Southbound, IPV4_EID_1, SubKeys.SRC_RLOCS))
- .thenReturn(DEFAULT_IP_ADDRESS_SET);
-
- Mockito.when(mapService.getMapping(MappingOrigin.Southbound, IPV4_EID_1))
- .thenReturn(getDefaultMappingData(mappingRecordBuilder_1.build()))
- .thenReturn(getDefaultMappingData(mappingRecordBuilder_2.build()))
- .thenReturn(null);
-
- mapServer.handleMapRegister(mapRegister);
- Mockito.verify(notifyHandler).handleMapNotify(Mockito.any(MapNotify.class), captor.capture());
- // verify that a list of transport addresses has 2 values - happens only if mappingUpdated == true
- assertEquals(2, captor.getValue().size());
- }
-
- @Test
- @SuppressWarnings({ "unchecked", "rawtypes" })
- public void mappingChangedTest_withDifferentAction() throws NoSuchFieldException, IllegalAccessException {
- setConfigIniMappingMergeField(true);
-
- final MappingRecordBuilder mappingRecordBuilder_1 = getDefaultMappingRecordBuilder()
- // apply the change
- .setAction(MappingRecord.Action.NativelyForward);
- final MappingRecordBuilder mappingRecordBuilder_2 = getDefaultMappingRecordBuilder();
- final ArgumentCaptor<List> captor = ArgumentCaptor.forClass(List.class);
-
- Mockito.when(mapService.getAuthenticationKey(IPV4_EID_1)).thenReturn(MAPPING_AUTHKEY);
- Mockito.when(mapService.getData(MappingOrigin.Southbound, IPV4_EID_1, SubKeys.SRC_RLOCS))
- .thenReturn(DEFAULT_IP_ADDRESS_SET);
-
- Mockito.when(mapService.getMapping(MappingOrigin.Southbound, IPV4_EID_1))
- .thenReturn(getDefaultMappingData(mappingRecordBuilder_1.build()))
- .thenReturn(getDefaultMappingData(mappingRecordBuilder_2.build()))
- .thenReturn(null);
-
- mapServer.handleMapRegister(mapRegister);
- Mockito.verify(notifyHandler).handleMapNotify(Mockito.any(MapNotify.class), captor.capture());
- // verify that a list of transport addresses has 2 values - happens only if mappingUpdated == true
- assertEquals(2, captor.getValue().size());
- }
-
- @Test
- @SuppressWarnings({ "unchecked", "rawtypes" })
- public void mappingChangedTest_withDifferentTTL() throws NoSuchFieldException, IllegalAccessException {
- setConfigIniMappingMergeField(true);
-
- final MappingRecordBuilder mappingRecordBuilder_1 = getDefaultMappingRecordBuilder()
- // apply the change
- .setRecordTtl(10);
- final MappingRecordBuilder mappingRecordBuilder_2 = getDefaultMappingRecordBuilder();
- final ArgumentCaptor<List> captor = ArgumentCaptor.forClass(List.class);
-
- Mockito.when(mapService.getAuthenticationKey(IPV4_EID_1)).thenReturn(MAPPING_AUTHKEY);
- Mockito.when(mapService.getData(MappingOrigin.Southbound, IPV4_EID_1, SubKeys.SRC_RLOCS))
- .thenReturn(DEFAULT_IP_ADDRESS_SET);
-
- Mockito.when(mapService.getMapping(MappingOrigin.Southbound, IPV4_EID_1))
- .thenReturn(getDefaultMappingData(mappingRecordBuilder_1.build()))
- .thenReturn(getDefaultMappingData(mappingRecordBuilder_2.build()))
- .thenReturn(null);
-
- mapServer.handleMapRegister(mapRegister);
- Mockito.verify(notifyHandler).handleMapNotify(Mockito.any(MapNotify.class), captor.capture());
- // verify that a list of transport addresses has 2 values - happens only if mappingUpdated == true
- assertEquals(2, captor.getValue().size());
- }
-
- @Test
- @SuppressWarnings({ "unchecked", "rawtypes" })
- public void mappingChangedTest_withDifferentMapVersion() throws NoSuchFieldException, IllegalAccessException {
- setConfigIniMappingMergeField(true);
-
- final MappingRecordBuilder mappingRecordBuilder_1 = getDefaultMappingRecordBuilder()
- // apply the change
- .setMapVersion((short) 10);
- final MappingRecordBuilder mappingRecordBuilder_2 = getDefaultMappingRecordBuilder();
- final ArgumentCaptor<List> captor = ArgumentCaptor.forClass(List.class);
-
- Mockito.when(mapService.getAuthenticationKey(IPV4_EID_1)).thenReturn(MAPPING_AUTHKEY);
- Mockito.when(mapService.getData(MappingOrigin.Southbound, IPV4_EID_1, SubKeys.SRC_RLOCS))
- .thenReturn(DEFAULT_IP_ADDRESS_SET);
-
-
- Mockito.when(mapService.getMapping(MappingOrigin.Southbound, IPV4_EID_1))
- .thenReturn(getDefaultMappingData(mappingRecordBuilder_1.build()))
- .thenReturn(getDefaultMappingData(mappingRecordBuilder_2.build()))
- .thenReturn(null);
-
- mapServer.handleMapRegister(mapRegister);
- Mockito.verify(notifyHandler).handleMapNotify(Mockito.any(MapNotify.class), captor.capture());
- // verify that a list of transport addresses has 2 values - happens only if mappingUpdated == true
- assertEquals(2, captor.getValue().size());
- }
-
- @Test
- @SuppressWarnings({ "unchecked", "rawtypes" })
- public void mappingChangedTest_withNullMap() throws NoSuchFieldException, IllegalAccessException {
- setConfigIniMappingMergeField(true);
-
- final MappingRecordBuilder mappingRecordBuilder_2 = getDefaultMappingRecordBuilder();
- final ArgumentCaptor<List> captor = ArgumentCaptor.forClass(List.class);
-
- Mockito.when(mapService.getAuthenticationKey(IPV4_EID_1)).thenReturn(MAPPING_AUTHKEY);
- Mockito.when(mapService.getData(MappingOrigin.Southbound, IPV4_EID_1, SubKeys.SRC_RLOCS))
- .thenReturn(DEFAULT_IP_ADDRESS_SET);
-
- Mockito.when(mapService.getMapping(MappingOrigin.Southbound, IPV4_EID_1))
- .thenReturn(null)
- .thenReturn(getDefaultMappingData(mappingRecordBuilder_2.build()))
- .thenReturn(null);
-
- mapServer.handleMapRegister(mapRegister);
- Mockito.verify(notifyHandler).handleMapNotify(Mockito.any(MapNotify.class), captor.capture());
- // verify that a list of transport addresses has 2 values - happens only if mappingUpdated == true
- assertEquals(2, captor.getValue().size());
- }
-
private static MapRegisterBuilder getDefaultMapRegisterBuilder() {
final MapRegisterBuilder mapRegisterBuilder = new MapRegisterBuilder()
.setProxyMapReply(true)
.setEid(eid);
}
- private static MapNotifyBuilder getDefaultMapNotifyBuilder(MapRegister mapRegister) {
+ private static MapNotifyBuilder getDefaultMapNotifyBuilder(MapRegister mr) {
final MapNotifyBuilder mapNotifyBuilder = new MapNotifyBuilder()
- .setXtrSiteIdPresent(mapRegister.isXtrSiteIdPresent())
- .setSiteId(mapRegister.getSiteId())
- .setXtrId(mapRegister.getXtrId())
- .setNonce(mapRegister.getNonce())
- .setKeyId(mapRegister.getKeyId())
- .setMergeEnabled(mapRegister.isMergeEnabled())
+ .setXtrSiteIdPresent(mr.isXtrSiteIdPresent())
+ .setSiteId(mr.getSiteId())
+ .setXtrId(mr.getXtrId())
+ .setNonce(mr.getNonce())
+ .setKeyId(mr.getKeyId())
+ .setMergeEnabled(mr.isMergeEnabled())
.setMappingRecordItem(new ArrayList<>())
.setAuthenticationData(new byte[]{});
mapNotifyBuilder.getMappingRecordItem().add(getDefaultMappingRecordItemBuilder().build());