123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- import tempfile
- import os
- import time
- import pytest
- from larigira.audiogen_mostrecent import recent_choose
- @pytest.fixture
- def now(request):
- return int(time.time())
- @pytest.fixture
- def yesterday(request):
- return int(time.time()) - 24 * 60 * 60
- @pytest.fixture
- def empty_dir():
- dirpath = tempfile.mkdtemp(prefix="mostrecent.")
- yield dirpath
- os.removedirs(dirpath)
- @pytest.fixture
- def dir_with_old_file(empty_dir):
- fd, fname = tempfile.mkstemp(prefix="old.", dir=empty_dir)
- os.close(fd)
- os.utime(fname, times=(0, 0))
- yield empty_dir
- os.unlink(fname)
- @pytest.fixture
- def dir_with_yesterday_file(empty_dir, yesterday):
- fd, fname = tempfile.mkstemp(prefix="yesterday.", dir=empty_dir)
- os.close(fd)
- os.utime(fname, times=(yesterday, yesterday))
- yield empty_dir
- os.unlink(fname)
- @pytest.fixture
- def dir_with_new_file(dir_with_old_file, now):
- fd, fname = tempfile.mkstemp(prefix="new.", dir=dir_with_old_file)
- os.close(fd)
- os.utime(fname, times=(now, now))
- yield dir_with_old_file
- os.unlink(fname)
- @pytest.fixture
- def dir_with_two_recent_files(dir_with_yesterday_file, now):
- fd, fname = tempfile.mkstemp(prefix="new.", dir=dir_with_yesterday_file)
- os.close(fd)
- os.utime(fname, times=(now, now))
- yield dir_with_yesterday_file
- os.unlink(fname)
- def test_empty_is_empty(empty_dir, now):
- """nothing can be picked from a empty dir"""
- picked = recent_choose([empty_dir], 1, now)
- assert len(picked) == 0
- def test_old_files(dir_with_old_file, now):
- picked = recent_choose([dir_with_old_file], 1, now)
- assert len(picked) == 0
- def test_new_files_found(dir_with_new_file):
- picked = recent_choose([dir_with_new_file], 1, 1)
- assert len(picked) == 1
- assert os.path.basename(picked[0]).startswith("new.")
- def test_only_new_files_found(dir_with_new_file):
- picked = recent_choose([dir_with_new_file], 2, 1)
- assert len(picked) == 1
- assert os.path.basename(picked[0]).startswith("new.")
- def test_correct_sorting(dir_with_two_recent_files):
- picked = recent_choose([dir_with_two_recent_files], 1, 1)
- assert len(picked) == 1
- assert not os.path.basename(picked[0]).startswith("yesterday.")
- assert os.path.basename(picked[0]).startswith("new.")
|