--- 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