Trying nosetests.
authorSandrine Avakian <sandrine.avakian@inria.fr>
Wed, 12 Sep 2012 11:45:05 +0000 (13:45 +0200)
committerSandrine Avakian <sandrine.avakian@inria.fr>
Wed, 12 Sep 2012 11:45:05 +0000 (13:45 +0200)
sfa/senslab/tests/TestSuite.py

index 7d03532..52db97e 100644 (file)
@@ -25,248 +25,246 @@ from sfa.util.config import Config
 
 import sys
 
-def TestJenkinsWhileSlabIsDead():
-    return 1
+
         
-#def parse_options():
-    
-    ##arguments supplied
-    #if len(sys.argv) > 1 :
-        #options_list = sys.argv[1:]
-        ##For each valid option, execute the associated function
-        ##(defined in the dictionnary supported_options)
-        #job_id = 1
-        #valid_options_dict = {}
-        #value_list = []
-        ##Passing options to the script should be done like this :
-        ##-10 OAR -2 SlabDriver
-        #for option in options_list:
-            #if option in supported_options:
-                ##update the values used for the fonctions associated 
-                ##with the options
+def parse_options():
+    
+    #arguments supplied
+    if len(sys.argv) > 1 :
+        options_list = sys.argv[1:]
+        #For each valid option, execute the associated function
+        #(defined in the dictionnary supported_options)
+        job_id = 1
+        valid_options_dict = {}
+        value_list = []
+        #Passing options to the script should be done like this :
+        #-10 OAR -2 SlabDriver
+        for option in options_list:
+            if option in supported_options:
+                #update the values used for the fonctions associated 
+                #with the options
                 
-                #valid_options_dict[option] = value_list
-                ##empty the values list for next option
-                #value_list = []
-                #print valid_options_dict
-            #else:
-                #if option[0] == '-':
-                    #value_list.append(option[1:])
-                    #print "value_list",value_list
+                valid_options_dict[option] = value_list
+                #empty the values list for next option
+                value_list = []
+                print valid_options_dict
+            else:
+                if option[0] == '-':
+                    value_list.append(option[1:])
+                    print "value_list",value_list
 
 
-    #return valid_options_dict     
+    return valid_options_dict     
     
-#def TestLdap():
-    #logger.setLevelDebug()
+def TestLdap():
+    logger.setLevelDebug()
 
-    #ldap = LDAPapi()
-    #ret = ldap.conn.connect(bind=True)
-    #ldap.conn.close() 
-    #print "TEST ldap.conn.connect(bind=True)" , ret
-    
-    #ret = ldap.conn.connect(bind=False)
-    #ldap.conn.close()
-    #print "TEST ldap.conn.connect(bind=False)", ret
+    ldap = LDAPapi()
+    ret = ldap.conn.connect(bind=True)
+    ldap.conn.close() 
+    print "TEST ldap.conn.connect(bind=True)" , ret
+    
+    ret = ldap.conn.connect(bind=False)
+    ldap.conn.close()
+    print "TEST ldap.conn.connect(bind=False)", ret
 
 
-    #ret = ldap.LdapSearch()
-    #print "TEST ldap.LdapSearch ALL",ret
+    ret = ldap.LdapSearch()
+    print "TEST ldap.LdapSearch ALL",ret
     
-    #ret = ldap.LdapSearch('(uid=avakian)', [])
-    #print "\r\n TEST ldap.LdapSearch ids = avakian",ret
+    ret = ldap.LdapSearch('(uid=avakian)', [])
+    print "\r\n TEST ldap.LdapSearch ids = avakian",ret
 
 
-    #password = ldap.generate_password()
-    #print "\r\n TEST generate_password ",password 
+    password = ldap.generate_password()
+    print "\r\n TEST generate_password ",password 
     
-    #maxi = ldap.find_max_uidNumber()
-    #print "\r\n TEST find_max_uidNumber " , maxi
+    maxi = ldap.find_max_uidNumber()
+    print "\r\n TEST find_max_uidNumber " , maxi
 
