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.service.includes;
35
36 import fr.paris.lutece.portal.service.content.PageData;
37 import fr.paris.lutece.portal.service.init.LuteceInitException;
38 import fr.paris.lutece.test.LuteceTestCase;
39
40 import java.util.List;
41 import java.util.Map;
42
43 import javax.servlet.http.HttpServletRequest;
44
45 public class PageIncludeServiceTest extends LuteceTestCase
46 {
47 public void testPageIncludes( )
48 {
49 List<PageInclude> listIncludes = PageIncludeService.getIncludes( );
50
51 assertTrue( listIncludes.size( ) > 2 );
52 }
53
54 public void testEnabledState( ) throws LuteceInitException
55 {
56 PageIncludeEntry entry = new PageIncludeEntry( );
57 entry.setClassName( TestPageInclude.class.getName( ) );
58 entry.setId( "testEnablePageInclude" );
59 entry.setPluginName( "core" );
60
61 PageIncludeService.registerPageInclude( entry );
62
63 List<PageInclude> includes = PageIncludeService.getIncludes( );
64 assertTrue( isTestPageIncludeActive( includes ) );
65
66 entry.setEnabled( false );
67 PageIncludeService.registerPageInclude( entry );
68 includes = PageIncludeService.getIncludes( );
69 assertFalse( isTestPageIncludeActive( includes ) );
70
71 entry.setPluginName( "bogus_inexistant_plugin" );
72 PageIncludeService.registerPageInclude( entry );
73 includes = PageIncludeService.getIncludes( );
74 assertFalse( isTestPageIncludeActive( includes ) );
75
76 entry.setEnabled( true );
77 PageIncludeService.registerPageInclude( entry );
78 includes = PageIncludeService.getIncludes( );
79 assertFalse( isTestPageIncludeActive( includes ) );
80 }
81
82 private boolean isTestPageIncludeActive( List<PageInclude> includes )
83 {
84 boolean found = false;
85
86 for ( PageInclude include : includes )
87 {
88 if ( include instanceof TestPageInclude )
89 {
90 found = true;
91
92 break;
93 }
94 }
95
96 return found;
97 }
98
99 static class TestPageInclude implements PageInclude
100 {
101 @Override
102 public void fillTemplate( Map<String, Object> rootModel, PageData data, int nMode, HttpServletRequest request )
103 {
104 }
105 }
106 }