From 92333208de04857a98e8735b3aecb5034546a335 Mon Sep 17 00:00:00 2001 From: Thomas Adamcik Date: Sat, 30 Oct 2010 20:53:23 +0200 Subject: [PATCH] Add mopidy.utils.path.mtime helper that is easily faked in tests --- mopidy/utils/path.py | 17 +++++++++++++++++ tests/utils/path_test.py | 15 ++++++++++++++- 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/mopidy/utils/path.py b/mopidy/utils/path.py index 84869196..6bd84ac0 100644 --- a/mopidy/utils/path.py +++ b/mopidy/utils/path.py @@ -54,3 +54,20 @@ def find_files(path): for filename in filenames: dirpath = os.path.abspath(dirpath) yield os.path.join(dirpath, filename) + +class Mtime(object): + def __init__(self): + self.fake = None + + def __call__(self, path): + if self.fake is not None: + return self.fake + return int(os.stat(path).st_mtime) + + def set_fake_time(self, time): + self.fake = time + + def undo_fake(self): + self.fake = None + +mtime = Mtime() diff --git a/tests/utils/path_test.py b/tests/utils/path_test.py index 269c7a24..065cde5d 100644 --- a/tests/utils/path_test.py +++ b/tests/utils/path_test.py @@ -6,7 +6,7 @@ import sys import tempfile import unittest -from mopidy.utils.path import (get_or_create_folder, +from mopidy.utils.path import (get_or_create_folder, mtime, path_to_uri, uri_to_path, split_path, find_files) from tests import SkipTest, data_folder @@ -135,3 +135,16 @@ class FindFilesTest(unittest.TestCase): def test_expanduser(self): raise SkipTest + + +class MtimeTest(unittest.TestCase): + def tearDown(self): + mtime.undo_fake() + + def test_mtime_of_current_dir(self): + mtime_dir = int(os.stat('.').st_mtime) + self.assertEqual(mtime_dir, mtime('.')) + + def test_fake_time_is_returned(self): + mtime.set_fake_time(123456) + self.assertEqual(mtime('.'), 123456)