Class world.respect.domain.validator.TestValidationScenarios

5

tests

0

failures

0

ignored

17.000s

duration

100%

successful

Tests

Test Method name Duration Result
givenCacheValidationHeadersNotProvided_whenValidated_thenWillReturnErrors[jvm] givenCacheValidationHeadersNotProvided_whenValidated_thenWillReturnErrors 2.378s passed
givenManifestDoesNotListResources_whenValidated_thenWillReturnError[jvm] givenManifestDoesNotListResources_whenValidated_thenWillReturnError 2.508s passed
givenManifestNotDiscoverable_whenValidated_thenWillReturnError[jvm] givenManifestNotDiscoverable_whenValidated_thenWillReturnError 2.342s passed
givenManifestResourcesDoNotExist_whenValidated_thenWillReturnErrors[jvm] givenManifestResourcesDoNotExist_whenValidated_thenWillReturnErrors 2.587s passed
givenValidManifest_whenValidated_thenWillReturnNoErrors[jvm] givenValidManifest_whenValidated_thenWillReturnNoErrors 7.185s passed

Standard output

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ERROR: http://localhost:41951/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:41951/resources/grade1/lesson001/lesson001.json Skipping link as it has already been visited: http://localhost:41951/resources/grade1/lesson001/lesson001.json

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ERROR: http://localhost:41405/resources/grade1/grade1.json Manifest not discovered for learning resource ID URL: http://localhost:41405/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:41405/resources/grade1/grade1.json Skipping link as it has already been visited: http://localhost:41405/resources/grade1/grade1.json

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

ERROR: http://localhost:41405/resources/grade1/lesson001/lesson001.json Manifest not discovered for learning resource ID URL: http://localhost:41405/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:41405/resources/grade1/lesson001/lesson001.json Skipping link as it has already been visited: http://localhost:41405/resources/grade1/lesson001/lesson001.json

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

Standard error

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.
Aug 19, 2025 12:10:25 AM io.netty.util.concurrent.AbstractEventExecutor safeExecute
WARNING: A task raised an exception. Task: io.netty.channel.AbstractChannel$AbstractUnsafe$8@5008ec9f
java.util.concurrent.RejectedExecutionException: event executor terminated
	at io.netty.util.concurrent.SingleThreadEventExecutor.reject(SingleThreadEventExecutor.java:1005)
	at io.netty.util.concurrent.SingleThreadEventExecutor.offerTask(SingleThreadEventExecutor.java:388)
	at io.netty.util.concurrent.SingleThreadEventExecutor.addTask(SingleThreadEventExecutor.java:381)
	at io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:907)
	at io.netty.util.concurrent.SingleThreadEventExecutor.execute0(SingleThreadEventExecutor.java:873)
	at io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:863)
	at io.netty.channel.DefaultChannelPipeline.destroyUp(DefaultChannelPipeline.java:816)
	at io.netty.channel.DefaultChannelPipeline.destroy(DefaultChannelPipeline.java:801)
	at io.netty.channel.DefaultChannelPipeline.access$700(DefaultChannelPipeline.java:45)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelUnregistered(DefaultChannelPipeline.java:1411)
	at io.netty.channel.DefaultChannelPipeline.fireChannelUnregistered(DefaultChannelPipeline.java:780)
	at io.netty.channel.AbstractChannel$AbstractUnsafe$8.run(AbstractChannel.java:692)
	at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:148)
	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:141)
	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:507)
	at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:182)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1073)
	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.base/java.lang.Thread.run(Thread.java:840)