-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge remote-tracking branch 'origin/main'
- Loading branch information
Showing
10 changed files
with
251 additions
and
10 deletions.
There are no files selected for viewing
32 changes: 32 additions & 0 deletions
32
artifacts/src/main/resources/catalog/catalog-request-message-schema.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
{ | ||
"$schema": "https://json-schema.org/draft/2019-09/schema", | ||
"title": "CatalogRequestMessageSchema", | ||
"type": "object", | ||
"allOf": [ | ||
{ | ||
"$ref": "#/definitions/CatalogRequestMessage" | ||
} | ||
], | ||
"$id": "https://w3id.org/dspace/2024/1/catalog/catalog-request-message-schema.json", | ||
"definitions": { | ||
"CatalogRequestMessage": { | ||
"type": "object", | ||
"properties": { | ||
"@context": { | ||
"$ref": "https://w3id.org/dspace/2024/1/common/context-schema.json" | ||
}, | ||
"@type": { | ||
"type": "string", | ||
"const": "CatalogRequestMessage" | ||
}, | ||
"filter": { | ||
"type": "array" | ||
} | ||
}, | ||
"required": [ | ||
"@context", | ||
"@type" | ||
] | ||
} | ||
} | ||
} |
7 changes: 7 additions & 0 deletions
7
artifacts/src/main/resources/catalog/example/catalog-request-message.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
{ | ||
"@context": [ | ||
"https://w3id.org/dspace/2024/1/context.json" | ||
], | ||
"@type": "CatalogRequestMessage", | ||
"filter": [] | ||
} |
8 changes: 8 additions & 0 deletions
8
artifacts/src/main/resources/common/example/protocol-version.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
{ | ||
"protocolVersions": [ | ||
{ | ||
"version": "1.0", | ||
"path": "/some/path/v1" | ||
} | ||
] | ||
} |
35 changes: 35 additions & 0 deletions
35
artifacts/src/main/resources/common/protocol-version-schema.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
{ | ||
"$schema": "https://json-schema.org/draft/2019-09/schema", | ||
"title": "VersionSchema", | ||
"type": "object", | ||
"allOf": [ | ||
{ | ||
"$ref": "#/definitions/Version" | ||
} | ||
], | ||
"$id": "https://w3id.org/dspace/2024/1/common/version-schema.json", | ||
"definitions": { | ||
"Version": { | ||
"type": "object", | ||
"properties": { | ||
"protocolVersions": { | ||
"type": "array", | ||
"items": { | ||
"type": "object", | ||
"properties": { | ||
"version": { | ||
"type": "string" | ||
}, | ||
"path": { | ||
"type": "string" | ||
} | ||
}, | ||
"required": ["version", "path"] | ||
}, | ||
"minItems": 1 | ||
} | ||
}, | ||
"required": ["protocolVersions"] | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
39 changes: 39 additions & 0 deletions
39
artifacts/src/test/java/org/eclipse/dsp/schema/catalog/CatalogRequestMessageSchemaTest.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
/* | ||
* Copyright (c) 2024 SAP SE | ||
* | ||
* This program and the accompanying materials are made available under the | ||
* terms of the Apache License, Version 2.0 which is available at | ||
* https://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* SPDX-License-Identifier: Apache-2.0 | ||
* | ||
* Contributors: | ||
* SAP SE - extension to catalog request message | ||
* | ||
*/ | ||
|
||
package org.eclipse.dsp.schema.catalog; | ||
|
||
import org.eclipse.dsp.schema.fixtures.AbstractSchemaTest; | ||
import org.junit.jupiter.api.BeforeEach; | ||
import org.junit.jupiter.api.Test; | ||
|
||
import java.io.IOException; | ||
|
||
import static org.assertj.core.api.Assertions.assertThat; | ||
|
||
public class CatalogRequestMessageSchemaTest extends AbstractSchemaTest { | ||
|
||
@Test | ||
void verifySchema() throws IOException { | ||
var node = mapper.readTree(getClass().getResourceAsStream("/catalog/example/catalog-request-message.json")); | ||
assertThat(schema.validate(node)).isEmpty(); | ||
} | ||
|
||
@BeforeEach | ||
void setUp() { | ||
setUp("/catalog/catalog-request-message-schema.json"); | ||
} | ||
|
||
|
||
} |
70 changes: 70 additions & 0 deletions
70
artifacts/src/test/java/org/eclipse/dsp/schema/common/InvalidVersionSchemaTest.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
/* | ||
* Copyright (c) 2024 Metaform Systems, Inc. | ||
* | ||
* This program and the accompanying materials are made available under the | ||
* terms of the Apache License, Version 2.0 which is available at | ||
* https://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* SPDX-License-Identifier: Apache-2.0 | ||
* | ||
* Contributors: | ||
* Metaform Systems, Inc. - initial API and implementation | ||
* | ||
*/ | ||
|
||
package org.eclipse.dsp.schema.common; | ||
|
||
import org.eclipse.dsp.schema.fixtures.AbstractSchemaTest; | ||
import org.junit.jupiter.api.BeforeEach; | ||
import org.junit.jupiter.api.Test; | ||
|
||
import java.io.IOException; | ||
|
||
import static com.networknt.schema.InputFormat.JSON; | ||
import static org.assertj.core.api.Assertions.assertThat; | ||
|
||
public class InvalidVersionSchemaTest extends AbstractSchemaTest { | ||
|
||
@Test | ||
void verifyInvalidCases() throws IOException { | ||
assertThat(schema.validate(INVALID_NO_VERSIONS, JSON).iterator().next().getType()).isEqualTo(REQUIRED); | ||
assertThat(schema.validate(INVALID_EMPTY_VERSIONS, JSON).iterator().next().getType()).isEqualTo(MIN_ITEMS); | ||
assertThat(schema.validate(INVALID_NO_VERSION, JSON).iterator().next().getType()).isEqualTo(REQUIRED); | ||
assertThat(schema.validate(INVALID_NO_PATH, JSON).iterator().next().getType()).isEqualTo(REQUIRED); | ||
} | ||
|
||
@BeforeEach | ||
void setUp() { | ||
setUp("/common/protocol-version-schema.json"); | ||
} | ||
|
||
private static final String INVALID_NO_VERSIONS = """ | ||
{} | ||
"""; | ||
|
||
private static final String INVALID_EMPTY_VERSIONS = """ | ||
{ | ||
"protocolVersions": [] | ||
} | ||
"""; | ||
|
||
private static final String INVALID_NO_VERSION = """ | ||
{ | ||
"protocolVersions": [ | ||
{ | ||
"path": "/some/path/v1" | ||
} | ||
] | ||
} | ||
"""; | ||
|
||
private static final String INVALID_NO_PATH = """ | ||
{ | ||
"protocolVersions": [ | ||
{ | ||
"version": "1.0" | ||
} | ||
] | ||
} | ||
"""; | ||
} |
37 changes: 37 additions & 0 deletions
37
artifacts/src/test/java/org/eclipse/dsp/schema/common/VersionSchemaTest.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
/* | ||
* Copyright (c) 2024 Metaform Systems, Inc. | ||
* | ||
* This program and the accompanying materials are made available under the | ||
* terms of the Apache License, Version 2.0 which is available at | ||
* https://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* SPDX-License-Identifier: Apache-2.0 | ||
* | ||
* Contributors: | ||
* Metaform Systems, Inc. - initial API and implementation | ||
* | ||
*/ | ||
|
||
package org.eclipse.dsp.schema.common; | ||
|
||
import org.eclipse.dsp.schema.fixtures.AbstractSchemaTest; | ||
import org.junit.jupiter.api.BeforeEach; | ||
import org.junit.jupiter.api.Test; | ||
|
||
import java.io.IOException; | ||
|
||
import static org.assertj.core.api.Assertions.assertThat; | ||
|
||
public class VersionSchemaTest extends AbstractSchemaTest { | ||
|
||
@Test | ||
void verifySchema() throws IOException { | ||
var node = mapper.readTree(getClass().getResourceAsStream("/common/example/protocol-version.json")); | ||
assertThat(schema.validate(node)).isEmpty(); | ||
} | ||
|
||
@BeforeEach | ||
void setUp() { | ||
setUp("/common/protocol-version-schema.json"); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters