fastmail / jmap-testsuite Goto Github PK
View Code? Open in Web Editor NEWa JMAP test suite
a JMAP test suite
I'd like this mainly to be able to quickly get a dump of any missing/outdated dependencies after an update. I'm currently doing this manually by digging these commands out of my bash history each time:
find . -name \*.pm | grep -v '\.git\/' | xargs -l1 perl -I$PWD/lib -c
find . -name \*.t | grep -v '\.git\/' | xargs -l1 perl -I$PWD/lib -c
Obviously I could just bung this into a shell script, but I don't know if there's a perlish/cpanish place to put such a script.
Cassandane checks this in its default make target, but it actually has things that need building. But it doesn't seem appropriate to handroll a Makefile for a module project that will probably have a Makefile.PL someday.
I'll submit a pull request, I'd just like some guidance on where you'd like such a thing to live. :)
For each datatype - that you can create:
For update:
For delete:
For any of the above - make sure they appear in getFoosUpdates between pre and post states.
For container types (Mailboxes, Calendars, Addressbooks) that adding something to the container causes the container to get a new state, updates to the container to show it, and deleting also shows - with a special emphasis on something being deleted entirely causing the state to change and the result to reflect it. This is the QRESYNC side of things - tombstones, and it's one of the most likely sources of bugs.
Ideally a smart test would allow getFoosUpdates to return cannotCalculateUpdates and just flag as "inefficient server but within spec". Calculating updates incorrectly on the other hand, that's a sin. Also a server which returns more updates than expected isn't necessarily wrong - but probably worth noting in the results as "inefficient server" or something.
Hi,
I have started testing our JMAP server with JMAP-TestSuite and I noticed that it does not include the accountId
field on requests, for example this is the first request sent by basic.t
:
{
"using": [
"urn:ietf:params:jmap:core",
"urn:ietf:params:jmap:mail"
],
"methodCalls": [
[
"Email/get",
{
"ids": [
"i00"
]
},
"e"
]
]
}
And this is the adapter configuration I am using:
{
"adapter": "Cyrus",
"base_uri": "http://localhost:8080",
"credentials": [
{
"accountId": "i01",
"username": "i01",
"password": "mypassword"
}
],
"virtual_domain_enabled": 0
}
Our server has full RFC8620 + RFC8621 support and I would like to test it using Basic Auth for the time being. Which adapter do you recommend I use? Also if you could provide any documentation or guidelines on how to use the test suite it would be really appreciated.
Thank you in advance.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.