# Path: simplemonitor/Monitors/host.py
#     WIN32_AVAILABLE = True
#     WIN32_AVAILABLE = False
# class MonitorDiskSpace(Monitor):
# class MonitorFileStat(Monitor):
# class MonitorApcupsd(Monitor):
# class MonitorPortAudit(Monitor):
# class MonitorPkgAudit(Monitor):
# class MonitorLoadAvg(Monitor):
# class MonitorMemory(Monitor):
# class MonitorSwap(Monitor):
# class MonitorZap(Monitor):
# class MonitorCommand(Monitor):
#     def __init__(self, name: str, config_options: dict) -> None:
#     def run_test(self) -> bool:
#     def describe(self) -> str:
#     def get_params(self) -> Tuple:
#     def __init__(self, name: str, config_options: dict) -> None:
#     def run_test(self) -> bool:
#     def describe(self) -> str:
#     def get_params(self) -> Tuple:
#     def __init__(self, name: str, config_options: dict) -> None:
#     def run_test(self) -> bool:
#     def describe(self) -> str:
#     def get_params(self) -> Tuple:
#     def __init__(self, name: str, config_options: dict) -> None:
#     def describe(self) -> str:
#     def get_params(self) -> Tuple:
#     def run_test(self) -> bool:
#     def __init__(self, name: str, config_options: dict) -> None:
#     def describe(self) -> str:
#     def get_params(self) -> Tuple:
#     def run_test(self) -> bool:
#     def __init__(self, name: str, config_options: dict) -> None:
#     def describe(self) -> str:
#     def run_test(self) -> bool:
#     def get_params(self) -> Tuple:
#     def __init__(self, name: str, config_options: dict) -> None:
#     def run_test(self) -> bool:
#     def get_params(self) -> Tuple:
#     def describe(self) -> str:
#     def __init__(self, name: str, config_options: dict) -> None:
#     def run_test(self) -> bool:
#     def get_params(self) -> Tuple:
#     def describe(self) -> str:
#     def __init__(self, name: str, config_options: dict) -> None:
#     def run_test(self) -> bool:
#     def describe(self) -> str:
#     def get_params(self) -> Tuple:
#     def __init__(self, name: str, config_options: dict) -> None:
#     def run_test(self) -> bool:
#     def describe(self) -> str:
#     def get_params(self) -> Tuple:


import unittest
from simplemonitor.Monitors import host
# type: ignore



class TestHostMonitors(unittest.TestCase):

    safe_config = {"partition": "/", "limit": "10G"}

    one_KB = 1024
    one_MB = one_KB * 1024
    one_GB = one_MB * 1024
    one_TB = one_GB * 1024

    def test_DiskSpace_brokenConfigOne(self):
        config_options = {}
        with self.assertRaises(ValueError):
            host.MonitorDiskSpace("test", config_options)

    def test_DiskSpace_brokenConfigTwo(self):
        config_options = {"partition": "/"}
        with self.assertRaises(ValueError):
            host.MonitorDiskSpace("test", config_options)

    def test_DiskSpace_brokenConfigThree(self):
        config_options = {"partition": "/", "limit": "moo"}
        with self.assertRaises(ValueError):
            host.MonitorDiskSpace("test", config_options)

    def test_DiskSpace_correctConfig(self):

# Path: simplemonitor/Monitors/host.py
#     WIN32_AVAILABLE = True
#     WIN32_AVAILABLE = False
# class MonitorDiskSpace(Monitor):
# class MonitorFileStat(Monitor):
# class MonitorApcupsd(Monitor):
# class MonitorPortAudit(Monitor):
# class MonitorPkgAudit(Monitor):
# class MonitorLoadAvg(Monitor):
# class MonitorMemory(Monitor):
# class MonitorSwap(Monitor):
# class MonitorZap(Monitor):
# class MonitorCommand(Monitor):
#     def __init__(self, name: str, config_options: dict) -> None:
#     def run_test(self) -> bool:
#     def describe(self) -> str:
#     def get_params(self) -> Tuple:
#     def __init__(self, name: str, config_options: dict) -> None:
#     def run_test(self) -> bool:
#     def describe(self) -> str:
#     def get_params(self) -> Tuple:
#     def __init__(self, name: str, config_options: dict) -> None:
#     def run_test(self) -> bool:
#     def describe(self) -> str:
#     def get_params(self) -> Tuple:
#     def __init__(self, name: str, config_options: dict) -> None:
#     def describe(self) -> str:
#     def get_params(self) -> Tuple:
#     def run_test(self) -> bool:
#     def __init__(self, name: str, config_options: dict) -> None:
#     def describe(self) -> str:
#     def get_params(self) -> Tuple:
#     def run_test(self) -> bool:
#     def __init__(self, name: str, config_options: dict) -> None:
#     def describe(self) -> str:
#     def run_test(self) -> bool:
#     def get_params(self) -> Tuple:
#     def __init__(self, name: str, config_options: dict) -> None:
#     def run_test(self) -> bool:
#     def get_params(self) -> Tuple:
#     def describe(self) -> str:
#     def __init__(self, name: str, config_options: dict) -> None:
#     def run_test(self) -> bool:
#     def get_params(self) -> Tuple:
#     def describe(self) -> str:
#     def __init__(self, name: str, config_options: dict) -> None:
#     def run_test(self) -> bool:
#     def describe(self) -> str:
#     def get_params(self) -> Tuple:
#     def __init__(self, name: str, config_options: dict) -> None:
#     def run_test(self) -> bool:
#     def describe(self) -> str:
#     def get_params(self) -> Tuple:


# Path: tests/test_host.py
import unittest
from simplemonitor.Monitors import host

# type: ignore



class TestHostMonitors(unittest.TestCase):

    safe_config = {"partition": "/", "limit": "10G"}

    one_KB = 1024
    one_MB = one_KB * 1024
    one_GB = one_MB * 1024
    one_TB = one_GB * 1024

    def test_DiskSpace_brokenConfigOne(self):
        config_options = {}
        with self.assertRaises(ValueError):
            host.MonitorDiskSpace("test", config_options)

    def test_DiskSpace_brokenConfigTwo(self):
        config_options = {"partition": "/"}
        with self.assertRaises(ValueError):
            host.MonitorDiskSpace("test", config_options)

    def test_DiskSpace_brokenConfigThree(self):
        config_options = {"partition": "/", "limit": "moo"}
        with self.assertRaises(ValueError):
            host.MonitorDiskSpace("test", config_options)

    def test_DiskSpace_correctConfig(self):

        m = host.MonitorDiskSpace("test", self.safe_config)