Exemplo n.º 1
0
class WsgidReplyTest(unittest.TestCase):


  def setUp(self):
    self.wsgid = Wsgid()
    self.sample_uuid = 'bb3ce668-4528-11e0-94e3-001fe149503a'
    self.sample_conn_id = '42'

  def test_reply_no_headers(self):
    m2msg = self.wsgid._reply(self.sample_uuid, self.sample_conn_id, '200 OK', body='Hello World\n')
    resp = "%s 2:42, HTTP/1.1 200 OK\r\nContent-Length: 12\r\n\r\nHello World\n" % (self.sample_uuid)
    self.assertEquals(resp, m2msg)

  def test_reply_no_body(self):
    headers = [('Header', 'Value'), ('X-Other-Header', 'Other-Value')]
    m2msg = self.wsgid._reply(self.sample_uuid, self.sample_conn_id, '200 OK', headers=headers)
    resp = "%s 2:42, HTTP/1.1 200 OK\r\n\
Header: Value\r\n\
X-Other-Header: Other-Value\r\n\
Content-Length: 0\r\n\r\n" % (self.sample_uuid)
    self.assertEquals(resp, m2msg)

  def test_reply_with_body_andheaders(self):
    headers = [('Header', 'Value'), ('X-Other-Header', 'Other-Value')]
    body = "Hello World\n"
    m2msg = self.wsgid._reply(self.sample_uuid, self.sample_conn_id, '200 OK', headers=headers, body=body)
    resp = "%s 2:42, HTTP/1.1 200 OK\r\n\
Header: Value\r\n\
X-Other-Header: Other-Value\r\n\
Content-Length: 12\r\n\r\n\
Hello World\n" % (self.sample_uuid)
    self.assertEquals(resp, m2msg)
Exemplo n.º 2
0
class WsgidReplyTest(unittest.TestCase):
    def setUp(self):
        self.wsgid = Wsgid()
        self.sample_uuid = "bb3ce668-4528-11e0-94e3-001fe149503a"
        self.sample_conn_id = "42"

    def test_reply_no_headers(self):
        m2msg = self.wsgid._reply(self.sample_uuid, self.sample_conn_id, "200 OK", body="Hello World\n")
        resp = "%s 2:42, HTTP/1.1 200 OK\r\nContent-Length: 12\r\nX-Wsgid: %s\r\n\r\nHello World\n" % (
            self.sample_uuid,
            __version__,
        )
        self.assertEquals(resp, m2msg)

    def test_reply_no_body(self):
        headers = [("Header", "Value"), ("X-Other-Header", "Other-Value")]
        m2msg = self.wsgid._reply(self.sample_uuid, self.sample_conn_id, "200 OK", headers=headers)
        resp = (
            "%s 2:42, HTTP/1.1 200 OK\r\n\
Header: Value\r\n\
X-Other-Header: Other-Value\r\n\
Content-Length: 0\r\n\
X-Wsgid: %s\r\n\r\n"
            % (self.sample_uuid, __version__)
        )

        self.assertEquals(resp, m2msg)

    def test_reply_with_body_andheaders(self):
        headers = [("Header", "Value"), ("X-Other-Header", "Other-Value")]
        body = "Hello World\n"
        m2msg = self.wsgid._reply(self.sample_uuid, self.sample_conn_id, "200 OK", headers=headers, body=body)
        resp = (
            "%s 2:42, HTTP/1.1 200 OK\r\n\
Header: Value\r\n\
X-Other-Header: Other-Value\r\n\
Content-Length: 12\r\n\
X-Wsgid: %s\r\n\r\n\
Hello World\n"
            % (self.sample_uuid, __version__)
        )
        self.assertEquals(resp, m2msg)

    def test_add_x_wsgid_header(self):
        headers = [("Header", "Value"), ("X-Other-Header", "Other-Value")]
        body = "Hello World\n"
        m2msg = self.wsgid._reply(self.sample_uuid, self.sample_conn_id, "200 OK", headers=headers, body=body)
        resp = (
            "%s 2:42, HTTP/1.1 200 OK\r\n\
Header: Value\r\n\
X-Other-Header: Other-Value\r\n\
Content-Length: 12\r\n\
X-Wsgid: %s\r\n\r\n\
Hello World\n"
            % (self.sample_uuid, __version__)
        )
        assert resp == m2msg

    """
  If the WSGI app returns a X-WSGID header we must replace it.
  X-WSGID is a reserved header name
  """

    def test_remove_any_x_wsgid_header(self):
        headers = [("Header", "Value"), ("X-Other-Header", "Other-Value"), ("X-WSGID", "Not-Permitted")]
        body = "Hello World\n"
        m2msg = self.wsgid._reply(self.sample_uuid, self.sample_conn_id, "200 OK", headers=headers, body=body)
        resp = (
            "%s 2:42, HTTP/1.1 200 OK\r\n\
Header: Value\r\n\
X-Other-Header: Other-Value\r\n\
Content-Length: 12\r\n\
X-Wsgid: %s\r\n\r\n\
Hello World\n"
            % (self.sample_uuid, __version__)
        )
        self.assertEquals(resp, m2msg)