# pylint: disable=redefined-outer-name,unused-argument,invalid-name from datetime import datetime, timezone import pytest from dapd_db_schema.schemas.uow_meta import UnitOfWorkStatusEnum from dapd_exporter.services.exporters.base import BaseExporter from dapd_exporter.services.exporters.diff import DAPDAppleDiffExporter pytestmark = [pytest.mark.integration] FREEZED_DT = datetime(2015, 10, 15, 12, 23, 45, tzinfo=timezone.utc) @pytest.mark.freeze_time(FREEZED_DT) def test_update_uows_status__ok(db, config, unit_of_work): assert unit_of_work.updated_at is None assert unit_of_work.status == UnitOfWorkStatusEnum.EXPORT_IN_PROGRESS actual = BaseExporter.update_uows_status( session=db, uow_meta=unit_of_work, status=UnitOfWorkStatusEnum.EXPORT_COMPLETED ) assert actual == 1 assert unit_of_work.status == UnitOfWorkStatusEnum.EXPORT_COMPLETED assert unit_of_work.updated_at == FREEZED_DT def test_build_diff_s3_output_path(): res = DAPDAppleDiffExporter(None, None, None, None, None, None).build_diff_s3_output_path(table_name='table_name', uow_id=1) assert res == '/project=dapd/version=v2/unit_of_work_id=1/table_name'