1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.shiro.realm.text;
20
21 import org.apache.shiro.authc.AuthenticationInfo;
22 import org.apache.shiro.authc.UsernamePasswordToken;
23 import org.apache.shiro.config.Ini;
24 import static org.junit.Assert.assertNotNull;
25 import static org.junit.Assert.assertTrue;
26 import org.junit.Test;
27
28
29
30
31
32
33 public class IniRealmTest {
34
35 @Test
36 public void testNullIni() {
37 IniRealm realm = new IniRealm((Ini) null);
38 }
39
40 @Test
41 public void testEmptyIni() {
42 new IniRealm(new Ini());
43 }
44
45 @Test(expected = IllegalStateException.class)
46 public void testInitWithoutIniResource() {
47 new IniRealm().init();
48 }
49
50 @Test
51 public void testIniFile() {
52 IniRealm realm = new IniRealm();
53 realm.setResourcePath("classpath:org/apache/shiro/realm/text/IniRealmTest.simple.ini");
54 realm.init();
55 assertTrue(realm.roleExists("admin"));
56 UsernamePasswordToken token = new UsernamePasswordToken("user1", "user1");
57 AuthenticationInfo info = realm.getAuthenticationInfo(token);
58 assertNotNull(info);
59 assertTrue(realm.hasRole(info.getPrincipals(), "admin"));
60 }
61
62 @Test
63 public void testIniFileWithoutUsers() {
64 IniRealm realm = new IniRealm();
65 realm.setResourcePath("classpath:org/apache/shiro/realm/text/IniRealmTest.noUsers.ini");
66 realm.init();
67 assertTrue(realm.roleExists("admin"));
68 }
69 }