import java.io.IOException;
import java.math.BigInteger;
-import java.util.Arrays;
import java.util.List;
import org.junit.Before;
import org.opendaylight.protocol.pcep.impl.object.PCEPEndPointsIpv6ObjectParser;
import org.opendaylight.protocol.pcep.impl.object.PCEPErrorObjectParser;
import org.opendaylight.protocol.pcep.impl.object.PCEPExcludeRouteObjectParser;
+import org.opendaylight.protocol.pcep.impl.object.PCEPExistingBandwidthObjectParser;
import org.opendaylight.protocol.pcep.impl.object.PCEPExplicitRouteObjectParser;
import org.opendaylight.protocol.pcep.impl.object.PCEPGlobalConstraintsObjectParser;
import org.opendaylight.protocol.pcep.impl.object.PCEPIncludeRouteObjectParser;
builder.setTlvs(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.open.object.open.TlvsBuilder().setStateful(
tlv1).setPredundancyGroupId(tlv3).setLspDbVersion(tlv2).build());
- assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(false, false), result));
+ assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(false, false), ByteArray.cutBytes(result, 4)));
assertArrayEquals(result, parser.serializeObject(builder.build()));
}
builder.setIgnore(false);
builder.setReason((short) 5);
- assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(false, false), result));
+ assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(false, false), ByteArray.cutBytes(result, 4)));
assertArrayEquals(result, parser.serializeObject(builder.build()));
}
builder.setMaxLsp((short) UnsignedBytes.toInt((byte) 0xf1));
builder.setMinBandwidth(new Bandwidth(new byte[] { (byte) 0xFF, (byte) 0xFF, (byte) 0xFF, (byte) 0xFF }));
- assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, false), result));
+ assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, false), ByteArray.cutBytes(result, 4)));
assertArrayEquals(result, parser.serializeObject(builder.build()));
}
new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.SymbolicPathName("Med".getBytes())).build();
builder.setTlvs(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.lsp.object.lsp.TlvsBuilder().setLspErrorCode(
tlv1).setSymbolicPathName(tlv2).build());
- assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, true), result));
+ assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, true), ByteArray.cutBytes(result, 4)));
assertArrayEquals(result, parser.serializeObject(builder.build()));
}
new UnnumberedBuilder().setRouterId(0xffffffffL).setInterfaceId(0xffffffffL).build()).build()).build());
builder.setSubobjects(subs);
- assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(false, false), result));
+ assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(false, false), ByteArray.cutBytes(result, 4)));
assertArrayEquals(result, parser.serializeObject(builder.build()));
}
new UnnumberedBuilder().setRouterId(0x1245678L).setInterfaceId(0x9abcdef0L).build()).build()).build());
builder.setSubobjects(subs);
- assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(false, false), result));
- // FIXME: BUG-130: fix Ipv6Serializers (getType)
- // assertArrayEquals(result, parser.serializeObject(builder.build()));
+ assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(false, false), ByteArray.cutBytes(result, 4)));
+ assertArrayEquals(result, parser.serializeObject(builder.build()));
}
@Test
false).build());
builder.setSubobjects(subs);
- assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(false, false), result));
- // FIXME: BUG-130: fix Ipv6Serializers (getType)
- // assertArrayEquals(result, parser.serializeObject(builder.build()));
+ assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(false, false), ByteArray.cutBytes(result, 4)));
+ assertArrayEquals(result, parser.serializeObject(builder.build()));
}
@Test
public void testBandwidthObject() throws IOException, PCEPDeserializerException {
final PCEPBandwidthObjectParser parser = new PCEPBandwidthObjectParser(this.tlvRegistry);
- byte[] result = ByteArray.fileToBytes("src/test/resources/PCEPBandwidthObject1LowerBounds.bin");
+ final byte[] result = ByteArray.fileToBytes("src/test/resources/PCEPBandwidthObject1LowerBounds.bin");
final BandwidthBuilder builder = new BandwidthBuilder();
builder.setProcessingRule(true);
builder.setIgnore(true);
- builder.setBandwidth(new Bandwidth(result));
+ builder.setBandwidth(new Bandwidth(new byte[] { (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00 }));
- assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, true), result));
+ assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, true), ByteArray.cutBytes(result, 4)));
assertArrayEquals(result, parser.serializeObject(builder.build()));
+ }
- result = ByteArray.fileToBytes("src/test/resources/PCEPBandwidthObject2UpperBounds.bin");
+ @Test
+ public void testExistingBandwidthObject() throws IOException, PCEPDeserializerException {
+ final PCEPExistingBandwidthObjectParser parser = new PCEPExistingBandwidthObjectParser(this.tlvRegistry);
+ final byte[] result = ByteArray.fileToBytes("src/test/resources/PCEPBandwidthObject2UpperBounds.bin");
- builder.setBandwidth(new Bandwidth(result));
+ final BandwidthBuilder builder = new BandwidthBuilder();
+ builder.setProcessingRule(true);
+ builder.setIgnore(true);
+ builder.setBandwidth(new Bandwidth(new byte[] { (byte) 0xFF, (byte) 0xFF, (byte) 0xFF, (byte) 0xFF }));
- assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, true), result));
+ assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, true), ByteArray.cutBytes(result, 4)));
assertArrayEquals(result, parser.serializeObject(builder.build()));
}
new Ipv4Builder().setSourceIpv4Address(Ipv4Util.addressForBytes(srcIPBytes)).setDestinationIpv4Address(
Ipv4Util.addressForBytes(destIPBytes)).build()).build());
- assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, false), result));
- System.out.println(Arrays.toString(parser.serializeObject(builder.build())));
+ assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, false), ByteArray.cutBytes(result, 4)));
assertArrayEquals(result, parser.serializeObject(builder.build()));
}
new Ipv6Builder().setSourceIpv6Address(Ipv6Util.addressForBytes(srcIPBytes)).setDestinationIpv6Address(
Ipv6Util.addressForBytes(destIPBytes)).build()).build());
- assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, false), result));
+ assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, false), ByteArray.cutBytes(result, 4)));
assertArrayEquals(result, parser.serializeObject(builder.build()));
}
builder.setType((short) 1);
builder.setValue((short) 1);
- assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, true), result));
+ assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, true), ByteArray.cutBytes(result, 4)));
assertArrayEquals(result, parser.serializeObject(builder.build()));
result = ByteArray.fileToBytes("src/test/resources/PCEPErrorObject3.bin");
builder.setValue((short) 0);
builder.setTlvs(new TlvsBuilder().setReqMissing(new ReqMissingBuilder().setRequestId(new RequestId(0x00001155L)).build()).build());
- assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, true), result));
+ assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, true), ByteArray.cutBytes(result, 4)));
assertArrayEquals(result, parser.serializeObject(builder.build()));
}
builder.setSetupPriority((short) 0);
builder.setLocalProtectionDesired(false);
- assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, true), result));
+ assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, true), ByteArray.cutBytes(result, 4)));
assertArrayEquals(result, parser.serializeObject(builder.build()));
result = ByteArray.fileToBytes("src/test/resources/PCEPLspaObject2UpperBounds.bin");
builder.setSetupPriority((short) 0xFF);
builder.setLocalProtectionDesired(true);
- assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, true), result));
+ assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, true), ByteArray.cutBytes(result, 4)));
assertArrayEquals(result, parser.serializeObject(builder.build()));
result = ByteArray.fileToBytes("src/test/resources/PCEPLspaObject3RandVals.bin");
builder.setSetupPriority((short) 0x03);
builder.setLocalProtectionDesired(true);
- assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, true), result));
+ assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, true), ByteArray.cutBytes(result, 4)));
assertArrayEquals(result, parser.serializeObject(builder.build()));
}
builder.setMetricType((short) 1);
builder.setValue(new Float32(new byte[] { 0, 0, 0, 0 }));
- assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, true), result));
+ assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, true), ByteArray.cutBytes(result, 4)));
assertArrayEquals(result, parser.serializeObject(builder.build()));
result = ByteArray.fileToBytes("src/test/resources/PCEPMetricObject2UpperBounds.bin");
builder.setMetricType((short) 2);
builder.setValue(new Float32(new byte[] { (byte) 0x4f, (byte) 0x70, (byte) 0x00, (byte) 0x00 }));
- assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, true), result));
+ assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, true), ByteArray.cutBytes(result, 4)));
assertArrayEquals(result, parser.serializeObject(builder.build()));
}
builder.setNatureOfIssue((short) 1);
builder.setUnsatisfiedConstraints(true);
- assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, true), result));
+ assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, true), ByteArray.cutBytes(result, 4)));
assertArrayEquals(result, parser.serializeObject(builder.build()));
result = ByteArray.fileToBytes("src/test/resources/PCEPNoPathObject2WithTLV.bin");
builder.setTlvs(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.pcrep.message.pcrep.message.replies.result.failure._case.no.path.TlvsBuilder().setNoPathVector(
b.build()).build());
- assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, true), result));
+ assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, true), ByteArray.cutBytes(result, 4)));
assertArrayEquals(result, parser.serializeObject(builder.build()));
}
builder.setType((short) 0xff);
builder.setValue((short) 0xff);
- assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, true), result));
+ assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, true), ByteArray.cutBytes(result, 4)));
assertArrayEquals(result, parser.serializeObject(builder.build()));
result = ByteArray.fileToBytes("src/test/resources/PCEPNotificationObject1WithTlv.bin");
builder.setTlvs(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.notification.object.c.notification.TlvsBuilder().setOverloadDuration(
new OverloadDurationBuilder().setDuration(0xff0000a2L).build()).build());
- assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, true), result));
+ assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, true), ByteArray.cutBytes(result, 4)));
assertArrayEquals(result, parser.serializeObject(builder.build()));
}
builder.setPriority((short) 5);
builder.setRequestId(new RequestId(0xdeadbeefL));
- assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, true), result));
+ assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, true), ByteArray.cutBytes(result, 4)));
assertArrayEquals(result, parser.serializeObject(builder.build()));
result = ByteArray.fileToBytes("src/test/resources/PCEPRPObject2.bin");
builder.setTlvs(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.rp.object.rp.TlvsBuilder().setOrder(
b.build()).build());
- assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, true), result));
+ assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, true), ByteArray.cutBytes(result, 4)));
assertArrayEquals(result, parser.serializeObject(builder.build()));
}
builder.setSrlgDiverse(false);
builder.setRequestsIds(Lists.newArrayList(new RequestId(0xFFL)));
- assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(false, false), result));
+ assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(false, false), ByteArray.cutBytes(result, 4)));
assertArrayEquals(result, parser.serializeObject(builder.build()));
result = ByteArray.fileToBytes("src/test/resources/PCEPSvecObject1_10ReqIDs.bin");
builder.setRequestsIds(requestIDs);
- assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, false), result));
+ assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, false), ByteArray.cutBytes(result, 4)));
assertArrayEquals(result, parser.serializeObject(builder.build()));
}
@Test
public void testClassTypeObject() throws PCEPDeserializerException {
final PCEPClassTypeObjectParser parser = new PCEPClassTypeObjectParser(this.tlvRegistry);
- final byte[] result = new byte[] { 0, 0, 0, (byte) 0x04 };
+ final byte[] result = new byte[] { (byte) 0x16, (byte) 0x12, (byte) 0x00, (byte) 0x08, 0, 0, 0, (byte) 0x04 };
final ClassTypeBuilder builder = new ClassTypeBuilder();
builder.setProcessingRule(true);
builder.setIgnore(false);
builder.setClassType(new ClassType((short) 4));
- assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, false), result));
+ assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, false), ByteArray.cutBytes(result, 4)));
assertArrayEquals(result, parser.serializeObject(builder.build()));
}
new AsNumberCaseBuilder().setAsNumber(new AsNumberBuilder().setAsNumber(new AsNumber(0x1234L)).build()).build()).build());
builder.setSubobjects(subs);
- assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(false, false), result));
+ assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(false, false), ByteArray.cutBytes(result, 4)));
assertArrayEquals(result, parser.serializeObject(builder.build()));
}
new PceId(new byte[] { (byte) 0x12, (byte) 0x34, (byte) 0x50, (byte) 0x00 })).build());
builder.setPathKeys(list);
- assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, false), result));
+ assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, false), ByteArray.cutBytes(result, 4)));
assertArrayEquals(result, parser.serializeObject(builder.build()));
}
@Test
public void testSrpObject() throws IOException, PCEPDeserializerException {
final PCEPSrpObjectParser parser = new PCEPSrpObjectParser(this.tlvRegistry);
- final byte[] result = new byte[] { 0, 0, 0, 0, 0, 0, 0, (byte) 0x01 };
+ final byte[] result = new byte[] { (byte) 0x21, (byte) 0x10, (byte) 0x00, (byte) 0x0c, 0, 0, 0, 0, 0, 0, 0, (byte) 0x01 };
final SrpBuilder builder = new SrpBuilder();
builder.setProcessingRule(false);
builder.setIgnore(false);
builder.setOperationId(new SrpIdNumber(1L));
- assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(false, false), result));
+ assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(false, false), ByteArray.cutBytes(result, 4)));
assertArrayEquals(result, parser.serializeObject(builder.build()));
}
builder.setIgnore(false);
builder.setCode(new OfId(4));
- assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, false), result));
+ assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, false), ByteArray.cutBytes(result, 4)));
assertArrayEquals(result, parser.serializeObject(builder.build()));
}
builder.setMinUtilization((short) 100);
builder.setOverBookingFactor((short) 99);
- assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, false), result));
+ assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(true, false), ByteArray.cutBytes(result, 4)));
assertArrayEquals(result, parser.serializeObject(builder.build()));
}
}