コード例 #1
0
ファイル: types_test.py プロジェクト: lzpap/pyota
    def test_remove_checksum_second_time(self):
        """
    `remove_checksum` is called on an Address that does not have a checksum.
    """
        addy = Address(trytes=b'ZKIUDZXQYQAWSHPKSAATJXPAQZPGYCDCQDRSMWWCGQJNI'
                       b'PCOORMDRNREDUDKBMUYENYTFVUNEWDBAKXMV')

        self.assertFalse(addy.is_checksum_valid())
        self.assertTrue(len(addy) == Address.LEN)

        addy.remove_checksum()

        self.assertFalse(addy.is_checksum_valid())
        self.assertTrue(len(addy) == Address.LEN)
コード例 #2
0
ファイル: types_test.py プロジェクト: lzpap/pyota
    def test_remove_checksum(self):
        """
    Checksum is removed from an address.
    """
        addy = Address(trytes=b'ZKIUDZXQYQAWSHPKSAATJXPAQZPGYCDCQDRSMWWCGQJNI'
                       b'PCOORMDRNREDUDKBMUYENYTFVUNEWDBAKXMVJJJGBARPB')

        self.assertTrue(addy.is_checksum_valid())
        self.assertTrue(len(addy) == Address.LEN + AddressChecksum.LEN)

        addy.remove_checksum()

        self.assertFalse(addy.is_checksum_valid())
        self.assertTrue(len(addy) == Address.LEN)
コード例 #3
0
ファイル: types_test.py プロジェクト: lzpap/pyota
    def test_add_checksum(self):
        """
    Checksum is added to an address without it.
    """
        addy = Address(trytes=b'ZKIUDZXQYQAWSHPKSAATJXPAQZPGYCDCQDRSMWWCGQJNI'
                       b'PCOORMDRNREDUDKBMUYENYTFVUNEWDBAKXMV')

        addy.add_checksum()

        self.assertTrue(addy.is_checksum_valid())
        self.assertTrue(len(addy) == Address.LEN + AddressChecksum.LEN)
コード例 #4
0
ファイル: types_test.py プロジェクト: jinankjain/iota.lib.py
    def test_checksum_valid(self):
        """
    An address is created with a valid checksum.
    """
        addy = Address(b'RVORZ9SIIP9RCYMREUIXXVPQIPHVCNPQ9HZWYKFWYWZRE'
                       b'9JQKG9REPKIASHUUECPSQO9JT9XNMVKWYGVAFOXM9MUBX')

        self.assertTrue(addy.is_checksum_valid())

        self.assertEqual(
            binary_type(addy.with_valid_checksum()),
            b'RVORZ9SIIP9RCYMREUIXXVPQIPHVCNPQ9HZWYKFWYWZRE'
            b'9JQKG9REPKIASHUUECPSQO9JT9XNMVKWYGVAFOXM9MUBX')
コード例 #5
0
    def test_checksum_null(self):
        """
    An address is created without a checksum.
    """
        trytes = (b'ZKIUDZXQYQAWSHPKSAATJXPAQZPGYCDCQDRSMWWCGQJNI'
                  b'PCOORMDRNREDUDKBMUYENYTFVUNEWDBAKXMV')

        addy = Address(trytes)

        self.assertFalse(addy.is_checksum_valid())

        self.assertEqual(
            binary_type(addy.with_valid_checksum()),
            b'ZKIUDZXQYQAWSHPKSAATJXPAQZPGYCDCQDRSMWWCGQJNI'
            b'PCOORMDRNREDUDKBMUYENYTFVUNEWDBAKXMVJJJGBARPB',
        )
コード例 #6
0
ファイル: types_test.py プロジェクト: lzpap/pyota
    def test_add_checksum_second_time(self):
        """
    Checksum is added to an address that already has.
    """
        addy = Address(trytes=b'ZKIUDZXQYQAWSHPKSAATJXPAQZPGYCDCQDRSMWWCGQJNI'
                       b'PCOORMDRNREDUDKBMUYENYTFVUNEWDBAKXMVJJJGBARPB')

        addy.add_checksum()

        self.assertTrue(addy.is_checksum_valid())
        self.assertTrue(len(addy) == Address.LEN + AddressChecksum.LEN)

        self.assertEqual(
            addy,
            Address(trytes=b'ZKIUDZXQYQAWSHPKSAATJXPAQZPGYCDCQDRSMWWCGQJNI'
                    b'PCOORMDRNREDUDKBMUYENYTFVUNEWDBAKXMVJJJGBARPB'))
