Project

General

Profile

« Previous | Next » 

Revision 8432

Added by Jing Tao almost 11 years ago

Add the test method for the getPrincipals.

View differences:

test/edu/ucsb/nceas/metacat/authentication/AuthFileTest.java
26 26
public class AuthFileTest extends MCTestCase {
27 27
    private static final String PASSWORDFILEPATH = "build/password";
28 28
    private static final String GROUPNAME = "nceas-dev";
29
    private static final String USERNAME = "uid=tao,o=NCEAS,dc=ecoinformatics,dc=org";
29
    private static final String GROUPNAME2 = "dataone-dev";
30
    private static final String GROUPNAME3 = "dev";
31
    private static final String USERNAME = "uid=john,o=NCEAS,dc=ecoinformatics,dc=org";
30 32
    private static final String PASSWORD = "ecoinformatics";
31 33
    /**
32 34
     * consstructor for the test
......
63 65
         suite.addTest(new AuthFileTest("testGetUsers"));
64 66
         suite.addTest(new AuthFileTest("testGetGroups"));
65 67
         suite.addTest(new AuthFileTest("testChangePassword"));
68
         suite.addTest(new AuthFileTest("testAddRemoveUserToFromGroup"));
69
         suite.addTest(new AuthFileTest("testGetPrincipals"));
66 70
         return suite;
67 71
     }
68 72
     
......
154 158
     public void testChangePassword() throws Exception {
155 159
         AuthFile authFile = AuthFile.getInstance(PASSWORDFILEPATH);
156 160
         String password = authFile.resetPassword(USERNAME);
161
         authFile.authenticate(USERNAME, password);
157 162
         String newPassword = "hello";
158 163
         authFile.modifyPassword(USERNAME, password, newPassword);
159
         
164
         authFile.authenticate(USERNAME, newPassword);
160 165
         try {
161 166
             authFile.resetPassword("user1");
162 167
             assertTrue("Can't reach here since we tried to reset the password for an unexisting user ", false);
163 168
         } catch (AuthenticationException e) {
164
             
169
             System.out.println("Failed to reset the password for a user: "+e.getMessage());
165 170
         }
166 171
         try {
167 172
             authFile.modifyPassword("user1", "old", "new");
168 173
             assertTrue("Can't reach here since we tried to change the password for an unexisting user ", false);
169 174
         } catch (AuthenticationException e) {
170
             
175
             System.out.println("Failed to change the password for a user: "+e.getMessage());
171 176
         }
172 177
     }
178
     
179
     /**
180
      * Test the addUserToGroup and removeUserFromGroup methods
181
      * @throws Exception
182
      */
183
     public void testAddRemoveUserToFromGroup() throws Exception{
184
         AuthFile authFile = AuthFile.getInstance(PASSWORDFILEPATH);
185
         try {
186
             authFile.addUserToGroup("user1", GROUPNAME);
187
             assertTrue("Can't reach here since we tried to add an unexisting user to a group", false);
188
         } catch(AuthenticationException e) {
189
             System.out.println("Failed to add a user to a group "+e.getMessage());
190
         }
191
         
192
         try {
193
             authFile.addUserToGroup(USERNAME, "group2");
194
             assertTrue("Can't reach here since we tried to add a user to an unexisting group", false);
195
         } catch(AuthenticationException e) {
196
             System.out.println("Failed to add a user to a group "+e.getMessage());
197
         }
198
         try {
199
             authFile.addUserToGroup(USERNAME, GROUPNAME);
200
             assertTrue("Can't reach here since the user is already in the group", false);
201
         } catch(AuthenticationException e) {
202
             System.out.println("Failed to add a user to a group "+e.getMessage());
203
         }
204
         authFile.addGroup(GROUPNAME2);
205
         authFile.addUserToGroup(USERNAME, GROUPNAME2);
206
         String[][]groups = authFile.getGroups(null, null, USERNAME);
207
         assertTrue("The user "+USERNAME+" should be in the group "+GROUPNAME2, groups[0][0].equals(GROUPNAME2)||groups[1][0].equals(GROUPNAME2));
208
         
209
         
210
         try {
211
             authFile.removeUserFromGroup("user1", GROUPNAME);
212
             assertTrue("Can't reach here since we tried to remove an unexisting user from a group", false);
213
         } catch(AuthenticationException e) {
214
             System.out.println("Failed to remove a user from a group "+e.getMessage());
215
         }
216
         
217
         try {
218
             authFile.removeUserFromGroup(USERNAME, "group2");
219
             assertTrue("Can't reach here since we tried to remove a user from an unexisting group", false);
220
         } catch(AuthenticationException e) {
221
             System.out.println("Failed to remove a user from a group "+e.getMessage());
222
         }
223
         authFile.addGroup(GROUPNAME3);
224
         try {
225
             authFile.removeUserFromGroup(USERNAME, GROUPNAME3);
226
             assertTrue("Can't reach here since the user is not in the group", false);
227
         } catch(AuthenticationException e) {
228
             System.out.println("Failed to remove a user from a group "+e.getMessage());
229
         }
230
         authFile.removeUserFromGroup(USERNAME, GROUPNAME2);
231
         groups = authFile.getGroups(null, null, USERNAME);
232
         assertTrue("The size of groups of the user "+USERNAME+" shouldn be one rather than "+groups.length, groups.length ==1);
233
         assertTrue("The user "+USERNAME+" shouldn't be in the group "+GROUPNAME2, !groups[0][0].equals(GROUPNAME2));
234
         assertTrue("The user "+USERNAME+" should still be in the group "+GROUPNAME, groups[0][0].equals(GROUPNAME));
235
     }
236
     
237
     /**
238
      * Test the getPrincipal
239
      * @throws Exception
240
      */
241
     public void testGetPrincipals() throws Exception {
242
         AuthFile authFile = AuthFile.getInstance(PASSWORDFILEPATH);
243
         System.out.println(""+authFile.getPrincipals(null, null));
244
     }
173 245
}

Also available in: Unified diff