1 package net.sourceforge.heracles.api;
2
3 /**
4 * Title: HeraclesTest.java<br>
5 * Copyright: HFT-SO<br>
6 * Java Version: JDK 1.5<br>
7 *
8 * @author Philipp Gantert
9 * @version 1.0
10 */
11
12 import java.util.List;
13
14 import junit.framework.TestCase;
15 import net.sourceforge.heracles.model.LdapUser;
16 import net.sourceforge.heracles.testUtilities.CreateTestData;
17
18 /**
19 * @author gantert
20 *
21 */
22 public class HeraclesTest extends TestCase {
23
24 private CreateTestData testData;
25
26 private Heracles heracles;
27
28
29
30
31
32
33 @Override
34 protected void setUp() throws Exception {
35 super.setUp();
36 heracles=Heracles.getHeracles();
37 }
38
39
40
41
42
43
44 @Override
45 protected void tearDown() throws Exception {
46 super.tearDown();
47 if (testData != null)
48 testData.deleteTestData(testData.getTestData());
49 }
50
51 /**
52 * Test method for
53 * {@link net.sourceforge.heracles.api.HeraclesImpl#authSimple(java.lang.String, java.lang.String)}.
54 *
55 * First we create one test-user. Then we will do a simple authentication
56 */
57 public void testAuthSimple() throws Exception {
58 testData = new CreateTestData(1, 0, 0, 0);
59 String username = CreateTestData.GIVENNAME + "0." + CreateTestData.SURNAME + "0" + CreateTestData.REALM;
60 heracles.authSimple(username, CreateTestData.PASSWORD);
61
62 }
63
64 /**
65 * Test method for {@link
66 * net.sourceforge.heracles.api.HeraclesImpl#authAdvanced(java.lang.String, java.lang.String)}.
67 *
68 * First we create one test-user with mail and phone. Then we will do an advanced
69 * authentication. After that we will test the received LdapUser object.
70 */
71 public void testAuthAdvanced() throws Exception {
72 testData = new CreateTestData(1, 1, 1, 0);
73 testData.createGroups("heraclesGroup1", 1);
74 testData.createGroups("heraclesGroup2", 1);
75
76 String username = CreateTestData.GIVENNAME + "0." + CreateTestData.SURNAME + "0" + CreateTestData.REALM;
77 LdapUser ldapUser = heracles.authAdvanced(username, CreateTestData.PASSWORD);
78 assertNotNull("LdapUser is null", ldapUser);
79
80 assertEquals(CreateTestData.TELEPHONENUMBER + "0", ldapUser.getTelephoneNumber());
81 assertEquals(CreateTestData.GIVENNAME + "0." + CreateTestData.SURNAME + "0" + CreateTestData.MAIL, ldapUser.getMail());
82 assertEquals(CreateTestData.HOMEPAGE, ldapUser.getHomepage());
83 assertEquals(2, ldapUser.getLdapGroups().size());
84 assertEquals("heraclesGroup2", ldapUser.getLdapGroups().get(0).getName());
85 }
86
87 /**
88 * Test method for {@link
89 * net.sourceforge.heracles.api.HeraclesImpl#searchInLdap(java.lang.String, java.lang.String,
90 * java.lang.String)}.
91 *
92 * First we create 10 test-user, 8 have a mail, 6 have a phone and two are disabled.
93 */
94 public void testSearchInLdap() throws Exception {
95 testData = new CreateTestData(10, 8, 6, 2);
96 List<LdapUser> results = heracles.searchInLdap(CreateTestData.DOMAIN, "description", CreateTestData.DESCRIPTION);
97 assertEquals("found not all testdata", 10, results.size());
98 results = heracles.searchInLdap(CreateTestData.DOMAIN, "mail", "*" + CreateTestData.MAIL + "*");
99 assertEquals("search about the mail failed", 8, results.size());
100 }
101
102 public void testHeraclesSingleTon(){
103 Heracles heracles2 = Heracles.getHeracles();
104 assertEquals(heracles, heracles2);
105 }
106
107 public HeraclesTest(String name) {
108 super(name);
109 }
110
111 }