UT test cases for PCEP report, Label update, TE report messages and tlvs.

Change-Id: I7b22766e330c7e5936323d44e78d63fd653a6e45
diff --git a/pcep/pcepio/src/main/java/org/onosproject/pcepio/protocol/PcepFactories.java b/pcep/pcepio/src/main/java/org/onosproject/pcepio/protocol/PcepFactories.java
index 150de92..1d34aa0 100644
--- a/pcep/pcepio/src/main/java/org/onosproject/pcepio/protocol/PcepFactories.java
+++ b/pcep/pcepio/src/main/java/org/onosproject/pcepio/protocol/PcepFactories.java
@@ -78,7 +78,7 @@
                 factory = org.onosproject.pcepio.protocol.ver1.PcepFactoryVer1.INSTANCE;
                 break;
             default:
-                throw new IllegalArgumentException("Unknown Packet version: " + packetVersion);
+                throw new PcepParseException("Unknown Packet version: " + packetVersion);
             }
             return factory.getReader().readFrom(bb);
         }
diff --git a/pcep/pcepio/src/main/java/org/onosproject/pcepio/protocol/ver1/PcepFactoryVer1.java b/pcep/pcepio/src/main/java/org/onosproject/pcepio/protocol/ver1/PcepFactoryVer1.java
index 9ad5f9f..55da289 100644
--- a/pcep/pcepio/src/main/java/org/onosproject/pcepio/protocol/ver1/PcepFactoryVer1.java
+++ b/pcep/pcepio/src/main/java/org/onosproject/pcepio/protocol/ver1/PcepFactoryVer1.java
@@ -27,8 +27,15 @@
 import org.onosproject.pcepio.protocol.PcepErrorMsg;
 import org.onosproject.pcepio.protocol.PcepErrorObject;
 import org.onosproject.pcepio.protocol.PcepFactory;
+import org.onosproject.pcepio.protocol.PcepFecObjectIPv4Adjacency;
 import org.onosproject.pcepio.protocol.PcepInitiateMsg;
+import org.onosproject.pcepio.protocol.PcepIroObject;
 import org.onosproject.pcepio.protocol.PcepKeepaliveMsg;
+import org.onosproject.pcepio.protocol.PcepLabelObject;
+import org.onosproject.pcepio.protocol.PcepLabelRangeObject;
+import org.onosproject.pcepio.protocol.PcepLabelRangeResvMsg;
+import org.onosproject.pcepio.protocol.PcepLabelUpdate;
+import org.onosproject.pcepio.protocol.PcepLabelUpdateMsg;
 import org.onosproject.pcepio.protocol.PcepLspObject;
 import org.onosproject.pcepio.protocol.PcepLspaObject;
 import org.onosproject.pcepio.protocol.PcepMessage;
@@ -37,7 +44,10 @@
 import org.onosproject.pcepio.protocol.PcepMsgPath;
 import org.onosproject.pcepio.protocol.PcepOpenMsg;
 import org.onosproject.pcepio.protocol.PcepOpenObject;
+import org.onosproject.pcepio.protocol.PcepReportMsg;
+import org.onosproject.pcepio.protocol.PcepRroObject;
 import org.onosproject.pcepio.protocol.PcepSrpObject;
+import org.onosproject.pcepio.protocol.PcepStateReport;
 import org.onosproject.pcepio.protocol.PcepUpdateMsg;
 import org.onosproject.pcepio.protocol.PcepUpdateRequest;
 import org.onosproject.pcepio.protocol.PcepVersion;
@@ -72,9 +82,8 @@
     }
 
     @Override
-    public org.onosproject.pcepio.protocol.PcepReportMsg.Builder buildReportMsg() {
-        // TODO Auto-generated method stub
-        return null;
+    public PcepReportMsg.Builder buildReportMsg() {
+        return new PcepReportMsgVer1.Builder();
     }
 
     @Override
@@ -113,9 +122,8 @@
     }
 
     @Override
-    public org.onosproject.pcepio.protocol.PcepRroObject.Builder buildRroObject() {
-        // TODO Auto-generated method stub
-        return null;
+    public PcepRroObject.Builder buildRroObject() {
+        return new PcepRroObjectVer1.Builder();
     }
 
     @Override
@@ -124,9 +132,8 @@
     }
 
     @Override
-    public org.onosproject.pcepio.protocol.PcepIroObject.Builder buildIroObject() {
-        // TODO Auto-generated method stub
-        return null;
+    public PcepIroObject.Builder buildIroObject() {
+        return new PcepIroObjectVer1.Builder();
     }
 
     @Override
@@ -145,9 +152,8 @@
     }
 
     @Override
-    public org.onosproject.pcepio.protocol.PcepStateReport.Builder buildPcepStateReport() {
-        // TODO Auto-generated method stub
-        return null;
+    public PcepStateReport.Builder buildPcepStateReport() {
+        return new PcepStateReportVer1.Builder();
     }
 
     @Override
@@ -166,21 +172,18 @@
     }
 
     @Override
