import requests


def test_put_binary_payload_preserved():
    payload = u"ööö".encode("utf-8")
    req = requests.Request("PUT", "http://example.com/put", data=payload)
    try:
        prepped = req.prepare()
    except UnicodeDecodeError as e:
        assert False, "binary payload raised UnicodeDecodeError via to_native_string: %s" % e
    assert prepped.body == payload, "expected binary body %r, got %r" % (payload, prepped.body)
