Skip to content

Commit

Permalink
fix: url attribute type validation (#672)
Browse files Browse the repository at this point in the history
  • Loading branch information
VitalyChait authored Sep 24, 2024
1 parent 70ce8cb commit 3d70dbd
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 0 deletions.
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
## 1.47.0 [unreleased]

### Bug Fixes
1. [#672](https://github.com/influxdata/influxdb-client-python/pull/672): Adding type validation to url attribute in client object

## 1.46.0 [2024-09-13]

### Bug Fixes
Expand Down
2 changes: 2 additions & 0 deletions influxdb_client/client/_base.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,8 @@ def __init__(self, url, token, debug=None, timeout=10_000, enable_gzip=False, or
self.default_tags = default_tags

self.conf = _Configuration()
if not isinstance(self.url, str):
raise ValueError('"url" attribute is not str instance')
if self.url.endswith("/"):
self.conf.host = self.url[:-1]
else:
Expand Down
29 changes: 29 additions & 0 deletions tests/test_InfluxDBClient.py
Original file line number Diff line number Diff line change
Expand Up @@ -323,6 +323,35 @@ def test_version(self):
version = self.client.version()
self.assertTrue(len(version) > 0)

def test_url_attribute(self):
# Wrong URL attribute
wrong_types = [
None,
True, False,
123, 123.5,
dict({"url" : "http://localhost:8086"}),
list(["http://localhost:8086"]),
tuple(("http://localhost:8086"))
]
correct_types = [
"http://localhost:8086"
]
for url_type in wrong_types:
try:
client_not_running = InfluxDBClient(url=url_type, token="my-token", debug=True)
status = True
except ValueError as e:
status = False
self.assertFalse(status)
for url_type in correct_types:
try:
client_not_running = InfluxDBClient(url=url_type, token="my-token", debug=True)
status = True
except ValueError as e:
status = False
self.assertTrue(status)


def test_build(self):
build = self.client.build()
self.assertEqual('oss', build.lower())
Expand Down

0 comments on commit 3d70dbd

Please sign in to comment.