2 * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.lispflowmapping.neutron;
10 import static org.junit.Assert.assertEquals;
12 import com.google.common.collect.Lists;
13 import org.junit.Test;
14 import org.opendaylight.lispflowmapping.lisp.util.LispAddressUtil;
15 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;
16 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.Ipv4Builder;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.eid.container.Eid;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.locatorrecords.LocatorRecord;
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.locatorrecords.LocatorRecordBuilder;
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapping.authkey.container.MappingAuthkeyBuilder;
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapping.record.container.MappingRecord;
22 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapping.record.container.MappingRecordBuilder;
23 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.rloc.container.RlocBuilder;
24 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.AddKeyInput;
25 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.AddKeyInputBuilder;
26 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.AddMappingInput;
27 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.AddMappingInputBuilder;
28 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.GetMappingInput;
29 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.GetMappingInputBuilder;
30 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.RemoveKeyInput;
31 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.RemoveKeyInputBuilder;
32 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.RemoveMappingInput;
33 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.RemoveMappingInputBuilder;
35 public class LispUtilTest {
36 private static final int RECORD_TTL = 1440;
37 private static final String IPV4_1 = "192.168.0.1";
38 private static final String IPV4_2 = "192.168.0.2";
39 private static final String KEY = "key";
40 private static final Eid EID = LispAddressUtil.asIpv4Eid(IPV4_1);
41 private static final LocatorRecord LOCATOR_RECORD = getDefaultLocatorRecord();
44 * Tests {@link LispUtil#buildAddMappingInput} method.
47 public void buildAddMappingInputTest() {
48 final MappingRecord mappingRecord = new MappingRecordBuilder()
49 .setAction(MappingRecord.Action.NoAction)
50 .setAuthoritative(true).setEid(EID)
51 .setLocatorRecord(Lists.newArrayList(getDefaultLocatorRecord()))
52 .setMapVersion((short) 0)
53 .setRecordTtl(RECORD_TTL).build();
55 final AddMappingInput expectedResult = new AddMappingInputBuilder().setMappingRecord(mappingRecord).build();
56 final AddMappingInput result = LispUtil.buildAddMappingInput(EID, Lists.newArrayList(LOCATOR_RECORD));
58 assertEquals(expectedResult, result);
62 * Tests {@link LispUtil#buildAddKeyInput} method.
65 public void buildAddKeyInputTest() {
66 final AddKeyInput expectedResult = new AddKeyInputBuilder()
68 .setMappingAuthkey(new MappingAuthkeyBuilder()
70 .setKeyType(1).build()).build();
71 final AddKeyInput result = LispUtil.buildAddKeyInput(EID, KEY);
73 assertEquals(expectedResult, result);
77 * Tests {@link LispUtil#buildGetMappingInput} method.
80 public void buildGetMappingInputTest() {
81 final GetMappingInput expectedResult = new GetMappingInputBuilder().setEid(EID).build();
82 final GetMappingInput result = LispUtil.buildGetMappingInput(EID);
84 assertEquals(expectedResult, result);
88 * Tests {@link LispUtil#buildRemoveMappingInput} method.
91 public void buildRemoveMappingInputTest() {
92 final RemoveMappingInput expectedResult = new RemoveMappingInputBuilder().setEid(EID).build();
93 final RemoveMappingInput result = LispUtil.buildRemoveMappingInput(EID);
95 assertEquals(expectedResult, result);
99 * Tests {@link LispUtil#buildRemoveKeyInput} method.
102 public void buildRemoveKeyInputTest() {
103 final RemoveKeyInput expectedResult = new RemoveKeyInputBuilder().setEid(EID).build();
104 final RemoveKeyInput result = LispUtil.buildRemoveKeyInput(EID);
106 assertEquals(expectedResult, result);
109 private static LocatorRecord getDefaultLocatorRecord() {
110 return new LocatorRecordBuilder()
112 .setRloc(new RlocBuilder()
113 .setAddress(new Ipv4Builder()
114 .setIpv4(new Ipv4Address(IPV4_2)).build()).build()).build();