Build Logs

playframework/play-silhouette • 3.8.0-RC2:2025-11-28

Errors

723

Warnings

26

Total Lines

2591

1##################################
2Clonning https://github.com/playframework/play-silhouette.git into /build/repo using revision 11.0.0-M4
3##################################
4Note: switching to 'ea6a9a61614b2676d54ef2fdc0c3415c218b5902'.
5
6You are in 'detached HEAD' state. You can look around, make experimental
7changes and commit them, and you can discard any commits you make in this
8state without impacting any branches by switching back to a branch.
9
10If you want to create a new branch to retain commits you create, you may
11do so (now or later) by using -c with the switch command. Example:
12
13 git switch -c <new-branch-name>
14
15Or undo this operation with:
16
17 git switch -
18
19Turn off this advice by setting config variable advice.detachedHead to false
20
21Would override fixed Scala version: 3.3.7
22Using target Scala version for migration: 3.7.4
23Migrating project for -source:3.4 using Scala 3.7.4
24----
25Preparing build for 3.7.4
26Would try to apply common scalacOption (best-effort, sbt/mill only):
27Append: -rewrite,REQUIRE:-source:3.4-migration
28Remove: -indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
29
30Try apply source patch:
31Path: build.sbt
32Pattern: val scala3: String = "3.3.7"
33Replacement: val scala3: String = "3.7.4"
34Starting compilation server
35Compiling project (Scala 3.7.3, JVM (17))
36Compiled project (Scala 3.7.3, JVM (17))
37Successfully applied pattern 'val scala3: String = "3.3.7"' in build.sbt
38----
39Starting build for 3.7.4
40Execute tests: false
41sbt project found:
42No prepare script found for project playframework/play-silhouette
43##################################
44Scala version: 3.7.4
45Targets: org.playframework.silhouette%play-silhouette org.playframework.silhouette%play-silhouette-cas org.playframework.silhouette%play-silhouette-crypto-jca org.playframework.silhouette%play-silhouette-password-argon2 org.playframework.silhouette%play-silhouette-password-bcrypt org.playframework.silhouette%play-silhouette-persistence org.playframework.silhouette%play-silhouette-testkit org.playframework.silhouette%play-silhouette-totp
46Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","migrationVersions":["3.4"],"sourcePatches":[{"path":"build.sbt","pattern":"val scala3: String = \"3.3.7\"","replaceWith":"val scala3: String = \"<SCALA_VERSION>\""}]}
47##################################
48Using extra scalacOptions: -rewrite,REQUIRE:-source:3.4-migration
49Filtering out scalacOptions: -indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
50[sbt_options] declare -a sbt_options=()
51[process_args] java_version = '17'
52[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8/rt.jar'
53# Executing command line:
54java
55-Dfile.encoding=UTF-8
56-Dcommunitybuild.scala=3.7.4
57-Dcommunitybuild.project.dependencies.add=
58-Xmx7G
59-Xms4G
60-Xss8M
61-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
62-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8
63-jar
64/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
65"setCrossScalaVersions 3.7.4"
66"++3.7.4 -v"
67"mapScalacOptions "-rewrite,REQUIRE:-source:3.4-migration,-Wconf:msg=can be rewritten automatically under:s" "-indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
68"set every credentials := Nil"
69"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
70"removeScalacOptionsStartingWith -P:wartremover"
71
72moduleMappings
73"runBuild 3.7.4 """{"projects":{"exclude":[],"overrides":{}},"java":{},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","migrationVersions":["3.4"],"sourcePatches":[{"path":"build.sbt","pattern":"val scala3: String = \"3.3.7\"","replaceWith":"val scala3: String = \"<SCALA_VERSION>\""}]}""" org.playframework.silhouette%play-silhouette org.playframework.silhouette%play-silhouette-cas org.playframework.silhouette%play-silhouette-crypto-jca org.playframework.silhouette%play-silhouette-password-argon2 org.playframework.silhouette%play-silhouette-password-bcrypt org.playframework.silhouette%play-silhouette-persistence org.playframework.silhouette%play-silhouette-testkit org.playframework.silhouette%play-silhouette-totp"
74
75[info] [launcher] getting org.scala-sbt sbt 1.11.7 (this may take some time)...
76[info] welcome to sbt 1.11.7 (Eclipse Adoptium Java 17.0.8)
77[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
78[info] loading project definition from /build/repo/project
79[info] compiling 3 Scala sources to /build/repo/project/target/scala-2.12/sbt-1.0/classes ...
80[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.20. Compiling...
81[info] Compilation completed in 8.924s.
82[info] done compiling
83[info] loading settings for project root from build.sbt...
84[info] resolving key references (10036 settings) ...
85[info] set current project to root (in build file:/build/repo/)
86[warn] there are 3 keys that are not used by any other settings/tasks:
87[warn]
88[warn] * Global / evictionErrorLevel
89[warn] +- /build/repo/build.sbt:7
90[warn] * ThisBuild / Test / scalacOptions
91[warn] +- /build/repo/build.sbt:52
92[warn] * ThisBuild / crossVersion
93[warn] +- /build/repo/build.sbt:57
94[warn]
95[warn] note: a setting might still be used by a command; to exclude a key from this `lintUnused` check
96[warn] either append it to `Global / excludeLintKeys` or call .withRank(KeyRanks.Invisible) on the key
97Execute setCrossScalaVersions: 3.7.4
98OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in silhouette/crossScalaVersions
99OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in silhouetteCryptoJca/crossScalaVersions
100OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in silhouettePersistence/crossScalaVersions
101OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in silhouetteTotp/crossScalaVersions
102OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in silhouetteBcrypt/crossScalaVersions
103OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in silhouetteCas/crossScalaVersions
104OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in root/crossScalaVersions
105OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in silhouetteArgon2/crossScalaVersions
106OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in silhouetteTestkit/crossScalaVersions
107[info] set current project to root (in build file:/build/repo/)
108[info] Setting Scala version to 3.7.4 on 9 projects.
109[info] Switching Scala version on:
110[info] silhouetteCryptoJca (2.13.17, 3.7.4)
111[info] silhouetteCas (2.13.17, 3.7.4)
112[info] * root (2.13.17, 3.7.4)
113[info] silhouettePersistence (2.13.17, 3.7.4)
114[info] silhouette (2.13.17, 3.7.4)
115[info] silhouetteArgon2 (2.13.17, 3.7.4)
116[info] silhouetteBcrypt (2.13.17, 3.7.4)
117[info] silhouetteTotp (2.13.17, 3.7.4)
118[info] silhouetteTestkit (2.13.17, 3.7.4)
119[info] Excluding projects:
120[info] Reapplying settings...
121[info] set current project to root (in build file:/build/repo/)
122Execute mapScalacOptions: -rewrite,REQUIRE:-source:3.4-migration,-Wconf:msg=can be rewritten automatically under:s -indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
123[info] Reapplying settings...
124[info] set current project to root (in build file:/build/repo/)
125[info] Defining Global / credentials, credentials and 7 others.
126[info] The new values will be used by Global / pgpSelectPassphrase, Global / pgpSigningKey and 44 others.
127[info] Run `last` for details.
128[info] Reapplying settings...
129[info] set current project to root (in build file:/build/repo/)
130Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
131[info] Reapplying settings...
132OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
133
134 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
135 Did you mean allExcludeDependencies ?
136 , retry without global scopes
137[info] Reapplying settings...
138[info] set current project to root (in build file:/build/repo/)
139Execute removeScalacOptionsStartingWith: -P:wartremover
140[info] Reapplying settings...
141[info] set current project to root (in build file:/build/repo/)
142[success] Total time: 0 s, completed Nov 28, 2025, 12:23:25 PM
143Build config: {"projects":{"exclude":[],"overrides":{}},"java":{},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","migrationVersions":["3.4"],"sourcePatches":[{"path":"build.sbt","pattern":"val scala3: String = \"3.3.7\"","replaceWith":"val scala3: String = \"<SCALA_VERSION>\""}]}
144Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),CompileOnly,List()))
145Starting build...
146Projects: Set(silhouetteCryptoJca, silhouetteCas, silhouettePersistence, silhouette, silhouetteArgon2, silhouetteBcrypt, silhouetteTotp, silhouetteTestkit)
147Starting build for ProjectRef(file:/build/repo/,silhouetteTestkit) (play-silhouette-testkit)... [0/8]
148OpenCB::Exclude Scala3 specific scalacOption `-rewrite` in Scala 2.12.20 module Global
149OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.4-migration` in Scala 2.12.20 module Global
150OpenCB::Exclude Scala3 specific scalacOption `-rewrite` in Scala 2.13.17 module Scope(Select(BuildRef(file:/build/repo/)), Zero, Zero, Zero)
151OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.4-migration` in Scala 2.13.17 module Scope(Select(BuildRef(file:/build/repo/)), Zero, Zero, Zero)
152OpenCB::Filter out '-feature', matches setting pattern '^-?-feature'
153OpenCB::Filter out '-Xfatal-warnings', matches setting pattern '^-?-Xfatal-warnings'
154OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
155Compile scalacOptions: -unchecked, -encoding, utf8, -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.4-migration
156[info] compiling 107 Scala sources to /build/repo/silhouette/target/scala-3.7.4/classes ...
157[info] [patched file /build/repo/silhouette/app/play/silhouette/impl/authenticators/JWTAuthenticator.scala]
158[info] [patched file /build/repo/silhouette/app/play/silhouette/impl/providers/OAuth2Provider.scala]
159[info] [patched file /build/repo/silhouette/app/play/silhouette/impl/authenticators/BearerTokenAuthenticator.scala]
160[info] [patched file /build/repo/silhouette/app/play/silhouette/impl/authenticators/SessionAuthenticator.scala]
161[info] done compiling
162[info] compiling 2 Scala sources to /build/repo/silhouette-testkit/target/scala-3.7.4/classes ...
163[info] [patched file /build/repo/silhouette-testkit/app-3/play/silhouette/test/Fakes.scala]
164[info] done compiling
165[info] compiling 4 Scala sources to /build/repo/silhouette/target/scala-3.7.4/classes ...
166[info] done compiling
167[info] compiling 10 Scala sources to /build/repo/silhouette/target/scala-3.7.4/classes ...
168[info] done compiling
169[info] compiling 1 Scala source to /build/repo/silhouette-testkit/target/scala-3.7.4/classes ...
170[info] done compiling
171[info] compiling 1 Scala source to /build/repo/silhouette-testkit/target/scala-3.7.4/test-classes ...
172[info] done compiling
173Starting build for ProjectRef(file:/build/repo/,silhouette) (play-silhouette)... [1/8]
174Compile scalacOptions: -unchecked, -encoding, utf8, -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.4-migration
175[info] compiling 53 Scala sources to /build/repo/silhouette/target/scala-3.7.4/test-classes ...
176[info] [patched file /build/repo/silhouette/test/play/silhouette/impl/providers/oauth2/GoogleProviderSpec.scala]
177[info] [patched file /build/repo/silhouette/test/play/silhouette/impl/providers/oauth2/InstagramProviderSpec.scala]
178[info] [patched file /build/repo/silhouette/test/play/silhouette/impl/providers/custom/FacebookProviderSpec.scala]
179[info] [patched file /build/repo/silhouette/test/play/silhouette/impl/providers/oauth2/Auth0ProviderSpec.scala]
180[info] [patched file /build/repo/silhouette/test/play/silhouette/impl/providers/oauth2/FacebookProviderSpec.scala]
181[info] [patched file /build/repo/silhouette/test/play/silhouette/impl/providers/oauth2/GitLabProviderSpec.scala]
182[info] [patched file /build/repo/silhouette/test/play/silhouette/impl/providers/oauth2/DropboxProviderSpec.scala]
183[info] [patched file /build/repo/silhouette/test/play/silhouette/impl/providers/oauth2/FoursquareProviderSpec.scala]
184[info] [patched file /build/repo/silhouette/test/play/silhouette/impl/providers/OAuth2ProviderSpec.scala]
185[info] [patched file /build/repo/silhouette/test/play/silhouette/impl/providers/oauth2/LinkedInProviderSpec.scala]
186[info] [patched file /build/repo/silhouette/test/play/silhouette/impl/providers/oauth2/VKProviderSpec.scala]
187[info] [patched file /build/repo/silhouette/test/play/silhouette/impl/providers/oauth2/GitHubProviderSpec.scala]
188[info] done compiling
189[info] compiling 12 Scala sources to /build/repo/silhouette/target/scala-3.7.4/test-classes ...
190[info] done compiling
191Starting build for ProjectRef(file:/build/repo/,silhouettePersistence) (play-silhouette-persistence)... [2/8]
192Compile scalacOptions: -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.4-migration
193[info] compiling 7 Scala sources to /build/repo/silhouette-persistence/target/scala-3.7.4/classes ...
194[info] done compiling
195[info] compiling 4 Scala sources to /build/repo/silhouette-persistence/target/scala-3.7.4/test-classes ...
196[info] done compiling
197Starting build for ProjectRef(file:/build/repo/,silhouetteArgon2) (play-silhouette-password-argon2)... [3/8]
198Compile scalacOptions: -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.4-migration
199[info] compiling 1 Scala source to /build/repo/silhouette-password-argon2/target/scala-3.7.4/classes ...
200[info] done compiling
201[info] compiling 1 Scala source to /build/repo/silhouette-password-argon2/target/scala-3.7.4/test-classes ...
202[info] done compiling
203Starting build for ProjectRef(file:/build/repo/,silhouetteCas) (play-silhouette-cas)... [4/8]
204Compile scalacOptions: -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.4-migration
205[info] compiling 2 Scala sources to /build/repo/silhouette-cas/target/scala-3.7.4/classes ...
206[info] done compiling
207[info] compiling 1 Scala source to /build/repo/silhouette-cas/target/scala-3.7.4/test-classes ...
208[info] done compiling
209Starting build for ProjectRef(file:/build/repo/,silhouetteTotp) (play-silhouette-totp)... [5/8]
210Compile scalacOptions: -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.4-migration
211[info] compiling 1 Scala source to /build/repo/silhouette-totp/target/scala-3.7.4/classes ...
212[info] done compiling
213[info] compiling 1 Scala source to /build/repo/silhouette-totp/target/scala-3.7.4/test-classes ...
214[info] done compiling
215Starting build for ProjectRef(file:/build/repo/,silhouetteBcrypt) (play-silhouette-password-bcrypt)... [6/8]
216Compile scalacOptions: -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.4-migration
217[info] compiling 2 Scala sources to /build/repo/silhouette-password-bcrypt/target/scala-3.7.4/classes ...
218[info] done compiling
219[info] compiling 2 Scala sources to /build/repo/silhouette-password-bcrypt/target/scala-3.7.4/test-classes ...
220[info] done compiling
221Starting build for ProjectRef(file:/build/repo/,silhouetteCryptoJca) (play-silhouette-crypto-jca)... [7/8]
222Compile scalacOptions: -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.4-migration
223[info] compiling 2 Scala sources to /build/repo/silhouette-crypto-jca/target/scala-3.7.4/classes ...
224[info] done compiling
225[info] compiling 2 Scala sources to /build/repo/silhouette-crypto-jca/target/scala-3.7.4/test-classes ...
226[info] done compiling
227
228************************
229Build summary:
230[{
231 "module": "play-silhouette-testkit",
232 "compile": {"status": "ok", "tookMs": 17918, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
233 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
234 "test-compile": {"status": "ok", "tookMs": 7530, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
235 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
236 "publish": {"status": "skipped", "tookMs": 0},
237 "metadata": {
238 "crossScalaVersions": ["2.13.17", "3.3.7"]
239}
240},{
241 "module": "play-silhouette",
242 "compile": {"status": "ok", "tookMs": 62, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
243 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
244 "test-compile": {"status": "ok", "tookMs": 20183, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
245 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
246 "publish": {"status": "skipped", "tookMs": 0},
247 "metadata": {
248 "crossScalaVersions": ["2.13.17", "3.3.7"]
249}
250},{
251 "module": "play-silhouette-persistence",
252 "compile": {"status": "ok", "tookMs": 472, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
253 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
254 "test-compile": {"status": "ok", "tookMs": 1184, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
255 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
256 "publish": {"status": "skipped", "tookMs": 0},
257 "metadata": {
258 "crossScalaVersions": ["2.13.17", "3.3.7"]
259}
260},{
261 "module": "play-silhouette-password-argon2",
262 "compile": {"status": "ok", "tookMs": 358, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
263 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
264 "test-compile": {"status": "ok", "tookMs": 825, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
265 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
266 "publish": {"status": "skipped", "tookMs": 0},
267 "metadata": {
268 "crossScalaVersions": ["2.13.17", "3.3.7"]
269}
270},{
271 "module": "play-silhouette-cas",
272 "compile": {"status": "ok", "tookMs": 550, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
273 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
274 "test-compile": {"status": "ok", "tookMs": 1246, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
275 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
276 "publish": {"status": "skipped", "tookMs": 0},
277 "metadata": {
278 "crossScalaVersions": ["2.13.17", "3.3.7"]
279}
280},{
281 "module": "play-silhouette-totp",
282 "compile": {"status": "ok", "tookMs": 426, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
283 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
284 "test-compile": {"status": "ok", "tookMs": 1384, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
285 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
286 "publish": {"status": "skipped", "tookMs": 0},
287 "metadata": {
288 "crossScalaVersions": ["2.13.17", "3.3.7"]
289}
290},{
291 "module": "play-silhouette-password-bcrypt",
292 "compile": {"status": "ok", "tookMs": 339, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
293 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
294 "test-compile": {"status": "ok", "tookMs": 899, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
295 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
296 "publish": {"status": "skipped", "tookMs": 0},
297 "metadata": {
298 "crossScalaVersions": ["2.13.17", "3.3.7"]
299}
300},{
301 "module": "play-silhouette-crypto-jca",
302 "compile": {"status": "ok", "tookMs": 407, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
303 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
304 "test-compile": {"status": "ok", "tookMs": 665, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
305 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
306 "publish": {"status": "skipped", "tookMs": 0},
307 "metadata": {
308 "crossScalaVersions": ["2.13.17", "3.3.7"]
309}
310}]
311************************
312[success] Total time: 158 s (0:02:38.0), completed Nov 28, 2025, 12:26:04 PM
313[0JChecking patch project/plugins.sbt...
314Checking patch build.sbt...
315Applied patch project/plugins.sbt cleanly.
316Applied patch build.sbt cleanly.
317Commit migration rewrites
318Switched to a new branch 'opencb/migrate-source-3.4'
319[opencb/migrate-source-3.4 c5337b76] Apply Scala compiler rewrites using -source:3.4-migration using Scala 3.7.4
320 17 files changed, 50 insertions(+), 50 deletions(-)
321----
322Preparing build for 3.8.0-RC2
323Scala binary version found: 3.8
324Implicitly using source version 3.8
325Scala binary version found: 3.8
326Implicitly using source version 3.8
327Would try to apply common scalacOption (best-effort, sbt/mill only):
328Append: ,REQUIRE:-source:3.8
329Remove: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
330
331Try apply source patch:
332Path: build.sbt
333Pattern: val scala3: String = "3.3.7"
334Replacement: val scala3: String = "3.8.0-RC2"
335Successfully applied pattern 'val scala3: String = "3.3.7"' in build.sbt
336----
337Starting build for 3.8.0-RC2
338Execute tests: true
339sbt project found:
340No prepare script found for project playframework/play-silhouette
341##################################
342Scala version: 3.8.0-RC2
343Targets: org.playframework.silhouette%play-silhouette org.playframework.silhouette%play-silhouette-cas org.playframework.silhouette%play-silhouette-crypto-jca org.playframework.silhouette%play-silhouette-password-argon2 org.playframework.silhouette%play-silhouette-password-bcrypt org.playframework.silhouette%play-silhouette-persistence org.playframework.silhouette%play-silhouette-testkit org.playframework.silhouette%play-silhouette-totp
344Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":["3.4"],"sourcePatches":[{"path":"build.sbt","pattern":"val scala3: String = \"3.3.7\"","replaceWith":"val scala3: String = \"<SCALA_VERSION>\""}]}
345##################################
346Using extra scalacOptions: ,REQUIRE:-source:3.8
347Filtering out scalacOptions: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
348[sbt_options] declare -a sbt_options=()
349[process_args] java_version = '17'
350[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8/rt.jar'
351# Executing command line:
352java
353-Dfile.encoding=UTF-8
354-Dcommunitybuild.scala=3.8.0-RC2
355-Dcommunitybuild.project.dependencies.add=
356-Xmx7G
357-Xms4G
358-Xss8M
359-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
360-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8
361-jar
362/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
363"setCrossScalaVersions 3.8.0-RC2"
364"++3.8.0-RC2 -v"
365"mapScalacOptions ",REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s" ",-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
366"set every credentials := Nil"
367"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
368"removeScalacOptionsStartingWith -P:wartremover"
369
370moduleMappings
371"runBuild 3.8.0-RC2 """{"projects":{"exclude":[],"overrides":{}},"java":{},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":["3.4"],"sourcePatches":[{"path":"build.sbt","pattern":"val scala3: String = \"3.3.7\"","replaceWith":"val scala3: String = \"<SCALA_VERSION>\""}]}""" org.playframework.silhouette%play-silhouette org.playframework.silhouette%play-silhouette-cas org.playframework.silhouette%play-silhouette-crypto-jca org.playframework.silhouette%play-silhouette-password-argon2 org.playframework.silhouette%play-silhouette-password-bcrypt org.playframework.silhouette%play-silhouette-persistence org.playframework.silhouette%play-silhouette-testkit org.playframework.silhouette%play-silhouette-totp"
372
373[info] welcome to sbt 1.11.7 (Eclipse Adoptium Java 17.0.8)
374[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
375[info] loading project definition from /build/repo/project
376[info] loading settings for project root from build.sbt...
377[info] resolving key references (10036 settings) ...
378[info] set current project to root (in build file:/build/repo/)
379[warn] there are 3 keys that are not used by any other settings/tasks:
380[warn]
381[warn] * Global / evictionErrorLevel
382[warn] +- /build/repo/build.sbt:7
383[warn] * ThisBuild / Test / scalacOptions
384[warn] +- /build/repo/build.sbt:52
385[warn] * ThisBuild / crossVersion
386[warn] +- /build/repo/build.sbt:57
387[warn]
388[warn] note: a setting might still be used by a command; to exclude a key from this `lintUnused` check
389[warn] either append it to `Global / excludeLintKeys` or call .withRank(KeyRanks.Invisible) on the key
390Execute setCrossScalaVersions: 3.8.0-RC2
391OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in silhouette/crossScalaVersions
392OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in silhouetteCryptoJca/crossScalaVersions
393OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in silhouettePersistence/crossScalaVersions
394OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in silhouetteTotp/crossScalaVersions
395OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in silhouetteBcrypt/crossScalaVersions
396OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in silhouetteCas/crossScalaVersions
397OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in root/crossScalaVersions
398OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in silhouetteArgon2/crossScalaVersions
399OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in silhouetteTestkit/crossScalaVersions
400[info] set current project to root (in build file:/build/repo/)
401[info] Setting Scala version to 3.8.0-RC2 on 9 projects.
402[info] Switching Scala version on:
403[info] silhouetteCryptoJca (2.13.17, 3.8.0-RC2)
404[info] silhouetteCas (2.13.17, 3.8.0-RC2)
405[info] * root (2.13.17, 3.8.0-RC2)
406[info] silhouettePersistence (2.13.17, 3.8.0-RC2)
407[info] silhouette (2.13.17, 3.8.0-RC2)
408[info] silhouetteArgon2 (2.13.17, 3.8.0-RC2)
409[info] silhouetteBcrypt (2.13.17, 3.8.0-RC2)
410[info] silhouetteTotp (2.13.17, 3.8.0-RC2)
411[info] silhouetteTestkit (2.13.17, 3.8.0-RC2)
412[info] Excluding projects:
413[info] Reapplying settings...
414[info] set current project to root (in build file:/build/repo/)
415Execute mapScalacOptions: ,REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
416[info] Reapplying settings...
417[info] set current project to root (in build file:/build/repo/)
418[info] Defining Global / credentials, credentials and 7 others.
419[info] The new values will be used by Global / pgpSelectPassphrase, Global / pgpSigningKey and 44 others.
420[info] Run `last` for details.
421[info] Reapplying settings...
422[info] set current project to root (in build file:/build/repo/)
423Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
424[info] Reapplying settings...
425OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
426
427 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
428 Did you mean allExcludeDependencies ?
429 , retry without global scopes
430[info] Reapplying settings...
431[info] set current project to root (in build file:/build/repo/)
432Execute removeScalacOptionsStartingWith: -P:wartremover
433[info] Reapplying settings...
434[info] set current project to root (in build file:/build/repo/)
435[success] Total time: 0 s, completed Nov 28, 2025, 12:26:28 PM
436Build config: {"projects":{"exclude":[],"overrides":{}},"java":{},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":["3.4"],"sourcePatches":[{"path":"build.sbt","pattern":"val scala3: String = \"3.3.7\"","replaceWith":"val scala3: String = \"<SCALA_VERSION>\""}]}
437Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),Full,List()))
438Starting build...
439Projects: Set(silhouetteCryptoJca, silhouetteCas, silhouettePersistence, silhouette, silhouetteArgon2, silhouetteBcrypt, silhouetteTotp, silhouetteTestkit)
440Starting build for ProjectRef(file:/build/repo/,silhouetteTestkit) (play-silhouette-testkit)... [0/8]
441OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.12.20 module Global
442OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.13.17 module Scope(Select(BuildRef(file:/build/repo/)), Zero, Zero, Zero)
443OpenCB::Filter out '-feature', matches setting pattern '^-?-feature'
444OpenCB::Filter out '-Xfatal-warnings', matches setting pattern '^-?-Xfatal-warnings'
445OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
446Compile scalacOptions: -unchecked, -encoding, utf8, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
447[info] compiling 107 Scala sources to /build/repo/silhouette/target/scala-3.8.0-RC2/classes ...
448[info] done compiling
449[info] compiling 2 Scala sources to /build/repo/silhouette-testkit/target/scala-3.8.0-RC2/classes ...
450[info] done compiling
451[info] compiling 1 Scala source to /build/repo/silhouette-testkit/target/scala-3.8.0-RC2/test-classes ...
452[info] done compiling
453[info] FakesSpec
454[info] The `retrieve` method of the `FakeIdentityService` should
455[info] + return the identity for the given login info
456[info] + return None if no identity could be found for the given login info
457[info] The `find` method of the `FakeAuthenticatorRepository` should
458[info] + return an authenticator for the given ID
459[info] + return None if no authenticator could be found for the given ID
460[info] The `add` method of the `FakeAuthenticatorRepository` should
461[info] + add an authenticator
462[info] The `update` method of the `FakeAuthenticatorRepository` should
463[info] + update an authenticator
464[info] The `remove` method of the `FakeAuthenticatorRepository` should
465[info] + remove an authenticator
466[info] The `FakeAuthenticatorService` factory should
467[info] + return a `SessionAuthenticatorService`
46812:27:03.971 [specs2-4] INFO play.api.http.HttpErrorHandlerExceptions -- Registering exception handler: guice-provision-exception-handler
469[info] + return a `CookieAuthenticatorService`
470[info] + return a `BearerTokenAuthenticatorService`
471[info] + return a `JWTAuthenticatorService`
472[info] + return a `DummyAuthenticatorService`
473[info] The `FakeAuthenticator` factory should
474INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
475[info] + return a `SessionAuthenticator`
476INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
477[info] + return a `CookieAuthenticator`
478INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
479[info] + return a `BearerTokenAuthenticator`
480INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
481[info] + return a `JWTAuthenticator`
482INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
483[info] + return a `DummyAuthenticator`
484[info] The `securedAction` method of the `SecuredController` should
485INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
486[info] + return a 401 status code if no authenticator was found
487INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
488[info] + return a 401 status code if authenticator but no identity was found
489INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
490[info] + return a 200 status code if authenticator and identity was found
491[info] The `userAwareAction` method of the `SecuredController` should
492INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
493[info] + return a 401 status code if no authenticator was found
494INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
495[info] + return a 401 status code if authenticator but no identity was found
496INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
497[info] + return a 200 status code if authenticator and identity was found
498[info] Total for specification FakesSpec
499[info] Finished in 3 seconds, 901 ms
500[info] 23 examples, 0 failure, 0 error
501Starting build for ProjectRef(file:/build/repo/,silhouette) (play-silhouette)... [1/8]
502Compile scalacOptions: -unchecked, -encoding, utf8, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
503[info] compiling 53 Scala sources to /build/repo/silhouette/target/scala-3.8.0-RC2/test-classes ...
504[info] done compiling
505[info] GravatarServiceSpec
506[info] The `retrieveURL` method should
507OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended
508[info] + return None if email is empty
50912:27:33.624 [scala-execution-context-global-25] INFO play.silhouette.impl.services.GravatarService -- [Silhouette] Gravatar API returns status code: 404
510[info] + return None if HTTP status code isn't 200
51112:27:33.668 [scala-execution-context-global-26] INFO play.silhouette.impl.services.GravatarService -- [Silhouette] Gravatar API returns status code: 404
512[info] + return None if HTTP status code isn't 200
51312:27:33.703 [scala-execution-context-global-25] INFO play.silhouette.impl.services.GravatarService -- [Silhouette] Error invoking gravatar
514java.lang.RuntimeException: Timeout error
515 at play.silhouette.impl.services.GravatarService.retrieveURL$$anonfun$1(GravatarService.scala:57)
516 at scala.concurrent.impl.Promise$Transformation.run(Promise.scala:503)
517 at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1395)
518 at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
519 at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
520 at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
521 at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)
522 at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)
523[info] + return None if exception will be thrown during API request
524[info] + return secure Avatar url
525[info] + return insecure Avatar url
526[info] + return an url with additional parameters
527[info] + not trim leading zeros
528[info] Total for specification GravatarServiceSpec
529[info] Finished in 1 second, 744 ms
530[info] 8 examples, 0 failure, 0 error
531[info] FacebookProviderSpec
532[info] The `authenticate` method should
53312:27:34.210 [specs2-2] INFO play.api.http.HttpErrorHandlerExceptions -- Registering exception handler: guice-provision-exception-handler
534[info] + fail with an AccessDeniedException if `error` key with value `access_denied` exists in query string
535INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
536[info] + fail with an UnexpectedResponseException if `error` key with unspecified value exists in query string
537INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
538[info] + fail with an ConfigurationException if authorization URL is undefined when it's needed
539INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
540[info] + redirect to authorization URL if authorization code doesn't exists in request
541INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
542[info] + resolves relative redirectURLs before starting the flow
543INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
544[info] + resolves path relative redirectURLs before starting the flow
545INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
546[info] + resolves relative redirectURLs before starting the flow over https
547INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
548[info] + verifying presence of redirect param in the access token post request
549INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
550[info] + verifying presence of redirect param in the access token post request over https
551INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
552[info] + verifying absence of redirect param in the access token post request
553INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
554[info] + verifying absence of redirect param in the access token post request over https
555INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
556[info] + not send state param if state is empty
557INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
558[info] + submit the proper params to the access token post request
559INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
560[info] + fail with UnexpectedResponseException if Json cannot be parsed from response
561[info] The `settings` method should
562[info] + return the settings instance
563[info] The `withSettings` method should
564INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
565[info] + create a new instance with customized settings
566[info] The `authenticate` method should
567INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
568[info] + fail with UnexpectedResponseException for an unexpected response
569INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
570[info] + fail with UnexpectedResponseException if OAuth2Info can be build because of an unexpected response
571INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
572[info] + return the auth info
573[info] The `authenticate` method with user state should
574INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
575[info] + return stateful auth info
576[info] The `retrieveProfile` method should
577INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
578[info] + fail with ProfileRetrievalException if API returns error
579INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
580[info] + fail with ProfileRetrievalException if an unexpected error occurred
581INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
582[info] + use the overridden API URL
583INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
584[info] + return the social profile
585[info] Total for specification FacebookProviderSpec
586[info] Finished in 5 seconds, 275 ms
587[info] 24 examples, 0 failure, 0 error
588[info] LinkedInProviderSpec
589[info] The `authenticate` method should
590INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
591[info] + fail with an AccessDeniedException if `error` key with value `access_denied` exists in query string
592INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
593[info] + fail with an UnexpectedResponseException if `error` key with unspecified value exists in query string
594INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
595[info] + fail with an ConfigurationException if authorization URL is undefined when it's needed
596INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
597[info] + redirect to authorization URL if authorization code doesn't exists in request
598INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
599[info] + resolves relative redirectURLs before starting the flow
600INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
601[info] + resolves path relative redirectURLs before starting the flow
602INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
603[info] + resolves relative redirectURLs before starting the flow over https
604INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
605[info] + verifying presence of redirect param in the access token post request
606INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
607[info] + verifying presence of redirect param in the access token post request over https
608INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
609[info] + verifying absence of redirect param in the access token post request
610INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
611[info] + verifying absence of redirect param in the access token post request over https
612INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
613[info] + not send state param if state is empty
614INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
615[info] + submit the proper params to the access token post request
616INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
617[info] + fail with UnexpectedResponseException if Json cannot be parsed from response
618[info] The `settings` method should
619[info] + return the settings instance
620[info] The `withSettings` method should
621INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
622[info] + create a new instance with customized settings
623[info] The `authenticate` method should
624INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
625[info] + fail with UnexpectedResponseException for an unexpected response
626INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
627[info] + fail with UnexpectedResponseException if OAuth2Info can be build because of an unexpected response
628INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
629[info] + return the auth info
630[info] The `authenticate` method with user state should
631INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
632[info] + return stateful auth info
633[info] The `retrieveProfile` method should
634INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
635[info] + fail with ProfileRetrievalException if API returns error
636INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
637[info] + fail with ProfileRetrievalException if an unexpected error occurred
638INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
639[info] + use the overridden API URL
640INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
641[info] + return the social profile
642[info] Total for specification LinkedInProviderSpec
643[info] Finished in 2 seconds, 323 ms
644[info] 24 examples, 0 failure, 0 error
645[info] PlayOpenIDServiceSpec
646[info] The `withSettings` method should
647INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
648[info] + create a new instance with customized settings
649[info] Total for specification PlayOpenIDServiceSpec
650[info] Finished in 139 ms
651[info] 1 example, 0 failure, 0 error
652[info] DummyAuthenticatorSpec
653[info] The `isValid` method of the authenticator should
654[info] + return true
655[info] The `create` method of the service should
656[info] + return an authenticator containing the given login info
657[info] The `retrieve` method of the service should
658[info] + return None
659[info] The `init` method of the service should
660[info] + return unit
661[info] The result `embed` method of the service should
662[info] + return the original response
663[info] The request `embed` method of the service should
664[info] + return the original request
665[info] The `touch` method of the service should
666INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
667[info] + not update the authenticator
668[info] The `update` method of the service should
669[info] + return the original result
670[info] The `renew` method of the service should
671[info] + return the original result
672[info] The `discard` method of the service should
673[info] + return the original result
674[info] Total for specification DummyAuthenticatorSpec
675[info] Finished in 292 ms
676[info] 10 examples, 0 failure, 0 error
677[info] UnsecuredActionSpec
678[info] The `UnsecuredAction` action should
679INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
680[info] + grant access if no valid authenticator can be retrieved
681INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
682[info] + grant access and discard authenticator if an invalid authenticator can be retrieved
683INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
684[info] + grant access and discard authenticator if no identity could be found for an authenticator
685INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
686[info] + display local not-authorized result if user is authenticated
687INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
688[info] + display global not-authorized result if user is authenticated
689[info] The `UnsecuredRequestHandler` should
690INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
691[info] + return status 403 if user is authenticated
692INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
693[info] + return the data if user is not authenticated
694[info] The `exceptionHandler` method of the UnsecuredErrorHandler should
695INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
696[info] + translate an ForbiddenException into a 403 Forbidden result
697[info] Total for specification UnsecuredActionSpec
698[info] Finished in 800 ms
699[info] 8 examples, 0 failure, 0 error
700[info] SteamProviderSpec
701[info] The authenticate method should
702INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
703[info] + fail with an UnexpectedResponseException if redirect URL couldn't be retrieved
704INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
705[info] + redirect to provider by using the provider URL
706INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
707[info] + redirect to provider by using a openID
708INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
709[info] + resolves relative callbackURLs before starting the flow
710INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
711[info] + resolves path relative callbackURLs before starting the flow
712INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
713[info] + resolves relative callbackURLs before starting the flow over https
714INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
715[info] + fail with an UnexpectedResponseException if auth info cannot be retrieved
716INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
717[info] + return the auth info
718[info] The `settings` method should
719[info] + return the settings instance
720[info] The `withSettings` method should
721INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
722[info] + create a new instance with customized settings
723[info] The `retrieveProfile` method should
724INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
725[info] + return the social profile
726[info] Total for specification SteamProviderSpec
727[info] Finished in 889 ms
728[info] 11 examples, 0 failure, 0 error
729[info] CredentialsProviderSpec
730[info] The `authenticate` method should
731INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
732[info] + throw IdentityNotFoundException if no auth info could be found for the given credentials
733INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
734[info] + throw InvalidPasswordException if password does not match
735INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
736[info] + throw ConfigurationException if unsupported hasher is stored
737INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
738[info] + return login info if passwords does match
739INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
740[info] + re-hash password with new hasher if hasher is deprecated
741INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
742[info] + re-hash password with new hasher if hasher is deprecated
743[info] Total for specification CredentialsProviderSpec
744[info] Finished in 443 ms
745[info] 6 examples, 0 failure, 0 error
746[info] JsonFormatsSpec
747[info] A implicit `FiniteDurationFormat` object should
748[info] + convert a FiniteDuration in seconds to Json
749[info] + convert a FiniteDuration in minutes to Json
750[info] + convert Json into a FiniteDuration in seconds
751[info] + convert Json into a FiniteDuration in minutes
752[info] Total for specification JsonFormatsSpec
753[info] Finished in 104 ms
754[info] 4 examples, 0 failure, 0 error
755[info] TwitterProviderSpec
756[info] The provider should
757INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
758[info] + throw a RuntimeException if the unsafe 1.0 specification should be used
759[info] The authenticate method should
760INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
761[info] + fail with an AccessDeniedException if denied key exists in query string
762INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
763[info] + fail with an UnexpectedResponseException if request token cannot be retrieved
764INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
765[info] + redirect to authorization URL if request token could be retrieved
766INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
767[info] + resolves relative redirectURLs before starting the flow
768INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
769[info] + resolves path relative redirectURLS before starting the flow
770INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
771[info] + resolves relative redirectURLs before starting the flow over https
772INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
773[info] + fail with an UnexpectedResponseException if access token cannot be retrieved
774INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
775[info] + return the auth info
776[info] The `settings` method should
777[info] + return the settings instance
778[info] The `withSettings` method should
779INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
780[info] + create a new instance with customized settings
781[info] The `retrieveProfile` method should
782INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
783[info] + fail with ProfileRetrievalException if API returns error
784INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
785[info] + fail with ProfileRetrievalException if an unexpected error occurred
786INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
787[info] + use the overridden API URL
788INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
789[info] + return the social profile
790INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
791[info] + return the social profile with email
792[info] Total for specification TwitterProviderSpec
793[info] Finished in 1 second, 230 ms
794[info] 16 examples, 0 failure, 0 error
795[info] VKProviderSpec
796[info] The `authenticate` method should
797INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
798[info] + fail with an AccessDeniedException if `error` key with value `access_denied` exists in query string
799INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
800[info] + fail with an UnexpectedResponseException if `error` key with unspecified value exists in query string
801INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
802[info] + fail with an ConfigurationException if authorization URL is undefined when it's needed
803INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
804[info] + redirect to authorization URL if authorization code doesn't exists in request
805INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
806[info] + resolves relative redirectURLs before starting the flow
807INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
808[info] + resolves path relative redirectURLs before starting the flow
809INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
810[info] + resolves relative redirectURLs before starting the flow over https
811INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
812[info] + verifying presence of redirect param in the access token post request
813INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
814[info] + verifying presence of redirect param in the access token post request over https
815INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
816[info] + verifying absence of redirect param in the access token post request
817INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
818[info] + verifying absence of redirect param in the access token post request over https
819INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
820[info] + not send state param if state is empty
821INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
822[info] + submit the proper params to the access token post request
823INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
824[info] + fail with UnexpectedResponseException if Json cannot be parsed from response
825[info] The `settings` method should
826[info] + return the settings instance
827[info] The `withSettings` method should
828INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
829[info] + create a new instance with customized settings
830[info] The `authenticate` method should
831INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
832[info] + fail with UnexpectedResponseException for an unexpected response
833INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
834[info] + fail with UnexpectedResponseException if OAuth2Info can be build because of an unexpected response
835INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
836[info] + return the auth info
837[info] The `authenticate` method with user state should
838INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
839[info] + return stateful auth info
840[info] The `retrieveProfile` method should
841INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
842[info] + fail with ProfileRetrievalException if API returns error
843INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
844[info] + fail with ProfileRetrievalException if an unexpected error occurred
845INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
846[info] + use the overridden API URL
847INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
848[info] + return the social profile with email
849INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
850[info] + return the social profile from response without photo
851INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
852[info] + return the social profile from deprecated API response
853INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
854[info] + return the social profile without email
855[info] Total for specification VKProviderSpec
856[info] Finished in 1 second, 829 ms
857[info] 27 examples, 0 failure, 0 error
858[info] YahooProviderSpec
859[info] The authenticate method should
860INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
861[info] + fail with an UnexpectedResponseException if redirect URL couldn't be retrieved
862INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
863[info] + redirect to provider by using the provider URL
864INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
865[info] + redirect to provider by using a openID
866INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
867[info] + resolves relative callbackURLs before starting the flow
868INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
869[info] + resolves path relative callbackURLs before starting the flow
870INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
871[info] + resolves relative callbackURLs before starting the flow over https
872INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
873[info] + fail with an UnexpectedResponseException if auth info cannot be retrieved
874INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
875[info] + return the auth info
876[info] The `settings` method should
877[info] + return the settings instance
878[info] The `withSettings` method should
879INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
880[info] + create a new instance with customized settings
881[info] The `retrieveProfile` method should
882INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
883[info] + return the social profile
884[info] Total for specification YahooProviderSpec
885[info] Finished in 612 ms
886[info] 11 examples, 0 failure, 0 error
887[info] InstagramProviderSpec
888[info] The `authenticate` method should
889INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
890[info] + fail with an AccessDeniedException if `error` key with value `access_denied` exists in query string
891INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
892[info] + fail with an UnexpectedResponseException if `error` key with unspecified value exists in query string
893INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
894[info] + fail with an ConfigurationException if authorization URL is undefined when it's needed
895INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
896[info] + redirect to authorization URL if authorization code doesn't exists in request
897INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
898[info] + resolves relative redirectURLs before starting the flow
899INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
900[info] + resolves path relative redirectURLs before starting the flow
901INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
902[info] + resolves relative redirectURLs before starting the flow over https
903INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
904[info] + verifying presence of redirect param in the access token post request
905INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
906[info] + verifying presence of redirect param in the access token post request over https
907INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
908[info] + verifying absence of redirect param in the access token post request
909INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
910[info] + verifying absence of redirect param in the access token post request over https
911INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
912[info] + not send state param if state is empty
913INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
914[info] + submit the proper params to the access token post request
915INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
916[info] + fail with UnexpectedResponseException if Json cannot be parsed from response
917[info] The `settings` method should
918[info] + return the settings instance
919[info] The `withSettings` method should
920INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
921[info] + create a new instance with customized settings
922[info] The `authenticate` method should
923INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
924[info] + fail with UnexpectedResponseException for an unexpected response
925INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
926[info] + fail with UnexpectedResponseException if OAuth2Info can be build because of an unexpected response
927INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
928[info] + return the auth info
929[info] The `authenticate` method with user state should
930INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
931[info] + return stateful auth info
932[info] The `retrieveProfile` method should
933INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
934[info] + fail with ProfileRetrievalException if API returns error
935INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
936[info] + fail with ProfileRetrievalException if an unexpected error occurred
937INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
938[info] + use the overridden API URL
939INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
940[info] + return the social profile
941[info] Total for specification InstagramProviderSpec
942[info] Finished in 1 second, 423 ms
943[info] 24 examples, 0 failure, 0 error
944[info] BearerTokenAuthenticatorSpec
945[info] The `isValid` method of the authenticator should
946[info] + return false if the authenticator is expired
947[info] + return false if the authenticator is timed out
948[info] + return true if the authenticator is valid
949[info] The `create` method of the service should
950[info] + return an authenticator with the generated ID
951[info] + return an authenticator with the current date as lastUsedDateTime
952[info] + return an authenticator which expires in 12 hours(default value)
953[info] + return an authenticator which expires in 6 hours
954[info] + throws an AuthenticatorCreationException exception if an error occurred during creation
955[info] The `retrieve` method of the service should
956[info] + return None if no authenticator header exists
957[info] + return None if no authenticator is stored for the token located in the headers
958[info] + return authenticator if an authenticator is stored for token located in the header
959[info] + return authenticator if an authenticator is stored for the token located in the query string
960[info] + throws an AuthenticatorRetrievalException exception if an error occurred during retrieval
961[info] The `init` method of the service should
962[info] + save the authenticator in backing store
963[info] + throws an AuthenticatorInitializationException exception if an error occurred during initialization
964[info] The result `embed` method of the service should
965[info] + return the response with a header
966[info] The request `embed` method of the service should
967[info] + return the request with a header
968[info] + override an existing header
969[info] + keep non authenticator related headers
970[info] + keep other request parts
971[info] The `touch` method of the service should
972INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
973[info] + update the last used date if idle timeout is defined
974INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
975[info] + do not update the last used date if idle timeout is not defined
976[info] The `update` method of the service should
977[info] + update the authenticator in backing store
978[info] + return the result if the authenticator could be stored in backing store
979[info] + throws an AuthenticatorUpdateException exception if an error occurred during update
980[info] The `renew` method of the service should
981[info] + remove the old authenticator from backing store
982[info] + renew the authenticator and return the response with a new bearer token
983[info] + throws an AuthenticatorRenewalException exception if an error occurred during renewal
984[info] The `discard` method of the service should
985[info] + remove authenticator from backing store
986[info] + throws an AuthenticatorDiscardingException exception if an error occurred during discarding
987[info] Total for specification BearerTokenAuthenticatorSpec
988[info] Finished in 751 ms
989[info] 30 examples, 0 failure, 0 error
990[info] PlayOAuth1ServiceSpec
991[info] The `withSettings` method should
992INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
993[info] + create a new instance with customized settings
994[info] The alternative constructor should
995[info] + construct the service with the default Play Framework OAuth implementation
996[info] The `use10a` method should
997[info] + return true if the safer 1.0a specification will be used
998[info] + return false if the unsafer 1.0 specification will be used
999[info] The `retrieveRequestToken` method should
1000[info] + throw exception if the token couldn't be retrieved
1001[info] + return request token
1002[info] The `retrieveAccessToken` method should
1003[info] + throw Exception if the token couldn't be retrieved
1004[info] + return access token
1005[info] The `redirectUrl` method should
1006[info] + return the redirect Url
1007[info] The `sign` method should
1008[info] + return the signature calculator
1009[info] Total for specification PlayOAuth1ServiceSpec
1010[info] Finished in 263 ms
1011[info] 10 examples, 0 failure, 0 error
1012[info] PlayCacheLayerSpec
1013[info] The `find` method should
1014[info] + return value from cache
1015[info] The `save` method should
1016[info] + save value in cache
1017[info] The `remove` method should
1018[info] + removes value from cache
1019[info] Total for specification PlayCacheLayerSpec
1020[info] Finished in 101 ms
1021[info] 3 examples, 0 failure, 0 error
1022[info] Base64Spec
1023[info] The `decode` method should
1024[info] + decode a Base64 string
1025[info] The `encode` method should
1026[info] + encode a string as Base64
1027[info] + encode Json as Base64
1028[info] Total for specification Base64Spec
1029[info] Finished in 32 ms
1030[info] 3 examples, 0 failure, 0 error
1031[info] SessionAuthenticatorSpec
1032[info] The `isValid` method of the authenticator should
1033[info] + return false if the authenticator is expired
1034[info] + return false if the authenticator is timed out
1035[info] + return true if the authenticator is valid
1036[info] The `unserialize` method of the authenticator should
1037INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1038[info] + throw an AuthenticatorException if the given value can't be parsed as Json
1039INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1040[info] + throw an AuthenticatorException if the given value is in the wrong Json format
1041[info] The `serialize/unserialize` method of the authenticator should
1042INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1043[info] + serialize/unserialize an authenticator
1044[info] The `create` method of the service should
1045[info] + return a fingerprinted authenticator
1046[info] + return a non fingerprinted authenticator
1047[info] + return an authenticator with the current date as lastUsedDateTime
1048[info] + return an authenticator which expires in 12 hours(default value)
1049[info] + return an authenticator which expires in 6 hours
1050[info] + throws an AuthenticatorCreationException exception if an error occurred during creation
1051[info] The `retrieve` method of the service should
1052[info] + return None if no authenticator exists in session
1053INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1054INFO p.s.i.a.SessionAuthenticatorService - [Silhouette][session-authenticator] Cannot parse Json: {
1055play.silhouette.api.exceptions.AuthenticatorException: [Silhouette][session-authenticator] Cannot parse Json: {
1056 at play.silhouette.impl.authenticators.SessionAuthenticator$.buildAuthenticator(SessionAuthenticator.scala:110)
1057 at play.silhouette.impl.authenticators.SessionAuthenticator$.unserialize(SessionAuthenticator.scala:95)
1058 at play.silhouette.impl.authenticators.SessionAuthenticatorService.retrieve$$anonfun$2$$anonfun$1(SessionAuthenticator.scala:169)
1059 at scala.Option.flatMap(Option.scala:285)
1060 at play.silhouette.impl.authenticators.SessionAuthenticatorService.retrieve$$anonfun$2(SessionAuthenticator.scala:168)
1061 at scala.concurrent.impl.Promise$Transformation.run(Promise.scala:503)
1062 at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1395)
1063 at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
1064 at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
1065 at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
1066Caused by: com.fasterxml.jackson.core.io.JsonEOFException: Unexpected end-of-input: expected close marker for Object (start marker at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 1])
1067 at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 2]
1068 at com.fasterxml.jackson.core.base.ParserMinimalBase._reportInvalidEOF(ParserMinimalBase.java:643)
1069 at com.fasterxml.jackson.core.base.ParserBase._handleEOF(ParserBase.java:534)
1070 at com.fasterxml.jackson.core.base.ParserBase._eofAsNextChar(ParserBase.java:551)
1071 at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._skipWSOrEnd(ReaderBasedJsonParser.java:2490)
1072 at com.fasterxml.jackson.core.json.ReaderBasedJsonParser.nextToken(ReaderBasedJsonParser.java:673)
1073 at play.api.libs.json.jackson.JsValueDeserializer.deserialize(JacksonJson.scala:240)
1074 at play.api.libs.json.jackson.JsValueDeserializer.deserialize(JacksonJson.scala:158)
1075 at play.api.libs.json.jackson.JsValueDeserializer.deserialize(JacksonJson.scala:157)
1076 at com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:342)
1077 at com.fasterxml.jackson.databind.ObjectMapper._readValue(ObjectMapper.java:5011)
1078[info] + return None if session contains invalid json
1079INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1080INFO p.s.i.a.SessionAuthenticatorService - [Silhouette][session-authenticator] Invalid Json format: List((/expirationDateTime,List(JsonValidationError(List(error.path.missing),ArraySeq()))), (/lastUsedDateTime,List(JsonValidationError(List(error.path.missing),ArraySeq()))), (/loginInfo,List(JsonValidationError(List(error.path.missing),ArraySeq()))))
1081play.silhouette.api.exceptions.AuthenticatorException: [Silhouette][session-authenticator] Invalid Json format: List((/expirationDateTime,List(JsonValidationError(List(error.path.missing),ArraySeq()))), (/lastUsedDateTime,List(JsonValidationError(List(error.path.missing),ArraySeq()))), (/loginInfo,List(JsonValidationError(List(error.path.missing),ArraySeq()))))
1082 at play.silhouette.impl.authenticators.SessionAuthenticator$.buildAuthenticator(SessionAuthenticator.scala:107)
1083 at play.silhouette.impl.authenticators.SessionAuthenticator$.unserialize(SessionAuthenticator.scala:95)
1084 at play.silhouette.impl.authenticators.SessionAuthenticatorService.retrieve$$anonfun$2$$anonfun$1(SessionAuthenticator.scala:169)
1085 at scala.Option.flatMap(Option.scala:285)
1086 at play.silhouette.impl.authenticators.SessionAuthenticatorService.retrieve$$anonfun$2(SessionAuthenticator.scala:168)
1087 at scala.concurrent.impl.Promise$Transformation.run(Promise.scala:503)
1088 at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1395)
1089 at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
1090 at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
1091 at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
1092[info] + return None if session contains valid json but invalid authenticator
1093INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1094INFO p.s.i.a.SessionAuthenticatorService - [Silhouette][session-authenticator] Fingerprint Some(false) doesn't match authenticator: SessionAuthenticator(LoginInfo(test,1),2025-11-28T12:27:51.901654798+01:00[Europe/Zurich],2025-11-29T00:27:51.901701395+01:00[Europe/Zurich],Some(1800 seconds),Some(test))
1095[info] + return None if authenticator fingerprint doesn't match current fingerprint
1096INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1097[info] + return authenticator if authenticator fingerprint matches current fingerprint
1098INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1099[info] + return authenticator if fingerprinting is disabled
1100INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1101[info] + decode an authenticator
1102INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1103[info] + throws an AuthenticatorRetrievalException exception if an error occurred during retrieval
1104[info] The `init` method of the service should
1105INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1106[info] + return a session with an encoded authenticator
1107INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1108[info] + override existing authenticator from request
1109INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1110[info] + keep non authenticator related session data
1111[info] The result `embed` method of the service should
1112INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1113[info] + return the response with the session
1114INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1115[info] + override existing authenticator from request
1116INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1117[info] + keep non authenticator related session data
1118[info] The request `embed` method of the service should
1119INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1120[info] + return the request with the session
1121INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1122[info] + override an existing session
1123INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1124[info] + should not remove an existing session key
1125INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1126[info] + keep other request parts
1127[info] The `touch` method of the service should
1128INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1129[info] + update the last used date if idle timeout is defined
1130INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1131[info] + do not update the last used date if idle timeout is not defined
1132[info] The `update` method of the service should
1133INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1134[info] + update the session
1135INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1136[info] + override existing authenticator from request
1137INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1138[info] + non authenticator related session data
1139[info] + throws an AuthenticatorUpdateException exception if an error occurred during update
1140[info] The `renew` method of the service should
1141INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1142[info] + renew the session
1143INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1144[info] + override existing authenticator from request
1145INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1146[info] + non authenticator related session data
1147[info] + throws an AuthenticatorRenewalException exception if an error occurred during renewal
1148[info] The `discard` method of the service should
1149INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1150[info] + discard the authenticator from session
1151INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1152[info] + non authenticator related session data
1153INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1154[info] + throws an AuthenticatorDiscardingException exception if an error occurred during discarding
1155[info] Total for specification SessionAuthenticatorSpec
1156[info] Finished in 2 seconds, 377 ms
1157[info] 43 examples, 0 failure, 0 error
1158[info] GoogleProviderSpec
1159[info] The `authenticate` method should
1160INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1161[info] + fail with an AccessDeniedException if `error` key with value `access_denied` exists in query string
1162INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1163[info] + fail with an UnexpectedResponseException if `error` key with unspecified value exists in query string
1164INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1165[info] + fail with an ConfigurationException if authorization URL is undefined when it's needed
1166INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1167[info] + redirect to authorization URL if authorization code doesn't exists in request
1168INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1169[info] + resolves relative redirectURLs before starting the flow
1170INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1171[info] + resolves path relative redirectURLs before starting the flow
1172INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1173[info] + resolves relative redirectURLs before starting the flow over https
1174INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1175[info] + verifying presence of redirect param in the access token post request
1176INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1177[info] + verifying presence of redirect param in the access token post request over https
1178INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1179[info] + verifying absence of redirect param in the access token post request
1180INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1181[info] + verifying absence of redirect param in the access token post request over https
1182INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1183[info] + not send state param if state is empty
1184INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1185[info] + submit the proper params to the access token post request
1186INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1187[info] + fail with UnexpectedResponseException if Json cannot be parsed from response
1188[info] The `settings` method should
1189[info] + return the settings instance
1190[info] The `withSettings` method should
1191INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1192[info] + create a new instance with customized settings
1193[info] The `authenticate` method should
1194INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1195[info] + fail with UnexpectedResponseException for an unexpected response
1196INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1197[info] + fail with UnexpectedResponseException if OAuth2Info can be build because of an unexpected response
1198INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1199[info] + return the auth info
1200[info] The `authenticate` method with user state should
1201INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1202[info] + return stateful auth info
1203[info] The `retrieveProfile` method should
1204INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1205[info] + fail with ProfileRetrievalException if API returns error
1206INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1207[info] + fail with ProfileRetrievalException if API returns missing People API config
1208INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1209[info] + fail with ProfileRetrievalException if an unexpected error occurred
1210INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1211[info] + use the overridden API URL
1212INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1213[info] + return the social profile with an email
1214INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1215[info] + return the social profile without an email
1216INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1217[info] + return the social profile with an avatar url
1218INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1219[info] + return the social profile without an avatar url
1220[info] Total for specification GoogleProviderSpec
1221[info] Finished in 1 second, 433 ms
1222[info] 28 examples, 0 failure, 0 error
1223[info] SecureRandomIDGeneratorSpec
1224[info] The generator should
1225[info] + return a 128 byte length secure random number
1226[info] + return a 265 byte length secure random number
1227[info] Total for specification SecureRandomIDGeneratorSpec
1228[info] Finished in 25 ms
1229[info] 2 examples, 0 failure, 0 error
1230[info] GitHubProviderSpec
1231[info] The `authenticate` method should
1232INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1233[info] + fail with an AccessDeniedException if `error` key with value `access_denied` exists in query string
1234INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1235[info] + fail with an UnexpectedResponseException if `error` key with unspecified value exists in query string
1236INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1237[info] + fail with an ConfigurationException if authorization URL is undefined when it's needed
1238INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1239[info] + redirect to authorization URL if authorization code doesn't exists in request
1240INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1241[info] + resolves relative redirectURLs before starting the flow
1242INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1243[info] + resolves path relative redirectURLs before starting the flow
1244INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1245[info] + resolves relative redirectURLs before starting the flow over https
1246INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1247[info] + verifying presence of redirect param in the access token post request
1248INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1249[info] + verifying presence of redirect param in the access token post request over https
1250INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1251[info] + verifying absence of redirect param in the access token post request
1252INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1253[info] + verifying absence of redirect param in the access token post request over https
1254INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1255[info] + not send state param if state is empty
1256INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1257[info] + submit the proper params to the access token post request
1258INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1259[info] + fail with UnexpectedResponseException if Json cannot be parsed from response
1260[info] The `settings` method should
1261[info] + return the settings instance
1262[info] The `withSettings` method should
1263INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1264[info] + create a new instance with customized settings
1265[info] The `authenticate` method should
1266INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1267[info] + fail with UnexpectedResponseException for an unexpected response
1268INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1269[info] + fail with UnexpectedResponseException if OAuth2Info can be build because of an unexpected response
1270INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1271[info] + return the auth info
1272[info] The `authenticate` method with user state should
1273INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1274[info] + return stateful auth info
1275[info] The `retrieveProfile` method should
1276INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1277[info] + fail with ProfileRetrievalException if API returns error
1278INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1279[info] + fail with ProfileRetrievalException if an unexpected error occurred
1280INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1281[info] + use the overridden API URL
1282INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1283[info] + return the social profile
1284[info] Total for specification GitHubProviderSpec
1285[info] Finished in 1 second, 113 ms
1286[info] 24 examples, 0 failure, 0 error
1287[info] ClockSpec
1288[info] The `apply` method should
1289[info] + return a new Clock instance
1290[info] The `now` method should
1291[info] + return a new DateTime instance
1292[info] Total for specification ClockSpec
1293[info] Finished in 21 ms
1294[info] 2 examples, 0 failure, 0 error
1295[info] CookieSecretSpec
1296[info] The `isExpired` method of the secret should
1297[info] + return true if the secret is expired
1298[info] + return false if the secret isn't expired
1299[info] The `serialize` method of the secret should
1300INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1301[info] + sign the cookie
1302INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1303[info] + encrypt the cookie
1304[info] The `unserialize` method of the secret should
1305INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1306[info] + throw an OAuth1TokenSecretException if a secret contains invalid json
1307INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1308[info] + throw an OAuth1TokenSecretException if a secret contains valid json but invalid secret
1309INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1310[info] + throw an OAuth1TokenSecretException if a secret is badly signed
1311[info] The `serialize/unserialize` method of the secret should
1312INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1313[info] + serialize/unserialize a secret
1314[info] The `build` method of the provider should
1315INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1316[info] + return a new secret
1317[info] The `retrieve` method of the provider should
1318[info] + throw an OAuth1TokenSecretException if client secret doesn't exists
1319INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1320[info] + throw an OAuth1TokenSecretException if secret is expired
1321INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1322[info] + throw an OAuth1TokenSecretException if client secret contains invalid json
1323INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1324[info] + throw an OAuth1TokenSecretException if client secret contains valid json but invalid secret
1325INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1326[info] + throw an OAuth1TokenSecretException if client secret is badly signed
1327INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1328[info] + return the secret if it's valid
1329[info] The `publish` method of the provider should
1330INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1331[info] + add the secret to the cookie
1332[info] Total for specification CookieSecretSpec
1333[info] Finished in 994 ms
1334[info] 16 examples, 0 failure, 0 error
1335[info] DefaultSocialStateHandlerSpec
1336[info] The `withHandler` method should
1337[info] + return a new state handler with the given item handler added
1338[info] The `state` method should
1339[info] + return the social state
1340[info] The `serialize` method should
1341[info] + return an empty string if no handler is registered
1342[info] + return an empty string if the items are empty
1343[info] + return the serialized social state
1344[info] The `unserialize` method should
1345[info] + omit state validation if no handler is registered
1346[info] + throw an Exception for an empty string
1347[info] + throw an ProviderException if the serialized item structure cannot be extracted
1348[info] + throw an ProviderException if none of the item handlers can handle the given state
1349[info] + return the unserialized social state
1350[info] The `publish` method should
1351[info] + should publish the state with the publishable handler that is responsible for the item
1352[info] + should not publish the state if no publishable handler is responsible
1353[info] Total for specification DefaultSocialStateHandlerSpec
1354[info] Finished in 431 ms
1355[info] 12 examples, 0 failure, 0 error
1356[info] AuthenticatorResultSpec
1357[info] The `copy` method should
1358[info] + return new a new instance of an authenticator result
1359[info] The `withSession` method should
1360INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1361[info] + return new a new instance of an authenticator result
1362[info] The `withCookies` method should
1363INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1364[info] + return new a new instance of an authenticator result
1365[info] The `withHeaders` method should
1366INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1367[info] + return new a new instance of an authenticator result
1368[info] Total for specification AuthenticatorResultSpec
1369[info] Finished in 231 ms
1370[info] 4 examples, 0 failure, 0 error
1371[info] ErrorHandlerSpec
1372[info] The `DefaultNotAuthenticatedErrorHandler.notAuthenticated` method should
1373INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1374[info] + return an HTML response for an HTML request
1375INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1376[info] + return a JSON response for a JSON request
1377INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1378[info] + return a XML response for a XML request
1379INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1380[info] + return a plain text response for a plain text request
1381INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1382[info] + return a plain text response for other requests
1383INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1384[info] + return an HTML response for a request without an Accept header
1385[info] The `DefaultNotAuthorizedErrorHandler.onNotAuthorized` method should
1386INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1387[info] + return an HTML response for an HTML request
1388INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1389[info] + return a JSON response for a JSON request
1390INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1391[info] + return a XML response for a XML request
1392INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1393[info] + return a plain text response for a plain text request
1394INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1395[info] + return a plain text response for other requests
1396INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1397[info] + return an HTML response for a request without an Accept header
1398[info] Total for specification ErrorHandlerSpec
1399[info] Finished in 775 ms
1400[info] 12 examples, 0 failure, 0 error
1401[info] FacebookProviderSpec
1402[info] The `authenticate` method should
1403INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1404[info] + fail with an AccessDeniedException if `error` key with value `access_denied` exists in query string
1405INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1406[info] + fail with an UnexpectedResponseException if `error` key with unspecified value exists in query string
1407INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1408[info] + fail with an ConfigurationException if authorization URL is undefined when it's needed
1409INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1410[info] + redirect to authorization URL if authorization code doesn't exists in request
1411INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1412[info] + resolves relative redirectURLs before starting the flow
1413INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1414[info] + resolves path relative redirectURLs before starting the flow
1415INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1416[info] + resolves relative redirectURLs before starting the flow over https
1417INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1418[info] + verifying presence of redirect param in the access token post request
1419INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1420[info] + verifying presence of redirect param in the access token post request over https
1421INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1422[info] + verifying absence of redirect param in the access token post request
1423INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1424[info] + verifying absence of redirect param in the access token post request over https
1425INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1426[info] + not send state param if state is empty
1427INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1428[info] + submit the proper params to the access token post request
1429INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1430[info] + fail with UnexpectedResponseException if Json cannot be parsed from response
1431[info] The `settings` method should
1432[info] + return the settings instance
1433[info] The `withSettings` method should
1434INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1435[info] + create a new instance with customized settings
1436[info] The `authenticate` method should
1437INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1438[info] + fail with UnexpectedResponseException for an unexpected response
1439INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1440[info] + fail with UnexpectedResponseException if OAuth2Info can be build because of an unexpected response
1441INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1442[info] + return the auth info
1443[info] The `retrieveProfile` method should
1444INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1445[info] + fail with ProfileRetrievalException if API returns error
1446INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1447[info] + fail with ProfileRetrievalException if an unexpected error occurred
1448INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1449[info] + return the social profile
1450[info] Total for specification FacebookProviderSpec
1451[info] Finished in 1 second, 46 ms
1452[info] 22 examples, 0 failure, 0 error
1453[info] Auth0ProviderSpec
1454[info] The `authenticate` method should
1455INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1456[info] + fail with an AccessDeniedException if `error` key with value `access_denied` exists in query string
1457INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1458[info] + fail with an UnexpectedResponseException if `error` key with unspecified value exists in query string
1459INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1460[info] + fail with an ConfigurationException if authorization URL is undefined when it's needed
1461INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1462[info] + redirect to authorization URL if authorization code doesn't exists in request
1463INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1464[info] + resolves relative redirectURLs before starting the flow
1465INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1466[info] + resolves path relative redirectURLs before starting the flow
1467INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1468[info] + resolves relative redirectURLs before starting the flow over https
1469INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1470[info] + verifying presence of redirect param in the access token post request
1471INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1472[info] + verifying presence of redirect param in the access token post request over https
1473INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1474[info] + verifying absence of redirect param in the access token post request
1475INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1476[info] + verifying absence of redirect param in the access token post request over https
1477INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1478[info] + not send state param if state is empty
1479INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1480[info] + submit the proper params to the access token post request
1481INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1482[info] + fail with UnexpectedResponseException if Json cannot be parsed from response
1483[info] The `settings` method should
1484[info] + return the settings instance
1485[info] The `withSettings` method should
1486INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1487[info] + create a new instance with customized settings
1488[info] The `authenticate` method should
1489INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1490[info] + fail with UnexpectedResponseException for an unexpected response
1491INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1492[info] + fail with UnexpectedResponseException if OAuth2Info can be build because of an unexpected response
1493INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1494[info] + return the auth info
1495[info] The `authenticate` method with user state should
1496INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1497[info] + return stateful auth info
1498[info] The `retrieveProfile` method should
1499INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1500[info] + fail with ProfileRetrievalException if API returns error
1501INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1502[info] + fail with ProfileRetrievalException if an unexpected error occurred
1503INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1504[info] + return the social profile
1505[info] Total for specification Auth0ProviderSpec
1506[info] Finished in 1 second, 60 ms
1507[info] 23 examples, 0 failure, 0 error
1508[info] SecuredActionSpec
1509[info] The `SecuredAction` action should
1510INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1511[info] + restrict access if no valid authenticator can be retrieved
1512INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1513[info] + restrict access and discard authenticator if an invalid authenticator can be retrieved
1514INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1515[info] + restrict access and discard authenticator if no identity could be found for an authenticator
1516INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1517[info] + display local not-authenticated result if user isn't authenticated[authorization and error handler]
1518INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1519[info] + display local not-authenticated result if user isn't authenticated[error handler only]
1520INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1521[info] + display global not-authenticated result if user isn't authenticated
1522INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1523[info] + restrict access and update authenticator if a user is authenticated but not authorized
1524INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1525[info] + display local not-authorized result if user isn't authorized
1526INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1527[info] + display global not-authorized result if user isn't authorized
1528INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1529[info] + invoke action without authorization if user is authenticated
1530INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1531[info] + invoke action with authorization if user is authenticated but not authorized
1532INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1533[info] + use next request provider in the chain if first isn't responsible
1534INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1535[info] + update an initialized authenticator if it was touched
1536INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1537[info] + do not update an initialized authenticator if it was not touched
1538INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1539[info] + init an uninitialized authenticator
1540INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1541[info] + renew an initialized authenticator
1542INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1543[info] + renew an uninitialized authenticator
1544INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1545[info] + discard an initialized authenticator
1546INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1547[info] + discard an uninitialized authenticator
1548INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1549[info] + handle an Ajax request
1550[info] The `SecuredRequestHandler` should
1551INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1552[info] + return status 401 if authentication was not successful
1553INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1554[info] + return the user if authentication was successful
1555[info] The `exceptionHandler` method of the SecuredErrorHandler should
1556INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1557[info] + translate an ForbiddenException into a 403 Forbidden result
1558INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1559[info] + translate an UnauthorizedException into a 401 Unauthorized result
1560[info] Total for specification SecuredActionSpec
1561[info] Finished in 1 second, 416 ms
1562[info] 24 examples, 0 failure, 0 error
1563[info] GitLabProviderSpec
1564[info] The `authenticate` method should
1565INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1566[info] + fail with an AccessDeniedException if `error` key with value `access_denied` exists in query string
1567INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1568[info] + fail with an UnexpectedResponseException if `error` key with unspecified value exists in query string
1569INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1570[info] + fail with an ConfigurationException if authorization URL is undefined when it's needed
1571INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1572[info] + redirect to authorization URL if authorization code doesn't exists in request
1573INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1574[info] + resolves relative redirectURLs before starting the flow
1575INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1576[info] + resolves path relative redirectURLs before starting the flow
1577INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1578[info] + resolves relative redirectURLs before starting the flow over https
1579INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1580[info] + verifying presence of redirect param in the access token post request
1581INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1582[info] + verifying presence of redirect param in the access token post request over https
1583INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1584[info] + verifying absence of redirect param in the access token post request
1585INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1586[info] + verifying absence of redirect param in the access token post request over https
1587INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1588[info] + not send state param if state is empty
1589INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1590[info] + submit the proper params to the access token post request
1591INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1592[info] + fail with UnexpectedResponseException if Json cannot be parsed from response
1593[info] The `settings` method should
1594[info] + return the settings instance
1595[info] The `withSettings` method should
1596INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1597[info] + create a new instance with customized settings
1598[info] The `authenticate` method should
1599INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1600[info] + fail with UnexpectedResponseException for an unexpected response
1601INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1602[info] + fail with UnexpectedResponseException if OAuth2Info can be build because of an unexpected response
1603INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1604[info] + return the auth info
1605[info] The `authenticate` method with user state should
1606INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1607[info] + return stateful auth info
1608[info] The `retrieveProfile` method should
1609INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1610[info] + fail with ProfileRetrievalException if API returns error
1611INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1612[info] + fail with ProfileRetrievalException if an unexpected error occurred
1613INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1614[info] + use the overridden API URL
1615INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1616[info] + return the social profile
1617[info] Total for specification GitLabProviderSpec
1618[info] Finished in 1 second, 52 ms
1619[info] 24 examples, 0 failure, 0 error
1620[info] UserAwareActionSpec
1621[info] The `UserAwareAction` action should
1622INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1623[info] + invoke action without identity and authenticator if no authenticator could be found
1624INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1625[info] + invoke action without identity and authenticator if invalid authenticator was found
1626INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1627[info] + invoke action with valid authenticator if no identity could be found
1628INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1629[info] + invoke action with authenticator and identity
1630INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1631[info] + use next request provider in the chain if first isn't responsible
1632INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1633[info] + update an initialized authenticator if it was touched
1634INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1635[info] + do not update an initialized authenticator if it was not touched
1636INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1637[info] + init an uninitialized authenticator
1638INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1639[info] + renew an initialized authenticator
1640INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1641[info] + renew an uninitialized authenticator
1642INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1643[info] + discard an initialized authenticator
1644INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1645[info] + discard an uninitialized authenticator
1646[info] The `UserAwareRequestHandler` should
1647INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1648[info] + return status 401 if authentication was not successful
1649INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1650[info] + return the user if authentication was successful
1651[info] Total for specification UserAwareActionSpec
1652[info] Finished in 616 ms
1653[info] 14 examples, 0 failure, 0 error
1654[info] FoursquareProviderSpec
1655[info] The `authenticate` method should
1656INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1657[info] + fail with an AccessDeniedException if `error` key with value `access_denied` exists in query string
1658INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1659[info] + fail with an UnexpectedResponseException if `error` key with unspecified value exists in query string
1660INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1661[info] + fail with an ConfigurationException if authorization URL is undefined when it's needed
1662INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1663[info] + redirect to authorization URL if authorization code doesn't exists in request
1664INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1665[info] + resolves relative redirectURLs before starting the flow
1666INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1667[info] + resolves path relative redirectURLs before starting the flow
1668INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1669[info] + resolves relative redirectURLs before starting the flow over https
1670INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1671[info] + verifying presence of redirect param in the access token post request
1672INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1673[info] + verifying presence of redirect param in the access token post request over https
1674INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1675[info] + verifying absence of redirect param in the access token post request
1676INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1677[info] + verifying absence of redirect param in the access token post request over https
1678INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1679[info] + not send state param if state is empty
1680INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1681[info] + submit the proper params to the access token post request
1682INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1683[info] + fail with UnexpectedResponseException if Json cannot be parsed from response
1684[info] The `settings` method should
1685[info] + return the settings instance
1686[info] The `withSettings` method should
1687INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1688[info] + create a new instance with customized settings
1689[info] The `authenticate` method should
1690INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1691[info] + fail with UnexpectedResponseException for an unexpected response
1692INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1693[info] + fail with UnexpectedResponseException if OAuth2Info can be build because of an unexpected response
1694INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1695[info] + return the auth info
1696[info] The `authenticate` method with user state should
1697INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1698[info] + return stateful auth info
1699[info] The `retrieveProfile` method should
1700INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1701[info] + fail with ProfileRetrievalException if API returns error
1702INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1703[info] + fail with ProfileRetrievalException if an unexpected error occurred
1704INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1705[info] + use the overridden API URL
1706INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1707[info] + return the social profile
1708INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1709INFO p.s.i.p.o.FoursquareProvider - This implementation may be deprecated! Please contact the Silhouette team for a fix!
1710[info] + return the social profile if API is deprecated
1711INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1712[info] + handle the custom API version property
1713INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1714[info] + handle the custom avatar resolution property
1715[info] Total for specification FoursquareProviderSpec
1716[info] Finished in 1 second, 277 ms
1717[info] 27 examples, 0 failure, 0 error
1718[info] JWTAuthenticatorSpec
1719[info] The `isValid` method of the authenticator should
1720[info] + return false if the authenticator is expired
1721[info] + return false if the authenticator is timed out
1722[info] + return true if the authenticator is valid
1723[info] The `serialize` method of the authenticator should
1724INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1725[info] + return a JWT with an expiration time
1726INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1727[info] + return a JWT with an encoded subject
1728INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1729[info] + return a JWT with an issuer
1730INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1731[info] + return a JWT with an issued-at time
1732INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1733[info] + throw an AuthenticatorException if a reserved claim will be overridden
1734INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1735[info] + throw an AuthenticatorException if an unexpected value was found in the arbitrary claims
1736INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1737[info] + return a JWT with arbitrary claims
1738[info] The `unserialize` method of the authenticator should
1739INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1740[info] + throw an AuthenticatorException if the given token can't be parsed
1741INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1742[info] + throw an AuthenticatorException if the given token couldn't be verified
1743INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1744[info] + unserialize a JWT
1745INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1746[info] + unserialize a JWT with a custom clock
1747INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1748[info] + unserialize a JWT with arbitrary claims
1749[info] The `serialize/unserialize` method of the authenticator should
1750INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1751[info] + serialize/unserialize an authenticator
1752[info] The `create` method of the service should
1753[info] + return an authenticator with the generated ID
1754[info] + return an authenticator with the current date as lastUsedDateTime
1755[info] + return an authenticator which expires in 12 hours(default value)
1756[info] + return an authenticator which expires in 6 hours
1757[info] + throws an AuthenticatorCreationException exception if an error occurred during creation
1758[info] The `retrieve` method of the service should
1759[info] + return None if no authenticator header exists
1760INFO p.s.i.a.JWTAuthenticatorService - [Silhouette][jwt-authenticator] Error on parsing JWT token: not-stored
1761play.silhouette.api.exceptions.AuthenticatorException: [Silhouette][jwt-authenticator] Error on parsing JWT token: not-stored
1762 at play.silhouette.impl.authenticators.JWTAuthenticator$$anon$1.applyOrElse(JWTAuthenticator.scala:168)
1763 at play.silhouette.impl.authenticators.JWTAuthenticator$$anon$1.applyOrElse(JWTAuthenticator.scala:166)
1764 at scala.util.Failure.recover(Try.scala:243)
1765 at play.silhouette.impl.authenticators.JWTAuthenticator$.unserialize(JWTAuthenticator.scala:168)
1766 at play.silhouette.impl.authenticators.JWTAuthenticatorService.retrieve$$anonfun$2(JWTAuthenticator.scala:296)
1767 at scala.concurrent.impl.Promise$Transformation.run(Promise.scala:506)
1768 at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1395)
1769 at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
1770 at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
1771 at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
1772Caused by: org.mockito.exceptions.verification.SmartNullPointerException:
1773You have a NullPointerException here:
1774-> at java.base/java.time.chrono.ChronoZonedDateTime.toInstant(ChronoZonedDateTime.java:538)
1775because this method call was *not* stubbed correctly:
1776-> at play.silhouette.impl.authenticators.JWTAuthenticator$.unserialize$$anonfun$1(JWTAuthenticator.scala:148)
1777clock.now();
1778
1779 at java.base/java.time.chrono.ChronoZonedDateTime.toInstant(ChronoZonedDateTime.java:538)
1780 at play.silhouette.impl.authenticators.JWTAuthenticator$.unserialize$$anonfun$1(JWTAuthenticator.scala:148)
1781 at scala.util.Try$.apply(Try.scala:218)
1782 at play.silhouette.impl.authenticators.JWTAuthenticator$.unserialize(JWTAuthenticator.scala:151)
1783 at play.silhouette.impl.authenticators.JWTAuthenticatorService.retrieve$$anonfun$2(JWTAuthenticator.scala:296)
1784 at scala.concurrent.impl.Promise$Transformation.run(Promise.scala:506)
1785 at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1395)
1786 at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
1787 at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
1788 at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
1789[info] + return None if DAO is enabled and no authenticator is stored for the token located in the header
1790INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1791[info] + return authenticator if DAO is enabled and an authenticator is stored for the token located in the the header
1792INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1793[info] + return authenticator if DAO is enabled and an authenticator is stored for the token located in the the query string
1794INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1795[info] + return authenticator if DAO is disabled and authenticator was found in the header
1796INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1797[info] + return authenticator if DAO is disabled and authenticator was found in the query string
1798INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1799[info] + throws an AuthenticatorRetrievalException exception if an error occurred during retrieval
1800INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1801[info] + respect valueParser when retrieving a bearer token from the Authorization header
1802INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1803[info] + return None if valueParser rejects the Authorization header
1804[info] The `init` method of the service should
1805INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1806[info] + return the token if DAO is enabled and authenticator could be saved in backing store
1807INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1808[info] + return the token if DAO is disabled
1809[info] + throws an AuthenticatorInitializationException exception if an error occurred during initialization
1810[info] The result `embed` method of the service should
1811INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1812[info] + return the response with a header
1813[info] The request `embed` method of the service should
1814INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1815[info] + return the request with a header
1816INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1817[info] + override an existing token
1818INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1819[info] + keep non authenticator related headers
1820INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1821[info] + keep other request parts
1822[info] The `touch` method of the service should
1823INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1824[info] + update the last used date if idle timeout is defined
1825INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1826[info] + do not update the last used date if idle timeout is not defined
1827[info] The `update` method of the service should
1828INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1829[info] + update the authenticator in backing store
1830INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1831[info] + return the result if the authenticator could be stored in backing store
1832INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1833[info] + return the result if backing store is disabled
1834INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1835[info] + throws an AuthenticatorUpdateException exception if an error occurred during update
1836[info] The `renew` method of the service should
1837INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1838[info] + renew the authenticator and return the response with a new JWT if DAO is enabled
1839INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1840[info] + renew an authenticator with custom claims
1841INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1842[info] + renew the authenticator and return the response with a new JWT if DAO is disabled
1843[info] + throws an AuthenticatorRenewalException exception if an error occurred during renewal
1844[info] The `discard` method of the service should
1845[info] + remove authenticator from backing store if DAO is enabled
1846[info] + do not remove the authenticator from backing store if DAO is disabled
1847[info] + throws an AuthenticatorDiscardingException exception if an error occurred during discarding
1848[info] Total for specification JWTAuthenticatorSpec
1849[info] Finished in 2 seconds, 276 ms
1850[info] 51 examples, 0 failure, 0 error
1851[info] HashSpec
1852[info] The `sha1` method should
1853[info] + create a SHA1 hash of a string
1854[info] The `sha2` method should
1855[info] + create a SHA2 hash of a string
1856[info] Total for specification HashSpec
1857[info] Finished in 25 ms
1858[info] 2 examples, 0 failure, 0 error
1859[info] AuthenticatorSpec
1860[info] The + method of the RichDateTime class should
1861[info] + add a second to a DateTime instance
1862[info] + add a minute to a DateTime instance
1863[info] + add an hour to a DateTime instance
1864[info] + subtract a second from a DateTime instance
1865[info] + subtract a minute from a DateTime instance
1866[info] + subtract an hour from a DateTime instance
1867[info] Total for specification AuthenticatorSpec
1868[info] Finished in 27 ms
1869[info] 6 examples, 0 failure, 0 error
1870[info] UserStateItemHandlerSpec
1871[info] The `item` method should
1872[info] + return the user state item
1873[info] The `canHandle` method should
1874[info] + return the same item if it can handle the given item
1875[info] + should return `None` if it can't handle the given item
1876[info] The `canHandle` method should
1877[info] + return false if the give item is for another handler
1878[info] + return true if it can handle the given `ItemStructure`
1879[info] The `serialize` method should
1880[info] + return a serialized value of the state item
1881[info] The `unserialize` method should
1882[info] + unserialize the state item
1883[info] Total for specification UserStateItemHandlerSpec
1884[info] Finished in 126 ms
1885[info] 7 examples, 0 failure, 0 error
1886[info] EventBusSpec
1887[info] The event bus should
1888INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1889[info] + handle an subclass event
1890INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1891[info] + handle an event
1892INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1893[info] + handle multiple events
1894INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1895[info] + differentiate between event classes
1896INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1897[info] + not handle not subscribed events
1898INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1899[info] + not handle events between different event buses
1900INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1901[info] + returns a singleton event bus
1902[info] Total for specification EventBusSpec
1903[info] Finished in 1 second, 840 ms
1904[info] 7 examples, 0 failure, 0 error
1905[info] ValueParserSpec
1906[info] DefaultValueParser should
1907[info] + return the raw value wrapped in Some
1908[info] BearerValueParser should
1909[info] + return the token without Bearer prefix
1910[info] + trim whitespace after Bearer prefix
1911[info] + return None if prefix is missing
1912[info] + return None if input is just 'Bearer'
1913[info] + return None if prefix is case-sensitive mismatch
1914[info] Total for specification ValueParserSpec
1915[info] Finished in 34 ms
1916[info] 6 examples, 0 failure, 0 error
1917[info] XingProviderSpec
1918[info] The provider should
1919INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1920[info] + throw a RuntimeException if the unsafe 1.0 specification should be used
1921[info] The authenticate method should
1922INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1923[info] + fail with an AccessDeniedException if denied key exists in query string
1924INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1925[info] + fail with an UnexpectedResponseException if request token cannot be retrieved
1926INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1927[info] + redirect to authorization URL if request token could be retrieved
1928INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1929[info] + resolves relative redirectURLs before starting the flow
1930INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1931[info] + resolves path relative redirectURLS before starting the flow
1932INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1933[info] + resolves relative redirectURLs before starting the flow over https
1934INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1935[info] + fail with an UnexpectedResponseException if access token cannot be retrieved
1936INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1937[info] + return the auth info
1938[info] The `settings` method should
1939[info] + return the settings instance
1940[info] The `withSettings` method should
1941INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1942[info] + create a new instance with customized settings
1943[info] The `retrieveProfile` method should
1944INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1945[info] + fail with ProfileRetrievalException if API returns error
1946INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1947[info] + throw ProfileRetrievalException if an unexpected error occurred
1948INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1949[info] + use the overridden API URL
1950INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1951[info] + return the social profile
1952[info] Total for specification XingProviderSpec
1953[info] Finished in 635 ms
1954[info] 15 examples, 0 failure, 0 error
1955[info] CsrfStateItemHandlerSpec
1956[info] The `item` method should
1957[info] + return the CSRF state item
1958[info] The `canHandle` method should
1959[info] + return the same item if it can handle the given item
1960[info] + should return `None` if it can't handle the given item
1961[info] The `canHandle` method should
1962[info] + return false if the give item is for another handler
1963[info] + return false if client state doesn't match the item state
1964[info] + return true if it can handle the given `ItemStructure`
1965[info] The `serialize` method should
1966[info] + return a serialized value of the state item
1967[info] The `unserialize` method should
1968[info] + unserialize the state item
1969[info] The `publish` method should
1970[info] + publish the state item to the client
1971[info] Total for specification CsrfStateItemHandlerSpec
1972[info] Finished in 86 ms
1973[info] 9 examples, 0 failure, 0 error
1974[info] PlayHTTPLayerSpec
1975[info] The `url` method should
1976INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
1977[info] + return a new WS.WSRequest instance
1978[info] Total for specification PlayHTTPLayerSpec
1979[info] Finished in 277 ms
1980[info] 1 example, 0 failure, 0 error
1981[info] SocialProviderRegistrySpec
1982[info] The `get` method should
1983[info] + return a provider by its type
1984[info] + return None if no provider for the given type exists
1985[info] + return a provider by its ID as SocialProvider
1986[info] + return a provider by its ID as OAuth2Provider
1987[info] + return None if no provider for the given ID exists
1988[info] The `getSeq` method should
1989[info] + return a list of providers by it's sub type
1990[info] Total for specification SocialProviderRegistrySpec
1991[info] Finished in 302 ms
1992[info] 6 examples, 0 failure, 0 error
1993[info] RequestExtractorSpec
1994[info] The `anyContent` should
1995[info] + extract a value from query string if all parts are allowed
1996[info] + extract a value from query string if part is allowed
1997[info] + do not extract a value from query string if part isn't allowed
1998[info] + extract a value from headers if all parts are allowed
1999[info] + extract a value from headers if part is allowed
2000[info] + do not extract a value from headers if part isn't allowed
2001[info] + return None if no value could be found in default parts
2002[info] + extract a value from URL encoded body if all parts are allowed
2003[info] + extract a value from URL encoded body if part is allowed
2004[info] + do not extract a value from URL encoded body if part isn't allowed
2005[info] + return None if no value could be found in default parts or URL encoded body
2006[info] + extract a value from Json body if all parts are allowed
2007[info] + extract a value from Json body if part is allowed
2008[info] + do not extract a value from Json body if part isn't allowed
2009[info] + return None if no value could be found in default parts or Json body
2010[info] + extract a value from XML body if all parts are allowed
2011[info] + extract a value from XML body if part is allowed
2012[info] + do not extract a value from XML body if part isn't allowed
2013[info] + return None if no value could be found in default parts or XML body
2014[info] The `formUrlEncodedExtractor` should
2015[info] + extract a value from query string if all parts are allowed
2016[info] + extract a value from headers if all parts are allowed
2017[info] + extract a value from body if all parts are allowed
2018[info] + return None if no value could be found in default parts or body
2019[info] The `jsonExtractor` should
2020[info] + extract a value from query string if all parts are allowed
2021[info] + extract a value from headers if all parts are allowed
2022[info] + extract a value from body if all parts are allowed
2023[info] + return None if no value could be found in default parts or body
2024[info] The `xmlExtractor` should
2025[info] + extract a value from query string if all parts are allowed
2026[info] + extract a value from headers if all parts are allowed
2027[info] + extract a value from body if all parts are allowed
2028[info] + return None if no value could be found in default parts or body
2029[info] The `anyExtractor` should
2030[info] + extract a value from query string if all parts are allowed
2031[info] + extract a value from headers if all parts are allowed
2032[info] An extractor should
2033[info] + be overridden
2034[info] The `ExtractableRequest` should
2035[info] + be converted from explicit request
2036[info] + be converted from implicit request
2037[info] Total for specification RequestExtractorSpec
2038[info] Finished in 253 ms
2039[info] 36 examples, 0 failure, 0 error
2040[info] CookieAuthenticatorSpec
2041[info] The `isValid` method of the authenticator should
2042[info] + return false if the authenticator is expired
2043[info] + return false if the authenticator is timed out
2044[info] + return true if the authenticator is valid
2045[info] The `serialize` method of the authenticator should
2046INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2047[info] + sign the cookie
2048INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2049[info] + encode the cookie
2050[info] The `unserialize` method of the authenticator should
2051INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2052[info] + throw an AuthenticatorException if the given value can't be parsed as Json
2053INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2054[info] + throw an AuthenticatorException if the given value is in the wrong Json format
2055INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2056[info] + throw an AuthenticatorException if the cookie signer declines the authenticator
2057[info] The `serialize/unserialize` method of the authenticator should
2058INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2059[info] + serialize/unserialize an authenticator
2060[info] The `create` method of the service should
2061[info] + return a fingerprinted authenticator
2062[info] + return a non fingerprinted authenticator
2063[info] + return an authenticator with the generated ID
2064[info] + return an authenticator with the current date as lastUsedDateTime
2065[info] + return an authenticator which expires in 12 hours(default value)
2066[info] + return an authenticator which expires in 6 hours
2067[info] + throws an AuthenticatorCreationException exception if an error occurred during creation
2068[info] The `retrieve` method of the service should
2069[info] + return None if no authenticator cookie exists
2070[info] + [stateful] return None if no authenticator for the cookie is stored in backing store
2071INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2072INFO p.s.i.a.CookieAuthenticatorService - [Silhouette][cookie-authenticator] Cannot parse invalid Json: invalid
2073play.silhouette.api.exceptions.AuthenticatorException: [Silhouette][cookie-authenticator] Cannot parse invalid Json: invalid
2074 at play.silhouette.impl.authenticators.CookieAuthenticator$.buildAuthenticator(CookieAuthenticator.scala:140)
2075 at play.silhouette.impl.authenticators.CookieAuthenticator$.unserialize(CookieAuthenticator.scala:123)
2076 at play.silhouette.impl.authenticators.CookieAuthenticatorService.retrieve$$anonfun$2(CookieAuthenticator.scala:211)
2077 at scala.concurrent.impl.Promise$Transformation.run(Promise.scala:506)
2078 at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1395)
2079 at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
2080 at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
2081 at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
2082 at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)
2083 at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)
2084Caused by: com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'invalid': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')
2085 at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 8]
2086 at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:2599)
2087 at com.fasterxml.jackson.core.JsonParser._constructReadException(JsonParser.java:2625)
2088 at com.fasterxml.jackson.core.JsonParser._constructReadException(JsonParser.java:2633)
2089 at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:831)
2090 at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._reportInvalidToken(ReaderBasedJsonParser.java:3017)
2091 at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._handleOddValue(ReaderBasedJsonParser.java:2051)
2092 at com.fasterxml.jackson.core.json.ReaderBasedJsonParser.nextToken(ReaderBasedJsonParser.java:780)
2093 at com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:5125)
2094 at com.fasterxml.jackson.databind.ObjectMapper._readValue(ObjectMapper.java:5000)
2095 at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3104)
2096[info] + [stateless] return None if no authenticator could be unserialized from cookie
2097INFO p.s.i.a.CookieAuthenticatorService - [Silhouette][cookie-authenticator] Fingerprint Some(false) doesn't match authenticator: CookieAuthenticator(test-id,LoginInfo(test,1),2025-11-28T12:28:12.333435752+01:00[Europe/Zurich],2025-11-29T00:28:12.333446472+01:00[Europe/Zurich],Some(30 minutes),Some(12 hours),Some(test))
2098[info] + [stateful] return None if authenticator fingerprint doesn't match current fingerprint
2099INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2100INFO p.s.i.a.CookieAuthenticatorService - [Silhouette][cookie-authenticator] Fingerprint Some(false) doesn't match authenticator: CookieAuthenticator(test-id,LoginInfo(test,1),2025-11-28T12:28:12.371818665+01:00[Europe/Zurich],2025-11-29T00:28:12.371830427+01:00[Europe/Zurich],Some(1800 seconds),Some(43200 seconds),Some(test))
2101[info] + [stateless] return None if authenticator fingerprint doesn't match current fingerprint
2102[info] + [stateful] return authenticator if authenticator fingerprint matches current fingerprint
2103INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2104[info] + [stateless] return authenticator if authenticator fingerprint matches current fingerprint
2105[info] + [stateful] return authenticator if fingerprinting is disabled
2106INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2107[info] + [stateless] return authenticator if fingerprinting is disabled
2108[info] + throws an AuthenticatorRetrievalException exception if an error occurred during retrieval
2109[info] The `init` method of the service should
2110[info] + [stateful] return a cookie with the authenticator ID if the authenticator could be saved in backing store
2111INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2112[info] + [stateless] return a cookie with a serialized authenticator
2113[info] + throws an AuthenticatorInitializationException exception if an error occurred during initialization
2114[info] The result `embed` method of the service should
2115[info] + return the response with a cookie
2116[info] The request `embed` method of the service should
2117[info] + return the request with a cookie
2118[info] + override an existing cookie
2119[info] + keep non authenticator related cookies
2120[info] + keep other request parts
2121[info] The `touch` method of the service should
2122INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2123[info] + update the last used date if idle timeout is defined
2124INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2125[info] + do not update the last used date if idle timeout is not defined
2126[info] The `update` method of the service should
2127[info] + [stateful] update the authenticator in backing store
2128[info] + [stateful] return the result if the authenticator could be stored in backing store
2129INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2130[info] + [stateless] update the cookie for the updated authenticator
2131[info] + throws an AuthenticatorUpdateException exception if an error occurred during update
2132[info] The `renew` method of the service should
2133[info] + [stateful] remove the old authenticator from backing store
2134[info] + [stateful] renew the authenticator and return the response with the updated cookie value
2135INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2136[info] + [stateless] renew the authenticator and return the response with the updated cookie value
2137[info] + throws an AuthenticatorRenewalException exception if an error occurred during renewal
2138[info] The `discard` method of the service should
2139[info] + [stateful] discard the cookie from response and remove it from backing store
2140INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2141[info] + [stateless] discard the cookie from response
2142[info] + throws an AuthenticatorDiscardingException exception if an error occurred during discarding
2143[info] Total for specification CookieAuthenticatorSpec
2144[info] Finished in 1 second, 401 ms
2145[info] 47 examples, 0 failure, 0 error
2146[info] LinkedInProviderSpec
2147[info] The provider should
2148INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2149[info] + throw a RuntimeException if the unsafe 1.0 specification should be used
2150[info] The authenticate method should
2151INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2152[info] + fail with an AccessDeniedException if denied key exists in query string
2153INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2154[info] + fail with an UnexpectedResponseException if request token cannot be retrieved
2155INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2156[info] + redirect to authorization URL if request token could be retrieved
2157INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2158[info] + resolves relative redirectURLs before starting the flow
2159INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2160[info] + resolves path relative redirectURLS before starting the flow
2161INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2162[info] + resolves relative redirectURLs before starting the flow over https
2163INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2164[info] + fail with an UnexpectedResponseException if access token cannot be retrieved
2165INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2166[info] + return the auth info
2167[info] The `settings` method should
2168[info] + return the settings instance
2169[info] The `withSettings` method should
2170INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2171[info] + create a new instance with customized settings
2172[info] The `retrieveProfile` method should
2173INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2174[info] + fail with ProfileRetrievalException if API returns error
2175INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2176[info] + fail with ProfileRetrievalException if an unexpected error occurred
2177INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2178[info] + use the overridden API URL
2179INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2180[info] + return the social profile
2181[info] Total for specification LinkedInProviderSpec
2182[info] Finished in 610 ms
2183[info] 15 examples, 0 failure, 0 error
2184[info] DefaultFingerprintGeneratorSpec
2185[info] The generator should
2186[info] + return fingerprint including the `User-Agent` header
2187[info] + return fingerprint including the `Accept-Language` header
2188[info] + return fingerprint including the `Accept-Charset` header
2189[info] + return fingerprint including the remote address
2190[info] + return fingerprint including all values
2191[info] Total for specification DefaultFingerprintGeneratorSpec
2192[info] Finished in 37 ms
2193[info] 5 examples, 0 failure, 0 error
2194[info] DropboxProviderSpec
2195[info] The `authenticate` method should
2196INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2197[info] + fail with an AccessDeniedException if `error` key with value `access_denied` exists in query string
2198INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2199[info] + fail with an UnexpectedResponseException if `error` key with unspecified value exists in query string
2200INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2201[info] + fail with an ConfigurationException if authorization URL is undefined when it's needed
2202INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2203[info] + redirect to authorization URL if authorization code doesn't exists in request
2204INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2205[info] + resolves relative redirectURLs before starting the flow
2206INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2207[info] + resolves path relative redirectURLs before starting the flow
2208INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2209[info] + resolves relative redirectURLs before starting the flow over https
2210INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2211[info] + verifying presence of redirect param in the access token post request
2212INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2213[info] + verifying presence of redirect param in the access token post request over https
2214INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2215[info] + verifying absence of redirect param in the access token post request
2216INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2217[info] + verifying absence of redirect param in the access token post request over https
2218INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2219[info] + not send state param if state is empty
2220INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2221[info] + submit the proper params to the access token post request
2222INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2223[info] + fail with UnexpectedResponseException if Json cannot be parsed from response
2224[info] The `settings` method should
2225[info] + return the settings instance
2226[info] The `withSettings` method should
2227INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2228[info] + create a new instance with customized settings
2229[info] The `authenticate` method should
2230INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2231[info] + fail with UnexpectedResponseException for an unexpected response
2232INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2233[info] + fail with UnexpectedResponseException if OAuth2Info can be build because of an unexpected response
2234INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2235[info] + return the auth info
2236[info] The `authenticate` method with user state should
2237INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2238[info] + return stateful auth info
2239[info] The `retrieveProfile` method should
2240INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2241[info] + fail with ProfileRetrievalException if API returns error
2242INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2243[info] + fail with ProfileRetrievalException if an unexpected error occurred
2244INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2245[info] + use the overridden API URL
2246INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2247[info] + return the social profile
2248[info] Total for specification DropboxProviderSpec
2249[info] Finished in 1 second, 70 ms
2250[info] 24 examples, 0 failure, 0 error
2251[info] BasicAuthProviderSpec
2252[info] The `authenticate` method should
2253INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2254[info] + throw ConfigurationException if unsupported hasher is stored
2255INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2256[info] + return None if no auth info could be found for the given credentials
2257INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2258[info] + return None if password does not match
2259INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2260[info] + return None if provider isn't responsible
2261INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2262[info] + return None for wrong encoded credentials
2263INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2264[info] + return login info if passwords does match
2265INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2266[info] + handle a colon in a password
2267INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2268[info] + re-hash password with new hasher if hasher is deprecated
2269INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2270[info] + re-hash password with new hasher if password info is deprecated
2271INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2272[info] + return None if Authorization method is not Basic and Base64 decoded header has ':'
2273[info] Total for specification BasicAuthProviderSpec
2274[info] Finished in 382 ms
2275[info] 10 examples, 0 failure, 0 error
2276Starting build for ProjectRef(file:/build/repo/,silhouettePersistence) (play-silhouette-persistence)... [2/8]
2277Compile scalacOptions: -Wconf:msg=can be rewritten automatically under:s, -source:3.8
2278[info] compiling 7 Scala sources to /build/repo/silhouette-persistence/target/scala-3.8.0-RC2/classes ...
2279[info] done compiling
2280[info] compiling 4 Scala sources to /build/repo/silhouette-persistence/target/scala-3.8.0-RC2/test-classes ...
2281[info] done compiling
2282OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended
2283[info] CacheAuthenticatorRepositorySpec
2284[info] The `find` method should
2285[info] + return value from cache
2286[info] + return None if value couldn't be found in cache
2287[info] The `add` method should
2288[info] + add value in cache
2289[info] The `update` method should
2290[info] + update value in cache
2291[info] The `remove` method should
2292[info] + remove value from cache
2293[info] Total for specification CacheAuthenticatorRepositorySpec
2294[info] Finished in 323 ms
2295[info] 5 examples, 0 failure, 0 error
2296[info] InMemoryAuthInfoDAOSpec
2297[info] The `find` method should
2298[info] + find an OAuth1 info for the given login info
2299[info] + return None if no OAuth1 info for the given login info exists
2300[info] The `add` method should
2301[info] + add a new OAuth1 info
2302[info] The `update` method should
2303[info] + update an existing OAuth1 info
2304[info] The `save` method should
2305[info] + insert a new OAuth1 info
2306[info] + update an existing OAuth1 info
2307[info] The `remove` method should
2308[info] + remove an OAuth1 info
2309[info] Total for specification InMemoryAuthInfoDAOSpec
2310[info] Finished in 141 ms
2311[info] 7 examples, 0 failure, 0 error
2312[info] DelegableAuthInfoRepositorySpec
2313[info] The `find` method should
2314[info] + delegate the PasswordInfo to the correct DAO
2315[info] + delegate the OAuth1Info to the correct DAO
2316[info] + delegate the OAuth2Info to the correct DAO
2317[info] + throw a ConfigurationException if an unsupported type was given
2318[info] The `add` method should
2319[info] + delegate the PasswordInfo to the correct DAO
2320[info] + delegate the OAuth1Info to the correct DAO
2321[info] + delegate the OAuth2Info to the correct DAO
2322[info] + throw a ConfigurationException if an unsupported type was given
2323[info] The `update` method should
2324[info] + delegate the PasswordInfo to the correct DAO
2325[info] + delegate the OAuth1Info to the correct DAO
2326[info] + delegate the OAuth2Info to the correct DAO
2327[info] + throw a ConfigurationException if an unsupported type was given
2328[info] The `save` method should
2329[info] + delegate the PasswordInfo to the correct DAO
2330[info] + delegate the OAuth1Info to the correct DAO
2331[info] + delegate the OAuth2Info to the correct DAO
2332[info] + throw a ConfigurationException if an unsupported type was given
2333[info] The `remove` method should
2334[info] + delegate the PasswordInfo to the correct DAO
2335[info] + delegate the OAuth1Info to the correct DAO
2336[info] + delegate the OAuth2Info to the correct DAO
2337[info] + throw a ConfigurationException if an unsupported type was given
2338[info] Total for specification DelegableAuthInfoRepositorySpec
2339[info] Finished in 342 ms
2340[info] 20 examples, 0 failure, 0 error
2341Starting build for ProjectRef(file:/build/repo/,silhouetteArgon2) (play-silhouette-password-argon2)... [3/8]
2342Compile scalacOptions: -Wconf:msg=can be rewritten automatically under:s, -source:3.8
2343[info] compiling 1 Scala source to /build/repo/silhouette-password-argon2/target/scala-3.8.0-RC2/classes ...
2344[info] done compiling
2345[info] compiling 1 Scala source to /build/repo/silhouette-password-argon2/target/scala-3.8.0-RC2/test-classes ...
2346[info] done compiling
2347[info] Argon2PasswordHasherSpec
2348[info] The `hash` method should
2349[info] + hash a password
2350[info] The `matches` method should
2351[info] + return true if a password matches a previous hashed password
2352[info] + return true if a password matches a previous hardcoded password
2353[info] + return false if a password doesn't match a previous hashed password
2354[info] + accurately match passwords greater than 72 characters
2355[info] The `isSuitable` method should
2356[info] + return true if the hasher is suitable for the given password info
2357[info] + return true if the hasher is suitable when given a password info with different iterations
2358[info] + return false if the hasher isn't suitable for the given password info
2359[info] The `isDeprecated` method should
2360[info] + return None if the hasher isn't suitable for the given password info
2361[info] + return Some(true) if the stored log rounds are not equal the hasher log rounds
2362[info] + return Some(false) if the stored log rounds are equal the hasher log rounds
2363[info] Total for specification Argon2PasswordHasherSpec
2364[info] Finished in 1 second, 469 ms
2365[info] 11 examples, 0 failure, 0 error
2366Starting build for ProjectRef(file:/build/repo/,silhouetteCas) (play-silhouette-cas)... [4/8]
2367Compile scalacOptions: -Wconf:msg=can be rewritten automatically under:s, -source:3.8
2368[info] compiling 2 Scala sources to /build/repo/silhouette-cas/target/scala-3.8.0-RC2/classes ...
2369[info] done compiling
2370[info] compiling 1 Scala source to /build/repo/silhouette-cas/target/scala-3.8.0-RC2/test-classes ...
2371[info] done compiling
2372[info] CasProviderSpec
2373[info] The settings should
2374[info] + fail with a ConfigurationException if casURL is invalid
2375[info] + fail with a ConfigurationException if redirectURL is invalid
2376[info] + fail with a ConfigurationException if encoding is empty
2377OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended
237812:28:32.677 [specs2-1] DEBUG play.silhouette.api.util.DefaultRequestExtractors$$anon$2 -- [Silhouette] Try to extract value with name `ticket` from query string:
237912:28:32.677 [specs2-2] DEBUG play.silhouette.api.util.DefaultRequestExtractors$$anon$2 -- [Silhouette] Try to extract value with name `ticket` from query string:
238012:28:32.677 [specs2-3] DEBUG play.silhouette.api.util.DefaultRequestExtractors$$anon$2 -- [Silhouette] Try to extract value with name `ticket` from query string: ticket=ST-12345678
238112:28:32.678 [specs2-4] DEBUG play.silhouette.api.util.DefaultRequestExtractors$$anon$2 -- [Silhouette] Try to extract value with name `ticket` from query string: ticket=ST-12345678
238212:28:32.694 [specs2-1] DEBUG play.silhouette.api.util.DefaultRequestExtractors$$anon$2 -- [Silhouette] Try to extract value with name `ticket` from headers: List((Host,localhost))
238312:28:32.695 [specs2-2] DEBUG play.silhouette.api.util.DefaultRequestExtractors$$anon$2 -- [Silhouette] Try to extract value with name `ticket` from headers: List((Host,localhost))
238412:28:32.721 [scala-execution-context-global-22] DEBUG play.silhouette.impl.providers.CasProfileParser -- AttributePrincipal, attributes:
238512:28:32.724 [scala-execution-context-global-22] DEBUG play.silhouette.impl.providers.CasProfileParser -- key: [picture_url], value: [http://www.gravatar]
238612:28:32.724 [scala-execution-context-global-22] DEBUG play.silhouette.impl.providers.CasProfileParser -- key: [first_name], value: [Nick]
238712:28:32.724 [scala-execution-context-global-22] DEBUG play.silhouette.impl.providers.CasProfileParser -- key: [family_name], value: [Shaw]
238812:28:32.724 [scala-execution-context-global-22] DEBUG play.silhouette.impl.providers.CasProfileParser -- key: [email], value: [email]
238912:28:32.725 [scala-execution-context-global-22] DEBUG play.silhouette.impl.providers.CasProfileParser -- key: [username], value: [314159]
2390[info] + fail with a ConfigurationException if samlTimeTolerance is negative
2391[info] The `authenticate` method should
2392[info] + redirect to CAS server if service ticket is not present in request
2393[info] + redirect to CAS server with the original requested URL if service ticket is not present in the request
2394[info] + return a valid CASAuthInfo object if service ticket is present in request
2395[info] The `retrieveProfile` method should
2396[info] + return a valid profile if the CAS client validates the ticket
2397[info] Total for specification CasProviderSpec
2398[info] Finished in 1 second, 337 ms
2399[info] 8 examples, 0 failure, 0 error
2400Starting build for ProjectRef(file:/build/repo/,silhouetteTotp) (play-silhouette-totp)... [5/8]
2401Compile scalacOptions: -Wconf:msg=can be rewritten automatically under:s, -source:3.8
2402[info] compiling 1 Scala source to /build/repo/silhouette-totp/target/scala-3.8.0-RC2/classes ...
2403[info] done compiling
2404[info] compiling 1 Scala source to /build/repo/silhouette-totp/target/scala-3.8.0-RC2/test-classes ...
2405[info] done compiling
240612:28:37.571 [specs2-1] INFO play.api.http.HttpErrorHandlerExceptions -- Registering exception handler: guice-provision-exception-handler
240712:28:37.571 [specs2-4] INFO play.api.http.HttpErrorHandlerExceptions -- Registering exception handler: guice-provision-exception-handler
240812:28:37.571 [specs2-2] INFO play.api.http.HttpErrorHandlerExceptions -- Registering exception handler: guice-provision-exception-handler
240912:28:37.571 [specs2-3] INFO play.api.http.HttpErrorHandlerExceptions -- Registering exception handler: guice-provision-exception-handler
2410OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended
2411[info] GoogleTotpProviderSpec
2412[info] The `authenticate` with verification code method should
2413[info] + return None when the sharedKey is null or empty
2414[info] + return None when the verification code is null or empty
2415[info] + return None when the verification code isn't a number
2416INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2417INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2418INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2419INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2420[info] + return valid `Some(TotpInfo)` when the verification code is correct
2421[info] The `createCredentials` method should
2422[info] + return the correct TotpCredentials shared key
2423[info] The `authenticate` with verification code method should
2424[info] + throw NullPointerException when the input totpInfo is null
2425[info] + return throw NullPointerException when the plain scratch code is null
2426INFO p.a.h.HttpErrorHandlerExceptions - Registering exception handler: guice-provision-exception-handler
2427[info] + return None when the plain scratch code is empty
2428[info] + return Some(PasswordInfo,TotpInfo) when the plain scratch code is valid
2429[info] Total for specification GoogleTotpProviderSpec
2430[info] Finished in 978 ms
2431[info] 9 examples, 0 failure, 0 error
2432Starting build for ProjectRef(file:/build/repo/,silhouetteBcrypt) (play-silhouette-password-bcrypt)... [6/8]
2433Compile scalacOptions: -Wconf:msg=can be rewritten automatically under:s, -source:3.8
2434[info] compiling 2 Scala sources to /build/repo/silhouette-password-bcrypt/target/scala-3.8.0-RC2/classes ...
2435[info] done compiling
2436[info] compiling 2 Scala sources to /build/repo/silhouette-password-bcrypt/target/scala-3.8.0-RC2/test-classes ...
2437[info] done compiling
2438[info] BCryptSha256PasswordHasherSpec
2439[info] The `hash` method should
2440[info] + hash a password
2441[info] The `matches` method should
2442[info] + return true if a password matches a previous hashed password
2443[info] + return true if a password matches a previous hardcoded password
2444[info] + return false if a password doesn't match a previous hashed password
2445[info] + accurately match passwords greater than 72 characters
2446[info] The `isSuitable` method should
2447[info] + return true if the hasher is suitable for the given password info
2448[info] + return true if the hasher is suitable when given a password info with different log rounds
2449[info] + return false if the hasher isn't suitable for the given password info
2450[info] The `isDeprecated` method should
2451[info] + return None if the hasher isn't suitable for the given password info
2452[info] + return Some(true) if the stored log rounds are not equal the hasher log rounds
2453[info] + return Some(false) if the stored log rounds are equal the hasher log rounds
2454[info] Total for specification BCryptSha256PasswordHasherSpec
2455[info] Finished in 585 ms
2456[info] 11 examples, 0 failure, 0 error
2457[info] BCryptPasswordHasherSpec
2458[info] The `hash` method should
2459[info] + hash a password
2460[info] The `matches` method should
2461[info] + return true if a password matches a previous hashed password
2462[info] + return true if a password matches a previous hardcoded password
2463[info] + return false if a password doesn't match a previous hashed password
2464[info] + not accurately match passwords greater than 72 characters
2465[info] The `isSuitable` method should
2466[info] + return true if the hasher is suitable for the given password info
2467[info] + return true if the hasher is suitable when given a password info with different log rounds
2468[info] + return false if the hasher isn't suitable for the given password info
2469[info] The `isDeprecated` method should
2470[info] + return None if the hasher isn't suitable for the given password info
2471[info] + return Some(true) if the stored log rounds are not equal the hasher log rounds
2472[info] + return Some(false) if the stored log rounds are equal the hasher log rounds
2473[info] Total for specification BCryptPasswordHasherSpec
2474[info] Finished in 496 ms
2475[info] 11 examples, 0 failure, 0 error
2476Starting build for ProjectRef(file:/build/repo/,silhouetteCryptoJca) (play-silhouette-crypto-jca)... [7/8]
2477Compile scalacOptions: -Wconf:msg=can be rewritten automatically under:s, -source:3.8
2478[info] compiling 2 Scala sources to /build/repo/silhouette-crypto-jca/target/scala-3.8.0-RC2/classes ...
2479[info] done compiling
2480[info] compiling 2 Scala sources to /build/repo/silhouette-crypto-jca/target/scala-3.8.0-RC2/test-classes ...
2481[info] done compiling
2482[info] JcaCrypterSpec
2483[info] The `decrypt` method should
2484[info] + throw a CryptoException if the format is unexpected
2485[info] + throw a CryptoException if the version is unknown
2486[info] The crypter should
2487[info] + encrypt/decrypt a string
2488[info] Total for specification JcaCrypterSpec
2489[info] Finished in 203 ms
2490[info] 3 examples, 0 failure, 0 error
2491[info] JcaSignerSpec
2492[info] The `sign` method should
2493[info] + return a signed message in the form [VERSION]-[SIGNATURE]-[DATA]
2494[info] The `extract` method should
2495[info] + throw a `CryptoException` if the message format is invalid
2496[info] + throw a `CryptoException` if the version is unknown
2497[info] + throw a `CryptoException` if the signature is invalid
2498[info] + extract a previously signed message
2499[info] Total for specification JcaSignerSpec
2500[info] Finished in 104 ms
2501[info] 5 examples, 0 failure, 0 error
2502
2503************************
2504Build summary:
2505[{
2506 "module": "play-silhouette-testkit",
2507 "compile": {"status": "ok", "tookMs": 20340, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
2508 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
2509 "test-compile": {"status": "ok", "tookMs": 3965, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
2510 "test": {"status": "ok", "tookMs": 5684, "passed": 23, "failed": 0, "ignored": 0, "skipped": 0, "total": 23, "byFramework": [{"framework": "specs2", "stats": {"passed": 23, "failed": 0, "ignored": 0, "skipped": 0, "total": 23}}]},
2511 "publish": {"status": "skipped", "tookMs": 0},
2512 "metadata": {
2513 "crossScalaVersions": ["2.13.17", "3.3.7"]
2514}
2515},{
2516 "module": "play-silhouette",
2517 "compile": {"status": "ok", "tookMs": 91, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
2518 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
2519 "test-compile": {"status": "ok", "tookMs": 22748, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
2520 "test": {"status": "ok", "tookMs": 44255, "passed": 744, "failed": 0, "ignored": 0, "skipped": 0, "total": 744, "byFramework": [{"framework": "specs2", "stats": {"passed": 744, "failed": 0, "ignored": 0, "skipped": 0, "total": 744}}]},
2521 "publish": {"status": "skipped", "tookMs": 0},
2522 "metadata": {
2523 "crossScalaVersions": ["2.13.17", "3.3.7"]
2524}
2525},{
2526 "module": "play-silhouette-persistence",
2527 "compile": {"status": "ok", "tookMs": 554, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
2528 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
2529 "test-compile": {"status": "ok", "tookMs": 1281, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
2530 "test": {"status": "ok", "tookMs": 3239, "passed": 32, "failed": 0, "ignored": 0, "skipped": 0, "total": 32, "byFramework": [{"framework": "specs2", "stats": {"passed": 32, "failed": 0, "ignored": 0, "skipped": 0, "total": 32}}]},
2531 "publish": {"status": "skipped", "tookMs": 0},
2532 "metadata": {
2533 "crossScalaVersions": ["2.13.17", "3.3.7"]
2534}
2535},{
2536 "module": "play-silhouette-password-argon2",
2537 "compile": {"status": "ok", "tookMs": 476, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
2538 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
2539 "test-compile": {"status": "ok", "tookMs": 842, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
2540 "test": {"status": "ok", "tookMs": 3008, "passed": 11, "failed": 0, "ignored": 0, "skipped": 0, "total": 11, "byFramework": [{"framework": "specs2", "stats": {"passed": 11, "failed": 0, "ignored": 0, "skipped": 0, "total": 11}}]},
2541 "publish": {"status": "skipped", "tookMs": 0},
2542 "metadata": {
2543 "crossScalaVersions": ["2.13.17", "3.3.7"]
2544}
2545},{
2546 "module": "play-silhouette-cas",
2547 "compile": {"status": "ok", "tookMs": 639, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
2548 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
2549 "test-compile": {"status": "ok", "tookMs": 1670, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
2550 "test": {"status": "ok", "tookMs": 2710, "passed": 8, "failed": 0, "ignored": 0, "skipped": 0, "total": 8, "byFramework": [{"framework": "specs2", "stats": {"passed": 8, "failed": 0, "ignored": 0, "skipped": 0, "total": 8}}]},
2551 "publish": {"status": "skipped", "tookMs": 0},
2552 "metadata": {
2553 "crossScalaVersions": ["2.13.17", "3.3.7"]
2554}
2555},{
2556 "module": "play-silhouette-totp",
2557 "compile": {"status": "ok", "tookMs": 628, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
2558 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
2559 "test-compile": {"status": "ok", "tookMs": 1400, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
2560 "test": {"status": "ok", "tookMs": 5370, "passed": 9, "failed": 0, "ignored": 0, "skipped": 0, "total": 9, "byFramework": [{"framework": "specs2", "stats": {"passed": 9, "failed": 0, "ignored": 0, "skipped": 0, "total": 9}}]},
2561 "publish": {"status": "skipped", "tookMs": 0},
2562 "metadata": {
2563 "crossScalaVersions": ["2.13.17", "3.3.7"]
2564}
2565},{
2566 "module": "play-silhouette-password-bcrypt",
2567 "compile": {"status": "ok", "tookMs": 429, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
2568 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
2569 "test-compile": {"status": "ok", "tookMs": 937, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
2570 "test": {"status": "ok", "tookMs": 2456, "passed": 22, "failed": 0, "ignored": 0, "skipped": 0, "total": 22, "byFramework": [{"framework": "specs2", "stats": {"passed": 22, "failed": 0, "ignored": 0, "skipped": 0, "total": 22}}]},
2571 "publish": {"status": "skipped", "tookMs": 0},
2572 "metadata": {
2573 "crossScalaVersions": ["2.13.17", "3.3.7"]
2574}
2575},{
2576 "module": "play-silhouette-crypto-jca",
2577 "compile": {"status": "ok", "tookMs": 518, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
2578 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
2579 "test-compile": {"status": "ok", "tookMs": 827, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
2580 "test": {"status": "ok", "tookMs": 1418, "passed": 8, "failed": 0, "ignored": 0, "skipped": 0, "total": 8, "byFramework": [{"framework": "specs2", "stats": {"passed": 8, "failed": 0, "ignored": 0, "skipped": 0, "total": 8}}]},
2581 "publish": {"status": "skipped", "tookMs": 0},
2582 "metadata": {
2583 "crossScalaVersions": ["2.13.17", "3.3.7"]
2584}
2585}]
2586************************
2587[success] Total time: 142 s (0:02:22.0), completed Nov 28, 2025, 12:28:50 PM
2588[0JChecking patch project/plugins.sbt...
2589Checking patch build.sbt...
2590Applied patch project/plugins.sbt cleanly.
2591Applied patch build.sbt cleanly.