--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/offer.py Mon Feb 13 17:13:48 2012 +0100
@@ -0,0 +1,62 @@
+from twisted.internet import reactor
+from twisted.internet.defer import inlineCallbacks
+
+from iro.model import offer
+from iro.config import config
+
+from iro.offer.offer import Offer
+from iro.model.schema import User, Offer as DBOffer, Userright
+from iro.controller.pool import dbPool
+from .dbtestcase import DBTestCase
+
+class TestOffers(DBTestCase):
+ '''test config class'''
+ def setUp(self):
+ DBTestCase.setUp(self)
+ dbPool.start(reactor)
+
+ def tearDown(self):
+ dbPool.pool.stop()
+ offer.offers.clear()
+ DBTestCase.tearDown(self)
+
+ def testReloadList(self):
+ '''test if loadOffers will be fired by reloading Config'''
+ self.assertTrue(offer.loadOffers in config.reloadList)
+
+ @inlineCallbacks
+ def testExtendProviderUnknown(self):
+ '''test the extendProvider Function (route unknown)'''
+ with self.session() as session:
+ u = User(name='test',apikey='abcdef123456789')
+ session.add(u)
+
+ offer.offers={"blub":None}
+ ret = yield offer.extendProvider(u, "sms", ["blub"])
+ self.assertEqual(ret, [])
+
+ @inlineCallbacks
+ def testExtendProviderKnown(self):
+ '''test the extendProvider Function (route known)'''
+ with self.session() as session:
+ u = User(name='test',apikey='abcdef123456789')
+ session.add(u)
+ o=DBOffer(name="blub", provider="bla", route="basic", typ="sms")
+ u.rights.append(Userright(o))
+
+ offer.offers={"blub":None}
+ ret = yield offer.extendProvider(u, "sms", ["blub"])
+ self.assertEqual(ret, ["blub"])
+
+ @inlineCallbacks
+ def testExtendProviderProvider(self):
+ '''test the extendProvider Function (provider known)'''
+ with self.session() as session:
+ u = User(name='test',apikey='abcdef123456789')
+ session.add(u)
+ o=DBOffer(name="oh", provider="bla", route="a", typ="sms")
+ u.rights.append(Userright(o))
+
+ offer.offers={"bla":Offer("bla",["a","b","c"])}
+ ret = yield offer.extendProvider(u, "sms", ["bla"])
+ self.assertEqual(ret, ["oh"])