X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=system%2FTestApiserver.py;h=460e322fc3716b082558053b23c6b0f4994e589d;hb=c27e2966c8ef64f916ae56b23fd9257133d4f8a8;hp=baf8dec40054f308c2e7e363d91523220385d063;hpb=c6fa2d88257b561ce7180657cd6fdd32687fe089;p=tests.git diff --git a/system/TestApiserver.py b/system/TestApiserver.py index baf8dec..460e322 100644 --- a/system/TestApiserver.py +++ b/system/TestApiserver.py @@ -1,4 +1,6 @@ -# $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 @@ -10,6 +12,8 @@ server_methods = [ ('GetNodes' , []), ('DeleteNode' , True), ('UpdateNode' , True), ('AddInterface' , True), + ('AddIpAddress' , True), + ('AddRoute' , True), ('GetInterfaces' , True), ('GetTagTypes' , []), ('AddTagType' , True), @@ -39,10 +43,12 @@ server_methods = [ ('GetNodes' , []), ('AddPersonKey' , True), ('GetPlcRelease', {'build': {'target-arch':'i386'}}), ('GetSites', []), + ('GetSlices', [{'name':'dry_run_slice'}]), ('GetLeaseGranularity', 180), ('AddLeases', True), ('GetLeases', []), ('DeleteLeases',True), + ('system.listMethods',[]), ] class TestApiserver: @@ -65,7 +71,7 @@ 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)) @@ -74,3 +80,6 @@ class TestApiserver: 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()