import tempfile
import unittest
from pathlib import Path

from phs.core.config import Config


class ConfigTests(unittest.TestCase):
    def test_mail_limits(self):
        with tempfile.TemporaryDirectory() as directory:
            path = Path(directory) / "config.ini"
            path.write_text(
                """[general]\nnotification_email=a@example.com\ncheck_interval=60\ndatabase=/tmp/a.db\nlog_file=/tmp/a.log\nstate_dir=/tmp/state\nquarantine_dir=/tmp/q\n[mail]\nwarning_limit=100\nsuspend_limit=500\n""",
                encoding="utf-8",
            )
            config = Config(path)
            self.assertEqual(config.validate(), [])
            self.assertEqual(config.getint("mail", "warning_limit"), 100)
            self.assertEqual(config.getint("mail", "suspend_limit"), 500)


if __name__ == "__main__":
    unittest.main()
