adding TestON
diff --git a/TestON/tests/MininetSlicing/MininetSlicing.ospk b/TestON/tests/MininetSlicing/MininetSlicing.ospk
new file mode 100644
index 0000000..8e2f32f
--- /dev/null
+++ b/TestON/tests/MininetSlicing/MininetSlicing.ospk
@@ -0,0 +1,64 @@
+CASE 1
+ NAME "Verifying 'SSH protocol' based slicing"
+
+ STEP "Deleting flowspace using 'removeFlowSpace'"
+ STORE ON FlowVisor1 DO removeFlowSpace USING "all" IN removeflowspace_result
+ ASSERT removeflowspace_result EQUALS main.TRUE ONPASS "Removed FlowSpace Successfully" ONFAIL "Failed to remove FlowSpace"
+
+ STEP "Showing connected devices using 'listDevices'"
+ STORE ON FlowVisor1 DO listDevices IN listdevices_result
+ ASSERT listdevices_result EQUALS main.TRUE ONPASS "Listed devices Successfully" ONFAIL "Failed to list the devices"
+
+ STEP "Verifying hosts reachability through ICMP traffic"
+ STORE ON Mininet1 DO pingHost USING src AS 'h1',target AS 'h4' IN ping_result
+ ASSERT ping_result EQUALS main.TRUE ONPASS "NO PACKET LOSS, HOST IS REACHABLE" ONFAIL "PACKET LOST, HOST IS NOT REACHABLE"
+
+ STEP "Showing the flowSpace USING 'listFlowSpace'"
+ STORE ON FlowVisor1 DO listFlowSpace IN listflowspace_result
+ STORE ON Mininet1 DO pingHost USING src AS 'h1',target AS 'h4' IN ping_result
+ ASSERT main.TRUE EQUALS main.TRUE ONPASS "Listed FlowSpace" ONFAIL "Failed to list the FlowSpace"
+
+ STEP "Adding FlowSpace to create the slice of the Network"
+ INFO " Geeting the IP-Addresses of Hosts"
+ STORE ON Mininet1 DO getIPAddress USING 'h1' IN h1_ipaddress
+ STORE ON Mininet1 DO getIPAddress USING 'h4' IN h4_ipaddress
+
+ INFO " Geeting the MAC-Addresses of Hosts"
+ STORE ON Mininet1 DO getMacAddress USING 'h1' IN h1_macaddress
+ STORE ON Mininet1 DO getMacAddress USING 'h4' IN h4_macaddress
+
+ STORE ON FlowVisor1 DO addFlowSpace USING dl_src AS h1_macaddress,nw_dst AS h4_ipaddress IN addflowspace_result_1
+ ASSERT addflowspace_result_1 EQUALS main.TRUE ONPASS "Added FlowSpace Successfully" ONFAIL "Failed to add FlowSpace"
+
+ STORE ON FlowVisor1 DO addFlowSpace USING dl_src AS h4_macaddress,nw_dst AS h1_ipaddress IN addflowspace_result_2
+ ASSERT addflowspace_result_2 EQUALS main.TRUE ONPASS "Added FlowSpace Successfully" ONFAIL "Failed to add FlowSpace"
+
+ STORE ON FlowVisor1 DO addFlowSpace USING nw_src AS h1_ipaddress IN addflowspace_result_3
+ STORE ON FlowVisor1 DO addFlowSpace USING nw_src AS h4_ipaddress IN addflowspace_result_3
+
+ STORE ON FlowVisor1 DO addFlowSpace USING nw_src AS h1_ipaddress, tp_dst AS '22' IN addflowspace_result_3
+ ASSERT addflowspace_result_3 EQUALS main.TRUE ONPASS "Added FlowSpace Successfully" ONFAIL "Failed to add FlowSpace"
+
+ STORE ON FlowVisor1 DO addFlowSpace USING nw_src AS h4_ipaddress,tp_dst AS '22' IN addflowspace_result_4
+ ASSERT addflowspace_result_4 EQUALS main.TRUE ONPASS "Added FlowSpace Successfully" ONFAIL "Failed to add FlowSpace"
+
+ STORE ON FlowVisor1 DO addFlowSpace USING nw_src AS h1_ipaddress,tp_src AS '22' IN addflowspace_result_5
+ ASSERT addflowspace_result_5 EQUALS main.TRUE ONPASS "Added FlowSpace Successfully" ONFAIL "Failed to add FlowSpace"
+
+ STORE ON FlowVisor1 DO addFlowSpace USING nw_src AS h4_ipaddress,tp_src AS '22' IN addflowspace_result_6
+ ASSERT addflowspace_result_6 EQUALS main.TRUE ONPASS "Added FlowSpace Successfully" ONFAIL "Failed to add FlowSpace"
+
+ INFO "Showing the flowSpace USING 'listFlowSpace'"
+ STORE ON FlowVisor1 DO listFlowSpace IN listflowspace_result
+
+ STEP "Verifying hosts reachability through ICMP traffic and Connectivity through SSH service"
+ STORE ON Mininet1 DO pingHost USING src AS 'h1',target AS 'h4' IN ping_result
+ ASSERT ping_result EQUALS main.TRUE ONPASS "NO PACKET LOSS, HOST IS REACHABLE" ONFAIL "PACKET LOST, HOST IS NOT REACHABLE"
+
+ STORE ON Mininet1 DO verifySSH USING user_name AS CASE['destination_username'],ip_address AS CASE['destination_host'], pwd AS CASE['destination_password'], port AS CASE['destination_port'] IN ssh_result
+ ASSERT ssh_result EQUALS main.TRUE ONPASS "Failed to connect remote host throgh SSH" ONFAIL "Remote host connected throgh SSH "
+
+
+
+
+
diff --git a/TestON/tests/MininetSlicing/MininetSlicing.params b/TestON/tests/MininetSlicing/MininetSlicing.params
new file mode 100644
index 0000000..c18e650
--- /dev/null
+++ b/TestON/tests/MininetSlicing/MininetSlicing.params
@@ -0,0 +1,18 @@
+<PARAMS>
+ <testcases> 1</testcases>
+ <mail> paxweb@paxterrasolutions.com</mail>
+ <CASE1>
+
+ <dl_type> 0x800 </dl_type>
+ <nw_proto> 6 </nw_proto>
+ <nw_src> 10.0.0.2 </nw_src>
+ <tp_dst> 22 </tp_dst>
+ <slice> SSH </slice>
+ <permissions> 4 </permissions>
+
+ <destination_host> 10.0.0.4 </destination_host>
+ <destination_username> openflow </destination_username>
+ <destination_password> openflow </destination_password>
+ <destination_port> 22 </destination_port>
+ </CASE1>
+</PARAMS>
\ No newline at end of file
diff --git a/TestON/tests/MininetSlicing/MininetSlicing.py b/TestON/tests/MininetSlicing/MininetSlicing.py
new file mode 100644
index 0000000..ac723fb
--- /dev/null
+++ b/TestON/tests/MininetSlicing/MininetSlicing.py
@@ -0,0 +1,85 @@
+'''
+
+ * TestON is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+
+ * TestON is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+
+'''
+class MininetSlicing :
+
+ def __init__(self) :
+ self.default = ''
+
+ def CASE1(self,main) :
+
+ main.case("Verifying 'SSH protocol' based slicing")
+
+ main.step("Deleting flowspace using 'removeFlowSpace'")
+ removeflowspace_result = main.FlowVisor1.removeFlowSpace("all")
+ utilities.assert_equals(expect=main.TRUE,actual=removeflowspace_result,onpass="Removed FlowSpace Successfully",onfail="Failed to remove FlowSpace")
+
+ main.step("Showing connected devices using 'listDevices'")
+ listdevices_result = main.FlowVisor1.listDevices()
+ utilities.assert_equals(expect=main.TRUE,actual=listdevices_result,onpass="Listed devices Successfully",onfail="Failed to list the devices")
+
+ main.step("Verifying hosts reachability through ICMP traffic")
+ ping_result = main.Mininet1.pingHost(src='h1',target='h4')
+ utilities.assert_equals(expect=main.TRUE,actual=ping_result,onpass="NO PACKET LOSS, HOST IS REACHABLE",onfail="PACKET LOST, HOST IS NOT REACHABLE")
+
+ main.step("Showing the flowSpace USING 'listFlowSpace'")
+ listflowspace_result = main.FlowVisor1.listFlowSpace()
+ ping_result = main.Mininet1.pingHost(src='h1',target='h4')
+
+
+ main.step("Adding FlowSpace to create the slice of the Network")
+ main.log.info(" Geeting the IP-Addresses of Hosts")
+ h1_ipaddress = main.Mininet1.getIPAddress('h1')
+ h4_ipaddress = main.Mininet1.getIPAddress('h4')
+
+ main.log.info(" Geeting the MAC-Addresses of Hosts" )
+ h1_macaddress = main.Mininet1.getMacAddress('h1')
+ h4_macaddress = main.Mininet1.getMacAddress('h4')
+
+ addflowspace_result_1 = main.FlowVisor1.addFlowSpace(dl_src=h1_macaddress,nw_dst=h4_ipaddress)
+ utilities.assert_equals(expect=main.TRUE,actual=addflowspace_result_1,onpass="Added FlowSpace Successfully",onfail="Failed to add FlowSpace")
+
+ addflowspace_result_2 = main.FlowVisor1.addFlowSpace(dl_src=h4_macaddress,nw_dst=h1_ipaddress)
+ utilities.assert_equals(expect=main.TRUE,actual=addflowspace_result_2,onpass="Added FlowSpace Successfully",onfail="Failed to add FlowSpace")
+
+ addflowspace_result_3 = main.FlowVisor1.addFlowSpace(nw_src=h1_ipaddress)
+ addflowspace_result_3 = main.FlowVisor1.addFlowSpace(nw_src=h4_ipaddress)
+
+ addflowspace_result_3 = main.FlowVisor1.addFlowSpace(nw_src=h1_ipaddress, tp_dst='22')
+ utilities.assert_equals(expect=main.TRUE,actual=addflowspace_result_3,onpass="Added FlowSpace Successfully",onfail="Failed to add FlowSpace")
+
+ addflowspace_result_4 = main.FlowVisor1.addFlowSpace(nw_src=h4_ipaddress,tp_dst='22')
+ utilities.assert_equals(expect=main.TRUE,actual=addflowspace_result_4,onpass="Added FlowSpace Successfully",onfail="Failed to add FlowSpace")
+
+ addflowspace_result_5 = main.FlowVisor1.addFlowSpace(nw_src=h1_ipaddress,tp_src='22')
+ utilities.assert_equals(expect=main.TRUE,actual=addflowspace_result_5,onpass="Added FlowSpace Successfully",onfail="Failed to add FlowSpace")
+
+ addflowspace_result_6 = main.FlowVisor1.addFlowSpace(nw_src=h4_ipaddress,tp_src='22')
+ utilities.assert_equals(expect=main.TRUE,actual=addflowspace_result_6,onpass="Added FlowSpace Successfully",onfail="Failed to add FlowSpace")
+
+ main.log.info("Showing the flowSpace USING 'listFlowSpace'")
+ listflowspace_result = main.FlowVisor1.listFlowSpace()
+
+ main.step("Verifying hosts reachability through ICMP traffic and Connectivity through SSH service")
+ ping_result = main.Mininet1.pingHost(src='h1',target='h4')
+ utilities.assert_equals(expect=main.TRUE,actual=ping_result,onpass="NO PACKET LOSS, HOST IS REACHABLE",onfail="PACKET LOST, HOST IS NOT REACHABLE")
+
+ ssh_result = main.Mininet1.verifySSH(user_name=main.params['CASE1']['destination_username'],ip_address=main.params['CASE1']['destination_host'], pwd=main.params['CASE1']['destination_password'], port=main.params['CASE1']['destination_port'])
+ utilities.assert_equals(expect=main.TRUE,actual=ssh_result,onpass="Failed to connect remote host throgh SSH",onfail="Remote host connected throgh SSH ")
+
+
+
+
+
+
diff --git a/TestON/tests/MininetSlicing/MininetSlicing.topo b/TestON/tests/MininetSlicing/MininetSlicing.topo
new file mode 100644
index 0000000..7a181d7
--- /dev/null
+++ b/TestON/tests/MininetSlicing/MininetSlicing.topo
@@ -0,0 +1,43 @@
+<TOPOLOGY>
+ <COMPONENT>
+ <FlowVisor1>
+ <host>192.168.56.101</host>
+ <user> openflow </user>
+ <fvadmin_pwd></fvadmin_pwd>
+ <password>openflow</password>
+ <type>FlowVisorDriver</type>
+ <COMPONENTS>
+ </COMPONENTS>
+
+ </FlowVisor1>
+
+ <Mininet1>
+ <host>192.168.56.101</host>
+ <user> openflow</user>
+ <password> openflow</password>
+ <type>MininetCliDriver</type>
+ <COMPONENTS>
+ # Specify the Option for mininet
+ <topo> single</topo>
+ <topocount>3</topocount>
+ <switch> ovsk </switch>
+ <controller> remote </controller>
+ </COMPONENTS>
+ </Mininet1>
+
+ <POX2>
+ <host> 192.168.56.102 </host>
+ <user> openflow </user>
+ <password> openflow </password>
+ <type> PoxCliDriver </type>
+ <test_target> 1 </test_target>
+ <COMPONENTS>
+ <pox_lib_location> /home/openflow/pox/ </pox_lib_location>
+ <samples.of_tutorial></samples.of_tutorial>
+ </COMPONENTS>
+ </POX2>
+
+
+ </COMPONENT>
+
+</TOPOLOGY>
\ No newline at end of file
diff --git a/TestON/tests/MininetSlicing/__init__.py b/TestON/tests/MininetSlicing/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/TestON/tests/MininetSlicing/__init__.py