Skip to content

Commit

Permalink
replace unittest by pytest
Browse files Browse the repository at this point in the history
  • Loading branch information
kianby committed Nov 27, 2022
1 parent b1c64d2 commit a62cb8e
Show file tree
Hide file tree
Showing 2 changed files with 72 additions and 77 deletions.
51 changes: 22 additions & 29 deletions tests/test_config.py
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -11,31 +11,24 @@
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
98 changes: 50 additions & 48 deletions tests/test_db.py
Original file line number Diff line number Diff line change
@@ -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()

0 comments on commit a62cb8e

Please sign in to comment.