-    public org.onosproject.pcepio.protocol.PcepLabelUpdateMsg.Builder buildPcepLabelUpdateMsg() {
-        // TODO Auto-generated method stub
-        return null;
+    public PcepLabelUpdateMsg.Builder buildPcepLabelUpdateMsg() {
+        return new PcepLabelUpdateMsgVer1.Builder();
     }
 
     @Override
-    public org.onosproject.pcepio.protocol.PcepLabelUpdate.Builder buildPcepLabelUpdateObject() {
-        // TODO Auto-generated method stub
-        return null;
+    public PcepLabelUpdate.Builder buildPcepLabelUpdateObject() {
+        return new PcepLabelUpdateVer1.Builder();
     }
 
     @Override
-    public org.onosproject.pcepio.protocol.PcepLabelObject.Builder buildLabelObject() {
-        // TODO Auto-generated method stub
-        return null;
+    public PcepLabelObject.Builder buildLabelObject() {
+        return new PcepLabelObjectVer1.Builder();
     }
 
     @Override
@@ -194,9 +197,8 @@
     }
 
     @Override
-    public org.onosproject.pcepio.protocol.PcepFecObjectIPv4Adjacency.Builder buildFecIpv4Adjacency() {
-        // TODO Auto-generated method stub
-        return null;
+    public PcepFecObjectIPv4Adjacency.Builder buildFecIpv4Adjacency() {
+        return new PcepFecObjectIPv4AdjacencyVer1.Builder();
     }
 
     @Override
@@ -210,15 +212,13 @@
     }
 
     @Override
-    public org.onosproject.pcepio.protocol.PcepLabelRangeObject.Builder buildPcepLabelRangeObject() {
-        // TODO Auto-generated method stub
-        return null;
+    public PcepLabelRangeObject.Builder buildPcepLabelRangeObject() {
+        return new PcepLabelRangeObjectVer1.Builder();
     }
 
     @Override
-    public org.onosproject.pcepio.protocol.PcepLabelRangeResvMsg.Builder buildPcepLabelRangeResvMsg() {
-        // TODO Auto-generated method stub
-        return null;
+    public PcepLabelRangeResvMsg.Builder buildPcepLabelRangeResvMsg() {
+        return new PcepLabelRangeResvMsgVer1.Builder();
     }
 
 }
diff --git a/pcep/pcepio/src/main/java/org/onosproject/pcepio/protocol/ver1/PcepMessageVer1.java b/pcep/pcepio/src/main/java/org/onosproject/pcepio/protocol/ver1/PcepMessageVer1.java
index a7c2901..2dd3363 100644
--- a/pcep/pcepio/src/main/java/org/onosproject/pcepio/protocol/ver1/PcepMessageVer1.java
+++ b/pcep/pcepio/src/main/java/org/onosproject/pcepio/protocol/ver1/PcepMessageVer1.java
@@ -42,6 +42,7 @@
     static final byte CLOSE_MSG_TYPE = 0x7;
     static final byte ERROR_MSG_TYPE = 0x6;
     static final byte LABEL_UPDATE_MSG_TYPE = 0xD;
+    static final byte LABEL_RANGE_RESV_MSG_TYPE = 0xF;
     public static final int SHIFT_FLAG = 5;
     static final int MINIMUM_COMMON_HEADER_LENGTH = 4;
 
@@ -86,7 +87,7 @@
                     log.debug("REPORT MESSAGE is received");
                     // message type value 10 means it is Report message
                     // return
-                    // TODO: Read Report message from channel buffer.
+                    return PcepReportMsgVer1.READER.readFrom(cb.readBytes(length));
                 case UPDATE_MSG_TYPE:
                     log.debug("UPDATE MESSAGE is received");
                     //message type value 11 means it is Update message
@@ -103,12 +104,17 @@
                     log.debug("TE REPORT MESSAGE is received");
                     // message type value 14 means it is TE REPORT message
                     // return
-                    // TODO: Read TE Report message from channel buffer.
+                    return PcepTEReportMsgVer1.READER.readFrom(cb.readBytes(length));
                 case LABEL_UPDATE_MSG_TYPE:
                     log.debug("LABEL UPDATE MESSAGE is received");
                     // message type value 13 means it is LABEL UPDATE message
                     // return
-                    // TODO: Read Label update message from channel buffer.
+                    return PcepLabelUpdateMsgVer1.READER.readFrom(cb.readBytes(length));
+                case LABEL_RANGE_RESV_MSG_TYPE:
+                    log.debug("LABEL RANGE RESERVE MESSAGE is received");
+                    // message type value 15 means it is LABEL RANGE RESERVE message
+                    // return
+                    return PcepLabelRangeResvMsgVer1.READER.readFrom(cb.readBytes(length));
                 default:
                     throw new PcepParseException("ERROR: UNKNOWN MESSAGE is received. Msg Type: " + type);
                 }