-    #data = {}
-    #data['last_name'] = "Drake"
-    #data['first_name']="Tim"
-    #data['givenName']= data['first_name']
-    #data['mail'] = "robin@arkham.fr"
-    
-    #record={}
-    #record['hrn'] = 'senslab2.drake'
-    #record['last_name'] = "Drake"
-    #record['first_name']="Tim"
-    #record['mail'] = "robin@arkham.fr"
-    
-    #datanight = {}
-    #datanight['last_name'] = "Grayson"
-    #datanight['first_name']="Dick"
-    #datanight['givenName']= datanight['first_name']
-    #datanight['mail'] = "nightwing@arkham.fr"
-    
-    
-    #record_night = {}
-    #record_night['hrn'] = 'senslab2.grayson'
-    #record_night['last_name'] = datanight['last_name']
-    #record_night['first_name'] = datanight['first_name']
-    #record_night['mail'] = datanight['mail']
-    
-    #login = ldap.generate_login(data)
-    #print "\r\n Robin \tgenerate_login  ", ret 
-    
-    #ret = ldap.LdapAddUser(data)
-    #print "\r\n Robin  \tLdapAddUser ", ret 
+    data = {}
+    data['last_name'] = "Drake"
+    data['first_name']="Tim"
+    data['givenName']= data['first_name']
+    data['mail'] = "robin@arkham.fr"
+    
+    record={}
+    record['hrn'] = 'senslab2.drake'
+    record['last_name'] = "Drake"
+    record['first_name']="Tim"
+    record['mail'] = "robin@arkham.fr"
+    
+    datanight = {}
+    datanight['last_name'] = "Grayson"
+    datanight['first_name']="Dick"
+    datanight['givenName']= datanight['first_name']
+    datanight['mail'] = "nightwing@arkham.fr"
+    
+    
+    record_night = {}
+    record_night['hrn'] = 'senslab2.grayson'
+    record_night['last_name'] = datanight['last_name']
+    record_night['first_name'] = datanight['first_name']
+    record_night['mail'] = datanight['mail']
+    
+    login = ldap.generate_login(data)
+    print "\r\n Robin \tgenerate_login  ", ret 
+    
+    ret = ldap.LdapAddUser(data)
+    print "\r\n Robin  \tLdapAddUser ", ret 
 
-    #req_ldap = '(uid=' + login + ')'
-    #ret = ldap.LdapSearch(req_ldap, [])
-    #print "\r\n Robin \tldap.LdapSearch ids = %s %s"%(login,ret )
+    req_ldap = '(uid=' + login + ')'
+    ret = ldap.LdapSearch(req_ldap, [])
+    print "\r\n Robin \tldap.LdapSearch ids = %s %s"%(login,ret )
     
-    #password = "Thridrobin"
-    #enc = ldap.encrypt_password(password)
-    #print "\r\n Robin \tencrypt_password ", enc
+    password = "Thridrobin"
+    enc = ldap.encrypt_password(password)
+    print "\r\n Robin \tencrypt_password ", enc
     
-    #ret = ldap.LdapModifyUser(record, {'userPassword':enc})
-    #print "\r\n Robin \tChange password LdapModifyUser ", ret 
+    ret = ldap.LdapModifyUser(record, {'userPassword':enc})
+    print "\r\n Robin \tChange password LdapModifyUser ", ret 
     
-    #dn = 'uid=' + login + ',' + ldap.baseDN
-    #ret = ldap.LdapDelete(dn)
-    #print "\r\n Robin  \tLdapDelete ", ret 
+    dn = 'uid=' + login + ',' + ldap.baseDN
+    ret = ldap.LdapDelete(dn)
+    print "\r\n Robin  \tLdapDelete ", ret 
     
-    #ret = ldap.LdapFindUser(record_night)
-    #print "\r\n Nightwing \tldap.LdapFindHrn %s : %s"%(record_night,ret)
+    ret = ldap.LdapFindUser(record_night)
+    print "\r\n Nightwing \tldap.LdapFindHrn %s : %s"%(record_night,ret)
     
-    #ret = ldap.LdapSearch('(uid=grayson)', [])
-    #print "\r\n Nightwing \tldap.LdapSearch ids = %s %s"%('grayson',ret )
+    ret = ldap.LdapSearch('(uid=grayson)', [])
+    print "\r\n Nightwing \tldap.LdapSearch ids = %s %s"%('grayson',ret )
 
