RAPI client: Wrap /2/redistribute-config resource
[ganeti-local] / test / ganeti.rapi.client_unittest.py
index dffbd05..fc63d00 100755 (executable)
@@ -351,6 +351,9 @@ class GanetiRapiClientTests(testutils.GanetiTestCase):
   def assertDryRun(self):
     self.assertTrue(self.rapi.GetLastHandler().dryRun())
 
+  def assertUseForce(self):
+    self.assertTrue(self.rapi.GetLastHandler().useForce())
+
   def testEncodeQuery(self):
     query = [
       ("a", None),
@@ -1039,6 +1042,30 @@ class GanetiRapiClientTests(testutils.GanetiTestCase):
     self.assertEqual(job_id, 12347)
     self.assertHandler(rlib2.R_2_groups_name_rename)
 
+  def testModifyGroup(self):
+    self.rapi.AddResponse("12348")
+    job_id = self.client.ModifyGroup("mygroup", alloc_policy="foo")
+    self.assertEqual(job_id, 12348)
+    self.assertHandler(rlib2.R_2_groups_name_modify)
+
+  def testAssignGroupNodes(self):
+    self.rapi.AddResponse("12349")
+    job_id = self.client.AssignGroupNodes("mygroup", ["node1", "node2"],
+                                          force=True, dry_run=True)
+    self.assertEqual(job_id, 12349)
+    self.assertHandler(rlib2.R_2_groups_name_assign_nodes)
+    self.assertDryRun()
+    self.assertUseForce()
+
+  def testModifyInstance(self):
+    self.rapi.AddResponse("23681")
+    job_id = self.client.ModifyInstance("inst7210", os_name="linux")
+    self.assertEqual(job_id, 23681)
+    self.assertItems(["inst7210"])
+    self.assertHandler(rlib2.R_2_instances_name_modify)
+    self.assertEqual(serializer.LoadJson(self.rapi.GetLastRequestData()),
+                     { "os_name": "linux", })
+
   def testModifyCluster(self):
     for mnh in [None, False, True]:
       self.rapi.AddResponse("14470")
@@ -1051,6 +1078,13 @@ class GanetiRapiClientTests(testutils.GanetiTestCase):
       self.assertEqual(data["maintain_node_health"], mnh)
       self.assertEqual(self.rapi.CountPending(), 0)
 
+  def testRedistributeConfig(self):
+    self.rapi.AddResponse("3364")
+    job_id = self.client.RedistributeConfig()
+    self.assertEqual(job_id, 3364)
+    self.assertItems([])
+    self.assertHandler(rlib2.R_2_redist_config)
+
   def testGrowInstanceDisk(self):
     for idx, wait_for_sync in enumerate([None, False, True]):
       amount = 128 + (512 * idx)