Compare commits
38 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| dbce9b5b66 | |||
| 48ac47418d | |||
| 66ceb4dc10 | |||
| f87101ae22 | |||
| 6cb41fb777 | |||
| 8382f458f0 | |||
| 5706c0f072 | |||
| 9677bd83b1 | |||
| 0f5125724c | |||
| a2aeb95b59 | |||
| 320567128a | |||
| 0286d368c3 | |||
| 669587409f | |||
| a6d19474c4 | |||
| 7ef3f61924 | |||
| 6d14482378 | |||
| dc5f2444ae | |||
| bdfd6f9f92 | |||
| c0378b9d35 | |||
| bcfbd2dee5 | |||
| a36baffb3a | |||
| 2ee455b7bf | |||
| c2d8939cf7 | |||
| fd615535b3 | |||
| c502312719 | |||
| 20baa7d409 | |||
| 910b81928f | |||
| d9276ed8f3 | |||
| b667cbbb86 | |||
| 019c27b0a0 | |||
| f26387a4b7 | |||
| 72acc2959e | |||
| a5b97bb569 | |||
| 6e6d382357 | |||
| 65f788532e | |||
| 2c297fbd63 | |||
| 57c5ec26e7 | |||
| 7b1f574769 |
@@ -19,4 +19,4 @@ jobs:
|
||||
path: ~/.gradle/caches
|
||||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
|
||||
- name: Build with Gradle
|
||||
run: ./gradlew clean build --continue
|
||||
run: ./gradlew clean build --continue --scan
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -14,13 +14,13 @@ com.puppycrawl.tools:checkstyle:8.32
|
||||
commons-beanutils:commons-beanutils:1.9.4
|
||||
commons-collections:commons-collections:3.2.2
|
||||
info.picocli:picocli:4.2.0
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
io.spring.javaformat:spring-javaformat-checkstyle:0.0.24
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
io.spring.javaformat:spring-javaformat-checkstyle:0.0.25
|
||||
io.spring.nohttp:nohttp-checkstyle:0.0.3.RELEASE
|
||||
io.spring.nohttp:nohttp:0.0.3.RELEASE
|
||||
net.sf.saxon:Saxon-HE:9.9.1-7
|
||||
org.antlr:antlr4-runtime:4.8-1
|
||||
org.checkerframework:checker-qual:2.11.1
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-aop:5.2.8.RELEASE
|
||||
org.springframework:spring-beans:5.2.8.RELEASE
|
||||
org.springframework:spring-context:5.2.8.RELEASE
|
||||
org.springframework:spring-core:5.2.8.RELEASE
|
||||
org.springframework:spring-expression:5.2.8.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.springframework:spring-jcl:5.2.8.RELEASE
|
||||
org.springframework:spring-jdbc:5.2.8.RELEASE
|
||||
org.springframework:spring-tx:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-aop:5.2.9.RELEASE
|
||||
org.springframework:spring-beans:5.2.9.RELEASE
|
||||
org.springframework:spring-context:5.2.9.RELEASE
|
||||
org.springframework:spring-core:5.2.9.RELEASE
|
||||
org.springframework:spring-expression:5.2.9.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
org.springframework:spring-jcl:5.2.9.RELEASE
|
||||
org.springframework:spring-jdbc:5.2.9.RELEASE
|
||||
org.springframework:spring-tx:5.2.9.RELEASE
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-aop:5.2.8.RELEASE
|
||||
org.springframework:spring-beans:5.2.8.RELEASE
|
||||
org.springframework:spring-context:5.2.8.RELEASE
|
||||
org.springframework:spring-core:5.2.8.RELEASE
|
||||
org.springframework:spring-expression:5.2.8.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.springframework:spring-jcl:5.2.8.RELEASE
|
||||
org.springframework:spring-jdbc:5.2.8.RELEASE
|
||||
org.springframework:spring-tx:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-aop:5.2.9.RELEASE
|
||||
org.springframework:spring-beans:5.2.9.RELEASE
|
||||
org.springframework:spring-context:5.2.9.RELEASE
|
||||
org.springframework:spring-core:5.2.9.RELEASE
|
||||
org.springframework:spring-expression:5.2.9.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
org.springframework:spring-jcl:5.2.9.RELEASE
|
||||
org.springframework:spring-jdbc:5.2.9.RELEASE
|
||||
org.springframework:spring-tx:5.2.9.RELEASE
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-aop:5.2.8.RELEASE
|
||||
org.springframework:spring-beans:5.2.8.RELEASE
|
||||
org.springframework:spring-context:5.2.8.RELEASE
|
||||
org.springframework:spring-core:5.2.8.RELEASE
|
||||
org.springframework:spring-expression:5.2.8.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.springframework:spring-jcl:5.2.8.RELEASE
|
||||
org.springframework:spring-jdbc:5.2.8.RELEASE
|
||||
org.springframework:spring-tx:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-aop:5.2.9.RELEASE
|
||||
org.springframework:spring-beans:5.2.9.RELEASE
|
||||
org.springframework:spring-context:5.2.9.RELEASE
|
||||
org.springframework:spring-core:5.2.9.RELEASE
|
||||
org.springframework:spring-expression:5.2.9.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
org.springframework:spring-jcl:5.2.9.RELEASE
|
||||
org.springframework:spring-jdbc:5.2.9.RELEASE
|
||||
org.springframework:spring-tx:5.2.9.RELEASE
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jacoco:org.jacoco.agent:0.8.2
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jacoco:org.jacoco.agent:0.8.2
|
||||
org.jacoco:org.jacoco.ant:0.8.2
|
||||
org.jacoco:org.jacoco.core:0.8.2
|
||||
org.jacoco:org.jacoco.report:0.8.2
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.ow2.asm:asm-analysis:6.2.1
|
||||
org.ow2.asm:asm-commons:6.2.1
|
||||
org.ow2.asm:asm-tree:6.2.1
|
||||
org.ow2.asm:asm:6.2.1
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
net.sf.ehcache:ehcache:2.10.6
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.slf4j:slf4j-api:1.7.30
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-aop:5.2.8.RELEASE
|
||||
org.springframework:spring-beans:5.2.8.RELEASE
|
||||
org.springframework:spring-context:5.2.8.RELEASE
|
||||
org.springframework:spring-core:5.2.8.RELEASE
|
||||
org.springframework:spring-expression:5.2.8.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.springframework:spring-jcl:5.2.8.RELEASE
|
||||
org.springframework:spring-jdbc:5.2.8.RELEASE
|
||||
org.springframework:spring-tx:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-aop:5.2.9.RELEASE
|
||||
org.springframework:spring-beans:5.2.9.RELEASE
|
||||
org.springframework:spring-context:5.2.9.RELEASE
|
||||
org.springframework:spring-core:5.2.9.RELEASE
|
||||
org.springframework:spring-expression:5.2.9.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
org.springframework:spring-jcl:5.2.9.RELEASE
|
||||
org.springframework:spring-jdbc:5.2.9.RELEASE
|
||||
org.springframework:spring-tx:5.2.9.RELEASE
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-aop:5.2.8.RELEASE
|
||||
org.springframework:spring-beans:5.2.8.RELEASE
|
||||
org.springframework:spring-context:5.2.8.RELEASE
|
||||
org.springframework:spring-core:5.2.8.RELEASE
|
||||
org.springframework:spring-expression:5.2.8.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.springframework:spring-jcl:5.2.8.RELEASE
|
||||
org.springframework:spring-jdbc:5.2.8.RELEASE
|
||||
org.springframework:spring-tx:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-aop:5.2.9.RELEASE
|
||||
org.springframework:spring-beans:5.2.9.RELEASE
|
||||
org.springframework:spring-context:5.2.9.RELEASE
|
||||
org.springframework:spring-core:5.2.9.RELEASE
|
||||
org.springframework:spring-expression:5.2.9.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
org.springframework:spring-jcl:5.2.9.RELEASE
|
||||
org.springframework:spring-jdbc:5.2.9.RELEASE
|
||||
org.springframework:spring-tx:5.2.9.RELEASE
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -1,24 +1,24 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
junit:junit:4.12
|
||||
net.bytebuddy:byte-buddy-agent:1.10.5
|
||||
net.bytebuddy:byte-buddy:1.10.5
|
||||
net.bytebuddy:byte-buddy-agent:1.10.15
|
||||
net.bytebuddy:byte-buddy:1.10.15
|
||||
org.assertj:assertj-core:3.17.2
|
||||
org.hamcrest:hamcrest-core:1.3
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.mockito:mockito-core:3.3.3
|
||||
org.objenesis:objenesis:2.6
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-aop:5.2.8.RELEASE
|
||||
org.springframework:spring-beans:5.2.8.RELEASE
|
||||
org.springframework:spring-context-support:5.2.8.RELEASE
|
||||
org.springframework:spring-context:5.2.8.RELEASE
|
||||
org.springframework:spring-core:5.2.8.RELEASE
|
||||
org.springframework:spring-expression:5.2.8.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.springframework:spring-jcl:5.2.8.RELEASE
|
||||
org.springframework:spring-jdbc:5.2.8.RELEASE
|
||||
org.springframework:spring-test:5.2.8.RELEASE
|
||||
org.springframework:spring-tx:5.2.8.RELEASE
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.mockito:mockito-core:3.5.13
|
||||
org.objenesis:objenesis:3.1
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-aop:5.2.9.RELEASE
|
||||
org.springframework:spring-beans:5.2.9.RELEASE
|
||||
org.springframework:spring-context-support:5.2.9.RELEASE
|
||||
org.springframework:spring-context:5.2.9.RELEASE
|
||||
org.springframework:spring-core:5.2.9.RELEASE
|
||||
org.springframework:spring-expression:5.2.9.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
org.springframework:spring-jcl:5.2.9.RELEASE
|
||||
org.springframework:spring-jdbc:5.2.9.RELEASE
|
||||
org.springframework:spring-test:5.2.9.RELEASE
|
||||
org.springframework:spring-tx:5.2.9.RELEASE
|
||||
|
||||
@@ -1,24 +1,24 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
junit:junit:4.12
|
||||
net.bytebuddy:byte-buddy-agent:1.10.5
|
||||
net.bytebuddy:byte-buddy:1.10.5
|
||||
net.bytebuddy:byte-buddy-agent:1.10.15
|
||||
net.bytebuddy:byte-buddy:1.10.15
|
||||
org.assertj:assertj-core:3.17.2
|
||||
org.hamcrest:hamcrest-core:1.3
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.mockito:mockito-core:3.3.3
|
||||
org.objenesis:objenesis:2.6
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-aop:5.2.8.RELEASE
|
||||
org.springframework:spring-beans:5.2.8.RELEASE
|
||||
org.springframework:spring-context-support:5.2.8.RELEASE
|
||||
org.springframework:spring-context:5.2.8.RELEASE
|
||||
org.springframework:spring-core:5.2.8.RELEASE
|
||||
org.springframework:spring-expression:5.2.8.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.springframework:spring-jcl:5.2.8.RELEASE
|
||||
org.springframework:spring-jdbc:5.2.8.RELEASE
|
||||
org.springframework:spring-test:5.2.8.RELEASE
|
||||
org.springframework:spring-tx:5.2.8.RELEASE
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.mockito:mockito-core:3.5.13
|
||||
org.objenesis:objenesis:3.1
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-aop:5.2.9.RELEASE
|
||||
org.springframework:spring-beans:5.2.9.RELEASE
|
||||
org.springframework:spring-context-support:5.2.9.RELEASE
|
||||
org.springframework:spring-context:5.2.9.RELEASE
|
||||
org.springframework:spring-core:5.2.9.RELEASE
|
||||
org.springframework:spring-expression:5.2.9.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
org.springframework:spring-jcl:5.2.9.RELEASE
|
||||
org.springframework:spring-jdbc:5.2.9.RELEASE
|
||||
org.springframework:spring-test:5.2.9.RELEASE
|
||||
org.springframework:spring-tx:5.2.9.RELEASE
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -1,25 +1,25 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
junit:junit:4.12
|
||||
net.bytebuddy:byte-buddy-agent:1.10.5
|
||||
net.bytebuddy:byte-buddy:1.10.5
|
||||
net.bytebuddy:byte-buddy-agent:1.10.15
|
||||
net.bytebuddy:byte-buddy:1.10.15
|
||||
org.assertj:assertj-core:3.17.2
|
||||
org.hamcrest:hamcrest-core:1.3
|
||||
org.hsqldb:hsqldb:2.5.1
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.mockito:mockito-core:3.3.3
|
||||
org.objenesis:objenesis:2.6
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-aop:5.2.8.RELEASE
|
||||
org.springframework:spring-beans:5.2.8.RELEASE
|
||||
org.springframework:spring-context-support:5.2.8.RELEASE
|
||||
org.springframework:spring-context:5.2.8.RELEASE
|
||||
org.springframework:spring-core:5.2.8.RELEASE
|
||||
org.springframework:spring-expression:5.2.8.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.springframework:spring-jcl:5.2.8.RELEASE
|
||||
org.springframework:spring-jdbc:5.2.8.RELEASE
|
||||
org.springframework:spring-test:5.2.8.RELEASE
|
||||
org.springframework:spring-tx:5.2.8.RELEASE
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.mockito:mockito-core:3.5.13
|
||||
org.objenesis:objenesis:3.1
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-aop:5.2.9.RELEASE
|
||||
org.springframework:spring-beans:5.2.9.RELEASE
|
||||
org.springframework:spring-context-support:5.2.9.RELEASE
|
||||
org.springframework:spring-context:5.2.9.RELEASE
|
||||
org.springframework:spring-core:5.2.9.RELEASE
|
||||
org.springframework:spring-expression:5.2.9.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
org.springframework:spring-jcl:5.2.9.RELEASE
|
||||
org.springframework:spring-jdbc:5.2.9.RELEASE
|
||||
org.springframework:spring-test:5.2.9.RELEASE
|
||||
org.springframework:spring-tx:5.2.9.RELEASE
|
||||
|
||||
@@ -1,25 +1,25 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
junit:junit:4.12
|
||||
net.bytebuddy:byte-buddy-agent:1.10.5
|
||||
net.bytebuddy:byte-buddy:1.10.5
|
||||
net.bytebuddy:byte-buddy-agent:1.10.15
|
||||
net.bytebuddy:byte-buddy:1.10.15
|
||||
org.assertj:assertj-core:3.17.2
|
||||
org.hamcrest:hamcrest-core:1.3
|
||||
org.hsqldb:hsqldb:2.5.1
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.mockito:mockito-core:3.3.3
|
||||
org.objenesis:objenesis:2.6
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-aop:5.2.8.RELEASE
|
||||
org.springframework:spring-beans:5.2.8.RELEASE
|
||||
org.springframework:spring-context-support:5.2.8.RELEASE
|
||||
org.springframework:spring-context:5.2.8.RELEASE
|
||||
org.springframework:spring-core:5.2.8.RELEASE
|
||||
org.springframework:spring-expression:5.2.8.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.springframework:spring-jcl:5.2.8.RELEASE
|
||||
org.springframework:spring-jdbc:5.2.8.RELEASE
|
||||
org.springframework:spring-test:5.2.8.RELEASE
|
||||
org.springframework:spring-tx:5.2.8.RELEASE
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.mockito:mockito-core:3.5.13
|
||||
org.objenesis:objenesis:3.1
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-aop:5.2.9.RELEASE
|
||||
org.springframework:spring-beans:5.2.9.RELEASE
|
||||
org.springframework:spring-context-support:5.2.9.RELEASE
|
||||
org.springframework:spring-context:5.2.9.RELEASE
|
||||
org.springframework:spring-core:5.2.9.RELEASE
|
||||
org.springframework:spring-expression:5.2.9.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
org.springframework:spring-jcl:5.2.9.RELEASE
|
||||
org.springframework:spring-jdbc:5.2.9.RELEASE
|
||||
org.springframework:spring-test:5.2.9.RELEASE
|
||||
org.springframework:spring-tx:5.2.9.RELEASE
|
||||
|
||||
@@ -1,25 +1,25 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
junit:junit:4.12
|
||||
net.bytebuddy:byte-buddy-agent:1.10.5
|
||||
net.bytebuddy:byte-buddy:1.10.5
|
||||
net.bytebuddy:byte-buddy-agent:1.10.15
|
||||
net.bytebuddy:byte-buddy:1.10.15
|
||||
org.assertj:assertj-core:3.17.2
|
||||
org.hamcrest:hamcrest-core:1.3
|
||||
org.hsqldb:hsqldb:2.5.1
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.mockito:mockito-core:3.3.3
|
||||
org.objenesis:objenesis:2.6
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-aop:5.2.8.RELEASE
|
||||
org.springframework:spring-beans:5.2.8.RELEASE
|
||||
org.springframework:spring-context-support:5.2.8.RELEASE
|
||||
org.springframework:spring-context:5.2.8.RELEASE
|
||||
org.springframework:spring-core:5.2.8.RELEASE
|
||||
org.springframework:spring-expression:5.2.8.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.springframework:spring-jcl:5.2.8.RELEASE
|
||||
org.springframework:spring-jdbc:5.2.8.RELEASE
|
||||
org.springframework:spring-test:5.2.8.RELEASE
|
||||
org.springframework:spring-tx:5.2.8.RELEASE
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.mockito:mockito-core:3.5.13
|
||||
org.objenesis:objenesis:3.1
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-aop:5.2.9.RELEASE
|
||||
org.springframework:spring-beans:5.2.9.RELEASE
|
||||
org.springframework:spring-context-support:5.2.9.RELEASE
|
||||
org.springframework:spring-context:5.2.9.RELEASE
|
||||
org.springframework:spring-core:5.2.9.RELEASE
|
||||
org.springframework:spring-expression:5.2.9.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
org.springframework:spring-jcl:5.2.9.RELEASE
|
||||
org.springframework:spring-jdbc:5.2.9.RELEASE
|
||||
org.springframework:spring-test:5.2.9.RELEASE
|
||||
org.springframework:spring-tx:5.2.9.RELEASE
|
||||
|
||||
@@ -22,7 +22,8 @@ import org.springframework.security.acls.domain.AclFormattingUtils;
|
||||
import org.springframework.security.acls.model.Permission;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.fail;
|
||||
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
|
||||
import static org.assertj.core.api.Assertions.assertThatNoException;
|
||||
|
||||
/**
|
||||
* Tests for {@link AclFormattingUtils}.
|
||||
@@ -33,30 +34,11 @@ public class AclFormattingUtilsTests {
|
||||
|
||||
@Test
|
||||
public final void testDemergePatternsParametersConstraints() {
|
||||
try {
|
||||
AclFormattingUtils.demergePatterns(null, "SOME STRING");
|
||||
fail("It should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
try {
|
||||
AclFormattingUtils.demergePatterns("SOME STRING", null);
|
||||
fail("It should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
try {
|
||||
AclFormattingUtils.demergePatterns("SOME STRING", "LONGER SOME STRING");
|
||||
fail("It should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
try {
|
||||
AclFormattingUtils.demergePatterns("SOME STRING", "SAME LENGTH");
|
||||
}
|
||||
catch (IllegalArgumentException notExpected) {
|
||||
fail("It shouldn't have thrown IllegalArgumentException");
|
||||
}
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> AclFormattingUtils.demergePatterns(null, "SOME STRING"));
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> AclFormattingUtils.demergePatterns("SOME STRING", null));
|
||||
assertThatIllegalArgumentException()
|
||||
.isThrownBy(() -> AclFormattingUtils.demergePatterns("SOME STRING", "LONGER SOME STRING"));
|
||||
assertThatNoException().isThrownBy(() -> AclFormattingUtils.demergePatterns("SOME STRING", "SAME LENGTH"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -71,29 +53,11 @@ public class AclFormattingUtilsTests {
|
||||
|
||||
@Test
|
||||
public final void testMergePatternsParametersConstraints() {
|
||||
try {
|
||||
AclFormattingUtils.mergePatterns(null, "SOME STRING");
|
||||
fail("It should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
try {
|
||||
AclFormattingUtils.mergePatterns("SOME STRING", null);
|
||||
fail("It should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
try {
|
||||
AclFormattingUtils.mergePatterns("SOME STRING", "LONGER SOME STRING");
|
||||
fail("It should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
try {
|
||||
AclFormattingUtils.mergePatterns("SOME STRING", "SAME LENGTH");
|
||||
}
|
||||
catch (IllegalArgumentException notExpected) {
|
||||
}
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> AclFormattingUtils.mergePatterns(null, "SOME STRING"));
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> AclFormattingUtils.mergePatterns("SOME STRING", null));
|
||||
assertThatIllegalArgumentException()
|
||||
.isThrownBy(() -> AclFormattingUtils.mergePatterns("SOME STRING", "LONGER SOME STRING"));
|
||||
assertThatNoException().isThrownBy(() -> AclFormattingUtils.mergePatterns("SOME STRING", "SAME LENGTH"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -108,18 +72,10 @@ public class AclFormattingUtilsTests {
|
||||
@Test
|
||||
public final void testBinaryPrints() {
|
||||
assertThat(AclFormattingUtils.printBinary(15)).isEqualTo("............................****");
|
||||
try {
|
||||
AclFormattingUtils.printBinary(15, Permission.RESERVED_ON);
|
||||
fail("It should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException notExpected) {
|
||||
}
|
||||
try {
|
||||
AclFormattingUtils.printBinary(15, Permission.RESERVED_OFF);
|
||||
fail("It should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException notExpected) {
|
||||
}
|
||||
assertThatIllegalArgumentException()
|
||||
.isThrownBy(() -> AclFormattingUtils.printBinary(15, Permission.RESERVED_ON));
|
||||
assertThatIllegalArgumentException()
|
||||
.isThrownBy(() -> AclFormattingUtils.printBinary(15, Permission.RESERVED_OFF));
|
||||
assertThat(AclFormattingUtils.printBinary(15, 'x')).isEqualTo("............................xxxx");
|
||||
}
|
||||
|
||||
|
||||
+14
-19
@@ -36,7 +36,8 @@ import org.springframework.security.core.Authentication;
|
||||
import org.springframework.security.core.SpringSecurityMessageSource;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.fail;
|
||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.ArgumentMatchers.anyBoolean;
|
||||
import static org.mockito.BDDMockito.given;
|
||||
@@ -50,15 +51,12 @@ import static org.mockito.Mockito.verify;
|
||||
@SuppressWarnings({ "unchecked" })
|
||||
public class AclEntryAfterInvocationProviderTests {
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void rejectsMissingPermissions() {
|
||||
try {
|
||||
new AclEntryAfterInvocationProvider(mock(AclService.class), null);
|
||||
fail("Exception expected");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
new AclEntryAfterInvocationProvider(mock(AclService.class), Collections.<Permission>emptyList());
|
||||
assertThatIllegalArgumentException()
|
||||
.isThrownBy(() -> new AclEntryAfterInvocationProvider(mock(AclService.class), null));
|
||||
assertThatIllegalArgumentException().isThrownBy(
|
||||
() -> new AclEntryAfterInvocationProvider(mock(AclService.class), Collections.<Permission>emptyList()));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -98,7 +96,7 @@ public class AclEntryAfterInvocationProviderTests {
|
||||
SecurityConfig.createList("AFTER_ACL_READ"), returned));
|
||||
}
|
||||
|
||||
@Test(expected = AccessDeniedException.class)
|
||||
@Test
|
||||
public void accessIsDeniedIfPermissionIsNotGranted() {
|
||||
AclService service = mock(AclService.class);
|
||||
Acl acl = mock(Acl.class);
|
||||
@@ -113,16 +111,13 @@ public class AclEntryAfterInvocationProviderTests {
|
||||
provider.setObjectIdentityRetrievalStrategy(mock(ObjectIdentityRetrievalStrategy.class));
|
||||
provider.setProcessDomainObjectClass(Object.class);
|
||||
provider.setSidRetrievalStrategy(mock(SidRetrievalStrategy.class));
|
||||
try {
|
||||
provider.decide(mock(Authentication.class), new Object(),
|
||||
SecurityConfig.createList("UNSUPPORTED", "MY_ATTRIBUTE"), new Object());
|
||||
fail("Expected Exception");
|
||||
}
|
||||
catch (AccessDeniedException expected) {
|
||||
}
|
||||
assertThatExceptionOfType(AccessDeniedException.class)
|
||||
.isThrownBy(() -> provider.decide(mock(Authentication.class), new Object(),
|
||||
SecurityConfig.createList("UNSUPPORTED", "MY_ATTRIBUTE"), new Object()));
|
||||
// Second scenario with no acls found
|
||||
provider.decide(mock(Authentication.class), new Object(),
|
||||
SecurityConfig.createList("UNSUPPORTED", "MY_ATTRIBUTE"), new Object());
|
||||
assertThatExceptionOfType(AccessDeniedException.class)
|
||||
.isThrownBy(() -> provider.decide(mock(Authentication.class), new Object(),
|
||||
SecurityConfig.createList("UNSUPPORTED", "MY_ATTRIBUTE"), new Object()));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
+7
-20
@@ -25,7 +25,7 @@ import org.springframework.security.acls.model.ObjectIdentity;
|
||||
import org.springframework.security.acls.model.Sid;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.fail;
|
||||
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
|
||||
import static org.mockito.BDDMockito.given;
|
||||
import static org.mockito.Mockito.mock;
|
||||
|
||||
@@ -39,27 +39,14 @@ public class AccessControlImplEntryTests {
|
||||
@Test
|
||||
public void testConstructorRequiredFields() {
|
||||
// Check Acl field is present
|
||||
try {
|
||||
new AccessControlEntryImpl(null, null, new PrincipalSid("johndoe"), BasePermission.ADMINISTRATION, true,
|
||||
true, true);
|
||||
fail("It should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> new AccessControlEntryImpl(null, null,
|
||||
new PrincipalSid("johndoe"), BasePermission.ADMINISTRATION, true, true, true));
|
||||
// Check Sid field is present
|
||||
try {
|
||||
new AccessControlEntryImpl(null, mock(Acl.class), null, BasePermission.ADMINISTRATION, true, true, true);
|
||||
fail("It should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> new AccessControlEntryImpl(null, mock(Acl.class), null,
|
||||
BasePermission.ADMINISTRATION, true, true, true));
|
||||
// Check Permission field is present
|
||||
try {
|
||||
new AccessControlEntryImpl(null, mock(Acl.class), new PrincipalSid("johndoe"), null, true, true, true);
|
||||
fail("It should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> new AccessControlEntryImpl(null, mock(Acl.class),
|
||||
new PrincipalSid("johndoe"), null, true, true, true));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -46,7 +46,8 @@ import org.springframework.security.core.context.SecurityContextHolder;
|
||||
import org.springframework.security.util.FieldUtils;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.fail;
|
||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
|
||||
import static org.mockito.Mockito.mock;
|
||||
|
||||
/**
|
||||
@@ -97,58 +98,38 @@ public class AclImplTests {
|
||||
SecurityContextHolder.clearContext();
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void constructorsRejectNullObjectIdentity() {
|
||||
try {
|
||||
new AclImpl(null, 1, this.authzStrategy, this.pgs, null, null, true, new PrincipalSid("joe"));
|
||||
fail("Should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
new AclImpl(null, 1, this.authzStrategy, this.mockAuditLogger);
|
||||
assertThatIllegalArgumentException().isThrownBy(
|
||||
() -> new AclImpl(null, 1, this.authzStrategy, this.pgs, null, null, true, new PrincipalSid("joe")));
|
||||
assertThatIllegalArgumentException()
|
||||
.isThrownBy(() -> new AclImpl(null, 1, this.authzStrategy, this.mockAuditLogger));
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void constructorsRejectNullId() {
|
||||
try {
|
||||
new AclImpl(this.objectIdentity, null, this.authzStrategy, this.pgs, null, null, true,
|
||||
new PrincipalSid("joe"));
|
||||
fail("Should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
new AclImpl(this.objectIdentity, null, this.authzStrategy, this.mockAuditLogger);
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> new AclImpl(this.objectIdentity, null, this.authzStrategy,
|
||||
this.pgs, null, null, true, new PrincipalSid("joe")));
|
||||
assertThatIllegalArgumentException()
|
||||
.isThrownBy(() -> new AclImpl(this.objectIdentity, null, this.authzStrategy, this.mockAuditLogger));
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void constructorsRejectNullAclAuthzStrategy() {
|
||||
try {
|
||||
new AclImpl(this.objectIdentity, 1, null, new DefaultPermissionGrantingStrategy(this.mockAuditLogger), null,
|
||||
null, true, new PrincipalSid("joe"));
|
||||
fail("It should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
new AclImpl(this.objectIdentity, 1, null, this.mockAuditLogger);
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> new AclImpl(this.objectIdentity, 1, null,
|
||||
new DefaultPermissionGrantingStrategy(this.mockAuditLogger), null, null, true,
|
||||
new PrincipalSid("joe")));
|
||||
assertThatIllegalArgumentException()
|
||||
.isThrownBy(() -> new AclImpl(this.objectIdentity, 1, null, this.mockAuditLogger));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void insertAceRejectsNullParameters() {
|
||||
MutableAcl acl = new AclImpl(this.objectIdentity, 1, this.authzStrategy, this.pgs, null, null, true,
|
||||
new PrincipalSid("joe"));
|
||||
try {
|
||||
acl.insertAce(0, null, new GrantedAuthoritySid("ROLE_IGNORED"), true);
|
||||
fail("It should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
try {
|
||||
acl.insertAce(0, BasePermission.READ, null, true);
|
||||
fail("It should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
assertThatIllegalArgumentException()
|
||||
.isThrownBy(() -> acl.insertAce(0, null, new GrantedAuthoritySid("ROLE_IGNORED"), true));
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> acl.insertAce(0, BasePermission.READ, null, true));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -185,7 +166,7 @@ public class AclImplTests {
|
||||
assertThat(acl.getEntries().get(2).getSid()).isEqualTo(new GrantedAuthoritySid("ROLE_TEST2"));
|
||||
}
|
||||
|
||||
@Test(expected = NotFoundException.class)
|
||||
@Test
|
||||
public void insertAceFailsForNonExistentElement() {
|
||||
MutableAcl acl = new AclImpl(this.objectIdentity, 1, this.authzStrategy, this.pgs, null, null, true,
|
||||
new PrincipalSid("joe"));
|
||||
@@ -193,7 +174,8 @@ public class AclImplTests {
|
||||
// Insert one permission
|
||||
acl.insertAce(0, BasePermission.READ, new GrantedAuthoritySid("ROLE_TEST1"), true);
|
||||
service.updateAcl(acl);
|
||||
acl.insertAce(55, BasePermission.READ, new GrantedAuthoritySid("ROLE_TEST2"), true);
|
||||
assertThatExceptionOfType(NotFoundException.class)
|
||||
.isThrownBy(() -> acl.insertAce(55, BasePermission.READ, new GrantedAuthoritySid("ROLE_TEST2"), true));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -232,12 +214,7 @@ public class AclImplTests {
|
||||
new SimpleGrantedAuthority("ROLE_GENERAL"));
|
||||
MutableAcl acl = new AclImpl(this.objectIdentity, (1), strategy, this.pgs, null, null, true,
|
||||
new PrincipalSid("joe"));
|
||||
try {
|
||||
acl.deleteAce(99);
|
||||
fail("It should have thrown NotFoundException");
|
||||
}
|
||||
catch (NotFoundException expected) {
|
||||
}
|
||||
assertThatExceptionOfType(NotFoundException.class).isThrownBy(() -> acl.deleteAce(99));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -245,18 +222,9 @@ public class AclImplTests {
|
||||
MutableAcl acl = new AclImpl(this.objectIdentity, 1, this.authzStrategy, this.pgs, null, null, true,
|
||||
new PrincipalSid("joe"));
|
||||
Sid ben = new PrincipalSid("ben");
|
||||
try {
|
||||
acl.isGranted(new ArrayList<>(0), Arrays.asList(ben), false);
|
||||
fail("It should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
try {
|
||||
acl.isGranted(READ, new ArrayList<>(0), false);
|
||||
fail("It should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
assertThatIllegalArgumentException()
|
||||
.isThrownBy(() -> acl.isGranted(new ArrayList<>(0), Arrays.asList(ben), false));
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> acl.isGranted(READ, new ArrayList<>(0), false));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -277,25 +245,16 @@ public class AclImplTests {
|
||||
List<Permission> permissions = Arrays.asList(BasePermission.READ, BasePermission.CREATE);
|
||||
List<Sid> sids = Arrays.asList(new PrincipalSid("ben"), new GrantedAuthoritySid("ROLE_GUEST"));
|
||||
assertThat(rootAcl.isGranted(permissions, sids, false)).isFalse();
|
||||
try {
|
||||
rootAcl.isGranted(permissions, SCOTT, false);
|
||||
fail("It should have thrown NotFoundException");
|
||||
}
|
||||
catch (NotFoundException expected) {
|
||||
}
|
||||
assertThatExceptionOfType(NotFoundException.class)
|
||||
.isThrownBy(() -> rootAcl.isGranted(permissions, SCOTT, false));
|
||||
assertThat(rootAcl.isGranted(WRITE, SCOTT, false)).isTrue();
|
||||
assertThat(rootAcl.isGranted(WRITE,
|
||||
Arrays.asList(new PrincipalSid("rod"), new GrantedAuthoritySid("WRITE_ACCESS_ROLE")), false)).isFalse();
|
||||
assertThat(rootAcl.isGranted(WRITE,
|
||||
Arrays.asList(new GrantedAuthoritySid("WRITE_ACCESS_ROLE"), new PrincipalSid("rod")), false)).isTrue();
|
||||
try {
|
||||
// Change the type of the Sid and check the granting process
|
||||
rootAcl.isGranted(WRITE,
|
||||
Arrays.asList(new GrantedAuthoritySid("rod"), new PrincipalSid("WRITE_ACCESS_ROLE")), false);
|
||||
fail("It should have thrown NotFoundException");
|
||||
}
|
||||
catch (NotFoundException expected) {
|
||||
}
|
||||
// Change the type of the Sid and check the granting process
|
||||
assertThatExceptionOfType(NotFoundException.class).isThrownBy(() -> rootAcl.isGranted(WRITE,
|
||||
Arrays.asList(new GrantedAuthoritySid("rod"), new PrincipalSid("WRITE_ACCESS_ROLE")), false));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -348,18 +307,9 @@ public class AclImplTests {
|
||||
assertThat(childAcl1.isGranted(DELETE, BEN, false)).isFalse();
|
||||
// Check granting process for child2 (doesn't inherit the permissions from its
|
||||
// parent)
|
||||
try {
|
||||
assertThat(childAcl2.isGranted(CREATE, SCOTT, false)).isTrue();
|
||||
fail("It should have thrown NotFoundException");
|
||||
}
|
||||
catch (NotFoundException expected) {
|
||||
}
|
||||
try {
|
||||
childAcl2.isGranted(CREATE, Arrays.asList((Sid) new PrincipalSid("joe")), false);
|
||||
fail("It should have thrown NotFoundException");
|
||||
}
|
||||
catch (NotFoundException expected) {
|
||||
}
|
||||
assertThatExceptionOfType(NotFoundException.class).isThrownBy(() -> childAcl2.isGranted(CREATE, SCOTT, false));
|
||||
assertThatExceptionOfType(NotFoundException.class)
|
||||
.isThrownBy(() -> childAcl2.isGranted(CREATE, Arrays.asList((Sid) new PrincipalSid("joe")), false));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -462,38 +412,40 @@ public class AclImplTests {
|
||||
.isFalse();
|
||||
}
|
||||
|
||||
@Test(expected = NotFoundException.class)
|
||||
@Test
|
||||
public void insertAceRaisesNotFoundExceptionForIndexLessThanZero() {
|
||||
AclImpl acl = new AclImpl(this.objectIdentity, 1, this.authzStrategy, this.pgs, null, null, true,
|
||||
new PrincipalSid("joe"));
|
||||
acl.insertAce(-1, mock(Permission.class), mock(Sid.class), true);
|
||||
assertThatExceptionOfType(NotFoundException.class)
|
||||
.isThrownBy(() -> acl.insertAce(-1, mock(Permission.class), mock(Sid.class), true));
|
||||
}
|
||||
|
||||
@Test(expected = NotFoundException.class)
|
||||
@Test
|
||||
public void deleteAceRaisesNotFoundExceptionForIndexLessThanZero() {
|
||||
AclImpl acl = new AclImpl(this.objectIdentity, 1, this.authzStrategy, this.pgs, null, null, true,
|
||||
new PrincipalSid("joe"));
|
||||
acl.deleteAce(-1);
|
||||
assertThatExceptionOfType(NotFoundException.class).isThrownBy(() -> acl.deleteAce(-1));
|
||||
}
|
||||
|
||||
@Test(expected = NotFoundException.class)
|
||||
@Test
|
||||
public void insertAceRaisesNotFoundExceptionForIndexGreaterThanSize() {
|
||||
AclImpl acl = new AclImpl(this.objectIdentity, 1, this.authzStrategy, this.pgs, null, null, true,
|
||||
new PrincipalSid("joe"));
|
||||
// Insert at zero, OK.
|
||||
acl.insertAce(0, mock(Permission.class), mock(Sid.class), true);
|
||||
// Size is now 1
|
||||
acl.insertAce(2, mock(Permission.class), mock(Sid.class), true);
|
||||
assertThatExceptionOfType(NotFoundException.class)
|
||||
.isThrownBy(() -> acl.insertAce(2, mock(Permission.class), mock(Sid.class), true));
|
||||
}
|
||||
|
||||
// SEC-1151
|
||||
@Test(expected = NotFoundException.class)
|
||||
@Test
|
||||
public void deleteAceRaisesNotFoundExceptionForIndexEqualToSize() {
|
||||
AclImpl acl = new AclImpl(this.objectIdentity, 1, this.authzStrategy, this.pgs, null, null, true,
|
||||
new PrincipalSid("joe"));
|
||||
acl.insertAce(0, mock(Permission.class), mock(Sid.class), true);
|
||||
// Size is now 1
|
||||
acl.deleteAce(1);
|
||||
assertThatExceptionOfType(NotFoundException.class).isThrownBy(() -> acl.deleteAce(1));
|
||||
}
|
||||
|
||||
// SEC-1795
|
||||
|
||||
+32
-91
@@ -30,7 +30,8 @@ import org.springframework.security.core.Authentication;
|
||||
import org.springframework.security.core.authority.SimpleGrantedAuthority;
|
||||
import org.springframework.security.core.context.SecurityContextHolder;
|
||||
|
||||
import static org.assertj.core.api.Assertions.fail;
|
||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
import static org.assertj.core.api.Assertions.assertThatNoException;
|
||||
|
||||
/**
|
||||
* Test class for {@link AclAuthorizationStrategyImpl} and {@link AclImpl} security
|
||||
@@ -72,24 +73,12 @@ public class AclImplementationSecurityCheckTests {
|
||||
new SimpleGrantedAuthority("ROLE_THREE"));
|
||||
Acl acl2 = new AclImpl(identity, 1L, aclAuthorizationStrategy2, new ConsoleAuditLogger());
|
||||
// Check access in case the principal has no authorization rights
|
||||
try {
|
||||
aclAuthorizationStrategy2.securityCheck(acl2, AclAuthorizationStrategy.CHANGE_GENERAL);
|
||||
fail("It should have thrown NotFoundException");
|
||||
}
|
||||
catch (NotFoundException expected) {
|
||||
}
|
||||
try {
|
||||
aclAuthorizationStrategy2.securityCheck(acl2, AclAuthorizationStrategy.CHANGE_AUDITING);
|
||||
fail("It should have thrown NotFoundException");
|
||||
}
|
||||
catch (NotFoundException expected) {
|
||||
}
|
||||
try {
|
||||
aclAuthorizationStrategy2.securityCheck(acl2, AclAuthorizationStrategy.CHANGE_OWNERSHIP);
|
||||
fail("It should have thrown NotFoundException");
|
||||
}
|
||||
catch (NotFoundException expected) {
|
||||
}
|
||||
assertThatExceptionOfType(NotFoundException.class).isThrownBy(
|
||||
() -> aclAuthorizationStrategy2.securityCheck(acl2, AclAuthorizationStrategy.CHANGE_GENERAL));
|
||||
assertThatExceptionOfType(NotFoundException.class).isThrownBy(
|
||||
() -> aclAuthorizationStrategy2.securityCheck(acl2, AclAuthorizationStrategy.CHANGE_AUDITING));
|
||||
assertThatExceptionOfType(NotFoundException.class).isThrownBy(
|
||||
() -> aclAuthorizationStrategy2.securityCheck(acl2, AclAuthorizationStrategy.CHANGE_OWNERSHIP));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -112,28 +101,16 @@ public class AclImplementationSecurityCheckTests {
|
||||
// The CHANGE_AUDITING and CHANGE_OWNERSHIP should fail since the
|
||||
// principal doesn't have these authorities,
|
||||
// nor granting access
|
||||
try {
|
||||
aclAuthorizationStrategy.securityCheck(aclFirstDeny, AclAuthorizationStrategy.CHANGE_AUDITING);
|
||||
fail("It should have thrown AccessDeniedException");
|
||||
}
|
||||
catch (AccessDeniedException expected) {
|
||||
}
|
||||
try {
|
||||
aclAuthorizationStrategy.securityCheck(aclFirstDeny, AclAuthorizationStrategy.CHANGE_OWNERSHIP);
|
||||
fail("It should have thrown AccessDeniedException");
|
||||
}
|
||||
catch (AccessDeniedException expected) {
|
||||
}
|
||||
assertThatExceptionOfType(AccessDeniedException.class).isThrownBy(
|
||||
() -> aclAuthorizationStrategy.securityCheck(aclFirstDeny, AclAuthorizationStrategy.CHANGE_AUDITING));
|
||||
assertThatExceptionOfType(AccessDeniedException.class).isThrownBy(
|
||||
() -> aclAuthorizationStrategy.securityCheck(aclFirstDeny, AclAuthorizationStrategy.CHANGE_OWNERSHIP));
|
||||
// Add granting access to this principal
|
||||
aclFirstDeny.insertAce(1, BasePermission.ADMINISTRATION, new PrincipalSid(auth), true);
|
||||
// and try again for CHANGE_AUDITING - the first ACE's granting flag
|
||||
// (false) will deny this access
|
||||
try {
|
||||
aclAuthorizationStrategy.securityCheck(aclFirstDeny, AclAuthorizationStrategy.CHANGE_AUDITING);
|
||||
fail("It should have thrown AccessDeniedException");
|
||||
}
|
||||
catch (AccessDeniedException expected) {
|
||||
}
|
||||
assertThatExceptionOfType(AccessDeniedException.class).isThrownBy(
|
||||
() -> aclAuthorizationStrategy.securityCheck(aclFirstDeny, AclAuthorizationStrategy.CHANGE_AUDITING));
|
||||
// Create another ACL and give the principal the ADMINISTRATION
|
||||
// permission, with granting access
|
||||
MutableAcl aclFirstAllow = new AclImpl(identity, 1L, aclAuthorizationStrategy, new ConsoleAuditLogger());
|
||||
@@ -143,27 +120,15 @@ public class AclImplementationSecurityCheckTests {
|
||||
aclAuthorizationStrategy.securityCheck(aclFirstAllow, AclAuthorizationStrategy.CHANGE_AUDITING);
|
||||
// Add a deny ACE and test again for CHANGE_AUDITING
|
||||
aclFirstAllow.insertAce(1, BasePermission.ADMINISTRATION, new PrincipalSid(auth), false);
|
||||
try {
|
||||
aclAuthorizationStrategy.securityCheck(aclFirstAllow, AclAuthorizationStrategy.CHANGE_AUDITING);
|
||||
}
|
||||
catch (AccessDeniedException notExpected) {
|
||||
fail("It shouldn't have thrown AccessDeniedException");
|
||||
}
|
||||
assertThatNoException().isThrownBy(
|
||||
() -> aclAuthorizationStrategy.securityCheck(aclFirstAllow, AclAuthorizationStrategy.CHANGE_AUDITING));
|
||||
// Create an ACL with no ACE
|
||||
MutableAcl aclNoACE = new AclImpl(identity, 1L, aclAuthorizationStrategy, new ConsoleAuditLogger());
|
||||
try {
|
||||
aclAuthorizationStrategy.securityCheck(aclNoACE, AclAuthorizationStrategy.CHANGE_AUDITING);
|
||||
fail("It should have thrown NotFoundException");
|
||||
}
|
||||
catch (NotFoundException expected) {
|
||||
}
|
||||
assertThatExceptionOfType(NotFoundException.class).isThrownBy(
|
||||
() -> aclAuthorizationStrategy.securityCheck(aclNoACE, AclAuthorizationStrategy.CHANGE_AUDITING));
|
||||
// and still grant access for CHANGE_GENERAL
|
||||
try {
|
||||
aclAuthorizationStrategy.securityCheck(aclNoACE, AclAuthorizationStrategy.CHANGE_GENERAL);
|
||||
}
|
||||
catch (NotFoundException expected) {
|
||||
fail("It shouldn't have thrown NotFoundException");
|
||||
}
|
||||
assertThatNoException().isThrownBy(
|
||||
() -> aclAuthorizationStrategy.securityCheck(aclNoACE, AclAuthorizationStrategy.CHANGE_GENERAL));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -184,22 +149,14 @@ public class AclImplementationSecurityCheckTests {
|
||||
MutableAcl childAcl = new AclImpl(identity, 2, aclAuthorizationStrategy, new ConsoleAuditLogger());
|
||||
// Check against the 'child' acl, which doesn't offer any authorization
|
||||
// rights on CHANGE_OWNERSHIP
|
||||
try {
|
||||
aclAuthorizationStrategy.securityCheck(childAcl, AclAuthorizationStrategy.CHANGE_OWNERSHIP);
|
||||
fail("It should have thrown NotFoundException");
|
||||
}
|
||||
catch (NotFoundException expected) {
|
||||
}
|
||||
assertThatExceptionOfType(NotFoundException.class).isThrownBy(
|
||||
() -> aclAuthorizationStrategy.securityCheck(childAcl, AclAuthorizationStrategy.CHANGE_OWNERSHIP));
|
||||
// Link the child with its parent and test again against the
|
||||
// CHANGE_OWNERSHIP right
|
||||
childAcl.setParent(parentAcl);
|
||||
childAcl.setEntriesInheriting(true);
|
||||
try {
|
||||
aclAuthorizationStrategy.securityCheck(childAcl, AclAuthorizationStrategy.CHANGE_OWNERSHIP);
|
||||
}
|
||||
catch (NotFoundException expected) {
|
||||
fail("It shouldn't have thrown NotFoundException");
|
||||
}
|
||||
assertThatNoException().isThrownBy(
|
||||
() -> aclAuthorizationStrategy.securityCheck(childAcl, AclAuthorizationStrategy.CHANGE_OWNERSHIP));
|
||||
// Create a root parent and link it to the middle parent
|
||||
MutableAcl rootParentAcl = new AclImpl(identity, 1, aclAuthorizationStrategy, new ConsoleAuditLogger());
|
||||
parentAcl = new AclImpl(identity, 1, aclAuthorizationStrategy, new ConsoleAuditLogger());
|
||||
@@ -207,12 +164,8 @@ public class AclImplementationSecurityCheckTests {
|
||||
parentAcl.setEntriesInheriting(true);
|
||||
parentAcl.setParent(rootParentAcl);
|
||||
childAcl.setParent(parentAcl);
|
||||
try {
|
||||
aclAuthorizationStrategy.securityCheck(childAcl, AclAuthorizationStrategy.CHANGE_OWNERSHIP);
|
||||
}
|
||||
catch (NotFoundException expected) {
|
||||
fail("It shouldn't have thrown NotFoundException");
|
||||
}
|
||||
assertThatNoException().isThrownBy(
|
||||
() -> aclAuthorizationStrategy.securityCheck(childAcl, AclAuthorizationStrategy.CHANGE_OWNERSHIP));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -227,24 +180,12 @@ public class AclImplementationSecurityCheckTests {
|
||||
Acl acl = new AclImpl(identity, 1, aclAuthorizationStrategy,
|
||||
new DefaultPermissionGrantingStrategy(new ConsoleAuditLogger()), null, null, false,
|
||||
new PrincipalSid(auth));
|
||||
try {
|
||||
aclAuthorizationStrategy.securityCheck(acl, AclAuthorizationStrategy.CHANGE_GENERAL);
|
||||
}
|
||||
catch (AccessDeniedException notExpected) {
|
||||
fail("It shouldn't have thrown AccessDeniedException");
|
||||
}
|
||||
try {
|
||||
aclAuthorizationStrategy.securityCheck(acl, AclAuthorizationStrategy.CHANGE_AUDITING);
|
||||
fail("It shouldn't have thrown AccessDeniedException");
|
||||
}
|
||||
catch (NotFoundException expected) {
|
||||
}
|
||||
try {
|
||||
aclAuthorizationStrategy.securityCheck(acl, AclAuthorizationStrategy.CHANGE_OWNERSHIP);
|
||||
}
|
||||
catch (AccessDeniedException notExpected) {
|
||||
fail("It shouldn't have thrown AccessDeniedException");
|
||||
}
|
||||
assertThatNoException()
|
||||
.isThrownBy(() -> aclAuthorizationStrategy.securityCheck(acl, AclAuthorizationStrategy.CHANGE_GENERAL));
|
||||
assertThatExceptionOfType(NotFoundException.class).isThrownBy(
|
||||
() -> aclAuthorizationStrategy.securityCheck(acl, AclAuthorizationStrategy.CHANGE_AUDITING));
|
||||
assertThatNoException().isThrownBy(
|
||||
() -> aclAuthorizationStrategy.securityCheck(acl, AclAuthorizationStrategy.CHANGE_OWNERSHIP));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+15
-56
@@ -21,7 +21,9 @@ import org.junit.Test;
|
||||
import org.springframework.security.acls.model.ObjectIdentity;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.fail;
|
||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
|
||||
import static org.assertj.core.api.Assertions.assertThatNoException;
|
||||
|
||||
/**
|
||||
* Tests for {@link ObjectIdentityImpl}.
|
||||
@@ -36,40 +38,15 @@ public class ObjectIdentityImplTests {
|
||||
@Test
|
||||
public void constructorsRespectRequiredFields() {
|
||||
// Check one-argument constructor required field
|
||||
try {
|
||||
new ObjectIdentityImpl(null);
|
||||
fail("It should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> new ObjectIdentityImpl(null));
|
||||
// Check String-Serializable constructor required field
|
||||
try {
|
||||
new ObjectIdentityImpl("", 1L);
|
||||
fail("It should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> new ObjectIdentityImpl("", 1L));
|
||||
// Check Serializable parameter is not null
|
||||
try {
|
||||
new ObjectIdentityImpl(DOMAIN_CLASS, null);
|
||||
fail("It should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> new ObjectIdentityImpl(DOMAIN_CLASS, null));
|
||||
// The correct way of using String-Serializable constructor
|
||||
try {
|
||||
new ObjectIdentityImpl(DOMAIN_CLASS, 1L);
|
||||
}
|
||||
catch (IllegalArgumentException notExpected) {
|
||||
fail("It shouldn't have thrown IllegalArgumentException");
|
||||
}
|
||||
assertThatNoException().isThrownBy(() -> new ObjectIdentityImpl(DOMAIN_CLASS, 1L));
|
||||
// Check the Class-Serializable constructor
|
||||
try {
|
||||
new ObjectIdentityImpl(MockIdDomainObject.class, null);
|
||||
fail("It should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> new ObjectIdentityImpl(MockIdDomainObject.class, null));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -82,40 +59,22 @@ public class ObjectIdentityImplTests {
|
||||
@Test
|
||||
public void testGetIdMethodConstraints() {
|
||||
// Check the getId() method is present
|
||||
try {
|
||||
new ObjectIdentityImpl("A_STRING_OBJECT");
|
||||
fail("It should have thrown IdentityUnavailableException");
|
||||
}
|
||||
catch (IdentityUnavailableException expected) {
|
||||
}
|
||||
assertThatExceptionOfType(IdentityUnavailableException.class)
|
||||
.isThrownBy(() -> new ObjectIdentityImpl("A_STRING_OBJECT"));
|
||||
// getId() should return a non-null value
|
||||
MockIdDomainObject mockId = new MockIdDomainObject();
|
||||
try {
|
||||
new ObjectIdentityImpl(mockId);
|
||||
fail("It should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> new ObjectIdentityImpl(mockId));
|
||||
// getId() should return a Serializable object
|
||||
mockId.setId(new MockIdDomainObject());
|
||||
try {
|
||||
new ObjectIdentityImpl(mockId);
|
||||
fail("It should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> new ObjectIdentityImpl(mockId));
|
||||
// getId() should return a Serializable object
|
||||
mockId.setId(100L);
|
||||
try {
|
||||
new ObjectIdentityImpl(mockId);
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
assertThatNoException().isThrownBy(() -> new ObjectIdentityImpl(mockId));
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void constructorRejectsInvalidTypeParameter() {
|
||||
new ObjectIdentityImpl("", 1L);
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> new ObjectIdentityImpl("", 1L));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
+5
-10
@@ -48,14 +48,13 @@ import org.springframework.security.acls.domain.PrincipalSid;
|
||||
import org.springframework.security.acls.model.Acl;
|
||||
import org.springframework.security.acls.model.AuditableAccessControlEntry;
|
||||
import org.springframework.security.acls.model.MutableAcl;
|
||||
import org.springframework.security.acls.model.NotFoundException;
|
||||
import org.springframework.security.acls.model.ObjectIdentity;
|
||||
import org.springframework.security.acls.model.Permission;
|
||||
import org.springframework.security.acls.model.Sid;
|
||||
import org.springframework.security.core.authority.SimpleGrantedAuthority;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.fail;
|
||||
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
|
||||
|
||||
/**
|
||||
* Tests {@link BasicLookupStrategy}
|
||||
@@ -290,23 +289,19 @@ public abstract class AbstractBasicLookupStrategyTests {
|
||||
// is already in cache and the element before it must not be stored in
|
||||
// cache
|
||||
List<ObjectIdentity> allOids = Arrays.asList(grandParentOid, parent1Oid, parent2Oid, childOid);
|
||||
try {
|
||||
foundAcls = this.strategy.readAclsById(allOids, sids);
|
||||
}
|
||||
catch (NotFoundException notExpected) {
|
||||
fail("It shouldn't have thrown NotFoundException");
|
||||
}
|
||||
foundAcls = this.strategy.readAclsById(allOids, sids);
|
||||
Acl foundParent2Acl = foundAcls.get(parent2Oid);
|
||||
assertThat(foundParent2Acl).isNotNull();
|
||||
assertThat(foundParent2Acl.isGranted(checkPermission, sids, false)).isTrue();
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void nullOwnerIsNotSupported() {
|
||||
String query = "INSERT INTO acl_object_identity(ID,OBJECT_ID_CLASS,OBJECT_ID_IDENTITY,PARENT_OBJECT,OWNER_SID,ENTRIES_INHERITING) VALUES (6,2,104,null,null,1);";
|
||||
getJdbcTemplate().execute(query);
|
||||
ObjectIdentity oid = new ObjectIdentityImpl(TARGET_CLASS, 104L);
|
||||
this.strategy.readAclsById(Arrays.asList(oid), Arrays.asList(BEN_SID));
|
||||
assertThatIllegalArgumentException()
|
||||
.isThrownBy(() -> this.strategy.readAclsById(Arrays.asList(oid), Arrays.asList(BEN_SID)));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -31,6 +31,7 @@ import org.mockito.junit.MockitoJUnitRunner;
|
||||
import org.springframework.core.convert.ConversionService;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
|
||||
import static org.mockito.BDDMockito.given;
|
||||
|
||||
/**
|
||||
@@ -125,14 +126,14 @@ public class AclClassIdUtilsTests {
|
||||
assertThat(newIdentifier).isEqualTo(identifier);
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void shouldNotAcceptNullConversionServiceInConstruction() {
|
||||
new AclClassIdUtils(null);
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> new AclClassIdUtils(null));
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void shouldNotAcceptNullConversionServiceInSetter() {
|
||||
this.aclClassIdUtils.setConversionService(null);
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> this.aclClassIdUtils.setConversionService(null));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+5
-2
@@ -37,6 +37,8 @@ import org.springframework.security.acls.domain.ObjectIdentityImpl;
|
||||
import org.springframework.security.acls.model.Acl;
|
||||
import org.springframework.security.acls.model.ObjectIdentity;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
|
||||
/**
|
||||
* Tests {@link BasicLookupStrategy} with Acl Class type id set to UUID.
|
||||
*
|
||||
@@ -110,10 +112,11 @@ public class BasicLookupStrategyWithAclClassTypeTests extends AbstractBasicLooku
|
||||
Assert.assertNotNull(foundAcls.get(oid));
|
||||
}
|
||||
|
||||
@Test(expected = ConversionFailedException.class)
|
||||
@Test
|
||||
public void testReadObjectIdentityUsingNonUuidInDatabase() {
|
||||
ObjectIdentity oid = new ObjectIdentityImpl(TARGET_CLASS_WITH_UUID, OBJECT_IDENTITY_LONG_AS_UUID);
|
||||
this.uuidEnabledStrategy.readAclsById(Arrays.asList(oid), Arrays.asList(BEN_SID));
|
||||
assertThatExceptionOfType(ConversionFailedException.class)
|
||||
.isThrownBy(() -> this.uuidEnabledStrategy.readAclsById(Arrays.asList(oid), Arrays.asList(BEN_SID)));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+10
-39
@@ -52,7 +52,7 @@ import org.springframework.security.util.FieldUtils;
|
||||
import org.springframework.test.util.ReflectionTestUtils;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.fail;
|
||||
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
|
||||
import static org.mockito.BDDMockito.given;
|
||||
import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
@@ -94,49 +94,20 @@ public class EhCacheBasedAclCacheTests {
|
||||
SecurityContextHolder.clearContext();
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void constructorRejectsNullParameters() {
|
||||
new EhCacheBasedAclCache(null, new DefaultPermissionGrantingStrategy(new ConsoleAuditLogger()),
|
||||
new AclAuthorizationStrategyImpl(new SimpleGrantedAuthority("ROLE_USER")));
|
||||
assertThatIllegalArgumentException().isThrownBy(
|
||||
() -> new EhCacheBasedAclCache(null, new DefaultPermissionGrantingStrategy(new ConsoleAuditLogger()),
|
||||
new AclAuthorizationStrategyImpl(new SimpleGrantedAuthority("ROLE_USER"))));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void methodsRejectNullParameters() {
|
||||
try {
|
||||
Serializable id = null;
|
||||
this.myCache.evictFromCache(id);
|
||||
fail("It should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
try {
|
||||
ObjectIdentity obj = null;
|
||||
this.myCache.evictFromCache(obj);
|
||||
fail("It should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
try {
|
||||
Serializable id = null;
|
||||
this.myCache.getFromCache(id);
|
||||
fail("It should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
try {
|
||||
ObjectIdentity obj = null;
|
||||
this.myCache.getFromCache(obj);
|
||||
fail("It should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
try {
|
||||
MutableAcl acl = null;
|
||||
this.myCache.putInCache(acl);
|
||||
fail("It should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> this.myCache.evictFromCache((Serializable) null));
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> this.myCache.evictFromCache((ObjectIdentity) null));
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> this.myCache.getFromCache((Serializable) null));
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> this.myCache.getFromCache((ObjectIdentity) null));
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> this.myCache.putInCache(null));
|
||||
}
|
||||
|
||||
// SEC-527
|
||||
|
||||
@@ -44,6 +44,7 @@ import org.springframework.security.acls.model.ObjectIdentity;
|
||||
import org.springframework.security.acls.model.Sid;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.ArgumentMatchers.anyList;
|
||||
import static org.mockito.ArgumentMatchers.anyString;
|
||||
@@ -95,13 +96,14 @@ public class JdbcAclServiceTests {
|
||||
}
|
||||
|
||||
// SEC-1898
|
||||
@Test(expected = NotFoundException.class)
|
||||
@Test
|
||||
public void readAclByIdMissingAcl() {
|
||||
Map<ObjectIdentity, Acl> result = new HashMap<>();
|
||||
given(this.lookupStrategy.readAclsById(anyList(), anyList())).willReturn(result);
|
||||
ObjectIdentity objectIdentity = new ObjectIdentityImpl(Object.class, 1);
|
||||
List<Sid> sids = Arrays.<Sid>asList(new PrincipalSid("user"));
|
||||
this.aclService.readAclById(objectIdentity, sids);
|
||||
assertThatExceptionOfType(NotFoundException.class)
|
||||
.isThrownBy(() -> this.aclService.readAclById(objectIdentity, sids));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
+70
-116
@@ -55,7 +55,8 @@ import org.springframework.test.context.transaction.BeforeTransaction;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.fail;
|
||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
|
||||
import static org.mockito.BDDMockito.given;
|
||||
import static org.mockito.Mockito.spy;
|
||||
|
||||
@@ -161,91 +162,80 @@ public class JdbcMutableAclServiceTests extends AbstractTransactionalJUnit4Sprin
|
||||
Map<ObjectIdentity, Acl> map = this.jdbcMutableAclService
|
||||
.readAclsById(Arrays.asList(getTopParentOid(), getMiddleParentOid(), getChildOid()));
|
||||
assertThat(map).hasSize(3);
|
||||
// Replace our current objects with their retrieved versions
|
||||
topParent = (MutableAcl) map.get(getTopParentOid());
|
||||
middleParent = (MutableAcl) map.get(getMiddleParentOid());
|
||||
child = (MutableAcl) map.get(getChildOid());
|
||||
// Get the retrieved versions
|
||||
MutableAcl retrievedTopParent = (MutableAcl) map.get(getTopParentOid());
|
||||
MutableAcl retrievedMiddleParent = (MutableAcl) map.get(getMiddleParentOid());
|
||||
MutableAcl retrievedChild = (MutableAcl) map.get(getChildOid());
|
||||
// Check the retrieved versions has IDs
|
||||
assertThat(topParent.getId()).isNotNull();
|
||||
assertThat(middleParent.getId()).isNotNull();
|
||||
assertThat(child.getId()).isNotNull();
|
||||
assertThat(retrievedTopParent.getId()).isNotNull();
|
||||
assertThat(retrievedMiddleParent.getId()).isNotNull();
|
||||
assertThat(retrievedChild.getId()).isNotNull();
|
||||
// Check their parents were correctly persisted
|
||||
assertThat(topParent.getParentAcl()).isNull();
|
||||
assertThat(middleParent.getParentAcl().getObjectIdentity()).isEqualTo(getTopParentOid());
|
||||
assertThat(child.getParentAcl().getObjectIdentity()).isEqualTo(getMiddleParentOid());
|
||||
assertThat(retrievedTopParent.getParentAcl()).isNull();
|
||||
assertThat(retrievedMiddleParent.getParentAcl().getObjectIdentity()).isEqualTo(getTopParentOid());
|
||||
assertThat(retrievedChild.getParentAcl().getObjectIdentity()).isEqualTo(getMiddleParentOid());
|
||||
// Check their ACEs were correctly persisted
|
||||
assertThat(topParent.getEntries()).hasSize(2);
|
||||
assertThat(middleParent.getEntries()).hasSize(1);
|
||||
assertThat(child.getEntries()).hasSize(1);
|
||||
assertThat(retrievedTopParent.getEntries()).hasSize(2);
|
||||
assertThat(retrievedMiddleParent.getEntries()).hasSize(1);
|
||||
assertThat(retrievedChild.getEntries()).hasSize(1);
|
||||
// Check the retrieved rights are correct
|
||||
List<Permission> read = Arrays.asList(BasePermission.READ);
|
||||
List<Permission> write = Arrays.asList(BasePermission.WRITE);
|
||||
List<Permission> delete = Arrays.asList(BasePermission.DELETE);
|
||||
List<Sid> pSid = Arrays.asList((Sid) new PrincipalSid(this.auth));
|
||||
assertThat(topParent.isGranted(read, pSid, false)).isTrue();
|
||||
assertThat(topParent.isGranted(write, pSid, false)).isFalse();
|
||||
assertThat(middleParent.isGranted(delete, pSid, false)).isTrue();
|
||||
assertThat(child.isGranted(delete, pSid, false)).isFalse();
|
||||
try {
|
||||
child.isGranted(Arrays.asList(BasePermission.ADMINISTRATION), pSid, false);
|
||||
fail("Should have thrown NotFoundException");
|
||||
}
|
||||
catch (NotFoundException expected) {
|
||||
}
|
||||
assertThat(retrievedTopParent.isGranted(read, pSid, false)).isTrue();
|
||||
assertThat(retrievedTopParent.isGranted(write, pSid, false)).isFalse();
|
||||
assertThat(retrievedMiddleParent.isGranted(delete, pSid, false)).isTrue();
|
||||
assertThat(retrievedChild.isGranted(delete, pSid, false)).isFalse();
|
||||
assertThatExceptionOfType(NotFoundException.class)
|
||||
.isThrownBy(() -> retrievedChild.isGranted(Arrays.asList(BasePermission.ADMINISTRATION), pSid, false));
|
||||
// Now check the inherited rights (when not explicitly overridden) also look OK
|
||||
assertThat(child.isGranted(read, pSid, false)).isTrue();
|
||||
assertThat(child.isGranted(write, pSid, false)).isFalse();
|
||||
assertThat(child.isGranted(delete, pSid, false)).isFalse();
|
||||
assertThat(retrievedChild.isGranted(read, pSid, false)).isTrue();
|
||||
assertThat(retrievedChild.isGranted(write, pSid, false)).isFalse();
|
||||
assertThat(retrievedChild.isGranted(delete, pSid, false)).isFalse();
|
||||
// Next change the child so it doesn't inherit permissions from above
|
||||
child.setEntriesInheriting(false);
|
||||
this.jdbcMutableAclService.updateAcl(child);
|
||||
child = (MutableAcl) this.jdbcMutableAclService.readAclById(getChildOid());
|
||||
assertThat(child.isEntriesInheriting()).isFalse();
|
||||
retrievedChild.setEntriesInheriting(false);
|
||||
this.jdbcMutableAclService.updateAcl(retrievedChild);
|
||||
MutableAcl nonInheritingChild = (MutableAcl) this.jdbcMutableAclService.readAclById(getChildOid());
|
||||
assertThat(nonInheritingChild.isEntriesInheriting()).isFalse();
|
||||
// Check the child permissions no longer inherit
|
||||
assertThat(child.isGranted(delete, pSid, true)).isFalse();
|
||||
try {
|
||||
child.isGranted(read, pSid, true);
|
||||
fail("Should have thrown NotFoundException");
|
||||
}
|
||||
catch (NotFoundException expected) {
|
||||
}
|
||||
try {
|
||||
child.isGranted(write, pSid, true);
|
||||
fail("Should have thrown NotFoundException");
|
||||
}
|
||||
catch (NotFoundException expected) {
|
||||
}
|
||||
assertThat(nonInheritingChild.isGranted(delete, pSid, true)).isFalse();
|
||||
assertThatExceptionOfType(NotFoundException.class)
|
||||
.isThrownBy(() -> nonInheritingChild.isGranted(read, pSid, true));
|
||||
assertThatExceptionOfType(NotFoundException.class)
|
||||
.isThrownBy(() -> nonInheritingChild.isGranted(write, pSid, true));
|
||||
// Let's add an identical permission to the child, but it'll appear AFTER the
|
||||
// current permission, so has no impact
|
||||
child.insertAce(1, BasePermission.DELETE, new PrincipalSid(this.auth), true);
|
||||
nonInheritingChild.insertAce(1, BasePermission.DELETE, new PrincipalSid(this.auth), true);
|
||||
// Let's also add another permission to the child
|
||||
child.insertAce(2, BasePermission.CREATE, new PrincipalSid(this.auth), true);
|
||||
nonInheritingChild.insertAce(2, BasePermission.CREATE, new PrincipalSid(this.auth), true);
|
||||
// Save the changed child
|
||||
this.jdbcMutableAclService.updateAcl(child);
|
||||
child = (MutableAcl) this.jdbcMutableAclService.readAclById(getChildOid());
|
||||
assertThat(child.getEntries()).hasSize(3);
|
||||
this.jdbcMutableAclService.updateAcl(nonInheritingChild);
|
||||
MutableAcl retrievedNonInheritingChild = (MutableAcl) this.jdbcMutableAclService.readAclById(getChildOid());
|
||||
assertThat(retrievedNonInheritingChild.getEntries()).hasSize(3);
|
||||
// Output permissions
|
||||
for (int i = 0; i < child.getEntries().size(); i++) {
|
||||
System.out.println(child.getEntries().get(i));
|
||||
for (int i = 0; i < retrievedNonInheritingChild.getEntries().size(); i++) {
|
||||
System.out.println(retrievedNonInheritingChild.getEntries().get(i));
|
||||
}
|
||||
// Check the permissions are as they should be
|
||||
assertThat(child.isGranted(delete, pSid, true)).isFalse(); // as earlier
|
||||
// permission
|
||||
assertThat(retrievedNonInheritingChild.isGranted(delete, pSid, true)).isFalse(); // as
|
||||
// earlier
|
||||
// permission
|
||||
// overrode
|
||||
assertThat(child.isGranted(Arrays.asList(BasePermission.CREATE), pSid, true)).isTrue();
|
||||
assertThat(retrievedNonInheritingChild.isGranted(Arrays.asList(BasePermission.CREATE), pSid, true)).isTrue();
|
||||
// Now check the first ACE (index 0) really is DELETE for our Sid and is
|
||||
// non-granting
|
||||
AccessControlEntry entry = child.getEntries().get(0);
|
||||
AccessControlEntry entry = retrievedNonInheritingChild.getEntries().get(0);
|
||||
assertThat(entry.getPermission().getMask()).isEqualTo(BasePermission.DELETE.getMask());
|
||||
assertThat(entry.getSid()).isEqualTo(new PrincipalSid(this.auth));
|
||||
assertThat(entry.isGranting()).isFalse();
|
||||
assertThat(entry.getId()).isNotNull();
|
||||
// Now delete that first ACE
|
||||
child.deleteAce(0);
|
||||
retrievedNonInheritingChild.deleteAce(0);
|
||||
// Save and check it worked
|
||||
child = this.jdbcMutableAclService.updateAcl(child);
|
||||
assertThat(child.getEntries()).hasSize(2);
|
||||
assertThat(child.isGranted(delete, pSid, false)).isTrue();
|
||||
MutableAcl savedChild = this.jdbcMutableAclService.updateAcl(retrievedNonInheritingChild);
|
||||
assertThat(savedChild.getEntries()).hasSize(2);
|
||||
assertThat(savedChild.isGranted(delete, pSid, false)).isTrue();
|
||||
SecurityContextHolder.clearContext();
|
||||
}
|
||||
|
||||
@@ -267,18 +257,10 @@ public class JdbcMutableAclServiceTests extends AbstractTransactionalJUnit4Sprin
|
||||
assertThat(childAcl.getParentAcl().getObjectIdentity()).isEqualTo(getMiddleParentOid());
|
||||
// Delete the mid-parent and test if the child was deleted, as well
|
||||
this.jdbcMutableAclService.deleteAcl(getMiddleParentOid(), true);
|
||||
try {
|
||||
this.jdbcMutableAclService.readAclById(getMiddleParentOid());
|
||||
fail("It should have thrown NotFoundException");
|
||||
}
|
||||
catch (NotFoundException expected) {
|
||||
}
|
||||
try {
|
||||
this.jdbcMutableAclService.readAclById(getChildOid());
|
||||
fail("It should have thrown NotFoundException");
|
||||
}
|
||||
catch (NotFoundException expected) {
|
||||
}
|
||||
assertThatExceptionOfType(NotFoundException.class)
|
||||
.isThrownBy(() -> this.jdbcMutableAclService.readAclById(getMiddleParentOid()));
|
||||
assertThatExceptionOfType(NotFoundException.class)
|
||||
.isThrownBy(() -> this.jdbcMutableAclService.readAclById(getChildOid()));
|
||||
Acl acl = this.jdbcMutableAclService.readAclById(getTopParentOid());
|
||||
assertThat(acl).isNotNull();
|
||||
assertThat(getTopParentOid()).isEqualTo(acl.getObjectIdentity());
|
||||
@@ -286,34 +268,17 @@ public class JdbcMutableAclServiceTests extends AbstractTransactionalJUnit4Sprin
|
||||
|
||||
@Test
|
||||
public void constructorRejectsNullParameters() {
|
||||
try {
|
||||
new JdbcMutableAclService(null, this.lookupStrategy, this.aclCache);
|
||||
fail("It should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
try {
|
||||
new JdbcMutableAclService(this.dataSource, null, this.aclCache);
|
||||
fail("It should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
try {
|
||||
new JdbcMutableAclService(this.dataSource, this.lookupStrategy, null);
|
||||
fail("It should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
assertThatIllegalArgumentException()
|
||||
.isThrownBy(() -> new JdbcMutableAclService(null, this.lookupStrategy, this.aclCache));
|
||||
assertThatIllegalArgumentException()
|
||||
.isThrownBy(() -> new JdbcMutableAclService(this.dataSource, null, this.aclCache));
|
||||
assertThatIllegalArgumentException()
|
||||
.isThrownBy(() -> new JdbcMutableAclService(this.dataSource, this.lookupStrategy, null));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void createAclRejectsNullParameter() {
|
||||
try {
|
||||
this.jdbcMutableAclService.createAcl(null);
|
||||
fail("It should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> this.jdbcMutableAclService.createAcl(null));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -323,23 +288,14 @@ public class JdbcMutableAclServiceTests extends AbstractTransactionalJUnit4Sprin
|
||||
ObjectIdentity duplicateOid = new ObjectIdentityImpl(TARGET_CLASS, 100L);
|
||||
this.jdbcMutableAclService.createAcl(duplicateOid);
|
||||
// Try to add the same object second time
|
||||
try {
|
||||
this.jdbcMutableAclService.createAcl(duplicateOid);
|
||||
fail("It should have thrown AlreadyExistsException");
|
||||
}
|
||||
catch (AlreadyExistsException expected) {
|
||||
}
|
||||
assertThatExceptionOfType(AlreadyExistsException.class)
|
||||
.isThrownBy(() -> this.jdbcMutableAclService.createAcl(duplicateOid));
|
||||
}
|
||||
|
||||
@Test
|
||||
@Transactional
|
||||
public void deleteAclRejectsNullParameters() {
|
||||
try {
|
||||
this.jdbcMutableAclService.deleteAcl(null, true);
|
||||
fail("It should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> this.jdbcMutableAclService.deleteAcl(null, true));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -351,18 +307,16 @@ public class JdbcMutableAclServiceTests extends AbstractTransactionalJUnit4Sprin
|
||||
// Specify the inheritance hierarchy
|
||||
child.setParent(parent);
|
||||
this.jdbcMutableAclService.updateAcl(child);
|
||||
// switch on FK
|
||||
this.jdbcMutableAclService.setForeignKeysInDatabase(false);
|
||||
try {
|
||||
this.jdbcMutableAclService.setForeignKeysInDatabase(false); // switch on FK
|
||||
// checking in the
|
||||
// class, not database
|
||||
this.jdbcMutableAclService.deleteAcl(getTopParentOid(), false);
|
||||
fail("It should have thrown ChildrenExistException");
|
||||
}
|
||||
catch (ChildrenExistException expected) {
|
||||
// checking in the class, not database
|
||||
assertThatExceptionOfType(ChildrenExistException.class)
|
||||
.isThrownBy(() -> this.jdbcMutableAclService.deleteAcl(getTopParentOid(), false));
|
||||
}
|
||||
finally {
|
||||
this.jdbcMutableAclService.setForeignKeysInDatabase(true); // restore to the
|
||||
// default
|
||||
// restore to the default
|
||||
this.jdbcMutableAclService.setForeignKeysInDatabase(true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+3
-2
@@ -43,6 +43,7 @@ import org.springframework.security.core.context.SecurityContextHolder;
|
||||
import org.springframework.security.util.FieldUtils;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
|
||||
|
||||
/**
|
||||
* Tests {@link org.springframework.security.acls.domain.SpringCacheBasedAclCache}
|
||||
@@ -74,9 +75,9 @@ public class SpringCacheBasedAclCacheTests {
|
||||
return cache;
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void constructorRejectsNullParameters() {
|
||||
new SpringCacheBasedAclCache(null, null, null);
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> new SpringCacheBasedAclCache(null, null, null));
|
||||
}
|
||||
|
||||
@SuppressWarnings("rawtypes")
|
||||
|
||||
@@ -32,92 +32,36 @@ import org.springframework.security.core.authority.SimpleGrantedAuthority;
|
||||
import org.springframework.security.core.userdetails.User;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.fail;
|
||||
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
|
||||
import static org.assertj.core.api.Assertions.assertThatNoException;
|
||||
|
||||
public class SidTests {
|
||||
|
||||
@Test
|
||||
public void testPrincipalSidConstructorsRequiredFields() {
|
||||
// Check one String-argument constructor
|
||||
try {
|
||||
String string = null;
|
||||
new PrincipalSid(string);
|
||||
fail("It should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
try {
|
||||
new PrincipalSid("");
|
||||
fail("It should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
new PrincipalSid("johndoe");
|
||||
// throws no exception
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> new PrincipalSid((String) null));
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> new PrincipalSid(""));
|
||||
assertThatNoException().isThrownBy(() -> new PrincipalSid("johndoe"));
|
||||
// Check one Authentication-argument constructor
|
||||
try {
|
||||
Authentication authentication = null;
|
||||
new PrincipalSid(authentication);
|
||||
fail("It should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
try {
|
||||
Authentication authentication = new TestingAuthenticationToken(null, "password");
|
||||
new PrincipalSid(authentication);
|
||||
fail("It should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
Authentication authentication = new TestingAuthenticationToken("johndoe", "password");
|
||||
new PrincipalSid(authentication);
|
||||
// throws no exception
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> new PrincipalSid((Authentication) null));
|
||||
assertThatIllegalArgumentException()
|
||||
.isThrownBy(() -> new PrincipalSid(new TestingAuthenticationToken(null, "password")));
|
||||
assertThatNoException()
|
||||
.isThrownBy(() -> new PrincipalSid(new TestingAuthenticationToken("johndoe", "password")));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGrantedAuthoritySidConstructorsRequiredFields() {
|
||||
// Check one String-argument constructor
|
||||
try {
|
||||
String string = null;
|
||||
new GrantedAuthoritySid(string);
|
||||
fail("It should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
try {
|
||||
new GrantedAuthoritySid("");
|
||||
fail("It should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
try {
|
||||
new GrantedAuthoritySid("ROLE_TEST");
|
||||
}
|
||||
catch (IllegalArgumentException notExpected) {
|
||||
fail("It shouldn't have thrown IllegalArgumentException");
|
||||
}
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> new GrantedAuthoritySid((String) null));
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> new GrantedAuthoritySid(""));
|
||||
assertThatNoException().isThrownBy(() -> new GrantedAuthoritySid("ROLE_TEST"));
|
||||
// Check one GrantedAuthority-argument constructor
|
||||
try {
|
||||
GrantedAuthority ga = null;
|
||||
new GrantedAuthoritySid(ga);
|
||||
fail("It should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
try {
|
||||
GrantedAuthority ga = new SimpleGrantedAuthority(null);
|
||||
new GrantedAuthoritySid(ga);
|
||||
fail("It should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
try {
|
||||
GrantedAuthority ga = new SimpleGrantedAuthority("ROLE_TEST");
|
||||
new GrantedAuthoritySid(ga);
|
||||
}
|
||||
catch (IllegalArgumentException notExpected) {
|
||||
fail("It shouldn't have thrown IllegalArgumentException");
|
||||
}
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> new GrantedAuthoritySid((GrantedAuthority) null));
|
||||
assertThatIllegalArgumentException()
|
||||
.isThrownBy(() -> new GrantedAuthoritySid(new SimpleGrantedAuthority(null)));
|
||||
assertThatNoException().isThrownBy(() -> new GrantedAuthoritySid(new SimpleGrantedAuthority("ROLE_TEST")));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.aspectj:aspectjtools:1.9.3
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.aspectj:aspectjtools:1.9.6
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -14,13 +14,13 @@ com.puppycrawl.tools:checkstyle:8.32
|
||||
commons-beanutils:commons-beanutils:1.9.4
|
||||
commons-collections:commons-collections:3.2.2
|
||||
info.picocli:picocli:4.2.0
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
io.spring.javaformat:spring-javaformat-checkstyle:0.0.24
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
io.spring.javaformat:spring-javaformat-checkstyle:0.0.25
|
||||
io.spring.nohttp:nohttp-checkstyle:0.0.3.RELEASE
|
||||
io.spring.nohttp:nohttp:0.0.3.RELEASE
|
||||
net.sf.saxon:Saxon-HE:9.9.1-7
|
||||
org.antlr:antlr4-runtime:4.8-1
|
||||
org.checkerframework:checker-qual:2.11.1
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.aspectj:aspectjrt:1.9.3
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-aop:5.2.8.RELEASE
|
||||
org.springframework:spring-beans:5.2.8.RELEASE
|
||||
org.springframework:spring-context:5.2.8.RELEASE
|
||||
org.springframework:spring-core:5.2.8.RELEASE
|
||||
org.springframework:spring-expression:5.2.8.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.springframework:spring-jcl:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.aspectj:aspectjrt:1.9.6
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-aop:5.2.9.RELEASE
|
||||
org.springframework:spring-beans:5.2.9.RELEASE
|
||||
org.springframework:spring-context:5.2.9.RELEASE
|
||||
org.springframework:spring-core:5.2.9.RELEASE
|
||||
org.springframework:spring-expression:5.2.9.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
org.springframework:spring-jcl:5.2.9.RELEASE
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.aspectj:aspectjrt:1.9.3
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-aop:5.2.8.RELEASE
|
||||
org.springframework:spring-beans:5.2.8.RELEASE
|
||||
org.springframework:spring-context:5.2.8.RELEASE
|
||||
org.springframework:spring-core:5.2.8.RELEASE
|
||||
org.springframework:spring-expression:5.2.8.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.springframework:spring-jcl:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.aspectj:aspectjrt:1.9.6
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-aop:5.2.9.RELEASE
|
||||
org.springframework:spring-beans:5.2.9.RELEASE
|
||||
org.springframework:spring-context:5.2.9.RELEASE
|
||||
org.springframework:spring-core:5.2.9.RELEASE
|
||||
org.springframework:spring-expression:5.2.9.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
org.springframework:spring-jcl:5.2.9.RELEASE
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.aspectj:aspectjrt:1.9.3
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-aop:5.2.8.RELEASE
|
||||
org.springframework:spring-beans:5.2.8.RELEASE
|
||||
org.springframework:spring-context:5.2.8.RELEASE
|
||||
org.springframework:spring-core:5.2.8.RELEASE
|
||||
org.springframework:spring-expression:5.2.8.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.springframework:spring-jcl:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.aspectj:aspectjrt:1.9.6
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-aop:5.2.9.RELEASE
|
||||
org.springframework:spring-beans:5.2.9.RELEASE
|
||||
org.springframework:spring-context:5.2.9.RELEASE
|
||||
org.springframework:spring-core:5.2.9.RELEASE
|
||||
org.springframework:spring-expression:5.2.9.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
org.springframework:spring-jcl:5.2.9.RELEASE
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jacoco:org.jacoco.agent:0.8.2
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jacoco:org.jacoco.agent:0.8.2
|
||||
org.jacoco:org.jacoco.ant:0.8.2
|
||||
org.jacoco:org.jacoco.core:0.8.2
|
||||
org.jacoco:org.jacoco.report:0.8.2
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.ow2.asm:asm-analysis:6.2.1
|
||||
org.ow2.asm:asm-commons:6.2.1
|
||||
org.ow2.asm:asm-tree:6.2.1
|
||||
org.ow2.asm:asm:6.2.1
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.aspectj:aspectjrt:1.9.3
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-aop:5.2.8.RELEASE
|
||||
org.springframework:spring-beans:5.2.8.RELEASE
|
||||
org.springframework:spring-context:5.2.8.RELEASE
|
||||
org.springframework:spring-core:5.2.8.RELEASE
|
||||
org.springframework:spring-expression:5.2.8.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.springframework:spring-jcl:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.aspectj:aspectjrt:1.9.6
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-aop:5.2.9.RELEASE
|
||||
org.springframework:spring-beans:5.2.9.RELEASE
|
||||
org.springframework:spring-context:5.2.9.RELEASE
|
||||
org.springframework:spring-core:5.2.9.RELEASE
|
||||
org.springframework:spring-expression:5.2.9.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
org.springframework:spring-jcl:5.2.9.RELEASE
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.aspectj:aspectjrt:1.9.3
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-aop:5.2.8.RELEASE
|
||||
org.springframework:spring-beans:5.2.8.RELEASE
|
||||
org.springframework:spring-context:5.2.8.RELEASE
|
||||
org.springframework:spring-core:5.2.8.RELEASE
|
||||
org.springframework:spring-expression:5.2.8.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.springframework:spring-jcl:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.aspectj:aspectjrt:1.9.6
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-aop:5.2.9.RELEASE
|
||||
org.springframework:spring-beans:5.2.9.RELEASE
|
||||
org.springframework:spring-context:5.2.9.RELEASE
|
||||
org.springframework:spring-core:5.2.9.RELEASE
|
||||
org.springframework:spring-expression:5.2.9.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
org.springframework:spring-jcl:5.2.9.RELEASE
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
junit:junit:4.12
|
||||
net.bytebuddy:byte-buddy-agent:1.10.5
|
||||
net.bytebuddy:byte-buddy:1.10.5
|
||||
org.aspectj:aspectjrt:1.9.3
|
||||
net.bytebuddy:byte-buddy-agent:1.10.15
|
||||
net.bytebuddy:byte-buddy:1.10.15
|
||||
org.aspectj:aspectjrt:1.9.6
|
||||
org.assertj:assertj-core:3.17.2
|
||||
org.hamcrest:hamcrest-core:1.3
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.mockito:mockito-core:3.3.3
|
||||
org.objenesis:objenesis:2.6
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-aop:5.2.8.RELEASE
|
||||
org.springframework:spring-beans:5.2.8.RELEASE
|
||||
org.springframework:spring-context:5.2.8.RELEASE
|
||||
org.springframework:spring-core:5.2.8.RELEASE
|
||||
org.springframework:spring-expression:5.2.8.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.springframework:spring-jcl:5.2.8.RELEASE
|
||||
org.springframework:spring-test:5.2.8.RELEASE
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.mockito:mockito-core:3.5.13
|
||||
org.objenesis:objenesis:3.1
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-aop:5.2.9.RELEASE
|
||||
org.springframework:spring-beans:5.2.9.RELEASE
|
||||
org.springframework:spring-context:5.2.9.RELEASE
|
||||
org.springframework:spring-core:5.2.9.RELEASE
|
||||
org.springframework:spring-expression:5.2.9.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
org.springframework:spring-jcl:5.2.9.RELEASE
|
||||
org.springframework:spring-test:5.2.9.RELEASE
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
junit:junit:4.12
|
||||
net.bytebuddy:byte-buddy-agent:1.10.5
|
||||
net.bytebuddy:byte-buddy:1.10.5
|
||||
org.aspectj:aspectjrt:1.9.3
|
||||
net.bytebuddy:byte-buddy-agent:1.10.15
|
||||
net.bytebuddy:byte-buddy:1.10.15
|
||||
org.aspectj:aspectjrt:1.9.6
|
||||
org.assertj:assertj-core:3.17.2
|
||||
org.hamcrest:hamcrest-core:1.3
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.mockito:mockito-core:3.3.3
|
||||
org.objenesis:objenesis:2.6
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-aop:5.2.8.RELEASE
|
||||
org.springframework:spring-beans:5.2.8.RELEASE
|
||||
org.springframework:spring-context:5.2.8.RELEASE
|
||||
org.springframework:spring-core:5.2.8.RELEASE
|
||||
org.springframework:spring-expression:5.2.8.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.springframework:spring-jcl:5.2.8.RELEASE
|
||||
org.springframework:spring-test:5.2.8.RELEASE
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.mockito:mockito-core:3.5.13
|
||||
org.objenesis:objenesis:3.1
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-aop:5.2.9.RELEASE
|
||||
org.springframework:spring-beans:5.2.9.RELEASE
|
||||
org.springframework:spring-context:5.2.9.RELEASE
|
||||
org.springframework:spring-core:5.2.9.RELEASE
|
||||
org.springframework:spring-expression:5.2.9.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
org.springframework:spring-jcl:5.2.9.RELEASE
|
||||
org.springframework:spring-test:5.2.9.RELEASE
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
junit:junit:4.12
|
||||
net.bytebuddy:byte-buddy-agent:1.10.5
|
||||
net.bytebuddy:byte-buddy:1.10.5
|
||||
org.aspectj:aspectjrt:1.9.3
|
||||
net.bytebuddy:byte-buddy-agent:1.10.15
|
||||
net.bytebuddy:byte-buddy:1.10.15
|
||||
org.aspectj:aspectjrt:1.9.6
|
||||
org.assertj:assertj-core:3.17.2
|
||||
org.hamcrest:hamcrest-core:1.3
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.mockito:mockito-core:3.3.3
|
||||
org.objenesis:objenesis:2.6
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-aop:5.2.8.RELEASE
|
||||
org.springframework:spring-beans:5.2.8.RELEASE
|
||||
org.springframework:spring-context:5.2.8.RELEASE
|
||||
org.springframework:spring-core:5.2.8.RELEASE
|
||||
org.springframework:spring-expression:5.2.8.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.springframework:spring-jcl:5.2.8.RELEASE
|
||||
org.springframework:spring-test:5.2.8.RELEASE
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.mockito:mockito-core:3.5.13
|
||||
org.objenesis:objenesis:3.1
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-aop:5.2.9.RELEASE
|
||||
org.springframework:spring-beans:5.2.9.RELEASE
|
||||
org.springframework:spring-context:5.2.9.RELEASE
|
||||
org.springframework:spring-core:5.2.9.RELEASE
|
||||
org.springframework:spring-expression:5.2.9.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
org.springframework:spring-jcl:5.2.9.RELEASE
|
||||
org.springframework:spring-test:5.2.9.RELEASE
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
junit:junit:4.12
|
||||
net.bytebuddy:byte-buddy-agent:1.10.5
|
||||
net.bytebuddy:byte-buddy:1.10.5
|
||||
org.aspectj:aspectjrt:1.9.3
|
||||
net.bytebuddy:byte-buddy-agent:1.10.15
|
||||
net.bytebuddy:byte-buddy:1.10.15
|
||||
org.aspectj:aspectjrt:1.9.6
|
||||
org.assertj:assertj-core:3.17.2
|
||||
org.hamcrest:hamcrest-core:1.3
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.mockito:mockito-core:3.3.3
|
||||
org.objenesis:objenesis:2.6
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-aop:5.2.8.RELEASE
|
||||
org.springframework:spring-beans:5.2.8.RELEASE
|
||||
org.springframework:spring-context:5.2.8.RELEASE
|
||||
org.springframework:spring-core:5.2.8.RELEASE
|
||||
org.springframework:spring-expression:5.2.8.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.springframework:spring-jcl:5.2.8.RELEASE
|
||||
org.springframework:spring-test:5.2.8.RELEASE
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.mockito:mockito-core:3.5.13
|
||||
org.objenesis:objenesis:3.1
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-aop:5.2.9.RELEASE
|
||||
org.springframework:spring-beans:5.2.9.RELEASE
|
||||
org.springframework:spring-context:5.2.9.RELEASE
|
||||
org.springframework:spring-core:5.2.9.RELEASE
|
||||
org.springframework:spring-expression:5.2.9.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
org.springframework:spring-jcl:5.2.9.RELEASE
|
||||
org.springframework:spring-test:5.2.9.RELEASE
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
junit:junit:4.12
|
||||
net.bytebuddy:byte-buddy-agent:1.10.5
|
||||
net.bytebuddy:byte-buddy:1.10.5
|
||||
org.aspectj:aspectjrt:1.9.3
|
||||
net.bytebuddy:byte-buddy-agent:1.10.15
|
||||
net.bytebuddy:byte-buddy:1.10.15
|
||||
org.aspectj:aspectjrt:1.9.6
|
||||
org.assertj:assertj-core:3.17.2
|
||||
org.hamcrest:hamcrest-core:1.3
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.mockito:mockito-core:3.3.3
|
||||
org.objenesis:objenesis:2.6
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-aop:5.2.8.RELEASE
|
||||
org.springframework:spring-beans:5.2.8.RELEASE
|
||||
org.springframework:spring-context:5.2.8.RELEASE
|
||||
org.springframework:spring-core:5.2.8.RELEASE
|
||||
org.springframework:spring-expression:5.2.8.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.springframework:spring-jcl:5.2.8.RELEASE
|
||||
org.springframework:spring-test:5.2.8.RELEASE
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.mockito:mockito-core:3.5.13
|
||||
org.objenesis:objenesis:3.1
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-aop:5.2.9.RELEASE
|
||||
org.springframework:spring-beans:5.2.9.RELEASE
|
||||
org.springframework:spring-context:5.2.9.RELEASE
|
||||
org.springframework:spring-core:5.2.9.RELEASE
|
||||
org.springframework:spring-expression:5.2.9.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
org.springframework:spring-jcl:5.2.9.RELEASE
|
||||
org.springframework:spring-test:5.2.9.RELEASE
|
||||
|
||||
+11
-15
@@ -49,7 +49,7 @@ import org.springframework.security.authentication.TestingAuthenticationToken;
|
||||
import org.springframework.security.core.context.SecurityContextHolder;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.fail;
|
||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
|
||||
/**
|
||||
* @author Luke Taylor
|
||||
@@ -98,9 +98,10 @@ public class AnnotationSecurityAspectTests {
|
||||
this.secured.securedMethod();
|
||||
}
|
||||
|
||||
@Test(expected = AuthenticationCredentialsNotFoundException.class)
|
||||
@Test
|
||||
public void securedClassMethodDeniesUnauthenticatedAccess() {
|
||||
this.secured.securedClassMethod();
|
||||
assertThatExceptionOfType(AuthenticationCredentialsNotFoundException.class)
|
||||
.isThrownBy(() -> this.secured.securedClassMethod());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -109,22 +110,17 @@ public class AnnotationSecurityAspectTests {
|
||||
this.secured.securedClassMethod();
|
||||
}
|
||||
|
||||
@Test(expected = AccessDeniedException.class)
|
||||
@Test
|
||||
public void internalPrivateCallIsIntercepted() {
|
||||
SecurityContextHolder.getContext().setAuthentication(this.anne);
|
||||
try {
|
||||
this.secured.publicCallsPrivate();
|
||||
fail("Expected AccessDeniedException");
|
||||
}
|
||||
catch (AccessDeniedException expected) {
|
||||
}
|
||||
this.securedSub.publicCallsPrivate();
|
||||
assertThatExceptionOfType(AccessDeniedException.class).isThrownBy(() -> this.secured.publicCallsPrivate());
|
||||
assertThatExceptionOfType(AccessDeniedException.class).isThrownBy(() -> this.securedSub.publicCallsPrivate());
|
||||
}
|
||||
|
||||
@Test(expected = AccessDeniedException.class)
|
||||
@Test
|
||||
public void protectedMethodIsIntercepted() {
|
||||
SecurityContextHolder.getContext().setAuthentication(this.anne);
|
||||
this.secured.protectedMethod();
|
||||
assertThatExceptionOfType(AccessDeniedException.class).isThrownBy(() -> this.secured.protectedMethod());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -134,11 +130,11 @@ public class AnnotationSecurityAspectTests {
|
||||
}
|
||||
|
||||
// SEC-1262
|
||||
@Test(expected = AccessDeniedException.class)
|
||||
@Test
|
||||
public void denyAllPreAuthorizeDeniesAccess() {
|
||||
configureForElAnnotations();
|
||||
SecurityContextHolder.getContext().setAuthentication(this.anne);
|
||||
this.prePostSecured.denyAllMethod();
|
||||
assertThatExceptionOfType(AccessDeniedException.class).isThrownBy(this.prePostSecured::denyAllMethod);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -66,6 +66,13 @@ allprojects {
|
||||
}
|
||||
}
|
||||
|
||||
if (hasProperty('buildScan')) {
|
||||
buildScan {
|
||||
termsOfServiceUrl = 'https://gradle.com/terms-of-service'
|
||||
termsOfServiceAgree = 'yes'
|
||||
}
|
||||
}
|
||||
|
||||
nohttp {
|
||||
allowlistFile = project.file("etc/nohttp/allowlist.lines")
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -14,13 +14,13 @@ com.puppycrawl.tools:checkstyle:8.32
|
||||
commons-beanutils:commons-beanutils:1.9.4
|
||||
commons-collections:commons-collections:3.2.2
|
||||
info.picocli:picocli:4.2.0
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
io.spring.javaformat:spring-javaformat-checkstyle:0.0.24
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
io.spring.javaformat:spring-javaformat-checkstyle:0.0.25
|
||||
io.spring.nohttp:nohttp-checkstyle:0.0.3.RELEASE
|
||||
io.spring.nohttp:nohttp:0.0.3.RELEASE
|
||||
net.sf.saxon:Saxon-HE:9.9.1-7
|
||||
org.antlr:antlr4-runtime:4.8-1
|
||||
org.checkerframework:checker-qual:2.11.1
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.11.2
|
||||
com.fasterxml.jackson.core:jackson-core:2.11.2
|
||||
com.fasterxml.jackson.core:jackson-databind:2.11.2
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.11.3
|
||||
com.fasterxml.jackson.core:jackson-core:2.11.3
|
||||
com.fasterxml.jackson.core:jackson-databind:2.11.3
|
||||
commons-codec:commons-codec:1.14
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.bouncycastle:bcpkix-jdk15on:1.66
|
||||
org.bouncycastle:bcprov-jdk15on:1.66
|
||||
org.jasig.cas.client:cas-client-core:3.6.1
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.slf4j:slf4j-api:1.7.30
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-aop:5.2.8.RELEASE
|
||||
org.springframework:spring-beans:5.2.8.RELEASE
|
||||
org.springframework:spring-context:5.2.8.RELEASE
|
||||
org.springframework:spring-core:5.2.8.RELEASE
|
||||
org.springframework:spring-expression:5.2.8.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.springframework:spring-jcl:5.2.8.RELEASE
|
||||
org.springframework:spring-web:5.2.8.RELEASE
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-aop:5.2.9.RELEASE
|
||||
org.springframework:spring-beans:5.2.9.RELEASE
|
||||
org.springframework:spring-context:5.2.9.RELEASE
|
||||
org.springframework:spring-core:5.2.9.RELEASE
|
||||
org.springframework:spring-expression:5.2.9.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
org.springframework:spring-jcl:5.2.9.RELEASE
|
||||
org.springframework:spring-web:5.2.9.RELEASE
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.11.2
|
||||
com.fasterxml.jackson.core:jackson-core:2.11.2
|
||||
com.fasterxml.jackson.core:jackson-databind:2.11.2
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.11.3
|
||||
com.fasterxml.jackson.core:jackson-core:2.11.3
|
||||
com.fasterxml.jackson.core:jackson-databind:2.11.3
|
||||
commons-codec:commons-codec:1.14
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.bouncycastle:bcpkix-jdk15on:1.66
|
||||
org.bouncycastle:bcprov-jdk15on:1.66
|
||||
org.jasig.cas.client:cas-client-core:3.6.1
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.slf4j:slf4j-api:1.7.30
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-aop:5.2.8.RELEASE
|
||||
org.springframework:spring-beans:5.2.8.RELEASE
|
||||
org.springframework:spring-context:5.2.8.RELEASE
|
||||
org.springframework:spring-core:5.2.8.RELEASE
|
||||
org.springframework:spring-expression:5.2.8.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.springframework:spring-jcl:5.2.8.RELEASE
|
||||
org.springframework:spring-web:5.2.8.RELEASE
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-aop:5.2.9.RELEASE
|
||||
org.springframework:spring-beans:5.2.9.RELEASE
|
||||
org.springframework:spring-context:5.2.9.RELEASE
|
||||
org.springframework:spring-core:5.2.9.RELEASE
|
||||
org.springframework:spring-expression:5.2.9.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
org.springframework:spring-jcl:5.2.9.RELEASE
|
||||
org.springframework:spring-web:5.2.9.RELEASE
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.11.2
|
||||
com.fasterxml.jackson.core:jackson-core:2.11.2
|
||||
com.fasterxml.jackson.core:jackson-databind:2.11.2
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.11.3
|
||||
com.fasterxml.jackson.core:jackson-core:2.11.3
|
||||
com.fasterxml.jackson.core:jackson-databind:2.11.3
|
||||
commons-codec:commons-codec:1.14
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.bouncycastle:bcpkix-jdk15on:1.66
|
||||
org.bouncycastle:bcprov-jdk15on:1.66
|
||||
org.jasig.cas.client:cas-client-core:3.6.1
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.slf4j:slf4j-api:1.7.30
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-aop:5.2.8.RELEASE
|
||||
org.springframework:spring-beans:5.2.8.RELEASE
|
||||
org.springframework:spring-context:5.2.8.RELEASE
|
||||
org.springframework:spring-core:5.2.8.RELEASE
|
||||
org.springframework:spring-expression:5.2.8.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.springframework:spring-jcl:5.2.8.RELEASE
|
||||
org.springframework:spring-web:5.2.8.RELEASE
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-aop:5.2.9.RELEASE
|
||||
org.springframework:spring-beans:5.2.9.RELEASE
|
||||
org.springframework:spring-context:5.2.9.RELEASE
|
||||
org.springframework:spring-core:5.2.9.RELEASE
|
||||
org.springframework:spring-expression:5.2.9.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
org.springframework:spring-jcl:5.2.9.RELEASE
|
||||
org.springframework:spring-web:5.2.9.RELEASE
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jacoco:org.jacoco.agent:0.8.2
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jacoco:org.jacoco.agent:0.8.2
|
||||
org.jacoco:org.jacoco.ant:0.8.2
|
||||
org.jacoco:org.jacoco.core:0.8.2
|
||||
org.jacoco:org.jacoco.report:0.8.2
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.ow2.asm:asm-analysis:6.2.1
|
||||
org.ow2.asm:asm-commons:6.2.1
|
||||
org.ow2.asm:asm-tree:6.2.1
|
||||
org.ow2.asm:asm:6.2.1
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.11.2
|
||||
com.fasterxml.jackson.core:jackson-core:2.11.2
|
||||
com.fasterxml.jackson.core:jackson-databind:2.11.2
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.11.3
|
||||
com.fasterxml.jackson.core:jackson-core:2.11.3
|
||||
com.fasterxml.jackson.core:jackson-databind:2.11.3
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
net.sf.ehcache:ehcache:2.10.6
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.slf4j:slf4j-api:1.7.30
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
javax.servlet:javax.servlet-api:4.0.1
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.11.2
|
||||
com.fasterxml.jackson.core:jackson-core:2.11.2
|
||||
com.fasterxml.jackson.core:jackson-databind:2.11.2
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.11.3
|
||||
com.fasterxml.jackson.core:jackson-core:2.11.3
|
||||
com.fasterxml.jackson.core:jackson-databind:2.11.3
|
||||
commons-codec:commons-codec:1.14
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.bouncycastle:bcpkix-jdk15on:1.66
|
||||
org.bouncycastle:bcprov-jdk15on:1.66
|
||||
org.jasig.cas.client:cas-client-core:3.6.1
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.slf4j:slf4j-api:1.7.30
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-aop:5.2.8.RELEASE
|
||||
org.springframework:spring-beans:5.2.8.RELEASE
|
||||
org.springframework:spring-context:5.2.8.RELEASE
|
||||
org.springframework:spring-core:5.2.8.RELEASE
|
||||
org.springframework:spring-expression:5.2.8.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.springframework:spring-jcl:5.2.8.RELEASE
|
||||
org.springframework:spring-web:5.2.8.RELEASE
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-aop:5.2.9.RELEASE
|
||||
org.springframework:spring-beans:5.2.9.RELEASE
|
||||
org.springframework:spring-context:5.2.9.RELEASE
|
||||
org.springframework:spring-core:5.2.9.RELEASE
|
||||
org.springframework:spring-expression:5.2.9.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
org.springframework:spring-jcl:5.2.9.RELEASE
|
||||
org.springframework:spring-web:5.2.9.RELEASE
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.11.2
|
||||
com.fasterxml.jackson.core:jackson-core:2.11.2
|
||||
com.fasterxml.jackson.core:jackson-databind:2.11.2
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.11.3
|
||||
com.fasterxml.jackson.core:jackson-core:2.11.3
|
||||
com.fasterxml.jackson.core:jackson-databind:2.11.3
|
||||
commons-codec:commons-codec:1.14
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.bouncycastle:bcpkix-jdk15on:1.66
|
||||
org.bouncycastle:bcprov-jdk15on:1.66
|
||||
org.jasig.cas.client:cas-client-core:3.6.1
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.slf4j:slf4j-api:1.7.30
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-aop:5.2.8.RELEASE
|
||||
org.springframework:spring-beans:5.2.8.RELEASE
|
||||
org.springframework:spring-context:5.2.8.RELEASE
|
||||
org.springframework:spring-core:5.2.8.RELEASE
|
||||
org.springframework:spring-expression:5.2.8.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.springframework:spring-jcl:5.2.8.RELEASE
|
||||
org.springframework:spring-web:5.2.8.RELEASE
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-aop:5.2.9.RELEASE
|
||||
org.springframework:spring-beans:5.2.9.RELEASE
|
||||
org.springframework:spring-context:5.2.9.RELEASE
|
||||
org.springframework:spring-core:5.2.9.RELEASE
|
||||
org.springframework:spring-expression:5.2.9.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
org.springframework:spring-jcl:5.2.9.RELEASE
|
||||
org.springframework:spring-web:5.2.9.RELEASE
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -1,32 +1,32 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.11.2
|
||||
com.fasterxml.jackson.core:jackson-core:2.11.2
|
||||
com.fasterxml.jackson.core:jackson-databind:2.11.2
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.11.3
|
||||
com.fasterxml.jackson.core:jackson-core:2.11.3
|
||||
com.fasterxml.jackson.core:jackson-databind:2.11.3
|
||||
com.vaadin.external.google:android-json:0.0.20131108.vaadin1
|
||||
commons-codec:commons-codec:1.14
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
junit:junit:4.12
|
||||
net.bytebuddy:byte-buddy-agent:1.10.5
|
||||
net.bytebuddy:byte-buddy:1.10.5
|
||||
net.bytebuddy:byte-buddy-agent:1.10.15
|
||||
net.bytebuddy:byte-buddy:1.10.15
|
||||
org.assertj:assertj-core:3.17.2
|
||||
org.bouncycastle:bcpkix-jdk15on:1.66
|
||||
org.bouncycastle:bcprov-jdk15on:1.66
|
||||
org.hamcrest:hamcrest-core:1.3
|
||||
org.jasig.cas.client:cas-client-core:3.6.1
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.mockito:mockito-core:3.3.3
|
||||
org.objenesis:objenesis:2.6
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.mockito:mockito-core:3.5.13
|
||||
org.objenesis:objenesis:3.1
|
||||
org.skyscreamer:jsonassert:1.5.0
|
||||
org.slf4j:slf4j-api:1.7.30
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-aop:5.2.8.RELEASE
|
||||
org.springframework:spring-beans:5.2.8.RELEASE
|
||||
org.springframework:spring-context:5.2.8.RELEASE
|
||||
org.springframework:spring-core:5.2.8.RELEASE
|
||||
org.springframework:spring-expression:5.2.8.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.springframework:spring-jcl:5.2.8.RELEASE
|
||||
org.springframework:spring-test:5.2.8.RELEASE
|
||||
org.springframework:spring-web:5.2.8.RELEASE
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-aop:5.2.9.RELEASE
|
||||
org.springframework:spring-beans:5.2.9.RELEASE
|
||||
org.springframework:spring-context:5.2.9.RELEASE
|
||||
org.springframework:spring-core:5.2.9.RELEASE
|
||||
org.springframework:spring-expression:5.2.9.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
org.springframework:spring-jcl:5.2.9.RELEASE
|
||||
org.springframework:spring-test:5.2.9.RELEASE
|
||||
org.springframework:spring-web:5.2.9.RELEASE
|
||||
|
||||
@@ -1,32 +1,32 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.11.2
|
||||
com.fasterxml.jackson.core:jackson-core:2.11.2
|
||||
com.fasterxml.jackson.core:jackson-databind:2.11.2
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.11.3
|
||||
com.fasterxml.jackson.core:jackson-core:2.11.3
|
||||
com.fasterxml.jackson.core:jackson-databind:2.11.3
|
||||
com.vaadin.external.google:android-json:0.0.20131108.vaadin1
|
||||
commons-codec:commons-codec:1.14
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
junit:junit:4.12
|
||||
net.bytebuddy:byte-buddy-agent:1.10.5
|
||||
net.bytebuddy:byte-buddy:1.10.5
|
||||
net.bytebuddy:byte-buddy-agent:1.10.15
|
||||
net.bytebuddy:byte-buddy:1.10.15
|
||||
org.assertj:assertj-core:3.17.2
|
||||
org.bouncycastle:bcpkix-jdk15on:1.66
|
||||
org.bouncycastle:bcprov-jdk15on:1.66
|
||||
org.hamcrest:hamcrest-core:1.3
|
||||
org.jasig.cas.client:cas-client-core:3.6.1
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.mockito:mockito-core:3.3.3
|
||||
org.objenesis:objenesis:2.6
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.mockito:mockito-core:3.5.13
|
||||
org.objenesis:objenesis:3.1
|
||||
org.skyscreamer:jsonassert:1.5.0
|
||||
org.slf4j:slf4j-api:1.7.30
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-aop:5.2.8.RELEASE
|
||||
org.springframework:spring-beans:5.2.8.RELEASE
|
||||
org.springframework:spring-context:5.2.8.RELEASE
|
||||
org.springframework:spring-core:5.2.8.RELEASE
|
||||
org.springframework:spring-expression:5.2.8.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.springframework:spring-jcl:5.2.8.RELEASE
|
||||
org.springframework:spring-test:5.2.8.RELEASE
|
||||
org.springframework:spring-web:5.2.8.RELEASE
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-aop:5.2.9.RELEASE
|
||||
org.springframework:spring-beans:5.2.9.RELEASE
|
||||
org.springframework:spring-context:5.2.9.RELEASE
|
||||
org.springframework:spring-core:5.2.9.RELEASE
|
||||
org.springframework:spring-expression:5.2.9.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
org.springframework:spring-jcl:5.2.9.RELEASE
|
||||
org.springframework:spring-test:5.2.9.RELEASE
|
||||
org.springframework:spring-web:5.2.9.RELEASE
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -1,32 +1,32 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.11.2
|
||||
com.fasterxml.jackson.core:jackson-core:2.11.2
|
||||
com.fasterxml.jackson.core:jackson-databind:2.11.2
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.11.3
|
||||
com.fasterxml.jackson.core:jackson-core:2.11.3
|
||||
com.fasterxml.jackson.core:jackson-databind:2.11.3
|
||||
com.vaadin.external.google:android-json:0.0.20131108.vaadin1
|
||||
commons-codec:commons-codec:1.14
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
junit:junit:4.12
|
||||
net.bytebuddy:byte-buddy-agent:1.10.5
|
||||
net.bytebuddy:byte-buddy:1.10.5
|
||||
net.bytebuddy:byte-buddy-agent:1.10.15
|
||||
net.bytebuddy:byte-buddy:1.10.15
|
||||
org.assertj:assertj-core:3.17.2
|
||||
org.bouncycastle:bcpkix-jdk15on:1.66
|
||||
org.bouncycastle:bcprov-jdk15on:1.66
|
||||
org.hamcrest:hamcrest-core:1.3
|
||||
org.jasig.cas.client:cas-client-core:3.6.1
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.mockito:mockito-core:3.3.3
|
||||
org.objenesis:objenesis:2.6
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.mockito:mockito-core:3.5.13
|
||||
org.objenesis:objenesis:3.1
|
||||
org.skyscreamer:jsonassert:1.5.0
|
||||
org.slf4j:slf4j-api:1.7.30
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-aop:5.2.8.RELEASE
|
||||
org.springframework:spring-beans:5.2.8.RELEASE
|
||||
org.springframework:spring-context:5.2.8.RELEASE
|
||||
org.springframework:spring-core:5.2.8.RELEASE
|
||||
org.springframework:spring-expression:5.2.8.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.springframework:spring-jcl:5.2.8.RELEASE
|
||||
org.springframework:spring-test:5.2.8.RELEASE
|
||||
org.springframework:spring-web:5.2.8.RELEASE
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-aop:5.2.9.RELEASE
|
||||
org.springframework:spring-beans:5.2.9.RELEASE
|
||||
org.springframework:spring-context:5.2.9.RELEASE
|
||||
org.springframework:spring-core:5.2.9.RELEASE
|
||||
org.springframework:spring-expression:5.2.9.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
org.springframework:spring-jcl:5.2.9.RELEASE
|
||||
org.springframework:spring-test:5.2.9.RELEASE
|
||||
org.springframework:spring-web:5.2.9.RELEASE
|
||||
|
||||
@@ -1,32 +1,32 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.11.2
|
||||
com.fasterxml.jackson.core:jackson-core:2.11.2
|
||||
com.fasterxml.jackson.core:jackson-databind:2.11.2
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.11.3
|
||||
com.fasterxml.jackson.core:jackson-core:2.11.3
|
||||
com.fasterxml.jackson.core:jackson-databind:2.11.3
|
||||
com.vaadin.external.google:android-json:0.0.20131108.vaadin1
|
||||
commons-codec:commons-codec:1.14
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
junit:junit:4.12
|
||||
net.bytebuddy:byte-buddy-agent:1.10.5
|
||||
net.bytebuddy:byte-buddy:1.10.5
|
||||
net.bytebuddy:byte-buddy-agent:1.10.15
|
||||
net.bytebuddy:byte-buddy:1.10.15
|
||||
org.assertj:assertj-core:3.17.2
|
||||
org.bouncycastle:bcpkix-jdk15on:1.66
|
||||
org.bouncycastle:bcprov-jdk15on:1.66
|
||||
org.hamcrest:hamcrest-core:1.3
|
||||
org.jasig.cas.client:cas-client-core:3.6.1
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.mockito:mockito-core:3.3.3
|
||||
org.objenesis:objenesis:2.6
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.mockito:mockito-core:3.5.13
|
||||
org.objenesis:objenesis:3.1
|
||||
org.skyscreamer:jsonassert:1.5.0
|
||||
org.slf4j:slf4j-api:1.7.30
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-aop:5.2.8.RELEASE
|
||||
org.springframework:spring-beans:5.2.8.RELEASE
|
||||
org.springframework:spring-context:5.2.8.RELEASE
|
||||
org.springframework:spring-core:5.2.8.RELEASE
|
||||
org.springframework:spring-expression:5.2.8.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.springframework:spring-jcl:5.2.8.RELEASE
|
||||
org.springframework:spring-test:5.2.8.RELEASE
|
||||
org.springframework:spring-web:5.2.8.RELEASE
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-aop:5.2.9.RELEASE
|
||||
org.springframework:spring-beans:5.2.9.RELEASE
|
||||
org.springframework:spring-context:5.2.9.RELEASE
|
||||
org.springframework:spring-core:5.2.9.RELEASE
|
||||
org.springframework:spring-expression:5.2.9.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
org.springframework:spring-jcl:5.2.9.RELEASE
|
||||
org.springframework:spring-test:5.2.9.RELEASE
|
||||
org.springframework:spring-web:5.2.9.RELEASE
|
||||
|
||||
@@ -1,32 +1,32 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.11.2
|
||||
com.fasterxml.jackson.core:jackson-core:2.11.2
|
||||
com.fasterxml.jackson.core:jackson-databind:2.11.2
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.11.3
|
||||
com.fasterxml.jackson.core:jackson-core:2.11.3
|
||||
com.fasterxml.jackson.core:jackson-databind:2.11.3
|
||||
com.vaadin.external.google:android-json:0.0.20131108.vaadin1
|
||||
commons-codec:commons-codec:1.14
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
junit:junit:4.12
|
||||
net.bytebuddy:byte-buddy-agent:1.10.5
|
||||
net.bytebuddy:byte-buddy:1.10.5
|
||||
net.bytebuddy:byte-buddy-agent:1.10.15
|
||||
net.bytebuddy:byte-buddy:1.10.15
|
||||
org.assertj:assertj-core:3.17.2
|
||||
org.bouncycastle:bcpkix-jdk15on:1.66
|
||||
org.bouncycastle:bcprov-jdk15on:1.66
|
||||
org.hamcrest:hamcrest-core:1.3
|
||||
org.jasig.cas.client:cas-client-core:3.6.1
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.mockito:mockito-core:3.3.3
|
||||
org.objenesis:objenesis:2.6
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.mockito:mockito-core:3.5.13
|
||||
org.objenesis:objenesis:3.1
|
||||
org.skyscreamer:jsonassert:1.5.0
|
||||
org.slf4j:slf4j-api:1.7.30
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-aop:5.2.8.RELEASE
|
||||
org.springframework:spring-beans:5.2.8.RELEASE
|
||||
org.springframework:spring-context:5.2.8.RELEASE
|
||||
org.springframework:spring-core:5.2.8.RELEASE
|
||||
org.springframework:spring-expression:5.2.8.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.springframework:spring-jcl:5.2.8.RELEASE
|
||||
org.springframework:spring-test:5.2.8.RELEASE
|
||||
org.springframework:spring-web:5.2.8.RELEASE
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-aop:5.2.9.RELEASE
|
||||
org.springframework:spring-beans:5.2.9.RELEASE
|
||||
org.springframework:spring-context:5.2.9.RELEASE
|
||||
org.springframework:spring-core:5.2.9.RELEASE
|
||||
org.springframework:spring-expression:5.2.9.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
org.springframework:spring-jcl:5.2.9.RELEASE
|
||||
org.springframework:spring-test:5.2.9.RELEASE
|
||||
org.springframework:spring-web:5.2.9.RELEASE
|
||||
|
||||
+17
-24
@@ -41,6 +41,9 @@ import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
||||
import org.springframework.security.web.authentication.WebAuthenticationDetails;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
|
||||
import static org.assertj.core.api.Assertions.assertThatIllegalStateException;
|
||||
import static org.assertj.core.api.Assertions.fail;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.BDDMockito.given;
|
||||
@@ -192,23 +195,13 @@ public class CasAuthenticationProviderTests {
|
||||
result = cap.authenticate(token);
|
||||
verify(validator, times(2)).validate(ticket, serviceUrl);
|
||||
token.setDetails(new WebAuthenticationDetails(new MockHttpServletRequest()));
|
||||
try {
|
||||
cap.authenticate(token);
|
||||
fail("Expected Exception");
|
||||
}
|
||||
catch (IllegalStateException success) {
|
||||
}
|
||||
assertThatIllegalStateException().isThrownBy(() -> cap.authenticate(token));
|
||||
cap.setServiceProperties(null);
|
||||
cap.afterPropertiesSet();
|
||||
try {
|
||||
cap.authenticate(token);
|
||||
fail("Expected Exception");
|
||||
}
|
||||
catch (IllegalStateException success) {
|
||||
}
|
||||
assertThatIllegalStateException().isThrownBy(() -> cap.authenticate(token));
|
||||
}
|
||||
|
||||
@Test(expected = BadCredentialsException.class)
|
||||
@Test
|
||||
public void missingTicketIdIsDetected() throws Exception {
|
||||
CasAuthenticationProvider cap = new CasAuthenticationProvider();
|
||||
cap.setAuthenticationUserDetailsService(new MockAuthoritiesPopulator());
|
||||
@@ -220,10 +213,10 @@ public class CasAuthenticationProviderTests {
|
||||
cap.afterPropertiesSet();
|
||||
UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken(
|
||||
CasAuthenticationFilter.CAS_STATEFUL_IDENTIFIER, "");
|
||||
cap.authenticate(token);
|
||||
assertThatExceptionOfType(BadCredentialsException.class).isThrownBy(() -> cap.authenticate(token));
|
||||
}
|
||||
|
||||
@Test(expected = BadCredentialsException.class)
|
||||
@Test
|
||||
public void invalidKeyIsDetected() throws Exception {
|
||||
final Assertion assertion = new AssertionImpl("test");
|
||||
CasAuthenticationProvider cap = new CasAuthenticationProvider();
|
||||
@@ -236,30 +229,30 @@ public class CasAuthenticationProviderTests {
|
||||
cap.afterPropertiesSet();
|
||||
CasAuthenticationToken token = new CasAuthenticationToken("WRONG_KEY", makeUserDetails(), "credentials",
|
||||
AuthorityUtils.createAuthorityList("XX"), makeUserDetails(), assertion);
|
||||
cap.authenticate(token);
|
||||
assertThatExceptionOfType(BadCredentialsException.class).isThrownBy(() -> cap.authenticate(token));
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void detectsMissingAuthoritiesPopulator() throws Exception {
|
||||
CasAuthenticationProvider cap = new CasAuthenticationProvider();
|
||||
cap.setKey("qwerty");
|
||||
cap.setStatelessTicketCache(new MockStatelessTicketCache());
|
||||
cap.setTicketValidator(new MockTicketValidator(true));
|
||||
cap.setServiceProperties(makeServiceProperties());
|
||||
cap.afterPropertiesSet();
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> cap.afterPropertiesSet());
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void detectsMissingKey() throws Exception {
|
||||
CasAuthenticationProvider cap = new CasAuthenticationProvider();
|
||||
cap.setAuthenticationUserDetailsService(new MockAuthoritiesPopulator());
|
||||
cap.setStatelessTicketCache(new MockStatelessTicketCache());
|
||||
cap.setTicketValidator(new MockTicketValidator(true));
|
||||
cap.setServiceProperties(makeServiceProperties());
|
||||
cap.afterPropertiesSet();
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> cap.afterPropertiesSet());
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void detectsMissingStatelessTicketCache() throws Exception {
|
||||
CasAuthenticationProvider cap = new CasAuthenticationProvider();
|
||||
// set this explicitly to null to test failure
|
||||
@@ -268,17 +261,17 @@ public class CasAuthenticationProviderTests {
|
||||
cap.setKey("qwerty");
|
||||
cap.setTicketValidator(new MockTicketValidator(true));
|
||||
cap.setServiceProperties(makeServiceProperties());
|
||||
cap.afterPropertiesSet();
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> cap.afterPropertiesSet());
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void detectsMissingTicketValidator() throws Exception {
|
||||
CasAuthenticationProvider cap = new CasAuthenticationProvider();
|
||||
cap.setAuthenticationUserDetailsService(new MockAuthoritiesPopulator());
|
||||
cap.setKey("qwerty");
|
||||
cap.setStatelessTicketCache(new MockStatelessTicketCache());
|
||||
cap.setServiceProperties(makeServiceProperties());
|
||||
cap.afterPropertiesSet();
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> cap.afterPropertiesSet());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
+21
-48
@@ -31,7 +31,8 @@ import org.springframework.security.core.userdetails.User;
|
||||
import org.springframework.security.core.userdetails.UserDetails;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.fail;
|
||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
|
||||
|
||||
/**
|
||||
* Tests {@link CasAuthenticationToken}.
|
||||
@@ -52,50 +53,26 @@ public class CasAuthenticationTokenTests {
|
||||
|
||||
@Test
|
||||
public void testConstructorRejectsNulls() {
|
||||
final Assertion assertion = new AssertionImpl("test");
|
||||
try {
|
||||
new CasAuthenticationToken(null, makeUserDetails(), "Password", this.ROLES, makeUserDetails(), assertion);
|
||||
fail("Should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
try {
|
||||
new CasAuthenticationToken("key", null, "Password", this.ROLES, makeUserDetails(), assertion);
|
||||
fail("Should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
try {
|
||||
new CasAuthenticationToken("key", makeUserDetails(), null, this.ROLES, makeUserDetails(), assertion);
|
||||
fail("Should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
try {
|
||||
new CasAuthenticationToken("key", makeUserDetails(), "Password", this.ROLES, makeUserDetails(), null);
|
||||
fail("Should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
try {
|
||||
new CasAuthenticationToken("key", makeUserDetails(), "Password", this.ROLES, null, assertion);
|
||||
fail("Should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
try {
|
||||
new CasAuthenticationToken("key", makeUserDetails(), "Password",
|
||||
AuthorityUtils.createAuthorityList("ROLE_1", null), makeUserDetails(), assertion);
|
||||
fail("Should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
Assertion assertion = new AssertionImpl("test");
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> new CasAuthenticationToken(null, makeUserDetails(),
|
||||
"Password", this.ROLES, makeUserDetails(), assertion));
|
||||
assertThatIllegalArgumentException().isThrownBy(
|
||||
() -> new CasAuthenticationToken("key", null, "Password", this.ROLES, makeUserDetails(), assertion));
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> new CasAuthenticationToken("key", makeUserDetails(), null,
|
||||
this.ROLES, makeUserDetails(), assertion));
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> new CasAuthenticationToken("key", makeUserDetails(),
|
||||
"Password", this.ROLES, makeUserDetails(), null));
|
||||
assertThatIllegalArgumentException().isThrownBy(
|
||||
() -> new CasAuthenticationToken("key", makeUserDetails(), "Password", this.ROLES, null, assertion));
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> new CasAuthenticationToken("key", makeUserDetails(),
|
||||
"Password", AuthorityUtils.createAuthorityList("ROLE_1", null), makeUserDetails(), assertion));
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void constructorWhenEmptyKeyThenThrowsException() {
|
||||
new CasAuthenticationToken("", "user", "password", Collections.<GrantedAuthority>emptyList(),
|
||||
new User("user", "password", Collections.<GrantedAuthority>emptyList()), null);
|
||||
assertThatIllegalArgumentException().isThrownBy(
|
||||
() -> new CasAuthenticationToken("", "user", "password", Collections.<GrantedAuthority>emptyList(),
|
||||
new User("user", "password", Collections.<GrantedAuthority>emptyList()), null));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -125,12 +102,8 @@ public class CasAuthenticationTokenTests {
|
||||
|
||||
@Test
|
||||
public void testNoArgConstructorDoesntExist() {
|
||||
try {
|
||||
CasAuthenticationToken.class.getDeclaredConstructor((Class[]) null);
|
||||
fail("Should have thrown NoSuchMethodException");
|
||||
}
|
||||
catch (NoSuchMethodException expected) {
|
||||
}
|
||||
assertThatExceptionOfType(NoSuchMethodException.class)
|
||||
.isThrownBy(() -> CasAuthenticationToken.class.getDeclaredConstructor((Class[]) null));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
+2
-7
@@ -24,7 +24,7 @@ import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.fail;
|
||||
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
|
||||
|
||||
/**
|
||||
* Tests {@link EhCacheBasedTicketCache}.
|
||||
@@ -67,12 +67,7 @@ public class EhCacheBasedTicketCacheTests extends AbstractStatelessTicketCacheTe
|
||||
@Test
|
||||
public void testStartupDetectsMissingCache() throws Exception {
|
||||
EhCacheBasedTicketCache cache = new EhCacheBasedTicketCache();
|
||||
try {
|
||||
cache.afterPropertiesSet();
|
||||
fail("Should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
}
|
||||
assertThatIllegalArgumentException().isThrownBy(cache::afterPropertiesSet);
|
||||
Ehcache myCache = cacheManager.getCache("castickets");
|
||||
cache.setCache(myCache);
|
||||
assertThat(cache.getCache()).isEqualTo(myCache);
|
||||
|
||||
+3
-2
@@ -23,6 +23,7 @@ import org.springframework.cache.CacheManager;
|
||||
import org.springframework.cache.concurrent.ConcurrentMapCacheManager;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
|
||||
|
||||
/**
|
||||
* Tests
|
||||
@@ -56,9 +57,9 @@ public class SpringCacheBasedTicketCacheTests extends AbstractStatelessTicketCac
|
||||
assertThat(cache.getByTicketId("UNKNOWN_SERVICE_TICKET")).isNull();
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void testStartupDetectsMissingCache() throws Exception {
|
||||
new SpringCacheBasedTicketCache(null);
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> new SpringCacheBasedTicketCache(null));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+5
-15
@@ -25,7 +25,7 @@ import org.springframework.mock.web.MockHttpServletResponse;
|
||||
import org.springframework.security.cas.ServiceProperties;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.fail;
|
||||
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
|
||||
|
||||
/**
|
||||
* Tests {@link CasAuthenticationEntryPoint}.
|
||||
@@ -38,26 +38,16 @@ public class CasAuthenticationEntryPointTests {
|
||||
public void testDetectsMissingLoginFormUrl() throws Exception {
|
||||
CasAuthenticationEntryPoint ep = new CasAuthenticationEntryPoint();
|
||||
ep.setServiceProperties(new ServiceProperties());
|
||||
try {
|
||||
ep.afterPropertiesSet();
|
||||
fail("Should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
assertThat(expected.getMessage()).isEqualTo("loginUrl must be specified");
|
||||
}
|
||||
assertThatIllegalArgumentException().isThrownBy(ep::afterPropertiesSet)
|
||||
.withMessage("loginUrl must be specified");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDetectsMissingServiceProperties() throws Exception {
|
||||
CasAuthenticationEntryPoint ep = new CasAuthenticationEntryPoint();
|
||||
ep.setLoginUrl("https://cas/login");
|
||||
try {
|
||||
ep.afterPropertiesSet();
|
||||
fail("Should have thrown IllegalArgumentException");
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
assertThat(expected.getMessage()).isEqualTo("serviceProperties must be specified");
|
||||
}
|
||||
assertThatIllegalArgumentException().isThrownBy(ep::afterPropertiesSet)
|
||||
.withMessage("serviceProperties must be specified");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
+4
-2
@@ -36,6 +36,7 @@ import org.springframework.security.core.context.SecurityContextHolder;
|
||||
import org.springframework.security.web.authentication.AuthenticationSuccessHandler;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.BDDMockito.given;
|
||||
import static org.mockito.Mockito.mock;
|
||||
@@ -76,13 +77,14 @@ public class CasAuthenticationFilterTests {
|
||||
assertThat(result != null).isTrue();
|
||||
}
|
||||
|
||||
@Test(expected = AuthenticationException.class)
|
||||
@Test
|
||||
public void testNullServiceTicketHandledGracefully() throws Exception {
|
||||
CasAuthenticationFilter filter = new CasAuthenticationFilter();
|
||||
filter.setAuthenticationManager((a) -> {
|
||||
throw new BadCredentialsException("Rejected");
|
||||
});
|
||||
filter.attemptAuthentication(new MockHttpServletRequest(), new MockHttpServletResponse());
|
||||
assertThatExceptionOfType(AuthenticationException.class).isThrownBy(
|
||||
() -> filter.attemptAuthentication(new MockHttpServletRequest(), new MockHttpServletResponse()));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -22,7 +22,7 @@ import org.springframework.security.cas.SamlServiceProperties;
|
||||
import org.springframework.security.cas.ServiceProperties;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.fail;
|
||||
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
|
||||
|
||||
/**
|
||||
* Tests {@link ServiceProperties}.
|
||||
@@ -31,29 +31,19 @@ import static org.assertj.core.api.Assertions.fail;
|
||||
*/
|
||||
public class ServicePropertiesTests {
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void detectsMissingService() throws Exception {
|
||||
ServiceProperties sp = new ServiceProperties();
|
||||
sp.afterPropertiesSet();
|
||||
assertThatIllegalArgumentException().isThrownBy(sp::afterPropertiesSet);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void nullServiceWhenAuthenticateAllTokens() throws Exception {
|
||||
ServiceProperties sp = new ServiceProperties();
|
||||
sp.setAuthenticateAllArtifacts(true);
|
||||
try {
|
||||
sp.afterPropertiesSet();
|
||||
fail("Expected Exception");
|
||||
}
|
||||
catch (IllegalArgumentException success) {
|
||||
}
|
||||
assertThatIllegalArgumentException().isThrownBy(sp::afterPropertiesSet);
|
||||
sp.setAuthenticateAllArtifacts(false);
|
||||
try {
|
||||
sp.afterPropertiesSet();
|
||||
fail("Expected Exception");
|
||||
}
|
||||
catch (IllegalArgumentException success) {
|
||||
}
|
||||
assertThatIllegalArgumentException().isThrownBy(sp::afterPropertiesSet);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
|
||||
@@ -1,13 +1,18 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR11
|
||||
org.jetbrains.kotlin:kotlin-bom:1.3.72
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR3
|
||||
org.springframework:spring-aop:5.2.8.RELEASE
|
||||
org.springframework:spring-beans:5.2.8.RELEASE
|
||||
org.springframework:spring-context:5.2.8.RELEASE
|
||||
org.springframework:spring-core:5.2.8.RELEASE
|
||||
org.springframework:spring-expression:5.2.8.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.8.RELEASE
|
||||
org.springframework:spring-jcl:5.2.8.RELEASE
|
||||
io.projectreactor:reactor-bom:Dysprosium-SR12
|
||||
org.jetbrains.kotlin:kotlin-bom:1.4.10
|
||||
org.jetbrains.kotlin:kotlin-stdlib-common:1.4.10
|
||||
org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.4.10
|
||||
org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.4.10
|
||||
org.jetbrains.kotlin:kotlin-stdlib:1.4.10
|
||||
org.jetbrains:annotations:13.0
|
||||
org.springframework.data:spring-data-releasetrain:Neumann-SR4
|
||||
org.springframework:spring-aop:5.2.9.RELEASE
|
||||
org.springframework:spring-beans:5.2.9.RELEASE
|
||||
org.springframework:spring-context:5.2.9.RELEASE
|
||||
org.springframework:spring-core:5.2.9.RELEASE
|
||||
org.springframework:spring-expression:5.2.9.RELEASE
|
||||
org.springframework:spring-framework-bom:5.2.9.RELEASE
|
||||
org.springframework:spring-jcl:5.2.9.RELEASE
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user