Skip to content
This repository has been archived by the owner on Jul 12, 2022. It is now read-only.

Commit

Permalink
Merge pull request #1199 from ZupIT/fix-keycloak-delete
Browse files Browse the repository at this point in the history
Bug-Hunting/Fix keycloak delete
  • Loading branch information
thallesfreitaszup authored May 10, 2021
2 parents 9238441 + 57b569e commit 6246311
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,17 @@ class KeycloakServiceLegacy(private val keycloak: Keycloak) {
@Value("\${charlescd.keycloak.realm}")
lateinit var realm: String

fun deleteUserById(id: String) {
this.keycloak
fun deleteUserByEmail(email: String) {
val users = this.keycloak
.realm(realm)
.users()
.delete(id)
.search(email)
users.forEach {
this.keycloak
.realm(realm)
.users()
.delete(it.id)
}
}

fun getEmailByAuthorizationToken(authorization: String): String {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ class UserServiceLegacy(
}

private fun deleteOnKeycloak(it: User): User {
keycloakServiceLegacy.deleteUserById(it.id)
keycloakServiceLegacy.deleteUserByEmail(it.email)
return it
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,11 +48,12 @@ class KeycloakServiceLegacyGroovyUnitTest extends Specification {
users.add(user)

when:
service.deleteUserById(user.id)
service.deleteUserByEmail(user.email)

then:
1 * keycloak.realm(_ as String) >> realmResource
1 * realmResource.users() >> usersResource
2 * keycloak.realm(_ as String) >> realmResource
2 * realmResource.users() >> usersResource
1 * usersResource.search(user.email) >> users
1 * usersResource.delete(user.id) >> response
notThrown()
}
Expand All @@ -71,11 +72,12 @@ class KeycloakServiceLegacyGroovyUnitTest extends Specification {
users.add(user)

when:
service.deleteUserById(user.id)
service.deleteUserByEmail(user.email)

then:
1 * keycloak.realm(_) >> realmResource
1 * realmResource.users() >> usersResource
2 * keycloak.realm(_) >> realmResource
2 * realmResource.users() >> usersResource
1 * usersResource.search(user.email) >> users
1 * usersResource.delete(user.id)
notThrown()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ class UserServiceLegacyGroovyUnitTest extends Specification {
1 * keycloakService.getEmailByAuthorizationToken(authorization) >> "[email protected]"
1 * repository.findByEmail("[email protected]") >> Optional.of(root)
1 * repository.findById("81861b6f-2b6e-44a1-a745-83e298a550c9") >> Optional.of(user)
1 * keycloakService.deleteUserById(_)
1 * keycloakService.deleteUserByEmail(user.email)
1 * repository.delete(user)
response.id == representation.id
response.name == representation.name
Expand All @@ -94,7 +94,7 @@ class UserServiceLegacyGroovyUnitTest extends Specification {
1 * repository.findByEmail("[email protected]") >> Optional.of(user)
1 * repository.findById(user.id) >> Optional.of(user)
0 * repository.findById("1123") >> Optional.of(user)
1 * keycloakService.deleteUserById(_)
1 * keycloakService.deleteUserByEmail(user.email)
1 * repository.delete(user)
response.id == representation.id
response.name == representation.name
Expand Down

0 comments on commit 6246311

Please sign in to comment.