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.web.system;
35
36 import org.apache.commons.lang3.StringUtils;
37 import org.springframework.mock.web.MockHttpServletRequest;
38
39 import fr.paris.lutece.portal.business.user.AdminUser;
40 import fr.paris.lutece.portal.service.admin.AccessDeniedException;
41 import fr.paris.lutece.portal.service.datastore.DatastoreService;
42 import fr.paris.lutece.portal.service.security.SecurityTokenService;
43 import fr.paris.lutece.test.LuteceTestCase;
44 import fr.paris.lutece.test.Utils;
45
46
47
48
49
50 public class SystemJspBeanTest extends LuteceTestCase
51 {
52 private MockHttpServletRequest request;
53 private SystemJspBean instance;
54
55 @Override
56 protected void setUp( ) throws Exception
57 {
58 super.setUp( );
59 request = new MockHttpServletRequest( );
60 Utils.registerAdminUserWithRigth( request, new AdminUser( ), SystemJspBean.RIGHT_PROPERTIES_MANAGEMENT );
61
62 instance = new SystemJspBean( );
63 instance.init( request, SystemJspBean.RIGHT_PROPERTIES_MANAGEMENT );
64 }
65
66
67
68
69 public void testGetManageProperties( ) throws AccessDeniedException
70 {
71 assertTrue( StringUtils.isNotEmpty( instance.getManageProperties( request ) ) );
72 }
73
74 public void testDoModifyProperties( ) throws AccessDeniedException
75 {
76 final String property = "portal.site.site_property.email";
77 final String origValue = DatastoreService.getDataValue( property, "" );
78 request.setParameter( property, origValue + "_mod" );
79 request.setParameter( SecurityTokenService.PARAMETER_TOKEN,
80 SecurityTokenService.getInstance( ).getToken( request, "admin/system/modify_properties.html" ) );
81
82 try
83 {
84 SystemJspBean.doModifyProperties( request, request.getServletContext( ) );
85 assertEquals( origValue + "_mod", DatastoreService.getDataValue( property, "" ) );
86 }
87 finally
88 {
89 DatastoreService.setDataValue( property, origValue );
90 }
91 }
92
93 public void testDoModifyPropertiesInvalidToken( ) throws AccessDeniedException
94 {
95 final String property = "portal.site.site_property.email";
96 final String origValue = DatastoreService.getDataValue( property, "" );
97 request.setParameter( property, origValue + "_mod" );
98 request.setParameter( SecurityTokenService.PARAMETER_TOKEN,
99 SecurityTokenService.getInstance( ).getToken( request, "admin/system/modify_properties.html" ) + "b" );
100
101 try
102 {
103 SystemJspBean.doModifyProperties( request, request.getServletContext( ) );
104 fail( "Should have thrown" );
105 }
106 catch( AccessDeniedException e )
107 {
108 assertEquals( origValue, DatastoreService.getDataValue( property, "" ) );
109 }
110 finally
111 {
112 DatastoreService.setDataValue( property, origValue );
113 }
114 }
115
116 public void testDoModifyPropertiesNoToken( ) throws AccessDeniedException
117 {
118 final String property = "portal.site.site_property.email";
119 final String origValue = DatastoreService.getDataValue( property, "" );
120 request.setParameter( property, origValue + "_mod" );
121
122 try
123 {
124 SystemJspBean.doModifyProperties( request, request.getServletContext( ) );
125 fail( "Should have thrown" );
126 }
127 catch( AccessDeniedException e )
128 {
129 assertEquals( origValue, DatastoreService.getDataValue( property, "" ) );
130 }
131 finally
132 {
133 DatastoreService.setDataValue( property, origValue );
134 }
135 }
136 }