<s> import sys <EOL> import os <EOL> import unittest <EOL> sys . path . append ( os . path . join ( os . path . dirname ( __file__ ) , '<STR_LIT>' ) ) <EOL> from systestlib import DutSystemTest <EOL> IP_PREFIX = '<STR_LIT>' <EOL> VR_CONFIG = { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : <NUM_LIT:200> , <EOL> '<STR_LIT:description>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : [ '<STR_LIT>' ] , <EOL> '<STR_LIT>' : <NUM_LIT:3> , <EOL> '<STR_LIT>' : False , <EOL> '<STR_LIT>' : <NUM_LIT:2> , <EOL> '<STR_LIT>' : <NUM_LIT:3> , <EOL> '<STR_LIT>' : False , <EOL> '<STR_LIT>' : <NUM_LIT:1> , <EOL> '<STR_LIT>' : None , <EOL> '<STR_LIT>' : <NUM_LIT:1> , <EOL> '<STR_LIT>' : [ <EOL> { '<STR_LIT:name>' : '<STR_LIT>' , '<STR_LIT:action>' : '<STR_LIT>' } , <EOL> { '<STR_LIT:name>' : '<STR_LIT>' , '<STR_LIT:action>' : '<STR_LIT>' , '<STR_LIT>' : <NUM_LIT:10> } , <EOL> { '<STR_LIT:name>' : '<STR_LIT>' , '<STR_LIT:action>' : '<STR_LIT>' } , <EOL> ] , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> } <EOL> class TestApiVrrp ( DutSystemTest ) : <EOL> def _vlan_setup ( self , dut ) : <EOL> dut . config ( [ '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' % IP_PREFIX , <EOL> '<STR_LIT>' ] ) <EOL> return '<STR_LIT>' <EOL> def test_get ( self ) : <EOL> vrid = <NUM_LIT> <EOL> for dut in self . duts : <EOL> interface = self . _vlan_setup ( dut ) <EOL> dut . config ( [ '<STR_LIT>' % interface , <EOL> '<STR_LIT>' % vrid , <EOL> '<STR_LIT>' ] ) <EOL> response = dut . api ( '<STR_LIT>' ) . get ( interface ) <EOL> self . assertIsNotNone ( response ) <EOL> def test_getall ( self ) : <EOL> vrid = <NUM_LIT> <EOL> vrid2 = <NUM_LIT> <EOL> for dut in self . duts : <EOL> interface = self . _vlan_setup ( dut ) <EOL> dut . config ( [ '<STR_LIT>' % interface , <EOL> '<STR_LIT>' % vrid , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' % vrid , <EOL> '<STR_LIT>' % vrid2 , <EOL> '<STR_LIT>' ] ) <EOL> response = dut . api ( '<STR_LIT>' ) . getall ( ) <EOL> self . assertIsNotNone ( response ) <EOL> def test_create ( self ) : <EOL> vrid = <NUM_LIT> <EOL> import copy <EOL> vrrp_conf = copy . deepcopy ( VR_CONFIG ) <EOL> for dut in self . duts : <EOL> interface = self . _vlan_setup ( dut ) <EOL> dut . config ( [ '<STR_LIT>' % interface , <EOL> '<STR_LIT>' % vrid , <EOL> '<STR_LIT>' ] ) <EOL> response = dut . api ( '<STR_LIT>' ) . create ( interface , vrid , ** vrrp_conf ) <EOL> self . assertIs ( response , True ) <EOL> vrrp_conf = dut . api ( '<STR_LIT>' ) . vrconf_format ( vrrp_conf ) <EOL> response = dut . api ( '<STR_LIT>' ) . get ( interface ) [ vrid ] <EOL> self . maxDiff = None <EOL> self . assertEqual ( response , vrrp_conf ) <EOL> def test_delete ( self ) : <EOL> vrid = <NUM_LIT> <EOL> for dut in self . duts : <EOL> interface = self . _vlan_setup ( dut ) <EOL> dut . config ( [ '<STR_LIT>' % interface , <EOL> '<STR_LIT>' % vrid , <EOL> '<STR_LIT>' % vrid , <EOL> '<STR_LIT>' ] ) <EOL> response = dut . api ( '<STR_LIT>' ) . delete ( interface , vrid ) <EOL> self . assertIs ( response , True ) <EOL> def test_default ( self ) : <EOL> vrid = <NUM_LIT> <EOL> for dut in self . duts : <EOL> interface = self . _vlan_setup ( dut ) <EOL> dut . config ( [ '<STR_LIT>' % interface , <EOL> '<STR_LIT>' % vrid , <EOL> '<STR_LIT>' % vrid , <EOL> '<STR_LIT>' ] ) <EOL> response = dut . api ( '<STR_LIT>' ) . delete ( interface , vrid ) <EOL> self . assertIs ( response , True ) <EOL> def test_update_with_create ( self ) : <EOL> pass <EOL> vrid = <NUM_LIT> <EOL> import copy <EOL> vrrp_conf = copy . deepcopy ( VR_CONFIG ) <EOL> for dut in self . duts : <EOL> interface = self . _vlan_setup ( dut ) <EOL> dut . config ( [ '<STR_LIT>' % interface , <EOL> '<STR_LIT>' % vrid , <EOL> '<STR_LIT>' ] ) <EOL> response = dut . api ( '<STR_LIT>' ) . create ( interface , vrid , ** vrrp_conf ) <EOL> self . assertIs ( response , True ) <EOL> vrrp_update = { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : <NUM_LIT:200> , <EOL> '<STR_LIT:description>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : [ '<STR_LIT>' , '<STR_LIT>' ] , <EOL> '<STR_LIT>' : <NUM_LIT:2> , <EOL> '<STR_LIT>' : True , <EOL> '<STR_LIT>' : None , <EOL> '<STR_LIT>' : '<STR_LIT:default>' , <EOL> '<STR_LIT>' : True , <EOL> '<STR_LIT>' : '<STR_LIT:default>' , <EOL> '<STR_LIT>' : '<STR_LIT:default>' , <EOL> '<STR_LIT>' : '<STR_LIT:default>' , <EOL> '<STR_LIT>' : [ <EOL> { '<STR_LIT:name>' : '<STR_LIT>' , '<STR_LIT:action>' : '<STR_LIT>' } , <EOL> { '<STR_LIT:name>' : '<STR_LIT>' , '<STR_LIT:action>' : '<STR_LIT>' , '<STR_LIT>' : <NUM_LIT:1> } , <EOL> ] , <EOL> '<STR_LIT>' : None , <EOL> } <EOL> response = dut . api ( '<STR_LIT>' ) . create ( interface , vrid , ** vrrp_update ) <EOL> self . assertIs ( response , True ) <EOL> vrrp_update = dut . api ( '<STR_LIT>' ) . vrconf_format ( vrrp_update ) <EOL> response = dut . api ( '<STR_LIT>' ) . get ( interface ) [ vrid ] <EOL> self . maxDiff = None <EOL> self . assertEqual ( response , vrrp_update ) <EOL> def test_set_enable ( self ) : <EOL> vrid = <NUM_LIT> <EOL> enable_cases = [ <EOL> { '<STR_LIT:value>' : True } , <EOL> { '<STR_LIT:value>' : False } , <EOL> { '<STR_LIT:value>' : True } , <EOL> { '<STR_LIT:value>' : False } , <EOL> ] <EOL> for dut in self . duts : <EOL> interface = self . _vlan_setup ( dut ) <EOL> dut . config ( [ '<STR_LIT>' % interface , <EOL> '<STR_LIT>' % vrid , <EOL> '<STR_LIT>' % vrid , <EOL> '<STR_LIT>' % vrid , <EOL> '<STR_LIT>' ] ) <EOL> for enable in enable_cases : <EOL> response = dut . api ( '<STR_LIT>' ) . set_enable ( <EOL> interface , vrid , ** enable ) <EOL> self . assertIs ( response , True ) <EOL> def test_set_primary_ip ( self ) : <EOL> vrid = <NUM_LIT> <EOL> primary_ip_cases = [ <EOL> { '<STR_LIT:value>' : '<STR_LIT>' } , <EOL> { '<STR_LIT:default>' : True } , <EOL> { '<STR_LIT:value>' : '<STR_LIT>' } , <EOL> { '<STR_LIT>' : True } , <EOL> { '<STR_LIT:value>' : '<STR_LIT>' } , <EOL> ] <EOL> for dut in self . duts : <EOL> interface = self . _vlan_setup ( dut ) <EOL> dut . config ( [ '<STR_LIT>' % interface , <EOL> '<STR_LIT>' % vrid , <EOL> '<STR_LIT>' % vrid , <EOL> '<STR_LIT>' ] ) <EOL> for p_ip in primary_ip_cases : <EOL> response = dut . api ( '<STR_LIT>' ) . set_primary_ip ( <EOL> interface , vrid , ** p_ip ) <EOL> self . assertIs ( response , True ) <EOL> def test_set_priority ( self ) : <EOL> vrid = <NUM_LIT> <EOL> priority_cases = [ <EOL> { '<STR_LIT:value>' : <NUM_LIT:200> } , <EOL> { '<STR_LIT:default>' : True } , <EOL> { '<STR_LIT:value>' : <NUM_LIT> } , <EOL> { '<STR_LIT>' : True } , <EOL> { '<STR_LIT:value>' : <NUM_LIT> } <EOL> ] <EOL> for dut in self . duts : <EOL> interface = self . _vlan_setup ( dut ) <EOL> dut . config ( [ '<STR_LIT>' % interface , <EOL> '<STR_LIT>' % vrid , <EOL> '<STR_LIT>' % vrid , <EOL> '<STR_LIT>' ] ) <EOL> for priority in priority_cases : <EOL> response = dut . api ( '<STR_LIT>' ) . set_priority ( <EOL> interface , vrid , ** priority ) <EOL> self . assertIs ( response , True ) <EOL> def test_set_description ( self ) : <EOL> vrid = <NUM_LIT> <EOL> desc_cases = [ <EOL> { '<STR_LIT:value>' : '<STR_LIT>' } , <EOL> { '<STR_LIT:default>' : True } , <EOL> { '<STR_LIT:value>' : '<STR_LIT>' } , <EOL> { '<STR_LIT>' : True } , <EOL> { '<STR_LIT:value>' : '<STR_LIT>' } , <EOL> ] <EOL> for dut in self . duts : <EOL> interface = self . _vlan_setup ( dut ) <EOL> dut . config ( [ '<STR_LIT>' % interface , <EOL> '<STR_LIT>' % vrid , <EOL> '<STR_LIT>' % vrid , <EOL> '<STR_LIT>' ] ) <EOL> for description in desc_cases : <EOL> response = dut . api ( '<STR_LIT>' ) . set_description ( <EOL> interface , vrid , ** description ) <EOL> self . assertIs ( response , True ) <EOL> def test_set_secondary_ips ( self ) : <EOL> vrid = <NUM_LIT> <EOL> secondary_ip_cases = [ <EOL> [ '<STR_LIT>' , '<STR_LIT>' ] , <EOL> [ '<STR_LIT>' , '<STR_LIT>' ] , <EOL> [ ] , <EOL> ] <EOL> for dut in self . duts : <EOL> interface = self . _vlan_setup ( dut ) <EOL> dut . config ( [ '<STR_LIT>' % interface , <EOL> '<STR_LIT>' % vrid , <EOL> '<STR_LIT>' % vrid , <EOL> '<STR_LIT>' ] ) <EOL> for s_ip_list in secondary_ip_cases : <EOL> response = dut . api ( '<STR_LIT>' ) . set_secondary_ips ( <EOL> interface , vrid , s_ip_list ) <EOL> self . assertIs ( response , True ) <EOL> def test_set_ip_version ( self ) : <EOL> vrid = <NUM_LIT> <EOL> ip_version_cases = [ <EOL> { '<STR_LIT:value>' : <NUM_LIT:2> } , <EOL> { '<STR_LIT:value>' : <NUM_LIT:3> } , <EOL> { '<STR_LIT:default>' : True } , <EOL> { '<STR_LIT:value>' : <NUM_LIT:3> } , <EOL> { '<STR_LIT>' : True } , <EOL> { '<STR_LIT:value>' : <NUM_LIT:3> } , <EOL> ] <EOL> for dut in self . duts : <EOL> interface = self . _vlan_setup ( dut ) <EOL> dut . config ( [ '<STR_LIT>' % interface , <EOL> '<STR_LIT>' % vrid , <EOL> '<STR_LIT>' % vrid , <EOL> '<STR_LIT>' ] ) <EOL> for ip_version in ip_version_cases : <EOL> response = dut . api ( '<STR_LIT>' ) . set_ip_version ( <EOL> interface , vrid , ** ip_version ) <EOL> self . assertIs ( response , True ) <EOL> def test_set_timers_advertise ( self ) : <EOL> vrid = <NUM_LIT> <EOL> timers_adv_cases = [ <EOL> { '<STR_LIT:value>' : <NUM_LIT:10> } , <EOL> { '<STR_LIT:default>' : True } , <EOL> { '<STR_LIT:value>' : <NUM_LIT:20> } , <EOL> { '<STR_LIT>' : True } , <EOL> { '<STR_LIT:value>' : <NUM_LIT:30> } , <EOL> ] <EOL> for dut in self . duts : <EOL> interface = self . _vlan_setup ( dut ) <EOL> dut . config ( [ '<STR_LIT>' % interface , <EOL> '<STR_LIT>' % vrid , <EOL> '<STR_LIT>' % vrid , <EOL> '<STR_LIT>' ] ) <EOL> for timers_advertise in timers_adv_cases : <EOL> response = dut . api ( '<STR_LIT>' ) . set_timers_advertise ( <EOL> interface , vrid , ** timers_advertise ) <EOL> self . assertIs ( response , True ) <EOL> def test_set_mac_addr_adv_interval ( self ) : <EOL> vrid = <NUM_LIT> <EOL> mac_addr_adv_int_cases = [ <EOL> { '<STR_LIT:value>' : <NUM_LIT:50> } , <EOL> { '<STR_LIT:default>' : True } , <EOL> { '<STR_LIT:value>' : <NUM_LIT> } , <EOL> { '<STR_LIT>' : True } , <EOL> { '<STR_LIT:value>' : <NUM_LIT> } , <EOL> ] <EOL> for dut in self . duts : <EOL> interface = self . _vlan_setup ( dut ) <EOL> dut . config ( [ '<STR_LIT>' % interface , <EOL> '<STR_LIT>' % vrid , <EOL> '<STR_LIT>' % vrid , <EOL> '<STR_LIT>' ] ) <EOL> for mac_addr_adv_intvl in mac_addr_adv_int_cases : <EOL> response = dut . api ( '<STR_LIT>' ) . set_mac_addr_adv_interval ( <EOL> interface , vrid , ** mac_addr_adv_intvl ) <EOL> self . assertIs ( response , True ) <EOL> def test_set_preempt ( self ) : <EOL> vrid = <NUM_LIT> <EOL> preempt_cases = [ <EOL> { '<STR_LIT:value>' : True } , <EOL> { '<STR_LIT:default>' : True } , <EOL> { '<STR_LIT:value>' : True } , <EOL> { '<STR_LIT>' : True } , <EOL> { '<STR_LIT:value>' : True } , <EOL> { '<STR_LIT:value>' : False } , <EOL> ] <EOL> for dut in self . duts : <EOL> interface = self . _vlan_setup ( dut ) <EOL> dut . config ( [ '<STR_LIT>' % interface , <EOL> '<STR_LIT>' % vrid , <EOL> '<STR_LIT>' % vrid , <EOL> '<STR_LIT>' ] ) <EOL> for preempt in preempt_cases : <EOL> response = dut . api ( '<STR_LIT>' ) . set_preempt ( <EOL> interface , vrid , ** preempt ) <EOL> self . assertIs ( response , True ) <EOL> def test_set_preempt_delay_min ( self ) : <EOL> vrid = <NUM_LIT> <EOL> preempt_delay_min_cases = [ <EOL> { '<STR_LIT:value>' : <NUM_LIT> } , <EOL> { '<STR_LIT:default>' : True } , <EOL> { '<STR_LIT:value>' : <NUM_LIT> } , <EOL> { '<STR_LIT>' : True } , <EOL> { '<STR_LIT:value>' : <NUM_LIT> } , <EOL> ] <EOL> for dut in self . duts : <EOL> interface = self . _vlan_setup ( dut ) <EOL> dut . config ( [ '<STR_LIT>' % interface , <EOL> '<STR_LIT>' % vrid , <EOL> '<STR_LIT>' % vrid , <EOL> '<STR_LIT>' ] ) <EOL> for preempt_delay_min in preempt_delay_min_cases : <EOL> response = dut . api ( '<STR_LIT>' ) . set_preempt_delay_min ( <EOL> interface , vrid , ** preempt_delay_min ) <EOL> self . assertIs ( response , True ) <EOL> def test_set_preempt_delay_reload ( self ) : <EOL> vrid = <NUM_LIT> <EOL> preempt_delay_reload_cases = [ <EOL> { '<STR_LIT:value>' : <NUM_LIT> } , <EOL> { '<STR_LIT:default>' : True } , <EOL> { '<STR_LIT:value>' : <NUM_LIT> } , <EOL> { '<STR_LIT>' : True } , <EOL> { '<STR_LIT:value>' : <NUM_LIT> } , <EOL> ] <EOL> for dut in self . duts : <EOL> interface = self . _vlan_setup ( dut ) <EOL> dut . config ( [ '<STR_LIT>' % interface , <EOL> '<STR_LIT>' % vrid , <EOL> '<STR_LIT>' % vrid , <EOL> '<STR_LIT>' ] ) <EOL> for preempt_delay_reload in preempt_delay_reload_cases : <EOL> response = dut . api ( '<STR_LIT>' ) . set_preempt_delay_reload ( <EOL> interface , vrid , ** preempt_delay_reload ) <EOL> self . assertIs ( response , True ) <EOL> def test_set_delay_reload ( self ) : <EOL> vrid = <NUM_LIT> <EOL> delay_reload_cases = [ <EOL> { '<STR_LIT:value>' : <NUM_LIT:30> } , <EOL> { '<STR_LIT:default>' : True } , <EOL> { '<STR_LIT:value>' : <NUM_LIT> } , <EOL> { '<STR_LIT>' : True } , <EOL> { '<STR_LIT:value>' : <NUM_LIT:15> } , <EOL> ] <EOL> for dut in self . duts : <EOL> interface = self . _vlan_setup ( dut ) <EOL> dut . config ( [ '<STR_LIT>' % interface , <EOL> '<STR_LIT>' % vrid , <EOL> '<STR_LIT>' % vrid , <EOL> '<STR_LIT>' ] ) <EOL> for delay_reload in delay_reload_cases : <EOL> response = dut . api ( '<STR_LIT>' ) . set_delay_reload ( <EOL> interface , vrid , ** delay_reload ) <EOL> self . assertIs ( response , True ) <EOL> def test_set_tracks ( self ) : <EOL> vrid = <NUM_LIT> <EOL> track_cases = [ <EOL> [ <EOL> { '<STR_LIT:name>' : '<STR_LIT>' , '<STR_LIT:action>' : '<STR_LIT>' } , <EOL> { '<STR_LIT:name>' : '<STR_LIT>' , '<STR_LIT:action>' : '<STR_LIT>' , '<STR_LIT>' : <NUM_LIT:10> } , <EOL> { '<STR_LIT:name>' : '<STR_LIT>' , '<STR_LIT:action>' : '<STR_LIT>' } , <EOL> ] , <EOL> [ <EOL> { '<STR_LIT:name>' : '<STR_LIT>' , '<STR_LIT:action>' : '<STR_LIT>' } , <EOL> ] , <EOL> [ <EOL> { '<STR_LIT:name>' : '<STR_LIT>' , '<STR_LIT:action>' : '<STR_LIT>' } , <EOL> { '<STR_LIT:name>' : '<STR_LIT>' , '<STR_LIT:action>' : '<STR_LIT>' , '<STR_LIT>' : <NUM_LIT:20> } , <EOL> { '<STR_LIT:name>' : '<STR_LIT>' , '<STR_LIT:action>' : '<STR_LIT>' } , <EOL> ] , <EOL> [ <EOL> { '<STR_LIT:name>' : '<STR_LIT>' , '<STR_LIT:action>' : '<STR_LIT>' } , <EOL> ] , <EOL> [ ] , <EOL> ] <EOL> for dut in self . duts : <EOL> interface = self . _vlan_setup ( dut ) <EOL> dut . config ( [ '<STR_LIT>' % interface , <EOL> '<STR_LIT>' % vrid , <EOL> '<STR_LIT>' % vrid , <EOL> '<STR_LIT>' ] ) <EOL> for track_list in track_cases : <EOL> response = dut . api ( '<STR_LIT>' ) . set_tracks ( <EOL> interface , vrid , track_list ) <EOL> self . assertIs ( response , True ) <EOL> def test_set_bfd_ip ( self ) : <EOL> vrid = <NUM_LIT> <EOL> bfd_ip_cases = [ <EOL> { '<STR_LIT:value>' : '<STR_LIT>' } , <EOL> { '<STR_LIT:default>' : True } , <EOL> { '<STR_LIT:value>' : '<STR_LIT>' } , <EOL> { '<STR_LIT>' : True } , <EOL> { '<STR_LIT:value>' : '<STR_LIT>' } , <EOL> ] <EOL> for dut in self . duts : <EOL> interface = self . _vlan_setup ( dut ) <EOL> dut . config ( [ '<STR_LIT>' % interface , <EOL> '<STR_LIT>' % vrid , <EOL> '<STR_LIT>' % vrid , <EOL> '<STR_LIT>' ] ) <EOL> for bfd_ip in bfd_ip_cases : <EOL> response = dut . api ( '<STR_LIT>' ) . set_bfd_ip ( <EOL> interface , vrid , ** bfd_ip ) <EOL> self . assertIs ( response , True ) <EOL> if __name__ == '<STR_LIT:__main__>' : <EOL> unittest . main ( ) </s>
