<?xml version="1.0" encoding="UTF-8"?>
<testsuite name="world.respect.domain.validator.TestValidationScenarios" tests="5" skipped="0" failures="0" errors="0" timestamp="2025-10-15T21:34:53.113Z" hostname="devserver3" time="15.166">
  <properties/>
  <testcase name="givenValidManifest_whenValidated_thenWillReturnNoErrors[jvm]" classname="world.respect.domain.validator.TestValidationScenarios" time="5.741"/>
  <testcase name="givenCacheValidationHeadersNotProvided_whenValidated_thenWillReturnErrors[jvm]" classname="world.respect.domain.validator.TestValidationScenarios" time="2.366"/>
  <testcase name="givenManifestDoesNotListResources_whenValidated_thenWillReturnError[jvm]" classname="world.respect.domain.validator.TestValidationScenarios" time="2.35"/>
  <testcase name="givenManifestResourcesDoNotExist_whenValidated_thenWillReturnErrors[jvm]" classname="world.respect.domain.validator.TestValidationScenarios" time="2.357"/>
  <testcase name="givenManifestNotDiscoverable_whenValidated_thenWillReturnError[jvm]" classname="world.respect.domain.validator.TestValidationScenarios" time="2.352"/>
  <system-out><![CDATA[Test running on port 42433
WARN: http://localhost:42433/resources/index.json Navigation link to grade1/grade1.json SHOULD contain an icon

DEBUG: http://localhost:42433/resources/index.json Skipping link as it has already been visited: http://localhost:42433/resources/index.json

DEBUG: http://localhost:42433/resources/grade1/grade1.json Validating Opds Publication: title "Lesson 001" and identifier: http://example.app/id/lesson001

DEBUG: http://localhost:42433/resources/grade1/grade1.json Skipping link as it has already been visited: http://localhost:42433/resources/grade1/grade1.json

DEBUG: http://localhost:42433/resources/grade1/lesson001/lesson001.json Validating Opds Publication: title "Lesson 001" and identifier: https://example.app/id/lesson001

DEBUG: http://localhost:42433/resources/grade1/lesson001/lesson001.json Skipping link as it has already been visited: http://localhost:42433/resources/grade1/lesson001/lesson001.json

DEBUG: http://localhost:42433/resources/grade1/grade1.json Skipping link as it has already been visited: http://localhost:42433/resources/grade1/lesson001/lesson001.html

DEBUG: http://localhost:42433/resources/grade1/grade1.json Skipping link as it has already been visited: http://localhost:42433/resources/grade1/lesson001/lesson001.json

Test running on port 44085
ERROR: http://localhost:44085/resources/appmanifest.json Link to http://localhost:44085/resources/appmanifest.json: No last-modified or etag header found

ERROR: http://localhost:44085/resources/appmanifest.json Link to http://localhost:44085/resources/app.html: No last-modified or etag header found

ERROR: http://localhost:44085/resources/appmanifest.json Link to http://localhost:44085/resources/index.json: No last-modified or etag header found

ERROR: http://localhost:44085/resources/appmanifest.json Link to http://localhost:44085/resources/index.json: No last-modified or etag header found

WARN: http://localhost:44085/resources/index.json Navigation link to grade1/grade1.json SHOULD contain an icon

DEBUG: http://localhost:44085/resources/index.json Skipping link as it has already been visited: http://localhost:44085/resources/index.json

ERROR: http://localhost:44085/resources/index.json Link to http://localhost:44085/resources/grade1/grade1.json: No last-modified or etag header found

DEBUG: http://localhost:44085/resources/grade1/grade1.json Validating Opds Publication: title "Lesson 001" and identifier: http://example.app/id/lesson001

ERROR: http://localhost:44085/resources/grade1/grade1.json Link to http://localhost:44085/resources/grade1/lesson001/cover.png: No last-modified or etag header found

ERROR: http://localhost:44085/resources/grade1/grade1.json Link to http://localhost:44085/resources/grade1/lesson001/lesson001.html: No last-modified or etag header found

DEBUG: http://localhost:44085/resources/grade1/grade1.json Skipping link as it has already been visited: http://localhost:44085/resources/grade1/grade1.json

ERROR: http://localhost:44085/resources/grade1/grade1.json Link to http://localhost:44085/resources/grade1/lesson001/lesson001.json: No last-modified or etag header found

DEBUG: http://localhost:44085/resources/grade1/lesson001/lesson001.json Validating Opds Publication: title "Lesson 001" and identifier: https://example.app/id/lesson001

ERROR: http://localhost:44085/resources/grade1/lesson001/lesson001.json Link to http://localhost:44085/resources/grade1/lesson001/cover.png: No last-modified or etag header found

ERROR: http://localhost:44085/resources/grade1/lesson001/lesson001.json Link to http://localhost:44085/resources/grade1/lesson001/lesson001.html: No last-modified or etag header found

ERROR: http://localhost:44085/resources/grade1/lesson001/lesson001.json Link to http://localhost:44085/resources/grade1/lesson001/audio.ogg: No last-modified or etag header found

ERROR: http://localhost:44085/resources/grade1/lesson001/lesson001.json Link to http://localhost:44085/resources/grade1/lesson001/video.mp4: No last-modified or etag header found

ERROR: http://localhost:44085/resources/grade1/lesson001/lesson001.json Link to http://localhost:44085/resources/grade1/lesson001/script.js: No last-modified or etag header found

DEBUG: http://localhost:44085/resources/grade1/lesson001/lesson001.json Skipping link as it has already been visited: http://localhost:44085/resources/grade1/lesson001/lesson001.json

ERROR: http://localhost:44085/resources/grade1/lesson001/lesson001.json Link to http://localhost:44085/resources/grade1/lesson001/lesson001.html: No last-modified or etag header found

DEBUG: http://localhost:44085/resources/grade1/grade1.json Skipping link as it has already been visited: http://localhost:44085/resources/grade1/lesson001/lesson001.html

DEBUG: http://localhost:44085/resources/grade1/grade1.json Skipping link as it has already been visited: http://localhost:44085/resources/grade1/lesson001/lesson001.json

Test running on port 34305
WARN: http://localhost:34305/resources/index.json Navigation link to grade1/grade1.json SHOULD contain an icon

DEBUG: http://localhost:34305/resources/index.json Skipping link as it has already been visited: http://localhost:34305/resources/index.json

DEBUG: http://localhost:34305/resources/grade1/grade1.json Validating Opds Publication: title "Lesson 001" and identifier: http://example.app/id/lesson001

ERROR: http://localhost:34305/resources/grade1/grade1.json Link to http://localhost:34305/resources/grade1/cover-small.jpg: Response status code not HTTP OK/200. Got: 404

DEBUG: http://localhost:34305/resources/grade1/grade1.json Skipping link as it has already been visited: http://localhost:34305/resources/grade1/grade1.json

DEBUG: http://localhost:34305/resources/grade1/lesson001/lesson001.json Validating Opds Publication: title "Lesson 001" and identifier: https://example.app/id/lesson001

ERROR: http://localhost:34305/resources/grade1/lesson001/lesson001.json The manifest which is discovered using the
discovery process as per the Readium spec ( https://github.com/readium/webpub-manifest?tab=readme-ov-file#5-discovering-a-manifest )
MUST contain a list of all resources required.

DEBUG: http://localhost:34305/resources/grade1/lesson001/lesson001.json Skipping link as it has already been visited: http://localhost:34305/resources/grade1/lesson001/lesson001.json

DEBUG: http://localhost:34305/resources/grade1/grade1.json Skipping link as it has already been visited: http://localhost:34305/resources/grade1/lesson001/lesson001.html

DEBUG: http://localhost:34305/resources/grade1/grade1.json Skipping link as it has already been visited: http://localhost:34305/resources/grade1/lesson001/lesson001.json

Test running on port 43623
WARN: http://localhost:43623/resources/index.json Navigation link to grade1/grade1.json SHOULD contain an icon

DEBUG: http://localhost:43623/resources/index.json Skipping link as it has already been visited: http://localhost:43623/resources/index.json

DEBUG: http://localhost:43623/resources/grade1/grade1.json Validating Opds Publication: title "Lesson 001" and identifier: http://example.app/id/lesson001

ERROR: http://localhost:43623/resources/grade1/grade1.json Link to http://localhost:43623/resources/grade1/cover-small.jpg: Response status code not HTTP OK/200. Got: 404

DEBUG: http://localhost:43623/resources/grade1/grade1.json Skipping link as it has already been visited: http://localhost:43623/resources/grade1/grade1.json

DEBUG: http://localhost:43623/resources/grade1/lesson001/lesson001.json Validating Opds Publication: title "Lesson 001" and identifier: https://example.app/id/lesson001

ERROR: http://localhost:43623/resources/grade1/lesson001/lesson001.json Link to http://localhost:43623/resources/grade1/lesson001/cover.png: Response status code not HTTP OK/200. Got: 404

ERROR: http://localhost:43623/resources/grade1/lesson001/lesson001.json Link to http://localhost:43623/resources/grade1/lesson001/audio.ogg: Response status code not HTTP OK/200. Got: 404

ERROR: http://localhost:43623/resources/grade1/lesson001/lesson001.json Link to http://localhost:43623/resources/grade1/lesson001/video.mp4: Response status code not HTTP OK/200. Got: 404

ERROR: http://localhost:43623/resources/grade1/lesson001/lesson001.json Link to http://localhost:43623/resources/grade1/lesson001/script.js: Response status code not HTTP OK/200. Got: 404

DEBUG: http://localhost:43623/resources/grade1/lesson001/lesson001.json Skipping link as it has already been visited: http://localhost:43623/resources/grade1/lesson001/lesson001.json

DEBUG: http://localhost:43623/resources/grade1/grade1.json Skipping link as it has already been visited: http://localhost:43623/resources/grade1/lesson001/lesson001.html

DEBUG: http://localhost:43623/resources/grade1/grade1.json Skipping link as it has already been visited: http://localhost:43623/resources/grade1/lesson001/lesson001.json

Test running on port 37337
WARN: http://localhost:37337/resources/index.json Navigation link to grade1/grade1.json SHOULD contain an icon

DEBUG: http://localhost:37337/resources/index.json Skipping link as it has already been visited: http://localhost:37337/resources/index.json

DEBUG: http://localhost:37337/resources/grade1/grade1.json Validating Opds Publication: title "Lesson 001" and identifier: http://example.app/id/lesson001

ERROR: http://localhost:37337/resources/grade1/grade1.json Link to http://localhost:37337/resources/grade1/cover-small.jpg: Response status code not HTTP OK/200. Got: 404

ERROR: http://localhost:37337/resources/grade1/grade1.json Manifest not discovered for learning resource ID URL: http://localhost:37337/resources/grade1/lesson001/lesson001.html .Readium publication manifest must be discoverable using a linktag in HTML or Link header for the learning resource ID URL as per https://github.com/readium/webpub-manifest?tab=readme-ov-file#5-discovering-a-manifest

DEBUG: http://localhost:37337/resources/grade1/grade1.json Skipping link as it has already been visited: http://localhost:37337/resources/grade1/grade1.json

DEBUG: http://localhost:37337/resources/grade1/lesson001/lesson001.json Validating Opds Publication: title "Lesson 001" and identifier: https://example.app/id/lesson001

ERROR: http://localhost:37337/resources/grade1/lesson001/lesson001.json Manifest not discovered for learning resource ID URL: http://localhost:37337/resources/grade1/lesson001/lesson001.html .Readium publication manifest must be discoverable using a linktag in HTML or Link header for the learning resource ID URL as per https://github.com/readium/webpub-manifest?tab=readme-ov-file#5-discovering-a-manifest

DEBUG: http://localhost:37337/resources/grade1/lesson001/lesson001.json Skipping link as it has already been visited: http://localhost:37337/resources/grade1/lesson001/lesson001.json

DEBUG: http://localhost:37337/resources/grade1/grade1.json Skipping link as it has already been visited: http://localhost:37337/resources/grade1/lesson001/lesson001.html

]]></system-out>
  <system-err><![CDATA[SLF4J(W): No SLF4J providers were found.
SLF4J(W): Defaulting to no-operation (NOP) logger implementation
SLF4J(W): See https://www.slf4j.org/codes.html#noProviders for further details.
]]></system-err>
</testsuite>
