This is an automated email from the ASF dual-hosted git repository.

rcordier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit dff72ede409332ffa871d46dbc12ea2f43d1d0f1
Author: Trung NGUYEN <[email protected]>
AuthorDate: Wed Sep 10 11:14:17 2025 +0200

    JAMES-4143 Update serialization/de-serialization tests
---
 .../james/jmap/cassandra/filtering/DTOTest.java    |  6 +++--
 .../src/test/resources/json/eventComplex-v2.json   | 18 +++++++++++++++
 .../src/test/resources/json/eventComplex-v3.json   | 23 ++++++++++++++++++
 .../src/test/resources/json/eventComplex-v4.json   | 27 ++++++++++++++++++++++
 .../src/test/resources/json/eventComplex.json      | 14 +++++++++++
 .../api/filtering/FilteringManagementContract.java |  5 ++--
 .../james/jmap/api/filtering/RuleFixture.java      | 20 ++++++++++++++++
 7 files changed, 109 insertions(+), 4 deletions(-)

diff --git 
a/server/data/data-jmap-cassandra/src/test/java/org/apache/james/jmap/cassandra/filtering/DTOTest.java
 
b/server/data/data-jmap-cassandra/src/test/java/org/apache/james/jmap/cassandra/filtering/DTOTest.java
index 32efb92c5b..fc0bfa9aa7 100644
--- 
a/server/data/data-jmap-cassandra/src/test/java/org/apache/james/jmap/cassandra/filtering/DTOTest.java
+++ 
b/server/data/data-jmap-cassandra/src/test/java/org/apache/james/jmap/cassandra/filtering/DTOTest.java
@@ -25,6 +25,8 @@ import static 
org.apache.james.jmap.api.filtering.FilteringRuleSetDefineDTOModul
 import static org.apache.james.jmap.api.filtering.RuleFixture.RULE_1;
 import static org.apache.james.jmap.api.filtering.RuleFixture.RULE_2;
 import static org.apache.james.jmap.api.filtering.RuleFixture.RULE_4;
+import static org.apache.james.jmap.api.filtering.RuleFixture.RULE_CC;
+import static org.apache.james.jmap.api.filtering.RuleFixture.RULE_CC_2;
 import static org.apache.james.jmap.api.filtering.RuleFixture.RULE_FROM;
 import static org.apache.james.jmap.api.filtering.RuleFixture.RULE_FROM_2;
 import static org.apache.james.jmap.api.filtering.RuleFixture.RULE_RECIPIENT;
