def test_ulid_timestamp_is_first_48_bits(valid_bytes_128): """ Assert that :meth:`~ulid.ulid.timestamp` returns a :class:`~ulid.ulid.Timestamp` instance that is populated with the first 48 bits of the ULID. """ timestamp = ulid.ULID(valid_bytes_128).timestamp() assert timestamp.bytes == valid_bytes_128[:6]
def test_ulid_randomness_is_first_48_bits(valid_bytes_128): """ Assert that :meth:`~ulid.ulid.randomness` returns a :class:`~ulid.ulid.Randomness` instance that is populated with the last 80 bits of the ULID. """ randomness = ulid.ULID(valid_bytes_128).randomness() assert randomness.bytes == valid_bytes_128[6:]
def test_from_randomness_ulid_returns_ulid_instance(valid_bytes_128): """ Assert that :func:`~ulid.api.from_randomness` returns a new :class:`~ulid.ulid.ULID` instance from the given random values as a :class:`~ulid.ulid.ULID`. """ value = ulid.ULID(valid_bytes_128) instance = api.from_randomness(value) assert isinstance(instance, ulid.ULID) assert instance.randomness() == value.randomness()
def test_decode_randomness_ulid_returns_randomness_instance(valid_bytes_128): """ Assert that :func:`~ulid.codec.decode_randomness` returns a new :class:`~ulid.ulid.Randomness` instance from the given random values as a :class:`~ulid.ulid.ULID`. """ value = ulid.ULID(valid_bytes_128) instance = codec.decode_randomness(value) assert isinstance(instance, ulid.Randomness) assert instance == value.randomness()
def test_decode_timestamp_ulid_returns_timestamp_instance(valid_bytes_128): """ Assert that :func:`~ulid.codec.decode_timestamp` returns a new :class:`~ulid.ulid.Timestamp` instance from the given timestamp as a :class:`~ulid.ulid.ULID`. """ value = ulid.ULID(valid_bytes_128) instance = codec.decode_timestamp(value) assert isinstance(instance, ulid.Timestamp) assert instance == value.timestamp()
def test_from_timestamp_ulid_returns_ulid_instance(valid_bytes_128): """ Assert that :func:`~ulid.api.from_timestamp` returns a new :class:`~ulid.ulid.ULID` instance from the given timestamp as a :class:`~ulid.ulid.ULID`. """ value = ulid.ULID(valid_bytes_128) instance = api.from_timestamp(value) assert isinstance(instance, ulid.ULID) assert instance.timestamp() == value.timestamp()
def test_pretty_print(self): _ulid = ulid.ULID() _ulid.pretty_print("01BX5ZZKBKACTAV9WEVGEMMVS0")
def test_ulid_uuid_returns_instance(valid_bytes_128): """ Assert that :func:`~ulid.ulid.ULID.uuid` returns a :class:`~uuid.UUID` instance. """ assert isinstance(ulid.ULID(valid_bytes_128).uuid, uuid.UUID)
def test_ulid_encode_max(self): with pytest.raises(ValueError, match=r".*larger than 128.*"): ulid.ULID().encode(340282366920938463463374607431768211459)
def test_ulid_randomness_returns_instance(valid_bytes_128): """ Assert that :meth:`~ulid.ulid.randomness` returns a :class:`~ulid.ulid.Randomness` instance. """ assert isinstance(ulid.ULID(valid_bytes_128).randomness(), ulid.Randomness)
def test_ulid_encode_min(self): with pytest.raises(ValueError, match=r".*has to be a positive.*"): ulid.ULID().encode(-1)
def test_ulid_timestamp_returns_instance(valid_bytes_128): """ Assert that :meth:`~ulid.ulid.timestamp` returns a :class:`~ulid.ulid.Timestamp` instance. """ assert isinstance(ulid.ULID(valid_bytes_128).timestamp(), ulid.Timestamp)
def test_encode_return_val_length(self): _ulid = ulid.ULID() i = 340282366920938463463374607431768167 val = _ulid.encode(i) print(val) assert len(val) == 26
def test_ulid_decode_overflow(self): with pytest.raises(ValueError, match=r".*Cannot encode time larger than.*"): _ulid = ulid.ULID() s = '8ZZZZZZZZZZZZZZZZZZZZZZZZZ' val = _ulid.decode(s)
def test_ulid_decode(self): _ulid = ulid.ULID() s = '01BX5ZZKBKACTAV9WEVGEMMVRY' val = _ulid.decode(s) assert val == (1508808576371, 392928161897179156999966)
def test_ulid_decode_max(self): _ulid = ulid.ULID() s = '7ZZZZZZZZZZZZZZZZZZZZZZZZZ' val = _ulid.decode(s) assert val == (281474976710655, 1208925819614629174706175)
def test_ulid_encode_timestamp_max(self): _ulid = ulid.ULID() t = 281474976710655 val = _ulid.encode_timestamp(t) assert val == '7ZZZZZZZZZ'
def test_ulid_encode_timestamp(self): _ulid = ulid.ULID() t = int(datetime.now(timezone.utc).timestamp() * 1000) val = _ulid.encode_timestamp(t) print(val) assert len(val) == 10
def test_generate_length(self): _ulid = ulid.ULID() val = _ulid.generate() assert len(val) == 26
def test_encode_ulid_mismatched_arg_type(self): _ulid = ulid.ULID() i = "Hello" with pytest.raises(TypeError): _ulid.encode(i)