Added CASE605 for SRRouting tests

Change-Id: I1b337a31adfda12622553bf2b7d5e9a0d237fe77
diff --git a/TestON/tests/USECASE/SegmentRouting/SRRouting/dependencies/SRRoutingTest.py b/TestON/tests/USECASE/SegmentRouting/SRRouting/dependencies/SRRoutingTest.py
index bfeb4e7..5d6f64d 100644
--- a/TestON/tests/USECASE/SegmentRouting/SRRouting/dependencies/SRRoutingTest.py
+++ b/TestON/tests/USECASE/SegmentRouting/SRRouting/dependencies/SRRoutingTest.py
@@ -41,6 +41,8 @@
     main.externalIpv6Hosts = main.params[ 'TOPO' ][ 'externalIpv6Hosts' ].split( ',' )
     main.disconnectedIpv4Hosts = []
     main.disconnectedIpv6Hosts = []
+    main.disconnectedExternalIpv4Hosts = [ ]
+    main.disconnectedExternalIpv6Hosts = [ ]
     main.resultFileName = 'CASE%03d' % test_idx
     main.Cluster.setRunningNode( onosNodes )
 
@@ -115,19 +117,35 @@
     if ipv4:
         lib.verifyPing( main,
                         [ h for h in main.internalIpv4Hosts if h not in main.disconnectedIpv4Hosts ],
-                        main.externalIpv4Hosts )
+                        [ h for h in main.externalIpv4Hosts if h not in main.disconnectedExternalIpv4Hosts ] )
     if ipv6:
         lib.verifyPing( main,
                         [ h for h in main.internalIpv6Hosts if h not in main.disconnectedIpv6Hosts ],
-                        main.externalIpv6Hosts,
+                        [ h for h in main.externalIpv6Hosts if h not in main.disconnectedExternalIpv6Hosts ],
                         ipv6=True, acceptableFailed=7 )
     # Verify disconnected hosts
     if disconnected:
         main.step("Verify unreachability of disconnected internal hosts to external hosts")
+        # Disconnected internal to connected external
         if main.disconnectedIpv4Hosts:
-            lib.verifyPing( main, main.disconnectedIpv4Hosts, main.externalIpv4Hosts, expect=False )
+            lib.verifyPing( main, main.disconnectedIpv4Hosts,
+                            [ h for h in main.externalIpv4Hosts if h not in main.disconnectedExternalIpv4Hosts ],
+                            expect=False )
         if main.disconnectedIpv6Hosts:
-            lib.verifyPing( main, main.disconnectedIpv6Hosts, main.externalIpv6Hosts, ipv6=True, expect=False )
+            lib.verifyPing( main, main.disconnectedIpv6Hosts,
+                            [ h for h in main.externalIpv6Hosts if h not in main.disconnectedExternalIpv6Hosts ],
+                            ipv6=True, expect=False )
+        # Connected internal to disconnected external
+        if main.disconnectedExternalIpv4Hosts:
+            lib.verifyPing( main,
+                            [ h for h in main.internalIpv4Hosts if h not in main.disconnectedIpv4Hosts ],
+                            main.disconnectedExternalIpv4Hosts,
+                            expect=False )
+        if main.disconnectedExternalIpv6Hosts:
+            lib.verifyPing( main,
+                            [ h for h in main.internalIpv6Hosts if h not in main.disconnectedIpv6Hosts ],
+                            main.disconnectedExternalIpv6Hosts,
+                            ipv6=True, expect=False )
 
 def verifyPing( main, ipv4=True, ipv6=True, disconnected=False, internal=True, external=True ):
     """