addressing some of the remaining occurrences of SfaRecord
authorThierry Parmentelat <thierry.parmentelat@sophia.inria.fr>
Wed, 18 Jan 2012 09:52:58 +0000 (10:52 +0100)
committerThierry Parmentelat <thierry.parmentelat@sophia.inria.fr>
Wed, 18 Jan 2012 09:52:58 +0000 (10:52 +0100)
sfa/methods/GetSelfCredential.py
sfa/methods/List.py
sfa/methods/Resolve.py
sfa/server/sfa-start.py
tests/testAll.py
tests/testStorage.py [moved from tests/testRecord.py with 61% similarity]

index fd87ca0..b8eb18a 100644 (file)
@@ -6,7 +6,6 @@ from sfa.util.method import Method
 from sfa.trust.certificate import Certificate
 
 from sfa.storage.parameter import Parameter, Mixed
-from sfa.storage.record import SfaRecord
 
 class GetSelfCredential(Method):
     """
@@ -55,12 +54,25 @@ class GetSelfCredential(Method):
         self.api.logger.info("interface: %s\tcaller-hrn: %s\ttarget-hrn: %s\tmethod-name: %s"%(self.api.interface, origin_hrn, hrn, self.name))
         
  
-        # authenticate the gid
+        ### authenticate the gid
+        # import here so we can load this module at build-time for sfa2wsdl
+        #from sfa.storage.alchemy import dbsession
+        from sfa.storage.persistentobjs import RegRecord
+
+        # xxx-local - the current code runs Resolve, which would forward to 
+        # another registry if needed
+        # I wonder if this is truly the intention, or shouldn't we instead 
+        # only look in the local db ?
         records = self.api.manager.Resolve(self.api, xrn, type)
         if not records:
             raise RecordNotFound(hrn)
-        record = SfaRecord(dict=records[0])
-        gid = record.get_gid_object()
+
+        record_obj = RegRecord ('unknown')
+        record_obj.set_from_dict (records[0])
+        # xxx-local the local-only version would read 
+        #record_obj = dbsession.query(RegRecord).filter_by(hrn=hrn).first()
+        #if not record_obj: raise RecordNotFound(hrn)
+        gid = record_obj.get_gid_object()
         gid_str = gid.save_to_string(save_parents=True)
         self.api.auth.authenticateGid(gid_str, [cert, type, hrn])
         # authenticate the certificate against the gid in the db
index bbd3e47..c023fa0 100644 (file)
@@ -5,7 +5,6 @@ from sfa.util.method import Method
 from sfa.trust.credential import Credential
 
 from sfa.storage.parameter import Parameter, Mixed
-from sfa.storage.record import SfaRecord
 
 class List(Method):
     """
@@ -23,7 +22,8 @@ class List(Method):
               Parameter(type([str]), "List of credentials")),
         ]
 
-    returns = [SfaRecord]
+    # xxx used to be [SfaRecord]
+    returns = [Parameter(dict, "registry record")]
     
     def call(self, xrn, creds):
         hrn, type = urn_to_hrn(xrn)
index 9a6dd47..7abc6cd 100644 (file)
@@ -6,7 +6,6 @@ from sfa.util.method import Method
 from sfa.trust.credential import Credential
 
 from sfa.storage.parameter import Parameter, Mixed
-from sfa.storage.record import SfaRecord
 
 class Resolve(Method):
     """
@@ -26,7 +25,8 @@ class Resolve(Method):
               Parameter(list, "List of credentials)"))  
         ]
 
-    returns = [SfaRecord]
+    # xxx used to be [SfaRecord]
+    returns = [Parameter(dict, "registry record")]
     
     def call(self, xrns, creds):
         type = None
index 09b68f5..fe811ff 100755 (executable)
@@ -138,7 +138,7 @@ def update_cert_records(gids):
     gid_urns = [gid.get_urn() for gid in gids]
     hrns_expected = [gid.get_hrn() for gid in gids]
     records_found = dbsession.query(RegRecord).\
-        filter_by(pointer=-1)filter(RegRecord.hrn.in_(hrns_expected)).all()
+        filter_by(pointer=-1).filter(RegRecord.hrn.in_(hrns_expected)).all()
 
     # remove old records
     for record in records_found:
index 875b139..1b9a466 100755 (executable)
@@ -12,7 +12,7 @@ from testXrn import *
 from testKeypair import *
 # xxx broken-test
 #from testHierarchy import *
-from testRecord import *
+from testStorage import *
 
 if __name__ == "__main__":
     unittest.main()
similarity index 61%
rename from tests/testRecord.py
rename to tests/testStorage.py
index f931bda..deb69f4 100755 (executable)
@@ -1,14 +1,14 @@
 import unittest
 from sfa.trust.gid import *
 from sfa.util.config import *
-from sfa.storage.record import *
+from sfa.storage.persistentobjs import RegRecord
 
-class TestRecord(unittest.TestCase):
+class TestStorage(unittest.TestCase):
     def setUp(self):
         pass
 
     def testCreate(self):
-        r = SfaRecord()
+        r = RegRecord('user')
 
 if __name__ == "__main__":
     unittest.main()