Exemple #1
0
    def test_multi_field_defaults_and_precalc(self):
        field_details = {
            'description':
            'description',
            'level':
            'extended',
            'name':
            'my_field',
            'type':
            'unimportant',
            'multi_fields': [
                {
                    'type': 'text'
                },
                {
                    'type': 'keyword',
                    'name': 'special_name'
                },
            ]
        }
        cleaner.field_defaults({'field_details': field_details})

        mf = field_details['multi_fields'][0]
        self.assertEqual(mf['name'], 'text')
        self.assertEqual(mf['norms'], False)

        mf = field_details['multi_fields'][1]
        self.assertEqual(mf['name'], 'special_name')
        self.assertEqual(mf['ignore_above'], 1024)
Exemple #2
0
    def test_field_defaults(self):
        field_min_details = {
            'description': 'description',
            'level': 'extended',
            'name': 'my_field',
            'type': 'unknown',
        }
        # Note: unknown datatypes simply don't have defaults (for future proofing)
        field_details = field_min_details.copy()
        cleaner.field_defaults({'field_details': field_details})
        self.assertEqual(field_details['short'], field_details['description'])
        self.assertEqual(field_details['normalize'], [])

        field_details = {**field_min_details, **{'type': 'keyword'}}
        cleaner.field_defaults({'field_details': field_details})
        self.assertEqual(field_details['ignore_above'], 1024)

        field_details = {**field_min_details, **{'type': 'text'}}
        cleaner.field_defaults({'field_details': field_details})
        self.assertEqual(field_details['norms'], False)

        field_details = {**field_min_details, **{'index': True}}
        cleaner.field_defaults({'field_details': field_details})
        self.assertNotIn('doc_values', field_details)

        field_details = {**field_min_details, **{'index': False}}
        cleaner.field_defaults({'field_details': field_details})
        self.assertEqual(field_details['doc_values'], False)
Exemple #3
0
 def test_field_defaults_dont_override(self):
     field_details = {
         'description': 'description',
         'level': 'extended',
         'name': 'my_long_field',
         'type': 'keyword',
         'ignore_above': 8000,
     }
     cleaner.field_defaults({'field_details': field_details})
     self.assertEqual(field_details['ignore_above'], 8000)
Exemple #4
0
 def test_field_defaults_index_false_doc_values_false(self):
     field_details = {
         'description': 'description',
         'level': 'extended',
         'name': 'my_non_indexed_field',
         'type': 'keyword',
         'index': False,
         'doc_values': False
     }
     cleaner.field_defaults({'field_details': field_details})
     self.assertNotIn("ignore_above", field_details)