Migrate existing SRRouting tests to use the new functions

Change-Id: I5d1fd5c3e0555126873f94109bd2af1e1c3b9fb5
diff --git a/TestON/tests/USECASE/SegmentRouting/SRRouting/SRRouting.py b/TestON/tests/USECASE/SegmentRouting/SRRouting/SRRouting.py
index 5f4157f..de05514 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRRouting/SRRouting.py
+++ b/TestON/tests/USECASE/SegmentRouting/SRRouting/SRRouting.py
@@ -7,112 +7,67 @@
         """
         Ping between all ipv4 hosts in the topology.
         """
-
-        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import SRRoutingTest
-
-        SRRoutingTest.runTest( main,
-                               test_idx=1,
-                               onosNodes=3,
-                               dhcp=1,
-                               routers=1,
-                               ipv4=1,
-                               ipv6=0,
-                               countFlowsGroups=False,
-                               linkFailure=False,
-                               description="Ping between all ipv4 hosts in the topology" )
+        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import *
+        from tests.USECASE.SegmentRouting.dependencies.Testcaselib import Testcaselib as lib
+        main.case( "Ping between all ipv4 hosts in the topology" )
+        setupTest( main, test_idx=1, onosNodes=3, ipv6=False, external=False )
+        verify( main, ipv6=False, disconnected=False, external=False )
+        lib.cleanup( main, copyKarafLog=False, removeHostComponent=True )
 
     def CASE2( self, main ):
         """
         Ping between all ipv6 hosts in the topology.
         """
-
-        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import SRRoutingTest
-
-        SRRoutingTest.runTest( main,
-                               test_idx=2,
-                               onosNodes=3,
-                               dhcp=1,
-                               routers=1,
-                               ipv4=0,
-                               ipv6=1,
-                               countFlowsGroups=False,
-                               linkFailure=False,
-                               description="Ping between all ipv6 hosts in the topology" )
+        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import *
+        from tests.USECASE.SegmentRouting.dependencies.Testcaselib import Testcaselib as lib
+        main.case( "Ping between all ipv6 hosts in the topology" )
+        setupTest( main, test_idx=2, onosNodes=3, ipv4=False, external=False )
+        verify( main, ipv4=False, disconnected=False, external=False )
+        lib.cleanup( main, copyKarafLog=False, removeHostComponent=True )
 
     def CASE3( self, main ):
         """
         Ping between all ipv4 and ipv6 hosts in the topology.
         """
-
-        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import SRRoutingTest
-
-        SRRoutingTest.runTest( main,
-                               test_idx=3,
-                               onosNodes=3,
-                               dhcp=1,
-                               routers=1,
-                               ipv4=1,
-                               ipv6=1,
-                               countFlowsGroups=False,
-                               linkFailure=False,
-                               description="Ping between all ipv4 and ipv6 hosts in the topology" )
+        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import *
+        from tests.USECASE.SegmentRouting.dependencies.Testcaselib import Testcaselib as lib
+        main.case( "Ping between all ipv4 and ipv6 hosts in the topology" )
+        setupTest( main, test_idx=3, onosNodes=3, external=False )
+        verify( main, disconnected=False, external=False )
+        lib.cleanup( main, copyKarafLog=False, removeHostComponent=True )
 
     def CASE4( self, main ):
         """
         Ping between all ipv4 hosts in the topology and check connectivity to external ipv4 hosts
         """
-
-        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import SRRoutingTest
-
-        SRRoutingTest.runTest( main,
-                               test_idx=4,
-                               onosNodes=3,
-                               dhcp=1,
-                               routers=1,
-                               ipv4=1,
-                               ipv6=0,
-                               description="Ping between all ipv4 hosts in the topology and check connectivity to external hosts",
-                               checkExternalHost=True,
-                               linkFailure=False,
-                               countFlowsGroups=False )
+        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import *
+        from tests.USECASE.SegmentRouting.dependencies.Testcaselib import Testcaselib as lib
+        main.case( "Ping between all ipv4 hosts in the topology and check connectivity to external ipv4 hosts" )
+        setupTest( main, test_idx=4, onosNodes=3, ipv6=False )
+        verify( main, ipv6=False, disconnected=False )
+        lib.cleanup( main, copyKarafLog=False, removeHostComponent=True )
 
     def CASE5( self, main ):
         """
         Ping between all ipv6 hosts in the topology and check connectivity to external ipv6 hosts
         """
-
-        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import SRRoutingTest
-
-        SRRoutingTest.runTest( main,
-                               test_idx=5,
-                               onosNodes=3,
-                               dhcp=1,
-                               routers=1,
-                               ipv4=0,
-                               ipv6=1,
-                               description="Ping between all ipv6 hosts in the topology and check connectivity to external hosts",
-                               checkExternalHost=True,
-                               linkFailure=False,
-                               countFlowsGroups=False )
+        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import *
+        from tests.USECASE.SegmentRouting.dependencies.Testcaselib import Testcaselib as lib
+        main.case( "Ping between all ipv6 hosts in the topology and check connectivity to external ipv6 hosts" )
+        setupTest( main, test_idx=5, onosNodes=3, ipv4=False )
+        verify( main, ipv4=False, disconnected=False )
+        lib.cleanup( main, copyKarafLog=False, removeHostComponent=True )
 
     def CASE6( self, main ):
         """
         Ping between all ipv4 and ipv6 hosts in the topology and check connectivity to external ipv4 and ipv6 hosts
         """
