mirror of https://github.com/zulip/zulip.git
tests: Update `assert_json_success` to check for ignored parameters.
Updates `assert_json_success` so that it checks for an array of ignored parameters in the success response.
This commit is contained in:
parent
b8197e06bc
commit
0f2472ed14
|
@ -1088,7 +1088,10 @@ Output:
|
||||||
self.assertEqual(result, data)
|
self.assertEqual(result, data)
|
||||||
|
|
||||||
def assert_json_success(
|
def assert_json_success(
|
||||||
self, result: Union["TestHttpResponse", HttpResponse]
|
self,
|
||||||
|
result: Union["TestHttpResponse", HttpResponse],
|
||||||
|
*,
|
||||||
|
ignored_parameters: Optional[List[str]] = None,
|
||||||
) -> Dict[str, Any]:
|
) -> Dict[str, Any]:
|
||||||
"""
|
"""
|
||||||
Successful POSTs return a 200 and JSON of the form {"result": "success",
|
Successful POSTs return a 200 and JSON of the form {"result": "success",
|
||||||
|
@ -1104,6 +1107,14 @@ Output:
|
||||||
# empty value.
|
# empty value.
|
||||||
self.assertIn("msg", json)
|
self.assertIn("msg", json)
|
||||||
self.assertNotEqual(json["msg"], "Error parsing JSON in response!")
|
self.assertNotEqual(json["msg"], "Error parsing JSON in response!")
|
||||||
|
# Check ignored parameters.
|
||||||
|
if ignored_parameters is None:
|
||||||
|
self.assertNotIn("ignored_parameters_unsupported", json)
|
||||||
|
else:
|
||||||
|
self.assertIn("ignored_parameters_unsupported", json)
|
||||||
|
self.assert_length(json["ignored_parameters_unsupported"], len(ignored_parameters))
|
||||||
|
for param in ignored_parameters:
|
||||||
|
self.assertTrue(param in json["ignored_parameters_unsupported"])
|
||||||
return json
|
return json
|
||||||
|
|
||||||
def get_json_error(self, result: "TestHttpResponse", status_code: int = 400) -> str:
|
def get_json_error(self, result: "TestHttpResponse", status_code: int = 400) -> str:
|
||||||
|
|
|
@ -1308,17 +1308,13 @@ class RealmAPITest(ZulipTestCase):
|
||||||
|
|
||||||
def test_ignored_parameters_in_realm_default_endpoint(self) -> None:
|
def test_ignored_parameters_in_realm_default_endpoint(self) -> None:
|
||||||
params = {"starred_message_counts": orjson.dumps(False).decode(), "emoji_set": "twitter"}
|
params = {"starred_message_counts": orjson.dumps(False).decode(), "emoji_set": "twitter"}
|
||||||
json_result = self.client_patch("/json/realm/user_settings_defaults", params)
|
result = self.client_patch("/json/realm/user_settings_defaults", params)
|
||||||
self.assert_json_success(json_result)
|
self.assert_json_success(result, ignored_parameters=["emoji_set"])
|
||||||
|
|
||||||
realm = get_realm("zulip")
|
realm = get_realm("zulip")
|
||||||
realm_user_default = RealmUserDefault.objects.get(realm=realm)
|
realm_user_default = RealmUserDefault.objects.get(realm=realm)
|
||||||
self.assertEqual(realm_user_default.starred_message_counts, False)
|
self.assertEqual(realm_user_default.starred_message_counts, False)
|
||||||
|
|
||||||
result = orjson.loads(json_result.content)
|
|
||||||
self.assertIn("ignored_parameters_unsupported", result)
|
|
||||||
self.assertEqual(result["ignored_parameters_unsupported"], ["emoji_set"])
|
|
||||||
|
|
||||||
def test_update_realm_move_messages_within_stream_limit_seconds_unlimited_value(self) -> None:
|
def test_update_realm_move_messages_within_stream_limit_seconds_unlimited_value(self) -> None:
|
||||||
realm = get_realm("zulip")
|
realm = get_realm("zulip")
|
||||||
self.login("iago")
|
self.login("iago")
|
||||||
|
|
|
@ -455,12 +455,8 @@ class ChangeSettingsTest(ZulipTestCase):
|
||||||
self.login("hamlet")
|
self.login("hamlet")
|
||||||
|
|
||||||
# Now try an invalid setting name
|
# Now try an invalid setting name
|
||||||
json_result = self.client_patch("/json/settings", dict(invalid_setting="value"))
|
result = self.client_patch("/json/settings", dict(invalid_setting="value"))
|
||||||
self.assert_json_success(json_result)
|
self.assert_json_success(result, ignored_parameters=["invalid_setting"])
|
||||||
|
|
||||||
result = orjson.loads(json_result.content)
|
|
||||||
self.assertIn("ignored_parameters_unsupported", result)
|
|
||||||
self.assertEqual(result["ignored_parameters_unsupported"], ["invalid_setting"])
|
|
||||||
|
|
||||||
def test_changing_setting_using_display_setting_endpoint(self) -> None:
|
def test_changing_setting_using_display_setting_endpoint(self) -> None:
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -3494,7 +3494,7 @@ class SubscriptionPropertiesTest(ZulipTestCase):
|
||||||
|
|
||||||
subs = gather_subscriptions(test_user)[0]
|
subs = gather_subscriptions(test_user)[0]
|
||||||
sub = subs[0]
|
sub = subs[0]
|
||||||
json_result = self.api_post(
|
result = self.api_post(
|
||||||
test_user,
|
test_user,
|
||||||
"/api/v1/users/me/subscriptions/properties",
|
"/api/v1/users/me/subscriptions/properties",
|
||||||
{
|
{
|
||||||
|
@ -3513,10 +3513,7 @@ class SubscriptionPropertiesTest(ZulipTestCase):
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
self.assert_json_success(json_result)
|
self.assert_json_success(result, ignored_parameters=["invalid_parameter"])
|
||||||
result = orjson.loads(json_result.content)
|
|
||||||
self.assertIn("ignored_parameters_unsupported", result)
|
|
||||||
self.assertEqual(result["ignored_parameters_unsupported"], ["invalid_parameter"])
|
|
||||||
|
|
||||||
|
|
||||||
class SubscriptionRestApiTest(ZulipTestCase):
|
class SubscriptionRestApiTest(ZulipTestCase):
|
||||||
|
|
Loading…
Reference in New Issue