def test_build_selectlist_obj_missing_value(self): sensor_defs = [ { 'name': 'Fake Sensor', 'filter': { 'operator': 'RegexMatch', }, 'sensor_obj': self.sensor_obj_no_params } ] kwargs = {'sensor_defs': sensor_defs} e = ".*requires a 'value' key!" with self.assertRaisesRegexp(DefinitionParserError, e): utils.build_selectlist_obj(**kwargs)
def test_build_selectlist_obj_invalid_filter(self): sensor_defs = [ { 'name': 'Fake Sensor', 'filter': { 'operator': 'egexMatch', 'value': '.*' }, 'sensor_obj': self.sensor_obj_no_params } ] kwargs = {'sensor_defs': sensor_defs} e = "Invalid filter.*" with self.assertRaisesRegexp(DefinitionParserError, e): utils.build_selectlist_obj(**kwargs)
def test_build_selectlist_obj_withparamssensorobj_noparams(self): '''builds a selectlist object using a sensor obj with 4 params but not supplying any values for any of the params''' sensor_defs = [ { 'name': 'Fake Sensor', 'filter': { 'operator': 'regexmatch', 'not_flag': 0, 'value': '.*' }, 'options': { 'all_values_flag': 0, 'ignore_case_flag': 1, 'max_age_seconds': '3600', 'value_type': 'string', 'all_times_flag': 0, 'ignored_option': 'tt', }, 'sensor_obj': self.sensor_obj_with_params } ] kwargs = {'sensor_defs': sensor_defs} r = utils.build_selectlist_obj(**kwargs) self.assertIsInstance(r, taniumpy.SelectList) self.assertIsInstance(r.select[0], taniumpy.Select) self.assertEqual(len(r.select), 1) self.assertIsInstance(r.select[0].filter, taniumpy.Filter) self.assertIsInstance(r.select[0].sensor, taniumpy.Sensor) self.assertEqual( r.select[0].sensor.source_id, self.sensor_obj_with_params.id) self.assertEqual( r.select[0].filter.sensor.id, self.sensor_obj_with_params.id) self.assertEqual(len(r.select[0].sensor.parameters), 4) for x in r.select[0].sensor.parameters: self.assertRegexpMatches(x.key, '||.*||') if x.key == '||dirname||': self.assertEqual(x.value, '') if x.key == '||regexp||': self.assertEqual(x.value, '') if x.key == '||casesensitive||': self.assertEqual(x.value, 'No') if x.key == '||global||': self.assertEqual(x.value, 'No') self.assertEqual(r.select[0].filter.operator, 'RegexMatch') self.assertEqual(r.select[0].filter.not_flag, 0) self.assertEqual(r.select[0].filter.value, '.*') self.assertEqual(r.select[0].filter.all_values_flag, 0) self.assertEqual(r.select[0].filter.ignore_case_flag, 1) self.assertEqual(r.select[0].filter.max_age_seconds, 3600) self.assertEqual(r.select[0].filter.value_type, 'String') self.assertEqual(r.select[0].filter.all_times_flag, 0) self.assertFalse(hasattr(r.select[0].filter, 'ignored_option'))
def test_build_selectlist_obj_noparamssensorobj_withparams(self): '''builds a selectlist object using a sensor obj with no params, but passing in params (which should be added as of 1.0.4)''' sensor_defs = [ { 'name': 'Fake Sensor', 'filter': { 'operator': 'regexmatch', 'not_flag': 0, 'value': '.*' }, 'params': { 'dirname': 'Program Files', }, 'options': { 'all_values_flag': 0, 'ignore_case_flag': 1, 'max_age_seconds': '3600', 'value_type': 'string', 'all_times_flag': 0, 'ignored_option': 'tt', }, 'sensor_obj': self.sensor_obj_no_params } ] kwargs = {'sensor_defs': sensor_defs} r = utils.build_selectlist_obj(**kwargs) print r.to_json(r) self.assertIsInstance(r, taniumpy.SelectList) self.assertIsInstance(r.select[0], taniumpy.Select) self.assertEqual(len(r.select), 1) self.assertIsInstance(r.select[0].filter, taniumpy.Filter) self.assertIsInstance(r.select[0].sensor, taniumpy.Sensor) self.assertEqual( r.select[0].sensor.source_id, self.sensor_obj_no_params.id) self.assertEqual( r.select[0].filter.sensor.id, self.sensor_obj_no_params.id) self.assertTrue(r.select[0].sensor.parameters) self.assertEqual(r.select[0].filter.operator, 'RegexMatch') self.assertEqual(r.select[0].filter.not_flag, 0) self.assertEqual(r.select[0].filter.value, '.*') self.assertEqual(r.select[0].filter.all_values_flag, 0) self.assertEqual(r.select[0].filter.ignore_case_flag, 1) self.assertEqual(r.select[0].filter.max_age_seconds, 3600) self.assertEqual(r.select[0].filter.value_type, 'String') self.assertEqual(r.select[0].filter.all_times_flag, 0) self.assertFalse(hasattr(r.select[0].filter, 'ignored_option'))
def test_build_selectlist_obj_noparamssensorobj_noparams(self): '''builds a selectlist object using a sensor obj with no params''' sensor_defs = [ { 'name': 'Fake Sensor', 'filter': { 'operator': 'regexmatch', 'not_flag': 0, 'value': '.*' }, 'options': { 'all_values_flag': 0, 'ignore_case_flag': 1, 'max_age_seconds': '3600', 'value_type': 'string', 'all_times_flag': 0, 'ignored_option': 'tt', }, 'sensor_obj': self.sensor_obj_no_params } ] kwargs = {'sensor_defs': sensor_defs} r = utils.build_selectlist_obj(**kwargs) self.assertIsInstance(r, taniumpy.SelectList) self.assertIsInstance(r.select[0], taniumpy.Select) self.assertEqual(len(r.select), 1) self.assertIsInstance(r.select[0].filter, taniumpy.Filter) self.assertIsInstance(r.select[0].sensor, taniumpy.Sensor) self.assertEqual( r.select[0].sensor.hash, self.sensor_obj_no_params.hash) self.assertEqual( r.select[0].filter.sensor.hash, self.sensor_obj_no_params.hash) self.assertIsNone(r.select[0].sensor.parameters) self.assertEqual(r.select[0].filter.operator, 'RegexMatch') self.assertEqual(r.select[0].filter.not_flag, 0) self.assertEqual(r.select[0].filter.value, '.*') self.assertEqual(r.select[0].filter.all_values_flag, 0) self.assertEqual(r.select[0].filter.ignore_case_flag, 1) self.assertEqual(r.select[0].filter.max_age_seconds, 3600) self.assertEqual(r.select[0].filter.value_type, 'String') self.assertEqual(r.select[0].filter.all_times_flag, 0) self.assertFalse(hasattr(r.select[0].filter, 'ignored_option'))