public RunningServer(WebServer server, RestxSpecRunner runner, RestxSpecRepository repository, UUIDGenerator uuidGenerator, RestxErrors errors, RunningServerSettings settings) { this.server = server; this.runner = runner; this.repository = repository; this.uuidGenerator = uuidGenerator; this.errors = errors; storeLocation = Paths.get(settings.targetTestsRoot()); objectMapper = new ObjectMapper(); objectMapper.registerModule(new JodaModule()); objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); lastResults = loadLastResults(); System.setOut(out); System.setErr(err); Factory.LocalMachines.contextLocal(server.getServerId()).addMachine( new SingletonFactoryMachine<>(0, NamedComponent.of(RunningServer.class, "RunningServer", this))); }
public RunningServer(WebServer server, RestxSpecRunner runner, RestxSpecRepository repository, UUIDGenerator uuidGenerator, RestxErrors errors, RunningServerSettings settings) { this.server = server; this.runner = runner; this.repository = repository; this.uuidGenerator = uuidGenerator; this.errors = errors; storeLocation = Paths.get(settings.targetTestsRoot()); objectMapper = new ObjectMapper(); objectMapper.registerModule(new JodaModule()); objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); lastResults = loadLastResults(); System.setOut(out); System.setErr(err); Factory.LocalMachines.contextLocal(server.getServerId()).addMachine( new SingletonFactoryMachine<>(0, NamedComponent.of(RunningServer.class, "RunningServer", this))); }
localMachines.addMachine(customizerMachine);
@Override public AutoCloseable recordIn(Map<String, Given> givens) { final Tape tape = new Tape(givens); final Factory.Query<Mapper> mapperQuery = Factory.Query.byName(Name.of(Mapper.class, "Mapper")); Factory.LocalMachines.threadLocal().addMachine( new SingleNameFactoryMachine<>(0, new StdMachineEngine<ComponentCustomizerEngine>( Name.of(ComponentCustomizerEngine.class, "JongoCollectionSequenceSupplier"), BoundlessComponentBox.FACTORY) { @Override protected ComponentCustomizerEngine doNewComponent(SatisfiedBOM satisfiedBOM) { final Mapper mapper = satisfiedBOM.getOne(mapperQuery).get().getComponent(); final ObjectIdUpdater objectIdUpdater = mapper.getObjectIdUpdater(); return new SingleComponentClassCustomizerEngine<JongoCollection>(0, JongoCollection.class) { @Override public NamedComponent<JongoCollection> customize(NamedComponent<JongoCollection> namedComponent) { final JongoCollection collection = namedComponent.getComponent(); return new NamedComponent<>(namedComponent.getName(), new SequencingJongoCollection(tape, collection, mapper, objectIdUpdater)); } }; } @Override public BillOfMaterials getBillOfMaterial() { return BillOfMaterials.of(mapperQuery); } })); return tape; }
@Override public AutoCloseable recordIn(Map<String, Given> givens) { final Tape tape = new Tape(givens); final Factory.Query<Mapper> mapperQuery = Factory.Query.byName(Name.of(Mapper.class, "Mapper")); Factory.LocalMachines.threadLocal().addMachine( new SingleNameFactoryMachine<>(0, new StdMachineEngine<ComponentCustomizerEngine>( Name.of(ComponentCustomizerEngine.class, "JongoCollectionSequenceSupplier"), BoundlessComponentBox.FACTORY) { @Override protected ComponentCustomizerEngine doNewComponent(SatisfiedBOM satisfiedBOM) { final Mapper mapper = satisfiedBOM.getOne(mapperQuery).get().getComponent(); final ObjectIdUpdater objectIdUpdater = mapper.getObjectIdUpdater(); return new SingleComponentClassCustomizerEngine<JongoCollection>(0, JongoCollection.class) { @Override public NamedComponent<JongoCollection> customize(NamedComponent<JongoCollection> namedComponent) { final JongoCollection collection = namedComponent.getComponent(); return new NamedComponent<>(namedComponent.getName(), new SequencingJongoCollection(tape, collection, mapper, objectIdUpdater)); } }; } @Override public BillOfMaterials getBillOfMaterial() { return BillOfMaterials.of(mapperQuery); } })); return tape; }
@Override public AutoCloseable recordIn(final Map<String, Given> givens) { final Tape tape = new Tape(givens); Factory.LocalMachines.threadLocal().addMachine( new SingleNameFactoryMachine<>(0, new NoDepsMachineEngine<ComponentCustomizerEngine>( Name.of(ComponentCustomizerEngine.class, "UUIDGeneratorSequenceSupplier"), BoundlessComponentBox.FACTORY) { @Override protected ComponentCustomizerEngine doNewComponent(SatisfiedBOM satisfiedBOM) { return new SingleComponentClassCustomizerEngine<UUIDGenerator>(0, UUIDGenerator.class) { @Override public NamedComponent<UUIDGenerator> customize(final NamedComponent<UUIDGenerator> namedComponent) { return new NamedComponent<>(namedComponent.getName(), new UUIDGenerator() { @Override public String doGenerate() { String uuid = namedComponent.getComponent().doGenerate(); tape.recordGeneratedId(uuid); return uuid; } }); } }; } })); return tape; }
@Override public AutoCloseable recordIn(final Map<String, Given> givens) { final Tape tape = new Tape(givens); Factory.LocalMachines.threadLocal().addMachine( new SingleNameFactoryMachine<>(0, new NoDepsMachineEngine<ComponentCustomizerEngine>( Name.of(ComponentCustomizerEngine.class, "UUIDGeneratorSequenceSupplier"), BoundlessComponentBox.FACTORY) { @Override protected ComponentCustomizerEngine doNewComponent(SatisfiedBOM satisfiedBOM) { return new SingleComponentClassCustomizerEngine<UUIDGenerator>(0, UUIDGenerator.class) { @Override public NamedComponent<UUIDGenerator> customize(final NamedComponent<UUIDGenerator> namedComponent) { return new NamedComponent<>(namedComponent.getName(), new UUIDGenerator() { @Override public String doGenerate() { String uuid = namedComponent.getComponent().doGenerate(); tape.recordGeneratedId(uuid); return uuid; } }); } }; } })); return tape; }
public <T> LocalMachines set(int priority, NamedComponent<T> namedComponent) { addMachine(new SingletonFactoryMachine<>(priority, namedComponent)); return this; } }
@Override public void onSetup(Factory.LocalMachines localMachines) { System.out.println("using db " + uri + "/" + db); localMachines .addMachine(new SingletonFactoryMachine<>( -10, new NamedComponent<>(Name.of(String.class, MongoModule.MONGO_DB_NAME), db))); }