Add mopidy.utils.path.mtime helper that is easily faked in tests
This commit is contained in:
parent
9a99bc46bf
commit
92333208de
@ -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()
|
||||
|
||||
@ -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)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user