def test_message_init_no_body():

    """ Test message construction without a body.
        e.g. standard GET request
    """
    msg_no_body = HttpRequestMessage("GET", "/", 'localhost', {})

    assert msg_no_body.method == "GET"
    assert msg_no_body.page == "/"
    assert msg_no_body.headers == msg_no_body.create_headers()
    assert msg_no_body.body == ""
def test_message_init_w_body():

    """ Test message construction with body content.
        e.g. standard POST request
    """
    msg_w_body = HttpRequestMessage("POST", "/", '192.168.0.1', {},
                                    body="body stuff")
    assert msg_w_body.method == "POST"
    assert msg_w_body.page == "/"
    assert msg_w_body.headers == msg_w_body.create_headers()
    assert msg_w_body.body == "body stuff"
def test_message_init_w_headers():

    """ Test message with modified headers.
        Verify supplied headers overwrite defaults.
    """
    header_dict = {'Accept': 'application/ld+json'}
    msg_w_headers = HttpRequestMessage("GET", "/test", '127.0.0.1',
                                       headers=header_dict)

    assert msg_w_headers.method == "GET"
    assert msg_w_headers.page == "/test"
    assert msg_w_headers.headers == msg_w_headers.create_headers(header_dict)
    assert msg_w_headers.body == ""