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

Pass LDP Test Suite for Basic Container #16

Open
bblfish opened this issue May 10, 2021 · 3 comments
Open

Pass LDP Test Suite for Basic Container #16

bblfish opened this issue May 10, 2021 · 3 comments
Milestone

Comments

@bblfish
Copy link
Member

bblfish commented May 10, 2021

The LDP WG developed a Test Suite that is very helpful.
The project has been kept up-to-date by Trellis-ldp project which has a fork of the ldp-testsuite.

For an initial implementation of Solid the BasicContainer part of LDP is the most important.

@bblfish bblfish added this to the M3 milestone May 10, 2021
@bblfish
Copy link
Member Author

bblfish commented May 10, 2021

The first commit does not cover the following parts:

  • JSonLD representations of resources - This can wait for banana-rdf to get better streaming parsers and serializers.
  • Paging of LDP-Container content (want to check out what the latest in Solid is on that)
  • PUT on container : it is not clear to me yet where that comes in useful. Perhaps for an attached container description? That is especially useful for direct and indirect containers, as the extra relations determine the behavior of the container.
  • PATCH on RDF resources:
    that is an efficiency feature that is very nice to have, but can wait a bit for the need to emerge

On the other hand this first patch added support for simple versioning of resources, which is essential for a Solid server, where Apps could easily overwrite data.

@bblfish bblfish changed the title LDP Test Suite for Basic Container Pass LDP Test Suite for Basic Container May 11, 2021
@bblfish
Copy link
Member Author

bblfish commented May 11, 2021

Note: The LDP tests don't work with Java16 for some reason. To run them after cloning the git repository, and installing maven, with say java11

mvn package

The whole tests suite can be run with

java -jar target/ldp-testsuite-0.2.3-SNAPSHOT-shaded.jar --server http://localhost:8080/ --basic --non-rdf --earl --software "Reactive Solid" --shortname "cosy.run.solid" --language "Scala3" --homepage https://co-operating.systems/ --assertor https://co-operating.systems/ --developer "Henry Story"

Individual tests can be run with

java -jar target/ldp-testsuite-0.2.3-SNAPSHOT-shaded.jar --software "Trellis LDP" --server http://localhost:8080/  --basic --test testPutBadETag

@bblfish
Copy link
Member Author

bblfish commented May 11, 2021

There is a Solid Test Suite in development.
After cloning the repo setup the tests like

npm ci
export SERVER_ROOT=http://localhost:8080

then tests can be run with

./node_modules/.bin/jest test/surface/

Running the following

./node_modules/.bin/jest test/surface/create-container.test.ts

I find that the test suite requires PUT for container creation.
The Basic Containers here don't allow PUT to create resources, partly because I am not aware of a way to let a client know about naming restrictions. Eg. I want to allow creation of content as long as there is no dot in the URL path. Eg. that would allow clients to create content, but say the server to keep track of versions
So I am not sure if your tests have a way to tell from my server's OPTION output that it only allows creation of content with POST and optional Slug.

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

No branches or pull requests

1 participant