def add_data(): from burnafterme import redis_client if not request.data: return '400 NO CONTENT', 400 key = generate_short() timeout = current_app.config['TIMEOUT'] user_provided_timeout = request.args.get('t') print(user_provided_timeout) if user_provided_timeout: try: timeout = parse_timeout(user_provided_timeout) except TimeoutFormatException: return f'400 BAD TIMEOUT PROVIDED {request.args.get("t")}' except Exception: return f'400 LOGICAL TIMEOUT EXCEPTION' redis_client.setex(key, timeout, request.data) return f'{current_app.config["PROTOCOL"]}://{current_app.config["HOST"]}/{key}'
def test_parses_minute_timeout(): assert parse_timeout("60s") == parse_timeout("1m")
def test_parses_second_timeout(): assert parse_timeout("1s") == 1 assert parse_timeout("300s") == 300
def test_parses_year_timeout(): assert parse_timeout("365d") == parse_timeout("1y")
def test_parses_week_timeout(): assert parse_timeout("2w") == parse_timeout("14d")
def test_parses_day_timeout(): assert parse_timeout("2d") == parse_timeout("48h")
def test_parses_hour_timeout(): assert parse_timeout("1h") == parse_timeout("60m")