@@ -36,16 +36,10 @@ curl -s -X POST http://localhost:4000/.pods \
3636# 6. Create test container (required by CTH)
3737mkdir -p data/alice/cth-test
3838
39- # 7. Run authentication tests
39+ # 7. Run authentication tests (assumes test-subjects.ttl and cth.env exist - see Configuration Files below)
4040docker run --rm --network=host \
41- -v /tmp/cth-test-subjects.ttl:/app/test-subjects.ttl \
42- -e SOLID_IDENTITY_PROVIDER=" http://localhost:4000/" \
43- -e USERS_ALICE_WEBID=" http://localhost:4000/alice/#me" \
44- -e USERS_ALICE_USERNAME=" alice@example.com" \
45- -e USERS_ALICE_PASSWORD=" alicepassword123" \
46- -e USERS_BOB_WEBID=" http://localhost:4000/bob/#me" \
47- -e USERS_BOB_USERNAME=" bob@example.com" \
48- -e USERS_BOB_PASSWORD=" bobpassword123" \
41+ -v $( pwd) /test-subjects.ttl:/app/test-subjects.ttl \
42+ --env-file cth.env \
4943 -e SUBJECTS=/app/test-subjects.ttl \
5044 solidproject/conformance-test-harness:latest \
5145 --target=" https://github.com/solid/conformance-test-harness/jss" \
@@ -56,30 +50,66 @@ docker run --rm --network=host \
5650
5751### Test Subjects File (test-subjects.ttl)
5852
59- Create ` /tmp/cth- test-subjects.ttl` :
53+ Create ` test-subjects.ttl ` :
6054
6155``` turtle
56+ @base <https://github.com/solid/conformance-test-harness/> .
6257@prefix solid-test: <https://github.com/solid/conformance-test-harness/vocab#> .
63- @prefix td: <http://www.w3.org/2006/03/test-description#> .
58+ @prefix doap: <http://usefulinc.com/ns/doap#> .
59+ @prefix earl: <http://www.w3.org/ns/earl#> .
60+ @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
61+
62+ <jss>
63+ a earl:Software, earl:TestSubject ;
64+ doap:name "JavaScript Solid Server"@en ;
65+ doap:release <jss#test-subject-release> ;
66+ doap:developer <https://github.com/JavaScriptSolidServer> ;
67+ doap:homepage <https://github.com/JavaScriptSolidServer/JavaScriptSolidServer> ;
68+ doap:description "A minimal, fast, JSON-LD native Solid server."@en ;
69+ doap:programming-language "JavaScript"@en ;
70+ solid-test:skip "acp", "wac", "wac-allow-public" .
71+
72+ <jss#test-subject-release>
73+ doap:revision "0.0.14"@en ;
74+ doap:created "2025-12-27"^^xsd:date .
75+ ```
76+
77+ ### Environment File (cth.env)
6478
65- <https://github.com/solid/conformance-test-harness/jss>
66- a solid-test:TestSubject ;
67- solid-test:skip "wac-allow-public", "wac", "acp" ;
68- td:maintainer <https://github.com/JavaScriptSolidServer> .
79+ Create ` cth.env ` :
80+
81+ ``` bash
82+ SERVER_ROOT=http://localhost:4000
83+ TEST_CONTAINER=/alice/cth-test/
84+ RESOURCE_SERVER_ROOT=http://localhost:4000
85+ LOGIN_ENDPOINT=http://localhost:4000/idp/credentials
86+ SOLID_IDENTITY_PROVIDER=http://localhost:4000/
87+ USERS_ALICE_IDP=http://localhost:4000/
88+ USERS_BOB_IDP=http://localhost:4000/
89+ USERS_ALICE_WEBID=http://localhost:4000/alice/# me
90+ USERS_BOB_WEBID=http://localhost:4000/bob/# me
91+ USERS_ALICE_USERNAME=alice@example.com
92+ USERS_ALICE_PASSWORD=alicepassword123
93+ USERS_BOB_USERNAME=bob@example.com
94+ USERS_BOB_PASSWORD=bobpassword123
6995```
7096
71- ### Environment Variables
97+ ### Environment Variables Reference
7298
7399| Variable | Description | Example |
74100| ----------| -------------| ---------|
101+ | ` SERVER_ROOT ` | Server base URL | ` http://localhost:4000 ` |
102+ | ` TEST_CONTAINER ` | Path to test container | ` /alice/cth-test/ ` |
75103| ` SOLID_IDENTITY_PROVIDER ` | IdP issuer URL (with trailing slash) | ` http://localhost:4000/ ` |
104+ | ` USERS_ALICE_IDP ` | Alice's IdP | ` http://localhost:4000/ ` |
76105| ` USERS_ALICE_WEBID ` | Alice's WebID | ` http://localhost:4000/alice/#me ` |
77106| ` USERS_ALICE_USERNAME ` | Alice's email | ` alice@example.com ` |
78107| ` USERS_ALICE_PASSWORD ` | Alice's password | ` alicepassword123 ` |
108+ | ` USERS_BOB_IDP ` | Bob's IdP | ` http://localhost:4000/ ` |
79109| ` USERS_BOB_WEBID ` | Bob's WebID | ` http://localhost:4000/bob/#me ` |
80110| ` USERS_BOB_USERNAME ` | Bob's email | ` bob@example.com ` |
81111| ` USERS_BOB_PASSWORD ` | Bob's password | ` bobpassword123 ` |
82- | ` SUBJECTS ` | Path to test-subjects.ttl | ` /app/test-subjects.ttl ` |
112+ | ` SUBJECTS ` | Path to test-subjects.ttl inside container | ` /app/test-subjects.ttl ` |
83113
84114## Running Specific Test Suites
85115
@@ -88,7 +118,7 @@ Create `/tmp/cth-test-subjects.ttl`:
88118``` bash
89119docker run --rm --network=host \
90120 --env-file cth.env \
91- -v /tmp/cth- test-subjects.ttl:/app/test-subjects.ttl \
121+ -v $( pwd ) / test-subjects.ttl:/app/test-subjects.ttl \
92122 -e SUBJECTS=/app/test-subjects.ttl \
93123 solidproject/conformance-test-harness:latest \
94124 --target=" https://github.com/solid/conformance-test-harness/jss" \
@@ -102,7 +132,7 @@ docker run --rm --network=host \
102132``` bash
103133docker run --rm --network=host \
104134 --env-file cth.env \
105- -v /tmp/cth- test-subjects.ttl:/app/test-subjects.ttl \
135+ -v $( pwd ) / test-subjects.ttl:/app/test-subjects.ttl \
106136 -e SUBJECTS=/app/test-subjects.ttl \
107137 solidproject/conformance-test-harness:latest \
108138 --target=" https://github.com/solid/conformance-test-harness/jss"
@@ -158,20 +188,6 @@ Ensure the server returns JWT access tokens with:
158188- 3-part JWT format (header.payload.signature)
159189- ` webid ` claim
160190
161- ## Environment File Template
162-
163- Save as ` cth.env ` :
164-
165- ``` bash
166- SOLID_IDENTITY_PROVIDER=http://localhost:4000/
167- USERS_ALICE_WEBID=http://localhost:4000/alice/# me
168- USERS_ALICE_USERNAME=alice@example.com
169- USERS_ALICE_PASSWORD=alicepassword123
170- USERS_BOB_WEBID=http://localhost:4000/bob/# me
171- USERS_BOB_USERNAME=bob@example.com
172- USERS_BOB_PASSWORD=bobpassword123
173- ```
174-
175191## Server Requirements for CTH
176192
177193The server must support:
0 commit comments