Build Logs

polyvariant/sttp-oauth2 • 3.8.0-RC5:2025-12-31

Errors

0

Warnings

34

Total Lines

641

1##################################
2Clonning https://github.com/polyvariant/sttp-oauth2.git into /build/repo using revision v0.21.0
3##################################
4Note: switching to 'cd49ea5783f94654211f07b05a8138ed290073a4'.
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
22----
23Preparing build for 3.8.0-RC5
24Scala binary version found: 3.8
25Implicitly using source version 3.8
26Scala binary version found: 3.8
27Implicitly using source version 3.8
28Would try to apply common scalacOption (best-effort, sbt/mill only):
29Append: ,REQUIRE:-source:3.8
30Remove: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
31
32Try apply source patch:
33Path: build.sbt
34Pattern: val Scala3 = "3.3.7"
35Replacement: val Scala3 = "3.8.0-RC5"
36Starting compilation server
37Compiling project (Scala 3.7.3, JVM (17))
38Compiled project (Scala 3.7.3, JVM (17))
39Successfully applied pattern 'val Scala3 = "3.3.7"' in build.sbt
40----
41Starting build for 3.8.0-RC5
42Execute tests: true
43sbt project found:
44No prepare script found for project polyvariant/sttp-oauth2
45##################################
46Scala version: 3.8.0-RC5
47Targets: org.polyvariant%sttp-oauth2 org.polyvariant%sttp-oauth2-cache org.polyvariant%sttp-oauth2-cache-cats org.polyvariant%sttp-oauth2-cache-future org.polyvariant%sttp-oauth2-cache-scalacache org.polyvariant%sttp-oauth2-cache-zio org.polyvariant%sttp-oauth2-circe org.polyvariant%sttp-oauth2-jsoniter org.polyvariant%sttp-oauth2-zio-json
48Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"build.sbt","pattern":"val Scala3 = \"3.3.7\"","replaceWith":"val Scala3 = \"<SCALA_VERSION>\""}]}
49##################################
50Using extra scalacOptions: ,REQUIRE:-source:3.8
51Filtering out scalacOptions: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
52[sbt_options] declare -a sbt_options=()
53[process_args] java_version = '17'
54[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8/rt.jar'
55# Executing command line:
56java
57-Dfile.encoding=UTF8
58-Xms1G
59-Xmx5G
60-XX:ReservedCodeCacheSize=500M
61-XX:+TieredCompilation
62-XX:+UseParallelGC
63-Dcommunitybuild.scala=3.8.0-RC5
64-Dcommunitybuild.project.dependencies.add=
65-Xmx7G
66-Xms4G
67-Xss8M
68-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
69-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8
70-jar
71/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
72"setCrossScalaVersions 3.8.0-RC5"
73"++3.8.0-RC5 -v"
74"mapScalacOptions ",REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s" ",-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
75"set every credentials := Nil"
76"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
77"removeScalacOptionsStartingWith -P:wartremover"
78
79moduleMappings
80"runBuild 3.8.0-RC5 """{"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"build.sbt","pattern":"val Scala3 = \"3.3.7\"","replaceWith":"val Scala3 = \"<SCALA_VERSION>\""}]}""" org.polyvariant%sttp-oauth2 org.polyvariant%sttp-oauth2-cache org.polyvariant%sttp-oauth2-cache-cats org.polyvariant%sttp-oauth2-cache-future org.polyvariant%sttp-oauth2-cache-scalacache org.polyvariant%sttp-oauth2-cache-zio org.polyvariant%sttp-oauth2-circe org.polyvariant%sttp-oauth2-jsoniter org.polyvariant%sttp-oauth2-zio-json"
81
82[info] [launcher] getting org.scala-sbt sbt 1.11.7 (this may take some time)...
83[info] welcome to sbt 1.11.7 (Eclipse Adoptium Java 17.0.8)
84[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
85[info] loading project definition from /build/repo/project
86[info] compiling 2 Scala sources to /build/repo/project/target/scala-2.12/sbt-1.0/classes ...
87[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.20. Compiling...
88[info] Compilation completed in 7.72s.
89[info] done compiling
90[info] loading settings for project root from build.sbt...
91[info] resolving key references (15519 settings) ...
92[info] set current project to root (in build file:/build/repo/)
93Execute setCrossScalaVersions: 3.8.0-RC5
94OpenCB::Changing crossVersion 3.8.0-RC5 -> 3.8.0-RC5 in oauth2-jsoniter/crossScalaVersions
95OpenCB::Changing crossVersion 3.8.0-RC5 -> 3.8.0-RC5 in oauth2-cache-cats/crossScalaVersions
96OpenCB::Changing crossVersion 3.8.0-RC5 -> 3.8.0-RC5 in oauth2/crossScalaVersions
97OpenCB::Changing crossVersion 3.8.0-RC5 -> 3.8.0-RC5 in oauth2-jsoniterJS/crossScalaVersions
98OpenCB::Changing crossVersion 3.8.0-RC5 -> 3.8.0-RC5 in oauth2-circe/crossScalaVersions
99OpenCB::Changing crossVersion 3.8.0-RC5 -> 3.8.0-RC5 in oauth2-cache/crossScalaVersions
100OpenCB::Changing crossVersion 3.8.0-RC5 -> 3.8.0-RC5 in oauth2-cache-zio/crossScalaVersions
101OpenCB::Changing crossVersion 3.8.0-RC5 -> 3.8.0-RC5 in oauth2-cache-future/crossScalaVersions
102OpenCB::Changing crossVersion 3.8.0-RC5 -> 3.8.0-RC5 in oauth2-circeJS/crossScalaVersions
103OpenCB::Changing crossVersion 3.8.0-RC5 -> 3.8.0-RC5 in oauth2-zio-json/crossScalaVersions
104OpenCB::Changing crossVersion 3.8.0-RC5 -> 3.8.0-RC5 in docs/crossScalaVersions
105OpenCB::Changing crossVersion 3.8.0-RC5 -> 3.8.0-RC5 in oauth2-zio-jsonJS/crossScalaVersions
106OpenCB::Changing crossVersion 3.8.0-RC5 -> 3.8.0-RC5 in root/crossScalaVersions
107OpenCB::Changing crossVersion 3.8.0-RC5 -> 3.8.0-RC5 in oauth2-cache-futureJS/crossScalaVersions
108OpenCB::Changing crossVersion 3.8.0-RC5 -> 3.8.0-RC5 in oauth2-cache-scalacache/crossScalaVersions
109OpenCB::Changing crossVersion 3.8.0-RC5 -> 3.8.0-RC5 in oauth2JS/crossScalaVersions
110OpenCB::Changing crossVersion 3.8.0-RC5 -> 3.8.0-RC5 in oauth2-cacheJS/crossScalaVersions
111[info] set current project to root (in build file:/build/repo/)
112[info] Setting Scala version to 3.8.0-RC5 on 17 projects.
113[info] Switching Scala version on:
114[info] oauth2-jsoniter (2.12.21, 2.13.18, 3.8.0-RC5)
115[info] oauth2JS (2.12.21, 2.13.18, 3.8.0-RC5)
116[info] oauth2-cacheJS (2.12.21, 2.13.18, 3.8.0-RC5)
117[info] oauth2-cache-zio (2.12.21, 2.13.18, 3.8.0-RC5)
118[info] oauth2-jsoniterJS (2.12.21, 2.13.18, 3.8.0-RC5)
119[info] * root (2.12.21, 2.13.18, 3.8.0-RC5)
120[info] oauth2-cache-scalacache (2.12.21, 2.13.18, 3.8.0-RC5)
121[info] docs (2.12.21, 2.13.18, 3.8.0-RC5)
122[info] oauth2-circe (2.12.21, 2.13.18, 3.8.0-RC5)
123[info] oauth2-cache-cats (2.12.21, 2.13.18, 3.8.0-RC5)
124[info] oauth2-zio-jsonJS (2.12.21, 2.13.18, 3.8.0-RC5)
125[info] oauth2-cache-future (2.12.21, 2.13.18, 3.8.0-RC5)
126[info] oauth2-circeJS (2.12.21, 2.13.18, 3.8.0-RC5)
127[info] oauth2-cache (2.12.21, 2.13.18, 3.8.0-RC5)
128[info] oauth2-cache-futureJS (2.12.21, 2.13.18, 3.8.0-RC5)
129[info] oauth2-zio-json (2.12.21, 2.13.18, 3.8.0-RC5)
130[info] oauth2 (2.12.21, 2.13.18, 3.8.0-RC5)
131[info] Excluding projects:
132[info] Reapplying settings...
133[info] set current project to root (in build file:/build/repo/)
134Execute mapScalacOptions: ,REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
135[info] Reapplying settings...
136[info] set current project to root (in build file:/build/repo/)
137[info] Defining Global / credentials, credentials and 15 others.
138[info] The new values will be used by Global / pgpSelectPassphrase, Global / pgpSigningKey and 84 others.
139[info] Run `last` for details.
140[info] Reapplying settings...
141[info] set current project to root (in build file:/build/repo/)
142Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
143[info] Reapplying settings...
144OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
145
146 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
147 Did you mean oauth2-cache-futureJS / allExcludeDependencies ?
148 , retry without global scopes
149[info] Reapplying settings...
150[info] set current project to root (in build file:/build/repo/)
151Execute removeScalacOptionsStartingWith: -P:wartremover
152[info] Reapplying settings...
153[info] set current project to root (in build file:/build/repo/)
154[success] Total time: 0 s, completed Dec 31, 2025, 9:30:38 PM
155Build config: {"projects":{"exclude":[],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"build.sbt","pattern":"val Scala3 = \"3.3.7\"","replaceWith":"val Scala3 = \"<SCALA_VERSION>\""}]}
156Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),Full,List()))
157Starting build...
158Projects: Set(oauth2-jsoniter, oauth2-cache-zio, oauth2-cache-scalacache, oauth2-circe, oauth2-cache-cats, oauth2-cache-future, oauth2-cache, oauth2-zio-json, oauth2)
159Starting build for ProjectRef(file:/build/repo/,oauth2-jsoniter) (sttp-oauth2-jsoniter)... [0/9]
160OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
161OpenCB::Filter out '-feature', matches setting pattern '^-?-feature'
162OpenCB::Filter out '-Xfatal-warnings', matches setting pattern '^-?-Xfatal-warnings'
163Compile scalacOptions: -encoding, utf8, -unchecked, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -Ykind-projector, -Wconf:cat=deprecation:info, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
164[info] compiling 23 Scala sources to /build/repo/oauth2/jvm/target/scala-3.8.0-RC5/classes ...
165[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
166[warn] one warning found
167[info] done compiling
168[info] compiling 2 Scala sources to /build/repo/oauth2-jsoniter/jvm/target/scala-3.8.0-RC5/classes ...
169[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
170[warn] one warning found
171[info] done compiling
172[info] compiling 16 Scala sources to /build/repo/oauth2/jvm/target/scala-3.8.0-RC5/test-classes ...
173[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
174[warn] one warning found
175[info] done compiling
176[info] compiling 1 Scala source to /build/repo/oauth2-jsoniter/jvm/target/scala-3.8.0-RC5/test-classes ...
177[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
178[warn] one warning found
179[info] done compiling
180[info] JsoniterJsonSpec:
181[info] token response JSON
182[info] - should be deserialized to proper case class
183[info] Token with no scope
184[info] - should be deserialized
185[info] Token with empty scope
186[info] - should be deserialized with None scope
187[info] Token with malformed scope
188[info] - should not be deserialized
189[info] Token with wildcard scope
190[info] - should not be deserialized
191[info] Token with multiple scope tokens
192[info] - should be deserialized
193[info] Token with wrong type
194[info] - should not be deserialized
195[info] token response JSON
196[info] - should be deserialized to proper response
197[info] token response JSON without scope
198[info] - should be deserialized to proper response
199[info] token response JSON with empty scope
200[info] - should be deserialized to proper response with None scope
201[info] JSON with error
202[info] - should be deserialized to proper type
203[info] JSON with error without optional fields
204[info] - should be deserialized to proper type
205[info] Token
206[info] - should deserialize token introspection response with a string audience
207[info] Token
208[info] - should deserialize token introspection response with a array of audiences
209[info] UserInfo
210[info] - should deserialize incomplete user info
211[info] UserInfo
212[info] - should deserialize complete user info
213[info] Token
214[info] - should deserialize OAuth2Token
215[info] Token
216[info] - should deserialize RefreshTokenResponse
217[info] invalid_request error JSON
218[info] - should be deserialized to InvalidRequest
219[info] invalid_client error JSON
220[info] - should be deserialized to InvalidClient
221[info] invalid_grant error JSON
222[info] - should be deserialized to InvalidGrant
223[info] unauthorized_client error JSON
224[info] - should be deserialized to UnauthorizedClient
225[info] unsupported_grant_type error JSON
226[info] - should be deserialized to InvalidGrant
227[info] invalid_scope error JSON
228[info] - should be deserialized to InvalidGrant
229[info] invalid_token error JSON
230[info] - should be deserialized to Unknown
231[info] insufficient_scope error JSON
232[info] - should be deserialized to Unknown
233[info] unknown error JSON
234[info] - should be deserialized to Unknown
235[info] JSON in wrong format
236[info] - should not be deserialized
237Starting build for ProjectRef(file:/build/repo/,oauth2-cache-future) (sttp-oauth2-cache-future)... [1/9]
238Compile scalacOptions: -encoding, utf8, -unchecked, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -Ykind-projector, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
239[info] compiling 1 Scala source to /build/repo/oauth2-cache/jvm/target/scala-3.8.0-RC5/classes ...
240[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
241[warn] one warning found
242[info] done compiling
243[info] compiling 3 Scala sources to /build/repo/oauth2-cache-future/jvm/target/scala-3.8.0-RC5/classes ...
244[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
245[warn] one warning found
246[info] done compiling
247[info] compiling 4 Scala sources to /build/repo/oauth2-cache-future/jvm/target/scala-3.8.0-RC5/test-classes ...
248[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
249[warn] one warning found
250[info] done compiling
251[info] FutureCachingAccessTokenProviderSpec:
252[info] CachingAccessTokenProvider
253[info] - should delegate token retrieval on first call
254[info] - should decrease expiresIn in second read
255[info] - should not refresh token before expiration
256[info] - should ask for token again after expiration
257[info] MonixFutureCacheSpec:
258[info] MonixFutureCache
259[info] - should return nothing on empty cache
260[info] - should store and retrieve value immediately
261[info] - should return value right before expiration boundary
262[info] - should not return value if expired
263[info] - should remove value on expired get
264Starting build for ProjectRef(file:/build/repo/,oauth2-zio-json) (sttp-oauth2-zio-json)... [2/9]
265Compile scalacOptions: -encoding, utf8, -unchecked, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -Ykind-projector, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
266[info] compiling 2 Scala sources to /build/repo/oauth2-zio-json/jvm/target/scala-3.8.0-RC5/classes ...
267[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
268[warn] one warning found
269[info] done compiling
270[info] compiling 1 Scala source to /build/repo/oauth2-zio-json/jvm/target/scala-3.8.0-RC5/test-classes ...
271[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
272[warn] one warning found
273[info] done compiling
274[info] ZioJsonSpec:
275[info] token response JSON
276[info] - should be deserialized to proper case class
277[info] Token with no scope
278[info] - should be deserialized
279[info] Token with empty scope
280[info] - should be deserialized with None scope
281[info] Token with malformed scope
282[info] - should not be deserialized
283[info] Token with wildcard scope
284[info] - should not be deserialized
285[info] Token with multiple scope tokens
286[info] - should be deserialized
287[info] Token with wrong type
288[info] - should not be deserialized
289[info] token response JSON
290[info] - should be deserialized to proper response
291[info] token response JSON without scope
292[info] - should be deserialized to proper response
293[info] token response JSON with empty scope
294[info] - should be deserialized to proper response with None scope
295[info] JSON with error
296[info] - should be deserialized to proper type
297[info] JSON with error without optional fields
298[info] - should be deserialized to proper type
299[info] Token
300[info] - should deserialize token introspection response with a string audience
301[info] Token
302[info] - should deserialize token introspection response with a array of audiences
303[info] UserInfo
304[info] - should deserialize incomplete user info
305[info] UserInfo
306[info] - should deserialize complete user info
307[info] Token
308[info] - should deserialize OAuth2Token
309[info] Token
310[info] - should deserialize RefreshTokenResponse
311[info] invalid_request error JSON
312[info] - should be deserialized to InvalidRequest
313[info] invalid_client error JSON
314[info] - should be deserialized to InvalidClient
315[info] invalid_grant error JSON
316[info] - should be deserialized to InvalidGrant
317[info] unauthorized_client error JSON
318[info] - should be deserialized to UnauthorizedClient
319[info] unsupported_grant_type error JSON
320[info] - should be deserialized to InvalidGrant
321[info] invalid_scope error JSON
322[info] - should be deserialized to InvalidGrant
323[info] invalid_token error JSON
324[info] - should be deserialized to Unknown
325[info] insufficient_scope error JSON
326[info] - should be deserialized to Unknown
327[info] unknown error JSON
328[info] - should be deserialized to Unknown
329[info] JSON in wrong format
330[info] - should not be deserialized
331Starting build for ProjectRef(file:/build/repo/,oauth2-cache-cats) (sttp-oauth2-cache-cats)... [3/9]
332Compile scalacOptions: -encoding, utf8, -unchecked, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -Ykind-projector, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
333[info] compiling 3 Scala sources to /build/repo/oauth2-cache-cats/target/scala-3.8.0-RC5/classes ...
334[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
335[warn] one warning found
336[info] done compiling
337[info] compiling 5 Scala sources to /build/repo/oauth2-cache-cats/target/scala-3.8.0-RC5/test-classes ...
338[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
339[warn] one warning found
340[info] done compiling
341[info] CatsRefExpiringCacheSpec:
342[info] Cache
343[info] - should return nothing on empty cache
344[info] - should store and retrieve value immediately
345[info] - should return value right before expiration boundary
346[info] - should not return value if expired
347[info] - should remove value on expired get
348[info] CachingTokenIntrospectionSpec:
349[info] CachingTokenIntrospection
350[info] - should delegate token retrieval on first call
351[info] - should return cached response if it's not yet expired
352[info] - should fetch the new introspection result if the cache has expired
353[info] - should fetch the new introspection result if the cache has reached the default ttl
354[info] CachingAccessTokenProviderSpec:
355[info] CachingAccessTokenProvider
356[info] - should delegate token retrieval on first call
357[info] - should decrease expiresIn in second read
358[info] - should not refresh token before expiration
359[info] - should ask for token again after expiration
360[info] CachingAccessTokenProviderParallelSpec:
361[info] CachingAccessTokenProvider
362[info] - should block multiple parallel
363[info] - should not block multiple parallel access if its already in cache
364Starting build for ProjectRef(file:/build/repo/,oauth2-circe) (sttp-oauth2-circe)... [4/9]
365Compile scalacOptions: -encoding, utf8, -unchecked, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -Ykind-projector, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
366[info] compiling 2 Scala sources to /build/repo/oauth2-circe/jvm/target/scala-3.8.0-RC5/classes ...
367[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
368[warn] one warning found
369[info] done compiling
370[info] compiling 1 Scala source to /build/repo/oauth2-circe/jvm/target/scala-3.8.0-RC5/test-classes ...
371[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
372[warn] one warning found
373[info] done compiling
374[info] CirceJsonSpec:
375[info] token response JSON
376[info] - should be deserialized to proper case class
377[info] Token with no scope
378[info] - should be deserialized
379[info] Token with empty scope
380[info] - should be deserialized with None scope
381[info] Token with malformed scope
382[info] - should not be deserialized
383[info] Token with wildcard scope
384[info] - should not be deserialized
385[info] Token with multiple scope tokens
386[info] - should be deserialized
387[info] Token with wrong type
388[info] - should not be deserialized
389[info] token response JSON
390[info] - should be deserialized to proper response
391[info] token response JSON without scope
392[info] - should be deserialized to proper response
393[info] token response JSON with empty scope
394[info] - should be deserialized to proper response with None scope
395[info] JSON with error
396[info] - should be deserialized to proper type
397[info] JSON with error without optional fields
398[info] - should be deserialized to proper type
399[info] Token
400[info] - should deserialize token introspection response with a string audience
401[info] Token
402[info] - should deserialize token introspection response with a array of audiences
403[info] UserInfo
404[info] - should deserialize incomplete user info
405[info] UserInfo
406[info] - should deserialize complete user info
407[info] Token
408[info] - should deserialize OAuth2Token
409[info] Token
410[info] - should deserialize RefreshTokenResponse
411[info] invalid_request error JSON
412[info] - should be deserialized to InvalidRequest
413[info] invalid_client error JSON
414[info] - should be deserialized to InvalidClient
415[info] invalid_grant error JSON
416[info] - should be deserialized to InvalidGrant
417[info] unauthorized_client error JSON
418[info] - should be deserialized to UnauthorizedClient
419[info] unsupported_grant_type error JSON
420[info] - should be deserialized to InvalidGrant
421[info] invalid_scope error JSON
422[info] - should be deserialized to InvalidGrant
423[info] invalid_token error JSON
424[info] - should be deserialized to Unknown
425[info] insufficient_scope error JSON
426[info] - should be deserialized to Unknown
427[info] unknown error JSON
428[info] - should be deserialized to Unknown
429[info] JSON in wrong format
430[info] - should not be deserialized
431Starting build for ProjectRef(file:/build/repo/,oauth2-cache-zio) (sttp-oauth2-cache-zio)... [5/9]
432Compile scalacOptions: -encoding, utf8, -unchecked, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -Ykind-projector:underscores, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
433[info] compiling 2 Scala sources to /build/repo/oauth2-cache-zio/target/scala-3.8.0-RC5/classes ...
434[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
435[warn] one warning found
436[info] done compiling
437[info] compiling 4 Scala sources to /build/repo/oauth2-cache-zio/target/scala-3.8.0-RC5/test-classes ...
438[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
439[warn] one warning found
440[info] done compiling
441+ Cache
442 + return nothing on empty cache
443 + store and retrieve value immediately
444 + return value right before expiration boundary
445 + not return value if expired
446 + remove value on expired get
447+ CachingAccessTokenProvider
448 + delegate token retrieval on first call
449 + ask for token again after expiration
450 + not refresh token before expiration
451 + decrease expiresIn in second read
452+ CachingAccessTokenProvider
453 + not block multiple parallel access if its already in cache
454 + block multiple parallel
45511 tests passed. 0 tests failed. 0 tests ignored.
456
457Executed in 1 s 167 ms
458
459Starting build for ProjectRef(file:/build/repo/,oauth2-cache-scalacache) (sttp-oauth2-cache-scalacache)... [6/9]
460Compile scalacOptions: -encoding, utf8, -unchecked, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -Ykind-projector, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
461[info] compiling 1 Scala source to /build/repo/oauth2-cache-scalacache/target/scala-3.8.0-RC5/classes ...
462[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
463[warn] one warning found
464[info] done compiling
465[info] compiling 1 Scala source to /build/repo/oauth2-cache-scalacache/target/scala-3.8.0-RC5/test-classes ...
466[warn] Option -Ykind-projector is deprecated: Use -Xkind-projector instead.
467[warn] one warning found
468[info] done compiling
469SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
470SLF4J: Defaulting to no-operation (NOP) logger implementation
471SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
472[info] ScalacacheExpiringCacheSpec:
473[info] Cache
474[info] - should return nothing on empty cache
475[info] - should store and retrieve value immediately
476[info] - should return value right before expiration boundary
477[info] - should not return value if expired
478[info] - should remove value when expired
479Starting build for ProjectRef(file:/build/repo/,oauth2) (sttp-oauth2)... [7/9]
480Compile scalacOptions: -encoding, utf8, -unchecked, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -Ykind-projector, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
481[info] ValidScopeTest:
482[info] Scope
483[info] - should be created according to RFC allowed characters
484[info] - should not be created for empty string
485[info] - should not be created for characters outside allowed range
486[info] ClientCredentialsSpec:
487[info] ClientCredentials.requestToken
488[info] - should successfully request token
489[info] - should support invalid_client OAuth2 error
490[info] - should support invalid_request OAuth2 error
491[info] - should support invalid_grant OAuth2 error
492[info] - should support unauthorized_client OAuth2 error
493[info] - should support unsupported_grant_type OAuth2 error
494[info] - should support invalid_scope OAuth2 error
495[info] - should fail on unknown error
496[info] ClientCredentials.introspectToken
497[info] - should successfully introspect token
498[info] - should support invalid_client OAuth2 error
499[info] - should support invalid_request OAuth2 error
500[info] - should support invalid_grant OAuth2 error
501[info] - should support unauthorized_client OAuth2 error
502[info] - should support unsupported_grant_type OAuth2 error
503[info] - should support invalid_scope OAuth2 error
504[info] - should fail on unknown error
505[info] AuthorizationCodeProviderSpec:
506[info] Default instance
507[info] can loginLink
508[info] - should generate basic login link with default values
509[info] - should generate login link with including state
510[info] - should generate login link with including scopes
511[info] can logoutLink
512[info] - should generate basic logout link with default values
513[info] - should generate logout link respecting post logout uri
514[info] Custom instance
515[info] can loginLink
516[info] - should generate basic login link with default values
517[info] - should generate login link with including state
518[info] - should generate login link with including scopes
519[info] can logoutLink
520[info] - should generate basic logout link with default values
521[info] - should generate logout link respecting post logout uri
522[info] SttpOauth2ClientCredentialsBackendSpec:
523[info] SttpOauth2ClientCredentialsBackend
524[info] when TestApp is invoked once
525[info] - should request a token. add the token to the TestApp request
526[info] AuthorizationCodeSpec:
527[info] loginLink
528[info] - should generate basic login link with default values
529[info] - should ignore extra path elements in base uri
530[info] - should generate login link with including state
531[info] - should generate login link with including scopes
532[info] logoutLink
533[info] - should generate basic logout link with default values
534[info] - should generate logout link respecting post logout uri
535[info] authCodeToToken
536[info] - should decode valid extended response
537[info] - should decode valid basic response
538[info] - should fail effect with circe error on decode error
539[info] - should fail effect with runtime error on all other errors
540Starting build for ProjectRef(file:/build/repo/,oauth2-cache) (sttp-oauth2-cache)... [8/9]
541Compile scalacOptions: -encoding, utf8, -unchecked, -language:experimental.macros, -language:higherKinds, -language:implicitConversions, -Ykind-projector, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
542
543************************
544Build summary:
545[{
546 "module": "sttp-oauth2-jsoniter",
547 "compile": {"status": "ok", "tookMs": 12605, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
548 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
549 "test-compile": {"status": "ok", "tookMs": 6794, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
550 "test": {"status": "ok", "tookMs": 946, "passed": 28, "failed": 0, "ignored": 0, "skipped": 0, "total": 28, "byFramework": [{"framework": "unknown", "stats": {"passed": 28, "failed": 0, "ignored": 0, "skipped": 0, "total": 28}}]},
551 "publish": {"status": "skipped", "tookMs": 0},
552 "metadata": {
553 "crossScalaVersions": ["2.12.21", "2.13.18", "3.3.7"]
554}
555},{
556 "module": "sttp-oauth2-cache-future",
557 "compile": {"status": "ok", "tookMs": 1393, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
558 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
559 "test-compile": {"status": "ok", "tookMs": 1150, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
560 "test": {"status": "ok", "tookMs": 1344, "passed": 9, "failed": 0, "ignored": 0, "skipped": 0, "total": 9, "byFramework": [{"framework": "unknown", "stats": {"passed": 9, "failed": 0, "ignored": 0, "skipped": 0, "total": 9}}]},
561 "publish": {"status": "skipped", "tookMs": 0},
562 "metadata": {
563 "crossScalaVersions": ["2.12.21", "2.13.18", "3.3.7"]
564}
565},{
566 "module": "sttp-oauth2-zio-json",
567 "compile": {"status": "ok", "tookMs": 2536, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
568 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
569 "test-compile": {"status": "ok", "tookMs": 606, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
570 "test": {"status": "ok", "tookMs": 398, "passed": 28, "failed": 0, "ignored": 0, "skipped": 0, "total": 28, "byFramework": [{"framework": "unknown", "stats": {"passed": 28, "failed": 0, "ignored": 0, "skipped": 0, "total": 28}}]},
571 "publish": {"status": "skipped", "tookMs": 0},
572 "metadata": {
573 "crossScalaVersions": ["2.12.21", "2.13.18", "3.3.7"]
574}
575},{
576 "module": "sttp-oauth2-cache-cats",
577 "compile": {"status": "ok", "tookMs": 1463, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
578 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
579 "test-compile": {"status": "ok", "tookMs": 2087, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
580 "test": {"status": "ok", "tookMs": 2566, "passed": 15, "failed": 0, "ignored": 0, "skipped": 0, "total": 15, "byFramework": [{"framework": "unknown", "stats": {"passed": 15, "failed": 0, "ignored": 0, "skipped": 0, "total": 15}}]},
581 "publish": {"status": "skipped", "tookMs": 0},
582 "metadata": {
583 "crossScalaVersions": ["2.12.21", "2.13.18", "3.3.7"]
584}
585},{
586 "module": "sttp-oauth2-circe",
587 "compile": {"status": "ok", "tookMs": 969, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
588 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
589 "test-compile": {"status": "ok", "tookMs": 510, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
590 "test": {"status": "ok", "tookMs": 486, "passed": 28, "failed": 0, "ignored": 0, "skipped": 0, "total": 28, "byFramework": [{"framework": "unknown", "stats": {"passed": 28, "failed": 0, "ignored": 0, "skipped": 0, "total": 28}}]},
591 "publish": {"status": "skipped", "tookMs": 0},
592 "metadata": {
593 "crossScalaVersions": ["2.12.21", "2.13.18", "3.3.7"]
594}
595},{
596 "module": "sttp-oauth2-cache-zio",
597 "compile": {"status": "ok", "tookMs": 545, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
598 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
599 "test-compile": {"status": "ok", "tookMs": 1097, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
600 "test": {"status": "ok", "tookMs": 1817, "passed": 11, "failed": 0, "ignored": 0, "skipped": 0, "total": 11, "byFramework": [{"framework": "unknown", "stats": {"passed": 11, "failed": 0, "ignored": 0, "skipped": 0, "total": 11}}]},
601 "publish": {"status": "skipped", "tookMs": 0},
602 "metadata": {
603 "crossScalaVersions": ["2.12.21", "2.13.18", "3.3.7"]
604}
605},{
606 "module": "sttp-oauth2-cache-scalacache",
607 "compile": {"status": "ok", "tookMs": 783, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
608 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
609 "test-compile": {"status": "ok", "tookMs": 999, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
610 "test": {"status": "ok", "tookMs": 556, "passed": 5, "failed": 0, "ignored": 0, "skipped": 0, "total": 5, "byFramework": [{"framework": "unknown", "stats": {"passed": 5, "failed": 0, "ignored": 0, "skipped": 0, "total": 5}}]},
611 "publish": {"status": "skipped", "tookMs": 0},
612 "metadata": {
613 "crossScalaVersions": ["2.12.21", "2.13.18", "3.3.7"]
614}
615},{
616 "module": "sttp-oauth2",
617 "compile": {"status": "ok", "tookMs": 34, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
618 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
619 "test-compile": {"status": "ok", "tookMs": 54, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
620 "test": {"status": "ok", "tookMs": 398, "passed": 40, "failed": 0, "ignored": 0, "skipped": 0, "total": 40, "byFramework": [{"framework": "unknown", "stats": {"passed": 40, "failed": 0, "ignored": 0, "skipped": 0, "total": 40}}]},
621 "publish": {"status": "skipped", "tookMs": 0},
622 "metadata": {
623 "crossScalaVersions": ["2.12.21", "2.13.18", "3.3.7"]
624}
625},{
626 "module": "sttp-oauth2-cache",
627 "compile": {"status": "ok", "tookMs": 67, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
628 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
629 "test-compile": {"status": "ok", "tookMs": 84, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
630 "test": {"status": "ok", "tookMs": 78, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
631 "publish": {"status": "skipped", "tookMs": 0},
632 "metadata": {
633 "crossScalaVersions": ["2.12.21", "2.13.18", "3.3.7"]
634}
635}]
636************************
637[success] Total time: 50 s, completed Dec 31, 2025, 9:31:28 PM
638[0JChecking patch project/plugins.sbt...
639Checking patch build.sbt...
640Applied patch project/plugins.sbt cleanly.
641Applied patch build.sbt cleanly.