-
-        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import SRRoutingTest
-
-        SRRoutingTest.runTest( main,
-                               test_idx=6,
-                               onosNodes=3,
-                               dhcp=1,
-                               routers=1,
-                               ipv4=1,
-                               ipv6=1,
-                               description="Ping between all ipv4 and ipv6 hosts in the topology and check connectivity to external hosts",
-                               checkExternalHost=True,
-                               linkFailure=False,
-                               countFlowsGroups=False )
+        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import *
+        from tests.USECASE.SegmentRouting.dependencies.Testcaselib import Testcaselib as lib
+        main.case( "Ping between all ipv4 and ipv6 hosts in the topology and check connectivity to external hosts" )
+        setupTest( main, test_idx=6, onosNodes=3 )
+        verify( main, disconnected=False )
+        lib.cleanup( main, copyKarafLog=False, removeHostComponent=True )
 
     def CASE7( self, main ):
         """
@@ -120,21 +75,12 @@
         external router config, but reachable through the use of route-add
         command.
         """
-
-        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import SRRoutingTest
-
-        SRRoutingTest.runTest( main,
-                               test_idx=7,
-                               onosNodes=3,
-                               dhcp=1,
-                               routers=1,
-                               ipv4=1,
-                               ipv6=0,
-                               description="Ping between from ipv4 hosts to external host configured with route-add command.",
-                               checkExternalHost=False,
-                               countFlowsGroups=False,
-                               linkFailure=False,
-                               staticRouteConfigure=True )
+        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import *
+        from tests.USECASE.SegmentRouting.dependencies.Testcaselib import Testcaselib as lib
+        main.case( "Ping between from ipv4 hosts to external host configured with route-add command" )
+        setupTest( main, test_idx=7, onosNodes=3, ipv6=False, external=False )
+        verify( main, ipv6=False, internal=False, disconnected=False )
+        lib.cleanup( main, copyKarafLog=False, removeHostComponent=True )
 
     def CASE8( self, main ):
         """
@@ -142,21 +88,12 @@
         external router config, but reachable through the use of route-add
         command.
         """
-
-        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import SRRoutingTest
-
-        SRRoutingTest.runTest( main,
-                               test_idx=8,
-                               onosNodes=3,
-                               dhcp=1,
-                               routers=1,
-                               ipv4=0,
-                               ipv6=1,
-                               description="Ping between from ipv6 hosts to external host configured with route-add command.",
-                               checkExternalHost=False,
-                               countFlowsGroups=False,
-                               linkFailure=False,
-                               staticRouteConfigure=True )
+        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import *
+        from tests.USECASE.SegmentRouting.dependencies.Testcaselib import Testcaselib as lib
+        main.case( "Ping between from ipv6 hosts to external host configured with route-add command" )
+        setupTest( main, test_idx=8, onosNodes=3, ipv4=False, external=False )
+        verify( main, ipv6=False, internal=False, disconnected=False )
+        lib.cleanup( main, copyKarafLog=False, removeHostComponent=True )
 
     def CASE9( self, main ):
         """
@@ -164,141 +101,90 @@
         external router config, but reachable through the use of route-add
         command.
         """
-
-        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import SRRoutingTest
-
-        SRRoutingTest.runTest( main,
-                               test_idx=9,
-                               onosNodes=3,
-                               dhcp=1,
-                               routers=1,
-                               ipv4=1,
-                               ipv6=1,
-                               description="Ping between from ipv4 and ipv6 hosts to external hosts configured with route-add command.",
-                               checkExternalHost=False,
-                               countFlowsGroups=False,
-                               linkFailure=False,
-                               staticRouteConfigure=True )
+        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import *
+        from tests.USECASE.SegmentRouting.dependencies.Testcaselib import Testcaselib as lib
+        main.case( "Ping between from ipv4 and ipv6 hosts to external host configured with route-add command" )
+        setupTest( main, test_idx=9, onosNodes=3, external=False )
+        verify( main, internal=False, disconnected=False )
+        lib.cleanup( main, copyKarafLog=False, removeHostComponent=True )
 
     def CASE101( self, main ):
         """
         Kill and recover links
         Ping between all ipv4 hosts in the topology.
         """
-
-        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import SRRoutingTest
-
-        SRRoutingTest.runTest( main,
-                               test_idx=101,
-                               onosNodes=3,
-                               dhcp=1,
-                               routers=1,
-                               ipv4=1,
-                               ipv6=0,
-                               countFlowsGroups=False,
-                               linkFailure=True,
-                               description="Test link failures with IPv4 hosts",
-                               switchFailure=False )
+        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import *
+        from tests.USECASE.SegmentRouting.dependencies.Testcaselib import Testcaselib as lib
+        main.case( "Test link failures with IPv4 hosts" )
+        setupTest( main, test_idx=101, onosNodes=3, ipv6=False, external=False )
+        verify( main, ipv6=False, external=False, disconnected=False )
+        verifyLinkFailure( main, ipv6=False, external=False )
+        lib.cleanup( main, copyKarafLog=False, removeHostComponent=True )
 
     def CASE102( self, main ):
         """
         Kill and recover links
         Ping between all ipv6 hosts in the topology.
         """
