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
|
||||
|
||||
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:
|
||||
|
||||
# Check if the session has been created already, and return
|
||||
|
|
|
@ -25,6 +25,13 @@ class BotServerTests(BotServerTestCase):
|
|||
def handler_class(self) -> Any:
|
||||
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:
|
||||
available_bots = ["helloworld"]
|
||||
bots_config = {
|
||||
|
|
Loading…
Reference in a new issue