@@ -75,7 +77,7 @@ class DTOTest {
     static final RuleSetDefined COMPLEX_RULE =  new RuleSetDefined(
                     new FilteringAggregateId(Username.of("Bart")),
                     EventId.first(),
-                    ImmutableList.of(RULE_FROM, RULE_RECIPIENT, RULE_SUBJECT, 
RULE_TO));
+                    ImmutableList.of(RULE_CC, RULE_FROM, RULE_RECIPIENT, 
RULE_SUBJECT, RULE_TO));
     static final IncrementalRuleChange INCREMENT =  new IncrementalRuleChange(
                     new FilteringAggregateId(Username.of("Bart")),
                     EventId.first(),
@@ -91,7 +93,7 @@ class DTOTest {
     static final RuleSetDefined COMPLEX_RULE_2 =  new RuleSetDefined(
         new FilteringAggregateId(Username.of("Bart")),
         EventId.first(),
-        ImmutableList.of(RULE_FROM_2, RULE_RECIPIENT_2, RULE_SUBJECT_2, 
RULE_TO_2));
+        ImmutableList.of(RULE_CC_2, RULE_FROM_2, RULE_RECIPIENT_2, 
RULE_SUBJECT_2, RULE_TO_2));
     static final IncrementalRuleChange INCREMENT_2 =  new 
IncrementalRuleChange(
         new FilteringAggregateId(Username.of("Bart")),
         EventId.first(),
diff --git 
a/server/data/data-jmap-cassandra/src/test/resources/json/eventComplex-v2.json 
b/server/data/data-jmap-cassandra/src/test/resources/json/eventComplex-v2.json
index 93b1c258eb..b9b6c83b5d 100644
--- 
a/server/data/data-jmap-cassandra/src/test/resources/json/eventComplex-v2.json
+++ 
b/server/data/data-jmap-cassandra/src/test/resources/json/eventComplex-v2.json
@@ -3,6 +3,24 @@
   "eventId":0,
   "aggregateId":"FilteringRule/bart",
   "rules":[
+    {
+      "id":"id-cc",
+      "name":"a name",
+      "condition": {
+        "field": "cc",
+        "comparator": "start-with",
+        "value": "A value to match 5"
+      },
+      "action": {
+        "appendIn": {
+          "mailboxIds":["mbx1"]
+        },
+        "important":false,
+        "keyworkds":[],
+        "reject":false,
+        "seen":false
+      }
+    },
     {
       "id":"id-from",
       "name":"a name",
diff --git 
a/server/data/data-jmap-cassandra/src/test/resources/json/eventComplex-v3.json 
b/server/data/data-jmap-cassandra/src/test/resources/json/eventComplex-v3.json
index 66cdae15f2..8a22c6d7fd 100644
--- 
a/server/data/data-jmap-cassandra/src/test/resources/json/eventComplex-v3.json
+++ 
b/server/data/data-jmap-cassandra/src/test/resources/json/eventComplex-v3.json
@@ -3,6 +3,29 @@
   "eventId":0,
   "aggregateId":"FilteringRule/bart",
   "rules":[
+    {
+      "id":"id-cc",
+      "name":"a name",
+      "conditionGroup": {
+        "conditionCombiner": "AND",
+        "conditions": [
+          {
+            "field": "cc",
+            "comparator": "start-with",
+            "value": "A value to match 5"
+          }
+        ]
+      },
+      "action": {
+        "appendIn": {
+          "mailboxIds":["mbx1"]
+        },
+        "important":false,
+        "keyworkds":[],
+        "reject":false,
+        "seen":false
+      }
+    },
     {
       "id":"id-from",
       "name":"a name",
diff --git 
a/server/data/data-jmap-cassandra/src/test/resources/json/eventComplex-v4.json 
b/server/data/data-jmap-cassandra/src/test/resources/json/eventComplex-v4.json
index 32b0b57aa3..1eb83c3c8b 100644
--- 
a/server/data/data-jmap-cassandra/src/test/resources/json/eventComplex-v4.json
+++ 
b/server/data/data-jmap-cassandra/src/test/resources/json/eventComplex-v4.json
@@ -3,6 +3,33 @@
   "eventId":0,
   "aggregateId":"FilteringRule/bart",
   "rules":[
+    {
+      "id":"id-cc",
+      "name":"a name",
+      "conditionGroup": {
+        "conditionCombiner": "AND",
+        "conditions": [
+          {
+            "field": "cc",
+            "comparator": "start-with",
+            "value": "A value to match 5"
+          }
+        ]
+      },
+      "action": {
+        "appendIn": {
+          "mailboxIds":["id-01"]
+        },
+        "important":true,
+        "keyworkds":["abc"],
+        "reject":true,
+        "seen":true,
+        "forwardTo": {
+          "addresses": ["[email protected]"],
+          "keepACopy": true
+        }
+      }
+    },
     {
       "id":"id-from",
       "name":"a name",
diff --git 
a/server/data/data-jmap-cassandra/src/test/resources/json/eventComplex.json 
b/server/data/data-jmap-cassandra/src/test/resources/json/eventComplex.json
index 7371858916..0190fe4fe4 100644
--- a/server/data/data-jmap-cassandra/src/test/resources/json/eventComplex.json
+++ b/server/data/data-jmap-cassandra/src/test/resources/json/eventComplex.json
@@ -3,6 +3,20 @@
   "eventId":0,
   "aggregateId":"FilteringRule/bart",
   "rules":[
+    {
+      "id":"id-cc",
+      "name":"a name",
+      "condition": {
+        "field": "cc",
+        "comparator": "start-with",
+        "value": "A value to match 5"
+      },
+      "action": {
+        "appendIn": {
+          "mailboxIds":["mbx1"]
+        }
+      }
+    },
     {
       "id":"id-from",
       "name":"a name",
diff --git 
a/server/data/data-jmap/src/test/java/org/apache/james/jmap/api/filtering/FilteringManagementContract.java
 
b/server/data/data-jmap/src/test/java/org/apache/james/jmap/api/filtering/FilteringManagementContract.java
index b61829bc5f..efcbb6d37c 100644
--- 
a/server/data/data-jmap/src/test/java/org/apache/james/jmap/api/filtering/FilteringManagementContract.java
+++ 
b/server/data/data-jmap/src/test/java/org/apache/james/jmap/api/filtering/FilteringManagementContract.java
@@ -21,6 +21,7 @@ package org.apache.james.jmap.api.filtering;
 import static org.apache.james.jmap.api.filtering.RuleFixture.RULE_1;
 import static org.apache.james.jmap.api.filtering.RuleFixture.RULE_2;
 import static org.apache.james.jmap.api.filtering.RuleFixture.RULE_3;
+import static org.apache.james.jmap.api.filtering.RuleFixture.RULE_CC;
 import static org.apache.james.jmap.api.filtering.RuleFixture.RULE_FROM;
 import static org.apache.james.jmap.api.filtering.RuleFixture.RULE_RECIPIENT;
 import static org.apache.james.jmap.api.filtering.RuleFixture.RULE_SUBJECT;
@@ -130,10 +131,10 @@ public interface FilteringManagementContract {
     default void allFieldsAndComparatorShouldWellBeStored() {
         FilteringManagement testee = instantiateFilteringManagement();
 
-        Mono.from(testee.defineRulesForUser(USERNAME, Optional.empty(), 
RULE_FROM, RULE_RECIPIENT, RULE_SUBJECT, RULE_TO, RULE_1)).block();
+        Mono.from(testee.defineRulesForUser(USERNAME, Optional.empty(), 
RULE_FROM, RULE_RECIPIENT, RULE_SUBJECT, RULE_TO, RULE_CC, RULE_1)).block();
 
         assertThat(Mono.from(testee.listRulesForUser(USERNAME)).block())
-            .isEqualTo(new Rules(ImmutableList.of(RULE_FROM, RULE_RECIPIENT, 
RULE_SUBJECT, RULE_TO, RULE_1), new Version(0)));
+            .isEqualTo(new Rules(ImmutableList.of(RULE_FROM, RULE_RECIPIENT, 
RULE_SUBJECT, RULE_TO, RULE_CC, RULE_1), new Version(0)));
     }
 
     @Test
diff --git 
a/server/data/data-jmap/src/test/java/org/apache/james/jmap/api/filtering/RuleFixture.java
 
b/server/data/data-jmap/src/test/java/org/apache/james/jmap/api/filtering/RuleFixture.java
index d57d82f978..da36eb27ab 100644
--- 
a/server/data/data-jmap/src/test/java/org/apache/james/jmap/api/filtering/RuleFixture.java
+++ 
b/server/data/data-jmap/src/test/java/org/apache/james/jmap/api/filtering/RuleFixture.java
@@ -101,6 +101,16 @@ public interface RuleFixture {
             "A value to match 4"))
         .build();
 
+    Rule RULE_CC = Rule.builder()
+        .id(Rule.Id.of("id-cc"))
+        .name(NAME)
+        
.action(Rule.Action.of(Rule.Action.AppendInMailboxes.withMailboxIds("mbx1")))
+        .conditionGroup(Rule.Condition.of(
+            Rule.Condition.Field.CC,
+            Rule.Condition.Comparator.START_WITH,
+            "A value to match 5"))
+        .build();
+
     Rule RULE_TO_2 = Rule.builder()
         .id(Rule.Id.of("id-to"))
         .name(NAME)
@@ -140,4 +150,14 @@ public interface RuleFixture {
             Rule.Condition.Comparator.CONTAINS,
             "A value to match 4"))
         .build();
+
+    Rule RULE_CC_2 = Rule.builder()
+        .id(Rule.Id.of("id-cc"))
+        .name(NAME)
+        .action(ACTION_2)
+        .conditionGroup(Rule.Condition.of(
+            Rule.Condition.Field.CC,
+            Rule.Condition.Comparator.START_WITH,
+            "A value to match 5"))
+        .build();
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to