Rename OpTestJobqueue and LUTestJobqueue
[ganeti-local] / test / ganeti.rapi.rlib2_unittest.py
index 632001d..c2f7379 100755 (executable)
@@ -118,7 +118,7 @@ class TestParseInstanceCreateRequestVersion1(testutils.GanetiTestCase):
 
                 for dry_run in [False, True]:
                   op = self.Parse(data, dry_run)
-                  self.assert_(isinstance(op, opcodes.OpCreateInstance))
+                  self.assert_(isinstance(op, opcodes.OpInstanceCreate))
                   self.assertEqual(op.mode, mode)
                   self.assertEqual(op.disk_template, disk_template)
                   self.assertEqual(op.dry_run, dry_run)
@@ -196,7 +196,7 @@ class TestParseExportInstanceRequest(testutils.GanetiTestCase):
       "destination_x509_ca": ("x", "y", "z"),
       }
     op = self.Parse(name, data)
-    self.assert_(isinstance(op, opcodes.OpExportInstance))
+    self.assert_(isinstance(op, opcodes.OpBackupExport))
     self.assertEqual(op.instance_name, name)
     self.assertEqual(op.mode, constants.EXPORT_MODE_REMOTE)
     self.assertEqual(op.shutdown, True)
@@ -211,7 +211,7 @@ class TestParseExportInstanceRequest(testutils.GanetiTestCase):
       "shutdown": False,
       }
     op = self.Parse(name, data)
-    self.assert_(isinstance(op, opcodes.OpExportInstance))
+    self.assert_(isinstance(op, opcodes.OpBackupExport))
     self.assertEqual(op.instance_name, name)
     self.assertEqual(op.mode, constants.EXPORT_MODE_LOCAL)
     self.assertEqual(op.remove_instance, False)
@@ -239,7 +239,7 @@ class TestParseMigrateInstanceRequest(testutils.GanetiTestCase):
           "mode": mode,
           }
         op = self.Parse(name, data)
-        self.assert_(isinstance(op, opcodes.OpMigrateInstance))
+        self.assert_(isinstance(op, opcodes.OpInstanceMigrate))
         self.assertEqual(op.instance_name, name)
         self.assertEqual(op.mode, mode)
         self.assertEqual(op.cleanup, cleanup)
@@ -248,7 +248,7 @@ class TestParseMigrateInstanceRequest(testutils.GanetiTestCase):
     name = "instnohZeex0"
 
     op = self.Parse(name, {})
-    self.assert_(isinstance(op, opcodes.OpMigrateInstance))
+    self.assert_(isinstance(op, opcodes.OpInstanceMigrate))
     self.assertEqual(op.instance_name, name)
     self.assertEqual(op.mode, None)
     self.assertFalse(op.cleanup)
@@ -273,7 +273,7 @@ class TestParseRenameInstanceRequest(testutils.GanetiTestCase):
             }
 
           op = self.Parse(name, data)
-          self.assert_(isinstance(op, opcodes.OpRenameInstance))
+          self.assert_(isinstance(op, opcodes.OpInstanceRename))
           self.assertEqual(op.instance_name, name)
           self.assertEqual(op.new_name, new_name)
           self.assertEqual(op.ip_check, ip_check)
@@ -288,12 +288,159 @@ class TestParseRenameInstanceRequest(testutils.GanetiTestCase):
         }
 
       op = self.Parse(name, data)
-      self.assert_(isinstance(op, opcodes.OpRenameInstance))
+      self.assert_(isinstance(op, opcodes.OpInstanceRename))
       self.assertEqual(op.instance_name, name)
       self.assertEqual(op.new_name, new_name)
       self.assert_(op.ip_check)
       self.assert_(op.name_check)
 
 
