Source code for evalquiz_proto.tests.shared.test_internal_lecture_material

from pathlib import Path
import pytest
from evalquiz_proto.shared.internal_lecture_material import InternalLectureMaterial
from evalquiz_proto.shared.generated import LectureMaterial


[docs]@pytest.fixture(scope="session") def internal_lecture_material() -> InternalLectureMaterial: """Pytest fixture of InternalLectureMaterial. Returns: InternalLectureMaterial """ material_metadata = LectureMaterial( reference="Example textfile", file_type="text/plain" ) path = Path(__file__).parent / "example_materials/example.txt" material = InternalLectureMaterial(path, material_metadata) return material
[docs]def test_modification_and_verification( internal_lecture_material: InternalLectureMaterial, ) -> None: """Tests recognition of file modification using InternalLectureMaterial.verify_hash(). Args: internal_lecture_material (InternalLectureMaterial): Pytest fixture of InternalLectureMaterial. """ hash = internal_lecture_material.hash path = Path(__file__).parent / "example_materials/modified_example.txt" internal_lecture_material.local_path = path assert internal_lecture_material.verify_hash() == False internal_lecture_material.update_hash() assert internal_lecture_material.hash != hash