api: Fetch server_settings when initializing Client.
We store the information about the version of the server and the feature level for transparent compatibility handling.
This commit is contained in:
parent
4e5e7b3d0f
commit
05b9850ba3
|
@ -486,6 +486,11 @@ class Client:
|
||||||
|
|
||||||
self.has_connected = False
|
self.has_connected = False
|
||||||
|
|
||||||
|
server_settings = self.get_server_settings()
|
||||||
|
self.zulip_version: Optional[str] = server_settings.get("zulip_version")
|
||||||
|
self.feature_level: int = server_settings.get("zulip_feature_level", 0)
|
||||||
|
assert self.zulip_version is not None
|
||||||
|
|
||||||
def ensure_session(self) -> None:
|
def ensure_session(self) -> None:
|
||||||
|
|
||||||
# Check if the session has been created already, and return
|
# Check if the session has been created already, and return
|
||||||
|
|
|
@ -25,6 +25,13 @@ class BotServerTests(BotServerTestCase):
|
||||||
def handler_class(self) -> Any:
|
def handler_class(self) -> Any:
|
||||||
return BotServerTests.MockMessageHandler()
|
return BotServerTests.MockMessageHandler()
|
||||||
|
|
||||||
|
def setUp(self) -> None:
|
||||||
|
# Since initializing Client invokes `get_server_settings` that fails in the test
|
||||||
|
# environment, we need to mock it to pretend that there exists a backend.
|
||||||
|
super().setUp()
|
||||||
|
self.patch = mock.patch("zulip.Client.get_server_settings", return_value=mock.Mock())
|
||||||
|
self.patch.start()
|
||||||
|
|
||||||
def test_successful_request(self) -> None:
|
def test_successful_request(self) -> None:
|
||||||
available_bots = ["helloworld"]
|
available_bots = ["helloworld"]
|
||||||
bots_config = {
|
bots_config = {
|
||||||
|
|
Loading…
Reference in a new issue