Skip to content

Commit 8eebdfa

Browse files
committed
remove warnings
1 parent cc9f704 commit 8eebdfa

File tree

3 files changed

+21
-20
lines changed

3 files changed

+21
-20
lines changed

tableauserverclient/models/tableau_auth.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,6 @@ def credentials(self):
6565
}
6666

6767
def __repr__(self):
68-
return "<PersonalAccessToken name={} token={} site={}>".format(
68+
return "<PersonalAccessToken name={} token={}>(site={})".format(
6969
self.token_name, self.personal_access_token[:2] + "...", self.site_id
7070
)

tableauserverclient/server/server.py

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1+
import logging
12
import warnings
23

34
import requests
45
import urllib3
56

6-
from defusedxml.ElementTree import fromstring
7+
from defusedxml.ElementTree import fromstring, ParseError
78
from packaging.version import Version
89
from .endpoint import (
910
Sites,
@@ -103,12 +104,13 @@ def __init__(self, server_address, use_server_version=False, http_options=None,
103104

104105
def validate_server_connection(self):
105106
try:
106-
if not self._server_address.startswith("http"):
107+
if not self._server_address.startswith("http://") and not self._server_address.startswith("https://"):
107108
self._server_address = "http://" + self._server_address
108-
self._session.prepare_request(requests.Request("GET", url=self._server_address, params=self._http_options))
109+
self._session.prepare_request(
110+
requests.Request("GET", url=self._server_address, params=self._http_options)
111+
)
109112
except Exception as req_ex:
110-
warnings.warn("Invalid server initialization\n {}".format(req_ex.__str__()), UserWarning)
111-
print("==================")
113+
raise ValueError("Invalid server initialization", req_ex)
112114

113115
def __repr__(self):
114116
return "<TableauServerClient> [Connection: {}, {}]".format(self.baseurl, self.server_info.serverInfo)
@@ -142,7 +144,13 @@ def _set_auth(self, site_id, user_id, auth_token):
142144

143145
def _get_legacy_version(self):
144146
response = self._session.get(self.server_address + "/auth?format=xml")
145-
info_xml = fromstring(response.content)
147+
try:
148+
info_xml = fromstring(response.content)
149+
except ParseError as parseError:
150+
logging.getLogger("TSC.server").info(
151+
"Could not read server version info. The server may not be running or configured."
152+
)
153+
return self.version
146154
prod_version = info_xml.find(".//product_version").text
147155
version = _PRODUCT_TO_REST_VERSION.get(prod_version, "2.1") # 2.1
148156
return version
@@ -154,9 +162,6 @@ def _determine_highest_version(self):
154162
version = self.server_info.get().rest_api_version
155163
except ServerInfoEndpointNotFoundError:
156164
version = self._get_legacy_version()
157-
except BaseException as e:
158-
warnings.warn("Could not get version info from server, guessing {}".format(e.__class__))
159-
version = self._get_legacy_version()
160165

161166
self.version = old_version
162167

@@ -167,8 +172,6 @@ def use_server_version(self):
167172

168173
def use_highest_version(self):
169174
self.use_server_version()
170-
import warnings
171-
172175
warnings.warn("use use_server_version instead", DeprecationWarning)
173176

174177
def check_at_least_version(self, target: str):

test/http/test_http_requests.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,31 +30,29 @@ def test_init_server_model_empty_throws(self):
3030
with self.assertRaises(TypeError):
3131
server = TSC.Server()
3232

33-
def test_init_server_model_bad_server_name_complains(self):
34-
# by default, it will just set the version to 2.3
33+
def test_init_server_model_no_protocol_defaults_htt(self):
3534
server = TSC.Server("fake-url")
3635

3736
def test_init_server_model_valid_server_name_works(self):
38-
# by default, it will just set the version to 2.3
3937
server = TSC.Server("http://fake-url")
4038

4139
def test_init_server_model_valid_https_server_name_works(self):
4240
# by default, it will just set the version to 2.3
4341
server = TSC.Server("https://fake-url")
4442

4543
def test_init_server_model_bad_server_name_not_version_check(self):
46-
# by default, it will just set the version to 2.3
4744
server = TSC.Server("fake-url", use_server_version=False)
4845

49-
@mock.patch("requests.sessions.Session.get", side_effect=mocked_requests_get)
50-
def test_init_server_model_bad_server_name_do_version_check(self, mock_get):
51-
server = TSC.Server("fake-url", use_server_version=True)
46+
def test_init_server_model_bad_server_name_do_version_check(self):
47+
with self.assertRaises(requests.exceptions.ConnectionError):
48+
server = TSC.Server("fake-url", use_server_version=True)
5249

5350
def test_init_server_model_bad_server_name_not_version_check_random_options(self):
54-
# by default, it will just set the version to 2.3
51+
# with self.assertRaises(MissingSchema):
5552
server = TSC.Server("fake-url", use_server_version=False, http_options={"foo": 1})
5653

5754
def test_init_server_model_bad_server_name_not_version_check_real_options(self):
55+
# with self.assertRaises(ValueError):
5856
server = TSC.Server("fake-url", use_server_version=False, http_options={"verify": False})
5957

6058
def test_http_options_skip_ssl_works(self):

0 commit comments

Comments
 (0)