コード例 #7
0
    def test_checksum_invalid(self):
        """
    An address is created with an invalid checksum.
    """
        trytes = (b'IGKUOZGEFNSVJXETLIBKRSUZAWMYSVDPMHGQPCETEFNZP'
                  b'XSJLZMBLAWDRLUBWPIPKFNEPADIWMXMYYRKQ')

        addy = Address(trytes + b'XYYNAFRMB'  # <- Last tryte s/b 'A'.
                       )

        self.assertFalse(addy.is_checksum_valid())

        self.assertEqual(
            binary_type(addy.with_valid_checksum()),
            b'IGKUOZGEFNSVJXETLIBKRSUZAWMYSVDPMHGQPCETEFNZP'
            b'XSJLZMBLAWDRLUBWPIPKFNEPADIWMXMYYRKQXYYNAFRMA',
        )
コード例 #8
0
ファイル: types_test.py プロジェクト: grendias/iota.lib.py
  def test_checksum_valid(self):
    """
    An address is created with a valid checksum.
    """
    addy = Address(
      b'RVORZ9SIIP9RCYMREUIXXVPQIPHVCNPQ9HZWYKFWYWZRE'
      b'9JQKG9REPKIASHUUECPSQO9JT9XNMVKWYGVAITCOXAQSD',
    )

    self.assertTrue(addy.is_checksum_valid())

    self.assertEqual(
      binary_type(addy.with_valid_checksum()),

      b'RVORZ9SIIP9RCYMREUIXXVPQIPHVCNPQ9HZWYKFWYWZRE'
      b'9JQKG9REPKIASHUUECPSQO9JT9XNMVKWYGVAITCOXAQSD',
    )
コード例 #9
0
ファイル: types_test.py プロジェクト: grendias/iota.lib.py
  def test_checksum_null(self):
    """
    An address is created without a checksum.
    """
    trytes = (
      b'ZKIUDZXQYQAWSHPKSAATJXPAQZPGYCDCQDRSMWWCGQJNI'
      b'PCOORMDRNREDUDKBMUYENYTFVUNEWDBAKXMV'
    )

    addy = Address(trytes)

    self.assertFalse(addy.is_checksum_valid())

    self.assertEqual(
      binary_type(addy.with_valid_checksum()),

      b'ZKIUDZXQYQAWSHPKSAATJXPAQZPGYCDCQDRSMWWCGQJNI'
      b'PCOORMDRNREDUDKBMUYENYTFVUNEWDBAKXMVJJJGBARPB',
    )
コード例 #10
0
ファイル: types_test.py プロジェクト: grendias/iota.lib.py
  def test_checksum_invalid(self):
    """
    An address is created with an invalid checksum.
    """
    trytes = (
      b'IGKUOZGEFNSVJXETLIBKRSUZAWMYSVDPMHGQPCETEFNZP'
      b'XSJLZMBLAWDRLUBWPIPKFNEPADIWMXMYYRKQ'
    )

    addy = Address(
      trytes + b'XYYNAFRMB' # <- Last tryte s/b 'A'.
    )

    self.assertFalse(addy.is_checksum_valid())

    self.assertEqual(
      binary_type(addy.with_valid_checksum()),

      b'IGKUOZGEFNSVJXETLIBKRSUZAWMYSVDPMHGQPCETEFNZP'
      b'XSJLZMBLAWDRLUBWPIPKFNEPADIWMXMYYRKQXYYNAFRMA',
    )
コード例 #11
0
ファイル: filters.py プロジェクト: maeck70/iota.lib.py
    def _apply(self, value):
        super(AddressNoChecksum, self)._apply(value)

        if self._has_errors:
            return None

        # Possible it's still just a TryteString
        if not isinstance(value, Address):
            value = Address(value)

        # Bail out if we have a bad checksum
        if value.checksum and not value.is_checksum_valid():
            return self._invalid_value(
                value=value,
                reason=self.ADDRESS_BAD_CHECKSUM,
                exc_info=True,
                context={
                    'supplied_checksum': value.checksum,
                    'expected_checksum': value.with_valid_checksum().checksum,
                },
            )
        return Address(value.address)
コード例 #12
0
ファイル: filters.py プロジェクト: grendias/iota.lib.py
  def _apply(self, value):
    super(AddressNoChecksum, self)._apply(value)

    if self._has_errors:
      return None

    # Possible it's still just a TryteString
    if not isinstance(value, Address):
      value = Address(value)

    # Bail out if we have a bad checksum
    if value.checksum and not value.is_checksum_valid():
      return self._invalid_value(
        value     = value,
        reason    = self.ADDRESS_BAD_CHECKSUM,
        exc_info  = True,

        context = {
          'supplied_checksum': value.checksum,
          'expected_checksum': value.with_valid_checksum().checksum,
        },
      )
    return Address(value.address)