def setUp(self): super(SetupGuideTest, self).setUp() from netprintbox.exceptions import DropboxNotFound # mockout import netprintbox.service import google.appengine.api.taskqueue res = StringIO('') res.status = 404 res.reason = 'reason' class service(object): def __init__(self): self.state = 0 self.dropbox = type('fake_dropbox', (), {}) self.dropbox.list = self._list self.dropbox.put = self._put def _list(self, path): assert self.state in (0, 2, 4), \ "Invalid state %r" % self.state if self.state == 0: self.state += 1 raise DropboxNotFound else: self.state += 1 return {} def _put(self, path, file_obj): assert self.state in (1,), \ "Invalid state %r" % self.state self.state += 1 def load_netprint_account_info(self): assert self.state in (3, 5), \ "Invalid state %r" % self.state if self.state == 3: self.state += 1 raise DropboxNotFound else: return ('username', 'password') class netprint_service(object): client = object() mock('netprintbox.service.NetprintboxService', returns=service()) mock('netprintbox.service.NetprintService', returns=netprint_service) mock('google.appengine.api.taskqueue.add')