mirror of
https://github.com/craigerl/aprsd.git
synced 2024-11-10 10:33:31 -05:00
Added some plugin unit tests
This patch adds some real unit tests for the following plugins PingPlugin TimePlugin VersionPlugin
This commit is contained in:
parent
f65707cb8c
commit
171703ac1a
95
tests/test_plugin.py
Normal file
95
tests/test_plugin.py
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
import sys
|
||||||
|
import unittest
|
||||||
|
from unittest import mock
|
||||||
|
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
import aprsd
|
||||||
|
from aprsd import plugin
|
||||||
|
from aprsd.fuzzyclock import fuzzy
|
||||||
|
|
||||||
|
|
||||||
|
class testPlugin(unittest.TestCase):
|
||||||
|
def setUp(self):
|
||||||
|
self.config = mock.MagicMock()
|
||||||
|
|
||||||
|
@mock.patch("time.localtime")
|
||||||
|
def test_Time(self, mock_time):
|
||||||
|
fake_time = mock.MagicMock()
|
||||||
|
h = fake_time.tm_hour = 16
|
||||||
|
m = fake_time.tm_min = 12
|
||||||
|
s = fake_time.tm_sec = 55
|
||||||
|
mock_time.return_value = fake_time
|
||||||
|
time_plugin = plugin.TimePlugin(self.config)
|
||||||
|
|
||||||
|
fromcall = "KFART"
|
||||||
|
message = "location"
|
||||||
|
ack = 1
|
||||||
|
|
||||||
|
actual = time_plugin.run(fromcall, message, ack)
|
||||||
|
self.assertEqual(None, actual)
|
||||||
|
|
||||||
|
cur_time = fuzzy(h, m, 1)
|
||||||
|
|
||||||
|
message = "time"
|
||||||
|
expected = "{} ({}:{} PDT) ({})".format(
|
||||||
|
cur_time, str(h), str(m).rjust(2, "0"), message.rstrip()
|
||||||
|
)
|
||||||
|
actual = time_plugin.run(fromcall, message, ack)
|
||||||
|
self.assertEqual(expected, actual)
|
||||||
|
|
||||||
|
@mock.patch("time.localtime")
|
||||||
|
def test_Ping(self, mock_time):
|
||||||
|
fake_time = mock.MagicMock()
|
||||||
|
h = fake_time.tm_hour = 16
|
||||||
|
m = fake_time.tm_min = 12
|
||||||
|
s = fake_time.tm_sec = 55
|
||||||
|
mock_time.return_value = fake_time
|
||||||
|
|
||||||
|
ping = plugin.PingPlugin(self.config)
|
||||||
|
|
||||||
|
fromcall = "KFART"
|
||||||
|
message = "location"
|
||||||
|
ack = 1
|
||||||
|
|
||||||
|
result = ping.run(fromcall, message, ack)
|
||||||
|
self.assertEqual(None, result)
|
||||||
|
|
||||||
|
def ping_str(h, m, s):
|
||||||
|
return (
|
||||||
|
"Pong! "
|
||||||
|
+ str(h).zfill(2)
|
||||||
|
+ ":"
|
||||||
|
+ str(m).zfill(2)
|
||||||
|
+ ":"
|
||||||
|
+ str(s).zfill(2)
|
||||||
|
)
|
||||||
|
|
||||||
|
message = "Ping"
|
||||||
|
actual = ping.run(fromcall, message, ack)
|
||||||
|
expected = ping_str(h, m, s)
|
||||||
|
self.assertEqual(expected, actual)
|
||||||
|
|
||||||
|
message = "ping"
|
||||||
|
actual = ping.run(fromcall, message, ack)
|
||||||
|
self.assertEqual(expected, actual)
|
||||||
|
|
||||||
|
def test_version(self):
|
||||||
|
expected = "APRSD version '{}'".format(aprsd.__version__)
|
||||||
|
version_plugin = plugin.VersionPlugin(self.config)
|
||||||
|
|
||||||
|
fromcall = "KFART"
|
||||||
|
message = "No"
|
||||||
|
ack = 1
|
||||||
|
|
||||||
|
actual = version_plugin.run(fromcall, message, ack)
|
||||||
|
self.assertEqual(None, actual)
|
||||||
|
|
||||||
|
message = "version"
|
||||||
|
actual = version_plugin.run(fromcall, message, ack)
|
||||||
|
self.assertEqual(expected, actual)
|
||||||
|
|
||||||
|
message = "Version"
|
||||||
|
actual = version_plugin.run(fromcall, message, ack)
|
||||||
|
self.assertEqual(expected, actual)
|
Loading…
Reference in New Issue
Block a user