def METHOD_NAME(db, api_client, thread, default_namespace):
    add_fake_message(
        db.session, default_namespace.id, thread, from_addr=[("Bob", "bob@foocorp.com")]
    )
    # Check that we do get message and contact changes by default.
    url = url_concat("/delta/streaming", {"timeout": 0.1, "cursor": "0"})
    r = api_client.get_raw(url)
    assert r.status_code == 200
    responses = r.get_data(as_text=True).split("\n")
    parsed_responses = [json.loads(resp) for resp in responses if resp != ""]
    assert any(resp["object"] == "message" for resp in parsed_responses)
    assert any(resp["object"] == "contact" for resp in parsed_responses)
    # And check that we don't get message/contact changes if we exclude them.
    url = url_concat(
        "/delta/streaming",
        {"timeout": 0.1, "cursor": "0", "exclude_types": "message,contact"},
    )
    r = api_client.get_raw(url)
    assert r.status_code == 200
    responses = r.get_data(as_text=True).split("\n")
    parsed_responses = [json.loads(resp) for resp in responses if resp != ""]
    assert not any(resp["object"] == "message" for resp in parsed_responses)
    assert not any(resp["object"] == "contact" for resp in parsed_responses)
    # And check we only get message objects if we use include_types
    url = url_concat(
        "/delta/streaming", {"timeout": 0.1, "cursor": "0", "include_types": "message"}
    )
    r = api_client.get_raw(url)
    assert r.status_code == 200
    responses = r.get_data(as_text=True).split("\n")
    parsed_responses = [json.loads(resp) for resp in responses if resp != ""]
    assert all(resp["object"] == "message" for resp in parsed_responses)