Esempio n. 1
0
def test_snapshot_properties() -> None:
    digest = Digest(
        "691638f4d58abaa8cfdc9af2e00682f13f07f96ad1d177f146216a7341ca4982",
        154)
    snapshot = Snapshot._unsafe_create(digest, ["f.ext", "dir/f.ext"], ["dir"])
    assert snapshot.digest == digest
    assert snapshot.files == ("dir/f.ext", "f.ext")
    assert snapshot.dirs == ("dir", )
Esempio n. 2
0
 def assert_hash(
     expected: int,
     *,
     digest_char: str = "a",
     files: Optional[List[str]] = None,
     dirs: Optional[List[str]] = None,
 ) -> None:
     digest = Digest(digest_char * 64, 1000)
     snapshot = Snapshot._unsafe_create(digest, files or ["f.ext", "dir/f.ext"], dirs or ["dir"])
     assert hash(snapshot) == expected
Esempio n. 3
0
def test_snapshot_equality() -> None:
    # Only the digest is used for equality.
    snapshot = Snapshot._unsafe_create(Digest("a" * 64, 1000),
                                       ["f.ext", "dir/f.ext"], ["dir"])
    assert snapshot == Snapshot._unsafe_create(Digest("a" * 64, 1000),
                                               ["f.ext", "dir/f.ext"], ["dir"])
    assert snapshot == Snapshot._unsafe_create(Digest("a" * 64, 1000),
                                               ["f.ext", "dir/f.ext"], ["foo"])
    assert snapshot == Snapshot._unsafe_create(Digest("a" * 64, 1000),
                                               ["f.ext"], ["dir"])
    assert snapshot != Snapshot._unsafe_create(Digest("a" * 64, 0),
                                               ["f.ext", "dir/f.ext"], ["dir"])
    assert snapshot != Snapshot._unsafe_create(Digest("b" * 64, 1000),
                                               ["f.ext", "dir/f.ext"], ["dir"])
    with pytest.raises(TypeError):
        snapshot < snapshot  # type: ignore[operator]