import os
import logging
import time
import unittest

import lcm

from supervisor.Supervisor import Supervisor
from config.AppConfig import read_config

logger = logging.getLogger("backseat")


class SupervisorTestCase(unittest.TestCase):

    print("\n")
    supervisor = Supervisor(lcm.LCM(), read_config())
    print("\n")

    def test_log_folder_created(self):
        print("")
        logger.info("Checking for log folder...")
        self.assertEqual(os.path.exists(self.supervisor.log_path), True)

    def test_syslog_created(self):
        print("")
        logger.info("Checking for syslog file...")
        self.assertEqual(os.path.isfile(self.supervisor.log_path + "/syslog"), True)

    def test_lcm_logger_started(self):
        print("")
        time.sleep(0.5)
        lcm_log = self.supervisor.log_path + "/lcmlog.00"
        logger.info("Checking for file: {0}".format(lcm_log))
        self.assertEqual(os.path.isfile(lcm_log), True)
        logger.debug("Checking logger: test, test, 1,2,3")
        time.sleep(0.1)


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