+class TestParseModifyInstanceRequest(testutils.GanetiTestCase):
+  def setUp(self):
+    testutils.GanetiTestCase.setUp(self)
+
+    self.Parse = rlib2._ParseModifyInstanceRequest
+
+  def test(self):
+    name = "instush8gah"
+
+    test_disks = [
+      [],
+      [(1, { constants.IDISK_MODE: constants.DISK_RDWR, })],
+      ]
+
+    for osparams in [{}, { "some": "value", "other": "Hello World", }]:
+      for hvparams in [{}, { constants.HV_KERNEL_PATH: "/some/kernel", }]:
+        for beparams in [{}, { constants.BE_MEMORY: 128, }]:
+          for force in [False, True]:
+            for nics in [[], [(0, { constants.INIC_IP: "192.0.2.1", })]]:
+              for disks in test_disks:
+                for disk_template in constants.DISK_TEMPLATES:
+                  data = {
+                    "osparams": osparams,
+                    "hvparams": hvparams,
+                    "beparams": beparams,
+                    "nics": nics,
+                    "disks": disks,
+                    "force": force,
+                    "disk_template": disk_template,
+                    }
+
+                  op = self.Parse(name, data)
+                  self.assert_(isinstance(op, opcodes.OpInstanceSetParams))
+                  self.assertEqual(op.instance_name, name)
+                  self.assertEqual(op.hvparams, hvparams)
+                  self.assertEqual(op.beparams, beparams)
+                  self.assertEqual(op.osparams, osparams)
+                  self.assertEqual(op.force, force)
+                  self.assertEqual(op.nics, nics)
+                  self.assertEqual(op.disks, disks)
+                  self.assertEqual(op.disk_template, disk_template)
+                  self.assert_(op.remote_node is None)
+                  self.assert_(op.os_name is None)
+                  self.assertFalse(op.force_variant)
+
+  def testDefaults(self):
+    name = "instir8aish31"
+
+    op = self.Parse(name, {})
+    self.assert_(isinstance(op, opcodes.OpInstanceSetParams))
+    self.assertEqual(op.instance_name, name)
+    self.assertEqual(op.hvparams, {})
+    self.assertEqual(op.beparams, {})
+    self.assertEqual(op.osparams, {})
+    self.assertFalse(op.force)
+    self.assertEqual(op.nics, [])
+    self.assertEqual(op.disks, [])
+    self.assert_(op.disk_template is None)
+    self.assert_(op.remote_node is None)
+    self.assert_(op.os_name is None)
+    self.assertFalse(op.force_variant)
+
+
+class TestParseInstanceReinstallRequest(testutils.GanetiTestCase):
+  def setUp(self):
+    testutils.GanetiTestCase.setUp(self)
+
+    self.Parse = rlib2._ParseInstanceReinstallRequest
+
+  def _Check(self, ops, name):
+    expcls = [
+      opcodes.OpInstanceShutdown,
+      opcodes.OpInstanceReinstall,
+      opcodes.OpInstanceStartup,
+      ]
+
+    self.assert_(compat.all(isinstance(op, exp)
+                            for op, exp in zip(ops, expcls)))
+    self.assert_(compat.all(op.instance_name == name for op in ops))
+
+  def test(self):
+    name = "shoo0tihohma"
+
+    ops = self.Parse(name, {"os": "sys1", "start": True,})
+    self.assertEqual(len(ops), 3)
+    self._Check(ops, name)
+    self.assertEqual(ops[1].os_type, "sys1")
+    self.assertFalse(ops[1].osparams)
+
+    ops = self.Parse(name, {"os": "sys2", "start": False,})
+    self.assertEqual(len(ops), 2)
+    self._Check(ops, name)
+    self.assertEqual(ops[1].os_type, "sys2")
+
+    osparams = {
+      "reformat": "1",
+      }
+    ops = self.Parse(name, {"os": "sys4035", "start": True,
+                            "osparams": osparams,})
+    self.assertEqual(len(ops), 3)
+    self._Check(ops, name)
+    self.assertEqual(ops[1].os_type, "sys4035")
+    self.assertEqual(ops[1].osparams, osparams)
+
+  def testDefaults(self):
+    name = "noolee0g"
+
+    ops = self.Parse(name, {"os": "linux1"})
+    self.assertEqual(len(ops), 3)
+    self._Check(ops, name)
+    self.assertEqual(ops[1].os_type, "linux1")
+    self.assertFalse(ops[1].osparams)
+
+
+class TestParseRenameGroupRequest(testutils.GanetiTestCase):
+  def setUp(self):
+    testutils.GanetiTestCase.setUp(self)
+
+    self.Parse = rlib2._ParseRenameGroupRequest
+
+  def test(self):
+    name = "instij0eeph7"
+    data = {
+      "new_name": "ua0aiyoo",
+      }
+
+    op = self.Parse(name, data, False)
+
+    self.assert_(isinstance(op, opcodes.OpGroupRename))
+    self.assertEqual(op.old_name, name)
+    self.assertEqual(op.new_name, "ua0aiyoo")
+    self.assertFalse(op.dry_run)
+
+  def testDryRun(self):
+    name = "instij0eeph7"
+    data = {
+      "new_name": "ua0aiyoo",
+      }
+
+    op = self.Parse(name, data, True)
+
+    self.assert_(isinstance(op, opcodes.OpGroupRename))
+    self.assertEqual(op.old_name, name)
+    self.assertEqual(op.new_name, "ua0aiyoo")
+    self.assert_(op.dry_run)
+
+
 if __name__ == '__main__':
   testutils.GanetiTestProgram()