import java.util.Date;
import java.util.EnumMap;
import java.util.List;
+import java.util.Set;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
+import org.opendaylight.lispflowmapping.config.ConfigIni;
import org.opendaylight.lispflowmapping.dsbackend.DataStoreBackEnd;
-import org.opendaylight.lispflowmapping.implementation.config.ConfigIni;
import org.opendaylight.lispflowmapping.implementation.util.MappingMergeUtil;
import org.opendaylight.lispflowmapping.inmemorydb.HashMapDb;
import org.opendaylight.lispflowmapping.interfaces.dao.ILispDAO;
import org.opendaylight.lispflowmapping.interfaces.dao.SubKeys;
+import org.opendaylight.lispflowmapping.interfaces.mapcache.IAuthKeyDb;
+import org.opendaylight.lispflowmapping.interfaces.mapcache.ILispMapCache;
import org.opendaylight.lispflowmapping.interfaces.mapcache.IMapCache;
import org.opendaylight.lispflowmapping.interfaces.mappingservice.IMappingService;
+import org.opendaylight.lispflowmapping.lisp.type.MappingData;
+import org.opendaylight.lispflowmapping.lisp.util.LispAddressStringifier;
import org.opendaylight.lispflowmapping.lisp.util.LispAddressUtil;
+import org.opendaylight.mdsal.binding.api.NotificationPublishService;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.ExplicitLocatorPathLcaf;
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.eid.container.EidBuilder;
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.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.authkey.container.MappingAuthkey;
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.rloc.container.Rloc;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.rloc.container.RlocBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.EidUri;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.MappingOrigin;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.db.instance.AuthenticationKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.db.instance.AuthenticationKeyBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.db.instance.AuthenticationKeyKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.db.instance.Mapping;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.db.instance.MappingBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.db.instance.MappingKey;
+import org.opendaylight.yangtools.yang.common.Uint16;
+import org.opendaylight.yangtools.yang.common.Uint32;
+import org.opendaylight.yangtools.yang.common.Uint8;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
@PrepareForTest(MappingMergeUtil.class)
public class MappingSystemTest {
- private static ILispDAO daoMock = Mockito.mock(ILispDAO.class);
- @Mock private static IMapCache smcMock;
+ private static ILispDAO dao = new HashMapDb();
+ @Mock private static ILispMapCache smcMock;
@Mock private static IMapCache pmcMock;
+ @Mock private static IAuthKeyDb akdbMock;
@Mock private static DataStoreBackEnd dsbeMock;
+ @Mock private static NotificationPublishService npsMock;
@Mock private static EnumMap<MappingOrigin, IMapCache> tableMapMock;
- @InjectMocks private static MappingSystem mappingSystem = new MappingSystem(daoMock, false, true, true);
+ @InjectMocks private static MappingSystem mappingSystem = new MappingSystem(dao, false, npsMock, true);
private static final String IPV4_SRC = "127.0.0.1";
private static final String IPV4_DST = "192.168.0.1";
private static final Eid EID_IPV4_1 = LispAddressUtil.asIpv4Eid(IPV4_STRING_1);
private static final Eid EID_IPV4_2 = LispAddressUtil.asIpv4Eid(IPV4_STRING_2);
private static final Eid EID_SERVICE_PATH = new EidBuilder().setAddress(getDefaultServicePath((short) 253)).build();
+ // with index out of bounds
private static final Eid EID_SERVICE_PATH_INDEX_OOB = new EidBuilder()
- .setAddress(getDefaultServicePath((short) 200)).build(); // with index out of bounds
+ .setAddress(getDefaultServicePath((short) 200)).build();
public static final SimpleAddress SIMPLE_ADDR_1 = new SimpleAddress(new IpAddress(new Ipv4Address(IPV4_STRING_1)));
public static final SimpleAddress SIMPLE_ADDR_2 = new SimpleAddress(new IpAddress(new Ipv4Address(IPV4_STRING_2)));
private static final Hop HOP_3 = new HopBuilder().setHopId("hop-id-3").setAddress(SIMPLE_ADDR_3).build();
private static final MappingAuthkeyBuilder MAPPING_AUTHKEY_BUILDER = new MappingAuthkeyBuilder()
- .setKeyType(1).setKeyString("pass-1");
+ .setKeyType(Uint16.ONE).setKeyString("pass-1");
private static final Rloc RLOC = LispAddressUtil.toRloc(new Ipv4Address(IPV4_STRING_2));
private static final ConfigIni CONFIG_INI = ConfigIni.getInstance();
private static final long REGISTRATION_VALIDITY = CONFIG_INI.getRegistrationValiditySb();
@Before
public void init() throws Exception {
- Mockito.when(daoMock.putTable(MappingOrigin.Southbound.toString())).thenReturn(Mockito.mock(HashMapDb.class));
- Mockito.when(daoMock.putTable(MappingOrigin.Northbound.toString())).thenReturn(Mockito.mock(HashMapDb.class));
-
Mockito.when(tableMapMock.get(MappingOrigin.Southbound)).thenReturn(smcMock);
Mockito.when(tableMapMock.get(MappingOrigin.Northbound)).thenReturn(pmcMock);
/**
* This method changes the lookup policy.
*/
- private static void setLookupPolicy(IMappingService.LookupPolicy policy) throws NoSuchFieldException,
+ private static void setLookupPolicy(final IMappingService.LookupPolicy policy) throws NoSuchFieldException,
IllegalAccessException {
final Field lookupPolicy = ConfigIni.class.getDeclaredField("lookupPolicy");
lookupPolicy.setAccessible(true);
*/
@Test
public void getMappingTest_NbFirst_withNullExpiredNbMapping() {
- final MappingRecord mappingRecord = getDefaultMappingRecordBuilder()
- .setTimestamp(EXPIRED_DATE.getTime()).build();
+ final MappingData mappingData = getDefaultMappingData();
+ mappingData.setTimestamp(EXPIRED_DATE);
Mockito.when(pmcMock.getMapping(EID_IPV4_SRC, EID_IPV4_DST)).thenReturn(null);
- Mockito.when(smcMock.getMapping(EID_IPV4_SRC, EID_IPV4_DST)).thenReturn(mappingRecord);
+ Mockito.when(smcMock.getMapping(EID_IPV4_DST, (XtrId) null)).thenReturn(mappingData, null);
final Mapping mapping = new MappingBuilder()
- .setEidUri(new EidUri("ipv4:1.2.3.0"))
+ .setEidUri(new EidUri("ipv4:" + IPV4_DST))
.setOrigin(MappingOrigin.Southbound)
- .setSiteId(Lists.newArrayList(SITE_ID))
- .setMappingRecord(mappingRecord).build();
+ .setSiteId(Set.of(SITE_ID))
+ .setMappingRecord(mappingData.getRecord()).build();
assertNull(mappingSystem.getMapping(EID_IPV4_SRC, EID_IPV4_DST));
Mockito.verify(dsbeMock).removeMapping(mapping);
*/
@Test
public void getMappingTest_NbFirst_withNullNbMapping() {
- final MappingRecord mappingRecord = getDefaultMappingRecordBuilder().build();
+ final MappingData mappingData = getDefaultMappingData();
Mockito.when(pmcMock.getMapping(EID_IPV4_SRC, EID_IPV4_DST)).thenReturn(null);
- Mockito.when(smcMock.getMapping(EID_IPV4_SRC, EID_IPV4_DST)).thenReturn(mappingRecord);
+ Mockito.when(smcMock.getMapping(EID_IPV4_DST, (XtrId) null)).thenReturn(mappingData);
- assertEquals(mappingRecord, mappingSystem.getMapping(EID_IPV4_SRC, EID_IPV4_DST));
+ assertEquals(mappingData, mappingSystem.getMapping(EID_IPV4_SRC, EID_IPV4_DST));
}
/**
public void getMappingTest_NbFirst_withServicePathDestinationAddress_multipleLocatorRecords() {
final MappingRecord mappingRecord = getDefaultMappingRecordBuilder()
.setLocatorRecord(Lists.newArrayList(
- getDefaultLocatorRecordBuilder().build(), // set two locators
+ // set two locators
+ getDefaultLocatorRecordBuilder().build(),
getDefaultLocatorRecordBuilder().build())).build();
- Mockito.when(pmcMock.getMapping(EID_IPV4_SRC, EID_SERVICE_PATH)).thenReturn(mappingRecord);
+ final MappingData mappingData = getDefaultMappingData(mappingRecord);
+ Mockito.when(pmcMock.getMapping(EID_IPV4_SRC, EID_SERVICE_PATH)).thenReturn(mappingData);
- assertEquals(mappingRecord, mappingSystem.getMapping(EID_IPV4_SRC, EID_SERVICE_PATH));
+ assertEquals(mappingData, mappingSystem.getMapping(EID_IPV4_SRC, EID_SERVICE_PATH));
}
/**
public void getMappingTest_NbFirst_withServicePathDestinationAddress_singleIpv4LocatorRecord() {
final MappingRecord mappingRecord = getDefaultMappingRecordBuilder()
.setLocatorRecord(Lists.newArrayList(
- getDefaultLocatorRecordBuilder().build())).build(); // Ipv4 type Rloc
- Mockito.when(pmcMock.getMapping(EID_IPV4_SRC, EID_SERVICE_PATH)).thenReturn(mappingRecord);
+ // Ipv4 type Rloc
+ getDefaultLocatorRecordBuilder().build())).build();
+ final MappingData mappingData = getDefaultMappingData(mappingRecord);
+ Mockito.when(pmcMock.getMapping(EID_IPV4_SRC, EID_SERVICE_PATH)).thenReturn(mappingData);
- assertEquals(mappingRecord, mappingSystem.getMapping(EID_IPV4_SRC, EID_SERVICE_PATH));
+ assertEquals(mappingData, mappingSystem.getMapping(EID_IPV4_SRC, EID_SERVICE_PATH));
}
/**
.setLocatorRecord(Lists.newArrayList(
getDefaultLocatorRecordBuilder()
.setRloc(getELPTypeRloc()).build())).build();
- Mockito.when(pmcMock.getMapping(EID_IPV4_SRC, EID_SERVICE_PATH_INDEX_OOB)).thenReturn(mappingRecord);
+ final MappingData mappingData = getDefaultMappingData(mappingRecord);
+ Mockito.when(pmcMock.getMapping(EID_IPV4_SRC, EID_SERVICE_PATH_INDEX_OOB)).thenReturn(mappingData);
- assertEquals(mappingRecord, mappingSystem.getMapping(EID_IPV4_SRC, EID_SERVICE_PATH_INDEX_OOB));
+ assertEquals(mappingData, mappingSystem.getMapping(EID_IPV4_SRC, EID_SERVICE_PATH_INDEX_OOB));
}
/**
.setLocatorRecord(Lists.newArrayList(
getDefaultLocatorRecordBuilder()
.setRloc(getELPTypeRloc()).build())).build();
- Mockito.when(pmcMock.getMapping(EID_IPV4_SRC, EID_SERVICE_PATH)).thenReturn(mappingRecord);
+ final MappingData mappingData = getDefaultMappingData(mappingRecord);
+ Mockito.when(pmcMock.getMapping(EID_IPV4_SRC, EID_SERVICE_PATH)).thenReturn(mappingData);
- final MappingRecord result = (MappingRecord) mappingSystem.getMapping(EID_IPV4_SRC, EID_SERVICE_PATH);
- final Ipv4Binary ipv4Result = (Ipv4Binary) result.getLocatorRecord().get(0).getRloc().getAddress();
+ final MappingData result = mappingSystem.getMapping(EID_IPV4_SRC, EID_SERVICE_PATH);
+ final Ipv4Binary ipv4Result = (Ipv4Binary) result.getRecord().getLocatorRecord().get(0).getRloc().getAddress();
assertTrue(Arrays
.equals(InetAddress.getByName(IPV4_STRING_3).getAddress(), ipv4Result.getIpv4Binary().getValue()));
}
.setLocatorRecord(Lists.newArrayList(
getDefaultLocatorRecordBuilder()
.setRloc(getIpPrefixTypeRloc()).build())).build();
- Mockito.when(pmcMock.getMapping(EID_IPV4_SRC, EID_SERVICE_PATH)).thenReturn(mappingRecord);
+ final MappingData mappingData = getDefaultMappingData(mappingRecord);
+ Mockito.when(pmcMock.getMapping(EID_IPV4_SRC, EID_SERVICE_PATH)).thenReturn(mappingData);
- assertEquals(mappingRecord, mappingSystem.getMapping(EID_IPV4_SRC, EID_SERVICE_PATH));
+ assertEquals(mappingData, mappingSystem.getMapping(EID_IPV4_SRC, EID_SERVICE_PATH));
}
/**
final MappingRecord mappingRecord = getDefaultMappingRecordBuilder()
.setLocatorRecord(Lists.newArrayList(
getDefaultLocatorRecordBuilder().build())).build();
- Mockito.when(pmcMock.getMapping(EID_IPV4_SRC, EID_IPV4_DST)).thenReturn(mappingRecord);
+ final MappingData mappingData = getDefaultMappingData(mappingRecord);
+ Mockito.when(pmcMock.getMapping(EID_IPV4_SRC, EID_IPV4_DST)).thenReturn(mappingData);
- assertEquals(mappingRecord, mappingSystem.getMapping(EID_IPV4_SRC, EID_IPV4_DST));
+ assertEquals(mappingData, mappingSystem.getMapping(EID_IPV4_SRC, EID_IPV4_DST));
}
/**
setLookupPolicy(IMappingService.LookupPolicy.NB_AND_SB);
final MappingRecord mappingRecord = getDefaultMappingRecordBuilder()
.setLocatorRecord(Lists.newArrayList(
- getDefaultLocatorRecordBuilder().build())).build(); // Ipv4 type Rloc
- Mockito.when(pmcMock.getMapping(EID_IPV4_SRC, EID_SERVICE_PATH)).thenReturn(mappingRecord);
+ // Ipv4 type Rloc
+ getDefaultLocatorRecordBuilder().build())).build();
+ final MappingData mappingData = getDefaultMappingData(mappingRecord);
+ Mockito.when(pmcMock.getMapping(EID_IPV4_SRC, EID_SERVICE_PATH)).thenReturn(mappingData);
- assertEquals(mappingRecord, mappingSystem.getMapping(EID_IPV4_SRC, EID_SERVICE_PATH));
+ assertEquals(mappingData, mappingSystem.getMapping(EID_IPV4_SRC, EID_SERVICE_PATH));
}
/**
IllegalAccessException {
setLookupPolicy(IMappingService.LookupPolicy.NB_AND_SB);
- final MappingRecord nbMappingRecord = getDefaultMappingRecordBuilder()
- .setLocatorRecord(Lists.newArrayList(
- getDefaultLocatorRecordBuilder().build())).build(); // Ipv4 type Rloc
-
- final MappingRecord sbMappingRecord = getDefaultMappingRecordBuilder()
- .setTimestamp(EXPIRED_DATE.getTime())
+ final MappingRecord mappingRecord = getDefaultMappingRecordBuilder()
.setLocatorRecord(Lists.newArrayList(
- getDefaultLocatorRecordBuilder().build())).build(); // Ipv4 type Rloc
+ // Ipv4 type Rloc
+ getDefaultLocatorRecordBuilder().build())).build();
+ MappingData nbMappingData = getDefaultMappingData(mappingRecord);
+ MappingData sbMappingData = getDefaultMappingData(mappingRecord);
+ sbMappingData.setTimestamp(EXPIRED_DATE);
- Mockito.when(pmcMock.getMapping(EID_IPV4_SRC, EID_IPV4_DST)).thenReturn(nbMappingRecord);
- Mockito.when(smcMock.getMapping(EID_IPV4_SRC, EID_IPV4_DST)).thenReturn(sbMappingRecord);
+ Mockito.when(pmcMock.getMapping(EID_IPV4_SRC, EID_IPV4_DST)).thenReturn(nbMappingData);
+ Mockito.when(smcMock.getMapping(EID_IPV4_DST, (XtrId) null)).thenReturn(sbMappingData, null);
final Mapping mapping = new MappingBuilder()
- .setEidUri(new EidUri("ipv4:1.2.3.0"))
+ .setEidUri(new EidUri("ipv4:" + IPV4_DST))
.setOrigin(MappingOrigin.Southbound)
- .setSiteId(Lists.newArrayList(SITE_ID))
- .setMappingRecord(sbMappingRecord).build();
+ .setSiteId(Set.of(SITE_ID))
+ .setMappingRecord(mappingRecord).build();
- assertEquals(nbMappingRecord, mappingSystem.getMapping(EID_IPV4_SRC, EID_IPV4_DST));
+ assertEquals(nbMappingData, mappingSystem.getMapping(EID_IPV4_SRC, EID_IPV4_DST));
Mockito.verify(dsbeMock).removeMapping(mapping);
}
IllegalAccessException {
setLookupPolicy(IMappingService.LookupPolicy.NB_AND_SB);
- final MappingRecord nbMappingRecord = getDefaultMappingRecordBuilder()
- .setLocatorRecord(Lists.newArrayList(
- getDefaultLocatorRecordBuilder().build())).build();
-
- final MappingRecord sbMappingRecord = getDefaultMappingRecordBuilder()
+ final MappingRecord mappingRecord = getDefaultMappingRecordBuilder()
.setLocatorRecord(Lists.newArrayList(
getDefaultLocatorRecordBuilder().build())).build();
+ final MappingData nbMappingData = getDefaultMappingData(mappingRecord);
+ final MappingData sbMappingData = getDefaultMappingData(mappingRecord);
// this mock will be ultimately returned when MappingMergeUtil.computeNbSbIntersection is called
- final MappingRecord resultMock = Mockito.mock(MappingRecord.class);
+ final MappingData resultMock = Mockito.mock(MappingData.class);
PowerMockito.mockStatic(MappingMergeUtil.class);
- Mockito.when(pmcMock.getMapping(EID_IPV4_SRC, EID_IPV4_DST)).thenReturn(nbMappingRecord);
- Mockito.when(smcMock.getMapping(EID_IPV4_SRC, EID_IPV4_DST)).thenReturn(sbMappingRecord);
- PowerMockito.when(MappingMergeUtil.computeNbSbIntersection(nbMappingRecord, sbMappingRecord))
+ Mockito.when(pmcMock.getMapping(EID_IPV4_SRC, EID_IPV4_DST)).thenReturn(nbMappingData);
+ Mockito.when(smcMock.getMapping(EID_IPV4_DST, (XtrId) null)).thenReturn(sbMappingData);
+ PowerMockito.when(MappingMergeUtil.computeNbSbIntersection(nbMappingData, sbMappingData))
.thenReturn(resultMock);
assertEquals(resultMock, mappingSystem.getMapping(EID_IPV4_SRC, EID_IPV4_DST));
*/
@Test
public void getMappingTest_withSrcNull() {
- final MappingRecord mappingRecord = getDefaultMappingRecordBuilder().build();
+ final MappingData mappingData = getDefaultMappingData();
Mockito.when(pmcMock.getMapping(null, EID_IPV4_DST)).thenReturn(null);
- Mockito.when(smcMock.getMapping(null, EID_IPV4_DST)).thenReturn(mappingRecord);
+ Mockito.when(smcMock.getMapping(EID_IPV4_DST, (XtrId) null)).thenReturn(mappingData);
- assertEquals(mappingRecord, mappingSystem.getMapping(EID_IPV4_DST));
+ assertEquals(mappingData, mappingSystem.getMapping(EID_IPV4_DST));
}
/**
*/
@Test
public void getMappingTest_withXtrId() {
- final MappingRecord mappingRecord = getDefaultMappingRecordBuilder()
- .setXtrId(XTR_ID).build();
+ final MappingData mappingData = getDefaultMappingData();
+ mappingData.setXtrId(XTR_ID);
- Mockito.when(smcMock.getMapping(null, EID_IPV4_DST, XTR_ID.getValue()))
- .thenReturn(mappingRecord);
+ Mockito.when(smcMock.getMapping(EID_IPV4_DST, XTR_ID)).thenReturn(mappingData);
- assertEquals(mappingRecord, mappingSystem.getMapping(null, EID_IPV4_DST, XTR_ID));
+ assertEquals(mappingData, mappingSystem.getMapping(null, EID_IPV4_DST, XTR_ID));
}
/**
*/
@Test
public void getMappingTest_withMappingOrigin() {
+ final MappingData mappingData = getDefaultMappingData();
+ Mockito.when(smcMock.getMapping(EID_IPV4_SRC, (XtrId) null)).thenReturn(mappingData);
+
mappingSystem.getMapping(MappingOrigin.Southbound, EID_IPV4_SRC);
- Mockito.verify(smcMock).getMapping(null, EID_IPV4_SRC);
+ Mockito.verify(smcMock).getMapping(EID_IPV4_SRC, (XtrId) null);
mappingSystem.getMapping(MappingOrigin.Northbound, EID_IPV4_SRC);
Mockito.verify(pmcMock).getMapping(null, EID_IPV4_SRC);
Mockito.when(tableMapMock.get(MappingOrigin.Northbound)).thenReturn(pmcMock);
mappingSystem.removeMapping(MappingOrigin.Northbound, EID_IPV4_1);
- Mockito.verify(pmcMock).removeMapping(EID_IPV4_1, true);
+ Mockito.verify(pmcMock).removeMapping(EID_IPV4_1);
}
/**
*/
@Test
public void removeMappingTest_sb() throws NoSuchFieldException, IllegalAccessException {
- mappingSystem = new MappingSystem(daoMock, false, true, false);
+ mappingSystem = new MappingSystem(dao, false, npsMock, false);
injectMocks();
Mockito.when(tableMapMock.get(MappingOrigin.Southbound)).thenReturn(smcMock);
mappingSystem.removeMapping(MappingOrigin.Southbound, EID_IPV4_1);
- Mockito.verify(smcMock).removeMapping(EID_IPV4_1, false);
- }
-
- /**
- * Tests {@link MappingSystem#updateMappingRegistration} method.
- */
- @Test
- public void updateMappingRegistrationTest() {
- Mockito.when(tableMapMock.get(MappingOrigin.Northbound)).thenReturn(pmcMock);
-
- mappingSystem.updateMappingRegistration(MappingOrigin.Northbound, EID_IPV4_1, 1L);
- Mockito.verify(pmcMock).updateMappingRegistration(EID_IPV4_1, 1L);
+ Mockito.verify(smcMock).removeMapping(EID_IPV4_1);
}
/**
@Test
public void restoreDaoFromDatastoreTest() {
final Mapping mapping_1 = new MappingBuilder()
+ .withKey(new MappingKey(new EidUri(LispAddressStringifier.getURIString(EID_IPV4_1)),
+ MappingOrigin.Northbound))
.setOrigin(MappingOrigin.Northbound)
.setMappingRecord(getDefaultMappingRecordBuilder()
- .setEid(EID_IPV4_1)
- .setTimestamp(EXPIRED_DATE.getTime()).build()).build();
+ .setEid(EID_IPV4_1).build()).build();
final Mapping mapping_2 = new MappingBuilder()
+ .withKey(new MappingKey(new EidUri(LispAddressStringifier.getURIString(EID_IPV4_2)),
+ MappingOrigin.Northbound))
.setOrigin(MappingOrigin.Northbound)
.setMappingRecord(getDefaultMappingRecordBuilder()
.setEid(EID_IPV4_2).build()).build();
final MappingAuthkey mappingAuthkey_1 = MAPPING_AUTHKEY_BUILDER.build();
final AuthenticationKey authenticationKey_1 = new AuthenticationKeyBuilder()
+ .withKey(new AuthenticationKeyKey(new EidUri("uri-1")))
.setMappingAuthkey(mappingAuthkey_1)
.setEid(EID_IPV4_1).build();
final MappingAuthkey mappingAuthkey_2 = MAPPING_AUTHKEY_BUILDER.setKeyString("pass-2").build();
final AuthenticationKey authenticationKey_2 = new AuthenticationKeyBuilder()
+ .withKey(new AuthenticationKeyKey(new EidUri("uri-2")))
.setMappingAuthkey(mappingAuthkey_2)
.setEid(EID_IPV4_2).build();
final List<Mapping> mappings = Lists.newArrayList(mapping_1, mapping_2);
final List<AuthenticationKey> authenticationKeys = Lists.newArrayList(authenticationKey_1, authenticationKey_2);
- Mockito.when(dsbeMock.getAllMappings()).thenReturn(mappings);
+ Mockito.when(dsbeMock.getLastUpdateTimestamp()).thenReturn(System.currentTimeMillis());
+ Mockito.when(dsbeMock.getAllMappings(LogicalDatastoreType.CONFIGURATION)).thenReturn(mappings);
Mockito.when(dsbeMock.getAllAuthenticationKeys()).thenReturn(authenticationKeys);
Mockito.when(tableMapMock.get(MappingOrigin.Northbound)).thenReturn(pmcMock);
mappingSystem.initialize();
- Mockito.verify(dsbeMock, Mockito.times(1)).removeMapping(mapping_1);
- Mockito.verify(pmcMock).addMapping(EID_IPV4_2, mapping_2.getMappingRecord(), true, false);
- Mockito.verify(smcMock).addAuthenticationKey(EID_IPV4_1, mappingAuthkey_1);
- Mockito.verify(smcMock).addAuthenticationKey(EID_IPV4_2, mappingAuthkey_2);
+
+ ArgumentCaptor<MappingData> captor = ArgumentCaptor.forClass(MappingData.class);
+ Mockito.verify(pmcMock).addMapping(Mockito.eq(EID_IPV4_1), captor.capture());
+ assertEquals(captor.getValue().getRecord(), mapping_1.getMappingRecord());
+ Mockito.verify(pmcMock).addMapping(Mockito.eq(EID_IPV4_2), captor.capture());
+ assertEquals(captor.getValue().getRecord(), mapping_2.getMappingRecord());
+ Mockito.verify(akdbMock).addAuthenticationKey(EID_IPV4_1, mappingAuthkey_1);
+ Mockito.verify(akdbMock).addAuthenticationKey(EID_IPV4_2, mappingAuthkey_2);
}
/**
@Test
public void addAuthenticationKeyTest() {
mappingSystem.addAuthenticationKey(EID_IPV4_1, MAPPING_AUTHKEY_BUILDER.build());
- Mockito.verify(smcMock).addAuthenticationKey(EID_IPV4_1, MAPPING_AUTHKEY_BUILDER.build());
+ Mockito.verify(akdbMock).addAuthenticationKey(EID_IPV4_1, MAPPING_AUTHKEY_BUILDER.build());
}
/**
*/
@Test
public void getAuthenticationKeyTest() {
- Mockito.when(smcMock.getAuthenticationKey(EID_IPV4_1)).thenReturn(MAPPING_AUTHKEY_BUILDER.build());
+ Mockito.when(akdbMock.getAuthenticationKey(EID_IPV4_1)).thenReturn(MAPPING_AUTHKEY_BUILDER.build());
assertEquals(MAPPING_AUTHKEY_BUILDER.build(), mappingSystem.getAuthenticationKey(EID_IPV4_1));
}
@Test
public void removeAuthenticationKeyTest() {
mappingSystem.removeAuthenticationKey(EID_IPV4_1);
- Mockito.verify(smcMock).removeAuthenticationKey(EID_IPV4_1);
+ Mockito.verify(akdbMock).removeAuthenticationKey(EID_IPV4_1);
}
/**
Mockito.verify(pmcMock).removeData(EID_IPV4_1, SubKeys.RECORD);
}
- /**
- * Tests {@link MappingSystem#cleanCaches} method.
- */
- @Test
- public void cleanCachesTest() {
- mappingSystem.cleanCaches();
- Mockito.verify(daoMock).removeAll();
- }
-
/**
* Following test are executed for coverage-increase purpose.
*/
Mockito.verify(smcMock).printMappings();
mappingSystem.destroy();
- mappingSystem = new MappingSystem(daoMock, true, true, true);
+ mappingSystem = new MappingSystem(dao, true, npsMock, true);
mappingSystem.setDataStoreBackEnd(dsbeMock);
- mappingSystem.setOverwritePolicy(true);
+ mappingSystem.setMappingMerge(false);
mappingSystem.setIterateMask(true);
}
+ private static MappingData getDefaultMappingData() {
+ return getDefaultMappingData(null);
+ }
+
+ private static MappingData getDefaultMappingData(MappingRecord mappingRecord) {
+ if (mappingRecord == null) {
+ mappingRecord = getDefaultMappingRecordBuilder().build();
+ }
+ return new MappingData(mappingRecord, System.currentTimeMillis());
+ }
+
private static MappingRecordBuilder getDefaultMappingRecordBuilder() {
return new MappingRecordBuilder()
- .setTimestamp(System.currentTimeMillis())
.setSiteId(SITE_ID)
- .setEid(EID_IPV4_1);
+ .setEid(EID_IPV4_DST);
}
- private static ServicePath getDefaultServicePath(short index) {
+ private static ServicePath getDefaultServicePath(final short index) {
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address
.service.path.ServicePathBuilder servicePathBuilder = new org.opendaylight.yang.gen.v1.urn.ietf.params
.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.service.path.ServicePathBuilder();
return new ServicePathBuilder().setServicePath(servicePathBuilder
- .setServiceIndex(index)
- .setServicePathId(new ServicePathIdType(1L)).build())
+ .setServiceIndex(Uint8.valueOf(index))
+ .setServicePathId(new ServicePathIdType(Uint32.ONE)).build())
.build();
}
return new RlocBuilder()
.setAddress(explicitLocatorPath)
- .setAddressType(ExplicitLocatorPathLcaf.class).build();
+ .setAddressType(ExplicitLocatorPathLcaf.VALUE).build();
}
private static Rloc getIpPrefixTypeRloc() {
return new RlocBuilder()
.setAddress(address)
- .setAddressType(Ipv4PrefixAfi.class).build();
+ .setAddressType(Ipv4PrefixAfi.VALUE).build();
}
}