-
-        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import SRRoutingTest
-
-        SRRoutingTest.runTest( main,
-                               test_idx=102,
-                               onosNodes=3,
-                               dhcp=1,
-                               routers=1,
-                               ipv4=0,
-                               ipv6=1,
-                               countFlowsGroups=False,
-                               linkFailure=True,
-                               description="Test link failures with IPv6 hosts",
-                               switchFailure=False )
+        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import *
+        from tests.USECASE.SegmentRouting.dependencies.Testcaselib import Testcaselib as lib
+        main.case( "Test link failures with IPv6 hosts" )
+        setupTest( main, test_idx=102, onosNodes=3, ipv4=False, external=False )
+        verify( main, ipv4=False, external=False, disconnected=False )
+        verifyLinkFailure( main, ipv4=False, external=False )
+        lib.cleanup( main, copyKarafLog=False, removeHostComponent=True )
 
     def CASE103( self, main ):
         """
         Kill and recover links
         Ping between all ipv4 and ipv6 hosts in the topology.
         """
-
-        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import SRRoutingTest
-
-        SRRoutingTest.runTest( main,
-                               test_idx=103,
-                               onosNodes=3,
-                               dhcp=1,
-                               routers=1,
-                               ipv4=1,
-                               ipv6=1,
-                               countFlowsGroups=False,
-                               linkFailure=True,
-                               description="Test link failures with IPv4 and IPv6 hosts",
-                               switchFailure=False )
+        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import *
+        from tests.USECASE.SegmentRouting.dependencies.Testcaselib import Testcaselib as lib
+        main.case( "Test link failures with IPv4 and IPv6 hosts" )
+        setupTest( main, test_idx=103, onosNodes=3, external=False )
+        verify( main, external=False, disconnected=False )
+        verifyLinkFailure( main, external=False )
+        lib.cleanup( main, copyKarafLog=False, removeHostComponent=True )
 
     def CASE104( self, main ):
         """
         Kill and recover links
         Ping between all ipv4 hosts in the topology and check connectivity to external ipv4 hosts
         """
-
-        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import SRRoutingTest
-
-        SRRoutingTest.runTest( main,
-                               test_idx=104,
-                               onosNodes=3,
-                               dhcp=1,
-                               routers=1,
-                               ipv4=1,
-                               ipv6=0,
-                               description="Test link failures with IPv4 hosts (including external hosts)",
-                               checkExternalHost=True,
-                               linkFailure=True,
-                               switchFailure=False )
+        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import *
+        from tests.USECASE.SegmentRouting.dependencies.Testcaselib import Testcaselib as lib
+        main.case( "Test link failures with IPv4 hosts including external hosts" )
+        setupTest( main, test_idx=104, onosNodes=3, ipv6=False )
+        verify( main, ipv6=False, disconnected=False )
+        verifyLinkFailure( main, ipv6=False )
+        lib.cleanup( main, copyKarafLog=False, removeHostComponent=True )
 
     def CASE105( self, main ):
         """
         Kill and recover links
         Ping between all ipv6 hosts in the topology and check connectivity to external ipv6 hosts
         """
-
-        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import SRRoutingTest
-
-        SRRoutingTest.runTest( main,
-                               test_idx=105,
-                               onosNodes=3,
-                               dhcp=1,
-                               routers=1,
-                               ipv4=0,
-                               ipv6=1,
-                               description="Test link failures with IPv6 hosts (including external hosts)",
-                               checkExternalHost=True,
-                               linkFailure=True,
-                               switchFailure=False )
+        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import *
+        from tests.USECASE.SegmentRouting.dependencies.Testcaselib import Testcaselib as lib
+        main.case( "Test link failures with IPv6 hosts including external hosts" )
+        setupTest( main, test_idx=105, onosNodes=3, ipv4=False )
+        verify( main, ipv4=False, disconnected=False )
+        verifyLinkFailure( main, ipv4=False )
+        lib.cleanup( main, copyKarafLog=False, removeHostComponent=True )
 
     def CASE106( self, main ):
         """
         Kill and recover links
         Ping between all ipv4 and ipv6 hosts in the topology and check connectivity to external ipv4 and ipv6 hosts
         """
-
-        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import SRRoutingTest
-
-        SRRoutingTest.runTest( main,
-                               test_idx=106,
-                               onosNodes=3,
-                               dhcp=1,
-                               routers=1,
-                               ipv4=1,
-                               ipv6=1,
-                               description="Test link failures with IPv4 and IPv6 hosts (including external hosts)",
-                               checkExternalHost=True,
-                               linkFailure=True,
-                               switchFailure=False )
+        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import *
+        from tests.USECASE.SegmentRouting.dependencies.Testcaselib import Testcaselib as lib
+        main.case( "Test link failures with IPv4 and IPv6 hosts including external hosts" )
+        setupTest( main, test_idx=106, onosNodes=3 )
+        verify( main, disconnected=False )
+        verifyLinkFailure( main )
+        lib.cleanup( main, copyKarafLog=False, removeHostComponent=True )
 
     def CASE107( self, main ):
         """
@@ -306,22 +192,13 @@
         Ping between ipv4 hosts and an external host that is not configured in
         external router config, but reachable through the use of route-add command.
         """
