mirror of https://github.com/huashengdun/webssh
Added more unittests to test_policy.py
parent
af6b134b64
commit
251fd90e5f
|
@ -1,6 +1,10 @@
|
|||
import os
|
||||
import unittest
|
||||
import paramiko
|
||||
|
||||
from paramiko.client import RejectPolicy, WarningPolicy
|
||||
from webssh.policy import AutoAddPolicy, get_policy_dictionary
|
||||
from webssh.policy import AutoAddPolicy, get_policy_dictionary, load_host_keys
|
||||
from webssh.policy import get_policy_class, check_policy_setting
|
||||
|
||||
|
||||
class TestPolicy(unittest.TestCase):
|
||||
|
@ -11,3 +15,41 @@ class TestPolicy(unittest.TestCase):
|
|||
for cls in classes:
|
||||
val = dic[cls.__name__.lower()]
|
||||
self.assertIs(cls, val)
|
||||
|
||||
def test_load_host_keys(self):
|
||||
path = '/path-not-exists'
|
||||
host_keys = load_host_keys(path)
|
||||
self.assertFalse(host_keys)
|
||||
|
||||
path = '/tmp'
|
||||
host_keys = load_host_keys(path)
|
||||
self.assertFalse(host_keys)
|
||||
|
||||
def test_get_policy_class(self):
|
||||
keys = ['autoadd', 'reject', 'warning']
|
||||
vals = [AutoAddPolicy, RejectPolicy, WarningPolicy]
|
||||
for key, val in zip(keys, vals):
|
||||
cls = get_policy_class(key)
|
||||
self.assertIs(cls, val)
|
||||
|
||||
key = 'non-exists'
|
||||
with self.assertRaises(ValueError):
|
||||
get_policy_class(key)
|
||||
|
||||
def test_check_policy_setting(self):
|
||||
host_keys_filename = './webssh/host_keys_test.db'
|
||||
host_keys_settings = dict(
|
||||
host_keys=paramiko.hostkeys.HostKeys(),
|
||||
system_host_keys=paramiko.hostkeys.HostKeys(),
|
||||
host_keys_filename=host_keys_filename
|
||||
)
|
||||
|
||||
with self.assertRaises(ValueError):
|
||||
check_policy_setting(RejectPolicy, host_keys_settings)
|
||||
|
||||
try:
|
||||
os.unlink(host_keys_filename)
|
||||
except OSError:
|
||||
pass
|
||||
check_policy_setting(AutoAddPolicy, host_keys_settings)
|
||||
self.assertEqual(os.path.exists(host_keys_filename), True)
|
||||
|
|
Loading…
Reference in New Issue