Skip to content

Commit 0d8daf4

Browse files
Update CTH.md with verified working configuration
- Add complete test-subjects.ttl with correct base and prefixes - Add complete cth.env with all required variables - Update docker commands to use $(pwd) for file paths - Remove duplicate env file section - Update test-subjects.ttl to v0.0.14 with correct skip tags
1 parent 2ed86e9 commit 0d8daf4

2 files changed

Lines changed: 70 additions & 33 deletions

File tree

CTH.md

Lines changed: 49 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -36,16 +36,10 @@ curl -s -X POST http://localhost:4000/.pods \
3636
# 6. Create test container (required by CTH)
3737
mkdir -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)
4040
docker 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
89119
docker 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
103133
docker 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

177193
The server must support:

test-subjects.ttl

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
@base <https://github.com/solid/conformance-test-harness/> .
2+
@prefix solid-test: <https://github.com/solid/conformance-test-harness/vocab#> .
3+
@prefix doap: <http://usefulinc.com/ns/doap#> .
4+
@prefix earl: <http://www.w3.org/ns/earl#> .
5+
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
6+
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
7+
8+
<jss>
9+
a earl:Software, earl:TestSubject ;
10+
doap:name "JavaScript Solid Server"@en ;
11+
doap:release <jss#test-subject-release> ;
12+
doap:developer <https://github.com/JavaScriptSolidServer> ;
13+
doap:homepage <https://github.com/JavaScriptSolidServer/JavaScriptSolidServer> ;
14+
doap:description "A minimal, fast, JSON-LD native Solid server."@en ;
15+
doap:programming-language "JavaScript"@en ;
16+
solid-test:skip "acp", "wac", "wac-allow-public" ;
17+
rdfs:comment "JSON-LD first Solid server with built-in IdP"@en .
18+
19+
<jss#test-subject-release>
20+
doap:revision "0.0.14"@en ;
21+
doap:created "2025-12-27"^^xsd:date .

0 commit comments

Comments
 (0)