Skip to content

Commit 0f91cc3

Browse files
Use JdbcTemplate
Issue gh-2827
1 parent c2a982c commit 0f91cc3

File tree

1 file changed

+9
-13
lines changed

1 file changed

+9
-13
lines changed

spring-session-samples/spring-session-sample-boot-jdbc-json-attribute/src/test/java/sample/JdbcJsonAttributeTests.java

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,17 @@
11
package sample;
22

3-
import java.sql.Types;
43
import java.util.Base64;
5-
import java.util.List;
6-
import java.util.Map;
74

85
import com.fasterxml.jackson.databind.ObjectMapper;
96
import jakarta.servlet.http.Cookie;
10-
import org.assertj.core.api.Assertions;
117
import org.junit.jupiter.api.BeforeEach;
128
import org.junit.jupiter.api.Test;
139

1410
import org.springframework.beans.factory.annotation.Autowired;
1511
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
1612
import org.springframework.boot.test.context.SpringBootTest;
1713
import org.springframework.context.annotation.Import;
18-
import org.springframework.jdbc.core.simple.JdbcClient;
14+
import org.springframework.jdbc.core.JdbcTemplate;
1915
import org.springframework.security.core.context.SecurityContext;
2016
import org.springframework.security.jackson2.SecurityJackson2Modules;
2117
import org.springframework.test.web.servlet.MockMvc;
@@ -38,15 +34,15 @@ public class JdbcJsonAttributeTests {
3834
ObjectMapper objectMapperWithModules;
3935

4036
@Autowired
41-
JdbcClient jdbcClient;
37+
JdbcTemplate jdbcClient;
4238

4339
@BeforeEach
4440
void setup() {
4541
ObjectMapper copy = this.objectMapper.copy();
4642
copy.registerModules(SecurityJackson2Modules.getModules(getClass().getClassLoader()));
4743
this.objectMapperWithModules = copy;
48-
this.jdbcClient.sql("DELETE FROM spring_session_attributes").update();
49-
this.jdbcClient.sql("DELETE FROM spring_session").update();
44+
this.jdbcClient.execute("DELETE FROM spring_session_attributes");
45+
this.jdbcClient.execute("DELETE FROM spring_session");
5046
}
5147

5248
@Test
@@ -57,12 +53,12 @@ void loginShouldSaveSecurityContextAsJson() throws Exception {
5753
.getResponse()
5854
.getCookie("SESSION");
5955
String sessionId = new String(Base64.getDecoder().decode(sessionCookie.getValue()));
60-
Object attributeBytes = this.jdbcClient.sql("""
56+
Object attributeBytes = this.jdbcClient.queryForObject("""
6157
SELECT attribute_bytes::text FROM spring_session_attributes
6258
INNER JOIN spring_session s ON s.primary_id = session_primary_id
6359
WHERE attribute_name = 'SPRING_SECURITY_CONTEXT'
64-
AND s.session_id = :id
65-
""").param("id", sessionId).query().singleValue();
60+
AND s.session_id = ?
61+
""", Object.class, sessionId);
6662
SecurityContext securityContext = this.objectMapperWithModules.readValue((String) attributeBytes,
6763
SecurityContext.class);
6864
assertThat(securityContext).isNotNull();
@@ -72,10 +68,10 @@ void loginShouldSaveSecurityContextAsJson() throws Exception {
7268
@Test
7369
void loginWhenQueryUsingJsonbOperatorThenReturns() throws Exception {
7470
this.mvc.perform(formLogin().user("user").password("password")).andExpect(authenticated());
75-
Object attributeBytes = this.jdbcClient.sql("""
71+
Object attributeBytes = this.jdbcClient.queryForObject("""
7672
SELECT attribute_bytes::text FROM spring_session_attributes
7773
WHERE attribute_bytes -> 'authentication' -> 'principal' ->> 'username' = 'user'
78-
""").query().singleValue();
74+
""", Object.class);
7975
SecurityContext securityContext = this.objectMapperWithModules.readValue((String) attributeBytes,
8076
SecurityContext.class);
8177
assertThat(securityContext).isNotNull();

0 commit comments

Comments
 (0)