[ONOS-4164] Failed path info store
Change-Id: I8e16493ce479d2489b16fc76b56f55455927cb56
diff --git a/apps/pce/app/src/test/java/org/onosproject/pce/pcestore/PcePathInfoTest.java b/apps/pce/app/src/test/java/org/onosproject/pce/pcestore/PcePathInfoTest.java
new file mode 100644
index 0000000..09b60ab
--- /dev/null
+++ b/apps/pce/app/src/test/java/org/onosproject/pce/pcestore/PcePathInfoTest.java
@@ -0,0 +1,104 @@
+/*
+ * Copyright 2016-present Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.onosproject.pce.pcestore;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.is;
+
+import com.google.common.testing.EqualsTester;
+
+import java.util.List;
+import java.util.LinkedList;
+
+import org.junit.Test;
+import org.onlab.util.DataRateUnit;
+import org.onosproject.net.DeviceId;
+import org.onosproject.net.intent.Constraint;
+import org.onosproject.net.intent.constraint.BandwidthConstraint;
+import org.onosproject.pce.pceservice.LspType;
+
+/**
+ * Unit tests for PcePathInfo class.
+ */
+public class PcePathInfoTest {
+
+ /**
+ * Checks the operation of equals() methods.
+ */
+ @Test
+ public void testEquals() {
+ // create same two objects.
+ DeviceId src1 = DeviceId.deviceId("foo1");
+ DeviceId dst1 = DeviceId.deviceId("goo1");
+ String name1 = "pcc1";
+ LspType lspType1 = LspType.WITH_SIGNALLING;
+ List<Constraint> constraints1 = new LinkedList<>();
+ Constraint bandwidth11 = BandwidthConstraint.of(100, DataRateUnit.BPS);
+ constraints1.add(bandwidth11);
+ Constraint bandwidth12 = BandwidthConstraint.of(200, DataRateUnit.BPS);
+ constraints1.add(bandwidth12);
+ Constraint bandwidth13 = BandwidthConstraint.of(300, DataRateUnit.BPS);
+ constraints1.add(bandwidth13);
+
+ PcePathInfo pathInfo1 = new PcePathInfo(src1, dst1, name1, constraints1, lspType1);
+
+ // create same object as above object
+ PcePathInfo samePathInfo1 = new PcePathInfo(src1, dst1, name1, constraints1, lspType1);
+
+ // Create different object.
+ DeviceId src2 = DeviceId.deviceId("foo2");
+ DeviceId dst2 = DeviceId.deviceId("goo2");
+ String name2 = "pcc2";
+ LspType lspType2 = LspType.SR_WITHOUT_SIGNALLING;
+ List<Constraint> constraints2 = new LinkedList<>();
+ Constraint bandwidth21 = BandwidthConstraint.of(400, DataRateUnit.BPS);
+ constraints2.add(bandwidth21);
+ Constraint bandwidth22 = BandwidthConstraint.of(800, DataRateUnit.BPS);
+ constraints2.add(bandwidth22);
+
+ PcePathInfo pathInfo2 = new PcePathInfo(src2, dst2, name2, constraints2, lspType2);
+
+ new EqualsTester().addEqualityGroup(pathInfo1, samePathInfo1)
+ .addEqualityGroup(pathInfo2)
+ .testEquals();
+ }
+
+ /**
+ * Checks the construction of a PcePathInfo object.
+ */
+ @Test
+ public void testConstruction() {
+ DeviceId src = DeviceId.deviceId("foo2");
+ DeviceId dst = DeviceId.deviceId("goo2");
+ String name = "pcc2";
+ LspType lspType = LspType.SR_WITHOUT_SIGNALLING;
+ List<Constraint> constraints = new LinkedList<>();
+ Constraint bandwidth1 = BandwidthConstraint.of(100, DataRateUnit.BPS);
+ constraints.add(bandwidth1);
+ Constraint bandwidth2 = BandwidthConstraint.of(200, DataRateUnit.BPS);
+ constraints.add(bandwidth2);
+ Constraint bandwidth3 = BandwidthConstraint.of(300, DataRateUnit.BPS);
+ constraints.add(bandwidth3);
+
+ PcePathInfo pathInfo = new PcePathInfo(src, dst, name, constraints, lspType);
+
+ assertThat(src, is(pathInfo.src()));
+ assertThat(dst, is(pathInfo.dst()));
+ assertThat(name, is(pathInfo.name()));
+ assertThat(constraints, is(pathInfo.constraints()));
+ assertThat(lspType, is(pathInfo.lspType()));
+ }
+}