def METHOD_NAME():
    assert not search.Query.parse('', 'submit')
    assert not search.Query.parse('#character', 'submit')
    assert search.Query.parse('tag_that_does_not_exist', 'submit')
    query = search.Query.parse('one, two +three & -four |five |six user:a +user:b -user:c #general #mature #submission', 'journal')
    assert query.possible_includes == {'five', 'six'}
    assert query.required_includes == {'one', 'two', 'three'}
    assert query.required_excludes == {'four'}
    assert query.required_user_includes == {'a', 'b'}
    assert query.required_user_excludes == {'c'}
    assert query.ratings == {ratings.GENERAL.code, ratings.MATURE.code}
    assert query.find == 'submit'