def test_parse_list(self): e = ( "'question_option_defs' requires a non-empty value of type:" " dict\(\)" ) kwargs = {'question_option_defs': ['no list allowed']} with self.assertRaisesRegexp(DefinitionParserError, e): utils.parse_defs( defname='question_option_defs', deftypes=['dict()'], empty_ok=True, **kwargs )
def test_parse_str(self): e = ( "Argument 'question_filter_defs' has an invalid type " "<type 'str'>" ) with self.assertRaisesRegexp(DefinitionParserError, e): kwargs = {'question_filter_defs': 'no string allowed'} utils.parse_defs( defname='question_filter_defs', deftypes=['list()', 'dict()'], empty_ok=True, **kwargs )
def test_parse_emptydict(self): '''args=={} throws exception''' e = ( "'sensor_defs' requires a non-empty value of type: list\(\) or " "str\(\) or dict\(\)" ) with self.assertRaisesRegexp(DefinitionParserError, e): kwargs = {'sensor_defs': {}} utils.parse_defs( defname='sensor_defs', deftypes=['list()', 'str()', 'dict()'], strconv='name', empty_ok=False, **kwargs )
def test_parse_multi_filter(self): kwargs = {'question_filter_defs': [ { 'filter': { 'operator': 'RegexMatch', 'not_flag': 0, 'value': '.*Windows.*' }, 'name': 'Operating System', }, { 'filter': { 'operator': 'RegexMatch', 'not_flag': 1, 'value': '.*Linux.*' }, 'name': 'Operating System', }, ]} r = utils.parse_defs( defname='question_filter_defs', deftypes=['list()', 'dict()'], empty_ok=True, **kwargs ) self.assertEquals(r, kwargs['question_filter_defs'])
def test_parse_emptydict(self): kwargs = {'question_option_defs': {}} r = utils.parse_defs( defname='question_option_defs', deftypes=['dict()'], empty_ok=True, **kwargs ) self.assertFalse(r)
def test_parse_emptylist(self): kwargs = {'question_filter_defs': []} r = utils.parse_defs( defname='question_filter_defs', deftypes=['list()', 'dict()'], empty_ok=True, **kwargs ) self.assertFalse(r)
def test_parse_dict_hash(self): '''dict with hash is parsed into list of same dict''' kwargs = {'sensor_defs': {'hash': '1'}} r = utils.parse_defs( defname='sensor_defs', deftypes=['list()', 'str()', 'dict()'], strconv='name', empty_ok=False, **kwargs ) exp = [{'hash': '1'}] self.assertEquals(r, exp)
def test_parse_str1(self): '''simple str is parsed into list of same str''' kwargs = {'sensor_defs': 'Sensor1'} r = utils.parse_defs( defname='sensor_defs', deftypes=['list()', 'str()', 'dict()'], strconv='name', empty_ok=False, **kwargs ) exp = [{'name': 'Sensor1'}] self.assertEquals(r, exp)
def test_parse_complex(self): '''list with many items is parsed into same list''' sensor_defs = [ { 'filter': {}, 'params': {}, 'name': 'Computer Name', 'options': {} }, { 'filter': {}, 'params': {}, 'id': '1', 'options': {} }, { 'filter': { 'operator': 'RegexMatch', 'not_flag': 0, 'value': '.*Windows.*' }, 'params': {}, 'name': 'Operating System', 'options': {} }, { 'filter': { 'operator': 'RegexMatch', 'not_flag': 0, 'value': '.*' }, 'params': {'k2': 'v2', 'k1': 'v1'}, 'name': 'Sensor1', 'options': { 'all_values_flag': 0, 'ignore_case_flag': 1, 'max_age_seconds': '3600', 'value_type': 'string', 'all_times_flag': 0 } } ] kwargs = {'sensor_defs': sensor_defs} r = utils.parse_defs( defname='sensor_defs', deftypes=['list()', 'str()', 'dict()'], strconv='name', empty_ok=False, **kwargs ) self.assertEquals(r, sensor_defs)
def test_parse_options_dict(self): kwargs = {'question_option_defs': { 'all_values_flag': 0, 'ignore_case_flag': 1, 'max_age_seconds': '3600', 'value_type': 'string', 'all_times_flag': 0 }} r = utils.parse_defs( defname='question_option_defs', deftypes=['dict()'], empty_ok=True, **kwargs ) self.assertEquals(r, kwargs['question_option_defs'])