-
Notifications
You must be signed in to change notification settings - Fork 45
/
Copy pathtest_base.py
134 lines (111 loc) · 4.94 KB
/
test_base.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
import requests
from rtcclient.base import RTCBase
class BaseTestRTC(RTCBase):
def __str__(self):
return "Test Base"
def get_rtc_obj(self):
pass
class TestRTCBase:
test_urls = [
"http://test.url:9443/////", "http://test.url:9443/jazz////",
"http://test.url:9443/jazz"
]
valid_test_urls = [
"http://test.url:9443", "http://test.url:9443/jazz",
"http://test.url:9443/jazz"
]
def test_validate_url(self):
for idx, test_url in enumerate(self.test_urls):
test_rtc = BaseTestRTC(test_url)
assert (
test_rtc.validate_url(test_url) == self.valid_test_urls[idx])
def test_validate_url_cls(self):
for idx, test_url in enumerate(self.test_urls):
assert (
BaseTestRTC.validate_url(test_url) == self.valid_test_urls[idx])
def test_str(self):
for test_url in self.test_urls:
test_rtc = BaseTestRTC(test_url)
assert str(test_rtc) == "Test Base"
def test_repr(self):
for test_url in self.test_urls:
test_rtc = BaseTestRTC(test_url)
assert repr(test_rtc) == "<BaseTestRTC Test Base>"
def test_getattr(self):
for idx, test_url in enumerate(self.test_urls):
test_rtc = BaseTestRTC(test_url)
assert test_rtc.url == self.valid_test_urls[idx]
assert test_rtc["url"] == self.valid_test_urls[idx]
def test_get_resp(self, mocker):
# actually the GET method is inherited from requests.get
# no need for more tests
mocked_get = mocker.patch("requests.get")
test_url = "http://test.url:9443/jazz"
test_rtc = BaseTestRTC(test_url)
mock_resp = mocker.MagicMock(spec=requests.Response)
mock_resp.status_code = 200
mock_resp.json.return_value = {'get-test': "test"}
mocked_get.return_value = mock_resp
resp = test_rtc.get(test_rtc.url,
verify=False,
headers=test_rtc.CONTENT_XML,
proxies=None,
timeout=30)
mocked_get.assert_called_once_with(test_rtc.url,
verify=False,
headers=test_rtc.CONTENT_XML,
proxies=None,
timeout=30)
assert resp == mock_resp
def test_post_resp(self, mocker):
# actually the POST method is inherited from requests.post
# no need for more tests
mocked_post = mocker.patch("requests.post")
test_url = "http://test.url:9443/jazz"
test_rtc = BaseTestRTC(test_url)
mock_resp = mocker.MagicMock(spec=requests.Response)
mock_resp.status_code = 200
mock_resp.json.return_value = {'post-test': "post"}
mocked_post.return_value = mock_resp
post_data = {"data": "test"}
resp = test_rtc.post(test_rtc.url,
data=post_data,
json=None,
verify=False,
proxies=None,
headers=test_rtc.CONTENT_XML,
timeout=30)
mocked_post.assert_called_once_with(test_rtc.url,
data=post_data,
json=None,
verify=False,
proxies=None,
headers=test_rtc.CONTENT_XML,
timeout=30)
assert resp == mock_resp
def test_put_resp(self, mocker):
# actually the PUT method is inherited from requests.put
# no need for more tests
mocked_put = mocker.patch("requests.put")
test_url = "http://test.url:9443/jazz"
test_rtc = BaseTestRTC(test_url)
mock_resp = mocker.MagicMock(spec=requests.Response)
mock_resp.status_code = 200
mock_resp.json.return_value = {'post-test': "post"}
mocked_put.return_value = mock_resp
post_data = {"data": "test"}
resp = test_rtc.put(test_rtc.url,
data=post_data,
json=None,
verify=False,
proxies=None,
headers=test_rtc.CONTENT_XML,
timeout=30)
mocked_put.assert_called_once_with(test_rtc.url,
data=post_data,
json=None,
verify=False,
proxies=None,
headers=test_rtc.CONTENT_XML,
timeout=30)
assert resp == mock_resp