import pytest from utils.key import Key, ParseKeyError @pytest.mark.parametrize( "key, expected_environment, expected_timestamp, expected_uuid", ( ( "foo_1663160947_83c067cf-715f-482f-8ae0-aa4bd902435a", "foo", 1663160947, "83c067cf-715f-482f-8ae0-aa4bd902435a", ), ( "foo_bar_1663160947_83c067cf-715f-482f-8ae0-aa4bd902435a", "foo_bar", 1663160947, "83c067cf-715f-482f-8ae0-aa4bd902435a", ), pytest.param("", None, None, None, marks=pytest.mark.xfail(raises=ParseKeyError)), ), ) def test_from_string(key, expected_environment, expected_timestamp, expected_uuid): k = Key.from_string(key) assert k.environment == expected_environment assert k.timestamp.to_int() == expected_timestamp assert k.uuid == expected_uuid