示例#1
0
 def test_parse_fields_to_nested_tree_multiple_fields(self):
     fields_string = 'jobs,job,document,user'
     result = CerealMixin.parse_fields_to_nested_tree(fields_string)
     assert len(result.normal_fields) == 0 and \
            len(result.nested_fields) == 0 and \
            len(result.options) == 1, \
            'Single option field string input returned {0}'.format(result)
示例#2
0
 def test_parse_fields_to_nested_tree_too_few_close_brackets(self):
     fields_string = 'job(value'
     try:
         result = CerealMixin.parse_fields_to_nested_tree(fields_string)
         assert False, 'Expected error - too few close brackets. No error.'
     except CerealException:
         pass
示例#3
0
 def test_parse_fields_to_nested_tree_overlapping_fields(self):
     fields_string = 'job,job'
     result = CerealMixin.parse_fields_to_nested_tree(fields_string)
     assert len(result.normal_fields) == 2 and \
            len(result.nested_fields) == 0 and \
            len(result.options) == 0, \
            'Overlapping fields string input returned {0}'.format(result)
示例#4
0
 def test_parse_fields_to_nested_tree_basic_nested(self):
     fields_string = 'job(user)'
     result = CerealMixin.parse_fields_to_nested_tree(fields_string)
     assert len(result.normal_fields) == 0 and \
            len(result.nested_fields) == 1 and \
            len(result.options) == 0, \
            'Basic nested field string input returned {0}'.format(result)
示例#5
0
 def test_parse_fields_to_nested_tree_default_option(self):
     fields_string = ':default'
     result = CerealMixin.parse_fields_to_nested_tree(fields_string)
     assert len(result.normal_fields) == 0 and \
            len(result.nested_fields) == 0 and \
            len(result.options) == 1, \
            'Single option field string input returned {0}'.format(result)
示例#6
0
 def test_parse_fields_to_nested_tree_multiple_open_brackets_inarow(self):
     fields_string = 'job((value))'
     try:
         result = CerealMixin.parse_fields_to_nested_tree(fields_string)
         assert False, 'Expected error - too many open brackets. No error.'
     except CerealException:
         pass
示例#7
0
 def test_parse_fields_to_nested_tree_basic_nested_with_normal_fields(self):
     fields_string = 'time,job(user,document),address'
     result = CerealMixin.parse_fields_to_nested_tree(fields_string)
     assert len(result.normal_fields) == 2 and \
            len(result.nested_fields) == 1 and \
            len(result.nested_fields['job'].normal_fields) == 2 and \
            len(result.options) == 0, \
            'Basic nested field string input returned {0}'.format(result)
 def test_parse_fields_to_nested_tree_multiple_open_brackets_inarow(self):
     fields_string = 'job((value))'
     try:
         result = CerealMixin.parse_fields_to_nested_tree(
             fields_string
         )
         assert False, 'Expected error - too many open brackets. No error.'
     except CerealException:
         pass
 def test_parse_fields_to_nested_tree_basic_nested(self):
     fields_string = 'job(user)'
     result = CerealMixin.parse_fields_to_nested_tree(
         fields_string
     )
     assert len(result.normal_fields) == 0 and \
            len(result.nested_fields) == 1 and \
            len(result.options) == 0, \
            'Basic nested field string input returned {0}'.format(result)
 def test_parse_fields_to_nested_tree_overlapping_fields(self):
     fields_string = 'job,job'
     result = CerealMixin.parse_fields_to_nested_tree(
         fields_string
     )
     assert len(result.normal_fields) == 2 and \
            len(result.nested_fields) == 0 and \
            len(result.options) == 0, \
            'Overlapping fields string input returned {0}'.format(result)
 def test_parse_fields_to_nested_tree_multiple_fields(self):
     fields_string = 'jobs,job,document,user'
     result = CerealMixin.parse_fields_to_nested_tree(
         fields_string
     )
     assert len(result.normal_fields) == 0 and \
            len(result.nested_fields) == 0 and \
            len(result.options) == 1, \
            'Single option field string input returned {0}'.format(result)
 def test_parse_fields_to_nested_tree_default_option(self):
     fields_string = ':default'
     result = CerealMixin.parse_fields_to_nested_tree(
         fields_string
     )
     assert len(result.normal_fields) == 0 and \
            len(result.nested_fields) == 0 and \
            len(result.options) == 1, \
            'Single option field string input returned {0}'.format(result)
 def test_parse_fields_to_nested_tree_too_few_close_brackets(self):
     fields_string = 'job(value'
     try:
         result = CerealMixin.parse_fields_to_nested_tree(
             fields_string
         )
         assert False, 'Expected error - too few close brackets. No error.'
     except CerealException:
         pass
 def test_parse_fields_to_nested_tree_basic_nested_with_normal_fields(self):
     fields_string = 'time,job(user,document),address'
     result = CerealMixin.parse_fields_to_nested_tree(
         fields_string
     )
     assert len(result.normal_fields) == 2 and \
            len(result.nested_fields) == 1 and \
            len(result.nested_fields['job'].normal_fields) == 2 and \
            len(result.options) == 0, \
            'Basic nested field string input returned {0}'.format(result)
