Return-Path: X-Original-To: apmail-archiva-commits-archive@www.apache.org Delivered-To: apmail-archiva-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 68EA59C72 for ; Fri, 6 Apr 2012 10:02:41 +0000 (UTC) Received: (qmail 14280 invoked by uid 500); 6 Apr 2012 10:02:41 -0000 Delivered-To: apmail-archiva-commits-archive@archiva.apache.org Received: (qmail 14216 invoked by uid 500); 6 Apr 2012 10:02:40 -0000 Mailing-List: contact commits-help@archiva.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@archiva.apache.org Delivered-To: mailing list commits@archiva.apache.org Received: (qmail 14208 invoked by uid 99); 6 Apr 2012 10:02:40 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 06 Apr 2012 10:02:40 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED,T_FRT_STOCK2 X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 06 Apr 2012 10:02:17 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id AF4ED2388CAA for ; Fri, 6 Apr 2012 10:00:48 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1310268 [42/42] - in /archiva/redback/redback-core/trunk: ./ redback-authentication/ redback-authentication/redback-authentication-api/ redback-authentication/redback-authentication-api/src/ redback-authentication/redback-authentication-ap... Date: Fri, 06 Apr 2012 09:59:32 -0000 To: commits@archiva.apache.org From: olamy@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20120406100048.AF4ED2388CAA@eris.apache.org> Added: archiva/redback/redback-core/trunk/redback-users/redback-users-tests/src/main/java/org/codehaus/plexus/redback/users/provider/test/AbstractUserManagerTestCase.java URL: http://svn.apache.org/viewvc/archiva/redback/redback-core/trunk/redback-users/redback-users-tests/src/main/java/org/codehaus/plexus/redback/users/provider/test/AbstractUserManagerTestCase.java?rev=1310268&view=auto ============================================================================== --- archiva/redback/redback-core/trunk/redback-users/redback-users-tests/src/main/java/org/codehaus/plexus/redback/users/provider/test/AbstractUserManagerTestCase.java (added) +++ archiva/redback/redback-core/trunk/redback-users/redback-users-tests/src/main/java/org/codehaus/plexus/redback/users/provider/test/AbstractUserManagerTestCase.java Fri Apr 6 09:58:14 2012 @@ -0,0 +1,609 @@ +package org.codehaus.plexus.redback.users.provider.test; + +/* + * Copyright 2001-2006 The Codehaus. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import junit.framework.TestCase; +import org.codehaus.plexus.redback.policy.UserSecurityPolicy; +import org.codehaus.plexus.redback.users.PermanentUserException; +import org.codehaus.plexus.redback.users.User; +import org.codehaus.plexus.redback.users.UserManager; +import org.codehaus.plexus.redback.users.UserNotFoundException; +import org.codehaus.plexus.redback.users.UserQuery; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import javax.inject.Inject; +import java.util.List; + +/** + * AbstractUserManagerTestCase + * + * @author Joakim Erdfelt + * @version $Id$ + */ +@RunWith( SpringJUnit4ClassRunner.class ) +@ContextConfiguration( locations = {"classpath*:/META-INF/spring-context.xml","classpath*:/spring-context.xml"} ) +public class AbstractUserManagerTestCase + extends TestCase +{ + /** + * This value is set by the sub classes of this test case. + * They should override .setUp() and inject this value via + * the {@link #setUserManager(UserManager)} method call. + */ + private UserManager userManager; + + @Inject + private UserSecurityPolicy securityPolicy; + + private UserManagerEventTracker eventTracker; + + public UserManager getUserManager() + { + return userManager; + } + + public void setUserManager( UserManager um ) + { + this.userManager = um; + if ( this.userManager != null ) + { + this.eventTracker = new UserManagerEventTracker(); + this.userManager.addUserManagerListener( this.eventTracker ); + } + } + + public void setUp() + throws Exception + { + super.setUp(); + } + + public void tearDown() + throws Exception + { + super.tearDown(); + } + + protected void assertCleanUserManager() + { + + getUserManager().eraseDatabase(); + getEventTracker().userManagerInit( true ); + assertNotNull( getUserManager() ); + + assertEquals( "New UserManager should contain no users. " + userManager.getUsers(), 0, userManager.getUsers().size() ); + } + + @Test + public void testFindUserByNullPrincipal() + { + try + { + Object obj = null; + getUserManager().findUser( obj ); + fail( "findUser() with null Object Should have thrown a UserNotFoundException." ); + } + catch ( UserNotFoundException e ) + { + // Expected Path. + } + } + + @Test + public void testFindUserByEmptyUsername() + { + try + { + String username = null; + getUserManager().findUser( username ); + fail( "findUser() with null username Should have thrown a UserNotFoundException." ); + } + catch ( UserNotFoundException e ) + { + // Expected Path. + } + + try + { + String username = ""; + getUserManager().findUser( username ); + fail( "findUser() with empty username Should have thrown a UserNotFoundException." ); + } + catch ( UserNotFoundException e ) + { + // Expected Path. + } + + try + { + String username = " "; + getUserManager().findUser( username ); + fail( "findUser() with all whitespace username Should have thrown a UserNotFoundException." ); + } + catch ( UserNotFoundException e ) + { + // Expected Path. + } + } + + @Test + public void testAddFindUserByPrincipal() + throws UserNotFoundException + { + assertCleanUserManager(); + securityPolicy.setEnabled( false ); + + User smcqueen = getUserManager().createUser( "smcqueen", "Steve McQueen", "the cooler king" ); + + /* Keep a reference to the object that was added. + * Since it has the actual principal that was managed by jpox/jdo. + */ + User added = userManager.addUser( smcqueen ); + + assertEquals( 1, userManager.getUsers().size() ); + + /* Fetch user from userManager using principal returned earlier */ + User actual = userManager.findUser( added.getPrincipal() ); + assertEquals( added, actual ); + + /* Check into the event tracker. */ + assertEquals( 1, getEventTracker().countInit ); + assertNotNull( getEventTracker().lastDbFreshness ); + assertTrue( getEventTracker().lastDbFreshness.booleanValue() ); + + assertEquals( 1, getEventTracker().addedUsernames.size() ); + assertEquals( 0, getEventTracker().removedUsernames.size() ); + assertEquals( 0, getEventTracker().updatedUsernames.size() ); + } + + @Test + public void testAddFindUserLockedStatus() throws UserNotFoundException { + assertCleanUserManager(); + securityPolicy.setEnabled(false); + + User smcqueen = getUserManager().createUser("smcqueen", "Steve McQueen", "the cooler king"); + + smcqueen.setLocked( true ); + + /* + * Keep a reference to the object that was added. Since it has the + * actual principal that was managed by jpox/jdo. + */ + User added = userManager.addUser( smcqueen ); + + assertTrue( added.isLocked() ); + + assertEquals(1, userManager.getUsers().size()); + + /* Fetch user from userManager using principal returned earlier */ + User actual = userManager.findUser(added.getPrincipal()); + assertEquals(added, actual); + + assertTrue( actual.isLocked() ); + + /* Check into the event tracker. */ + assertEquals(1, getEventTracker().countInit); + assertNotNull(getEventTracker().lastDbFreshness); + assertTrue(getEventTracker().lastDbFreshness.booleanValue()); + + assertEquals(1, getEventTracker().addedUsernames.size()); + assertEquals(0, getEventTracker().removedUsernames.size()); + assertEquals(0, getEventTracker().updatedUsernames.size()); + } + + @Test + public void testAddFindUserByUsername() + throws UserNotFoundException + { + assertCleanUserManager(); + securityPolicy.setEnabled( false ); + + User smcqueen = getUserManager().createUser( "smcqueen", "Steve McQueen", "the cooler king" ); + + User added = userManager.addUser( smcqueen ); + + assertEquals( 1, userManager.getUsers().size() ); + + User actual = userManager.findUser( "smcqueen" ); + assertEquals( added, actual ); + + /* Check into the event tracker. */ + assertEquals( 1, getEventTracker().countInit ); + assertNotNull( getEventTracker().lastDbFreshness ); + assertTrue( getEventTracker().lastDbFreshness.booleanValue() ); + + assertEquals( 1, getEventTracker().addedUsernames.size() ); + assertEquals( 0, getEventTracker().removedUsernames.size() ); + assertEquals( 0, getEventTracker().updatedUsernames.size() ); + } + + @Test + public void testCreateUser() + throws Exception + { + assertCleanUserManager(); + securityPolicy.setEnabled( false ); + + UserManager um = getUserManager(); + User user = um.createUser( "admin", "Administrator", "admin@somedomain.com" ); + user.setPassword( "adminpass" ); + um.addUser( user ); + + assertEquals( 1, um.getUsers().size() ); + + /* Check into the event tracker. */ + assertEquals( 1, getEventTracker().countInit ); + assertNotNull( getEventTracker().lastDbFreshness ); + assertTrue( getEventTracker().lastDbFreshness.booleanValue() ); + + assertEquals( 1, getEventTracker().addedUsernames.size() ); + assertEquals( 0, getEventTracker().removedUsernames.size() ); + assertEquals( 0, getEventTracker().updatedUsernames.size() ); + } + + @Test + public void testAddUser() + throws Exception + { + assertCleanUserManager(); + securityPolicy.setEnabled( false ); + + UserManager um = getUserManager(); + assertNotNull( um.getUsers() ); + assertEquals( 0, um.getUsers().size() ); + + User user = um.createUser( "tommy123", "Tommy Traddles", "tommy.traddles@somedomain.com" ); + user.setPassword( "hillybilly" ); + um.addUser( user ); + + assertNotNull( um.getUsers() ); + assertEquals( 1, um.getUsers().size() ); + + /* Check into the event tracker. */ + assertEquals( 1, getEventTracker().countInit ); + assertNotNull( getEventTracker().lastDbFreshness ); + assertTrue( getEventTracker().lastDbFreshness.booleanValue() ); + + assertEquals( 1, getEventTracker().addedUsernames.size() ); + assertEquals( 0, getEventTracker().removedUsernames.size() ); + assertEquals( 0, getEventTracker().updatedUsernames.size() ); + } + + @Test + public void testDeleteUser() + throws Exception + { + assertCleanUserManager(); + securityPolicy.setEnabled( false ); + + UserManager um = getUserManager(); + User user = um.createUser( "admin", "Administrator", "admin@somedomain.com" ); + user.setPassword( "adminpass" ); + um.addUser( user ); + + assertEquals( 1, um.getUsers().size() ); + + um.deleteUser( user.getPrincipal() ); + assertEquals( 0, um.getUsers().size() ); + + // attempt finding a non-existent user + try + { + um.findUser( "admin" ); + fail( "Expected UserNotFoundException!" ); + } + catch ( UserNotFoundException e ) + { + // do nothing, expected! + } + + /* Check into the event tracker. */ + assertEquals( 1, getEventTracker().countInit ); + assertNotNull( getEventTracker().lastDbFreshness ); + assertTrue( getEventTracker().lastDbFreshness.booleanValue() ); + + assertEquals( 1, getEventTracker().addedUsernames.size() ); + assertEquals( 1, getEventTracker().removedUsernames.size() ); + assertEquals( 0, getEventTracker().updatedUsernames.size() ); + } + + @Test + public void testFindUser() + throws Exception + { + assertCleanUserManager(); + securityPolicy.setEnabled( false ); + + UserManager um = getUserManager(); + + // create and add a few users + User u1 = um.createUser( "admin", "Administrator", "admin@somedomain.com" ); + u1.setPassword( "adminpass" ); + um.addUser( u1 ); + + u1 = um.createUser( "administrator", "Administrator User", "administrator@somedomain.com" ); + u1.setPassword( "password" ); + um.addUser( u1 ); + + u1 = um.createUser( "root", "Root User", "root@somedomain.com" ); + u1.setPassword( "rootpass" ); + um.addUser( u1 ); + + assertEquals( 3, um.getUsers().size() ); + + // find an existing user + User user = um.findUser( "root" ); + assertNotNull( user ); + assertEquals( "root@somedomain.com", user.getEmail() ); + assertEquals( "root", user.getPrincipal() ); + assertEquals( "Root User", user.getFullName() ); + // test if the plain string password is encoded and NULL'ified + assertNull( user.getPassword() ); + // test if encoded password was as expected + assertTrue( securityPolicy.getPasswordEncoder().isPasswordValid( user.getEncodedPassword(), "rootpass" ) ); + + // attempt finding a non-existent user + try + { + um.findUser( "non-existent" ); + fail( "Expected UserNotFoundException!" ); + } + catch ( UserNotFoundException e ) + { + // do nothing, expected! + } + + /* Check into the event tracker. */ + assertEquals( 1, getEventTracker().countInit ); + assertNotNull( getEventTracker().lastDbFreshness ); + assertTrue( getEventTracker().lastDbFreshness.booleanValue() ); + + assertEquals( 3, getEventTracker().addedUsernames.size() ); + assertEquals( 0, getEventTracker().removedUsernames.size() ); + assertEquals( 0, getEventTracker().updatedUsernames.size() ); + } + + @Test + public void testFindUsersByQuery() + { + assertCleanUserManager(); + securityPolicy.setEnabled( false ); + + UserManager um = getUserManager(); + + // create and add a few users + User u1 = um.createUser( "admin", "Administrator", "admin@somedomain.com" ); + u1.setPassword( "adminpass" ); + um.addUser( u1 ); + + u1 = um.createUser( "administrator", "Administrator User", "administrator@somedomain.com" ); + u1.setPassword( "password" ); + um.addUser( u1 ); + + u1 = um.createUser( "root", "Root User", "root@somedomain.com" ); + u1.setPassword( "rootpass" ); + um.addUser( u1 ); + + assertEquals( 3, um.getUsers().size() ); + + // Query by username + UserQuery query = um.createUserQuery(); + query.setUsername( "Admin" ); + assertEquals( 2, um.findUsersByQuery( query ).size() ); + + // Query by full name + query = um.createUserQuery(); + query.setFullName( "Admin" ); + assertEquals( 2, um.findUsersByQuery( query ).size() ); + + query = um.createUserQuery(); + query.setFullName( "Administrator" ); + assertEquals( 2, um.findUsersByQuery( query ).size() ); + + query = um.createUserQuery(); + query.setFullName( "r User" ); + assertEquals( 1, um.findUsersByQuery( query ).size() ); + + // Query by user name + query = um.createUserQuery(); + query.setEmail( "somedomain" ); + assertEquals( 3, um.findUsersByQuery( query ).size() ); + + // Query by email + query = um.createUserQuery(); + query.setEmail( "root@" ); + assertEquals( 1, um.findUsersByQuery( query ).size() ); + + // Query by illegal property + query = um.createUserQuery(); + try + { + query.setOrderBy( "unknownString" ); + fail( "Expected IllegalArgumentException" ); + } + catch ( IllegalArgumentException e ) + { + + } + + // Query with default ordering ascending + query = um.createUserQuery(); + query.setOrderBy( UserQuery.ORDER_BY_EMAIL ); + List users = um.findUsersByQuery( query ); + assertEquals( 3, users.size() ); + assertEquals( "admin@somedomain.com", ( (User) users.get( 0 ) ).getEmail() ); + + // Query with ordering ascending + query = um.createUserQuery(); + query.setOrderBy( UserQuery.ORDER_BY_EMAIL ); + query.setAscending( false ); + users = um.findUsersByQuery( query ); + assertEquals( 3, users.size() ); + assertEquals( "root@somedomain.com", ( (User) users.get( 0 ) ).getEmail() ); + + // Query with ordering descending, max 2 results + query = um.createUserQuery(); + query.setOrderBy( UserQuery.ORDER_BY_EMAIL ); + query.setAscending( false ); + query.setMaxResults( 2 ); + users = um.findUsersByQuery( query ); + assertEquals( 2, users.size() ); + assertEquals( "root@somedomain.com", ( (User) users.get( 0 ) ).getEmail() ); + + // Query with ordering ascending, max 2 results, first result = 2 so only one result + query = um.createUserQuery(); + query.setOrderBy( UserQuery.ORDER_BY_EMAIL ); + query.setAscending( false ); + query.setMaxResults( 2 ); + query.setFirstResult( 2 ); + users = um.findUsersByQuery( query ); + assertEquals( 1, users.size() ); + assertEquals( "admin@somedomain.com", ( (User) users.get( 0 ) ).getEmail() ); + + // Query on more than one field + query = um.createUserQuery(); + query.setOrderBy( UserQuery.ORDER_BY_EMAIL ); + query.setFullName( "admin" ); + query.setEmail( "admin@" ); + users = um.findUsersByQuery( query ); + assertEquals( 1, users.size() ); + assertEquals( "admin@somedomain.com", ( (User) users.get( 0 ) ).getEmail() ); + } + + @Test + public void testUserExists() + throws Exception + { + assertCleanUserManager(); + securityPolicy.setEnabled( false ); + + UserManager um = getUserManager(); + + // create and add a few users + User u1 = um.createUser( "admin", "Administrator", "admin@somedomain.com" ); + u1.setPassword( "adminpass" ); + um.addUser( u1 ); + + assertTrue( um.userExists( "admin" ) ); + assertFalse( um.userExists( "voodoohatrack" ) ); + + /* Check into the event tracker. */ + assertEquals( 1, getEventTracker().countInit ); + assertNotNull( getEventTracker().lastDbFreshness ); + assertTrue( getEventTracker().lastDbFreshness.booleanValue() ); + + assertEquals( 1, getEventTracker().addedUsernames.size() ); + assertEquals( 0, getEventTracker().removedUsernames.size() ); + assertEquals( 0, getEventTracker().updatedUsernames.size() ); + } + + @Test + public void testUpdateUser() + throws Exception + { + assertCleanUserManager(); + securityPolicy.setEnabled( false ); + + UserManager um = getUserManager(); + + // create and add a user + User u1 = um.createUser( "root", "Root User", "root@somedomain.com" ); + u1.setPassword( "rootpass" ); + u1 = um.addUser( u1 ); + + // find user + User user = um.findUser( "root" ); + assertNotNull( user ); + assertEquals( u1, user ); + + user.setEmail( "superuser@somedomain.com" ); + user.setPassword( "superpass" ); + user.setFullName( "Super User" ); + + um.updateUser( user ); + + // find updated user + user = um.findUser( "root" ); + assertNotNull( user ); + assertEquals( "superuser@somedomain.com", user.getEmail() ); + assertEquals( "Super User", user.getFullName() ); + assertTrue( securityPolicy.getPasswordEncoder().isPasswordValid( user.getEncodedPassword(), "superpass" ) ); + + /* Check into the event tracker. */ + assertEquals( 1, getEventTracker().countInit ); + assertNotNull( getEventTracker().lastDbFreshness ); + assertTrue( getEventTracker().lastDbFreshness.booleanValue() ); + + assertEquals( 1, getEventTracker().addedUsernames.size() ); + assertEquals( 0, getEventTracker().removedUsernames.size() ); + assertEquals( 1, getEventTracker().updatedUsernames.size() ); + } + + @Test + public void testDeletePermanentUser() + throws UserNotFoundException + { + assertCleanUserManager(); + securityPolicy.setEnabled( false ); + + UserManager um = getUserManager(); + User user = um.createUser( "admin", "Administrator", "admin@somedomain.com" ); + user.setPassword( "adminpass" ); + user.setPermanent( true ); + user = um.addUser( user ); + + assertEquals( 1, um.getUsers().size() ); + + try + { + um.deleteUser( user.getPrincipal() ); + fail("Deleting permanent user shold throw PermanentUserException."); + } catch( PermanentUserException e ) + { + // do nothing, expected route. + } + + assertEquals( 1, um.getUsers().size() ); + + // attempt to finding user + User admin = um.findUser( "admin" ); + assertNotNull( admin ); + assertEquals( user.getEmail(), admin.getEmail() ); + assertEquals( user.getFullName(), admin.getFullName() ); + + /* Check into the event tracker. */ + assertEquals( 1, getEventTracker().countInit ); + assertNotNull( getEventTracker().lastDbFreshness ); + assertTrue( getEventTracker().lastDbFreshness.booleanValue() ); + + assertEquals( 1, getEventTracker().addedUsernames.size() ); + assertEquals( 0, getEventTracker().removedUsernames.size() ); + assertEquals( 0, getEventTracker().updatedUsernames.size() ); } + + public UserManagerEventTracker getEventTracker() + { + return eventTracker; + } + + public void setEventTracker( UserManagerEventTracker eventTracker ) + { + this.eventTracker = eventTracker; + } +} Propchange: archiva/redback/redback-core/trunk/redback-users/redback-users-tests/src/main/java/org/codehaus/plexus/redback/users/provider/test/AbstractUserManagerTestCase.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: archiva/redback/redback-core/trunk/redback-users/redback-users-tests/src/main/java/org/codehaus/plexus/redback/users/provider/test/AbstractUserManagerTestCase.java ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Added: archiva/redback/redback-core/trunk/redback-users/redback-users-tests/src/main/java/org/codehaus/plexus/redback/users/provider/test/UserManagerEventTracker.java URL: http://svn.apache.org/viewvc/archiva/redback/redback-core/trunk/redback-users/redback-users-tests/src/main/java/org/codehaus/plexus/redback/users/provider/test/UserManagerEventTracker.java?rev=1310268&view=auto ============================================================================== --- archiva/redback/redback-core/trunk/redback-users/redback-users-tests/src/main/java/org/codehaus/plexus/redback/users/provider/test/UserManagerEventTracker.java (added) +++ archiva/redback/redback-core/trunk/redback-users/redback-users-tests/src/main/java/org/codehaus/plexus/redback/users/provider/test/UserManagerEventTracker.java Fri Apr 6 09:58:14 2012 @@ -0,0 +1,72 @@ +package org.codehaus.plexus.redback.users.provider.test; + +/* + * Copyright 2001-2006 The Codehaus. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import org.codehaus.plexus.redback.users.User; +import org.codehaus.plexus.redback.users.UserManagerListener; + +import java.util.ArrayList; +import java.util.List; + +/** + * UserManagerEventTracker + * + * @author Joakim Erdfelt + * @version $Id$ + */ +public class UserManagerEventTracker + implements UserManagerListener +{ + public long countInit = 0; + + public Boolean lastDbFreshness; + + public List addedUsernames = new ArrayList(); + + public List removedUsernames = new ArrayList(); + + public List updatedUsernames = new ArrayList(); + + public void userManagerInit( boolean freshDatabase ) + { + countInit++; + lastDbFreshness = Boolean.valueOf( freshDatabase ); + } + + private void addUniqueUsername( List list, User user ) + { + if ( !list.contains( user.getUsername() ) ) + { + list.add( user.getUsername() ); + } + } + + public void userManagerUserAdded( User user ) + { + addUniqueUsername( addedUsernames, user ); + } + + public void userManagerUserRemoved( User user ) + { + addUniqueUsername( removedUsernames, user ); + } + + public void userManagerUserUpdated( User user ) + { + addUniqueUsername( updatedUsernames, user ); + } +} Propchange: archiva/redback/redback-core/trunk/redback-users/redback-users-tests/src/main/java/org/codehaus/plexus/redback/users/provider/test/UserManagerEventTracker.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: archiva/redback/redback-core/trunk/redback-users/redback-users-tests/src/main/java/org/codehaus/plexus/redback/users/provider/test/UserManagerEventTracker.java ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Added: archiva/redback/redback-core/trunk/src/site/site.xml URL: http://svn.apache.org/viewvc/archiva/redback/redback-core/trunk/src/site/site.xml?rev=1310268&view=auto ============================================================================== --- archiva/redback/redback-core/trunk/src/site/site.xml (added) +++ archiva/redback/redback-core/trunk/src/site/site.xml Fri Apr 6 09:58:14 2012 @@ -0,0 +1,53 @@ + + + + + + + Redback + http://redback.codehaus.org + + + + org.apache.maven.skins + maven-fluido-skin + 1.1 + + + + + + + + + + + + + + + + + Propchange: archiva/redback/redback-core/trunk/src/site/site.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: archiva/redback/redback-core/trunk/src/site/site.xml ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision