Skip to content

Commit 6842d89

Browse files
committed
refactor: update terminology from 'Tree Stream' to 'TREE view' for consistency
Signed-off-by: XD <Xueying.Deng@imec.be>
1 parent cdbcaf6 commit 6842d89

File tree

1 file changed

+41
-37
lines changed

1 file changed

+41
-37
lines changed

04-tests.bs

Lines changed: 41 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -11,39 +11,39 @@ Mailing List Archives: https://lists.w3.org/Archives/Public/public-treecg/
1111
Editor:
1212
- Pieter Colpaert, https://pietercolpaert.be
1313
- Xueying Deng, https://xdxxxdx.github.io/
14-
Abstract: The TREE Test Specification offers a test plan for Tree Client implementations, enabling implementers to validate their conformance with the TREE Specification. This test specification will be regularly updated to reflect changes and enhancements in the TREE specification.
14+
Abstract: The TREE Test Specification offers a test plan for TREE Client implementations, enabling implementers to validate their conformance with the TREE Specification. This test specification will be regularly updated to reflect changes and enhancements in the TREE specification.
1515
</pre>
1616
# Overview # {#overview}
17-
This specification targets implementations of TREE client services and outlines a comprehensive suite of test cases to assess their compliance with the TREE specification.
18-
It covers functional, boundary, error handling, and nonfunctional performance testing.
19-
Each test case specifies its purpose, input data, expected output, and clear pass/fail criteria.
17+
This specification targets implementations of TREE clients and outlines a comprehensive suite of test cases to assess their compliance with the TREE specification.
18+
It covers functional, boundary, error handling, and optional non-functional performance testing.
19+
Each test case specifies its purpose, input data, expected output, and pass/fail criteria.
2020

2121
# Functional Tests # {#functional-tests}
2222

2323
## Client Initialization ## {#client-initialization}
2424

25-
### Test Case 1.1.1 : tree client initialization without redirection ### {#test-case-1-1-1-tree-client-initialization}
25+
### Test Case 1.1.1 : TREE client initialization without redirection ### {#test-case-1-1-1-tree-client-initialization}
2626

27-
* **Test Description**: Verify that the client initializes correctly with a Tree Stream endpoint.
27+
* **Test Description**: Verify that the client initializes correctly with a TREE view endpoint.
2828
* **Test Prerequisites**:
29-
* A valid Tree Stream endpoint URL, the URL that is the IRI of the root `tree:Node`, and there is no redirection.
29+
* A valid TREE view endpoint URL, the URL that is the IRI of the root `tree:Node`, and there is no redirection.
3030
* The TREE client service is up and running.
3131
* **Test Steps**:
32-
1. Initialize the TREE client with the provided Tree Stream endpoint URL.
32+
1. Initialize the TREE client with the provided TREE view endpoint URL.
3333
* **Expected Output**: Client initializes without errors and is ready to make requests.
3434
* **Pass/Fail Criteria**: Pass if the client initializes successfully; fail if any errors occur during initialization.
3535

3636
---
3737

38-
### Test Case 1.1.2 : tree client initialization with redirection ### {#test-case-1-1-2-tree-client-initialization-redirection}
38+
### Test Case 1.1.2 : TREE client initialization with redirection ### {#test-case-1-1-2-tree-client-initialization-redirection}
3939

