tests/xmlrpc.py
branchdevel
changeset 125 19b3f383c9ce
parent 120 7bde35ad89e0
child 126 1ac2439a68b5
--- a/tests/xmlrpc.py	Mon Jan 30 06:44:39 2012 +0100
+++ b/tests/xmlrpc.py	Mon Jan 30 06:51:28 2012 +0100
@@ -9,7 +9,7 @@
 from iro.model.utils import WithSession
 from iro.model import POOL_SIZE as DB_POOL_SIZE
 
-from iro.model.schema import User, Base, Offer, Userright
+from iro.model.schema import User, Base, Offer, Userright, Job
 import iro.model.schema as schema
 
 from ngdatabase.mysql import Server, createConfig, Database
@@ -74,15 +74,33 @@
     def testStatus(self):
         ''' test the status function'''
         with WithSession(md.engine, autocommit=True) as session:
+            u = User(name='test',apikey='abcdef123456789')
             session.add(User(name='test',apikey='abcdef123456789'))
-        ret = self.__rpc2().status('abcdef123456789')
-        self.failUnlessEqual(ret, "<User('test','abcdef123456789')>")
-        self.failUnlessEqual(self.__rpc2().status('abcdef123456789','abcde'), ["<User('test','abcdef123456789')>",'abcde',False])
-        self.failUnlessEqual(self.__rpc2().status('abcdef123456789','abcde', True), ["<User('test','abcdef123456789')>",'abcde', True])
-        self.failUnlessEqual(self.__rpc2().status('abcdef123456789', '', 'true'), ["<User('test','abcdef123456789')>", '', True])
-        self.failUnlessEqual(self.__rpc2().status('abcdef123456789', '', 'false'), "<User('test','abcdef123456789')>")
-        self.failUnlessEqual(self.__rpc2().status('abcdef123456789', '', 0), "<User('test','abcdef123456789')>")
-        self.failUnlessEqual(self.__rpc2().status('abcdef123456789', '', 1), ["<User('test','abcdef123456789')>", '', True])
+        self.failUnlessEqual(self.__rpc2().status('abcdef123456789'), {})
+        
+        with WithSession(md.engine, autocommit=True) as session:
+            u = session.merge(u)
+            j = Job(hash="a1", info='info', status="started")
+            j.user=u
+            session.add(j)
+       
+        status = {'a1':{"status":"started"}}
+        self.failUnlessEqual(self.__rpc2().status('abcdef123456789'), status)
+        self.failUnlessEqual(self.__rpc2().status('abcdef123456789',"a1"), status)
+        self.failUnlessEqual(self.__rpc2().status('abcdef123456789', '', 'false'), status)
+        self.failUnlessEqual(self.__rpc2().status('abcdef123456789', '', 0), status)
+
+        #JobNotFound
+        with self.assertRaises(Fault) as fault:
+            self.__rpc2().status('abcdef123456789',"b")
+        exc = fault.exception
+        unf = IroError.JobNotFound()
+        self.failUnlessEqual(exc.faultCode, unf.code)
+        self.failUnlessEqual(exc.faultString, unf.msg)
+
+        #self.failUnlessEqual(self.__rpc2().status('abcdef123456789','abcde', True), ["<User('test','abcdef123456789')>",'abcde', True])
+        #self.failUnlessEqual(self.__rpc2().status('abcdef123456789', '', 'true'), ["<User('test','abcdef123456789')>", '', True])
+        #self.failUnlessEqual(self.__rpc2().status('abcdef123456789', '', 1), ["<User('test','abcdef123456789')>", '', True])
     
     def testNoSuchUser(self):
         '''a unknown user should raise a UserNotNound Exception