def test_multi_filter_list(self): question_filters = [ 'Sensor1, that contains:Windows', 'Sensor2, that does not contain:10.10.10.10', ] question_filter_defs = utils.dehumanize_question_filters( question_filters ) exp = [ { 'filter': { 'operator': 'RegexMatch', 'not_flag': 0, 'value': '.*Windows.*' }, 'name': 'Sensor1' }, { 'filter': { 'operator': 'RegexMatch', 'not_flag': 1, 'value': '.*10.10.10.10.*' }, 'name': 'Sensor2' } ] self.assertEquals(question_filter_defs, exp)
def test_empty_filterlist(self): question_filters = [] question_filter_defs = utils.dehumanize_question_filters( question_filters ) exp = [] self.assertEquals(question_filter_defs, exp)
def test_single_filter_list(self): question_filters = ['Sensor1, that contains:Windows'] question_filter_defs = utils.dehumanize_question_filters( question_filters ) exp = [ { 'filter': { 'operator': 'RegexMatch', 'not_flag': 0, 'value': '.*Windows.*' }, 'name': 'Sensor1' } ] self.assertEquals(question_filter_defs, exp)
def test_invalid_filter3(self): o = 'Sensor1, th' e = "Filter .* is not a valid filter!" with self.assertRaisesRegexp(HumanParserError, e): utils.dehumanize_question_filters(o)