示例#15
0
 def test_parse_fields_to_nested_tree_very_nested(self):
     fields_string = 'a(b(c(d),e(f)),g(h(i)))'
     result = CerealMixin.parse_fields_to_nested_tree(fields_string)
     assert len(result.normal_fields) == 0 and \
            len(result.nested_fields) == 1 and \
            len(result.options) == 0, \
            'Very nested field string input returned {0}'.format(result)
     assert len(result.nested_fields['a'].nested_fields) == 2, \
         'Very nested field string first nest level had error: {0}'\
         .format(result.nested_fields['a'])
     assert len(result.nested_fields['a'].nested_fields['b'].nested_fields['e'].normal_fields) == 1, \
         'Very nested field string nest level 3 had error: {0}'\
         .format(result.nested_fields['a'].nested_fields['b'].nested_fields['e'])
     assert len(result.nested_fields['a'].nested_fields['g'].nested_fields['h'].normal_fields) == 1, \
         'Very nested field string nest level 3 had error: {0}'\
         .format(result.nested_fields['a'].nested_fields['g'].nested_fields['h'])
 def test_parse_fields_to_nested_tree_very_nested(self):
     fields_string = 'a(b(c(d),e(f)),g(h(i)))'
     result = CerealMixin.parse_fields_to_nested_tree(
         fields_string
     )
     assert len(result.normal_fields) == 0 and \
            len(result.nested_fields) == 1 and \
            len(result.options) == 0, \
            'Very nested field string input returned {0}'.format(result)
     assert len(result.nested_fields['a'].nested_fields) == 2, \
         'Very nested field string first nest level had error: {0}'\
         .format(result.nested_fields['a'])
     assert len(result.nested_fields['a'].nested_fields['b'].nested_fields['e'].normal_fields) == 1, \
         'Very nested field string nest level 3 had error: {0}'\
         .format(result.nested_fields['a'].nested_fields['b'].nested_fields['e'])
     assert len(result.nested_fields['a'].nested_fields['g'].nested_fields['h'].normal_fields) == 1, \
         'Very nested field string nest level 3 had error: {0}'\
         .format(result.nested_fields['a'].nested_fields['g'].nested_fields['h'])
 def test_parse_fields_to_nested_tree_empty_case(self):
     result = CerealMixin.parse_fields_to_nested_tree('')
     assert len(result.normal_fields) == 0 and \
            len(result.nested_fields) == 0 and \
            len(result.options) == 0, \
            'Empty string input returned {0}'.format(result)
示例#18
0
 def test_parse_fields_to_nested_tree_empty_case(self):
     result = CerealMixin.parse_fields_to_nested_tree('')
     assert len(result.normal_fields) == 0 and \
            len(result.nested_fields) == 0 and \
            len(result.options) == 0, \
            'Empty string input returned {0}'.format(result)
 def test_parse_fields_to_nested_tree_multiple_empty_commas(self):
     result = CerealMixin.parse_fields_to_nested_tree(',,,')
     assert len(result.normal_fields) == 0 and \
            len(result.nested_fields) == 0 and \
            len(result.options) == 0, \
            'Empty string with commas input returned {0}'.format(result)
示例#20
0
 def test_parse_fields_to_nested_tree_multiple_empty_commas(self):
     result = CerealMixin.parse_fields_to_nested_tree(',,,')
     assert len(result.normal_fields) == 0 and \
            len(result.nested_fields) == 0 and \
            len(result.options) == 0, \
            'Empty string with commas input returned {0}'.format(result)