def test_interface(self):
     indexes = schema_indexes(ITestSchemaIndexes)
     assert len(indexes) > 0
     assert set(indexes) == set((
         'text_name',
         'field_name',
         'field_url',
         'text_url',
         'text_biography',
         'field_number',
         'field_date',
         'keyword_subjects',
     ))
Exemple #2
0
 def test_interface(self):
     indexes = schema_indexes(ITestSchemaIndexes)
     assert len(indexes) > 0
     assert set(indexes) == set(
         (
             "text_name",
             "field_name",
             "field_url",
             "text_url",
             "text_biography",
             "field_number",
             "field_date",
             "keyword_subjects",
         )
     )
Exemple #3
0
    def test_field(self):
        for name, field in schema.getFieldsInOrder(ITestSchemaIndexes):
            if name != "ignore":
                indexes = schema_indexes(field)
                assert len(indexes) > 0
                assert isinstance(indexes, tuple)

                # TextLine versus Text
                if schema.interfaces.ITextLine.providedBy(field):
                    assert len(indexes) == 2
                elif schema.interfaces.IText.providedBy(field):
                    assert len(indexes) == 1
                    assert indexes[0].startswith("text_")

                # BytesLine versus bytes
                if schema.interfaces.IBytesLine.providedBy(field):
                    assert len(indexes) == 2
                elif schema.interfaces.IBytes.providedBy(field):
                    assert len(indexes) == 0

                # other field types
                if schema.interfaces.ICollection.providedBy(field):
                    assert len(indexes) == 1
                    assert indexes[0].startswith("keyword_")
                if schema.interfaces.IInt.providedBy(field):
                    assert len(indexes) == 1
                    assert indexes[0].startswith("field_")
                if schema.interfaces.IDate.providedBy(field):
                    assert len(indexes) == 1
                    assert indexes[0].startswith("field_")
                # omitted types, no indexes for these:
                if schema.interfaces.IObject.providedBy(field):
                    assert len(indexes) == 0
                if schema.interfaces.IDict.providedBy(field):
                    assert len(indexes) == 0
                for idx in indexes:
                    assert self._prefixed_index_name(idx)
    def test_field(self):
        for name, field in schema.getFieldsInOrder(ITestSchemaIndexes):
            if name != 'ignore':
                indexes = schema_indexes(field)
                assert len(indexes) > 0
                assert isinstance(indexes, tuple)

                # TextLine versus Text
                if schema.interfaces.ITextLine.providedBy(field):
                    assert len(indexes) == 2
                elif schema.interfaces.IText.providedBy(field):
                    assert len(indexes) == 1
                    assert indexes[0].startswith('text_')

                # BytesLine versus bytes
                if schema.interfaces.IBytesLine.providedBy(field):
                    assert len(indexes) == 2
                elif schema.interfaces.IBytes.providedBy(field):
                    assert len(indexes) == 0

                # other field types
                if schema.interfaces.ICollection.providedBy(field):
                    assert len(indexes) == 1
                    assert indexes[0].startswith('keyword_')
                if schema.interfaces.IInt.providedBy(field):
                    assert len(indexes) == 1
                    assert indexes[0].startswith('field_')
                if schema.interfaces.IDate.providedBy(field):
                    assert len(indexes) == 1
                    assert indexes[0].startswith('field_')
                # omitted types, no indexes for these:
                if schema.interfaces.IObject.providedBy(field):
                    assert len(indexes) == 0
                if schema.interfaces.IDict.providedBy(field):
                    assert len(indexes) == 0
                for idx in indexes:
                    assert self._prefixed_index_name(idx)