<s> from __future__ import absolute_import , division , print_function <EOL> import unittest <EOL> from . . import base <EOL> import mc_states . api <EOL> from salt . utils . odict import OrderedDict <EOL> import mock <EOL> six = mc_states . api . six <EOL> def _snets ( ) : <EOL> return { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : { '<STR_LIT:address>' : '<STR_LIT>' } , <EOL> } , <EOL> '<STR_LIT>' : [ <EOL> { '<STR_LIT>' : { '<STR_LIT:address>' : '<STR_LIT>' } } , <EOL> ] , <EOL> } <EOL> def _snet ( ) : <EOL> return { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : ( <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ) <EOL> } <EOL> def _nets ( ) : <EOL> return { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : { '<STR_LIT:address>' : '<STR_LIT>' } , <EOL> '<STR_LIT>' : { '<STR_LIT:address>' : '<STR_LIT>' } <EOL> } , <EOL> '<STR_LIT>' : [ <EOL> { '<STR_LIT>' : { '<STR_LIT:address>' : '<STR_LIT>' } } , <EOL> { '<STR_LIT>' : { '<STR_LIT:address>' : '<STR_LIT>' } } , <EOL> ] , <EOL> } <EOL> def _net ( ) : <EOL> return { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : ( <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' , <EOL> '<STR_LIT:127.0.0.1>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) <EOL> ) <EOL> } <EOL> def _local_nets ( ) : <EOL> return { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : { '<STR_LIT:address>' : '<STR_LIT>' } , <EOL> '<STR_LIT>' : { '<STR_LIT:address>' : '<STR_LIT>' } <EOL> } , <EOL> '<STR_LIT>' : [ <EOL> { '<STR_LIT>' : { '<STR_LIT:address>' : '<STR_LIT>' } } , <EOL> { '<STR_LIT>' : { '<STR_LIT:address>' : '<STR_LIT>' } } , <EOL> ] , <EOL> } <EOL> def _local_net ( ) : <EOL> return { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : ( <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' , <EOL> '<STR_LIT:127.0.0.1>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) <EOL> ) <EOL> } <EOL> class TestCase ( base . ModuleCase ) : <EOL> def test_configured_ifs ( self ) : <EOL> self . assertEqual ( <EOL> self . _ ( '<STR_LIT>' ) ( <EOL> { '<STR_LIT>' : { <EOL> '<STR_LIT>' : { '<STR_LIT>' : [ '<STR_LIT>' ] } , <EOL> '<STR_LIT>' : { '<STR_LIT>' : [ '<STR_LIT>' ] } <EOL> } } ) , <EOL> { '<STR_LIT>' : '<STR_LIT>' , '<STR_LIT>' : '<STR_LIT>' } ) <EOL> def test_get_endrule ( self ) : <EOL> self . assertEqual ( <EOL> self . _ ( '<STR_LIT>' ) ( <EOL> audit = None , limit = '<STR_LIT>' , log = True , log_prefix = '<STR_LIT>' ) , <EOL> '<STR_LIT>' ) <EOL> self . assertEqual ( <EOL> self . _ ( '<STR_LIT>' ) ( <EOL> audit = True , limit = '<STR_LIT>' , log = True , log_prefix = '<STR_LIT>' ) , <EOL> '<STR_LIT>' ) <EOL> self . assertEqual ( <EOL> self . _ ( '<STR_LIT>' ) ( <EOL> audit = True , limit = '<STR_LIT>' , log_prefix = '<STR_LIT>' ) , <EOL> '<STR_LIT>' ) <EOL> self . assertEqual ( <EOL> self . _ ( '<STR_LIT>' ) ( <EOL> audit = False , log = False , limit = '<STR_LIT>' ) , <EOL> '<STR_LIT>' ) <EOL> def test_get_public_ips ( self ) : <EOL> with self . patch ( <EOL> funcs = { <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : mock . MagicMock ( side_effect = _net ) , <EOL> '<STR_LIT>' : mock . MagicMock ( side_effect = _nets ) <EOL> } <EOL> } , <EOL> grains = { <EOL> '<STR_LIT>' : { '<STR_LIT>' : [ '<STR_LIT>' ] } <EOL> } , <EOL> filtered = [ '<STR_LIT>' ] , <EOL> kinds = [ '<STR_LIT>' ] <EOL> ) : <EOL> settings = self . _ ( '<STR_LIT>' ) ( ) <EOL> settings [ '<STR_LIT>' ] [ '<STR_LIT>' ] [ '<STR_LIT>' ] . append ( '<STR_LIT>' ) <EOL> ips = self . _ ( '<STR_LIT>' ) ( settings ) <EOL> self . assertEqual ( ips , <EOL> [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' ] ) <EOL> def test_get_lpublic_ips ( self ) : <EOL> with self . patch ( <EOL> funcs = { <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : <EOL> mock . MagicMock ( side_effect = _local_net ) , <EOL> '<STR_LIT>' : <EOL> mock . MagicMock ( side_effect = _local_nets ) <EOL> } <EOL> } , <EOL> grains = { <EOL> '<STR_LIT>' : { '<STR_LIT>' : [ '<STR_LIT>' ] } <EOL> } , <EOL> filtered = [ '<STR_LIT>' ] , <EOL> kinds = [ '<STR_LIT>' ] <EOL> ) : <EOL> settings = self . _ ( '<STR_LIT>' ) ( ) <EOL> settings [ '<STR_LIT>' ] [ '<STR_LIT>' ] [ '<STR_LIT>' ] . append ( '<STR_LIT>' ) <EOL> ips = self . _ ( '<STR_LIT>' ) ( settings ) <EOL> self . assertEqual ( ips , <EOL> [ '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' ] ) <EOL> def test_rich_rules ( self ) : <EOL> with self . patch ( <EOL> funcs = { <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : mock . MagicMock ( <EOL> side_effect = lambda : [ '<STR_LIT>' ] ) , <EOL> '<STR_LIT>' : mock . MagicMock ( side_effect = _net ) <EOL> } <EOL> } , <EOL> filtered = [ '<STR_LIT>' ] , <EOL> kinds = [ '<STR_LIT>' ] <EOL> ) : <EOL> data = self . _ ( '<STR_LIT>' ) ( <EOL> masquerade = True , <EOL> source = '<STR_LIT>' ) <EOL> self . assertEqual ( <EOL> data , <EOL> [ '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' ] ) <EOL> data = self . _ ( '<STR_LIT>' ) ( <EOL> service = '<STR_LIT:http>' , <EOL> forward_port = { '<STR_LIT:port>' : <NUM_LIT> , '<STR_LIT>' : '<STR_LIT>' } ) <EOL> self . assertEqual ( <EOL> data , <EOL> [ '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' ] <EOL> ) <EOL> rules = self . _ ( '<STR_LIT>' ) ( <EOL> port = <NUM_LIT> , <EOL> services = [ '<STR_LIT:http>' , '<STR_LIT>' ] , <EOL> destination = '<STR_LIT>' , <EOL> action = '<STR_LIT>' ) <EOL> self . assertEqual ( <EOL> rules , <EOL> [ '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' ] <EOL> ) <EOL> rules = self . _ ( '<STR_LIT>' ) ( <EOL> port = <NUM_LIT> , <EOL> services = [ '<STR_LIT:http>' , '<STR_LIT>' ] , <EOL> destination = '<STR_LIT>' , <EOL> action = '<STR_LIT>' ) <EOL> self . assertEqual ( <EOL> rules , <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> ) <EOL> self . assertEqual ( <EOL> self . _ ( '<STR_LIT>' ) ( <EOL> port = <NUM_LIT> , <EOL> destination = '<STR_LIT>' , <EOL> action = '<STR_LIT>' ) , <EOL> [ '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' ] <EOL> ) <EOL> data = self . _ ( '<STR_LIT>' ) ( <EOL> ports = [ <NUM_LIT> , <NUM_LIT> ] , <EOL> destination = '<STR_LIT>' , <EOL> forward_ports = [ <EOL> { '<STR_LIT:port>' : <NUM_LIT> , '<STR_LIT>' : '<STR_LIT>' } , <EOL> { '<STR_LIT:port>' : <NUM_LIT> , '<STR_LIT>' : <NUM_LIT> , '<STR_LIT>' : '<STR_LIT>' } , <EOL> { '<STR_LIT:port>' : <NUM_LIT> , '<STR_LIT>' : <NUM_LIT> } <EOL> ] ) <EOL> self . assertEqual ( <EOL> [ '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' ] , <EOL> data <EOL> ) <EOL> data = self . _ ( '<STR_LIT>' ) ( <EOL> destination = '<STR_LIT>' ) <EOL> self . assertEqual ( <EOL> data , <EOL> [ '<STR_LIT>' <EOL> '<STR_LIT>' ] <EOL> ) <EOL> data = self . _ ( '<STR_LIT>' ) ( <EOL> source = '<STR_LIT>' ) <EOL> self . assertEqual ( <EOL> data , <EOL> [ '<STR_LIT>' <EOL> '<STR_LIT>' ] <EOL> ) <EOL> data = self . _ ( '<STR_LIT>' ) ( <EOL> source = '<STR_LIT>' , <EOL> destination = '<STR_LIT>' ) <EOL> self . assertEqual ( <EOL> data , <EOL> [ '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' ] <EOL> ) <EOL> data = self . _ ( '<STR_LIT>' ) ( <EOL> icmp_block = True , <EOL> destination = '<STR_LIT>' ) <EOL> self . assertEqual ( <EOL> data , <EOL> [ '<STR_LIT>' ] <EOL> ) <EOL> data = self . _ ( '<STR_LIT>' ) ( <EOL> icmp_block = [ <NUM_LIT:9> ] , <EOL> destination = '<STR_LIT>' ) <EOL> self . assertEqual ( <EOL> data , <EOL> [ '<STR_LIT>' <EOL> '<STR_LIT>' ] <EOL> ) <EOL> def test_add_real_interfaces ( self ) : <EOL> def _do ( ) : <EOL> return { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : ( <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) <EOL> ) <EOL> } <EOL> with self . patch ( <EOL> funcs = { <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : mock . MagicMock ( side_effect = _do ) <EOL> } <EOL> } , <EOL> filtered = [ '<STR_LIT>' ] , <EOL> kinds = [ '<STR_LIT>' ] <EOL> ) : <EOL> data = self . _ ( '<STR_LIT>' ) ( { } ) <EOL> self . assertEqual ( <EOL> dict ( data [ "<STR_LIT>" ] ) , <EOL> { '<STR_LIT>' : { '<STR_LIT>' : [ '<STR_LIT>' , '<STR_LIT>' ] } , <EOL> '<STR_LIT>' : { '<STR_LIT>' : [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ] } , <EOL> '<STR_LIT>' : { '<STR_LIT>' : [ '<STR_LIT>' , '<STR_LIT>' ] } , <EOL> '<STR_LIT>' : { '<STR_LIT>' : [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ] } , <EOL> '<STR_LIT>' : { '<STR_LIT>' : [ '<STR_LIT>' ] } , <EOL> '<STR_LIT>' : { '<STR_LIT>' : [ '<STR_LIT>' ] } } ) <EOL> data = self . _ ( '<STR_LIT>' ) ( <EOL> { '<STR_LIT>' : True } ) <EOL> self . assertEqual ( <EOL> dict ( data [ "<STR_LIT>" ] ) , <EOL> { '<STR_LIT>' : { '<STR_LIT>' : [ '<STR_LIT>' , '<STR_LIT>' ] } , <EOL> '<STR_LIT>' : { '<STR_LIT>' : [ '<STR_LIT>' , '<STR_LIT>' ] } , <EOL> '<STR_LIT>' : { '<STR_LIT>' : [ '<STR_LIT>' , '<STR_LIT>' ] } , <EOL> '<STR_LIT>' : { '<STR_LIT>' : [ '<STR_LIT>' , '<STR_LIT>' ] } , <EOL> '<STR_LIT>' : { '<STR_LIT>' : [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ] } , <EOL> '<STR_LIT>' : { '<STR_LIT>' : [ '<STR_LIT>' ] } , <EOL> '<STR_LIT>' : { '<STR_LIT>' : [ '<STR_LIT>' ] } } ) <EOL> def test_is_allow_local ( self ) : <EOL> with self . patch ( <EOL> funcs = { <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : mock . MagicMock ( <EOL> side_effect = lambda : True ) <EOL> } <EOL> } , <EOL> filtered = [ '<STR_LIT>' ] , <EOL> kinds = [ '<STR_LIT>' ] <EOL> ) : <EOL> def _do ( ) : <EOL> return { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : { '<STR_LIT>' : '<STR_LIT>' } , <EOL> '<STR_LIT>' : ( <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) ) } <EOL> with self . patch ( <EOL> funcs = { <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : mock . MagicMock ( <EOL> side_effect = _do ) , <EOL> } <EOL> } , <EOL> filtered = [ '<STR_LIT>' ] , <EOL> kinds = [ '<STR_LIT>' ] <EOL> ) : <EOL> self . assertTrue ( self . _ ( '<STR_LIT>' ) ( ) ) <EOL> self . assertFalse ( self . _ ( '<STR_LIT>' ) ( ) ) <EOL> with self . patch ( <EOL> funcs = { <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : mock . MagicMock ( <EOL> side_effect = lambda : True ) <EOL> } <EOL> } , <EOL> filtered = [ '<STR_LIT>' ] , <EOL> kinds = [ '<STR_LIT>' ] <EOL> ) : <EOL> def _do ( ) : <EOL> return { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : { '<STR_LIT>' : '<STR_LIT>' } , <EOL> '<STR_LIT>' : ( <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) ) } <EOL> with self . patch ( <EOL> funcs = { <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : mock . MagicMock ( <EOL> side_effect = _do ) , <EOL> } <EOL> } , <EOL> filtered = [ '<STR_LIT>' ] , <EOL> kinds = [ '<STR_LIT>' ] <EOL> ) : <EOL> self . assertTrue ( self . _ ( '<STR_LIT>' ) ( ) ) <EOL> self . assertTrue ( self . _ ( '<STR_LIT>' ) ( ) ) <EOL> def test_is_allow_localb ( self ) : <EOL> with self . patch ( <EOL> funcs = { <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : mock . MagicMock ( <EOL> side_effect = lambda : False ) <EOL> } <EOL> } , <EOL> filtered = [ '<STR_LIT>' ] , <EOL> kinds = [ '<STR_LIT>' ] <EOL> ) : <EOL> def _do ( ) : <EOL> return { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : { '<STR_LIT>' : '<STR_LIT>' } , <EOL> '<STR_LIT>' : ( <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) ) } <EOL> with self . patch ( <EOL> funcs = { <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : mock . MagicMock ( <EOL> side_effect = _do ) , <EOL> } <EOL> } , <EOL> filtered = [ '<STR_LIT>' ] , <EOL> kinds = [ '<STR_LIT>' ] <EOL> ) : <EOL> self . assertFalse ( self . _ ( '<STR_LIT>' ) ( ) ) <EOL> with self . patch ( <EOL> funcs = { <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : mock . MagicMock ( <EOL> side_effect = lambda : False ) <EOL> } <EOL> } , <EOL> filtered = [ '<STR_LIT>' ] , <EOL> kinds = [ '<STR_LIT>' ] <EOL> ) : <EOL> def _do ( ) : <EOL> return { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : { '<STR_LIT>' : '<STR_LIT>' } , <EOL> '<STR_LIT>' : ( <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) , <EOL> ( '<STR_LIT>' , [ '<STR_LIT>' ] ) ) } <EOL> with self . patch ( <EOL> funcs = { <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : mock . MagicMock ( <EOL> side_effect = _do ) , <EOL> } <EOL> } , <EOL> filtered = [ '<STR_LIT>' ] , <EOL> kinds = [ '<STR_LIT>' ] <EOL> ) : <EOL> self . assertFalse ( self . _ ( '<STR_LIT>' ) ( ) ) <EOL> def test_default_settings ( self ) : <EOL> p = '<STR_LIT>' <EOL> with self . patch ( <EOL> filtered = [ '<STR_LIT>' ] , <EOL> kinds = [ '<STR_LIT>' ] , <EOL> pillar = OrderedDict ( [ <EOL> ( p + '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( p + '<STR_LIT>' , '<STR_LIT>' ) <EOL> ] ) <EOL> ) : <EOL> data = self . _ ( '<STR_LIT>' ) ( ) <EOL> self . assertTrue ( isinstance ( data , dict ) ) <EOL> self . assertTrue ( isinstance ( data [ '<STR_LIT>' ] , bool ) ) <EOL> self . assertTrue ( isinstance ( data [ '<STR_LIT>' ] , bool ) ) <EOL> self . assertEqual ( data [ '<STR_LIT>' ] , '<STR_LIT>' ) <EOL> for i in [ <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' <EOL> ] : <EOL> self . assertTrue ( i in data [ '<STR_LIT>' ] [ '<STR_LIT>' ] [ '<STR_LIT>' ] ) <EOL> def test_search_aliased_interfaces ( self ) : <EOL> data = self . _ ( '<STR_LIT>' ) ( <EOL> { '<STR_LIT>' : [ '<STR_LIT:foo>' , '<STR_LIT:bar>' ] , <EOL> '<STR_LIT>' : { '<STR_LIT:bar>' : { '<STR_LIT>' : [ '<STR_LIT>' ] } } } ) <EOL> self . assertEqual ( <EOL> data [ '<STR_LIT>' ] , <EOL> [ '<STR_LIT>' ] ) <EOL> self . assertEqual ( <EOL> data [ '<STR_LIT>' ] [ '<STR_LIT:bar>' ] [ '<STR_LIT>' ] , <EOL> [ '<STR_LIT>' ] ) <EOL> data = self . _ ( '<STR_LIT>' ) ( <EOL> { '<STR_LIT>' : [ '<STR_LIT:foo>' , '<STR_LIT:bar>' ] , <EOL> '<STR_LIT>' : [ '<STR_LIT>' ] , <EOL> '<STR_LIT>' : { '<STR_LIT:bar>' : { '<STR_LIT>' : [ '<STR_LIT>' ] } } } ) <EOL> self . assertEqual ( <EOL> data [ '<STR_LIT>' ] , <EOL> [ '<STR_LIT>' , '<STR_LIT>' ] ) <EOL> self . assertEqual ( <EOL> data [ '<STR_LIT>' ] [ '<STR_LIT:bar>' ] [ '<STR_LIT>' ] , <EOL> [ '<STR_LIT>' , '<STR_LIT>' ] ) <EOL> self . assertEqual ( <EOL> data [ '<STR_LIT>' ] [ '<STR_LIT:foo>' ] [ '<STR_LIT>' ] , <EOL> [ '<STR_LIT>' ] ) <EOL> def test_add_aliased_interfaces ( self ) : <EOL> data = self . _ ( '<STR_LIT>' ) ( <EOL> { '<STR_LIT>' : [ '<STR_LIT>' , '<STR_LIT>' ] , <EOL> '<STR_LIT>' : [ '<STR_LIT:foo>' , '<STR_LIT:bar>' ] , <EOL> '<STR_LIT>' : { '<STR_LIT:bar>' : { '<STR_LIT>' : [ '<STR_LIT>' , '<STR_LIT>' ] } , <EOL> '<STR_LIT:foo>' : { '<STR_LIT>' : [ '<STR_LIT>' ] } } } ) <EOL> count = self . _ ( '<STR_LIT>' ) ( ) [ '<STR_LIT>' ] <EOL> self . assertEqual ( len ( data [ '<STR_LIT>' ] [ '<STR_LIT:foo>' ] [ '<STR_LIT>' ] ) , count + <NUM_LIT:1> ) <EOL> self . assertEqual ( data [ '<STR_LIT>' ] [ '<STR_LIT:foo>' ] [ '<STR_LIT>' ] [ : <NUM_LIT:3> ] , <EOL> [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ] ) <EOL> self . assertEqual ( data [ '<STR_LIT>' ] [ '<STR_LIT:bar>' ] [ '<STR_LIT>' ] [ - <NUM_LIT:3> : ] , <EOL> [ '<STR_LIT>' . format ( count - <NUM_LIT:3> ) , <EOL> '<STR_LIT>' . format ( count - <NUM_LIT:2> ) , <EOL> '<STR_LIT>' . format ( count - <NUM_LIT:1> ) ] ) <EOL> def test_add_zone_policices ( self ) : <EOL> data = self . _ ( '<STR_LIT>' ) ( <EOL> { '<STR_LIT>' : [ ] , <EOL> '<STR_LIT>' : [ '<STR_LIT:foo>' ] , <EOL> '<STR_LIT>' : False , <EOL> '<STR_LIT>' : [ '<STR_LIT:bar>' ] , <EOL> '<STR_LIT>' : [ '<STR_LIT>' ] , <EOL> '<STR_LIT>' : [ '<STR_LIT>' ] , <EOL> '<STR_LIT>' : True , <EOL> '<STR_LIT>' : { '<STR_LIT:bar>' : { '<STR_LIT>' : [ '<STR_LIT>' ] } , <EOL> '<STR_LIT:foo>' : { '<STR_LIT>' : [ '<STR_LIT>' ] } } } ) <EOL> subset = [ '<STR_LIT>' <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' ] <EOL> self . assertEqual ( <EOL> [ a for a in data [ '<STR_LIT>' ] [ '<STR_LIT:bar>' ] [ '<STR_LIT>' ] if '<STR_LIT>' not in a ] , <EOL> subset ) <EOL> subset = [ '<STR_LIT>' <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' ] <EOL> self . assertEqual ( <EOL> [ a for a in data [ '<STR_LIT>' ] [ '<STR_LIT:foo>' ] [ '<STR_LIT>' ] if '<STR_LIT>' not in a ] , <EOL> subset ) <EOL> data = self . _ ( '<STR_LIT>' ) ( <EOL> { '<STR_LIT>' : [ ] , <EOL> '<STR_LIT>' : [ '<STR_LIT:foo>' ] , <EOL> '<STR_LIT>' : False , <EOL> '<STR_LIT>' : [ '<STR_LIT:bar>' ] , <EOL> '<STR_LIT>' : True , <EOL> '<STR_LIT>' : { '<STR_LIT:bar>' : { '<STR_LIT>' : [ '<STR_LIT>' ] } , <EOL> '<STR_LIT:foo>' : { '<STR_LIT>' : [ '<STR_LIT>' ] } } } ) <EOL> self . assertEqual ( data [ '<STR_LIT>' ] [ '<STR_LIT:bar>' ] [ '<STR_LIT:target>' ] , '<STR_LIT>' ) <EOL> self . assertEqual ( data [ '<STR_LIT>' ] [ '<STR_LIT:foo>' ] [ '<STR_LIT:target>' ] , '<STR_LIT>' ) <EOL> data = self . _ ( '<STR_LIT>' ) ( <EOL> { '<STR_LIT>' : [ ] , <EOL> '<STR_LIT>' : [ '<STR_LIT:foo>' ] , <EOL> '<STR_LIT>' : [ '<STR_LIT:bar>' ] , <EOL> '<STR_LIT>' : True , <EOL> '<STR_LIT>' : True , <EOL> '<STR_LIT>' : { '<STR_LIT:bar>' : { '<STR_LIT>' : [ '<STR_LIT>' ] } , <EOL> '<STR_LIT:foo>' : { '<STR_LIT>' : [ '<STR_LIT>' ] } } } ) <EOL> self . assertEqual ( data [ '<STR_LIT>' ] [ '<STR_LIT:foo>' ] [ '<STR_LIT:target>' ] , '<STR_LIT>' ) <EOL> self . assertEqual ( data [ '<STR_LIT>' ] [ '<STR_LIT:bar>' ] [ '<STR_LIT:target>' ] , '<STR_LIT>' ) <EOL> data = self . _ ( '<STR_LIT>' ) ( <EOL> { '<STR_LIT>' : [ ] , <EOL> '<STR_LIT>' : [ '<STR_LIT:foo>' ] , <EOL> '<STR_LIT>' : [ '<STR_LIT:bar>' ] , <EOL> '<STR_LIT>' : False , <EOL> '<STR_LIT>' : False , <EOL> '<STR_LIT>' : { '<STR_LIT:bar>' : { '<STR_LIT>' : [ '<STR_LIT>' ] } , <EOL> '<STR_LIT:foo>' : { '<STR_LIT>' : [ '<STR_LIT>' ] } } } ) <EOL> self . assertEqual ( data [ '<STR_LIT>' ] [ '<STR_LIT:foo>' ] [ '<STR_LIT:target>' ] , '<STR_LIT>' ) <EOL> self . assertEqual ( data [ '<STR_LIT>' ] [ '<STR_LIT:bar>' ] [ '<STR_LIT:target>' ] , '<STR_LIT>' ) <EOL> data = self . _ ( '<STR_LIT>' ) ( <EOL> { '<STR_LIT>' : [ ] , <EOL> '<STR_LIT>' : [ '<STR_LIT:foo>' ] , <EOL> '<STR_LIT>' : [ '<STR_LIT:bar>' ] , <EOL> '<STR_LIT>' : True , <EOL> '<STR_LIT>' : False , <EOL> '<STR_LIT>' : { '<STR_LIT:bar>' : { '<STR_LIT>' : [ '<STR_LIT>' ] } , <EOL> '<STR_LIT:foo>' : { '<STR_LIT>' : [ '<STR_LIT>' ] } } } ) <EOL> self . assertEqual ( data [ '<STR_LIT>' ] [ '<STR_LIT:foo>' ] [ '<STR_LIT:target>' ] , '<STR_LIT>' ) <EOL> self . assertEqual ( data [ '<STR_LIT>' ] [ '<STR_LIT:bar>' ] [ '<STR_LIT:target>' ] , '<STR_LIT>' ) <EOL> data = self . _ ( '<STR_LIT>' ) ( <EOL> { '<STR_LIT>' : [ ] , <EOL> '<STR_LIT>' : [ '<STR_LIT:foo>' ] , <EOL> '<STR_LIT>' : [ '<STR_LIT:bar>' ] , <EOL> '<STR_LIT>' : True , <EOL> '<STR_LIT>' : None , <EOL> '<STR_LIT>' : { '<STR_LIT:bar>' : { '<STR_LIT>' : [ '<STR_LIT>' ] } , <EOL> '<STR_LIT:foo>' : { '<STR_LIT>' : [ '<STR_LIT>' ] } } } ) <EOL> self . assertEqual ( data [ '<STR_LIT>' ] [ '<STR_LIT:foo>' ] [ '<STR_LIT:target>' ] , '<STR_LIT>' ) <EOL> self . assertEqual ( data [ '<STR_LIT>' ] [ '<STR_LIT:bar>' ] [ '<STR_LIT:target>' ] , '<STR_LIT>' ) <EOL> data = self . _ ( '<STR_LIT>' ) ( <EOL> { '<STR_LIT>' : [ ] , <EOL> '<STR_LIT>' : [ '<STR_LIT:foo>' ] , <EOL> '<STR_LIT>' : [ '<STR_LIT:bar>' ] , <EOL> '<STR_LIT>' : False , <EOL> '<STR_LIT>' : None , <EOL> '<STR_LIT>' : { '<STR_LIT:bar>' : { '<STR_LIT>' : [ '<STR_LIT>' ] } , <EOL> '<STR_LIT:foo>' : { '<STR_LIT>' : [ '<STR_LIT>' ] } } } ) <EOL> self . assertEqual ( data [ '<STR_LIT>' ] [ '<STR_LIT:foo>' ] [ '<STR_LIT:target>' ] , '<STR_LIT>' ) <EOL> self . assertEqual ( data [ '<STR_LIT>' ] [ '<STR_LIT:bar>' ] [ '<STR_LIT:target>' ] , '<STR_LIT>' ) <EOL> def test_1anatted_networks ( self ) : <EOL> def _do ( ) : <EOL> return { '<STR_LIT>' : [ '<STR_LIT:localhost>' ] } <EOL> with self . patch ( <EOL> funcs = { <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : <EOL> mock . MagicMock ( side_effect = _snet ) , <EOL> '<STR_LIT>' : <EOL> mock . MagicMock ( side_effect = _snets ) , <EOL> '<STR_LIT>' : mock . MagicMock ( <EOL> side_effect = _do ) , <EOL> } <EOL> } , <EOL> grains = { <EOL> '<STR_LIT>' : { '<STR_LIT>' : [ '<STR_LIT>' ] } <EOL> } , <EOL> filtered = [ '<STR_LIT>' ] , <EOL> kinds = [ '<STR_LIT>' ] <EOL> ) : <EOL> data = self . _ ( '<STR_LIT>' ) ( <EOL> { '<STR_LIT>' : [ ] , <EOL> '<STR_LIT>' : [ '<STR_LIT:a>' ] , <EOL> '<STR_LIT>' : [ '<STR_LIT:b>' ] , <EOL> '<STR_LIT>' : { '<STR_LIT:c>' : { } } , <EOL> '<STR_LIT>' : [ '<STR_LIT:foo>' ] , <EOL> '<STR_LIT>' : False , <EOL> '<STR_LIT>' : [ '<STR_LIT:bar>' , '<STR_LIT:foo>' ] , <EOL> '<STR_LIT>' : [ '<STR_LIT>' ] , <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : [ '<STR_LIT>' , '<STR_LIT>' ] , <EOL> '<STR_LIT>' : [ '<STR_LIT>' , '<STR_LIT>' ] , <EOL> } , <EOL> '<STR_LIT>' : [ '<STR_LIT:bar>' , '<STR_LIT:foo>' ] , <EOL> '<STR_LIT>' : [ ] , <EOL> '<STR_LIT>' : [ ] , <EOL> '<STR_LIT>' : True , <EOL> '<STR_LIT>' : { '<STR_LIT:bar>' : { '<STR_LIT>' : [ '<STR_LIT>' ] } , <EOL> '<STR_LIT>' : { '<STR_LIT>' : [ '<STR_LIT>' ] , <EOL> '<STR_LIT>' : [ '<STR_LIT:f>' ] , <EOL> '<STR_LIT>' : [ '<STR_LIT:e>' ] , <EOL> '<STR_LIT>' : { '<STR_LIT:d>' : { } } } , <EOL> '<STR_LIT:foo>' : { '<STR_LIT>' : [ '<STR_LIT>' ] } } } ) <EOL> self . assertEqual ( <EOL> data [ '<STR_LIT>' ] [ '<STR_LIT:foo>' ] . get ( '<STR_LIT>' , [ ] ) , <EOL> [ ] ) <EOL> self . assertEqual ( <EOL> data [ '<STR_LIT>' ] [ '<STR_LIT:bar>' ] . get ( '<STR_LIT>' , [ ] ) , <EOL> [ ] ) <EOL> self . assertEqual ( <EOL> data [ '<STR_LIT>' ] [ '<STR_LIT>' ] [ '<STR_LIT>' ] , <EOL> [ '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' ] ) <EOL> def test_service_policies ( self ) : <EOL> def _do ( ) : <EOL> return { '<STR_LIT>' : [ '<STR_LIT:localhost>' ] } <EOL> with self . patch ( <EOL> funcs = { <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : <EOL> mock . MagicMock ( side_effect = _snet ) , <EOL> '<STR_LIT>' : <EOL> mock . MagicMock ( side_effect = _snets ) , <EOL> '<STR_LIT>' : mock . MagicMock ( <EOL> side_effect = _do ) , <EOL> } <EOL> } , <EOL> grains = { <EOL> '<STR_LIT>' : { '<STR_LIT>' : [ '<STR_LIT>' ] } <EOL> } , <EOL> filtered = [ '<STR_LIT>' ] , <EOL> kinds = [ '<STR_LIT>' ] <EOL> ) : <EOL> data = self . _ ( '<STR_LIT>' ) ( <EOL> { '<STR_LIT>' : [ ] , <EOL> '<STR_LIT>' : [ '<STR_LIT:a>' ] , <EOL> '<STR_LIT>' : [ '<STR_LIT:b>' ] , <EOL> '<STR_LIT>' : { '<STR_LIT:c>' : { } } , <EOL> '<STR_LIT>' : [ '<STR_LIT:foo>' ] , <EOL> '<STR_LIT>' : False , <EOL> '<STR_LIT>' : [ '<STR_LIT:bar>' ] , <EOL> '<STR_LIT>' : [ ] , <EOL> '<STR_LIT>' : [ ] , <EOL> '<STR_LIT>' : True , <EOL> '<STR_LIT>' : { '<STR_LIT:bar>' : { '<STR_LIT>' : [ '<STR_LIT>' ] } , <EOL> '<STR_LIT>' : { '<STR_LIT>' : [ '<STR_LIT>' ] , <EOL> '<STR_LIT>' : [ '<STR_LIT:f>' ] , <EOL> '<STR_LIT>' : [ '<STR_LIT:e>' ] , <EOL> '<STR_LIT>' : { '<STR_LIT:d>' : { } } } , <EOL> '<STR_LIT:foo>' : { '<STR_LIT>' : [ '<STR_LIT>' ] } } } ) <EOL> self . assertEqual ( <EOL> data [ '<STR_LIT>' ] , <EOL> { '<STR_LIT:a>' : { } , '<STR_LIT:b>' : { } , '<STR_LIT:c>' : { } , '<STR_LIT:d>' : { } , '<STR_LIT:e>' : { } , '<STR_LIT:f>' : { } } ) <EOL> self . assertEqual ( <EOL> data [ '<STR_LIT>' ] [ '<STR_LIT:bar>' ] [ '<STR_LIT>' ] , <EOL> { '<STR_LIT:a>' : { } , '<STR_LIT:b>' : { } , '<STR_LIT:c>' : { } , '<STR_LIT:d>' : { } , '<STR_LIT:e>' : { } , '<STR_LIT:f>' : { } } ) <EOL> self . assertEqual ( <EOL> data [ '<STR_LIT>' ] [ '<STR_LIT>' ] [ '<STR_LIT>' ] , <EOL> { '<STR_LIT:a>' : { } , '<STR_LIT:b>' : { } , '<STR_LIT:c>' : { } , '<STR_LIT:d>' : { } , '<STR_LIT:e>' : { } , '<STR_LIT:f>' : { } } ) <EOL> self . assertEqual ( <EOL> data [ '<STR_LIT>' ] [ '<STR_LIT:foo>' ] [ '<STR_LIT>' ] , <EOL> { '<STR_LIT:a>' : { } , '<STR_LIT:b>' : { } , '<STR_LIT:c>' : { } , '<STR_LIT:d>' : { } , '<STR_LIT:e>' : { } , '<STR_LIT:f>' : { } } ) <EOL> self . assertEqual ( <EOL> data [ '<STR_LIT>' ] [ '<STR_LIT:bar>' ] [ '<STR_LIT>' ] , <EOL> [ '<STR_LIT:a>' ] ) <EOL> self . assertEqual ( <EOL> data [ '<STR_LIT>' ] [ '<STR_LIT:foo>' ] [ '<STR_LIT>' ] , <EOL> [ '<STR_LIT:a>' ] ) <EOL> self . assertEqual ( <EOL> data [ '<STR_LIT>' ] [ '<STR_LIT>' ] [ '<STR_LIT>' ] , <EOL> [ '<STR_LIT:f>' ] ) <EOL> self . assertEqual ( <EOL> data [ '<STR_LIT>' ] [ '<STR_LIT:bar>' ] [ '<STR_LIT>' ] , <EOL> [ '<STR_LIT:b>' ] ) <EOL> self . assertEqual ( <EOL> data [ '<STR_LIT>' ] [ '<STR_LIT:foo>' ] [ '<STR_LIT>' ] , <EOL> [ '<STR_LIT:b>' ] ) <EOL> self . assertEqual ( <EOL> data [ '<STR_LIT>' ] [ '<STR_LIT>' ] [ '<STR_LIT>' ] , <EOL> [ '<STR_LIT:e>' ] ) <EOL> self . assertEqual ( <EOL> data [ '<STR_LIT>' ] , <EOL> [ '<STR_LIT:a>' ] ) <EOL> self . assertEqual ( <EOL> data [ '<STR_LIT>' ] , <EOL> [ '<STR_LIT:b>' ] ) <EOL> self . assertEqual ( <EOL> data [ '<STR_LIT>' ] [ '<STR_LIT:foo>' ] [ '<STR_LIT>' ] , <EOL> [ '<STR_LIT>' <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' ] <EOL> ) <EOL> self . assertEqual ( <EOL> data [ '<STR_LIT>' ] [ '<STR_LIT:bar>' ] [ '<STR_LIT>' ] , <EOL> [ '<STR_LIT>' <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' ] <EOL> ) <EOL> self . assertEqual ( <EOL> data [ '<STR_LIT>' ] [ '<STR_LIT>' ] [ '<STR_LIT>' ] , <EOL> [ '<STR_LIT>' <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' ] <EOL> ) <EOL> if __name__ == '<STR_LIT:__main__>' : <EOL> unittest . main ( ) </s>
