diff --git a/zerver/lib/event_schema.py b/zerver/lib/event_schema.py index 40ef92f289..1eb243787a 100644 --- a/zerver/lib/event_schema.py +++ b/zerver/lib/event_schema.py @@ -267,6 +267,26 @@ def check_delete_message( assert set(event.keys()) == keys +has_zoom_token_event = event_dict_type( + required_keys=[ + # force vertical + ("type", Equals("has_zoom_token")), + ("value", bool), + ] +) +_check_has_zoom_token = make_checker(has_zoom_token_event) + + +def check_has_zoom_token( + # force vertical + var_name: str, + event: Dict[str, object], + value: bool, +) -> None: + _check_has_zoom_token(var_name, event) + assert event["value"] == value + + _hotspot = DictType( required_keys=[ # force vertical diff --git a/zerver/tests/test_events.py b/zerver/tests/test_events.py index 92da1f6e55..c568a13b0d 100644 --- a/zerver/tests/test_events.py +++ b/zerver/tests/test_events.py @@ -99,6 +99,7 @@ from zerver.lib.event_schema import ( check_default_streams, check_delete_message, check_events_dict, + check_has_zoom_token, check_hotspots, check_invites_changed, check_message, @@ -1732,22 +1733,14 @@ class NormalActionsTest(BaseAction): ) def test_has_zoom_token(self) -> None: - schema_checker = check_events_dict([ - ('type', equals('has_zoom_token')), - ('value', equals(True)), - ]) events = self.verify_action( lambda: do_set_zoom_token(self.user_profile, {'access_token': 'token'}), ) - schema_checker('events[0]', events[0]) + check_has_zoom_token('events[0]', events[0], value=True) - schema_checker = check_events_dict([ - ('type', equals('has_zoom_token')), - ('value', equals(False)), - ]) events = self.verify_action( lambda: do_set_zoom_token(self.user_profile, None)) - schema_checker('events[0]', events[0]) + check_has_zoom_token('events[0]', events[0], value=False) class RealmPropertyActionTest(BaseAction): def do_set_realm_property_test(self, name: str) -> None: