from datetime import datetime, timezone from db_schema.schemas import slz def unit_of_work_stub(db): report = db.query(slz.Report).filter(slz.Report.report_name == 'request_to_forget').one() return slz.UnitOfWork( **{ 'unit_of_work_code': 'appreciationengine-20210427-sme-request_to_forget-v1', 'reprocess_id': '', 'report_date': '2020-04-27', 'report_id': report.report_id, 'licensor_id': 1, 'version': 'v1', 'activity_status': 'NOT_IN_PROGRESS', 'completeness_status': 'ACTIVE', 'next_run_at': '2020-04-28 01:06:09.715337', 'created_at': '2020-04-28 01:00:58.806272', 'last_updated_at': '2020-05-27 08:20:58.481813', 'is_force_complete': False, 'priority': 5 } ) def content_status_stub(unit_of_work): # pylint: disable=redefined-outer-name return slz.ContentStatus( **{ 'unit_of_work': unit_of_work, 'context': 'vi43rcvh6e0svna3', 'content_status': 'MISSING', 'content_name': '', 'content_size': 56, 'failure_count': 0, 'latest_job_id': 'test', 'created_at': '2020-04-27 14:31:08.518350', 'last_checked_at': '2020-04-27 15:39:33.622070', 'metadata_process_status': 'COMPLETED', } ) def email_stub(content_status): return slz.Email( md_message_id='123', md_subject='Sony Music Fan Delete Request - Delphi - 6/4/2021', md_from=['test@sonymusic.com'], md_to=[ 'test@mail-npe.delphiplatform.io', 'qa-test@mail-npe.delphiplatform.io', ], md_cc=['crm.support@sonymusic.com'], md_references=['AM0PR0.outlook.com', 'cc@dataart.com'], sent_at=datetime(2021, 6, 4, 12, 0, 19, tzinfo=timezone.utc), created_at=datetime(2021, 6, 4, 12, 0, 25, tzinfo=timezone.utc), content_status=content_status, )