-
-        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import SRRoutingTest
-
-        SRRoutingTest.runTest( main,
-                               test_idx=107,
-                               onosNodes=3,
-                               dhcp=1,
-                               routers=1,
-                               ipv4=1,
-                               ipv6=0,
-                               description="Test link failures with IPv4 hosts (including external host configured with route-add command)",
-                               checkExternalHost=False,
-                               countFlowsGroups=False,
-                               linkFailure=True,
-                               staticRouteConfigure=True,
-                               switchFailure=False )
+        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import *
+        from tests.USECASE.SegmentRouting.dependencies.Testcaselib import Testcaselib as lib
+        main.case( "Test link failures with IPv4 hosts including external hosts configured with route-add command" )
+        setupTest( main, test_idx=107, onosNodes=3, ipv6=False, external=False )
+        verify( main, ipv6=False, disconnected=False )
+        verifyLinkFailure( main, ipv6=False, internal=False )
+        lib.cleanup( main, copyKarafLog=False, removeHostComponent=True )
 
     def CASE108( self, main ):
         """
@@ -329,22 +206,13 @@
         Ping between ipv6 hosts and an external host that is not configured in
         external router config, but reachable through the use of route-add command.
         """
-
-        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import SRRoutingTest
-
-        SRRoutingTest.runTest( main,
-                               test_idx=108,
-                               onosNodes=3,
-                               dhcp=1,
-                               routers=1,
-                               ipv4=0,
-                               ipv6=1,
-                               description="Test link failures with IPv6 hosts (including external host configured with route-add command)",
-                               checkExternalHost=False,
-                               countFlowsGroups=False,
-                               linkFailure=True,
-                               staticRouteConfigure=True,
-                               switchFailure=False )
+        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import *
+        from tests.USECASE.SegmentRouting.dependencies.Testcaselib import Testcaselib as lib
+        main.case( "Test link failures with IPv6 hosts including external hosts configured with route-add command" )
+        setupTest( main, test_idx=108, onosNodes=3, ipv4=False, external=False )
+        verify( main, ipv4=False, disconnected=False )
+        verifyLinkFailure( main, ipv4=False, internal=False )
+        lib.cleanup( main, copyKarafLog=False, removeHostComponent=True )
 
     def CASE109( self, main ):
         """
@@ -352,142 +220,91 @@
         Ping between ipv4 and pv6 hosts and external hosts that is not configured in
         external router config, but reachable through the use of route-add command.
         """
-
-        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import SRRoutingTest
-
-        SRRoutingTest.runTest( main,
-                               test_idx=109,
-                               onosNodes=3,
-                               dhcp=1,
-                               routers=1,
-                               ipv4=1,
-                               ipv6=1,
-                               description="Test link failures with IPv4 and IPv6 hosts (including external host configured with route-add command)",
-                               checkExternalHost=False,
-                               countFlowsGroups=False,
-                               linkFailure=True,
-                               staticRouteConfigure=True,
-                               switchFailure=False )
+        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import *
+        from tests.USECASE.SegmentRouting.dependencies.Testcaselib import Testcaselib as lib
+        main.case( "Test link failures with IPv4 and IPv6 hosts including external hosts configured with route-add command" )
+        setupTest( main, test_idx=109, onosNodes=3, external=False )
+        verify( main, disconnected=False )
+        verifyLinkFailure( main, internal=False )
+        lib.cleanup( main, copyKarafLog=False, removeHostComponent=True )
 
     def CASE201( self, main ):
         """
         Kill and recover spine switches
         Ping between all ipv4 hosts in the topology.
         """
-
-        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import SRRoutingTest
-
-        SRRoutingTest.runTest( main,
-                               test_idx=201,
-                               onosNodes=3,
-                               dhcp=1,
-                               routers=1,
-                               ipv4=1,
-                               ipv6=0,
-                               countFlowsGroups=False,
-                               linkFailure=False,
-                               description="Test switch failures with IPv4 hosts",
-                               switchFailure=True )
+        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import *
+        from tests.USECASE.SegmentRouting.dependencies.Testcaselib import Testcaselib as lib
+        main.case( "Test switch failures with IPv4 hosts" )
+        setupTest( main, test_idx=201, onosNodes=3, ipv6=False, external=False )
+        verify( main, ipv6=False, external=False, disconnected=False )
+        verifySwitchFailure( main, ipv6=False, external=False )
+        lib.cleanup( main, copyKarafLog=False, removeHostComponent=True )
 
     def CASE202( self, main ):
         """
         Kill and recover spine switches
         Ping between all ipv6 hosts in the topology.
         """
-
-        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import SRRoutingTest
-
-        SRRoutingTest.runTest( main,
-                               test_idx=202,
-                               onosNodes=3,
-                               dhcp=1,
-                               routers=1,
-                               ipv4=0,
-                               ipv6=1,
-                               countFlowsGroups=False,
-                               linkFailure=False,
-                               description="Test switch failures with IPv6 hosts",
-                               switchFailure=True )
+        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import *
+        from tests.USECASE.SegmentRouting.dependencies.Testcaselib import Testcaselib as lib
+        main.case( "Test switch failures with IPv6 hosts" )
+        setupTest( main, test_idx=202, onosNodes=3, ipv4=False, external=False )
+        verify( main, ipv4=False, external=False, disconnected=False )
+        verifySwitchFailure( main, ipv4=False, external=False )
+        lib.cleanup( main, copyKarafLog=False, removeHostComponent=True )
 
     def CASE203( self, main ):
         """
         Kill and recover spine switches
         Ping between all ipv4 and ipv6 hosts in the topology.
         """
