8000 Add tests · arangodb/python-arango@9b9656b · GitHub
[go: up one dir, main page]

Skip to content

Commit 9b9656b

Browse files
committed
Add tests
1 parent c291667 commit 9b9656b

File tree

1 file changed

+53
-0
lines changed

1 file changed

+53
-0
lines changed

tests/test_client.py

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
import json
2+
from typing import Union
23

34
import pytest
45
from pkg_resources import get_distribution
6+
from requests import Session
57

68
from arango.client import ArangoClient
79
from arango.database import StandardDatabase
@@ -108,3 +110,54 @@ def send_request(
108110
# Set verify to True to send a test API call on initialization.
109111
client.db(db.name, username, password, verify=True)
110112
assert http_client.counter == 1
113+
114+
115+
def test_client_override_validate() -> None:
116+
# custom http client that manipulates the underlying session
117+
class MyHTTPClient(DefaultHTTPClient):
118+
def __init__(self, verify: Union[None, bool, str]) -> None:
119+
super().__init__()
120+
self.verify = verify
121+
122+
def create_session(self, host: str) -> Session:
123+
session = super().create_session(host)
124+
session.verify = self.verify
125+
return session
126+
127+
def assert_verify(
128+
http_client_verify: Union[None, str, bool],
129+
arango_override: Union[None, str, bool],
130+
expected_result: Union[None, str, bool],
131+
) -> None:
132+
http_client = MyHTTPClient(verify=http_client_verify)
133+
client = ArangoClient(
134+
hosts="http://127.0.0.1:8529",
135+
http_client=http_client,
136+
verify_override=arango_override,
137+
)
138+
# make sure there is at least 1 session
139+
assert len(client._sessions) > 0
140+
for session in client._sessions:
141+
# make sure the final session.verify has expected value
142+
assert session.verify == expected_result
143+
144+
assert_verify(None, None, None)
145+
assert_verify(None, True, True)
146+
assert_verify(None, False, False)
147+
assert_verify(None, "test", "test")
148+
149+
assert_verify(True, None, True)
150+
assert_verify(True, True, True)
151+
assert_verify(True, "test", "test")
152+
assert_verify(True, False, False)
153+
154+
assert_verify(False, None, False)
155+
assert_verify(False, True, True)
156+
assert_verify(False, "test", "test")
157+
assert_verify(False, False, False)
158+
159+
assert_verify("test", None, "test")
160+
assert_verify("test", True, True)
161+
assert_verify("test", False, False)
162+
assert_verify("test", False, False)
163+
assert_verify("test", "foo", "foo")

0 commit comments

Comments
 (0)
0