@Test public void hasSameContextAfterDeserialization() throws Exception { SessionManagerImpl managerRead = serializeAndDeserializeSessionManager(); assertThat(managerRead.getContext()).isNotNull(); assertThat(managerRead.getContext()).isEqualTo(sessionManager.getContext()); }
@Test public void isClosedAfterDeserializationWhenItWasClosedBefore() throws Exception { sessionManager.close(); SessionManagerImpl managerRead = serializeAndDeserializeSessionManager(); assertThat(managerRead.isClosed()).isTrue(); }
@Test public void hasConfiguredAndStandardValuesWhenCreated() throws Exception { assertThat(sessionManager.getContext()).isInstanceOf(DummyContext.class); assertThat(sessionManager.getConfig().getName()).isEqualTo("name"); assertThat(sessionManager.getConverterCache()).isNotNull(); assertThat(sessionManager.getBapiMappings()).isNotNull(); assertThat(sessionManager.getExecutionInterceptors()).isNotNull(); }
@Test public void hasSameExecutionInterceptorsAfterDeserialization() throws Exception { SessionManagerImpl managerRead = serializeAndDeserializeSessionManager(); final Set<ExecutionInterceptor> executionInterceptors = managerRead.getExecutionInterceptors(); assertThat(executionInterceptors).isNotNull(); assertThat(executionInterceptors).hasSize(1); assertThat(executionInterceptors.iterator().next()).isInstanceOf(SapErrorInterceptor.class); }
@Test public void hasSameBapiInterceptorsAfterDeserialization() throws Exception { SessionManagerImpl managerRead = serializeAndDeserializeSessionManager(); final Set<BapiInterceptor> bapiInterceptors = managerRead.getBapiInterceptors(); assertThat(bapiInterceptors).isNotNull(); assertThat(bapiInterceptors).hasSize(1); assertThat(bapiInterceptors.iterator().next()).isInstanceOf(BeanValidationInterceptor.class); }
private SessionManagerImpl serializeAndDeserializeSessionManager() throws IOException, ClassNotFoundException { // Converter gets created lazily on first access if (!sessionManager.isClosed()) { sessionManager.getConverterCache().getConverter(BooleanConverter.class); } ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream out = new ObjectOutputStream(baos); out.writeObject(sessionManager); out.close(); ByteArrayInputStream bain = new ByteArrayInputStream(baos.toByteArray()); ObjectInputStream in = new ObjectInputStream(bain); SessionManagerImpl managerRead = (SessionManagerImpl) in.readObject(); in.close(); return managerRead; }
@Test public void hasConverterCacheAfterDeserialization() throws Exception { SessionManagerImpl managerRead = serializeAndDeserializeSessionManager(); assertThat(managerRead.getConverterCache()).isNotNull(); }