40-
* **Test Description**: Verify that the client initializes correctly with a Tree Stream endpoint that involves redirection.
40+
* **Test Description**: Verify that the client initializes correctly with a TREE view endpoint that involves redirection.
4141
* **Test Prerequisites**:
42-
* A valid Tree Stream endpoint URL, the URL leads to the IRI of the root `tree:Node` with one or more HTTP redirections.
42+
* A valid TREE view endpoint URL, the URL leads to the IRI of the root `tree:Node` with one or more HTTP redirects.
4343
* The TREE client service is up and running.
4444
* **Test Steps**:
45-
1. Initialize the TREE client with the provided Tree Stream endpoint URL.
46-
* **Expected Output**: Client initializes without errors and is ready to make requests following any redirections as necessary. The final IRI after all HTTP redirects corresponds to the object of a `tree:view` triple linking it to a `tree:Collection`.
45+
1. Initialize the TREE client with the provided TREE view endpoint URL.
46+
* **Expected Output**: Client initializes without errors and is ready to make requests following any redirects as necessary. The final IRI after all HTTP redirects corresponds to the object of a `tree:view` triple that links it to a `tree:Collection`.
4747
* **Pass/Fail Criteria**: Pass if the client initializes successfully; fail if any errors occur during initialization.
4848

4949
---
@@ -52,38 +52,40 @@ Each test case specifies its purpose, input data, expected output, and clear pas
5252

5353
* **Test Description**: Verify that the client handles invalid initialization parameters gracefully.
5454
* **Test Prerequisites**:
55-
* An invalid Tree Stream endpoint URL (e.g., the content is an invalid `tree:Node`).
55+
* An invalid TREE view endpoint URL (e.g., the content is an invalid `tree:Node`).
5656
* The TREE client service is up and running.
5757
* **Test Steps**:
58-
1. Attempt to initialize the TREE client with the invalid Tree Stream endpoint URL.
58+
1. Attempt to initialize the TREE client with the invalid TREE view endpoint URL.
5959
* **Expected Output**: Client returns an appropriate error message indicating why the initialization failed, such as "Invalid `tree:Node`".
6060
* **Pass/Fail Criteria**: Pass if the client returns an error message; fail if it initializes without an error message.
6161

6262
---
6363

64-
## Traverse Search Tree ## {#traverse-search-tree}
64+
## Traversing the TREE ## {#traverse-search-tree}
6565

66-
### Test Case 1.2.1 : Retrieve members from a Tree Stream ### {#test-case-1-2-1-retrieve-data-from-a-tree-stream}
66+
### Test Case 1.2.1 : Retrieve members from a TREE view ### {#test-case-1-2-1-retrieve-data-from-a-tree-stream}
6767

68-
* **Test Description**: Verify that the client can successfully retrieve members from a Tree Stream.
68+
* **Test Description**: Verify that the client can successfully retrieve members from a TREE view.
6969
* **Test Prerequisites**:
70-
* A valid Tree Stream endpoint URL with a known number of members.
70+
* A valid TREE view endpoint URL with a known number of members.
7171
* The TREE client service is up and running.
7272
* **Test Steps**:
73-
1. Initialize the TREE client with the Tree Stream endpoint URL.
73+
1. Initialize the TREE client with the TREE view endpoint URL.
7474
2. Wait for the client synchronization to complete.
7575
3. Collect retrieved members.
76-
* **Expected Output**: Client retrieves all members from the Tree Stream, and the number of retrieved members matches the expected count.
76+
* **Expected Output**: Client retrieves all members from the TREE view, and the number of retrieved members matches the expected count.
7777
* **Pass/Fail Criteria**: Pass if the client retrieves the expected number of members; fail if the count does not match or if any errors occur during retrieval.
7878

7979
---
80-
## Traverse Search Tree: Relation Handling ## {#relation-handling}
80+
## Traverse Search TREE: Relation Handling ## {#relation-handling}
81+
82+
The following test cases are optional to implement and depend on the type of relation used in your TREE.
8183

8284
### Test Case 1.3.1 : tree:PrefixRelation ### {#test-case-1-3-1-prefix-relation}
8385

