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]
