/ tests / header_test.py
header_test.py
 1  from unittest import mock
 2  import mocket
 3  import json
 4  import adafruit_requests
 5  
 6  ip = "1.2.3.4"
 7  host = "httpbin.org"
 8  response_headers = b"HTTP/1.0 200 OK\r\nContent-Length: 0\r\n\r\n"
 9  
10  
11  def test_json():
12      pool = mocket.MocketPool()
13      pool.getaddrinfo.return_value = ((None, None, None, None, (ip, 80)),)
14      sock = mocket.Mocket(response_headers)
15      pool.socket.return_value = sock
16      sent = []
17  
18      def _send(data):
19          sent.append(data)
20          return len(data)
21  
22      sock.send.side_effect = _send
23  
24      s = adafruit_requests.Session(pool)
25      headers = {"user-agent": "blinka/1.0.0"}
26      r = s.get("http://" + host + "/get", headers=headers)
27  
28      sock.connect.assert_called_once_with((ip, 80))
29      sent = b"".join(sent).lower()
30      assert b"user-agent: blinka/1.0.0\r\n" in sent
31      # The current implementation sends two user agents. Fix it, and uncomment below.
32      # assert sent.count(b"user-agent:") == 1