""" .. moduleauthor:: Eric Torres Unit tests for the rbackup.struct.snapshot module. """ import unittest from pathlib import Path from unittest.mock import DEFAULT, patch from rbackup.struct.snapshot import Snapshot # ========== Constants ========== TESTING_PACKAGE = "rbackup.struct" TESTING_MODULE = f"{TESTING_PACKAGE}.snapshot" # ========== Tests ========== class TestSnapshotProperties(unittest.TestCase): def setUp(self): self.patched_path = patch.multiple( Path, exists=DEFAULT, mkdir=DEFAULT, symlink_to=DEFAULT, touch=DEFAULT ) self.patched_metadata = patch.multiple( Snapshot, read_metadata=DEFAULT, write_metadata=DEFAULT ) self.mocked_path = self.patched_path.start() self.mocked_metadata = self.patched_metadata.start() self.mocked_path["exists"].return_value = False def test_ctime_returns_str(self): self.assertIsInstance(Snapshot("/tmp/backup/snapshot").ctime, str) def tearDown(self): patch.stopall()