@Override public void assemble( ModuleAssembly module ) throws AssemblyException { module.defaultServices(); module.services( MemoryEntityStoreService.class ); module.services( MyService.class ).instantiateOnStartup(); module.configurations( MyConfig.class ); System.setProperty( "path", "fakepath" ); }
@Override public void assemble( ModuleAssembly module ) { ModuleAssembly storageModule = module.layer().module( "storage" ); module.configurations( ConfigSerializationConfig.class ); module.values( Host.class ); module.services( MyService.class ).identifiedBy( "configtest" ); new EntityTestAssembler().visibleIn( Visibility.layer ).assemble( storageModule ); }
@Override public void assemble( ModuleAssembly module ) { ModuleAssembly storageModule = module.layer().module( "storage" ); module.configurations( ConfigSerializationConfig.class ); module.values( Host.class ); module.services( MyService.class ).identifiedBy( "configtest" ); new EntityTestAssembler().visibleIn( Visibility.layer ).assemble( storageModule ); }
@Override public void assemble( ModuleAssembly module ) { super.assemble( module ); ServiceDeclaration service = module.services( MemcachePoolService.class ).visibleIn( visibility() ); if( hasIdentity() ) { service.identifiedBy( identity() ); } if( hasConfig() ) { configModule().configurations( MemcacheConfiguration.class ).visibleIn( configVisibility() ); } } }
@Test public void givenConstrainedConfigurationWhenCorrectValueExpectNoFailure() throws Exception { SingletonAssembler underTest = new SingletonAssembler( module -> { module.defaultServices(); module.services( MemoryEntityStoreService.class ); module.services( TestService.class ).identifiedBy( "TestService1" ); module.configurations( TestConfiguration.class ); } ); ServiceReference<TestService> service = underTest.module().findService( TestService.class ); service.get().test(); }
@Test( expected = ConstraintViolationException.class ) public void givenConstrainedConfigurationWhenIncorrectValueExpectConstraintViolationFailure() throws Exception { SingletonAssembler underTest = new SingletonAssembler( module -> { module.defaultServices(); module.services( MemoryEntityStoreService.class ); module.services( TestService.class ).identifiedBy( "TestService2" ); module.configurations( TestConfiguration.class ); } ); ServiceReference<TestService> service = underTest.module().findService( TestService.class ); service.get().test(); fail( "Expected failure from constraint violation." ); }
@Override public void assemble( ModuleAssembly module ) throws AssemblyException { ModuleAssembly config = module.layer().module( "config" ); new EntityTestAssembler().assemble( config ); config.configurations( RestServerConfiguration.class ).visibleIn( Visibility.layer ); config.forMixin( RestServerConfiguration.class ).declareDefaults().port().set( ADMIN_PORT ); module.objects( RestTest.class, RestTester.class ); module.entities( PersonEntity.class ); module.services( RestServerComposite.class ).instantiateOnStartup(); new EntityTestAssembler().assemble( module ); }