8486
* **Test Description**: Verify that the client handles `tree:PrefixRelation`.
8587
* **Test Prerequisites**:
86-
* A Tree Stream containing a single `tree:PrefixRelation` with a `tree:value` (e.g., `"abc"`) for a specific `tree:path`. This short Tree Stream has only one `tree:Relation`: the `tree:PrefixRelation` points to a `tree:Node` whose members' `tree:path`'s value all start with `"abc"` consistent with the `STRSTARTS` SPARQL function.
88+
* A TREE view containing a single `tree:PrefixRelation` with a `tree:value` (e.g., "abc") for a specific `tree:path`. This TREE view has only one `tree:Relation`: the `tree:PrefixRelation` points to a `tree:Node` whose members have `tree:path` values that all start with "abc", consistent with the `STRSTARTS` SPARQL function.
8789
* The number of members of the TREE is known.
8890
* **Test Steps**:
8991
1. Initialize the TREE client.
@@ -98,7 +100,7 @@ Each test case specifies its purpose, input data, expected output, and clear pas
98100

99101
* **Test Description**: Verify that the client handles `tree:SubstringRelation`.
100102
* **Test Prerequisites**:
101-
* A Tree Stream containing a single `tree:SubstringRelation` with a `tree:value` (e.g., `"mid"`) for a specific `tree:path`. This short Tree Stream has only one `tree:Relation`: the `tree:SubstringRelation` points to a `tree:Node` whose members' `tree:path`'s values all contain `"mid"`, consistent with the `SUBSTR` SPARQL function.
103+
* A TREE view containing a single `tree:SubstringRelation` with a `tree:value` (e.g., `"mid"`) for a specific `tree:path`. This TREE view has only one `tree:Relation`: the `tree:SubstringRelation` points to a `tree:Node` whose members have `tree:path` values that all contain `"mid"`, consistent with the `CONTAINS` SPARQL function.
102104
* The number of members of the TREE is known.
103105
* **Test Steps**:
104106
1. Initialize the TREE client.
@@ -113,7 +115,7 @@ Each test case specifies its purpose, input data, expected output, and clear pas
113115

114116
* **Test Description**: Verify that the client handles `tree:SuffixRelation`.
115117
* **Test Prerequisites**:
116-
* A Tree Stream containing a single `tree:SuffixRelation` with a `tree:value` (e.g., `"xyz"`) for a specific `tree:path`. This short Tree Stream has only one `tree:Relation`: the `tree:SuffixRelation` points to a `tree:Node` whose members' `tree:path`'s values all end with `"xyz"`, consistent with the `STRENDS` SPARQL function.
118+
* A TREE view containing a single `tree:SuffixRelation` with a `tree:value` (e.g., "xyz") for a specific `tree:path`. This TREE view has only one `tree:Relation`: the `tree:SuffixRelation` points to a `tree:Node` whose members have `tree:path` values that all end with "xyz", consistent with the `STRENDS` SPARQL function.
117119
* The number of members of the TREE is known.
118120
* **Test Steps**:
119121
1. Initialize the TREE client.
@@ -129,7 +131,7 @@ Each test case specifies its purpose, input data, expected output, and clear pas
129131
* **Test Description**: Verify that the client handles `tree:GreaterThanRelation`.
130132

131133
* **Test Prerequisites**:
132-
* A Tree Stream containing a single `tree:GreaterThanRelation` with a `tree:value` (e.g., `10`) for a specific `tree:path`. This short Tree Stream has only one `tree:Relation`: the `tree:GreaterThanRelation` points to a `tree:Node` whose members' `tree:path`'s values all are greater than `10`.
134+
* A TREE view containing a single `tree:GreaterThanRelation` with a `tree:value` (e.g., `10`) for a specific `tree:path`. This TREE view has only one `tree:Relation`: the `tree:GreaterThanRelation` points to a `tree:Node` whose members have `tree:path` values that are all greater than `10`.
133135
* The number of members of the TREE is known.
134136
* **Test Steps**:
135137
1. Initialize the TREE client.
@@ -144,7 +146,7 @@ Each test case specifies its purpose, input data, expected output, and clear pas
144146

