1
0
mirror of https://github.com/craigerl/aprsd.git synced 2026-06-07 08:34:40 -04:00
Files
aprsd/tests/plugins/test_time.py
T

54 lines
1.4 KiB
Python
Raw Normal View History

2021-12-07 11:25:14 -05:00
from unittest import mock
import pytz
2024-12-20 22:00:54 -05:00
from oslo_config import cfg
2021-12-07 11:25:14 -05:00
from aprsd.plugins import time as time_plugin
2022-07-06 18:14:25 -04:00
from aprsd.utils import fuzzy
2021-12-07 11:25:14 -05:00
from .. import fake, test_plugin
2022-12-27 14:30:03 -05:00
CONF = cfg.CONF
2021-12-07 11:25:14 -05:00
class TestTimePlugins(test_plugin.TestPlugin):
2026-01-05 16:51:54 -05:00
@mock.patch('aprsd.plugins.time.TimePlugin._get_local_tz')
@mock.patch('aprsd.plugins.time.TimePlugin._get_utcnow')
2021-12-07 11:25:14 -05:00
def test_time(self, mock_utcnow, mock_localtz):
utcnow = pytz.datetime.datetime.utcnow()
mock_utcnow.return_value = utcnow
2026-01-05 16:51:54 -05:00
tz = pytz.timezone('US/Pacific')
2021-12-07 11:25:14 -05:00
mock_localtz.return_value = tz
gmt_t = pytz.utc.localize(utcnow)
local_t = gmt_t.astimezone(tz)
fake_time = mock.MagicMock()
2026-01-05 16:51:54 -05:00
h = int(local_t.strftime('%H'))
m = int(local_t.strftime('%M'))
2021-12-07 11:25:14 -05:00
fake_time.tm_sec = 13
2022-12-27 14:30:03 -05:00
CONF.callsign = fake.FAKE_TO_CALLSIGN
time = time_plugin.TimePlugin()
2021-12-07 11:25:14 -05:00
packet = fake.fake_packet(
2026-01-05 16:51:54 -05:00
message='location',
2021-12-07 11:25:14 -05:00
msg_number=1,
)
actual = time.filter(packet)
self.assertEqual(None, actual)
cur_time = fuzzy(h, m, 1)
packet = fake.fake_packet(
2026-01-05 16:51:54 -05:00
message='time',
2021-12-07 11:25:14 -05:00
msg_number=1,
)
2026-01-05 16:51:54 -05:00
local_short_str = local_t.strftime('%H:%M %Z')
expected = '{} ({})'.format(
2021-12-07 11:25:14 -05:00
cur_time,
local_short_str,
)
actual = time.filter(packet)
self.assertEqual(expected, actual)