-    #ret = ldap.LdapAddUser(datanight)
-    #print "\r\n Nightwing \tLdapAddUser ", ret 
+    ret = ldap.LdapAddUser(datanight)
+    print "\r\n Nightwing \tLdapAddUser ", ret 
     
-    #ret = ldap.LdapResetPassword(record_night)
-    #print "\r\n Nightwing  \tLdapResetPassword de %s : %s "%(record_night,ret)
+    ret = ldap.LdapResetPassword(record_night)
+    print "\r\n Nightwing  \tLdapResetPassword de %s : %s "%(record_night,ret)
     
-    #ret = ldap.LdapDeleteUser(record_night)
-    #print "\r\n Nightwing   \tLdapDeleteUser ", ret 
+    ret = ldap.LdapDeleteUser(record_night)
+    print "\r\n Nightwing   \tLdapDeleteUser ", ret 
     
     
-    #record_avakian = {}
-    #record_avakian['last_name'] = 'avakian'
-    #record_avakian['first_name'] = 'sandrine'
-    #record_avakian['email'] = 'sandrine.avakian@inria.fr'
-    #pubkey = "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAwSUkJ+cr3xM47h8lFkIXJoJhg4wHakTaLJmgTXkzvUmQsQeFB2MjUZ6WAelMXj/EFz2+XkK+bcWNXwfbrLptJQ+XwGpPZlu9YV/kzO63ghVrAyEg0+p7Pn1TO9f1ZYg4R6JfP/3qwH1AsE+X3PNpIewsuEIKwd2wUCJDf5RXJTpl39GizcBFemrRqgs0bdqAN/vUT9YvtWn8fCYR5EfJHVXOK8P1KmnbuGZpk7ryz21pDMlgw13+8aYB+LPkxdv5zG54A5c6o9N3zOCblvRFWaNBqathS8y04cOYWPmyu+Q0Xccwi7vM3Ktm8RoJw+raQNwsmneJOm6KXKnjoOQeiQ== savakian@sfa2.grenoble.senslab.info"
+    record_avakian = {}
+    record_avakian['last_name'] = 'avakian'
+    record_avakian['first_name'] = 'sandrine'
+    record_avakian['email'] = 'sandrine.avakian@inria.fr'
+    pubkey = "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAwSUkJ+cr3xM47h8lFkIXJoJhg4wHakTaLJmgTXkzvUmQsQeFB2MjUZ6WAelMXj/EFz2+XkK+bcWNXwfbrLptJQ+XwGpPZlu9YV/kzO63ghVrAyEg0+p7Pn1TO9f1ZYg4R6JfP/3qwH1AsE+X3PNpIewsuEIKwd2wUCJDf5RXJTpl39GizcBFemrRqgs0bdqAN/vUT9YvtWn8fCYR5EfJHVXOK8P1KmnbuGZpk7ryz21pDMlgw13+8aYB+LPkxdv5zG54A5c6o9N3zOCblvRFWaNBqathS8y04cOYWPmyu+Q0Xccwi7vM3Ktm8RoJw+raQNwsmneJOm6KXKnjoOQeiQ== savakian@sfa2.grenoble.senslab.info"
     
-    #ret = ldap.LdapModifyUser(record_avakian, {'sshPublicKey':pubkey})
-    #print "\r\n Sandrine \tChange pubkey LdapModifyUser ", ret 
+    ret = ldap.LdapModifyUser(record_avakian, {'sshPublicKey':pubkey})
+    print "\r\n Sandrine \tChange pubkey LdapModifyUser ", ret 
     
-    #password = "ReptileFight"
-    #enc = ldap.encrypt_password(password)
-    #print "\r\n sandrine \tencrypt_password ", enc
+    password = "ReptileFight"
+    enc = ldap.encrypt_password(password)
+    print "\r\n sandrine \tencrypt_password ", enc
     
