/** * {@inheritDoc} */ @Override public void initialize(WriteSession session) throws ApplicationInitializationException { LOGGER.info("Initializing application: {}",session); ResourceSnapshot person = session.find(ResourceSnapshot.class,this.personResourceName,PersonHandler.class); LOGGER.info("Root resource.......: "+person); LOGGER.info("Root basic container: "+session.find(ResourceSnapshot.class,this.personContainerName,PersonContainerHandler.class)); ContainerSnapshot relativesContainer = person.createAttachedResource(ContainerSnapshot.class, PersonHandler.RELATIVES_ID, this.relativeContainerResourceName, RelativeContainerHandler.class); LOGGER.info("Attached resource...: "+relativesContainer); try { session.saveChanges(); } catch (WriteSessionException e) { throw new ApplicationInitializationException("Could not initialize application",e); } this.executorService. scheduleAtFixedRate( new DynamicResourceUpdater(this.dynamicResourceHandler,this.dynamicResourceName), 1, 15,TimeUnit.SECONDS); this.executorService. schedule( new DynamicResourceResolver(this.dynamicResourceHandler,this.dynamicResourceName), 3,TimeUnit.SECONDS); LOGGER.info("Initialization completed."); }
@Test public void testRun$failure$nullWriteSession(@Mocked final WriteSession session, @Mocked final ResourceSnapshot snapshot) throws Exception { DynamicResourceHandler handler = new DynamicResourceHandler(); DynamicResourceResolver sut = nullWriteSessionSut(handler,session,snapshot); sut.run(); verifyResult(snapshot,handler,false,false,null); }
addValue( SNAPSHOT_RESOLUTION, Literals.newLiteral(roundtrip(snapshotResolver,snapshotEndpoint,snapshot)));
@Test public void testRun$failure$runtimeException(@Mocked final WriteSession session, @Mocked final ResourceSnapshot snapshot) throws Exception { DynamicResourceHandler handler = new DynamicResourceHandler(); DynamicResourceResolver sut = runtimeFailureSut(handler,session,snapshot); sut.run(); verifyResult(snapshot,handler,false,false,null); }
@Test public void testRun$failure$writeSessionException(@Mocked final WriteSession session, @Mocked final ResourceSnapshot snapshot) throws Exception { DynamicResourceHandler handler = new DynamicResourceHandler(); DynamicResourceResolver sut = writeSessionFailureSut(handler,session,snapshot); sut.run(); verifyResult(snapshot,handler,true,true, "OK"); }
private DynamicResourceResolver createSut(DynamicResourceHandler handler) { DataSet dataSet = DataSets.createDataSet(RID); dataSet.individual(ManagedIndividualId.createId(RID, DynamicResourceHandler.ID), ManagedIndividual.class); handler.add(RID,dataSet); return new DynamicResourceResolver(handler, RID); } }
@Test public void testRun(@Mocked final WriteSession session, @Mocked final ResourceSnapshot snapshot) throws Exception { DynamicResourceHandler handler = new DynamicResourceHandler(); DynamicResourceResolver sut = workingSut(handler,session,snapshot); sut.run(); verifyResult(snapshot,handler,true,true, "OK"); }
@Test public void testRun$roundtripFailure$noSnapshotFound(@Mocked final WriteSession session, @Mocked final ResourceSnapshot snapshot) throws Exception { DynamicResourceHandler handler = new DynamicResourceHandler(); DynamicResourceResolver sut = roundtripFailureSut(handler,session,snapshot,null); sut.run(); verifyResult(snapshot,handler,true,true,"KO"); }
@Test public void testRun$failure$writeSessionCreationException(@Mocked final WriteSession session, @Mocked final ResourceSnapshot snapshot) throws Exception { DynamicResourceHandler handler = new DynamicResourceHandler(); DynamicResourceResolver sut = writeSessionCreationFailureSut(handler,session,snapshot); sut.run(); verifyResult(snapshot,handler,false,false,null); }
@Test public void testRun$failure$writeSessionTerminationFailure(@Mocked final WriteSession session, @Mocked final ResourceSnapshot snapshot) throws Exception { DynamicResourceHandler handler = new DynamicResourceHandler(); DynamicResourceResolver sut = writeSessionTerminationSut(handler,session,snapshot); sut.run(); verifyResult(snapshot,handler,true,true,"OK"); }
@Test public void testRun$failure$writeSessionAndTerminationFailure(@Mocked final WriteSession session, @Mocked final ResourceSnapshot snapshot) throws Exception { DynamicResourceHandler handler = new DynamicResourceHandler(); DynamicResourceResolver sut = writeSessionFailureWithTerminationFailureSut(handler,session,snapshot); sut.run(); verifyResult(snapshot,handler,true,true,"OK"); }
@Test public void testRun$roundtripFailure$differentHandler(@Mocked final WriteSession session, @Mocked final ResourceSnapshot snapshot,@Mocked final ResourceSnapshot resolved) throws Exception { DynamicResourceHandler handler = new DynamicResourceHandler(); DynamicResourceResolver sut = roundtripFailureSut(handler,session,snapshot,resolved); new Expectations() {{ resolved.name();result=RID; resolved.handlerClass();result=PersonHandler.class; }}; sut.run(); verifyResult(snapshot,handler,true,true,"KO"); }
@Test public void testRun$roundtripFailure$differentName(@Mocked final WriteSession session, @Mocked final ResourceSnapshot snapshot,@Mocked final ResourceSnapshot resolved) throws Exception { DynamicResourceHandler handler = new DynamicResourceHandler(); DynamicResourceResolver sut = roundtripFailureSut(handler,session,snapshot,resolved); new Expectations() {{ resolved.name();result=NamingScheme.getDefault().name("other"); }}; sut.run(); verifyResult(snapshot,handler,true,true,"KO"); }