2023-11-06 10:30:37 +00:00
|
|
|
import unittest
|
|
|
|
from modem import config
|
|
|
|
|
|
|
|
class TestConfigMethods(unittest.TestCase):
|
|
|
|
|
2023-11-06 18:04:35 +00:00
|
|
|
@classmethod
|
|
|
|
def setUpClass(cls):
|
|
|
|
cls.config = config.CONFIG('modem/config.ini')
|
|
|
|
|
2023-11-06 10:30:37 +00:00
|
|
|
def test_config_exists(self):
|
|
|
|
c = config.CONFIG('modem/config.ini')
|
|
|
|
self.assertTrue(c.config_exists())
|
|
|
|
|
|
|
|
c = config.CONFIG('modem/nonexistant.ini')
|
|
|
|
self.assertFalse(c.config_exists())
|
|
|
|
|
2023-11-06 18:04:35 +00:00
|
|
|
def test_read(self):
|
|
|
|
data = self.config.read()
|
|
|
|
self.assertIsInstance(data, dict)
|
|
|
|
|
|
|
|
self.assertIn('NETWORK', data.keys())
|
|
|
|
self.assertIn('STATION', data.keys())
|
|
|
|
self.assertIn('AUDIO', data.keys())
|
|
|
|
self.assertIn('RADIO', data.keys())
|
|
|
|
|
|
|
|
def test_write(self):
|
|
|
|
c = self.config.read()
|
|
|
|
oldcall = c['STATION']['mycall']
|
|
|
|
newcall = 'T1CALL'
|
|
|
|
self.assertNotEqual(oldcall, newcall)
|
|
|
|
|
|
|
|
c['STATION']['mycall'] = newcall
|
|
|
|
new_conf = self.config.write(c)
|
|
|
|
self.assertEqual(new_conf['STATION']['mycall'], newcall)
|
|
|
|
c = self.config.read()
|
|
|
|
self.assertEqual(c['STATION']['mycall'], newcall)
|
|
|
|
|
|
|
|
# put it back as it was
|
|
|
|
c['STATION']['mycall'] = oldcall
|
|
|
|
last_conf = self.config.write(c)
|
|
|
|
self.assertEqual(last_conf['STATION']['mycall'], oldcall)
|
2023-11-06 10:30:37 +00:00
|
|
|
|
|
|
|
def test_validate_data(self):
|
|
|
|
data = {'NETWORK': {'modemport': "abc"}}
|
|
|
|
with self.assertRaises(ValueError):
|
2023-11-06 18:04:35 +00:00
|
|
|
self.config.validate(data)
|
2023-11-06 10:30:37 +00:00
|
|
|
|
|
|
|
data = {'NETWORK': {'modemport': "3000"}}
|
2023-11-06 18:04:35 +00:00
|
|
|
self.assertIsNone(self.config.validate(data))
|
|
|
|
|
|
|
|
|
2023-11-06 10:30:37 +00:00
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
unittest.main()
|