Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add xandikos to CI #601

Merged
merged 11 commits into from Mar 22, 2017
Merged

Add xandikos to CI #601

merged 11 commits into from Mar 22, 2017

Conversation

untitaker
Copy link
Member

@untitaker untitaker commented Mar 14, 2017

@untitaker
Copy link
Member Author

untitaker commented Mar 14, 2017

Xandikos 404s when trying to list all collections, also it does not properly differentiate between addressbook-home-set and calendar-home-set, which means that MKCOL on those URLs will not work properly since the server won't know which collection to create.

This is RFC-conformant but unusuable behavior. Same problem as Radicale.

@WhyNotHugo
Copy link
Member

Xandikos 404s when trying to list all collections

Oh, I thought I was doing something wrong when I approached this, so it wasn't my bad. :(

also it does not properly differentiate between addressbook-home-set and calendar-home-set, which means that MKCOL on those URLs will not work properly since the server won't know which collection to create.

I'd like to understand this a bit more (and also, forgive my slight ignorance here), but, what don't we includ DAV:resourcetype in MKCOL? Shouldn't that suffice to identify the collection type?

@untitaker
Copy link
Member Author

IIRC MKCOL with request body was rejected by other servers.

@jelmer
Copy link
Contributor

jelmer commented Mar 15, 2017

Listing calendars with vdirsyncer works fine against xandikos for me; what request 404s for you?

MKCOL with a body indeed allows specifying what resource types the new collection should have. That said, Xandikos doesn't yet support setting the resource types of newly created collections. jelmer/xandikos#16. It's correct that some servers reject a MKCOL with body; servers should reject a body they don't understand per RFC4918; RFC5689 defines an XML body for MKCOL.

I've filed jelmer/xandikos#21 about automatically setting the type of collections based on under what path they were created, if there was no body specified for MKCOL.

@untitaker
Copy link
Member Author

I think there's a misunderstanding in how I should set up xandikos for testing, could you review this PR?

@untitaker
Copy link
Member Author

@jelmer Actually we send a MKCOL with all the properties that are necessary for xandikos to infer the collection type: https://github.com/pimutils/vdirsyncer/blob/master/vdirsyncer/storage/dav.py#L266

@untitaker
Copy link
Member Author

Turns out I wasn't setting up Xandikos correctly. We're now able to create collections properly, but the tests still don't pass. I will file issues on Xandikos for that.

@jelmer
Copy link
Contributor

jelmer commented Mar 18, 2017

With current vdirsyncer and current xandikos, all tests now pass for me.

.travis.yml Outdated
"env": "BUILD=test DAV_SERVER=radicale REQUIREMENTS=minimal BUILD_PRS=true ",
"python": "3.3"
},
{
"env": "BUILD=test DAV_SERVER=xandikos REQUIREMENTS=minimal BUILD_PRS=true ",
"python": "3.3"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Xandikos only support python 3.5 or above:

https://github.com/jelmer/xandikos#dependencies

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jelmer Would you consider supporting Python 3.3+ (i.e. I submit PRs to xandikos if Python 3.3 breaks)

@jelmer
Copy link
Contributor

jelmer commented Mar 19, 2017 via email

@jelmer
Copy link
Contributor

jelmer commented Mar 20, 2017

Dulwich & Xandikos now support 3.3. That was way easier than I was expecting, no changes necessary.

@untitaker
Copy link
Member Author

@jelmer the tests are failing for anything below 3.6. It appears there is a bug in the urllib module that makes xandikos output double slashes for calendar-home-set

@untitaker
Copy link
Member Author

One of your recent commits breaks the CI again :(

@jelmer
Copy link
Contributor

jelmer commented Mar 22, 2017

Argh, fixed now.

Another reason to extend the unit test coverage further...

@WhyNotHugo
Copy link
Member

I wonder if, as a way to get around the temporarily lack of coverage, you could run vdirsyncer's test suite for Xandiko's CI. :P

@untitaker untitaker merged commit 28f2041 into master Mar 22, 2017
@untitaker untitaker deleted the xandikos-ci branch March 22, 2017 13:40
@WhyNotHugo
Copy link
Member

WhyNotHugo commented Mar 22, 2017

Thanks all! 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants