BAEL-4851: Update "DB Integration Tests with Spring Boot and Testcontainers" article (#11015)
This commit is contained in:
parent
611d074aa4
commit
a2390f6146
|
@ -0,0 +1,46 @@
|
||||||
|
package com.baeldung.boot.daos;
|
||||||
|
|
||||||
|
import com.baeldung.boot.Application;
|
||||||
|
import com.baeldung.boot.daos.user.UserRepository;
|
||||||
|
import com.baeldung.boot.domain.User;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
|
import org.springframework.test.context.ActiveProfiles;
|
||||||
|
import org.springframework.test.context.junit4.SpringRunner;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
|
||||||
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
|
||||||
|
@RunWith(SpringRunner.class)
|
||||||
|
@ActiveProfiles("tc-jdbc")
|
||||||
|
@SpringBootTest(classes = Application.class)
|
||||||
|
public class UserRepositoryTCJdbcLiveTest {
|
||||||
|
|
||||||
|
final String USER_EMAIL = "email@example.com";
|
||||||
|
final String USER_EMAIL2 = "email2@example.com";
|
||||||
|
final String USER_EMAIL3 = "email3@example.com";
|
||||||
|
final String USER_EMAIL4 = "email4@example.com";
|
||||||
|
final Integer INACTIVE_STATUS = 0;
|
||||||
|
final Integer ACTIVE_STATUS = 1;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private UserRepository userRepository;
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@Transactional
|
||||||
|
public void givenUsersInDB_WhenUpdateStatusForNameModifyingQueryAnnotationNative_ThenModifyMatchingUsers() {
|
||||||
|
userRepository.save(new User("SAMPLE", LocalDate.now(), USER_EMAIL, ACTIVE_STATUS));
|
||||||
|
userRepository.save(new User("SAMPLE1", LocalDate.now(), USER_EMAIL2, ACTIVE_STATUS));
|
||||||
|
userRepository.save(new User("SAMPLE", LocalDate.now(), USER_EMAIL3, ACTIVE_STATUS));
|
||||||
|
userRepository.save(new User("SAMPLE3", LocalDate.now(), USER_EMAIL4, ACTIVE_STATUS));
|
||||||
|
userRepository.flush();
|
||||||
|
|
||||||
|
int updatedUsersSize = userRepository.updateUserSetStatusForNameNativePostgres(INACTIVE_STATUS, "SAMPLE");
|
||||||
|
|
||||||
|
assertThat(updatedUsersSize).isEqualTo(2);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
spring:
|
||||||
|
datasource:
|
||||||
|
url: jdbc:tc:postgresql:11.1:///integration-tests-db
|
||||||
|
jpa:
|
||||||
|
hibernate:
|
||||||
|
ddl-auto: create
|
Loading…
Reference in New Issue