-
-        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import SRRoutingTest
-
-        SRRoutingTest.runTest( main,
-                               test_idx=203,
-                               onosNodes=3,
-                               dhcp=1,
-                               routers=1,
-                               ipv4=1,
-                               ipv6=1,
-                               countFlowsGroups=False,
-                               linkFailure=False,
-                               description="Test switch failures with IPv4 and IPv6 hosts",
-                               switchFailure=True )
+        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import *
+        from tests.USECASE.SegmentRouting.dependencies.Testcaselib import Testcaselib as lib
+        main.case( "Test switch failures with IPv4 and IPv6 hosts" )
+        setupTest( main, test_idx=203, onosNodes=3, external=False )
+        verify( main, external=False, disconnected=False )
+        verifySwitchFailure( main, external=False )
+        lib.cleanup( main, copyKarafLog=False, removeHostComponent=True )
 
     def CASE204( self, main ):
         """
         Kill and recover spine switches
         Ping between all ipv4 hosts in the topology and check connectivity to external ipv4 hosts
         """
-
-        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import SRRoutingTest
-
-        SRRoutingTest.runTest( main,
-                               test_idx=204,
-                               onosNodes=3,
-                               dhcp=1,
-                               routers=1,
-                               ipv4=1,
-                               ipv6=0,
-                               description="Test switch failures with IPv4 hosts (including external hosts)",
-                               checkExternalHost=True,
-                               linkFailure=False,
-                               switchFailure=True )
+        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import *
+        from tests.USECASE.SegmentRouting.dependencies.Testcaselib import Testcaselib as lib
+        main.case( "Test switch failures with IPv4 hosts including external hosts" )
+        setupTest( main, test_idx=204, onosNodes=3, ipv6=False )
+        verify( main, ipv6=False, disconnected=False )
+        verifySwitchFailure( main, ipv6=False )
+        lib.cleanup( main, copyKarafLog=False, removeHostComponent=True )
 
     def CASE205( self, main ):
         """
         Kill and recover spine switches
         Ping between all ipv6 hosts in the topology and check connectivity to external ipv6 hosts
         """
-
-        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import SRRoutingTest
-
-        SRRoutingTest.runTest( main,
-                               test_idx=205,
-                               onosNodes=3,
-                               dhcp=1,
-                               routers=1,
-                               ipv4=0,
-                               ipv6=1,
-                               description="Test switch failures with IPv6 hosts (including external hosts)",
-                               checkExternalHost=True,
-                               linkFailure=False,
-                               switchFailure=True )
+        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import *
+        from tests.USECASE.SegmentRouting.dependencies.Testcaselib import Testcaselib as lib
+        main.case( "Test switch failures with IPv6 hosts including external hosts" )
+        setupTest( main, test_idx=205, onosNodes=3, ipv4=False )
+        verify( main, ipv4=False, disconnected=False )
+        verifySwitchFailure( main, ipv4=False )
+        lib.cleanup( main, copyKarafLog=False, removeHostComponent=True )
 
     def CASE206( self, main ):
         """
         Kill and recover spine switches
         Ping between all ipv4 and ipv6 hosts in the topology and check connectivity to external ipv4 and ipv6 hosts
         """
-
-        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import SRRoutingTest
-
-        SRRoutingTest.runTest( main,
-                               test_idx=206,
-                               onosNodes=3,
-                               dhcp=1,
-                               routers=1,
-                               ipv4=1,
-                               ipv6=1,
-                               description="Test switch failures with IPv4 and IPv6 hosts (including external hosts)",
-                               checkExternalHost=True,
-                               linkFailure=False,
-                               switchFailure=True )
+        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import *
+        from tests.USECASE.SegmentRouting.dependencies.Testcaselib import Testcaselib as lib
+        main.case( "Test switch failures with IPv4 and IPv6 hosts including external hosts" )
+        setupTest( main, test_idx=206, onosNodes=3 )
+        verify( main, disconnected=False )
+        verifySwitchFailure( main )
+        lib.cleanup( main, copyKarafLog=False, removeHostComponent=True )
 
     def CASE207( self, main ):
         """
@@ -495,22 +312,13 @@
         Ping between ipv4 hosts and an external host that is not configured in
         external router config, but reachable through the use of route-add command.
         """