-    #ret = ldap.LdapModifyUser(record_avakian, {'userPassword':enc})
-    #print "\r\n sandrine \tChange password LdapModifyUser ", ret 
-    #return
+    ret = ldap.LdapModifyUser(record_avakian, {'userPassword':enc})
+    print "\r\n sandrine \tChange password LdapModifyUser ", ret 
+    return
 
 
-#def get_stuff(oar, uri):
-    #import httplib
-    #import json    
-    #headers = {}
-    #data = json.dumps({})   
+def get_stuff(oar, uri):
+    import httplib
+    import json    
+    headers = {}
+    data = json.dumps({})   
   
-    #headers['X-REMOTE_IDENT'] = 'avakian' 
+    headers['X-REMOTE_IDENT'] = 'avakian' 
       
-    #headers['content-length'] = '0' #seems that it does not work if we don't add this
+    headers['content-length'] = '0' #seems that it does not work if we don't add this
             
 
-    #conn = httplib.HTTPConnection(oar.oarserver['ip'],oar.oarserver['port'])
-    #conn.request("GET",uri,data , headers )
-    #resp = ( conn.getresponse()).read()
-            ##logger.debug("OARrestapi: \t  GETRequestToOARRestAPI  resp %s" %( resp))
-    #conn.close()
+    conn = httplib.HTTPConnection(oar.oarserver['ip'],oar.oarserver['port'])
+    conn.request("GET",uri,data , headers )
+    resp = ( conn.getresponse()).read()
+            #logger.debug("OARrestapi: \t  GETRequestToOARRestAPI  resp %s" %( resp))
+    conn.close()
       
 
-    #js = json.loads(resp)
-    #return js
+    js = json.loads(resp)
+    return js
             
 
 
   
-#def TestOAR(job_id = None):
+def TestOAR(job_id = 1):
     
-    #if isinstance(job_id,list) and len(job_id) == 1:
-       #job_id = job_id[0]
+    if isinstance(job_id,list) and len(job_id) == 1:
+       job_id = job_id[0]
         
-    #oar = OARrestapi()
-    #jobs = oar.parser.SendRequest("GET_reserved_nodes", username = 'avakian') 
-    #print "\r\n OAR GET_reserved_nodes ",jobs
+    oar = OARrestapi()
+    jobs = oar.parser.SendRequest("GET_reserved_nodes", username = 'avakian') 
+    print "\r\n OAR GET_reserved_nodes ",jobs
     
    
     
-    #jobs = oar.parser.SendRequest("GET_jobs") 
-    #print "\r\n OAR GET_jobs ",jobs
+    jobs = oar.parser.SendRequest("GET_jobs") 
+    print "\r\n OAR GET_jobs ",jobs
     
  
-    #jobs = oar.parser.SendRequest("GET_jobs_id", job_id, 'avakian')
-    #print "\r\n OAR  GET_jobs_id ",jobs
+    jobs = oar.parser.SendRequest("GET_jobs_id", job_id, 'avakian')
+    print "\r\n OAR  GET_jobs_id ",jobs
     
-    #uri = '/oarapi/jobs/details.json?state=Running,Waiting,Launching&user=avakian'      
-    #raw_json = get_stuff(oar,uri)
-    #print "\r\nOAR ", uri, raw_json, "\r\n KKK \t",raw_json.keys()
+    uri = '/oarapi/jobs/details.json?state=Running,Waiting,Launching&user=avakian'      
+    raw_json = get_stuff(oar,uri)
+    print "\r\nOAR ", uri, raw_json, "\r\n KKK \t",raw_json.keys()
     
-    #uri = '/oarapi/jobs/' + job_id +'.json'
-    #raw_json = get_stuff(oar,uri)  
-    #print "\r\n OAR  ",uri,raw_json, "\r\n KKK \t",raw_json.keys()
+    uri = '/oarapi/jobs/' + job_id +'.json'
+    raw_json = get_stuff(oar,uri)  
+    print "\r\n OAR  ",uri,raw_json, "\r\n KKK \t",raw_json.keys()
     
