Changeset 2613 in products


Ignore:
Timestamp:
Jul 5, 2010 3:41:57 PM (9 years ago)
Author:
mylan
Message:

Added tests for SafeQuery? class

Location:
quintagroup.gauth/trunk/quintagroup/gauth
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • quintagroup.gauth/trunk/quintagroup/gauth/tests.py

    r2610 r2613  
     1import sys 
    12import re 
    23import unittest 
     4from StringIO import StringIO 
    35 
    46#from zope.testing import doctestunit 
     
    1719 
    1820import quintagroup.gauth 
     21from quintagroup.gauth.utility import SafeQuery 
    1922from quintagroup.gauth.interfaces import IGAuthUtility 
    2023from quintagroup.gauth.browser.configlet import IGAuthConfigletSchema 
     
    124127 
    125128 
     129import gdata.service 
     130 
     131out = "" 
     132class DummyService(object): 
     133    doraise = False 
     134 
     135    def ProgrammaticLogin(self): 
     136        global out 
     137        out += "\nCall ProgrammaticLogin" 
     138        self.doraise = False 
     139 
     140    def Action(self, *args, **kwargs): 
     141        global out 
     142        out += "\nCall Action with: args='%s', kwargs='%s'" % (str(args), str(kwargs)) 
     143        if self.doraise: 
     144            raise gdata.service.RequestError("Token is expired") 
     145 
     146class TestSafeQuery(unittest.TestCase): 
     147 
     148    def setUp(self): 
     149        global out 
     150        self.serv = DummyService() 
     151        self.args = "test_arg", 
     152        self.kwargs = {"kw1_key": "kw1_val"} 
     153        self.sq = SafeQuery() 
     154        out = "" 
     155 
     156    def testMethodCall(self): 
     157        self.sq.safeQuery(self.serv, self.serv.Action, *self.args, **self.kwargs) 
     158        res = filter(None, out.split("\n")) 
     159        self.assertEqual(res[0], 
     160            "Call Action with: args='%s', kwargs='%s'" % (str(self.args), str(self.kwargs))) 
     161 
     162    def testProgrammaticLogin(self): 
     163        self.serv.doraise = True 
     164        self.sq.safeQuery(self.serv, self.serv.Action, *self.args, **self.kwargs) 
     165        res = filter(None, out.split("\n")) 
     166        self.assertEqual(res[0], "Call Action with: args='%s', kwargs='%s'" % ( 
     167            str(self.args), str(self.kwargs))) 
     168        self.assertEqual(res[1], "Call ProgrammaticLogin") 
     169        self.assertEqual(res[2], "Call Action with: args='%s', kwargs='%s'" % ( 
     170            str(self.args), str(self.kwargs))) 
     171 
     172 
    126173def test_suite(): 
    127174    from unittest import TestSuite, makeSuite 
     
    130177    suite.addTest(makeSuite(TestConfiglet)) 
    131178    suite.addTest(makeSuite(TestUtility)) 
     179    suite.addTest(makeSuite(TestSafeQuery)) 
    132180    return suite 
    133181 
  • quintagroup.gauth/trunk/quintagroup/gauth/utility.py

    r2609 r2613  
    44 
    55import logging 
     6import gdata.service 
    67from zope.interface import implements 
    78from zope.component import queryMultiAdapter, queryAdapter 
Note: See TracChangeset for help on using the changeset viewer.