def _validate_fiscal_year(filters: dict) -> int: if "fy" not in filters: raise InvalidParameterException("Missing required filter 'fy'.") try: fy = int(filters["fy"]) except (TypeError, ValueError): raise InvalidParameterException( "'fy' filter not provided as an integer.") if not fy_helpers.is_valid_year(fy): raise InvalidParameterException( f"'fy' must be a valid year from {MINYEAR} to {MAXYEAR}.") return fy
def test_is_valid_year(): assert fyh.is_valid_year(MINYEAR) is True assert fyh.is_valid_year(MINYEAR + 1) is True assert fyh.is_valid_year(MAXYEAR) is True assert fyh.is_valid_year(MAXYEAR - 1) is True assert fyh.is_valid_year(1999) is True assert fyh.is_valid_year(MINYEAR - 1) is False assert fyh.is_valid_year(MAXYEAR + 1) is False assert fyh.is_valid_year(None) is False assert fyh.is_valid_year("1") is False assert fyh.is_valid_year("a") is False assert fyh.is_valid_year({"hello": "there"}) is False