DoctypeFixture *addDocType(const std::string &name, bool isGlobal = false) { DocumenttypesConfigBuilder::Documenttype dt; dt.bodystruct = -1270491200; dt.headerstruct = 306916075; dt.id = idcounter--; dt.name = name; dt.version = 0; documenttypesBuilder.documenttype.push_back(dt); ProtonConfigBuilder::Documentdb db; db.inputdoctypename = name; db.configid = configId + "/" + name; db.global = isGlobal; protonBuilder.documentdb.push_back(db); DoctypeFixture::UP fixture = std::make_unique<DoctypeFixture>(); set.addBuilder(db.configid, &fixture->attributesBuilder); set.addBuilder(db.configid, &fixture->rankProfilesBuilder); set.addBuilder(db.configid, &fixture->rankingConstantsBuilder); set.addBuilder(db.configid, &fixture->indexschemaBuilder); set.addBuilder(db.configid, &fixture->summaryBuilder); set.addBuilder(db.configid, &fixture->summarymapBuilder); set.addBuilder(db.configid, &fixture->juniperrcBuilder); set.addBuilder(db.configid, &fixture->importedFieldsBuilder); return dbConfig.emplace(std::make_pair(name, std::move(fixture))).first->second.get(); }
ConfigTestFixture(const std::string & id) : configId(id), protonBuilder(), documenttypesBuilder(), filedistBuilder(), bucketspacesBuilder(), dbConfig(), set(), context(new ConfigContext(set)), idcounter(-1) { set.addBuilder(configId, &protonBuilder); set.addBuilder(configId, &documenttypesBuilder); set.addBuilder(configId, &filedistBuilder); set.addBuilder(configId, &bucketspacesBuilder); addDocType("_alwaysthere_"); }