145147
* **Test Description**: Verify that the client handles `tree:GreaterThanOrEqualToRelation`.
146148
* **Test Prerequisites**:
147-
* A Tree Stream containing a single `tree:GreaterThanOrEqualToRelation` with a `tree:value` (e.g., `10`) for a specific `tree:path`. This short Tree Stream has only one `tree:Relation`: the `tree:GreaterThanOrEqualToRelation` points to a `tree:Node` whose members' `tree:path`'s values all are greater than or equal to `10`.
149+
* A TREE view containing a single `tree:GreaterThanOrEqualToRelation` with a `tree:value` (e.g., `10`) for a specific `tree:path`. This TREE view has only one `tree:Relation`: the `tree:GreaterThanOrEqualToRelation` points to a `tree:Node` whose members have `tree:path` values that are all greater than or equal to `10`.
148150
* The number of members of the TREE is known.
149151
* **Test Steps**:
150152
1. Initialize the TREE client.
@@ -159,7 +161,7 @@ Each test case specifies its purpose, input data, expected output, and clear pas
159161

160162
* **Test Description**: Verify that the client handles `tree:LessThanRelation`.
161163
* **Test Prerequisites**:
162-
* A Tree Stream containing a single `tree:LessThanRelation` with a `tree:value` (e.g., `20`) for a specific `tree:path`. This short Tree Stream has only one `tree:Relation`: the `tree:LessThanRelation` points to a `tree:Node` whose members' `tree:path`'s values all are less than `20`.
164+
* A TREE view containing a single `tree:LessThanRelation` with a `tree:value` (e.g., `20`) for a specific `tree:path`. This TREE view has only one `tree:Relation`: the `tree:LessThanRelation` points to a `tree:Node` whose members have `tree:path` values that are all less than `20`.
163165
* The number of members of the TREE is known.
164166
* **Test Steps**:
165167
1. Initialize the TREE client.
@@ -170,11 +172,11 @@ Each test case specifies its purpose, input data, expected output, and clear pas
170172

171173
---
172174

173-
### Test Case 1.3.7 : tree:LessThanOrEqualToRelation ### {#test-case-1-3-7-less-than-equal-relation}
175+
### Test Case 1.3.7 : tree:LessThanOrEqualToRelation ### {#test-case-1-3-7-less-than-equal-relation}
174176

175177
* **Test Description**: Verify that the client handles `tree:LessThanOrEqualToRelation`.
176178
* **Test Prerequisites**:
177-
* A Tree Stream containing a single `tree:LessThanOrEqualToRelation` with a `tree:value` (e.g., `20`) for a specific `tree:path`. This short Tree Stream has only one `tree:Relation`: the `tree:LessThanOrEqualToRelation` points to a `tree:Node` whose members' `tree:path`'s values all are less than or equal to `20`.
179+
* A TREE view containing a single `tree:LessThanOrEqualToRelation` with a `tree:value` (e.g., `20`) for a specific `tree:path`. This TREE view has only one `tree:Relation`: the `tree:LessThanOrEqualToRelation` points to a `tree:Node` whose members have `tree:path` values that are all less than or equal to `20`.
178180
* The number of members of the TREE is known.
179181
* **Test Steps**:
180182
1. Initialize the TREE client.
@@ -189,7 +191,7 @@ Each test case specifies its purpose, input data, expected output, and clear pas
189191

190192
* **Test Description**: Verify that the client handles `tree:EqualToRelation`.
191193
* **Test Prerequisites**:
192-
* A Tree Stream containing a single `tree:EqualToRelation` with a `tree:value` (e.g., `15`) for a specific `tree:path`. This short Tree Stream has only one `tree:Relation`: the `tree:EqualToRelation` points to a `tree:Node` whose members' `tree:path`'s values are all equal to `15`.
194+
* A TREE view containing a single `tree:EqualToRelation` with a `tree:value` (e.g., `15`) for a specific `tree:path`. This TREE view has only one `tree:Relation`: the `tree:EqualToRelation` points to a `tree:Node` whose members have `tree:path` values that are all equal to `15`.
193195
* The number of members of the TREE is known.
194196
* **Test Steps**:
195197
1. Initialize the TREE client.
@@ -204,7 +206,7 @@ Each test case specifies its purpose, input data, expected output, and clear pas
204206

