tests/offer.py
branchdevel
changeset 146 8cae6cfc1de4
child 150 c6896c3374c4
--- /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"])