X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=system%2FTestApiserver.py;h=a0024a691ea2af9da4c14502761c4c4ab44e2136;hb=75ab71654cd61d37270acaf50f546041dc5e35db;hp=1a824089e03718c139f6dd406fc456e2ae1d8347;hpb=4818983762f8424072fb088dbbe7c8a7c6b99570;p=tests.git diff --git a/system/TestApiserver.py b/system/TestApiserver.py index 1a82408..a0024a6 100644 --- a/system/TestApiserver.py +++ b/system/TestApiserver.py @@ -1,21 +1,29 @@ -# $Id$ +# Thierry Parmentelat +# Copyright (C) 2010 INRIA +# # wrapper to xmlrpc server, that support dry-run commands # we dont want to have to depend on PLCAPI, so: import xmlrpclib +# the default value is for the dry run mode server_methods = [ ('GetNodes' , []), ('AddNode' , True), + ('SetNodePlainBootstrapfs', True), ('DeleteNode' , True), ('UpdateNode' , True), - ('AddNodeNetwork' , True), - ('GetNodeNetworks' , True), - ('GetNodeNetworkSettingTypes' , True), - ('AddNodeNetworkSettingType' , True), - ('AddNodeNetworkSetting' , True), + ('AddInterface' , True), + ('AddIpAddress' , True), + ('AddRoute' , True), + ('GetInterfaces' , True), + ('GetTagTypes' , []), + ('AddTagType' , True), + ('AddInterfaceTag' , True), ('GetBootMedium' , True), ('GetNodeGroups' , True), ('AddNodeGroup' , True), - ('AddNodeToNodeGroup' , True), + ('DeleteNodeGroup', True), + ('GetNodeTags', True), + ('AddNodeTag', True), ('AddInitScript' , True), ('DeleteInitScript', True), ('GetInitScripts', True), @@ -26,7 +34,8 @@ server_methods = [ ('GetNodes' , []), ('AddSlice' , True), ('AddPersonToSlice' , True), ('AddSliceToNodes' , True), - ('AddSliceAttribute' , True), + ('DeleteSliceFromNodes' , True), + ('AddSliceTag' , True), ('AddPerson' , True), ('UpdatePerson' , True), ('AddRoleToPerson' , True), @@ -34,6 +43,16 @@ server_methods = [ ('GetNodes' , []), ('DeletePerson' , True), ('AddPersonKey' , True), ('GetPlcRelease', {'build': {'target-arch':'i386'}}), + ('GetSites', []), + ('GetSlices', [{'name':'dry_run_slice','node_ids':['dry_run']}]), + ('GetLeaseGranularity', 180), + ('AddLeases', True), + ('GetLeases', []), + ('DeleteLeases',True), + ('GetConfFiles',[]), + ('AddConfFile','True'), + ('GetSliceTags',[]), + ('system.listMethods',[]), ] class TestApiserver: @@ -56,7 +75,15 @@ class TestApiserver: return actual_method(*args) def __init__(self,url,dry_run=False): - self.apiserver = xmlrpclib.Server(url,allow_none=True) + self.apiserver = xmlrpclib.ServerProxy(url,allow_none=True) self.dry_run=dry_run for (method,defaults) in server_methods: setattr(self,method,TestApiserver.Callable(self.apiserver,dry_run,method,defaults)) + + def set_dry_run (self, dry_run): + self.dry_run=dry_run + for (method,defaults) in server_methods: + getattr(self,method).dry_run = dry_run + + def has_method (self, methodname): + return methodname in self.apiserver.system.listMethods()