コード例 #1
0
 def test_convert_legacy_filters_into_adhoc_present_and_nonempty(self):
     form_data = {
         'adhoc_filters': [
             {
                 'clause': 'WHERE',
                 'expressionType': 'SQL',
                 'sqlExpression': 'a = 1',
             },
         ],
         'filters': [{
             'col': 'a',
             'op': 'in',
             'val': 'someval'
         }],
         'having':
         'COUNT(1) = 1',
         'having_filters': [{
             'col': 'COUNT(1)',
             'op': '==',
             'val': 1
         }],
     }
     expected = {
         'adhoc_filters': [
             {
                 'clause': 'WHERE',
                 'expressionType': 'SQL',
                 'sqlExpression': 'a = 1',
             },
         ],
     }
     convert_legacy_filters_into_adhoc(form_data)
     self.assertEquals(form_data, expected)
def upgrade():
    bind = op.get_bind()
    session = db.Session(bind=bind)

    for slc in session.query(Slice).all():
        try:
            params = json.loads(slc.params)
            utils.convert_legacy_filters_into_adhoc(params)
            slc.params = json.dumps(params, sort_keys=True)
        except Exception:
            pass

    session.commit()
    session.close()
コード例 #3
0
 def test_convert_legacy_filters_into_adhoc_having(self):
     form_data = {
         'having': 'COUNT(1) = 1',
     }
     expected = {
         'adhoc_filters': [
             {
                 'clause': 'HAVING',
                 'expressionType': 'SQL',
                 'sqlExpression': 'COUNT(1) = 1',
             },
         ],
     }
     convert_legacy_filters_into_adhoc(form_data)
     self.assertEquals(form_data, expected)
コード例 #4
0
 def test_convert_legacy_filters_into_adhoc_where(self):
     form_data = {
         'where': 'a = 1',
     }
     expected = {
         'adhoc_filters': [
             {
                 'clause': 'WHERE',
                 'expressionType': 'SQL',
                 'sqlExpression': 'a = 1',
             },
         ],
     }
     convert_legacy_filters_into_adhoc(form_data)
     self.assertEquals(form_data, expected)
コード例 #5
0
 def test_convert_legacy_filters_into_adhoc_existing(self):
     form_data = {
         'adhoc_filters': [],
         'filters': [{
             'col': 'a',
             'op': 'in',
             'val': 'someval'
         }],
         'having': 'COUNT(1) = 1',
         'having_filters': [{
             'col': 'COUNT(1)',
             'op': '==',
             'val': 1
         }],
         'where': 'a = 1',
     }
     expected = {'adhoc_filters': []}
     convert_legacy_filters_into_adhoc(form_data)
     self.assertEquals(form_data, expected)
コード例 #6
0
 def test_convert_legacy_filters_into_adhoc_having_filters(self):
     form_data = {
         'having_filters': [{
             'col': 'COUNT(1)',
             'op': '==',
             'val': 1
         }],
     }
     expected = {
         'adhoc_filters': [
             {
                 'clause': 'HAVING',
                 'comparator': 1,
                 'expressionType': 'SIMPLE',
                 'operator': '==',
                 'subject': 'COUNT(1)',
             },
         ],
     }
     convert_legacy_filters_into_adhoc(form_data)
     self.assertEquals(form_data, expected)
コード例 #7
0
 def test_convert_legacy_filters_into_adhoc_filters(self):
     form_data = {
         'filters': [{
             'col': 'a',
             'op': 'in',
             'val': 'someval'
         }],
     }
     expected = {
         'adhoc_filters': [
             {
                 'clause': 'WHERE',
                 'comparator': 'someval',
                 'expressionType': 'SIMPLE',
                 'operator': 'in',
                 'subject': 'a',
             },
         ],
     }
     convert_legacy_filters_into_adhoc(form_data)
     self.assertEquals(form_data, expected)