Skip to content

Commit 127917f

Browse files
committed
Add a test to ensure that modifying then removing an attribute results in a DELETE
1 parent 9807b3f commit 127917f

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

spring-session-jdbc/src/test/java/org/springframework/session/jdbc/JdbcOperationsSessionRepositoryTests.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -467,6 +467,25 @@ public void saveUpdatedAddThenRemoveSingleAttribute() {
467467
verifyZeroInteractions(this.jdbcOperations);
468468
}
469469

470+
@Test
471+
public void saveUpdatedModifyThenRemoveSingleAttribute() {
472+
JdbcOperationsSessionRepository.JdbcSession session = this.repository.new JdbcSession("primaryKey",
473+
new MapSession());
474+
session.setAttribute("testName", "testValue");
475+
session.clearChangeFlags();
476+
session.setAttribute("testName", "testValueModifed");
477+
session.removeAttribute("testName");
478+
479+
this.repository.save(session);
480+
481+
assertThat(session.isNew()).isFalse();
482+
assertPropagationRequiresNew();
483+
verify(this.jdbcOperations, times(1)).update(
484+
startsWith("DELETE FROM SPRING_SESSION_ATTRIBUTES WHERE"),
485+
isA(PreparedStatementSetter.class));
486+
verifyZeroInteractions(this.jdbcOperations);
487+
}
488+
470489
@Test
471490
public void saveUpdatedRemoveThenModifySingleAttribute() {
472491
JdbcOperationsSessionRepository.JdbcSession session = this.repository.new JdbcSession("primaryKey",

0 commit comments

Comments
 (0)