def test_recursive_get_fields(self):
     conf = {
         "type": "quantile",
         "fieldName": "f1",
         "field": {
             "type":
             "custom",
             "fields": [
                 {
                     "type": "fieldAccess",
                     "fieldName": "f2"
                 },
                 {
                     "type": "fieldAccess",
                     "fieldName": "f3"
                 },
                 {
                     "type": "quantiles",
                     "fieldName": "f4",
                     "field": {
                         "type": "custom"
                     },
                 },
                 {
                     "type":
                     "custom",
                     "fields": [
                         {
                             "type": "fieldAccess",
                             "fieldName": "f5"
                         },
                         {
                             "type":
                             "fieldAccess",
                             "fieldName":
                             "f2",
                             "fields": [
                                 {
                                     "type": "fieldAccess",
                                     "fieldName": "f3"
                                 },
                                 {
                                     "type": "fieldIgnoreMe",
                                     "fieldName": "f6"
                                 },
                             ],
                         },
                     ],
                 },
             ],
         },
     }
     fields = DruidDatasource.recursive_get_fields(conf)
     expected = set(["f1", "f2", "f3", "f4", "f5"])
     self.assertEqual(5, len(fields))
     for field in fields:
         expected.remove(field)
     self.assertEqual(0, len(expected))
예제 #2
0
 def test_recursive_get_fields(self):
     conf = {
         'type': 'quantile',
         'fieldName': 'f1',
         'field': {
             'type':
             'custom',
             'fields': [{
                 'type': 'fieldAccess',
                 'fieldName': 'f2',
             }, {
                 'type': 'fieldAccess',
                 'fieldName': 'f3',
             }, {
                 'type': 'quantiles',
                 'fieldName': 'f4',
                 'field': {
                     'type': 'custom',
                 },
             }, {
                 'type':
                 'custom',
                 'fields': [{
                     'type': 'fieldAccess',
                     'fieldName': 'f5',
                 }, {
                     'type':
                     'fieldAccess',
                     'fieldName':
                     'f2',
                     'fields': [{
                         'type': 'fieldAccess',
                         'fieldName': 'f3',
                     }, {
                         'type': 'fieldIgnoreMe',
                         'fieldName': 'f6',
                     }],
                 }],
             }],
         },
     }
     fields = DruidDatasource.recursive_get_fields(conf)
     expected = set(['f1', 'f2', 'f3', 'f4', 'f5'])
     self.assertEqual(5, len(fields))
     for field in fields:
         expected.remove(field)
     self.assertEqual(0, len(expected))
 def test_recursive_get_fields(self):
     conf = {
         'type': 'quantile',
         'fieldName': 'f1',
         'field': {
             'type': 'custom',
             'fields': [{
                 'type': 'fieldAccess',
                 'fieldName': 'f2',
             }, {
                 'type': 'fieldAccess',
                 'fieldName': 'f3',
             }, {
                 'type': 'quantiles',
                 'fieldName': 'f4',
                 'field': {
                     'type': 'custom',
                 },
             }, {
                 'type': 'custom',
                 'fields': [{
                     'type': 'fieldAccess',
                     'fieldName': 'f5',
                 }, {
                     'type': 'fieldAccess',
                     'fieldName': 'f2',
                     'fields': [{
                         'type': 'fieldAccess',
                         'fieldName': 'f3',
                     }, {
                         'type': 'fieldIgnoreMe',
                         'fieldName': 'f6',
                     }],
                 }],
             }],
         },
     }
     fields = DruidDatasource.recursive_get_fields(conf)
     expected = set(['f1', 'f2', 'f3', 'f4', 'f5'])
     self.assertEqual(5, len(fields))
     for field in fields:
         expected.remove(field)
     self.assertEqual(0, len(expected))