This patch adds further tests for the functionality of LUNodeAdd.

This is not yet finished and just RFC.

Signed-off-by: Sebastian Gebhard <[email protected]>
---
 test/py/cmdlib/node_unittest.py | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/test/py/cmdlib/node_unittest.py b/test/py/cmdlib/node_unittest.py
index 0af499b..cb4a8ed 100644
--- a/test/py/cmdlib/node_unittest.py
+++ b/test/py/cmdlib/node_unittest.py
@@ -98,5 +98,34 @@ class TestLUNodeAdd(CmdlibTestCase):
     op = self.CopyOpCode(self.op)
     self.ExecOpCode(op)
 
+  def testReaddingMaster(self):
+    op = opcodes.OpNodeAdd(node_name=self.cfg.GetMasterNodeName(),
+                        readd=True)
+    self.ExecOpCodeExpectOpPrereqError(op, "Cannot readd the master node")
+
+  def testReaddAndPassNodeGroup(self):
+    node1 = self.cfg.AddNewNode() 
+    group1 = self.cfg.AddNewNodeGroup()
+    op = opcodes.OpNodeAdd(node_name=node1.name,readd=True,group=group1.name)
+    self.ExecOpCodeExpectOpPrereqError(op, "Cannot pass a node group when a 
node is being readded")
+
+  def testPrimaryIPv6(self):
+    #ToDo: Remove master second IP for this test
+    op = self.CopyOpCode(self.op, primary_ip="2001:DB8::1/64", 
secondary_ip=None)
+    #self.ExecOpCode(op)
+
+  def testInvalidSecondaryIP(self):
+    #ToDo: Something is wrong here.
+    op = self.CopyOpCode(self.op, secondary_ip="333.444.555.777")
+    self.ExecOpCode(op)
+#    self.ExecOpCodeExpectOpPrereqError(op, "Secondary IP (%s) needs to be a 
valid IPv4"
+ #                                " address" % op.secondary_ip)
+
+  def testNodeAlreadyInCluster(self):
+    node2 = self.cfg.AddNewNode()
+    op = opcodes.OpNodeAdd(node_name=node2.name)
+    self.ExecOpCodeExpectOpPrereqError(op, "Node %s is already in the 
configuration" %
+                                 node2.name)
+
 if __name__ == "__main__":
   testutils.GanetiTestProgram()
-- 
1.8.1.2

Reply via email to