def test_dissect_aliases(): event = Event(_type="nominate", time=datetime.utcnow()) assert "type:nominate" in filter_context.dissect(event) assert "type:nomination" in filter_context.dissect(event) assert "type:nominated" in filter_context.dissect(event) assert "type:bubbled" in filter_context.dissect(event)
def test_dissect_user(): user = User(2, "some two") event = Event(_type="test", time=datetime.utcnow(), user=user) assert filter_context.dissect(event) == [ "user:\"some two\"", "user-id:2", "type:test" ]
def test_dissect_newspost(): user = User(2, "some two") newspost = NewsPost(_id=4, title="title", preview="preview", author=user, slug="slug", image_url="image_url") event = Event(_type="test", time=datetime.utcnow(), newspost=newspost, content="preview") assert filter_context.dissect(event) == [ "news-title:title", "news-content:preview", "news-preview:preview", "news-author:\"some two\"", "news-author-id:2", "type:test", "content:preview" ]
def test_dissect_beatmapset(): user = User(2, "some two") beatmapset = Beatmapset(4, artist="yes", title="no", creator=user, modes=["osu", "catch"], genre="g", language="l") event = Event(_type="test", time=datetime.utcnow(), beatmapset=beatmapset) assert filter_context.dissect(event) == [ "set-id:4", "mapset-id:4", "beatmapset-id:4", "artist:yes", "title:no", "creator:\"some two\"", "creator-id:2", "mode:osu", "mode:catch", "type:test" ]
def test_dissect_discussion(): user = User(1, "some one") creator = User(2, "some two") beatmapset = Beatmapset(4, artist="yes", title="no", creator=creator, modes=["osu", "catch"], genre="g", language="l") discussion = Discussion(3, beatmapset=beatmapset, user=user, content="hello") event = Event(_type="test", time=datetime.utcnow(), beatmapset=beatmapset, discussion=discussion, user=user, content="hello") event_dissection = filter_context.dissect(event) for pair in [ "type:test", "content:hello", "discussion-id:3", "author:\"some one\"", "author-id:1", "discussion-content:hello" ]: assert pair in event_dissection
def test_dissect_discussion(): user = User(1, "some one") creator = User(2, "some two") beatmapset = Beatmapset(4, creator=creator, allow_api=False) discussion = Discussion(3, beatmapset=beatmapset, user=user, content="hello") event = Event(_type="test", time=datetime.utcnow(), beatmapset=beatmapset, discussion=discussion, user=user, content="hello") event_dissection = filter_context.dissect(event) for pair in [ "type:test", "content:hello", "discussion-id:3", "author:\"some one\"", "author-id:1", "discussion-content:hello" ]: assert pair in event_dissection
def test_dissect_simple(): event = Event(_type="test", time=datetime.utcnow()) assert filter_context.dissect(event) == ["type:test"]
def test_dissect_aliases_whitespace_substitution(): event = Event(_type="kudosu_gain", time=datetime.utcnow()) assert "type:kudosu_gain" in filter_context.dissect(event) assert "type:\"kudosu gain\"" in filter_context.dissect(event) assert "type:kudosu-gain" in filter_context.dissect(event)