コード例 #1
0
ファイル: test_pytan_unit.py プロジェクト: apDataGuy/pytan
 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
         )
コード例 #2
0
ファイル: test_pytan_unit.py プロジェクト: apDataGuy/pytan
 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
         )
コード例 #3
0
ファイル: test_pytan_unit.py プロジェクト: apDataGuy/pytan
 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
         )
コード例 #4
0
ファイル: test_pytan_unit.py プロジェクト: apDataGuy/pytan
 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'])
コード例 #5
0
ファイル: test_pytan_unit.py プロジェクト: apDataGuy/pytan
 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)
コード例 #6
0
ファイル: test_pytan_unit.py プロジェクト: apDataGuy/pytan
 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)
コード例 #7
0
ファイル: test_pytan_unit.py プロジェクト: apDataGuy/pytan
 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)
コード例 #8
0
ファイル: test_pytan_unit.py プロジェクト: apDataGuy/pytan
 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)
コード例 #9
0
ファイル: test_pytan_unit.py プロジェクト: apDataGuy/pytan
    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)
コード例 #10
0
ファイル: test_pytan_unit.py プロジェクト: apDataGuy/pytan
 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'])