To be honest, we did not enough resources to maintain the old test suite. Further, you are the first this year to ask about it.
If you try to get it running and find problems, I will be happy to help you fix them and merge fixes into the tree. If you could open the PR with the changes you started making, we could take it from there.
How about you donāt change things in the pom.xml file? Try using the testsuite and please report any problems.
There should be no need for the testsuite and the servers being tested to be in synch, nor based on the same code base.
This would be the real test for OSLC, since the integration should work between independently developed systems.
I have not used the testsuite, but from reading the README.txt, it seems that the testsuite is setup for specific domains and specific tools.
Are you generating code for a specific tool? Is that tool already covered by the testsuite, or is it a whole new tool?
If you are working on a new tool, Iād assume you have to setup a new configuration under āorg.eclipse.lyo.testsuite.server/configā.
Maybe thatās all you need to do, really.
It would certainly be valuable to learn how the testsuite can be used against generated servers. So, Iād be happy to help along the way
No, the statement is that the test suite has not been updated since 2.1. But as Jad said, OSLC key focus is on interop, so you should be able to run 2.1 test suite against your 4.0.0.M1 server (formerly called provider). As Jad also said, beware that the test suite may not be written with a generic OSLC server in mind, but with the specific interest towards RTC and a few other early OSLC implementations.
I am not sure if @jad migrated these documents anywhere. @jamsden may have more useful info in his notes. I just created a README with these links: lyo.testsuite/README.md at master Ā· eclipse/lyo.testsuite Ā· GitHub If you find valuable information, I would appreciate if you submit PRs towards the README. Also, the repo wiki should be available to you for editing. If you will be interested to update the POMs and the code, I will check the CI config to aid you.
I want to leverage this post to ask if there is an specific rule for the UPDATE (PUT method) of a resource
Iām using the Lyo Test Suite to validate some endpoints of an OSLC API, in the Lyo Test Suite there is a test to validate the UPDATE of a resource, using the updateTemplate.xml where the RDF resource does not have the aboutās attribute.
My question is: Should the endpoint force the client to send the RDF with the about attribute? or could be accepted without this attribute?
@isccarrasco thanks for checking out the test suite! I personally prefer the PUT method to require the resource to be identical to the one that will be returned on GET, so yes, with the about URI (non-blank subject).
The spec does not cover the details of specific RDF representations - effectively it delegates those issues to the specs for those formats. The āaboutā attribute is specific to XML representations of RDF, so is not directly mentioned by the OSLC specs.
However, the OSLC spec does describe in several places that the normal technique for updating a resource is as Andrew describes - do a GET, save the ETag, modify the property values you want to modify or remove the ones you want to delete, but preserve everything else, then do a PUT with an If-Match header.
So one could conclude that modifying the response to remove the about attribute would be in some strange way a request to remove the URI for the resource being updated! Typically that makes no sense, so I imagine most servers would ignore that, but some might possible fail the update request.
@isccarrasco!
Hope you got answer to your question.
Iām insterested to know if the test suite is still working as expected. We have not maintained it actively, so it would be great to hear about the status of it.
@fabian@jad@isccarrasco have you tried/succeeded running the test suite since? I just posted my recent attempt in Improving Lyo Test Suite. For now, I only ran it agains RIO OSLC CM server, which did not use Lyo even: