]>
git.ipfire.org Git - thirdparty/pdns.git/blob - regression-tests.api/test_Basics.py
4 from test_helper
import ApiTestCase
7 class TestBasics(ApiTestCase
):
10 r
= requests
.get(self
.url("/api/v1/servers/localhost"))
11 self
.assertEquals(r
.status_code
, requests
.codes
.unauthorized
)
13 def test_split_request(self
):
14 s
= socket
.socket(socket
.AF_INET
, socket
.SOCK_STREAM
)
15 s
.setsockopt(socket
.IPPROTO_TCP
, socket
.TCP_NODELAY
, 1)
16 s
.connect((self
.server_address
, self
.server_port
))
18 parts
= ("GET / HTTP/1.0\r\n", "Content-Type: text/plain\r\n\r\n")
20 print("Sending request")
22 print("Sending %s" % part
)
23 s
.sendall(part
.encode('ascii'))
26 resp
= s
.recv(4096, socket
.MSG_WAITALL
)
29 print("response", repr(resp
))
31 status
= resp
.splitlines(0)[0]
33 raise Exception('Got unwanted response: %s' % status
)
36 r
= self
.session
.options(self
.url("/api/v1/servers/localhost"))
37 # look for CORS headers
39 self
.assertEquals(r
.status_code
, requests
.codes
.ok
)
40 self
.assertEquals(r
.headers
['access-control-allow-origin'], "*")
41 self
.assertEquals(r
.headers
['access-control-allow-headers'], 'Content-Type, X-API-Key')
42 self
.assertEquals(r
.headers
['access-control-allow-methods'], 'GET, POST, PUT, PATCH, DELETE, OPTIONS')
44 print("response", repr(r
.headers
))