1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package fr.paris.lutece.portal.business.rbac;
35
36 import fr.paris.lutece.test.LuteceTestCase;
37
38 import java.util.Collection;
39
40 public class RBACTest extends LuteceTestCase
41 {
42 private final static String ROLEKEY1 = "RoleKey 1";
43 private final static String ROLEKEY2 = "RoleKey 2";
44 private final static String RESOURCETYPE1 = "ResourceType 1";
45 private final static String RESOURCETYPE2 = "ResourceType 2";
46 private final static String RESOURCEID1 = "ResourceId 1";
47 private final static String RESOURCEID2 = "ResourceId 2";
48 private final static String PERMISSION1 = "Permission 1";
49 private final static String PERMISSION2 = "Permission 2";
50
51 public void testBusiness( )
52 {
53
54 RBAC rbac1 = new RBAC( );
55 rbac1.setRoleKey( ROLEKEY1 );
56 rbac1.setResourceTypeKey( RESOURCETYPE1 );
57 rbac1.setResourceId( RESOURCEID1 );
58 rbac1.setPermissionKey( PERMISSION1 );
59
60
61 RBAC rbac2 = new RBAC( );
62 rbac2.setRoleKey( ROLEKEY2 );
63 rbac2.setResourceTypeKey( RESOURCETYPE2 );
64 rbac2.setResourceId( RESOURCEID2 );
65 rbac2.setPermissionKey( PERMISSION2 );
66
67
68 RBACHome.create( rbac1 );
69
70 RBAC rbacStored = RBACHome.findByPrimaryKey( rbac1.getRBACId( ) );
71 assertEquals( rbacStored.getRoleKey( ), rbac1.getRoleKey( ) );
72 assertEquals( rbacStored.getResourceTypeKey( ), rbac1.getResourceTypeKey( ) );
73 assertEquals( rbacStored.getResourceId( ), rbac1.getResourceId( ) );
74 assertEquals( rbacStored.getPermissionKey( ), rbac1.getPermissionKey( ) );
75
76
77 rbac1.setRoleKey( ROLEKEY2 );
78 rbac1.setResourceTypeKey( RESOURCETYPE2 );
79 rbac1.setResourceId( RESOURCEID2 );
80 rbac1.setPermissionKey( PERMISSION2 );
81
82 RBACHome.update( rbac1 );
83 rbacStored = RBACHome.findByPrimaryKey( rbac1.getRBACId( ) );
84 assertEquals( rbacStored.getRoleKey( ), rbac1.getRoleKey( ) );
85 assertEquals( rbacStored.getResourceTypeKey( ), rbac1.getResourceTypeKey( ) );
86 assertEquals( rbacStored.getResourceId( ), rbac1.getResourceId( ) );
87 assertEquals( rbacStored.getPermissionKey( ), rbac1.getPermissionKey( ) );
88
89
90 RBACHome.remove( rbac1.getRBACId( ) );
91 rbacStored = RBACHome.findByPrimaryKey( rbac1.getRBACId( ) );
92 assertNull( rbacStored );
93
94
95 RBACHome.create( rbac1 );
96 RBACHome.create( rbac2 );
97
98
99 Collection list = RBACHome.findAll( );
100 assertTrue( list.size( ) > 0 );
101
102
103 Collection<RBAC> listByRole = RBACHome.findResourcesByCode( ROLEKEY2 );
104 assertTrue( listByRole.size( ) > 0 );
105
106 for ( RBAC rbacListItem : listByRole )
107 {
108 assertEquals( ROLEKEY2, rbacListItem.getRoleKey( ) );
109 }
110
111
112 Collection<String> listOfRoles = RBACHome.findRoleKeys( RESOURCETYPE2, RESOURCEID2, PERMISSION2 );
113 assertTrue( list.size( ) > 0 );
114
115 boolean bRoleFound = false;
116
117 for ( String strRoleKey : listOfRoles )
118 {
119 if ( strRoleKey.equals( ROLEKEY2 ) )
120 {
121 bRoleFound = true;
122 }
123 }
124
125 assertTrue( bRoleFound );
126
127
128 RBACHome.updateRoleKey( ROLEKEY2, ROLEKEY1 );
129
130 Collection listByRoleUpdated = RBACHome.findResourcesByCode( ROLEKEY1 );
131 assertTrue( listByRoleUpdated.size( ) > 0 );
132
133
134 RBACHome.removeForRoleKey( ROLEKEY1 );
135 rbacStored = RBACHome.findByPrimaryKey( rbac1.getRBACId( ) );
136 assertNull( rbacStored );
137 rbacStored = RBACHome.findByPrimaryKey( rbac2.getRBACId( ) );
138 assertNull( rbacStored );
139 }
140 }