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