-    #uri = '/oarapi/jobs/' + job_id + '/resources.json'
-    #raw_json = get_stuff(oar,uri)
-    #print "\r\n OAR  ",uri, raw_json, "\r\n KKK \t",raw_json.keys()
+    uri = '/oarapi/jobs/' + job_id + '/resources.json'
+    raw_json = get_stuff(oar,uri)
+    print "\r\n OAR  ",uri, raw_json, "\r\n KKK \t",raw_json.keys()
     
-    #time_format = "%Y-%m-%d %H:%M:%S"
+    time_format = "%Y-%m-%d %H:%M:%S"
    
-    #server_timestamp,server_tz = oar.parser.SendRequest("GET_timezone")
+    server_timestamp,server_tz = oar.parser.SendRequest("GET_timezone")
     
-    #print "\r\n OAR  GetTimezone ",server_timestamp, server_tz
-    #print(datetime.fromtimestamp(int(server_timestamp)).strftime('%Y-%m-%d %H:%M:%S'))
+    print "\r\n OAR  GetTimezone ",server_timestamp, server_tz
+    print(datetime.fromtimestamp(int(server_timestamp)).strftime('%Y-%m-%d %H:%M:%S'))
 
-    #uri = '/oarapi/resources/full.json'
-    #raw_json = get_stuff(oar,uri)
-    #print "\r\n OAR  ",uri, raw_json, "\r\n KKK \t",raw_json.keys()
+    uri = '/oarapi/resources/full.json'
+    raw_json = get_stuff(oar,uri)
+    print "\r\n OAR  ",uri, raw_json, "\r\n KKK \t",raw_json.keys()
     
-    #uri = '/oarapi/jobs.json?user=avakian'      
-    #raw_json = get_stuff(oar,uri)
-    #print "\r\nOAR ", uri, raw_json, "\r\n KKK \t",raw_json.keys()
-    #return
+    uri = '/oarapi/jobs.json?user=avakian'      
+    raw_json = get_stuff(oar,uri)
+    print "\r\nOAR ", uri, raw_json, "\r\n KKK \t",raw_json.keys()
+    return
     
-#def TestSlabDriver(job_id):
-    #if isinstance(job_id,list) and len(job_id) == 1:
-       #job_id = job_id[0]
-    #slabdriver = SlabDriver(Config())
-    #nodes = slabdriver.GetReservedNodes(username='avakian')
-    #print "\r\n \r\n" ,nodes
+def TestSlabDriver(job_id = 1):
+    if isinstance(job_id,list) and len(job_id) == 1:
+       job_id = job_id[0]
+    slabdriver = SlabDriver(Config())
+    nodes = slabdriver.GetReservedNodes(username='avakian')
+    print "\r\n \r\n" ,nodes
     
-    #l = slabdriver.GetSlices(slice_filter = '29', slice_filter_type = 'record_id_user')
+    l = slabdriver.GetSlices(slice_filter = '29', slice_filter_type = 'record_id_user')
     
     
-    #print "\r\n \r\nGetSlices" ,l
+    print "\r\n \r\nGetSlices" ,l
     
-    #persons = slabdriver.GetPersons()
-    #print "\r\n \r\n  GetPersons" ,persons
-    ##slabdriver.DeleteJobs(job_id,'senslab2.avakian_slice')
+    persons = slabdriver.GetPersons()
+    print "\r\n \r\n  GetPersons" ,persons
+    #slabdriver.DeleteJobs(job_id,'senslab2.avakian_slice')
    
-#def RunAll():
-    #TestLdap()
-    #TestOAR()
+def RunAll():
+    TestLdap()
+    TestOAR()
     
    
-#supported_options = {
-        #'OAR' : TestOAR,
-        #'LDAP': TestLdap,
-        #'driver': TestSlabDriver,
-        #'all' : RunAll }
+supported_options = {
+        'OAR' : TestOAR,
+        'LDAP': TestLdap,
+        'driver': TestSlabDriver,
+        'all' : RunAll }
         
 def main():
-    #opts = parse_options()
-    #print opts
-    #for opt in opts:
-        #supported_options[opt](opts[opt])
-        
-    TestJenkinsWhileSlabIsDead()
+    opts = parse_options()
+    print opts
+    for opt in opts:
+        supported_options[opt](opts[opt])
+
     
 if __name__ == "__main__":
     main()    
\ No newline at end of file