summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeissi Torres Lima <neissi.lima@gmail.com>2014-08-05 17:43:05 -0300
committerNeissi Torres Lima <neissi.lima@gmail.com>2014-08-05 17:43:25 -0300
commitdec451c063876a3a580375455a3db0dcf398dc9c (patch)
tree8c4df8faf123ed672c23834150a6a4fc0550bde3
parent85f663fdb0d02827b7ab1a8d501ab9caa3fcaf49 (diff)
Now you can run the server and the tests without changing any code!
-rw-r--r--service/app/adapter/__init__.py1
-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__.py3
-rw-r--r--service/app/pixelated_user_agent.py20
-rwxr-xr-xservice/go1
-rw-r--r--service/test/adapter/mail_service_test.py15
-rw-r--r--service/test/leap/client_test.py10
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'])
diff --git a/service/go b/service/go
index dd404a5b..1342660b 100755
--- a/service/go
+++ b/service/go
@@ -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')