# pylint: disable=redefined-outer-name,unused-argument,invalid-name import pytest from dapd_db_schema.schemas.uow_meta import AuditLog, UnitOfWorkStatusEnum from dapd_exporter.entities import ProjectsEnum, UnitOfWorkMeta from dapd_exporter.services.audit_log import AuditLogService pytestmark = [pytest.mark.integration] @pytest.mark.parametrize(['error', 'expected_extra_data'], ( [None, None], ['foo', {'error': 'foo'}], )) # yapf: disable def test_log_units_of_work_created__ok(db, unit_of_work, error, expected_extra_data): uow_meta = UnitOfWorkMeta( uow_id=unit_of_work.uow_id, first_fact_id=2, last_fact_id=3, fact='somefact', project=ProjectsEnum.DAPD_APPLE.value ) service = AuditLogService(db) service.log_units_of_works_status_updated( uow_meta=uow_meta, new_status=UnitOfWorkStatusEnum.EXPORT_IN_PROGRESS, error=error ) assert db.query(AuditLog).count() == 1 audit_log: AuditLog = db.query(AuditLog).first() assert audit_log.new_status == UnitOfWorkStatusEnum.EXPORT_IN_PROGRESS assert audit_log.extra_data == expected_extra_data assert audit_log.uow == unit_of_work