Skip to content

Commit 9cca77a

Browse files
committed
Merge remote-tracking branch 'upstream/master'
2 parents cef741b + 8fcd716 commit 9cca77a

File tree

7 files changed

+25
-79
lines changed

7 files changed

+25
-79
lines changed

spring-security-login-and-registration/src/main/java/org/baeldung/persistence/dao/PrivilegeRepository.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,6 @@
55

66
public interface PrivilegeRepository extends JpaRepository<Privilege, Long> {
77
public Privilege findByName(String name);
8+
89
public void delete(Privilege privilege);
910
}

spring-security-login-and-registration/src/main/java/org/baeldung/persistence/dao/RoleRepository.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,6 @@
55

66
public interface RoleRepository extends JpaRepository<Role, Long> {
77
public Role findByName(String name);
8+
89
public void delete(Role role);
910
}

spring-security-login-and-registration/src/main/java/org/baeldung/persistence/model/User.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package org.baeldung.persistence.model;
22

3-
43
import java.util.Collection;
54

65
import javax.persistence.Entity;
@@ -31,10 +30,7 @@ public class User {
3130
private boolean tokenExpired;
3231

3332
@ManyToMany
34-
@JoinTable(
35-
name = "users_roles",
36-
joinColumns = @JoinColumn(name = "user_id", referencedColumnName = "id"),
37-
inverseJoinColumns = @JoinColumn(name = "role_id", referencedColumnName = "id"))
33+
@JoinTable(name = "users_roles", joinColumns = @JoinColumn(name = "user_id", referencedColumnName = "id"), inverseJoinColumns = @JoinColumn(name = "role_id", referencedColumnName = "id"))
3834
private Collection<Role> roles;
3935

4036
public User() {

spring-security-login-and-registration/src/main/java/org/baeldung/persistence/service/UserService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public class UserService implements IUserService {
2828

2929
@Autowired
3030
private RoleRepository roleRepository;
31-
31+
3232
// API
3333

3434
@Override

spring-security-login-and-registration/src/main/java/org/baeldung/spring/PersistenceJPAConfig.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package org.baeldung.spring;
22

33
import java.util.Properties;
4+
45
import javax.sql.DataSource;
6+
57
import org.springframework.beans.factory.annotation.Autowired;
68
import org.springframework.context.annotation.Bean;
79
import org.springframework.context.annotation.ComponentScan;
@@ -53,7 +55,7 @@ public DataSource dataSource() {
5355

5456
@Bean
5557
public JpaTransactionManager transactionManager() {
56-
JpaTransactionManager transactionManager = new JpaTransactionManager();
58+
final JpaTransactionManager transactionManager = new JpaTransactionManager();
5759
transactionManager.setEntityManagerFactory(entityManagerFactory().getObject());
5860
return transactionManager;
5961
}

spring-security-login-and-registration/src/main/java/org/baeldung/test/SpringSecurityRolesTest.java

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,12 @@
1515
import org.junit.Test;
1616
import org.junit.runner.RunWith;
1717
import org.springframework.beans.factory.annotation.Autowired;
18-
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
1918
import org.springframework.security.crypto.password.PasswordEncoder;
2019
import org.springframework.test.context.ContextConfiguration;
2120
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
21+
import org.springframework.test.context.support.AnnotationConfigContextLoader;
2222
import org.springframework.test.context.transaction.TransactionConfiguration;
2323
import org.springframework.transaction.annotation.Transactional;
24-
import org.springframework.test.context.support.AnnotationConfigContextLoader;
2524

2625
@RunWith(SpringJUnit4ClassRunner.class)
2726
@ContextConfiguration(classes = { TestConfig.class }, loader = AnnotationConfigContextLoader.class)
@@ -38,10 +37,15 @@ public class SpringSecurityRolesTest {
3837
@Autowired
3938
private PrivilegeRepository privilegeRepository;
4039

40+
@Autowired
41+
private PasswordEncoder passwordEncoder;
42+
4143
private User user;
4244
private Role role;
4345
private Privilege privilege;
4446

47+
// tests
48+
4549
@Test
4650
public void testDeleteUser() {
4751
role = new Role("TEST_ROLE");
@@ -50,8 +54,7 @@ public void testDeleteUser() {
5054
user = new User();
5155
user.setFirstName("John");
5256
user.setLastName("Doe");
53-
PasswordEncoder encoder = new BCryptPasswordEncoder();
54-
user.setPassword(encoder.encode("123"));
57+
user.setPassword(passwordEncoder.encode("123"));
5558
user.setEmail("john@doe.com");
5659
user.setRoles(Arrays.asList(role));
5760
user.setEnabled(true);
@@ -78,8 +81,7 @@ public void testDeleteRole() {
7881
user = new User();
7982
user.setFirstName("John");
8083
user.setLastName("Doe");
81-
PasswordEncoder encoder = new BCryptPasswordEncoder();
82-
user.setPassword(encoder.encode("123"));
84+
user.setPassword(passwordEncoder.encode("123"));
8385
user.setEmail("john@doe.com");
8486
user.setRoles(Arrays.asList(role));
8587
user.setEnabled(true);
@@ -92,7 +94,7 @@ public void testDeleteRole() {
9294
user.setRoles(new ArrayList<Role>());
9395
role.setPrivileges(new ArrayList<Privilege>());
9496
roleRepository.delete(role);
95-
97+
9698
assertNull(roleRepository.findByName(role.getName()));
9799
assertNotNull(privilegeRepository.findByName(privilege.getName()));
98100
assertNotNull(userRepository.findByEmail(user.getEmail()));
@@ -106,13 +108,13 @@ public void testDeletePrivilege() {
106108
role = new Role("TEST_ROLE");
107109
role.setPrivileges(Arrays.asList(privilege));
108110
roleRepository.save(role);
109-
111+
110112
assertNotNull(roleRepository.findByName(role.getName()));
111113
assertNotNull(privilegeRepository.findByName(privilege.getName()));
112114

113115
role.setPrivileges(new ArrayList<Privilege>());
114116
privilegeRepository.delete(privilege);
115-
117+
116118
assertNull(privilegeRepository.findByName(privilege.getName()));
117119
assertNotNull(roleRepository.findByName(role.getName()));
118120
}
Lines changed: 7 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,73 +1,17 @@
11
package org.baeldung.test;
22

3-
import java.util.Properties;
4-
5-
import javax.sql.DataSource;
6-
7-
import org.springframework.beans.factory.annotation.Autowired;
3+
import org.baeldung.spring.PersistenceJPAConfig;
84
import org.springframework.context.annotation.Bean;
95
import org.springframework.context.annotation.ComponentScan;
10-
import org.springframework.context.annotation.Configuration;
11-
import org.springframework.context.annotation.PropertySource;
12-
import org.springframework.core.env.Environment;
13-
import org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor;
14-
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
15-
import org.springframework.jdbc.datasource.DriverManagerDataSource;
16-
import org.springframework.orm.jpa.JpaTransactionManager;
17-
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
18-
import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
19-
import org.springframework.transaction.annotation.EnableTransactionManagement;
20-
21-
@Configuration
22-
@EnableTransactionManagement
23-
@PropertySource({ "classpath:persistence.properties" })
24-
@ComponentScan({ "org.baeldung.persistence.model","org.baeldung.persistence.dao" })
25-
@EnableJpaRepositories(basePackages = "org.baeldung.persistence.dao")
26-
public class TestConfig {
27-
@Autowired
28-
private Environment env;
29-
30-
public TestConfig() {
31-
super();
32-
}
33-
34-
@Bean
35-
public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
36-
final LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();
37-
em.setDataSource(dataSource());
38-
em.setPackagesToScan(new String[] { "org.baeldung.persistence.model" });
39-
final HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
40-
em.setJpaVendorAdapter(vendorAdapter);
41-
em.setJpaProperties(additionalProperties());
42-
return em;
43-
}
6+
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
7+
import org.springframework.security.crypto.password.PasswordEncoder;
448

45-
@Bean
46-
public DataSource dataSource() {
47-
final DriverManagerDataSource dataSource = new DriverManagerDataSource();
48-
dataSource.setDriverClassName(env.getProperty("jdbc.driverClassName"));
49-
dataSource.setUrl(env.getProperty("jdbc.url"));
50-
dataSource.setUsername(env.getProperty("jdbc.user"));
51-
dataSource.setPassword(env.getProperty("jdbc.pass"));
52-
return dataSource;
53-
}
9+
@ComponentScan({ "org.baeldung.persistence.dao" })
10+
public class TestConfig extends PersistenceJPAConfig {
5411

5512
@Bean
56-
public JpaTransactionManager transactionManager() {
57-
JpaTransactionManager transactionManager = new JpaTransactionManager();
58-
transactionManager.setEntityManagerFactory(entityManagerFactory().getObject());
59-
return transactionManager;
13+
public PasswordEncoder encoder() {
14+
return new BCryptPasswordEncoder(11);
6015
}
6116

62-
@Bean
63-
public PersistenceExceptionTranslationPostProcessor exceptionTranslation() {
64-
return new PersistenceExceptionTranslationPostProcessor();
65-
}
66-
67-
final Properties additionalProperties() {
68-
final Properties hibernateProperties = new Properties();
69-
hibernateProperties.setProperty("hibernate.hbm2ddl.auto", env.getProperty("hibernate.hbm2ddl.auto"));
70-
hibernateProperties.setProperty("hibernate.dialect", env.getProperty("hibernate.dialect"));
71-
return hibernateProperties;
72-
}
7317
}

0 commit comments

Comments
 (0)