def slice_sfa_mapper (method):
def actual(self,*args, **kwds):
+ # used to map on several slices...
overall=True
slice_method = TestSliceSfa.__dict__[method.__name__]
- for slice_spec in [ self.auth_sfa_spec['slice_spec'] ]:
- test_slice_sfa = TestSliceSfa(self,slice_spec)
- if not slice_method(test_slice_sfa, *args, **kwds): overall=False
+ slice_spec=self.auth_sfa_spec['slice_spec']
+ test_slice_sfa = TestSliceSfa(self,slice_spec)
+ if not slice_method(test_slice_sfa, *args, **kwds): overall=False
return overall
# restore the doc text
actual.__doc__=TestSliceSfa.__dict__[method.__name__].__doc__
self.login_base=self.auth_sfa_spec['login_base']
# self.piuser=self.auth_sfa_spec['piuser']
# self.regularuser=self.auth_sfa_spec['regularuser']
-# self.slicename=self.auth_sfa_spec['slicename']
-#
-# def plc_name(self):
-# return self.auth_sfa_spec['plc_slicename']
def rspec_style (self): return self.auth_sfa_spec['rspec_style']
def obj_hrn (self, name):
return "%s.%s"%(self.auth_hrn(),name)
+ def regular_user_hrn(self):
+ return self.obj_hrn(self.auth_sfa_spec['user_spec']['name'])
+ def slice_hrn(self):
+ return self.obj_hrn(self.auth_sfa_spec['slice_spec']['name'])
+
# xxx this needs tweaks with more recent versions of sfa that have pgv2 as the default ?
# dir_name is local and will be pushed later on by TestPlc
# by default set SFI_USER to the pi, we'll overload this
utils.header ("(Over)wrote %s"%file_name)
# using sfaadmin to bootstrap
- def sfa_add_site (self, options):
+ def sfa_register_site (self, options):
"bootstrap a site using sfaadmin"
command="sfaadmin reg register -t authority -x %s"%self.auth_hrn()
return self.test_plc.run_in_guest(command)==0
- def sfa_add_pi (self, options):
+ def sfa_register_pi (self, options):
"bootstrap a PI user for that site"
pi_spec = self.auth_sfa_spec['pi_spec']
pi_hrn=self.obj_hrn(pi_spec['name'])
# user management
@user_sfa_mapper
- def sfa_add_user (self, *args, **kwds): pass
+ def sfa_register_user (self, *args, **kwds): pass
@user_sfa_mapper
def sfa_update_user (self, *args, **kwds): pass
@user_sfa_mapper
def sfa_delete_user (self, *args, **kwds): pass
+ def sfa_remove_user_from_slice (self, options):
+ "remove regular user from slice"
+ command="update -t slice -x %s -r none"%(self.slice_hrn())
+ # xxx should check result other than visually
+ return self.test_plc.run_in_guest(self.sfi_pi(command))==0
+
+ def sfa_insert_user_in_slice (self, options):
+ "defines regular user as unique user in slice"
+ command="update -t slice -x %s -r %s"%(self.slice_hrn(),self.regular_user_hrn())
+ # xxx should check result other than visually
+ return self.test_plc.run_in_guest(self.sfi_pi(command))==0
+
def sfi_list (self, options):
"run (as regular user) sfi list (on Registry)"
return \
self.test_plc.run_in_guest(self.sfi_user("list -r %s"%self.root_hrn()))==0 and \
self.test_plc.run_in_guest(self.sfi_user("list %s"%(self.auth_hrn())))==0
- def sfi_show (self, options):
+ def sfi_show_site (self, options):
"run (as regular user) sfi show (on Registry)"
return \
self.test_plc.run_in_guest(self.sfi_user("show %s"%(self.auth_hrn())))==0
+
+ def sfi_show_slice (self, options):
+ "run (as PI) sfi show -n <slice> (on Registry)"
+ return \
+ self.test_plc.run_in_guest(self.sfi_pi("show -n %s"%self.slice_hrn()))==0
+
+ # checks if self.regular_user is found in registry's reg-researchers
+ def sfi_show_slice_researchers (self, options):
+ "run (as PI) sfi show <slice> -k researcher -k reg-researchers (on Registry)"
+ return \
+ self.test_plc.run_in_guest(self.sfi_pi("show %s -k researcher -k reg-researchers"%self.slice_hrn()))==0
+
+
# those are step names exposed as methods of TestPlc, hence the _sfa
@slice_sfa_mapper
- def sfa_add_slice (self, *args, **kwds): pass
+ def sfa_register_slice (self, *args, **kwds): pass
@slice_sfa_mapper
def sfa_renew_slice (self, *args, **kwds): pass
@slice_sfa_mapper