-
-        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import SRRoutingTest
-
-        SRRoutingTest.runTest( main,
-                               test_idx=207,
-                               onosNodes=3,
-                               dhcp=1,
-                               routers=1,
-                               ipv4=1,
-                               ipv6=0,
-                               description="Test switch failures with IPv4 hosts (including external host configured with route-add command)",
-                               checkExternalHost=False,
-                               countFlowsGroups=False,
-                               linkFailure=False,
-                               staticRouteConfigure=True,
-                               switchFailure=True )
+        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import *
+        from tests.USECASE.SegmentRouting.dependencies.Testcaselib import Testcaselib as lib
+        main.case( "Test switch failures with IPv4 hosts including external hosts configured with route-add command" )
+        setupTest( main, test_idx=207, onosNodes=3, ipv6=False, external=False )
+        verify( main, ipv6=False, disconnected=False )
+        verifySwitchFailure( main, ipv6=False, internal=False )
+        lib.cleanup( main, copyKarafLog=False, removeHostComponent=True )
 
     def CASE208( self, main ):
         """
@@ -518,22 +326,13 @@
         Ping between ipv6 hosts and an external host that is not configured in
         external router config, but reachable through the use of route-add command.
         """
-
-        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import SRRoutingTest
-
-        SRRoutingTest.runTest( main,
-                               test_idx=208,
-                               onosNodes=3,
-                               dhcp=1,
-                               routers=1,
-                               ipv4=0,
-                               ipv6=1,
-                               description="Test switch failures with IPv6 hosts (including external host configured with route-add command)",
-                               checkExternalHost=False,
-                               countFlowsGroups=False,
-                               linkFailure=False,
-                               staticRouteConfigure=True,
-                               switchFailure=True )
+        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import *
+        from tests.USECASE.SegmentRouting.dependencies.Testcaselib import Testcaselib as lib
+        main.case( "Test switch failures with IPv6 hosts including external hosts configured with route-add command" )
+        setupTest( main, test_idx=208, onosNodes=3, ipv4=False, external=False )
+        verify( main, ipv4=False, disconnected=False )
+        verifySwitchFailure( main, ipv4=False, internal=False )
+        lib.cleanup( main, copyKarafLog=False, removeHostComponent=True )
 
     def CASE209( self, main ):
         """
@@ -541,202 +340,133 @@
         Ping between ipv4 and pv6 hosts and external hosts that is not configured in
         external router config, but reachable through the use of route-add command.
         """
-
-        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import SRRoutingTest
-
-        SRRoutingTest.runTest( main,
-                               test_idx=209,
-                               onosNodes=3,
-                               dhcp=1,
-                               routers=1,
-                               ipv4=1,
-                               ipv6=1,
-                               description="Test switch failures with IPv4 and IPv6 hosts (including external host configured with route-add command)",
-                               checkExternalHost=False,
-                               countFlowsGroups=False,
-                               linkFailure=False,
-                               staticRouteConfigure=True,
-                               switchFailure=True )
+        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import *
+        from tests.USECASE.SegmentRouting.dependencies.Testcaselib import Testcaselib as lib
+        main.case( "Test switch failures with IPv4 and IPv6 hosts including external hosts configured with route-add command" )
+        setupTest( main, test_idx=209, onosNodes=3, external=False )
+        verify( main, disconnected=False )
+        verifySwitchFailure( main, internal=False )
+        lib.cleanup( main, copyKarafLog=False, removeHostComponent=True )
 
     def CASE301( self, main ):
         """
-        Kill and recover ONOS nodes
+        Kill and recover onos nodes
         Ping between all ipv4 hosts in the topology.
         """
-
-        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import SRRoutingTest
-
-        SRRoutingTest.runTest( main,
-                               test_idx=301,
-                               onosNodes=3,
-                               dhcp=1,
-                               routers=1,
-                               ipv4=1,
-                               ipv6=0,
-                               countFlowsGroups=False,
-                               description="Test node failures with IPv4 hosts",
-                               nodeFailure=True )
+        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import *
+        from tests.USECASE.SegmentRouting.dependencies.Testcaselib import Testcaselib as lib
+        main.case( "Test onos failures with IPv4 hosts" )
+        setupTest( main, test_idx=301, onosNodes=3, ipv6=False, external=False )
+        verify( main, ipv6=False, external=False, disconnected=False )
+        verifyOnosFailure( main, ipv6=False, external=False )
+        lib.cleanup( main, copyKarafLog=False, removeHostComponent=True )
 
     def CASE302( self, main ):
         """
-        Kill and recover ONOS nodes
+        Kill and recover onos nodes
         Ping between all ipv6 hosts in the topology.
         """
-
-        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import SRRoutingTest
-
-        SRRoutingTest.runTest( main,
-                               test_idx=302,
-                               onosNodes=3,
-                               dhcp=1,
-                               routers=1,
-                               ipv4=0,
-                               ipv6=1,
-                               countFlowsGroups=False,
-                               description="Test node failures with IPv6 hosts",
-                               nodeFailure=True )
+        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import *
+        from tests.USECASE.SegmentRouting.dependencies.Testcaselib import Testcaselib as lib
+        main.case( "Test onos failures with IPv6 hosts" )
+        setupTest( main, test_idx=302, onosNodes=3, ipv4=False, external=False )
+        verify( main, ipv4=False, external=False, disconnected=False )
+        verifyOnosFailure( main, ipv4=False, external=False )
+        lib.cleanup( main, copyKarafLog=False, removeHostComponent=True )
 
     def CASE303( self, main ):
         """
-        Kill and recover ONOS nodes
+        Kill and recover onos nodes
         Ping between all ipv4 and ipv6 hosts in the topology.
         """
