Fixed another 30 tests

This commit is contained in:
alexjanousekGSA
2025-05-27 19:40:26 -04:00
parent 898607b40a
commit f0fefbef21
5 changed files with 16 additions and 13 deletions

View File

@@ -1,5 +1,6 @@
from flask import Blueprint, jsonify, request
from app import db
from app.dao.events_dao import dao_create_event
from app.errors import register_errors
from app.schemas import event_schema
@@ -11,6 +12,6 @@ register_errors(events)
@events.route("", methods=["POST"])
def create_event():
data = request.get_json()
event = event_schema.load(data)
event = event_schema.load(data, session=db.session)
dao_create_event(event)
return jsonify(data=event_schema.dump(event)), 201

View File

@@ -3,6 +3,7 @@ from zoneinfo import ZoneInfo
import dateutil
from flask import Blueprint, current_app, jsonify, request
from app import db
from app.aws.s3 import (
get_job_metadata_from_s3,
get_personalisation_from_s3,
@@ -30,10 +31,10 @@ from app.dao.templates_dao import dao_get_template_by_id
from app.enums import JobStatus
from app.errors import InvalidRequest, register_errors
from app.schemas import (
job_schema,
JobSchema,
UnarchivedTemplateSchema,
notification_with_template_schema,
notifications_filter_schema,
unarchived_template_schema,
)
from app.utils import midnight_n_days_ago, pagination_links
@@ -47,7 +48,7 @@ register_errors(job_blueprint)
def get_job_by_service_and_job_id(service_id, job_id):
job = dao_get_job_by_service_id_and_job_id(service_id, job_id)
statistics = dao_get_notification_outcomes_for_job(service_id, job_id)
data = job_schema.dump(job)
data = JobSchema(session=db.session).dump(job)
data["statistics"] = [
{"status": statistic[1], "count": statistic[0]} for statistic in statistics
@@ -257,14 +258,15 @@ def create_job(service_id):
if data.get("valid") != "True":
raise InvalidRequest("File is not valid, can't create job", 400)
errors = unarchived_template_schema.validate({"archived": template.archived})
schema = UnarchivedTemplateSchema(session=db.session)
errors = schema.validate({"archived": template.archived})
if errors:
raise InvalidRequest(errors, status_code=400)
data.update({"template_version": template.version})
job = job_schema.load(data)
job = JobSchema(session=db.session).load(data)
# See admin #1148, for whatever reason schema loading doesn't load this
if original_file_name is not None:
job.original_file_name = original_file_name
@@ -281,7 +283,7 @@ def create_job(service_id):
[str(job.id)], {"sender_id": sender_id}, queue=QueueNames.JOBS
)
job_json = job_schema.dump(job)
job_json = JobSchema(session=db.session).dump(job)
job_json["statistics"] = []
return jsonify(data=job_json), 201
@@ -317,7 +319,7 @@ def get_paginated_jobs(
page_size=current_app.config["PAGE_SIZE"],
statuses=statuses,
)
data = job_schema.dump(pagination.items, many=True)
data = JobSchema(session=db.session).dump(pagination.items, many=True)
for job_data in data:
start = job_data["processing_started"]
start = dateutil.parser.parse(start).replace(tzinfo=None) if start else None

View File

@@ -758,7 +758,6 @@ detailed_service_schema = DetailedServiceSchema()
template_schema = TemplateSchema()
template_schema_no_detail = TemplateSchemaNoDetail()
api_key_schema = ApiKeySchema()
job_schema = JobSchema()
sms_template_notification_schema = SmsTemplateNotificationSchema()
email_notification_schema = EmailNotificationSchema()
notification_schema = NotificationModelSchema()
@@ -773,4 +772,3 @@ template_history_schema = TemplateHistorySchema()
event_schema = EventSchema()
provider_details_schema = ProviderDetailsSchema()
provider_details_history_schema = ProviderDetailsHistorySchema()
unarchived_template_schema = UnarchivedTemplateSchema()

View File

@@ -1,6 +1,7 @@
from flask import Blueprint, jsonify, request
from sqlalchemy.orm.exc import NoResultFound
from app import db
from app.dao.services_dao import dao_fetch_service_by_id
from app.dao.template_folder_dao import dao_get_template_folder_by_id_and_service_id
from app.dao.templates_dao import (
@@ -135,7 +136,8 @@ def update_template(service_id, template_id):
errors = {"content": [message]}
raise InvalidRequest(errors, status_code=400)
update_dict = template_schema.load(updated_template)
update_dict = template_schema.load(updated_template, session=db.session)
if update_dict.archived:
update_dict.folder = None
dao_update_template(update_dict)

View File

@@ -42,13 +42,13 @@ def url_with_token(data, url, config, base_url=None):
return base_url + token
def get_template_instance(template_dict, values_dict=None):
def get_template_instance(template, values=None):
from app.enums import TemplateType
return {
TemplateType.SMS: SMSMessageTemplate,
TemplateType.EMAIL: HTMLEmailTemplate,
}[template_dict["template_type"]](template_dict, values_dict)
}[template["template_type"]](template, values)
def template_model_to_dict(template):