adding TestON
diff --git a/TestON/tests/DpctlTest/.svn/entries b/TestON/tests/DpctlTest/.svn/entries
new file mode 100644
index 0000000..f53a109
--- /dev/null
+++ b/TestON/tests/DpctlTest/.svn/entries
@@ -0,0 +1,171 @@
+9
+
+dir
+65
+svn://192.168.150.61/OpenFlow/tests/DpctlTest
+svn://192.168.150.61/OpenFlow
+
+
+
+2012-12-05T18:46:42.405397Z
+65
+paxterra
+
+
+svn:special svn:externals svn:needs-lock
+
+
+
+
+
+
+
+
+
+
+
+8b1d8634-a80c-44fc-ab7b-cc53e6f68013
+
+
+
+
+
+
+0
+
+DpctlTest.params
+file
+
+
+
+
+2012-12-05T16:07:55.000000Z
+f26374a423ae2d318acb7462c3887802
+2012-12-05T18:46:42.405397Z
+65
+paxterra
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1079
+
+DpctlTest.py
+file
+
+
+
+
+2012-12-05T16:50:35.000000Z
+f646c2327db5ac1937b062abb72b7943
+2012-12-05T18:46:42.405397Z
+65
+paxterra
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+2966
+
+DpctlTest.topo
+file
+
+
+
+
+2012-12-05T16:07:55.000000Z
+39ca1852c671338b5e06a86718cb6e66
+2012-12-05T18:46:42.405397Z
+65
+paxterra
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+728
+
+__init__.py
+file
+
+
+
+
+2012-12-05T16:07:55.000000Z
+d41d8cd98f00b204e9800998ecf8427e
+2012-12-05T18:46:42.405397Z
+65
+paxterra
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
diff --git a/TestON/tests/DpctlTest/.svn/format b/TestON/tests/DpctlTest/.svn/format
new file mode 100644
index 0000000..ec63514
--- /dev/null
+++ b/TestON/tests/DpctlTest/.svn/format
@@ -0,0 +1 @@
+9
diff --git a/TestON/tests/DpctlTest/.svn/text-base/DpctlTest.params.svn-base b/TestON/tests/DpctlTest/.svn/text-base/DpctlTest.params.svn-base
new file mode 100644
index 0000000..bfd1819
--- /dev/null
+++ b/TestON/tests/DpctlTest/.svn/text-base/DpctlTest.params.svn-base
@@ -0,0 +1,37 @@
+[PARAMS]
+ 'testcases' = '[1,2]'
+ 'mail' = 'anilkumar.s@paxterrasolutions.com,paxweb@paxterrasolutions.com'
+ #'log_dir' = '/home/user/Desktop/openflow_logs/'
+ [[CASE1]]
+ 'tcpip' = '127.0.0.1'
+ 'tcpport' = '6634'
+ 'destination' = 'h2'
+ [[[STEP1]]]
+ 'tcpip' = '127.0.0.1'
+ 'tcpport' = '6634'
+ 'inport' = '1'
+ 'timeout' = '360'
+ 'action' = 'output:2'
+ [[[STEP2]]]
+ 'tcpip' = '127.0.0.1'
+ 'tcpport' = '6634'
+ 'inport' = '2'
+ 'timeout' = '360'
+ 'action' = 'output:3'
+ [[CASE2]]
+ 'tcpip' = '127.0.0.1'
+ 'tcpport' = '6634'
+ 'destination' = 'h2'
+ [[[STEP1]]]
+ 'tcpip' = '127.0.0.1'
+ 'tcpport' = '6634'
+ 'inport' = '1'
+ 'timeout' = '360'
+ 'action' = 'output:2'
+ [[[STEP2]]]
+ 'tcpip' = '127.0.0.1'
+ 'tcpport' = '6634'
+ 'inport' = '2'
+ 'timeout' = '360'
+ 'action' = 'output:3'
+
diff --git a/TestON/tests/DpctlTest/.svn/text-base/DpctlTest.py.svn-base b/TestON/tests/DpctlTest/.svn/text-base/DpctlTest.py.svn-base
new file mode 100644
index 0000000..f5e7cde
--- /dev/null
+++ b/TestON/tests/DpctlTest/.svn/text-base/DpctlTest.py.svn-base
@@ -0,0 +1,55 @@
+class DpctlTest:
+ '''
+ Testing of the some basic Dpctl functions included here
+ '''
+
+ def __init__(self):
+ self.default = ""
+
+ def CASE1(self,main):
+ '''
+ Test to add the flow configuration by using dpctl and ping the host
+ '''
+ main.case("DPCTL ping host ")
+ main.step("adding flow for host2 ")
+ main.DPCTL1.addFlow(tcpip=main.params['CASE1']['STEP1']['tcpip'],
+ tcpport=main.params['CASE1']['STEP1']['tcpport'],
+ inport=main.params['CASE1']['STEP1']['inport'],
+ timeout=main.params['CASE1']['STEP1']['timeout'],
+ action=main.params['CASE1']['STEP1']['action'])
+ main.step("adding another flow for host3")
+ main.DPCTL1.addFlow(tcpip=main.params['CASE1']['STEP2']['tcpip'],
+ tcpport=main.params['CASE1']['STEP2']['tcpport'],
+ inport=main.params['CASE1']['STEP2']['inport'],
+ timeout=main.params['CASE1']['STEP2']['timeout'],
+ action=main.params['CASE1']['STEP2']['action'])
+ main.step("Ping from h2 to h3")
+ result = main.Mininet1.pingHost(src=main.componentDictionary['DPCTL1']['src'],
+ target=main.componentDictionary['DPCTL1']['target'],
+ controller=main.componentDictionary['DPCTL1']['controller'])
+ utilities.assert_equals(expect=main.TRUE,actual=result,onpass="Show flow executed",onfail="Show flow execution Failed")
+
+
+ def CASE2(self,main):
+ '''
+ Test to add the flow configuration by using dpctl and show the flow using dpctl
+ '''
+ main.case("DPCTL show flow ")
+ main.step("adding flow for host2")
+
+ main.DPCTL1.addFlow(tcpip=main.params['CASE2']['STEP1']['tcpip'],
+ tcpport=main.params['CASE2']['STEP1']['tcpport'],
+ inport=main.params['CASE2']['STEP1']['inport'],
+ timeout=main.params['CASE2']['STEP1']['timeout'],
+ action=main.params['CASE2']['STEP1']['action'])
+ main.step("adding flow for host3")
+ main.DPCTL1.addFlow(tcpip=main.params['CASE2']['STEP2']['tcpip'],
+ tcpport=main.params['CASE2']['STEP2']['tcpport'],
+ inport=main.params['CASE2']['STEP2']['inport'],
+ timeout=main.params['CASE2']['STEP2']['timeout'],
+ action=main.params['CASE2']['STEP2']['action'])
+ main.step("Execute Show flow ")
+ result = main.DPCTL1.showFlow(tcpip=main.params['CASE2']['tcpip'],tcpport=main.params['CASE2']['tcpport'])
+ utilities.assert_equals(expect=main.TRUE,actual=result,onpass="Show flow executed",onfail="Show flow execution Failed")
+
+
diff --git a/TestON/tests/DpctlTest/.svn/text-base/DpctlTest.topo.svn-base b/TestON/tests/DpctlTest/.svn/text-base/DpctlTest.topo.svn-base
new file mode 100644
index 0000000..77e2591
--- /dev/null
+++ b/TestON/tests/DpctlTest/.svn/text-base/DpctlTest.topo.svn-base
@@ -0,0 +1,24 @@
+[TOPOLOGY]
+
+ [[COMPONENT]]
+ [[["Mininet1"]]]
+ 'host' = '192.168.56.101'
+ 'user' = 'openflow'
+ 'password' = 'openflow'
+ 'type' = "Mininet"
+ [[[["COMPONENTS"]]]]
+ # Specify the Option for mininet
+ 'topo' = 'single'
+ 'topocount' = '3'
+ 'switch' = 'ovsk'
+ 'controller' = 'remote'
+ [[["DPCTL1"]]]
+ 'host' = '192.168.56.101'
+ 'user' = 'openflow'
+ 'password' = 'openflow'
+ 'test_target' = '1'
+ 'type' = 'DPCTL'
+ 'src' = 'h2'
+ 'target' = 'h3'
+ 'controller' = 'c1'
+ [[[["COMPONENTS"]]]]
diff --git a/TestON/tests/DpctlTest/.svn/text-base/__init__.py.svn-base b/TestON/tests/DpctlTest/.svn/text-base/__init__.py.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/TestON/tests/DpctlTest/.svn/text-base/__init__.py.svn-base
diff --git a/TestON/tests/DpctlTest/DpctlTest.ospk b/TestON/tests/DpctlTest/DpctlTest.ospk
new file mode 100644
index 0000000..c0fd5ff
--- /dev/null
+++ b/TestON/tests/DpctlTest/DpctlTest.ospk
@@ -0,0 +1,19 @@
+CASE 1
+ NAME "DPCTL Ping Host"
+ STEP "Adding flow for host2"
+ ON DPCTL1 DO addFlow USING tcpip AS STEP["tcpip"], tcpport AS STEP["tcpport"], inport AS STEP["inport"] , timeout AS STEP["timeout"], action AS STEP["action"]
+ STEP "Adding Another Flow for Host3"
+ ON DPCTL1 DO addFlow USING tcpip AS STEP["tcpip"], tcpport AS STEP["tcpport"], inport AS STEP["inport"] , timeout AS STEP["timeout"], action AS STEP["action"]
+ STEP "Ping From h2 to h3"
+ ON Mininet1 DO pingHost USING src AS TOPO["DPCTL1"]["src"], target AS TOPO["DPCTL1"]["target"], controller AS TOPO["DPCTL1"]["controller"] AND STORE LAST_RESULT IN result
+ ASSERT result EQUALS main.TRUE ONPASS "Ping Successful" ONFAIL "Ping failed"
+
+CASE 2
+ NAME "DPCTL Show Flow"
+ STEP "Adding flow for host2"
+ ON DPCTL1 DO addFlow USING tcpip AS STEP["tcpip"], tcpport AS STEP["tcpport"], inport AS STEP["inport"] , timeout AS STEP["timeout"], action AS STEP["action"]
+ STEP "Adding Another Flow for Host3"
+ ON DPCTL1 DO addFlow USING tcpip AS STEP["tcpip"], tcpport AS STEP["tcpport"], inport AS STEP["inport"] , timeout AS STEP["timeout"], action AS STEP["action"]
+ STEP "Execute Show Flow"
+ ON DPCTL1 DO showFlow USING tcpip AS CASE["tcpip"], tcpport AS CASE["tcpport"] AND STORE LAST_RESULT IN result
+ ASSERT result EQUALS main.TRUE ONPASS "SHOW FLOW IS EXECUTED" ONFAIL "Show Flow Execution failed"
diff --git a/TestON/tests/DpctlTest/DpctlTest.params b/TestON/tests/DpctlTest/DpctlTest.params
new file mode 100644
index 0000000..0cf79e8
--- /dev/null
+++ b/TestON/tests/DpctlTest/DpctlTest.params
@@ -0,0 +1,42 @@
+<PARAMS>
+ <testcases> [1,2] </testcases>
+ <mail> paxweb@paxterrasolutions.com </mail>
+ <CASE1>
+ <tcpip> 127.0.0.1</tcpip>
+ <tcpport> 6634 </tcpport>
+ <destination> h2 </destination>
+ <STEP1>
+ <tcpip> 127.0.0.1 </tcpip>
+ <tcpport> 6634 </tcpport>
+ <inport> 1 </inport>
+ <timeout> 360 </timeout>
+ <action> output:2 </action>
+ </STEP1>
+ <STEP2>
+ <tcpip> 127.0.0.1 </tcpip>
+ <tcpport> 6634 </tcpport>
+ <inport> 2 </inport>
+ <timeout> 360 </timeout>
+ <action> output:3 </action>
+ </STEP2>
+ </CASE1>
+ <CASE2>
+ <tcpip> 127.0.0.1</tcpip>
+ <tcpport> 6634 </tcpport>
+ <destination> h2 </destination>
+ <STEP1>
+ <tcpip> 127.0.0.1 </tcpip>
+ <tcpport> 6634 </tcpport>
+ <inport> 1 </inport>
+ <timeout> 360 </timeout>
+ <action> output:2 </action>
+ </STEP1>
+ <STEP2>
+ <tcpip> 127.0.0.1 </tcpip>
+ <tcpport> 6634 </tcpport>
+ <inport> 2 </inport>
+ <timeout> 360 </timeout>
+ <action> output:3 </action>
+ </STEP2>
+ </CASE2>
+</PARAMS>
\ No newline at end of file
diff --git a/TestON/tests/DpctlTest/DpctlTest.py b/TestON/tests/DpctlTest/DpctlTest.py
new file mode 100644
index 0000000..6a8403a
--- /dev/null
+++ b/TestON/tests/DpctlTest/DpctlTest.py
@@ -0,0 +1,42 @@
+'''
+
+ * 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 DpctlTest :
+
+ def __init__(self) :
+ self.default = ''
+
+ def CASE1(self,main) :
+
+ main.case("DPCTL Ping Host")
+ main.step("Adding flow for host2")
+ main.DPCTL1.addFlow(tcpip=main.params['CASE1']['STEP1']['tcpip'], tcpport=main.params['CASE1']['STEP1']['tcpport'], inport=main.params['CASE1']['STEP1']['inport'], timeout=main.params['CASE1']['STEP1']['timeout'], action=main.params['CASE1']['STEP1']['action'])
+ main.step("Adding Another Flow for Host3")
+ main.DPCTL1.addFlow(tcpip=main.params['CASE1']['STEP2']['tcpip'], tcpport=main.params['CASE1']['STEP2']['tcpport'], inport=main.params['CASE1']['STEP2']['inport'], timeout=main.params['CASE1']['STEP2']['timeout'], action=main.params['CASE1']['STEP2']['action'])
+ main.step("Ping From h2 to h3")
+ main.Mininet1.pingHost(src=main.componentDictionary['DPCTL1']['src'], target=main.componentDictionary['DPCTL1']['target'], controller=main.componentDictionary['DPCTL1']['controller'])
+ result = main.last_result
+ utilities.assert_equals(expect=main.TRUE,actual=result,onpass="Ping Successful",onfail="Ping failed")
+
+ def CASE2(self,main) :
+
+ main.case("DPCTL Show Flow")
+ main.step("Adding flow for host2")
+ main.DPCTL1.addFlow(tcpip=main.params['CASE2']['STEP1']['tcpip'], tcpport=main.params['CASE2']['STEP1']['tcpport'], inport=main.params['CASE2']['STEP1']['inport'], timeout=main.params['CASE2']['STEP1']['timeout'], action=main.params['CASE2']['STEP1']['action'])
+ main.step("Adding Another Flow for Host3")
+ main.DPCTL1.addFlow(tcpip=main.params['CASE2']['STEP2']['tcpip'], tcpport=main.params['CASE2']['STEP2']['tcpport'], inport=main.params['CASE2']['STEP2']['inport'], timeout=main.params['CASE2']['STEP2']['timeout'], action=main.params['CASE2']['STEP2']['action'])
+ main.step("Execute Show Flow")
+ main.DPCTL1.showFlow(tcpip=main.params['CASE2']['tcpip'], tcpport=main.params['CASE2']['tcpport'])
+ result = main.last_result
+ utilities.assert_equals(expect=main.TRUE,actual=result,onpass="SHOW FLOW IS EXECUTED",onfail="Show Flow Execution failed")
diff --git a/TestON/tests/DpctlTest/DpctlTest.topo b/TestON/tests/DpctlTest/DpctlTest.topo
new file mode 100644
index 0000000..565a71a
--- /dev/null
+++ b/TestON/tests/DpctlTest/DpctlTest.topo
@@ -0,0 +1,30 @@
+<TOPOLOGY>
+
+ <COMPONENT>
+ <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>
+ <DPCTL1>
+ <host> 192.168.56.101 </host>
+ <user> openflow </user>
+ <password> openflow </password>
+ <test_target> 1</test_target>
+ <type> DpctlCliDriver </type>
+ <src> h2 </src>
+ <target> h3 </target>
+ <controller> c1 </controller>
+ <COMPONENTS>
+ </COMPONENTS>
+ </DPCTL1>
+ </COMPONENT>
+</TOPOLOGY>
\ No newline at end of file
diff --git a/TestON/tests/DpctlTest/__init__.py b/TestON/tests/DpctlTest/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/TestON/tests/DpctlTest/__init__.py