Source code for arxiv.canonical.log.tests
from datetime import datetime
import tempfile
from unittest import TestCase
from pytz import timezone
from . import log
from .log import D
ET = timezone('US/Eastern')
[docs]class TestLog(TestCase):
[docs] def setUp(self):
"""Create a new log."""
self.path = tempfile.mkdtemp()
self.log = log.Log(self.path)
[docs] def test_path(self):
"""Log paths based on the root path and current date."""
self.assertEqual(
self.log.current_log_path,
f'{self.path}/.{datetime.now(ET).date().isoformat()}.log'
)
[docs] def test_deref_success(self):
"""Log a successful dereference action."""
vid = D.VersionedIdentifier('1902.00123v3')
event_id = D.EventIdentifier.from_parts(vid, datetime.now(ET), 'foo')
key = D.Key('file:///foo/baz/bat.tar.gz')
entry = self.log.log_success(event_id, key, log.DEREFERENCE)
self.assertEqual(self.log.read_last_entry().__dict__,
entry.__dict__,
"Logged success is the last entry")