diff --git a/tests/test_config.py b/tests/test_config.py index 3aaaaff..d0d8e75 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -1,7 +1,7 @@ #!/usr/bin/python # -*- coding: UTF-8 -*- -import unittest +import pytest from stacosys.service import config from stacosys.service.configuration import ConfigParameter @@ -11,31 +11,24 @@ EXPECTED_HTTP_PORT = 8080 EXPECTED_LANG = "fr" -class ConfigTestCase(unittest.TestCase): - def setUp(self): - config.put(ConfigParameter.DB_SQLITE_FILE, EXPECTED_DB_SQLITE_FILE) - config.put(ConfigParameter.HTTP_PORT, EXPECTED_HTTP_PORT) - - def test_exists(self): - self.assertTrue(config.exists(ConfigParameter.DB_SQLITE_FILE)) - - def test_get(self): - self.assertEqual( - config.get(ConfigParameter.DB_SQLITE_FILE), EXPECTED_DB_SQLITE_FILE - ) - self.assertEqual(config.get(ConfigParameter.HTTP_HOST), "") - self.assertEqual( - config.get(ConfigParameter.HTTP_PORT), str(EXPECTED_HTTP_PORT) - ) - self.assertEqual(config.get_int(ConfigParameter.HTTP_PORT), 8080) - try: - config.get_bool(ConfigParameter.DB_SQLITE_FILE) - self.assertTrue(False) - except AssertionError: - pass - - def test_put(self): - self.assertFalse(config.exists(ConfigParameter.LANG)) - config.put(ConfigParameter.LANG, EXPECTED_LANG) - self.assertTrue(config.exists(ConfigParameter.LANG)) - self.assertEqual(config.get(ConfigParameter.LANG), EXPECTED_LANG) +@pytest.fixture +def init_config(): + config.put(ConfigParameter.DB_SQLITE_FILE, EXPECTED_DB_SQLITE_FILE) + config.put(ConfigParameter.HTTP_PORT, EXPECTED_HTTP_PORT) + +def test_exists(init_config): + assert config.exists(ConfigParameter.DB_SQLITE_FILE) + +def test_get(init_config): + assert config.get(ConfigParameter.DB_SQLITE_FILE) == EXPECTED_DB_SQLITE_FILE + assert config.get(ConfigParameter.HTTP_HOST) == "" + assert config.get(ConfigParameter.HTTP_PORT) == str(EXPECTED_HTTP_PORT) + assert config.get_int(ConfigParameter.HTTP_PORT) == EXPECTED_HTTP_PORT + with pytest.raises(AssertionError): + config.get_bool(ConfigParameter.DB_SQLITE_FILE) + +def test_put(init_config): + assert not config.exists(ConfigParameter.LANG) + config.put(ConfigParameter.LANG, EXPECTED_LANG) + assert config.exists(ConfigParameter.LANG) + assert config.get(ConfigParameter.LANG) == EXPECTED_LANG diff --git a/tests/test_db.py b/tests/test_db.py index 99eeb7e..1f390c3 100644 --- a/tests/test_db.py +++ b/tests/test_db.py @@ -1,53 +1,55 @@ -import unittest +#!/usr/bin/python +# -*- coding: UTF-8 -*- + +import pytest from stacosys.db import dao from stacosys.db import database +@pytest.fixture +def setup_db(): + database.setup(":memory:") + + + +def test_dao_published(setup_db): + + # test count published + assert 0 == dao.count_published_comments("") + c1 = dao.create_comment("/post1", "Yax", "", "", "Comment 1") + assert 0 == dao.count_published_comments("") + dao.publish_comment(c1) + assert 1 == dao.count_published_comments("") + c2 = dao.create_comment("/post2", "Yax", "", "", "Comment 2") + dao.publish_comment(c2) + assert 2 == dao.count_published_comments("") + c3 = dao.create_comment("/post2", "Yax", "", "", "Comment 3") + dao.publish_comment(c3) + assert 1 == dao.count_published_comments("/post1") + assert 2 == dao.count_published_comments("/post2") + + # test find published + assert 0 == len(dao.find_published_comments_by_url("/")) + assert 1 == len(dao.find_published_comments_by_url("/post1")) + assert 2 == len(dao.find_published_comments_by_url("/post2")) + + dao.delete_comment(c1) + assert 0 == len(dao.find_published_comments_by_url("/post1")) + +def test_dao_notified(setup_db): + + # test count notified + assert 0 == len(dao.find_not_notified_comments()) + c1 = dao.create_comment("/post1", "Yax", "", "", "Comment 1") + assert 1 == len(dao.find_not_notified_comments()) + c2 = dao.create_comment("/post2", "Yax", "", "", "Comment 2") + assert 2 == len(dao.find_not_notified_comments()) + dao.notify_comment(c1) + dao.notify_comment(c2) + assert 0 == len(dao.find_not_notified_comments()) + c3 = dao.create_comment("/post2", "Yax", "", "", "Comment 3") + assert 1 == len(dao.find_not_notified_comments()) + dao.notify_comment(c3) + assert 0 == len(dao.find_not_notified_comments()) + -class DbTestCase(unittest.TestCase): - def setUp(self): - database.setup(":memory:") - - def test_dao_published(self): - - # test count published - self.assertEqual(0, dao.count_published_comments("")) - c1 = dao.create_comment("/post1", "Yax", "", "", "Comment 1") - self.assertEqual(0, dao.count_published_comments("")) - dao.publish_comment(c1) - self.assertEqual(1, dao.count_published_comments("")) - c2 = dao.create_comment("/post2", "Yax", "", "", "Comment 2") - dao.publish_comment(c2) - self.assertEqual(2, dao.count_published_comments("")) - c3 = dao.create_comment("/post2", "Yax", "", "", "Comment 3") - dao.publish_comment(c3) - self.assertEqual(1, dao.count_published_comments("/post1")) - self.assertEqual(2, dao.count_published_comments("/post2")) - - # test find published - self.assertEqual(0, len(dao.find_published_comments_by_url("/"))) - self.assertEqual(1, len(dao.find_published_comments_by_url("/post1"))) - self.assertEqual(2, len(dao.find_published_comments_by_url("/post2"))) - - dao.delete_comment(c1) - self.assertEqual(0, len(dao.find_published_comments_by_url("/post1"))) - - def test_dao_notified(self): - - # test count notified - self.assertEqual(0, len(dao.find_not_notified_comments())) - c1 = dao.create_comment("/post1", "Yax", "", "", "Comment 1") - self.assertEqual(1, len(dao.find_not_notified_comments())) - c2 = dao.create_comment("/post2", "Yax", "", "", "Comment 2") - self.assertEqual(2, len(dao.find_not_notified_comments())) - dao.notify_comment(c1) - dao.notify_comment(c2) - self.assertEqual(0, len(dao.find_not_notified_comments())) - c3 = dao.create_comment("/post2", "Yax", "", "", "Comment 3") - self.assertEqual(1, len(dao.find_not_notified_comments())) - dao.notify_comment(c3) - self.assertEqual(0, len(dao.find_not_notified_comments())) - - -if __name__ == "__main__": - unittest.main()