def test_app_param(): name = '/local/ndn/prefix' app_param = b'\x01\x02\x03\x04' interest, final_name = make_interest(name, InterestParam(), app_param, need_final_name=True) assert ( interest == b'\x05\x42\x07\x36\x08\x05local\x08\x03ndn\x08\x06prefix' b'\x02 \x47\x75\x6f\x21\xfe\x0e\xe2\x65\x14\x9a\xa2\xbe\x3c\x63\xc5\x38' b'\xa7\x23\x78\xe9\xb0\xa5\x8b\x39\xc5\x91\x63\x67\xd3\x5b\xda\x10' b'\x0c\x02\x0f\xa0\x24\x04\x01\x02\x03\x04') assert (final_name == Name.decode( b'\x07\x36\x08\x05local\x08\x03ndn\x08\x06prefix' b'\x02 \x47\x75\x6f\x21\xfe\x0e\xe2\x65\x14\x9a\xa2\xbe\x3c\x63\xc5\x38' b'\xa7\x23\x78\xe9\xb0\xa5\x8b\x39\xc5\x91\x63\x67\xd3\x5b\xda\x10' )[0]) name = '/test/params-sha256=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF/ndn' interest = make_interest(name, InterestParam(), app_param) assert ( interest == b'\x05\x39\x07\x2d\x08\x04test' b'\x02 \x47\x75\x6f\x21\xfe\x0e\xe2\x65\x14\x9a\xa2\xbe\x3c\x63\xc5\x38' b'\xa7\x23\x78\xe9\xb0\xa5\x8b\x39\xc5\x91\x63\x67\xd3\x5b\xda\x10' b'\x08\x03ndn' b'\x0c\x02\x0f\xa0\x24\x04\x01\x02\x03\x04')
def test_decode_func(): buf = b'\x00\x00\x00\x00\x00\x00\x07\x0c\x08\x01a\x08\x01b\x08\x01c\x08\x01d' with pytest.raises(ValueError): Name.decode(buf, 10) with pytest.raises(IndexError): Name.decode(buf[:-1], 6) name, size_name = Name.decode(buf, 6) assert size_name == 14 assert len(name) == 4 assert name[0] == b'\x08\x01a' assert name[1] == b'\x08\x01b' assert name[2] == b'\x08\x01c' assert name[3] == b'\x08\x01d' assert Name.decode(b'\x07\x00') == ([], 2)