import unittest.mock import printpub.post.id def test_id_generation_has_unique_and_nonunique_part(): now_seconds = 1689031817.358745 with unittest.mock.patch("time.time", return_value=now_seconds): id1 = printpub.post.id.generate() id2 = printpub.post.id.generate() time_mask = int("1" * 42 + "0" * (64 - 42), 2) # The first 42 bits should be the time assert id1 & time_mask == id2 & time_mask # The last bits should be random assert id1 & (~time_mask) != id2 & (~time_mask)