from pyderasn import LEN_YYYYMMDDHHMMSSDMZ
from pyderasn import LEN_YYYYMMDDHHMMSSZ
from pyderasn import LENINDEF
+from pyderasn import LenIndefForm
from pyderasn import NotEnoughData
from pyderasn import Null
from pyderasn import NumericString
obj = Boolean()
self.assertFalse(obj.ready)
repr(obj)
- pprint(obj)
+ list(obj.pps())
+ pprint(obj, big_blobs=True, with_decode_path=True)
with self.assertRaises(ObjNotReady) as err:
obj.encode()
repr(err.exception)
obj = Boolean(value)
self.assertTrue(obj.ready)
repr(obj)
- pprint(obj)
+ list(obj.pps())
+ pprint(obj, big_blobs=True, with_decode_path=True)
@given(booleans(), booleans(), binary(), binary())
def test_comparison(self, value1, value2, tag1, tag2):
_decoded=_decoded,
)
repr(obj)
- pprint(obj)
+ list(obj.pps())
+ pprint(obj, big_blobs=True, with_decode_path=True)
self.assertFalse(obj.expled)
obj_encoded = obj.encode()
obj_expled = obj(value, expl=tag_expl)
self.assertTrue(obj_expled.expled)
repr(obj_expled)
- pprint(obj_expled)
+ list(obj_expled.pps())
+ pprint(obj_expled, big_blobs=True, with_decode_path=True)
obj_expled_encoded = obj_expled.encode()
obj_decoded, tail = obj_expled.decode(
obj_expled_encoded + tail_junk,
offset=offset,
)
repr(obj_decoded)
- pprint(obj_decoded)
+ list(obj_decoded.pps())
+ pprint(obj_decoded, big_blobs=True, with_decode_path=True)
self.assertEqual(tail, tail_junk)
self.assertEqual(obj_decoded, obj_expled)
self.assertNotEqual(obj_decoded, obj)
)
def test_ber_expl_no_eoc(self, expl, junk):
encoded = expl + LENINDEF + Boolean(False).encode()
+ with self.assertRaises(LenIndefForm):
+ Boolean(expl=expl).decode(encoded + junk)
with assertRaisesRegex(self, DecodeError, "no EOC"):
Boolean(expl=expl).decode(encoded + junk, ctx={"bered": True})
obj, tail = Boolean(expl=expl).decode(
self.assertFalse(obj.ber_encoded)
self.assertTrue(obj.bered)
self.assertSequenceEqual(tail, junk)
+ repr(obj)
+ list(obj.pps())
+ pprint(obj, big_blobs=True, with_decode_path=True)
@given(
integers(min_value=1).map(tag_ctxc),
class SeqOf(SequenceOf):
schema = Boolean(expl=expl)
+ with self.assertRaises(LenIndefForm):
+ SeqOf().decode(encoded)
seqof, tail = SeqOf().decode(encoded, ctx={"bered": True})
self.assertSequenceEqual(tail, b"")
self.assertSequenceEqual([bool(v) for v in seqof], values)
True,
),)),
)
+ repr(seqof)
+ list(seqof.pps())
+ pprint(seqof, big_blobs=True, with_decode_path=True)
@composite
obj = Integer()
self.assertFalse(obj.ready)
repr(obj)
- pprint(obj)
+ list(obj.pps())
+ pprint(obj, big_blobs=True, with_decode_path=True)
with self.assertRaises(ObjNotReady) as err:
obj.encode()
repr(err.exception)
obj = Integer(value)
self.assertTrue(obj.ready)
repr(obj)
- pprint(obj)
+ list(obj.pps())
+ pprint(obj, big_blobs=True, with_decode_path=True)
hash(obj)
@given(integers(), integers(), binary(), binary())
_decoded=_decoded,
)
repr(obj)
- pprint(obj)
+ list(obj.pps())
+ pprint(obj, big_blobs=True, with_decode_path=True)
self.assertFalse(obj.expled)
obj_encoded = obj.encode()
obj_expled = obj(value, expl=tag_expl)
self.assertTrue(obj_expled.expled)
repr(obj_expled)
- pprint(obj_expled)
+ list(obj_expled.pps())
+ pprint(obj_expled, big_blobs=True, with_decode_path=True)
obj_expled_encoded = obj_expled.encode()
obj_decoded, tail = obj_expled.decode(
obj_expled_encoded + tail_junk,
offset=offset,
)
repr(obj_decoded)
- pprint(obj_decoded)
+ list(obj_decoded.pps())
+ pprint(obj_decoded, big_blobs=True, with_decode_path=True)
self.assertEqual(tail, tail_junk)
self.assertEqual(obj_decoded, obj_expled)
self.assertNotEqual(obj_decoded, obj)
obj = BitString()
self.assertFalse(obj.ready)
repr(obj)
- pprint(obj)
+ list(obj.pps())
+ pprint(obj, big_blobs=True, with_decode_path=True)
with self.assertRaises(ObjNotReady) as err:
obj.encode()
repr(err.exception)
obj = BitString(value)
self.assertTrue(obj.ready)
repr(obj)
- pprint(obj)
+ list(obj.pps())
+ pprint(obj, big_blobs=True, with_decode_path=True)
@given(
tuples(integers(min_value=0), binary()),
_decoded=_decoded,
)
repr(obj)
- pprint(obj)
+ list(obj.pps())
+ pprint(obj, big_blobs=True, with_decode_path=True)
self.assertFalse(obj.expled)
obj_encoded = obj.encode()
obj_expled = obj(value, expl=tag_expl)
self.assertTrue(obj_expled.expled)
repr(obj_expled)
- pprint(obj_expled)
+ list(obj_expled.pps())
+ pprint(obj_expled, big_blobs=True, with_decode_path=True)
obj_expled_encoded = obj_expled.encode()
obj_decoded, tail = obj_expled.decode(
obj_expled_encoded + tail_junk,
offset=offset,
)
repr(obj_decoded)
- pprint(obj_decoded)
+ list(obj_decoded.pps())
+ pprint(obj_decoded, big_blobs=True, with_decode_path=True)
self.assertEqual(tail, tail_junk)
self.assertEqual(obj_decoded, obj_expled)
self.assertNotEqual(obj_decoded, obj)
obj = OctetString()
self.assertFalse(obj.ready)
repr(obj)
- pprint(obj)
+ list(obj.pps())
+ pprint(obj, big_blobs=True, with_decode_path=True)
with self.assertRaises(ObjNotReady) as err:
obj.encode()
repr(err.exception)
obj = OctetString(value)
self.assertTrue(obj.ready)
repr(obj)
- pprint(obj)
+ list(obj.pps())
+ pprint(obj, big_blobs=True, with_decode_path=True)
@given(binary(), binary(), binary(min_size=1), binary(min_size=1))
def test_comparison(self, value1, value2, tag1, tag2):
_decoded=_decoded,
)
repr(obj)
- pprint(obj)
+ list(obj.pps())
+ pprint(obj, big_blobs=True, with_decode_path=True)
self.assertFalse(obj.expled)
obj_encoded = obj.encode()
obj_expled = obj(value, expl=tag_expl)
self.assertTrue(obj_expled.expled)
repr(obj_expled)
- pprint(obj_expled)
+ list(obj_expled.pps())
+ pprint(obj_expled, big_blobs=True, with_decode_path=True)
obj_expled_encoded = obj_expled.encode()
obj_decoded, tail = obj_expled.decode(
obj_expled_encoded + tail_junk,
offset=offset,
)
repr(obj_decoded)
- pprint(obj_decoded)
+ list(obj_decoded.pps())
+ pprint(obj_decoded, big_blobs=True, with_decode_path=True)
self.assertEqual(tail, tail_junk)
self.assertEqual(obj_decoded, obj_expled)
self.assertNotEqual(obj_decoded, obj)
obj = Null()
self.assertTrue(obj.ready)
repr(obj)
- pprint(obj)
+ list(obj.pps())
+ pprint(obj, big_blobs=True, with_decode_path=True)
@given(binary(), binary())
def test_comparison(self, tag1, tag2):
_, _, optional, _decoded = values
obj = klass(optional=optional, _decoded=_decoded)
repr(obj)
- pprint(obj)
+ list(obj.pps())
+ pprint(obj, big_blobs=True, with_decode_path=True)
self.assertFalse(obj.expled)
obj_encoded = obj.encode()
obj_expled = obj(expl=tag_expl)
self.assertTrue(obj_expled.expled)
repr(obj_expled)
- pprint(obj_expled)
+ list(obj_expled.pps())
+ pprint(obj_expled, big_blobs=True, with_decode_path=True)
obj_expled_encoded = obj_expled.encode()
obj_decoded, tail = obj_expled.decode(
obj_expled_encoded + tail_junk,
offset=offset,
)
repr(obj_decoded)
- pprint(obj_decoded)
+ list(obj_decoded.pps())
+ pprint(obj_decoded, big_blobs=True, with_decode_path=True)
self.assertEqual(tail, tail_junk)
self.assertEqual(obj_decoded, obj_expled)
self.assertNotEqual(obj_decoded, obj)
obj = ObjectIdentifier()
self.assertFalse(obj.ready)
repr(obj)
- pprint(obj)
+ list(obj.pps())
+ pprint(obj, big_blobs=True, with_decode_path=True)
with self.assertRaises(ObjNotReady) as err:
obj.encode()
repr(err.exception)
obj = ObjectIdentifier(value)
self.assertTrue(obj.ready)
repr(obj)
- pprint(obj)
+ list(obj.pps())
+ pprint(obj, big_blobs=True, with_decode_path=True)
hash(obj)
@given(oid_strategy(), oid_strategy(), binary(), binary())
self.assertEqual(obj, ObjectIdentifier(".".join(str(arc) for arc in oid)))
str(obj)
repr(obj)
- pprint(obj)
+ pprint(obj, big_blobs=True, with_decode_path=True)
@settings(max_examples=LONG_TEST_MAX_EXAMPLES)
@given(
_decoded=_decoded,
)
repr(obj)
- pprint(obj)
+ list(obj.pps())
+ pprint(obj, big_blobs=True, with_decode_path=True)
self.assertFalse(obj.expled)
obj_encoded = obj.encode()
obj_expled = obj(value, expl=tag_expl)
self.assertTrue(obj_expled.expled)
repr(obj_expled)
- pprint(obj_expled)
+ list(obj_expled.pps())
+ pprint(obj_expled, big_blobs=True, with_decode_path=True)
obj_expled_encoded = obj_expled.encode()
obj_decoded, tail = obj_expled.decode(
obj_expled_encoded + tail_junk,
offset=offset,
)
repr(obj_decoded)
- pprint(obj_decoded)
+ list(obj_decoded.pps())
+ pprint(obj_decoded, big_blobs=True, with_decode_path=True)
self.assertEqual(tail, tail_junk)
self.assertEqual(obj_decoded, obj_expled)
self.assertNotEqual(obj_decoded, obj)
obj = self.base_klass()
self.assertFalse(obj.ready)
repr(obj)
- pprint(obj)
+ list(obj.pps())
+ pprint(obj, big_blobs=True, with_decode_path=True)
with self.assertRaises(ObjNotReady) as err:
obj.encode()
repr(err.exception)
obj = self.base_klass("whatever")
self.assertTrue(obj.ready)
repr(obj)
- pprint(obj)
+ list(obj.pps())
+ pprint(obj, big_blobs=True, with_decode_path=True)
@given(integers(), integers(), binary(), binary())
def test_comparison(self, value1, value2, tag1, tag2):
_decoded=_decoded,
)
repr(obj)
- pprint(obj)
+ list(obj.pps())
+ pprint(obj, big_blobs=True, with_decode_path=True)
self.assertFalse(obj.expled)
obj_encoded = obj.encode()
obj_expled = obj(value, expl=tag_expl)
self.assertTrue(obj_expled.expled)
repr(obj_expled)
- pprint(obj_expled)
+ list(obj_expled.pps())
+ pprint(obj_expled, big_blobs=True, with_decode_path=True)
obj_expled_encoded = obj_expled.encode()
obj_decoded, tail = obj_expled.decode(
obj_expled_encoded + tail_junk,
offset=offset,
)
repr(obj_decoded)
- pprint(obj_decoded)
+ list(obj_decoded.pps())
+ pprint(obj_decoded, big_blobs=True, with_decode_path=True)
self.assertEqual(tail, tail_junk)
self.assertEqual(obj_decoded, obj_expled)
self.assertNotEqual(obj_decoded, obj)
obj = self.base_klass()
self.assertFalse(obj.ready)
repr(obj)
- pprint(obj)
+ list(obj.pps())
+ pprint(obj, big_blobs=True, with_decode_path=True)
text_type(obj)
with self.assertRaises(ObjNotReady) as err:
obj.encode()
obj = self.base_klass(value)
self.assertTrue(obj.ready)
repr(obj)
- pprint(obj)
+ list(obj.pps())
+ pprint(obj, big_blobs=True, with_decode_path=True)
text_type(obj)
@given(data_strategy())
_decoded=_decoded,
)
repr(obj)
- pprint(obj)
+ list(obj.pps())
+ pprint(obj, big_blobs=True, with_decode_path=True)
self.assertFalse(obj.expled)
obj_encoded = obj.encode()
obj_expled = obj(value, expl=tag_expl)
self.assertTrue(obj_expled.expled)
repr(obj_expled)
- pprint(obj_expled)
+ list(obj_expled.pps())
+ pprint(obj_expled, big_blobs=True, with_decode_path=True)
obj_expled_encoded = obj_expled.encode()
obj_decoded, tail = obj_expled.decode(
obj_expled_encoded + tail_junk,
offset=offset,
)
repr(obj_decoded)
- pprint(obj_decoded)
+ list(obj_decoded.pps())
+ pprint(obj_decoded, big_blobs=True, with_decode_path=True)
self.assertEqual(tail, tail_junk)
self.assertEqual(obj_decoded, obj_expled)
self.assertNotEqual(obj_decoded, obj)
obj = self.base_klass()
self.assertFalse(obj.ready)
repr(obj)
- pprint(obj)
+ list(obj.pps())
+ pprint(obj, big_blobs=True, with_decode_path=True)
with self.assertRaises(ObjNotReady) as err:
obj.encode()
repr(err.exception)
obj = self.base_klass(value)
self.assertTrue(obj.ready)
repr(obj)
- pprint(obj)
+ list(obj.pps())
+ pprint(obj, big_blobs=True, with_decode_path=True)
@given(data_strategy())
def test_comparison(self, d):
_decoded=_decoded,
)
repr(obj)
- pprint(obj)
+ list(obj.pps())
+ pprint(obj, big_blobs=True, with_decode_path=True)
self.assertFalse(obj.expled)
obj_encoded = obj.encode()
obj_expled = obj(value, expl=tag_expl)
self.assertTrue(obj_expled.expled)
repr(obj_expled)
- pprint(obj_expled)
+ list(obj_expled.pps())
+ pprint(obj_expled, big_blobs=True, with_decode_path=True)
obj_expled_encoded = obj_expled.encode()
obj_decoded, tail = obj_expled.decode(
obj_expled_encoded + tail_junk,
offset=offset,
)
repr(obj_decoded)
- pprint(obj_decoded)
+ list(obj_decoded.pps())
+ pprint(obj_decoded, big_blobs=True, with_decode_path=True)
self.assertEqual(tail, tail_junk)
self.assertEqual(obj_decoded, obj_expled)
self.assertEqual(obj_decoded.todatetime(), obj_expled.todatetime())
obj = Any()
self.assertFalse(obj.ready)
repr(obj)
- pprint(obj)
+ list(obj.pps())
+ pprint(obj, big_blobs=True, with_decode_path=True)
with self.assertRaises(ObjNotReady) as err:
obj.encode()
repr(err.exception)
obj = Any(value)
self.assertTrue(obj.ready)
repr(obj)
- pprint(obj)
+ list(obj.pps())
+ pprint(obj, big_blobs=True, with_decode_path=True)
@given(integers())
def test_basic(self, value):
len(integer_encoded),
)
repr(obj)
- pprint(obj)
+ list(obj.pps())
+ pprint(obj, big_blobs=True, with_decode_path=True)
self.assertSequenceEqual(obj.encode(), integer_encoded)
@given(binary(), binary())
_, _, optional, _decoded = values
obj = klass(value=value, optional=optional, _decoded=_decoded)
repr(obj)
- pprint(obj)
+ list(obj.pps())
+ pprint(obj, big_blobs=True, with_decode_path=True)
self.assertFalse(obj.expled)
obj_encoded = obj.encode()
obj_expled = obj(value, expl=tag_expl)
self.assertTrue(obj_expled.expled)
repr(obj_expled)
- pprint(obj_expled)
+ list(obj_expled.pps())
+ pprint(obj_expled, big_blobs=True, with_decode_path=True)
obj_expled_encoded = obj_expled.encode()
obj_decoded, tail = obj_expled.decode(
obj_expled_encoded + tail_junk,
offset=offset,
)
repr(obj_decoded)
- pprint(obj_decoded)
+ list(obj_decoded.pps())
+ pprint(obj_decoded, big_blobs=True, with_decode_path=True)
self.assertEqual(tail, tail_junk)
self.assertEqual(obj_decoded, obj_expled)
self.assertEqual(bytes(obj_decoded), bytes(obj_expled))
b"".join([chunk] * chunks) +
EOC
)
+ with self.assertRaises(LenIndefForm):
+ Any().decode(
+ encoded + junk,
+ offset=offset,
+ decode_path=decode_path,
+ )
obj, tail = Any().decode(
encoded + junk,
offset=offset,
self.assertTrue(obj.lenindef)
self.assertFalse(obj.ber_encoded)
self.assertTrue(obj.bered)
+ repr(obj)
+ list(obj.pps())
+ pprint(obj, big_blobs=True, with_decode_path=True)
with self.assertRaises(NotEnoughData) as err:
Any().decode(
encoded[:-1],
self.assertEqual(err.exception.offset, offset + 1 + 1 + len(chunk) * chunks)
self.assertEqual(err.exception.decode_path, decode_path + (str(chunks),))
+ class SeqOf(SequenceOf):
+ schema = Boolean(expl=expl)
+
+ class Seq(Sequence):
+ schema = (
+ ("type", ObjectIdentifier(defines=((("value",), {
+ ObjectIdentifier("1.2.3"): SeqOf(impl=OctetString.tag_default),
+ }),))),
+ ("value", Any()),
+ )
+ seq = Seq((
+ ("type", ObjectIdentifier("1.2.3")),
+ ("value", Any(encoded)),
+ ))
+ seq_encoded = seq.encode()
+ seq_decoded, _ = Seq().decode(seq_encoded, ctx={"bered": True})
+ self.assertIsNotNone(seq_decoded["value"].defined)
+ repr(seq_decoded)
+ list(seq_decoded.pps())
+ pprint(seq_decoded, big_blobs=True, with_decode_path=True)
+ self.assertTrue(seq_decoded.bered)
+ self.assertFalse(seq_decoded["type"].bered)
+ self.assertTrue(seq_decoded["value"].bered)
+
+ chunk = chunk[:-1] + b"\x01"
+ chunks = b"".join([chunk] * (chunks + 1))
+ encoded = OctetString.tag_default + len_encode(len(chunks)) + chunks
+ seq = Seq((
+ ("type", ObjectIdentifier("1.2.3")),
+ ("value", Any(encoded)),
+ ))
+ seq_encoded = seq.encode()
+ seq_decoded, _ = Seq().decode(seq_encoded, ctx={"bered": True})
+ self.assertIsNotNone(seq_decoded["value"].defined)
+ repr(seq_decoded)
+ list(seq_decoded.pps())
+ pprint(seq_decoded, big_blobs=True, with_decode_path=True)
+ self.assertTrue(seq_decoded.bered)
+ self.assertFalse(seq_decoded["type"].bered)
+ self.assertTrue(seq_decoded["value"].bered)
+
@composite
def choice_values_strategy(draw, value_required=False, schema=None, do_expl=False):
obj = self.base_klass()
self.assertFalse(obj.ready)
repr(obj)
- pprint(obj)
+ list(obj.pps())
+ pprint(obj, big_blobs=True, with_decode_path=True)
self.assertIsNone(obj["whatever"])
with self.assertRaises(ObjNotReady) as err:
obj.encode()
obj["whatever"] = Boolean()
self.assertFalse(obj.ready)
repr(obj)
- pprint(obj)
+ list(obj.pps())
+ pprint(obj, big_blobs=True, with_decode_path=True)
obj["whatever"] = Boolean(value)
self.assertTrue(obj.ready)
repr(obj)
- pprint(obj)
+ list(obj.pps())
+ pprint(obj, big_blobs=True, with_decode_path=True)
@given(booleans(), booleans())
def test_comparison(self, value1, value2):
_decoded=_decoded,
)
repr(obj)
- pprint(obj)
+ list(obj.pps())
+ pprint(obj, big_blobs=True, with_decode_path=True)
self.assertFalse(obj.expled)
obj_encoded = obj.encode()
obj_expled = obj(value, expl=tag_expl)
self.assertTrue(obj_expled.expled)
repr(obj_expled)
- pprint(obj_expled)
+ list(obj_expled.pps())
+ pprint(obj_expled, big_blobs=True, with_decode_path=True)
obj_expled_encoded = obj_expled.encode()
obj_decoded, tail = obj_expled.decode(
obj_expled_encoded + tail_junk,
offset=offset,
)
repr(obj_decoded)
- pprint(obj_decoded)
+ list(obj_decoded.pps())
+ pprint(obj_decoded, big_blobs=True, with_decode_path=True)
self.assertEqual(tail, tail_junk)
self.assertEqual(obj_decoded, obj_expled)
self.assertEqual(obj_decoded.choice, obj_expled.choice)
seq[name] = Boolean()
self.assertFalse(seq.ready)
repr(seq)
- pprint(seq)
+ list(seq.pps())
+ pprint(seq, big_blobs=True, with_decode_path=True)
for name, value in ready.items():
seq[name] = Boolean(value)
self.assertFalse(seq.ready)
repr(seq)
- pprint(seq)
+ list(seq.pps())
+ pprint(seq, big_blobs=True, with_decode_path=True)
with self.assertRaises(ObjNotReady) as err:
seq.encode()
repr(err.exception)
seq[name] = Boolean(value)
self.assertTrue(seq.ready)
repr(seq)
- pprint(seq)
+ list(seq.pps())
+ pprint(seq, big_blobs=True, with_decode_path=True)
@given(data_strategy())
def test_call(self, d):
self.assertFalse(seq.decoded)
self._assert_expects(seq, expects)
repr(seq)
- pprint(seq)
+ list(seq.pps())
+ pprint(seq, big_blobs=True, with_decode_path=True)
self.assertTrue(seq.ready)
seq_encoded = seq.encode()
seq_decoded, tail = seq.decode(seq_encoded + tail_junk)
with self.assertRaises(DecodeError):
seq.decode(seq_encoded_lenindef[:-2], ctx={"bered": True})
repr(seq_decoded_lenindef)
- pprint(seq_decoded_lenindef)
+ list(seq_decoded_lenindef.pps())
+ pprint(seq_decoded_lenindef, big_blobs=True, with_decode_path=True)
self.assertTrue(seq_decoded_lenindef.ready)
for decoded, decoded_tail, encoded in (
EOC
)
encoded = Seq.tag_default + len_encode(len(encoded)) + encoded
+ with self.assertRaises(DecodeError):
+ Seq().decode(encoded)
decoded, _ = Seq().decode(encoded, ctx={"bered": True})
self.assertFalse(decoded.ber_encoded)
self.assertFalse(decoded.lenindef)
seqof.append(value)
self.assertFalse(seqof.ready)
repr(seqof)
- pprint(seqof)
+ list(seqof.pps())
+ pprint(seqof, big_blobs=True, with_decode_path=True)
with self.assertRaises(ObjNotReady) as err:
seqof.encode()
repr(err.exception)
seqof[i] = Integer(i)
self.assertTrue(seqof.ready)
repr(seqof)
- pprint(seqof)
+ list(seqof.pps())
+ pprint(seqof, big_blobs=True, with_decode_path=True)
def test_spec_mismatch(self):
class SeqOf(self.base_klass):
_decoded=_decoded,
)
repr(obj)
- pprint(obj)
+ list(obj.pps())
+ pprint(obj, big_blobs=True, with_decode_path=True)
self.assertFalse(obj.expled)
obj_encoded = obj.encode()
obj_expled = obj(value, expl=tag_expl)
self.assertTrue(obj_expled.expled)
repr(obj_expled)
- pprint(obj_expled)
+ list(obj_expled.pps())
+ pprint(obj_expled, big_blobs=True, with_decode_path=True)
obj_expled_encoded = obj_expled.encode()
obj_decoded, tail = obj_expled.decode(
obj_expled_encoded + tail_junk,
offset=offset,
)
repr(obj_decoded)
- pprint(obj_decoded)
+ list(obj_decoded.pps())
+ pprint(obj_decoded, big_blobs=True, with_decode_path=True)
self.assertEqual(tail, tail_junk)
self._test_symmetric_compare_objs(obj_decoded, obj_expled)
self.assertSequenceEqual(obj_decoded.encode(), obj_expled_encoded)
self.assertTrue(obj_decoded_lenindef.lenindef)
self.assertTrue(obj_decoded_lenindef.bered)
repr(obj_decoded_lenindef)
- pprint(obj_decoded_lenindef)
+ list(obj_decoded_lenindef.pps())
+ pprint(obj_decoded_lenindef, big_blobs=True, with_decode_path=True)
self.assertEqual(obj_decoded_lenindef.tlvlen, len(obj_encoded_lenindef))
with self.assertRaises(DecodeError):
obj.decode(obj_encoded_lenindef[:-1], ctx={"bered": True})
encoded = Boolean(False).encode()
encoded += Boolean.tag_default + len_encode(1) + b"\x01"
encoded = SeqOf.tag_default + len_encode(len(encoded)) + encoded
+ with self.assertRaises(DecodeError):
+ SeqOf().decode(encoded)
decoded, _ = SeqOf().decode(encoded, ctx={"bered": True})
self.assertFalse(decoded.ber_encoded)
self.assertFalse(decoded.lenindef)
EOC
)
encoded = SeqOf.tag_default + len_encode(len(encoded)) + encoded
+ with self.assertRaises(DecodeError):
+ SeqOf().decode(encoded)
decoded, _ = SeqOf().decode(encoded, ctx={"bered": True})
self.assertFalse(decoded.ber_encoded)
self.assertFalse(decoded.lenindef)
self.assertIsNotNone(seq[value_name_chosen].defined)
self.assertEqual(seq[value_name_chosen].defined[0], oid_chosen)
self.assertIsInstance(seq[value_name_chosen].defined[1], Integer)
+ repr(seq)
+ list(seq.pps())
+ pprint(seq, big_blobs=True, with_decode_path=True)
class TestDefinesByPath(TestCase):
seq_sequenced["type"] = type_sequenced
seq_sequenced["value"] = OctetString(seq_inner.encode())
seq_sequenced_raw = seq_sequenced.encode()
+ repr(seq_sequenced)
+ list(seq_sequenced.pps())
+ pprint(seq_sequenced, big_blobs=True, with_decode_path=True)
defines_by_path = []
seq_integered, _ = Seq().decode(seq_integered_raw)
self.assertTrue(seq_integered_raw[
seq_integered["value"].defined[1].offset:
].startswith(Integer(123).encode()))
+ repr(seq_integered)
+ list(seq_integered.pps())
+ pprint(seq_integered, big_blobs=True, with_decode_path=True)
seq_sequenced, _ = Seq().decode(
seq_sequenced_raw,
self.assertEqual(seq_sequenced["value"].defined[0], type_sequenced)
seq_inner = seq_sequenced["value"].defined[1]
self.assertIsNone(seq_inner["valueInner"].defined)
+ repr(seq_sequenced)
+ list(seq_sequenced.pps())
+ pprint(seq_sequenced, big_blobs=True, with_decode_path=True)
defines_by_path.append((
("value", DecodePathDefBy(type_sequenced), "typeInner"),
pairs = seq_inner["valueInner"].defined[1]
for pair in pairs:
self.assertIsNone(pair["value"][0].defined)
+ repr(seq_sequenced)
+ list(seq_sequenced.pps())
+ pprint(seq_sequenced, big_blobs=True, with_decode_path=True)
defines_by_path.append((
(
for pair_input, pair_got in zip(pairs_input, pairs_got):
self.assertEqual(pair_got["value"][0].defined[0], pair_input[0])
self.assertEqual(pair_got["value"][0].defined[1], pair_input[1])
+ repr(seq_sequenced)
+ list(seq_sequenced.pps())
+ pprint(seq_sequenced, big_blobs=True, with_decode_path=True)
@given(oid_strategy(), integers())
def test_simple(self, oid, tgt):