private static Principal deserializePrincipal( final byte[] data, final SessionManager manager ) { ByteArrayInputStream bis = null; ObjectInputStream ois = null; try { bis = new ByteArrayInputStream( data ); ois = new ObjectInputStream( bis ); return manager.readPrincipal( ois ); } catch ( final IOException e ) { throw new IllegalArgumentException( "Could not deserialize principal", e ); } catch ( final ClassNotFoundException e ) { throw new IllegalArgumentException( "Could not deserialize principal", e ); } finally { closeSilently( bis ); closeSilently( ois ); } }
@BeforeMethod public void setup() throws LifecycleException, ClassNotFoundException, IOException { _manager = mock( SessionManager.class ); final Context context = new StandardContext(); when( _manager.getContext() ).thenReturn( context ); // needed for createSession // Manager.getContainer no longer available in tc 8.5+ if(_managerHasGetContainer) { when( _manager.getContainer() ).thenReturn( context ); } when( _manager.newMemcachedBackupSession() ).thenAnswer(new Answer<MemcachedBackupSession>() { @Override public MemcachedBackupSession answer(final InvocationOnMock invocation) throws Throwable { return newMemcachedBackupSession( _manager ); } }); final MemcachedSessionService service = new DummyMemcachedSessionService<SessionManager>( _manager ); when( _manager.createSession( anyString() ) ).thenAnswer(new Answer<MemcachedBackupSession>() { @Override public MemcachedBackupSession answer(final InvocationOnMock invocation) throws Throwable { return createSession(service); } }); when( _manager.readPrincipal( (ObjectInputStream)any() ) ).thenReturn( createPrincipal() ); when( _manager.getMemcachedSessionService() ).thenReturn( service ); when( _manager.willAttributeDistribute(anyString(), any())).thenReturn(true); }
private static Principal deserializePrincipal( final byte[] data, final SessionManager manager ) { ByteArrayInputStream bis = null; ObjectInputStream ois = null; try { bis = new ByteArrayInputStream( data ); ois = new ObjectInputStream( bis ); return manager.readPrincipal( ois ); } catch ( final IOException e ) { throw new IllegalArgumentException( "Could not deserialize principal", e ); } catch ( final ClassNotFoundException e ) { throw new IllegalArgumentException( "Could not deserialize principal", e ); } finally { closeSilently( bis ); closeSilently( ois ); } }