def test_require_unambiguous_formats_with_ambiguous_formats():
    datetime_str = ambiguous_datetime.format(ambiguous_formats[0])
    datetime_config = DatetimeConfig(require_unambiguous_formats=True)
    with pytest.raises(AmbiguousDatetimeFormatsError):
        parse_with_formats(datetime_str,
                           formats=ambiguous_formats,
                           config=datetime_config)
def test_forgiving_require_unambiguous_formats_with_ambiguous_formats():
    datetime_str = forgiving_ambiguous_datetime.format(ambiguous_formats[0])
    datetime_config = DatetimeConfig(require_unambiguous_formats=True)
    parsed_datetime = parse_with_formats(datetime_str,
                                         formats=ambiguous_formats,
                                         config=datetime_config)
    assert parsed_datetime._datetime.ctime(
    ) == forgiving_ambiguous_datetime.ctime()
def test_require_unambiguous_formats_with_ambiguous_formats_with_zz():
    datetime_str = ambiguous_datetime.format(ambiguous_formats_with_zz[0])
    datetime_config = DatetimeConfig(require_unambiguous_formats=True,
                                     tz_dict={"UTC": "+00:00"})
    with pytest.raises(AmbiguousDatetimeFormatsError):
        parse_with_formats(
            datetime_str,
            formats=ambiguous_formats_with_zz,
            config=datetime_config,
        )
def test_require_unambiguous_formats_with_unambiguous_formats():
    datetime_str = "Saturday, February 3rd 2001 04:05:06 AM UTC"
    expected = "2001-02-03T04:05:06Z"
    datetime_config = DatetimeConfig(require_unambiguous_formats=True)
    result = parse_with_formats(datetime_str,
                                formats=unambiguous_formats,
                                config=datetime_config)
    assert expected == result.tsformat()

    if datetime_config.require_unambiguous_formats:
        parse_with_formats(datetime_str, formats=unambiguous_formats)
    else:
        assert False
Example #5
0
def test_parse(
    input_: str,
    year_first: Optional[bool],
    day_first: Optional[bool],
    expected: Optional[str],
):
    datetime_config = DatetimeConfig(year_first=year_first,
                                     day_first=day_first)
    try:
        parsed_datetime = parse(
            datetime_raw_str=input_,
            config=datetime_config,
        )
        parsed_datetime = parsed_datetime.isoformat()
    except DatetimeParserError:
        parsed_datetime = None

    assert parsed_datetime == expected
def test_parse_with_formats(
    input_: str,
    formats: Optional[Sequence[str]],
    expected: Optional[str],
    raises_error: bool,
):
    datetime_config = DatetimeConfig()
    if raises_error:
        with pytest.raises(DatetimeParserError):
            parsed_datetime = parse_with_formats(
                datetime_raw_str=input_,
                formats=formats,
                config=datetime_config,
            )
    else:
        parsed_datetime = parse_with_formats(
            datetime_raw_str=input_,
            formats=formats,
            config=datetime_config,
        )
        assert parsed_datetime.isoformat() == expected