Skip to content

Commit 24b9dc2

Browse files
fixup: pattern with time
1 parent 5f88da1 commit 24b9dc2

File tree

2 files changed

+22
-29
lines changed

2 files changed

+22
-29
lines changed

lambdas/rds_snapshot_export_s3_to_s3_copier/main.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ def get_date_time(source_identifier: str) -> tuple[str, str, str, str]:
2525
tuple(str, str, str, str): year, month, day, date
2626
"""
2727

28-
pattern_with_time = r"^sql-to-parquet-(\d{2})-(\d{2})-(\d{2})-(\d{6})(-backdated)?$"
28+
pattern_with_time = r"^sql-to-parquet-(\d{2})-(\d{2})-(\d{2})-(\d{6})$"
2929
pattern_backdated = r"^sql-to-parquet-(\d{4})-(\d{2})-(\d{2})-backdated$"
3030

3131
if re.match(pattern_with_time, source_identifier):

lambdas/rds_snapshot_export_s3_to_s3_copier/test_main.py

Lines changed: 21 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -3,83 +3,76 @@
33

44

55
class TestGetDateTime:
6-
76
def test_get_date_time_yy_format_with_time(self):
87
source_identifier = "sql-to-parquet-23-12-25-143000"
98
year, month, day, date = get_date_time(source_identifier)
10-
11-
assert year == "2023"
12-
assert month == "12"
13-
assert day == "25"
14-
assert date == "20231225"
15-
16-
def test_get_date_time_yy_format_with_time_backdated(self):
17-
source_identifier = "sql-to-parquet-23-12-25-143000-backdated"
18-
year, month, day, date = get_date_time(source_identifier)
19-
9+
2010
assert year == "2023"
2111
assert month == "12"
2212
assert day == "25"
2313
assert date == "20231225"
24-
14+
15+
16+
2517
def test_get_date_time_yyyy_format_backdated(self):
2618
source_identifier = "sql-to-parquet-2023-12-25-backdated"
2719
year, month, day, date = get_date_time(source_identifier)
28-
20+
2921
assert year == "2023"
3022
assert month == "12"
3123
assert day == "25"
3224
assert date == "20231225"
33-
25+
3426
def test_get_date_time_yyyy_format_backdated_different_date(self):
3527
source_identifier = "sql-to-parquet-2024-01-15-backdated"
3628
year, month, day, date = get_date_time(source_identifier)
37-
29+
3830
assert year == "2024"
3931
assert month == "01"
4032
assert day == "15"
4133
assert date == "20240115"
42-
34+
4335
def test_get_date_time_yy_format_different_time(self):
4436
source_identifier = "sql-to-parquet-24-03-10-090000"
4537
year, month, day, date = get_date_time(source_identifier)
46-
38+
4739
assert year == "2024"
4840
assert month == "03"
4941
assert day == "10"
5042
assert date == "20240310"
51-
43+
5244
def test_get_date_time_invalid_format_raises_error(self):
5345
invalid_identifiers = [
5446
"sql-to-parquet-2023-12-25", # Missing -backdated for yyyy format
55-
"sql-to-parquet-23-12-25", # Missing time for yy format
47+
"sql-to-parquet-23-12-25", # Missing time for yy format
48+
"sql-to-parquet-23-12-25-143000-backdated", # Invalid: yy format cannot have -backdated
5649
"invalid-format-23-12-25-143000", # Wrong prefix
57-
"sql-to-parquet-23-12-25-14300", # Wrong time format (5 digits)
58-
"sql-to-parquet-23-12-25-1430000", # Wrong time format (7 digits)
59-
"sql-to-parquet-2023-12-backdated", # Missing day
50+
"sql-to-parquet-23-12-25-14300", # Wrong time format (5 digits)
51+
"sql-to-parquet-23-12-25-1430000", # Wrong time format (7 digits)
52+
"sql-to-parquet-2023-12-backdated", # Missing day
6053
"sql-to-parquet-123-12-25-143000", # 3-digit year
6154
]
62-
55+
6356
for invalid_id in invalid_identifiers:
6457
with pytest.raises(ValueError, match="Invalid source identifier format"):
6558
get_date_time(invalid_id)
66-
59+
6760
def test_get_date_time_edge_cases(self):
6861
# Test with single digit month/day (should still work with zero padding)
6962
source_identifier = "sql-to-parquet-23-01-05-000000"
7063
year, month, day, date = get_date_time(source_identifier)
71-
64+
7265
assert year == "2023"
7366
assert month == "01"
7467
assert day == "05"
7568
assert date == "20230105"
76-
69+
7770
def test_get_date_time_leap_year(self):
7871
# Test leap year date
7972
source_identifier = "sql-to-parquet-2024-02-29-backdated"
8073
year, month, day, date = get_date_time(source_identifier)
81-
74+
8275
assert year == "2024"
8376
assert month == "02"
8477
assert day == "29"
85-
assert date == "20240229"
78+
assert date == "20240229"

0 commit comments

Comments
 (0)