Skip to content

Commit f90eb80

Browse files
author
gabe
committed
test outline
1 parent f41bb08 commit f90eb80

File tree

2 files changed

+190
-2
lines changed

2 files changed

+190
-2
lines changed

reports/index.html

Lines changed: 157 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,157 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<title>VC JSON Schema Test Suite</title>
5+
<meta http-equiv='Content-Type' content='text/html;charset=utf-8'/>
6+
<!--
7+
=== NOTA BENE ===
8+
For the three scripts below, if your spec resides on dev.w3 you can check them
9+
out in the same tree and use relative links so that they'll work offline,
10+
-->
11+
<script src="https://www.w3.org/Tools/respec/respec-w3c" class="remove" defer></script>
12+
<script type="text/javascript" class="remove">
13+
// set this in the config section
14+
var respecConfig = {
15+
"shortName": "vc-json-schema-test-suite",
16+
"group": "vc",
17+
"specStatus": "NOTE",
18+
"subtitle": "Verifiable Credentials JSON Schema Interoperability Report",
19+
"github": "https://github.com/w3c/vc-json-schema-test-suite",
20+
"edDraftURI": "https://w3c.github.io/vc-json-schema-test-suite/",
21+
"doJsonLd": true,
22+
"includePermalinks": false,
23+
"otherLinks": [
24+
{
25+
"key": "Related Specifications",
26+
"data": [
27+
{
28+
"value": "The Verifiable Credentials Data Model v2.0",
29+
"href": "https://www.w3.org/TR/vc-data-model-2.0/"
30+
},
31+
{
32+
"value": "Verifiable Credentials JSON Schema Specification",
33+
"href": "https://www.w3.org/TR/vc-json-schema/"
34+
}
35+
]
36+
}
37+
],
38+
"editors": [
39+
{
40+
"name": "Gabe Cohen",
41+
"url": "https://github.com/decentralgabe",
42+
"company": "Block",
43+
"companyURL": "https://www.tbd.website/"
44+
},
45+
{
46+
"name": "Orie Steele",
47+
"url": "https://github.com/OR13",
48+
"company": "Transmute",
49+
"companyURL": "https://transmute.industries/"
50+
},
51+
{
52+
"name": "Andres Uribe",
53+
"url": "https://github.com/andresuribe",
54+
"company": "Block",
55+
"companyURL": "https://www.tbd.website/"
56+
}
57+
],
58+
"authors": [
59+
{
60+
"name": "Gabe Cohen",
61+
"url": "https://github.com/decentralgabe",
62+
"company": "Block",
63+
"companyURL": "https://www.tbd.website/"
64+
},
65+
{
66+
"name": "Orie Steele",
67+
"url": "https://github.com/OR13",
68+
"company": "Transmute",
69+
"companyURL": "https://transmute.industries/"
70+
}
71+
]
72+
};
73+
</script>
74+
<style>
75+
.passed {
76+
font-weight: bold;
77+
background-color: lightgreen;
78+
}
79+
.failed {
80+
font-weight: bold;
81+
background-color: pink;
82+
}
83+
.pending {
84+
font-weight: bold;
85+
background-color: #cdeaed;
86+
}
87+
.unimplemented, .notImplemented {
88+
font-weight: bold;
89+
background-color: lightyellow;
90+
}
91+
.flex-center {
92+
display: flex;
93+
align-items: center;
94+
justify-content: center;
95+
width: fit-content;
96+
}
97+
</style>
98+
</head>
99+
<body>
100+
<section id="abstract">
101+
<p>
102+
The purpose of this test suite is to demonstrate a path to interoperability
103+
for the <a href="https://www.w3.org/TR/vc-json-schema/">VC JSON Schema</a>
104+
specification.
105+
The technologies explored in this test suite are experimental.
106+
This document contains the most recent interoperability report for a
107+
VC JSON Schema using both `JsonSchema` and `JsonSchemaCredential` types.
108+
This report is auto-generated.
109+
</p>
110+
</section>
111+
<section id="sotd">
112+
</section>
113+
114+
<section class="informative" id="conformance-testing-results">
115+
<h2> Conformance Testing Results </h2>
116+
<p>
117+
Tests passed 1/1 100%
118+
</p>
119+
<p>
120+
Tests failed 0/1 0%
121+
</p>
122+
<p>
123+
Failures 0
124+
</p>
125+
<p>
126+
Tests skipped 0
127+
</p>
128+
<p>
129+
Total tests 1
130+
</p>
131+
<p>
132+
These tests were run on <time>22 August 2023 at 5:29 pm UTC</time>
133+
</p>
134+
<section class="informative" id="Key">
135+
<h3>Key</h3>
136+
<ul>
137+
<li>
138+
✓ - Success
139+
</li>
140+
<li>
141+
❌ - Error
142+
</li>
143+
<li>
144+
— - Implementation explicitly does not support this feature
145+
</li>
146+
</ul>
147+
</section>
148+
149+
<p>
150+
The results of the tests are shown below:
151+
</p>
152+
</section>
153+
<section id="conformance">
154+
<!--- This will take the tests and display them as matrices -->
155+
</section>
156+
</body>
157+
</html>

tests/202012jsonschema.js

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,39 @@ describe('JSON Schema 2020-12 - JsonSchema', function() {
1818
// run tests for each impl
1919
for (const i of impls) {
2020
describe(i.name, function() {
21-
it('Should validate', function() {
22-
// true.should.equals(true);
21+
it('2.1 ID - The value MUST be a URL that identifies the schema associated with the verifiable credential.', function() {
22+
});
23+
it('2.1 The type property MUST be JsonSchema.', function() {
24+
});
25+
26+
it('3 Implementers MUST provide support for JSON Schema specifications where, in the following table, the required column\'s value is yes', function() {
27+
});
28+
29+
it('3.1.1 The $id MUST be present and its value MUST represent a valid URI-reference', function() {
30+
});
31+
32+
// NOTE: this also covers the normative guidance in 4 -- Schemas without a $schema property are not considered valid and MUST NOT be processed.
33+
it('3.1.2, 4 The $schema property MUST be present in each schema', function() {
34+
});
35+
36+
it('4 Conformant implementers MUST support JSON Schema specification versions marked as required in the table defined (2020-12)', function() {
37+
});
38+
39+
it('4.1. Validation of the integrity of the schema MUST be done before evaluation.', function() {
40+
41+
});
42+
43+
it('4.2. (Success) Validation MUST result in one of the following three possible outcomes: success, failure, or indeterminate.', function() {
44+
45+
});
46+
47+
it('4.2. (Failure) Validation MUST result in one of the following three possible outcomes: success, failure, or indeterminate.', function() {
48+
49+
});
50+
51+
it('4.2. (Indeterminate) Validation MUST result in one of the following three possible outcomes: success, failure, or indeterminate. ' +
52+
'Implementers MUST return this outcome when they encounter a schema whose version they do not support.', function() {
53+
2354
});
2455
});
2556
}

0 commit comments

Comments
 (0)