+# Add node groups
+nodegroup_ids = []
+for i in range(3):
+ name = randstr(50)
+ description = randstr(200)
+ print "AdmAddNodeGroup(%s)" % name,
+ nodegroup_id = AdmAddNodeGroup(admin, name, description)
+
+ # Should return a unique nodegroup_id
+ assert nodegroup_id not in nodegroup_ids
+ nodegroup_ids.append(nodegroup_id)
+ print "=>", nodegroup_id
+
+ # Check nodegroup
+ print "AdmGetNodeGroups(%d)" % nodegroup_id,
+ nodegroup = AdmGetNodeGroups(admin, [nodegroup_id])[0]
+ for key in 'name', 'description', 'nodegroup_id':
+ assert unicmp(nodegroup[key], locals()[key])
+ print "=> OK"
+
+ # Update node group
+ name = randstr(50)
+ description = randstr(200)
+ print "AdmUpdateNodeGroup(%s)" % name,
+ AdmUpdateNodeGroup(admin, nodegroup_id, name, description)
+ nodegroup = AdmGetNodeGroups(admin, [nodegroup_id])[0]
+ for key in 'name', 'description', 'nodegroup_id':
+ assert unicmp(nodegroup[key], locals()[key])
+ print "=> OK"
+
+print "AdmGetNodeGroups",
+nodegroups = AdmGetNodeGroups(admin, nodegroup_ids)
+assert set(nodegroup_ids) == set([nodegroup['nodegroup_id'] for nodegroup in nodegroups])
+print "=>", nodegroup_ids
+