205207
* **Test Description**: Verify that the client handles `tree:NotEqualToRelation`.
206208
* **Test Prerequisites**:
207-
* A Tree Stream containing a single `tree:NotEqualToRelation` with a `tree:value` (e.g., `14`) for a specific `tree:path`. This short Tree Stream has only one `tree:Relation`: the `tree:NotEqualToRelation` points to a `tree:Node` whose members' `tree:path`'s values are all not equal to `14`.
209+
* A TREE view containing a single `tree:NotEqualToRelation` with a `tree:value` (e.g., `14`) for a specific `tree:path`. This TREE view has only one `tree:Relation`: the `tree:NotEqualToRelation` points to a `tree:Node` whose members have `tree:path` values that are all not equal to `14`.
208210
* The number of members of the TREE is known.
209211
* **Test Steps**:
210212
1. Initialize the TREE client.
@@ -221,7 +223,7 @@ Each test case specifies its purpose, input data, expected output, and clear pas
221223

222224
* **Test Description**: Verify client behavior when a node has no members.
223225
* **Test Prerequisites**:
224-
* A Tree Stream endpoint only linking to an empty `tree:Node`.
226+
* A TREE view endpoint only linking to an empty `tree:Node`.
225227
* **Test Steps**:
226228
1. Initialize the TREE client.
227229
2. Traverse to the empty node.
@@ -234,7 +236,7 @@ Each test case specifies its purpose, input data, expected output, and clear pas
234236

235237
* **Test Description**: Verify client behavior when relations form a circular loop.
236238
* **Test Prerequisites**:
237-
* A Tree Stream endpoint with circular relation between nodes.
239+
* A TREE view endpoint with a circular relation between nodes.
238240
* **Test Steps**:
239241
1. Initialize the TREE client.
240242
2. Traverse the graph.
@@ -247,7 +249,7 @@ Each test case specifies its purpose, input data, expected output, and clear pas
247249

248250
* **Test Description**: Verify client behavior when relation value is malformed (e.g., string instead of number).
249251
* **Test Prerequisites**:
250-
* A Tree Stream endpoint with invalid relation definition.
252+
* A TREE view endpoint with invalid relation definition.
251253
* **Test Steps**:
252254
1. Initialize the TREE client.
253255
2. Traverse the malformed relation.
@@ -259,9 +261,11 @@ Each test case specifies its purpose, input data, expected output, and clear pas
259261

260262
## Non-Functional Testing ## {#non-functional}
261263

264+
The following tests are optional to implement and should align with the non-functional requirements of your implementation. This section is provided for suggestion purposes only.
265+
262266
### Test Case 1.5.1 : Performance under load ### {#test-case-1-5-1-performance}
263267

264-
* **Test Description**: Verify client performance when traversing a large Tree Stream.
268+
* **Test Description**: Verify client performance when traversing a large TREE view.
265269
* **Test Prerequisites**:
266270
* Endpoint with ≥ 10,000 members.
267271
* **Test Steps**:
@@ -276,7 +280,7 @@ Each test case specifies its purpose, input data, expected output, and clear pas
276280

277281
* **Test Description**: Verify client scalability with increasing members and relations.
278282
* **Test Prerequisites**:
279-
* Endpoint with multiple large fragments and complex relations, please refer to [ldes-registry](https://imec-int.github.io/ldes-registry/dashboard.html) for example endpoints.
283+
* Endpoint with multiple large fragments and complex relations; refer to [ldes-registry](https://imec-int.github.io/ldes-registry/dashboard.html) for example endpoints.
280284
* **Test Steps**:
281285
1. Initialize the TREE client.
282286
2. Traverse the entire collection.

0 commit comments

Comments
 (0)