diff --git a/spring-session-samples/spring-session-sample-boot-jdbc-json-attribute/src/test/java/sample/JdbcJsonAttributeTests.java b/spring-session-samples/spring-session-sample-boot-jdbc-json-attribute/src/test/java/sample/JdbcJsonAttributeTests.java index b7e17e65..d285d015 100644 --- a/spring-session-samples/spring-session-sample-boot-jdbc-json-attribute/src/test/java/sample/JdbcJsonAttributeTests.java +++ b/spring-session-samples/spring-session-sample-boot-jdbc-json-attribute/src/test/java/sample/JdbcJsonAttributeTests.java @@ -1,13 +1,9 @@ package sample; -import java.sql.Types; import java.util.Base64; -import java.util.List; -import java.util.Map; import com.fasterxml.jackson.databind.ObjectMapper; import jakarta.servlet.http.Cookie; -import org.assertj.core.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -15,7 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.context.annotation.Import; -import org.springframework.jdbc.core.simple.JdbcClient; +import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.security.core.context.SecurityContext; import org.springframework.security.jackson2.SecurityJackson2Modules; import org.springframework.test.web.servlet.MockMvc; @@ -38,15 +34,15 @@ public class JdbcJsonAttributeTests { ObjectMapper objectMapperWithModules; @Autowired - JdbcClient jdbcClient; + JdbcTemplate jdbcClient; @BeforeEach void setup() { ObjectMapper copy = this.objectMapper.copy(); copy.registerModules(SecurityJackson2Modules.getModules(getClass().getClassLoader())); this.objectMapperWithModules = copy; - this.jdbcClient.sql("DELETE FROM spring_session_attributes").update(); - this.jdbcClient.sql("DELETE FROM spring_session").update(); + this.jdbcClient.execute("DELETE FROM spring_session_attributes"); + this.jdbcClient.execute("DELETE FROM spring_session"); } @Test @@ -57,12 +53,12 @@ public class JdbcJsonAttributeTests { .getResponse() .getCookie("SESSION"); String sessionId = new String(Base64.getDecoder().decode(sessionCookie.getValue())); - Object attributeBytes = this.jdbcClient.sql(""" + Object attributeBytes = this.jdbcClient.queryForObject(""" SELECT attribute_bytes::text FROM spring_session_attributes INNER JOIN spring_session s ON s.primary_id = session_primary_id WHERE attribute_name = 'SPRING_SECURITY_CONTEXT' - AND s.session_id = :id - """).param("id", sessionId).query().singleValue(); + AND s.session_id = ? + """, Object.class, sessionId); SecurityContext securityContext = this.objectMapperWithModules.readValue((String) attributeBytes, SecurityContext.class); assertThat(securityContext).isNotNull(); @@ -72,10 +68,10 @@ public class JdbcJsonAttributeTests { @Test void loginWhenQueryUsingJsonbOperatorThenReturns() throws Exception { this.mvc.perform(formLogin().user("user").password("password")).andExpect(authenticated()); - Object attributeBytes = this.jdbcClient.sql(""" + Object attributeBytes = this.jdbcClient.queryForObject(""" SELECT attribute_bytes::text FROM spring_session_attributes WHERE attribute_bytes -> 'authentication' -> 'principal' ->> 'username' = 'user' - """).query().singleValue(); + """, Object.class); SecurityContext securityContext = this.objectMapperWithModules.readValue((String) attributeBytes, SecurityContext.class); assertThat(securityContext).isNotNull();