diff --git a/.cache/v/cache/lastfailed b/.cache/v/cache/lastfailed new file mode 100644 index 0000000..dc20891 --- /dev/null +++ b/.cache/v/cache/lastfailed @@ -0,0 +1,4 @@ +{ + "caotek_mesavoirs/tests/test_views.py::TestMyViewFailureCondition::test_failing_view": true, + "caotek_mesavoirs/tests/test_views.py::TestMyViewSuccessCondition::test_passing_view": true +} \ No newline at end of file diff --git a/caotek_mesavoirs.egg-info/requires.txt b/caotek_mesavoirs.egg-info/requires.txt index 8575edf..e3742d3 100644 --- a/caotek_mesavoirs.egg-info/requires.txt +++ b/caotek_mesavoirs.egg-info/requires.txt @@ -11,6 +11,7 @@ waitress MySQL-python docutils yahoo_finance +BeautifulSoup [testing] WebTest >= 1.3.1 diff --git a/caotek_mesavoirs/static/img/portfolio-no-brainer.png b/caotek_mesavoirs/static/img/portfolio-no-brainer.png new file mode 100644 index 0000000..210b549 Binary files /dev/null and b/caotek_mesavoirs/static/img/portfolio-no-brainer.png differ diff --git a/caotek_mesavoirs/templates/layouts/global_layout.pt b/caotek_mesavoirs/templates/layouts/global_layout.pt index c9c7888..e1a9093 100644 --- a/caotek_mesavoirs/templates/layouts/global_layout.pt +++ b/caotek_mesavoirs/templates/layouts/global_layout.pt @@ -89,7 +89,7 @@
diff --git a/caotek_mesavoirs/tests.py b/caotek_mesavoirs/tests.py deleted file mode 100644 index 848077f..0000000 --- a/caotek_mesavoirs/tests.py +++ /dev/null @@ -1,65 +0,0 @@ -import unittest -import transaction - -from pyramid import testing - - -def dummy_request(dbsession): - return testing.DummyRequest(dbsession=dbsession) - - -class BaseTest(unittest.TestCase): - def setUp(self): - self.config = testing.setUp(settings={ - 'sqlalchemy.url': 'sqlite:///:memory:' - }) - self.config.include('.models') - settings = self.config.get_settings() - - from .models import ( - get_engine, - get_session_factory, - get_tm_session, - ) - - self.engine = get_engine(settings) - session_factory = get_session_factory(self.engine) - - self.session = get_tm_session(session_factory, transaction.manager) - - def init_database(self): - from .models.meta import Base - Base.metadata.create_all(self.engine) - - def tearDown(self): - from .models.meta import Base - - testing.tearDown() - transaction.abort() - Base.metadata.drop_all(self.engine) - - -class TestMyViewSuccessCondition(BaseTest): - - def setUp(self): - super(TestMyViewSuccessCondition, self).setUp() - self.init_database() - - from .models import MyModel - - model = MyModel(name='one', value=55) - self.session.add(model) - - def test_passing_view(self): - from .views.default import my_view - info = my_view(dummy_request(self.session)) - self.assertEqual(info['one'].name, 'one') - self.assertEqual(info['project'], 'caotek_mesavoirs') - - -class TestMyViewFailureCondition(BaseTest): - - def test_failing_view(self): - from .views.default import my_view - info = my_view(dummy_request(self.session)) - self.assertEqual(info.status_int, 500) diff --git a/caotek_mesavoirs/tests/test_views.py b/caotek_mesavoirs/tests/test_views.py new file mode 100644 index 0000000..da735f2 --- /dev/null +++ b/caotek_mesavoirs/tests/test_views.py @@ -0,0 +1,60 @@ +import unittest +import transaction + +from pyramid import testing + + +def dummy_request(dbsession): + return testing.DummyRequest(dbsession=dbsession) + + +class BaseTest(unittest.TestCase): + def setUp(self): + from ..models import get_tm_session + self.config = testing.setUp(settings={ + 'sqlalchemy.url': 'sqlite:///:memory:' + }) + self.config.include('..models') + self.config.include('..routes') + + session_factory = self.config.registry['dbsession_factory'] + self.session = get_tm_session(session_factory, transaction.manager) + + self.init_database() + + def init_database(self): + from .models.meta import Base + session_factory = self.config.registry['dbsession_factory'] + engine = session_factory.kw['bind'] + Base.metadata.create_all(engine) + + def tearDown(self): + testing.tearDown() + transaction.abort() + + def makeUser(self, name, role, password='dummy'): + from ..models import User + user = User(name=name, role=role) + user.set_password(password) + return user + + def makePage(self, name, data, creator): + from ..models import Page + return Page(name=name, data=data, creator=creator) + +class ViewWikiTests(unittest.TestCase): + def setUp(self): + self.config = testing.setUp() + self.config.include('..routes') + + def tearDown(self): + testing.tearDown() + + def _callFUT(self, request): + from tutorial.views.default import view_wiki + return view_wiki(request) + + def test_it(self): + request = testing.DummyRequest() + response = self._callFUT(request) + self.assertEqual(response.location, 'http://example.com/FrontPage') diff --git a/development.ini b/development.ini index 22e2f53..4b4d03a 100644 --- a/development.ini +++ b/development.ini @@ -21,15 +21,14 @@ pyramid.includes = sqlalchemy.url = mysql://root:phuoc@localhost/bd_mesavoirs?charset=utf8 # sqlalchemy.url = mysql://root:phuoc@192.168.1.98/bd_mesavoirs?charset=utf8 -caotek_mesavoirs.admin_email = ctphuoc@bbox.fr +caotek_mesavoirs.admin_email = cao.thienphuoc@bbox.fr # Mailer configuration -mail.host = smtp.orange.fr -mail.port = 465 -mail.username = sas.dumas@orange.fr -mail.password = sasdumas +mail.host = smtp.bbox.fr +mail.port = 587 +mail.username = cao.thienphuoc@bbox.fr +mail.password = pcao.8211 mail.ssl = yes -pyramid_mailer.prefix = mail. [server:main] diff --git a/production.ini b/production.ini index 16f5d13..2221cf5 100644 --- a/production.ini +++ b/production.ini @@ -18,6 +18,9 @@ pyramid.includes = pyramid_tm sqlalchemy.url = mysql://root:phuoc@localhost/bd_mesavoirs?charset=utf8 +sqlalchemy.pool_recycle = 3600 +sqlalchemy.pool_size = 20 +sqlalchemy.max_overflow = 10 caotek_mesavoirs.admin_email = phuoc@caotek.fr