<s> import sys <EOL> from os import path <EOL> import xml . etree . ElementTree as et <EOL> import testlib <EOL> import splunklib . data as data <EOL> class DataTestCase ( testlib . SDKTestCase ) : <EOL> def test_elems ( self ) : <EOL> result = data . load ( "<STR_LIT>" ) <EOL> self . assertTrue ( result is None ) <EOL> result = data . load ( "<STR_LIT>" ) <EOL> self . assertEqual ( result , { '<STR_LIT:a>' : None } ) <EOL> result = data . load ( "<STR_LIT>" ) <EOL> self . assertEqual ( result , { '<STR_LIT:a>' : "<STR_LIT:1>" } ) <EOL> result = data . load ( "<STR_LIT>" ) <EOL> self . assertEqual ( result , { '<STR_LIT:a>' : { '<STR_LIT:b>' : None } } ) <EOL> result = data . load ( "<STR_LIT>" ) <EOL> self . assertEqual ( result , { '<STR_LIT:a>' : { '<STR_LIT:b>' : '<STR_LIT:1>' } } ) <EOL> result = data . load ( "<STR_LIT>" ) <EOL> self . assertEqual ( result , { '<STR_LIT:a>' : { '<STR_LIT:b>' : [ None , None ] } } ) <EOL> result = data . load ( "<STR_LIT>" ) <EOL> self . assertEqual ( result , { '<STR_LIT:a>' : { '<STR_LIT:b>' : [ '<STR_LIT:1>' , '<STR_LIT:2>' ] } } ) <EOL> result = data . load ( "<STR_LIT>" ) <EOL> self . assertEqual ( result , { '<STR_LIT:a>' : { '<STR_LIT:b>' : None , '<STR_LIT:c>' : None } } ) <EOL> result = data . load ( "<STR_LIT>" ) <EOL> self . assertEqual ( result , { '<STR_LIT:a>' : { '<STR_LIT:b>' : '<STR_LIT:1>' , '<STR_LIT:c>' : '<STR_LIT:2>' } } ) <EOL> result = data . load ( "<STR_LIT>" ) <EOL> self . assertEqual ( result , { '<STR_LIT:a>' : { '<STR_LIT:b>' : { '<STR_LIT:c>' : '<STR_LIT:1>' } } } ) <EOL> result = data . load ( "<STR_LIT>" ) <EOL> self . assertEqual ( result , { '<STR_LIT:a>' : { '<STR_LIT:b>' : [ { '<STR_LIT:c>' : '<STR_LIT:1>' } , '<STR_LIT:2>' ] } } ) <EOL> result = data . load ( '<STR_LIT>' ) <EOL> self . assertEqual ( result , { '<STR_LIT:e>' : { '<STR_LIT>' : [ '<STR_LIT>' , '<STR_LIT>' ] } } ) <EOL> result = data . load ( "<STR_LIT>" ) <EOL> self . assertEqual ( result , { '<STR_LIT:e>' : { '<STR_LIT>' : [ '<STR_LIT>' , '<STR_LIT>' ] } } ) <EOL> def test_attrs ( self ) : <EOL> result = data . load ( "<STR_LIT>" ) <EOL> self . assertEqual ( result , { '<STR_LIT:e>' : { '<STR_LIT>' : '<STR_LIT>' } } ) <EOL> result = data . load ( "<STR_LIT>" ) <EOL> self . assertEqual ( result , { '<STR_LIT:e>' : { '<STR_LIT>' : '<STR_LIT>' , '<STR_LIT>' : '<STR_LIT>' } } ) <EOL> result = data . load ( "<STR_LIT>" ) <EOL> self . assertEqual ( result , { '<STR_LIT:e>' : { '<STR_LIT>' : '<STR_LIT>' , '<STR_LIT>' : '<STR_LIT>' } } ) <EOL> result = data . load ( "<STR_LIT>" ) <EOL> self . assertEqual ( result , { '<STR_LIT:e>' : { '<STR_LIT>' : '<STR_LIT>' , '<STR_LIT:b>' : '<STR_LIT:2>' } } ) <EOL> result = data . load ( "<STR_LIT>" ) <EOL> self . assertEqual ( result , { '<STR_LIT:e>' : { '<STR_LIT>' : '<STR_LIT>' , '<STR_LIT:b>' : '<STR_LIT>' } } ) <EOL> result = data . load ( "<STR_LIT>" ) <EOL> self . assertEqual ( result , { '<STR_LIT:e>' : { '<STR_LIT>' : [ '<STR_LIT>' , '<STR_LIT>' ] } } ) <EOL> result = data . load ( "<STR_LIT>" ) <EOL> self . assertEqual ( result , <EOL> { '<STR_LIT>' : { '<STR_LIT>' : '<STR_LIT>' , '<STR_LIT>' : { '<STR_LIT>' : '<STR_LIT>' , '<STR_LIT>' : '<STR_LIT>' } } } ) <EOL> def test_real ( self ) : <EOL> """<STR_LIT>""" <EOL> testpath = path . dirname ( path . abspath ( __file__ ) ) <EOL> fh = open ( path . join ( testpath , "<STR_LIT>" ) , '<STR_LIT:r>' ) <EOL> result = data . load ( fh . read ( ) ) <EOL> self . assertTrue ( result . has_key ( '<STR_LIT>' ) ) <EOL> self . assertTrue ( result . feed . has_key ( '<STR_LIT>' ) ) <EOL> self . assertTrue ( result . feed . has_key ( '<STR_LIT>' ) ) <EOL> titles = [ item . title for item in result . feed . entry ] <EOL> self . assertEqual ( <EOL> titles , <EOL> [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:data>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' ] ) <EOL> fh = open ( path . join ( testpath , "<STR_LIT>" ) , '<STR_LIT:r>' ) <EOL> result = data . load ( fh . read ( ) ) <EOL> self . assertTrue ( result . has_key ( '<STR_LIT>' ) ) <EOL> self . assertTrue ( result . feed . has_key ( '<STR_LIT>' ) ) <EOL> self . assertTrue ( result . feed . has_key ( '<STR_LIT>' ) ) <EOL> self . assertEqual ( result . feed . title , '<STR_LIT>' ) <EOL> self . assertEqual ( result . feed . author . name , '<STR_LIT>' ) <EOL> self . assertEqual ( result . feed . entry . content . cpu_arch , '<STR_LIT>' ) <EOL> self . assertEqual ( result . feed . entry . content . os_name , '<STR_LIT>' ) <EOL> self . assertEqual ( result . feed . entry . content . os_version , '<STR_LIT>' ) <EOL> def test_invalid ( self ) : <EOL> if sys . version_info [ <NUM_LIT:1> ] >= <NUM_LIT:7> : <EOL> self . assertRaises ( et . ParseError , data . load , "<STR_LIT>" ) <EOL> else : <EOL> from xml . parsers . expat import ExpatError <EOL> self . assertRaises ( ExpatError , data . load , "<STR_LIT>" ) <EOL> self . assertRaises ( KeyError , data . load , "<STR_LIT>" ) <EOL> def test_dict ( self ) : <EOL> result = data . load ( """<STR_LIT>""" ) <EOL> self . assertEqual ( result , { } ) <EOL> result = data . load ( """<STR_LIT>""" ) <EOL> self . assertEqual ( result , { '<STR_LIT>' : "<STR_LIT>" , '<STR_LIT>' : "<STR_LIT>" } ) <EOL> result = data . load ( """<STR_LIT>""" ) <EOL> self . assertEqual ( result , { '<STR_LIT:content>' : { '<STR_LIT>' : "<STR_LIT>" , '<STR_LIT>' : "<STR_LIT>" } } ) <EOL> result = data . load ( """<STR_LIT>""" ) <EOL> self . assertEqual ( result , <EOL> { '<STR_LIT:content>' : { '<STR_LIT>' : { '<STR_LIT>' : "<STR_LIT>" } , '<STR_LIT>' : { '<STR_LIT>' : "<STR_LIT>" } } } ) <EOL> result = data . load ( """<STR_LIT>""" ) <EOL> self . assertEqual ( result , <EOL> { '<STR_LIT:content>' : { '<STR_LIT>' : [ '<STR_LIT:1>' , '<STR_LIT:2>' , '<STR_LIT:3>' , '<STR_LIT:4>' ] } } ) <EOL> def test_list ( self ) : <EOL> result = data . load ( """<STR_LIT>""" ) <EOL> self . assertEqual ( result , [ ] ) <EOL> result = data . load ( """<STR_LIT>""" ) <EOL> self . assertEqual ( result , [ '<STR_LIT:1>' , '<STR_LIT:2>' , '<STR_LIT:3>' , '<STR_LIT:4>' ] ) <EOL> result = data . load ( """<STR_LIT>""" ) <EOL> self . assertEqual ( result , { '<STR_LIT:content>' : [ '<STR_LIT:1>' , '<STR_LIT:2>' , '<STR_LIT:3>' , '<STR_LIT:4>' ] } ) <EOL> result = data . load ( """<STR_LIT>""" ) <EOL> self . assertEqual ( result , { '<STR_LIT:content>' : [ [ '<STR_LIT:1>' , '<STR_LIT:2>' ] , [ '<STR_LIT:3>' , '<STR_LIT:4>' ] ] } ) <EOL> result = data . load ( """<STR_LIT>""" ) <EOL> self . assertEqual ( result , <EOL> { '<STR_LIT:content>' : [ { '<STR_LIT>' : "<STR_LIT>" } , { '<STR_LIT>' : "<STR_LIT>" } , { '<STR_LIT>' : "<STR_LIT>" } , { '<STR_LIT>' : "<STR_LIT>" } ] } ) <EOL> result = data . load ( """<STR_LIT>""" ) <EOL> self . assertEqual ( result , <EOL> { '<STR_LIT>' : '<STR_LIT>' , '<STR_LIT>' : '<STR_LIT>' , '<STR_LIT>' : '<STR_LIT:0>' } ) <EOL> def test_record ( self ) : <EOL> d = data . record ( ) <EOL> d . update ( { '<STR_LIT:foo>' : <NUM_LIT:5> , <EOL> '<STR_LIT>' : <NUM_LIT:6> , <EOL> '<STR_LIT>' : <NUM_LIT:7> , <EOL> '<STR_LIT>' : <NUM_LIT:8> , <EOL> '<STR_LIT>' : <NUM_LIT:9> } ) <EOL> self . assertEqual ( d [ '<STR_LIT:foo>' ] , <NUM_LIT:5> ) <EOL> self . assertEqual ( d [ '<STR_LIT>' ] , <NUM_LIT:6> ) <EOL> self . assertEqual ( d [ '<STR_LIT:bar>' ] , { '<STR_LIT>' : <NUM_LIT:6> , '<STR_LIT>' : <NUM_LIT:7> , '<STR_LIT>' : { '<STR_LIT>' : <NUM_LIT:8> , '<STR_LIT>' : <NUM_LIT:9> } } ) <EOL> self . assertEqual ( d . foo , <NUM_LIT:5> ) <EOL> self . assertEqual ( d . bar . baz , <NUM_LIT:6> ) <EOL> self . assertEqual ( d . bar , { '<STR_LIT>' : <NUM_LIT:6> , '<STR_LIT>' : <NUM_LIT:7> , '<STR_LIT>' : { '<STR_LIT>' : <NUM_LIT:8> , '<STR_LIT>' : <NUM_LIT:9> } } ) <EOL> self . assertRaises ( KeyError , d . __getitem__ , '<STR_LIT>' ) <EOL> if __name__ == "<STR_LIT:__main__>" : <EOL> try : <EOL> import unittest2 as unittest <EOL> except ImportError : <EOL> import unittest <EOL> unittest . main ( ) </s>
