diff options
author | Neissi Torres Lima <neissi.lima@gmail.com> | 2014-08-05 17:43:05 -0300 |
---|---|---|
committer | Neissi Torres Lima <neissi.lima@gmail.com> | 2014-08-05 17:43:25 -0300 |
commit | dec451c063876a3a580375455a3db0dcf398dc9c (patch) | |
tree | 8c4df8faf123ed672c23834150a6a4fc0550bde3 | |
parent | 85f663fdb0d02827b7ab1a8d501ab9caa3fcaf49 (diff) |
Now you can run the server and the tests without changing any code!
-rw-r--r-- | service/app/adapter/__init__.py | 1 | ||||
-rw-r--r-- | service/app/adapter/mail_converter.py (renamed from service/app/leap/mailconverter.py) | 12 | ||||
-rw-r--r-- | service/app/adapter/mail_service.py (renamed from service/app/leap/client.py) | 10 | ||||
-rw-r--r-- | service/app/leap/__init__.py | 3 | ||||
-rw-r--r-- | service/app/pixelated_user_agent.py | 20 | ||||
-rwxr-xr-x | service/go | 1 | ||||
-rw-r--r-- | service/test/adapter/mail_service_test.py | 15 | ||||
-rw-r--r-- | service/test/leap/client_test.py | 10 |
8 files changed, 40 insertions, 32 deletions
diff --git a/service/app/adapter/__init__.py b/service/app/adapter/__init__.py new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/service/app/adapter/__init__.py @@ -0,0 +1 @@ + diff --git a/service/app/leap/mailconverter.py b/service/app/adapter/mail_converter.py index e05b2c30..a77fcdb7 100644 --- a/service/app/leap/mailconverter.py +++ b/service/app/adapter/mail_converter.py @@ -1,21 +1,19 @@ class MailConverter: - def __init__(self, client): + def __init__(self, mail_service): pass - def from_mail(self, inbox_mail): - raise NotImplementedError() + def from_mail(self, imap_mail): + return inbox_mail def to_mail(self, pixelated_mail, account): raise NotImplementedError() - def from_tag(self, inbox_tag): + def from_tag(self, imap_tag): raise NotImplementedError() - def from_contact(self, inbox_contact): + def from_contact(self, imap_contact): raise NotImplementedError() - - diff --git a/service/app/leap/client.py b/service/app/adapter/mail_service.py index b1e4fb8b..b9ea238f 100644 --- a/service/app/leap/client.py +++ b/service/app/adapter/mail_service.py @@ -7,7 +7,7 @@ from app.bitmask_libraries.session import LeapSessionFactory from app.bitmask_libraries.auth import LeapCredentials -class Client: +class MailService: def __init__(self): try: self.username = 'test_user' @@ -25,13 +25,15 @@ class Client: self.leap_config = LeapConfig(leap_home=self.leapdir) self.provider = LeapProvider(self.server_name, self.leap_config) self.leap_session = LeapSessionFactory(self.provider).create(LeapCredentials(self.username, self.password)) - self.mbx = self.leap_session.account.getMailbox(self.mailbox_name) + self.mail_box = self.leap_session.account.getMailbox(self.mailbox_name) def mails(self, query): - raise NotImplementedError() + self.mail_box.messages + return [] + def drafts(self): - raise NotImplementedError() + return [] def mail(self, mail_id): raise NotImplementedError() diff --git a/service/app/leap/__init__.py b/service/app/leap/__init__.py deleted file mode 100644 index b836e508..00000000 --- a/service/app/leap/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -from client import Client -from mailconverter import MailConverter - diff --git a/service/app/pixelated_user_agent.py b/service/app/pixelated_user_agent.py index 3f812f27..e2544481 100644 --- a/service/app/pixelated_user_agent.py +++ b/service/app/pixelated_user_agent.py @@ -1,11 +1,16 @@ -from flask import Flask, request, Response -from factory import MailConverterFactory, ClientFactory -from search import SearchQuery - +import sys +import os import json import datetime import requests +sys.path.insert(0, os.environ['APP_ROOT']) + +from flask import Flask, request, Response +from search import SearchQuery +from adapter.mail_service import MailService +from adapter.mail_converter import MailConverter + app = Flask(__name__) client = None converter = None @@ -40,7 +45,7 @@ def update_draft(): @app.route('/mails') def mails(): query = SearchQuery.compile(request.args.get("q")) - mails = client.drafts() if "drafts" in query['tags'] else client.mails(query) + mails = mail_service.drafts() if "drafts" in query['tags'] else mail_service.mails(query) mails = [converter.from_mail(mail) for mail in mails] if "inbox" in query['tags']: @@ -119,9 +124,8 @@ def redirect_to_front(path): if __name__ == '__main__': app.config.from_envvar('PIXELATED_UA_CFG') - provider = app.config['PROVIDER'] account = app.config['ACCOUNT'] - client = ClientFactory.create(provider, account) - converter = MailConverterFactory.create(provider, client) + mail_service = MailService() + converter = MailConverter(mail_service) app.run(host=app.config['HOST'], debug=app.config['DEBUG'], port=app.config['PORT']) @@ -1,4 +1,5 @@ #!/bin/bash export PIXELATED_UA_CFG=../config/pixelated_ua.cfg +export APP_ROOT=. python app/pixelated_user_agent.py diff --git a/service/test/adapter/mail_service_test.py b/service/test/adapter/mail_service_test.py new file mode 100644 index 00000000..9f0ac616 --- /dev/null +++ b/service/test/adapter/mail_service_test.py @@ -0,0 +1,15 @@ +import sys +import os +import unittest + +from app.adapter.mail_service import MailService + +class TestMailService(unittest.TestCase): + + def test_initialization(self): + mail_service = MailService() + + def test_receive_mail(self): + mail_service = MailService() + mails = mail_service.mails("") + self.assertIsNotNone(mails) diff --git a/service/test/leap/client_test.py b/service/test/leap/client_test.py deleted file mode 100644 index 3f2a869e..00000000 --- a/service/test/leap/client_test.py +++ /dev/null @@ -1,10 +0,0 @@ -import sys -import os -sys.path.insert(0, os.environ['APP_ROOT']) - -from app.leap.client import Client - - -def test_initialization(): - client = Client() - print('Run') |