def test_file_storage_preserves_filename_case(tmpdir): """ The storage backend should preserve case of filenames. """ storage = FileSystemStorage(location=str(tmpdir)) f = storage.open("CaSe_SeNsItIvE", "w") f.write("storage contents") f.close() assert os.path.join(str(tmpdir), "CaSe_SeNsItIvE") == storage.path("CaSe_SeNsItIvE")
def test_file_path(tmpdir): """ File storage returns the full path of a file """ storage = FileSystemStorage(location=str(tmpdir)) assert not storage.exists("test.file") f = io.StringIO("custom contents") f_name = storage.save("test.file", f) assert storage.path(f_name) == os.path.join(str(tmpdir), f_name)
def test_file_modified_time(tmpdir): """ File storage returns a Datetime object for the last modified time of a file. """ storage = FileSystemStorage(location=str(tmpdir)) assert not storage.exists("test.file") f = io.StringIO("custom contents") f_name = storage.save("test.file", f) mtime = storage.modified_time(f_name) assert mtime == datetime.datetime.fromtimestamp(os.path.getmtime(storage.path(f_name))) assert datetime.datetime.now() - storage.modified_time(f_name) < datetime.timedelta(seconds=2)