TF-3337 Write unit test to verify number of times call request when performing mark as read/star and move emails

This commit is contained in:
dab246
2024-12-23 19:17:30 +07:00
committed by Dat H. Pham
parent 9026cfc9fa
commit 47963d162b
2 changed files with 790 additions and 0 deletions
+101
View File
@@ -101,4 +101,105 @@ class SessionFixtures {
Uri.parse('http://domain.com/eventSource?types={types}&closeAfter={closeafter}&ping={ping}'),
State('2c9f1b12-b35a-43e6-9af2-0106fb53a943')
);
static getAliceSessionWithMaxObjectsInSet(int maxObjectsInSet) => Session(
{
CapabilityIdentifier.jmapSubmission: SubmissionCapability(
maxDelayedSend: UnsignedInt(0), submissionExtensions: {}),
CapabilityIdentifier.jmapCore: CoreCapability(
maxSizeUpload: UnsignedInt(20971520),
maxConcurrentUpload: UnsignedInt(4),
maxSizeRequest: UnsignedInt(10000000),
maxConcurrentRequests: UnsignedInt(4),
maxCallsInRequest: UnsignedInt(16),
maxObjectsInGet: UnsignedInt(500),
maxObjectsInSet: UnsignedInt(maxObjectsInSet),
collationAlgorithms: {CollationIdentifier("i;unicode-casemap")}),
CapabilityIdentifier.jmapMail: MailCapability(
maxMailboxesPerEmail: UnsignedInt(10000000),
maxSizeAttachmentsPerEmail: UnsignedInt(20000000),
emailQuerySortOptions: {
"receivedAt",
"sentAt",
"size",
"from",
"to",
"subject"
},
mayCreateTopLevelMailbox: true),
CapabilityIdentifier.jmapWebSocket: WebSocketCapability(
supportsPush: true, url: Uri.parse('ws://domain.com/jmap/ws')),
CapabilityIdentifier(
Uri.parse('urn:apache:james:params:jmap:mail:quota')):
DefaultCapability(<String, dynamic>{}),
CapabilityIdentifier(
Uri.parse('urn:apache:james:params:jmap:mail:shares')):
DefaultCapability(<String, dynamic>{}),
CapabilityIdentifier.jmapVacationResponse: VacationCapability(),
CapabilityIdentifier.jmapMdn: MdnCapability(),
},
{
AccountFixtures.aliceAccountId:
Account(AccountName('alice@domain.tld'), true, false, {
CapabilityIdentifier.jmapSubmission: SubmissionCapability(
maxDelayedSend: UnsignedInt(0), submissionExtensions: {}),
CapabilityIdentifier.jmapWebSocket: WebSocketCapability(
supportsPush: true, url: Uri.parse('ws://domain.com/jmap/ws')),
CapabilityIdentifier.jmapCore: CoreCapability(
maxSizeUpload: UnsignedInt(20971520),
maxConcurrentUpload: UnsignedInt(4),
maxSizeRequest: UnsignedInt(10000000),
maxConcurrentRequests: UnsignedInt(4),
maxCallsInRequest: UnsignedInt(16),
maxObjectsInGet: UnsignedInt(500),
maxObjectsInSet: UnsignedInt(maxObjectsInSet),
collationAlgorithms: {
CollationIdentifier("i;unicode-casemap")
}),
CapabilityIdentifier.jmapMail: MailCapability(
maxMailboxesPerEmail: UnsignedInt(10000000),
maxSizeAttachmentsPerEmail: UnsignedInt(20000000),
emailQuerySortOptions: {
"receivedAt",
"sentAt",
"size",
"from",
"to",
"subject"
},
mayCreateTopLevelMailbox: true),
CapabilityIdentifier(
Uri.parse('urn:apache:james:params:jmap:mail:quota')):
DefaultCapability(<String, dynamic>{}),
CapabilityIdentifier(
Uri.parse('urn:apache:james:params:jmap:mail:shares')):
DefaultCapability(<String, dynamic>{}),
CapabilityIdentifier.jmapVacationResponse: VacationCapability(),
CapabilityIdentifier.jmapMdn: MdnCapability()
})
},
{
CapabilityIdentifier.jmapSubmission: AccountFixtures.aliceAccountId,
CapabilityIdentifier.jmapWebSocket: AccountFixtures.aliceAccountId,
CapabilityIdentifier.jmapCore: AccountFixtures.aliceAccountId,
CapabilityIdentifier.jmapMail: AccountFixtures.aliceAccountId,
CapabilityIdentifier(
Uri.parse('urn:apache:james:params:jmap:mail:quota')):
AccountFixtures.aliceAccountId,
CapabilityIdentifier(
Uri.parse('urn:apache:james:params:jmap:mail:shares')):
AccountFixtures.aliceAccountId,
CapabilityIdentifier.jmapVacationResponse:
AccountFixtures.aliceAccountId,
CapabilityIdentifier.jmapMdn: AccountFixtures.aliceAccountId,
},
UserName('alice@domain.tld'),
Uri.parse('http://domain.com/jmap'),
Uri.parse(
'http://domain.com/download/{accountId}/{blobId}/?type={type}&name={name}'),
Uri.parse('http://domain.com/upload/{accountId}'),
Uri.parse(
'http://domain.com/eventSource?types={types}&closeAfter={closeafter}&ping={ping}'),
State('2c9f1b12-b35a-43e6-9af2-0106fb53a943'),
);
}