예제 #1
0
 def test_merge_extra_filters_with_no_extras(self):
     form_data = {
         "time_range": "Last 10 days",
     }
     merge_extra_form_data(form_data)
     self.assertEqual(
         form_data, {"time_range": "Last 10 days", "adhoc_filters": [],},
     )
예제 #2
0
 def test_merge_extra_filters_with_extras(self):
     form_data = {
         "time_range": "Last 10 days",
         "extra_form_data": {
             "filters": [{
                 "col": "foo",
                 "op": "IN",
                 "val": ["bar"]
             }],
             "adhoc_filters": [{
                 "expressionType": "SQL",
                 "clause": "WHERE",
                 "sqlExpression": "1 = 0",
             }],
             "time_range":
             "Last 100 years",
             "time_grain_sqla":
             "PT1M",
             "relative_start":
             "now",
         },
     }
     merge_extra_form_data(form_data)
     adhoc_filters = form_data["adhoc_filters"]
     assert adhoc_filters[0] == {
         "clause": "WHERE",
         "expressionType": "SQL",
         "isExtra": True,
         "sqlExpression": "1 = 0",
     }
     converted_filter = adhoc_filters[1]
     del converted_filter["filterOptionName"]
     assert converted_filter == {
         "clause": "WHERE",
         "comparator": ["bar"],
         "expressionType": "SIMPLE",
         "isExtra": True,
         "operator": "IN",
         "subject": "foo",
     }
     assert form_data["time_range"] == "Last 100 years"
     assert form_data["time_grain_sqla"] == "PT1M"
     assert form_data["extras"]["relative_start"] == "now"
예제 #3
0
 def test_merge_extra_filters_with_extras(self):
     form_data = {
         "time_range": "Last 10 days",
         "extra_form_data": {
             "append_form_data": {
                 "filters": [{
                     "col": "foo",
                     "op": "IN",
                     "val": "bar"
                 }]
             },
             "override_form_data": {
                 "time_range": "Last 100 years",
             },
         },
     }
     merge_extra_form_data(form_data)
     assert form_data["applied_time_extras"] == {
         "__time_range": "Last 100 years"
     }
     assert form_data["time_range"] == "Last 100 years"
     assert len(form_data["adhoc_filters"]) == 1
예제 #4
0
 def test_merge_extra_filters_with_extras(self):
     form_data = {
         "time_range": "Last 10 days",
         "extra_form_data": {
             "append_form_data": {
                 "filters": [{"col": "foo", "op": "IN", "val": ["bar"]}],
                 "adhoc_filters": [
                     {
                         "expressionType": "SQL",
                         "clause": "WHERE",
                         "sqlExpression": "1 = 0",
                     }
                 ],
             },
             "override_form_data": {"time_range": "Last 100 years",},
         },
     }
     merge_extra_form_data(form_data)
     assert form_data["applied_time_extras"] == {"__time_range": "Last 100 years"}
     adhoc_filters = form_data["adhoc_filters"]
     assert adhoc_filters[0] == {
         "clause": "WHERE",
         "expressionType": "SQL",
         "isExtra": True,
         "sqlExpression": "1 = 0",
     }
     converted_filter = adhoc_filters[1]
     del converted_filter["filterOptionName"]
     assert converted_filter == {
         "clause": "WHERE",
         "comparator": ["bar"],
         "expressionType": "SIMPLE",
         "isExtra": True,
         "operator": "IN",
         "subject": "foo",
     }
     assert form_data["time_range"] == "Last 100 years"