Update DAO API
[lispflowmapping.git] / mappingservice / implementation / src / test / java / org / opendaylight / lispflowmapping / implementation / lisp / MapResolverTest.java
index baf600e8d8ee22858a5af8f2a2fe76bfde23c0f0..160edf4196b4fedf3f19bc32bfe3fe3cc15a5238 100644 (file)
@@ -1,48 +1,40 @@
+/*
+ * Copyright (c) 2014 Contextream, 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,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
 package org.opendaylight.lispflowmapping.implementation.lisp;
 
 import static org.junit.Assert.assertEquals;
 
 import java.util.ArrayList;
 import java.util.HashMap;
-import java.util.List;
 import java.util.Map;
 
-import junit.framework.Assert;
-
 import org.jmock.api.Invocation;
+import org.junit.Assert;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.opendaylight.lispflowmapping.implementation.LispMappingService;
-import org.opendaylight.lispflowmapping.implementation.authentication.LispKeyIDEnum;
-import org.opendaylight.lispflowmapping.implementation.dao.MappingServiceKeyUtil;
-import org.opendaylight.lispflowmapping.implementation.util.LispAFIConvertor;
 import org.opendaylight.lispflowmapping.interfaces.dao.ILispDAO;
-import org.opendaylight.lispflowmapping.interfaces.dao.IMappingServiceKey;
-import org.opendaylight.lispflowmapping.interfaces.dao.MappingServiceRLOC;
-import org.opendaylight.lispflowmapping.interfaces.dao.MappingServiceValue;
+import org.opendaylight.lispflowmapping.interfaces.dao.SubKeys;
+import org.opendaylight.lispflowmapping.lisp.util.LispAFIConvertor;
 import org.opendaylight.lispflowmapping.tools.junit.BaseTestCase;
-import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.LispAFIAddress;
-import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.MapReply;
-import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.MapRequest;
-import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.eidrecords.EidRecord;
-import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.eidrecords.EidRecordBuilder;
-import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.eidtolocatorrecords.EidToLocatorRecord;
-import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.eidtolocatorrecords.EidToLocatorRecordBuilder;
-import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.eidtolocatorrecords.EidToLocatorRecord.Action;
-import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.locatorrecords.LocatorRecord;
-import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.locatorrecords.LocatorRecordBuilder;
-import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.maprequest.ItrRloc;
-import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.maprequest.SourceEidBuilder;
-import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.maprequestnotification.MapRequestBuilder;
-
-/*
- * Copyright (c) 2013 Contextream, 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,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev150820.EidToLocatorRecord.Action;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev150820.MapReply;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev150820.MapRequest;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev150820.eidrecords.EidRecord;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev150820.eidrecords.EidRecordBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev150820.eidtolocatorrecords.EidToLocatorRecord;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev150820.eidtolocatorrecords.EidToLocatorRecordBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev150820.lispaddress.LispAddressContainer;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev150820.locatorrecords.LocatorRecord;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev150820.locatorrecords.LocatorRecordBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev150820.maprequest.ItrRloc;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev150820.maprequest.SourceEidBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev150820.maprequestnotification.MapRequestBuilder;
 
 public class MapResolverTest extends BaseTestCase {
 
@@ -51,10 +43,10 @@ public class MapResolverTest extends BaseTestCase {
 
     private ILispDAO lispDAO;
     private MapRequestBuilder mapRequest;
-    private LispAFIAddress v4Address;
-    private LispAFIAddress v6Address;
+    private LispAddressContainer v4Address;
+    private LispAddressContainer v6Address;
 
-    private HashMap<IMappingServiceKey, Map<String, MappingServiceValue>> daoResults;
+    private HashMap<LispAddressContainer, Map<String, EidToLocatorRecord>> daoResults;
 
     @Override
     @Before
@@ -65,9 +57,9 @@ public class MapResolverTest extends BaseTestCase {
         testedMapResolver.basicInit(lispDAO);
 
         mapRequest = new MapRequestBuilder();
-        v4Address = LispAFIConvertor.asIPAfiAddress("1.2.3.4");
-        v6Address = LispAFIConvertor.asIPv6AfiAddress("0:0:0:0:0:0:0:1");
-        daoResults = new HashMap<IMappingServiceKey, Map<String, MappingServiceValue>>();
+        v4Address = LispAFIConvertor.asIPv4Address("1.2.3.4");
+        v6Address = LispAFIConvertor.asIPv6Address("0:0:0:0:0:0:0:1");
+        daoResults = new HashMap<LispAddressContainer, Map<String, EidToLocatorRecord>>();
     }
 
     @Test
@@ -75,14 +67,14 @@ public class MapResolverTest extends BaseTestCase {
         mapRequest = getDefaultMapRequestBuilder();
         mapRequest.getEidRecord().add(
                 new EidRecordBuilder().setMask((short) 32)
-                        .setLispAddressContainer(LispAFIConvertor.toContainer(LispAFIConvertor.asIPAfiAddress("1.2.3.4"))).build());
+                        .setLispAddressContainer(LispAFIConvertor.asIPv4Address("1.2.3.4")).build());
 
         EidToLocatorRecordBuilder record = getDefaultEidToLocatorBuilder();
-        record.setLispAddressContainer(LispAFIConvertor.toContainer(v4Address));
+        record.setLispAddressContainer(v4Address);
 
         LocatorRecordBuilder locator = getDefaultLocatorBuilder();
         locator.setLocalLocator(false);
-        locator.setLispAddressContainer(LispAFIConvertor.toContainer(LispAFIConvertor.asIPAfiAddress("4.3.2.1")));
+        locator.setLispAddressContainer(LispAFIConvertor.asIPv4Address("4.3.2.1"));
         locator.setRouted(true);
         locator.setMulticastPriority((short) 5);
         locator.setWeight((short) 17);
@@ -102,22 +94,22 @@ public class MapResolverTest extends BaseTestCase {
         assertEquals(locator.getPriority(), resultLocator.getPriority());
         assertEquals(locator.getWeight(), resultLocator.getWeight());
 
-        assertLocator(LispAFIConvertor.asIPAfiAddress("4.3.2.1"), eidToLocators.getLocatorRecord().get(0));
+        assertLocator(LispAFIConvertor.asIPv4Address("4.3.2.1"), eidToLocators.getLocatorRecord().get(0));
     }
 
     @Test
     public void handleMapRequest__VerifyBasicFields() throws Exception {
         mapRequest = getDefaultMapRequestBuilder();
         mapRequest.getEidRecord().add(
-                new EidRecordBuilder().setMask((short) 32).setLispAddressContainer(LispAFIConvertor.toContainer(v4Address)).build());
+                new EidRecordBuilder().setMask((short) 32).setLispAddressContainer(v4Address).build());
 
         EidToLocatorRecordBuilder record = getDefaultEidToLocatorBuilder();
-        record.setLispAddressContainer(LispAFIConvertor.toContainer(v4Address));
+        record.setLispAddressContainer(v4Address);
         record.setRecordTtl(100);
 
         record.setAuthoritative(true);
         LocatorRecordBuilder locator = getDefaultLocatorBuilder();
-        locator.setLispAddressContainer(LispAFIConvertor.toContainer(LispAFIConvertor.asIPAfiAddress("4.3.2.1")));
+        locator.setLispAddressContainer(LispAFIConvertor.asIPv4Address("4.3.2.1"));
         record.getLocatorRecord().add(locator.build());
         prepareMapping(record.build());
 
@@ -126,7 +118,7 @@ public class MapResolverTest extends BaseTestCase {
         assertEquals(mapRequest.getNonce(), mapReply.getNonce());
         EidToLocatorRecord eidToLocators = mapReply.getEidToLocatorRecord().get(0);
         assertEquals((byte) 32, eidToLocators.getMaskLength().byteValue());
-        assertEquals(v4Address, LispAFIConvertor.toAFI(eidToLocators.getLispAddressContainer()));
+        assertEquals(v4Address, eidToLocators.getLispAddressContainer());
         assertEquals(record.isAuthoritative(), eidToLocators.isAuthoritative());
         assertEquals(record.getAction(), eidToLocators.getAction());
         assertEquals(record.getRecordTtl(), eidToLocators.getRecordTtl());
@@ -136,10 +128,10 @@ public class MapResolverTest extends BaseTestCase {
     public void handleMapRequest__VerifyMask() throws Exception {
         mapRequest = getDefaultMapRequestBuilder();
         mapRequest.getEidRecord().add(
-                new EidRecordBuilder().setMask((short) 32).setLispAddressContainer(LispAFIConvertor.toContainer(v4Address)).build());
+                new EidRecordBuilder().setMask((short) 32).setLispAddressContainer(v4Address).build());
 
         EidToLocatorRecordBuilder record = getDefaultEidToLocatorBuilder();
-        record.setLispAddressContainer(LispAFIConvertor.toContainer(LispAFIConvertor.asIPAfiAddress("1.2.3.0")));
+        record.setLispAddressContainer(LispAFIConvertor.asIPv4Prefix("1.2.3.0", 24));
         record.setMaskLength((short) 24);
 
         LocatorRecordBuilder locator = getDefaultLocatorBuilder();
@@ -148,20 +140,19 @@ public class MapResolverTest extends BaseTestCase {
         prepareMapping(record.build());
 
         MapRequest mr = mapRequest.build();
-
         MapReply mapReply = testedMapResolver.handleMapRequest(mr);
 
         assertEquals(mr.getNonce(), mapReply.getNonce());
         EidToLocatorRecord eidToLocators = mapReply.getEidToLocatorRecord().get(0);
-        assertEquals((byte) 32, eidToLocators.getMaskLength().byteValue());
-        assertEquals(v4Address, LispAFIConvertor.toAFI(eidToLocators.getLispAddressContainer()));
+        assertEquals((byte) 24, eidToLocators.getMaskLength().byteValue());
+        assertEquals(LispAFIConvertor.asIPv4Prefix("1.2.3.0", 24), eidToLocators.getLispAddressContainer());
     }
 
     @Test
     public void handleMapRequest__VerifyMaskIPv6() throws Exception {
         mapRequest = getDefaultMapRequestBuilder();
         mapRequest.getEidRecord().add(
-                new EidRecordBuilder().setMask((short) 128).setLispAddressContainer(LispAFIConvertor.toContainer(v6Address)).build());
+                new EidRecordBuilder().setMask((short) 128).setLispAddressContainer(v6Address).build());
 
         EidToLocatorRecordBuilder record = getDefaultEidToLocatorBuilder();
         record.setLispAddressContainer(LispAFIConvertor.toContainer(LispAFIConvertor.asIPv6AfiAddress("0:0:0:0:0:0:0:0")));
@@ -179,21 +170,21 @@ public class MapResolverTest extends BaseTestCase {
         assertEquals(mr.getNonce(), mapReply.getNonce());
         EidToLocatorRecord eidToLocators = mapReply.getEidToLocatorRecord().get(0);
         assertEquals((byte) 128, eidToLocators.getMaskLength().byteValue());
-        assertEquals(v6Address, LispAFIConvertor.toAFI(eidToLocators.getLispAddressContainer()));
+        assertEquals(v6Address, eidToLocators.getLispAddressContainer());
     }
 
     @Test
     public void handleMapRequest__VerifyMaskIPv6NoMatch() throws Exception {
         mapRequest = getDefaultMapRequestBuilder();
         mapRequest.getEidRecord().add(
-                new EidRecordBuilder().setMask((short) 128).setLispAddressContainer(LispAFIConvertor.toContainer(v6Address)).build());
+                new EidRecordBuilder().setMask((short) 128).setLispAddressContainer(v6Address).build());
 
         EidToLocatorRecordBuilder record = getDefaultEidToLocatorBuilder();
-        record.setLispAddressContainer(LispAFIConvertor.toContainer(LispAFIConvertor.asIPv6AfiAddress("0:1:0:0:0:0:0:1")));
+        record.setLispAddressContainer(LispAFIConvertor.asIPv6Prefix("0:1:0:0:0:0:0:1", 112));
         record.setMaskLength((short) 112);
 
         LocatorRecordBuilder locator = getDefaultLocatorBuilder();
-        locator.setLispAddressContainer(LispAFIConvertor.toContainer(LispAFIConvertor.asIPAfiAddress("4.3.2.1")));
+        locator.setLispAddressContainer(LispAFIConvertor.asIPv4Address("4.3.2.1"));
         record.getLocatorRecord().add(locator.build());
         prepareMapping(record.build());
 
@@ -201,17 +192,15 @@ public class MapResolverTest extends BaseTestCase {
 
         MapReply mapReply = testedMapResolver.handleMapRequest(mr);
         EidToLocatorRecord eidToLocators = mapReply.getEidToLocatorRecord().get(0);
-        assertEquals(0, eidToLocators.getLocatorRecord().size());
+        assertEquals(null, eidToLocators.getLocatorRecord());
     }
 
     @Test
     public void handleMapRequest_VerifyNativelyForwardAutherized() {
         MapRequest mr = getDefaultMapRequest();
 
-        MappingServiceValue value = new MappingServiceValue();
-        value.setKey("pass");
-        Map<String, MappingServiceValue> result = new HashMap<String, MappingServiceValue>();
-        result.put("value", value);
+        Map<String, EidToLocatorRecord> result = new HashMap<String, EidToLocatorRecord>();
+        result.put(SubKeys.RECORD, null);
 
         MapReply mapReply = getNativelyForwardMapReply(mr, result);
 
@@ -220,9 +209,11 @@ public class MapResolverTest extends BaseTestCase {
         assertEquals(Action.NativelyForward, eidToLocators.getAction());
     }
 
-    private MapReply getNativelyForwardMapReply(MapRequest mr, Map<String, MappingServiceValue> result) {
-        allowing(lispDAO).get(MappingServiceKeyUtil.generateMappingServiceKey(LispAFIConvertor.toContainer(v4Address), 32));
+    private MapReply getNativelyForwardMapReply(MapRequest mr, Map<String, EidToLocatorRecord> result) {
+        allowing(lispDAO).get(wany(LispAddressContainer.class));
         ret(result);
+        allowing(lispDAO).getSpecific(wany(LispAddressContainer.class), with(SubKeys.PASSWORD));
+        ret("pass");
         MapReply mapReply = testedMapResolver.handleMapRequest(mr);
         return mapReply;
     }
@@ -230,7 +221,7 @@ public class MapResolverTest extends BaseTestCase {
     private MapRequest getDefaultMapRequest() {
         mapRequest = getDefaultMapRequestBuilder();
         mapRequest.getEidRecord().add(
-                new EidRecordBuilder().setMask((short) 32).setLispAddressContainer(LispAFIConvertor.toContainer(v4Address)).build());
+                new EidRecordBuilder().setMask((short) 32).setLispAddressContainer(v4Address).build());
         MapRequest mr = mapRequest.build();
         return mr;
     }
@@ -240,14 +231,14 @@ public class MapResolverTest extends BaseTestCase {
 
         mapRequest = getDefaultMapRequestBuilder();
         mapRequest.getEidRecord().add(
-                new EidRecordBuilder().setMask((short) 32).setLispAddressContainer(LispAFIConvertor.toContainer(v4Address)).build());
+                new EidRecordBuilder().setMask((short) 32).setLispAddressContainer(v4Address).build());
 
         EidToLocatorRecordBuilder record = getDefaultEidToLocatorBuilder();
-        record.setLispAddressContainer(LispAFIConvertor.toContainer(LispAFIConvertor.asIPAfiAddress("1.2.4.0")));
+        record.setLispAddressContainer(LispAFIConvertor.asIPv4Prefix("1.2.4.0", 24));
         record.setMaskLength((short) 24);
 
         LocatorRecordBuilder locator = getDefaultLocatorBuilder();
-        locator.setLispAddressContainer(LispAFIConvertor.toContainer(LispAFIConvertor.asIPAfiAddress("4.3.2.1")));
+        locator.setLispAddressContainer(LispAFIConvertor.asIPv4Address("4.3.2.1"));
         record.getLocatorRecord().add(locator.build());
         prepareMapping(record.build());
 
@@ -256,8 +247,7 @@ public class MapResolverTest extends BaseTestCase {
         MapReply mapReply = testedMapResolver.handleMapRequest(mr);
 
         EidToLocatorRecord eidToLocators = mapReply.getEidToLocatorRecord().get(0);
-        assertEquals(0, eidToLocators.getLocatorRecord().size());
-
+        assertEquals(null, eidToLocators.getLocatorRecord());
     }
 
     @Test
@@ -265,19 +255,19 @@ public class MapResolverTest extends BaseTestCase {
 
         mapRequest = getDefaultMapRequestBuilder();
         mapRequest.getEidRecord().add(
-                new EidRecordBuilder().setMask((short) 32).setLispAddressContainer(LispAFIConvertor.toContainer(v4Address)).build());
+                new EidRecordBuilder().setMask((short) 32).setLispAddressContainer(v4Address).build());
 
         EidToLocatorRecordBuilder record = getDefaultEidToLocatorBuilder();
-        record.setLispAddressContainer(LispAFIConvertor.toContainer(v4Address));
+        record.setLispAddressContainer(v4Address);
 
         LocatorRecordBuilder locator = getDefaultLocatorBuilder();
-        locator.setLispAddressContainer(LispAFIConvertor.toContainer(LispAFIConvertor.asIPAfiAddress("4.3.2.1")));
+        locator.setLispAddressContainer(LispAFIConvertor.asIPv4Address("4.3.2.1"));
         record.getLocatorRecord().add(locator.build());
         locator = getDefaultLocatorBuilder();
-        locator.setLispAddressContainer(LispAFIConvertor.toContainer(LispAFIConvertor.asIPv6AfiAddress("0:0:0:0:0:0:0:1")));
+        locator.setLispAddressContainer(LispAFIConvertor.asIPv6Address("0:0:0:0:0:0:0:1"));
         record.getLocatorRecord().add(locator.build());
         locator = getDefaultLocatorBuilder();
-        locator.setLispAddressContainer(LispAFIConvertor.toContainer(LispAFIConvertor.asIPAfiAddress("1.8.2.7")));
+        locator.setLispAddressContainer(LispAFIConvertor.asIPv4Address("1.8.2.7"));
         record.getLocatorRecord().add(locator.build());
 
         prepareMapping(record.build());
@@ -287,9 +277,9 @@ public class MapResolverTest extends BaseTestCase {
         EidToLocatorRecord eidToLocators = mapReply.getEidToLocatorRecord().get(0);
         assertEquals(3, eidToLocators.getLocatorRecord().size());
 
-        assertLocator(LispAFIConvertor.asIPAfiAddress("4.3.2.1"), eidToLocators.getLocatorRecord().get(0));
-        assertLocator(LispAFIConvertor.asIPv6AfiAddress("0:0:0:0:0:0:0:1"), eidToLocators.getLocatorRecord().get(1));
-        assertLocator(LispAFIConvertor.asIPAfiAddress("1.8.2.7"), eidToLocators.getLocatorRecord().get(2));
+        assertLocator(LispAFIConvertor.asIPv4Address("4.3.2.1"), eidToLocators.getLocatorRecord().get(0));
+        assertLocator(LispAFIConvertor.asIPv6Address("0:0:0:0:0:0:0:1"), eidToLocators.getLocatorRecord().get(1));
+        assertLocator(LispAFIConvertor.asIPv4Address("1.8.2.7"), eidToLocators.getLocatorRecord().get(2));
     }
 
     @Test
@@ -297,12 +287,12 @@ public class MapResolverTest extends BaseTestCase {
 
         mapRequest = getDefaultMapRequestBuilder();
         mapRequest.getEidRecord().add(
-                new EidRecordBuilder().setMask((short) 32).setLispAddressContainer(LispAFIConvertor.toContainer(v4Address)).build());
+                new EidRecordBuilder().setMask((short) 32).setLispAddressContainer(v4Address).build());
         mapRequest.getEidRecord().add(
-                new EidRecordBuilder().setMask((short) 128).setLispAddressContainer(LispAFIConvertor.toContainer(v6Address)).build());
+                new EidRecordBuilder().setMask((short) 128).setLispAddressContainer(v6Address).build());
 
         EidToLocatorRecordBuilder record1 = getDefaultEidToLocatorBuilder();
-        record1.setLispAddressContainer(LispAFIConvertor.toContainer(v4Address));
+        record1.setLispAddressContainer(v4Address);
         record1.setRecordTtl(100);
 
         LocatorRecordBuilder locator1 = getDefaultLocatorBuilder();
@@ -310,7 +300,7 @@ public class MapResolverTest extends BaseTestCase {
         record1.getLocatorRecord().add(locator1.build());
 
         EidToLocatorRecordBuilder record2 = getDefaultEidToLocatorBuilder();
-        record2.setLispAddressContainer(LispAFIConvertor.toContainer(v6Address));
+        record2.setLispAddressContainer(v6Address);
         record2.setMaskLength((short) 128);
         record2.setRecordTtl(100);
 
@@ -324,40 +314,33 @@ public class MapResolverTest extends BaseTestCase {
 
         EidToLocatorRecord eidToLocators1 = mapReply.getEidToLocatorRecord().get(0);
         assertEquals(1, eidToLocators1.getLocatorRecord().size());
-        assertLocator(LispAFIConvertor.asIPAfiAddress("4.3.2.1"), eidToLocators1.getLocatorRecord().get(0));
+        assertLocator(LispAFIConvertor.toContainer(LispAFIConvertor.asIPAfiAddress("4.3.2.1")), eidToLocators1
+                .getLocatorRecord().get(0));
 
         EidToLocatorRecord eidToLocators2 = mapReply.getEidToLocatorRecord().get(1);
         assertEquals(1, eidToLocators2.getLocatorRecord().size());
-        assertLocator(LispAFIConvertor.asIPv6AfiAddress("0:0:0:0:0:0:0:1"), eidToLocators2.getLocatorRecord().get(0));
+        assertLocator(LispAFIConvertor.toContainer(LispAFIConvertor.asIPv6AfiAddress("0:0:0:0:0:0:0:1")), eidToLocators2
+                .getLocatorRecord().get(0));
     }
 
-    private void assertLocator(LispAFIAddress expectedAddress, LocatorRecord locatorRecord) {
-        assertEquals(LispAFIConvertor.toContainer(expectedAddress), locatorRecord.getLispAddressContainer());
+    private void assertLocator(LispAddressContainer expectedAddress, LocatorRecord locatorRecord) {
+        assertEquals(expectedAddress, locatorRecord.getLispAddressContainer());
         Assert.assertTrue(locatorRecord.isRouted());
     }
 
-    private Map<String, MappingServiceValue> prepareMapping(EidToLocatorRecord... records) {
+    private Map<String, EidToLocatorRecord> prepareMapping(EidToLocatorRecord... records) {
         if (records.length > 0) {
             for (EidToLocatorRecord eidToLocatorRecord : records) {
-                MappingServiceValue value = new MappingServiceValue();
-                Map<String, MappingServiceValue> result = new HashMap<String, MappingServiceValue>();
-                result.put("value", value);
-                List<MappingServiceRLOC> rlocs = new ArrayList<MappingServiceRLOC>();
-                for (LocatorRecord locator : eidToLocatorRecord.getLocatorRecord()) {
-                    rlocs.add(new MappingServiceRLOC(locator, eidToLocatorRecord.getRecordTtl(), eidToLocatorRecord.getAction(), eidToLocatorRecord
-                            .isAuthoritative()));
-                }
-                value.setRlocs(rlocs);
-
-                daoResults.put(
-                        MappingServiceKeyUtil.generateMappingServiceKey(eidToLocatorRecord.getLispAddressContainer(),
-                                (short) eidToLocatorRecord.getMaskLength()), result);
+                Map<String, EidToLocatorRecord> result = new HashMap<String, EidToLocatorRecord>();
+                result.put(SubKeys.RECORD, eidToLocatorRecord);
+
+                daoResults.put(eidToLocatorRecord.getLispAddressContainer(), result);
             }
         }
 
-        ValueSaverAction<IMappingServiceKey> daoGetSaverAction = new ValueSaverAction<IMappingServiceKey>() {
+        ValueSaverAction<LispAddressContainer> daoGetSaverAction = new ValueSaverAction<LispAddressContainer>() {
             @Override
-            protected boolean validate(IMappingServiceKey value) {
+            protected boolean validate(LispAddressContainer value) {
                 return true;
             }
 
@@ -369,8 +352,9 @@ public class MapResolverTest extends BaseTestCase {
 
         allowing(lispDAO).get(with(daoGetSaverAction));
         will(daoGetSaverAction);
+        allowing(lispDAO).getSpecific(wany(LispAddressContainer.class), with(SubKeys.PASSWORD));
 
-        return daoResults.get(MappingServiceKeyUtil.generateMappingServiceKey(LispAFIConvertor.toContainer(v4Address)));
+        return daoResults.get(v4Address);
     }
 
     private MapRequestBuilder getDefaultMapRequestBuilder() {