fix: use current time for new entries #9

This commit is contained in:
Leon
2025-08-08 00:30:11 +02:00
parent 4a81c5e2a6
commit d349edd9a6
2 changed files with 25 additions and 3 deletions

View File

@@ -15,9 +15,7 @@ class Entry(Base):
newsletter_id = Column(String, ForeignKey("newsletters.id"))
subject = Column(String)
body = Column(Text)
received_at = Column(
DateTime(timezone=True), default=datetime.datetime.now(datetime.UTC)
)
received_at = Column(DateTime(timezone=True), default=datetime.datetime.now)
message_id = Column(String, unique=True, index=True, nullable=False)
newsletter = relationship("Newsletter", back_populates="entries")

View File

@@ -278,3 +278,27 @@ def test_delete_newsletter(db_session: Session):
from app.crud.newsletters import get_newsletter_by_identifier
assert get_newsletter_by_identifier(db_session, newsletter.id) is None
def test_create_multiple_entries_have_different_timestamps(db_session: Session):
"""Test that multiple entries for the same newsletter have different timestamps."""
import time
newsletter_data = NewsletterCreate(
name="Timestamp Test Newsletter",
sender_emails=[f"sender_{uuid.uuid4()}@test.com"],
)
newsletter = create_newsletter(db_session, newsletter_data)
entry_data_1 = EntryCreate(
subject="Entry 1", body="Body 1", message_id=f"<{uuid.uuid4()}@test.com>"
)
entry1 = create_entry(db_session, entry_data_1, newsletter.id)
time.sleep(1) # sleep for a short time to ensure timestamps are different
entry_data_2 = EntryCreate(
subject="Entry 2", body="Body 2", message_id=f"<{uuid.uuid4()}@test.com>"
)
entry2 = create_entry(db_session, entry_data_2, newsletter.id)
assert entry1.received_at != entry2.received_at