-
-        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import SRRoutingTest
-
-        SRRoutingTest.runTest( main,
-                               test_idx=303,
-                               onosNodes=3,
-                               dhcp=1,
-                               routers=1,
-                               ipv4=1,
-                               ipv6=1,
-                               countFlowsGroups=False,
-                               description="Test node failures with IPv4 and IPv6 hosts",
-                               nodeFailure=True )
+        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import *
+        from tests.USECASE.SegmentRouting.dependencies.Testcaselib import Testcaselib as lib
+        main.case( "Test onos failures with IPv4 and IPv6 hosts" )
+        setupTest( main, test_idx=303, onosNodes=3, external=False )
+        verify( main, external=False, disconnected=False )
+        verifyOnosFailure( main, external=False )
+        lib.cleanup( main, copyKarafLog=False, removeHostComponent=True )
 
     def CASE304( self, main ):
         """
-        Kill and recover ONOS nodes
+        Kill and recover onos nodes
         Ping between all ipv4 hosts in the topology and check connectivity to external ipv4 hosts
         """
-
-        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import SRRoutingTest
-
-        SRRoutingTest.runTest( main,
-                               test_idx=304,
-                               onosNodes=3,
-                               dhcp=1,
-                               routers=1,
-                               ipv4=1,
-                               ipv6=0,
-                               description="Test node failures with IPv4 hosts (including external hosts)",
-                               checkExternalHost=True,
-                               nodeFailure=True )
+        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import *
+        from tests.USECASE.SegmentRouting.dependencies.Testcaselib import Testcaselib as lib
+        main.case( "Test onos failures with IPv4 hosts including external hosts" )
+        setupTest( main, test_idx=304, onosNodes=3, ipv6=False )
+        verify( main, ipv6=False, disconnected=False )
+        verifyOnosFailure( main, ipv6=False )
+        lib.cleanup( main, copyKarafLog=False, removeHostComponent=True )
 
     def CASE305( self, main ):
         """
-        Kill and recover ONOS nodes
+        Kill and recover onos nodes
         Ping between all ipv6 hosts in the topology and check connectivity to external ipv6 hosts
         """
-
-        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import SRRoutingTest
-
-        SRRoutingTest.runTest( main,
-                               test_idx=305,
-                               onosNodes=3,
-                               dhcp=1,
-                               routers=1,
-                               ipv4=0,
-                               ipv6=1,
-                               description="Test node failures with IPv6 hosts (including external hosts)",
-                               checkExternalHost=True,
-                               nodeFailure=True )
+        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import *
+        from tests.USECASE.SegmentRouting.dependencies.Testcaselib import Testcaselib as lib
+        main.case( "Test onos failures with IPv6 hosts including external hosts" )
+        setupTest( main, test_idx=305, onosNodes=3, ipv4=False )
+        verify( main, ipv4=False, disconnected=False )
+        verifyOnosFailure( main, ipv4=False )
+        lib.cleanup( main, copyKarafLog=False, removeHostComponent=True )
 
     def CASE306( self, main ):
         """
-        Kill and recover ONOS nodes
+        Kill and recover onos nodes
         Ping between all ipv4 and ipv6 hosts in the topology and check connectivity to external ipv4 and ipv6 hosts
         """
-
-        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import SRRoutingTest
-
-        SRRoutingTest.runTest( main,
-                               test_idx=306,
-                               onosNodes=3,
-                               dhcp=1,
-                               routers=1,
-                               ipv4=1,
-                               ipv6=1,
-                               description="Test node failures with IPv4 and IPv6 hosts (including external hosts)",
-                               checkExternalHost=True,
-                               nodeFailure=True )
+        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import *
+        from tests.USECASE.SegmentRouting.dependencies.Testcaselib import Testcaselib as lib
+        main.case( "Test onos failures with IPv4 and IPv6 hosts including external hosts" )
+        setupTest( main, test_idx=306, onosNodes=3 )
+        verify( main, disconnected=False )
+        verifyOnosFailure( main )
+        lib.cleanup( main, copyKarafLog=False, removeHostComponent=True )
 
     def CASE307( self, main ):
         """
-        Kill and recover ONOS nodes
+        Kill and recover onos nodes
         Ping between ipv4 hosts and an external host that is not configured in
         external router config, but reachable through the use of route-add command.
         """
-
-        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import SRRoutingTest
-
-        SRRoutingTest.runTest( main,
-                               test_idx=307,
-                               onosNodes=3,
-                               dhcp=1,
-                               routers=1,
-                               ipv4=1,
-                               ipv6=0,
-                               description="Test node failures with IPv4 hosts (including external host configured with route-add command)",
-                               checkExternalHost=False,
-                               countFlowsGroups=False,
-                               staticRouteConfigure=True,
-                               nodeFailure=True )
+        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import *
+        from tests.USECASE.SegmentRouting.dependencies.Testcaselib import Testcaselib as lib
+        main.case( "Test onos failures with IPv4 hosts including external hosts configured with route-add command" )
+        setupTest( main, test_idx=307, onosNodes=3, ipv6=False, external=False )
+        verify( main, ipv6=False, disconnected=False )
+        verifyOnosFailure( main, ipv6=False, internal=False )
+        lib.cleanup( main, copyKarafLog=False, removeHostComponent=True )
 
     def CASE308( self, main ):
         """
-        Kill and recover ONOS nodes
+        Kill and recover onos nodes
         Ping between ipv6 hosts and an external host that is not configured in
         external router config, but reachable through the use of route-add command.
         """
