8000 Test request construction (#91) · LGraber/server-client-python@114922b · GitHub
[go: up one dir, main page]

Skip to content

Commit 114922b

Browse files
authored
Test request construction (tableau#91)
* GET and POST tests verify headers, body, and query strings coming from `Endpoint`
1 parent 79e9a2a commit 114922b

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed

test/test_requests.py

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
import unittest
2+
3+
import requests
4+
import requests_mock
5+
6+
import tableauserverclient as TSC
7+
8+
9+
class RequestTests(unittest.TestCase):
10+
def setUp(self):
11+
self.server = TSC.Server('http://test')
12+
13+
# Fake sign in
14+
self.server._site_id = 'dad65087-b08b-4603-af4e-2887b8aafc67'
15+
self.server._auth_token = 'j80k54ll2lfMZ0tv97mlPvvSCRyD0DOM'
16+
17+
self.baseurl = self.server.workbooks.baseurl
18+
19+
def test_make_get_request(self):
20+
with requests_mock.mock() as m:
21+
m.get(requests_mock.ANY)
22+
url = "http://test/api/2.3/sites/dad65087-b08b-4603-af4e-2887b8aafc67/workbooks"
23+
opts = TSC.RequestOptions(pagesize=13, pagenumber=13)
24+
resp = self.server.workbooks._make_request(requests.get,
25+
url,
26+
content=None,
27+
request_object=opts,
28+
auth_token='j80k54ll2lfMZ0tv97mlPvvSCRyD0DOM',
29+
content_type='text/xml')
30+
31+
self.assertEquals(resp.request.query, 'pagenumber=13&pagesize=13')
32+
self.assertEquals(resp.request.headers['x-tableau-auth'], 'j80k54ll2lfMZ0tv97mlPvvSCRyD0DOM')
33+
self.assertEquals(resp.request.headers['content-type'], 'text/xml')
34+
35+
def test_make_post_request(self):
36+
with requests_mock.mock() as m:
37+
m.post(requests_mock.ANY)
38+
url = "http://test/api/2.3/sites/dad65087-b08b-4603-af4e-2887b8aafc67/workbooks"
39+
resp = self.server.workbooks._make_request(requests.post,
40+
url,
41+
content=b'1337',
42+
request_object=None,
43+
auth_token='j80k54ll2lfMZ0tv97mlPvvSCRyD0DOM',
44+
content_type='multipart/mixed')
45+
self.assertEquals(resp.request.headers['x-tableau-auth'], 'j80k54ll2lfMZ0tv97mlPvvSCRyD0DOM')
46+
self.assertEquals(resp.request.headers['content-type'], 'multipart/mixed')
47+
self.assertEquals(resp.request.body, b'1337')

0 commit comments

Comments
 (0)
0