Commit 9ae0ef878b5a6c358ece867cb01f0546b8a0daec
1 parent
4c446810
Amélioration des tests de spring jpa
Showing
8 changed files
with
114 additions
and
11 deletions
Show diff stats
src/main/java/fr/plil/sio/persistence/api/Right.java
@@ -31,12 +31,10 @@ public class Right implements Serializable{ | @@ -31,12 +31,10 @@ public class Right implements Serializable{ | ||
31 | private String name; | 31 | private String name; |
32 | 32 | ||
33 | /// the parent right | 33 | /// the parent right |
34 | - @ManyToOne(optional = false) | ||
35 | - @JoinColumn(name = "RIGHT_ID") | ||
36 | - @Column(name = "PARENT_C") | 34 | + @ManyToOne(optional = true) |
37 | private Right parent; | 35 | private Right parent; |
38 | 36 | ||
39 | - @ManyToOne(optional = false) | 37 | + @ManyToOne(optional = true) |
40 | @JoinColumn(name = "GROUP_ID") | 38 | @JoinColumn(name = "GROUP_ID") |
41 | private Group group; | 39 | private Group group; |
42 | 40 |
src/main/java/fr/plil/sio/persistence/jpa/GroupServiceJpa.java
@@ -29,7 +29,15 @@ public class GroupServiceJpa implements GroupService { | @@ -29,7 +29,15 @@ public class GroupServiceJpa implements GroupService { | ||
29 | 29 | ||
30 | @Override | 30 | @Override |
31 | public boolean delete(String name) { | 31 | public boolean delete(String name) { |
32 | - throw new IllegalStateException("not implemented !"); | 32 | + if(name == null) |
33 | + throw new IllegalArgumentException("Name cannot be null"); | ||
34 | + | ||
35 | + Group group = groupRepository.findByName(name); | ||
36 | + if(group == null) | ||
37 | + return false; | ||
38 | + | ||
39 | + groupRepository.delete(group); | ||
40 | + return true; | ||
33 | } | 41 | } |
34 | 42 | ||
35 | @Override | 43 | @Override |
@@ -42,6 +50,7 @@ public class GroupServiceJpa implements GroupService { | @@ -42,6 +50,7 @@ public class GroupServiceJpa implements GroupService { | ||
42 | 50 | ||
43 | @Override | 51 | @Override |
44 | public boolean addRight(String groupName, Right right) { | 52 | public boolean addRight(String groupName, Right right) { |
53 | + | ||
45 | return false; | 54 | return false; |
46 | } | 55 | } |
47 | 56 |
src/main/java/fr/plil/sio/persistence/jpa/RightRepository.java
0 → 100644
@@ -0,0 +1,10 @@ | @@ -0,0 +1,10 @@ | ||
1 | +package fr.plil.sio.persistence.jpa; | ||
2 | + | ||
3 | +import fr.plil.sio.persistence.api.Right; | ||
4 | +import org.springframework.data.jpa.repository.JpaRepository; | ||
5 | + | ||
6 | +public interface RightRepository extends JpaRepository<Right, Long> { | ||
7 | + | ||
8 | + Right findByName(String name); | ||
9 | + | ||
10 | +} |
src/main/java/fr/plil/sio/persistence/jpa/RightServiceJpa.java
1 | package fr.plil.sio.persistence.jpa; | 1 | package fr.plil.sio.persistence.jpa; |
2 | 2 | ||
3 | +import fr.plil.sio.persistence.api.Group; | ||
3 | import fr.plil.sio.persistence.api.Right; | 4 | import fr.plil.sio.persistence.api.Right; |
4 | import fr.plil.sio.persistence.api.RightService; | 5 | import fr.plil.sio.persistence.api.RightService; |
6 | +import java.util.ArrayList; | ||
5 | import org.springframework.stereotype.Service; | 7 | import org.springframework.stereotype.Service; |
6 | 8 | ||
7 | import java.util.List; | 9 | import java.util.List; |
10 | +import org.springframework.beans.factory.annotation.Autowired; | ||
8 | 11 | ||
9 | @Service | 12 | @Service |
10 | public class RightServiceJpa implements RightService { | 13 | public class RightServiceJpa implements RightService { |
14 | + | ||
15 | + @Autowired | ||
16 | + private RightRepository rightRepository; | ||
17 | + | ||
11 | @Override | 18 | @Override |
12 | public Right create(String name) { | 19 | public Right create(String name) { |
13 | - return null; | 20 | + if (name == null) { |
21 | + throw new IllegalArgumentException("name cannot be null"); | ||
22 | + } | ||
23 | + | ||
24 | + List<Right> rights = new ArrayList<>(); | ||
25 | + | ||
26 | + Right right = new Right(); | ||
27 | + right.setName(name); | ||
28 | + | ||
29 | + rights.add(right); | ||
30 | + rightRepository.save(rights); | ||
31 | + | ||
32 | + return right; | ||
14 | } | 33 | } |
15 | 34 | ||
16 | @Override | 35 | @Override |
17 | public Right create(String name, Right parent) { | 36 | public Right create(String name, Right parent) { |
18 | - return null; | 37 | + if (name == null) { |
38 | + throw new IllegalArgumentException("name cannot be null"); | ||
39 | + } | ||
40 | + | ||
41 | + List<Right> rights = new ArrayList<>(); | ||
42 | + | ||
43 | + Right right = new Right(); | ||
44 | + right.setName(name); | ||
45 | + right.setParent(parent); | ||
46 | + rights.add(right); | ||
47 | + rightRepository.save(rights); | ||
48 | + | ||
49 | + return right; | ||
19 | } | 50 | } |
20 | 51 | ||
21 | @Override | 52 | @Override |
22 | public boolean delete(Right right) { | 53 | public boolean delete(Right right) { |
23 | - return false; | 54 | + if(right == null) |
55 | + throw new IllegalArgumentException("Right cannot be null"); | ||
56 | + | ||
57 | + rightRepository.delete(right); | ||
58 | + return true; | ||
24 | } | 59 | } |
25 | 60 | ||
26 | @Override | 61 | @Override |
27 | - public List<Right> findByName(String name) { | ||
28 | - return null; | 62 | + public List<Right> findByName(String name) { |
63 | + if(name == null) | ||
64 | + throw new IllegalArgumentException("Name cannot be null"); | ||
65 | + | ||
66 | + Right right = rightRepository.findByName(name); | ||
67 | + List<Right> rights = new ArrayList<>(); | ||
68 | + rights.add(right); | ||
69 | + | ||
70 | + return rights; | ||
29 | } | 71 | } |
30 | 72 | ||
31 | @Override | 73 | @Override |
32 | public Right findOne(Long id) { | 74 | public Right findOne(Long id) { |
33 | - return null; | 75 | + |
76 | + if(id == null) | ||
77 | + throw new IllegalArgumentException("Id cannot be null"); | ||
78 | + | ||
79 | + return rightRepository.findOne(id); | ||
34 | } | 80 | } |
35 | } | 81 | } |
src/main/java/fr/plil/sio/persistence/jpa/UserServiceJpa.java
@@ -7,23 +7,57 @@ import org.springframework.stereotype.Service; | @@ -7,23 +7,57 @@ import org.springframework.stereotype.Service; | ||
7 | 7 | ||
8 | @Service | 8 | @Service |
9 | public class UserServiceJpa implements UserService { | 9 | public class UserServiceJpa implements UserService { |
10 | + | ||
11 | + /*@Autowired | ||
12 | + UserRepository userRepository; | ||
13 | + GroupRepository groupRepository; */ | ||
14 | + | ||
10 | @Override | 15 | @Override |
11 | public User create(String name, String groupName) { | 16 | public User create(String name, String groupName) { |
17 | + /* if (name == null) { | ||
18 | + throw new IllegalArgumentException("name cannot be null"); | ||
19 | + } | ||
20 | + | ||
21 | + User user = userRepository.findByName(name); | ||
22 | + Group group = groupRepository.findByName(name); | ||
23 | + if (user != null) { | ||
24 | + throw new IllegalStateException("a user with the same name already exists"); | ||
25 | + } | ||
26 | + user = new User(); | ||
27 | + user.setName(name); | ||
28 | + user.setGroup(group); | ||
29 | + userRepository.save(user);*/ | ||
12 | return null; | 30 | return null; |
13 | } | 31 | } |
14 | 32 | ||
15 | @Override | 33 | @Override |
16 | public boolean delete(String name) { | 34 | public boolean delete(String name) { |
35 | + /* if(name == null){ | ||
36 | + return false; | ||
37 | + } | ||
38 | + User user = userRepository.findByName(name); | ||
39 | + | ||
40 | + userRepository.delete(user);*/ | ||
41 | + | ||
17 | return false; | 42 | return false; |
18 | } | 43 | } |
19 | 44 | ||
20 | @Override | 45 | @Override |
21 | public User findByName(String name) { | 46 | public User findByName(String name) { |
47 | + /*if (name == null) { | ||
48 | + throw new IllegalArgumentException("name cannot be null"); | ||
49 | + } | ||
50 | + return userRepository.findByName(name);*/ | ||
22 | return null; | 51 | return null; |
23 | } | 52 | } |
24 | 53 | ||
25 | @Override | 54 | @Override |
26 | public boolean isUserHasRight(String userName, Right right) { | 55 | public boolean isUserHasRight(String userName, Right right) { |
56 | + /*if(userName == null) | ||
57 | + throw new IllegalArgumentException("name cannot be null"); | ||
58 | + if(right == null) | ||
59 | + throw new IllegalArgumentException("Right cannot be null"); | ||
60 | + */ | ||
27 | return false; | 61 | return false; |
28 | } | 62 | } |
29 | } | 63 | } |
src/test/java/fr/plil/sio/persistence/jpa/GroupServiceTest.java
1 | package fr.plil.sio.persistence.jpa; | 1 | package fr.plil.sio.persistence.jpa; |
2 | 2 | ||
3 | import fr.plil.sio.persistence.api.*; | 3 | import fr.plil.sio.persistence.api.*; |
4 | +import javax.transaction.Transactional; | ||
4 | import org.junit.Before; | 5 | import org.junit.Before; |
5 | import org.junit.Test; | 6 | import org.junit.Test; |
6 | import org.junit.runner.RunWith; | 7 | import org.junit.runner.RunWith; |
@@ -10,6 +11,7 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; | @@ -10,6 +11,7 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; | ||
10 | 11 | ||
11 | import static org.junit.Assert.*; | 12 | import static org.junit.Assert.*; |
12 | 13 | ||
14 | +@Transactional | ||
13 | @RunWith(SpringJUnit4ClassRunner.class) | 15 | @RunWith(SpringJUnit4ClassRunner.class) |
14 | @SpringBootTest | 16 | @SpringBootTest |
15 | public class GroupServiceTest { | 17 | public class GroupServiceTest { |
src/test/java/fr/plil/sio/persistence/jpa/RightServiceTest.java
@@ -2,6 +2,7 @@ package fr.plil.sio.persistence.jpa; | @@ -2,6 +2,7 @@ package fr.plil.sio.persistence.jpa; | ||
2 | 2 | ||
3 | import fr.plil.sio.persistence.api.Right; | 3 | import fr.plil.sio.persistence.api.Right; |
4 | import fr.plil.sio.persistence.api.RightService; | 4 | import fr.plil.sio.persistence.api.RightService; |
5 | +import javax.transaction.Transactional; | ||
5 | import org.junit.Test; | 6 | import org.junit.Test; |
6 | import org.junit.runner.RunWith; | 7 | import org.junit.runner.RunWith; |
7 | import org.springframework.beans.factory.annotation.Autowired; | 8 | import org.springframework.beans.factory.annotation.Autowired; |
@@ -10,6 +11,7 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; | @@ -10,6 +11,7 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; | ||
10 | 11 | ||
11 | import static org.junit.Assert.*; | 12 | import static org.junit.Assert.*; |
12 | 13 | ||
14 | +@Transactional | ||
13 | @RunWith(SpringJUnit4ClassRunner.class) | 15 | @RunWith(SpringJUnit4ClassRunner.class) |
14 | @SpringBootTest | 16 | @SpringBootTest |
15 | public class RightServiceTest { | 17 | public class RightServiceTest { |
src/test/java/fr/plil/sio/persistence/jpa/UserServiceTest.java
1 | package fr.plil.sio.persistence.jpa; | 1 | package fr.plil.sio.persistence.jpa; |
2 | 2 | ||
3 | import fr.plil.sio.persistence.api.*; | 3 | import fr.plil.sio.persistence.api.*; |
4 | +import javax.transaction.Transactional; | ||
4 | import org.junit.Before; | 5 | import org.junit.Before; |
5 | import org.junit.Test; | 6 | import org.junit.Test; |
6 | import org.junit.runner.RunWith; | 7 | import org.junit.runner.RunWith; |
@@ -10,6 +11,7 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; | @@ -10,6 +11,7 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; | ||
10 | 11 | ||
11 | import static org.junit.Assert.*; | 12 | import static org.junit.Assert.*; |
12 | 13 | ||
14 | +@Transactional | ||
13 | @RunWith(SpringJUnit4ClassRunner.class) | 15 | @RunWith(SpringJUnit4ClassRunner.class) |
14 | @SpringBootTest | 16 | @SpringBootTest |
15 | public class UserServiceTest { | 17 | public class UserServiceTest { |