mirror of
https://gitee.com/willfree/min-dev-java.git
synced 2026-06-18 06:00:25 +08:00
add:添加Packet部分联调测试
This commit is contained in:
@@ -1,19 +1,16 @@
|
||||
package packet;
|
||||
|
||||
import component.ComponentException;
|
||||
import component.Identifier;
|
||||
import component.IdentifierWrapper;
|
||||
import component.TTL;
|
||||
import component.*;
|
||||
import encoding.*;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/*
|
||||
* @Author: Wang Feng
|
||||
* @Author: feng Zhao
|
||||
* @Description:
|
||||
* @Version: 1.0.0
|
||||
* @Date: 14:08 2021/4/7
|
||||
* @Date: 14:08 2021/4/14
|
||||
* @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室
|
||||
*/
|
||||
public class CPacketTest {
|
||||
@@ -21,10 +18,20 @@ public class CPacketTest {
|
||||
public void TestCPacket_GetIdentifier() throws ComponentException {
|
||||
MINPacket packet=new MINPacket();
|
||||
Identifier wrapper=new Identifier("/min/pku/sz");
|
||||
Identifier wrapper1=new Identifier("/net/王");
|
||||
Identifier wrapper1=new Identifier("/pkusz/zf");
|
||||
|
||||
// byte[] buf = new byte[]{1, 2, 3, 4, 5, 6, 7, 8};
|
||||
// SignatureValue got = new SignatureValue(buf);
|
||||
// byte[] buf1 = new byte[]{1, 2, 3, 4, 5, 6, 7, 9};
|
||||
// SignatureValue got1 = new SignatureValue(buf1);
|
||||
// SignatureAlgorithm value = new SignatureAlgorithm(0);
|
||||
// SignatureInfo info = new SignatureInfo(value);
|
||||
// Signature signature = new Signature(info,got);
|
||||
// Signature signature1 = new Signature(info,got1);
|
||||
// packet.signatureField.addSignature(signature);
|
||||
// packet.signatureField.addSignature(signature1);
|
||||
|
||||
packet.packetType=new VlInt(3);
|
||||
|
||||
CPacket cPacket=new CPacket();
|
||||
cPacket.setSrcIdentifier(wrapper);
|
||||
cPacket.setDstIdentifier(wrapper1);
|
||||
@@ -55,7 +62,18 @@ public class CPacketTest {
|
||||
public void TestCPacket_WireEncode() throws EncoderException, ComponentException, PacketException, BlockException {
|
||||
MINPacket packet=new MINPacket();
|
||||
Identifier wrapper=new Identifier("/min/pku/sz");
|
||||
Identifier wrapper1=new Identifier("/net/王");
|
||||
Identifier wrapper1=new Identifier("/pkusz/zf");
|
||||
|
||||
// byte[] buf = new byte[]{1, 2, 3, 4, 5, 6, 7, 8};
|
||||
// SignatureValue got = new SignatureValue(buf);
|
||||
// byte[] buf1 = new byte[]{1, 2, 3, 4, 5, 6, 7, 9};
|
||||
// SignatureValue got1 = new SignatureValue(buf1);
|
||||
// SignatureAlgorithm value = new SignatureAlgorithm(0);
|
||||
// SignatureInfo info = new SignatureInfo(value);
|
||||
// Signature signature = new Signature(info,got);
|
||||
// Signature signature1 = new Signature(info,got1);
|
||||
// packet.signatureField.addSignature(signature);
|
||||
// packet.signatureField.addSignature(signature1);
|
||||
|
||||
packet.packetType=new VlInt(3);
|
||||
|
||||
@@ -86,4 +104,50 @@ public class CPacketTest {
|
||||
System.out.println("ttl: "+newPacket.getTtl().ttl());
|
||||
System.out.println("value: "+ Arrays.toString(newPacket.getValue()));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void TestCPacket_WireDecode() throws ComponentException, PacketException, BlockException, EncoderException {
|
||||
MINPacket packet = new MINPacket();
|
||||
Identifier wrapper = new Identifier("/min/pku/sz");
|
||||
Identifier wrapper1 = new Identifier("/install");
|
||||
|
||||
// byte[] buf = new byte[]{1, 2, 3, 4, 5, 6, 7, 8};
|
||||
// SignatureValue got = new SignatureValue(buf);
|
||||
// byte[] buf1 = new byte[]{1, 2, 3, 4, 5, 6, 7, 9};
|
||||
// SignatureValue got1 = new SignatureValue(buf1);
|
||||
// SignatureAlgorithm value = new SignatureAlgorithm(0);
|
||||
// SignatureInfo info = new SignatureInfo(value);
|
||||
// Signature signature = new Signature(info,got);
|
||||
// Signature signature1 = new Signature(info,got1);
|
||||
// packet.signatureField.addSignature(signature);
|
||||
// packet.signatureField.addSignature(signature1);
|
||||
|
||||
packet.packetType = new VlInt(3);
|
||||
CPacket cPacket = new CPacket();
|
||||
cPacket.setSrcIdentifier(wrapper);
|
||||
cPacket.setDstIdentifier(wrapper1);
|
||||
TTL ttl = new TTL();
|
||||
ttl.setTtl(16546418374324163L);
|
||||
cPacket.setTtl(ttl);
|
||||
byte[] bytes={(byte)1,(byte)2,(byte)3,(byte)4,(byte)6};
|
||||
cPacket.payload.setValue(bytes);
|
||||
System.out.println("cPacket:"+cPacket.srcIdentifier.toUri()+","+cPacket.dstIdentifier.toUri()
|
||||
+","+cPacket.getTtl().ttl()+","+Arrays.toString(cPacket.payload.getValue()));
|
||||
|
||||
Encoder encoder = new Encoder();
|
||||
encoder.encoderReset(new SizeT(Encoder.MaxPacketSize), new SizeT(0));
|
||||
cPacket.wireEncode(encoder);
|
||||
byte[] buf = encoder.getBuffer();
|
||||
Block block = Block.createBlockByBuffer(buf,false);
|
||||
// System.out.println(" block : "+block.getType()+","+block.getLength()+","+Arrays.toString(block.getValue()));
|
||||
|
||||
CPacket newPacket = new CPacket();
|
||||
newPacket.wireDecode(block);
|
||||
System.out.println("new cPacket srcUri:"+newPacket.srcIdentifier.toUri()+",dstUri:"+newPacket.dstIdentifier.toUri() +",ttl:"+newPacket.getTtl().ttl()+",block:"
|
||||
+newPacket.minPacket.readOnlyField.getBlocks().getBlock(0).getValue()+","
|
||||
+newPacket.minPacket.identifierField.getIdentifier(0).toUri()+","
|
||||
+newPacket.minPacket.identifierField.getIdentifier(1).toUri()
|
||||
);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,22 +3,24 @@ package packet;
|
||||
import component.ComponentException;
|
||||
import component.Identifier;
|
||||
import encoding.*;
|
||||
import minsecurity.identity.Identity;
|
||||
import org.junit.Test;
|
||||
import security.KeyChain;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/*
|
||||
* @Author: Wang Feng
|
||||
* @Author: feng Zhao
|
||||
* @Description:
|
||||
* @Version: 1.0.0
|
||||
* @Date: 21:19 2021/4/7
|
||||
* @Date: 21:19 2021/4/15
|
||||
* @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室
|
||||
*/
|
||||
public class DataTest {
|
||||
@Test
|
||||
public void TestData_ToUri() throws ComponentException {
|
||||
Data data=new Data();
|
||||
Identifier name=new Identifier("/wefree/王");
|
||||
Identifier name=new Identifier("/pkusz/zf");
|
||||
data.setName(name);
|
||||
System.out.println(data.getName().toUri());
|
||||
}
|
||||
@@ -40,13 +42,14 @@ public class DataTest {
|
||||
* @throws BlockException
|
||||
*/
|
||||
@Test
|
||||
public void TestData_WireEncode() throws ComponentException, EncoderException, PacketException, BlockException {
|
||||
public void TestData_WireEncode_Decode() throws ComponentException, EncoderException, PacketException, BlockException {
|
||||
/////////////// Encode ///////////////
|
||||
Data data=new Data();
|
||||
data.freshnessPeriod.setFreshnessPeriod(Long.MAX_VALUE);
|
||||
byte[] value={(byte)132,(byte)221,(byte)223,(byte)25};
|
||||
data.payload.setValue(value);
|
||||
data.congestionMark.setCongestionLevel(Long.MAX_VALUE);
|
||||
Identifier name=new Identifier("/wefree/王");
|
||||
Identifier name=new Identifier("/pkusz/zf");
|
||||
data.setName(name);
|
||||
|
||||
Encoder encoder=new Encoder();
|
||||
@@ -57,6 +60,8 @@ public class DataTest {
|
||||
|
||||
Block block=new Block(buf,false);
|
||||
System.out.println("block buf: "+Arrays.toString(block.getValue()));
|
||||
|
||||
/////////////// Decode ///////////////
|
||||
Data newData=new Data();
|
||||
System.out.println("decode res: "+newData.wireDecode(block));
|
||||
encoder.encoderReset(new SizeT(Encoder.MaxPacketSize),new SizeT(0));
|
||||
@@ -64,6 +69,39 @@ public class DataTest {
|
||||
byte[] newbuf=encoder.getBuffer();
|
||||
System.out.println("newbuf: "+ Arrays.toString(newbuf));
|
||||
System.out.println("new uri: "+newData.toUri()
|
||||
+" , freshness; "+newData.freshnessPeriod.getFreshnessPeriod());
|
||||
+" , freshness; "+newData.freshnessPeriod.getFreshnessPeriod()
|
||||
+" , payload: "+newData.payload.getValue() );
|
||||
}
|
||||
|
||||
@Test
|
||||
public void WireEncode2() throws Exception {
|
||||
Identifier name = new Identifier("/min/pkusz");
|
||||
//////////////////// 构建数据包 ////////////////////////
|
||||
Data data = new Data();
|
||||
data.setName(name);
|
||||
data.freshnessPeriod.setFreshnessPeriod(1234);
|
||||
byte[] str = "hello world".getBytes();
|
||||
data.congestionMark.setCongestionLevel(1234);
|
||||
// todo data.setttl(1234);
|
||||
/////////////////////////////////////////////////////
|
||||
|
||||
//////////////////// 数据包签名 ////////////////////////
|
||||
// 如果要进行包签名的话,则需要加入KeyChain
|
||||
KeyChain keyChain = new KeyChain();
|
||||
// 获取身份
|
||||
Identity i = keyChain.getIdentifyManager().getIdentityByName("/localhost/operator");
|
||||
// 将身份对应的加密秘钥作为第二个参数传入
|
||||
keyChain.setCurrentIdentity(i,"pkusz123pkusz123");
|
||||
keyChain.signData(data);
|
||||
/////////////////////////////////////////////////////
|
||||
|
||||
// 获取编码结果
|
||||
Encoder encoder = new Encoder();
|
||||
encoder.encoderReset(new SizeT(Encoder.MaxPacketSize), new SizeT(0));
|
||||
data.wireEncode(encoder);
|
||||
byte[] buf = encoder.getBuffer();
|
||||
System.out.println(Arrays.toString(buf));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -4,22 +4,24 @@ import component.ComponentException;
|
||||
import component.Identifier;
|
||||
import component.TTL;
|
||||
import encoding.*;
|
||||
import minsecurity.identity.Identity;
|
||||
import org.junit.Test;
|
||||
import security.KeyChain;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/*
|
||||
* @Author: Wang Feng
|
||||
* @Author: feng Zhao
|
||||
* @Description:
|
||||
* @Version: 1.0.0
|
||||
* @Date: 10:32 2021/4/8
|
||||
* @Date: 10:32 2021/4/14
|
||||
* @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室
|
||||
*/
|
||||
public class InterestTest {
|
||||
@Test
|
||||
public void TestInterest_ToUri() throws ComponentException {
|
||||
Interest interest=new Interest();
|
||||
Identifier name=new Identifier("/wefree/王");
|
||||
Identifier name=new Identifier("/pkusz/zf");
|
||||
interest.setName(name);
|
||||
System.out.println(interest.getName().toUri());
|
||||
}
|
||||
@@ -48,7 +50,7 @@ public class InterestTest {
|
||||
byte[] value={(byte)132,(byte)221,(byte)223,(byte)25};
|
||||
interest.payload.setValue(value);
|
||||
interest.congestionMark.setCongestionLevel(Long.MAX_VALUE);
|
||||
Identifier name=new Identifier("/wefree/王");
|
||||
Identifier name=new Identifier("/pkusz/zf");
|
||||
interest.setName(name);
|
||||
|
||||
Encoder encoder=new Encoder();
|
||||
@@ -68,4 +70,38 @@ public class InterestTest {
|
||||
System.out.println("new uri: "+newInterest.toUri()
|
||||
+" , ttl; "+newInterest.ttl.ttl());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void TestInterest_WireEncode2() throws Exception {
|
||||
Identifier name = new Identifier("/min/pkusz");
|
||||
//////////////////// 构建兴趣包 ////////////////////////
|
||||
Interest interest = new Interest();
|
||||
interest.setName(name);
|
||||
interest.canBePrefix.setCanBePrefix(true);
|
||||
interest.mustBeRefresh.setMustBeRefresh(true);
|
||||
interest.nonce.setNonce(1234);
|
||||
interest.hopLimit.setHopLimit(1234);
|
||||
interest.congestionMark.setCongestionLevel(1234);
|
||||
interest.ttl.setTtl(1234);
|
||||
byte[] str = "hello world".getBytes();
|
||||
interest.payload.setValue(str);
|
||||
//////////////////////////////////////////////////////
|
||||
|
||||
//////////////////// 兴趣包签名 ////////////////////////
|
||||
// 如果要进行包签名的话,则需要加入KeyChain
|
||||
KeyChain keyChain = new KeyChain();
|
||||
// Identity i = keyChain.getIdentifyManager().getIdentityByName("/min123");
|
||||
Identity i = keyChain.getIdentifyManager().getIdentityByName("/localhost/operator");
|
||||
keyChain.setCurrentIdentity(i,"pkusz123pkusz123");
|
||||
keyChain.signInterest(interest);
|
||||
/////////////////////////////////////////////////////
|
||||
|
||||
// 获取编码结果
|
||||
Encoder encoder = new Encoder();
|
||||
encoder.encoderReset(new SizeT(Encoder.MaxPacketSize), new SizeT(0));
|
||||
interest.wireEncode(encoder);
|
||||
byte[] buf = encoder.getBuffer();
|
||||
System.out.println(Arrays.toString(buf));
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,89 @@
|
||||
package packet;
|
||||
|
||||
import component.*;
|
||||
import encoding.*;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/*
|
||||
* @Author: Wang Feng
|
||||
* @Author: feng Zhao
|
||||
* @Description:
|
||||
* @Version: 1.0.0
|
||||
* @Date: 11:17 2021/4/2
|
||||
* @Date: 11:17 2021/4/16
|
||||
* @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室
|
||||
*/
|
||||
public class MINPacketTest {
|
||||
@Test
|
||||
public void TestMINPacket_IsPacketValid() throws ComponentException, EncoderException, PacketException, BlockException {
|
||||
MINPacket packet = new MINPacket();
|
||||
IdentifierWrapper wrapper = new IdentifierWrapper();
|
||||
wrapper.createCommonIdentifierByString("/min/pku/sz");
|
||||
IdentifierWrapper wrapper1 = new IdentifierWrapper(new VlInt(105), "/install");
|
||||
|
||||
packet.identifierField.setIdentifier(0,wrapper);
|
||||
packet.identifierField.setIdentifier(1,wrapper1);
|
||||
byte[] buf = new byte[]{1, 2, 3, 4, 5, 6, 7, 8};
|
||||
SignatureValue got = new SignatureValue(buf);
|
||||
byte[] buf1 = new byte[]{1, 2, 3, 4, 5, 6, 7, 9};
|
||||
SignatureValue got1 = new SignatureValue(buf1);
|
||||
|
||||
SignatureAlgorithm value = new SignatureAlgorithm(0);
|
||||
SignatureInfo info = new SignatureInfo(value);
|
||||
|
||||
Signature signature = new Signature(info,got);
|
||||
Signature signature1 = new Signature(info,got1);
|
||||
|
||||
packet.signatureField.addSignature(signature);
|
||||
packet.signatureField.addSignature(signature1);
|
||||
|
||||
packet.packetType = new VlInt(3);
|
||||
System.out.println("packet:"+packet.isPacketValid());
|
||||
Encoder encoder = new Encoder();
|
||||
encoder.encoderReset(new SizeT(Encoder.MaxPacketSize), new SizeT(0));
|
||||
packet.wireEncode(encoder);
|
||||
byte[] packetBuf = encoder.getBuffer();
|
||||
System.out.println("packetBuf:"+ Arrays.toString(packetBuf));
|
||||
System.out.println("encode res: "+packet.wireEncode(encoder));
|
||||
|
||||
// /////////////// Decode /////////////////
|
||||
// Block block = new Block(packetBuf,false);
|
||||
// MINPacket newPacket = new MINPacket();
|
||||
// System.out.println("decode res: "+ newPacket.wireDecode(block));
|
||||
// newPacket.wireDecode(block);
|
||||
// System.out.println("IdentifiersContainer size: "+newPacket.identifierField.getIdentifiers().length());
|
||||
// System.out.println("new v:"+newPacket.identifierField.getIdentifiers().getElement(0).toUri());
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void TestMINPacket_WireDecode() throws ComponentException, EncoderException, PacketException, BlockException {
|
||||
MINPacket packet = new MINPacket();
|
||||
IdentifierWrapper wrapper = new IdentifierWrapper();
|
||||
wrapper.createCommonIdentifierByString("/min/pku/sz");
|
||||
IdentifierWrapper wrapper1 = new IdentifierWrapper(new VlInt(105), "/install");
|
||||
|
||||
packet.identifierField.setIdentifier(0,wrapper);
|
||||
packet.identifierField.setIdentifier(1,wrapper1);
|
||||
|
||||
packet.packetType = new VlInt(3);
|
||||
// System.out.println("v:"+packet.identifierField.getIdentifiers().getElement(0).toUri());
|
||||
System.out.println("packet:"+packet.isPacketValid());
|
||||
|
||||
Encoder encoder = new Encoder();
|
||||
encoder.encoderReset(new SizeT(Encoder.MaxPacketSize), new SizeT(0));
|
||||
packet.wireEncode(encoder);
|
||||
byte[] packetBuf = encoder.getBuffer();
|
||||
System.out.println("packetBuf:"+ Arrays.toString(packetBuf));
|
||||
|
||||
Block block = new Block(packetBuf,false);
|
||||
MINPacket newPacket = new MINPacket();
|
||||
System.out.println("decode res1:"+ newPacket.wireDecode(block));
|
||||
newPacket.wireDecode(block);
|
||||
System.out.println("decode res2:"+ newPacket.wireDecode(block));
|
||||
System.out.println("new v:"+newPacket.identifierField.getIdentifiers().getElement(0).toUri());
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user