33
44
55class 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