super-speed-up-slices
[tests.git] / system / TestApiserver.py
index 93a24bb..a0024a6 100644 (file)
@@ -1,14 +1,19 @@
-# $Id$
+# Thierry Parmentelat <thierry.parmentelat@inria.fr>
+# 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),
                    ('AddInterface' , True),
+                   ('AddIpAddress' , True),
+                   ('AddRoute' , True),
                    ('GetInterfaces' , True),
                    ('GetTagTypes' , []),
                    ('AddTagType' , True),
@@ -29,6 +34,7 @@ server_methods = [ ('GetNodes' ,  []),
                    ('AddSlice' , True),
                    ('AddPersonToSlice' , True),
                    ('AddSliceToNodes' , True),
+                   ('DeleteSliceFromNodes' , True),
                    ('AddSliceTag' , True),
                    ('AddPerson' , True),
                    ('UpdatePerson' , True),
@@ -38,8 +44,15 @@ server_methods = [ ('GetNodes' ,  []),
                    ('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:
@@ -62,7 +75,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))
@@ -71,3 +84,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()