mirror of
https://github.com/GSA/notifications-api.git
synced 2025-12-09 06:32:11 -05:00
Add created_at and updated_at columns to ft_processing_time
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
from datetime import datetime
|
||||
|
||||
from sqlalchemy.dialects.postgresql import insert
|
||||
|
||||
from app import db
|
||||
@@ -23,7 +25,8 @@ def insert_update_processing_time(processing_time):
|
||||
index_elements=[table.c.bst_date],
|
||||
set_={
|
||||
'messages_total': stmt.excluded.messages_total,
|
||||
'messages_within_10_secs': stmt.excluded.messages_within_10_secs
|
||||
'messages_within_10_secs': stmt.excluded.messages_within_10_secs,
|
||||
'updated_at': datetime.utcnow()
|
||||
}
|
||||
)
|
||||
db.session.connection().execute(stmt)
|
||||
|
||||
@@ -2074,6 +2074,8 @@ class FactProcessingTime(db.Model):
|
||||
bst_date = db.Column(db.Date, index=True, primary_key=True, nullable=False)
|
||||
messages_total = db.Column(db.Integer(), nullable=False)
|
||||
messages_within_10_secs = db.Column(db.Integer(), nullable=False)
|
||||
created_at = db.Column(db.DateTime, nullable=False, default=datetime.datetime.utcnow)
|
||||
updated_at = db.Column(db.DateTime, nullable=True, onupdate=datetime.datetime.utcnow)
|
||||
|
||||
|
||||
class Complaint(db.Model):
|
||||
|
||||
@@ -18,6 +18,8 @@ def upgrade():
|
||||
sa.Column('bst_date', sa.Date(), nullable=False),
|
||||
sa.Column('messages_total', sa.Integer(), nullable=False),
|
||||
sa.Column('messages_within_10_secs', sa.Integer(), nullable=False),
|
||||
sa.Column('created_at', sa.DateTime(), nullable=False),
|
||||
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
||||
sa.PrimaryKeyConstraint('bst_date')
|
||||
)
|
||||
op.create_index(op.f('ix_ft_processing_time_bst_date'), 'ft_processing_time', ['bst_date'], unique=False)
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
from datetime import datetime
|
||||
|
||||
from freezegun import freeze_time
|
||||
|
||||
from app.dao import fact_processing_time_dao
|
||||
from app.models import FactProcessingTime
|
||||
|
||||
@@ -19,14 +21,16 @@ def test_insert_update_processing_time(notify_db_session):
|
||||
assert result[0].bst_date == datetime(2021, 2, 22).date()
|
||||
assert result[0].messages_total == 3
|
||||
assert result[0].messages_within_10_secs == 2
|
||||
assert result[0].created_at
|
||||
assert not result[0].updated_at
|
||||
|
||||
data = FactProcessingTime(
|
||||
bst_date=datetime(2021, 2, 22).date(),
|
||||
messages_total=4,
|
||||
messages_within_10_secs=3
|
||||
)
|
||||
|
||||
fact_processing_time_dao.insert_update_processing_time(data)
|
||||
with freeze_time("2021-02-23 13:23:33"):
|
||||
fact_processing_time_dao.insert_update_processing_time(data)
|
||||
|
||||
result = FactProcessingTime.query.all()
|
||||
|
||||
@@ -34,3 +38,5 @@ def test_insert_update_processing_time(notify_db_session):
|
||||
assert result[0].bst_date == datetime(2021, 2, 22).date()
|
||||
assert result[0].messages_total == 4
|
||||
assert result[0].messages_within_10_secs == 3
|
||||
assert result[0].created_at
|
||||
assert result[0].updated_at == datetime(2021, 2, 23, 13, 23, 33)
|
||||
|
||||
Reference in New Issue
Block a user