def testParseConfig(self): schema_xml = getData('schema.xml') schema = SolrSchema(schema_xml.split('\n\n', 1)[1]) self.assertEqual(len(schema), 21) # 21 items defined in schema.xml self.assertEqual(schema['defaultSearchField'], 'text') self.assertEqual(schema['uniqueKey'], 'id') self.assertEqual(schema['solrQueryParser'].defaultOperator, 'OR') self.assertEqual(schema['requiredFields'], ['id', 'name']) self.assertEqual(schema['id'].type, 'string') self.assertEqual(schema['id'].class_, 'solr.StrField') self.assertEqual(schema['id'].required, True) self.assertEqual(schema['id'].omitNorms, True) self.assertEqual(schema['id'].multiValued, False) self.assertEqual(schema['cat'].class_, 'solr.TextField') self.assertEqual(schema['cat'].required, False) self.assertEqual(schema['cat'].multiValued, True) self.assertEqual(schema['cat'].termVectors, True) self.assertEqual(schema['sku'].positionIncrementGap, '100') self.assertEqual(schema.features.multiValued, True) self.assertEqual(schema.weight.class_, 'solr.SortableFloatField') self.assertEqual(schema.popularity.class_, 'solr.SortableIntField') self.assertEqual(schema.inStock.class_, 'solr.BoolField') self.assertEqual(schema.timestamp.class_, 'solr.DateField') self.assertEqual(schema.timestamp.default, 'NOW') self.assertEqual(schema.timestamp.multiValued, False) self.assertEqual(schema.timestamp.indexed, True) self.assertEqual(schema.word.indexed, False) fields = schema.values() self.assertEqual(len([f for f in fields if getattr(f, 'required', False)]), 2) self.assertEqual(len([f for f in fields if getattr(f, 'multiValued', False)]), 3)
def testParseConfig(self): schema_xml = getData("schema.xml") schema = SolrSchema(schema_xml.split("\n\n", 1)[1]) self.assertEqual(len(schema), 21) # 21 items defined in schema.xml self.assertEqual(schema["defaultSearchField"], "text") self.assertEqual(schema["uniqueKey"], "id") self.assertEqual(schema["solrQueryParser"].defaultOperator, "OR") self.assertEqual(schema["requiredFields"], ["id", "name"]) self.assertEqual(schema["id"].type, "string") self.assertEqual(schema["id"].class_, "solr.StrField") self.assertEqual(schema["id"].required, True) self.assertEqual(schema["id"].omitNorms, True) self.assertEqual(schema["id"].multiValued, False) self.assertEqual(schema["cat"].class_, "solr.TextField") self.assertEqual(schema["cat"].required, False) self.assertEqual(schema["cat"].multiValued, True) self.assertEqual(schema["cat"].termVectors, True) self.assertEqual(schema["sku"].positionIncrementGap, "100") self.assertEqual(schema.features.multiValued, True) self.assertEqual(schema.weight.class_, "solr.SortableFloatField") self.assertEqual(schema.popularity.class_, "solr.SortableIntField") self.assertEqual(schema.inStock.class_, "solr.BoolField") self.assertEqual(schema.timestamp.class_, "solr.DateField") self.assertEqual(schema.timestamp.default, "NOW") self.assertEqual(schema.timestamp.multiValued, False) self.assertEqual(schema.timestamp.indexed, True) self.assertEqual(schema.word.indexed, False) fields = schema.values() self.assertEqual(len([f for f in fields if getattr(f, "required", False)]), 2) self.assertEqual(len([f for f in fields if getattr(f, "multiValued", False)]), 3)
def testParseConfig(self): schema_xml = getData("schema.xml").decode("utf-8") schema = SolrSchema(schema_xml.split("\n\n", 1)[1]) self.assertEqual(len(schema), 21) # 21 items defined in schema.xml self.assertEqual(schema["defaultSearchField"], "text") self.assertEqual(schema["uniqueKey"], "id") self.assertEqual(schema["solrQueryParser"].defaultOperator, "OR") self.assertEqual(schema["requiredFields"], ["id", "name"]) self.assertEqual(schema["id"].type, "string") self.assertEqual(schema["id"].class_, "solr.StrField") self.assertEqual(schema["id"].required, True) self.assertEqual(schema["id"].omitNorms, True) self.assertEqual(schema["id"].multiValued, False) self.assertEqual(schema["cat"].class_, "solr.TextField") self.assertEqual(schema["cat"].required, False) self.assertEqual(schema["cat"].multiValued, True) self.assertEqual(schema["cat"].termVectors, True) self.assertEqual(schema["sku"].positionIncrementGap, "100") self.assertEqual(schema.features.multiValued, True) self.assertEqual(schema.weight.class_, "solr.SortableFloatField") self.assertEqual(schema.popularity.class_, "solr.SortableIntField") self.assertEqual(schema.inStock.class_, "solr.BoolField") self.assertEqual(schema.timestamp.class_, "solr.DateField") self.assertEqual(schema.timestamp.default, "NOW") self.assertEqual(schema.timestamp.multiValued, False) self.assertEqual(schema.timestamp.indexed, True) self.assertEqual(schema.word.indexed, False) fields = list(schema.values()) self.assertEqual(len([f for f in fields if getattr(f, "required", False)]), 2) self.assertEqual( len([f for f in fields if getattr(f, "multiValued", False)]), 3 )