You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by "Lan Khuat (Jira)" <se...@james.apache.org> on 2020/12/10 09:30:00 UTC
[jira] [Updated] (JAMES-3472) Implement Email/changes method and
related contract tests
[ https://issues.apache.org/jira/browse/JAMES-3472?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lan Khuat updated JAMES-3472:
-----------------------------
Description:
From the spec: [https://jmap.io/spec-core.html#changes]
{code:java}
The Foo/changes method allows a client to efficiently update the state of its Foo cache to match the new state on the server. {code}
h1. How
Serializer to deserialize/serialize Email/changes request/response has already been written with Mailbox/changes implementation. We now only need to implement Email/changes method + tests.
h1. Example
*Request*
{code:java}
[[ "Email/changes", {
"accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
"sinceState": "000001"
}, "t0" ]]
{code}
*Response*
{code:java}
[[ "Email/changes", {
"accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
"oldState": "000001",
"newState": "000002",
"hasMoreChanges": false,
"created": [ "1", "2" ],
"updated": [],
"destroyed": []
}, "t0" ]]
{code}
h1. DoD
Write integration tests to show that we can retrieve the changes to email(s) from a particular state.
was:
From the spec: [https://jmap.io/spec-core.html#changes]
{code:java}
The Foo/changes method allows a client to efficiently update the state of its Foo cache to match the new state on the server. {code}
h1. How
Serializer to deserialize/serialize Email/changes request/response has already been written with Mailbox/changes implementation. We now only need to implement Email/changes method + tests.
h1. Example
**Request**
{code:java}
[[ "Email/changes", {
"accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
"sinceState": "000001"
}, "t0" ]]
{code}
**Response**
{code:java}
[[ "Email/changes", {
"accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
"oldState": "000001",
"newState": "000002",
"hasMoreChanges": false,
"created": [ "1", "2" ],
"updated": [],
"destroyed": []
}, "t0" ]]
{code}
h1. DoD
Write integration tests to show that we can retrieve the changes to email(s) from a particular state.
> Implement Email/changes method and related contract tests
> ---------------------------------------------------------
>
> Key: JAMES-3472
> URL: https://issues.apache.org/jira/browse/JAMES-3472
> Project: James Server
> Issue Type: Sub-task
> Reporter: Lan Khuat
> Priority: Major
>
> From the spec: [https://jmap.io/spec-core.html#changes]
> {code:java}
> The Foo/changes method allows a client to efficiently update the state of its Foo cache to match the new state on the server. {code}
> h1. How
> Serializer to deserialize/serialize Email/changes request/response has already been written with Mailbox/changes implementation. We now only need to implement Email/changes method + tests.
> h1. Example
> *Request*
> {code:java}
> [[ "Email/changes", {
> "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
> "sinceState": "000001"
> }, "t0" ]]
> {code}
>
> *Response*
> {code:java}
> [[ "Email/changes", {
> "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
> "oldState": "000001",
> "newState": "000002",
> "hasMoreChanges": false,
> "created": [ "1", "2" ],
> "updated": [],
> "destroyed": []
> }, "t0" ]]
> {code}
> h1. DoD
> Write integration tests to show that we can retrieve the changes to email(s) from a particular state.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org