# HG changeset patch # User Sandro Knauß # Date 1330377619 -3600 # Node ID 6c708c334f3754d417a917b4c994e0ccfd1a13bf # Parent 1816e97881ce00f8327c9f3c08981e8349ecdc4e test for controller.viewinterface.mail diff -r 1816e97881ce -r 6c708c334f37 iro/controller/viewinterface.py --- a/iro/controller/viewinterface.py Sun Feb 26 19:46:26 2012 +0100 +++ b/iro/controller/viewinterface.py Mon Feb 27 22:20:19 2012 +0100 @@ -98,9 +98,10 @@ return job.id @validate(kwd="recipients",func=vEmail) + @validate(kwd="frm",func=vEmail) @vUser @vRoute(typ="mail") - def mail(self, user, subject, body, recipients, frm=None, route="default", info=""): + def mail(self, user, subject, body, recipients, frm=None, route="default", info=""): '''Versendet eine Email. Keywords: @@ -117,8 +118,11 @@ ''' - job = createJob(recipients, Mail(frm, subject, body), info, route) - return job.id + d = createJob(user, recipients, Mail(subject, body, frm), route, info) + def ret(job): + return job.dbjob + d.addCallback(ret) + return d @validate(kwd="typ", func=vTyp) @vUser diff -r 1816e97881ce -r 6c708c334f37 iro/model/message.py --- a/iro/model/message.py Sun Feb 26 19:46:26 2012 +0100 +++ b/iro/model/message.py Mon Feb 27 22:20:19 2012 +0100 @@ -58,6 +58,8 @@ con=MIMEText(body.encode("utf-8"), _charset='utf-8') sub=Header(subject.encode('utf-8'), 'utf-8') con['Subject']=sub + self.subject = subject + self.body = body self.frm=frm Message.__init__(self, con, typ='mail') @@ -73,5 +75,8 @@ if self.frm != other.frm: return False + + return True - return True + def __repr__(self): + return ""%(self.subject,self.body,self.frm) diff -r 1816e97881ce -r 6c708c334f37 tests/viewinterface.py --- a/tests/viewinterface.py Sun Feb 26 19:46:26 2012 +0100 +++ b/tests/viewinterface.py Mon Feb 27 22:20:19 2012 +0100 @@ -6,6 +6,7 @@ from iro.controller.viewinterface import Interface from iro.controller.pool import taskPool +from iro.model.message import SMS, Fax, Mail from iro.model.pool import data from iro.model.offer import offers from iro.model.job import exJobs @@ -206,14 +207,29 @@ with self.session() as session: u = session.merge(u) - u.job(jobid) - + job = u.job(jobid) + exJob = job.extend + + self.assertEqual(exJob.message,SMS("message",None)) self.assertEqual(taskPool.pool.q.qsize(),1) + @inlineCallbacks def testMail(self): - pass - testMail.todo = "To implement" + with self.session() as session: + u = User(name='test',apikey='abcdef123456789') + o = Offer(name='loc',provider="localhost",route="",typ="mail") + u.rights.append(Userright(o)) + session.add(u) + + jobid = yield Interface().mail('abcdef123456789','sub', "hey body!", ['t@te.de'], "frm@t.de" ,['loc']) + with self.session() as session: + u = session.merge(u) + job = u.job(jobid) + exJob = job.extend + + self.assertEqual(exJob.message,Mail("sub",'hey body!','frm@t.de')) + self.assertEqual(taskPool.pool.q.qsize(),1) def testFax(self): pass