On Mon, Feb 14, 2011 at 5:37 PM, Michael Hanselmann <[email protected]> wrote:
> ---
>  doc/rapi.rst                       |    4 ++--
>  lib/rapi/rlib2.py                  |    6 ++++--
>  test/ganeti.rapi.rlib2_unittest.py |   34 ++++++++++++++++++++++++++++++++++
>  3 files changed, 40 insertions(+), 4 deletions(-)
>
> diff --git a/doc/rapi.rst b/doc/rapi.rst
> index 97a7b73..da70366 100644
> --- a/doc/rapi.rst
> +++ b/doc/rapi.rst
> @@ -451,8 +451,8 @@ Returns a job ID.
>
>  Body parameters:
>
> -``alloc_policy`` (string)
> -  If present, the new allocation policy for the node group.
> +.. opcode_params:: OP_GROUP_SET_PARAMS
> +   :exclude: group_name
>
>
>  ``/2/groups/[group_name]/rename``
> diff --git a/lib/rapi/rlib2.py b/lib/rapi/rlib2.py
> index 4f335c2..e70044b 100644
> --- a/lib/rapi/rlib2.py
> +++ b/lib/rapi/rlib2.py
> @@ -628,8 +628,10 @@ def _ParseModifyGroupRequest(name, data):
>   @return: Group modify opcode
>
>   """
> -  alloc_policy = baserlib.CheckParameter(data, "alloc_policy", default=None)
> -  return opcodes.OpGroupSetParams(group_name=name, alloc_policy=alloc_policy)
> +  return baserlib.FillOpcode(opcodes.OpGroupSetParams, data, {
> +    "group_name": name,
> +    })
> +
>
>
>  class R_2_groups_name_modify(baserlib.R_Generic):
> diff --git a/test/ganeti.rapi.rlib2_unittest.py 
> b/test/ganeti.rapi.rlib2_unittest.py
> index 395a919..6246f37 100755
> --- a/test/ganeti.rapi.rlib2_unittest.py
> +++ b/test/ganeti.rapi.rlib2_unittest.py
> @@ -476,5 +476,39 @@ class 
> TestParseInstanceReplaceDisksRequest(unittest.TestCase):
>                       })
>
>
> +class TestParseModifyGroupRequest(unittest.TestCase):
> +  def setUp(self):
> +    self.Parse = rlib2._ParseModifyGroupRequest
> +
> +  def test(self):
> +    name = "group6002"
> +
> +    for policy in constants.VALID_ALLOC_POLICIES:
> +      data = {
> +        "alloc_policy": policy,
> +        }
> +
> +      op = self.Parse(name, data)
> +      self.assert_(isinstance(op, opcodes.OpGroupSetParams))
> +      self.assertEqual(op.group_name, name)
> +      self.assertEqual(op.alloc_policy, policy)
> +
> +  def testUnknownPolicy(self):
> +    data = {
> +      "alloc_policy": "_unknown_policy_",
> +      }
> +
> +    self.assertRaises(http.HttpBadRequest, self.Parse, "name", data)
> +
> +  def testDefaults(self):
> +    name = "group6679"
> +    data = {}
> +
> +    op = self.Parse(name, data)
> +    self.assert_(isinstance(op, opcodes.OpGroupSetParams))
> +    self.assertEqual(op.group_name, name)
> +    self.assertFalse(hasattr(op, "alloc_policy"))
> +
> +
>  if __name__ == '__main__':
>   testutils.GanetiTestProgram()
> --
> 1.7.3.5

LGTM

>
>

Reply via email to