📄 jdbcuserdatabasetest.java
字号:
} } public void testFindByUid() { try { UserProfile profile = m_db.findByUid( "-7739839977499061014" ); assertEquals( "-7739839977499061014", profile.getUid() ); assertEquals( "janne", profile.getLoginName() ); assertEquals( "Janne Jalkanen", profile.getFullname() ); assertEquals( "JanneJalkanen", profile.getWikiName() ); assertEquals( "{SHA}457b08e825da547c3b77fbc1ff906a1d00a7daee", profile.getPassword() ); assertEquals( "janne@ecyrd.com", profile.getEmail() ); assertNotNull( profile.getCreated() ); assertNull( profile.getLastModified() ); } catch( NoSuchPrincipalException e ) { assertTrue( false ); } try { m_db.findByEmail( "foo@bar.org" ); // We should never get here assertTrue( false ); } catch( NoSuchPrincipalException e ) { assertTrue( true ); } } public void testFindByWikiName() { try { UserProfile profile = m_db.findByWikiName( "JanneJalkanen" ); assertEquals( "-7739839977499061014", profile.getUid() ); assertEquals( "janne", profile.getLoginName() ); assertEquals( "Janne Jalkanen", profile.getFullname() ); assertEquals( "JanneJalkanen", profile.getWikiName() ); assertEquals( "{SHA}457b08e825da547c3b77fbc1ff906a1d00a7daee", profile.getPassword() ); assertEquals( "janne@ecyrd.com", profile.getEmail() ); assertNotNull( profile.getCreated() ); assertNull( profile.getLastModified() ); } catch( NoSuchPrincipalException e ) { assertTrue( false ); } try { m_db.findByEmail( "foo" ); // We should never get here assertTrue( false ); } catch( NoSuchPrincipalException e ) { assertTrue( true ); } } public void testFindByLoginName() { try { UserProfile profile = m_db.findByLoginName( "janne" ); assertEquals( "-7739839977499061014", profile.getUid() ); assertEquals( "janne", profile.getLoginName() ); assertEquals( "Janne Jalkanen", profile.getFullname() ); assertEquals( "JanneJalkanen", profile.getWikiName() ); assertEquals( "{SHA}457b08e825da547c3b77fbc1ff906a1d00a7daee", profile.getPassword() ); assertEquals( "janne@ecyrd.com", profile.getEmail() ); assertNotNull( profile.getCreated() ); assertNull( profile.getLastModified() ); } catch( NoSuchPrincipalException e ) { assertTrue( false ); } try { m_db.findByEmail( "FooBar" ); // We should never get here assertTrue( false ); } catch( NoSuchPrincipalException e ) { assertTrue( true ); } } public void testGetWikiName() throws WikiSecurityException { Principal[] principals = m_db.getWikiNames(); assertEquals( 1, principals.length ); } public void testRename() throws Exception { // Try renaming a non-existent profile; it should fail try { m_db.rename( "nonexistentname", "renameduser" ); fail( "Should not have allowed rename..." ); } catch ( NoSuchPrincipalException e ) { // Cool; that's what we expect } // Create new user & verify it saved ok UserProfile profile = m_db.newProfile(); profile.setEmail( "renamed@example.com" ); profile.setFullname( "Renamed User" ); profile.setLoginName( "olduser" ); profile.setPassword( "password" ); m_db.save( profile ); profile = m_db.findByLoginName( "olduser" ); assertNotNull( profile ); // Try renaming to a login name that's already taken; it should fail try { m_db.rename( "olduser", "janne" ); fail( "Should not have allowed rename..." ); } catch ( DuplicateUserException e ) { // Cool; that's what we expect } // Now, rename it to an unused name m_db.rename( "olduser", "renameduser" ); // The old user shouldn't be found try { profile = m_db.findByLoginName( "olduser" ); fail( "Old user was found, but it shouldn't have been." ); } catch ( NoSuchPrincipalException e ) { // Cool, it's gone } // The new profile should be found, and its properties should match the old ones profile = m_db.findByLoginName( "renameduser" ); assertEquals( "renamed@example.com", profile.getEmail() ); assertEquals( "Renamed User", profile.getFullname() ); assertEquals( "renameduser", profile.getLoginName() ); assertTrue( CryptoUtil.verifySaltedPassword( "password".getBytes(), profile.getPassword() ) ); // Delete the user m_db.deleteByLoginName( "renameduser" ); } public void testSave() throws Exception { try { // Overwrite existing user UserProfile profile = m_db.newProfile(); profile.setEmail( "user@example.com" ); profile.setFullname( "Test User" ); profile.setLoginName( "user" ); profile.setPassword( "password" ); m_db.save( profile ); profile = m_db.findByEmail( "user@example.com" ); assertEquals( "user@example.com", profile.getEmail() ); assertEquals( "Test User", profile.getFullname() ); assertEquals( "user", profile.getLoginName() ); assertTrue( CryptoUtil.verifySaltedPassword( "password".getBytes(), profile.getPassword() ) ); assertEquals( "TestUser", profile.getWikiName() ); assertNotNull( profile.getCreated() ); assertNotNull( profile.getLastModified() ); assertNotSame( profile.getCreated(), profile.getLastModified() ); // Create new user profile = m_db.newProfile(); profile.setEmail( "user2@example.com" ); profile.setFullname( "Test User 2" ); profile.setLoginName( "user2" ); profile.setPassword( "password" ); m_db.save( profile ); profile = m_db.findByEmail( "user2@example.com" ); assertEquals( "user2@example.com", profile.getEmail() ); assertEquals( "Test User 2", profile.getFullname() ); assertEquals( "user2", profile.getLoginName() ); assertTrue( CryptoUtil.verifySaltedPassword( "password".getBytes(), profile.getPassword() ) ); assertEquals( "TestUser2", profile.getWikiName() ); assertNotNull( profile.getCreated() ); assertNotNull( profile.getLastModified() ); assertEquals( profile.getCreated(), profile.getLastModified() ); // Make sure we can find it by uid String uid = profile.getUid(); assertNotNull( m_db.findByUid( uid ) ); } catch( NoSuchPrincipalException e ) { assertTrue( false ); } catch( WikiSecurityException e ) { assertTrue( false ); } } public void testValidatePassword() { assertFalse( m_db.validatePassword( "janne", "test" ) ); assertTrue( m_db.validatePassword( "janne", "myP@5sw0rd" ) ); assertTrue( m_db.validatePassword( "user", "password" ) ); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -