diff --git a/lib/structs/pushrules.cpp b/lib/structs/pushrules.cpp index 9a77de978cc43109ff6a1ca100676b4f5b98fb27..564a50f701deab21acca655a9e12986a811864bf 100644 --- a/lib/structs/pushrules.cpp +++ b/lib/structs/pushrules.cpp @@ -98,6 +98,7 @@ to_json(nlohmann::json &obj, const PushRule &rule) void from_json(const nlohmann::json &obj, PushRule &rule) { + rule.rule_id = obj.value("rule_id", ""); rule.default_ = obj.value("default", false); rule.enabled = obj.value("enabled", true); diff --git a/tests/pushrules.cpp b/tests/pushrules.cpp index 0c16d13a1264f13db7b7eef58768422f38c6eddc..28619a7dae37d2902ece92566a0259af6d9e45df 100644 --- a/tests/pushrules.cpp +++ b/tests/pushrules.cpp @@ -33,7 +33,6 @@ TEST(Pushrules, GlobalRuleset) } ], "default": true, - "enabled": true, "pattern": "alice", "rule_id": ".m.rule.contains_user_name" } @@ -43,7 +42,6 @@ TEST(Pushrules, GlobalRuleset) "actions": [ "dont_notify" ], - "conditions": [], "default": true, "enabled": false, "rule_id": ".m.rule.master" @@ -60,7 +58,6 @@ TEST(Pushrules, GlobalRuleset) } ], "default": true, - "enabled": true, "rule_id": ".m.rule.suppress_notices" } ], @@ -87,7 +84,6 @@ TEST(Pushrules, GlobalRuleset) } ], "default": true, - "enabled": true, "rule_id": ".m.rule.call" }, { @@ -107,7 +103,6 @@ TEST(Pushrules, GlobalRuleset) } ], "default": true, - "enabled": true, "rule_id": ".m.rule.contains_display_name" }, { @@ -134,7 +129,6 @@ TEST(Pushrules, GlobalRuleset) } ], "default": true, - "enabled": true, "rule_id": ".m.rule.room_one_to_one" }, { @@ -167,7 +161,6 @@ TEST(Pushrules, GlobalRuleset) } ], "default": true, - "enabled": true, "rule_id": ".m.rule.invite_for_me" }, { @@ -186,7 +179,6 @@ TEST(Pushrules, GlobalRuleset) } ], "default": true, - "enabled": true, "rule_id": ".m.rule.member_event" }, { @@ -205,7 +197,6 @@ TEST(Pushrules, GlobalRuleset) } ], "default": true, - "enabled": true, "rule_id": ".m.rule.message" } ] @@ -227,6 +218,8 @@ TEST(Pushrules, GlobalRuleset) EXPECT_EQ(rules.global.sender.size(), 0); EXPECT_EQ(rules.global.underride.size(), 6); EXPECT_EQ(rules.global.underride[0].conditions.at(0).key, "type"); + EXPECT_EQ(rules.global.content[0].rule_id, ".m.rule.contains_user_name"); + EXPECT_EQ(data, json(rules)); } TEST(Pushrules, GetGlobalRuleset)