Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
0
    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)
Ejemplo n.º 3
0
    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'))
Ejemplo n.º 4
0
    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'))
Ejemplo n.º 5
0
    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'))