def setUp(self): self.querier = mock() self.mailboxes = mock() self.tag_service = mock() self.mailboxes.drafts = lambda: mock() self.mailboxes.trash = lambda: mock() self.mailboxes.sent = lambda: mock() self.mail_sender = mock() self.mail_service = MailService(self.mailboxes, self.mail_sender, self.tag_service, self.querier)
def init_app(app): leap_session = init_leap_session(app) soledad_querier = SoledadQuerier(soledad=leap_session.account._soledad) tag_service = TagService() search_engine = SearchEngine(soledad_querier) pixelated_mail_sender = MailSender(leap_session.account_email()) pixelated_mailboxes = Mailboxes(leap_session.account, soledad_querier) draft_service = DraftService(pixelated_mailboxes) mail_service = MailService(pixelated_mailboxes, pixelated_mail_sender, tag_service, soledad_querier) MailboxIndexerListener.SEARCH_ENGINE = search_engine InputMail.FROM_EMAIL_ADDRESS = leap_session.account_email() home_controller = HomeController() features_controller = FeaturesController() mails_controller = MailsController(mail_service=mail_service, draft_service=draft_service, search_engine=search_engine) tags_controller = TagsController(search_engine=search_engine) contacts_controller = ContactsController(search_engine=search_engine) sync_info_controller = SyncInfoController() attachments_controller = AttachmentsController(soledad_querier) register(signal=proto.SOLEDAD_SYNC_RECEIVE_STATUS, callback=update_info_sync_and_index_partial( sync_info_controller=sync_info_controller, search_engine=search_engine, mail_service=mail_service)) register(signal=proto.SOLEDAD_DONE_DATA_SYNC, callback=init_index_and_remove_dupes(querier=soledad_querier, search_engine=search_engine, mail_service=mail_service)) register(signal=proto.SOLEDAD_DONE_DATA_SYNC, uid=CREATE_KEYS_IF_KEYS_DONT_EXISTS_CALLBACK, callback=look_for_user_key_and_create_if_cant_find(leap_session)) setup_routes(app, home_controller, mails_controller, tags_controller, features_controller, sync_info_controller, attachments_controller, contacts_controller)
def __init__(self, soledad_test_folder='soledad-test'): self.soledad = initialize_soledad(tempdir=soledad_test_folder) self.mail_address = "*****@*****.**" # setup app PixelatedMail.from_email_address = self.mail_address SearchEngine.INDEX_FOLDER = soledad_test_folder + '/search_index' self.app = pixelated.runserver.app self.soledad_querier = SoledadQuerier(self.soledad) self.soledad_querier.get_index_masterkey = lambda: '_yg2oG_5ELM8_-sQYcsxI37WesI0dOtZQXpwAqjvhR4=' self.account = SoledadBackedAccount('test', self.soledad, MagicMock()) self.mailboxes = Mailboxes(self.account, self.soledad_querier) self.mail_sender = Mock() self.tag_service = TagService() self.draft_service = DraftService(self.mailboxes) self.mail_service = MailService(self.mailboxes, self.mail_sender, self.tag_service, self.soledad_querier) self.search_engine = SearchEngine(self.soledad_querier) self.search_engine.index_mails(self.mail_service.all_mails()) features_controller = FeaturesController() features_controller.DISABLED_FEATURES.append('autoReload') home_controller = HomeController() mails_controller = MailsController(mail_service=self.mail_service, draft_service=self.draft_service, search_engine=self.search_engine) tags_controller = TagsController(search_engine=self.search_engine) contacts_controller = ContactsController( search_engine=self.search_engine) sync_info_controller = SyncInfoController() attachments_controller = AttachmentsController(self.soledad_querier) setup_routes(self.app, home_controller, mails_controller, tags_controller, features_controller, sync_info_controller, attachments_controller, contacts_controller)