1 /*
2 * Copyright (C) The Spice Group. All rights reserved.
3 *
4 * This software is published under the terms of the Spice
5 * Software License version 1.1, a copy of which has been included
6 * with this distribution in the LICENSE.txt file.
7 */
8 package org.codehaus.spice.xmlpolicy.reader.test;
9
10 import org.codehaus.spice.xmlpolicy.metadata.GrantMetaData;
11 import org.codehaus.spice.xmlpolicy.metadata.KeyStoreMetaData;
12 import org.codehaus.spice.xmlpolicy.metadata.PermissionMetaData;
13 import org.codehaus.spice.xmlpolicy.metadata.PolicyMetaData;
14 import org.codehaus.spice.xmlpolicy.test.AbstractPolicyTestCase;
15
16 /***
17 * TestCase for {@link org.codehaus.spice.xmlpolicy.reader.PolicyReader}.
18 *
19 * @author Peter Donald
20 */
21 public class ReaderTestCase
22 extends AbstractPolicyTestCase
23 {
24 public ReaderTestCase( final String name )
25 {
26 super( name );
27 }
28
29 public void testConfig1()
30 throws Exception
31 {
32 final PolicyMetaData policy = buildFromResource( "config1.xml" );
33
34 assertEquals( "Policy KeyStore Count",
35 1,
36 policy.getKeyStores().length );
37
38 final KeyStoreMetaData keyStore = policy.getKeyStores()[ 0 ];
39 assertEquals( "KeyStore Name",
40 "myKeystore",
41 keyStore.getName() );
42 assertEquals( "KeyStore Location",
43 "sar:/conf/keystore",
44 keyStore.getLocation() );
45 assertEquals( "KeyStore Type",
46 "JKS",
47 keyStore.getType() );
48
49 assertEquals( "Policy Grant Count",
50 2,
51 policy.getGrants().length );
52
53 final GrantMetaData grant1 = policy.getGrants()[ 0 ];
54 final GrantMetaData grant2 = policy.getGrants()[ 1 ];
55
56 assertEquals( "grant1.getCodebase()",
57 "myCodeBase",
58 grant1.getCodebase() );
59 assertEquals( "grant1.getKeyStore()",
60 null,
61 grant1.getKeyStore() );
62 assertEquals( "grant1.getSignedBy()",
63 null,
64 grant1.getSignedBy() );
65
66 assertEquals( "grant1.getPermissions().length",
67 1,
68 grant1.getPermissions().length );
69
70 final PermissionMetaData permission1 = grant1.getPermissions()[ 0 ];
71 assertEquals( "permission1.getClassname()",
72 "java.io.FilePermission",
73 permission1.getClassname() );
74 assertEquals( "permission1.getAction()",
75 "read,write",
76 permission1.getAction() );
77 assertEquals( "permission1.getTarget()",
78 "${/}tmp${/}*",
79 permission1.getTarget() );
80 assertEquals( "permission1.getKeyStore()",
81 "myKeystore",
82 permission1.getKeyStore() );
83 assertEquals( "permission1.getSignedBy()",
84 "Bob",
85 permission1.getSignedBy() );
86
87 assertEquals( "grant2.getCodebase()",
88 "sar:/SAR-INF/lib/*",
89 grant2.getCodebase() );
90 assertEquals( "grant2.getKeyStore()",
91 "myKeystore",
92 grant2.getKeyStore() );
93 assertEquals( "grant2.getSignedBy()",
94 "Bob",
95 grant2.getSignedBy() );
96
97 assertEquals( "grant2.getPermissions().length",
98 1,
99 grant2.getPermissions().length );
100
101 final PermissionMetaData permission2 = grant2.getPermissions()[ 0 ];
102 assertEquals( "permission2.getClassname()",
103 "java.io.FilePermission",
104 permission2.getClassname() );
105 assertEquals( "permission2.getAction()",
106 null,
107 permission2.getAction() );
108 assertEquals( "permission2.getTarget()",
109 null,
110 permission2.getTarget() );
111 assertEquals( "permission2.getKeyStore()",
112 null,
113 permission2.getKeyStore() );
114 assertEquals( "permission2.getSignedBy()",
115 null,
116 permission2.getSignedBy() );
117 }
118
119 public void testConfig2()
120 throws Exception
121 {
122 try
123 {
124 buildFromResource( "config2.xml" );
125 }
126 catch( final Throwable t )
127 {
128 return;
129 }
130 fail( "Should have failed as loaded a " +
131 "configuration with no version" );
132 }
133
134 public void testConfig3()
135 throws Exception
136 {
137 try
138 {
139 buildFromResource( "config3.xml" );
140 }
141 catch( final Throwable t )
142 {
143 return;
144 }
145 fail( "Should have failed as loaded a " +
146 "configuration with bad version set" );
147 }
148
149 public void testConfig4()
150 throws Exception
151 {
152 final PolicyMetaData policy = buildFromResource( "config4.xml" );
153 assertEquals( "Policy KeyStore Count",
154 0,
155 policy.getKeyStores().length );
156
157 assertEquals( "Policy Grant Count",
158 1,
159 policy.getGrants().length );
160
161 final GrantMetaData grant1 = policy.getGrants()[ 0 ];
162
163 assertEquals( "grant1.getCodebase()",
164 null,
165 grant1.getCodebase() );
166 assertEquals( "grant1.getKeyStore()",
167 null,
168 grant1.getKeyStore() );
169 assertEquals( "grant1.getSignedBy()",
170 null,
171 grant1.getSignedBy() );
172
173 assertEquals( "grant1.getPermissions().length",
174 1,
175 grant1.getPermissions().length );
176
177 final PermissionMetaData permission1 = grant1.getPermissions()[ 0 ];
178 assertEquals( "permission1.getClassname()",
179 "java.io.FilePermission",
180 permission1.getClassname() );
181 assertEquals( "permission1.getAction()",
182 null,
183 permission1.getAction() );
184 assertEquals( "permission1.getTarget()",
185 null,
186 permission1.getTarget() );
187 assertEquals( "permission1.getKeyStore()",
188 null,
189 permission1.getKeyStore() );
190 assertEquals( "permission1.getSignedBy()",
191 null,
192 permission1.getSignedBy() );
193 }
194
195 public void testConfig5()
196 throws Exception
197 {
198 final PolicyMetaData policy = buildFromResource( "config5.xml" );
199
200 assertEquals( "Policy KeyStore Count",
201 1,
202 policy.getKeyStores().length );
203
204 final KeyStoreMetaData keyStore = policy.getKeyStores()[ 0 ];
205 assertEquals( "KeyStore Name",
206 "default",
207 keyStore.getName() );
208 assertEquals( "KeyStore Location",
209 "sar:/conf/keystore",
210 keyStore.getLocation() );
211 assertEquals( "KeyStore Type",
212 "JKS",
213 keyStore.getType() );
214
215 assertEquals( "Policy Grant Count",
216 2,
217 policy.getGrants().length );
218
219 final GrantMetaData grant1 = policy.getGrants()[ 0 ];
220 final GrantMetaData grant2 = policy.getGrants()[ 1 ];
221
222 assertEquals( "grant1.getCodebase()",
223 "myCodeBase",
224 grant1.getCodebase() );
225 assertEquals( "grant1.getKeyStore()",
226 null,
227 grant1.getKeyStore() );
228 assertEquals( "grant1.getSignedBy()",
229 null,
230 grant1.getSignedBy() );
231
232 assertEquals( "grant1.getPermissions().length",
233 1,
234 grant1.getPermissions().length );
235
236 final PermissionMetaData permission1 = grant1.getPermissions()[ 0 ];
237 assertEquals( "permission1.getClassname()",
238 "java.io.FilePermission",
239 permission1.getClassname() );
240 assertEquals( "permission1.getAction()",
241 "read,write",
242 permission1.getAction() );
243 assertEquals( "permission1.getTarget()",
244 "${/}tmp${/}*",
245 permission1.getTarget() );
246 assertEquals( "permission1.getKeyStore()",
247 "default",
248 permission1.getKeyStore() );
249 assertEquals( "permission1.getSignedBy()",
250 "Bob",
251 permission1.getSignedBy() );
252
253 assertEquals( "grant2.getCodebase()",
254 "sar:/SAR-INF/lib/*",
255 grant2.getCodebase() );
256 assertEquals( "grant2.getKeyStore()",
257 "default",
258 grant2.getKeyStore() );
259 assertEquals( "grant2.getSignedBy()",
260 "Bob",
261 grant2.getSignedBy() );
262
263 assertEquals( "grant2.getPermissions().length",
264 1,
265 grant2.getPermissions().length );
266
267 final PermissionMetaData permission2 = grant2.getPermissions()[ 0 ];
268 assertEquals( "permission2.getClassname()",
269 "java.io.FilePermission",
270 permission2.getClassname() );
271 assertEquals( "permission2.getAction()",
272 null,
273 permission2.getAction() );
274 assertEquals( "permission2.getTarget()",
275 null,
276 permission2.getTarget() );
277 assertEquals( "permission2.getKeyStore()",
278 null,
279 permission2.getKeyStore() );
280 assertEquals( "permission2.getSignedBy()",
281 null,
282 permission2.getSignedBy() );
283 }
284 }
This page was automatically generated by Maven