mirror of
https://github.com/datahub-project/datahub.git
synced 2025-07-23 01:22:00 +00:00
57 lines
2.6 KiB
Python
57 lines
2.6 KiB
Python
![]() |
import datetime
|
||
|
|
||
|
from datahub.ingestion.source.sql.bigquery import get_partition_range_from_partition_id
|
||
|
|
||
|
|
||
|
def test_get_partition_range_from_partition_id():
|
||
|
# yearly partition check
|
||
|
assert get_partition_range_from_partition_id(
|
||
|
"2022", datetime.datetime(2022, 1, 1)
|
||
|
) == (datetime.datetime(2022, 1, 1), datetime.datetime(2023, 1, 1))
|
||
|
assert get_partition_range_from_partition_id(
|
||
|
"2022", datetime.datetime(2022, 3, 12)
|
||
|
) == (datetime.datetime(2022, 1, 1), datetime.datetime(2023, 1, 1))
|
||
|
assert get_partition_range_from_partition_id(
|
||
|
"2022", datetime.datetime(2021, 5, 2)
|
||
|
) == (datetime.datetime(2021, 1, 1), datetime.datetime(2022, 1, 1))
|
||
|
assert get_partition_range_from_partition_id("2022", None) == (
|
||
|
datetime.datetime(2022, 1, 1),
|
||
|
datetime.datetime(2023, 1, 1),
|
||
|
)
|
||
|
# monthly partition check
|
||
|
assert get_partition_range_from_partition_id(
|
||
|
"202202", datetime.datetime(2022, 2, 1)
|
||
|
) == (datetime.datetime(2022, 2, 1), datetime.datetime(2022, 3, 1))
|
||
|
assert get_partition_range_from_partition_id(
|
||
|
"202202", datetime.datetime(2022, 2, 3)
|
||
|
) == (datetime.datetime(2022, 2, 1), datetime.datetime(2022, 3, 1))
|
||
|
assert get_partition_range_from_partition_id(
|
||
|
"202202", datetime.datetime(2021, 12, 13)
|
||
|
) == (datetime.datetime(2021, 12, 1), datetime.datetime(2022, 1, 1))
|
||
|
assert get_partition_range_from_partition_id("202202", None) == (
|
||
|
datetime.datetime(2022, 2, 1),
|
||
|
datetime.datetime(2022, 3, 1),
|
||
|
)
|
||
|
# daily partition check
|
||
|
assert get_partition_range_from_partition_id(
|
||
|
"20220205", datetime.datetime(2022, 2, 5)
|
||
|
) == (datetime.datetime(2022, 2, 5), datetime.datetime(2022, 2, 6))
|
||
|
assert get_partition_range_from_partition_id(
|
||
|
"20220205", datetime.datetime(2022, 2, 3)
|
||
|
) == (datetime.datetime(2022, 2, 3), datetime.datetime(2022, 2, 4))
|
||
|
assert get_partition_range_from_partition_id("20220205", None) == (
|
||
|
datetime.datetime(2022, 2, 5),
|
||
|
datetime.datetime(2022, 2, 6),
|
||
|
)
|
||
|
# hourly partition check
|
||
|
assert get_partition_range_from_partition_id(
|
||
|
"2022020509", datetime.datetime(2022, 2, 5, 9)
|
||
|
) == (datetime.datetime(2022, 2, 5, 9), datetime.datetime(2022, 2, 5, 10))
|
||
|
assert get_partition_range_from_partition_id(
|
||
|
"2022020509", datetime.datetime(2022, 2, 3, 1)
|
||
|
) == (datetime.datetime(2022, 2, 3, 1), datetime.datetime(2022, 2, 3, 2))
|
||
|
assert get_partition_range_from_partition_id("2022020509", None) == (
|
||
|
datetime.datetime(2022, 2, 5, 9),
|
||
|
datetime.datetime(2022, 2, 5, 10),
|
||
|
)
|