-
-        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import SRRoutingTest
-
-        SRRoutingTest.runTest( main,
-                               test_idx=308,
-                               onosNodes=3,
-                               dhcp=1,
-                               routers=1,
-                               ipv4=0,
-                               ipv6=1,
-                               description="Test node failures with IPv6 hosts (including external host configured with route-add command)",
-                               checkExternalHost=False,
-                               countFlowsGroups=False,
-                               staticRouteConfigure=True,
-                               nodeFailure=True )
+        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import *
+        from tests.USECASE.SegmentRouting.dependencies.Testcaselib import Testcaselib as lib
+        main.case( "Test onos failures with IPv6 hosts including external hosts configured with route-add command" )
+        setupTest( main, test_idx=308, onosNodes=3, ipv4=False, external=False )
+        verify( main, ipv4=False, disconnected=False )
+        verifyOnosFailure( main, ipv4=False, internal=False )
+        lib.cleanup( main, copyKarafLog=False, removeHostComponent=True )
 
     def CASE309( self, main ):
         """
-        Kill and recover ONOS nodes
+        Kill and recover onos nodes
         Ping between ipv4 and pv6 hosts and external hosts that is not configured in
         external router config, but reachable through the use of route-add command.
         """
-
-        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import SRRoutingTest
-
-        SRRoutingTest.runTest( main,
-                               test_idx=309,
-                               onosNodes=3,
-                               dhcp=1,
-                               routers=1,
-                               ipv4=1,
-                               ipv6=1,
-                               description="Test node failures with IPv4 and IPv6 hosts (including external host configured with route-add command)",
-                               checkExternalHost=False,
-                               countFlowsGroups=False,
-                               staticRouteConfigure=True,
-                               nodeFailure=True )
+        from tests.USECASE.SegmentRouting.SRRouting.dependencies.SRRoutingTest import *
+        from tests.USECASE.SegmentRouting.dependencies.Testcaselib import Testcaselib as lib
+        main.case( "Test onos failures with IPv4 and IPv6 hosts including external hosts configured with route-add command" )
+        setupTest( main, test_idx=309, onosNodes=3, external=False )
+        verify( main, disconnected=False )
+        verifyOnosFailure( main, internal=False )
+        lib.cleanup( main, copyKarafLog=False, removeHostComponent=True )
 
     def CASE606( self, main ):
         """
@@ -751,21 +481,19 @@
         from tests.USECASE.SegmentRouting.dependencies.Testcaselib import Testcaselib as lib
         main.case( "Drop spine and paired leaf" )
         setupTest( main, test_idx=606, onosNodes=3 )
-        main.disconnectedIpv4Hosts = []
-        main.disconnectedIpv6Hosts = []
-        verifyPing( main )
-        lib.killSwitch( main, "spine101", int( main.params[ "TOPO" ][ "switchNum" ] ) - 1, int( main.params[ "TOPO" ][ "linkNum" ] ) - 18 )
-        verifyPing( main )
-        lib.killSwitch( main, "leaf2", int( main.params[ "TOPO" ][ "switchNum" ] ) - 2, int( main.params[ "TOPO" ][ "linkNum" ] ) - 24 )
-        lib.killSwitch( main, "leaf3", int( main.params[ "TOPO" ][ "switchNum" ] ) - 3, int( main.params[ "TOPO" ][ "linkNum" ] ) - 28 )
+        verify( main, disconnected=False )
+        lib.killSwitch( main, "spine101", 9, 30 )
+        verify( main, disconnected=False )
+        lib.killSwitch( main, "leaf2", 8, 24 )
+        lib.killSwitch( main, "leaf3", 7, 20 )
         main.disconnectedIpv4Hosts = [ "h3v4", "h4v4", "h5v4", "h6v4", "h7v4" ]
         main.disconnectedIpv6Hosts = [ "h3v6", "h4v6", "h5v6", "h6v6", "h7v6" ]
-        verifyPing( main )
-        lib.recoverSwitch( main, "spine101", int( main.params[ "TOPO" ][ "switchNum" ] ) - 2, int( main.params[ "TOPO" ][ "linkNum" ] ) - 18 )
-        verifyPing( main )
-        lib.recoverSwitch( main, "leaf3", int( main.params[ "TOPO" ][ "switchNum" ] ) - 1, int( main.params[ "TOPO" ][ "linkNum" ] ) - 10 )
-        lib.recoverSwitch( main, "leaf2", int( main.params[ "TOPO" ][ "switchNum" ] ), int( main.params[ "TOPO" ][ "linkNum" ] ) )
+        verify( main )
+        lib.recoverSwitch( main, "spine101", 8, 30 )
+        verify( main )
+        lib.recoverSwitch( main, "leaf3", 9, 38 )
+        lib.recoverSwitch( main, "leaf2", 10, 48 )
         main.disconnectedIpv4Hosts = []
         main.disconnectedIpv6Hosts = []
-        verifyPing( main )
+        verify( main )
         lib.cleanup( main, copyKarafLog=False, removeHostComponent=True )